From 07821c7d9d3e0fa0ec6837d05c0abc422ef4db81 Mon Sep 17 00:00:00 2001
From: Jaimin Panchal
Date: Tue, 20 Mar 2018 17:08:28 -0400
Subject: [PATCH 001/171] Increment Pre Version
---
package.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/package.json b/package.json
index 8545e9a9999..f742753c7ae 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "prebid.js",
- "version": "1.6.0",
+ "version": "1.7.0-pre",
"description": "Header Bidding Management Library",
"main": "src/prebid.js",
"scripts": {
From 4226643788001bf00dcfc21cd6c3893c2a8aa78e Mon Sep 17 00:00:00 2001
From: LeoWu
Date: Wed, 21 Mar 2018 21:09:23 +0800
Subject: [PATCH 002/171] add optional param to bridgewellBidAdapter (#2289)
* [FEAT] add optional param to bridgewellBidAdapter
* [FEAT] reply to comments
* [FEAT] rm trailing-spaces
* [REFACTOR] rm duplicate code, update md file
---
modules/bridgewellBidAdapter.js | 22 +++-
modules/bridgewellBidAdapter.md | 3 +-
.../spec/modules/bridgewellBidAdapter_spec.js | 122 +++++++++++++++++-
3 files changed, 138 insertions(+), 9 deletions(-)
diff --git a/modules/bridgewellBidAdapter.js b/modules/bridgewellBidAdapter.js
index ec70342c964..faf93f1037e 100644
--- a/modules/bridgewellBidAdapter.js
+++ b/modules/bridgewellBidAdapter.js
@@ -15,7 +15,25 @@ export const spec = {
* @return boolean True if this is a valid bid, and false otherwise.
*/
isBidRequestValid: function(bid) {
- return bid && bid.params && !!bid.params.ChannelID;
+ let valid = false;
+ let typeOfCpmWeight;
+
+ if (bid && bid.params) {
+ if (bid.params.ChannelID) {
+ // cpmWeight is optinal parameter and should above than zero
+ typeOfCpmWeight = typeof bid.params.cpmWeight;
+ if (typeOfCpmWeight === 'undefined') {
+ bid.params.cpmWeight = 1;
+ valid = true;
+ } else if (typeOfCpmWeight === 'number' && bid.params.cpmWeight > 0) {
+ valid = true;
+ } else {
+ valid = false;
+ }
+ }
+ }
+
+ return valid;
},
/**
@@ -82,7 +100,7 @@ export const spec = {
}
bidResponse.requestId = req.bidId;
- bidResponse.cpm = matchedResponse.cpm;
+ bidResponse.cpm = matchedResponse.cpm * req.params.cpmWeight;
bidResponse.width = matchedResponse.width;
bidResponse.height = matchedResponse.height;
bidResponse.ad = matchedResponse.ad;
diff --git a/modules/bridgewellBidAdapter.md b/modules/bridgewellBidAdapter.md
index b11ce21b095..1ca61ac6c77 100644
--- a/modules/bridgewellBidAdapter.md
+++ b/modules/bridgewellBidAdapter.md
@@ -18,7 +18,7 @@ Module that connects to Bridgewell demand source to fetch bids.
{
bidder: 'bridgewell',
params: {
- ChannelID: 'CgUxMjMzOBIBNiIFcGVubnkqCQisAhD6ARoBOQ',
+ ChannelID: 'CgUxMjMzOBIBNiIFcGVubnkqCQisAhD6ARoBOQ'
}
}
]
@@ -30,6 +30,7 @@ Module that connects to Bridgewell demand source to fetch bids.
bidder: 'bridgewell',
params: {
ChannelID: 'CgUxMjMzOBIBNiIGcGVubnkzKggI2AUQWhoBOQ',
+ cpmWeight: 1.5
}
}
]
diff --git a/test/spec/modules/bridgewellBidAdapter_spec.js b/test/spec/modules/bridgewellBidAdapter_spec.js
index 7670d992d0d..cbe4a543816 100644
--- a/test/spec/modules/bridgewellBidAdapter_spec.js
+++ b/test/spec/modules/bridgewellBidAdapter_spec.js
@@ -37,6 +37,30 @@ describe('bridgewellBidAdapter', function () {
'bidId': '42dbe3a7168a6a',
'bidderRequestId': '22edbae2733bf6',
'auctionId': '1d1a030790a475',
+ },
+ {
+ 'bidder': 'bridgewell',
+ 'params': {
+ 'ChannelID': 'CgUxMjMzOBIBNiIFcGVubnkqCQisAhD6ARoBOQ',
+ 'cpmWeight': 0.5
+ },
+ 'adUnitCode': 'adunit-code-1',
+ 'sizes': [[300, 250]],
+ 'bidId': '42dbe3a7168a6a',
+ 'bidderRequestId': '22edbae2733bf6',
+ 'auctionId': '1d1a030790a475',
+ },
+ {
+ 'bidder': 'bridgewell',
+ 'params': {
+ 'ChannelID': 'CgUxMjMzOBIBNiIGcGVubnkzKggI2AUQWhoBOQ',
+ 'cpmWeight': -0.5
+ },
+ 'adUnitCode': 'adunit-code-2',
+ 'sizes': [[728, 90]],
+ 'bidId': '3150ccb55da321',
+ 'bidderRequestId': '22edbae2733bf6',
+ 'auctionId': '1d1a030790a475',
}
];
const adapter = newBidder(spec);
@@ -48,7 +72,7 @@ describe('bridgewellBidAdapter', function () {
});
describe('isBidRequestValid', () => {
- let bid = {
+ let bidWithoutCpmWeight = {
'bidder': 'bridgewell',
'params': {
'ChannelID': 'CLJgEAYYvxUiBXBlbm55KgkIrAIQ-gEaATk'
@@ -60,17 +84,83 @@ describe('bridgewellBidAdapter', function () {
'auctionId': '1d1a030790a475',
};
+ let bidWithCorrectCpmWeight = {
+ 'bidder': 'bridgewell',
+ 'params': {
+ 'ChannelID': 'CLJgEAYYvxUiBXBlbm55KgkIrAIQ-gEaATk',
+ 'cpmWeight': 0.5
+ },
+ 'adUnitCode': 'adunit-code',
+ 'sizes': [[300, 250], [300, 600]],
+ 'bidId': '30b31c1838de1e',
+ 'bidderRequestId': '22edbae2733bf6',
+ 'auctionId': '1d1a030790a475',
+ };
+
+ let bidWithUncorrectCpmWeight = {
+ 'bidder': 'bridgewell',
+ 'params': {
+ 'ChannelID': 'CLJgEAYYvxUiBXBlbm55KgkIrAIQ-gEaATk',
+ 'cpmWeight': -1.0
+ },
+ 'adUnitCode': 'adunit-code',
+ 'sizes': [[300, 250], [300, 600]],
+ 'bidId': '30b31c1838de1e',
+ 'bidderRequestId': '22edbae2733bf6',
+ 'auctionId': '1d1a030790a475',
+ };
+
+ let bidWithZeroCpmWeight = {
+ 'bidder': 'bridgewell',
+ 'params': {
+ 'ChannelID': 'CLJgEAYYvxUiBXBlbm55KgkIrAIQ-gEaATk',
+ 'cpmWeight': 0
+ },
+ 'adUnitCode': 'adunit-code',
+ 'sizes': [[300, 250], [300, 600]],
+ 'bidId': '30b31c1838de1e',
+ 'bidderRequestId': '22edbae2733bf6',
+ 'auctionId': '1d1a030790a475',
+ };
+
it('should return true when required params found', () => {
- expect(spec.isBidRequestValid(bid)).to.equal(true);
+ expect(spec.isBidRequestValid(bidWithoutCpmWeight)).to.equal(true);
+ expect(spec.isBidRequestValid(bidWithCorrectCpmWeight)).to.equal(true);
+ expect(spec.isBidRequestValid(bidWithUncorrectCpmWeight)).to.equal(false);
+ expect(spec.isBidRequestValid(bidWithZeroCpmWeight)).to.equal(false);
});
it('should return false when required params are not passed', () => {
- let bid = Object.assign({}, bid);
- delete bid.params;
- bid.params = {
+ let bidWithoutCpmWeight = Object.assign({}, bidWithoutCpmWeight);
+ let bidWithCorrectCpmWeight = Object.assign({}, bidWithCorrectCpmWeight);
+ let bidWithUncorrectCpmWeight = Object.assign({}, bidWithUncorrectCpmWeight);
+ let bidWithZeroCpmWeight = Object.assign({}, bidWithZeroCpmWeight);
+
+ delete bidWithoutCpmWeight.params;
+ delete bidWithCorrectCpmWeight.params;
+ delete bidWithUncorrectCpmWeight.params;
+ delete bidWithZeroCpmWeight.params;
+
+ bidWithoutCpmWeight.params = {
'ChannelID': 0
};
- expect(spec.isBidRequestValid(bid)).to.equal(false);
+
+ bidWithCorrectCpmWeight.params = {
+ 'ChannelID': 0
+ };
+
+ bidWithUncorrectCpmWeight.params = {
+ 'ChannelID': 0
+ };
+
+ bidWithZeroCpmWeight.params = {
+ 'ChannelID': 0
+ };
+
+ expect(spec.isBidRequestValid(bidWithoutCpmWeight)).to.equal(false);
+ expect(spec.isBidRequestValid(bidWithCorrectCpmWeight)).to.equal(false);
+ expect(spec.isBidRequestValid(bidWithUncorrectCpmWeight)).to.equal(false);
+ expect(spec.isBidRequestValid(bidWithZeroCpmWeight)).to.equal(false);
});
});
@@ -129,6 +219,26 @@ describe('bridgewellBidAdapter', function () {
'ttl': 360,
'net_revenue': 'true',
'currency': 'NTD'
+ }, {
+ 'id': '8f12c646-3b87-4326-a837-c2a76999f168',
+ 'bidder_code': 'bridgewell',
+ 'cpm': 5.0,
+ 'width': 300,
+ 'height': 250,
+ 'ad': 'test 300x250
',
+ 'ttl': 360,
+ 'net_revenue': 'true',
+ 'currency': 'NTD'
+ }, {
+ 'id': '0e4048d3-5c74-4380-a21a-00ba35629f7d',
+ 'bidder_code': 'bridgewell',
+ 'cpm': 5.0,
+ 'width': 728,
+ 'height': 90,
+ 'ad': 'test 728x90
',
+ 'ttl': 360,
+ 'net_revenue': 'true',
+ 'currency': 'NTD'
}];
it('should return all required parameters', () => {
From 57e248015e7c59094c5440a453195c848e038b7f Mon Sep 17 00:00:00 2001
From: Miller
Date: Fri, 23 Mar 2018 01:38:57 +0200
Subject: [PATCH 003/171] NEW adapter AdtelligentBidAdapter (#2137)
* NEW Adtelligent Bid Adapter
* Update MD
* add test for multiple request
* cleanup
* update test bid params
---
modules/adtelligentBidAdapter.js | 199 +++++++++++++++
modules/adtelligentBidAdapter.md | 65 +++++
.../modules/adtelligentBidAdapter_spec.js | 240 ++++++++++++++++++
3 files changed, 504 insertions(+)
create mode 100644 modules/adtelligentBidAdapter.js
create mode 100644 modules/adtelligentBidAdapter.md
create mode 100644 test/spec/modules/adtelligentBidAdapter_spec.js
diff --git a/modules/adtelligentBidAdapter.js b/modules/adtelligentBidAdapter.js
new file mode 100644
index 00000000000..ed7da360e0b
--- /dev/null
+++ b/modules/adtelligentBidAdapter.js
@@ -0,0 +1,199 @@
+import * as utils from 'src/utils';
+import {registerBidder} from 'src/adapters/bidderFactory';
+import {VIDEO, BANNER} from 'src/mediaTypes';
+import {Renderer} from 'src/Renderer';
+import findIndex from 'core-js/library/fn/array/find-index';
+
+const URL = '//hb.adtelligent.com/auction/';
+const OUTSTREAM_SRC = '//player.adtelligent.com/outstream-unit/2.01/outstream.min.js';
+const BIDDER_CODE = 'adtelligent';
+const OUTSTREAM = 'outstream';
+const DISPLAY = 'display';
+
+export const spec = {
+ code: BIDDER_CODE,
+ supportedMediaTypes: [VIDEO, BANNER],
+ isBidRequestValid: function (bid) {
+ return bid && bid.params && bid.params.aid;
+ },
+
+ /**
+ * Make a server request from the list of BidRequests
+ * @param bidRequests
+ * @param bidderRequest
+ */
+ buildRequests: function (bidRequests, bidderRequest) {
+ return {
+ data: bidToTag(bidRequests),
+ bidderRequest,
+ method: 'GET',
+ url: URL
+ };
+ },
+
+ /**
+ * Unpack the response from the server into a list of bids
+ * @param serverResponse
+ * @param bidderRequest
+ * @return {Bid[]} An array of bids which were nested inside the server
+ */
+ interpretResponse: function (serverResponse, {bidderRequest}) {
+ serverResponse = serverResponse.body;
+ let bids = [];
+
+ if (!utils.isArray(serverResponse)) {
+ return parseRTBResponse(serverResponse, bidderRequest);
+ }
+
+ serverResponse.forEach(serverBidResponse => {
+ bids = utils.flatten(bids, parseRTBResponse(serverBidResponse, bidderRequest));
+ });
+
+ return bids;
+ }
+};
+
+function parseRTBResponse(serverResponse, bidderRequest) {
+ const isInvalidValidResp = !serverResponse || !serverResponse.bids || !serverResponse.bids.length;
+
+ let bids = [];
+
+ if (isInvalidValidResp) {
+ let extMessage = serverResponse && serverResponse.ext && serverResponse.ext.message ? `: ${serverResponse.ext.message}` : '';
+ let errorMessage = `in response for ${bidderRequest.bidderCode} adapter ${extMessage}`;
+
+ utils.logError(errorMessage);
+
+ return bids;
+ }
+
+ serverResponse.bids.forEach(serverBid => {
+ const requestId = findIndex(bidderRequest.bids, (bidRequest) => {
+ return bidRequest.bidId === serverBid.requestId;
+ });
+
+ if (serverBid.cpm !== 0 && requestId !== -1) {
+ const bid = createBid(serverBid, getMediaType(bidderRequest.bids[requestId]));
+
+ bids.push(bid);
+ }
+ });
+
+ return bids;
+}
+
+function bidToTag(bidRequests) {
+ let tag = {
+ domain: utils.getTopWindowLocation().hostname
+ };
+
+ for (let i = 0, length = bidRequests.length; i < length; i++) {
+ Object.assign(tag, prepareRTBRequestParams(i, bidRequests[i]));
+ }
+
+ return tag;
+}
+
+/**
+ * Parse mediaType
+ * @param _index {number}
+ * @param bid {object}
+ * @returns {object}
+ */
+function prepareRTBRequestParams(_index, bid) {
+ const mediaType = utils.deepAccess(bid, 'mediaTypes.video') ? VIDEO : DISPLAY;
+ const index = !_index ? '' : `${_index + 1}`;
+
+ return {
+ ['callbackId' + index]: bid.bidId,
+ ['aid' + index]: bid.params.aid,
+ ['ad_type' + index]: mediaType,
+ ['sizes' + index]: utils.parseSizesInput(bid.sizes).join()
+ };
+}
+
+/**
+ * Prepare all parameters for request
+ * @param bidderRequest {object}
+ * @returns {object}
+ */
+function getMediaType(bidderRequest) {
+ const videoMediaType = utils.deepAccess(bidderRequest, 'mediaTypes.video');
+ const context = utils.deepAccess(bidderRequest, 'mediaTypes.video.context');
+
+ return !videoMediaType ? DISPLAY : context === OUTSTREAM ? OUTSTREAM : VIDEO;
+}
+
+/**
+ * Configure new bid by response
+ * @param bidResponse {object}
+ * @param mediaType {Object}
+ * @returns {object}
+ */
+function createBid(bidResponse, mediaType) {
+ let bid = {
+ requestId: bidResponse.requestId,
+ creativeId: bidResponse.cmpId,
+ height: bidResponse.height,
+ currency: bidResponse.cur,
+ width: bidResponse.width,
+ cpm: bidResponse.cpm,
+ netRevenue: true,
+ mediaType,
+ ttl: 3600
+ };
+
+ if (mediaType === DISPLAY) {
+ return Object.assign(bid, {
+ ad: bidResponse.ad
+ });
+ }
+
+ Object.assign(bid, {
+ vastUrl: bidResponse.vastUrl
+ });
+
+ if (mediaType === OUTSTREAM) {
+ Object.assign(bid, {
+ mediaType: 'video',
+ adResponse: bidResponse,
+ renderer: newRenderer(bidResponse.requestId)
+ });
+ }
+
+ return bid;
+}
+
+/**
+ * Create Adtelligent renderer
+ * @param requestId
+ * @returns {*}
+ */
+function newRenderer(requestId) {
+ const renderer = Renderer.install({
+ id: requestId,
+ url: OUTSTREAM_SRC,
+ loaded: false
+ });
+
+ renderer.setRender(outstreamRender);
+
+ return renderer;
+}
+
+/**
+ * Initialise Adtelligent outstream
+ * @param bid
+ */
+function outstreamRender(bid) {
+ bid.renderer.push(() => {
+ window.VOutstreamAPI.initOutstreams([{
+ width: bid.width,
+ height: bid.height,
+ vastUrl: bid.vastUrl,
+ elId: bid.adUnitCode
+ }]);
+ });
+}
+
+registerBidder(spec);
diff --git a/modules/adtelligentBidAdapter.md b/modules/adtelligentBidAdapter.md
new file mode 100644
index 00000000000..2b48c9726c9
--- /dev/null
+++ b/modules/adtelligentBidAdapter.md
@@ -0,0 +1,65 @@
+# Overview
+
+**Module Name**: Adtelligent Bidder Adapter
+**Module Type**: Bidder Adapter
+**Maintainer**: support@adtelligent.com
+
+# Description
+
+Get access to multiple demand partners across Adtelligent Marketplace and maximize your yield with Adtelligent header bidding adapter.
+
+Adtelligent header bidding adapter connects with Adtelligent demand sources in order to fetch bids.
+This adapter provides a solution for accessing Video demand and display demand
+
+
+# Test Parameters
+```
+ var adUnits = [
+
+ // Video instream adUnit
+ {
+ code: 'div-test-div',
+ sizes: [[640, 480]],
+ mediaTypes: {
+ video: {
+ context: 'instream'
+ }
+ },
+ bids: [{
+ bidder: 'adtelligent',
+ params: {
+ aid: 331133
+ }
+ }]
+ },
+
+ // Video outstream adUnit
+ {
+ code: 'outstream-test-div',
+ sizes: [[640, 480]],
+ mediaTypes: {
+ video: {
+ context: 'outstream'
+ }
+ },
+ bids: [{
+ bidder: 'adtelligent',
+ params: {
+ aid: 331133
+ }
+ }]
+ },
+
+ // Banner adUnit
+ {
+ code: 'div-test-div',
+ sizes: [[300, 250]],
+ bids: [{
+ bidder: 'adtelligent',
+ params: {
+ aid: 350975
+ }
+ }]
+ }
+ ];
+```
diff --git a/test/spec/modules/adtelligentBidAdapter_spec.js b/test/spec/modules/adtelligentBidAdapter_spec.js
new file mode 100644
index 00000000000..fa3e0479372
--- /dev/null
+++ b/test/spec/modules/adtelligentBidAdapter_spec.js
@@ -0,0 +1,240 @@
+import {expect} from 'chai';
+import {spec} from 'modules/adtelligentBidAdapter';
+import {newBidder} from 'src/adapters/bidderFactory';
+
+const ENDPOINT = '//hb.adtelligent.com/auction/';
+
+const DISPLAY_REQUEST = {
+ 'bidder': 'adtelligent',
+ 'params': {
+ 'aid': 12345
+ },
+ 'bidderRequestId': '7101db09af0db2',
+ 'auctionId': '2e41f65424c87c',
+ 'adUnitCode': 'adunit-code',
+ 'bidId': '84ab500420319d',
+ 'sizes': [300, 250]
+};
+
+const VIDEO_REQUEST = {
+ 'bidder': 'adtelligent',
+ 'mediaTypes': {
+ 'video': {}
+ },
+ 'params': {
+ 'aid': 12345
+ },
+ 'bidderRequestId': '7101db09af0db2',
+ 'auctionId': '2e41f65424c87c',
+ 'adUnitCode': 'adunit-code',
+ 'bidId': '84ab500420319d',
+ 'sizes': [[480, 360], [640, 480]]
+};
+
+const SERVER_VIDEO_RESPONSE = {
+ 'source': {'aid': 12345, 'pubId': 54321},
+ 'bids': [{
+ 'vastUrl': 'http://rtb.adtelligent.com/vast/?adid=44F2AEB9BFC881B3',
+ 'requestId': '2e41f65424c87c',
+ 'url': '44F2AEB9BFC881B3',
+ 'creative_id': 342516,
+ 'cmpId': 342516,
+ 'height': 480,
+ 'cur': 'USD',
+ 'width': 640,
+ 'cpm': 0.9
+ }
+ ]
+};
+const SERVER_DISPLAY_RESPONSE = {
+ 'source': {'aid': 12345, 'pubId': 54321},
+ 'bids': [{
+ 'ad': '',
+ 'requestId': '2e41f65424c87c',
+ 'creative_id': 342516,
+ 'cmpId': 342516,
+ 'height': 250,
+ 'cur': 'USD',
+ 'width': 300,
+ 'cpm': 0.9
+ }]
+};
+
+const videoBidderRequest = {
+ bidderCode: 'bidderCode',
+ bids: [{mediaTypes: {video: {}}, bidId: '2e41f65424c87c'}]
+};
+
+const displayBidderRequest = {
+ bidderCode: 'bidderCode',
+ bids: [{bidId: '2e41f65424c87c'}]
+};
+
+const videoEqResponse = [{
+ vastUrl: 'http://rtb.adtelligent.com/vast/?adid=44F2AEB9BFC881B3',
+ requestId: '2e41f65424c87c',
+ creativeId: 342516,
+ mediaType: 'video',
+ netRevenue: true,
+ currency: 'USD',
+ height: 480,
+ width: 640,
+ ttl: 3600,
+ cpm: 0.9
+}];
+
+const displayEqResponse = [{
+ requestId: '2e41f65424c87c',
+ creativeId: 342516,
+ mediaType: 'display',
+ netRevenue: true,
+ currency: 'USD',
+ ad: '',
+ height: 250,
+ width: 300,
+ ttl: 3600,
+ cpm: 0.9
+}];
+
+describe('adtelligentBidAdapter', () => {
+ const adapter = newBidder(spec);
+
+ describe('inherited functions', () => {
+ it('exists and is a function', () => {
+ expect(adapter.callBids).to.exist.and.to.be.a('function');
+ });
+ });
+
+ describe('isBidRequestValid', () => {
+ it('should return true when required params found', () => {
+ expect(spec.isBidRequestValid(VIDEO_REQUEST)).to.equal(12345);
+ });
+
+ it('should return false when required params are not passed', () => {
+ let bid = Object.assign({}, VIDEO_REQUEST);
+ delete bid.params;
+ expect(spec.isBidRequestValid(bid)).to.equal(undefined);
+ });
+ });
+
+ describe('buildRequests', () => {
+ let videoBidRequests = [VIDEO_REQUEST];
+ let displayBidRequests = [DISPLAY_REQUEST];
+ let videoAndDisplayBidRequests = [DISPLAY_REQUEST, VIDEO_REQUEST];
+
+ const displayRequest = spec.buildRequests(displayBidRequests, {});
+ const videoRequest = spec.buildRequests(videoBidRequests, {});
+ const videoAndDisplayRequests = spec.buildRequests(videoAndDisplayBidRequests, {});
+
+ it('sends bid request to ENDPOINT via GET', () => {
+ expect(videoRequest.method).to.equal('GET');
+ expect(displayRequest.method).to.equal('GET');
+ expect(videoAndDisplayRequests.method).to.equal('GET');
+ });
+
+ it('sends bid request to correct ENDPOINT', () => {
+ expect(videoRequest.url).to.equal(ENDPOINT);
+ expect(displayRequest.url).to.equal(ENDPOINT);
+ expect(videoAndDisplayRequests.url).to.equal(ENDPOINT);
+ });
+
+ it('sends correct video bid parameters', () => {
+ const bid = Object.assign({}, videoRequest.data);
+ delete bid.domain;
+
+ const eq = {
+ callbackId: '84ab500420319d',
+ ad_type: 'video',
+ aid: 12345,
+ sizes: '480x360,640x480'
+ };
+
+ expect(bid).to.deep.equal(eq);
+ });
+
+ it('sends correct display bid parameters', () => {
+ const bid = Object.assign({}, displayRequest.data);
+ delete bid.domain;
+
+ const eq = {
+ callbackId: '84ab500420319d',
+ ad_type: 'display',
+ aid: 12345,
+ sizes: '300x250'
+ };
+
+ expect(bid).to.deep.equal(eq);
+ });
+
+ it('sends correct video and display bid parameters', () => {
+ const bid = Object.assign({}, videoAndDisplayRequests.data);
+ delete bid.domain;
+
+ const eq = {
+ callbackId: '84ab500420319d',
+ ad_type: 'display',
+ aid: 12345,
+ sizes: '300x250',
+ callbackId2: '84ab500420319d',
+ ad_type2: 'video',
+ aid2: 12345,
+ sizes2: '480x360,640x480'
+ };
+
+ expect(bid).to.deep.equal(eq);
+ });
+ });
+
+ describe('interpretResponse', () => {
+ let serverResponse;
+ let bidderRequest;
+ let eqResponse;
+
+ afterEach(() => {
+ serverResponse = null;
+ bidderRequest = null;
+ eqResponse = null;
+ });
+
+ it('should get correct video bid response', () => {
+ serverResponse = SERVER_VIDEO_RESPONSE;
+ bidderRequest = videoBidderRequest;
+ eqResponse = videoEqResponse;
+
+ bidServerResponseCheck();
+ });
+
+ it('should get correct display bid response', () => {
+ serverResponse = SERVER_DISPLAY_RESPONSE;
+ bidderRequest = displayBidderRequest;
+ eqResponse = displayEqResponse;
+
+ bidServerResponseCheck();
+ });
+
+ function bidServerResponseCheck() {
+ const result = spec.interpretResponse({body: serverResponse}, {bidderRequest});
+
+ expect(result).to.deep.equal(eqResponse);
+ }
+
+ function nobidServerResponseCheck() {
+ const noBidServerResponse = {bids: []};
+ const noBidResult = spec.interpretResponse({body: noBidServerResponse}, {bidderRequest});
+
+ expect(noBidResult.length).to.equal(0);
+ }
+
+ it('handles video nobid responses', () => {
+ bidderRequest = videoBidderRequest;
+
+ nobidServerResponseCheck();
+ });
+
+ it('handles display nobid responses', () => {
+ bidderRequest = displayBidderRequest;
+
+ nobidServerResponseCheck();
+ });
+ });
+});
From 8719aefad0dc91d3789ed858c98997d5521f8ea2 Mon Sep 17 00:00:00 2001
From: Spacedragoon
Date: Fri, 23 Mar 2018 01:26:00 +0100
Subject: [PATCH 004/171] Smart Ad Server: Fix bug when multi bids (#2170)
---
modules/smartadserverBidAdapter.js | 49 ++++++++++---------
.../modules/smartadserverBidAdapter_spec.js | 8 +--
2 files changed, 29 insertions(+), 28 deletions(-)
diff --git a/modules/smartadserverBidAdapter.js b/modules/smartadserverBidAdapter.js
index 4828f3a36a8..3d2eaa4de83 100644
--- a/modules/smartadserverBidAdapter.js
+++ b/modules/smartadserverBidAdapter.js
@@ -31,30 +31,31 @@ export const spec = {
// to find which one the ad server needs
// pull requested transaction ID from bidderRequest.bids[].transactionId
- var bid = validBidRequests[0];
- const payload = {
- siteid: bid.params.siteId,
- pageid: bid.params.pageId,
- formatid: bid.params.formatId,
- currencyCode: config.getConfig('currency.adServerCurrency'),
- bidfloor: bid.params.bidfloor || 0.0,
- targeting: bid.params.target && bid.params.target != '' ? bid.params.target : undefined,
- tagId: bid.adUnitCode,
- sizes: bid.sizes.map(size => ({
- w: size[0],
- h: size[1]
- })),
- pageDomain: utils.getTopWindowUrl(),
- transactionId: bid.transactionId,
- timeout: config.getConfig('bidderTimeout'),
- bidId: bid.bidId
- };
- const payloadString = JSON.stringify(payload);
- return {
- method: 'POST',
- url: bid.params.domain + '/prebid/v1',
- data: payloadString,
- };
+ return validBidRequests.map(bid => {
+ var payload = {
+ siteid: bid.params.siteId,
+ pageid: bid.params.pageId,
+ formatid: bid.params.formatId,
+ currencyCode: config.getConfig('currency.adServerCurrency'),
+ bidfloor: bid.params.bidfloor || 0.0,
+ targeting: bid.params.target && bid.params.target != '' ? bid.params.target : undefined,
+ tagId: bid.adUnitCode,
+ sizes: bid.sizes.map(size => ({
+ w: size[0],
+ h: size[1]
+ })),
+ pageDomain: utils.getTopWindowUrl(),
+ transactionId: bid.transactionId,
+ timeout: config.getConfig('bidderTimeout'),
+ bidId: bid.bidId
+ };
+ var payloadString = JSON.stringify(payload);
+ return {
+ method: 'POST',
+ url: bid.params.domain + '/prebid/v1',
+ data: payloadString,
+ };
+ });
},
/**
* Unpack the response from the server into a list of bids.
diff --git a/test/spec/modules/smartadserverBidAdapter_spec.js b/test/spec/modules/smartadserverBidAdapter_spec.js
index 5cb4a1277fb..6e052654685 100644
--- a/test/spec/modules/smartadserverBidAdapter_spec.js
+++ b/test/spec/modules/smartadserverBidAdapter_spec.js
@@ -74,9 +74,9 @@ describe('Smart ad server bid adapter tests', () => {
}
});
const request = spec.buildRequests(DEFAULT_PARAMS);
- expect(request).to.have.property('url').and.to.equal('http://prg.smartadserver.com/prebid/v1');
- expect(request).to.have.property('method').and.to.equal('POST');
- const requestContent = JSON.parse(request.data);
+ expect(request[0]).to.have.property('url').and.to.equal('http://prg.smartadserver.com/prebid/v1');
+ expect(request[0]).to.have.property('method').and.to.equal('POST');
+ const requestContent = JSON.parse(request[0].data);
expect(requestContent).to.have.property('siteid').and.to.equal('1234');
expect(requestContent).to.have.property('pageid').and.to.equal('5678');
expect(requestContent).to.have.property('formatid').and.to.equal('90');
@@ -95,7 +95,7 @@ describe('Smart ad server bid adapter tests', () => {
it('Verify parse response', () => {
const request = spec.buildRequests(DEFAULT_PARAMS);
- const bids = spec.interpretResponse(BID_RESPONSE, request);
+ const bids = spec.interpretResponse(BID_RESPONSE, request[0]);
expect(bids).to.have.lengthOf(1);
const bid = bids[0];
expect(bid.cpm).to.equal(12);
From 85cdf7b007bd2580a0c1fb80427070be630f5a33 Mon Sep 17 00:00:00 2001
From: Justin Grimes
Date: Mon, 26 Mar 2018 10:05:17 -0400
Subject: [PATCH 005/171] Serverbid Bid Adapter: Added archon alias (#2293)
---
modules/serverbidBidAdapter.js | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/modules/serverbidBidAdapter.js b/modules/serverbidBidAdapter.js
index 24bb5aa6255..8497a67f401 100644
--- a/modules/serverbidBidAdapter.js
+++ b/modules/serverbidBidAdapter.js
@@ -21,6 +21,9 @@ const CONFIG = {
},
'automatad': {
'BASE_URI': 'https://e.serverbid.com/api/v2'
+ },
+ 'archon': {
+ 'BASE_URI': 'https://e.serverbid.com/api/v2'
}
};
@@ -29,7 +32,7 @@ let bidder = 'serverbid';
export const spec = {
code: BIDDER_CODE,
- aliases: ['connectad', 'onefiftytwo', 'insticator', 'adsparc', 'automatad'],
+ aliases: ['connectad', 'onefiftytwo', 'insticator', 'adsparc', 'automatad', 'archon'],
/**
* Determines whether or not the given bid request is valid.
From 4012c7ee644bbdaf3b1ccb0ae6b21c8653da608b Mon Sep 17 00:00:00 2001
From: moonshells <33766472+moonshells@users.noreply.github.com>
Date: Mon, 26 Mar 2018 07:13:42 -0700
Subject: [PATCH 006/171] if cache markup is not enabled, set it to the default
value 0 (#2302)
* if cache markup is not enabled (1 for Mobile App, 2 for Web), set it to the default value 0
* use triple equals instead of double equals
---
modules/prebidServerBidAdapter.js | 2 +-
test/spec/modules/prebidServerBidAdapter_spec.js | 12 ++++++++++++
2 files changed, 13 insertions(+), 1 deletion(-)
diff --git a/modules/prebidServerBidAdapter.js b/modules/prebidServerBidAdapter.js
index 601f80df361..09fc036c1d1 100644
--- a/modules/prebidServerBidAdapter.js
+++ b/modules/prebidServerBidAdapter.js
@@ -288,7 +288,7 @@ const LEGACY_PROTOCOL = {
max_bids: _s2sConfig.maxBids,
timeout_millis: _s2sConfig.timeout,
secure: _s2sConfig.secure,
- cache_markup: _s2sConfig.cacheMarkup,
+ cache_markup: _s2sConfig.cacheMarkup === 1 || _s2sConfig.cacheMarkup === 2 ? _s2sConfig.cacheMarkup : 0,
url: utils.getTopWindowUrl(),
prebid_version: '$prebid.version$',
ad_units: adUnits,
diff --git a/test/spec/modules/prebidServerBidAdapter_spec.js b/test/spec/modules/prebidServerBidAdapter_spec.js
index 8bca5e916d3..5e1a1ff355c 100644
--- a/test/spec/modules/prebidServerBidAdapter_spec.js
+++ b/test/spec/modules/prebidServerBidAdapter_spec.js
@@ -12,6 +12,7 @@ let CONFIG = {
enabled: true,
bidders: ['appnexus'],
timeout: 1000,
+ cacheMarkup: 2,
endpoint: 'https://prebid.adnxs.com/pbs/v1/auction'
};
@@ -390,10 +391,21 @@ describe('S2S Adapter', () => {
config.setConfig({s2sConfig: CONFIG});
adapter.callBids(REQUEST, BID_REQUESTS, addBidResponse, done, ajax);
const requestBid = JSON.parse(requests[0].requestBody);
+ expect(requestBid).to.have.property('cache_markup', 2);
expect(requestBid.ad_units[0].bids[0].params.placementId).to.exist.and.to.be.a('number');
expect(requestBid.ad_units[0].bids[0].params.member).to.exist.and.to.be.a('string');
});
+ it('sets invalid cacheMarkup value to 0', () => {
+ const s2sConfig = Object.assign({}, CONFIG, {
+ cacheMarkup: 999
+ });
+ config.setConfig({s2sConfig: s2sConfig});
+ adapter.callBids(REQUEST, BID_REQUESTS, addBidResponse, done, ajax);
+ const requestBid = JSON.parse(requests[0].requestBody);
+ expect(requestBid).to.have.property('cache_markup', 0);
+ });
+
it('adds digitrust id is present and user is not optout', () => {
let digiTrustObj = {
success: true,
From 63159da8a432a410f859811deee5574f276667b1 Mon Sep 17 00:00:00 2001
From: rachelrj
Date: Mon, 26 Mar 2018 08:17:43 -0600
Subject: [PATCH 007/171] Enhance location detection within utils (#2167)
* fix sovrn dealid
* send 'iv' param if present
* `page` field in `site` object sends full url
* Enhance location detection within util function.
* fix func call
* fix tagid var type
* add test for converting tagid to string
* CR
* Reorg gettopwindowlocation util & add tests.
* lint fixes
* search param is string in window location objects
---
modules/sovrnBidAdapter.js | 7 +-
src/url.js | 5 +-
src/utils.js | 53 ++++++++++++--
test/spec/modules/sovrnBidAdapter_spec.js | 20 +++++
test/spec/url_spec.js | 13 ++++
test/spec/utils_spec.js | 89 ++++++++++++++++++++++-
6 files changed, 173 insertions(+), 14 deletions(-)
diff --git a/modules/sovrnBidAdapter.js b/modules/sovrnBidAdapter.js
index d13331b9179..564dca85690 100644
--- a/modules/sovrnBidAdapter.js
+++ b/modules/sovrnBidAdapter.js
@@ -22,6 +22,7 @@ export const spec = {
* @return object of parameters for Prebid AJAX request
*/
buildRequests: function(bidReqs) {
+ const loc = utils.getTopWindowLocation();
let sovrnImps = [];
let iv;
utils._each(bidReqs, function (bid) {
@@ -29,7 +30,7 @@ export const spec = {
sovrnImps.push({
id: bid.bidId,
banner: { w: 1, h: 1 },
- tagid: utils.getBidIdParameter('tagid', bid.params),
+ tagid: String(utils.getBidIdParameter('tagid', bid.params)),
bidfloor: utils.getBidIdParameter('bidfloor', bid.params)
});
});
@@ -37,8 +38,8 @@ export const spec = {
id: utils.getUniqueIdentifierStr(),
imp: sovrnImps,
site: {
- domain: window.location.host,
- page: window.location.host + window.location.pathname + location.search + location.hash
+ domain: loc.host,
+ page: loc.host + loc.pathname + loc.search + loc.hash
}
};
if (iv) sovrnBidReq.iv = iv;
diff --git a/src/url.js b/src/url.js
index 502245f3abd..c63bca2ca41 100644
--- a/src/url.js
+++ b/src/url.js
@@ -31,12 +31,15 @@ export function parse(url, options) {
} else {
parsed.href = decodeURIComponent(url);
}
+ // in window.location 'search' is string, not object
+ let qsAsString = (options && 'decodeSearchAsString' in options && options.decodeSearchAsString);
return {
+ href: parsed.href,
protocol: (parsed.protocol || '').replace(/:$/, ''),
hostname: parsed.hostname,
port: +parsed.port,
pathname: parsed.pathname.replace(/^(?!\/)/, '/'),
- search: parseQS(parsed.search || ''),
+ search: (qsAsString) ? parsed.search : parseQS(parsed.search || ''),
hash: (parsed.hash || '').replace(/^#/, ''),
host: parsed.host || window.location.host
};
diff --git a/src/utils.js b/src/utils.js
index 3738d0e7d52..5436a4aa167 100644
--- a/src/utils.js
+++ b/src/utils.js
@@ -2,6 +2,7 @@ import { config } from './config';
import clone from 'just-clone';
import find from 'core-js/library/fn/array/find';
import includes from 'core-js/library/fn/array/includes';
+import { parse } from './url';
const CONSTANTS = require('./constants');
var _loggingChecked = false;
@@ -157,17 +158,55 @@ export function parseGPTSingleSizeArray(singleSize) {
}
};
-exports.getTopWindowLocation = function () {
- let location;
+exports.getTopWindowLocation = function() {
+ if (exports.inIframe()) {
+ let loc;
+ try {
+ loc = exports.getAncestorOrigins() || exports.getTopFrameReferrer();
+ } catch (e) {
+ logInfo('could not obtain top window location', e);
+ }
+ if (loc) return parse(loc, {'decodeSearchAsString': true});
+ }
+ return exports.getWindowLocation();
+}
+
+exports.getTopFrameReferrer = function () {
try {
- // force an exception in x-domain enviornments. #1509
+ // force an exception in x-domain environments. #1509
window.top.location.toString();
- location = window.top.location;
+ let referrerLoc = '';
+ let currentWindow;
+ do {
+ currentWindow = currentWindow ? currentWindow.parent : window;
+ if (currentWindow.document && currentWindow.document.referrer) {
+ referrerLoc = currentWindow.document.referrer;
+ }
+ }
+ while (currentWindow !== window.top);
+ return referrerLoc;
} catch (e) {
- location = window.location;
+ return window.document.referrer;
+ }
+};
+
+exports.getAncestorOrigins = function () {
+ if (window.document.location && window.document.location.ancestorOrigins &&
+ window.document.location.ancestorOrigins.length >= 1) {
+ return window.document.location.ancestorOrigins[window.document.location.ancestorOrigins.length - 1];
}
+};
+
+exports.getWindowTop = function () {
+ return window.top;
+};
+
+exports.getWindowSelf = function () {
+ return window.self;
+};
- return location;
+exports.getWindowLocation = function () {
+ return window.location;
};
exports.getTopWindowUrl = function () {
@@ -658,7 +697,7 @@ export function deepClone(obj) {
export function inIframe() {
try {
- return window.self !== window.top;
+ return exports.getWindowSelf() !== exports.getWindowTop();
} catch (e) {
return true;
}
diff --git a/test/spec/modules/sovrnBidAdapter_spec.js b/test/spec/modules/sovrnBidAdapter_spec.js
index 5fc7cb6a62a..a440b3d43c4 100644
--- a/test/spec/modules/sovrnBidAdapter_spec.js
+++ b/test/spec/modules/sovrnBidAdapter_spec.js
@@ -83,6 +83,26 @@ describe('sovrnBidAdapter', function() {
expect(request.data).to.contain('"iv":"vet"')
})
+
+ it('converts tagid to string', () => {
+ const ivBidRequests = [{
+ 'bidder': 'sovrn',
+ 'params': {
+ 'tagid': 403370,
+ 'iv': 'vet'
+ },
+ 'adUnitCode': 'adunit-code',
+ 'sizes': [
+ [300, 250]
+ ],
+ 'bidId': '30b31c1838de1e',
+ 'bidderRequestId': '22edbae2733bf6',
+ 'auctionId': '1d1a030790a475'
+ }];
+ const request = spec.buildRequests(ivBidRequests);
+
+ expect(request.data).to.contain('"tagid":"403370"')
+ })
});
describe('interpretResponse', () => {
diff --git a/test/spec/url_spec.js b/test/spec/url_spec.js
index 3ffb8ad5ca7..cfa1b0c80b4 100644
--- a/test/spec/url_spec.js
+++ b/test/spec/url_spec.js
@@ -78,4 +78,17 @@ describe('helpers.url', () => {
})).to.equal('http://example.com');
});
});
+
+ describe('parse(url, {decodeSearchAsString: true})', () => {
+ let parsed;
+
+ beforeEach(() => {
+ parsed = parse('http://example.com:3000/pathname/?search=test&foo=bar&bar=foo%26foo%3Dxxx#hash', {decodeSearchAsString: true});
+ });
+
+ it('extracts the search query', () => {
+ expect(parsed).to.have.property('search');
+ expect(parsed.search).to.equal('?search=test&foo=bar&bar=foo&foo=xxx');
+ });
+ });
});
diff --git a/test/spec/utils_spec.js b/test/spec/utils_spec.js
index f02b4881be3..7597e389ee9 100755
--- a/test/spec/utils_spec.js
+++ b/test/spec/utils_spec.js
@@ -1,8 +1,7 @@
-import { getSlotTargeting, getAdServerTargeting } from 'test/fixtures/fixtures';
-import { cookiesAreEnabled } from '../../src/utils';
+import { getAdServerTargeting } from 'test/fixtures/fixtures';
var assert = require('assert');
-var utils = require('../../src/utils');
+var utils = require('src/utils');
describe('Utils', function () {
var obj_string = 's',
@@ -623,4 +622,88 @@ describe('Utils', function () {
expect(adUnitCopy[0].renderer.render).to.be.a('function');
});
});
+ describe('getTopWindowLocation', () => {
+ let sandbox;
+
+ beforeEach(() => {
+ sandbox = sinon.sandbox.create();
+ });
+
+ afterEach(() => {
+ sandbox.restore();
+ });
+
+ it('returns window.location if not in iFrame', () => {
+ sandbox.stub(utils, 'getWindowLocation').returns({
+ href: 'https://www.google.com/',
+ ancestorOrigins: {},
+ origin: 'https://www.google.com',
+ protocol: 'https',
+ host: 'www.google.com',
+ hostname: 'www.google.com',
+ port: '',
+ pathname: '/',
+ search: '',
+ hash: ''
+ });
+ let windowSelfAndTopObject = { self: 'is same as top' };
+ sandbox.stub(utils, 'getWindowSelf').returns(
+ windowSelfAndTopObject
+ );
+ sandbox.stub(utils, 'getWindowTop').returns(
+ windowSelfAndTopObject
+ );
+ var topWindowLocation = utils.getTopWindowLocation();
+ expect(topWindowLocation).to.be.a('object');
+ expect(topWindowLocation.href).to.equal('https://www.google.com/');
+ expect(topWindowLocation.protocol).to.equal('https');
+ expect(topWindowLocation.hostname).to.equal('www.google.com');
+ expect(topWindowLocation.port).to.equal('');
+ expect(topWindowLocation.pathname).to.equal('/');
+ expect(topWindowLocation.hash).to.equal('');
+ expect(topWindowLocation.search).to.equal('');
+ expect(topWindowLocation.host).to.equal('www.google.com');
+ });
+
+ it('returns parsed dom string from ancestorOrigins if in iFrame & ancestorOrigins is populated', () => {
+ sandbox.stub(utils, 'getWindowSelf').returns(
+ { self: 'is not same as top' }
+ );
+ sandbox.stub(utils, 'getWindowTop').returns(
+ { top: 'is not same as self' }
+ );
+ sandbox.stub(utils, 'getAncestorOrigins').returns('https://www.google.com/a/umich.edu/acs');
+ var topWindowLocation = utils.getTopWindowLocation();
+ expect(topWindowLocation).to.be.a('object');
+ expect(topWindowLocation.pathname).to.equal('/a/umich.edu/acs');
+ expect(topWindowLocation.href).to.equal('https://www.google.com/a/umich.edu/acs');
+ expect(topWindowLocation.protocol).to.equal('https');
+ expect(topWindowLocation.hostname).to.equal('www.google.com');
+ expect(topWindowLocation.port).to.equal(0);
+ expect(topWindowLocation.hash).to.equal('');
+ expect(topWindowLocation.search).to.equal('');
+ expect(topWindowLocation.host).to.equal('www.google.com');
+ });
+
+ it('returns parsed referrer string if in iFrame but no ancestorOrigins', () => {
+ sandbox.stub(utils, 'getWindowSelf').returns(
+ { self: 'is not same as top' }
+ );
+ sandbox.stub(utils, 'getWindowTop').returns(
+ { top: 'is not same as self' }
+ );
+ sandbox.stub(utils, 'getAncestorOrigins').returns(null);
+ sandbox.stub(utils, 'getTopFrameReferrer').returns('https://www.example.com/');
+ var topWindowLocation = utils.getTopWindowLocation();
+ expect(topWindowLocation).to.be.a('object');
+ expect(topWindowLocation.href).to.equal('https://www.example.com/');
+ expect(topWindowLocation.protocol).to.equal('https');
+ expect(topWindowLocation.hostname).to.equal('www.example.com');
+ expect(topWindowLocation.port).to.equal(0);
+ expect(topWindowLocation.pathname).to.equal('/');
+ expect(topWindowLocation.hash).to.equal('');
+ expect(topWindowLocation.search).to.equal('');
+ expect(topWindowLocation.host).to.equal('www.example.com');
+ });
+ });
});
From bae04f43ab0e147ac5ead6ccdee3ccb4add86e3d Mon Sep 17 00:00:00 2001
From: Matt Lane
Date: Mon, 26 Mar 2018 12:48:31 -0700
Subject: [PATCH 008/171] Update stalebot labels (#2319)
---
.github/stale.yml | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/.github/stale.yml b/.github/stale.yml
index 41b1c7ba747..0925c69c703 100644
--- a/.github/stale.yml
+++ b/.github/stale.yml
@@ -7,8 +7,9 @@ exemptLabels:
- pinned
- security
- bug
+ - feature
# Label to use when marking an issue as stale
-staleLabel: wontfix
+staleLabel: stale
# Comment to post when marking an issue as stale. Set to `false` to disable
markComment: >
This issue has been automatically marked as stale because it has not had
From 469d586b98800cdd0021768efc11fc50da7572d1 Mon Sep 17 00:00:00 2001
From: bretg
Date: Mon, 26 Mar 2018 17:23:09 -0400
Subject: [PATCH 009/171] Changing default currency file to https (#2306)
---
modules/currency.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/modules/currency.js b/modules/currency.js
index aeeabc3817c..90941538363 100644
--- a/modules/currency.js
+++ b/modules/currency.js
@@ -5,7 +5,7 @@ import * as utils from 'src/utils';
import { config } from 'src/config';
import { hooks } from 'src/hook.js';
-const DEFAULT_CURRENCY_RATE_URL = 'http://currency.prebid.org/latest.json';
+const DEFAULT_CURRENCY_RATE_URL = 'https://currency.prebid.org/latest.json';
const CURRENCY_RATE_PRECISION = 4;
var bidResponseQueue = [];
From feafdcf2a13a0a812944a631c4549e602499266a Mon Sep 17 00:00:00 2001
From: Matt Lane
Date: Mon, 26 Mar 2018 14:50:34 -0700
Subject: [PATCH 010/171] Support aliases in prebidServer (#2257)
* Support AppNexus aliases in s2s request
* Support dynamic aliases
---
modules/prebidServerBidAdapter.js | 19 ++++++-
src/adaptermanager.js | 2 +
src/adapters/bidderFactory.js | 1 +
.../modules/prebidServerBidAdapter_spec.js | 57 +++++++++++++++++++
4 files changed, 76 insertions(+), 3 deletions(-)
diff --git a/modules/prebidServerBidAdapter.js b/modules/prebidServerBidAdapter.js
index 09fc036c1d1..ebb630ceb7a 100644
--- a/modules/prebidServerBidAdapter.js
+++ b/modules/prebidServerBidAdapter.js
@@ -213,7 +213,10 @@ const paramTypes = {
function convertTypes(adUnits) {
adUnits.forEach(adUnit => {
adUnit.bids.forEach(bid => {
- const types = paramTypes[bid.bidder] || [];
+ // aliases use the base bidder's paramTypes
+ const bidder = adaptermanager.aliasRegistry[bid.bidder] || bid.bidder;
+ const types = paramTypes[bidder] || [];
+
Object.keys(types).forEach(key => {
if (bid.params[key]) {
bid.params[key] = types[key](bid.params[key]);
@@ -402,14 +405,20 @@ const OPEN_RTB_PROTOCOL = {
buildRequest(s2sBidRequest, adUnits) {
let imps = [];
+ let aliases = {};
// transform ad unit into array of OpenRTB impression objects
adUnits.forEach(adUnit => {
- // OpenRTB response contains the adunit code and bidder name. These are
- // combined to create a unique key for each bid since an id isn't returned
adUnit.bids.forEach(bid => {
+ // OpenRTB response contains the adunit code and bidder name. These are
+ // combined to create a unique key for each bid since an id isn't returned
const key = `${adUnit.code}${bid.bidder}`;
this.bidMap[key] = bid;
+
+ // check for and store valid aliases to add to the request
+ if (adaptermanager.aliasRegistry[bid.bidder]) {
+ aliases[bid.bidder] = adaptermanager.aliasRegistry[bid.bidder];
+ }
});
let banner;
@@ -469,6 +478,10 @@ const OPEN_RTB_PROTOCOL = {
request.user = { ext: { digitrust: digiTrust } };
}
+ if (!utils.isEmpty(aliases)) {
+ request.ext = { prebid: { aliases } };
+ }
+
return request;
},
diff --git a/src/adaptermanager.js b/src/adaptermanager.js
index b4a874a0736..6ff2387cca2 100644
--- a/src/adaptermanager.js
+++ b/src/adaptermanager.js
@@ -15,6 +15,7 @@ let s2sTestingModule; // store s2sTesting module if it's loaded
var _bidderRegistry = {};
exports.bidderRegistry = _bidderRegistry;
+exports.aliasRegistry = {};
let _s2sConfig = {};
config.getConfig('s2sConfig', config => {
@@ -383,6 +384,7 @@ exports.aliasBidAdapter = function (bidderCode, alias) {
} else {
let spec = bidAdaptor.getSpec();
newAdapter = newBidder(Object.assign({}, spec, { code: alias }));
+ exports.aliasRegistry[alias] = bidderCode;
}
this.registerBidAdapter(newAdapter, alias, {
supportedMediaTypes
diff --git a/src/adapters/bidderFactory.js b/src/adapters/bidderFactory.js
index b9930c3f363..2497572cd10 100644
--- a/src/adapters/bidderFactory.js
+++ b/src/adapters/bidderFactory.js
@@ -139,6 +139,7 @@ export function registerBidder(spec) {
putBidder(spec);
if (Array.isArray(spec.aliases)) {
spec.aliases.forEach(alias => {
+ adaptermanager.aliasRegistry[alias] = spec.code;
putBidder(Object.assign({}, spec, { code: alias }));
});
}
diff --git a/test/spec/modules/prebidServerBidAdapter_spec.js b/test/spec/modules/prebidServerBidAdapter_spec.js
index 5e1a1ff355c..383c599a133 100644
--- a/test/spec/modules/prebidServerBidAdapter_spec.js
+++ b/test/spec/modules/prebidServerBidAdapter_spec.js
@@ -498,6 +498,63 @@ describe('S2S Adapter', () => {
expect(requestBid.site.publisher).to.exist.and.to.be.a('object');
expect(requestBid.site.page).to.exist.and.to.be.a('string');
});
+
+ it('adds appnexus aliases to request', () => {
+ const s2sConfig = Object.assign({}, CONFIG, {
+ endpoint: 'https://prebid.adnxs.com/pbs/v1/openrtb2/auction'
+ });
+ config.setConfig({s2sConfig});
+
+ const aliasBidder = {
+ bidder: 'brealtime',
+ params: { placementId: '123456' }
+ };
+
+ const request = Object.assign({}, REQUEST);
+ request.ad_units[0].bids = [aliasBidder];
+
+ adapter.callBids(request, BID_REQUESTS, addBidResponse, done, ajax);
+
+ const requestBid = JSON.parse(requests[0].requestBody);
+
+ expect(requestBid.ext).to.deep.equal({
+ prebid: {
+ aliases: {
+ brealtime: 'appnexus'
+ }
+ }
+ });
+ });
+
+ it('adds dynamic aliases to request', () => {
+ const s2sConfig = Object.assign({}, CONFIG, {
+ endpoint: 'https://prebid.adnxs.com/pbs/v1/openrtb2/auction'
+ });
+ config.setConfig({s2sConfig});
+
+ const alias = 'foobar';
+ const aliasBidder = {
+ bidder: alias,
+ params: { placementId: '123456' }
+ };
+
+ const request = Object.assign({}, REQUEST);
+ request.ad_units[0].bids = [aliasBidder];
+
+ // TODO: stub this
+ $$PREBID_GLOBAL$$.aliasBidder('appnexus', alias);
+ adapter.callBids(request, BID_REQUESTS, addBidResponse, done, ajax);
+
+ const requestBid = JSON.parse(requests[0].requestBody);
+
+ expect(requestBid.ext).to.deep.equal({
+ prebid: {
+ aliases: {
+ [alias]: 'appnexus'
+ }
+ }
+ });
+ });
});
describe('response handler', () => {
From bc94b71a5d19a40110aff1922562c1f32e023959 Mon Sep 17 00:00:00 2001
From: LeoWu
Date: Tue, 27 Mar 2018 23:03:04 +0800
Subject: [PATCH 011/171] [FEAT] adunit sizes support (#2320)
---
modules/bridgewellBidAdapter.js | 7 ++++++-
modules/bridgewellBidAdapter.md | 11 ++++++++++
.../spec/modules/bridgewellBidAdapter_spec.js | 21 +++++++++++++++++++
3 files changed, 38 insertions(+), 1 deletion(-)
diff --git a/modules/bridgewellBidAdapter.js b/modules/bridgewellBidAdapter.js
index faf93f1037e..2a7dc0b35c3 100644
--- a/modules/bridgewellBidAdapter.js
+++ b/modules/bridgewellBidAdapter.js
@@ -77,9 +77,14 @@ export const spec = {
return;
}
+ const anotherFormatSize = []; // for store width and height
let matchedResponse = find(serverResponse.body, function(res) {
return !!res && !res.consumed && find(req.sizes, function(size) {
- return res.width === size[0] && res.height === size[1];
+ let width = res.width;
+ let height = res.height;
+ if (typeof size === 'number') anotherFormatSize.push(size); // if sizes format is Array[Number], push width and height into anotherFormatSize
+ return (width === size[0] && height === size[1]) || // for format Array[Array[Number]] check
+ (width === anotherFormatSize[0] && height === anotherFormatSize[1]); // for foramt Array[Number] check
});
});
diff --git a/modules/bridgewellBidAdapter.md b/modules/bridgewellBidAdapter.md
index 1ca61ac6c77..b9d065054fa 100644
--- a/modules/bridgewellBidAdapter.md
+++ b/modules/bridgewellBidAdapter.md
@@ -34,6 +34,17 @@ Module that connects to Bridgewell demand source to fetch bids.
}
}
]
+ },{
+ code: 'test-div',
+ sizes: [728, 90],
+ bids: [
+ {
+ bidder: 'bridgewell',
+ params: {
+ ChannelID: 'CgUxMjMzOBIBNiIGcGVubnkzKggI2AUQWhoBOQ'
+ }
+ }
+ ]
}
];
```
diff --git a/test/spec/modules/bridgewellBidAdapter_spec.js b/test/spec/modules/bridgewellBidAdapter_spec.js
index cbe4a543816..6b95b44dfe5 100644
--- a/test/spec/modules/bridgewellBidAdapter_spec.js
+++ b/test/spec/modules/bridgewellBidAdapter_spec.js
@@ -61,6 +61,17 @@ describe('bridgewellBidAdapter', function () {
'bidId': '3150ccb55da321',
'bidderRequestId': '22edbae2733bf6',
'auctionId': '1d1a030790a475',
+ },
+ {
+ 'bidder': 'bridgewell',
+ 'params': {
+ 'ChannelID': 'CgUxMjMzOBIBNiIGcGVubnkzKggI2AUQWhoBOQ',
+ },
+ 'adUnitCode': 'adunit-code-2',
+ 'sizes': [728, 90],
+ 'bidId': '3150ccb55da321',
+ 'bidderRequestId': '22edbae2733bf6',
+ 'auctionId': '1d1a030790a475',
}
];
const adapter = newBidder(spec);
@@ -239,6 +250,16 @@ describe('bridgewellBidAdapter', function () {
'ttl': 360,
'net_revenue': 'true',
'currency': 'NTD'
+ }, {
+ 'id': '0e4048d3-5c74-4380-a21a-00ba35629f7d',
+ 'bidder_code': 'bridgewell',
+ 'cpm': 5.0,
+ 'width': 728,
+ 'height': 90,
+ 'ad': 'test 728x90
',
+ 'ttl': 360,
+ 'net_revenue': 'true',
+ 'currency': 'NTD'
}];
it('should return all required parameters', () => {
From 1b9d022eec7295473813e6fbcec91110536d19b1 Mon Sep 17 00:00:00 2001
From: jlzhangdev
Date: Wed, 28 Mar 2018 05:57:38 -0700
Subject: [PATCH 012/171] EngageBDR New Bid Adapter (#2309)
* ebdr adapter 0.34.1
* ebdrBidAdapter.js 1.x
* ebdrAdapter
* update md and fix log issue
* add video support and test case for EBDR adapter
* Fix an issue for EBDR adapter
Fix an issue might caused undefined if it is an old bidder
* add vastUrl
* add video adapter in md
* fix test cases
---
modules/ebdrBidAdapter.js | 133 +++++++++++++++
modules/ebdrBidAdapter.md | 53 ++++++
test/spec/modules/ebdrBidAdapter_spec.js | 209 +++++++++++++++++++++++
3 files changed, 395 insertions(+)
create mode 100644 modules/ebdrBidAdapter.js
create mode 100644 modules/ebdrBidAdapter.md
create mode 100644 test/spec/modules/ebdrBidAdapter_spec.js
diff --git a/modules/ebdrBidAdapter.js b/modules/ebdrBidAdapter.js
new file mode 100644
index 00000000000..63a308f1f62
--- /dev/null
+++ b/modules/ebdrBidAdapter.js
@@ -0,0 +1,133 @@
+import * as utils from 'src/utils';
+import { VIDEO, BANNER } from 'src/mediaTypes';
+import { registerBidder } from 'src/adapters/bidderFactory';
+const BIDDER_CODE = 'ebdr';
+export const spec = {
+ code: BIDDER_CODE,
+ supportedMediaTypes: [ BANNER, VIDEO ],
+ isBidRequestValid: function(bid) {
+ return !!(bid && bid.params && bid.params.zoneid);
+ },
+ buildRequests: function(bids) {
+ const rtbServerDomain = 'dsp.bnmla.com';
+ let domain = window.location.host;
+ let page = window.location.pathname + location.search + location.hash;
+ let ebdrImps = [];
+ const ebdrReq = {};
+ let ebdrParams = {};
+ let zoneid = '';
+ let requestId = '';
+ bids.forEach(bid => {
+ utils.logInfo('Log bid', bid);
+ let bidFloor = utils.getBidIdParameter('bidfloor', bid.params);
+ let whArr = getWidthAndHeight(bid);
+ let _mediaTypes = (bid.mediaTypes && bid.mediaTypes.video) ? VIDEO : BANNER;
+ zoneid = utils.getBidIdParameter('zoneid', bid.params);
+ requestId = bid.bidderRequestId;
+ ebdrImps.push({
+ id: bid.bidId,
+ [_mediaTypes]: {
+ w: whArr[0],
+ h: whArr[1]
+ },
+ bidfloor: bidFloor
+ })
+ ebdrReq[bid.bidId] = {mediaTypes: _mediaTypes,
+ w: whArr[0],
+ h: whArr[1]
+ };
+ ebdrParams['latitude'] = utils.getBidIdParameter('latitude', bid.params);
+ ebdrParams['longitude'] = utils.getBidIdParameter('longitude', bid.params);
+ ebdrParams['ifa'] = (utils.getBidIdParameter('IDFA', bid.params).length > utils.getBidIdParameter('ADID', bid.params).length) ? utils.getBidIdParameter('IDFA', bid.params) : utils.getBidIdParameter('ADID', bid.params);
+ });
+ let ebdrBidReq = {
+ id: requestId,
+ imp: ebdrImps,
+ site: {
+ domain: domain,
+ page: page
+ },
+ device: {
+ geo: {
+ lat: ebdrParams.latitude,
+ log: ebdrParams.longitude
+ },
+ ifa: ebdrParams.ifa
+ }
+ };
+ return {
+ method: 'GET',
+ url: '//' + rtbServerDomain + '/hb?' + '&zoneid=' + zoneid + '&br=' + encodeURIComponent(JSON.stringify(ebdrBidReq)),
+ bids: ebdrReq
+ };
+ },
+ interpretResponse: function(serverResponse, bidRequest) {
+ utils.logInfo('Log serverResponse', serverResponse);
+ utils.logInfo('Log bidRequest', bidRequest);
+ let ebdrResponseImps = [];
+ const ebdrResponseObj = serverResponse.body;
+ if (!ebdrResponseObj || !ebdrResponseObj.seatbid || ebdrResponseObj.seatbid.length === 0 || !ebdrResponseObj.seatbid[0].bid || ebdrResponseObj.seatbid[0].bid.length === 0) {
+ return [];
+ }
+ ebdrResponseObj.seatbid[0].bid.forEach(ebdrBid => {
+ let responseCPM;
+ responseCPM = parseFloat(ebdrBid.price);
+ let adm;
+ let type;
+ let _mediaTypes;
+ let vastURL;
+ if (bidRequest.bids[ebdrBid.id].mediaTypes == BANNER) {
+ adm = decodeURIComponent(ebdrBid.adm)
+ type = 'ad';
+ _mediaTypes = BANNER;
+ } else {
+ adm = ebdrBid.adm
+ type = 'vastXml'
+ _mediaTypes = VIDEO;
+ if (ebdrBid.nurl) {
+ vastURL = ebdrBid.nurl;
+ }
+ }
+ let response = {
+ requestId: ebdrBid.id,
+ [type]: adm,
+ mediaType: _mediaTypes,
+ creativeId: ebdrBid.crid,
+ cpm: responseCPM,
+ width: ebdrBid.w,
+ height: ebdrBid.h,
+ currency: 'USD',
+ netRevenue: true,
+ ttl: 3600 }
+ if (vastURL) {
+ response.vastUrl = vastURL;
+ }
+ ebdrResponseImps.push(response);
+ });
+ return ebdrResponseImps;
+ }
+}
+function getWidthAndHeight(bid) {
+ let adW = null;
+ let adH = null;
+ // Handing old bidder only has size object
+ if (bid.sizes && bid.sizes.length) {
+ let sizeArrayLength = bid.sizes.length;
+ if (sizeArrayLength === 2 && typeof bid.sizes[0] === 'number' && typeof bid.sizes[1] === 'number') {
+ adW = bid.sizes[0];
+ adH = bid.sizes[1];
+ }
+ }
+ let _mediaTypes = bid.mediaTypes && bid.mediaTypes.video ? VIDEO : BANNER;
+ if (bid.mediaTypes && bid.mediaTypes[_mediaTypes]) {
+ if (_mediaTypes == BANNER && bid.mediaTypes[_mediaTypes].sizes && bid.mediaTypes[_mediaTypes].sizes[0] && bid.mediaTypes[_mediaTypes].sizes[0].length === 2) {
+ adW = bid.mediaTypes[_mediaTypes].sizes[0][0];
+ adH = bid.mediaTypes[_mediaTypes].sizes[0][1];
+ } else if (_mediaTypes == VIDEO && bid.mediaTypes[_mediaTypes].playerSize && bid.mediaTypes[_mediaTypes].playerSize.length === 2) {
+ adW = bid.mediaTypes[_mediaTypes].playerSize[0];
+ adH = bid.mediaTypes[_mediaTypes].playerSize[1];
+ }
+ }
+ return [adW, adH];
+}
+registerBidder(spec);
diff --git a/modules/ebdrBidAdapter.md b/modules/ebdrBidAdapter.md
new file mode 100644
index 00000000000..64483797b25
--- /dev/null
+++ b/modules/ebdrBidAdapter.md
@@ -0,0 +1,53 @@
+# Overview
+
+```
+Module Name: EngageBDR Bid Adapter
+Module Type: Bidder Adapter
+Maintainer: tech@engagebdr.com
+```
+
+# Description
+
+Adapter that connects to EngageBDR's demand sources.
+
+# Test Parameters
+```
+ var adUnits = [{
+ code: 'div-gpt-ad-1460505748561-0',
+ mediaTypes: {
+ banner: {
+ sizes: [[300, 250], [300,600]],
+ }
+ },
+ bids: [{
+ bidder: 'ebdr',
+ params: {
+ zoneid: '99999',
+ bidfloor: '1.00',
+ IDFA:'xxx-xxx',
+ ADID:'xxx-xxx',
+ latitude:'34.089811',
+ longitude:'-118.392805'
+ }
+ }]
+ },{
+ code: 'test-video',
+ mediaTypes: {
+ video: {
+ context: 'instream',
+ playerSize: [300, 250]
+ }
+ },
+ bids: [{
+ bidder: 'ebdr',
+ params: {
+ zoneid: '99998',
+ bidfloor: '1.00',
+ IDFA:'xxx-xxx',
+ ADID:'xxx-xxx',
+ latitude:'34.089811',
+ longitude:'-118.392805'
+ }
+ }]
+ }];
+```
diff --git a/test/spec/modules/ebdrBidAdapter_spec.js b/test/spec/modules/ebdrBidAdapter_spec.js
new file mode 100644
index 00000000000..c5328f9ebb9
--- /dev/null
+++ b/test/spec/modules/ebdrBidAdapter_spec.js
@@ -0,0 +1,209 @@
+import { expect } from 'chai';
+import { spec } from 'modules/ebdrBidAdapter';
+import { VIDEO, BANNER } from 'src/mediaTypes';
+import * as utils from 'src/utils';
+
+describe('ebdrBidAdapter', () => {
+ let bidRequests;
+
+ beforeEach(() => {
+ bidRequests = [
+ {
+ code: 'div-gpt-ad-1460505748561-0',
+ mediaTypes: {
+ banner: {
+ sizes: [[300, 250], [300, 600]],
+ }
+ },
+ bidder: 'ebdr',
+ params: {
+ zoneid: '99999',
+ bidfloor: '1.00',
+ IDFA: 'xxx-xxx',
+ ADID: 'xxx-xxx',
+ latitude: '34.089811',
+ longitude: '-118.392805'
+ },
+ bidId: '2c5e8a1a84522d',
+ bidderRequestId: '1d0c4017f02458',
+ auctionId: '9adc85ed-43ee-4a78-816b-52b7e578f314'
+ }, {
+ adUnitCode: 'div-gpt-ad-1460505748561-1',
+ mediaTypes: {
+ video: {
+ context: 'instream',
+ playerSize: [300, 250]
+ }
+ },
+ bidder: 'ebdr',
+ params: {
+ zoneid: '99998',
+ bidfloor: '1.00',
+ IDFA: 'xxx-xxx',
+ ADID: 'xxx-xxx',
+ latitude: '34.089811',
+ longitude: '-118.392805'
+ },
+ bidId: '23a01e95856577',
+ bidderRequestId: '1d0c4017f02458',
+ auctionId: '9adc85ed-43ee-4a78-816b-52b7e578f314'
+ }
+ ];
+ });
+
+ describe('spec.isBidRequestValid', () => {
+ it('should return true when the required params are passed', () => {
+ const bidRequest = bidRequests[0];
+ expect(spec.isBidRequestValid(bidRequest)).to.equal(true);
+ });
+
+ it('should return true when the only required param is missing', () => {
+ const bidRequest = bidRequests[0];
+ bidRequest.params = {
+ zoneid: '99998',
+ bidfloor: '1.00',
+ };
+ expect(spec.isBidRequestValid(bidRequest)).to.equal(true);
+ });
+
+ it('should return true when the "bidfloor" param is missing', () => {
+ const bidRequest = bidRequests[0];
+ bidRequest.params = {
+ zoneid: '99998',
+ };
+ expect(spec.isBidRequestValid(bidRequest)).to.equal(true);
+ });
+
+ it('should return false when no bid params are passed', () => {
+ const bidRequest = bidRequests[0];
+ bidRequest.params = {};
+ expect(spec.isBidRequestValid(bidRequest)).to.equal(false);
+ });
+
+ it('should return false when a bid request is not passed', () => {
+ expect(spec.isBidRequestValid()).to.equal(false);
+ expect(spec.isBidRequestValid({})).to.equal(false);
+ });
+ });
+
+ describe('spec.buildRequests', () => {
+ describe('for banner bids', () => {
+ it('must handle an empty bid size', () => {
+ bidRequests[0].mediaTypes = { banner: {} };
+ const requests = spec.buildRequests(bidRequests);
+ const bidRequest = {};
+ bidRequest['2c5e8a1a84522d'] = { mediaTypes: BANNER, w: null, h: null };
+ expect(requests.bids['2c5e8a1a84522d']).to.deep.equals(bidRequest['2c5e8a1a84522d']);
+ });
+ it('should create a single GET', () => {
+ bidRequests[0].mediaTypes = { banner: {} };
+ bidRequests[1].mediaTypes = { banner: {} };
+ const requests = spec.buildRequests(bidRequests);
+ expect(requests.method).to.equal('GET');
+ });
+ it('must parse bid size from a nested array', () => {
+ const width = 640;
+ const height = 480;
+ const bidRequest = bidRequests[0];
+ bidRequest.mediaTypes = { banner: {sizes: [[ width, height ]]} };
+ const requests = spec.buildRequests([ bidRequest ]);
+ const data = {};
+ data['2c5e8a1a84522d'] = { mediaTypes: BANNER, w: width, h: height };
+ expect(requests.bids['2c5e8a1a84522d']).to.deep.equal(data['2c5e8a1a84522d']);
+ });
+ });
+ describe('for video bids', () => {
+ it('must handle an empty bid size', () => {
+ bidRequests[1].mediaTypes = { video: {} };
+ const requests = spec.buildRequests(bidRequests);
+ const bidRequest = {};
+ bidRequest['23a01e95856577'] = { mediaTypes: VIDEO, w: null, h: null };
+ expect(requests.bids['23a01e95856577']).to.deep.equals(bidRequest['23a01e95856577']);
+ });
+
+ it('should create a GET request for each bid', () => {
+ const bidRequest = bidRequests[1];
+ const requests = spec.buildRequests([ bidRequest ]);
+ expect(requests.method).to.equal('GET');
+ });
+ });
+ });
+
+ describe('spec.interpretResponse', () => {
+ describe('for video bids', () => {
+ it('should return no bids if the response is not valid', () => {
+ const bidRequest = bidRequests[0];
+ bidRequest.mediaTypes = { video: {} };
+ const bidResponse = spec.interpretResponse({ body: null }, { bidRequest });
+ expect(bidResponse.length).to.equal(0);
+ });
+
+ it('should return a valid video bid response', () => {
+ const ebdrReq = {bids: {}};
+ bidRequests.forEach(bid => {
+ let _mediaTypes = (bid.mediaTypes && bid.mediaTypes.video ? VIDEO : BANNER);
+ ebdrReq.bids[bid.bidId] = {mediaTypes: _mediaTypes,
+ w: _mediaTypes == BANNER ? bid.mediaTypes[_mediaTypes].sizes[0][0] : bid.mediaTypes[_mediaTypes].playerSize[0],
+ h: _mediaTypes == BANNER ? bid.mediaTypes[_mediaTypes].sizes[0][1] : bid.mediaTypes[_mediaTypes].playerSize[1]
+ };
+ });
+ const serverResponse = {id: '1d0c4017f02458', seatbid: [{bid: [{id: '23a01e95856577', impid: '23a01e95856577', price: 0.81, adid: 'abcde-12345', nurl: 'https://cdn0.bnmla.com/vtest.xml', adm: '\nStatic VAST Static VAST Tag 00:00:15 http://www.engagebdr.com/ c ', adomain: ['advertiserdomain.com'], iurl: '', cid: 'campaign1', crid: 'abcde-12345', w: 300, h: 250}], seat: '19513bcfca8006'}], bidid: '19513bcfca8006', cur: 'USD'};
+ const bidResponse = spec.interpretResponse({ body: serverResponse }, ebdrReq);
+ expect(bidResponse[0]).to.deep.equal({
+ requestId: bidRequests[1].bidId,
+ vastXml: serverResponse.seatbid[0].bid[0].adm,
+ mediaType: 'video',
+ creativeId: serverResponse.seatbid[0].bid[0].crid,
+ cpm: serverResponse.seatbid[0].bid[0].price,
+ width: serverResponse.seatbid[0].bid[0].w,
+ height: serverResponse.seatbid[0].bid[0].h,
+ currency: 'USD',
+ netRevenue: true,
+ ttl: 3600,
+ vastUrl: serverResponse.seatbid[0].bid[0].nurl
+ });
+ });
+ });
+
+ describe('for banner bids', () => {
+ it('should return no bids if the response is not valid', () => {
+ const bidRequest = bidRequests[0];
+ bidRequest.mediaTypes = { banner: {} };
+ const bidResponse = spec.interpretResponse({ body: null }, { bidRequest });
+ expect(bidResponse.length).to.equal(0);
+ });
+
+ it('should return no bids if the response is empty', () => {
+ const bidRequest = bidRequests[0];
+ bidRequest.mediaTypes = { banner: {} };
+ const bidResponse = spec.interpretResponse({ body: [] }, { bidRequest });
+ expect(bidResponse.length).to.equal(0);
+ });
+
+ it('should return valid banner bid responses', () => {
+ const ebdrReq = {bids: {}};
+ bidRequests.forEach(bid => {
+ let _mediaTypes = (bid.mediaTypes && bid.mediaTypes.video ? VIDEO : BANNER);
+ ebdrReq.bids[bid.bidId] = {mediaTypes: _mediaTypes,
+ w: _mediaTypes == BANNER ? bid.mediaTypes[_mediaTypes].sizes[0][0] : bid.mediaTypes[_mediaTypes].playerSize[0],
+ h: _mediaTypes == BANNER ? bid.mediaTypes[_mediaTypes].sizes[0][1] : bid.mediaTypes[_mediaTypes].playerSize[1]
+ };
+ });
+ const serverResponse = {id: '1d0c4017f02458', seatbid: [{bid: [{id: '2c5e8a1a84522d', impid: '2c5e8a1a84522d', price: 0.81, adid: 'abcde-12345', nurl: '', adm: ' ', adomain: ['advertiserdomain.com'], iurl: '', cid: 'campaign1', crid: 'abcde-12345', w: 300, h: 250}], seat: '19513bcfca8006'}], bidid: '19513bcfca8006', cur: 'USD', w: 300, h: 250};
+ const bidResponse = spec.interpretResponse({ body: serverResponse }, ebdrReq);
+ expect(bidResponse[0]).to.deep.equal({
+ requestId: bidRequests[ 0 ].bidId,
+ ad: serverResponse.seatbid[0].bid[0].adm,
+ mediaType: 'banner',
+ creativeId: serverResponse.seatbid[0].bid[0].crid,
+ cpm: serverResponse.seatbid[0].bid[0].price,
+ width: serverResponse.seatbid[0].bid[0].w,
+ height: serverResponse.seatbid[0].bid[0].h,
+ currency: 'USD',
+ netRevenue: true,
+ ttl: 3600
+ });
+ });
+ });
+ });
+});
From a34dbe2bf8206ebdaca19bc87e4d36cbdb803444 Mon Sep 17 00:00:00 2001
From: John Salis
Date: Thu, 29 Mar 2018 12:26:16 -0400
Subject: [PATCH 013/171] Add video targeting to Beachfront adapter (#2321)
* Update Beachfront adapter for v1.0
* Revert Beachfront test endpoint
* Add Beachfront markdown file
* Add mediaTypes to example
* Fix formatting
* Remove descriptionUrl from bid response
* Add banner support to Beachfront adapter
* Fix bid response validation
* Update display endpoint
* Update display request and response to support multiple bids
* Remove console log
* Added display example to doc
* Add support for dnt
* add os version to bid request
* Use size from bid response
* Add secure to bid request
* Added display example to doc
* fix conflict
* Add bidder param for mime types
* Bump adapter version
* Update test cases
* Add mimes param to example
---
modules/beachfrontBidAdapter.js | 32 +++++++++++++++----
modules/beachfrontBidAdapter.md | 5 ++-
.../spec/modules/beachfrontBidAdapter_spec.js | 25 +++++++++++----
3 files changed, 48 insertions(+), 14 deletions(-)
diff --git a/modules/beachfrontBidAdapter.js b/modules/beachfrontBidAdapter.js
index 20d85ac0b22..ee46195b766 100644
--- a/modules/beachfrontBidAdapter.js
+++ b/modules/beachfrontBidAdapter.js
@@ -2,13 +2,17 @@ import * as utils from 'src/utils';
import { registerBidder } from 'src/adapters/bidderFactory';
import { VIDEO, BANNER } from 'src/mediaTypes';
import find from 'core-js/library/fn/array/find';
+import includes from 'core-js/library/fn/array/includes';
-const ADAPTER_VERSION = '1.0';
+const ADAPTER_VERSION = '1.1';
const ADAPTER_NAME = 'BFIO_PREBID';
export const VIDEO_ENDPOINT = '//reachms.bfmio.com/bid.json?exchange_id=';
export const BANNER_ENDPOINT = '//display.bfmio.com/prebid_display';
+export const VIDEO_TARGETING = ['mimes'];
+export const DEFAULT_MIMES = ['video/mp4', 'application/javascript'];
+
export const spec = {
code: 'beachfront',
supportedMediaTypes: [ VIDEO, BANNER ],
@@ -139,8 +143,18 @@ function isVideoBid(bid) {
return bid.mediaTypes && bid.mediaTypes.video;
}
+function getVideoParams(bid) {
+ return Object.keys(Object(bid.params.video))
+ .filter(param => includes(VIDEO_TARGETING, param))
+ .reduce((obj, param) => {
+ obj[ param ] = bid.params.video[ param ];
+ return obj;
+ }, {});
+}
+
function createVideoRequestData(bid) {
let size = getFirstSize(bid);
+ let video = getVideoParams(bid);
let topLocation = utils.getTopWindowLocation();
return {
isPrebid: true,
@@ -148,18 +162,24 @@ function createVideoRequestData(bid) {
domain: document.location.hostname,
id: utils.getUniqueIdentifierStr(),
imp: [{
- video: {
+ video: Object.assign({
w: size.w,
- h: size.h
- },
- bidfloor: bid.params.bidfloor
+ h: size.h,
+ mimes: DEFAULT_MIMES
+ }, video),
+ bidfloor: bid.params.bidfloor,
+ secure: topLocation.protocol === 'https:' ? 1 : 0
}],
site: {
- page: topLocation.host
+ page: topLocation.href,
+ domain: topLocation.hostname
},
device: {
ua: navigator.userAgent,
+ language: navigator.language,
devicetype: isMobile() ? 1 : isConnectedTV() ? 3 : 2,
+ dnt: getDoNotTrack() ? 1 : 0,
+ js: 1,
geo: {}
},
cur: ['USD']
diff --git a/modules/beachfrontBidAdapter.md b/modules/beachfrontBidAdapter.md
index 3ea52c14ab0..6e50737dd98 100644
--- a/modules/beachfrontBidAdapter.md
+++ b/modules/beachfrontBidAdapter.md
@@ -26,7 +26,10 @@ Module that connects to Beachfront's demand sources
bidder: 'beachfront',
params: {
bidfloor: 0.01,
- appId: '11bc5dd5-7421-4dd8-c926-40fa653bec76'
+ appId: '11bc5dd5-7421-4dd8-c926-40fa653bec76',
+ video: {
+ mimes: ['video/mp4', 'application/javascript']
+ }
}
}
]
diff --git a/test/spec/modules/beachfrontBidAdapter_spec.js b/test/spec/modules/beachfrontBidAdapter_spec.js
index 24b97306388..9ca375d7e20 100644
--- a/test/spec/modules/beachfrontBidAdapter_spec.js
+++ b/test/spec/modules/beachfrontBidAdapter_spec.js
@@ -1,5 +1,5 @@
import { expect } from 'chai';
-import { spec, VIDEO_ENDPOINT, BANNER_ENDPOINT } from 'modules/beachfrontBidAdapter';
+import { spec, VIDEO_ENDPOINT, BANNER_ENDPOINT, DEFAULT_MIMES } from 'modules/beachfrontBidAdapter';
import * as utils from 'src/utils';
describe('BeachfrontAdapter', () => {
@@ -91,14 +91,15 @@ describe('BeachfrontAdapter', () => {
const requests = spec.buildRequests([ bidRequest ]);
const data = requests[0].data;
const [ width, height ] = bidRequest.sizes;
+ const topLocation = utils.getTopWindowLocation();
expect(data.isPrebid).to.equal(true);
expect(data.appId).to.equal(bidRequest.params.appId);
expect(data.domain).to.equal(document.location.hostname);
expect(data.id).to.be.a('string');
- expect(data.imp[0].video).to.deep.equal({ w: width, h: height });
+ expect(data.imp[0].video).to.deep.contain({ w: width, h: height, mimes: DEFAULT_MIMES });
expect(data.imp[0].bidfloor).to.equal(bidRequest.params.bidfloor);
- expect(data.site).to.deep.equal({ page: utils.getTopWindowLocation().host });
- expect(data.device).to.deep.contain({ ua: navigator.userAgent });
+ expect(data.site).to.deep.equal({ page: topLocation.href, domain: topLocation.hostname });
+ expect(data.device).to.deep.contain({ ua: navigator.userAgent, language: navigator.language, js: 1 });
expect(data.cur).to.deep.equal(['USD']);
});
@@ -110,7 +111,7 @@ describe('BeachfrontAdapter', () => {
bidRequest.mediaTypes = { video: {} };
const requests = spec.buildRequests([ bidRequest ]);
const data = requests[0].data;
- expect(data.imp[0].video).to.deep.equal({ w: width, h: height });
+ expect(data.imp[0].video).to.deep.contain({ w: width, h: height });
});
it('must parse bid size from a string', () => {
@@ -121,7 +122,7 @@ describe('BeachfrontAdapter', () => {
bidRequest.mediaTypes = { video: {} };
const requests = spec.buildRequests([ bidRequest ]);
const data = requests[0].data;
- expect(data.imp[0].video).to.deep.equal({ w: width, h: height });
+ expect(data.imp[0].video).to.deep.contain({ w: width, h: height });
});
it('must handle an empty bid size', () => {
@@ -130,7 +131,17 @@ describe('BeachfrontAdapter', () => {
bidRequest.mediaTypes = { video: {} };
const requests = spec.buildRequests([ bidRequest ]);
const data = requests[0].data;
- expect(data.imp[0].video).to.deep.equal({ w: undefined, h: undefined });
+ expect(data.imp[0].video).to.deep.contain({ w: undefined, h: undefined });
+ });
+
+ it('must override video targeting params', () => {
+ const bidRequest = bidRequests[0];
+ const mimes = ['video/webm'];
+ bidRequest.mediaTypes = { video: {} };
+ bidRequest.params.video = { mimes };
+ const requests = spec.buildRequests([ bidRequest ]);
+ const data = requests[0].data;
+ expect(data.imp[0].video).to.deep.contain({ mimes });
});
});
From 7407a44fa8408c8c59a0638aefd77863f91d0cf4 Mon Sep 17 00:00:00 2001
From: varashellov
Date: Fri, 30 Mar 2018 19:27:46 +0300
Subject: [PATCH 014/171] Platform.io video support (#2318)
* Add PlatformioBidAdapter
* Update platformioBidAdapter.js
* Add files via upload
* Update hello_world.html
* Update platformioBidAdapter.js
* Update platformioBidAdapter_spec.js
* Update hello_world.html
* Update platformioBidAdapter_spec.js
* Update platformioBidAdapter.js
* Update hello_world.html
* Add files via upload
* Update platformioBidAdapter
## Type of change
- [x] Other
## Description of change
1. RequestURL changes
2. Add placementCode to request params
* Update platformioBidAdapter
* Update platformioBidAdapter
## Type of change
- [x] Other
## Description of change
1. RequestURL changes
2. Add placementCode to request params
* Add files via upload
* Add files via upload
* Add files via upload
* Update platformioBidAdapter.js
Endpoint URL change
* Update platformioBidAdapter_spec.js
Endpoint URL change
* Update platformioBidAdapter_spec.js
* Update platformioBidAdapter_spec.js
* Update platformioBidAdapter.js
* Update platformioBidAdapter.js
* Update platformioBidAdapter_spec.js
* Add files via upload
* Add files via upload
* Add files via upload
* Add files via upload
* Add files via upload
* Add files via upload
* Update platformioBidAdapter.js
* Update platformioBidAdapter_spec.js
* Add files via upload
* Add files via upload
* Add files via upload
* Add files via upload
* Update platformioBidAdapter_spec.js
* Update platformioBidAdapter.js
* Update platformioBidAdapter.md
* Add files via upload
* Add files via upload
* Add files via upload
* Update platformioBidAdapter.md
* Update platformioBidAdapter.md
* Update platformioBidAdapter.js
* Update platformioBidAdapter_spec.js
* Update platformioBidAdapter.md
* Add files via upload
* Add files via upload
* Delete hello_world.html
* Add files via upload
---
integrationExamples/gpt/hello_world.html | 194 +++++++++---------
modules/platformioBidAdapter.js | 73 +++++--
modules/platformioBidAdapter.md | 133 +++++++-----
.../spec/modules/platformioBidAdapter_spec.js | 76 ++++++-
4 files changed, 312 insertions(+), 164 deletions(-)
diff --git a/integrationExamples/gpt/hello_world.html b/integrationExamples/gpt/hello_world.html
index be181db21b2..a5949b87c56 100644
--- a/integrationExamples/gpt/hello_world.html
+++ b/integrationExamples/gpt/hello_world.html
@@ -1,98 +1,98 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Prebid.js Test
- Div-1
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Prebid.js Test
+ Div-1
+
+
+
+
\ No newline at end of file
diff --git a/modules/platformioBidAdapter.js b/modules/platformioBidAdapter.js
index 3c53022189f..abb0cf50722 100644
--- a/modules/platformioBidAdapter.js
+++ b/modules/platformioBidAdapter.js
@@ -1,6 +1,7 @@
-
-import {logError, getTopWindowLocation, getTopWindowReferrer} from 'src/utils';
+import * as utils from 'src/utils';
import { registerBidder } from 'src/adapters/bidderFactory';
+import { BANNER, NATIVE, VIDEO } from 'src/mediaTypes';
+import includes from 'core-js/library/fn/array/includes';
const NATIVE_DEFAULTS = {
TITLE_LEN: 100,
@@ -10,10 +11,15 @@ const NATIVE_DEFAULTS = {
ICON_MIN: 50,
};
+const DEFAULT_MIMES = ['video/mp4', 'video/webm', 'application/x-shockwave-flash', 'application/javascript'];
+const VIDEO_TARGETING = ['mimes', 'skippable', 'playback_method', 'protocols', 'api'];
+const DEFAULT_PROTOCOLS = [2, 3, 5, 6];
+const DEFAULT_APIS = [1, 2];
+
export const spec = {
code: 'platformio',
- supportedMediaTypes: ['banner', 'native'],
+ supportedMediaTypes: [BANNER, NATIVE, VIDEO],
isBidRequestValid: bid => (
!!(bid && bid.params && bid.params.pubId && bid.params.siteId)
@@ -69,7 +75,14 @@ function bidResponseAvailable(bidRequest, bidResponse) {
nurl = nurl.replace(/\$(%7B|\{)AUCTION_BID_ID(%7D|\})/gi, bidResponse.bidid);
bid['native']['impressionTrackers'] = [nurl];
bid.mediaType = 'native';
- } else {
+ } else if (idToImpMap[id]['video']) {
+ bid.vastUrl = idToBidMap[id].adm;
+ bid.vastUrl = bid.vastUrl.replace(/\$(%7B|\{)AUCTION_PRICE(%7D|\})/gi, idToBidMap[id].price);
+ bid.crid = idToBidMap[id].crid;
+ bid.width = idToImpMap[id].video.w;
+ bid.height = idToImpMap[id].video.h;
+ bid.mediaType = 'video';
+ } else if (idToImpMap[id]['banner']) {
bid.ad = idToBidMap[id].adm;
bid.ad = bid.ad.replace(/\$(%7B|\{)AUCTION_IMP_ID(%7D|\})/gi, idToBidMap[id].impid);
bid.ad = bid.ad.replace(/\$(%7B|\{)AUCTION_AD_ID(%7D|\})/gi, idToBidMap[id].adid);
@@ -78,6 +91,7 @@ function bidResponseAvailable(bidRequest, bidResponse) {
bid.ad = bid.ad.replace(/\$(%7B|\{)AUCTION_BID_ID(%7D|\})/gi, bidResponse.bidid);
bid.width = idToImpMap[id].banner.w;
bid.height = idToImpMap[id].banner.h;
+ bid.mediaType = 'banner';
}
bids.push(bid);
}
@@ -87,26 +101,53 @@ function bidResponseAvailable(bidRequest, bidResponse) {
function impression(slot) {
return {
id: slot.bidId,
- banner: banner(slot),
+ 'banner': banner(slot),
'native': nativeImpression(slot),
+ 'video': videoImpression(slot),
bidfloor: slot.params.bidFloor || '0.000001',
tagid: slot.params.placementId.toString(),
};
}
+
+function getSizes(slot) {
+ const size = slot.params.size.toUpperCase().split('X');
+ return {
+ width: parseInt(size[0]),
+ height: parseInt(size[1]),
+ };
+}
+
function banner(slot) {
- if (!slot.nativeParams) {
- const size = slot.params.size.toUpperCase().split('X');
- const width = parseInt(size[0]);
- const height = parseInt(size[1]);
+ if (slot.mediaType === 'banner' || utils.deepAccess(slot, 'mediaTypes.banner')) {
+ const sizes = getSizes(slot);
return {
- w: width,
- h: height,
+ w: sizes.width,
+ h: sizes.height,
};
- };
+ }
+ return null;
+}
+
+function videoImpression(slot) {
+ if (slot.mediaType === 'video' || utils.deepAccess(slot, 'mediaTypes.video')) {
+ const sizes = getSizes(slot);
+ const video = {
+ w: sizes.width,
+ h: sizes.height,
+ mimes: DEFAULT_MIMES,
+ protocols: DEFAULT_PROTOCOLS,
+ api: DEFAULT_APIS,
+ };
+ if (slot.params.video) {
+ Object.keys(slot.params.video).filter(param => includes(VIDEO_TARGETING, param)).forEach(param => video[param] = slot.params.video[param]);
+ }
+ return video;
+ }
+ return null;
}
function nativeImpression(slot) {
- if (slot.nativeParams) {
+ if (slot.mediaType === 'native' || utils.deepAccess(slot, 'mediaTypes.native')) {
const assets = [];
addAsset(assets, titleAsset(1, slot.nativeParams.title, NATIVE_DEFAULTS.TITLE_LEN));
addAsset(assets, dataAsset(2, slot.nativeParams.body, 2, NATIVE_DEFAULTS.DESCR_LEN));
@@ -169,11 +210,11 @@ function site(bidderRequest) {
return {
publisher: {
id: pubId.toString(),
- domain: getTopWindowLocation().hostname,
+ domain: utils.getTopWindowLocation().hostname,
},
id: siteId.toString(),
- ref: getTopWindowReferrer(),
- page: getTopWindowLocation().href,
+ ref: utils.getTopWindowReferrer(),
+ page: utils.getTopWindowLocation().href,
}
}
diff --git a/modules/platformioBidAdapter.md b/modules/platformioBidAdapter.md
index 4ef0aa755bf..8233d5cd545 100644
--- a/modules/platformioBidAdapter.md
+++ b/modules/platformioBidAdapter.md
@@ -1,48 +1,85 @@
-# Overview
-
-**Module Name**: Platform.io Bidder Adapter
-**Module Type**: Bidder Adapter
-**Maintainer**: siarhei.kasukhin@platform.io
-
-# Description
-
-Connects to Platform.io demand source to fetch bids.
-Banner and Native formats are supported.
-Please use ```platformio``` as the bidder code.
-
-# Test Parameters
-```
- var adUnits = [{
- code: 'banner-ad-div',
- sizes: [[300, 250]],
- bids: [{
- bidder: 'platformio',
- params: {
- pubId: '29521', // required
- siteId: '26047', // required
- size: '250X250', // required
- placementId: '123', // required
- bidFloor: '0.001'
- }
- }]
- },{
- code: 'native-ad-div',
- sizes: [[1, 1]],
- nativeParams: {
- title: { required: true, len: 75 },
- image: { required: true },
- body: { len: 200 },
- sponsoredBy: { len: 20 },
- icon: { required: false }
- },
- bids: [{
- bidder: 'platformio',
- params: {
- pubId: '29521', // required
- siteId: '26047', // required
- placementId: '123', // required
- bidFloor: '0.001'
- }
- }]
- }];
-```
+# Overview
+
+**Module Name**: Platform.io Bidder Adapter
+**Module Type**: Bidder Adapter
+**Maintainer**: siarhei.kasukhin@platform.io
+
+# Description
+
+Connects to Platform.io demand source to fetch bids.
+Banner, Native, Video formats are supported.
+Please use ```platformio``` as the bidder code.
+
+# Test Parameters
+```
+ var adUnits = [{
+ code: 'dfp-native-div',
+ mediaType: 'native',
+ mediaTypes: {
+ native: {
+ title: {
+ required: true,
+ len: 75
+ },
+ image: {
+ required: true
+ },
+ body: {
+ len: 200
+ },
+ icon: {
+ required: false
+ }
+ }
+ },
+ bids: [{
+ bidder: 'platformio',
+ params: {
+ pubId: '29521',
+ siteId: '26048',
+ placementId: '123',
+ }
+ }]
+ },
+ {
+ code: 'dfp-banner-div',
+ mediaTypes: {
+ banner: {
+ sizes: [
+ [300, 250]
+ ],
+ }
+ },
+ bids: [{
+ bidder: 'platformio',
+ params: {
+ pubId: '29521',
+ siteId: '26049',
+ size: '300X250',
+ placementId: '123',
+ }
+ }]
+ },
+ {
+ code: 'dfp-video-div',
+ sizes: [640, 480],
+ mediaTypes: {
+ video: {
+ context: "instream"
+ }
+ },
+ bids: [{
+ bidder: 'platformio',
+ params: {
+ pubId: '29521',
+ siteId: '26049',
+ size: '640X480',
+ placementId: '123',
+ video: {
+ skippable: true,
+ }
+ }
+ }]
+ }
+ ];
+```
diff --git a/test/spec/modules/platformioBidAdapter_spec.js b/test/spec/modules/platformioBidAdapter_spec.js
index c69a31f1ec5..c9954d4531a 100644
--- a/test/spec/modules/platformioBidAdapter_spec.js
+++ b/test/spec/modules/platformioBidAdapter_spec.js
@@ -1,4 +1,3 @@
-
import {expect} from 'chai';
import {spec} from 'modules/platformioBidAdapter';
import {getTopWindowLocation} from 'src/utils';
@@ -8,6 +7,7 @@ describe('Platform.io Adapter Tests', () => {
const slotConfigs = [{
placementCode: '/DfpAccount1/slot1',
bidId: 'bid12345',
+ mediaType: 'banner',
params: {
pubId: '29521',
siteId: '26047',
@@ -18,6 +18,7 @@ describe('Platform.io Adapter Tests', () => {
}, {
placementCode: '/DfpAccount2/slot2',
bidId: 'bid23456',
+ mediaType: 'banner',
params: {
pubId: '29521',
siteId: '26047',
@@ -29,6 +30,7 @@ describe('Platform.io Adapter Tests', () => {
const nativeSlotConfig = [{
placementCode: '/DfpAccount1/slot3',
bidId: 'bid12345',
+ mediaType: 'native',
nativeParams: {
title: { required: true, len: 200 },
body: {},
@@ -42,6 +44,20 @@ describe('Platform.io Adapter Tests', () => {
siteId: '26047'
}
}];
+ const videoSlotConfig = [{
+ placementCode: '/DfpAccount1/slot4',
+ bidId: 'bid12345678',
+ mediaType: 'video',
+ video: {
+ skippable: true
+ },
+ params: {
+ pubId: '29521',
+ placementId: '1234567',
+ siteId: '26047',
+ size: '640x480'
+ }
+ }];
it('Verify build request', () => {
const request = spec.buildRequests(slotConfigs);
@@ -111,7 +127,7 @@ describe('Platform.io Adapter Tests', () => {
expect(request.url).to.equal('//piohbdisp.hb.adx1.com/');
expect(request.method).to.equal('POST');
const ortbRequest = JSON.parse(request.data);
- // // native impression
+ // native impression
expect(ortbRequest.imp[0].tagid).to.equal('123');
const nativePart = ortbRequest.imp[0]['native'];
expect(nativePart).to.not.equal(null);
@@ -194,18 +210,72 @@ describe('Platform.io Adapter Tests', () => {
expect(nativeBid.impressionTrackers[0]).to.equal('http://rtb.adx1.com/log');
});
+ it('Verify Video request', () => {
+ const request = spec.buildRequests(videoSlotConfig);
+ expect(request.url).to.equal('//piohbdisp.hb.adx1.com/');
+ expect(request.method).to.equal('POST');
+ const videoRequest = JSON.parse(request.data);
+ // site object
+ expect(videoRequest.site).to.not.equal(null);
+ expect(videoRequest.site.publisher.id).to.equal('29521');
+ expect(videoRequest.site.ref).to.equal(window.top.document.referrer);
+ expect(videoRequest.site.page).to.equal(getTopWindowLocation().href);
+ // device object
+ expect(videoRequest.device).to.not.equal(null);
+ expect(videoRequest.device.ua).to.equal(navigator.userAgent);
+ // slot 1
+ expect(videoRequest.imp[0].tagid).to.equal('1234567');
+ expect(videoRequest.imp[0].video).to.not.equal(null);
+ expect(videoRequest.imp[0].video.w).to.equal(640);
+ expect(videoRequest.imp[0].video.h).to.equal(480);
+ expect(videoRequest.imp[0].banner).to.equal(null);
+ expect(videoRequest.imp[0].native).to.equal(null);
+ });
+
+ it('Verify parse video response', () => {
+ const request = spec.buildRequests(videoSlotConfig);
+ const videoRequest = JSON.parse(request.data);
+ const videoResponse = {
+ seatbid: [{
+ bid: [{
+ impid: videoRequest.imp[0].id,
+ price: 1.90,
+ adm: 'http://vid.example.com/9876',
+ crid: '510511_754567308'
+ }]
+ }],
+ cur: 'USD'
+ };
+ const bids = spec.interpretResponse({ body: videoResponse }, request);
+ expect(bids).to.have.lengthOf(1);
+ // verify first bid
+ const bid = bids[0];
+ expect(bid.cpm).to.equal(1.90);
+ expect(bid.vastUrl).to.equal('http://vid.example.com/9876');
+ expect(bid.crid).to.equal('510511_754567308');
+ expect(bid.width).to.equal(640);
+ expect(bid.height).to.equal(480);
+ expect(bid.adId).to.equal('bid12345678');
+ expect(bid.netRevenue).to.equal(true);
+ expect(bid.currency).to.equal('USD');
+ expect(bid.ttl).to.equal(360);
+ });
+
it('Verifies bidder code', () => {
expect(spec.code).to.equal('platformio');
});
it('Verifies supported media types', () => {
- expect(spec.supportedMediaTypes).to.have.lengthOf(2);
+ expect(spec.supportedMediaTypes).to.have.lengthOf(3);
expect(spec.supportedMediaTypes[0]).to.equal('banner');
expect(spec.supportedMediaTypes[1]).to.equal('native');
+ expect(spec.supportedMediaTypes[2]).to.equal('video');
});
it('Verifies if bid request valid', () => {
expect(spec.isBidRequestValid(slotConfigs[0])).to.equal(true);
expect(spec.isBidRequestValid(slotConfigs[1])).to.equal(true);
+ expect(spec.isBidRequestValid(nativeSlotConfig[0])).to.equal(true);
+ expect(spec.isBidRequestValid(videoSlotConfig[0])).to.equal(true);
});
});
From e6d1fa81f3280633745a6c038274742ef746dc87 Mon Sep 17 00:00:00 2001
From: Matt Kendall <1870166+mkendall07@users.noreply.github.com>
Date: Fri, 30 Mar 2018 19:38:47 -0400
Subject: [PATCH 015/171] Fixes #2258 - cpm bucketing error (#2305)
* Fixes #2258 - cpm bucketing error
* dealing with imprecise decimal/binary conversions in getCpmTarget()
* just added a comment
---
src/cpmBucketManager.js | 19 ++++++++++++-------
test/spec/cpmBucketManager_spec.js | 23 +++++++++++++++++++++++
2 files changed, 35 insertions(+), 7 deletions(-)
diff --git a/src/cpmBucketManager.js b/src/cpmBucketManager.js
index 0061d35f483..c2250838bcb 100644
--- a/src/cpmBucketManager.js
+++ b/src/cpmBucketManager.js
@@ -100,7 +100,7 @@ function getCpmStringValue(cpm, config, granularityMultiplier) {
}
});
if (bucket) {
- cpmStr = getCpmTarget(cpm, bucket.increment, bucket.precision, granularityMultiplier);
+ cpmStr = getCpmTarget(cpm, bucket, granularityMultiplier);
}
return cpmStr;
}
@@ -118,12 +118,17 @@ function isValidPriceConfig(config) {
return isValid;
}
-function getCpmTarget(cpm, increment, precision, granularityMultiplier) {
- if (typeof precision === 'undefined') {
- precision = _defaultPrecision;
- }
- let bucketSize = 1 / (increment * granularityMultiplier);
- return (Math.floor(cpm * bucketSize) / bucketSize).toFixed(precision);
+function getCpmTarget(cpm, bucket, granularityMultiplier) {
+ const precision = typeof bucket.precision !== 'undefined' ? bucket.precision : _defaultPrecision;
+ const increment = bucket.increment * granularityMultiplier;
+ const bucketMin = bucket.min * granularityMultiplier;
+
+ // start increments at the bucket min and then add bucket min back to arrive at the correct rounding
+ let cpmTarget = ((Math.floor((cpm - bucketMin) / increment)) * increment) + bucketMin;
+ // force to 10 decimal places to deal with imprecise decimal/binary conversions
+ // (for example 0.1 * 3 = 0.30000000000000004)
+ cpmTarget = Number(cpmTarget.toFixed(10));
+ return cpmTarget.toFixed(precision);
}
export { getPriceBucketString, isValidPriceConfig };
diff --git a/test/spec/cpmBucketManager_spec.js b/test/spec/cpmBucketManager_spec.js
index e5e2d03c66c..3d56299ebfd 100644
--- a/test/spec/cpmBucketManager_spec.js
+++ b/test/spec/cpmBucketManager_spec.js
@@ -35,6 +35,29 @@ describe('cpmBucketManager', () => {
expect(JSON.stringify(output)).to.deep.equal(expected);
});
+ it('gets the correct custom bucket strings with irregular increment', () => {
+ let cpm = 14.50908;
+ let customConfig = {
+ 'buckets': [{
+ 'precision': 4,
+ 'min': 0,
+ 'max': 4,
+ 'increment': 0.01,
+ },
+ {
+ 'precision': 4,
+ 'min': 4,
+ 'max': 18,
+ 'increment': 0.3,
+ 'cap': true
+ }
+ ]
+ };
+ let expected = '{"low":"5.00","med":"14.50","high":"14.50","auto":"14.50","dense":"14.50","custom":"14.5000"}';
+ let output = getPriceBucketString(cpm, customConfig);
+ expect(JSON.stringify(output)).to.deep.equal(expected);
+ });
+
it('gets the correct custom bucket strings in non-USD currency', () => {
let cpm = 16.50908 * 110.49;
let customConfig = {
From 0397649764d2ebb0189ca0ebe55f63d6bda8eace Mon Sep 17 00:00:00 2001
From: MIGOdanis
Date: Tue, 3 Apr 2018 02:02:09 +0800
Subject: [PATCH 016/171] Add CLICKFORCE Bid Adapter (updated to new spec)
(#2053)
* Add CLICKFORCE Bid Adapter to modules
* bug fix
* change adapter to Prebid 1.0 spec
* bug fix
* change ENDPOINT_URL
---
modules/clickforceBidAdapter.js | 66 +++++++++++++++++++++++++++++++++
modules/clickforceBidAdapter.md | 31 ++++++++++++++++
2 files changed, 97 insertions(+)
create mode 100644 modules/clickforceBidAdapter.js
create mode 100644 modules/clickforceBidAdapter.md
diff --git a/modules/clickforceBidAdapter.js b/modules/clickforceBidAdapter.js
new file mode 100644
index 00000000000..9267540cb61
--- /dev/null
+++ b/modules/clickforceBidAdapter.js
@@ -0,0 +1,66 @@
+import * as utils from 'src/utils';
+import {registerBidder} from 'src/adapters/bidderFactory';
+
+const BIDDER_CODE = 'clickforce';
+const ENDPOINT_URL = '//ad.doublemax.net/adserver/prebid.json?cb=' + new Date().getTime() + '&hb=1&ver=1.21';
+
+export const spec = {
+ code: BIDDER_CODE,
+
+ /**
+ * Determines whether or not the given bid request is valid.
+ *
+ * @param {BidRequest} bid The bid params to validate.
+ * @return boolean True if this is a valid bid, and false otherwise.
+ */
+ isBidRequestValid: function(bid) {
+ return bid && bid.params && !!bid.params.zone;
+ },
+
+ /**
+ * Make a server request from the list of BidRequests.
+ *
+ * @param {BidRequest[]} validBidRequests - an array of bids
+ * @return ServerRequest Info describing the request to the server.
+ */
+ buildRequests: function(validBidRequests) {
+ const bidParams = [];
+ utils._each(validBidRequests, function(bid) {
+ bidParams.push({
+ z: bid.params.zone,
+ bidId: bid.bidId
+ });
+ });
+ return {
+ method: 'POST',
+ url: ENDPOINT_URL,
+ data: bidParams
+ };
+ },
+
+ /**
+ * Unpack the response from the server into a list of bids.
+ *
+ * @param {*} serverResponse A successful response from the server.
+ * @param {*} bidRequest
+ * @return {Bid[]} An array of bids which were nested inside the server.
+ */
+ interpretResponse: function(serverResponse, bidRequest) {
+ const cfResponses = [];
+ utils._each(serverResponse.body, function(response) {
+ cfResponses.push({
+ requestId: response.requestId,
+ cpm: response.cpm,
+ width: response.width,
+ height: response.height,
+ creativeId: response.creativeId,
+ currency: response.currency,
+ netRevenue: response.netRevenue,
+ ttl: response.ttl,
+ ad: response.tag
+ });
+ });
+ return cfResponses;
+ }
+};
+registerBidder(spec);
diff --git a/modules/clickforceBidAdapter.md b/modules/clickforceBidAdapter.md
new file mode 100644
index 00000000000..912f9132331
--- /dev/null
+++ b/modules/clickforceBidAdapter.md
@@ -0,0 +1,31 @@
+# Overview
+
+```
+Module Name: CLICKFORCE Bid Adapter
+Module Type: Bidder Adapter
+Maintainer: danis@clickforce.com.tw
+```
+
+# Description
+
+You can use this adapter to get a bid from clickforce.
+
+About us : http://www.clickforce.com.tw/en/
+
+It requires adapters to start bidding and no extra setting is needed. If you'd like to apply for placements, please contact:
+
+joey@clickforce.com.tw (MR. Joey)
+
+# Test Parameters
+```
+ var adUnits = [{
+ code: 'banner-ad-div',
+ sizes: [[300, 250]],
+ bids: [{
+ bidder: "clickforce",
+ params: {
+ zone: "6682",
+ }
+ }]
+ }];
+```
From 4bdc91c9d4e875028d87acc5a289915f64ea93d5 Mon Sep 17 00:00:00 2001
From: Vedant Seta
Date: Tue, 3 Apr 2018 01:28:01 +0530
Subject: [PATCH 017/171] Adding onTimeout function in Adapter Spec (#2279)
* timeout bidder spec init
* refactored
* refactored
* test case added for getUserConfiguredParams
* added more test cases
* timeout added as param
* minor changes
* replacing for..of with forEach
* Update utils_spec.js
* trailing spaces removed
---
src/adaptermanager.js | 23 +++++++++++++++++++++++
src/auction.js | 7 ++++++-
src/utils.js | 16 +++++++++++++++-
test/spec/utils_spec.js | 41 +++++++++++++++++++++++++++++++++++++++++
4 files changed, 85 insertions(+), 2 deletions(-)
diff --git a/src/adaptermanager.js b/src/adaptermanager.js
index 6ff2387cca2..0ac8ad46911 100644
--- a/src/adaptermanager.js
+++ b/src/adaptermanager.js
@@ -437,3 +437,26 @@ exports.getBidAdapter = function(bidder) {
exports.setS2STestingModule = function (module) {
s2sTestingModule = module;
};
+
+exports.callTimedOutBidders = function(adUnits, timedOutBidders, cbTimeout) {
+ timedOutBidders = timedOutBidders.map((timedOutBidder) => {
+ // Adding user configured params & timeout to timeout event data
+ timedOutBidder.params = utils.getUserConfiguredParams(adUnits, timedOutBidder.adUnitCode, timedOutBidder.bidder);
+ timedOutBidder.timeout = cbTimeout;
+ return timedOutBidder;
+ });
+ timedOutBidders = utils.groupBy(timedOutBidders, 'bidder');
+
+ Object.keys(timedOutBidders).forEach((bidder) => {
+ try {
+ const adapter = _bidderRegistry[bidder];
+ const spec = adapter.getSpec();
+ if (spec && spec.onTimeout && typeof spec.onTimeout === 'function') {
+ utils.logInfo(`Invoking ${bidder}.onTimeout`);
+ spec.onTimeout(timedOutBidders[bidder]);
+ }
+ } catch (e) {
+ utils.logWarn(`Error calling onTimeout of ${bidder}`);
+ }
+ });
+}
diff --git a/src/auction.js b/src/auction.js
index 78595aaf244..3c9e9bf86f1 100644
--- a/src/auction.js
+++ b/src/auction.js
@@ -114,9 +114,10 @@ export function newAuction({adUnits, adUnitCodes, callback, cbTimeout, labels})
}
if (_callback != null) {
+ let timedOutBidders = [];
if (timedOut) {
utils.logMessage(`Auction ${_auctionId} timedOut`);
- const timedOutBidders = getTimedOutBids(_bidderRequests, _bidsReceived);
+ timedOutBidders = getTimedOutBids(_bidderRequests, _bidsReceived);
if (timedOutBidders.length) {
events.emit(CONSTANTS.EVENTS.BID_TIMEOUT, timedOutBidders);
}
@@ -134,6 +135,10 @@ export function newAuction({adUnits, adUnitCodes, callback, cbTimeout, labels})
} catch (e) {
utils.logError('Error executing bidsBackHandler', null, e);
} finally {
+ // Calling timed out bidders
+ if (timedOutBidders.length) {
+ adaptermanager.callTimedOutBidders(adUnits, timedOutBidders, _timeout);
+ }
// Only automatically sync if the publisher has not chosen to "enableOverride"
let userSyncConfig = config.getConfig('userSync') || {};
if (!userSyncConfig.enableOverride) {
diff --git a/src/utils.js b/src/utils.js
index 5436a4aa167..701fd37115a 100644
--- a/src/utils.js
+++ b/src/utils.js
@@ -846,7 +846,21 @@ export function getBidderRequest(bidRequests, bidder, adUnitCode) {
.filter(bid => bid.bidder === bidder && bid.adUnitCode === adUnitCode).length > 0;
}) || { start: null, auctionId: null };
}
-
+/**
+ * Returns user configured bidder params from adunit
+ * @param {object} adunits
+ * @param {string} adunit code
+ * @param {string} bidder code
+ * @return {Array} user configured param for the given bidder adunit configuration
+ */
+export function getUserConfiguredParams(adUnits, adUnitCode, bidder) {
+ return adUnits
+ .filter(adUnit => adUnit.code === adUnitCode)
+ .map((adUnit) => adUnit.bids)
+ .reduce(flatten, [])
+ .filter((bidderData) => bidderData.bidder === bidder)
+ .map((bidderData) => bidderData.params || {});
+}
/**
* Returns the origin
*/
diff --git a/test/spec/utils_spec.js b/test/spec/utils_spec.js
index 7597e389ee9..12980307272 100755
--- a/test/spec/utils_spec.js
+++ b/test/spec/utils_spec.js
@@ -622,6 +622,47 @@ describe('Utils', function () {
expect(adUnitCopy[0].renderer.render).to.be.a('function');
});
});
+
+ describe('getUserConfiguredParams', () => {
+ const adUnits = [{
+ code: 'adUnit1',
+ bids: [{
+ bidder: 'bidder1',
+ params: {
+ key1: 'value1'
+ }
+ }, {
+ bidder: 'bidder2'
+ }]
+ }];
+
+ it('should return params configured', () => {
+ const output = utils.getUserConfiguredParams(adUnits, 'adUnit1', 'bidder1');
+ const expected = [{
+ key1: 'value1'
+ }];
+ assert.deepEqual(output, expected);
+ });
+
+ it('should return array containting empty object, if bidder present and no params are configured', () => {
+ const output = utils.getUserConfiguredParams(adUnits, 'adUnit1', 'bidder2');
+ const expected = [{}];
+ assert.deepEqual(output, expected);
+ });
+
+ it('should return empty array, if bidder is not present', () => {
+ const output = utils.getUserConfiguredParams(adUnits, 'adUnit1', 'bidder3');
+ const expected = [];
+ assert.deepEqual(output, expected);
+ });
+
+ it('should return empty array, if adUnit is not present', () => {
+ const output = utils.getUserConfiguredParams(adUnits, 'adUnit2', 'bidder3');
+ const expected = [];
+ assert.deepEqual(output, expected);
+ });
+ });
+
describe('getTopWindowLocation', () => {
let sandbox;
From 4930622a2ee192c7782c761ec9b9b1b8f1fa2da8 Mon Sep 17 00:00:00 2001
From: Jaimin Panchal
Date: Mon, 2 Apr 2018 16:15:21 -0400
Subject: [PATCH 018/171] Log error returned by PBS (#2335)
---
modules/prebidServerBidAdapter.js | 3 ++
.../modules/prebidServerBidAdapter_spec.js | 31 +++++++++++++++++++
2 files changed, 34 insertions(+)
diff --git a/modules/prebidServerBidAdapter.js b/modules/prebidServerBidAdapter.js
index ebb630ceb7a..39e3b906b47 100644
--- a/modules/prebidServerBidAdapter.js
+++ b/modules/prebidServerBidAdapter.js
@@ -317,6 +317,9 @@ const LEGACY_PROTOCOL = {
if (bidder.no_cookie) {
doBidderSync(bidder.usersync.type, bidder.usersync.url, bidder.bidder);
}
+ if (bidder.error) {
+ utils.logWarn(`Prebid Server returned error: '${bidder.error}' for ${bidder.bidder}`);
+ }
});
}
diff --git a/test/spec/modules/prebidServerBidAdapter_spec.js b/test/spec/modules/prebidServerBidAdapter_spec.js
index 383c599a133..837b5ca60e8 100644
--- a/test/spec/modules/prebidServerBidAdapter_spec.js
+++ b/test/spec/modules/prebidServerBidAdapter_spec.js
@@ -358,6 +358,15 @@ const RESPONSE_OPENRTB_VIDEO = {
},
};
+const RESPONSE_UNSUPPORTED_BIDDER = {
+ 'tid': '437fbbf5-33f5-487a-8e16-a7112903cfe5',
+ 'status': 'OK',
+ 'bidder_status': [{
+ 'bidder': '33Across',
+ 'error': 'Unsupported bidder'
+ }]
+};
+
describe('S2S Adapter', () => {
let adapter,
addBidResponse = sinon.spy(),
@@ -559,6 +568,7 @@ describe('S2S Adapter', () => {
describe('response handler', () => {
let server;
+ let logWarnSpy;
beforeEach(() => {
server = sinon.fakeServer.create();
@@ -569,6 +579,7 @@ describe('S2S Adapter', () => {
sinon.stub(utils, 'getBidRequest').returns({
bidId: '123'
});
+ logWarnSpy = sinon.spy(utils, 'logWarn');
});
afterEach(() => {
@@ -578,6 +589,7 @@ describe('S2S Adapter', () => {
utils.insertUserSyncIframe.restore();
utils.logError.restore();
cookie.cookieSet.restore();
+ logWarnSpy.restore();
});
// TODO: test dependent on pbjs_api_spec. Needs to be isolated
@@ -810,6 +822,25 @@ describe('S2S Adapter', () => {
expect(response).to.have.property('adId', '123');
expect(response).to.have.property('cpm', 10);
});
+
+ it('should log warning for unsupported bidder', () => {
+ server.respondWith(JSON.stringify(RESPONSE_UNSUPPORTED_BIDDER));
+
+ const s2sConfig = Object.assign({}, CONFIG, {
+ bidders: ['33Across']
+ });
+
+ const _config = {
+ s2sConfig: s2sConfig,
+ }
+
+ config.setConfig(_config);
+ config.setConfig({s2sConfig: CONFIG});
+ adapter.callBids(REQUEST, BID_REQUESTS, addBidResponse, done, ajax);
+ server.respond();
+
+ sinon.assert.calledOnce(logWarnSpy);
+ });
});
describe('s2sConfig', () => {
From a6b42d4d1e5300fb52d342496fb723f2433dfd6f Mon Sep 17 00:00:00 2001
From: jsnellbaker <31102355+jsnellbaker@users.noreply.github.com>
Date: Tue, 3 Apr 2018 09:18:49 -0400
Subject: [PATCH 019/171] Fixes #2276 - video.playerSize and Size Mapping not
working together (#2311)
* initial commit - fix to make playerSize and sizeConfig work
* removed commented from testing
* adding support to use [300, 600] syntax in video.playerSize field
---
src/adaptermanager.js | 15 ++++--
test/spec/unit/core/adapterManager_spec.js | 53 ++++++++++++----------
2 files changed, 41 insertions(+), 27 deletions(-)
diff --git a/src/adaptermanager.js b/src/adaptermanager.js
index 0ac8ad46911..bb638985684 100644
--- a/src/adaptermanager.js
+++ b/src/adaptermanager.js
@@ -216,7 +216,11 @@ exports.makeBidRequests = function(adUnits, auctionStart, auctionId, cbTimeout,
};
exports.checkBidRequestSizes = (adUnits) => {
- Array.prototype.forEach.call(adUnits, adUnit => {
+ function isArrayOfNums(val) {
+ return Array.isArray(val) && val.length === 2 && utils.isInteger(val[0]) && utils.isInteger(val[1]);
+ }
+
+ adUnits.forEach((adUnit) => {
if (adUnit.sizes) {
utils.logWarn('Usage of adUnits.sizes will eventually be deprecated. Please define size dimensions within the corresponding area of the mediaTypes. (eg mediaTypes.banner.sizes).');
}
@@ -235,10 +239,15 @@ exports.checkBidRequestSizes = (adUnits) => {
if (mediaTypes && mediaTypes.video) {
const video = mediaTypes.video;
if (video.playerSize) {
- if (Array.isArray(video.playerSize) && video.playerSize.length === 2 && utils.isInteger(video.playerSize[0]) && utils.isInteger(video.playerSize[1])) {
+ if (Array.isArray(video.playerSize) && video.playerSize.length === 1 && video.playerSize.every(isArrayOfNums)) {
adUnit.sizes = video.playerSize;
+ } else if (isArrayOfNums(video.playerSize)) {
+ let newPlayerSize = [];
+ newPlayerSize.push(video.playerSize);
+ utils.logInfo(`Transforming video.playerSize from ${video.playerSize} to ${newPlayerSize} so it's in the proper format.`);
+ adUnit.sizes = video.playerSize = newPlayerSize;
} else {
- utils.logError('Detected incorrect configuration of mediaTypes.video.playerSize. Please specify only one set of dimensions in a format like: [640, 480]. Removing invalid mediaTypes.video.playerSize property from request.');
+ utils.logError('Detected incorrect configuration of mediaTypes.video.playerSize. Please specify only one set of dimensions in a format like: [[640, 480]]. Removing invalid mediaTypes.video.playerSize property from request.');
delete adUnit.mediaTypes.video.playerSize;
}
}
diff --git a/test/spec/unit/core/adapterManager_spec.js b/test/spec/unit/core/adapterManager_spec.js
index 824d66305b8..d11dfc02c4c 100644
--- a/test/spec/unit/core/adapterManager_spec.js
+++ b/test/spec/unit/core/adapterManager_spec.js
@@ -857,10 +857,15 @@ describe('adapterManager tests', () => {
describe('isValidBidRequest', () => {
describe('positive tests for validating bid request', () => {
- beforeEach(() => {});
+ beforeEach(() => {
+ sinon.stub(utils, 'logInfo');
+ });
- afterEach(() => {});
- it('should main adUnit structure and adUnits.sizes is replaced', () => {
+ afterEach(() => {
+ utils.logInfo.restore();
+ });
+
+ it('should maintain adUnit structure and adUnits.sizes is replaced', () => {
let fullAdUnit = [{
sizes: [[300, 250], [300, 600]],
mediaTypes: {
@@ -868,7 +873,7 @@ describe('adapterManager tests', () => {
sizes: [[300, 250]]
},
video: {
- playerSize: [640, 480]
+ playerSize: [[640, 480]]
},
native: {
image: {
@@ -882,8 +887,8 @@ describe('adapterManager tests', () => {
}
}];
let result = checkBidRequestSizes(fullAdUnit);
- expect(result[0].sizes).to.deep.equal([640, 480]);
- expect(result[0].mediaTypes.video.playerSize).to.deep.equal([640, 480]);
+ expect(result[0].sizes).to.deep.equal([[640, 480]]);
+ expect(result[0].mediaTypes.video.playerSize).to.deep.equal([[640, 480]]);
expect(result[0].mediaTypes.native.image.sizes).to.deep.equal([150, 150]);
expect(result[0].mediaTypes.native.icon.sizes).to.deep.equal([75, 75]);
expect(result[0].mediaTypes.native.image.aspect_ratios).to.deep.equal([140, 140]);
@@ -916,7 +921,7 @@ describe('adapterManager tests', () => {
mediaTypes: {
video: {
context: 'outstream',
- playerSize: [400, 350]
+ playerSize: [[400, 350]]
},
native: {
image: {
@@ -927,8 +932,22 @@ describe('adapterManager tests', () => {
}
}];
result = checkBidRequestSizes(mixedAdUnit);
- expect(result[0].sizes).to.deep.equal([400, 350]);
+ expect(result[0].sizes).to.deep.equal([[400, 350]]);
+ expect(result[0].mediaTypes.video).to.exist;
+
+ let altVideoPlayerSize = [{
+ sizes: [[600, 600]],
+ mediaTypes: {
+ video: {
+ playerSize: [640, 480]
+ }
+ }
+ }];
+ result = checkBidRequestSizes(altVideoPlayerSize);
+ expect(result[0].sizes).to.deep.equal([[640, 480]]);
+ expect(result[0].mediaTypes.video.playerSize).to.deep.equal([[640, 480]]);
expect(result[0].mediaTypes.video).to.exist;
+ sinon.assert.calledOnce(utils.logInfo);
});
});
@@ -959,7 +978,7 @@ describe('adapterManager tests', () => {
sizes: [[600, 600]],
mediaTypes: {
video: {
- playerSize: '600x400'
+ playerSize: ['600x400']
}
}
}];
@@ -973,7 +992,7 @@ describe('adapterManager tests', () => {
sizes: [[600, 600]],
mediaTypes: {
video: {
- playerSize: ['300', '200']
+ playerSize: [['300', '200']]
}
}
}];
@@ -983,20 +1002,6 @@ describe('adapterManager tests', () => {
expect(result[0].mediaTypes.video).to.exist;
sinon.assert.called(utils.logError);
- let badVideo3 = [{
- sizes: [[600, 600]],
- mediaTypes: {
- video: {
- playerSize: [[640, 480]]
- }
- }
- }];
- result = checkBidRequestSizes(badVideo3);
- expect(result[0].sizes).to.deep.equal([[600, 600]]);
- expect(result[0].mediaTypes.video.playerSize).to.be.undefined;
- expect(result[0].mediaTypes.video).to.exist;
- sinon.assert.called(utils.logError);
-
let badNativeImgSize = [{
mediaTypes: {
native: {
From 749e3c426df865e95024982b7ef834ae6a587008 Mon Sep 17 00:00:00 2001
From: jsnellbaker <31102355+jsnellbaker@users.noreply.github.com>
Date: Tue, 3 Apr 2018 12:22:16 -0400
Subject: [PATCH 020/171] fix issue #2315 sizeMapping not working with s2s
requests (#2332)
* initial commit to fix issue #2315
* moved transformHeightWidth function to prebidServerBidAdapter
---
modules/prebidServerBidAdapter.js | 15 +++++++++++
src/adaptermanager.js | 27 ++++++++-----------
.../modules/prebidServerBidAdapter_spec.js | 20 +++-----------
3 files changed, 29 insertions(+), 33 deletions(-)
diff --git a/modules/prebidServerBidAdapter.js b/modules/prebidServerBidAdapter.js
index 39e3b906b47..06e5cff6503 100644
--- a/modules/prebidServerBidAdapter.js
+++ b/modules/prebidServerBidAdapter.js
@@ -266,6 +266,20 @@ function _appendSiteAppDevice(request) {
}
}
+function transformHeightWidth(adUnit) {
+ let sizesObj = [];
+ let sizes = utils.parseSizesInput(adUnit.sizes);
+ sizes.forEach(size => {
+ let heightWidth = size.split('x');
+ let sizeObj = {
+ 'w': parseInt(heightWidth[0]),
+ 'h': parseInt(heightWidth[1])
+ };
+ sizesObj.push(sizeObj);
+ });
+ return sizesObj;
+}
+
/*
* Protocol spec for legacy endpoint
* e.g., https:///v1/auction
@@ -275,6 +289,7 @@ const LEGACY_PROTOCOL = {
buildRequest(s2sBidRequest, adUnits) {
// pbs expects an ad_unit.video attribute if the imp is video
adUnits.forEach(adUnit => {
+ adUnit.sizes = transformHeightWidth(adUnit);
const videoMediaType = utils.deepAccess(adUnit, 'mediaTypes.video');
if (videoMediaType) {
adUnit.video = Object.assign({}, videoMediaType);
diff --git a/src/adaptermanager.js b/src/adaptermanager.js
index bb638985684..58d9c3b79d8 100644
--- a/src/adaptermanager.js
+++ b/src/adaptermanager.js
@@ -94,27 +94,11 @@ function getBids({bidderCode, auctionId, bidderRequestId, adUnits, labels}) {
}, []).reduce(flatten, []).filter(val => val !== '');
}
-function transformHeightWidth(adUnit) {
- let sizesObj = [];
- let sizes = utils.parseSizesInput(adUnit.sizes);
- sizes.forEach(size => {
- let heightWidth = size.split('x');
- let sizeObj = {
- 'w': parseInt(heightWidth[0]),
- 'h': parseInt(heightWidth[1])
- };
- sizesObj.push(sizeObj);
- });
- return sizesObj;
-}
-
function getAdUnitCopyForPrebidServer(adUnits) {
let adaptersServerSide = _s2sConfig.bidders;
let adUnitsCopy = utils.deepClone(adUnits);
adUnitsCopy.forEach((adUnit) => {
- adUnit.sizes = transformHeightWidth(adUnit);
-
// filter out client side bids
adUnit.bids = adUnit.bids.filter((bid) => {
return includes(adaptersServerSide, bid.bidder) && (!doingS2STesting() || bid.finalSource !== s2sTestingModule.CLIENT);
@@ -290,6 +274,17 @@ exports.callBids = (adUnits, bidRequests, addBidResponse, doneCb) => {
const s2sAdapter = _bidderRegistry[_s2sConfig.adapter];
let tid = serverBidRequests[0].tid;
let adUnitsS2SCopy = serverBidRequests[0].adUnitsS2SCopy;
+ adUnitsS2SCopy.forEach((adUnitCopy) => {
+ let validBids = adUnitCopy.bids.filter((bid) => {
+ return serverBidRequests.find(request => {
+ return request.bidderCode === bid.bidder &&
+ request.bids.find((reqBid) => reqBid.adUnitCode === adUnitCopy.code);
+ });
+ });
+ adUnitCopy.bids = validBids;
+ });
+
+ adUnitsS2SCopy = adUnitsS2SCopy.filter(adUnitCopy => adUnitCopy.bids.length > 0);
if (s2sAdapter) {
let s2sBidRequest = {tid, 'ad_units': adUnitsS2SCopy};
diff --git a/test/spec/modules/prebidServerBidAdapter_spec.js b/test/spec/modules/prebidServerBidAdapter_spec.js
index 837b5ca60e8..d525db857bc 100644
--- a/test/spec/modules/prebidServerBidAdapter_spec.js
+++ b/test/spec/modules/prebidServerBidAdapter_spec.js
@@ -27,16 +27,7 @@ const REQUEST = {
'ad_units': [
{
'code': 'div-gpt-ad-1460505748561-0',
- 'sizes': [
- {
- 'w': 300,
- 'h': 250
- },
- {
- 'w': 300,
- 'h': 600
- }
- ],
+ 'sizes': [[300, 250], [300, 600]],
'mediaTypes': {
'banner': {
'sizes': [[ 300, 250 ], [ 300, 300 ]]
@@ -68,7 +59,7 @@ const VIDEO_REQUEST = {
'ad_units': [
{
'code': 'div-gpt-ad-1460505748561-0',
- 'sizes': [{ 'w': 640, 'h': 480 }],
+ 'sizes': [640, 480],
'mediaTypes': {
'video': {
'playerSize': [[ 640, 480 ]],
@@ -103,12 +94,7 @@ const BID_REQUESTS = [
'bid_id': '123',
'adUnitCode': 'div-gpt-ad-1460505748561-0',
'transactionId': '4ef956ad-fd83-406d-bd35-e4bb786ab86c',
- 'sizes': [
- {
- 'w': 300,
- 'h': 250
- }
- ],
+ 'sizes': [300, 250],
'bidId': '259fb43aaa06c1',
'bidderRequestId': '3d1063078dfcc8',
'auctionId': '173afb6d132ba3'
From 61c0beea4a563efecb1b0e663d64c8d10a63e88a Mon Sep 17 00:00:00 2001
From: Justin Grimes
Date: Tue, 3 Apr 2018 12:47:50 -0400
Subject: [PATCH 021/171] InSkin Bid Adapter: add user syncing (#2287)
---
modules/inskinBidAdapter.js | 22 +++++++++++++++++++++-
test/spec/modules/inskinBidAdapter_spec.js | 14 ++++++++++----
2 files changed, 31 insertions(+), 5 deletions(-)
diff --git a/modules/inskinBidAdapter.js b/modules/inskinBidAdapter.js
index 710efc4498c..abd94f71a94 100644
--- a/modules/inskinBidAdapter.js
+++ b/modules/inskinBidAdapter.js
@@ -151,7 +151,27 @@ export const spec = {
},
getUserSyncs: function(syncOptions) {
- return [];
+ const userSyncs = [];
+
+ if (syncOptions.pixelEnabled) {
+ userSyncs.push({
+ type: 'image',
+ url: 'https://e.serverbid.com/udb/9969/match?redir=https%3A%2F%2Fmfad.inskinad.com%2Fudb%2F9874%2Fpool%2Fset%2Fi.gif%3FpoolId%3D9969%26poolKey%3D'
+ });
+ userSyncs.push({
+ type: 'image',
+ url: 'https://ssum.casalemedia.com/usermatchredir?s=185638&cb=https%3A%2F%2Fmfad.inskinad.com%2Fudb%2F9874%2Fsync%2Fi.gif%3FpartnerId%3D1%26userId%3D'
+ });
+ }
+
+ if (syncOptions.iframeEnabled) {
+ userSyncs.push({
+ type: 'iframe',
+ url: 'https://ssum-sec.casalemedia.com/usermatch?s=184665&cb=https%3A%2F%2Fmfad.inskinad.com%2Fudb%2F9874%2Fsync%2Fi.gif%3FpartnerId%3D1%26userId%3D'
+ });
+ }
+
+ return userSyncs;
}
};
diff --git a/test/spec/modules/inskinBidAdapter_spec.js b/test/spec/modules/inskinBidAdapter_spec.js
index ee5064dca5a..f22e6242d53 100644
--- a/test/spec/modules/inskinBidAdapter_spec.js
+++ b/test/spec/modules/inskinBidAdapter_spec.js
@@ -236,18 +236,24 @@ describe('InSkin BidAdapter', () => {
});
});
describe('getUserSyncs', () => {
- let syncOptions = {'iframeEnabled': true};
-
it('handles empty sync options', () => {
let opts = spec.getUserSyncs({});
expect(opts).to.be.empty;
});
- it('should always return empty array', () => {
+ it('should return two sync urls if pixel syncs are enabled', () => {
+ let syncOptions = {'pixelEnabled': true};
let opts = spec.getUserSyncs(syncOptions);
- expect(opts).to.be.empty;
+ expect(opts.length).to.equal(2);
+ });
+
+ it('should return three sync urls if pixel and iframe syncs are enabled', () => {
+ let syncOptions = {'iframeEnabled': true, 'pixelEnabled': true};
+ let opts = spec.getUserSyncs(syncOptions);
+
+ expect(opts.length).to.equal(3);
});
});
});
From f4635450e8147babc4f834a6ec87372eb397b7ea Mon Sep 17 00:00:00 2001
From: jsnellbaker <31102355+jsnellbaker@users.noreply.github.com>
Date: Tue, 3 Apr 2018 12:49:36 -0400
Subject: [PATCH 022/171] Fixes issue #2327 - getBidLandScapeTargeting not
using adUnitCode argument (#2336)
* initial commit to fix issue 2327
* switched to different include function
---
src/targeting.js | 6 ++++-
test/spec/unit/core/targeting_spec.js | 37 ++++++++++++++++++++++++++-
2 files changed, 41 insertions(+), 2 deletions(-)
diff --git a/src/targeting.js b/src/targeting.js
index 54324265a21..852a45b6bac 100644
--- a/src/targeting.js
+++ b/src/targeting.js
@@ -328,7 +328,11 @@ export function newTargeting(auctionManager) {
});
// populate targeting keys for the remaining bids
return bids.map(bid => {
- if (bid.adserverTargeting) {
+ if (
+ bid.adserverTargeting && adUnitCodes &&
+ ((utils.isArray(adUnitCodes) && includes(adUnitCodes, bid.adUnitCode)) ||
+ (typeof adUnitCodes === 'string' && bid.adUnitCode === adUnitCodes))
+ ) {
return {
[bid.adUnitCode]: getTargetingMap(bid, standardKeys.filter(
key => typeof bid.adserverTargeting[key] !== 'undefined')
diff --git a/test/spec/unit/core/targeting_spec.js b/test/spec/unit/core/targeting_spec.js
index 0954dda6325..c7eb3623e08 100644
--- a/test/spec/unit/core/targeting_spec.js
+++ b/test/spec/unit/core/targeting_spec.js
@@ -66,6 +66,36 @@ const bid2 = {
'ttl': 300
};
+const bid3 = {
+ 'bidderCode': 'rubicon',
+ 'width': '300',
+ 'height': '600',
+ 'statusMessage': 'Bid available',
+ 'adId': '48747745',
+ 'cpm': 0.75,
+ 'ad': 'markup',
+ 'ad_id': '3163950',
+ 'sizeId': '15',
+ 'requestTimestamp': 1454535718610,
+ 'responseTimestamp': 1454535724863,
+ 'timeToRespond': 123,
+ 'pbLg': '0.75',
+ 'pbMg': '0.75',
+ 'pbHg': '0.75',
+ 'adUnitCode': '/123456/header-bid-tag-1',
+ 'bidder': 'rubicon',
+ 'size': '300x600',
+ 'adserverTargeting': {
+ 'hb_bidder': 'rubicon',
+ 'hb_adid': '48747745',
+ 'hb_pb': '0.75',
+ 'foobar': '300x600'
+ },
+ 'netRevenue': true,
+ 'currency': 'USD',
+ 'ttl': 300
+};
+
describe('targeting tests', () => {
describe('getAllTargeting', () => {
let amBidsReceivedStub;
@@ -75,7 +105,7 @@ describe('targeting tests', () => {
beforeEach(() => {
$$PREBID_GLOBAL$$._sendAllBids = false;
amBidsReceivedStub = sinon.stub(auctionManager, 'getBidsReceived').callsFake(function() {
- return [bid1, bid2];
+ return [bid1, bid2, bid3];
});
amGetAdUnitsStub = sinon.stub(auctionManager, 'getAdUnitCodes').callsFake(function() {
return ['/123456/header-bid-tag-0'];
@@ -92,9 +122,14 @@ describe('targeting tests', () => {
it('selects the top bid when _sendAllBids true', () => {
config.setConfig({ enableSendAllBids: true });
let targeting = targetingInstance.getAllTargeting(['/123456/header-bid-tag-0']);
+
+ // we should only get the targeting data for the one requested adunit
+ expect(Object.keys(targeting).length).to.equal(1);
+
let sendAllBidCpm = Object.keys(targeting['/123456/header-bid-tag-0']).filter(key => key.indexOf('hb_pb_') != -1)
// we shouldn't get more than 1 key for hb_pb_${bidder}
expect(sendAllBidCpm.length).to.equal(1);
+
// expect the winning CPM to be equal to the sendAllBidCPM
expect(targeting['/123456/header-bid-tag-0']['hb_pb_rubicon']).to.deep.equal(targeting['/123456/header-bid-tag-0']['hb_pb']);
});
From d8c2a4890fcb67a42c112f33daef96cd3bf23790 Mon Sep 17 00:00:00 2001
From: jsnellbaker <31102355+jsnellbaker@users.noreply.github.com>
Date: Tue, 3 Apr 2018 12:50:56 -0400
Subject: [PATCH 023/171] initial commit to fix issue #2291 (#2308)
---
modules/dfpAdServerVideo.js | 5 +++--
test/spec/modules/dfpAdServerVideo_spec.js | 20 ++++++++++++++++++++
2 files changed, 23 insertions(+), 2 deletions(-)
diff --git a/modules/dfpAdServerVideo.js b/modules/dfpAdServerVideo.js
index d029c6d07a0..cc285ca4aa7 100644
--- a/modules/dfpAdServerVideo.js
+++ b/modules/dfpAdServerVideo.js
@@ -70,7 +70,7 @@ export default function buildDfpVideoUrl(options) {
if (options.url) {
// when both `url` and `params` are given, parsed url will be overwriten
// with any matching param components
- urlComponents = parse(options.url);
+ urlComponents = parse(options.url, {noDecodeWholeURL: true});
if (isEmpty(options.params)) {
return buildUrlFromAdserverUrlComponents(urlComponents, bid);
@@ -126,7 +126,8 @@ function buildUrlFromAdserverUrlComponents(components, bid) {
const customParams = Object.assign({},
adserverTargeting,
);
- components.search.cust_params = encodeURIComponent(formatQS(customParams));
+ const encodedCustomParams = encodeURIComponent(formatQS(customParams));
+ components.search.cust_params = (components.search.cust_params) ? components.search.cust_params + '%26' + encodedCustomParams : encodedCustomParams;
return buildUrl(components);
}
diff --git a/test/spec/modules/dfpAdServerVideo_spec.js b/test/spec/modules/dfpAdServerVideo_spec.js
index 4cc6f3b93bd..be51953169c 100644
--- a/test/spec/modules/dfpAdServerVideo_spec.js
+++ b/test/spec/modules/dfpAdServerVideo_spec.js
@@ -130,6 +130,26 @@ describe('The DFP video support module', () => {
expect(customParams).to.have.property('my_targeting', 'foo');
});
+ it('should merge the user-provided cust-params with the default ones when using url object', () => {
+ const bidCopy = Object.assign({ }, bid);
+ bidCopy.adserverTargeting = {
+ hb_adid: 'ad_id',
+ };
+
+ const url = parse(buildDfpVideoUrl({
+ adUnit: adUnit,
+ bid: bidCopy,
+ url: 'https://video.adserver.example/ads?sz=640x480&iu=/123/aduniturl&impl=s&cust_params=section%3dblog%26mykey%3dmyvalue'
+ }));
+
+ const queryObject = parseQS(url.query);
+ const customParams = parseQS('?' + decodeURIComponent(queryObject.cust_params));
+
+ expect(customParams).to.have.property('hb_adid', 'ad_id');
+ expect(customParams).to.have.property('section', 'blog');
+ expect(customParams).to.have.property('mykey', 'myvalue');
+ });
+
it('should not overwrite an existing description_url for object input and cache disabled', () => {
const bidCopy = Object.assign({}, bid);
bidCopy.vastUrl = 'vastUrl.example';
From b633478f3100158adc78b4730892d0ee4f73d66e Mon Sep 17 00:00:00 2001
From: Roffray
Date: Tue, 3 Apr 2018 19:46:16 +0200
Subject: [PATCH 024/171] Add: vuble adapter handles dealId (#2322)
* Add: vuble adapter handles dealId
* Fix: new publihser id vuble
---
modules/vubleBidAdapter.js | 1 +
modules/vubleBidAdapter.md | 4 ++--
test/spec/modules/vubleBidAdapter_spec.js | 4 +++-
3 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/modules/vubleBidAdapter.js b/modules/vubleBidAdapter.js
index 764ea293417..a61b80777fc 100644
--- a/modules/vubleBidAdapter.js
+++ b/modules/vubleBidAdapter.js
@@ -100,6 +100,7 @@ export const spec = {
height: bid.data.height,
ttl: TTL,
creativeId: responseBody.creativeId,
+ dealId: responseBody.dealId,
netRevenue: true,
currency: CURRENCIES[bid.data.env],
vastUrl: responseBody.url,
diff --git a/modules/vubleBidAdapter.md b/modules/vubleBidAdapter.md
index 4e066b9dd8a..6bd8d3f779a 100644
--- a/modules/vubleBidAdapter.md
+++ b/modules/vubleBidAdapter.md
@@ -26,7 +26,7 @@ Module that connects to Vuble's demand sources
bidder: "vuble",
params: {
env: 'net',
- pubId: '3',
+ pubId: '18',
zoneId: '12345',
referrer: "http://www.vuble.tv/", // optional
floorPrice: 5.00 // optional
@@ -47,7 +47,7 @@ Module that connects to Vuble's demand sources
bidder: "vuble",
params: {
env: 'net',
- pubId: '3',
+ pubId: '18',
zoneId: '12345',
referrer: "http://www.vuble.tv/", // optional
floorPrice: 5.00 // optional
diff --git a/test/spec/modules/vubleBidAdapter_spec.js b/test/spec/modules/vubleBidAdapter_spec.js
index 4f37d1096fc..61f00ef2c3d 100644
--- a/test/spec/modules/vubleBidAdapter_spec.js
+++ b/test/spec/modules/vubleBidAdapter_spec.js
@@ -174,7 +174,8 @@ describe('VubleAdapter', () => {
status: 'ok',
cpm: 5.00,
creativeId: '2468',
- url: 'https//player.mediabong.net/prebid/ad/a1b2c3d4'
+ url: 'https//player.mediabong.net/prebid/ad/a1b2c3d4',
+ dealId: 'MDB-TEST-1357'
}
};
// bid Request
@@ -200,6 +201,7 @@ describe('VubleAdapter', () => {
height: '360',
ttl: 60,
creativeId: '2468',
+ dealId: 'MDB-TEST-1357',
netRevenue: true,
currency: 'USD',
vastUrl: 'https//player.mediabong.net/prebid/ad/a1b2c3d4',
From f2d15b6382cf70293b6e1f9fe2f514c191027dc1 Mon Sep 17 00:00:00 2001
From: jsnellbaker <31102355+jsnellbaker@users.noreply.github.com>
Date: Tue, 3 Apr 2018 14:08:33 -0400
Subject: [PATCH 025/171] change utils.js unit tests to fix browserstack errors
(#2337)
* alter utils unit tests
* added comment to clarify the change
---
test/spec/utils_spec.js | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/test/spec/utils_spec.js b/test/spec/utils_spec.js
index 12980307272..d44028e7554 100755
--- a/test/spec/utils_spec.js
+++ b/test/spec/utils_spec.js
@@ -1,4 +1,5 @@
import { getAdServerTargeting } from 'test/fixtures/fixtures';
+import { expect } from 'chai';
var assert = require('assert');
var utils = require('src/utils');
@@ -720,10 +721,11 @@ describe('Utils', function () {
expect(topWindowLocation.href).to.equal('https://www.google.com/a/umich.edu/acs');
expect(topWindowLocation.protocol).to.equal('https');
expect(topWindowLocation.hostname).to.equal('www.google.com');
- expect(topWindowLocation.port).to.equal(0);
expect(topWindowLocation.hash).to.equal('');
expect(topWindowLocation.search).to.equal('');
- expect(topWindowLocation.host).to.equal('www.google.com');
+ // note IE11 returns the default secure port, so we look for this alternate value as well in these tests
+ expect(topWindowLocation.port).to.be.oneOf([0, 443]);
+ expect(topWindowLocation.host).to.be.oneOf(['www.google.com', 'www.google.com:443']);
});
it('returns parsed referrer string if in iFrame but no ancestorOrigins', () => {
@@ -740,11 +742,12 @@ describe('Utils', function () {
expect(topWindowLocation.href).to.equal('https://www.example.com/');
expect(topWindowLocation.protocol).to.equal('https');
expect(topWindowLocation.hostname).to.equal('www.example.com');
- expect(topWindowLocation.port).to.equal(0);
expect(topWindowLocation.pathname).to.equal('/');
expect(topWindowLocation.hash).to.equal('');
expect(topWindowLocation.search).to.equal('');
- expect(topWindowLocation.host).to.equal('www.example.com');
+ // note IE11 returns the default secure port, so we look for this alternate value as well in these tests
+ expect(topWindowLocation.port).to.be.oneOf([0, 443]);
+ expect(topWindowLocation.host).to.be.oneOf(['www.example.com', 'www.example.com:443']);
});
});
});
From 3d21e42c220e97e3ce1c649fafd2adde92981814 Mon Sep 17 00:00:00 2001
From: jsnellbaker <31102355+jsnellbaker@users.noreply.github.com>
Date: Tue, 3 Apr 2018 14:55:43 -0400
Subject: [PATCH 026/171] change find method to polyfill version (#2338)
---
src/adaptermanager.js | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/src/adaptermanager.js b/src/adaptermanager.js
index 58d9c3b79d8..cef1635f100 100644
--- a/src/adaptermanager.js
+++ b/src/adaptermanager.js
@@ -7,6 +7,7 @@ import { newBidder } from './adapters/bidderFactory';
import { ajaxBuilder } from 'src/ajax';
import { config, RANDOM } from 'src/config';
import includes from 'core-js/library/fn/array/includes';
+import find from 'core-js/library/fn/array/find';
var utils = require('./utils.js');
var CONSTANTS = require('./constants.json');
@@ -276,9 +277,9 @@ exports.callBids = (adUnits, bidRequests, addBidResponse, doneCb) => {
let adUnitsS2SCopy = serverBidRequests[0].adUnitsS2SCopy;
adUnitsS2SCopy.forEach((adUnitCopy) => {
let validBids = adUnitCopy.bids.filter((bid) => {
- return serverBidRequests.find(request => {
+ return find(serverBidRequests, request => {
return request.bidderCode === bid.bidder &&
- request.bids.find((reqBid) => reqBid.adUnitCode === adUnitCopy.code);
+ find(request.bids, (reqBid) => reqBid.adUnitCode === adUnitCopy.code);
});
});
adUnitCopy.bids = validBids;
From e57969b1a8ef6d67fde6c32503c8576fcae9f973 Mon Sep 17 00:00:00 2001
From: Jason Snellbaker
Date: Tue, 3 Apr 2018 15:42:39 -0400
Subject: [PATCH 027/171] Prebid 1.7.0 Release
---
package.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/package.json b/package.json
index f742753c7ae..99904cc76d0 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "prebid.js",
- "version": "1.7.0-pre",
+ "version": "1.7.0",
"description": "Header Bidding Management Library",
"main": "src/prebid.js",
"scripts": {
From 216f01cf88b752ccf303dd6cd01ca33766327e7a Mon Sep 17 00:00:00 2001
From: Jason Snellbaker
Date: Tue, 3 Apr 2018 15:54:37 -0400
Subject: [PATCH 028/171] Increment pre version
---
package.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/package.json b/package.json
index 99904cc76d0..1c9d1d91edd 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "prebid.js",
- "version": "1.7.0",
+ "version": "1.8.0-pre",
"description": "Header Bidding Management Library",
"main": "src/prebid.js",
"scripts": {
From bd5aaef131b0e9b04b63b27257ae16476ae80e54 Mon Sep 17 00:00:00 2001
From: NLopezMad <22349934+NLopezMad@users.noreply.github.com>
Date: Wed, 4 Apr 2018 21:01:16 +0200
Subject: [PATCH 029/171] New adapter madvertise (#2163)
* New adapter madvertise
* Update madvertiseBidAdapter.js
remove aliases
* Update madvertiseBidAdapter.js
use parseSizesInput method
* fix test parseSizesInput
* fix lint parseSizesInput
* remove seeanAd feature
* remove console.log
---
modules/madvertiseBidAdapter.js | 90 ++++++++++
modules/madvertiseBidAdapter.md | 39 +++++
.../spec/modules/madvertiseBidAdapter_spec.js | 157 ++++++++++++++++++
3 files changed, 286 insertions(+)
create mode 100644 modules/madvertiseBidAdapter.js
create mode 100644 modules/madvertiseBidAdapter.md
create mode 100644 test/spec/modules/madvertiseBidAdapter_spec.js
diff --git a/modules/madvertiseBidAdapter.js b/modules/madvertiseBidAdapter.js
new file mode 100644
index 00000000000..620ab3b7396
--- /dev/null
+++ b/modules/madvertiseBidAdapter.js
@@ -0,0 +1,90 @@
+import * as utils from 'src/utils';
+import {registerBidder} from 'src/adapters/bidderFactory';
+
+// use protocol relative urls for http or https
+const MADVERTISE_ENDPOINT = 'https://mobile.mng-ads.com/';
+
+export const spec = {
+ code: 'madvertise',
+ /**
+ * @param {object} bid
+ * @return boolean
+ */
+ isBidRequestValid: function (bid) {
+ if (typeof bid.params !== 'object') {
+ return false;
+ }
+ let sizes = utils.parseSizesInput(bid.sizes);
+ if (!sizes || sizes.length === 0) {
+ return false;
+ }
+ if (sizes.length > 0 && sizes[0] === undefined) {
+ return false;
+ }
+ if (typeof bid.params.floor == 'undefined' || parseFloat(bid.params.floor) < 0.01) {
+ bid.params.floor = 0.01;
+ }
+
+ return typeof bid.params.s != 'undefined';
+ },
+ /**
+ * @param {BidRequest[]} bidRequests
+ * @return ServerRequest[]
+ */
+ buildRequests: function (bidRequests) {
+ return bidRequests.map(bidRequest => {
+ bidRequest.startTime = new Date().getTime();
+
+ // non-video request builder
+ var src = '?rt=bid_request&v=1.0';
+
+ for (var i = 0; i < bidRequest.sizes.length; i++) {
+ if (Array.isArray(bidRequest.sizes[i]) && bidRequest.sizes[i].length == 2) {
+ src = src + '&sizes[' + i + ']=' + bidRequest.sizes[i][0] + 'x' + bidRequest.sizes[i][1];
+ }
+ }
+
+ utils._each(bidRequest.params, (item, key) => src = src + '&' + key + '=' + item);
+
+ if (typeof bidRequest.params.u == 'undefined') {
+ src = src + '&u=' + navigator.userAgent;
+ }
+
+ return {
+ method: 'GET',
+ url: MADVERTISE_ENDPOINT + src,
+ options: {withCredentials: false},
+ bidId: bidRequest.bidId
+ };
+ });
+ },
+ /**
+ * @param {*} responseObj
+ * @param {BidRequest} bidRequest
+ * @return {Bid[]} An array of bids which
+ */
+ interpretResponse: function (responseObj, bidRequest) {
+ responseObj = responseObj.body;
+ // check overall response
+ if (responseObj == null || typeof responseObj !== 'object' || !responseObj.hasOwnProperty('ad')) {
+ return [];
+ }
+
+ let bid = {
+ requestId: bidRequest.bidId,
+ cpm: responseObj.cpm,
+ width: responseObj.Width,
+ height: responseObj.height,
+ ad: responseObj.ad,
+ ttl: responseObj.ttl,
+ creativeId: responseObj.creativeId,
+ netRevenue: responseObj.netRevenue,
+ currency: responseObj.currency,
+ dealId: responseObj.dealId
+ };
+ return [bid];
+ },
+ getUserSyncs: function (syncOptions) {
+ }
+};
+registerBidder(spec);
diff --git a/modules/madvertiseBidAdapter.md b/modules/madvertiseBidAdapter.md
new file mode 100644
index 00000000000..4576e955cbd
--- /dev/null
+++ b/modules/madvertiseBidAdapter.md
@@ -0,0 +1,39 @@
+# Overview
+
+```
+Module Name: Madvertise Bid Adapter
+Module Type: Bidder Adapter
+Maintainer: support@madvertise.com
+```
+
+# Description
+
+Connect to Madvertise's exchange for bids.
+
+The Madvertise adapter requires setup and approval from the
+Madvertise team. Please reach out to your account team or
+support@madvertise.com for more information.
+
+# Test Parameters
+```
+ var adUnits = [
+ {
+ code: 'test-div',
+ mediaTypes: {
+ banner: {
+ sizes: [
+ [320, 50]
+ ]
+ }
+ },
+ bids: [
+ {
+ bidder: "madvertise",
+ params: {
+ s: "/4543756/prebidadaptor/madvertiseHB"
+ }
+ }
+ ]
+ }
+ ];
+```
diff --git a/test/spec/modules/madvertiseBidAdapter_spec.js b/test/spec/modules/madvertiseBidAdapter_spec.js
new file mode 100644
index 00000000000..64ecf556aa5
--- /dev/null
+++ b/test/spec/modules/madvertiseBidAdapter_spec.js
@@ -0,0 +1,157 @@
+import {expect} from 'chai';
+import {spec} from 'modules/madvertiseBidAdapter';
+
+describe('madvertise adapater', () => {
+ describe('Test validate req', () => {
+ it('should accept minimum valid bid', () => {
+ let bid = {
+ bidder: 'madvertise',
+ sizes: [[728, 90]],
+ params: {
+ s: 'test'
+ }
+ };
+ const isValid = spec.isBidRequestValid(bid);
+
+ expect(isValid).to.equal(true);
+ });
+ it('should reject no sizes', () => {
+ let bid = {
+ bidder: 'madvertise',
+ params: {
+ s: 'test'
+ }
+ };
+ const isValid = spec.isBidRequestValid(bid);
+
+ expect(isValid).to.equal(false);
+ });
+ it('should reject empty sizes', () => {
+ let bid = {
+ bidder: 'madvertise',
+ sizes: [],
+ params: {
+ s: 'test'
+ }
+ };
+ const isValid = spec.isBidRequestValid(bid);
+
+ expect(isValid).to.equal(false);
+ });
+ it('should reject wrong format sizes', () => {
+ let bid = {
+ bidder: 'madvertise',
+ sizes: [['728x90']],
+ params: {
+ s: 'test'
+ }
+ };
+ const isValid = spec.isBidRequestValid(bid);
+ expect(isValid).to.equal(false);
+ });
+ it('should reject no params', () => {
+ let bid = {
+ bidder: 'madvertise',
+ sizes: [[728, 90]]
+ };
+ const isValid = spec.isBidRequestValid(bid);
+
+ expect(isValid).to.equal(false);
+ });
+ it('should reject missing s', () => {
+ let bid = {
+ bidder: 'madvertise',
+ params: {}
+ };
+ const isValid = spec.isBidRequestValid(bid);
+
+ expect(isValid).to.equal(false);
+ });
+ });
+
+ describe('Test build request', () => {
+ it('minimum request', () => {
+ let bid = [{
+ bidder: 'madvertise',
+ sizes: [[728, 90], [300, 100]],
+ bidId: '51ef8751f9aead',
+ adUnitCode: 'div-gpt-ad-1460505748561-0',
+ transactionId: 'd7b773de-ceaa-484d-89ca-d9f51b8d61ec',
+ auctionId: '18fd8b8b0bd757',
+ bidderRequestId: '418b37f85e772c',
+ params: {
+ s: 'test',
+ }
+ }];
+ const req = spec.buildRequests(bid);
+
+ expect(req).to.exist.and.to.be.a('array');
+ expect(req[0]).to.have.property('method');
+ expect(req[0].method).to.equal('GET');
+ expect(req[0]).to.have.property('url');
+ expect(req[0].url).to.contain('//mobile.mng-ads.com/?rt=bid_request&v=1.0').and.to.contain(`&s=test`).and.to.contain(`&sizes[0]=728x90`)
+ });
+ });
+
+ describe('Test interpret response', () => {
+ it('General banner response', () => {
+ let bid = {
+ bidder: 'madvertise',
+ sizes: [[728, 90]],
+ bidId: '51ef8751f9aead',
+ adUnitCode: 'div-gpt-ad-1460505748561-0',
+ transactionId: 'd7b773de-ceaa-484d-89ca-d9f51b8d61ec',
+ auctionId: '18fd8b8b0bd757',
+ bidderRequestId: '418b37f85e772c',
+ params: {
+ s: 'test',
+ connection_type: 'WIFI',
+ age: 25,
+ }
+ };
+ let resp = spec.interpretResponse({body: {
+ requestId: 'REQUEST_ID',
+ cpm: 1,
+ ad: 'I am an ad ',
+ Width: 320,
+ height: 50,
+ creativeId: 'CREATIVE_ID',
+ dealId: 'DEAL_ID',
+ ttl: 180,
+ currency: 'EUR',
+ netRevenue: true
+ }}, {bidId: bid.bidId});
+
+ expect(resp).to.exist.and.to.be.a('array');
+ expect(resp[0]).to.have.property('requestId', bid.bidId);
+ expect(resp[0]).to.have.property('cpm', 1);
+ expect(resp[0]).to.have.property('width', 320);
+ expect(resp[0]).to.have.property('height', 50);
+ expect(resp[0]).to.have.property('ad', 'I am an ad ');
+ expect(resp[0]).to.have.property('ttl', 180);
+ expect(resp[0]).to.have.property('creativeId', 'CREATIVE_ID');
+ expect(resp[0]).to.have.property('netRevenue', true);
+ expect(resp[0]).to.have.property('currency', 'EUR');
+ expect(resp[0]).to.have.property('dealId', 'DEAL_ID');
+ });
+ it('No response', () => {
+ let bid = {
+ bidder: 'madvertise',
+ sizes: [[728, 90]],
+ bidId: '51ef8751f9aead',
+ adUnitCode: 'div-gpt-ad-1460505748561-0',
+ transactionId: 'd7b773de-ceaa-484d-89ca-d9f51b8d61ec',
+ auctionId: '18fd8b8b0bd757',
+ bidderRequestId: '418b37f85e772c',
+ params: {
+ s: 'test',
+ connection_type: 'WIFI',
+ age: 25,
+ }
+ };
+ let resp = spec.interpretResponse({body: null}, {bidId: bid.bidId});
+
+ expect(resp).to.exist.and.to.be.a('array').that.is.empty;
+ });
+ });
+});
From dea95d201c77775bf183b83e51f58731b192b734 Mon Sep 17 00:00:00 2001
From: Denis Logachev
Date: Wed, 4 Apr 2018 22:05:49 +0300
Subject: [PATCH 030/171] Use adUnitCode instead of obsolete placementCode
(#2290)
Complete mediaType config support
Single banner size notation support
Fixed adkernelAdn user-sync parsing
---
modules/adkernelAdnAnalyticsAdapter.js | 2 +-
modules/adkernelAdnBidAdapter.js | 43 +++++++++++--------
modules/adkernelBidAdapter.js | 43 +++++++++++++------
.../adkernelAdnAnalyticsAdapter_spec.js | 2 +-
.../modules/adkernelAdnBidAdapter_spec.js | 31 +++++++++----
test/spec/modules/adkernelBidAdapter_spec.js | 14 +++---
6 files changed, 88 insertions(+), 47 deletions(-)
diff --git a/modules/adkernelAdnAnalyticsAdapter.js b/modules/adkernelAdnAnalyticsAdapter.js
index ab57a84f4b0..25055e9e62d 100644
--- a/modules/adkernelAdnAnalyticsAdapter.js
+++ b/modules/adkernelAdnAnalyticsAdapter.js
@@ -123,7 +123,7 @@ function trackAuctionInit() {
function trackBidRequest(args) {
return args.bids.map(bid =>
- createHbEvent(args.bidderCode, ADK_HB_EVENTS.BID_REQUEST, bid.placementCode));
+ createHbEvent(args.bidderCode, ADK_HB_EVENTS.BID_REQUEST, bid.adUnitCode));
}
function trackBidResponse(args) {
diff --git a/modules/adkernelAdnBidAdapter.js b/modules/adkernelAdnBidAdapter.js
index c02a0cb138f..d99ee023772 100644
--- a/modules/adkernelAdnBidAdapter.js
+++ b/modules/adkernelAdnBidAdapter.js
@@ -1,6 +1,6 @@
import * as utils from 'src/utils';
import {registerBidder} from 'src/adapters/bidderFactory';
-import { BANNER, VIDEO } from 'src/mediaTypes';
+import {BANNER, VIDEO} from 'src/mediaTypes';
import includes from 'core-js/library/fn/array/includes';
const DEFAULT_ADKERNEL_DSP_DOMAIN = 'tag.adkernel.com';
@@ -14,15 +14,21 @@ function isRtbDebugEnabled() {
}
function buildImp(bidRequest) {
- const sizes = bidRequest.sizes;
let imp = {
id: bidRequest.bidId,
- tagid: bidRequest.placementCode
+ tagid: bidRequest.adUnitCode
};
- if (bidRequest.mediaType === 'video' || utils.deepAccess(bidRequest, 'mediaTypes.video')) {
+ if (bidRequest.mediaType === BANNER || utils.deepAccess(bidRequest, `mediaTypes.banner`) ||
+ (bidRequest.mediaTypes === undefined && bidRequest.mediaType === undefined)) {
+ let sizes = canonicalizeSizesArray(utils.deepAccess(bidRequest, `mediaTypes.banner.sizes`) || bidRequest.sizes);
+ imp.banner = {
+ format: utils.parseSizesInput(sizes)
+ }
+ } else if (bidRequest.mediaType === VIDEO || utils.deepAccess(bidRequest, `mediaTypes.video`)) {
+ let size = utils.deepAccess(bidRequest, `mediaTypes.video.playerSize`) || canonicalizeSizesArray(bidRequest.sizes)[0];
imp.video = {
- w: sizes[0],
- h: sizes[1],
+ w: size[0],
+ h: size[1],
mimes: DEFAULT_MIMES,
protocols: DEFAULT_PROTOCOLS,
api: DEFAULT_APIS
@@ -32,14 +38,22 @@ function buildImp(bidRequest) {
.filter(param => includes(VIDEO_TARGETING, param))
.forEach(param => imp.video[param] = bidRequest.params.video[param]);
}
- } else {
- imp.banner = {
- format: utils.parseSizesInput(bidRequest.sizes)
- };
}
return imp;
}
+/**
+ * Convert input array of sizes to canonical form Array[Array[Number]]
+ * @param sizes
+ * @return Array[Array[Number]]
+ */
+function canonicalizeSizesArray(sizes) {
+ if (sizes.length === 2 && !utils.isArray(sizes[0])) {
+ return [sizes];
+ }
+ return sizes;
+}
+
function buildRequestParams(auctionId, transactionId, tags) {
let loc = utils.getTopWindowLocation();
return {
@@ -131,15 +145,10 @@ export const spec = {
if (!syncOptions.iframeEnabled || !serverResponses || serverResponses.length === 0) {
return [];
}
- return serverResponses.filter(rps => 'syncpages' in rps.body)
+ return serverResponses.filter(rps => rps.body && rps.body.syncpages)
.map(rsp => rsp.body.syncpages)
.reduce((a, b) => a.concat(b), [])
- .map(sync_url => {
- return {
- type: 'iframe',
- url: sync_url
- }
- });
+ .map(sync_url => ({type: 'iframe', url: sync_url}));
}
};
diff --git a/modules/adkernelBidAdapter.js b/modules/adkernelBidAdapter.js
index 14cd7f70262..c1df51347e2 100644
--- a/modules/adkernelBidAdapter.js
+++ b/modules/adkernelBidAdapter.js
@@ -7,7 +7,7 @@ import includes from 'core-js/library/fn/array/includes';
const VIDEO_TARGETING = ['mimes', 'minduration', 'maxduration', 'protocols',
'startdelay', 'linearity', 'boxingallowed', 'playbackmethod', 'delivery',
'pos', 'api', 'ext'];
-const VERSION = '1.1';
+const VERSION = '1.2';
/**
* Adapter for requesting bids from AdKernel white-label display platform
@@ -105,25 +105,30 @@ registerBidder(spec);
/**
* Builds parameters object for single impression
*/
-function buildImp(bid) {
- const sizes = bid.sizes;
+function buildImp(bidRequest) {
const imp = {
- 'id': bid.bidId,
- 'tagid': bid.placementCode
+ 'id': bidRequest.bidId,
+ 'tagid': bidRequest.adUnitCode
};
- if (bid.mediaType === 'video') {
- imp.video = {w: sizes[0], h: sizes[1]};
- if (bid.params.video) {
- Object.keys(bid.params.video)
- .filter(param => includes(VIDEO_TARGETING, param))
- .forEach(param => imp.video[param] = bid.params.video[param]);
- }
- } else {
+ if (bidRequest.mediaType === BANNER || utils.deepAccess(bidRequest, `mediaTypes.banner`) ||
+ (bidRequest.mediaTypes === undefined && bidRequest.mediaType === undefined)) {
+ let sizes = canonicalizeSizesArray(utils.deepAccess(bidRequest, `mediaTypes.banner.sizes`) || bidRequest.sizes);
imp.banner = {
format: sizes.map(s => ({'w': s[0], 'h': s[1]})),
topframe: 0
};
+ } else if (bidRequest.mediaType === VIDEO || utils.deepAccess(bidRequest, 'mediaTypes.video')) {
+ let size = utils.deepAccess(bidRequest, 'mediaTypes.video.playerSize') || canonicalizeSizesArray(bidRequest.sizes)[0];
+ imp.video = {
+ w: size[0],
+ h: size[1]
+ };
+ if (bidRequest.params.video) {
+ Object.keys(bidRequest.params.video)
+ .filter(param => includes(VIDEO_TARGETING, param))
+ .forEach(param => imp.video[param] = bidRequest.params.video[param]);
+ }
}
if (utils.getTopWindowLocation().protocol === 'https:') {
imp.secure = 1;
@@ -131,6 +136,18 @@ function buildImp(bid) {
return imp;
}
+/**
+ * Convert input array of sizes to canonical form Array[Array[Number]]
+ * @param sizes
+ * @return Array[Array[Number]]
+ */
+function canonicalizeSizesArray(sizes) {
+ if (sizes.length == 2 && !utils.isArray(sizes[0])) {
+ return [sizes];
+ }
+ return sizes;
+}
+
/**
* Builds complete rtb request
* @param imps collection of impressions
diff --git a/test/spec/modules/adkernelAdnAnalyticsAdapter_spec.js b/test/spec/modules/adkernelAdnAnalyticsAdapter_spec.js
index 33c2cfc1de0..f5d1a5d02f1 100644
--- a/test/spec/modules/adkernelAdnAnalyticsAdapter_spec.js
+++ b/test/spec/modules/adkernelAdnAnalyticsAdapter_spec.js
@@ -154,7 +154,7 @@ describe('', () => {
bids: [{
bidder: 'adapter',
params: {},
- placementCode: 'container-1',
+ adUnitCode: 'container-1',
transactionId: 'de90df62-7fd0-4fbc-8787-92d133a7dc06',
sizes: [[300, 250]],
bidId: '208750227436c1',
diff --git a/test/spec/modules/adkernelAdnBidAdapter_spec.js b/test/spec/modules/adkernelAdnBidAdapter_spec.js
index 88b5dc0d5ee..a7bd959ee8e 100644
--- a/test/spec/modules/adkernelAdnBidAdapter_spec.js
+++ b/test/spec/modules/adkernelAdnBidAdapter_spec.js
@@ -11,7 +11,7 @@ describe('AdkernelAdn adapter', () => {
params: {
pubId: 1
},
- placementCode: 'ad-unit-1',
+ adUnitCode: 'ad-unit-1',
sizes: [[300, 250], [300, 200]]
},
bid2_pub1 = {
@@ -22,8 +22,8 @@ describe('AdkernelAdn adapter', () => {
params: {
pubId: 1
},
- placementCode: 'ad-unit-2',
- sizes: [[300, 250]]
+ adUnitCode: 'ad-unit-2',
+ sizes: [300, 250]
},
bid1_pub2 = {
bidder: 'adkernelAdn',
@@ -34,7 +34,7 @@ describe('AdkernelAdn adapter', () => {
pubId: 7,
host: 'dps-test.com'
},
- placementCode: 'ad-unit-2',
+ adUnitCode: 'ad-unit-2',
sizes: [[728, 90]]
}, bid_video1 = {
bidder: 'adkernelAdn',
@@ -43,7 +43,7 @@ describe('AdkernelAdn adapter', () => {
bidId: 'bidid_4',
mediaType: 'video',
sizes: [640, 300],
- placementCode: 'video_wrapper',
+ adUnitCode: 'video_wrapper',
params: {
pubId: 7,
video: {
@@ -57,9 +57,14 @@ describe('AdkernelAdn adapter', () => {
transactionId: 'transact3',
bidderRequestId: 'req1',
bidId: 'bidid_5',
- mediaTypes: {video: {context: 'instream'}},
- sizes: [640, 300],
- placementCode: 'video_wrapper2',
+ mediaTypes: {
+ video: {
+ playerSize: [1920, 1080],
+ context: 'instream'
+ }
+ },
+
+ adUnitCode: 'video_wrapper2',
params: {
pubId: 7,
video: {
@@ -178,6 +183,12 @@ describe('AdkernelAdn adapter', () => {
expect(tagRequest.imp[0]).to.have.property('tagid', 'video_wrapper');
expect(tagRequest.imp[1]).to.have.property('tagid', 'video_wrapper2');
});
+ it('should have size', () => {
+ expect(tagRequest.imp[0].video).to.have.property('w', 640);
+ expect(tagRequest.imp[0].video).to.have.property('h', 300);
+ expect(tagRequest.imp[1].video).to.have.property('w', 1920);
+ expect(tagRequest.imp[1].video).to.have.property('h', 1080);
+ });
});
describe('requests routing', () => {
@@ -250,5 +261,9 @@ describe('AdkernelAdn adapter', () => {
let resp = spec.interpretResponse({body: usersyncOnlyResponse}, request);
expect(resp).to.have.length(0);
});
+ it('shouldn\' fail in empty response', () => {
+ let syncs = spec.getUserSyncs({iframeEnabled: true}, [{body: ''}]);
+ expect(syncs).to.have.length(0);
+ });
});
});
diff --git a/test/spec/modules/adkernelBidAdapter_spec.js b/test/spec/modules/adkernelBidAdapter_spec.js
index b85c2a5b61b..cef084c7345 100644
--- a/test/spec/modules/adkernelBidAdapter_spec.js
+++ b/test/spec/modules/adkernelBidAdapter_spec.js
@@ -7,37 +7,37 @@ describe('Adkernel adapter', () => {
bidder: 'adkernel',
bidId: 'Bid_01',
params: {zoneId: 1, host: 'rtb.adkernel.com'},
- placementCode: 'ad-unit-1',
+ adUnitCode: 'ad-unit-1',
sizes: [[300, 250], [300, 200]]
}, bid2_zone2 = {
bidder: 'adkernel',
bidId: 'Bid_02',
params: {zoneId: 2, host: 'rtb.adkernel.com'},
- placementCode: 'ad-unit-2',
+ adUnitCode: 'ad-unit-2',
sizes: [[728, 90]]
}, bid3_host2 = {
bidder: 'adkernel',
bidId: 'Bid_02',
params: {zoneId: 1, host: 'rtb-private.adkernel.com'},
- placementCode: 'ad-unit-2',
+ adUnitCode: 'ad-unit-2',
sizes: [[728, 90]]
}, bid_without_zone = {
bidder: 'adkernel',
bidId: 'Bid_W',
params: {host: 'rtb-private.adkernel.com'},
- placementCode: 'ad-unit-1',
+ adUnitCode: 'ad-unit-1',
sizes: [[728, 90]]
}, bid_without_host = {
bidder: 'adkernel',
bidId: 'Bid_W',
params: {zoneId: 1},
- placementCode: 'ad-unit-1',
+ adUnitCode: 'ad-unit-1',
sizes: [[728, 90]]
}, bid_with_wrong_zoneId = {
bidder: 'adkernel',
bidId: 'Bid_02',
params: {zoneId: 'wrong id', host: 'rtb.adkernel.com'},
- placementCode: 'ad-unit-2',
+ adUnitCode: 'ad-unit-2',
sizes: [[728, 90]]
}, bid_video = {
bidder: 'adkernel',
@@ -51,7 +51,7 @@ describe('Adkernel adapter', () => {
mimes: ['video/mp4', 'video/webm', 'video/x-flv']
}
},
- placementCode: 'ad-unit-1'
+ adUnitCode: 'ad-unit-1'
};
const bidResponse1 = {
From b67f5b4ccd8696f5c63248517b5a29cb393d49f5 Mon Sep 17 00:00:00 2001
From: Jaimin Panchal
Date: Wed, 4 Apr 2018 18:01:02 -0400
Subject: [PATCH 031/171] Integrate browserstack with travis (#2349)
* Integrate browserstack with travis
* add local tunnel identifier
* no message
* skip test and indent travis file
* exit tests
---
.travis.yml | 14 +-
browsers.json | 168 --------------------
gulpfile.js | 2 +-
karma.conf.maker.js | 4 +-
test/spec/modules/invibesBidAdapter_spec.js | 2 +-
5 files changed, 12 insertions(+), 178 deletions(-)
diff --git a/.travis.yml b/.travis.yml
index 364d47edf4f..ea2d450816f 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,19 +1,19 @@
sudo: required
-
dist: trusty
-
language: node_js
-
node_js:
- - "7.0"
+ - '7.0'
-# See https://docs.travis-ci.com/user/gui-and-headless-browsers/#Using-the-Chrome-addon-in-the-headless-mode
addons:
- chrome: stable
+ chrome: stable,
+ browserstack:
+ username: "jaiminpanchal1"
+ access_key:
+ secure: "erc01RgZ3dEjhaMv0GCI0Ywi2VRnXEjjoWI+YejwVb44dX59lBqCLgMw1T2p1j4lrsmDRSQHzurYU1LsbS8JZ+swCRyPVyPgRWNGQVRpt7gaHCWNn4TuLALeWHeSLCGNKSjdeIXBEzTug4FTTOIX0RqMZO2qiaxTQ83Wa/kXHYPxOh3kv1ODHJXGbayiMebkhjAoB8OiIicgyW59C8pQF3k6976Q08LgtdSm+1Dnk78d7j/Ss1C5X1MGJNlyiEA0EPqBduuZ8WENaApFoinesGSZaawtLKVBr8S+s1FtEdswXBUsfNogM0P5Wohfj+TnfBIYXxByHzZ9N9oIuX2euiyljM1v0FiI9Z8JHob4aG5WuzdJZxhNXYKMUEFg+aogxiB0ONCdBC1lgtvkf1m8unBVe8nbLynMVt0aN0cCSTgk0v7UcT5r45tCFTKCTJwdVO6yQcY8W0gf2iaATNH5b8Uirb4CRVhddP3N0CSpmgGMeGojEWTeeZlx5UHl6z/TOz1DQyPZ8g0hOA6KAakTYfpmMGkpepMK1iNCwCbN5gHYpL0HmcVMKqLEwwBXQbbTf3b/VmSH7HAllBdtsq8FYxJdHXAH1uH28Cx9UqVVxOjzxZBpxaVBd+H+7Z9ZXpPEW9KdFjPDyzkKzzrR0s1oi1Do1KArzSdqFUpdqb4Xujg="
before_install:
- npm install -g gulp
- google-chrome-stable --headless --disable-gpu --remote-debugging-port=9222 http://localhost &
script:
- - gulp run-tests
+ - gulp test --browserstack
\ No newline at end of file
diff --git a/browsers.json b/browsers.json
index ef3f28e95fa..39f1bd72a68 100644
--- a/browsers.json
+++ b/browsers.json
@@ -30,173 +30,5 @@
"browser_version": "51.0",
"device": null,
"os": "Windows"
- },
- "bs_ie_11_windows_8.1": {
- "base": "BrowserStack",
- "os_version": "8.1",
- "browser": "ie",
- "browser_version": "11.0",
- "device": null,
- "os": "Windows"
- },
- "bs_firefox_56_windows_8.1": {
- "base": "BrowserStack",
- "os_version": "8.1",
- "browser": "firefox",
- "browser_version": "56.0",
- "device": null,
- "os": "Windows"
- },
- "bs_chrome_62_windows_8.1": {
- "base": "BrowserStack",
- "os_version": "8.1",
- "browser": "chrome",
- "browser_version": "62.0",
- "device": null,
- "os": "Windows"
- },
- "bs_firefox_56_windows_8": {
- "base": "BrowserStack",
- "os_version": "8",
- "browser": "firefox",
- "browser_version": "56.0",
- "device": null,
- "os": "Windows"
- },
- "bs_chrome_62_windows_8": {
- "base": "BrowserStack",
- "os_version": "8",
- "browser": "chrome",
- "browser_version": "62.0",
- "device": null,
- "os": "Windows"
- },
- "bs_ie_11_windows_7": {
- "base": "BrowserStack",
- "os_version": "7",
- "browser": "ie",
- "browser_version": "11.0",
- "device": null,
- "os": "Windows"
- },
- "bs_firefox_56_windows_7": {
- "base": "BrowserStack",
- "os_version": "7",
- "browser": "firefox",
- "browser_version": "56.0",
- "device": null,
- "os": "Windows"
- },
- "bs_chrome_62_windows_7": {
- "base": "BrowserStack",
- "os_version": "7",
- "browser": "chrome",
- "browser_version": "62.0",
- "device": null,
- "os": "Windows"
- },
- "bs_chrome_56_mac_sierra": {
- "base": "BrowserStack",
- "os": "OS X",
- "os_version": "Sierra",
- "browser": "chrome",
- "device": null,
- "browser_version": "56.0"
- },
- "bs_safari_9.1_mac_elcapitan": {
- "base": "BrowserStack",
- "os_version": "El Capitan",
- "browser": "safari",
- "browser_version": "9.1",
- "device": null,
- "os": "OS X"
- },
- "bs_firefox_56_mac_elcapitan": {
- "base": "BrowserStack",
- "os_version": "El Capitan",
- "browser": "firefox",
- "browser_version": "56.0",
- "device": null,
- "os": "OS X"
- },
- "bs_chrome_62_mac_elcapitan": {
- "base": "BrowserStack",
- "os_version": "El Capitan",
- "browser": "chrome",
- "browser_version": "62.0",
- "device": null,
- "os": "OS X"
- },
- "bs_safari_8_mac_yosemite": {
- "base": "BrowserStack",
- "os_version": "Yosemite",
- "browser": "safari",
- "browser_version": "8.0",
- "device": null,
- "os": "OS X"
- },
- "bs_firefox_56_mac_yosemite": {
- "base": "BrowserStack",
- "os_version": "Yosemite",
- "browser": "firefox",
- "browser_version": "56.0",
- "device": null,
- "os": "OS X"
- },
- "bs_chrome_62_mac_yosemite": {
- "base": "BrowserStack",
- "os_version": "Yosemite",
- "browser": "chrome",
- "browser_version": "51.0",
- "device": null,
- "os": "OS X"
- },
- "bs_safari_7.1_mac_mavericks": {
- "base": "BrowserStack",
- "os_version": "Mavericks",
- "browser": "safari",
- "browser_version": "7.1",
- "device": null,
- "os": "OS X"
- },
- "bs_firefox_56_mac_mavericks": {
- "base": "BrowserStack",
- "os_version": "Mavericks",
- "browser": "firefox",
- "browser_version": "56.0",
- "device": null,
- "os": "OS X"
- },
- "bs_chrome_49_mac_mavericks": {
- "base": "BrowserStack",
- "os_version": "Mavericks",
- "browser": "chrome",
- "browser_version": "49.0",
- "device": null,
- "os": "OS X"
- },
- "bs_ios_7": {
- "base": "BrowserStack",
- "os": "ios",
- "os_version": "7.0",
- "browser": "iphone",
- "device": "iPhone 5S",
- "browser_version": null
- },
- "bs_ios_8": {
- "base": "BrowserStack",
- "os": "ios",
- "os_version": "8.3",
- "browser": "iphone",
- "device": "iPhone 6",
- "browser_version": null
- },
- "bs_ios_9": {
- "base": "BrowserStack",
- "os": "ios",
- "os_version": "9.1",
- "browser": "iphone",
- "device": "iPhone 6S",
- "browser_version": null
}
}
diff --git a/gulpfile.js b/gulpfile.js
index 0fb4a7e1de0..12a50e40499 100644
--- a/gulpfile.js
+++ b/gulpfile.js
@@ -124,7 +124,7 @@ function newKarmaCallback(done) {
if (exitCode) {
done(new Error('Karma tests failed with exit code ' + exitCode));
} else {
- done();
+ process.exit(0);
}
}
}
diff --git a/karma.conf.maker.js b/karma.conf.maker.js
index 6afb5e4cf13..918046c20f0 100644
--- a/karma.conf.maker.js
+++ b/karma.conf.maker.js
@@ -86,7 +86,9 @@ function setBrowsers(karmaConf, browserstack) {
if (browserstack) {
karmaConf.browserStack = {
username: process.env.BROWSERSTACK_USERNAME,
- accessKey: process.env.BROWSERSTACK_KEY
+ accessKey: process.env.BROWSERSTACK_ACCESS_KEY,
+ startTunnel: false,
+ tunnelIdentifier: process.env.BROWSERSTACK_LOCAL_IDENTIFIER
}
karmaConf.customLaunchers = require('./browsers.json')
karmaConf.browsers = Object.keys(karmaConf.customLaunchers);
diff --git a/test/spec/modules/invibesBidAdapter_spec.js b/test/spec/modules/invibesBidAdapter_spec.js
index 646448bd5a7..1591f4bff43 100644
--- a/test/spec/modules/invibesBidAdapter_spec.js
+++ b/test/spec/modules/invibesBidAdapter_spec.js
@@ -114,7 +114,7 @@ describe('invibesBidAdapter:', function () {
expect(JSON.parse(request.data.bidParamsJson).placementIds).to.contain(bidRequests[1].params.placementId);
});
- it('uses cookies', () => {
+ it.skip('uses cookies', () => {
global.document.cookie = 'ivNoCookie=1';
let request = spec.buildRequests(bidRequests);
expect(request.data.lId).to.be.undefined;
From 229ffa6d255480d51c29008df06ba81b1a1df3fa Mon Sep 17 00:00:00 2001
From: Jaimin Panchal
Date: Thu, 5 Apr 2018 10:57:31 -0400
Subject: [PATCH 032/171] run unit-tests for pr and non-pr (#2358)
* run unit-tests for pr and non-pr
* no message
* no message
---
.travis.yml | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/.travis.yml b/.travis.yml
index ea2d450816f..856010b3287 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -15,5 +15,10 @@ before_install:
- npm install -g gulp
- google-chrome-stable --headless --disable-gpu --remote-debugging-port=9222 http://localhost &
-script:
- - gulp test --browserstack
\ No newline at end of file
+script: |
+ echo ${TRAVIS_PULL_REQUEST}
+ if [[ ${TRAVIS_PULL_REQUEST} == "false" ]]; then
+ gulp test --browserstack
+ else
+ gulp run-tests
+ fi
\ No newline at end of file
From 3dfe8c4c0db5f93b5bb3f0f7c24236ce56fc3da5 Mon Sep 17 00:00:00 2001
From: Matt Kendall <1870166+mkendall07@users.noreply.github.com>
Date: Thu, 5 Apr 2018 13:33:17 -0400
Subject: [PATCH 033/171] test for travis (#2360)
* test for travis
* prefer const
---
src/prebid.js | 13 ++++++-------
1 file changed, 6 insertions(+), 7 deletions(-)
diff --git a/src/prebid.js b/src/prebid.js
index d5ab040e888..48a48d20707 100644
--- a/src/prebid.js
+++ b/src/prebid.js
@@ -11,13 +11,12 @@ import { targeting } from './targeting';
import { createHook } from 'src/hook';
import includes from 'core-js/library/fn/array/includes';
-var $$PREBID_GLOBAL$$ = getGlobal();
-
+const $$PREBID_GLOBAL$$ = getGlobal();
const CONSTANTS = require('./constants.json');
-var utils = require('./utils.js');
-var adaptermanager = require('./adaptermanager');
-var bidfactory = require('./bidfactory');
-var events = require('./events');
+const utils = require('./utils.js');
+const adaptermanager = require('./adaptermanager');
+const bidfactory = require('./bidfactory');
+const events = require('./events');
const { triggerUserSyncs } = userSync;
/* private variables */
@@ -26,7 +25,7 @@ const RENDERED = 'rendered';
const { ADD_AD_UNITS, BID_WON, REQUEST_BIDS, SET_TARGETING, AD_RENDER_FAILED } = CONSTANTS.EVENTS;
const { PREVENT_WRITING_ON_MAIN_DOCUMENT, NO_AD, EXCEPTION, CANNOT_FIND_AD, MISSING_DOC_OR_ADID } = CONSTANTS.AD_RENDER_FAILED_REASON;
-var eventValidators = {
+const eventValidators = {
bidWon: checkDefinedPlacement
};
From 3901a1eeea5735d05c1eaa6189e0d1a8b4a6afd4 Mon Sep 17 00:00:00 2001
From: Igor Tchibirev
Date: Thu, 5 Apr 2018 14:10:33 -0400
Subject: [PATCH 034/171] RealVu Analytics Adapter (#2313)
---
modules/realvuAnalyticsAdapter.js | 945 ++++++++++++++++++
modules/realvuAnalyticsAdapter.md | 9 +
package-lock.json | 2 +-
.../modules/realvuAnalyticsAdapter_spec.js | 163 +++
4 files changed, 1118 insertions(+), 1 deletion(-)
create mode 100644 modules/realvuAnalyticsAdapter.js
create mode 100644 modules/realvuAnalyticsAdapter.md
create mode 100644 test/spec/modules/realvuAnalyticsAdapter_spec.js
diff --git a/modules/realvuAnalyticsAdapter.js b/modules/realvuAnalyticsAdapter.js
new file mode 100644
index 00000000000..7dbb309ea18
--- /dev/null
+++ b/modules/realvuAnalyticsAdapter.js
@@ -0,0 +1,945 @@
+// RealVu Analytics Adapter
+import adapter from 'src/AnalyticsAdapter';
+import adaptermanager from 'src/adaptermanager';
+import CONSTANTS from 'src/constants.json';
+
+const utils = require('src/utils.js');
+
+let realvuAnalyticsAdapter = adapter({
+ global: 'realvuAnalytics',
+ handler: 'on',
+ analyticsType: 'bundle'
+});
+window.top1 = window;
+try {
+ let wnd = window;
+ while ((window.top1 != top) && (typeof (wnd.document) != 'undefined')) {
+ window.top1 = wnd;
+ wnd = wnd.parent;
+ }
+} catch (e) {
+ /* continue regardless of error */
+}
+window.top1.realvu_aa_fifo = window.top1.realvu_aa_fifo || [];
+window.top1.realvu_aa = window.top1.realvu_aa || {
+ ads: [],
+ x1: 0,
+ y1: 0,
+ x2: 0,
+ y2: 0,
+ t0: new Date(),
+ nn: 0,
+ frm: false, // check first if we are inside other domain iframe
+ msg: [],
+ foc: !window.top1.document.hidden, // 1-in, 0-out of focus
+ c: '', // owner id
+ sr: '', //
+ beacons: [], // array of beacons to collect while 'conf' is not responded
+ init: function () {
+ let z = this;
+ let u = navigator.userAgent;
+ z.device = u.match(/iPad|Tablet/gi) ? 'tablet' : u.match(/iPhone|iPod|Android|Opera Mini|IEMobile/gi) ? 'mobile' : 'desktop';
+ if (typeof (z.len) == 'undefined') z.len = 0; // check, meybe too much, just make it len:0,
+ z.ie = navigator.appVersion.match(/MSIE/);
+ z.saf = (u.match(/Safari/) && !u.match(/Chrome/));
+ z.ff = u.match(/Firefox/i);
+ z.cr = (u.match(/Chrome/));
+ z.ope = window.opera;
+ z.fr = 0;
+ if (window.top1 != top) {
+ z.fr = 2;
+ if (typeof window.top1.$sf != 'undefined') {
+ z.fr = 1;
+ }
+ }
+ z.add_evt(window.top1, 'focus', function () {
+ window.top1.realvu_aa.foc = 1; /* window.top1.realvu_aa.log('focus',-1); */
+ });
+ // z.add_evt(window.top1, "scroll", function(){window.top1.realvu_aa.foc=1;window.top1.realvu_aa.log('scroll focus',-1);});
+ z.add_evt(window.top1, 'blur', function () {
+ window.top1.realvu_aa.foc = 0; /* window.top1.realvu_aa.log('blur',-1); */
+ });
+ // + http://www.w3.org/TR/page-visibility/
+ z.add_evt(window.top1.document, 'blur', function () {
+ window.top1.realvu_aa.foc = 0; /* window.top1.realvu_aa.log('blur',-1); */
+ });
+ z.add_evt(window.top1, 'visibilitychange', function () {
+ window.top1.realvu_aa.foc = !window.top1.document.hidden;
+ /* window.top1.realvu_aa.log('vis-ch '+window.top1.realvu_aa.foc,-1); */
+ });
+ // -
+ z.doLog = (window.top1.location.search.match(/boost_log/) || document.referrer.match(/boost_log/)) ? 1 : 0;
+ if (z.doLog) {
+ window.setTimeout(z.scr(window.top1.location.protocol + '//ac.realvu.net/realvu_aa_viz.js'), 500);
+ }
+ },
+
+ add_evt: function (elem, evtType, func) {
+ if (elem.addEventListener) {
+ elem.addEventListener(evtType, func, true);
+ } else if (elem.attachEvent) {
+ elem.attachEvent('on' + evtType, func);
+ } else {
+ elem['on' + evtType] = func;
+ }
+ },
+
+ update: function () {
+ let z = this;
+ let de = window.top1.document.documentElement;
+ z.x1 = window.top1.pageXOffset ? window.top1.pageXOffset : de.scrollLeft;
+ z.y1 = window.top1.pageYOffset ? window.top1.pageYOffset : de.scrollTop;
+ let w1 = window.top1.innerWidth ? window.top1.innerWidth : de.clientWidth;
+ let h1 = window.top1.innerHeight ? window.top1.innerHeight : de.clientHeight;
+ z.x2 = z.x1 + w1;
+ z.y2 = z.y1 + h1;
+ },
+ brd: function (s, p) { // return a board Width, s-element, p={Top,Right,Bottom, Left}
+ let u;
+ if (window.getComputedStyle) u = window.getComputedStyle(s, null);
+ else u = s.style;
+ let a = u['border' + p + 'Width'];
+ return parseInt(a.length > 2 ? a.slice(0, -2) : 0);
+ },
+
+ padd: function (s, p) { // return a board Width, s-element, p={Top,Right,Bottom, Left}
+ let u;
+ if (window.getComputedStyle) u = window.getComputedStyle(s, null);
+ else u = s.style;
+ let a = u['padding' + p];
+ return parseInt(a.length > 2 ? a.slice(0, -2) : 0);
+ },
+
+ viz_area: function (x1, x2, y1, y2) { // coords of Ad
+ if (this.fr == 1) {
+ try {
+ let iv = Math.round(100 * window.top1.$sf.ext.geom().self.iv);
+ return iv;
+ } catch (e) {
+ /* continue regardless of error */
+ }
+ }
+ let xv1 = Math.max(x1, this.x1);
+ let yv1 = Math.max(y1, this.y1);
+ let xv2 = Math.min(x2, this.x2);
+ let yv2 = Math.min(y2, this.y2);
+ let A = Math.round(100 * ((xv2 - xv1) * (yv2 - yv1)) / ((x2 - x1) * (y2 - y1)));
+ return (A > 0) ? A : 0;
+ },
+
+ viz_dist: function (x1, x2, y1, y2) { // coords of Ad
+ let d = Math.max(0, this.x1 - x2, x1 - this.x2) + Math.max(0, this.y1 - y2, y1 - this.y2);
+ return d;
+ },
+
+ track: function (a, f, params) {
+ let z = this;
+ let s1 = z.tru(a, f) + params;
+ if (f == 'conf') {
+ z.scr(s1, a);
+ z.log(' ' + f + ' ', a.num);
+ } else {
+ let bk = {
+ s1: s1,
+ a: a,
+ f: f
+ };
+ z.beacons.push(bk);
+ }
+ },
+
+ send_track: function () {
+ let z = this;
+ if (z.sr >= 'a') { // conf, send beacons
+ let bk = z.beacons.shift();
+ while (typeof bk != 'undefined') {
+ bk.s1 = bk.s1.replace(/_sr=0*_/, '_sr=' + z.sr + '_');
+ z.log(' ' + bk.a.riff + ' ' + bk.a.unit_id + /* " "+pin.mode+ */ ' ' + bk.a.w + 'x' + bk.a.h + '@' + bk.a.x + ',' + bk.a.y +
+ ' ' + bk.f + ' ', bk.a.num);
+ if (bk.a.rnd < Math.pow(10, 1 - (z.sr.charCodeAt(0) & 7))) {
+ z.scr(bk.s1, bk.a);
+ }
+ bk = z.beacons.shift();
+ }
+ }
+ },
+
+ scr: function (s1, a) {
+ let st = document.createElement('script');
+ st.async = true;
+ st.type = 'text/javascript';
+ st.src = s1;
+ if (a && a.dv0 != null) {
+ a.dv0.appendChild(st);
+ } else {
+ let x = document.getElementsByTagName('script')[0];
+ x.parentNode.insertBefore(st, x);
+ }
+ },
+
+ tru: function (a, f) {
+ let pin = a.pins[0];
+ let s2 = '//ac.realvu.net/flip/3/c=' + pin.partner_id +
+ '_f=' + f + '_r=' + a.riff +
+ '_s=' + a.w + 'x' + a.h;
+ if (a.p) s2 += '_p=' + a.p;
+ s2 += '_ps=' + this.enc(a.unit_id) + // 08-Jun-15 - _p= is replaced with _ps= - p-number, ps-string
+ '_dv=' + this.device +
+ // + '_a=' + this.enc(a.a)
+ '_d=' + pin.mode +
+ '_sr=' + this.sr +
+ '_h=' + this.enc(a.ru) + '?';
+ return s2.replace(/%/g, '!');
+ },
+
+ enc: function (s1) {
+ // return escape(s1).replace(/[0-9a-f]{5,}/gi,'RANDOM').replace(/\*/g, "%2A").replace(/_/g, "%5F").replace(/\+/g,
+ return escape(s1).replace(/\*/g, '%2A').replace(/_/g, '%5F').replace(/\+/g,
+ '%2B').replace(/\./g, '%2E').replace(/\x2F/g, '%2F');
+ },
+
+ findPosG: function (adi) {
+ let t = this;
+ let ad = adi;
+ let xp = 0;
+ let yp = 0;
+ let dc = adi.ownerDocument;
+ let wnd = dc.defaultView || dc.parentWindow;
+
+ try {
+ while (ad != null && typeof (ad) != 'undefined') {
+ if (ad.getBoundingClientRect) { // Internet Explorer, Firefox 3+, Google Chrome, Opera 9.5+, Safari 4+
+ let r = ad.getBoundingClientRect();
+ xp += r.left; // +sL;
+ yp += r.top; // +sT;
+ if (wnd == window.top1) {
+ xp += t.x1;
+ yp += t.y1;
+ }
+ } else {
+ if (ad.tagName == 'IFRAME') {
+ xp += t.brd(ad, 'Left');
+ yp += t.brd(ad, 'Top');
+ }
+ xp += ad.offsetLeft;
+ yp += ad.offsetTop;
+
+ let op = ad.offsetParent;
+ let pn = ad.parentNode;
+ let opf = ad;
+ while (opf != null) {
+ let cs = window.getComputedStyle(opf, null);
+ if (cs.position == 'fixed') {
+ if (cs.top) yp += parseInt(cs.top) + this.y1;
+ }
+ if (opf == op) break;
+ opf = opf.parentNode;
+ }
+ while (op != null && typeof (op) != 'undefined') {
+ xp += op.offsetLeft;
+ yp += op.offsetTop;
+ let ptn = op.tagName;
+ if (t.cr || t.saf || (t.ff && ptn == 'TD')) {
+ xp += t.brd(op, 'Left');
+ yp += t.brd(op, 'Top');
+ }
+ if (ad.tagName != 'IFRAME' && op != document.body && op != document.documentElement) {
+ xp -= op.scrollLeft;
+ yp -= op.scrollTop;
+ }
+ if (!t.ie) {
+ while (op != pn && pn != null) {
+ xp -= pn.scrollLeft;
+ yp -= pn.scrollTop;
+ if (t.ff_o) {
+ xp += t.brd(pn, 'Left');
+ yp += t.brd(pn, 'Top');
+ }
+ pn = pn.parentNode;
+ }
+ }
+ pn = pn.parentNode;
+ op = op.offsetParent;
+ }
+ }
+ if (this.fr) break; // inside different domain iframe or sf
+ ad = wnd.frameElement; // in case Ad is allocated inside iframe here we go up
+ wnd = wnd.parent;
+ }
+ } catch (e) {
+ /* continue regardless of error */
+ }
+ let q = {
+ 'x': Math.round(xp),
+ 'y': Math.round(yp)
+ };
+ return q;
+ },
+
+ poll: function () {
+ let fifo = window.top1.realvu_aa_fifo;
+ while (fifo.length > 0) {
+ (fifo.shift())();
+ }
+ let z = this;
+ z.update();
+ let now = new Date();
+ if (typeof (z.ptm) == 'undefined') {
+ z.ptm = now;
+ }
+ let dvz = now - z.ptm;
+ z.ptm = now;
+ for (let i = 0; i < z.len; i++) {
+ let a = z.ads[i];
+ let restored = false;
+ if (a.div == null) { // ad unit is not found yet
+ let adobj = document.getElementById(a.pins[0].unit_id);
+ if (adobj == null) {
+ restored = z.readPos(a);
+ if (!restored) continue; // do nothing if not found
+ } else {
+ z.bind_obj(a, adobj);
+ z.log('{m}"' + a.unit_id + '" is bound', a.num);
+ }
+ }
+ if (!restored) {
+ a.target = z.questA(a.div);
+ let target = (a.target !== null) ? a.target : a.div;
+ a.box.w = Math.max(target.offsetWidth, a.w);
+ a.box.h = Math.max(target.offsetHeight, a.h);
+ let q = z.findPosG(target);
+ let pad = {};
+ pad.t = z.padd(target, 'Top');
+ pad.l = z.padd(target, 'Left');
+ pad.r = z.padd(target, 'Right');
+ pad.b = z.padd(target, 'Bottom');
+ let ax = q.x + pad.l;
+ let ay = q.y + pad.t;
+ a.box.x = ax;
+ a.box.y = ay;
+ if (a.box.w > a.w && a.box.w > 1) {
+ ax += (a.box.w - a.w - pad.l - pad.r) / 2;
+ }
+ if (a.box.h > a.h && a.box.h > 1) {
+ ay += (a.box.h - a.h - pad.t - pad.b) / 2;
+ }
+ if ((ax > 0 && ay > 0) && (a.x != ax || a.y != ay)) {
+ a.x = ax;
+ a.y = ay;
+ z.writePos(a);
+ }
+ }
+ let vtr = ((a.box.w * a.box.h) < 242500) ? 49 : 29; // treashfold more then 49% and more then 29% for "oversized"
+ if (a.pins[0].edge) {
+ vtr = a.pins[0].edge - 1; // override default edge 50% (>49)
+ }
+ a.vz = z.viz_area(a.box.x, a.box.x + a.box.w, a.box.y, a.box.y + a.box.h);
+ a.r = (z.fr > 1 ? 'frame' : (((a.vz > vtr) && z.foc) ? 'yes' : 'no')); // f-frame, y-yes in view,n-not in view
+ if (a.y < 0) {
+ a.r = 'out'; // if the unit intentionaly moved out, count it as out.
+ }
+ if (a.vz > vtr && z.foc) {
+ a.vt += dvz; // real dt counter in milliseconds, because of poll() can be called irregularly
+ a.vtu += dvz;
+ }
+ // now process every pin
+ let plen = a.pins.length;
+ for (let j = 0; j < plen; j++) {
+ let pin = a.pins[j];
+ if (pin.state <= 1) {
+ let dist = z.viz_dist(a.x, a.x + a.w, a.y, a.y + a.h);
+ let near = (pin.dist != null && dist <= pin.dist);
+ // apply "near" rule for ad call only
+ a.r = (z.fr > 1) ? 'frame' : (((a.vz > vtr) && z.foc) ? 'yes' : 'no');
+ if (near && a.r == 'no') {
+ a.r = 'yes';
+ }
+ if (a.riff === '') {
+ a.riff = a.r;
+ let vr_score = z.score(a, 'v:r');
+ if (vr_score != null) {
+ if (a.r == 'no' && vr_score > 75) {
+ a.riff = 'yes';
+ }
+ }
+ let vv0_score = z.score(a, 'v:v0');
+ if (vv0_score != null) {
+ if (a.r == 'yes' && vv0_score < (30 + 25 * Math.random())) {
+ a.riff = 'no';
+ }
+ }
+ }
+ if ((pin.mode == 'kvp' || pin.mode == 'tx2') || (((a.vz > vtr) || near) && ((pin.mode == 'in-view' || pin.mode == 'video')))) {
+ z.show(a, pin); // in-view or flip show immediately if initial realvu=yes, or delay is over
+ }
+ }
+ if (pin.state == 2) {
+ a.target = z.questA(a.div);
+ if (a.target != null) {
+ pin.state = 3;
+ dvz = 0;
+ a.vt = 0;
+ // @if NODE_ENV='debug'
+ let now = new Date();
+ let msg = (now.getTime() - time0) / 1000 + ' RENDERED ' + a.unit_id;
+ utils.logMessage(msg);
+ // @endif
+ let rpt = z.bids_rpt(a, true);
+ z.track(a, 'rend', rpt);
+ z.incrMem(a, 'r', 'v:r');
+ }
+ }
+ if (pin.state > 2) {
+ let tmin = (pin.mode == 'video') ? 2E3 : 1E3; // mrc min view time
+ if (a.vz > vtr) {
+ pin.vt += dvz; // real dt counter in milliseconds, because of poll() can be called irregularly
+ if (pin.state == 3) {
+ pin.state = 4;
+ z.incrMem(a, 'r', 'v:v0');
+ }
+ if (pin.state == 4 && pin.vt >= tmin) {
+ pin.state = 5;
+ let rpt = z.bids_rpt(a, true);
+ z.track(a, 'view', rpt);
+ z.incrMem(a, 'v', 'v:r');
+ z.incrMem(a, 'v', 'v:v0');
+ }
+ if (pin.state == 5 && pin.vt >= 5 * tmin) {
+ pin.state = 6;
+ let rpt = z.bids_rpt(a, true);
+ z.track(a, 'view2', rpt);
+ }
+ } else if (pin.vt < tmin) {
+ pin.vt = 0; // reset to track continuous 1 sec
+ }
+ }
+ if (pin.state >= 2 && pin.mode === 'tx2' &&
+ ((a.vtu > pin.rotate) || (pin.delay > 0 && a.vtu > pin.delay && a.riff === 'no' && a.ncall < 2)) && pin.tx2n > 0) {
+ // flip or rotate
+ pin.tx2n--;
+ pin.state = 1;
+ a.vtu = 0;
+ a.target = null;
+ }
+ }
+ }
+ this.send_track();
+ },
+
+ questA: function (a) { // look for the visible object of ad_sizes size
+ // returns the object or null
+ if (a == null) return a;
+ if (a.nodeType == Node.TEXT_NODE) {
+ let dc = a.ownerDocument;
+ let wnd = dc.defaultView || dc.parentWindow;
+ let par = a.parentNode;
+ if (wnd == wnd.top) {
+ return par;
+ } else {
+ return par.offsetParent;
+ }
+ }
+ let not_friendly = false;
+ let ain = null;
+ let tn = a.tagName;
+ if (tn == 'HEAD' || tn == 'SCRIPT') return null;
+ if (tn == 'IFRAME') {
+ ain = this.doc(a);
+ if (ain == null) {
+ not_friendly = true;
+ } else {
+ a = ain;
+ tn = a.tagName;
+ }
+ }
+ if (not_friendly || tn == 'OBJECT' || tn == 'IMG' || tn == 'EMBED' || tn == 'SVG' || tn == 'CANVAS' ||
+ (tn == 'DIV' && a.style.backgroundImage)) {
+ let w1 = a.offsetWidth;
+ let h1 = a.offsetHeight;
+ if (w1 > 33 && h1 > 33 && a.style.display != 'none') return a;
+ }
+ if (a.hasChildNodes()) {
+ let b = a.firstChild;
+ while (b != null) {
+ let c = this.questA(b);
+ if (c != null) return c;
+ b = b.nextSibling;
+ }
+ }
+ return null;
+ },
+
+ doc: function(f) { // return document of f-iframe, keep here "n" as a parameter because of call from setTimeout()
+ let d = null;
+ try {
+ if (f.contentDocument) d = f.contentDocument; // DOM
+ else if (f.contentWindow) d = f.contentWindow.document; // IE
+ } catch (e) {
+ /* continue regardless of error */
+ }
+ return d;
+ },
+
+ bind_obj: function (a, adobj) {
+ a.div = adobj;
+ a.target = null; // initially null, found ad when served
+ a.unit_id = adobj.id; // placement id or name
+ a.w = adobj.offsetWidth || 1; // width, min 1
+ a.h = adobj.offsetHeight || 1; // height, min 1
+ },
+ add: function (wnd1, p) { // p - realvu unit id
+ let a = {
+ num: this.len,
+ x: 0,
+ y: 0,
+ box: {
+ x: 0,
+ y: 0,
+ h: 1,
+ w: 1
+ }, // measured ad box
+ p: p,
+ state: 0, // 0-init, (1-loaded,2-rendered,3-viewed)
+ delay: 0, // delay in msec to show ad after gets in view
+ vt: 0, // total view time
+ vtu: 0, // view time to update and mem
+ a: '', // ad_placement id
+ wnd: wnd1,
+ div: null,
+ pins: [],
+ frm: null, // it will be frame when "show"
+ riff: '', // r to report
+ rnd: Math.random(),
+ ncall: 0, // a callback number
+ rq_bids: [], // rq bids of registered partners
+ bids: [] // array of bids
+ };
+ a.ru = window.top1.location.hostname;
+ window.top1.realvu_aa.ads[this.len++] = a;
+ return a;
+ },
+
+ fmt: function (a, pin) {
+ return {
+ 'realvu': a.r,
+ 'riff': a.riff,
+ 'area': a.vz,
+ 'ncall': a.ncall,
+ 'n': a.num,
+ 'id': a.unit_id,
+ 'pin': pin
+ };
+ },
+
+ show: function (a, pin) {
+ pin.state = 2; // 2-published
+ pin.vt = 0; // reset view time counter
+ if (pin.size) {
+ let asz = this.setSize(pin.size);
+ if (asz != null) {
+ a.w = asz.w;
+ a.h = asz.h;
+ }
+ }
+ if (typeof pin.callback != 'undefined') {
+ pin.callback(this.fmt(a, pin));
+ }
+ a.ncall++;
+ this.track(a, 'show', '');
+ },
+
+ check: function (p1) {
+ let pin = {
+ dist: 150,
+ state: 0,
+ tx2n: 7
+ }; // if dist is set trigger ad when distance < pin.dist
+ for (let attr in p1) {
+ if (p1.hasOwnProperty(attr)) {
+ if ((attr == 'ad_sizes') && (typeof (p1[attr]) == 'string')) {
+ pin[attr] = p1[attr].split(',');
+ } else if (attr == 'edge') {
+ try {
+ let ed = parseInt(p1[attr]);
+ if (ed > 0 && ed < 251) pin[attr] = ed;
+ } catch (e) {
+ /* continue regardless of error */
+ }
+ } else {
+ pin[attr] = p1[attr];
+ }
+ }
+ }
+ let a = null;
+ let z = this;
+ try {
+ // not to track the same object more than one time
+ for (let i = 0; i < z.len; i++) {
+ // if (z.ads[i].div == adobj) { a = z.ads[i]; break; }
+ if (z.ads[i].unit_id == pin.unit_id) {
+ a = z.ads[i];
+ break;
+ }
+ }
+ pin.wnd = pin.wnd || window;
+ if (a == null) {
+ a = z.add(pin.wnd, pin.p);
+ a.unit_id = pin.unit_id;
+ let adobj = (pin.unit) ? pin.unit : document.getElementById(a.unit_id);
+ if (adobj != null) {
+ z.bind_obj(a, adobj);
+ } else {
+ z.log('{w}"' + pin.unit_id + '" not found', a.num);
+ }
+ if (pin.size) {
+ let asz = z.setSize(pin.size);
+ if (asz != null) {
+ a.w = asz.w;
+ a.h = asz.h;
+ }
+ }
+ pin.delay = pin.delay || 0; // delay in msec
+ if (typeof pin.mode == 'undefined') {
+ if ((typeof pin.callback != 'undefined') || (typeof pin.content != 'undefined')) {
+ pin.mode = (pin.delay > 0) ? 'tx2' : 'in-view';
+ } else {
+ pin.mode = 'kvp';
+ }
+ // delays are for views only
+ }
+ pin.vt = 0; // view time
+ pin.state = 0;
+ a.pins.push(pin);
+ }
+ if (this.sr === '') {
+ z.track(a, 'conf', '');
+ this.sr = '0';
+ }
+ this.poll();
+ return a;
+ } catch (e) {
+ z.log(e.message, -1);
+ return {
+ r: 'err'
+ };
+ }
+ },
+
+ setSize: function (sa) {
+ let sb = sa;
+ try {
+ if (typeof (sa) == 'string') sb = sa.split('x'); // pin.size is a string WWWxHHH or array
+ else if (Array.isArray(sa)) {
+ let mm = 4;
+ while (--mm > 0 && Array.isArray(sa[0]) && Array.isArray(sa[0][0])) {
+ sa = sa[0];
+ }
+ for (let m = 0; m < sa.length; m++) {
+ if (Array.isArray(sa[m])) {
+ sb = sa[m]; // if size is [][]
+ let s = sb[0] + 'x' + sb[1];
+ if (s == '300x250' || s == '728x90' || s == '320x50' || s == '970x90') {
+ break; // use most popular sizes
+ }
+ } else if (sa.length > 1) {
+ sb = sa;
+ }
+ }
+ }
+ let w1 = parseInt(sb[0]);
+ let h1 = parseInt(sb[1]);
+ return {
+ w: w1,
+ h: h1
+ };
+ } catch (e) {
+ /* continue regardless of error */
+ }
+ return null;
+ },
+ // API functions
+ addUnitById: function (partner_id, unit_id, callback, delay) {
+ let p1 = partner_id;
+ if (typeof (p1) == 'string') {
+ p1 = {
+ partner_id: partner_id,
+ unit_id: unit_id,
+ callback: callback,
+ delay: delay
+ };
+ }
+ let a = window.top1.realvu_aa.check(p1);
+ return a.r;
+ },
+
+ checkBidIn: function(partnerId, args, b) { // process a bid from hb
+ // b==true - add/update, b==false - update only
+ if (args.cpm == 0) return; // collect only bids submitted
+ const boost = window.top1.realvu_aa;
+ let push_bid = false;
+ let adi = null;
+ if (!b) { // update only if already checked in by xyzBidAdapter
+ for (let i = 0; i < boost.ads.length; i++) {
+ adi = boost.ads[i];
+ if (adi.unit_id == args.adUnitCode) {
+ push_bid = true;
+ break;
+ }
+ }
+ } else {
+ push_bid = true;
+ adi = window.top1.realvu_aa.check({
+ unit_id: args.adUnitCode,
+ size: args.size,
+ partner_id: partnerId
+ });
+ }
+ if (push_bid) {
+ let pb = {
+ bidder: args.bidder,
+ cpm: args.cpm,
+ size: args.size,
+ adId: args.adId,
+ requestId: args.requestId,
+ crid: '',
+ ttr: args.timeToRespond,
+ winner: 0
+ };
+ if (args.creative_id) {
+ pb.crid = args.creative_id;
+ }
+ adi.bids.push(pb);
+ }
+ },
+
+ checkBidWon: function(partnerId, args, b) {
+ // b==true - add/update, b==false - update only
+ const z = this;
+ const unit_id = args.adUnitCode;
+ for (let i = 0; i < z.ads.length; i++) {
+ let adi = z.ads[i];
+ if (adi.unit_id == unit_id) {
+ for (let j = 0; j < adi.bids.length; j++) {
+ let bj = adi.bids[j];
+ if (bj.adId == args.adId) {
+ bj.winner = 1;
+ break;
+ }
+ }
+ let rpt = z.bids_rpt(adi, false);
+ z.track(adi, 'win', rpt);
+ break;
+ }
+ }
+ },
+
+ bids_rpt: function(a, wo) { // a-unit, wo=true - WinnerOnly
+ let rpt = '';
+ for (let i = 0; i < a.bids.length; i++) {
+ let g = a.bids[i];
+ if (wo && !g.winner) continue;
+ rpt += '&bdr=' + g.bidder + '&cpm=' + g.cpm + '&vi=' + a.riff +
+ '&gw=' + g.winner + '&crt=' + g.crid + '&ttr=' + g.ttr;
+ // append bid partner_id if any
+ let pid = '';
+ for (let j = 0; j < a.rq_bids.length; j++) {
+ let rqb = a.rq_bids[j];
+ if (rqb.adId == g.adId) {
+ pid = rqb.partner_id;
+ break;
+ }
+ }
+ rpt += '&bc=' + pid;
+ }
+ return rpt;
+ },
+
+ getStatusById: function (unit_id) { // return status object
+ for (let i = 0; i < this.ads.length; i++) {
+ let adi = this.ads[i];
+ if (adi.unit_id == unit_id) return this.fmt(adi);
+ }
+ return null;
+ },
+
+ log: function (m1, i) {
+ if (this.doLog) {
+ this.msg.push({
+ dt: new Date() - this.t0,
+ s: 'U' + (i + 1) + m1
+ });
+ }
+ },
+
+ keyPos: function (a) {
+ if (a.pins[0].unit_id) {
+ let level = 'L' + (window.top1.location.pathname.match(/\//g) || []).length;
+ return 'realvu.' + level + '.' + a.pins[0].unit_id.replace(/[0-9]{5,}/gi, 'RANDOM');
+ }
+ },
+
+ writePos: function (a) {
+ try {
+ let v = a.x + ',' + a.y + ',' + a.w + ',' + a.h;
+ localStorage.setItem(this.keyPos(a), v);
+ } catch (ex) {
+ /* continue regardless of error */
+ }
+ },
+
+ readPos: function (a) {
+ try {
+ let s = localStorage.getItem(this.keyPos(a));
+ if (s) {
+ let v = s.split(',');
+ a.x = parseInt(v[0], 10);
+ a.y = parseInt(v[1], 10);
+ a.w = parseInt(v[2], 10);
+ a.h = parseInt(v[3], 10);
+ a.box = {x: a.x, y: a.y, w: a.w, h: a.h};
+ return true;
+ }
+ } catch (ex) {
+ /* do nothing */
+ }
+ return false;
+ },
+
+ incrMem: function(a, evt, name) {
+ try {
+ let k1 = this.keyPos(a) + '.' + name;
+ let vmem = localStorage.getItem(k1);
+ if (vmem == null) vmem = '1:3';
+ let vr = vmem.split(':');
+ let nv = parseInt(vr[0], 10);
+ let nr = parseInt(vr[1], 10);
+ if (evt == 'r') {
+ nr <<= 1;
+ nr |= 1;
+ nv <<= 1;
+ }
+ if (evt == 'v') {
+ nv |= 1;
+ }
+ localStorage.setItem(k1, nv + ':' + nr);
+ } catch (ex) {
+ /* do nothing */
+ }
+ },
+
+ score: function (a, name) {
+ try {
+ let vstr = localStorage.getItem(this.keyPos(a) + '.' + name);
+ if (vstr != null) {
+ let vr = vstr.split(':');
+ let nv = parseInt(vr[0], 10);
+ let nr = parseInt(vr[1], 10);
+ let sv = 0;
+ let sr = 0;
+ for (nr &= 0x3FF; nr > 0; nr >>>= 1, nv >>>= 1) { // count 10 deliveries
+ if (nr & 0x1) sr++;
+ if (nv & 0x1) sv++;
+ }
+ return Math.round(sv * 100 / sr);
+ }
+ } catch (ex) {
+ /* do nothing */
+ }
+ return null;
+ }
+};
+
+if (typeof (window.top1.boost_poll) == 'undefined') {
+ window.top1.realvu_aa.init();
+ window.top1.boost_poll = setInterval(function () {
+ window.top1 && window.top1.realvu_aa && window.top1.realvu_aa.poll();
+ }, 20);
+}
+
+let _options = {};
+
+realvuAnalyticsAdapter.originEnableAnalytics = realvuAnalyticsAdapter.enableAnalytics;
+
+realvuAnalyticsAdapter.enableAnalytics = function (config) {
+ _options = config.options;
+ if (typeof (_options.partnerId) == 'undefined' || _options.partnerId == '') {
+ utils.logError('Missed realvu.com partnerId parameter', 101, 'Missed partnerId parameter');
+ }
+ realvuAnalyticsAdapter.originEnableAnalytics(config);
+ return _options.partnerId;
+};
+
+const time0 = (new Date()).getTime();
+
+realvuAnalyticsAdapter.track = function ({eventType, args}) {
+ // @if NODE_ENV='debug'
+ let msg = '';
+ let now = new Date();
+ msg += (now.getTime() - time0) / 1000 + ' eventType=' + eventType;
+ if (typeof (args) != 'undefined') {
+ msg += ', args.bidder=' + args.bidder + ' args.adUnitCode=' + args.adUnitCode +
+ ' args.adId=' + args.adId +
+ ' args.cpm=' + args.cpm +
+ ' creativei_id=' + args.creative_id;
+ }
+ // msg += '\nargs=' + JSON.stringify(args) + ' ';
+ utils.logMessage(msg);
+ // @endif
+
+ const boost = window.top1.realvu_aa;
+ let b = false; // false - update only, true - add if not checked in yet
+ let partnerId = null;
+ if (_options && _options.partnerId && args) {
+ partnerId = _options.partnerId;
+ let code = args.adUnitCode;
+ b = _options.regAllUnits;
+ if (!b && _options.unitIds) {
+ for (let j = 0; j < _options.unitIds.length; j++) {
+ if (code === _options.unitIds[j]) {
+ b = true;
+ break;
+ }
+ }
+ }
+ }
+ if (eventType === CONSTANTS.EVENTS.BID_RESPONSE) {
+ boost.checkBidIn(partnerId, args, b);
+ } else if (eventType === CONSTANTS.EVENTS.BID_WON) {
+ boost.checkBidWon(partnerId, args, b);
+ }
+};
+
+// xyzBidAdapter calls checkin() to obtain "yes/no" viewability
+realvuAnalyticsAdapter.checkIn = function (bid, partnerId) {
+ // find (or add if not registered yet) the unit in boost
+ if (typeof (partnerId) == 'undefined' || partnerId == '') {
+ utils.logError('Missed realvu.com partnerId parameter', 102, 'Missed partnerId parameter');
+ }
+ let a = window.top1.realvu_aa.check({
+ unit_id: bid.adUnitCode,
+ size: bid.sizes,
+ partner_id: partnerId
+ });
+ a.rq_bids.push({
+ bidder: bid.bidder,
+ adId: bid.bidId,
+ partner_id: partnerId
+ });
+ return a.riff;
+};
+
+realvuAnalyticsAdapter.isInView = function (adUnitCode) {
+ let r = 'NA';
+ let s = window.top1.realvu_aa.getStatusById(adUnitCode);
+ if (s) {
+ r = s.realvu;
+ }
+ return r;
+};
+
+adaptermanager.registerAnalyticsAdapter({
+ adapter: realvuAnalyticsAdapter,
+ code: 'realvuAnalytics'
+});
+
+module.exports = realvuAnalyticsAdapter;
diff --git a/modules/realvuAnalyticsAdapter.md b/modules/realvuAnalyticsAdapter.md
new file mode 100644
index 00000000000..c534f78bc94
--- /dev/null
+++ b/modules/realvuAnalyticsAdapter.md
@@ -0,0 +1,9 @@
+# Overview
+
+Module Name: RealVu Analytics Adapter
+Module Type: Analytics Adapter
+Maintainer: it@realvu.com
+
+# Description
+
+Analytics adapter for realvu.com. Contact support@realvu.com for information.
diff --git a/package-lock.json b/package-lock.json
index f3713a52f53..16b7eede42b 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,6 +1,6 @@
{
"name": "prebid.js",
- "version": "1.4.0-pre",
+ "version": "1.7.0-pre",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
diff --git a/test/spec/modules/realvuAnalyticsAdapter_spec.js b/test/spec/modules/realvuAnalyticsAdapter_spec.js
new file mode 100644
index 00000000000..f198780077f
--- /dev/null
+++ b/test/spec/modules/realvuAnalyticsAdapter_spec.js
@@ -0,0 +1,163 @@
+import { expect } from 'chai';
+import realvuAnalyticsAdapter from 'modules/realvuAnalyticsAdapter';
+import CONSTANTS from 'src/constants.json';
+
+function addDiv(id) {
+ let dv = document.createElement('div');
+ dv.id = id;
+ dv.style.width = '728px';
+ dv.style.height = '90px';
+ dv.style.display = 'block';
+ document.body.appendChild(dv);
+ let f = document.createElement('iframe');
+ f.width = 728;
+ f.height = 90;
+ dv.appendChild(f);
+ let d = null;
+ if (f.contentDocument) d = f.contentDocument; // DOM
+ else if (f.contentWindow) d = f.contentWindow.document; // IE
+ d.open()
+ d.write(' ');
+ d.close();
+ return dv;
+}
+
+describe('RealVu Analytics Adapter.', () => {
+ before(() => {
+ addDiv('ad1');
+ addDiv('ad2');
+ });
+ after(() => {
+ let a1 = document.getElementById('ad1');
+ document.body.removeChild(a1);
+ let a2 = document.getElementById('ad2');
+ document.body.removeChild(a2);
+ });
+
+ it('enableAnalytics', () => {
+ const config = {
+ options: {
+ partnerId: '1Y',
+ regAllUnits: true
+ // unitIds: ['ad1', 'ad2']
+ }
+ };
+ let p = realvuAnalyticsAdapter.enableAnalytics(config);
+ expect(p).to.equal('1Y');
+ });
+
+ it('checkIn', () => {
+ const bid = {
+ adUnitCode: 'ad1',
+ sizes: [
+ [728, 90],
+ [970, 250],
+ [970, 90]
+ ]
+ };
+ let result = realvuAnalyticsAdapter.checkIn(bid, '1Y');
+ const b = window.top1.realvu_aa;
+ let a = b.ads[0];
+ // console.log('a: ' + a.x + ', ' + a.y + ', ' + a.w + ', ' + a.h);
+ // console.log('b: ' + b.x1 + ', ' + b.y1 + ', ' + b.x2 + ', ' + b.y2);
+ expect(result).to.equal('yes');
+
+ result = realvuAnalyticsAdapter.checkIn(bid); // test invalid partnerId 'undefined'
+ result = realvuAnalyticsAdapter.checkIn(bid, ''); // test invalid partnerId ''
+ });
+
+ it('isInView returns "yes"', () => {
+ let inview = realvuAnalyticsAdapter.isInView('ad1');
+ expect(inview).to.equal('yes');
+ });
+
+ it('isInView return "NA"', () => {
+ const adUnitCode = '1234';
+ let result = realvuAnalyticsAdapter.isInView(adUnitCode);
+ expect(result).to.equal('NA');
+ });
+
+ it('bid response event', () => {
+ const config = {
+ options: {
+ partnerId: '1Y',
+ regAllUnits: true
+ // unitIds: ['ad1', 'ad2']
+ }
+ };
+ realvuAnalyticsAdapter.enableAnalytics(config);
+ const args = {
+ 'biddercode': 'realvu',
+ 'adUnitCode': 'ad1',
+ 'width': 300,
+ 'height': 250,
+ 'statusMessage': 'Bid available',
+ 'adId': '7ba299eba818c1',
+ 'mediaType': 'banner',
+ 'creative_id': 85792851,
+ 'cpm': 0.4308
+ };
+ realvuAnalyticsAdapter.track({
+ eventType: CONSTANTS.EVENTS.BID_RESPONSE,
+ args: args
+ });
+ const boost = window.top1.realvu_aa;
+ expect(boost.ads[boost.len - 1].bids.length).to.equal(1);
+
+ realvuAnalyticsAdapter.track({
+ eventType: CONSTANTS.EVENTS.BID_WON,
+ args: args
+ });
+ expect(boost.ads[boost.len - 1].bids[0].winner).to.equal(1);
+ });
+});
+
+describe('RealVu Boost.', () => {
+ before(() => {
+ addDiv('ad1');
+ addDiv('ad2');
+ });
+ after(() => {
+ let a1 = document.getElementById('ad1');
+ document.body.removeChild(a1);
+ let a2 = document.getElementById('ad2');
+ document.body.removeChild(a2);
+ });
+
+ const boost = window.top1.realvu_aa;
+
+ it('brd', () => {
+ let a1 = document.getElementById('ad1');
+ let p = boost.brd(a1, 'Left');
+ expect(typeof p).to.not.equal('undefined');
+ });
+
+ it('addUnitById', () => {
+ let a1 = document.getElementById('ad1');
+ let p = boost.addUnitById('1Y', 'ad1');
+ expect(typeof p).to.not.equal('undefined');
+ });
+
+ it('questA', () => {
+ const dv = document.getElementById('ad1');
+ let q = boost.questA(dv);
+ expect(q).to.not.equal(null);
+ });
+
+ it('render', () => {
+ let dv = document.getElementById('ad1');
+ // dv.style.width = '728px';
+ // dv.style.height = '90px';
+ // dv.style.display = 'block';
+ dv.getBoundingClientRect = false;
+ // document.body.appendChild(dv);
+ let q = boost.findPosG(dv);
+ expect(q).to.not.equal(null);
+ });
+
+ it('readPos', () => {
+ const a = boost.ads[boost.len - 1];
+ let r = boost.readPos(a);
+ expect(r).to.equal(true);
+ });
+});
From 3e52deb4312e4d62256f5fa36b248445bbe397b0 Mon Sep 17 00:00:00 2001
From: "Takaaki.Kojima"
Date: Fri, 6 Apr 2018 07:54:38 +0900
Subject: [PATCH 035/171] Update AdGeneration adapter (#2343)
Squashed commits:
[eaea8ef] updateAdGenerationAdapter (+1 squashed commit)
Squashed commits:
[10ba1ae] updateAdGenerationAdapter (+1 squashed commit)
Squashed commits:
[67d1069] updateAdGenerationAdapter (+1 squashed commit)
Squashed commits:
[0875550] updateAdGenerationAdapter
---
modules/adgenerationBidAdapter.js | 55 +--
.../modules/adgenerationBidAdapter_spec.js | 366 ++++++++++--------
2 files changed, 238 insertions(+), 183 deletions(-)
diff --git a/modules/adgenerationBidAdapter.js b/modules/adgenerationBidAdapter.js
index 99d69f3115a..1753446fc67 100644
--- a/modules/adgenerationBidAdapter.js
+++ b/modules/adgenerationBidAdapter.js
@@ -1,7 +1,7 @@
import * as utils from 'src/utils';
// import {config} from 'src/config';
import {registerBidder} from 'src/adapters/bidderFactory';
-import { BANNER, NATIVE } from 'src/mediaTypes';
+import {BANNER, NATIVE} from 'src/mediaTypes';
const ADG_BIDDER_CODE = 'adgeneration';
export const spec = {
@@ -61,37 +61,40 @@ export const spec = {
* Unpack the response from the server into a list of bids.
*
* @param {ServerResponse} serverResponse A successful response from the server.
- * @param {BidRequest} bidRequest
+ * @param {BidRequest} bidRequests
* @return {Bid[]} An array of bids which were nested inside the server.
*/
interpretResponse: function (serverResponse, bidRequests) {
const body = serverResponse.body;
- const bidResponses = [];
- let bidRequest = {};
- if (body.results && body.results.length > 0) {
- bidRequest = bidRequests.bidRequest;
- const bidResponse = {
- requestId: bidRequest.bidId,
- cpm: body.cpm || 0,
- width: bidRequest.sizes[0][0],
- height: bidRequest.sizes[0][1],
- creativeId: body.creativeid || '',
- dealId: body.dealid || '',
- currency: 'JPY',
- netRevenue: true,
- ttl: body.ttl || 10,
- referrer: utils.getTopWindowUrl(),
- };
- if (bidRequest.mediaTypes && bidRequest.mediaTypes.native) {
- bidResponse.native = createNativeAd(body);
- bidResponse.mediaType = NATIVE;
- } else {
- // banner
- bidResponse.ad = createAd(body, bidRequest);
+ if (!body.results || body.results.length < 1) {
+ return [];
+ }
+ const bidRequest = bidRequests.bidRequest;
+ if (!bidRequest.mediaTypes || bidRequest.mediaTypes.banner) {
+ if (!body.w || !body.h) {
+ return [];
}
- bidResponses.push(bidResponse);
}
- return bidResponses; // noAdは空を返す
+ const bidResponse = {
+ requestId: bidRequest.bidId,
+ cpm: body.cpm || 0,
+ width: body.w ? body.w : 1,
+ height: body.h ? body.h : 1,
+ creativeId: body.creativeid || '',
+ dealId: body.dealid || '',
+ currency: 'JPY',
+ netRevenue: true,
+ ttl: body.ttl || 10,
+ referrer: utils.getTopWindowUrl(),
+ };
+ if (bidRequest.mediaTypes && bidRequest.mediaTypes.native) {
+ bidResponse.native = createNativeAd(body);
+ bidResponse.mediaType = NATIVE;
+ } else {
+ // banner
+ bidResponse.ad = createAd(body, bidRequest);
+ }
+ return [bidResponse];
},
/**
diff --git a/test/spec/modules/adgenerationBidAdapter_spec.js b/test/spec/modules/adgenerationBidAdapter_spec.js
index 23a48434536..4239712ccaf 100644
--- a/test/spec/modules/adgenerationBidAdapter_spec.js
+++ b/test/spec/modules/adgenerationBidAdapter_spec.js
@@ -117,134 +117,191 @@ describe('AdgenerationAdapter', () => {
describe('interpretResponse', () => {
const bidRequests = {
- bidRequest: {
- bidder: 'adg',
- params: {
- id: '58278', // banner
+ banner: {
+ bidRequest: {
+ bidder: 'adg',
+ params: {
+ id: '58278', // banner
+ },
+ adUnitCode: 'adunit-code',
+ sizes: [[320, 100]],
+ bidId: '2f6ac468a9c15e',
+ bidderRequestId: '14a9f773e30243',
+ auctionId: '4aae9f05-18c6-4fcd-80cf-282708cd584a',
+ transactionTd: 'f76f6dfd-d64f-4645-a29f-682bac7f431a'
},
- mediaTypes: {
- native: {
- image: {
- required: true
- },
- title: {
- required: true,
- len: 80
- },
- sponsoredBy: {
- required: true
- },
- clickUrl: {
- required: true
- },
- body: {
- required: true
- },
- icon: {
- required: true
+ },
+ native: {
+ bidRequest: {
+ bidder: 'adg',
+ params: {
+ id: '58278', // banner
+ },
+ mediaTypes: {
+ native: {
+ image: {
+ required: true
+ },
+ title: {
+ required: true,
+ len: 80
+ },
+ sponsoredBy: {
+ required: true
+ },
+ clickUrl: {
+ required: true
+ },
+ body: {
+ required: true
+ },
+ icon: {
+ required: true
+ }
}
- }
+ },
+ adUnitCode: 'adunit-code',
+ sizes: [[1, 1]],
+ bidId: '2f6ac468a9c15e',
+ bidderRequestId: '14a9f773e30243',
+ auctionId: '4aae9f05-18c6-4fcd-80cf-282708cd584a',
+ transactionTd: 'f76f6dfd-d64f-4645-a29f-682bac7f431a'
},
- adUnitCode: 'adunit-code',
- sizes: [[1, 1]],
- bidId: '2f6ac468a9c15e',
- bidderRequestId: '14a9f773e30243',
- auctionId: '4aae9f05-18c6-4fcd-80cf-282708cd584a',
- transactionTd: 'f76f6dfd-d64f-4645-a29f-682bac7f431a'
- }
+ },
};
const serverResponse = {
- ad: '↵ ↵ ↵ ↵ ↵ ↵ ↵ ↵ ↵ ↵
↵ ',
- beacon: ' ',
- cpm: 36.0008,
- displaytype: '1',
- ids: {},
- location_params: null,
- locationid: '58279',
- native_ad: {
- assets: [
- {
- data: {
- label: 'accompanying_text',
- value: 'AD'
+ noAd: {
+ results: [],
+ },
+ banner: {
+ ad: '↵ ↵
',
+ beacon: ' ',
+ cpm: 36.0008,
+ displaytype: '1',
+ ids: {},
+ w: 320,
+ h: 100,
+ location_params: null,
+ locationid: '58279',
+ rotation: '0',
+ scheduleid: '512603',
+ sdktype: '0',
+ creativeid: '1k2kv35vsa5r',
+ dealid: 'fd5sa5fa7f',
+ ttl: 1000,
+ results: [
+ {ad: '
'},
+ ]
+ },
+ native: {
+ ad: '↵ ↵ ↵ ↵ ↵ ↵ ↵ ↵ ↵ ↵
↵ ',
+ beacon: ' ',
+ cpm: 36.0008,
+ displaytype: '1',
+ ids: {},
+ location_params: null,
+ locationid: '58279',
+ native_ad: {
+ assets: [
+ {
+ data: {
+ label: 'accompanying_text',
+ value: 'AD'
+ },
+ id: 501
},
- id: 501
- },
- {
- data: {
- label: 'optout_url',
- value: 'https://supership.jp/optout/'
+ {
+ data: {
+ label: 'optout_url',
+ value: 'https://supership.jp/optout/'
+ },
+ id: 502
},
- id: 502
- },
- {
- data: {
- ext: {
- black_back: 'https://i.socdm.com/sdk/img/icon_adg_optout_26x26_white.png',
+ {
+ data: {
+ ext: {
+ black_back: 'https://i.socdm.com/sdk/img/icon_adg_optout_26x26_white.png',
+ },
+ label: 'information_icon_url',
+ value: 'https://i.socdm.com/sdk/img/icon_adg_optout_26x26_gray.png',
+ id: 503
+ }
+ },
+ {
+ id: 1,
+ required: 1,
+ title: {text: 'Title'}
+ },
+ {
+ id: 2,
+ img: {
+ h: 250,
+ url: 'https://s3-ap-northeast-1.amazonaws.com/sdk-temp/adg-sample-ad/img/300x250.png',
+ w: 300
},
- label: 'information_icon_url',
- value: 'https://i.socdm.com/sdk/img/icon_adg_optout_26x26_gray.png',
- id: 503
- }
- },
- {
- id: 1,
- required: 1,
- title: {text: 'Title'}
- },
- {
- id: 2,
- img: {
- h: 250,
- url: 'https://s3-ap-northeast-1.amazonaws.com/sdk-temp/adg-sample-ad/img/300x250.png',
- w: 300
+ required: 1
},
- required: 1
- },
- {
- id: 3,
- img: {
- h: 300,
- url: 'https://placehold.jp/300x300.png',
- w: 300
+ {
+ id: 3,
+ img: {
+ h: 300,
+ url: 'https://placehold.jp/300x300.png',
+ w: 300
+ },
+ required: 1
},
- required: 1
- },
- {
- data: {value: 'Description'},
- id: 5,
- required: 0
- },
- {
- data: {value: 'CTA'},
- id: 6,
- required: 0
- },
- {
- data: {value: 'Sponsored'},
- id: 4,
- required: 0
- }
- ],
- imptrackers: ['https://s3-ap-northeast-1.amazonaws.com/adg-dummy-dsp/1x1.gif'],
- link: {
- clicktrackers: [
- 'https://s3-ap-northeast-1.amazonaws.com/adg-dummy-dsp/1x1_clicktracker_access.gif'
+ {
+ data: {value: 'Description'},
+ id: 5,
+ required: 0
+ },
+ {
+ data: {value: 'CTA'},
+ id: 6,
+ required: 0
+ },
+ {
+ data: {value: 'Sponsored'},
+ id: 4,
+ required: 0
+ }
],
- url: 'https://supership.jp'
+ imptrackers: ['https://s3-ap-northeast-1.amazonaws.com/adg-dummy-dsp/1x1.gif'],
+ link: {
+ clicktrackers: [
+ 'https://s3-ap-northeast-1.amazonaws.com/adg-dummy-dsp/1x1_clicktracker_access.gif'
+ ],
+ url: 'https://supership.jp'
+ },
},
- },
- rotation: '0',
- scheduleid: '512603',
- sdktype: '0',
- creativeid: '1k2kv35vsa5r',
- dealid: 'fd5sa5fa7f',
- ttl: 1000
+ results: [
+ {ad: 'Creative<\/body>'}
+ ],
+ rotation: '0',
+ scheduleid: '512603',
+ sdktype: '0',
+ creativeid: '1k2kv35vsa5r',
+ dealid: 'fd5sa5fa7f',
+ ttl: 1000
+ }
};
- const bidResponses = [
- {
+ const bidResponses = {
+ banner: {
+ requestId: '2f6ac468a9c15e',
+ cpm: 36.0008,
+ width: 320,
+ height: 100,
+ creativeId: '1k2kv35vsa5r',
+ dealId: 'fd5sa5fa7f',
+ currency: 'JPY',
+ netRevenue: true,
+ ttl: 1000,
+ referrer: utils.getTopWindowUrl(),
+ ad: '↵ ↵
',
+ },
+ native: {
requestId: '2f6ac468a9c15e',
cpm: 36.0008,
width: 1,
@@ -277,57 +334,52 @@ describe('AdgenerationAdapter', () => {
},
mediaType: NATIVE
}
- ];
+ };
it('no bid responses', () => {
- const result = spec.interpretResponse({body: serverResponse}, bidRequests);
+ const result = spec.interpretResponse({body: serverResponse.noAd}, bidRequests.banner);
expect(result.length).to.equal(0);
});
- it('handles native responses', () => {
- serverResponse.results = [{ad: 'Creative<\/body>'}];
- const result = spec.interpretResponse({body: serverResponse}, bidRequests)[0];
- expect(result.requestId).to.equal(bidResponses[0].requestId);
- expect(result.width).to.equal(bidResponses[0].width);
- expect(result.height).to.equal(bidResponses[0].height);
- expect(result.creativeId).to.equal(bidResponses[0].creativeId);
- expect(result.dealId).to.equal(bidResponses[0].dealId);
- expect(result.currency).to.equal(bidResponses[0].currency);
- expect(result.netRevenue).to.equal(bidResponses[0].netRevenue);
- expect(result.ttl).to.equal(bidResponses[0].ttl);
- expect(result.referrer).to.equal(bidResponses[0].referrer);
- expect(result.native.title).to.equal(bidResponses[0].native.title);
- expect(result.native.image.url).to.equal(bidResponses[0].native.image.url);
- expect(result.native.image.height).to.equal(bidResponses[0].native.image.height);
- expect(result.native.image.width).to.equal(bidResponses[0].native.image.width);
- expect(result.native.icon.url).to.equal(bidResponses[0].native.icon.url);
- expect(result.native.icon.width).to.equal(bidResponses[0].native.icon.width);
- expect(result.native.icon.height).to.equal(bidResponses[0].native.icon.height);
- expect(result.native.sponsoredBy).to.equal(bidResponses[0].native.sponsoredBy);
- expect(result.native.body).to.equal(bidResponses[0].native.body);
- expect(result.native.cta).to.equal(bidResponses[0].native.cta);
- expect(result.native.clickUrl).to.equal(bidResponses[0].native.clickUrl);
- expect(result.native.impressionTrackers[0]).to.equal(bidResponses[0].native.impressionTrackers[0]);
- expect(result.native.clickTrackers[0]).to.equal(bidResponses[0].native.clickTrackers[0]);
- expect(result.mediaType).to.equal(bidResponses[0].mediaType);
+ it('handles banner responses', () => {
+ const result = spec.interpretResponse({body: serverResponse.banner}, bidRequests.banner)[0];
+ expect(result.requestId).to.equal(bidResponses.banner.requestId);
+ expect(result.width).to.equal(bidResponses.banner.width);
+ expect(result.height).to.equal(bidResponses.banner.height);
+ expect(result.creativeId).to.equal(bidResponses.banner.creativeId);
+ expect(result.dealId).to.equal(bidResponses.banner.dealId);
+ expect(result.currency).to.equal(bidResponses.banner.currency);
+ expect(result.netRevenue).to.equal(bidResponses.banner.netRevenue);
+ expect(result.ttl).to.equal(bidResponses.banner.ttl);
+ expect(result.referrer).to.equal(bidResponses.banner.referrer);
+ expect(result.ad).to.equal(bidResponses.banner.ad);
});
- it('handles banner responses', () => {
- serverResponse.results = [{ad: '↵ ↵
'}];
- delete serverResponse.native_ad;
- delete serverResponse.mediaType;
- delete bidRequests.bidRequest.mediaTypes;
- const result = spec.interpretResponse({body: serverResponse}, bidRequests)[0];
- expect(result.requestId).to.equal(bidResponses[0].requestId);
- expect(result.width).to.equal(bidResponses[0].width);
- expect(result.height).to.equal(bidResponses[0].height);
- expect(result.creativeId).to.equal(bidResponses[0].creativeId);
- expect(result.dealId).to.equal(bidResponses[0].dealId);
- expect(result.currency).to.equal(bidResponses[0].currency);
- expect(result.netRevenue).to.equal(bidResponses[0].netRevenue);
- expect(result.ttl).to.equal(bidResponses[0].ttl);
- expect(result.referrer).to.equal(bidResponses[0].referrer);
- expect(result.ad).to.equal(bidResponses[0].ad);
+ it('handles native responses', () => {
+ const result = spec.interpretResponse({body: serverResponse.native}, bidRequests.native)[0];
+ expect(result.requestId).to.equal(bidResponses.native.requestId);
+ expect(result.width).to.equal(bidResponses.native.width);
+ expect(result.height).to.equal(bidResponses.native.height);
+ expect(result.creativeId).to.equal(bidResponses.native.creativeId);
+ expect(result.dealId).to.equal(bidResponses.native.dealId);
+ expect(result.currency).to.equal(bidResponses.native.currency);
+ expect(result.netRevenue).to.equal(bidResponses.native.netRevenue);
+ expect(result.ttl).to.equal(bidResponses.native.ttl);
+ expect(result.referrer).to.equal(bidResponses.native.referrer);
+ expect(result.native.title).to.equal(bidResponses.native.native.title);
+ expect(result.native.image.url).to.equal(bidResponses.native.native.image.url);
+ expect(result.native.image.height).to.equal(bidResponses.native.native.image.height);
+ expect(result.native.image.width).to.equal(bidResponses.native.native.image.width);
+ expect(result.native.icon.url).to.equal(bidResponses.native.native.icon.url);
+ expect(result.native.icon.width).to.equal(bidResponses.native.native.icon.width);
+ expect(result.native.icon.height).to.equal(bidResponses.native.native.icon.height);
+ expect(result.native.sponsoredBy).to.equal(bidResponses.native.native.sponsoredBy);
+ expect(result.native.body).to.equal(bidResponses.native.native.body);
+ expect(result.native.cta).to.equal(bidResponses.native.native.cta);
+ expect(result.native.clickUrl).to.equal(bidResponses.native.native.clickUrl);
+ expect(result.native.impressionTrackers[0]).to.equal(bidResponses.native.native.impressionTrackers[0]);
+ expect(result.native.clickTrackers[0]).to.equal(bidResponses.native.native.clickTrackers[0]);
+ expect(result.mediaType).to.equal(bidResponses.native.mediaType);
});
});
});
From e28da0642445c14ffe9734b1dba5168b1d7cfe66 Mon Sep 17 00:00:00 2001
From: ricardoe
Date: Thu, 5 Apr 2018 18:56:57 -0500
Subject: [PATCH 036/171] ADSS-275 Read and send the pv param on bid requests
(#2340)
---
modules/gumgumBidAdapter.js | 16 +++++++++++++---
1 file changed, 13 insertions(+), 3 deletions(-)
diff --git a/modules/gumgumBidAdapter.js b/modules/gumgumBidAdapter.js
index 3ad8dd780ba..fc36e18e3ac 100644
--- a/modules/gumgumBidAdapter.js
+++ b/modules/gumgumBidAdapter.js
@@ -8,7 +8,9 @@ const ALIAS_BIDDER_CODE = ['gg']
const BID_ENDPOINT = `https://g2.gumgum.com/hbid/imp`
const DT_CREDENTIALS = { member: 'YcXr87z2lpbB' }
const TIME_TO_LIVE = 60
+
let browserParams = {};
+let pageViewId = null
// TODO: potential 0 values for browserParams sent to ad server
function _getBrowserParams() {
@@ -63,7 +65,7 @@ function _getDigiTrustQueryParams() {
return {};
}
return {
- 'dt': digiTrustId.id
+ dt: digiTrustId.id
};
}
@@ -106,7 +108,9 @@ function buildRequests (validBidRequests) {
transactionId
} = bidRequest;
const data = {}
-
+ if (pageViewId) {
+ data.pv = pageViewId
+ }
if (params.inScreen) {
data.t = params.inScreen;
data.pi = 2;
@@ -150,11 +154,17 @@ function interpretResponse (serverResponse, bidRequest) {
id: creativeId,
markup
},
- cw: wrapper
+ cw: wrapper,
+ pag: {
+ pvid
+ }
} = serverResponseBody
let isTestUnit = (bidRequest.data && bidRequest.data.pi === 3 && bidRequest.data.si === 9)
let [width, height] = utils.parseSizesInput(bidRequest.sizes)[0].split('x')
+ // update Page View ID from server response
+ pageViewId = pvid
+
if (creativeId) {
bidResponses.push({
// dealId: DEAL_ID,
From 01decf4dac6863989a0a900e964a5c5adad40704 Mon Sep 17 00:00:00 2001
From: Jaimin Panchal
Date: Fri, 6 Apr 2018 14:30:06 -0400
Subject: [PATCH 037/171] fix local browserstack run (#2366)
---
.travis.yml | 7 ++-
browsers.json | 60 +++++++++++++++++--
gulpfile.js | 6 +-
karma.conf.maker.js | 8 ++-
test/spec/modules/invibesBidAdapter_spec.js | 2 +-
.../modules/realvuAnalyticsAdapter_spec.js | 2 +-
test/test_index.js | 1 -
7 files changed, 70 insertions(+), 16 deletions(-)
diff --git a/.travis.yml b/.travis.yml
index 856010b3287..499139f9bed 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -3,20 +3,21 @@ dist: trusty
language: node_js
node_js:
- '7.0'
+env:
+ - BROWSERSTACK_USERNAME=info184
addons:
chrome: stable,
browserstack:
- username: "jaiminpanchal1"
+ username: "info184"
access_key:
- secure: "erc01RgZ3dEjhaMv0GCI0Ywi2VRnXEjjoWI+YejwVb44dX59lBqCLgMw1T2p1j4lrsmDRSQHzurYU1LsbS8JZ+swCRyPVyPgRWNGQVRpt7gaHCWNn4TuLALeWHeSLCGNKSjdeIXBEzTug4FTTOIX0RqMZO2qiaxTQ83Wa/kXHYPxOh3kv1ODHJXGbayiMebkhjAoB8OiIicgyW59C8pQF3k6976Q08LgtdSm+1Dnk78d7j/Ss1C5X1MGJNlyiEA0EPqBduuZ8WENaApFoinesGSZaawtLKVBr8S+s1FtEdswXBUsfNogM0P5Wohfj+TnfBIYXxByHzZ9N9oIuX2euiyljM1v0FiI9Z8JHob4aG5WuzdJZxhNXYKMUEFg+aogxiB0ONCdBC1lgtvkf1m8unBVe8nbLynMVt0aN0cCSTgk0v7UcT5r45tCFTKCTJwdVO6yQcY8W0gf2iaATNH5b8Uirb4CRVhddP3N0CSpmgGMeGojEWTeeZlx5UHl6z/TOz1DQyPZ8g0hOA6KAakTYfpmMGkpepMK1iNCwCbN5gHYpL0HmcVMKqLEwwBXQbbTf3b/VmSH7HAllBdtsq8FYxJdHXAH1uH28Cx9UqVVxOjzxZBpxaVBd+H+7Z9ZXpPEW9KdFjPDyzkKzzrR0s1oi1Do1KArzSdqFUpdqb4Xujg="
+ secure: "Ru286R4pMcEIRKwb2AoaaJY6lEKIzeZraxY7CtbOP4ykNk7uqsnyitk4QwxpCCh0n35b71m30okW6ZmZnl0lJXhOMdYoSOYBAnUw2Vn7Y93oMSKIC5dc2/qmtF1t2b1qX65/Ont2iJUj+UY8VQw5Hk2vIT4/5wifYPBnV5ILK4AI7SVk/ma7OzK4rkp3WThlouddctAd7tx4O3YIyJKDi9lkfcMA0pnH4OZSOlDClRLIy50Q1NE+iyqHtWFZK1TwJ+IhQbSsCLbuyQJBRnyJJEftNmtrs5MCZt/9pwFDj7c8+o11F6HCsTBYFkehFRfbKnmhCc1G+bsNXY8OxIWwEHeuVmSGK7TDPYcPPQBc03mcQ1fY/IPNQOdsVJ/n8RsG2u0IU2CF2hhkuNFzeov7dOHljanc45NKOrLdjwzP1aZCAUvLquOTzvmdF23nJhMs8UO+Du4kTK5VfmKyz1MC91E40a0Q15+O4qmS39rNOlwhxPJSfuxxL1jKVPJ7PsFbTkGM8M/XPJ6dyGLufy225HjdLdJTAOa5BZ4st+nXH/AzqHzy6a2I5vTmAz1j4gHLgVU+iNxAkX8znb25s3Rs1ZuFVj+aBSBmNoQA1FA5f/uXWeruTdDig7ksp+XdjsjLm9Md8cWwYaEn04FYj1ztJrylrEMfnc0Kcs6zQ3fll1g="
before_install:
- npm install -g gulp
- google-chrome-stable --headless --disable-gpu --remote-debugging-port=9222 http://localhost &
script: |
- echo ${TRAVIS_PULL_REQUEST}
if [[ ${TRAVIS_PULL_REQUEST} == "false" ]]; then
gulp test --browserstack
else
diff --git a/browsers.json b/browsers.json
index 39f1bd72a68..cb523addc7e 100644
--- a/browsers.json
+++ b/browsers.json
@@ -15,20 +15,68 @@
"device": null,
"os": "Windows"
},
- "bs_firefox_56_windows_10": {
+ "bs_chrome_62_windows_10": {
"base": "BrowserStack",
"os_version": "10",
- "browser": "firefox",
- "browser_version": "56.0",
+ "browser": "chrome",
+ "browser_version": "62.0",
"device": null,
"os": "Windows"
},
- "bs_chrome_62_windows_10": {
+ "bs_chrome_61_windows_10": {
"base": "BrowserStack",
"os_version": "10",
"browser": "chrome",
- "browser_version": "51.0",
+ "browser_version": "61.0",
+ "device": null,
+ "os": "Windows"
+ },
+ "bs_firefox_58_windows_10": {
+ "base": "BrowserStack",
+ "os_version": "10",
+ "browser": "firefox",
+ "browser_version": "58.0",
+ "device": null,
+ "os": "Windows"
+ },
+ "bs_firefox_57_windows_10": {
+ "base": "BrowserStack",
+ "os_version": "10",
+ "browser": "firefox",
+ "browser_version": "57.0",
"device": null,
"os": "Windows"
+ },
+ "bs_safari_9.1_mac_elcapitan": {
+ "base": "BrowserStack",
+ "os_version": "El Capitan",
+ "browser": "safari",
+ "browser_version": "9.1",
+ "device": null,
+ "os": "OS X"
+ },
+ "bs_safari_8_mac_yosemite": {
+ "base": "BrowserStack",
+ "os_version": "Yosemite",
+ "browser": "safari",
+ "browser_version": "8.0",
+ "device": null,
+ "os": "OS X"
+ },
+ "bs_ios_9": {
+ "base": "BrowserStack",
+ "os": "ios",
+ "os_version": "9.1",
+ "browser": "iphone",
+ "device": "iPhone 6S",
+ "browser_version": null
+ },
+ "bs_ios_8": {
+ "base": "BrowserStack",
+ "os": "ios",
+ "os_version": "8.3",
+ "browser": "iphone",
+ "device": "iPhone 6",
+ "browser_version": null
}
-}
+}
\ No newline at end of file
diff --git a/gulpfile.js b/gulpfile.js
index 12a50e40499..d2955f7d777 100644
--- a/gulpfile.js
+++ b/gulpfile.js
@@ -124,7 +124,11 @@ function newKarmaCallback(done) {
if (exitCode) {
done(new Error('Karma tests failed with exit code ' + exitCode));
} else {
- process.exit(0);
+ if (argv.browserstack) {
+ process.exit(0);
+ } else {
+ done();
+ }
}
}
}
diff --git a/karma.conf.maker.js b/karma.conf.maker.js
index 918046c20f0..30367f5fd57 100644
--- a/karma.conf.maker.js
+++ b/karma.conf.maker.js
@@ -86,9 +86,11 @@ function setBrowsers(karmaConf, browserstack) {
if (browserstack) {
karmaConf.browserStack = {
username: process.env.BROWSERSTACK_USERNAME,
- accessKey: process.env.BROWSERSTACK_ACCESS_KEY,
- startTunnel: false,
- tunnelIdentifier: process.env.BROWSERSTACK_LOCAL_IDENTIFIER
+ accessKey: process.env.BROWSERSTACK_ACCESS_KEY
+ }
+ if (process.env.TRAVIS) {
+ karmaConf.browserStack.startTunnel = false;
+ karmaConf.browserStack.tunnelIdentifier = process.env.BROWSERSTACK_LOCAL_IDENTIFIER;
}
karmaConf.customLaunchers = require('./browsers.json')
karmaConf.browsers = Object.keys(karmaConf.customLaunchers);
diff --git a/test/spec/modules/invibesBidAdapter_spec.js b/test/spec/modules/invibesBidAdapter_spec.js
index 1591f4bff43..646448bd5a7 100644
--- a/test/spec/modules/invibesBidAdapter_spec.js
+++ b/test/spec/modules/invibesBidAdapter_spec.js
@@ -114,7 +114,7 @@ describe('invibesBidAdapter:', function () {
expect(JSON.parse(request.data.bidParamsJson).placementIds).to.contain(bidRequests[1].params.placementId);
});
- it.skip('uses cookies', () => {
+ it('uses cookies', () => {
global.document.cookie = 'ivNoCookie=1';
let request = spec.buildRequests(bidRequests);
expect(request.data.lId).to.be.undefined;
diff --git a/test/spec/modules/realvuAnalyticsAdapter_spec.js b/test/spec/modules/realvuAnalyticsAdapter_spec.js
index f198780077f..7bb43002939 100644
--- a/test/spec/modules/realvuAnalyticsAdapter_spec.js
+++ b/test/spec/modules/realvuAnalyticsAdapter_spec.js
@@ -66,7 +66,7 @@ describe('RealVu Analytics Adapter.', () => {
result = realvuAnalyticsAdapter.checkIn(bid, ''); // test invalid partnerId ''
});
- it('isInView returns "yes"', () => {
+ it.skip('isInView returns "yes"', () => {
let inview = realvuAnalyticsAdapter.isInView('ad1');
expect(inview).to.equal('yes');
});
diff --git a/test/test_index.js b/test/test_index.js
index d17ea25a050..51323d87437 100644
--- a/test/test_index.js
+++ b/test/test_index.js
@@ -1,5 +1,4 @@
require('test/helpers/prebidGlobal.js');
-require('test/helpers/karma-init.js');
var testsContext = require.context('.', true, /_spec$/);
testsContext.keys().forEach(testsContext);
From 275e67da4087be426e31fe2f387dc69870b864c7 Mon Sep 17 00:00:00 2001
From: Yuriy Tyukhnin
Date: Mon, 9 Apr 2018 20:15:11 +0200
Subject: [PATCH 038/171] Smart: User sync (#2310)
* getUserSyncs function implementation
* bugfix and unit-tests
* unit-test to test that interpretResponse don't throw
* lint issue fix
---
modules/smartadserverBidAdapter.js | 19 ++++++++++++++-
.../modules/smartadserverBidAdapter_spec.js | 23 +++++++++++++------
2 files changed, 34 insertions(+), 8 deletions(-)
diff --git a/modules/smartadserverBidAdapter.js b/modules/smartadserverBidAdapter.js
index 3d2eaa4de83..d589dc74024 100644
--- a/modules/smartadserverBidAdapter.js
+++ b/modules/smartadserverBidAdapter.js
@@ -85,9 +85,26 @@ export const spec = {
bidResponses.push(bidResponse);
}
} catch (error) {
- console.log('Error while parsing smart server response');
+ utils.logError('Error while parsing smart server response', error);
}
return bidResponses;
+ },
+ /**
+ * User syncs.
+ *
+ * @param {*} syncOptions Publisher prebid configuration.
+ * @param {*} serverResponses A successful response from the server.
+ * @return {Syncs[]} An array of syncs that should be executed.
+ */
+ getUserSyncs: function (syncOptions, serverResponses) {
+ const syncs = []
+ if (syncOptions.iframeEnabled && serverResponses.length > 0) {
+ syncs.push({
+ type: 'iframe',
+ url: serverResponses[0].body.cSyncUrl
+ });
+ }
+ return syncs;
}
}
registerBidder(spec);
diff --git a/test/spec/modules/smartadserverBidAdapter_spec.js b/test/spec/modules/smartadserverBidAdapter_spec.js
index 6e052654685..201c5dd5cc9 100644
--- a/test/spec/modules/smartadserverBidAdapter_spec.js
+++ b/test/spec/modules/smartadserverBidAdapter_spec.js
@@ -4,9 +4,6 @@ import {
import {
spec
} from 'modules/smartadserverBidAdapter';
-import {
- getTopWindowLocation
-} from 'src/utils';
import {
newBidder
} from 'src/adapters/bidderFactory';
@@ -15,7 +12,7 @@ import {
} from 'src/config';
import * as utils from 'src/utils';
-describe('Smart ad server bid adapter tests', () => {
+describe('Smart bid adapter tests', () => {
var DEFAULT_PARAMS = [{
adUnitCode: 'sas_42',
bidId: 'abcd1234',
@@ -63,7 +60,8 @@ describe('Smart ad server bid adapter tests', () => {
isNetCpm: true,
ttl: 300,
adUrl: 'http://awesome.fake.url',
- ad: '< --- awesome script --- >'
+ ad: '< --- awesome script --- >',
+ cSyncUrl: 'http://awesome.fake.csync.url'
}
};
@@ -109,6 +107,8 @@ describe('Smart ad server bid adapter tests', () => {
expect(bid.ttl).to.equal(300);
expect(bid.requestId).to.equal(DEFAULT_PARAMS[0].bidId);
expect(bid.referrer).to.equal(utils.getTopWindowUrl());
+
+ expect(function() { spec.interpretResponse(BID_RESPONSE, {data: 'invalid Json'}) }).to.not.throw();
});
it('Verifies bidder code', () => {
@@ -151,7 +151,16 @@ describe('Smart ad server bid adapter tests', () => {
})).to.equal(false);
});
- it('Verifies sync options', () => {
- expect(spec.getUserSyncs).to.be.undefined;
+ it('Verifies user sync', () => {
+ var syncs = spec.getUserSyncs({iframeEnabled: true}, [BID_RESPONSE]);
+ expect(syncs).to.have.lengthOf(1);
+ expect(syncs[0].type).to.equal('iframe');
+ expect(syncs[0].url).to.equal('http://awesome.fake.csync.url');
+
+ syncs = spec.getUserSyncs({iframeEnabled: false}, [BID_RESPONSE]);
+ expect(syncs).to.have.lengthOf(0);
+
+ syncs = spec.getUserSyncs({iframeEnabled: true}, []);
+ expect(syncs).to.have.lengthOf(0);
});
});
From c738ab502806fc675208a25f9cccc8c22edf16b8 Mon Sep 17 00:00:00 2001
From: Jaimin Panchal
Date: Tue, 10 Apr 2018 13:36:07 -0400
Subject: [PATCH 039/171] Added bid pool and fixed getAllWinningBids function
(#2328)
* Created bid pool, fixed getAllWinningBids and added new api getAllPrebidWinningBids
* Updated ttl buffer to 1000
* updated function names
---
src/auction.js | 6 +-
src/auctionManager.js | 4 +-
src/prebid.js | 24 +++++--
src/targeting.js | 21 +++++-
test/fixtures/fixtures.js | 38 ++++++++++
test/spec/unit/core/targeting_spec.js | 100 +++++++++++++++++++++++++-
test/spec/unit/pbjs_api_spec.js | 28 +++++++-
7 files changed, 205 insertions(+), 16 deletions(-)
diff --git a/src/auction.js b/src/auction.js
index 3c9e9bf86f1..9212b5afa2b 100644
--- a/src/auction.js
+++ b/src/auction.js
@@ -95,7 +95,7 @@ export function newAuction({adUnits, adUnitCodes, callback, cbTimeout, labels})
let _callback = callback;
let _timer;
let _timeout = cbTimeout;
- let _winningBid;
+ let _winningBids = [];
function addBidRequests(bidderRequests) { _bidderRequests = _bidderRequests.concat(bidderRequests) };
function addBidReceived(bidsReceived) { _bidsReceived = _bidsReceived.concat(bidsReceived); }
@@ -202,8 +202,8 @@ export function newAuction({adUnits, adUnitCodes, callback, cbTimeout, labels})
executeCallback,
callBids,
bidsBackAll,
- setWinningBid: (winningBid) => { _winningBid = winningBid },
- getWinningBid: () => _winningBid,
+ addWinningBid: (winningBid) => { _winningBids = _winningBids.concat(winningBid) },
+ getWinningBids: () => _winningBids,
getTimeout: () => _timeout,
getAuctionId: () => _auctionId,
getAuctionStatus: () => _auctionStatus,
diff --git a/src/auctionManager.js b/src/auctionManager.js
index 65723d6c199..f845db5f934 100644
--- a/src/auctionManager.js
+++ b/src/auctionManager.js
@@ -35,14 +35,14 @@ export function newAuctionManager() {
auctionManager.addWinningBid = function(bid) {
const auction = find(_auctions, auction => auction.getAuctionId() === bid.auctionId);
if (auction) {
- auction.setWinningBid(bid);
+ auction.addWinningBid(bid);
} else {
utils.logWarn(`Auction not found when adding winning bid`);
}
}
auctionManager.getAllWinningBids = function() {
- return _auctions.map(auction => auction.getWinningBid())
+ return _auctions.map(auction => auction.getWinningBids())
.reduce(flatten, []);
}
diff --git a/src/prebid.js b/src/prebid.js
index 48a48d20707..b6f36a60086 100644
--- a/src/prebid.js
+++ b/src/prebid.js
@@ -7,7 +7,7 @@ import { userSync } from 'src/userSync.js';
import { loadScript } from './adloader';
import { config } from './config';
import { auctionManager } from './auctionManager';
-import { targeting } from './targeting';
+import { targeting, getOldestBid, RENDERED, BID_TARGETING_SET } from './targeting';
import { createHook } from 'src/hook';
import includes from 'core-js/library/fn/array/includes';
@@ -20,8 +20,6 @@ const events = require('./events');
const { triggerUserSyncs } = userSync;
/* private variables */
-
-const RENDERED = 'rendered';
const { ADD_AD_UNITS, BID_WON, REQUEST_BIDS, SET_TARGETING, AD_RENDER_FAILED } = CONSTANTS.EVENTS;
const { PREVENT_WRITING_ON_MAIN_DOCUMENT, NO_AD, EXCEPTION, CANNOT_FIND_AD, MISSING_DOC_OR_ADID } = CONSTANTS.AD_RENDER_FAILED_REASON;
@@ -110,7 +108,8 @@ $$PREBID_GLOBAL$$.getAdserverTargetingForAdUnitCode = function(adUnitCode) {
$$PREBID_GLOBAL$$.getAdserverTargeting = function (adUnitCode) {
utils.logInfo('Invoking $$PREBID_GLOBAL$$.getAdserverTargeting', arguments);
- return targeting.getAllTargeting(adUnitCode, auctionManager.getBidsReceived());
+ let bidsReceived = auctionManager.getBidsReceived();
+ return targeting.getAllTargeting(adUnitCode, bidsReceived);
};
/**
@@ -556,14 +555,24 @@ $$PREBID_GLOBAL$$.aliasBidder = function (bidderCode, alias) {
*/
/**
- * Get all of the bids that have won their respective auctions. Useful for [troubleshooting your integration](http://prebid.org/dev-docs/prebid-troubleshooting-guide.html).
- * @return {Array} A list of bids that have won their respective auctions.
+ * Get all of the bids that have been rendered. Useful for [troubleshooting your integration](http://prebid.org/dev-docs/prebid-troubleshooting-guide.html).
+ * @return {Array} A list of bids that have been rendered.
*/
$$PREBID_GLOBAL$$.getAllWinningBids = function () {
return auctionManager.getAllWinningBids()
.map(removeRequestId);
};
+/**
+ * Get all of the bids that have won their respective auctions.
+ * @return {Array} A list of bids that have won their respective auctions.
+ */
+$$PREBID_GLOBAL$$.getAllPrebidWinningBids = function () {
+ return auctionManager.getBidsReceived()
+ .filter(bid => bid.status === BID_TARGETING_SET)
+ .map(removeRequestId);
+};
+
/**
* Get array of highest cpm bids for all adUnits, or highest cpm bid
* object for the given adUnit
@@ -572,7 +581,8 @@ $$PREBID_GLOBAL$$.getAllWinningBids = function () {
* @return {Array} array containing highest cpm bid object(s)
*/
$$PREBID_GLOBAL$$.getHighestCpmBids = function (adUnitCode) {
- return targeting.getWinningBids(adUnitCode, auctionManager.getBidsReceived())
+ let bidsReceived = auctionManager.getBidsReceived().filter(getOldestBid);
+ return targeting.getWinningBids(adUnitCode, bidsReceived)
.map(removeRequestId);
};
diff --git a/src/targeting.js b/src/targeting.js
index 852a45b6bac..2abbc955aa5 100644
--- a/src/targeting.js
+++ b/src/targeting.js
@@ -10,14 +10,29 @@ var CONSTANTS = require('./constants.json');
var pbTargetingKeys = [];
export const BID_TARGETING_SET = 'targetingSet';
+export const RENDERED = 'rendered';
const MAX_DFP_KEYLENGTH = 20;
+const TTL_BUFFER = 1000;
// return unexpired bids
-export const isBidExpired = (bid) => (timestamp() - bid.responseTimestamp) < bid.ttl * 1000;
+export const isBidExpired = (bid) => (bid.responseTimestamp + bid.ttl * 1000 + TTL_BUFFER) > timestamp();
// return bids whose status is not set. Winning bid can have status `targetingSet` or `rendered`.
-const isUnusedBid = (bid) => bid && ((bid.status && bid.status === BID_TARGETING_SET) || !bid.status);
+const isUnusedBid = (bid) => bid && ((bid.status && !includes([BID_TARGETING_SET, RENDERED], bid.status)) || !bid.status);
+
+// If two bids are found for same adUnitCode, we will use the latest one to take part in auction
+// This can happen in case of concurrent autions
+export const getOldestBid = function(bid, i, arr) {
+ let oldestBid = true;
+ arr.forEach((val, j) => {
+ if (i === j) return;
+ if (bid.bidder === val.bidder && bid.adUnitCode === val.adUnitCode && bid.responseTimestamp > val.responseTimestamp) {
+ oldestBid = false;
+ }
+ });
+ return oldestBid;
+}
/**
* @typedef {Object.} targeting
@@ -162,6 +177,8 @@ export function newTargeting(auctionManager) {
return auctionManager.getBidsReceived()
.filter(isUnusedBid)
.filter(exports.isBidExpired)
+ .filter(getOldestBid)
+ ;
}
/**
diff --git a/test/fixtures/fixtures.js b/test/fixtures/fixtures.js
index b1d94426db0..fc59d7eeab3 100644
--- a/test/fixtures/fixtures.js
+++ b/test/fixtures/fixtures.js
@@ -1404,3 +1404,41 @@ export function getCurrencyRates() {
}
};
}
+
+export function createBidReceived({bidder, cpm, auctionId, responseTimestamp, adUnitCode, adId, status, ttl}) {
+ let bid = {
+ 'bidderCode': bidder,
+ 'width': '300',
+ 'height': '250',
+ 'statusMessage': 'Bid available',
+ 'adId': adId,
+ 'cpm': cpm,
+ 'ad': 'markup',
+ 'ad_id': adId,
+ 'sizeId': '15',
+ 'requestTimestamp': 1454535718610,
+ 'responseTimestamp': responseTimestamp,
+ 'auctionId': auctionId,
+ 'timeToRespond': 123,
+ 'pbLg': '0.50',
+ 'pbMg': '0.50',
+ 'pbHg': '0.53',
+ 'adUnitCode': adUnitCode,
+ 'bidder': bidder,
+ 'size': '300x250',
+ 'adserverTargeting': {
+ 'hb_bidder': bidder,
+ 'hb_adid': adId,
+ 'hb_pb': cpm,
+ 'foobar': '300x250'
+ },
+ 'netRevenue': true,
+ 'currency': 'USD',
+ 'ttl': (!ttl) ? 300 : ttl
+ };
+
+ if (typeof status !== 'undefined') {
+ bid.status = status;
+ }
+ return bid;
+}
diff --git a/test/spec/unit/core/targeting_spec.js b/test/spec/unit/core/targeting_spec.js
index c7eb3623e08..1fa648e9825 100644
--- a/test/spec/unit/core/targeting_spec.js
+++ b/test/spec/unit/core/targeting_spec.js
@@ -1,10 +1,11 @@
import { expect } from 'chai';
import { targeting as targetingInstance } from 'src/targeting';
import { config } from 'src/config';
-import { getAdUnits } from 'test/fixtures/fixtures';
+import { getAdUnits, createBidReceived } from 'test/fixtures/fixtures';
import CONSTANTS from 'src/constants.json';
import { auctionManager } from 'src/auctionManager';
import * as targetingModule from 'src/targeting';
+import * as utils from 'src/utils';
const bid1 = {
'bidderCode': 'rubicon',
@@ -134,4 +135,101 @@ describe('targeting tests', () => {
expect(targeting['/123456/header-bid-tag-0']['hb_pb_rubicon']).to.deep.equal(targeting['/123456/header-bid-tag-0']['hb_pb']);
});
}); // end getAllTargeting tests
+
+ describe('Targeting in concurrent auctions', () => {
+ describe('check getOldestBid', () => {
+ let bidExpiryStub;
+ let auctionManagerStub;
+ beforeEach(() => {
+ bidExpiryStub = sinon.stub(targetingModule, 'isBidExpired').returns(true);
+ auctionManagerStub = sinon.stub(auctionManager, 'getBidsReceived');
+ });
+
+ afterEach(() => {
+ bidExpiryStub.restore();
+ auctionManagerStub.restore();
+ });
+
+ it('should use bids from pool to get Winning Bid', () => {
+ let bidsReceived = [
+ createBidReceived({bidder: 'appnexus', cpm: 7, auctionId: 1, responseTimestamp: 100, adUnitCode: 'code-0', adId: 'adid-1'}),
+ createBidReceived({bidder: 'rubicon', cpm: 6, auctionId: 1, responseTimestamp: 101, adUnitCode: 'code-1', adId: 'adid-2'}),
+ createBidReceived({bidder: 'appnexus', cpm: 6, auctionId: 2, responseTimestamp: 102, adUnitCode: 'code-0', adId: 'adid-3'}),
+ createBidReceived({bidder: 'rubicon', cpm: 6, auctionId: 2, responseTimestamp: 103, adUnitCode: 'code-1', adId: 'adid-4'}),
+ ];
+ let adUnitCodes = ['code-0', 'code-1'];
+
+ let bids = targetingInstance.getWinningBids(adUnitCodes, bidsReceived);
+
+ expect(bids.length).to.equal(2);
+ expect(bids[0].adId).to.equal('adid-1');
+ expect(bids[1].adId).to.equal('adid-2');
+ });
+
+ it('should not use rendered bid to get winning bid', () => {
+ let bidsReceived = [
+ createBidReceived({bidder: 'appnexus', cpm: 8, auctionId: 1, responseTimestamp: 100, adUnitCode: 'code-0', adId: 'adid-1', status: 'rendered'}),
+ createBidReceived({bidder: 'rubicon', cpm: 6, auctionId: 1, responseTimestamp: 101, adUnitCode: 'code-1', adId: 'adid-2'}),
+ createBidReceived({bidder: 'appnexus', cpm: 7, auctionId: 2, responseTimestamp: 102, adUnitCode: 'code-0', adId: 'adid-3'}),
+ createBidReceived({bidder: 'rubicon', cpm: 6, auctionId: 2, responseTimestamp: 103, adUnitCode: 'code-1', adId: 'adid-4'}),
+ ];
+ auctionManagerStub.returns(bidsReceived);
+
+ let adUnitCodes = ['code-0', 'code-1'];
+ let bids = targetingInstance.getWinningBids(adUnitCodes);
+
+ expect(bids.length).to.equal(2);
+ expect(bids[0].adId).to.equal('adid-2');
+ expect(bids[1].adId).to.equal('adid-3');
+ });
+
+ it('should use oldest bids from bid pool to get winning bid', () => {
+ // Pool is having 4 bids from 2 auctions. There are 2 bids from rubicon, #2 which is first bid will be selected to take part in auction.
+ let bidsReceived = [
+ createBidReceived({bidder: 'appnexus', cpm: 8, auctionId: 1, responseTimestamp: 100, adUnitCode: 'code-0', adId: 'adid-1'}),
+ createBidReceived({bidder: 'rubicon', cpm: 9, auctionId: 1, responseTimestamp: 101, adUnitCode: 'code-0', adId: 'adid-2'}),
+ createBidReceived({bidder: 'appnexus', cpm: 7, auctionId: 2, responseTimestamp: 102, adUnitCode: 'code-0', adId: 'adid-3'}),
+ createBidReceived({bidder: 'rubicon', cpm: 10, auctionId: 2, responseTimestamp: 103, adUnitCode: 'code-0', adId: 'adid-4'}),
+ ];
+ auctionManagerStub.returns(bidsReceived);
+
+ let adUnitCodes = ['code-0'];
+ let bids = targetingInstance.getWinningBids(adUnitCodes);
+
+ expect(bids.length).to.equal(1);
+ expect(bids[0].adId).to.equal('adid-2');
+ });
+ });
+
+ describe('check bidExpiry', () => {
+ let auctionManagerStub;
+ let timestampStub;
+ beforeEach(() => {
+ auctionManagerStub = sinon.stub(auctionManager, 'getBidsReceived');
+ timestampStub = sinon.stub(utils, 'timestamp');
+ });
+
+ afterEach(() => {
+ auctionManagerStub.restore();
+ timestampStub.restore();
+ });
+ it('should not include expired bids in the auction', () => {
+ timestampStub.returns(200000);
+ // Pool is having 4 bids from 2 auctions. All the bids are expired and only bid #3 is passing the bidExpiry check.
+ let bidsReceived = [
+ createBidReceived({bidder: 'appnexus', cpm: 18, auctionId: 1, responseTimestamp: 100, adUnitCode: 'code-0', adId: 'adid-1', ttl: 150}),
+ createBidReceived({bidder: 'sampleBidder', cpm: 16, auctionId: 1, responseTimestamp: 101, adUnitCode: 'code-0', adId: 'adid-2', ttl: 100}),
+ createBidReceived({bidder: 'appnexus', cpm: 7, auctionId: 2, responseTimestamp: 102, adUnitCode: 'code-0', adId: 'adid-3', ttl: 300}),
+ createBidReceived({bidder: 'rubicon', cpm: 6, auctionId: 2, responseTimestamp: 103, adUnitCode: 'code-0', adId: 'adid-4', ttl: 50}),
+ ];
+ auctionManagerStub.returns(bidsReceived);
+
+ let adUnitCodes = ['code-0', 'code-1'];
+ let bids = targetingInstance.getWinningBids(adUnitCodes);
+
+ expect(bids.length).to.equal(1);
+ expect(bids[0].adId).to.equal('adid-3');
+ });
+ });
+ });
});
diff --git a/test/spec/unit/pbjs_api_spec.js b/test/spec/unit/pbjs_api_spec.js
index 92b5d7b5a9f..5b78dfe78e2 100644
--- a/test/spec/unit/pbjs_api_spec.js
+++ b/test/spec/unit/pbjs_api_spec.js
@@ -5,7 +5,8 @@ import {
getBidResponsesFromAPI,
getTargetingKeys,
getTargetingKeysBidLandscape,
- getAdUnits
+ getAdUnits,
+ createBidReceived
} from 'test/fixtures/fixtures';
import { auctionManager, newAuctionManager } from 'src/auctionManager';
import { targeting, newTargeting } from 'src/targeting';
@@ -1628,4 +1629,29 @@ describe('Unit: Prebid Module', function () {
assert.equal($$PREBID_GLOBAL$$.que.push, $$PREBID_GLOBAL$$.cmd.push);
});
});
+
+ describe('getAllPrebidWinningBids', () => {
+ let auctionManagerStub;
+ beforeEach(() => {
+ auctionManagerStub = sinon.stub(auctionManager, 'getBidsReceived');
+ });
+
+ afterEach(() => {
+ auctionManagerStub.restore();
+ });
+
+ it('should return prebid auction winning bids', () => {
+ let bidsReceived = [
+ createBidReceived({bidder: 'appnexus', cpm: 7, auctionId: 1, responseTimestamp: 100, adUnitCode: 'code-0', adId: 'adid-1', status: 'targetingSet'}),
+ createBidReceived({bidder: 'rubicon', cpm: 6, auctionId: 1, responseTimestamp: 101, adUnitCode: 'code-1', adId: 'adid-2'}),
+ createBidReceived({bidder: 'appnexus', cpm: 6, auctionId: 2, responseTimestamp: 102, adUnitCode: 'code-0', adId: 'adid-3'}),
+ createBidReceived({bidder: 'rubicon', cpm: 6, auctionId: 2, responseTimestamp: 103, adUnitCode: 'code-1', adId: 'adid-4'}),
+ ];
+ auctionManagerStub.returns(bidsReceived)
+ let bids = $$PREBID_GLOBAL$$.getAllPrebidWinningBids();
+
+ expect(bids.length).to.equal(1);
+ expect(bids[0].adId).to.equal('adid-1');
+ });
+ });
});
From d8a81fc5a332f64d4da581e7ee5c02313e9d0272 Mon Sep 17 00:00:00 2001
From: Isaac Dettman
Date: Tue, 10 Apr 2018 10:49:29 -0700
Subject: [PATCH 040/171] Rubicon Adapter - Multiple media types bug fix
(#2347)
* Removed validation for video mediaTypes; unsupported/malformed video mediaTypes fallback to banner type
* Updated warning text for mediaTypes actions
* Linting fixes
* Added validation for mediaTypes requiring a banner property if video is malformed to fallback without invalidating
* fixed typo and some spacing
* Added invalidation case for invalid legacy video definition
* Linting fix for space after comma in spec file
---
modules/rubiconBidAdapter.js | 32 ++++++++---
test/spec/modules/rubiconBidAdapter_spec.js | 61 +++++++++++++++++++--
2 files changed, 79 insertions(+), 14 deletions(-)
diff --git a/modules/rubiconBidAdapter.js b/modules/rubiconBidAdapter.js
index b60755f2421..9cb4b0ab6cc 100644
--- a/modules/rubiconBidAdapter.js
+++ b/modules/rubiconBidAdapter.js
@@ -89,17 +89,31 @@ export const spec = {
return false;
}
+ // Log warning if context is 'outstream', is not currently supported
+ if (utils.deepAccess(bid, `mediaTypes.${VIDEO}.context`) === 'outstream') {
+ utils.logWarn('Warning: outstream video for Rubicon Client Adapter is not supported yet');
+ }
+
+ // Log warning if mediaTypes contains both 'banner' and 'video'
+ if (spec.hasVideoMediaType(bid) && typeof utils.deepAccess(bid, `mediaTypes.${BANNER}`) !== 'undefined') {
+ utils.logWarn('Warning: instream video and banner requested for same ad unit, continuing with video instream request');
+ }
+
+ // Bid is invalid if legacy video is set but params video is missing size_id
+ if (bid.mediaType === 'video' && typeof utils.deepAccess(bid, 'params.video.size_id') === 'undefined') {
+ return false;
+ }
+
+ // Bid is invalid if mediaTypes video is invalid and a mediaTypes banner property is not defined
+ if (bid.mediaTypes && !spec.hasVideoMediaType(bid) && typeof bid.mediaTypes.banner === 'undefined') {
+ return false;
+ }
+
let parsedSizes = parseSizes(bid);
if (parsedSizes.length < 1) {
return false;
}
- if (spec.hasVideoMediaType(bid)) {
- // support instream only
- if ((utils.deepAccess(bid, `mediaTypes.${VIDEO}`) && utils.deepAccess(bid, `mediaTypes.${VIDEO}.context`) !== 'instream') || typeof params.video !== 'object' || !params.video.size_id) {
- return false;
- }
- }
return true;
},
/**
@@ -246,7 +260,8 @@ export const spec = {
* @returns {boolean}
*/
hasVideoMediaType: function(bidRequest) {
- return bidRequest.mediaType === VIDEO || typeof utils.deepAccess(bidRequest, `mediaTypes.${VIDEO}`) !== 'undefined';
+ return (typeof utils.deepAccess(bidRequest, 'params.video.size_id') !== 'undefined' &&
+ (bidRequest.mediaType === VIDEO || utils.deepAccess(bidRequest, `mediaTypes.${VIDEO}.context`) === 'instream'));
},
/**
* @param {*} responseObj
@@ -373,7 +388,7 @@ function parseSizes(bid) {
let params = bid.params;
if (spec.hasVideoMediaType(bid)) {
let size = [];
- if (typeof params.video === 'object' && params.video.playerWidth && params.video.playerHeight) {
+ if (params.video && params.video.playerWidth && params.video.playerHeight) {
size = [
params.video.playerWidth,
params.video.playerHeight
@@ -384,6 +399,7 @@ function parseSizes(bid) {
return size;
}
+ // deprecated: temp legacy support
let sizes = Array.isArray(params.sizes) ? params.sizes : mapSizes(bid.sizes)
return masSizeOrdering(sizes);
diff --git a/test/spec/modules/rubiconBidAdapter_spec.js b/test/spec/modules/rubiconBidAdapter_spec.js
index 107f8d3ea2c..954348935df 100644
--- a/test/spec/modules/rubiconBidAdapter_spec.js
+++ b/test/spec/modules/rubiconBidAdapter_spec.js
@@ -712,7 +712,29 @@ describe('the rubicon adapter', () => {
expect(floor).to.equal(3.25);
});
- it('should not validate bid request when a invalid video object is passed in', () => {
+ it('should validate bid request with invalid video if a mediaTypes banner property is defined', () => {
+ const bidRequest = {
+ mediaTypes: {
+ video: {
+ context: 'instream'
+ },
+ banner: {
+ sizes: [[300, 250]]
+ }
+ },
+ params: {
+ accountId: 1001,
+ video: {}
+ },
+ sizes: [[300, 250]]
+ }
+ sandbox.stub(Date, 'now').callsFake(() =>
+ bidderRequest.auctionStart + 100
+ );
+ expect(spec.isBidRequestValid(bidRequest)).to.equal(true);
+ });
+
+ it('should not validate bid request when a invalid video object and no banner object is passed in', () => {
createVideoBidderRequestNoVideo();
sandbox.stub(Date, 'now').callsFake(() =>
bidderRequest.auctionStart + 100
@@ -730,7 +752,7 @@ describe('the rubicon adapter', () => {
bidRequestCopy.params.video = 123;
expect(spec.isBidRequestValid(bidRequestCopy)).to.equal(false);
- bidRequestCopy.params.video = { size_id: '' };
+ bidRequestCopy.params.video = { size_id: undefined };
expect(spec.isBidRequestValid(bidRequestCopy)).to.equal(false);
delete bidRequestCopy.params.video;
@@ -798,12 +820,22 @@ describe('the rubicon adapter', () => {
});
describe('hasVideoMediaType', () => {
- it('should return true if mediaType is true', () => {
+ it('should return true if mediaType is video and size_id is set', () => {
createVideoBidderRequest();
const legacyVideoTypeBidRequest = spec.hasVideoMediaType(bidderRequest.bids[0]);
expect(legacyVideoTypeBidRequest).is.equal(true);
});
+ it('should return false if mediaType is video and size_id is not defined', () => {
+ expect(spec.hasVideoMediaType({
+ bid: 99,
+ mediaType: 'video',
+ params: {
+ video: {}
+ }
+ })).is.equal(false);
+ });
+
it('should return false if bidRequest.mediaType is not equal to video', () => {
expect(spec.hasVideoMediaType({
mediaType: 'banner'
@@ -814,16 +846,33 @@ describe('the rubicon adapter', () => {
expect(spec.hasVideoMediaType({})).is.equal(false);
});
- it('should return true if bidRequest.mediaTypes.video object exists', () => {
+ it('should return true if bidRequest.mediaTypes.video.context is instream and size_id is defined', () => {
expect(spec.hasVideoMediaType({
mediaTypes: {
video: {
- context: 'outstream',
- playerSize: [300, 250]
+ context: 'instream'
+ }
+ },
+ params: {
+ video: {
+ size_id: 7
}
}
})).is.equal(true);
});
+
+ it('should return false if bidRequest.mediaTypes.video.context is instream but size_id is not defined', () => {
+ expect(spec.hasVideoMediaType({
+ mediaTypes: {
+ video: {
+ context: 'instream'
+ }
+ },
+ params: {
+ video: {}
+ }
+ })).is.equal(false);
+ });
});
});
From 684ad75dfd9f31b505ccfc344a2fcbd193564adc Mon Sep 17 00:00:00 2001
From: Matt Kendall <1870166+mkendall07@users.noreply.github.com>
Date: Tue, 10 Apr 2018 14:37:42 -0400
Subject: [PATCH 041/171] uppercase all keys for AST macros (#2373)
---
src/targeting.js | 4 +---
test/spec/unit/pbjs_api_spec.js | 3 +--
2 files changed, 2 insertions(+), 5 deletions(-)
diff --git a/src/targeting.js b/src/targeting.js
index 2abbc955aa5..498335b598c 100644
--- a/src/targeting.js
+++ b/src/targeting.js
@@ -210,9 +210,7 @@ export function newTargeting(auctionManager) {
// setKeywords supports string and array as value
if (utils.isStr(astTargeting[targetId][key]) || utils.isArray(astTargeting[targetId][key])) {
let keywordsObj = {};
- let input = 'hb_adid';
- let nKey = (key.substring(0, input.length) === input) ? key.toUpperCase() : key;
- keywordsObj[nKey] = astTargeting[targetId][key];
+ keywordsObj[key.toUpperCase()] = astTargeting[targetId][key];
window.apntag.setKeywords(targetId, keywordsObj);
}
})
diff --git a/test/spec/unit/pbjs_api_spec.js b/test/spec/unit/pbjs_api_spec.js
index 5b78dfe78e2..ff7b261117c 100644
--- a/test/spec/unit/pbjs_api_spec.js
+++ b/test/spec/unit/pbjs_api_spec.js
@@ -1579,8 +1579,7 @@ describe('Unit: Prebid Module', function () {
var expectedAdserverTargeting = bids[0].adserverTargeting;
var newAdserverTargeting = {};
for (var key in expectedAdserverTargeting) {
- var nkey = (key === 'hb_adid') ? key.toUpperCase() : key;
- newAdserverTargeting[nkey] = expectedAdserverTargeting[key];
+ newAdserverTargeting[key.toUpperCase()] = expectedAdserverTargeting[key];
}
targeting.setTargetingForAst();
From 0bf6c7d1377adfbd0e2d5670c87a29931902ae3a Mon Sep 17 00:00:00 2001
From: Rich Snapp
Date: Tue, 10 Apr 2018 15:20:23 -0600
Subject: [PATCH 042/171] Rubicon analytics (#2278)
rubicon analytics adapter
---
karma.conf.maker.js | 12 +-
modules/currency.js | 32 +-
modules/rubiconAnalyticsAdapter.js | 448 +
package-lock.json | 12651 +++++++---------
package.json | 6 +-
src/AnalyticsAdapter.js | 28 +-
src/adapters/bidderFactory.js | 8 +
src/ajax.js | 2 +-
src/auction.js | 2 +-
src/constants.json | 1 +
src/prebid.js | 4 +-
.../modules/adxcgAnalyticsAdapter_spec.js | 33 +-
.../modules/eplanningAnalyticsAdapter_spec.js | 1 +
.../modules/rubiconAnalyticsAdapter_spec.js | 635 +
test/spec/modules/rubiconAnalyticsSchema.json | 357 +
test/spec/video_spec.js | 10 +-
16 files changed, 6942 insertions(+), 7288 deletions(-)
create mode 100644 modules/rubiconAnalyticsAdapter.js
create mode 100644 test/spec/modules/rubiconAnalyticsAdapter_spec.js
create mode 100644 test/spec/modules/rubiconAnalyticsSchema.json
diff --git a/karma.conf.maker.js b/karma.conf.maker.js
index 30367f5fd57..2ff1d7d0880 100644
--- a/karma.conf.maker.js
+++ b/karma.conf.maker.js
@@ -32,8 +32,8 @@ function newPluginsArray(browserstack) {
'karma-chrome-launcher',
'karma-coverage-istanbul-reporter',
'karma-es5-shim',
- 'karma-expect',
'karma-mocha',
+ 'karma-chai',
'karma-requirejs',
'karma-sinon',
'karma-sourcemap-loader',
@@ -43,7 +43,6 @@ function newPluginsArray(browserstack) {
];
if (browserstack) {
plugins.push('karma-browserstack-launcher');
- plugins.push('karma-sauce-launcher');
plugins.push('karma-firefox-launcher');
plugins.push('karma-opera-launcher');
plugins.push('karma-safari-launcher');
@@ -64,8 +63,6 @@ function setReporters(karmaConf, codeCoverage, browserstack) {
suppressSkipped: false,
suppressPassed: true
};
- } else {
- karmaConf.reporters = ['progress'];
}
if (codeCoverage) {
karmaConf.reporters.push('coverage-istanbul');
@@ -120,7 +117,7 @@ module.exports = function(codeCoverage, browserstack, watchMode, file) {
},
// frameworks to use
// available frameworks: https://npmjs.org/browse/keyword/karma-adapter
- frameworks: ['es5-shim', 'mocha', 'expect', 'sinon'],
+ frameworks: ['es5-shim', 'mocha', 'chai', 'sinon'],
files: files,
@@ -143,7 +140,10 @@ module.exports = function(codeCoverage, browserstack, watchMode, file) {
// enable / disable watching file and executing tests whenever any file changes
autoWatch: true,
- reporters: ['progress'],
+ reporters: ['mocha'],
+ mochaReporter: {
+ showDiff: true
+ },
// Continuous Integration mode
// if true, Karma captures browsers, runs the tests and exits
diff --git a/modules/currency.js b/modules/currency.js
index 90941538363..25eddc5b993 100644
--- a/modules/currency.js
+++ b/modules/currency.js
@@ -173,17 +173,21 @@ function processBidResponseQueue() {
function wrapFunction(fn, context, params) {
return function() {
- var bid = params[1];
+ let bid = params[1];
if (bid !== undefined && 'currency' in bid && 'cpm' in bid) {
- var fromCurrency = bid.currency;
+ let fromCurrency = bid.currency;
try {
- var conversion = getCurrencyConversion(fromCurrency);
- bid.originalCpm = bid.cpm;
+ let conversion = getCurrencyConversion(fromCurrency);
+ let cpm = bid.originalCpm = bid.cpm;
bid.originalCurrency = bid.currency;
if (conversion !== 1) {
bid.cpm = (parseFloat(bid.cpm) * conversion).toFixed(4);
bid.currency = adServerCurrency;
}
+ // used for analytics
+ bid.getCpmInNewCurrency = function(toCurrency) {
+ return (parseFloat(cpm) * getCurrencyConversion(fromCurrency, toCurrency)).toFixed(3);
+ };
} catch (e) {
utils.logWarn('Returning NO_BID, getCurrencyConversion threw error: ', e);
params[1] = bidfactory.createBid(STATUS.NO_BID, {
@@ -196,24 +200,22 @@ function wrapFunction(fn, context, params) {
};
}
-function getCurrencyConversion(fromCurrency) {
+function getCurrencyConversion(fromCurrency, toCurrency = adServerCurrency) {
var conversionRate = null;
var rates;
-
- if (fromCurrency in conversionCache) {
- conversionRate = conversionCache[fromCurrency];
- utils.logMessage('Using conversionCache value ' + conversionRate + ' for fromCurrency ' + fromCurrency);
+ let cacheKey = `${fromCurrency}->${toCurrency}`;
+ if (cacheKey in conversionCache) {
+ conversionRate = conversionCache[cacheKey];
+ utils.logMessage('Using conversionCache value ' + conversionRate + ' for ' + cacheKey);
} else if (currencySupportEnabled === false) {
if (fromCurrency === 'USD') {
conversionRate = 1;
} else {
throw new Error('Prebid currency support has not been enabled and fromCurrency is not USD');
}
- } else if (fromCurrency === adServerCurrency) {
+ } else if (fromCurrency === toCurrency) {
conversionRate = 1;
} else {
- var toCurrency = adServerCurrency;
-
if (fromCurrency in currencyRates.conversions) {
// using direct conversion rate from fromCurrency to toCurrency
rates = currencyRates.conversions[fromCurrency];
@@ -252,9 +254,9 @@ function getCurrencyConversion(fromCurrency) {
utils.logInfo('getCurrencyConversion using intermediate ' + fromCurrency + ' thru ' + anyBaseCurrency + ' to ' + toCurrency + ' conversionRate ' + conversionRate);
}
}
- if (!(fromCurrency in conversionCache)) {
- utils.logMessage('Adding conversionCache value ' + conversionRate + ' for fromCurrency ' + fromCurrency);
- conversionCache[fromCurrency] = conversionRate;
+ if (!(cacheKey in conversionCache)) {
+ utils.logMessage('Adding conversionCache value ' + conversionRate + ' for ' + cacheKey);
+ conversionCache[cacheKey] = conversionRate;
}
return conversionRate;
}
diff --git a/modules/rubiconAnalyticsAdapter.js b/modules/rubiconAnalyticsAdapter.js
new file mode 100644
index 00000000000..32d1a79af5c
--- /dev/null
+++ b/modules/rubiconAnalyticsAdapter.js
@@ -0,0 +1,448 @@
+import adapter from 'src/AnalyticsAdapter';
+import adaptermanager from 'src/adaptermanager';
+import CONSTANTS from 'src/constants.json';
+import { ajax } from 'src/ajax';
+import { config } from 'src/config';
+import * as utils from 'src/utils';
+
+const {
+ EVENTS: {
+ AUCTION_INIT,
+ AUCTION_END,
+ BID_REQUESTED,
+ BID_RESPONSE,
+ BIDDER_DONE,
+ BID_TIMEOUT,
+ BID_WON,
+ SET_TARGETING
+ },
+ STATUS: {
+ GOOD,
+ NO_BID
+ }
+} = CONSTANTS;
+
+let serverConfig;
+config.getConfig('s2sConfig', ({s2sConfig}) => {
+ serverConfig = s2sConfig;
+});
+
+export const SEND_TIMEOUT = 3000;
+const INTEGRATION = 'pbjs';
+
+const cache = {
+ auctions: {},
+ targeting: {},
+ timeouts: {},
+};
+
+// basically lodash#pick that also allows transformation functions and property renaming
+function _pick(obj, properties) {
+ return properties.reduce((newObj, prop, i) => {
+ if (typeof prop === 'function') {
+ return newObj;
+ }
+
+ let newProp = prop;
+ let match = prop.match(/^(.+?)\sas\s(.+?)$/i);
+
+ if (match) {
+ prop = match[1];
+ newProp = match[2];
+ }
+
+ let value = obj[prop];
+ if (typeof properties[i + 1] === 'function') {
+ value = properties[i + 1](value, newObj);
+ }
+ if (typeof value !== 'undefined') {
+ newObj[newProp] = value;
+ }
+
+ return newObj;
+ }, {});
+}
+
+function stringProperties(obj) {
+ return Object.keys(obj).reduce((newObj, prop) => {
+ let value = obj[prop];
+ if (typeof value === 'number') {
+ value = value.toFixed(3);
+ } else if (typeof value !== 'string') {
+ value = String(value);
+ }
+ newObj[prop] = value;
+ return newObj;
+ }, {});
+}
+
+function sizeToDimensions(size) {
+ return {
+ width: size.w || size[0],
+ height: size.h || size[1]
+ };
+}
+
+function validMediaType(type) {
+ return ['banner', 'native', 'video'].indexOf(type) !== -1;
+}
+
+function formatSource(src) {
+ if (typeof src === 'undefined') {
+ src = 'client';
+ } else if (src === 's2s') {
+ src = 'server';
+ }
+ return src.toLowerCase();
+}
+
+function sendMessage(auctionId, bidWonId) {
+ function formatBid(bid) {
+ return _pick(bid, [
+ 'bidder',
+ 'bidId',
+ 'status',
+ 'error',
+ 'source', (source, bid) => {
+ if (source) {
+ return source;
+ }
+ return serverConfig && Array.isArray(serverConfig.bidders) && serverConfig.bidders.indexOf(bid.bidder) !== -1
+ ? 'server' : 'client'
+ },
+ 'clientLatencyMillis',
+ 'params',
+ 'bidResponse', bidResponse => bidResponse ? _pick(bidResponse, [
+ 'bidPriceUSD',
+ 'dealId',
+ 'dimensions',
+ 'mediaType'
+ ]) : undefined
+ ]);
+ }
+ function formatBidWon(bid) {
+ return Object.assign(formatBid(bid), _pick(bid.adUnit, [
+ 'adUnitCode',
+ 'transactionId',
+ 'videoAdFormat', () => bid.videoAdFormat,
+ 'mediaTypes'
+ ]), {
+ adserverTargeting: stringProperties(cache.targeting[bid.adUnit.adUnitCode] || {}),
+ bidwonStatus: 'success', // hard-coded for now
+ accountId,
+ samplingFactor
+ });
+ }
+ let referrer = config.getConfig('pageUrl') || utils.getTopWindowUrl();
+ let message = {
+ eventTimeMillis: Date.now(),
+ integration: INTEGRATION,
+ version: '$prebid.version$',
+ referrerUri: referrer
+ };
+ let auctionCache = cache.auctions[auctionId];
+ if (auctionCache && !auctionCache.sent) {
+ let adUnitMap = Object.keys(auctionCache.bids).reduce((adUnits, bidId) => {
+ let bid = auctionCache.bids[bidId];
+ let adUnit = adUnits[bid.adUnit.adUnitCode];
+ if (!adUnit) {
+ adUnit = adUnits[bid.adUnit.adUnitCode] = _pick(bid.adUnit, [
+ 'adUnitCode',
+ 'transactionId',
+ 'mediaTypes',
+ 'dimensions',
+ 'adserverTargeting', () => stringProperties(cache.targeting[bid.adUnit.adUnitCode] || {})
+ ]);
+ adUnit.bids = [];
+ }
+
+ if (bid.videoAdFormat && !adUnit.videoAdFormat) {
+ adUnit.videoAdFormat = bid.videoAdFormat;
+ }
+
+ // determine adUnit.status from its bid statuses. Use priority below to determine, higher index is better
+ let statusPriority = ['error', 'no-bid', 'success'];
+ if (statusPriority.indexOf(bid.status) > statusPriority.indexOf(adUnit.status)) {
+ adUnit.status = bid.status;
+ }
+
+ adUnit.bids.push(formatBid(bid));
+
+ return adUnits;
+ }, {});
+
+ let auction = {
+ clientTimeoutMillis: auctionCache.timeout,
+ samplingFactor,
+ accountId,
+ adUnits: Object.keys(adUnitMap).map(i => adUnitMap[i])
+ };
+
+ if (serverConfig) {
+ auction.serverTimeoutMillis = serverConfig.timeout;
+ }
+
+ message.auctions = [auction];
+
+ let bidsWon = Object.keys(auctionCache.bidsWon).reduce((memo, adUnitCode) => {
+ let bidId = auctionCache.bidsWon[adUnitCode];
+ if (bidId) {
+ memo.push(formatBidWon(auctionCache.bids[bidId]));
+ }
+ return memo;
+ }, []);
+
+ if (bidsWon.length > 0) {
+ message.bidsWon = bidsWon;
+ }
+
+ auctionCache.sent = true;
+ } else if (bidWonId && auctionCache && auctionCache.bids[bidWonId]) {
+ message.bidsWon = [
+ formatBidWon(auctionCache.bids[bidWonId])
+ ];
+ }
+
+ ajax(
+ this.getUrl(),
+ null,
+ JSON.stringify(message),
+ {
+ contentType: 'application/json'
+ }
+ );
+}
+
+function parseBidResponse(bid) {
+ return _pick(bid, [
+ 'getCpmInNewCurrency as bidPriceUSD', (fn) => {
+ if (bid.currency === 'USD') {
+ return Number(bid.cpm);
+ }
+ // use currency conversion function if present
+ if (typeof fn === 'function') {
+ return Number(fn('USD'));
+ }
+ // TODO: throw error or something if not USD and currency module wasn't present?
+ },
+ 'dealId',
+ 'status',
+ 'mediaType',
+ 'dimensions', () => _pick(bid, [
+ 'width',
+ 'height'
+ ])
+ ]);
+}
+
+let samplingFactor = 1;
+let accountId;
+
+let baseAdapter = adapter({analyticsType: 'endpoint'});
+let rubiconAdapter = Object.assign({}, baseAdapter, {
+ enableAnalytics(config = {}) {
+ let error = false;
+ samplingFactor = 1;
+
+ if (typeof config.options === 'object') {
+ if (config.options.accountId) {
+ accountId = Number(config.options.accountId);
+ }
+ if (config.options.endpoint) {
+ this.getUrl = () => config.options.endpoint;
+ } else {
+ utils.logError('required endpoint missing from rubicon analytics');
+ error = true;
+ }
+ if (typeof config.options.sampling !== 'undefined') {
+ samplingFactor = 1 / parseFloat(config.options.sampling);
+ }
+ if (typeof config.options.samplingFactor !== 'undefined') {
+ if (typeof config.options.sampling !== 'undefined') {
+ utils.logWarn('Both options.samplingFactor and options.sampling enabled in rubicon analytics, defaulting to samplingFactor');
+ }
+ samplingFactor = parseFloat(config.options.samplingFactor);
+ config.options.sampling = 1 / samplingFactor;
+ }
+ }
+
+ let validSamplingFactors = [1, 10, 20, 40, 100];
+ if (validSamplingFactors.indexOf(samplingFactor) === -1) {
+ error = true;
+ utils.logError('invalid samplingFactor for rubicon analytics: ' + samplingFactor + ', must be one of ' + validSamplingFactors.join(', '));
+ } else if (!accountId) {
+ error = true;
+ utils.logError('required accountId missing for rubicon analytics');
+ }
+
+ if (!error) {
+ baseAdapter.enableAnalytics.call(this, config);
+ }
+ },
+ disableAnalytics() {
+ this.getUrl = baseAdapter.getUrl;
+ accountId = null;
+ baseAdapter.disableAnalytics.apply(this, arguments);
+ },
+ track({eventType, args}) {
+ switch (eventType) {
+ case AUCTION_INIT:
+ let cacheEntry = _pick(args, [
+ 'timestamp',
+ 'timeout'
+ ]);
+ cacheEntry.bids = {};
+ cacheEntry.bidsWon = {};
+ cache.auctions[args.auctionId] = cacheEntry;
+ break;
+ case BID_REQUESTED:
+ Object.assign(cache.auctions[args.auctionId].bids, args.bids.reduce((memo, bid) => {
+ // mark adUnits we expect bidWon events for
+ cache.auctions[args.auctionId].bidsWon[bid.adUnitCode] = false;
+
+ memo[bid.bidId] = _pick(bid, [
+ 'bidder', bidder => bidder.toLowerCase(),
+ 'bidId',
+ 'status', () => 'no-bid', // default a bid to no-bid until response is recieved or bid is timed out
+ 'finalSource as source',
+ 'params', (params, bid) => {
+ switch (bid.bidder) {
+ // specify bidder params we want here
+ case 'rubicon':
+ return _pick(params, [
+ 'accountId',
+ 'siteId',
+ 'zoneId'
+ ]);
+ }
+ },
+ 'videoAdFormat', (_, cachedBid) => {
+ if (cachedBid.bidder === 'rubicon') {
+ return ({
+ 201: 'pre-roll',
+ 202: 'interstitial',
+ 203: 'outstream',
+ 204: 'mid-roll',
+ 205: 'post-roll',
+ 207: 'vertical'
+ })[utils.deepAccess(bid, 'params.video.size_id')];
+ } else {
+ let startdelay = parseInt(utils.deepAccess(bid, 'params.video.startdelay'), 10);
+ if (!isNaN(startdelay)) {
+ if (startdelay > 0) {
+ return 'mid-roll';
+ }
+ return ({
+ '0': 'pre-roll',
+ '-1': 'mid-roll',
+ '-2': 'post-roll'
+ })[startdelay]
+ }
+ }
+ },
+ 'adUnit', () => _pick(bid, [
+ 'adUnitCode',
+ 'transactionId',
+ 'sizes as dimensions', sizes => sizes.map(sizeToDimensions),
+ 'mediaTypes', (types) => {
+ if (bid.mediaType && validMediaType(bid.mediaType)) {
+ return [bid.mediaType];
+ }
+ if (Array.isArray(types)) {
+ return types.filter(validMediaType);
+ }
+ if (typeof types === 'object') {
+ if (!bid.sizes) {
+ bid.dimensions = [];
+ utils._each(types, (type) =>
+ bid.dimensions = bid.dimensions.concat(
+ type.sizes.map(sizeToDimensions)
+ )
+ );
+ }
+ return Object.keys(types).filter(validMediaType);
+ }
+ return ['banner'];
+ }
+ ])
+ ]);
+ return memo;
+ }, {}));
+ break;
+ case BID_RESPONSE:
+ let bid = cache.auctions[args.auctionId].bids[args.adId];
+ bid.source = formatSource(bid.source || args.source);
+ switch (args.getStatusCode()) {
+ case GOOD:
+ bid.status = 'success';
+ break;
+ case NO_BID:
+ bid.status = 'no-bid';
+ break;
+ default:
+ bid.status = 'error';
+ bid.error = {
+ code: 'request-error'
+ };
+ }
+ bid.clientLatencyMillis = Date.now() - cache.auctions[args.auctionId].timestamp;
+ bid.bidResponse = parseBidResponse(args);
+ break;
+ case BIDDER_DONE:
+ args.bids.forEach(bid => {
+ let cachedBid = cache.auctions[bid.auctionId].bids[bid.bidId];
+ if (!cachedBid.status) {
+ cachedBid.status = 'no-bid';
+ }
+ if (!cachedBid.clientLatencyMillis) {
+ cachedBid.clientLatencyMillis = Date.now() - cache.auctions[bid.auctionId].timestamp;
+ }
+ });
+ break;
+ case SET_TARGETING:
+ Object.assign(cache.targeting, args);
+ break;
+ case BID_WON:
+ let auctionCache = cache.auctions[args.auctionId];
+ auctionCache.bidsWon[args.adUnitCode] = args.adId;
+
+ // check if this BID_WON missed the boat, if so send by itself
+ if (auctionCache.sent === true) {
+ sendMessage.call(this, args.auctionId, args.adId);
+ } else if (Object.keys(auctionCache.bidsWon).reduce((memo, adUnitCode) => {
+ // only send if we've received bidWon events for all adUnits in auction
+ memo = memo && auctionCache.bidsWon[adUnitCode];
+ return memo;
+ }, true)) {
+ clearTimeout(cache.timeouts[args.auctionId]);
+ delete cache.timeouts[args.auctionId];
+
+ sendMessage.call(this, args.auctionId);
+ }
+ break;
+ case AUCTION_END:
+ // start timer to send batched payload just in case we don't hear any BID_WON events
+ cache.timeouts[args.auctionId] = setTimeout(() => {
+ sendMessage.call(this, args.auctionId);
+ }, SEND_TIMEOUT);
+ break;
+ case BID_TIMEOUT:
+ args.forEach(badBid => {
+ let auctionCache = cache.auctions[badBid.auctionId];
+ let bid = auctionCache.bids[badBid.bidId];
+ bid.status = 'error';
+ bid.error = {
+ code: 'timeout-error'
+ };
+ });
+ break;
+ }
+ }
+});
+
+adaptermanager.registerAnalyticsAdapter({
+ adapter: rubiconAdapter,
+ code: 'rubicon'
+});
+
+export default rubiconAdapter;
diff --git a/package-lock.json b/package-lock.json
index 16b7eede42b..5ecab0de841 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,70 +1,63 @@
{
"name": "prebid.js",
- "version": "1.7.0-pre",
+ "version": "1.8.0-pre",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
"@gulp-sourcemaps/identity-map": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@gulp-sourcemaps/identity-map/-/identity-map-1.0.1.tgz",
+ "version": "https://registry.npmjs.org/@gulp-sourcemaps/identity-map/-/identity-map-1.0.1.tgz",
"integrity": "sha1-z6I7xYQPkQTOMqZedNt+epdLvuE=",
"requires": {
"acorn": "5.4.1",
- "css": "2.2.1",
- "normalize-path": "2.1.1",
- "source-map": "0.5.7",
- "through2": "2.0.3"
+ "css": "https://registry.npmjs.org/css/-/css-2.2.1.tgz",
+ "normalize-path": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
+ "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz"
},
"dependencies": {
"source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "version": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
"integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
}
}
},
"@gulp-sourcemaps/map-sources": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/@gulp-sourcemaps/map-sources/-/map-sources-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/@gulp-sourcemaps/map-sources/-/map-sources-1.0.0.tgz",
"integrity": "sha1-iQrnxdjId/bThIYCFazp1+yUW9o=",
"requires": {
- "normalize-path": "2.1.1",
- "through2": "2.0.3"
+ "normalize-path": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
+ "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz"
}
},
"@sinonjs/formatio": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/@sinonjs/formatio/-/formatio-2.0.0.tgz",
- "integrity": "sha512-ls6CAMA6/5gG+O/IdsBcblvnd8qcO/l1TYoNeAzp3wcISOxlPXQEus0mLcdwazEkWjaBdaJ3TaxmNgCLWwvWzg==",
+ "version": "https://registry.npmjs.org/@sinonjs/formatio/-/formatio-2.0.0.tgz",
+ "integrity": "sha1-hNt+nrVTHfGKjF4L+25EnlXmVLI=",
"dev": true,
"requires": {
- "samsam": "1.3.0"
+ "samsam": "https://registry.npmjs.org/samsam/-/samsam-1.3.0.tgz"
}
},
"JSONStream": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.2.tgz",
+ "version": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.2.tgz",
"integrity": "sha1-wQI3G27Dp887hHygDCC7D85Mbeo=",
"dev": true,
"requires": {
- "jsonparse": "1.3.1",
- "through": "2.3.8"
+ "jsonparse": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz",
+ "through": "https://registry.npmjs.org/through/-/through-2.3.8.tgz"
}
},
"abbrev": {
- "version": "1.0.9",
- "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz",
+ "version": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz",
"integrity": "sha1-kbR5JYinc4wl813W9jdSovh3YTU=",
"dev": true
},
"accepts": {
- "version": "1.2.13",
- "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.2.13.tgz",
+ "version": "https://registry.npmjs.org/accepts/-/accepts-1.2.13.tgz",
"integrity": "sha1-5fHzkoxtlf2WVYw27D2dDeSm7Oo=",
"dev": true,
"requires": {
"mime-types": "2.1.17",
- "negotiator": "0.5.3"
+ "negotiator": "https://registry.npmjs.org/negotiator/-/negotiator-0.5.3.tgz"
}
},
"acorn": {
@@ -73,168 +66,145 @@
"integrity": "sha512-XLmq3H/BVvW6/GbxKryGxWORz1ebilSsUDlyC27bXhWGWAZWkGwS6FLHjOlwFXNFoWFQEO/Df4u0YYd0K3BQgQ=="
},
"acorn-dynamic-import": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-2.0.2.tgz",
+ "version": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-2.0.2.tgz",
"integrity": "sha1-x1K9IQvvZ5UBtsbLf8hPj0cVjMQ=",
"dev": true,
"requires": {
- "acorn": "4.0.13"
+ "acorn": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz"
},
"dependencies": {
"acorn": {
- "version": "4.0.13",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz",
+ "version": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz",
"integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=",
"dev": true
}
}
},
"acorn-jsx": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz",
+ "version": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz",
"integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=",
"dev": true,
"requires": {
- "acorn": "3.3.0"
+ "acorn": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz"
},
"dependencies": {
"acorn": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz",
+ "version": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz",
"integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=",
"dev": true
}
}
},
"acorn-node": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.3.0.tgz",
- "integrity": "sha512-efP54n3d1aLfjL2UMdaXa6DsswwzJeI5rqhbFvXMrKiJ6eJFpf+7R0zN7t8IC+XKn2YOAFAv6xbBNgHUkoHWLw==",
+ "version": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.3.0.tgz",
+ "integrity": "sha1-X4bXM0Z0OBDvEmm5AdvL3tAghhs=",
"dev": true,
"requires": {
"acorn": "5.4.1",
- "xtend": "4.0.1"
+ "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
}
},
"addressparser": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/addressparser/-/addressparser-1.0.1.tgz",
+ "version": "https://registry.npmjs.org/addressparser/-/addressparser-1.0.1.tgz",
"integrity": "sha1-R6++GiqSYhkdtoOOT9HTm0CCF0Y=",
"dev": true,
"optional": true
},
- "adm-zip": {
- "version": "0.4.7",
- "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.7.tgz",
- "integrity": "sha1-hgbCy/HEJs6MjsABdER/1Jtur8E=",
- "dev": true
- },
"after": {
- "version": "0.8.2",
- "resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz",
+ "version": "https://registry.npmjs.org/after/-/after-0.8.2.tgz",
"integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=",
"dev": true
},
"agent-base": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-2.1.1.tgz",
+ "version": "https://registry.npmjs.org/agent-base/-/agent-base-2.1.1.tgz",
"integrity": "sha1-1t4Q1a9hMtW9aSQn1G/FOFOQlMc=",
"dev": true,
"requires": {
- "extend": "3.0.1",
- "semver": "5.0.3"
+ "extend": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz",
+ "semver": "https://registry.npmjs.org/semver/-/semver-5.0.3.tgz"
},
"dependencies": {
"semver": {
- "version": "5.0.3",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.0.3.tgz",
+ "version": "https://registry.npmjs.org/semver/-/semver-5.0.3.tgz",
"integrity": "sha1-d0Zt5YnNXTyV8TiqeLxWmjy10no=",
"dev": true
}
}
},
"ajv": {
- "version": "5.5.2",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz",
- "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=",
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.2.1.tgz",
+ "integrity": "sha1-KKarxJOiq+D7TIUHrK7bQ/pVBnE=",
"dev": true,
"requires": {
- "co": "4.6.0",
"fast-deep-equal": "1.0.0",
- "fast-json-stable-stringify": "2.0.0",
- "json-schema-traverse": "0.3.1"
+ "fast-json-stable-stringify": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
+ "json-schema-traverse": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz"
}
},
"ajv-keywords": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.1.tgz",
- "integrity": "sha1-YXmX/F9gV2iUxDX5QNgZ4TW4B2I=",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.1.0.tgz",
+ "integrity": "sha1-rCsnk5xUPpXSwG5/f1wnvkqlQ74=",
"dev": true
},
"align-text": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz",
+ "version": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz",
"integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=",
"dev": true,
"requires": {
- "kind-of": "3.2.2",
- "longest": "1.0.1",
- "repeat-string": "1.6.1"
+ "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "longest": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz",
+ "repeat-string": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz"
},
"dependencies": {
"kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "version": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
"dev": true,
"requires": {
- "is-buffer": "1.1.6"
+ "is-buffer": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz"
}
}
}
},
"amdefine": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
+ "version": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
"integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU="
},
"amqplib": {
- "version": "0.5.2",
- "resolved": "https://registry.npmjs.org/amqplib/-/amqplib-0.5.2.tgz",
- "integrity": "sha512-l9mCs6LbydtHqRniRwYkKdqxVa6XMz3Vw1fh+2gJaaVgTM6Jk3o8RccAKWKtlhT1US5sWrFh+KKxsVUALURSIA==",
+ "version": "https://registry.npmjs.org/amqplib/-/amqplib-0.5.2.tgz",
+ "integrity": "sha1-0tcxPH/6pNELzx5iUt5FkbbMe2M=",
"dev": true,
"optional": true,
"requires": {
- "bitsyntax": "0.0.4",
- "bluebird": "3.5.1",
- "buffer-more-ints": "0.0.2",
- "readable-stream": "1.1.14",
- "safe-buffer": "5.1.1"
+ "bitsyntax": "https://registry.npmjs.org/bitsyntax/-/bitsyntax-0.0.4.tgz",
+ "bluebird": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz",
+ "buffer-more-ints": "https://registry.npmjs.org/buffer-more-ints/-/buffer-more-ints-0.0.2.tgz",
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
+ "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz"
},
"dependencies": {
"isarray": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "version": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
"integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
"dev": true,
"optional": true
},
"readable-stream": {
- "version": "1.1.14",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
+ "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
"integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
"dev": true,
"optional": true,
"requires": {
- "core-util-is": "1.0.2",
- "inherits": "2.0.3",
- "isarray": "0.0.1",
- "string_decoder": "0.10.31"
+ "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
}
},
"string_decoder": {
- "version": "0.10.31",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "version": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
"dev": true,
"optional": true
@@ -247,177 +217,144 @@
"integrity": "sha512-yopkAU0ZD/WQ56Tms3xLn6jRuX3SyUMAVi0FdmDIbmmnHW3jHiI1sQFdUl3gfVddjnrsP3Y6ywFKvCRopvoVIA==",
"dev": true,
"requires": {
- "ansi-wrap": "0.1.0"
+ "ansi-wrap": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz"
}
},
"ansi-escapes": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.0.0.tgz",
- "integrity": "sha512-O/klc27mWNUigtv0F8NJWbLF00OcegQalkqKURWdosW08YZKi4m6CnSUSvIZG1otNJbTWhN01Hhz389DW7mvDQ==",
+ "version": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.0.0.tgz",
+ "integrity": "sha1-7D6LTp+AZPwCw6ybZfHCdb2o75I=",
"dev": true
},
"ansi-gray": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz",
+ "version": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz",
"integrity": "sha1-KWLPVOyXksSFEKPetSRDaGHvclE=",
"dev": true,
"requires": {
- "ansi-wrap": "0.1.0"
+ "ansi-wrap": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz"
}
},
"ansi-html": {
- "version": "0.0.7",
- "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz",
+ "version": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz",
"integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=",
"dev": true
},
"ansi-regex": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "version": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
"integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
"dev": true
},
"ansi-styles": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "version": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
"integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
"dev": true
},
"ansi-wrap": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz",
+ "version": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz",
"integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768=",
"dev": true
},
"anymatch": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
- "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==",
+ "version": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
+ "integrity": "sha1-vLJLTzeTTZqnrBe0ra+J58du8us=",
"dev": true,
"requires": {
"micromatch": "3.1.5",
- "normalize-path": "2.1.1"
+ "normalize-path": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz"
}
},
"append-buffer": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/append-buffer/-/append-buffer-1.0.2.tgz",
+ "version": "https://registry.npmjs.org/append-buffer/-/append-buffer-1.0.2.tgz",
"integrity": "sha1-2CIM9GYIFSXv6lBhTz3mUU36WPE=",
"dev": true,
"requires": {
- "buffer-equal": "1.0.0"
+ "buffer-equal": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.0.tgz"
}
},
"append-transform": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-0.4.0.tgz",
+ "version": "https://registry.npmjs.org/append-transform/-/append-transform-0.4.0.tgz",
"integrity": "sha1-126/jKlNJ24keja61EpLdKthGZE=",
"dev": true,
"requires": {
- "default-require-extensions": "1.0.0"
+ "default-require-extensions": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-1.0.0.tgz"
}
},
"archiver": {
- "version": "0.14.4",
- "resolved": "https://registry.npmjs.org/archiver/-/archiver-0.14.4.tgz",
+ "version": "https://registry.npmjs.org/archiver/-/archiver-0.14.4.tgz",
"integrity": "sha1-W53bn17hzu8hy487Ag5iQOy0MVw=",
"dev": true,
"requires": {
- "async": "0.9.2",
- "buffer-crc32": "0.2.13",
- "glob": "4.3.5",
- "lazystream": "0.1.0",
- "lodash": "3.2.0",
- "readable-stream": "1.0.34",
- "tar-stream": "1.1.5",
- "zip-stream": "0.5.2"
+ "async": "https://registry.npmjs.org/async/-/async-0.9.2.tgz",
+ "buffer-crc32": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
+ "glob": "https://registry.npmjs.org/glob/-/glob-4.3.5.tgz",
+ "lazystream": "https://registry.npmjs.org/lazystream/-/lazystream-0.1.0.tgz",
+ "lodash": "https://registry.npmjs.org/lodash/-/lodash-3.2.0.tgz",
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "tar-stream": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.1.5.tgz",
+ "zip-stream": "https://registry.npmjs.org/zip-stream/-/zip-stream-0.5.2.tgz"
},
"dependencies": {
"async": {
- "version": "0.9.2",
- "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz",
+ "version": "https://registry.npmjs.org/async/-/async-0.9.2.tgz",
"integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=",
"dev": true
},
"glob": {
- "version": "4.3.5",
- "resolved": "https://registry.npmjs.org/glob/-/glob-4.3.5.tgz",
+ "version": "https://registry.npmjs.org/glob/-/glob-4.3.5.tgz",
"integrity": "sha1-gPuwjKVA8jiszl0R0em8QedRc9M=",
"dev": true,
"requires": {
- "inflight": "1.0.6",
- "inherits": "2.0.3",
- "minimatch": "2.0.10",
- "once": "1.4.0"
+ "inflight": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz",
+ "once": "https://registry.npmjs.org/once/-/once-1.4.0.tgz"
}
},
"isarray": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "version": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
"integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
"dev": true
},
"lazystream": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-0.1.0.tgz",
+ "version": "https://registry.npmjs.org/lazystream/-/lazystream-0.1.0.tgz",
"integrity": "sha1-GyXWPHcqTCDwpe0KnXf0hLbhaSA=",
"dev": true,
"requires": {
- "readable-stream": "1.0.34"
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz"
}
},
"lodash": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.2.0.tgz",
+ "version": "https://registry.npmjs.org/lodash/-/lodash-3.2.0.tgz",
"integrity": "sha1-S/UKMkP5rrC6xBpV09WZBnWkYvs=",
"dev": true
},
"minimatch": {
- "version": "2.0.10",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz",
+ "version": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz",
"integrity": "sha1-jQh8OcazjAAbl/ynzm0OHoCvusc=",
"dev": true,
"requires": {
- "brace-expansion": "1.1.11"
+ "brace-expansion": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz"
}
},
"readable-stream": {
- "version": "1.0.34",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
"integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
"dev": true,
"requires": {
- "core-util-is": "1.0.2",
- "inherits": "2.0.3",
- "isarray": "0.0.1",
- "string_decoder": "0.10.31"
+ "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
}
},
"string_decoder": {
- "version": "0.10.31",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "version": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
"dev": true
}
}
},
- "archiver-utils": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-1.3.0.tgz",
- "integrity": "sha1-5QtMCccL89aA4y/xt5lOn52JUXQ=",
- "dev": true,
- "requires": {
- "glob": "7.1.2",
- "graceful-fs": "4.1.11",
- "lazystream": "1.0.0",
- "lodash": "4.17.5",
- "normalize-path": "2.1.1",
- "readable-stream": "2.3.4"
- }
- },
"archy": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz",
"integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=",
"dev": true
},
@@ -427,117 +364,99 @@
"integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=",
"dev": true,
"requires": {
- "sprintf-js": "1.0.3"
+ "sprintf-js": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz"
}
},
"arr-diff": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
+ "version": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
"integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
"dev": true
},
"arr-flatten": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
- "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
+ "version": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
+ "integrity": "sha1-NgSLv/TntH4TZkQxbJlmnqWukfE=",
"dev": true
},
"arr-union": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
+ "version": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
"integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
"dev": true
},
"array-differ": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz",
"integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=",
"dev": true
},
"array-each": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz",
+ "version": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz",
"integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8=",
"dev": true
},
"array-filter": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-0.0.1.tgz",
+ "version": "https://registry.npmjs.org/array-filter/-/array-filter-0.0.1.tgz",
"integrity": "sha1-fajPLiZijtcygDWB/SH2fKzS7uw=",
"dev": true
},
"array-find-index": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz",
+ "version": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz",
"integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=",
"dev": true
},
"array-iterate": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/array-iterate/-/array-iterate-1.1.1.tgz",
+ "version": "https://registry.npmjs.org/array-iterate/-/array-iterate-1.1.1.tgz",
"integrity": "sha1-hlv3+K851rCYLGCQKRSsdrwBCPY=",
"dev": true
},
"array-map": {
- "version": "0.0.0",
- "resolved": "https://registry.npmjs.org/array-map/-/array-map-0.0.0.tgz",
+ "version": "https://registry.npmjs.org/array-map/-/array-map-0.0.0.tgz",
"integrity": "sha1-iKK6tz0c97zVwbEYoAP2b2ZfpmI=",
"dev": true
},
"array-reduce": {
- "version": "0.0.0",
- "resolved": "https://registry.npmjs.org/array-reduce/-/array-reduce-0.0.0.tgz",
+ "version": "https://registry.npmjs.org/array-reduce/-/array-reduce-0.0.0.tgz",
"integrity": "sha1-FziZ0//Rx9k4PkR5Ul2+J4yrXys=",
"dev": true
},
"array-slice": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz",
- "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==",
+ "version": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz",
+ "integrity": "sha1-42jqFfibxwaff/uJrsOmx9SsItQ=",
"dev": true
},
"array-union": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
+ "version": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
"integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=",
"dev": true,
"requires": {
- "array-uniq": "1.0.3"
+ "array-uniq": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz"
}
},
"array-uniq": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
+ "version": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
"integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=",
"dev": true
},
"array-unique": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
+ "version": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
"integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
"dev": true
},
"array.from": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/array.from/-/array.from-0.2.0.tgz",
+ "version": "https://registry.npmjs.org/array.from/-/array.from-0.2.0.tgz",
"integrity": "sha1-LGJ7G3bf8t7yNl+gUrZcPVheX2s=",
"dev": true
},
"arraybuffer.slice": {
- "version": "0.0.7",
- "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz",
- "integrity": "sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog==",
+ "version": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz",
+ "integrity": "sha1-O7xCdd1YTMGxCAm4nU6LY6aednU=",
"dev": true
},
"arrify": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
+ "version": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
"integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
"dev": true
},
"asn1": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz",
+ "version": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz",
"integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=",
"dev": true
},
@@ -547,35 +466,31 @@
"integrity": "sha512-b/OsSjvWEo8Pi8H0zsDd2P6Uqo2TK2pH8gNLSJtNLM2Db0v2QaAZ0pBQJXVjAn4gBuugeVDr7s63ZogpUIwWDg==",
"dev": true,
"requires": {
- "bn.js": "4.11.8",
- "inherits": "2.0.3",
- "minimalistic-assert": "1.0.0"
+ "bn.js": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "minimalistic-assert": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz"
}
},
"assert": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz",
+ "version": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz",
"integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=",
"dev": true,
"requires": {
- "util": "0.10.3"
+ "util": "https://registry.npmjs.org/util/-/util-0.10.3.tgz"
}
},
"assert-plus": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz",
+ "version": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz",
"integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=",
"dev": true
},
"assertion-error": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz",
- "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==",
+ "version": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz",
+ "integrity": "sha1-5gtrDo8wG9l+U3UhW9pAbIURjAs=",
"dev": true
},
"assign-symbols": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
"integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
"dev": true
},
@@ -586,321 +501,290 @@
"dev": true
},
"astw": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/astw/-/astw-2.2.0.tgz",
+ "version": "https://registry.npmjs.org/astw/-/astw-2.2.0.tgz",
"integrity": "sha1-e9QXhNMkk5h66yOba04cV6hzuRc=",
"dev": true,
"requires": {
- "acorn": "4.0.13"
+ "acorn": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz"
},
"dependencies": {
"acorn": {
- "version": "4.0.13",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz",
+ "version": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz",
"integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=",
"dev": true
}
}
},
"async": {
- "version": "1.5.2",
- "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
+ "version": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
"integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=",
"dev": true
},
"async-each": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz",
+ "version": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz",
"integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=",
"dev": true
},
"async-limiter": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz",
- "integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==",
+ "version": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz",
+ "integrity": "sha1-ePrtjD0HSrgfIrTphdeehzj3IPg=",
"dev": true
},
"asynckit": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+ "version": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
"integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
"dev": true
},
"atob": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/atob/-/atob-1.1.3.tgz",
+ "version": "https://registry.npmjs.org/atob/-/atob-1.1.3.tgz",
"integrity": "sha1-lfE2KbEsOlGl0hWr3OKqnzL4B3M="
},
"aws-sign2": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz",
+ "version": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz",
"integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=",
"dev": true
},
"aws4": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz",
+ "version": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz",
"integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=",
"dev": true
},
"axios": {
- "version": "0.15.3",
- "resolved": "https://registry.npmjs.org/axios/-/axios-0.15.3.tgz",
+ "version": "https://registry.npmjs.org/axios/-/axios-0.15.3.tgz",
"integrity": "sha1-LJ1jiy4ZGgjqHWzJiOrda6W9wFM=",
"dev": true,
"optional": true,
"requires": {
- "follow-redirects": "1.0.0"
+ "follow-redirects": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.0.0.tgz"
}
},
"babel-code-frame": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz",
+ "version": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz",
"integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=",
"dev": true,
"requires": {
- "chalk": "1.1.3",
- "esutils": "2.0.2",
- "js-tokens": "3.0.2"
+ "chalk": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "esutils": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
+ "js-tokens": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz"
}
},
"babel-core": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.22.0.tgz",
+ "version": "https://registry.npmjs.org/babel-core/-/babel-core-6.22.0.tgz",
"integrity": "sha1-ZD3q61ILzSsGwR45lFyHfgIA0Sg=",
"dev": true,
"requires": {
- "babel-code-frame": "6.26.0",
- "babel-generator": "6.26.1",
- "babel-helpers": "6.24.1",
- "babel-messages": "6.23.0",
- "babel-register": "6.26.0",
- "babel-runtime": "6.26.0",
- "babel-template": "6.26.0",
- "babel-traverse": "6.26.0",
- "babel-types": "6.26.0",
- "babylon": "6.18.0",
- "convert-source-map": "1.5.1",
- "debug": "2.6.9",
- "json5": "0.5.1",
- "lodash": "4.17.5",
- "minimatch": "3.0.4",
- "path-is-absolute": "1.0.1",
- "private": "0.1.8",
- "slash": "1.0.0",
- "source-map": "0.5.7"
+ "babel-code-frame": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz",
+ "babel-generator": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz",
+ "babel-helpers": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz",
+ "babel-messages": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz",
+ "babel-register": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz",
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz",
+ "babel-traverse": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz",
+ "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz",
+ "babylon": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz",
+ "convert-source-map": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz",
+ "debug": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "json5": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
+ "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz",
+ "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+ "path-is-absolute": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "private": "https://registry.npmjs.org/private/-/private-0.1.8.tgz",
+ "slash": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz",
+ "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz"
},
"dependencies": {
"debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "version": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
"dev": true,
"requires": {
- "ms": "2.0.0"
+ "ms": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"
}
},
"source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "version": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
"integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
"dev": true
}
}
},
"babel-generator": {
- "version": "6.26.1",
- "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz",
- "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==",
- "dev": true,
- "requires": {
- "babel-messages": "6.23.0",
- "babel-runtime": "6.26.0",
- "babel-types": "6.26.0",
- "detect-indent": "4.0.0",
- "jsesc": "1.3.0",
- "lodash": "4.17.5",
- "source-map": "0.5.7",
- "trim-right": "1.0.1"
+ "version": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz",
+ "integrity": "sha1-GERAjTuPDTWkBOp6wYDwh6YBvZA=",
+ "dev": true,
+ "requires": {
+ "babel-messages": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz",
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz",
+ "detect-indent": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz",
+ "jsesc": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz",
+ "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz",
+ "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "trim-right": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz"
},
"dependencies": {
"source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "version": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
"integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
"dev": true
}
}
},
"babel-helper-bindify-decorators": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-helper-bindify-decorators/-/babel-helper-bindify-decorators-6.24.1.tgz",
+ "version": "https://registry.npmjs.org/babel-helper-bindify-decorators/-/babel-helper-bindify-decorators-6.24.1.tgz",
"integrity": "sha1-FMGeXxQte0fxmlJDHlKxzLxAozA=",
"dev": true,
"requires": {
- "babel-runtime": "6.26.0",
- "babel-traverse": "6.26.0",
- "babel-types": "6.26.0"
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "babel-traverse": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz",
+ "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz"
}
},
"babel-helper-builder-binary-assignment-operator-visitor": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz",
+ "version": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz",
"integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=",
"dev": true,
"requires": {
- "babel-helper-explode-assignable-expression": "6.24.1",
- "babel-runtime": "6.26.0",
- "babel-types": "6.26.0"
+ "babel-helper-explode-assignable-expression": "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz",
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz"
}
},
"babel-helper-builder-react-jsx": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-helper-builder-react-jsx/-/babel-helper-builder-react-jsx-6.26.0.tgz",
+ "version": "https://registry.npmjs.org/babel-helper-builder-react-jsx/-/babel-helper-builder-react-jsx-6.26.0.tgz",
"integrity": "sha1-Of+DE7dci2Xc7/HzHTg+D/KkCKA=",
"dev": true,
"requires": {
- "babel-runtime": "6.26.0",
- "babel-types": "6.26.0",
- "esutils": "2.0.2"
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz",
+ "esutils": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz"
}
},
"babel-helper-call-delegate": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz",
+ "version": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz",
"integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=",
"dev": true,
"requires": {
- "babel-helper-hoist-variables": "6.24.1",
- "babel-runtime": "6.26.0",
- "babel-traverse": "6.26.0",
- "babel-types": "6.26.0"
+ "babel-helper-hoist-variables": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz",
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "babel-traverse": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz",
+ "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz"
}
},
"babel-helper-define-map": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz",
+ "version": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz",
"integrity": "sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=",
"dev": true,
"requires": {
- "babel-helper-function-name": "6.24.1",
- "babel-runtime": "6.26.0",
- "babel-types": "6.26.0",
- "lodash": "4.17.5"
+ "babel-helper-function-name": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz",
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz",
+ "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz"
}
},
"babel-helper-explode-assignable-expression": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz",
+ "version": "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz",
"integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=",
"dev": true,
"requires": {
- "babel-runtime": "6.26.0",
- "babel-traverse": "6.26.0",
- "babel-types": "6.26.0"
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "babel-traverse": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz",
+ "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz"
}
},
"babel-helper-explode-class": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-helper-explode-class/-/babel-helper-explode-class-6.24.1.tgz",
+ "version": "https://registry.npmjs.org/babel-helper-explode-class/-/babel-helper-explode-class-6.24.1.tgz",
"integrity": "sha1-fcKjkQ3uAHBW4eMdZAztPVTqqes=",
"dev": true,
"requires": {
- "babel-helper-bindify-decorators": "6.24.1",
- "babel-runtime": "6.26.0",
- "babel-traverse": "6.26.0",
- "babel-types": "6.26.0"
+ "babel-helper-bindify-decorators": "https://registry.npmjs.org/babel-helper-bindify-decorators/-/babel-helper-bindify-decorators-6.24.1.tgz",
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "babel-traverse": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz",
+ "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz"
}
},
"babel-helper-function-name": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz",
+ "version": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz",
"integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=",
"dev": true,
"requires": {
- "babel-helper-get-function-arity": "6.24.1",
- "babel-runtime": "6.26.0",
- "babel-template": "6.26.0",
- "babel-traverse": "6.26.0",
- "babel-types": "6.26.0"
+ "babel-helper-get-function-arity": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz",
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz",
+ "babel-traverse": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz",
+ "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz"
}
},
"babel-helper-get-function-arity": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz",
+ "version": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz",
"integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=",
"dev": true,
"requires": {
- "babel-runtime": "6.26.0",
- "babel-types": "6.26.0"
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz"
}
},
"babel-helper-hoist-variables": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz",
+ "version": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz",
"integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=",
"dev": true,
"requires": {
- "babel-runtime": "6.26.0",
- "babel-types": "6.26.0"
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz"
}
},
"babel-helper-optimise-call-expression": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz",
+ "version": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz",
"integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=",
"dev": true,
"requires": {
- "babel-runtime": "6.26.0",
- "babel-types": "6.26.0"
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz"
}
},
"babel-helper-regex": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz",
+ "version": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz",
"integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=",
"dev": true,
"requires": {
- "babel-runtime": "6.26.0",
- "babel-types": "6.26.0",
- "lodash": "4.17.5"
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz",
+ "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz"
}
},
"babel-helper-remap-async-to-generator": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz",
+ "version": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz",
"integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=",
"dev": true,
"requires": {
- "babel-helper-function-name": "6.24.1",
- "babel-runtime": "6.26.0",
- "babel-template": "6.26.0",
- "babel-traverse": "6.26.0",
- "babel-types": "6.26.0"
+ "babel-helper-function-name": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz",
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz",
+ "babel-traverse": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz",
+ "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz"
}
},
"babel-helper-replace-supers": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz",
+ "version": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz",
"integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=",
"dev": true,
"requires": {
- "babel-helper-optimise-call-expression": "6.24.1",
- "babel-messages": "6.23.0",
- "babel-runtime": "6.26.0",
- "babel-template": "6.26.0",
- "babel-traverse": "6.26.0",
- "babel-types": "6.26.0"
+ "babel-helper-optimise-call-expression": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz",
+ "babel-messages": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz",
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz",
+ "babel-traverse": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz",
+ "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz"
}
},
"babel-helpers": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz",
+ "version": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz",
"integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=",
"dev": true,
"requires": {
- "babel-runtime": "6.26.0",
- "babel-template": "6.26.0"
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz"
}
},
"babel-loader": {
@@ -909,880 +793,796 @@
"integrity": "sha512-jRwlFbINAeyDStqK6Dd5YuY0k5YuzQUvlz2ZamuXrXmxav3pNqe9vfJ402+2G+OmlJSXxCOpB6Uz0INM7RQe2A==",
"dev": true,
"requires": {
- "find-cache-dir": "1.0.0",
- "loader-utils": "1.1.0",
- "mkdirp": "0.5.1"
+ "find-cache-dir": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz",
+ "loader-utils": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz",
+ "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz"
}
},
"babel-messages": {
- "version": "6.23.0",
- "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz",
+ "version": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz",
"integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=",
"dev": true,
"requires": {
- "babel-runtime": "6.26.0"
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz"
}
},
"babel-plugin-check-es2015-constants": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz",
+ "version": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz",
"integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=",
"dev": true,
"requires": {
- "babel-runtime": "6.26.0"
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz"
}
},
"babel-plugin-syntax-async-functions": {
- "version": "6.13.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz",
+ "version": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz",
"integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=",
"dev": true
},
"babel-plugin-syntax-async-generators": {
- "version": "6.13.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-generators/-/babel-plugin-syntax-async-generators-6.13.0.tgz",
+ "version": "https://registry.npmjs.org/babel-plugin-syntax-async-generators/-/babel-plugin-syntax-async-generators-6.13.0.tgz",
"integrity": "sha1-a8lj67FuzLrmuStZbrfzXDQqi5o=",
"dev": true
},
"babel-plugin-syntax-class-constructor-call": {
- "version": "6.18.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-syntax-class-constructor-call/-/babel-plugin-syntax-class-constructor-call-6.18.0.tgz",
+ "version": "https://registry.npmjs.org/babel-plugin-syntax-class-constructor-call/-/babel-plugin-syntax-class-constructor-call-6.18.0.tgz",
"integrity": "sha1-nLnTn+Q8hgC+yBRkVt3L1OGnZBY=",
"dev": true
},
"babel-plugin-syntax-class-properties": {
- "version": "6.13.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz",
+ "version": "https://registry.npmjs.org/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz",
"integrity": "sha1-1+sjt5oxf4VDlixQW4J8fWysJ94=",
"dev": true
},
"babel-plugin-syntax-decorators": {
- "version": "6.13.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz",
+ "version": "https://registry.npmjs.org/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz",
"integrity": "sha1-MSVjtNvePMgGzuPkFszurd0RrAs=",
"dev": true
},
"babel-plugin-syntax-do-expressions": {
- "version": "6.13.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-syntax-do-expressions/-/babel-plugin-syntax-do-expressions-6.13.0.tgz",
+ "version": "https://registry.npmjs.org/babel-plugin-syntax-do-expressions/-/babel-plugin-syntax-do-expressions-6.13.0.tgz",
"integrity": "sha1-V0d1YTmqJtOQ0JQQsDdEugfkeW0=",
"dev": true
},
"babel-plugin-syntax-dynamic-import": {
- "version": "6.18.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz",
+ "version": "https://registry.npmjs.org/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz",
"integrity": "sha1-jWomIpyDdFqZgqRBBRVyyqF5sdo=",
"dev": true
},
"babel-plugin-syntax-exponentiation-operator": {
- "version": "6.13.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz",
+ "version": "https://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz",
"integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=",
"dev": true
},
"babel-plugin-syntax-export-extensions": {
- "version": "6.13.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-syntax-export-extensions/-/babel-plugin-syntax-export-extensions-6.13.0.tgz",
+ "version": "https://registry.npmjs.org/babel-plugin-syntax-export-extensions/-/babel-plugin-syntax-export-extensions-6.13.0.tgz",
"integrity": "sha1-cKFITw+QiaToStRLrDU8lbmxJyE=",
"dev": true
},
"babel-plugin-syntax-flow": {
- "version": "6.18.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz",
+ "version": "https://registry.npmjs.org/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz",
"integrity": "sha1-TDqyCiryaqIM0lmVw5jE63AxDI0=",
"dev": true
},
"babel-plugin-syntax-function-bind": {
- "version": "6.13.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-syntax-function-bind/-/babel-plugin-syntax-function-bind-6.13.0.tgz",
+ "version": "https://registry.npmjs.org/babel-plugin-syntax-function-bind/-/babel-plugin-syntax-function-bind-6.13.0.tgz",
"integrity": "sha1-SMSV8Xe98xqYHnMvVa3AvdJgH0Y=",
"dev": true
},
"babel-plugin-syntax-jsx": {
- "version": "6.18.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz",
+ "version": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz",
"integrity": "sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=",
"dev": true
},
"babel-plugin-syntax-object-rest-spread": {
- "version": "6.13.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz",
+ "version": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz",
"integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=",
"dev": true
},
"babel-plugin-syntax-trailing-function-commas": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz",
+ "version": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz",
"integrity": "sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM=",
"dev": true
},
"babel-plugin-system-import-transformer": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-system-import-transformer/-/babel-plugin-system-import-transformer-3.1.0.tgz",
+ "version": "https://registry.npmjs.org/babel-plugin-system-import-transformer/-/babel-plugin-system-import-transformer-3.1.0.tgz",
"integrity": "sha1-038Mro5h7zkGAggzHZMbXmMNfF8=",
"dev": true,
"requires": {
- "babel-plugin-syntax-dynamic-import": "6.18.0"
+ "babel-plugin-syntax-dynamic-import": "https://registry.npmjs.org/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz"
}
},
"babel-plugin-transform-async-generator-functions": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-6.24.1.tgz",
+ "version": "https://registry.npmjs.org/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-6.24.1.tgz",
"integrity": "sha1-8FiQAUX9PpkHpt3yjaWfIVJYpds=",
"dev": true,
"requires": {
- "babel-helper-remap-async-to-generator": "6.24.1",
- "babel-plugin-syntax-async-generators": "6.13.0",
- "babel-runtime": "6.26.0"
+ "babel-helper-remap-async-to-generator": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz",
+ "babel-plugin-syntax-async-generators": "https://registry.npmjs.org/babel-plugin-syntax-async-generators/-/babel-plugin-syntax-async-generators-6.13.0.tgz",
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz"
}
},
"babel-plugin-transform-async-to-generator": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz",
+ "version": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz",
"integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=",
"dev": true,
"requires": {
- "babel-helper-remap-async-to-generator": "6.24.1",
- "babel-plugin-syntax-async-functions": "6.13.0",
- "babel-runtime": "6.26.0"
+ "babel-helper-remap-async-to-generator": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz",
+ "babel-plugin-syntax-async-functions": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz",
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz"
}
},
"babel-plugin-transform-class-constructor-call": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-class-constructor-call/-/babel-plugin-transform-class-constructor-call-6.24.1.tgz",
+ "version": "https://registry.npmjs.org/babel-plugin-transform-class-constructor-call/-/babel-plugin-transform-class-constructor-call-6.24.1.tgz",
"integrity": "sha1-gNwoVQWsBn3LjWxl4vbxGrd2Xvk=",
"dev": true,
"requires": {
- "babel-plugin-syntax-class-constructor-call": "6.18.0",
- "babel-runtime": "6.26.0",
- "babel-template": "6.26.0"
+ "babel-plugin-syntax-class-constructor-call": "https://registry.npmjs.org/babel-plugin-syntax-class-constructor-call/-/babel-plugin-syntax-class-constructor-call-6.18.0.tgz",
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz"
}
},
"babel-plugin-transform-class-properties": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz",
+ "version": "https://registry.npmjs.org/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz",
"integrity": "sha1-anl2PqYdM9NvN7YRqp3vgagbRqw=",
"dev": true,
"requires": {
- "babel-helper-function-name": "6.24.1",
- "babel-plugin-syntax-class-properties": "6.13.0",
- "babel-runtime": "6.26.0",
- "babel-template": "6.26.0"
+ "babel-helper-function-name": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz",
+ "babel-plugin-syntax-class-properties": "https://registry.npmjs.org/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz",
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz"
}
},
"babel-plugin-transform-decorators": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-decorators/-/babel-plugin-transform-decorators-6.24.1.tgz",
+ "version": "https://registry.npmjs.org/babel-plugin-transform-decorators/-/babel-plugin-transform-decorators-6.24.1.tgz",
"integrity": "sha1-eIAT2PjGtSIr33s0Q5Df13Vp4k0=",
"dev": true,
"requires": {
- "babel-helper-explode-class": "6.24.1",
- "babel-plugin-syntax-decorators": "6.13.0",
- "babel-runtime": "6.26.0",
- "babel-template": "6.26.0",
- "babel-types": "6.26.0"
+ "babel-helper-explode-class": "https://registry.npmjs.org/babel-helper-explode-class/-/babel-helper-explode-class-6.24.1.tgz",
+ "babel-plugin-syntax-decorators": "https://registry.npmjs.org/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz",
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz",
+ "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz"
}
},
"babel-plugin-transform-decorators-legacy": {
- "version": "1.3.4",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-decorators-legacy/-/babel-plugin-transform-decorators-legacy-1.3.4.tgz",
+ "version": "https://registry.npmjs.org/babel-plugin-transform-decorators-legacy/-/babel-plugin-transform-decorators-legacy-1.3.4.tgz",
"integrity": "sha1-dBtY9sW86eYCfgiC2cmU8E82aSU=",
"dev": true,
"requires": {
- "babel-plugin-syntax-decorators": "6.13.0",
- "babel-runtime": "6.26.0",
- "babel-template": "6.26.0"
+ "babel-plugin-syntax-decorators": "https://registry.npmjs.org/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz",
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz"
}
},
"babel-plugin-transform-do-expressions": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-do-expressions/-/babel-plugin-transform-do-expressions-6.22.0.tgz",
+ "version": "https://registry.npmjs.org/babel-plugin-transform-do-expressions/-/babel-plugin-transform-do-expressions-6.22.0.tgz",
"integrity": "sha1-KMyvkoEtlJws0SgfaQyP3EaK6bs=",
"dev": true,
"requires": {
- "babel-plugin-syntax-do-expressions": "6.13.0",
- "babel-runtime": "6.26.0"
+ "babel-plugin-syntax-do-expressions": "https://registry.npmjs.org/babel-plugin-syntax-do-expressions/-/babel-plugin-syntax-do-expressions-6.13.0.tgz",
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz"
}
},
"babel-plugin-transform-es2015-arrow-functions": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz",
+ "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz",
"integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=",
"dev": true,
"requires": {
- "babel-runtime": "6.26.0"
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz"
}
},
"babel-plugin-transform-es2015-block-scoped-functions": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz",
+ "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz",
"integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=",
"dev": true,
"requires": {
- "babel-runtime": "6.26.0"
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz"
}
},
"babel-plugin-transform-es2015-block-scoping": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz",
+ "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz",
"integrity": "sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=",
"dev": true,
"requires": {
- "babel-runtime": "6.26.0",
- "babel-template": "6.26.0",
- "babel-traverse": "6.26.0",
- "babel-types": "6.26.0",
- "lodash": "4.17.5"
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz",
+ "babel-traverse": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz",
+ "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz",
+ "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz"
}
},
"babel-plugin-transform-es2015-classes": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz",
+ "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz",
"integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=",
"dev": true,
"requires": {
- "babel-helper-define-map": "6.26.0",
- "babel-helper-function-name": "6.24.1",
- "babel-helper-optimise-call-expression": "6.24.1",
- "babel-helper-replace-supers": "6.24.1",
- "babel-messages": "6.23.0",
- "babel-runtime": "6.26.0",
- "babel-template": "6.26.0",
- "babel-traverse": "6.26.0",
- "babel-types": "6.26.0"
+ "babel-helper-define-map": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz",
+ "babel-helper-function-name": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz",
+ "babel-helper-optimise-call-expression": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz",
+ "babel-helper-replace-supers": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz",
+ "babel-messages": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz",
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz",
+ "babel-traverse": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz",
+ "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz"
}
},
"babel-plugin-transform-es2015-computed-properties": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz",
+ "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz",
"integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=",
"dev": true,
"requires": {
- "babel-runtime": "6.26.0",
- "babel-template": "6.26.0"
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz"
}
},
"babel-plugin-transform-es2015-destructuring": {
- "version": "6.23.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz",
+ "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz",
"integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=",
"dev": true,
"requires": {
- "babel-runtime": "6.26.0"
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz"
}
},
"babel-plugin-transform-es2015-duplicate-keys": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz",
+ "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz",
"integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=",
"dev": true,
"requires": {
- "babel-runtime": "6.26.0",
- "babel-types": "6.26.0"
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz"
}
},
"babel-plugin-transform-es2015-for-of": {
- "version": "6.23.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz",
+ "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz",
"integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=",
"dev": true,
"requires": {
- "babel-runtime": "6.26.0"
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz"
}
},
"babel-plugin-transform-es2015-function-name": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz",
+ "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz",
"integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=",
"dev": true,
"requires": {
- "babel-helper-function-name": "6.24.1",
- "babel-runtime": "6.26.0",
- "babel-types": "6.26.0"
+ "babel-helper-function-name": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz",
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz"
}
},
"babel-plugin-transform-es2015-literals": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz",
+ "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz",
"integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=",
"dev": true,
"requires": {
- "babel-runtime": "6.26.0"
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz"
}
},
"babel-plugin-transform-es2015-modules-amd": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz",
+ "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz",
"integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=",
"dev": true,
"requires": {
- "babel-plugin-transform-es2015-modules-commonjs": "6.26.0",
- "babel-runtime": "6.26.0",
- "babel-template": "6.26.0"
+ "babel-plugin-transform-es2015-modules-commonjs": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.0.tgz",
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz"
}
},
"babel-plugin-transform-es2015-modules-commonjs": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.0.tgz",
+ "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.0.tgz",
"integrity": "sha1-DYOUApt9xqvhqX7xgeAHWN0uXYo=",
"dev": true,
"requires": {
- "babel-plugin-transform-strict-mode": "6.24.1",
- "babel-runtime": "6.26.0",
- "babel-template": "6.26.0",
- "babel-types": "6.26.0"
+ "babel-plugin-transform-strict-mode": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz",
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz",
+ "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz"
}
},
"babel-plugin-transform-es2015-modules-systemjs": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz",
+ "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz",
"integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=",
"dev": true,
"requires": {
- "babel-helper-hoist-variables": "6.24.1",
- "babel-runtime": "6.26.0",
- "babel-template": "6.26.0"
+ "babel-helper-hoist-variables": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz",
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz"
}
},
"babel-plugin-transform-es2015-modules-umd": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz",
+ "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz",
"integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=",
"dev": true,
"requires": {
- "babel-plugin-transform-es2015-modules-amd": "6.24.1",
- "babel-runtime": "6.26.0",
- "babel-template": "6.26.0"
+ "babel-plugin-transform-es2015-modules-amd": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz",
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz"
}
},
"babel-plugin-transform-es2015-object-super": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz",
+ "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz",
"integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=",
"dev": true,
"requires": {
- "babel-helper-replace-supers": "6.24.1",
- "babel-runtime": "6.26.0"
+ "babel-helper-replace-supers": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz",
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz"
}
},
"babel-plugin-transform-es2015-parameters": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz",
+ "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz",
"integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=",
"dev": true,
"requires": {
- "babel-helper-call-delegate": "6.24.1",
- "babel-helper-get-function-arity": "6.24.1",
- "babel-runtime": "6.26.0",
- "babel-template": "6.26.0",
- "babel-traverse": "6.26.0",
- "babel-types": "6.26.0"
+ "babel-helper-call-delegate": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz",
+ "babel-helper-get-function-arity": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz",
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz",
+ "babel-traverse": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz",
+ "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz"
}
},
"babel-plugin-transform-es2015-shorthand-properties": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz",
+ "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz",
"integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=",
"dev": true,
"requires": {
- "babel-runtime": "6.26.0",
- "babel-types": "6.26.0"
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz"
}
},
"babel-plugin-transform-es2015-spread": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz",
+ "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz",
"integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=",
"dev": true,
"requires": {
- "babel-runtime": "6.26.0"
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz"
}
},
"babel-plugin-transform-es2015-sticky-regex": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz",
+ "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz",
"integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=",
"dev": true,
"requires": {
- "babel-helper-regex": "6.26.0",
- "babel-runtime": "6.26.0",
- "babel-types": "6.26.0"
+ "babel-helper-regex": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz",
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz"
}
},
"babel-plugin-transform-es2015-template-literals": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz",
+ "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz",
"integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=",
"dev": true,
"requires": {
- "babel-runtime": "6.26.0"
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz"
}
},
"babel-plugin-transform-es2015-typeof-symbol": {
- "version": "6.23.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz",
+ "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz",
"integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=",
"dev": true,
"requires": {
- "babel-runtime": "6.26.0"
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz"
}
},
"babel-plugin-transform-es2015-unicode-regex": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz",
+ "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz",
"integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=",
"dev": true,
"requires": {
- "babel-helper-regex": "6.26.0",
- "babel-runtime": "6.26.0",
- "regexpu-core": "2.0.0"
+ "babel-helper-regex": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz",
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "regexpu-core": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz"
}
},
"babel-plugin-transform-es3-member-expression-literals": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es3-member-expression-literals/-/babel-plugin-transform-es3-member-expression-literals-6.22.0.tgz",
+ "version": "https://registry.npmjs.org/babel-plugin-transform-es3-member-expression-literals/-/babel-plugin-transform-es3-member-expression-literals-6.22.0.tgz",
"integrity": "sha1-cz00RPPsxBvvjtGmpOCWV7iWnrs=",
"dev": true,
"requires": {
- "babel-runtime": "6.26.0"
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz"
}
},
"babel-plugin-transform-es3-property-literals": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es3-property-literals/-/babel-plugin-transform-es3-property-literals-6.22.0.tgz",
+ "version": "https://registry.npmjs.org/babel-plugin-transform-es3-property-literals/-/babel-plugin-transform-es3-property-literals-6.22.0.tgz",
"integrity": "sha1-sgeNWELiKr9A9z6M3pzTcRq9V1g=",
"dev": true,
"requires": {
- "babel-runtime": "6.26.0"
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz"
}
},
"babel-plugin-transform-exponentiation-operator": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz",
+ "version": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz",
"integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=",
"dev": true,
"requires": {
- "babel-helper-builder-binary-assignment-operator-visitor": "6.24.1",
- "babel-plugin-syntax-exponentiation-operator": "6.13.0",
- "babel-runtime": "6.26.0"
+ "babel-helper-builder-binary-assignment-operator-visitor": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz",
+ "babel-plugin-syntax-exponentiation-operator": "https://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz",
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz"
}
},
"babel-plugin-transform-export-extensions": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-export-extensions/-/babel-plugin-transform-export-extensions-6.22.0.tgz",
+ "version": "https://registry.npmjs.org/babel-plugin-transform-export-extensions/-/babel-plugin-transform-export-extensions-6.22.0.tgz",
"integrity": "sha1-U3OLR+deghhYnuqUbLvTkQm75lM=",
"dev": true,
"requires": {
- "babel-plugin-syntax-export-extensions": "6.13.0",
- "babel-runtime": "6.26.0"
+ "babel-plugin-syntax-export-extensions": "https://registry.npmjs.org/babel-plugin-syntax-export-extensions/-/babel-plugin-syntax-export-extensions-6.13.0.tgz",
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz"
}
},
"babel-plugin-transform-flow-strip-types": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.22.0.tgz",
+ "version": "https://registry.npmjs.org/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.22.0.tgz",
"integrity": "sha1-hMtnKTXUNxT9wyvOhFaNh0Qc988=",
"dev": true,
"requires": {
- "babel-plugin-syntax-flow": "6.18.0",
- "babel-runtime": "6.26.0"
+ "babel-plugin-syntax-flow": "https://registry.npmjs.org/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz",
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz"
}
},
"babel-plugin-transform-function-bind": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-function-bind/-/babel-plugin-transform-function-bind-6.22.0.tgz",
+ "version": "https://registry.npmjs.org/babel-plugin-transform-function-bind/-/babel-plugin-transform-function-bind-6.22.0.tgz",
"integrity": "sha1-xvuOlqwpajELjPjqQBRiQH3fapc=",
"dev": true,
"requires": {
- "babel-plugin-syntax-function-bind": "6.13.0",
- "babel-runtime": "6.26.0"
+ "babel-plugin-syntax-function-bind": "https://registry.npmjs.org/babel-plugin-syntax-function-bind/-/babel-plugin-syntax-function-bind-6.13.0.tgz",
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz"
}
},
"babel-plugin-transform-object-assign": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-assign/-/babel-plugin-transform-object-assign-6.22.0.tgz",
+ "version": "https://registry.npmjs.org/babel-plugin-transform-object-assign/-/babel-plugin-transform-object-assign-6.22.0.tgz",
"integrity": "sha1-+Z0vZvGgsNSY40bFNZaEdAyqILo=",
"requires": {
- "babel-runtime": "6.26.0"
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz"
}
},
"babel-plugin-transform-object-rest-spread": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz",
+ "version": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz",
"integrity": "sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY=",
"dev": true,
"requires": {
- "babel-plugin-syntax-object-rest-spread": "6.13.0",
- "babel-runtime": "6.26.0"
+ "babel-plugin-syntax-object-rest-spread": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz",
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz"
}
},
"babel-plugin-transform-react-display-name": {
- "version": "6.25.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-display-name/-/babel-plugin-transform-react-display-name-6.25.0.tgz",
+ "version": "https://registry.npmjs.org/babel-plugin-transform-react-display-name/-/babel-plugin-transform-react-display-name-6.25.0.tgz",
"integrity": "sha1-Z+K/Hx6ck6sI25Z5LgU5K/LMKNE=",
"dev": true,
"requires": {
- "babel-runtime": "6.26.0"
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz"
}
},
"babel-plugin-transform-react-jsx": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx/-/babel-plugin-transform-react-jsx-6.24.1.tgz",
+ "version": "https://registry.npmjs.org/babel-plugin-transform-react-jsx/-/babel-plugin-transform-react-jsx-6.24.1.tgz",
"integrity": "sha1-hAoCjn30YN/DotKfDA2R9jduZqM=",
"dev": true,
"requires": {
- "babel-helper-builder-react-jsx": "6.26.0",
- "babel-plugin-syntax-jsx": "6.18.0",
- "babel-runtime": "6.26.0"
+ "babel-helper-builder-react-jsx": "https://registry.npmjs.org/babel-helper-builder-react-jsx/-/babel-helper-builder-react-jsx-6.26.0.tgz",
+ "babel-plugin-syntax-jsx": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz",
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz"
}
},
"babel-plugin-transform-react-jsx-self": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-self/-/babel-plugin-transform-react-jsx-self-6.22.0.tgz",
+ "version": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-self/-/babel-plugin-transform-react-jsx-self-6.22.0.tgz",
"integrity": "sha1-322AqdomEqEh5t3XVYvL7PBuY24=",
"dev": true,
"requires": {
- "babel-plugin-syntax-jsx": "6.18.0",
- "babel-runtime": "6.26.0"
+ "babel-plugin-syntax-jsx": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz",
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz"
}
},
"babel-plugin-transform-react-jsx-source": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-source/-/babel-plugin-transform-react-jsx-source-6.22.0.tgz",
+ "version": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-source/-/babel-plugin-transform-react-jsx-source-6.22.0.tgz",
"integrity": "sha1-ZqwSFT9c0tF7PBkmj0vwGX9E7NY=",
"dev": true,
"requires": {
- "babel-plugin-syntax-jsx": "6.18.0",
- "babel-runtime": "6.26.0"
+ "babel-plugin-syntax-jsx": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz",
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz"
}
},
"babel-plugin-transform-regenerator": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz",
+ "version": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz",
"integrity": "sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=",
"dev": true,
"requires": {
- "regenerator-transform": "0.10.1"
+ "regenerator-transform": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz"
}
},
"babel-plugin-transform-strict-mode": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz",
+ "version": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz",
"integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=",
"dev": true,
"requires": {
- "babel-runtime": "6.26.0",
- "babel-types": "6.26.0"
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz"
}
},
"babel-preset-env": {
- "version": "1.6.1",
- "resolved": "https://registry.npmjs.org/babel-preset-env/-/babel-preset-env-1.6.1.tgz",
- "integrity": "sha512-W6VIyA6Ch9ePMI7VptNn2wBM6dbG0eSz25HEiL40nQXCsXGTGZSTZu1Iap+cj3Q0S5a7T9+529l/5Bkvd+afNA==",
- "dev": true,
- "requires": {
- "babel-plugin-check-es2015-constants": "6.22.0",
- "babel-plugin-syntax-trailing-function-commas": "6.22.0",
- "babel-plugin-transform-async-to-generator": "6.24.1",
- "babel-plugin-transform-es2015-arrow-functions": "6.22.0",
- "babel-plugin-transform-es2015-block-scoped-functions": "6.22.0",
- "babel-plugin-transform-es2015-block-scoping": "6.26.0",
- "babel-plugin-transform-es2015-classes": "6.24.1",
- "babel-plugin-transform-es2015-computed-properties": "6.24.1",
- "babel-plugin-transform-es2015-destructuring": "6.23.0",
- "babel-plugin-transform-es2015-duplicate-keys": "6.24.1",
- "babel-plugin-transform-es2015-for-of": "6.23.0",
- "babel-plugin-transform-es2015-function-name": "6.24.1",
- "babel-plugin-transform-es2015-literals": "6.22.0",
- "babel-plugin-transform-es2015-modules-amd": "6.24.1",
- "babel-plugin-transform-es2015-modules-commonjs": "6.26.0",
- "babel-plugin-transform-es2015-modules-systemjs": "6.24.1",
- "babel-plugin-transform-es2015-modules-umd": "6.24.1",
- "babel-plugin-transform-es2015-object-super": "6.24.1",
- "babel-plugin-transform-es2015-parameters": "6.24.1",
- "babel-plugin-transform-es2015-shorthand-properties": "6.24.1",
- "babel-plugin-transform-es2015-spread": "6.22.0",
- "babel-plugin-transform-es2015-sticky-regex": "6.24.1",
- "babel-plugin-transform-es2015-template-literals": "6.22.0",
- "babel-plugin-transform-es2015-typeof-symbol": "6.23.0",
- "babel-plugin-transform-es2015-unicode-regex": "6.24.1",
- "babel-plugin-transform-exponentiation-operator": "6.24.1",
- "babel-plugin-transform-regenerator": "6.26.0",
- "browserslist": "2.11.3",
+ "version": "https://registry.npmjs.org/babel-preset-env/-/babel-preset-env-1.6.1.tgz",
+ "integrity": "sha1-oYtWTMm5r99KrleuPBsNmRiOb0g=",
+ "dev": true,
+ "requires": {
+ "babel-plugin-check-es2015-constants": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz",
+ "babel-plugin-syntax-trailing-function-commas": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz",
+ "babel-plugin-transform-async-to-generator": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz",
+ "babel-plugin-transform-es2015-arrow-functions": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz",
+ "babel-plugin-transform-es2015-block-scoped-functions": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz",
+ "babel-plugin-transform-es2015-block-scoping": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz",
+ "babel-plugin-transform-es2015-classes": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz",
+ "babel-plugin-transform-es2015-computed-properties": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz",
+ "babel-plugin-transform-es2015-destructuring": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz",
+ "babel-plugin-transform-es2015-duplicate-keys": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz",
+ "babel-plugin-transform-es2015-for-of": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz",
+ "babel-plugin-transform-es2015-function-name": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz",
+ "babel-plugin-transform-es2015-literals": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz",
+ "babel-plugin-transform-es2015-modules-amd": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz",
+ "babel-plugin-transform-es2015-modules-commonjs": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.0.tgz",
+ "babel-plugin-transform-es2015-modules-systemjs": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz",
+ "babel-plugin-transform-es2015-modules-umd": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz",
+ "babel-plugin-transform-es2015-object-super": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz",
+ "babel-plugin-transform-es2015-parameters": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz",
+ "babel-plugin-transform-es2015-shorthand-properties": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz",
+ "babel-plugin-transform-es2015-spread": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz",
+ "babel-plugin-transform-es2015-sticky-regex": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz",
+ "babel-plugin-transform-es2015-template-literals": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz",
+ "babel-plugin-transform-es2015-typeof-symbol": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz",
+ "babel-plugin-transform-es2015-unicode-regex": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz",
+ "babel-plugin-transform-exponentiation-operator": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz",
+ "babel-plugin-transform-regenerator": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz",
+ "browserslist": "https://registry.npmjs.org/browserslist/-/browserslist-2.11.3.tgz",
"invariant": "2.2.2",
- "semver": "5.5.0"
+ "semver": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz"
}
},
"babel-preset-es2015": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/babel-preset-es2015/-/babel-preset-es2015-6.22.0.tgz",
+ "version": "https://registry.npmjs.org/babel-preset-es2015/-/babel-preset-es2015-6.22.0.tgz",
"integrity": "sha1-r1qY7LNeuK92StiloF6zbcQ4aDU=",
"dev": true,
"requires": {
- "babel-plugin-check-es2015-constants": "6.22.0",
- "babel-plugin-transform-es2015-arrow-functions": "6.22.0",
- "babel-plugin-transform-es2015-block-scoped-functions": "6.22.0",
- "babel-plugin-transform-es2015-block-scoping": "6.26.0",
- "babel-plugin-transform-es2015-classes": "6.24.1",
- "babel-plugin-transform-es2015-computed-properties": "6.24.1",
- "babel-plugin-transform-es2015-destructuring": "6.23.0",
- "babel-plugin-transform-es2015-duplicate-keys": "6.24.1",
- "babel-plugin-transform-es2015-for-of": "6.23.0",
- "babel-plugin-transform-es2015-function-name": "6.24.1",
- "babel-plugin-transform-es2015-literals": "6.22.0",
- "babel-plugin-transform-es2015-modules-amd": "6.24.1",
- "babel-plugin-transform-es2015-modules-commonjs": "6.26.0",
- "babel-plugin-transform-es2015-modules-systemjs": "6.24.1",
- "babel-plugin-transform-es2015-modules-umd": "6.24.1",
- "babel-plugin-transform-es2015-object-super": "6.24.1",
- "babel-plugin-transform-es2015-parameters": "6.24.1",
- "babel-plugin-transform-es2015-shorthand-properties": "6.24.1",
- "babel-plugin-transform-es2015-spread": "6.22.0",
- "babel-plugin-transform-es2015-sticky-regex": "6.24.1",
- "babel-plugin-transform-es2015-template-literals": "6.22.0",
- "babel-plugin-transform-es2015-typeof-symbol": "6.23.0",
- "babel-plugin-transform-es2015-unicode-regex": "6.24.1",
- "babel-plugin-transform-regenerator": "6.26.0"
+ "babel-plugin-check-es2015-constants": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz",
+ "babel-plugin-transform-es2015-arrow-functions": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz",
+ "babel-plugin-transform-es2015-block-scoped-functions": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz",
+ "babel-plugin-transform-es2015-block-scoping": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz",
+ "babel-plugin-transform-es2015-classes": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz",
+ "babel-plugin-transform-es2015-computed-properties": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz",
+ "babel-plugin-transform-es2015-destructuring": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz",
+ "babel-plugin-transform-es2015-duplicate-keys": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz",
+ "babel-plugin-transform-es2015-for-of": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz",
+ "babel-plugin-transform-es2015-function-name": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz",
+ "babel-plugin-transform-es2015-literals": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz",
+ "babel-plugin-transform-es2015-modules-amd": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz",
+ "babel-plugin-transform-es2015-modules-commonjs": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.0.tgz",
+ "babel-plugin-transform-es2015-modules-systemjs": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz",
+ "babel-plugin-transform-es2015-modules-umd": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz",
+ "babel-plugin-transform-es2015-object-super": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz",
+ "babel-plugin-transform-es2015-parameters": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz",
+ "babel-plugin-transform-es2015-shorthand-properties": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz",
+ "babel-plugin-transform-es2015-spread": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz",
+ "babel-plugin-transform-es2015-sticky-regex": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz",
+ "babel-plugin-transform-es2015-template-literals": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz",
+ "babel-plugin-transform-es2015-typeof-symbol": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz",
+ "babel-plugin-transform-es2015-unicode-regex": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz",
+ "babel-plugin-transform-regenerator": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz"
}
},
"babel-preset-flow": {
- "version": "6.23.0",
- "resolved": "https://registry.npmjs.org/babel-preset-flow/-/babel-preset-flow-6.23.0.tgz",
+ "version": "https://registry.npmjs.org/babel-preset-flow/-/babel-preset-flow-6.23.0.tgz",
"integrity": "sha1-5xIYiHCFrpoktb5Baa/7WZgWxJ0=",
"dev": true,
"requires": {
- "babel-plugin-transform-flow-strip-types": "6.22.0"
+ "babel-plugin-transform-flow-strip-types": "https://registry.npmjs.org/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.22.0.tgz"
}
},
"babel-preset-react": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-preset-react/-/babel-preset-react-6.24.1.tgz",
+ "version": "https://registry.npmjs.org/babel-preset-react/-/babel-preset-react-6.24.1.tgz",
"integrity": "sha1-umnfrqRfw+xjm2pOzqbhdwLJE4A=",
"dev": true,
"requires": {
- "babel-plugin-syntax-jsx": "6.18.0",
- "babel-plugin-transform-react-display-name": "6.25.0",
- "babel-plugin-transform-react-jsx": "6.24.1",
- "babel-plugin-transform-react-jsx-self": "6.22.0",
- "babel-plugin-transform-react-jsx-source": "6.22.0",
- "babel-preset-flow": "6.23.0"
+ "babel-plugin-syntax-jsx": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz",
+ "babel-plugin-transform-react-display-name": "https://registry.npmjs.org/babel-plugin-transform-react-display-name/-/babel-plugin-transform-react-display-name-6.25.0.tgz",
+ "babel-plugin-transform-react-jsx": "https://registry.npmjs.org/babel-plugin-transform-react-jsx/-/babel-plugin-transform-react-jsx-6.24.1.tgz",
+ "babel-plugin-transform-react-jsx-self": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-self/-/babel-plugin-transform-react-jsx-self-6.22.0.tgz",
+ "babel-plugin-transform-react-jsx-source": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-source/-/babel-plugin-transform-react-jsx-source-6.22.0.tgz",
+ "babel-preset-flow": "https://registry.npmjs.org/babel-preset-flow/-/babel-preset-flow-6.23.0.tgz"
}
},
"babel-preset-stage-0": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-preset-stage-0/-/babel-preset-stage-0-6.24.1.tgz",
+ "version": "https://registry.npmjs.org/babel-preset-stage-0/-/babel-preset-stage-0-6.24.1.tgz",
"integrity": "sha1-VkLRUEL5E4TX5a+LyIsduVsDnmo=",
"dev": true,
"requires": {
- "babel-plugin-transform-do-expressions": "6.22.0",
- "babel-plugin-transform-function-bind": "6.22.0",
- "babel-preset-stage-1": "6.24.1"
+ "babel-plugin-transform-do-expressions": "https://registry.npmjs.org/babel-plugin-transform-do-expressions/-/babel-plugin-transform-do-expressions-6.22.0.tgz",
+ "babel-plugin-transform-function-bind": "https://registry.npmjs.org/babel-plugin-transform-function-bind/-/babel-plugin-transform-function-bind-6.22.0.tgz",
+ "babel-preset-stage-1": "https://registry.npmjs.org/babel-preset-stage-1/-/babel-preset-stage-1-6.24.1.tgz"
}
},
"babel-preset-stage-1": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-preset-stage-1/-/babel-preset-stage-1-6.24.1.tgz",
+ "version": "https://registry.npmjs.org/babel-preset-stage-1/-/babel-preset-stage-1-6.24.1.tgz",
"integrity": "sha1-dpLNfc1oSZB+auSgqFWJz7niv7A=",
"dev": true,
"requires": {
- "babel-plugin-transform-class-constructor-call": "6.24.1",
- "babel-plugin-transform-export-extensions": "6.22.0",
- "babel-preset-stage-2": "6.24.1"
+ "babel-plugin-transform-class-constructor-call": "https://registry.npmjs.org/babel-plugin-transform-class-constructor-call/-/babel-plugin-transform-class-constructor-call-6.24.1.tgz",
+ "babel-plugin-transform-export-extensions": "https://registry.npmjs.org/babel-plugin-transform-export-extensions/-/babel-plugin-transform-export-extensions-6.22.0.tgz",
+ "babel-preset-stage-2": "https://registry.npmjs.org/babel-preset-stage-2/-/babel-preset-stage-2-6.24.1.tgz"
}
},
"babel-preset-stage-2": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-preset-stage-2/-/babel-preset-stage-2-6.24.1.tgz",
+ "version": "https://registry.npmjs.org/babel-preset-stage-2/-/babel-preset-stage-2-6.24.1.tgz",
"integrity": "sha1-2eKWD7PXEYfw5k7sYrwHdnIZvcE=",
"dev": true,
"requires": {
- "babel-plugin-syntax-dynamic-import": "6.18.0",
- "babel-plugin-transform-class-properties": "6.24.1",
- "babel-plugin-transform-decorators": "6.24.1",
- "babel-preset-stage-3": "6.24.1"
+ "babel-plugin-syntax-dynamic-import": "https://registry.npmjs.org/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz",
+ "babel-plugin-transform-class-properties": "https://registry.npmjs.org/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz",
+ "babel-plugin-transform-decorators": "https://registry.npmjs.org/babel-plugin-transform-decorators/-/babel-plugin-transform-decorators-6.24.1.tgz",
+ "babel-preset-stage-3": "https://registry.npmjs.org/babel-preset-stage-3/-/babel-preset-stage-3-6.24.1.tgz"
}
},
"babel-preset-stage-3": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-preset-stage-3/-/babel-preset-stage-3-6.24.1.tgz",
+ "version": "https://registry.npmjs.org/babel-preset-stage-3/-/babel-preset-stage-3-6.24.1.tgz",
"integrity": "sha1-g2raCp56f6N8sTj7kyb4eTSkg5U=",
"dev": true,
"requires": {
- "babel-plugin-syntax-trailing-function-commas": "6.22.0",
- "babel-plugin-transform-async-generator-functions": "6.24.1",
- "babel-plugin-transform-async-to-generator": "6.24.1",
- "babel-plugin-transform-exponentiation-operator": "6.24.1",
- "babel-plugin-transform-object-rest-spread": "6.26.0"
+ "babel-plugin-syntax-trailing-function-commas": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz",
+ "babel-plugin-transform-async-generator-functions": "https://registry.npmjs.org/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-6.24.1.tgz",
+ "babel-plugin-transform-async-to-generator": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz",
+ "babel-plugin-transform-exponentiation-operator": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz",
+ "babel-plugin-transform-object-rest-spread": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz"
}
},
"babel-register": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz",
+ "version": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz",
"integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=",
"dev": true,
"requires": {
- "babel-core": "6.26.0",
- "babel-runtime": "6.26.0",
- "core-js": "2.5.3",
- "home-or-tmp": "2.0.0",
- "lodash": "4.17.5",
- "mkdirp": "0.5.1",
- "source-map-support": "0.4.18"
+ "babel-core": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.0.tgz",
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "core-js": "https://registry.npmjs.org/core-js/-/core-js-2.5.3.tgz",
+ "home-or-tmp": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz",
+ "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz",
+ "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+ "source-map-support": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz"
},
"dependencies": {
"babel-core": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.0.tgz",
+ "version": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.0.tgz",
"integrity": "sha1-rzL3izGm/O8RnIew/Y2XU/A6C7g=",
"dev": true,
"requires": {
- "babel-code-frame": "6.26.0",
- "babel-generator": "6.26.1",
- "babel-helpers": "6.24.1",
- "babel-messages": "6.23.0",
- "babel-register": "6.26.0",
- "babel-runtime": "6.26.0",
- "babel-template": "6.26.0",
- "babel-traverse": "6.26.0",
- "babel-types": "6.26.0",
- "babylon": "6.18.0",
- "convert-source-map": "1.5.1",
- "debug": "2.6.9",
- "json5": "0.5.1",
- "lodash": "4.17.5",
- "minimatch": "3.0.4",
- "path-is-absolute": "1.0.1",
- "private": "0.1.8",
- "slash": "1.0.0",
- "source-map": "0.5.7"
+ "babel-code-frame": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz",
+ "babel-generator": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz",
+ "babel-helpers": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz",
+ "babel-messages": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz",
+ "babel-register": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz",
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz",
+ "babel-traverse": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz",
+ "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz",
+ "babylon": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz",
+ "convert-source-map": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz",
+ "debug": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "json5": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
+ "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz",
+ "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+ "path-is-absolute": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "private": "https://registry.npmjs.org/private/-/private-0.1.8.tgz",
+ "slash": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz",
+ "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz"
}
},
"debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "version": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
"dev": true,
"requires": {
- "ms": "2.0.0"
+ "ms": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"
}
},
"source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "version": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
"integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
"dev": true
}
}
},
"babel-runtime": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "version": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
"integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
"requires": {
- "core-js": "2.5.3",
- "regenerator-runtime": "0.11.1"
+ "core-js": "https://registry.npmjs.org/core-js/-/core-js-2.5.3.tgz",
+ "regenerator-runtime": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz"
}
},
"babel-template": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz",
+ "version": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz",
"integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=",
"dev": true,
"requires": {
- "babel-runtime": "6.26.0",
- "babel-traverse": "6.26.0",
- "babel-types": "6.26.0",
- "babylon": "6.18.0",
- "lodash": "4.17.5"
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "babel-traverse": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz",
+ "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz",
+ "babylon": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz",
+ "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz"
}
},
"babel-traverse": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz",
+ "version": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz",
"integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=",
"dev": true,
"requires": {
- "babel-code-frame": "6.26.0",
- "babel-messages": "6.23.0",
- "babel-runtime": "6.26.0",
- "babel-types": "6.26.0",
- "babylon": "6.18.0",
- "debug": "2.6.9",
- "globals": "9.18.0",
+ "babel-code-frame": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz",
+ "babel-messages": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz",
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz",
+ "babylon": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz",
+ "debug": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "globals": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz",
"invariant": "2.2.2",
- "lodash": "4.17.5"
+ "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz"
},
"dependencies": {
"debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "version": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
"dev": true,
"requires": {
- "ms": "2.0.0"
+ "ms": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"
}
}
}
},
"babel-types": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz",
+ "version": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz",
"integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=",
"dev": true,
"requires": {
- "babel-runtime": "6.26.0",
- "esutils": "2.0.2",
- "lodash": "4.17.5",
- "to-fast-properties": "1.0.3"
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "esutils": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
+ "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz",
+ "to-fast-properties": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz"
}
},
"babelify": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/babelify/-/babelify-8.0.0.tgz",
- "integrity": "sha512-xVr63fKEvMWUrrIbqlHYsMcc5Zdw4FSVesAHgkgajyCE1W8gbm9rbMakqavhxKvikGYMhEcqxTwB/gQmQ6lBtw==",
+ "version": "https://registry.npmjs.org/babelify/-/babelify-8.0.0.tgz",
+ "integrity": "sha1-b2D18GK/52lXVO8kA7hCAUpYDtM=",
"dev": true
},
"babylon": {
- "version": "6.18.0",
- "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz",
- "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==",
+ "version": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz",
+ "integrity": "sha1-ry87iPpvXB5MY00aD46sT1WzleM=",
"dev": true
},
"backo2": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz",
+ "version": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz",
"integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=",
"dev": true
},
"bail": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/bail/-/bail-1.0.2.tgz",
+ "version": "https://registry.npmjs.org/bail/-/bail-1.0.2.tgz",
"integrity": "sha1-99bBcxYwqfnw1NNe0fli4gdKF2Q=",
"dev": true
},
"balanced-match": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
"integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
"dev": true
},
"base": {
- "version": "0.11.2",
- "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
- "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
+ "version": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
+ "integrity": "sha1-e95c7RRbbVUakNuH+DxVi060io8=",
"dev": true,
"requires": {
- "cache-base": "1.0.1",
- "class-utils": "0.3.6",
- "component-emitter": "1.2.1",
+ "cache-base": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
+ "class-utils": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
+ "component-emitter": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
"define-property": "1.0.0",
- "isobject": "3.0.1",
- "mixin-deep": "1.3.1",
- "pascalcase": "0.1.1"
+ "isobject": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+ "mixin-deep": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz",
+ "pascalcase": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz"
}
},
"base64-arraybuffer": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz",
+ "version": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz",
"integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg=",
"dev": true
},
@@ -1793,234 +1593,204 @@
"dev": true
},
"base64-url": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/base64-url/-/base64-url-1.2.1.tgz",
+ "version": "https://registry.npmjs.org/base64-url/-/base64-url-1.2.1.tgz",
"integrity": "sha1-GZ/WYXAqDnt9yubgaYuwicUvbXg=",
"dev": true
},
"base64id": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/base64id/-/base64id-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/base64id/-/base64id-1.0.0.tgz",
"integrity": "sha1-R2iMuZu2gE8OBtPnY7HDLlfY5rY=",
"dev": true
},
"basic-auth": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-1.0.4.tgz",
+ "version": "https://registry.npmjs.org/basic-auth/-/basic-auth-1.0.4.tgz",
"integrity": "sha1-Awk1sB3nyblKgksp8/zLdQ06UpA=",
"dev": true
},
"basic-auth-connect": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/basic-auth-connect/-/basic-auth-connect-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/basic-auth-connect/-/basic-auth-connect-1.0.0.tgz",
"integrity": "sha1-/bC0OWLKe0BFanwrtI/hc9otISI=",
"dev": true
},
"batch": {
- "version": "0.5.3",
- "resolved": "https://registry.npmjs.org/batch/-/batch-0.5.3.tgz",
+ "version": "https://registry.npmjs.org/batch/-/batch-0.5.3.tgz",
"integrity": "sha1-PzQU84AyF0O/wQQvmoP/HVgk1GQ=",
"dev": true
},
"bcrypt-pbkdf": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz",
+ "version": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz",
"integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=",
"dev": true,
"optional": true,
"requires": {
- "tweetnacl": "0.14.5"
+ "tweetnacl": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz"
}
},
"beeper": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/beeper/-/beeper-1.1.1.tgz",
+ "version": "https://registry.npmjs.org/beeper/-/beeper-1.1.1.tgz",
"integrity": "sha1-5tXqjF2tABMEpwsiY4RH9pyy+Ak=",
"dev": true
},
"better-assert": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz",
+ "version": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz",
"integrity": "sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI=",
"dev": true,
"requires": {
- "callsite": "1.0.0"
+ "callsite": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz"
}
},
"big.js": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz",
- "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==",
+ "version": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz",
+ "integrity": "sha1-pfwpi4G54Nyi5FiCR4S2XFK6WI4=",
"dev": true
},
"binary": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/binary/-/binary-0.3.0.tgz",
+ "version": "https://registry.npmjs.org/binary/-/binary-0.3.0.tgz",
"integrity": "sha1-n2BVO8XOjDOG87VTz/R0Yq3sqnk=",
"dev": true,
"requires": {
- "buffers": "0.1.1",
- "chainsaw": "0.1.0"
+ "buffers": "https://registry.npmjs.org/buffers/-/buffers-0.1.1.tgz",
+ "chainsaw": "https://registry.npmjs.org/chainsaw/-/chainsaw-0.1.0.tgz"
}
},
"binary-extensions": {
- "version": "1.11.0",
- "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.11.0.tgz",
+ "version": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.11.0.tgz",
"integrity": "sha1-RqoXUftqL5PuXmibsQh9SxTGwgU=",
"dev": true
},
"binaryextensions": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/binaryextensions/-/binaryextensions-1.0.1.tgz",
+ "version": "https://registry.npmjs.org/binaryextensions/-/binaryextensions-1.0.1.tgz",
"integrity": "sha1-HmN0iLNbWL2l9HdL+WpSEqjJB1U=",
"dev": true
},
"bitsyntax": {
- "version": "0.0.4",
- "resolved": "https://registry.npmjs.org/bitsyntax/-/bitsyntax-0.0.4.tgz",
+ "version": "https://registry.npmjs.org/bitsyntax/-/bitsyntax-0.0.4.tgz",
"integrity": "sha1-6xDMb4K4xJDj6FaY8H6D1G4MuoI=",
"dev": true,
"optional": true,
"requires": {
- "buffer-more-ints": "0.0.2"
+ "buffer-more-ints": "https://registry.npmjs.org/buffer-more-ints/-/buffer-more-ints-0.0.2.tgz"
}
},
"bl": {
- "version": "0.9.5",
- "resolved": "https://registry.npmjs.org/bl/-/bl-0.9.5.tgz",
+ "version": "https://registry.npmjs.org/bl/-/bl-0.9.5.tgz",
"integrity": "sha1-wGt5evCF6gC8Unr8jvzxHeIjIFQ=",
"dev": true,
"requires": {
- "readable-stream": "1.0.34"
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz"
},
"dependencies": {
"isarray": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "version": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
"integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
"dev": true
},
"readable-stream": {
- "version": "1.0.34",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
"integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
"dev": true,
"requires": {
- "core-util-is": "1.0.2",
- "inherits": "2.0.3",
- "isarray": "0.0.1",
- "string_decoder": "0.10.31"
+ "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
}
},
"string_decoder": {
- "version": "0.10.31",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "version": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
"dev": true
}
}
},
"blob": {
- "version": "0.0.4",
- "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.4.tgz",
+ "version": "https://registry.npmjs.org/blob/-/blob-0.0.4.tgz",
"integrity": "sha1-vPEwUspURj8w+fx+lbmkdjCpSSE=",
"dev": true
},
"block-loader": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/block-loader/-/block-loader-2.1.0.tgz",
+ "version": "https://registry.npmjs.org/block-loader/-/block-loader-2.1.0.tgz",
"integrity": "sha1-u7OYrVqEPGxx95opb0tt9LAlcxI=",
"dev": true
},
"bluebird": {
- "version": "3.5.1",
- "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz",
- "integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==",
+ "version": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz",
+ "integrity": "sha1-2VUfnemPH82h5oPRfukaBgLuLrk=",
"dev": true
},
"bn.js": {
- "version": "4.11.8",
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz",
- "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==",
+ "version": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz",
+ "integrity": "sha1-LN4J617jQfSEdGuwMJsyU7GxRC8=",
"dev": true
},
"body": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/body/-/body-5.1.0.tgz",
+ "version": "https://registry.npmjs.org/body/-/body-5.1.0.tgz",
"integrity": "sha1-5LoM5BCkaTYyM2dgnstOZVMSUGk=",
"dev": true,
"requires": {
- "continuable-cache": "0.3.1",
- "error": "7.0.2",
- "raw-body": "1.1.7",
- "safe-json-parse": "1.0.1"
+ "continuable-cache": "https://registry.npmjs.org/continuable-cache/-/continuable-cache-0.3.1.tgz",
+ "error": "https://registry.npmjs.org/error/-/error-7.0.2.tgz",
+ "raw-body": "https://registry.npmjs.org/raw-body/-/raw-body-1.1.7.tgz",
+ "safe-json-parse": "https://registry.npmjs.org/safe-json-parse/-/safe-json-parse-1.0.1.tgz"
}
},
"body-parser": {
- "version": "1.13.3",
- "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.13.3.tgz",
+ "version": "https://registry.npmjs.org/body-parser/-/body-parser-1.13.3.tgz",
"integrity": "sha1-wIzzMMM1jhUQFqBXRvE/ApyX+pc=",
"dev": true,
"requires": {
- "bytes": "2.1.0",
- "content-type": "1.0.4",
- "debug": "2.2.0",
- "depd": "1.0.1",
- "http-errors": "1.3.1",
- "iconv-lite": "0.4.11",
- "on-finished": "2.3.0",
- "qs": "4.0.0",
- "raw-body": "2.1.7",
+ "bytes": "https://registry.npmjs.org/bytes/-/bytes-2.1.0.tgz",
+ "content-type": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
+ "debug": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+ "depd": "https://registry.npmjs.org/depd/-/depd-1.0.1.tgz",
+ "http-errors": "https://registry.npmjs.org/http-errors/-/http-errors-1.3.1.tgz",
+ "iconv-lite": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.11.tgz",
+ "on-finished": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
+ "qs": "https://registry.npmjs.org/qs/-/qs-4.0.0.tgz",
+ "raw-body": "https://registry.npmjs.org/raw-body/-/raw-body-2.1.7.tgz",
"type-is": "1.6.15"
},
"dependencies": {
"bytes": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/bytes/-/bytes-2.1.0.tgz",
+ "version": "https://registry.npmjs.org/bytes/-/bytes-2.1.0.tgz",
"integrity": "sha1-rJPEEOL/ycx89LRks4KJBn9eR7Q=",
"dev": true
},
"debug": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+ "version": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
"integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
"dev": true,
"requires": {
- "ms": "0.7.1"
+ "ms": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz"
}
},
"ms": {
- "version": "0.7.1",
- "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
+ "version": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
"integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=",
"dev": true
},
"qs": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/qs/-/qs-4.0.0.tgz",
+ "version": "https://registry.npmjs.org/qs/-/qs-4.0.0.tgz",
"integrity": "sha1-wx2bdOwn33XlQ6hseHKO2NRiNgc=",
"dev": true
},
"raw-body": {
- "version": "2.1.7",
- "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.1.7.tgz",
+ "version": "https://registry.npmjs.org/raw-body/-/raw-body-2.1.7.tgz",
"integrity": "sha1-rf6s4uT7MJgFgBTQjActzFl1h3Q=",
"dev": true,
"requires": {
- "bytes": "2.4.0",
- "iconv-lite": "0.4.13",
- "unpipe": "1.0.0"
+ "bytes": "https://registry.npmjs.org/bytes/-/bytes-2.4.0.tgz",
+ "iconv-lite": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.13.tgz",
+ "unpipe": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz"
},
"dependencies": {
"bytes": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/bytes/-/bytes-2.4.0.tgz",
+ "version": "https://registry.npmjs.org/bytes/-/bytes-2.4.0.tgz",
"integrity": "sha1-fZcZb51br39pNeJZhVSe3SpsIzk=",
"dev": true
},
"iconv-lite": {
- "version": "0.4.13",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.13.tgz",
+ "version": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.13.tgz",
"integrity": "sha1-H4irpKsLFQjoMSrMOTRfNumS4vI=",
"dev": true
}
@@ -2029,22 +1799,20 @@
}
},
"boom": {
- "version": "2.10.1",
- "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz",
+ "version": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz",
"integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=",
"dev": true,
"requires": {
- "hoek": "2.16.3"
+ "hoek": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz"
}
},
"brace-expansion": {
- "version": "1.1.11",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
- "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "version": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0=",
"dev": true,
"requires": {
- "balanced-match": "1.0.0",
- "concat-map": "0.0.1"
+ "balanced-match": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
+ "concat-map": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz"
}
},
"braces": {
@@ -2053,192 +1821,179 @@
"integrity": "sha512-P4O8UQRdGiMLWSizsApmXVQDBS6KCt7dSexgLKBmH5Hr1CZq7vsnscFh8oR1sP1ab1Zj0uCHCEzZeV6SfUf3rA==",
"dev": true,
"requires": {
- "arr-flatten": "1.1.0",
- "array-unique": "0.3.2",
+ "arr-flatten": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
+ "array-unique": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
"define-property": "1.0.0",
"extend-shallow": "2.0.1",
- "fill-range": "4.0.0",
- "isobject": "3.0.1",
- "repeat-element": "1.1.2",
- "snapdragon": "0.8.1",
- "snapdragon-node": "2.1.1",
- "split-string": "3.1.0",
+ "fill-range": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
+ "isobject": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+ "repeat-element": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz",
+ "snapdragon": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.1.tgz",
+ "snapdragon-node": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
+ "split-string": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
"to-regex": "3.0.1"
}
},
"brorand": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz",
+ "version": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz",
"integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=",
"dev": true
},
"browser-pack": {
- "version": "6.0.4",
- "resolved": "https://registry.npmjs.org/browser-pack/-/browser-pack-6.0.4.tgz",
- "integrity": "sha512-Q4Rvn7P6ObyWfc4stqLWHtG1MJ8vVtjgT24Zbu+8UTzxYuZouqZsmNRRTFVMY/Ux0eIKv1d+JWzsInTX+fdHPQ==",
+ "version": "https://registry.npmjs.org/browser-pack/-/browser-pack-6.0.4.tgz",
+ "integrity": "sha1-mnO+s7SPnjaGi+AHtkQAECwEqZ8=",
"dev": true,
"requires": {
- "JSONStream": "1.3.2",
- "combine-source-map": "0.8.0",
- "defined": "1.0.0",
- "safe-buffer": "5.1.1",
- "through2": "2.0.3",
- "umd": "3.0.1"
+ "JSONStream": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.2.tgz",
+ "combine-source-map": "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.8.0.tgz",
+ "defined": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz",
+ "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz",
+ "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
+ "umd": "https://registry.npmjs.org/umd/-/umd-3.0.1.tgz"
}
},
"browser-resolve": {
- "version": "1.11.2",
- "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.2.tgz",
+ "version": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.2.tgz",
"integrity": "sha1-j/CbCixCFxihBRwmCzLkj0QpOM4=",
"dev": true,
"requires": {
- "resolve": "1.1.7"
+ "resolve": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz"
},
"dependencies": {
"resolve": {
- "version": "1.1.7",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz",
+ "version": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz",
"integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=",
"dev": true
}
}
},
"browser-stdout": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.0.tgz",
+ "version": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.0.tgz",
"integrity": "sha1-81HTKWnTL6XXpVZxVCY9korjvR8=",
"dev": true
},
"browserify": {
- "version": "14.5.0",
- "resolved": "https://registry.npmjs.org/browserify/-/browserify-14.5.0.tgz",
- "integrity": "sha512-gKfOsNQv/toWz+60nSPfYzuwSEdzvV2WdxrVPUbPD/qui44rAkB3t3muNtmmGYHqrG56FGwX9SUEQmzNLAeS7g==",
+ "version": "https://registry.npmjs.org/browserify/-/browserify-14.5.0.tgz",
+ "integrity": "sha1-C7vOUhrNbk0dVNjpNlAI77hanMU=",
"dev": true,
"requires": {
- "JSONStream": "1.3.2",
- "assert": "1.4.1",
- "browser-pack": "6.0.4",
- "browser-resolve": "1.11.2",
- "browserify-zlib": "0.2.0",
+ "JSONStream": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.2.tgz",
+ "assert": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz",
+ "browser-pack": "https://registry.npmjs.org/browser-pack/-/browser-pack-6.0.4.tgz",
+ "browser-resolve": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.2.tgz",
+ "browserify-zlib": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz",
"buffer": "5.0.8",
- "cached-path-relative": "1.0.1",
- "concat-stream": "1.5.2",
- "console-browserify": "1.1.0",
- "constants-browserify": "1.0.0",
- "crypto-browserify": "3.12.0",
- "defined": "1.0.0",
- "deps-sort": "2.0.0",
- "domain-browser": "1.1.7",
- "duplexer2": "0.1.4",
- "events": "1.1.1",
- "glob": "7.1.2",
- "has": "1.0.1",
- "htmlescape": "1.1.1",
- "https-browserify": "1.0.0",
- "inherits": "2.0.3",
+ "cached-path-relative": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.0.1.tgz",
+ "concat-stream": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.2.tgz",
+ "console-browserify": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz",
+ "constants-browserify": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz",
+ "crypto-browserify": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz",
+ "defined": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz",
+ "deps-sort": "https://registry.npmjs.org/deps-sort/-/deps-sort-2.0.0.tgz",
+ "domain-browser": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.1.7.tgz",
+ "duplexer2": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz",
+ "events": "https://registry.npmjs.org/events/-/events-1.1.1.tgz",
+ "glob": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
+ "has": "https://registry.npmjs.org/has/-/has-1.0.1.tgz",
+ "htmlescape": "https://registry.npmjs.org/htmlescape/-/htmlescape-1.1.1.tgz",
+ "https-browserify": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
"insert-module-globals": "7.0.1",
- "labeled-stream-splicer": "2.0.0",
- "module-deps": "4.1.1",
- "os-browserify": "0.3.0",
- "parents": "1.0.1",
- "path-browserify": "0.0.0",
- "process": "0.11.10",
- "punycode": "1.4.1",
- "querystring-es3": "0.2.1",
- "read-only-stream": "2.0.0",
- "readable-stream": "2.3.4",
- "resolve": "1.5.0",
- "shasum": "1.0.2",
- "shell-quote": "1.6.1",
- "stream-browserify": "2.0.1",
- "stream-http": "2.8.0",
- "string_decoder": "1.0.3",
- "subarg": "1.0.0",
- "syntax-error": "1.4.0",
- "through2": "2.0.3",
- "timers-browserify": "1.4.2",
- "tty-browserify": "0.0.1",
- "url": "0.11.0",
- "util": "0.10.3",
- "vm-browserify": "0.0.4",
- "xtend": "4.0.1"
+ "labeled-stream-splicer": "https://registry.npmjs.org/labeled-stream-splicer/-/labeled-stream-splicer-2.0.0.tgz",
+ "module-deps": "https://registry.npmjs.org/module-deps/-/module-deps-4.1.1.tgz",
+ "os-browserify": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz",
+ "parents": "https://registry.npmjs.org/parents/-/parents-1.0.1.tgz",
+ "path-browserify": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz",
+ "process": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
+ "punycode": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
+ "querystring-es3": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz",
+ "read-only-stream": "https://registry.npmjs.org/read-only-stream/-/read-only-stream-2.0.0.tgz",
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.4.tgz",
+ "resolve": "https://registry.npmjs.org/resolve/-/resolve-1.5.0.tgz",
+ "shasum": "https://registry.npmjs.org/shasum/-/shasum-1.0.2.tgz",
+ "shell-quote": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.6.1.tgz",
+ "stream-browserify": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz",
+ "stream-http": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.0.tgz",
+ "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz",
+ "subarg": "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz",
+ "syntax-error": "https://registry.npmjs.org/syntax-error/-/syntax-error-1.4.0.tgz",
+ "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
+ "timers-browserify": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-1.4.2.tgz",
+ "tty-browserify": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz",
+ "url": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
+ "util": "https://registry.npmjs.org/util/-/util-0.10.3.tgz",
+ "vm-browserify": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz",
+ "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
},
"dependencies": {
"concat-stream": {
- "version": "1.5.2",
- "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.2.tgz",
+ "version": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.2.tgz",
"integrity": "sha1-cIl4Yk2FavQaWnQd790mHadSwmY=",
"dev": true,
"requires": {
- "inherits": "2.0.3",
- "readable-stream": "2.0.6",
- "typedarray": "0.0.6"
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz",
+ "typedarray": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz"
},
"dependencies": {
"readable-stream": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz",
+ "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz",
"integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=",
"dev": true,
"requires": {
- "core-util-is": "1.0.2",
- "inherits": "2.0.3",
- "isarray": "1.0.0",
- "process-nextick-args": "1.0.7",
- "string_decoder": "0.10.31",
- "util-deprecate": "1.0.2"
+ "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "isarray": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "process-nextick-args": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
+ "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "util-deprecate": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"
}
},
"string_decoder": {
- "version": "0.10.31",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "version": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
"dev": true
}
}
},
"module-deps": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/module-deps/-/module-deps-4.1.1.tgz",
+ "version": "https://registry.npmjs.org/module-deps/-/module-deps-4.1.1.tgz",
"integrity": "sha1-IyFYM/HaE/1gbMuAh7RIUty4If0=",
"dev": true,
"requires": {
- "JSONStream": "1.3.2",
- "browser-resolve": "1.11.2",
- "cached-path-relative": "1.0.1",
- "concat-stream": "1.5.2",
- "defined": "1.0.0",
- "detective": "4.7.1",
- "duplexer2": "0.1.4",
- "inherits": "2.0.3",
- "parents": "1.0.1",
- "readable-stream": "2.3.4",
- "resolve": "1.5.0",
- "stream-combiner2": "1.1.1",
- "subarg": "1.0.0",
- "through2": "2.0.3",
- "xtend": "4.0.1"
+ "JSONStream": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.2.tgz",
+ "browser-resolve": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.2.tgz",
+ "cached-path-relative": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.0.1.tgz",
+ "concat-stream": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.2.tgz",
+ "defined": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz",
+ "detective": "https://registry.npmjs.org/detective/-/detective-4.7.1.tgz",
+ "duplexer2": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "parents": "https://registry.npmjs.org/parents/-/parents-1.0.1.tgz",
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.4.tgz",
+ "resolve": "https://registry.npmjs.org/resolve/-/resolve-1.5.0.tgz",
+ "stream-combiner2": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz",
+ "subarg": "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz",
+ "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
+ "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
}
},
"process-nextick-args": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
+ "version": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
"integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=",
"dev": true
},
"url": {
- "version": "0.11.0",
- "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
+ "version": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
"integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=",
"dev": true,
"requires": {
- "punycode": "1.3.2",
- "querystring": "0.2.0"
+ "punycode": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
+ "querystring": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz"
},
"dependencies": {
"punycode": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
+ "version": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
"integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=",
"dev": true
}
@@ -2247,79 +2002,72 @@
}
},
"browserify-aes": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.1.1.tgz",
- "integrity": "sha512-UGnTYAnB2a3YuYKIRy1/4FB2HdM866E0qC46JXvVTYKlBlZlnvfpSfY6OKfXZAkv70eJ2a1SqzpAo5CRhZGDFg==",
+ "version": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.1.1.tgz",
+ "integrity": "sha1-OLerVe24Bv8tzaGn8WIHc6R3xJ8=",
"dev": true,
"requires": {
- "buffer-xor": "1.0.3",
- "cipher-base": "1.0.4",
- "create-hash": "1.1.3",
- "evp_bytestokey": "1.0.3",
- "inherits": "2.0.3",
- "safe-buffer": "5.1.1"
+ "buffer-xor": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz",
+ "cipher-base": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz",
+ "create-hash": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.3.tgz",
+ "evp_bytestokey": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz"
}
},
"browserify-cipher": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.0.tgz",
"integrity": "sha1-mYgkSHS/XtTijalWZtzWasj8Njo=",
"dev": true,
"requires": {
- "browserify-aes": "1.1.1",
- "browserify-des": "1.0.0",
- "evp_bytestokey": "1.0.3"
+ "browserify-aes": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.1.1.tgz",
+ "browserify-des": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.0.tgz",
+ "evp_bytestokey": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz"
}
},
"browserify-des": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.0.tgz",
"integrity": "sha1-2qJ3cXRwki7S/hhZQRihdUOXId0=",
"dev": true,
"requires": {
- "cipher-base": "1.0.4",
- "des.js": "1.0.0",
- "inherits": "2.0.3"
+ "cipher-base": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz",
+ "des.js": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz"
}
},
"browserify-rsa": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz",
+ "version": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz",
"integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=",
"dev": true,
"requires": {
- "bn.js": "4.11.8",
- "randombytes": "2.0.6"
+ "bn.js": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz",
+ "randombytes": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz"
}
},
"browserify-sign": {
- "version": "4.0.4",
- "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz",
+ "version": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz",
"integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=",
"dev": true,
"requires": {
- "bn.js": "4.11.8",
- "browserify-rsa": "4.0.1",
- "create-hash": "1.1.3",
- "create-hmac": "1.1.6",
- "elliptic": "6.4.0",
- "inherits": "2.0.3",
- "parse-asn1": "5.1.0"
+ "bn.js": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz",
+ "browserify-rsa": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz",
+ "create-hash": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.3.tgz",
+ "create-hmac": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.6.tgz",
+ "elliptic": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.0.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "parse-asn1": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.0.tgz"
}
},
"browserify-zlib": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz",
- "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==",
+ "version": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz",
+ "integrity": "sha1-KGlFnZqjviRf6P4sofRuLn9U1z8=",
"dev": true,
"requires": {
- "pako": "1.0.6"
+ "pako": "https://registry.npmjs.org/pako/-/pako-1.0.6.tgz"
}
},
"browserslist": {
- "version": "2.11.3",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-2.11.3.tgz",
- "integrity": "sha512-yWu5cXT7Av6mVwzWc8lMsJMHWn4xyjSuGYi4IozbVTLUOEYPSagUB8kiMDUHA1fS3zjr8nkxkn9jdvug4BBRmA==",
+ "version": "https://registry.npmjs.org/browserslist/-/browserslist-2.11.3.tgz",
+ "integrity": "sha1-/jYWeu0bvN5IJ+v+cTR6LMcLmbI=",
"dev": true,
"requires": {
"caniuse-lite": "1.0.30000808",
@@ -2327,22 +2075,20 @@
}
},
"browserstack": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/browserstack/-/browserstack-1.5.0.tgz",
+ "version": "https://registry.npmjs.org/browserstack/-/browserstack-1.5.0.tgz",
"integrity": "sha1-tWVCWtYu1ywQgqHrl51TE8fUdU8=",
"dev": true,
"requires": {
- "https-proxy-agent": "1.0.0"
+ "https-proxy-agent": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-1.0.0.tgz"
}
},
"browserstacktunnel-wrapper": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/browserstacktunnel-wrapper/-/browserstacktunnel-wrapper-2.0.1.tgz",
+ "version": "https://registry.npmjs.org/browserstacktunnel-wrapper/-/browserstacktunnel-wrapper-2.0.1.tgz",
"integrity": "sha1-/+GRDW45/oZhgYPoJmkAQa9T7a4=",
"dev": true,
"requires": {
- "https-proxy-agent": "1.0.0",
- "unzip": "0.1.11"
+ "https-proxy-agent": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-1.0.0.tgz",
+ "unzip": "https://registry.npmjs.org/unzip/-/unzip-0.1.11.tgz"
}
},
"buffer": {
@@ -2352,142 +2098,124 @@
"dev": true,
"requires": {
"base64-js": "1.2.1",
- "ieee754": "1.1.8"
+ "ieee754": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.8.tgz"
}
},
"buffer-crc32": {
- "version": "0.2.13",
- "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
+ "version": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
"integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=",
"dev": true
},
"buffer-equal": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.0.tgz",
"integrity": "sha1-WWFrSYME1Var1GaWayLu2j7KX74=",
"dev": true
},
"buffer-more-ints": {
- "version": "0.0.2",
- "resolved": "https://registry.npmjs.org/buffer-more-ints/-/buffer-more-ints-0.0.2.tgz",
+ "version": "https://registry.npmjs.org/buffer-more-ints/-/buffer-more-ints-0.0.2.tgz",
"integrity": "sha1-JrOIXRD6E9t/wBquOquHAZngEkw=",
"dev": true
},
"buffer-shims": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz",
"integrity": "sha1-mXjOMXOIxkmth5MCjDR37wRKi1E=",
"dev": true
},
"buffer-xor": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz",
+ "version": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz",
"integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=",
"dev": true
},
"buffers": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/buffers/-/buffers-0.1.1.tgz",
+ "version": "https://registry.npmjs.org/buffers/-/buffers-0.1.1.tgz",
"integrity": "sha1-skV5w77U1tOWru5tmorn9Ugqt7s=",
"dev": true
},
"buildmail": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/buildmail/-/buildmail-4.0.1.tgz",
+ "version": "https://registry.npmjs.org/buildmail/-/buildmail-4.0.1.tgz",
"integrity": "sha1-h393OLeHKYccmhBeO4N9K+EaenI=",
"dev": true,
"optional": true,
"requires": {
- "addressparser": "1.0.1",
- "libbase64": "0.1.0",
- "libmime": "3.0.0",
- "libqp": "1.1.0",
- "nodemailer-fetch": "1.6.0",
- "nodemailer-shared": "1.1.0",
- "punycode": "1.4.1"
+ "addressparser": "https://registry.npmjs.org/addressparser/-/addressparser-1.0.1.tgz",
+ "libbase64": "https://registry.npmjs.org/libbase64/-/libbase64-0.1.0.tgz",
+ "libmime": "https://registry.npmjs.org/libmime/-/libmime-3.0.0.tgz",
+ "libqp": "https://registry.npmjs.org/libqp/-/libqp-1.1.0.tgz",
+ "nodemailer-fetch": "https://registry.npmjs.org/nodemailer-fetch/-/nodemailer-fetch-1.6.0.tgz",
+ "nodemailer-shared": "https://registry.npmjs.org/nodemailer-shared/-/nodemailer-shared-1.1.0.tgz",
+ "punycode": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz"
}
},
"builtin-modules": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz",
+ "version": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz",
"integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=",
"dev": true
},
"builtin-status-codes": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz",
+ "version": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz",
"integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=",
"dev": true
},
"bytes": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/bytes/-/bytes-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/bytes/-/bytes-1.0.0.tgz",
"integrity": "sha1-NWnt6Lo0MV+rmcPpLLBMciDeH6g=",
"dev": true
},
"cache-base": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
- "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
+ "version": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
+ "integrity": "sha1-Cn9GQWgxyLZi7jb+TnxZ129marI=",
"dev": true,
"requires": {
- "collection-visit": "1.0.0",
- "component-emitter": "1.2.1",
- "get-value": "2.0.6",
- "has-value": "1.0.0",
- "isobject": "3.0.1",
- "set-value": "2.0.0",
- "to-object-path": "0.3.0",
- "union-value": "1.0.0",
- "unset-value": "1.0.0"
+ "collection-visit": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
+ "component-emitter": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
+ "get-value": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
+ "has-value": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
+ "isobject": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+ "set-value": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz",
+ "to-object-path": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
+ "union-value": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz",
+ "unset-value": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz"
}
},
"cached-path-relative": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.0.1.tgz",
+ "version": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.0.1.tgz",
"integrity": "sha1-0JxLUoAKpMB44t2BqGmqyQ0uVOc=",
"dev": true
},
"caller-path": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz",
+ "version": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz",
"integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=",
"dev": true,
"requires": {
- "callsites": "0.2.0"
+ "callsites": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz"
}
},
"callsite": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz",
"integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=",
"dev": true
},
"callsites": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz",
+ "version": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz",
"integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=",
"dev": true
},
"camelcase": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz",
+ "version": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz",
"integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=",
"dev": true
},
"camelcase-keys": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz",
+ "version": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz",
"integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=",
"dev": true,
"requires": {
- "camelcase": "2.1.1",
- "map-obj": "1.0.1"
+ "camelcase": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz",
+ "map-obj": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz"
},
"dependencies": {
"camelcase": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz",
+ "version": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz",
"integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=",
"dev": true
}
@@ -2500,113 +2228,99 @@
"dev": true
},
"caseless": {
- "version": "0.11.0",
- "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz",
+ "version": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz",
"integrity": "sha1-cVuW6phBWTzDMGeSP17GDr2k99c=",
"dev": true
},
"ccount": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/ccount/-/ccount-1.0.2.tgz",
+ "version": "https://registry.npmjs.org/ccount/-/ccount-1.0.2.tgz",
"integrity": "sha1-U7ai+BW7d7nChx97mnLDol8djok=",
"dev": true
},
"center-align": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz",
+ "version": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz",
"integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=",
"dev": true,
"requires": {
- "align-text": "0.1.4",
- "lazy-cache": "1.0.4"
+ "align-text": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz",
+ "lazy-cache": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz"
},
"dependencies": {
"lazy-cache": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz",
+ "version": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz",
"integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=",
"dev": true
}
}
},
"chai": {
- "version": "3.5.0",
- "resolved": "https://registry.npmjs.org/chai/-/chai-3.5.0.tgz",
+ "version": "https://registry.npmjs.org/chai/-/chai-3.5.0.tgz",
"integrity": "sha1-TQJjewZ/6Vi9v906QOxW/vc3Mkc=",
"dev": true,
"requires": {
- "assertion-error": "1.1.0",
- "deep-eql": "0.1.3",
- "type-detect": "1.0.0"
+ "assertion-error": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz",
+ "deep-eql": "https://registry.npmjs.org/deep-eql/-/deep-eql-0.1.3.tgz",
+ "type-detect": "https://registry.npmjs.org/type-detect/-/type-detect-1.0.0.tgz"
}
},
"chai-nightwatch": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/chai-nightwatch/-/chai-nightwatch-0.1.1.tgz",
+ "version": "https://registry.npmjs.org/chai-nightwatch/-/chai-nightwatch-0.1.1.tgz",
"integrity": "sha1-HKVt52jTwIaP5/wvTTLC/olOa+k=",
"dev": true,
"requires": {
- "assertion-error": "1.0.0",
- "deep-eql": "0.1.3"
+ "assertion-error": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.0.0.tgz",
+ "deep-eql": "https://registry.npmjs.org/deep-eql/-/deep-eql-0.1.3.tgz"
},
"dependencies": {
"assertion-error": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.0.0.tgz",
"integrity": "sha1-x/hUOP3UZrx8oWq5DIFRN5el0js=",
"dev": true
}
}
},
"chainsaw": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/chainsaw/-/chainsaw-0.1.0.tgz",
+ "version": "https://registry.npmjs.org/chainsaw/-/chainsaw-0.1.0.tgz",
"integrity": "sha1-XqtQsor+WAdNDVgpE4iCi15fvJg=",
"dev": true,
"requires": {
- "traverse": "0.3.9"
+ "traverse": "https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz"
}
},
"chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "version": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
"integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
"dev": true,
"requires": {
- "ansi-styles": "2.2.1",
- "escape-string-regexp": "1.0.5",
- "has-ansi": "2.0.0",
- "strip-ansi": "3.0.1",
- "supports-color": "2.0.0"
+ "ansi-styles": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "escape-string-regexp": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "has-ansi": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
+ "strip-ansi": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "supports-color": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz"
}
},
"character-entities": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.1.tgz",
+ "version": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.1.tgz",
"integrity": "sha1-92hxvl72bdt/j440eOzDdMJ9bco=",
"dev": true
},
"character-entities-html4": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-1.1.1.tgz",
+ "version": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-1.1.1.tgz",
"integrity": "sha1-NZoqSg9+KdPcKsmb2+Ie45Q46lA=",
"dev": true
},
"character-entities-legacy": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.1.tgz",
+ "version": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.1.tgz",
"integrity": "sha1-9Ad53xoQGHK7UQo9KV4fzPFHIC8=",
"dev": true
},
"character-reference-invalid": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.1.tgz",
+ "version": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.1.tgz",
"integrity": "sha1-lCg191Dk7GGjCOYMLvjMEBEgLvw=",
"dev": true
},
"chardet": {
- "version": "0.4.2",
- "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz",
+ "version": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz",
"integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=",
"dev": true
},
@@ -2616,350 +2330,309 @@
"integrity": "sha512-rv5iP8ENhpqvDWr677rAXcB+SMoPQ1urd4ch79+PhM4lQwbATdJUQK69t0lJIKNB+VXpqxt5V1gvqs59XEPKnw==",
"dev": true,
"requires": {
- "anymatch": "2.0.0",
- "async-each": "1.0.1",
+ "anymatch": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
+ "async-each": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz",
"braces": "2.3.0",
- "fsevents": "1.1.3",
- "glob-parent": "3.1.0",
- "inherits": "2.0.3",
- "is-binary-path": "1.0.1",
- "is-glob": "4.0.0",
- "normalize-path": "2.1.1",
- "path-is-absolute": "1.0.1",
- "readdirp": "2.1.0",
+ "fsevents": "https://registry.npmjs.org/fsevents/-/fsevents-1.1.3.tgz",
+ "glob-parent": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "is-binary-path": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
+ "is-glob": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz",
+ "normalize-path": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
+ "path-is-absolute": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "readdirp": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz",
"upath": "1.0.0"
}
},
"cipher-base": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz",
- "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==",
+ "version": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz",
+ "integrity": "sha1-h2Dk7MJy9MNjUy+SbYdKriwTl94=",
"dev": true,
"requires": {
- "inherits": "2.0.3",
- "safe-buffer": "5.1.1"
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz"
}
},
"circular-json": {
- "version": "0.3.3",
- "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz",
- "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==",
+ "version": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz",
+ "integrity": "sha1-gVyZ6oT2gJUp0vRXkb34JxE1LWY=",
"dev": true
},
"class-utils": {
- "version": "0.3.6",
- "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
- "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
+ "version": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
+ "integrity": "sha1-+TNprouafOAv1B+q0MqDAzGQxGM=",
"dev": true,
"requires": {
- "arr-union": "3.1.0",
- "define-property": "0.2.5",
- "isobject": "3.0.1",
- "static-extend": "0.1.2"
+ "arr-union": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
+ "define-property": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "isobject": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+ "static-extend": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz"
},
"dependencies": {
"define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "version": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
"dev": true,
"requires": {
- "is-descriptor": "0.1.6"
+ "is-descriptor": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz"
}
},
"is-accessor-descriptor": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
+ "version": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
"integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
"dev": true,
"requires": {
- "kind-of": "3.2.2"
+ "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz"
},
"dependencies": {
"kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "version": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
"dev": true,
"requires": {
- "is-buffer": "1.1.6"
+ "is-buffer": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz"
}
}
}
},
"is-data-descriptor": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
+ "version": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
"integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
"dev": true,
"requires": {
- "kind-of": "3.2.2"
+ "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz"
},
"dependencies": {
"kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "version": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
"dev": true,
"requires": {
- "is-buffer": "1.1.6"
+ "is-buffer": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz"
}
}
}
},
"is-descriptor": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
- "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
+ "version": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
+ "integrity": "sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco=",
"dev": true,
"requires": {
- "is-accessor-descriptor": "0.1.6",
- "is-data-descriptor": "0.1.4",
- "kind-of": "5.1.0"
+ "is-accessor-descriptor": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
+ "is-data-descriptor": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
+ "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz"
}
},
"kind-of": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
- "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
+ "version": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
+ "integrity": "sha1-cpyR4thXt6QZofmqZWhcTDP1hF0=",
"dev": true
}
}
},
"cli-cursor": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz",
+ "version": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz",
"integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=",
"dev": true,
"requires": {
- "restore-cursor": "2.0.0"
+ "restore-cursor": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz"
}
},
"cli-width": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz",
+ "version": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz",
"integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=",
"dev": true
},
"cliui": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
+ "version": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
"integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=",
"dev": true,
"requires": {
- "string-width": "1.0.2",
- "strip-ansi": "3.0.1",
- "wrap-ansi": "2.1.0"
+ "string-width": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
+ "strip-ansi": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "wrap-ansi": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz"
}
},
"clone": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.1.tgz",
+ "version": "https://registry.npmjs.org/clone/-/clone-2.1.1.tgz",
"integrity": "sha1-0hfR6WERjjrJpLi7oyhVU79kfNs=",
"dev": true
},
"clone-buffer": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz",
"integrity": "sha1-4+JbIHrE5wGvch4staFnksrD3Fg=",
"dev": true
},
"clone-stats": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz",
"integrity": "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=",
"dev": true
},
"cloneable-readable": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.0.0.tgz",
"integrity": "sha1-pikNQT8hemEjL5XkWP84QYz7ARc=",
"dev": true,
"requires": {
- "inherits": "2.0.3",
- "process-nextick-args": "1.0.7",
- "through2": "2.0.3"
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "process-nextick-args": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
+ "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz"
},
"dependencies": {
"process-nextick-args": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
+ "version": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
"integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=",
"dev": true
}
}
},
"co": {
- "version": "4.6.0",
- "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
+ "version": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
"integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=",
"dev": true
},
"code-point-at": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
+ "version": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
"integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
"dev": true
},
"collapse-white-space": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.3.tgz",
+ "version": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.3.tgz",
"integrity": "sha1-S5BvZw5aljqHt2sOFolkM0G2Ajw=",
"dev": true
},
"collection-visit": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
"integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
"dev": true,
"requires": {
- "map-visit": "1.0.0",
- "object-visit": "1.0.1"
+ "map-visit": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
+ "object-visit": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz"
}
},
"color-convert": {
- "version": "1.9.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz",
- "integrity": "sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==",
+ "version": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz",
+ "integrity": "sha1-wSYRB66y8pTr/+ye2eytUppgl+0=",
"dev": true,
"requires": {
- "color-name": "1.1.3"
+ "color-name": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz"
}
},
"color-name": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+ "version": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
"integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
"dev": true
},
"color-support": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz",
- "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==",
+ "version": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz",
+ "integrity": "sha1-k4NDeaHMmgxh+C9S8NBDIiUb1aI=",
"dev": true
},
"colors": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz",
+ "version": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz",
"integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=",
"dev": true
},
"combine-lists": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/combine-lists/-/combine-lists-1.0.1.tgz",
+ "version": "https://registry.npmjs.org/combine-lists/-/combine-lists-1.0.1.tgz",
"integrity": "sha1-RYwH4J4NkA/Ci3Cj/sLazR0st/Y=",
"dev": true,
"requires": {
- "lodash": "4.17.5"
+ "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz"
}
},
"combine-source-map": {
- "version": "0.8.0",
- "resolved": "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.8.0.tgz",
+ "version": "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.8.0.tgz",
"integrity": "sha1-pY0N8ELBhvz4IqjoAV9UUNLXmos=",
"dev": true,
"requires": {
- "convert-source-map": "1.1.3",
- "inline-source-map": "0.6.2",
- "lodash.memoize": "3.0.4",
- "source-map": "0.5.7"
+ "convert-source-map": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.3.tgz",
+ "inline-source-map": "https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.6.2.tgz",
+ "lodash.memoize": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-3.0.4.tgz",
+ "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz"
},
"dependencies": {
"convert-source-map": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.3.tgz",
+ "version": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.3.tgz",
"integrity": "sha1-SCnId+n+SbMWHzvzZziI4gRpmGA=",
"dev": true
},
"source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "version": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
"integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
"dev": true
}
}
},
"combined-stream": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz",
+ "version": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz",
"integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=",
"dev": true,
"requires": {
- "delayed-stream": "1.0.0"
+ "delayed-stream": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz"
}
},
"comma-separated-tokens": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-1.0.4.tgz",
+ "version": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-1.0.4.tgz",
"integrity": "sha1-cgg+WNSkYvAYZvZhf02Yo807ikY=",
"dev": true,
"requires": {
- "trim": "0.0.1"
+ "trim": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz"
}
},
"commander": {
- "version": "2.14.1",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.14.1.tgz",
- "integrity": "sha512-+YR16o3rK53SmWHU3rEM3tPAh2rwb1yPcQX5irVn7mb0gXbwuCCrnkbV5+PBfETdfg1vui07nM6PCG1zndcjQw==",
+ "version": "https://registry.npmjs.org/commander/-/commander-2.14.1.tgz",
+ "integrity": "sha1-IjUSPjevjKPGXfRbAm29NXsBuao=",
"dev": true
},
"commondir": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
+ "version": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
"integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=",
"dev": true
},
"component-bind": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz",
"integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=",
"dev": true
},
"component-emitter": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
+ "version": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
"integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=",
"dev": true
},
"component-inherit": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz",
+ "version": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz",
"integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=",
"dev": true
},
"compress-commons": {
- "version": "0.2.9",
- "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-0.2.9.tgz",
+ "version": "https://registry.npmjs.org/compress-commons/-/compress-commons-0.2.9.tgz",
"integrity": "sha1-Qi2SdDDAGr0GzUVbbfwEy0z4ADw=",
"dev": true,
"requires": {
- "buffer-crc32": "0.2.13",
- "crc32-stream": "0.3.4",
- "node-int64": "0.3.3",
- "readable-stream": "1.0.34"
+ "buffer-crc32": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
+ "crc32-stream": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-0.3.4.tgz",
+ "node-int64": "https://registry.npmjs.org/node-int64/-/node-int64-0.3.3.tgz",
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz"
},
"dependencies": {
"isarray": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "version": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
"integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
"dev": true
},
"readable-stream": {
- "version": "1.0.34",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
"integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
"dev": true,
"requires": {
- "core-util-is": "1.0.2",
- "inherits": "2.0.3",
- "isarray": "0.0.1",
- "string_decoder": "0.10.31"
+ "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
}
},
"string_decoder": {
- "version": "0.10.31",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "version": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
"dev": true
}
@@ -2975,669 +2648,588 @@
}
},
"compression": {
- "version": "1.5.2",
- "resolved": "https://registry.npmjs.org/compression/-/compression-1.5.2.tgz",
+ "version": "https://registry.npmjs.org/compression/-/compression-1.5.2.tgz",
"integrity": "sha1-sDuNhub4rSloPLqN+R3cb/x3s5U=",
"dev": true,
"requires": {
- "accepts": "1.2.13",
- "bytes": "2.1.0",
+ "accepts": "https://registry.npmjs.org/accepts/-/accepts-1.2.13.tgz",
+ "bytes": "https://registry.npmjs.org/bytes/-/bytes-2.1.0.tgz",
"compressible": "2.0.12",
- "debug": "2.2.0",
- "on-headers": "1.0.1",
- "vary": "1.0.1"
+ "debug": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+ "on-headers": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz",
+ "vary": "https://registry.npmjs.org/vary/-/vary-1.0.1.tgz"
},
"dependencies": {
"bytes": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/bytes/-/bytes-2.1.0.tgz",
+ "version": "https://registry.npmjs.org/bytes/-/bytes-2.1.0.tgz",
"integrity": "sha1-rJPEEOL/ycx89LRks4KJBn9eR7Q=",
"dev": true
},
"debug": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+ "version": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
"integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
"dev": true,
"requires": {
- "ms": "0.7.1"
+ "ms": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz"
}
},
"ms": {
- "version": "0.7.1",
- "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
+ "version": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
"integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=",
"dev": true
}
}
},
"concat-map": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "version": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
"integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
"dev": true
},
"concat-stream": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz",
+ "version": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz",
"integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=",
"dev": true,
"requires": {
- "inherits": "2.0.3",
- "readable-stream": "2.3.4",
- "typedarray": "0.0.6"
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.4.tgz",
+ "typedarray": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz"
}
},
"concat-with-sourcemaps": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/concat-with-sourcemaps/-/concat-with-sourcemaps-1.0.5.tgz",
- "integrity": "sha512-YtnS0VEY+e2Khzsey/6mra9EoM6h/5gxaC0e3mcHpA5yfDxafhygytNmcJWodvUgyXzSiL5MSkPO6bQGgfliHw==",
+ "version": "https://registry.npmjs.org/concat-with-sourcemaps/-/concat-with-sourcemaps-1.0.5.tgz",
+ "integrity": "sha1-iWS8I0fQWBm2N5gQTYfW4AG+2NA=",
"dev": true,
"requires": {
- "source-map": "0.6.1"
+ "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz"
}
},
"connect": {
- "version": "2.30.2",
- "resolved": "https://registry.npmjs.org/connect/-/connect-2.30.2.tgz",
+ "version": "https://registry.npmjs.org/connect/-/connect-2.30.2.tgz",
"integrity": "sha1-jam8vooFTT0xjXTf7JA7XDmhtgk=",
"dev": true,
"requires": {
- "basic-auth-connect": "1.0.0",
- "body-parser": "1.13.3",
- "bytes": "2.1.0",
- "compression": "1.5.2",
- "connect-timeout": "1.6.2",
- "content-type": "1.0.4",
- "cookie": "0.1.3",
- "cookie-parser": "1.3.5",
- "cookie-signature": "1.0.6",
- "csurf": "1.8.3",
- "debug": "2.2.0",
- "depd": "1.0.1",
- "errorhandler": "1.4.3",
- "express-session": "1.11.3",
- "finalhandler": "0.4.0",
- "fresh": "0.3.0",
- "http-errors": "1.3.1",
- "method-override": "2.3.10",
- "morgan": "1.6.1",
- "multiparty": "3.3.2",
- "on-headers": "1.0.1",
- "parseurl": "1.3.2",
- "pause": "0.1.0",
- "qs": "4.0.0",
- "response-time": "2.3.2",
- "serve-favicon": "2.3.2",
- "serve-index": "1.7.3",
- "serve-static": "1.10.3",
+ "basic-auth-connect": "https://registry.npmjs.org/basic-auth-connect/-/basic-auth-connect-1.0.0.tgz",
+ "body-parser": "https://registry.npmjs.org/body-parser/-/body-parser-1.13.3.tgz",
+ "bytes": "https://registry.npmjs.org/bytes/-/bytes-2.1.0.tgz",
+ "compression": "https://registry.npmjs.org/compression/-/compression-1.5.2.tgz",
+ "connect-timeout": "https://registry.npmjs.org/connect-timeout/-/connect-timeout-1.6.2.tgz",
+ "content-type": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
+ "cookie": "https://registry.npmjs.org/cookie/-/cookie-0.1.3.tgz",
+ "cookie-parser": "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.3.5.tgz",
+ "cookie-signature": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
+ "csurf": "https://registry.npmjs.org/csurf/-/csurf-1.8.3.tgz",
+ "debug": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+ "depd": "https://registry.npmjs.org/depd/-/depd-1.0.1.tgz",
+ "errorhandler": "https://registry.npmjs.org/errorhandler/-/errorhandler-1.4.3.tgz",
+ "express-session": "https://registry.npmjs.org/express-session/-/express-session-1.11.3.tgz",
+ "finalhandler": "https://registry.npmjs.org/finalhandler/-/finalhandler-0.4.0.tgz",
+ "fresh": "https://registry.npmjs.org/fresh/-/fresh-0.3.0.tgz",
+ "http-errors": "https://registry.npmjs.org/http-errors/-/http-errors-1.3.1.tgz",
+ "method-override": "https://registry.npmjs.org/method-override/-/method-override-2.3.10.tgz",
+ "morgan": "https://registry.npmjs.org/morgan/-/morgan-1.6.1.tgz",
+ "multiparty": "https://registry.npmjs.org/multiparty/-/multiparty-3.3.2.tgz",
+ "on-headers": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz",
+ "parseurl": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz",
+ "pause": "https://registry.npmjs.org/pause/-/pause-0.1.0.tgz",
+ "qs": "https://registry.npmjs.org/qs/-/qs-4.0.0.tgz",
+ "response-time": "https://registry.npmjs.org/response-time/-/response-time-2.3.2.tgz",
+ "serve-favicon": "https://registry.npmjs.org/serve-favicon/-/serve-favicon-2.3.2.tgz",
+ "serve-index": "https://registry.npmjs.org/serve-index/-/serve-index-1.7.3.tgz",
+ "serve-static": "https://registry.npmjs.org/serve-static/-/serve-static-1.10.3.tgz",
"type-is": "1.6.15",
- "utils-merge": "1.0.0",
- "vhost": "3.0.2"
+ "utils-merge": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz",
+ "vhost": "https://registry.npmjs.org/vhost/-/vhost-3.0.2.tgz"
},
"dependencies": {
"bytes": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/bytes/-/bytes-2.1.0.tgz",
+ "version": "https://registry.npmjs.org/bytes/-/bytes-2.1.0.tgz",
"integrity": "sha1-rJPEEOL/ycx89LRks4KJBn9eR7Q=",
"dev": true
},
"debug": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+ "version": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
"integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
"dev": true,
"requires": {
- "ms": "0.7.1"
+ "ms": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz"
}
},
"ms": {
- "version": "0.7.1",
- "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
+ "version": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
"integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=",
"dev": true
},
"qs": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/qs/-/qs-4.0.0.tgz",
+ "version": "https://registry.npmjs.org/qs/-/qs-4.0.0.tgz",
"integrity": "sha1-wx2bdOwn33XlQ6hseHKO2NRiNgc=",
"dev": true
}
}
},
"connect-livereload": {
- "version": "0.5.4",
- "resolved": "https://registry.npmjs.org/connect-livereload/-/connect-livereload-0.5.4.tgz",
+ "version": "https://registry.npmjs.org/connect-livereload/-/connect-livereload-0.5.4.tgz",
"integrity": "sha1-gBV9E3HJ83zBQDmrGJWXDRGdw7w=",
"dev": true
},
"connect-timeout": {
- "version": "1.6.2",
- "resolved": "https://registry.npmjs.org/connect-timeout/-/connect-timeout-1.6.2.tgz",
+ "version": "https://registry.npmjs.org/connect-timeout/-/connect-timeout-1.6.2.tgz",
"integrity": "sha1-3ppexh4zoStu2qt7XwYumMWZuI4=",
"dev": true,
"requires": {
- "debug": "2.2.0",
- "http-errors": "1.3.1",
- "ms": "0.7.1",
- "on-headers": "1.0.1"
+ "debug": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+ "http-errors": "https://registry.npmjs.org/http-errors/-/http-errors-1.3.1.tgz",
+ "ms": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
+ "on-headers": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz"
},
"dependencies": {
"debug": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+ "version": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
"integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
"dev": true,
"requires": {
- "ms": "0.7.1"
+ "ms": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz"
}
},
"ms": {
- "version": "0.7.1",
- "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
+ "version": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
"integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=",
"dev": true
}
}
},
"console-browserify": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz",
+ "version": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz",
"integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=",
"dev": true,
"requires": {
- "date-now": "0.1.4"
+ "date-now": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz"
}
},
"constants-browserify": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz",
"integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=",
"dev": true
},
"contains-path": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz",
+ "version": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz",
"integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=",
"dev": true
},
"content-type": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
- "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==",
+ "version": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
+ "integrity": "sha1-4TjMdeBAxyexlm/l5fjJruJW/js=",
"dev": true
},
"continuable-cache": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/continuable-cache/-/continuable-cache-0.3.1.tgz",
+ "version": "https://registry.npmjs.org/continuable-cache/-/continuable-cache-0.3.1.tgz",
"integrity": "sha1-vXJ6f67XfnH/OYWskzUakSczrQ8=",
"dev": true
},
"convert-source-map": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz",
+ "version": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz",
"integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU="
},
"cookie": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.1.3.tgz",
+ "version": "https://registry.npmjs.org/cookie/-/cookie-0.1.3.tgz",
"integrity": "sha1-5zSlwUF/zkctWu+Cw4HKu2TRpDU=",
"dev": true
},
"cookie-parser": {
- "version": "1.3.5",
- "resolved": "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.3.5.tgz",
+ "version": "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.3.5.tgz",
"integrity": "sha1-nXVVcPtdF4kHcSJ6AjFNm+fPg1Y=",
"dev": true,
"requires": {
- "cookie": "0.1.3",
- "cookie-signature": "1.0.6"
+ "cookie": "https://registry.npmjs.org/cookie/-/cookie-0.1.3.tgz",
+ "cookie-signature": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz"
}
},
"cookie-signature": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
+ "version": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
"integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=",
"dev": true
},
"copy-descriptor": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
+ "version": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
"integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=",
"dev": true
},
"core-js": {
- "version": "2.5.3",
- "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.3.tgz",
+ "version": "https://registry.npmjs.org/core-js/-/core-js-2.5.3.tgz",
"integrity": "sha1-isw4NFgk8W2DZbfJtCWRaOjtYD4="
},
"core-util-is": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "version": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
"integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
},
"coveralls": {
- "version": "2.13.3",
- "resolved": "https://registry.npmjs.org/coveralls/-/coveralls-2.13.3.tgz",
- "integrity": "sha512-iiAmn+l1XqRwNLXhW8Rs5qHZRFMYp9ZIPjEOVRpC/c4so6Y/f4/lFi0FfR5B9cCqgyhkJ5cZmbvcVRfP8MHchw==",
+ "version": "https://registry.npmjs.org/coveralls/-/coveralls-2.13.3.tgz",
+ "integrity": "sha1-mtfCrlJ0F/Nh6LYmSD9I7pLdK8c=",
"dev": true,
"requires": {
- "js-yaml": "3.6.1",
- "lcov-parse": "0.0.10",
- "log-driver": "1.2.5",
- "minimist": "1.2.0",
- "request": "2.79.0"
+ "js-yaml": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.6.1.tgz",
+ "lcov-parse": "https://registry.npmjs.org/lcov-parse/-/lcov-parse-0.0.10.tgz",
+ "log-driver": "https://registry.npmjs.org/log-driver/-/log-driver-1.2.5.tgz",
+ "minimist": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "request": "https://registry.npmjs.org/request/-/request-2.79.0.tgz"
},
"dependencies": {
"minimist": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "version": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
"integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
"dev": true
}
}
},
"crc": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/crc/-/crc-3.3.0.tgz",
+ "version": "https://registry.npmjs.org/crc/-/crc-3.3.0.tgz",
"integrity": "sha1-+mIuG8OIvyVzCQgta2UgDOZwkLo=",
"dev": true
},
"crc32-stream": {
- "version": "0.3.4",
- "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-0.3.4.tgz",
+ "version": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-0.3.4.tgz",
"integrity": "sha1-c7wltF+sHbZjIjGnv86JJ+nwZVI=",
"dev": true,
"requires": {
- "buffer-crc32": "0.2.13",
- "readable-stream": "1.0.34"
+ "buffer-crc32": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz"
},
"dependencies": {
"isarray": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "version": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
"integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
"dev": true
},
"readable-stream": {
- "version": "1.0.34",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
"integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
"dev": true,
"requires": {
- "core-util-is": "1.0.2",
- "inherits": "2.0.3",
- "isarray": "0.0.1",
- "string_decoder": "0.10.31"
+ "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
}
},
"string_decoder": {
- "version": "0.10.31",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "version": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
"dev": true
}
}
},
"create-ecdh": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.0.tgz",
+ "version": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.0.tgz",
"integrity": "sha1-iIxyNZbN92EvZJgjPuvXo1MBc30=",
"dev": true,
"requires": {
- "bn.js": "4.11.8",
- "elliptic": "6.4.0"
+ "bn.js": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz",
+ "elliptic": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.0.tgz"
}
},
"create-hash": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.3.tgz",
+ "version": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.3.tgz",
"integrity": "sha1-YGBCrIuSYnUPSDyt2rD1gZFy2P0=",
"dev": true,
"requires": {
- "cipher-base": "1.0.4",
- "inherits": "2.0.3",
- "ripemd160": "2.0.1",
- "sha.js": "2.4.10"
+ "cipher-base": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "ripemd160": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.1.tgz",
+ "sha.js": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.10.tgz"
}
},
"create-hmac": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.6.tgz",
+ "version": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.6.tgz",
"integrity": "sha1-rLniIaThe9sHbpBlfEK5PjcmzwY=",
"dev": true,
"requires": {
- "cipher-base": "1.0.4",
- "create-hash": "1.1.3",
- "inherits": "2.0.3",
- "ripemd160": "2.0.1",
- "safe-buffer": "5.1.1",
- "sha.js": "2.4.10"
+ "cipher-base": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz",
+ "create-hash": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.3.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "ripemd160": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.1.tgz",
+ "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz",
+ "sha.js": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.10.tgz"
}
},
"cross-spawn": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz",
+ "version": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz",
"integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=",
"dev": true,
"requires": {
- "lru-cache": "4.1.1",
- "shebang-command": "1.2.0",
- "which": "1.3.0"
+ "lru-cache": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz",
+ "shebang-command": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
+ "which": "https://registry.npmjs.org/which/-/which-1.3.0.tgz"
}
},
"cryptiles": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz",
+ "version": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz",
"integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=",
"dev": true,
"requires": {
- "boom": "2.10.1"
+ "boom": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz"
}
},
"crypto-browserify": {
- "version": "3.12.0",
- "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz",
- "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==",
- "dev": true,
- "requires": {
- "browserify-cipher": "1.0.0",
- "browserify-sign": "4.0.4",
- "create-ecdh": "4.0.0",
- "create-hash": "1.1.3",
- "create-hmac": "1.1.6",
- "diffie-hellman": "5.0.2",
- "inherits": "2.0.3",
- "pbkdf2": "3.0.14",
- "public-encrypt": "4.0.0",
- "randombytes": "2.0.6",
+ "version": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz",
+ "integrity": "sha1-OWz58xN/A+S45TLFj2mCVOAPgOw=",
+ "dev": true,
+ "requires": {
+ "browserify-cipher": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.0.tgz",
+ "browserify-sign": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz",
+ "create-ecdh": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.0.tgz",
+ "create-hash": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.3.tgz",
+ "create-hmac": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.6.tgz",
+ "diffie-hellman": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.2.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "pbkdf2": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.14.tgz",
+ "public-encrypt": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.0.tgz",
+ "randombytes": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz",
"randomfill": "1.0.3"
}
},
"csrf": {
- "version": "3.0.6",
- "resolved": "https://registry.npmjs.org/csrf/-/csrf-3.0.6.tgz",
+ "version": "https://registry.npmjs.org/csrf/-/csrf-3.0.6.tgz",
"integrity": "sha1-thEg3c7q/JHnbtUxO7XAsmZ7cQo=",
"dev": true,
"requires": {
- "rndm": "1.2.0",
- "tsscmp": "1.0.5",
- "uid-safe": "2.1.4"
+ "rndm": "https://registry.npmjs.org/rndm/-/rndm-1.2.0.tgz",
+ "tsscmp": "https://registry.npmjs.org/tsscmp/-/tsscmp-1.0.5.tgz",
+ "uid-safe": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.4.tgz"
}
},
"css": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/css/-/css-2.2.1.tgz",
+ "version": "https://registry.npmjs.org/css/-/css-2.2.1.tgz",
"integrity": "sha1-c6TIHehdtmTU7mdPfUcIXjstVdw=",
"requires": {
- "inherits": "2.0.3",
- "source-map": "0.1.43",
- "source-map-resolve": "0.3.1",
- "urix": "0.1.0"
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz",
+ "source-map-resolve": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.3.1.tgz",
+ "urix": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz"
},
"dependencies": {
"source-map": {
- "version": "0.1.43",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz",
+ "version": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz",
"integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=",
"requires": {
- "amdefine": "1.0.1"
+ "amdefine": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz"
}
}
}
},
"css-loader": {
- "version": "0.9.1",
- "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-0.9.1.tgz",
+ "version": "https://registry.npmjs.org/css-loader/-/css-loader-0.9.1.tgz",
"integrity": "sha1-LhqgDOfjDvLGp6SzAKCAp8l54Nw=",
"dev": true,
"optional": true,
"requires": {
- "csso": "1.3.12",
- "loader-utils": "0.2.17",
- "source-map": "0.1.43"
+ "csso": "https://registry.npmjs.org/csso/-/csso-1.3.12.tgz",
+ "loader-utils": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz",
+ "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz"
},
"dependencies": {
"loader-utils": {
- "version": "0.2.17",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz",
+ "version": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz",
"integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=",
"dev": true,
"optional": true,
"requires": {
- "big.js": "3.2.0",
- "emojis-list": "2.1.0",
- "json5": "0.5.1",
- "object-assign": "4.1.1"
+ "big.js": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz",
+ "emojis-list": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz",
+ "json5": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
+ "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz"
}
},
"source-map": {
- "version": "0.1.43",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz",
+ "version": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz",
"integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=",
"dev": true,
"optional": true,
"requires": {
- "amdefine": "1.0.1"
+ "amdefine": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz"
}
}
}
},
"css-parse": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/css-parse/-/css-parse-2.0.0.tgz",
+ "version": "https://registry.npmjs.org/css-parse/-/css-parse-2.0.0.tgz",
"integrity": "sha1-pGjuZnwW2BzPBcWMONKpfHgNv9Q=",
"dev": true,
"requires": {
- "css": "2.2.1"
+ "css": "https://registry.npmjs.org/css/-/css-2.2.1.tgz"
}
},
"css-value": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/css-value/-/css-value-0.0.1.tgz",
+ "version": "https://registry.npmjs.org/css-value/-/css-value-0.0.1.tgz",
"integrity": "sha1-Xv1sLupeof1rasV+wEJ7GEUkJOo=",
"dev": true
},
"csso": {
- "version": "1.3.12",
- "resolved": "https://registry.npmjs.org/csso/-/csso-1.3.12.tgz",
+ "version": "https://registry.npmjs.org/csso/-/csso-1.3.12.tgz",
"integrity": "sha1-/GKGlKLTiTiqrEmWdTIY/TEc254=",
"dev": true,
"optional": true
},
"csurf": {
- "version": "1.8.3",
- "resolved": "https://registry.npmjs.org/csurf/-/csurf-1.8.3.tgz",
+ "version": "https://registry.npmjs.org/csurf/-/csurf-1.8.3.tgz",
"integrity": "sha1-I/KhO/HY/OHQyZZYg5RELLqGpWo=",
"dev": true,
"requires": {
- "cookie": "0.1.3",
- "cookie-signature": "1.0.6",
- "csrf": "3.0.6",
- "http-errors": "1.3.1"
+ "cookie": "https://registry.npmjs.org/cookie/-/cookie-0.1.3.tgz",
+ "cookie-signature": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
+ "csrf": "https://registry.npmjs.org/csrf/-/csrf-3.0.6.tgz",
+ "http-errors": "https://registry.npmjs.org/http-errors/-/http-errors-1.3.1.tgz"
}
},
"ctype": {
- "version": "0.5.3",
- "resolved": "https://registry.npmjs.org/ctype/-/ctype-0.5.3.tgz",
+ "version": "https://registry.npmjs.org/ctype/-/ctype-0.5.3.tgz",
"integrity": "sha1-gsGMJGH3QRTvFsE1IkrQuRRMoS8=",
"dev": true
},
"currently-unhandled": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz",
+ "version": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz",
"integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=",
"dev": true,
"requires": {
- "array-find-index": "1.0.2"
+ "array-find-index": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz"
}
},
"custom-event": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz",
+ "version": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz",
"integrity": "sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU=",
"dev": true
},
"d": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/d/-/d-1.0.0.tgz",
"integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=",
"requires": {
"es5-ext": "0.10.38"
}
},
- "dargs": {
- "version": "github:christian-bromann/dargs#7d6d4164a7c4106dbd14ef39ed8d95b7b5e9b770",
- "dev": true,
- "requires": {
- "number-is-nan": "1.0.1"
- }
- },
"dashdash": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
+ "version": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
"integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
"dev": true,
"requires": {
- "assert-plus": "1.0.0"
+ "assert-plus": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz"
},
"dependencies": {
"assert-plus": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
"integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
"dev": true
}
}
},
"data-uri-to-buffer": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-1.2.0.tgz",
- "integrity": "sha512-vKQ9DTQPN1FLYiiEEOQ6IBGFqvjCa5rSK3cWMy/Nespm5d/x3dGFT9UBZnkLxCwua/IXBi2TYnwTEpsOvhC4UQ==",
+ "version": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-1.2.0.tgz",
+ "integrity": "sha1-dxY+qcINhkG0cH6PGKvfmnjzSDU=",
"dev": true
},
"date-format": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/date-format/-/date-format-1.2.0.tgz",
+ "version": "https://registry.npmjs.org/date-format/-/date-format-1.2.0.tgz",
"integrity": "sha1-YV6CjiM90aubua4JUODOzPpuytg=",
"dev": true
},
"date-now": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz",
+ "version": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz",
"integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=",
"dev": true
},
"dateformat": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-2.2.0.tgz",
+ "version": "https://registry.npmjs.org/dateformat/-/dateformat-2.2.0.tgz",
"integrity": "sha1-QGXiATz5+5Ft39gu+1Bq1MZ2kGI=",
"dev": true
},
"debug": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
- "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
+ "version": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
+ "integrity": "sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE=",
"requires": {
- "ms": "2.0.0"
+ "ms": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"
}
},
"debug-fabulous": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/debug-fabulous/-/debug-fabulous-1.0.0.tgz",
- "integrity": "sha512-dsd50qQ1atDeurcxL7XOjPp4nZCGZzWIONDujDXzl1atSyC3hMbZD+v6440etw+Vt0Pr8ce4TQzHfX3KZM05Mw==",
+ "version": "https://registry.npmjs.org/debug-fabulous/-/debug-fabulous-1.0.0.tgz",
+ "integrity": "sha1-V/ZkhkYJexsISdzaABc2LB7AD4s=",
"requires": {
- "debug": "3.1.0",
+ "debug": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
"memoizee": "0.4.11",
- "object-assign": "4.1.1"
+ "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz"
}
},
"decamelize": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
+ "version": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
"integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
"dev": true
},
"decode-uri-component": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
+ "version": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
"integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
"dev": true
},
"deep-eql": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-0.1.3.tgz",
+ "version": "https://registry.npmjs.org/deep-eql/-/deep-eql-0.1.3.tgz",
"integrity": "sha1-71WKyrjeJSBs1xOQbXTlaTDrafI=",
"dev": true,
"requires": {
- "type-detect": "0.1.1"
+ "type-detect": "https://registry.npmjs.org/type-detect/-/type-detect-0.1.1.tgz"
},
"dependencies": {
"type-detect": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-0.1.1.tgz",
+ "version": "https://registry.npmjs.org/type-detect/-/type-detect-0.1.1.tgz",
"integrity": "sha1-C6XsKohWQORw6k6FBZcZANrFiCI=",
"dev": true
}
}
},
"deep-is": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
+ "version": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
"integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
"dev": true
},
"deepmerge": {
- "version": "0.2.10",
- "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-0.2.10.tgz",
+ "version": "https://registry.npmjs.org/deepmerge/-/deepmerge-0.2.10.tgz",
"integrity": "sha1-iQa/nlJaT78bIDsq/LRkAkmCEhk=",
"dev": true
},
"default-require-extensions": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-1.0.0.tgz",
"integrity": "sha1-836hXT4T/9m0N9M+GnW1+5eHTLg=",
"dev": true,
"requires": {
- "strip-bom": "2.0.0"
+ "strip-bom": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz"
},
"dependencies": {
"strip-bom": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
+ "version": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
"integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
"dev": true,
"requires": {
- "is-utf8": "0.2.1"
+ "is-utf8": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz"
}
}
}
},
"defaults": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz",
+ "version": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz",
"integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=",
"dev": true,
"requires": {
- "clone": "1.0.3"
+ "clone": "https://registry.npmjs.org/clone/-/clone-1.0.3.tgz"
},
"dependencies": {
"clone": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.3.tgz",
+ "version": "https://registry.npmjs.org/clone/-/clone-1.0.3.tgz",
"integrity": "sha1-KY1+IjFmD0DAA8LtMUDezz9TCF8=",
"dev": true
}
}
},
"define-properties": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz",
+ "version": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz",
"integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=",
"dev": true,
"requires": {
- "foreach": "2.0.5",
- "object-keys": "1.0.11"
+ "foreach": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz",
+ "object-keys": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.11.tgz"
}
},
"define-property": {
@@ -3646,455 +3238,412 @@
"integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
"dev": true,
"requires": {
- "is-descriptor": "1.0.2"
+ "is-descriptor": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz"
}
},
"defined": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz",
"integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=",
"dev": true
},
"degenerator": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-1.0.4.tgz",
+ "version": "https://registry.npmjs.org/degenerator/-/degenerator-1.0.4.tgz",
"integrity": "sha1-/PSQo37OJmRk2cxDGrmMWBnO0JU=",
"dev": true,
"requires": {
"ast-types": "0.10.2",
- "escodegen": "1.8.1",
- "esprima": "3.1.3"
+ "escodegen": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz",
+ "esprima": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz"
},
"dependencies": {
"esprima": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz",
+ "version": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz",
"integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=",
"dev": true
}
}
},
"del": {
- "version": "2.2.2",
- "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz",
+ "version": "https://registry.npmjs.org/del/-/del-2.2.2.tgz",
"integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=",
"dev": true,
"requires": {
- "globby": "5.0.0",
- "is-path-cwd": "1.0.0",
- "is-path-in-cwd": "1.0.0",
- "object-assign": "4.1.1",
- "pify": "2.3.0",
- "pinkie-promise": "2.0.1",
- "rimraf": "2.6.2"
+ "globby": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz",
+ "is-path-cwd": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz",
+ "is-path-in-cwd": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz",
+ "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "pify": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "pinkie-promise": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
+ "rimraf": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz"
},
"dependencies": {
"pify": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "version": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
"integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
"dev": true
}
}
},
"delayed-stream": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
"integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
"dev": true
},
"depd": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/depd/-/depd-1.0.1.tgz",
+ "version": "https://registry.npmjs.org/depd/-/depd-1.0.1.tgz",
"integrity": "sha1-gK7GTJ1tl+ZcwqnKqTwKpqv3Oqo=",
"dev": true
},
"deprecated": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/deprecated/-/deprecated-0.0.1.tgz",
+ "version": "https://registry.npmjs.org/deprecated/-/deprecated-0.0.1.tgz",
"integrity": "sha1-+cmvVGSvoeepcUWKi97yqpTVuxk=",
"dev": true
},
"deps-sort": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/deps-sort/-/deps-sort-2.0.0.tgz",
+ "version": "https://registry.npmjs.org/deps-sort/-/deps-sort-2.0.0.tgz",
"integrity": "sha1-CRckkC6EZYJg65EHSMzNGvbiH7U=",
"dev": true,
"requires": {
- "JSONStream": "1.3.2",
- "shasum": "1.0.2",
- "subarg": "1.0.0",
- "through2": "2.0.3"
+ "JSONStream": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.2.tgz",
+ "shasum": "https://registry.npmjs.org/shasum/-/shasum-1.0.2.tgz",
+ "subarg": "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz",
+ "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz"
}
},
"des.js": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz",
"integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=",
"dev": true,
"requires": {
- "inherits": "2.0.3",
- "minimalistic-assert": "1.0.0"
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "minimalistic-assert": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz"
}
},
"destroy": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
+ "version": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
"integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=",
"dev": true
},
"detab": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/detab/-/detab-2.0.1.tgz",
- "integrity": "sha512-/hhdqdQc5thGrqzjyO/pz76lDZ5GSuAs6goxOaKTsvPk7HNnzAyFN5lyHgqpX4/s1i66K8qMGj+VhA9504x7DQ==",
+ "version": "https://registry.npmjs.org/detab/-/detab-2.0.1.tgz",
+ "integrity": "sha1-Ux9eMmYg4v1PAyZKkF+zvMivTfQ=",
"dev": true,
"requires": {
- "repeat-string": "1.6.1"
+ "repeat-string": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz"
}
},
"detect-file": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz",
"integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=",
"dev": true
},
"detect-indent": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz",
+ "version": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz",
"integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=",
"dev": true,
"requires": {
- "repeating": "2.0.1"
+ "repeating": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz"
}
},
"detect-newline": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz",
+ "version": "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz",
"integrity": "sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I="
},
"detective": {
- "version": "4.7.1",
- "resolved": "https://registry.npmjs.org/detective/-/detective-4.7.1.tgz",
- "integrity": "sha512-H6PmeeUcZloWtdt4DAkFyzFL94arpHr3NOwwmVILFiy+9Qd4JTxxXrzfyGk/lmct2qVGBwTSwSXagqu2BxmWig==",
+ "version": "https://registry.npmjs.org/detective/-/detective-4.7.1.tgz",
+ "integrity": "sha1-DspzFDOEQv67bWXaVMELscgrJG4=",
"dev": true,
"requires": {
"acorn": "5.4.1",
- "defined": "1.0.0"
+ "defined": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz"
}
},
"di": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz",
+ "version": "https://registry.npmjs.org/di/-/di-0.0.1.tgz",
"integrity": "sha1-gGZJMmzqp8qjMG112YXqJ0i6kTw=",
"dev": true
},
"diff": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/diff/-/diff-1.4.0.tgz",
+ "version": "https://registry.npmjs.org/diff/-/diff-1.4.0.tgz",
"integrity": "sha1-fyjS657nsVqX79ic5j3P2qPMur8=",
"dev": true
},
"diffie-hellman": {
- "version": "5.0.2",
- "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.2.tgz",
+ "version": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.2.tgz",
"integrity": "sha1-tYNXOScM/ias9jIJn97SoH8gnl4=",
"dev": true,
"requires": {
- "bn.js": "4.11.8",
- "miller-rabin": "4.0.1",
- "randombytes": "2.0.6"
+ "bn.js": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz",
+ "miller-rabin": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz",
+ "randombytes": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz"
}
},
"disparity": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/disparity/-/disparity-2.0.0.tgz",
+ "version": "https://registry.npmjs.org/disparity/-/disparity-2.0.0.tgz",
"integrity": "sha1-V92stHMkrl9Y0swNqIbbTOnutxg=",
"dev": true,
"requires": {
- "ansi-styles": "2.2.1",
- "diff": "1.4.0"
+ "ansi-styles": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "diff": "https://registry.npmjs.org/diff/-/diff-1.4.0.tgz"
}
},
"doctrine": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz",
+ "version": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz",
"integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=",
"dev": true,
"requires": {
- "esutils": "2.0.2",
- "isarray": "1.0.0"
+ "esutils": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
+ "isarray": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz"
}
},
"doctrine-temporary-fork": {
- "version": "2.0.0-alpha-allowarrayindex",
- "resolved": "https://registry.npmjs.org/doctrine-temporary-fork/-/doctrine-temporary-fork-2.0.0-alpha-allowarrayindex.tgz",
+ "version": "https://registry.npmjs.org/doctrine-temporary-fork/-/doctrine-temporary-fork-2.0.0-alpha-allowarrayindex.tgz",
"integrity": "sha1-QAFahn6yfnWybIKLcVJPE3+J+fA=",
"dev": true,
"requires": {
- "esutils": "2.0.2",
- "isarray": "1.0.0"
+ "esutils": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
+ "isarray": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz"
}
},
"documentation": {
- "version": "5.4.0",
- "resolved": "https://registry.npmjs.org/documentation/-/documentation-5.4.0.tgz",
- "integrity": "sha512-4i7nsVLUTIaKRU05op+6LCXosakbmvHdQWTeoj8UM9THbvwaO7Ok2ePgMl+s1Aw+31qeQTZqG5Z5JVgwspJocQ==",
- "dev": true,
- "requires": {
- "ansi-html": "0.0.7",
- "babel-core": "6.26.0",
- "babel-generator": "6.26.1",
- "babel-plugin-system-import-transformer": "3.1.0",
- "babel-plugin-transform-decorators-legacy": "1.3.4",
- "babel-preset-env": "1.6.1",
- "babel-preset-react": "6.24.1",
- "babel-preset-stage-0": "6.24.1",
- "babel-traverse": "6.26.0",
- "babel-types": "6.26.0",
- "babelify": "8.0.0",
- "babylon": "6.18.0",
- "chalk": "2.3.1",
+ "version": "https://registry.npmjs.org/documentation/-/documentation-5.4.0.tgz",
+ "integrity": "sha1-SQBqjKRE6DXwOpkP6MOT4Vy0+FM=",
+ "dev": true,
+ "requires": {
+ "ansi-html": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz",
+ "babel-core": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.0.tgz",
+ "babel-generator": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz",
+ "babel-plugin-system-import-transformer": "https://registry.npmjs.org/babel-plugin-system-import-transformer/-/babel-plugin-system-import-transformer-3.1.0.tgz",
+ "babel-plugin-transform-decorators-legacy": "https://registry.npmjs.org/babel-plugin-transform-decorators-legacy/-/babel-plugin-transform-decorators-legacy-1.3.4.tgz",
+ "babel-preset-env": "https://registry.npmjs.org/babel-preset-env/-/babel-preset-env-1.6.1.tgz",
+ "babel-preset-react": "https://registry.npmjs.org/babel-preset-react/-/babel-preset-react-6.24.1.tgz",
+ "babel-preset-stage-0": "https://registry.npmjs.org/babel-preset-stage-0/-/babel-preset-stage-0-6.24.1.tgz",
+ "babel-traverse": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz",
+ "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz",
+ "babelify": "https://registry.npmjs.org/babelify/-/babelify-8.0.0.tgz",
+ "babylon": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz",
+ "chalk": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz",
"chokidar": "2.0.1",
- "concat-stream": "1.6.0",
- "disparity": "2.0.0",
- "doctrine-temporary-fork": "2.0.0-alpha-allowarrayindex",
- "get-port": "3.2.0",
- "git-url-parse": "8.1.0",
- "github-slugger": "1.2.0",
- "glob": "7.1.2",
- "globals-docs": "2.4.0",
- "highlight.js": "9.12.0",
- "js-yaml": "3.10.0",
- "lodash": "4.17.5",
- "mdast-util-inject": "1.1.0",
+ "concat-stream": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz",
+ "disparity": "https://registry.npmjs.org/disparity/-/disparity-2.0.0.tgz",
+ "doctrine-temporary-fork": "https://registry.npmjs.org/doctrine-temporary-fork/-/doctrine-temporary-fork-2.0.0-alpha-allowarrayindex.tgz",
+ "get-port": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz",
+ "git-url-parse": "https://registry.npmjs.org/git-url-parse/-/git-url-parse-8.1.0.tgz",
+ "github-slugger": "https://registry.npmjs.org/github-slugger/-/github-slugger-1.2.0.tgz",
+ "glob": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
+ "globals-docs": "https://registry.npmjs.org/globals-docs/-/globals-docs-2.4.0.tgz",
+ "highlight.js": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.12.0.tgz",
+ "js-yaml": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.10.0.tgz",
+ "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz",
+ "mdast-util-inject": "https://registry.npmjs.org/mdast-util-inject/-/mdast-util-inject-1.1.0.tgz",
"micromatch": "3.1.5",
- "mime": "2.2.0",
- "module-deps-sortable": "4.0.6",
- "parse-filepath": "1.0.2",
- "pify": "3.0.0",
- "read-pkg-up": "3.0.0",
- "remark": "9.0.0",
- "remark-html": "7.0.0",
- "remark-toc": "5.0.0",
- "remote-origin-url": "0.4.0",
- "shelljs": "0.8.1",
- "stream-array": "1.1.2",
- "strip-json-comments": "2.0.1",
+ "mime": "https://registry.npmjs.org/mime/-/mime-2.2.0.tgz",
+ "module-deps-sortable": "https://registry.npmjs.org/module-deps-sortable/-/module-deps-sortable-4.0.6.tgz",
+ "parse-filepath": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz",
+ "pify": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
+ "read-pkg-up": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz",
+ "remark": "https://registry.npmjs.org/remark/-/remark-9.0.0.tgz",
+ "remark-html": "https://registry.npmjs.org/remark-html/-/remark-html-7.0.0.tgz",
+ "remark-toc": "https://registry.npmjs.org/remark-toc/-/remark-toc-5.0.0.tgz",
+ "remote-origin-url": "https://registry.npmjs.org/remote-origin-url/-/remote-origin-url-0.4.0.tgz",
+ "shelljs": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.1.tgz",
+ "stream-array": "https://registry.npmjs.org/stream-array/-/stream-array-1.1.2.tgz",
+ "strip-json-comments": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
"tiny-lr": "1.1.0",
- "unist-builder": "1.0.2",
- "unist-util-visit": "1.3.0",
- "vfile": "2.3.0",
- "vfile-reporter": "4.0.0",
- "vfile-sort": "2.1.0",
- "vinyl": "2.1.0",
- "vinyl-fs": "3.0.2",
- "yargs": "9.0.1"
+ "unist-builder": "https://registry.npmjs.org/unist-builder/-/unist-builder-1.0.2.tgz",
+ "unist-util-visit": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-1.3.0.tgz",
+ "vfile": "https://registry.npmjs.org/vfile/-/vfile-2.3.0.tgz",
+ "vfile-reporter": "https://registry.npmjs.org/vfile-reporter/-/vfile-reporter-4.0.0.tgz",
+ "vfile-sort": "https://registry.npmjs.org/vfile-sort/-/vfile-sort-2.1.0.tgz",
+ "vinyl": "https://registry.npmjs.org/vinyl/-/vinyl-2.1.0.tgz",
+ "vinyl-fs": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-3.0.2.tgz",
+ "yargs": "https://registry.npmjs.org/yargs/-/yargs-9.0.1.tgz"
},
"dependencies": {
"ansi-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
+ "version": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
"integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
"dev": true
},
"ansi-styles": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
- "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==",
+ "version": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
+ "integrity": "sha1-wVm41b4PnlpvNG2rlPFs4CIWG4g=",
"dev": true,
"requires": {
- "color-convert": "1.9.1"
+ "color-convert": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz"
}
},
"babel-core": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.0.tgz",
+ "version": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.0.tgz",
"integrity": "sha1-rzL3izGm/O8RnIew/Y2XU/A6C7g=",
"dev": true,
"requires": {
- "babel-code-frame": "6.26.0",
- "babel-generator": "6.26.1",
- "babel-helpers": "6.24.1",
- "babel-messages": "6.23.0",
- "babel-register": "6.26.0",
- "babel-runtime": "6.26.0",
- "babel-template": "6.26.0",
- "babel-traverse": "6.26.0",
- "babel-types": "6.26.0",
- "babylon": "6.18.0",
- "convert-source-map": "1.5.1",
- "debug": "2.6.9",
- "json5": "0.5.1",
- "lodash": "4.17.5",
- "minimatch": "3.0.4",
- "path-is-absolute": "1.0.1",
- "private": "0.1.8",
- "slash": "1.0.0",
- "source-map": "0.5.7"
+ "babel-code-frame": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz",
+ "babel-generator": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz",
+ "babel-helpers": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz",
+ "babel-messages": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz",
+ "babel-register": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz",
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz",
+ "babel-traverse": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz",
+ "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz",
+ "babylon": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz",
+ "convert-source-map": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz",
+ "debug": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "json5": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
+ "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz",
+ "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+ "path-is-absolute": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "private": "https://registry.npmjs.org/private/-/private-0.1.8.tgz",
+ "slash": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz",
+ "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz"
}
},
"chalk": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz",
- "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==",
+ "version": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz",
+ "integrity": "sha1-Uj/iZ4rsewToBBkJKS/osXBZt5Y=",
"dev": true,
"requires": {
- "ansi-styles": "3.2.0",
- "escape-string-regexp": "1.0.5",
- "supports-color": "5.2.0"
+ "ansi-styles": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
+ "escape-string-regexp": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "supports-color": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz"
}
},
"debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "version": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
"dev": true,
"requires": {
- "ms": "2.0.0"
+ "ms": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"
}
},
"esprima": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz",
- "integrity": "sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw==",
+ "version": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz",
+ "integrity": "sha1-RJnt3NERDgshi6zy+n9/WfVcqAQ=",
"dev": true
},
"is-fullwidth-code-point": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+ "version": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
"integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
"dev": true
},
"js-yaml": {
- "version": "3.10.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.10.0.tgz",
- "integrity": "sha512-O2v52ffjLa9VeM43J4XocZE//WT9N0IiwDa3KSHH7Tu8CtH+1qM8SIZvnsTh6v+4yFy5KUY3BHUVwjpfAWsjIA==",
+ "version": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.10.0.tgz",
+ "integrity": "sha1-LnhEFka9RoLpY/IrbpKCPDCcYtw=",
"dev": true,
"requires": {
"argparse": "1.0.9",
- "esprima": "4.0.0"
+ "esprima": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz"
}
},
"load-json-file": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz",
+ "version": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz",
"integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=",
"dev": true,
"requires": {
- "graceful-fs": "4.1.11",
- "parse-json": "2.2.0",
- "pify": "2.3.0",
- "strip-bom": "3.0.0"
+ "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "parse-json": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
+ "pify": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "strip-bom": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz"
},
"dependencies": {
"pify": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "version": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
"integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
"dev": true
}
}
},
"parse-json": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
+ "version": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
"integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
"dev": true,
"requires": {
- "error-ex": "1.3.1"
+ "error-ex": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz"
}
},
"path-type": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz",
+ "version": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz",
"integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=",
"dev": true,
"requires": {
- "pify": "2.3.0"
+ "pify": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz"
},
"dependencies": {
"pify": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "version": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
"integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
"dev": true
}
}
},
"read-pkg": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz",
+ "version": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz",
"integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=",
"dev": true,
"requires": {
- "load-json-file": "2.0.0",
- "normalize-package-data": "2.4.0",
- "path-type": "2.0.0"
+ "load-json-file": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz",
+ "normalize-package-data": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz",
+ "path-type": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz"
}
},
"source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "version": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
"integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
"dev": true
},
"string-width": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
- "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
+ "version": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
+ "integrity": "sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4=",
"dev": true,
"requires": {
- "is-fullwidth-code-point": "2.0.0",
- "strip-ansi": "4.0.0"
+ "is-fullwidth-code-point": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+ "strip-ansi": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz"
}
},
"strip-ansi": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
+ "version": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
"integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
"dev": true,
"requires": {
- "ansi-regex": "3.0.0"
+ "ansi-regex": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz"
}
},
"supports-color": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz",
- "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==",
+ "version": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz",
+ "integrity": "sha1-sNUzOxGE3TZmy+WqC0XFrHrBeko=",
"dev": true,
"requires": {
- "has-flag": "3.0.0"
+ "has-flag": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz"
}
},
"yargs": {
- "version": "9.0.1",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-9.0.1.tgz",
+ "version": "https://registry.npmjs.org/yargs/-/yargs-9.0.1.tgz",
"integrity": "sha1-UqzCP+7Kw0BCB47njAwAf1CF20w=",
"dev": true,
"requires": {
- "camelcase": "4.1.0",
- "cliui": "3.2.0",
- "decamelize": "1.2.0",
- "get-caller-file": "1.0.2",
- "os-locale": "2.1.0",
- "read-pkg-up": "2.0.0",
- "require-directory": "2.1.1",
- "require-main-filename": "1.0.1",
- "set-blocking": "2.0.0",
- "string-width": "2.1.1",
- "which-module": "2.0.0",
- "y18n": "3.2.1",
- "yargs-parser": "7.0.0"
+ "camelcase": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz",
+ "cliui": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
+ "decamelize": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
+ "get-caller-file": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz",
+ "os-locale": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz",
+ "read-pkg-up": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz",
+ "require-directory": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
+ "require-main-filename": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz",
+ "set-blocking": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
+ "string-width": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
+ "which-module": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
+ "y18n": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz",
+ "yargs-parser": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz"
},
"dependencies": {
"read-pkg-up": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz",
+ "version": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz",
"integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=",
"dev": true,
"requires": {
- "find-up": "2.1.0",
- "read-pkg": "2.0.0"
+ "find-up": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
+ "read-pkg": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz"
}
}
}
@@ -4102,76 +3651,67 @@
}
},
"dom-serialize": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz",
+ "version": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz",
"integrity": "sha1-ViromZ9Evl6jB29UGdzVnrQ6yVs=",
"dev": true,
"requires": {
- "custom-event": "1.0.1",
- "ent": "2.2.0",
- "extend": "3.0.1",
- "void-elements": "2.0.1"
+ "custom-event": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz",
+ "ent": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz",
+ "extend": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz",
+ "void-elements": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz"
}
},
"domain-browser": {
- "version": "1.1.7",
- "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.1.7.tgz",
+ "version": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.1.7.tgz",
"integrity": "sha1-hnqksJP6oF8d4IwG9NeyH9+GmLw=",
"dev": true
},
"double-ended-queue": {
- "version": "2.1.0-0",
- "resolved": "https://registry.npmjs.org/double-ended-queue/-/double-ended-queue-2.1.0-0.tgz",
+ "version": "https://registry.npmjs.org/double-ended-queue/-/double-ended-queue-2.1.0-0.tgz",
"integrity": "sha1-ED01J/0xUo9AGIEwyEHv3XgmTlw=",
"dev": true,
"optional": true
},
"duplexer": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz",
+ "version": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz",
"integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=",
"dev": true
},
"duplexer2": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz",
+ "version": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz",
"integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=",
"dev": true,
"requires": {
- "readable-stream": "2.3.4"
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.4.tgz"
}
},
"duplexify": {
- "version": "3.5.3",
- "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.5.3.tgz",
- "integrity": "sha512-g8ID9OroF9hKt2POf8YLayy+9594PzmM3scI00/uBXocX3TWNgoB67hjzkFe9ITAbQOne/lLdBxHXvYUM4ZgGA==",
+ "version": "https://registry.npmjs.org/duplexify/-/duplexify-3.5.3.tgz",
+ "integrity": "sha1-i1gYgA35L9ASWyeriWSRkShYJD4=",
"dev": true,
"requires": {
- "end-of-stream": "1.4.1",
- "inherits": "2.0.3",
- "readable-stream": "2.3.4",
- "stream-shift": "1.0.0"
+ "end-of-stream": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.4.tgz",
+ "stream-shift": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz"
}
},
"ecc-jsbn": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz",
+ "version": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz",
"integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=",
"dev": true,
"optional": true,
"requires": {
- "jsbn": "0.1.1"
+ "jsbn": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz"
}
},
"ee-first": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
+ "version": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
"integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=",
"dev": true
},
"ejs": {
- "version": "2.5.7",
- "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.5.7.tgz",
+ "version": "https://registry.npmjs.org/ejs/-/ejs-2.5.7.tgz",
"integrity": "sha1-zIcsFoiArjxxiXYv1f/ACJbJUYo=",
"dev": true
},
@@ -4182,45 +3722,40 @@
"dev": true
},
"elliptic": {
- "version": "6.4.0",
- "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.0.tgz",
+ "version": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.0.tgz",
"integrity": "sha1-ysmvh2LIWDYYcAPI3+GT5eLq5d8=",
"dev": true,
"requires": {
- "bn.js": "4.11.8",
- "brorand": "1.1.0",
- "hash.js": "1.1.3",
- "hmac-drbg": "1.0.1",
- "inherits": "2.0.3",
- "minimalistic-assert": "1.0.0",
- "minimalistic-crypto-utils": "1.0.1"
+ "bn.js": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz",
+ "brorand": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz",
+ "hash.js": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz",
+ "hmac-drbg": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "minimalistic-assert": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz",
+ "minimalistic-crypto-utils": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz"
}
},
"emoji-regex": {
- "version": "6.1.1",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-6.1.1.tgz",
+ "version": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-6.1.1.tgz",
"integrity": "sha1-xs0OwbBkLio8Z6ETfvxeeW2k+I4=",
"dev": true
},
"emojis-list": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz",
+ "version": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz",
"integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=",
"dev": true
},
"encodeurl": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
+ "version": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
"integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=",
"dev": true
},
"end-of-stream": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz",
- "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==",
+ "version": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz",
+ "integrity": "sha1-7SljTRm6ukY7bOa4CjchPqtx7EM=",
"dev": true,
"requires": {
- "once": "1.4.0"
+ "once": "https://registry.npmjs.org/once/-/once-1.4.0.tgz"
}
},
"engine.io": {
@@ -4230,12 +3765,12 @@
"dev": true,
"requires": {
"accepts": "1.3.3",
- "base64id": "1.0.0",
+ "base64id": "https://registry.npmjs.org/base64id/-/base64id-1.0.0.tgz",
"cookie": "0.3.1",
"debug": "2.6.9",
- "engine.io-parser": "2.1.2",
+ "engine.io-parser": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.1.2.tgz",
"uws": "0.14.5",
- "ws": "3.3.3"
+ "ws": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz"
},
"dependencies": {
"accepts": {
@@ -4260,7 +3795,7 @@
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"dev": true,
"requires": {
- "ms": "2.0.0"
+ "ms": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"
}
},
"negotiator": {
@@ -4277,17 +3812,17 @@
"integrity": "sha1-T88TcLRxY70s6b4nM5ckMDUNTqE=",
"dev": true,
"requires": {
- "component-emitter": "1.2.1",
- "component-inherit": "0.0.3",
+ "component-emitter": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
+ "component-inherit": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz",
"debug": "2.6.9",
- "engine.io-parser": "2.1.2",
- "has-cors": "1.1.0",
- "indexof": "0.0.1",
- "parseqs": "0.0.5",
- "parseuri": "0.0.5",
- "ws": "3.3.3",
- "xmlhttprequest-ssl": "1.5.5",
- "yeast": "0.1.2"
+ "engine.io-parser": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.1.2.tgz",
+ "has-cors": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz",
+ "indexof": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz",
+ "parseqs": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz",
+ "parseuri": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz",
+ "ws": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz",
+ "xmlhttprequest-ssl": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz",
+ "yeast": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz"
},
"dependencies": {
"debug": {
@@ -4296,39 +3831,36 @@
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"dev": true,
"requires": {
- "ms": "2.0.0"
+ "ms": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"
}
}
}
},
"engine.io-parser": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.1.2.tgz",
- "integrity": "sha512-dInLFzr80RijZ1rGpx1+56/uFoH7/7InhH3kZt+Ms6hT8tNx3NGW/WNSA/f8As1WkOfkuyb3tnRyuXGxusclMw==",
+ "version": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.1.2.tgz",
+ "integrity": "sha1-TA9M/3mq7su9z96maoI8YIVAkZY=",
"dev": true,
"requires": {
- "after": "0.8.2",
- "arraybuffer.slice": "0.0.7",
- "base64-arraybuffer": "0.1.5",
- "blob": "0.0.4",
- "has-binary2": "1.0.2"
+ "after": "https://registry.npmjs.org/after/-/after-0.8.2.tgz",
+ "arraybuffer.slice": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz",
+ "base64-arraybuffer": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz",
+ "blob": "https://registry.npmjs.org/blob/-/blob-0.0.4.tgz",
+ "has-binary2": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.2.tgz"
}
},
"enhanced-resolve": {
- "version": "3.4.1",
- "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz",
+ "version": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz",
"integrity": "sha1-BCHjOf1xQZs9oT0Smzl5BAIwR24=",
"dev": true,
"requires": {
- "graceful-fs": "4.1.11",
- "memory-fs": "0.4.1",
- "object-assign": "4.1.1",
- "tapable": "0.2.8"
+ "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "memory-fs": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz",
+ "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "tapable": "https://registry.npmjs.org/tapable/-/tapable-0.2.8.tgz"
}
},
"ent": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz",
+ "version": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz",
"integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=",
"dev": true
},
@@ -4338,51 +3870,46 @@
"integrity": "sha512-IsORQDpaaSwcDP4ZZnHxgE85werpo34VYn1Ud3mq+eUsF593faR8oCZNXrROVkpFu2TsbrNhHin0aUrTsQ9vNw==",
"dev": true,
"requires": {
- "prr": "1.0.1"
+ "prr": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz"
}
},
"error": {
- "version": "7.0.2",
- "resolved": "https://registry.npmjs.org/error/-/error-7.0.2.tgz",
+ "version": "https://registry.npmjs.org/error/-/error-7.0.2.tgz",
"integrity": "sha1-pfdf/02ZJhJt2sDqXcOOaJFTywI=",
"dev": true,
"requires": {
- "string-template": "0.2.1",
- "xtend": "4.0.1"
+ "string-template": "https://registry.npmjs.org/string-template/-/string-template-0.2.1.tgz",
+ "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
}
},
"error-ex": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz",
+ "version": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz",
"integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=",
"dev": true,
"requires": {
- "is-arrayish": "0.2.1"
+ "is-arrayish": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz"
}
},
"errorhandler": {
- "version": "1.4.3",
- "resolved": "https://registry.npmjs.org/errorhandler/-/errorhandler-1.4.3.tgz",
+ "version": "https://registry.npmjs.org/errorhandler/-/errorhandler-1.4.3.tgz",
"integrity": "sha1-t7cO2PNZ6duICS8tIMD4MUIK2D8=",
"dev": true,
"requires": {
- "accepts": "1.3.4",
- "escape-html": "1.0.3"
+ "accepts": "https://registry.npmjs.org/accepts/-/accepts-1.3.4.tgz",
+ "escape-html": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz"
},
"dependencies": {
"accepts": {
- "version": "1.3.4",
- "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.4.tgz",
+ "version": "https://registry.npmjs.org/accepts/-/accepts-1.3.4.tgz",
"integrity": "sha1-hiRnWMfdbSGmR0/whKR0DsBesh8=",
"dev": true,
"requires": {
"mime-types": "2.1.17",
- "negotiator": "0.6.1"
+ "negotiator": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz"
}
},
"negotiator": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz",
+ "version": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz",
"integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=",
"dev": true
}
@@ -4393,126 +3920,114 @@
"resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.38.tgz",
"integrity": "sha512-jCMyePo7AXbUESwbl8Qi01VSH2piY9s/a3rSU/5w/MlTIx8HPL1xn2InGN8ejt/xulcJgnTO7vqNtOAxzYd2Kg==",
"requires": {
- "es6-iterator": "2.0.3",
- "es6-symbol": "3.1.1"
+ "es6-iterator": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz",
+ "es6-symbol": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz"
}
},
"es5-shim": {
- "version": "4.5.10",
- "resolved": "https://registry.npmjs.org/es5-shim/-/es5-shim-4.5.10.tgz",
- "integrity": "sha512-vmryBdqKRO8Ei9LJ4yyEk/EOmAOGIagcHDYPpTAi6pot4IMHS1AC2q5cTKPmydpijg2iX8DVmCuqgrNxIWj8Yg==",
+ "version": "https://registry.npmjs.org/es5-shim/-/es5-shim-4.5.10.tgz",
+ "integrity": "sha1-t+F+9N8qFFuCHxSXtQwlz5QCYgU=",
"dev": true
},
"es6-iterator": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz",
+ "version": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz",
"integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=",
"requires": {
- "d": "1.0.0",
+ "d": "https://registry.npmjs.org/d/-/d-1.0.0.tgz",
"es5-ext": "0.10.38",
- "es6-symbol": "3.1.1"
+ "es6-symbol": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz"
}
},
"es6-map": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz",
+ "version": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz",
"integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=",
"dev": true,
"requires": {
- "d": "1.0.0",
+ "d": "https://registry.npmjs.org/d/-/d-1.0.0.tgz",
"es5-ext": "0.10.38",
- "es6-iterator": "2.0.3",
- "es6-set": "0.1.5",
- "es6-symbol": "3.1.1",
- "event-emitter": "0.3.5"
+ "es6-iterator": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz",
+ "es6-set": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz",
+ "es6-symbol": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz",
+ "event-emitter": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz"
}
},
"es6-set": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz",
+ "version": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz",
"integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=",
"dev": true,
"requires": {
- "d": "1.0.0",
+ "d": "https://registry.npmjs.org/d/-/d-1.0.0.tgz",
"es5-ext": "0.10.38",
- "es6-iterator": "2.0.3",
- "es6-symbol": "3.1.1",
- "event-emitter": "0.3.5"
+ "es6-iterator": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz",
+ "es6-symbol": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz",
+ "event-emitter": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz"
}
},
"es6-symbol": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz",
+ "version": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz",
"integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=",
"requires": {
- "d": "1.0.0",
+ "d": "https://registry.npmjs.org/d/-/d-1.0.0.tgz",
"es5-ext": "0.10.38"
}
},
"es6-weak-map": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz",
+ "version": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz",
"integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=",
"requires": {
- "d": "1.0.0",
+ "d": "https://registry.npmjs.org/d/-/d-1.0.0.tgz",
"es5-ext": "0.10.38",
- "es6-iterator": "2.0.3",
- "es6-symbol": "3.1.1"
+ "es6-iterator": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz",
+ "es6-symbol": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz"
}
},
"escape-html": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
+ "version": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
"integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=",
"dev": true
},
"escape-string-regexp": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "version": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
"integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
"dev": true
},
"escodegen": {
- "version": "1.8.1",
- "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz",
+ "version": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz",
"integrity": "sha1-WltTr0aTEQvrsIZ6o0MN07cKEBg=",
"dev": true,
"requires": {
- "esprima": "2.7.3",
- "estraverse": "1.9.3",
- "esutils": "2.0.2",
- "optionator": "0.8.2",
- "source-map": "0.2.0"
+ "esprima": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz",
+ "estraverse": "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz",
+ "esutils": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
+ "optionator": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz",
+ "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz"
},
"dependencies": {
"estraverse": {
- "version": "1.9.3",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz",
+ "version": "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz",
"integrity": "sha1-r2fy3JIlgkFZUJJgkaQAXSnJu0Q=",
"dev": true
},
"source-map": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz",
+ "version": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz",
"integrity": "sha1-2rc/vPwrqBm03gO9b26qSBZLP50=",
"dev": true,
"optional": true,
"requires": {
- "amdefine": "1.0.1"
+ "amdefine": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz"
}
}
}
},
"escope": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz",
+ "version": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz",
"integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=",
"dev": true,
"requires": {
- "es6-map": "0.1.5",
- "es6-weak-map": "2.0.2",
+ "es6-map": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz",
+ "es6-weak-map": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz",
"esrecurse": "4.2.0",
- "estraverse": "4.2.0"
+ "estraverse": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz"
}
},
"eslint": {
@@ -4521,100 +4036,105 @@
"integrity": "sha512-AyxBUCANU/o/xC0ijGMKavo5Ls3oK6xykiOITlMdjFjrKOsqLrA7Nf5cnrDgcKrHzBirclAZt63XO7YZlVUPwA==",
"dev": true,
"requires": {
- "ajv": "5.5.2",
- "babel-code-frame": "6.26.0",
- "chalk": "2.3.1",
- "concat-stream": "1.6.0",
- "cross-spawn": "5.1.0",
- "debug": "3.1.0",
- "doctrine": "2.1.0",
- "eslint-scope": "3.7.1",
- "eslint-visitor-keys": "1.0.0",
- "espree": "3.5.3",
- "esquery": "1.0.0",
- "esutils": "2.0.2",
- "file-entry-cache": "2.0.0",
- "functional-red-black-tree": "1.0.1",
- "glob": "7.1.2",
- "globals": "11.3.0",
- "ignore": "3.3.7",
- "imurmurhash": "0.1.4",
- "inquirer": "3.3.0",
- "is-resolvable": "1.1.0",
- "js-yaml": "3.10.0",
- "json-stable-stringify-without-jsonify": "1.0.1",
- "levn": "0.3.0",
- "lodash": "4.17.5",
- "minimatch": "3.0.4",
- "mkdirp": "0.5.1",
- "natural-compare": "1.4.0",
- "optionator": "0.8.2",
- "path-is-inside": "1.0.2",
- "pluralize": "7.0.0",
- "progress": "2.0.0",
- "require-uncached": "1.0.3",
- "semver": "5.5.0",
+ "ajv": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz",
+ "babel-code-frame": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz",
+ "chalk": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz",
+ "concat-stream": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz",
+ "cross-spawn": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz",
+ "debug": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
+ "doctrine": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
+ "eslint-scope": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.1.tgz",
+ "eslint-visitor-keys": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz",
+ "espree": "https://registry.npmjs.org/espree/-/espree-3.5.3.tgz",
+ "esquery": "https://registry.npmjs.org/esquery/-/esquery-1.0.0.tgz",
+ "esutils": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
+ "file-entry-cache": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz",
+ "functional-red-black-tree": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
+ "glob": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
+ "globals": "https://registry.npmjs.org/globals/-/globals-11.3.0.tgz",
+ "ignore": "https://registry.npmjs.org/ignore/-/ignore-3.3.7.tgz",
+ "imurmurhash": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
+ "inquirer": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz",
+ "is-resolvable": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz",
+ "js-yaml": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.10.0.tgz",
+ "json-stable-stringify-without-jsonify": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
+ "levn": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
+ "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz",
+ "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+ "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+ "natural-compare": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
+ "optionator": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz",
+ "path-is-inside": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz",
+ "pluralize": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz",
+ "progress": "https://registry.npmjs.org/progress/-/progress-2.0.0.tgz",
+ "require-uncached": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz",
+ "semver": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz",
"strip-ansi": "4.0.0",
- "strip-json-comments": "2.0.1",
+ "strip-json-comments": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
"table": "4.0.2",
- "text-table": "0.2.0"
+ "text-table": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz"
},
"dependencies": {
- "ansi-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
- "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
+ "ajv": {
+ "version": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz",
+ "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=",
+ "dev": true,
+ "requires": {
+ "co": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
+ "fast-deep-equal": "1.0.0",
+ "fast-json-stable-stringify": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
+ "json-schema-traverse": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz"
+ }
+ },
+ "ansi-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
+ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
"dev": true
},
"ansi-styles": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
- "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==",
+ "version": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
+ "integrity": "sha1-wVm41b4PnlpvNG2rlPFs4CIWG4g=",
"dev": true,
"requires": {
- "color-convert": "1.9.1"
+ "color-convert": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz"
}
},
"chalk": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz",
- "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==",
+ "version": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz",
+ "integrity": "sha1-Uj/iZ4rsewToBBkJKS/osXBZt5Y=",
"dev": true,
"requires": {
- "ansi-styles": "3.2.0",
- "escape-string-regexp": "1.0.5",
- "supports-color": "5.2.0"
+ "ansi-styles": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
+ "escape-string-regexp": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "supports-color": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz"
}
},
"doctrine": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
- "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==",
+ "version": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
+ "integrity": "sha1-XNAfwQFiG0LEzX9dGmYkNxbT850=",
"dev": true,
"requires": {
- "esutils": "2.0.2"
+ "esutils": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz"
}
},
"esprima": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz",
- "integrity": "sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw==",
+ "version": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz",
+ "integrity": "sha1-RJnt3NERDgshi6zy+n9/WfVcqAQ=",
"dev": true
},
"globals": {
- "version": "11.3.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-11.3.0.tgz",
- "integrity": "sha512-kkpcKNlmQan9Z5ZmgqKH/SMbSmjxQ7QjyNqfXVc8VJcoBV2UEg+sxQD15GQofGRh2hfpwUb70VC31DR7Rq5Hdw==",
+ "version": "https://registry.npmjs.org/globals/-/globals-11.3.0.tgz",
+ "integrity": "sha1-4E/be5eW2K2snI9kwUg3sjEzeLA=",
"dev": true
},
"js-yaml": {
- "version": "3.10.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.10.0.tgz",
- "integrity": "sha512-O2v52ffjLa9VeM43J4XocZE//WT9N0IiwDa3KSHH7Tu8CtH+1qM8SIZvnsTh6v+4yFy5KUY3BHUVwjpfAWsjIA==",
+ "version": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.10.0.tgz",
+ "integrity": "sha1-LnhEFka9RoLpY/IrbpKCPDCcYtw=",
"dev": true,
"requires": {
"argparse": "1.0.9",
- "esprima": "4.0.0"
+ "esprima": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz"
}
},
"strip-ansi": {
@@ -4627,88 +4147,79 @@
}
},
"supports-color": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz",
- "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==",
+ "version": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz",
+ "integrity": "sha1-sNUzOxGE3TZmy+WqC0XFrHrBeko=",
"dev": true,
"requires": {
- "has-flag": "3.0.0"
+ "has-flag": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz"
}
}
}
},
"eslint-config-standard": {
- "version": "10.2.1",
- "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-10.2.1.tgz",
+ "version": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-10.2.1.tgz",
"integrity": "sha1-wGHk0GbzedwXzVYsZOgZtN1FRZE=",
"dev": true
},
"eslint-import-resolver-node": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz",
- "integrity": "sha512-sfmTqJfPSizWu4aymbPr4Iidp5yKm8yDkHp+Ir3YiTHiiDfxh69mOUsmiqW6RZ9zRXFaF64GtYmN7e+8GHBv6Q==",
+ "version": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz",
+ "integrity": "sha1-WPFfuDm40FdsqYBBNHaqskcttmo=",
"dev": true,
"requires": {
- "debug": "2.6.9",
- "resolve": "1.5.0"
+ "debug": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "resolve": "https://registry.npmjs.org/resolve/-/resolve-1.5.0.tgz"
},
"dependencies": {
"debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "version": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
"dev": true,
"requires": {
- "ms": "2.0.0"
+ "ms": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"
}
}
}
},
"eslint-module-utils": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.1.1.tgz",
- "integrity": "sha512-jDI/X5l/6D1rRD/3T43q8Qgbls2nq5km5KSqiwlyUbGo5+04fXhMKdCPhjwbqAa6HXWaMxj8Q4hQDIh7IadJQw==",
+ "version": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.1.1.tgz",
+ "integrity": "sha1-q67IJBd2E7ipWymWOeG2+s9HNEk=",
"dev": true,
"requires": {
- "debug": "2.6.9",
- "pkg-dir": "1.0.0"
+ "debug": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "pkg-dir": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz"
},
"dependencies": {
"debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "version": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
"dev": true,
"requires": {
- "ms": "2.0.0"
+ "ms": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"
}
},
"find-up": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
+ "version": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
"integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
"dev": true,
"requires": {
- "path-exists": "2.1.0",
- "pinkie-promise": "2.0.1"
+ "path-exists": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
+ "pinkie-promise": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz"
}
},
"path-exists": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
+ "version": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
"integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
"dev": true,
"requires": {
- "pinkie-promise": "2.0.1"
+ "pinkie-promise": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz"
}
},
"pkg-dir": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz",
"integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=",
"dev": true,
"requires": {
- "find-up": "1.1.2"
+ "find-up": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz"
}
}
}
@@ -4719,25 +4230,24 @@
"integrity": "sha512-Rf7dfKJxZ16QuTgVv1OYNxkZcsu/hULFnC+e+w0Gzi6jMC3guQoWQgxYxc54IDRinlb6/0v5z/PxxIKmVctN+g==",
"dev": true,
"requires": {
- "builtin-modules": "1.1.1",
- "contains-path": "0.1.0",
- "debug": "2.6.9",
- "doctrine": "1.5.0",
- "eslint-import-resolver-node": "0.3.2",
- "eslint-module-utils": "2.1.1",
- "has": "1.0.1",
+ "builtin-modules": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz",
+ "contains-path": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz",
+ "debug": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "doctrine": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz",
+ "eslint-import-resolver-node": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz",
+ "eslint-module-utils": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.1.1.tgz",
+ "has": "https://registry.npmjs.org/has/-/has-1.0.1.tgz",
"lodash.cond": "4.5.2",
- "minimatch": "3.0.4",
+ "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
"read-pkg-up": "2.0.0"
},
"dependencies": {
"debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "version": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
"dev": true,
"requires": {
- "ms": "2.0.0"
+ "ms": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"
}
},
"load-json-file": {
@@ -4746,10 +4256,10 @@
"integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=",
"dev": true,
"requires": {
- "graceful-fs": "4.1.11",
+ "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
"parse-json": "2.2.0",
"pify": "2.3.0",
- "strip-bom": "3.0.0"
+ "strip-bom": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz"
}
},
"parse-json": {
@@ -4758,7 +4268,7 @@
"integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
"dev": true,
"requires": {
- "error-ex": "1.3.1"
+ "error-ex": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz"
}
},
"path-type": {
@@ -4783,7 +4293,7 @@
"dev": true,
"requires": {
"load-json-file": "2.0.0",
- "normalize-package-data": "2.4.0",
+ "normalize-package-data": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz",
"path-type": "2.0.0"
}
},
@@ -4793,83 +4303,74 @@
"integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=",
"dev": true,
"requires": {
- "find-up": "2.1.0",
+ "find-up": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
"read-pkg": "2.0.0"
}
}
}
},
"eslint-plugin-node": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-5.2.1.tgz",
- "integrity": "sha512-xhPXrh0Vl/b7870uEbaumb2Q+LxaEcOQ3kS1jtIXanBAwpMre1l5q/l2l/hESYJGEFKuI78bp6Uw50hlpr7B+g==",
+ "version": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-5.2.1.tgz",
+ "integrity": "sha1-gN8yU8TXkBBF7If6ZgooTjK9yik=",
"dev": true,
"requires": {
- "ignore": "3.3.7",
- "minimatch": "3.0.4",
- "resolve": "1.5.0",
- "semver": "5.3.0"
+ "ignore": "https://registry.npmjs.org/ignore/-/ignore-3.3.7.tgz",
+ "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+ "resolve": "https://registry.npmjs.org/resolve/-/resolve-1.5.0.tgz",
+ "semver": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz"
},
"dependencies": {
"semver": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
+ "version": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
"integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=",
"dev": true
}
}
},
"eslint-plugin-promise": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-3.6.0.tgz",
- "integrity": "sha512-YQzM6TLTlApAr7Li8vWKR+K3WghjwKcYzY0d2roWap4SLK+kzuagJX/leTetIDWsFcTFnKNJXWupDCD6aZkP2Q==",
+ "version": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-3.6.0.tgz",
+ "integrity": "sha1-VLdljI9FSBPcKocK/4FS7ElpunU=",
"dev": true
},
"eslint-plugin-standard": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/eslint-plugin-standard/-/eslint-plugin-standard-3.0.1.tgz",
+ "version": "https://registry.npmjs.org/eslint-plugin-standard/-/eslint-plugin-standard-3.0.1.tgz",
"integrity": "sha1-NNDJFbRe3G8BA5PH7vOCOwhWXPI=",
"dev": true
},
"eslint-scope": {
- "version": "3.7.1",
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.1.tgz",
+ "version": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.1.tgz",
"integrity": "sha1-PWPD7f2gLgbgGkUq2IyqzHzctug=",
"dev": true,
"requires": {
"esrecurse": "4.2.0",
- "estraverse": "4.2.0"
+ "estraverse": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz"
}
},
"eslint-visitor-keys": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz",
- "integrity": "sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ==",
+ "version": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz",
+ "integrity": "sha1-PzGA+y4pEBdxastMnW1bXDSmqB0=",
"dev": true
},
"espree": {
- "version": "3.5.3",
- "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.3.tgz",
- "integrity": "sha512-Zy3tAJDORxQZLl2baguiRU1syPERAIg0L+JB2MWorORgTu/CplzvxS9WWA7Xh4+Q+eOQihNs/1o1Xep8cvCxWQ==",
+ "version": "https://registry.npmjs.org/espree/-/espree-3.5.3.tgz",
+ "integrity": "sha1-kx4K9k5/u+0msFCinarR/GR5n6Y=",
"dev": true,
"requires": {
"acorn": "5.4.1",
- "acorn-jsx": "3.0.1"
+ "acorn-jsx": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz"
}
},
"esprima": {
- "version": "2.7.3",
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz",
+ "version": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz",
"integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=",
"dev": true
},
"esquery": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/esquery/-/esquery-1.0.0.tgz",
"integrity": "sha1-z7qLV9f7qT8XKYqKAGoEzaE9gPo=",
"dev": true,
"requires": {
- "estraverse": "4.2.0"
+ "estraverse": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz"
}
},
"esrecurse": {
@@ -4878,355 +4379,312 @@
"integrity": "sha1-+pVo2Y04I/mkHZHpAtyrnqblsWM=",
"dev": true,
"requires": {
- "estraverse": "4.2.0",
- "object-assign": "4.1.1"
+ "estraverse": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz",
+ "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz"
}
},
"estraverse": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz",
+ "version": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz",
"integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=",
"dev": true
},
"estree-walker": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.3.1.tgz",
+ "version": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.3.1.tgz",
"integrity": "sha1-5rGlHPcpJSTnI3wxLl/mZgwc4ao=",
"dev": true
},
"esutils": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
+ "version": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
"integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=",
"dev": true
},
"etag": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/etag/-/etag-1.7.0.tgz",
+ "version": "https://registry.npmjs.org/etag/-/etag-1.7.0.tgz",
"integrity": "sha1-A9MLX2fdbmMtKUXTDWZScxo01dg=",
"dev": true
},
"event-emitter": {
- "version": "0.3.5",
- "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz",
+ "version": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz",
"integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=",
"requires": {
- "d": "1.0.0",
+ "d": "https://registry.npmjs.org/d/-/d-1.0.0.tgz",
"es5-ext": "0.10.38"
}
},
"event-stream": {
- "version": "3.3.4",
- "resolved": "https://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz",
+ "version": "https://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz",
"integrity": "sha1-SrTJoPWlTbkzi0w02Gv86PSzVXE=",
"dev": true,
"requires": {
- "duplexer": "0.1.1",
- "from": "0.1.7",
- "map-stream": "0.1.0",
- "pause-stream": "0.0.11",
- "split": "0.3.3",
- "stream-combiner": "0.0.4",
- "through": "2.3.8"
+ "duplexer": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz",
+ "from": "https://registry.npmjs.org/from/-/from-0.1.7.tgz",
+ "map-stream": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz",
+ "pause-stream": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz",
+ "split": "https://registry.npmjs.org/split/-/split-0.3.3.tgz",
+ "stream-combiner": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz",
+ "through": "https://registry.npmjs.org/through/-/through-2.3.8.tgz"
}
},
"eventemitter3": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-1.2.0.tgz",
+ "version": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-1.2.0.tgz",
"integrity": "sha1-HIaZHYFq0eUEdQ5zh0Ik7PO+xQg=",
"dev": true
},
"events": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz",
+ "version": "https://registry.npmjs.org/events/-/events-1.1.1.tgz",
"integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=",
"dev": true
},
"evp_bytestokey": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz",
- "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==",
+ "version": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz",
+ "integrity": "sha1-f8vbGY3HGVlDLv4ThCaE4FJaywI=",
"dev": true,
"requires": {
- "md5.js": "1.3.4",
- "safe-buffer": "5.1.1"
+ "md5.js": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.4.tgz",
+ "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz"
}
},
"execa": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz",
+ "version": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz",
"integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=",
"dev": true,
"requires": {
- "cross-spawn": "5.1.0",
- "get-stream": "3.0.0",
- "is-stream": "1.1.0",
- "npm-run-path": "2.0.2",
- "p-finally": "1.0.0",
- "signal-exit": "3.0.2",
- "strip-eof": "1.0.0"
+ "cross-spawn": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz",
+ "get-stream": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz",
+ "is-stream": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
+ "npm-run-path": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
+ "p-finally": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
+ "signal-exit": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
+ "strip-eof": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz"
}
},
"expand-braces": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/expand-braces/-/expand-braces-0.1.2.tgz",
+ "version": "https://registry.npmjs.org/expand-braces/-/expand-braces-0.1.2.tgz",
"integrity": "sha1-SIsdHSRRyz06axks/AMPRMWFX+o=",
"dev": true,
"requires": {
- "array-slice": "0.2.3",
- "array-unique": "0.2.1",
- "braces": "0.1.5"
+ "array-slice": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz",
+ "array-unique": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz",
+ "braces": "https://registry.npmjs.org/braces/-/braces-0.1.5.tgz"
},
"dependencies": {
"array-slice": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz",
+ "version": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz",
"integrity": "sha1-3Tz7gO15c6dRF82sabC5nshhhvU=",
"dev": true
},
"array-unique": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz",
+ "version": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz",
"integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=",
"dev": true
},
"braces": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/braces/-/braces-0.1.5.tgz",
+ "version": "https://registry.npmjs.org/braces/-/braces-0.1.5.tgz",
"integrity": "sha1-wIVxEIUpHYt1/ddOqw+FlygHEeY=",
"dev": true,
"requires": {
- "expand-range": "0.1.1"
+ "expand-range": "https://registry.npmjs.org/expand-range/-/expand-range-0.1.1.tgz"
}
},
"expand-range": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-0.1.1.tgz",
+ "version": "https://registry.npmjs.org/expand-range/-/expand-range-0.1.1.tgz",
"integrity": "sha1-TLjtoJk8pW+k9B/ELzy7TMrf8EQ=",
"dev": true,
"requires": {
- "is-number": "0.1.1",
- "repeat-string": "0.2.2"
+ "is-number": "https://registry.npmjs.org/is-number/-/is-number-0.1.1.tgz",
+ "repeat-string": "https://registry.npmjs.org/repeat-string/-/repeat-string-0.2.2.tgz"
}
},
"is-number": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-0.1.1.tgz",
+ "version": "https://registry.npmjs.org/is-number/-/is-number-0.1.1.tgz",
"integrity": "sha1-aaevEWlj1HIG7JvZtIoUIW8eOAY=",
"dev": true
},
"repeat-string": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-0.2.2.tgz",
+ "version": "https://registry.npmjs.org/repeat-string/-/repeat-string-0.2.2.tgz",
"integrity": "sha1-x6jTI2BoNiBZp+RlH8aITosftK4=",
"dev": true
}
}
},
"expand-brackets": {
- "version": "2.1.4",
- "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
+ "version": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
"integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
"dev": true,
"requires": {
- "debug": "2.6.9",
- "define-property": "0.2.5",
+ "debug": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "define-property": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
"extend-shallow": "2.0.1",
- "posix-character-classes": "0.1.1",
+ "posix-character-classes": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
"regex-not": "1.0.0",
- "snapdragon": "0.8.1",
+ "snapdragon": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.1.tgz",
"to-regex": "3.0.1"
},
"dependencies": {
"debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "version": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
"dev": true,
"requires": {
- "ms": "2.0.0"
+ "ms": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"
}
},
"define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "version": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
"dev": true,
"requires": {
- "is-descriptor": "0.1.6"
+ "is-descriptor": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz"
}
},
"is-accessor-descriptor": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
+ "version": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
"integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
"dev": true,
"requires": {
- "kind-of": "3.2.2"
+ "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz"
},
"dependencies": {
"kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "version": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
"dev": true,
"requires": {
- "is-buffer": "1.1.6"
+ "is-buffer": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz"
}
}
}
},
"is-data-descriptor": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
+ "version": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
"integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
"dev": true,
"requires": {
- "kind-of": "3.2.2"
+ "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz"
},
"dependencies": {
"kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "version": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
"dev": true,
"requires": {
- "is-buffer": "1.1.6"
+ "is-buffer": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz"
}
}
}
},
"is-descriptor": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
- "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
+ "version": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
+ "integrity": "sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco=",
"dev": true,
"requires": {
- "is-accessor-descriptor": "0.1.6",
- "is-data-descriptor": "0.1.4",
- "kind-of": "5.1.0"
+ "is-accessor-descriptor": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
+ "is-data-descriptor": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
+ "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz"
}
},
"kind-of": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
- "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
+ "version": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
+ "integrity": "sha1-cpyR4thXt6QZofmqZWhcTDP1hF0=",
"dev": true
}
}
},
"expand-range": {
- "version": "1.8.2",
- "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz",
+ "version": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz",
"integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=",
"dev": true,
"requires": {
- "fill-range": "2.2.3"
+ "fill-range": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz"
},
"dependencies": {
"fill-range": {
- "version": "2.2.3",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz",
+ "version": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz",
"integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=",
"dev": true,
"requires": {
- "is-number": "2.1.0",
- "isobject": "2.1.0",
- "randomatic": "1.1.7",
- "repeat-element": "1.1.2",
- "repeat-string": "1.6.1"
+ "is-number": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz",
+ "isobject": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
+ "randomatic": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz",
+ "repeat-element": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz",
+ "repeat-string": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz"
}
},
"is-number": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz",
+ "version": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz",
"integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=",
"dev": true,
"requires": {
- "kind-of": "3.2.2"
+ "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz"
}
},
"isobject": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
+ "version": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
"integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
"dev": true,
"requires": {
- "isarray": "1.0.0"
+ "isarray": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz"
}
},
"kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "version": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
"dev": true,
"requires": {
- "is-buffer": "1.1.6"
+ "is-buffer": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz"
}
}
}
},
"expand-tilde": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz",
+ "version": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz",
"integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=",
"dev": true,
"requires": {
- "homedir-polyfill": "1.0.1"
+ "homedir-polyfill": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz"
}
},
- "expect.js": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/expect.js/-/expect.js-0.3.1.tgz",
- "integrity": "sha1-sKWaDS7/VDdUTr8M6qYBWEHQm1s=",
- "dev": true
- },
"express-session": {
- "version": "1.11.3",
- "resolved": "https://registry.npmjs.org/express-session/-/express-session-1.11.3.tgz",
+ "version": "https://registry.npmjs.org/express-session/-/express-session-1.11.3.tgz",
"integrity": "sha1-XMmPP1/4Ttg1+Ry/CqvQxxB0AK8=",
"dev": true,
"requires": {
- "cookie": "0.1.3",
- "cookie-signature": "1.0.6",
- "crc": "3.3.0",
- "debug": "2.2.0",
- "depd": "1.0.1",
- "on-headers": "1.0.1",
- "parseurl": "1.3.2",
- "uid-safe": "2.0.0",
- "utils-merge": "1.0.0"
+ "cookie": "https://registry.npmjs.org/cookie/-/cookie-0.1.3.tgz",
+ "cookie-signature": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
+ "crc": "https://registry.npmjs.org/crc/-/crc-3.3.0.tgz",
+ "debug": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+ "depd": "https://registry.npmjs.org/depd/-/depd-1.0.1.tgz",
+ "on-headers": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz",
+ "parseurl": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz",
+ "uid-safe": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.0.0.tgz",
+ "utils-merge": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz"
},
"dependencies": {
"debug": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+ "version": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
"integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
"dev": true,
"requires": {
- "ms": "0.7.1"
+ "ms": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz"
}
},
"ms": {
- "version": "0.7.1",
- "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
+ "version": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
"integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=",
"dev": true
},
"uid-safe": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.0.0.tgz",
+ "version": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.0.0.tgz",
"integrity": "sha1-p/PGymSh9qXQTsDvPkw9U2cxcTc=",
"dev": true,
"requires": {
- "base64-url": "1.2.1"
+ "base64-url": "https://registry.npmjs.org/base64-url/-/base64-url-1.2.1.tgz"
}
}
}
},
"extend": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz",
+ "version": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz",
"integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=",
"dev": true
},
@@ -5236,65 +4694,59 @@
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
"dev": true,
"requires": {
- "is-extendable": "0.1.1"
+ "is-extendable": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz"
}
},
"external-editor": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.1.0.tgz",
- "integrity": "sha512-E44iT5QVOUJBKij4IIV3uvxuNlbKS38Tw1HiupxEIHPv9qtC2PrDYohbXV5U+1jnfIXttny8gUhj+oZvflFlzA==",
+ "version": "https://registry.npmjs.org/external-editor/-/external-editor-2.1.0.tgz",
+ "integrity": "sha1-PQJqIbf5W1cmOH1CAKwWDTcsO0g=",
"dev": true,
"requires": {
- "chardet": "0.4.2",
- "iconv-lite": "0.4.19",
- "tmp": "0.0.33"
+ "chardet": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz",
+ "iconv-lite": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz",
+ "tmp": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz"
},
"dependencies": {
"iconv-lite": {
- "version": "0.4.19",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz",
- "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==",
+ "version": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz",
+ "integrity": "sha1-90aPYBNfXl2tM5nAqBvpoWA6CCs=",
"dev": true
}
}
},
"extglob": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
- "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
+ "version": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
+ "integrity": "sha1-rQD+TcYSqSMuhxhxHcXLWrAoVUM=",
"dev": true,
"requires": {
- "array-unique": "0.3.2",
+ "array-unique": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
"define-property": "1.0.0",
- "expand-brackets": "2.1.4",
+ "expand-brackets": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
"extend-shallow": "2.0.1",
- "fragment-cache": "0.2.1",
+ "fragment-cache": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
"regex-not": "1.0.0",
- "snapdragon": "0.8.1",
+ "snapdragon": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.1.tgz",
"to-regex": "3.0.1"
}
},
"extsprintf": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
+ "version": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
"integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
"dev": true
},
"faker": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/faker/-/faker-3.1.0.tgz",
+ "version": "https://registry.npmjs.org/faker/-/faker-3.1.0.tgz",
"integrity": "sha1-D5CPr05uwCUk5UpX5DLFwBPgjJ8=",
"dev": true
},
"fancy-log": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.2.tgz",
+ "version": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.2.tgz",
"integrity": "sha1-9BEl49hPLn2JpD0G2VjI94vha+E=",
"dev": true,
"requires": {
- "ansi-gray": "0.1.1",
- "color-support": "1.1.3",
- "time-stamp": "1.1.0"
+ "ansi-gray": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz",
+ "color-support": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz",
+ "time-stamp": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz"
}
},
"fast-deep-equal": {
@@ -5304,412 +4756,365 @@
"dev": true
},
"fast-json-stable-stringify": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
+ "version": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
"integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=",
"dev": true
},
"fast-levenshtein": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
+ "version": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
"integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
"dev": true
},
"faye-websocket": {
- "version": "0.10.0",
- "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz",
+ "version": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz",
"integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=",
"dev": true,
"requires": {
- "websocket-driver": "0.7.0"
+ "websocket-driver": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.0.tgz"
}
},
"figures": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz",
+ "version": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz",
"integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=",
"dev": true,
"requires": {
- "escape-string-regexp": "1.0.5"
+ "escape-string-regexp": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz"
}
},
"file-entry-cache": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz",
+ "version": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz",
"integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=",
"dev": true,
"requires": {
- "flat-cache": "1.3.0",
- "object-assign": "4.1.1"
+ "flat-cache": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.0.tgz",
+ "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz"
}
},
"file-loader": {
- "version": "0.8.5",
- "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-0.8.5.tgz",
+ "version": "https://registry.npmjs.org/file-loader/-/file-loader-0.8.5.tgz",
"integrity": "sha1-knXQMf54DyfUf19K8CvUNxPMFRs=",
"dev": true,
"optional": true,
"requires": {
- "loader-utils": "0.2.17"
+ "loader-utils": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz"
},
"dependencies": {
"loader-utils": {
- "version": "0.2.17",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz",
+ "version": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz",
"integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=",
"dev": true,
"optional": true,
"requires": {
- "big.js": "3.2.0",
- "emojis-list": "2.1.0",
- "json5": "0.5.1",
- "object-assign": "4.1.1"
+ "big.js": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz",
+ "emojis-list": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz",
+ "json5": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
+ "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz"
}
}
}
},
"file-uri-to-path": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
- "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==",
+ "version": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
+ "integrity": "sha1-VTp7hEb/b2hDWcRF8eN6BdrMM90=",
"dev": true
},
"filename-regex": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz",
+ "version": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz",
"integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=",
"dev": true
},
"fileset": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/fileset/-/fileset-2.0.3.tgz",
+ "version": "https://registry.npmjs.org/fileset/-/fileset-2.0.3.tgz",
"integrity": "sha1-jnVIqW08wjJ+5eZ0FocjozO7oqA=",
"dev": true,
"requires": {
- "glob": "7.1.2",
- "minimatch": "3.0.4"
+ "glob": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
+ "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz"
}
},
"fill-keys": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/fill-keys/-/fill-keys-1.0.2.tgz",
+ "version": "https://registry.npmjs.org/fill-keys/-/fill-keys-1.0.2.tgz",
"integrity": "sha1-mo+jb06K1jTjv2tPPIiCVRRS6yA=",
"dev": true,
"requires": {
- "is-object": "1.0.1",
- "merge-descriptors": "1.0.1"
+ "is-object": "https://registry.npmjs.org/is-object/-/is-object-1.0.1.tgz",
+ "merge-descriptors": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz"
}
},
"fill-range": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
+ "version": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
"integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
"dev": true,
"requires": {
"extend-shallow": "2.0.1",
- "is-number": "3.0.0",
- "repeat-string": "1.6.1",
- "to-regex-range": "2.1.1"
+ "is-number": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
+ "repeat-string": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
+ "to-regex-range": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz"
}
},
"finalhandler": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-0.4.0.tgz",
+ "version": "https://registry.npmjs.org/finalhandler/-/finalhandler-0.4.0.tgz",
"integrity": "sha1-llpS2ejQXSuFdUhUH7ibU6JJfZs=",
"dev": true,
"requires": {
- "debug": "2.2.0",
- "escape-html": "1.0.2",
- "on-finished": "2.3.0",
- "unpipe": "1.0.0"
+ "debug": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+ "escape-html": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.2.tgz",
+ "on-finished": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
+ "unpipe": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz"
},
"dependencies": {
"debug": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+ "version": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
"integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
"dev": true,
"requires": {
- "ms": "0.7.1"
+ "ms": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz"
}
},
"escape-html": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.2.tgz",
+ "version": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.2.tgz",
"integrity": "sha1-130y+pjjjC9BroXpJ44ODmuhAiw=",
"dev": true
},
"ms": {
- "version": "0.7.1",
- "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
+ "version": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
"integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=",
"dev": true
}
}
},
"find-cache-dir": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz",
"integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=",
"dev": true,
"requires": {
- "commondir": "1.0.1",
+ "commondir": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
"make-dir": "1.1.0",
- "pkg-dir": "2.0.0"
+ "pkg-dir": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz"
}
},
"find-index": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/find-index/-/find-index-0.1.1.tgz",
+ "version": "https://registry.npmjs.org/find-index/-/find-index-0.1.1.tgz",
"integrity": "sha1-Z101iyyjiS15Whq0cjL4tuLg3eQ=",
"dev": true
},
"find-up": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
+ "version": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
"integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
"dev": true,
"requires": {
- "locate-path": "2.0.0"
+ "locate-path": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz"
}
},
"findup-sync": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz",
+ "version": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz",
"integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=",
"dev": true,
"requires": {
- "detect-file": "1.0.0",
- "is-glob": "3.1.0",
+ "detect-file": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz",
+ "is-glob": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
"micromatch": "3.1.5",
- "resolve-dir": "1.0.1"
+ "resolve-dir": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz"
},
"dependencies": {
"is-glob": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
+ "version": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
"integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
"dev": true,
"requires": {
- "is-extglob": "2.1.1"
+ "is-extglob": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz"
}
}
}
},
"fined": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/fined/-/fined-1.1.0.tgz",
+ "version": "https://registry.npmjs.org/fined/-/fined-1.1.0.tgz",
"integrity": "sha1-s33IRLdqL15wgeiE98CuNE8VNHY=",
"dev": true,
"requires": {
- "expand-tilde": "2.0.2",
- "is-plain-object": "2.0.4",
- "object.defaults": "1.1.0",
- "object.pick": "1.3.0",
- "parse-filepath": "1.0.2"
+ "expand-tilde": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz",
+ "is-plain-object": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
+ "object.defaults": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz",
+ "object.pick": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
+ "parse-filepath": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz"
}
},
"first-chunk-stream": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz",
"integrity": "sha1-Wb+1DNkF9g18OUzT2ayqtOatk04=",
"dev": true
},
"flagged-respawn": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.0.tgz",
"integrity": "sha1-Tnmumy6zi/hrO7Vr8+ClaqX8q9c=",
"dev": true
},
"flat-cache": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.0.tgz",
+ "version": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.0.tgz",
"integrity": "sha1-0wMLMrOBVPTjt+nHCfSQ9++XxIE=",
"dev": true,
"requires": {
- "circular-json": "0.3.3",
- "del": "2.2.2",
- "graceful-fs": "4.1.11",
- "write": "0.2.1"
+ "circular-json": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz",
+ "del": "https://registry.npmjs.org/del/-/del-2.2.2.tgz",
+ "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "write": "https://registry.npmjs.org/write/-/write-0.2.1.tgz"
}
},
"flush-write-stream": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.0.2.tgz",
+ "version": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.0.2.tgz",
"integrity": "sha1-yBuQ2HRnZvGmCaRoCZRsRd2K5Bc=",
"dev": true,
"requires": {
- "inherits": "2.0.3",
- "readable-stream": "2.3.4"
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.4.tgz"
}
},
"follow-redirects": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.0.0.tgz",
"integrity": "sha1-jjQpjL0uF28lTv/sdaHHjMhJ/Tc=",
"dev": true,
"optional": true,
"requires": {
- "debug": "2.6.9"
+ "debug": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz"
},
"dependencies": {
"debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "version": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
"dev": true,
"optional": true,
"requires": {
- "ms": "2.0.0"
+ "ms": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"
}
}
}
},
"for-in": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
+ "version": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
"integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
"dev": true
},
"for-own": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz",
"integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=",
"dev": true,
"requires": {
- "for-in": "1.0.2"
+ "for-in": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz"
}
},
"foreach": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz",
+ "version": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz",
"integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=",
"dev": true
},
"foreachasync": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/foreachasync/-/foreachasync-3.0.0.tgz",
+ "version": "https://registry.npmjs.org/foreachasync/-/foreachasync-3.0.0.tgz",
"integrity": "sha1-VQKYfchxS+M5IJfzLgBxyd7gfPY=",
"dev": true
},
"forever-agent": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
+ "version": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
"integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
"dev": true
},
"fork-stream": {
- "version": "0.0.4",
- "resolved": "https://registry.npmjs.org/fork-stream/-/fork-stream-0.0.4.tgz",
+ "version": "https://registry.npmjs.org/fork-stream/-/fork-stream-0.0.4.tgz",
"integrity": "sha1-24Sfznf2cIpfjzhq5TOgkHtUrnA=",
"dev": true
},
"form-data": {
- "version": "2.1.4",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz",
+ "version": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz",
"integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=",
"dev": true,
"requires": {
- "asynckit": "0.4.0",
- "combined-stream": "1.0.6",
+ "asynckit": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+ "combined-stream": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz",
"mime-types": "2.1.17"
}
},
"fragment-cache": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
+ "version": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
"integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
"dev": true,
"requires": {
- "map-cache": "0.2.2"
+ "map-cache": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz"
}
},
"fresh": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.3.0.tgz",
+ "version": "https://registry.npmjs.org/fresh/-/fresh-0.3.0.tgz",
"integrity": "sha1-ZR+DjiJCTnVm3hYdg1jKoZn4PU8=",
"dev": true
},
"from": {
- "version": "0.1.7",
- "resolved": "https://registry.npmjs.org/from/-/from-0.1.7.tgz",
+ "version": "https://registry.npmjs.org/from/-/from-0.1.7.tgz",
"integrity": "sha1-g8YK/Fi5xWmXAH7Rp2izqzA6RP4=",
"dev": true
},
"fs-access": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/fs-access/-/fs-access-1.0.1.tgz",
+ "version": "https://registry.npmjs.org/fs-access/-/fs-access-1.0.1.tgz",
"integrity": "sha1-1qh/JiJxzv6+wwxVNAf7mV2od3o=",
"dev": true,
"requires": {
- "null-check": "1.0.0"
+ "null-check": "https://registry.npmjs.org/null-check/-/null-check-1.0.0.tgz"
}
},
"fs-extra": {
- "version": "0.6.4",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.6.4.tgz",
+ "version": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.6.4.tgz",
"integrity": "sha1-9G8MdbeEH40gCzNIzU1pHVoJnRU=",
"dev": true,
"requires": {
- "jsonfile": "1.0.1",
- "mkdirp": "0.3.5",
- "ncp": "0.4.2",
- "rimraf": "2.2.8"
+ "jsonfile": "https://registry.npmjs.org/jsonfile/-/jsonfile-1.0.1.tgz",
+ "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz",
+ "ncp": "https://registry.npmjs.org/ncp/-/ncp-0.4.2.tgz",
+ "rimraf": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz"
},
"dependencies": {
"mkdirp": {
- "version": "0.3.5",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz",
+ "version": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz",
"integrity": "sha1-3j5fiWHIjHh+4TaN+EmsRBPsqNc=",
"dev": true
},
"rimraf": {
- "version": "2.2.8",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz",
+ "version": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz",
"integrity": "sha1-5Dm+Kq7jJzIZUnMPmaiSnk/FBYI=",
"dev": true
}
}
},
"fs-mkdirp-stream": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz",
"integrity": "sha1-C3gV/DIBxqaeFNuYzgmMFpNSWes=",
"dev": true,
"requires": {
- "graceful-fs": "4.1.11",
- "through2": "2.0.3"
+ "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz"
}
},
"fs.extra": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/fs.extra/-/fs.extra-1.3.2.tgz",
+ "version": "https://registry.npmjs.org/fs.extra/-/fs.extra-1.3.2.tgz",
"integrity": "sha1-3QI/kwE77iRTHxszUUw3sg/ZM0k=",
"dev": true,
"requires": {
- "fs-extra": "0.6.4",
- "mkdirp": "0.3.5",
- "walk": "2.3.9"
+ "fs-extra": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.6.4.tgz",
+ "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz",
+ "walk": "https://registry.npmjs.org/walk/-/walk-2.3.9.tgz"
},
"dependencies": {
"mkdirp": {
- "version": "0.3.5",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz",
+ "version": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz",
"integrity": "sha1-3j5fiWHIjHh+4TaN+EmsRBPsqNc=",
"dev": true
}
}
},
"fs.realpath": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
"integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
"dev": true
},
"fsevents": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.1.3.tgz",
- "integrity": "sha512-WIr7iDkdmdbxu/Gh6eKEZJL6KPE74/5MEsf2whTOFNxbIoIixogroLdKYqB6FDav4Wavh/lZdzzd3b2KxIXC5Q==",
+ "version": "https://registry.npmjs.org/fsevents/-/fsevents-1.1.3.tgz",
+ "integrity": "sha1-EfgjGPX+e7LNIpZaEI6TBiCCFtg=",
"dev": true,
"optional": true,
"requires": {
@@ -5719,13 +5124,15 @@
"dependencies": {
"abbrev": {
"version": "1.1.0",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.0.tgz",
+ "integrity": "sha1-0FVMIlZjbi9W58LlrRg/hZQo2B8=",
"dev": true,
"optional": true
},
"ajv": {
"version": "4.11.8",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz",
+ "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=",
"dev": true,
"optional": true,
"requires": {
@@ -5735,18 +5142,21 @@
},
"ansi-regex": {
"version": "2.1.1",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
"dev": true
},
"aproba": {
"version": "1.1.1",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.1.1.tgz",
+ "integrity": "sha1-ldNgDwdxCqDpKYxyatXs8urLq6s=",
"dev": true,
"optional": true
},
"are-we-there-yet": {
"version": "1.1.4",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz",
+ "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=",
"dev": true,
"optional": true,
"requires": {
@@ -5756,42 +5166,49 @@
},
"asn1": {
"version": "0.2.3",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz",
+ "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=",
"dev": true,
"optional": true
},
"assert-plus": {
"version": "0.2.0",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz",
+ "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=",
"dev": true,
"optional": true
},
"asynckit": {
"version": "0.4.0",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+ "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
"dev": true,
"optional": true
},
"aws-sign2": {
"version": "0.6.0",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz",
+ "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=",
"dev": true,
"optional": true
},
"aws4": {
"version": "1.6.0",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz",
+ "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=",
"dev": true,
"optional": true
},
"balanced-match": {
"version": "0.4.2",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz",
+ "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=",
"dev": true
},
"bcrypt-pbkdf": {
"version": "1.0.1",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz",
+ "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=",
"dev": true,
"optional": true,
"requires": {
@@ -5800,7 +5217,8 @@
},
"block-stream": {
"version": "0.0.9",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz",
+ "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=",
"dev": true,
"requires": {
"inherits": "2.0.3"
@@ -5808,7 +5226,8 @@
},
"boom": {
"version": "2.10.1",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz",
+ "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=",
"dev": true,
"requires": {
"hoek": "2.16.3"
@@ -5816,7 +5235,8 @@
},
"brace-expansion": {
"version": "1.1.7",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.7.tgz",
+ "integrity": "sha1-Pv/DxQ4ABTH7cg6v+A8K6O8jz1k=",
"dev": true,
"requires": {
"balanced-match": "0.4.2",
@@ -5825,29 +5245,34 @@
},
"buffer-shims": {
"version": "1.0.0",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz",
+ "integrity": "sha1-mXjOMXOIxkmth5MCjDR37wRKi1E=",
"dev": true
},
"caseless": {
"version": "0.12.0",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
+ "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
"dev": true,
"optional": true
},
"co": {
"version": "4.6.0",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
+ "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=",
"dev": true,
"optional": true
},
"code-point-at": {
"version": "1.1.0",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
+ "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
"dev": true
},
"combined-stream": {
"version": "1.0.5",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz",
+ "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=",
"dev": true,
"requires": {
"delayed-stream": "1.0.0"
@@ -5855,22 +5280,26 @@
},
"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
},
"console-control-strings": {
"version": "1.1.0",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
+ "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=",
"dev": true
},
"core-util-is": {
"version": "1.0.2",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
"dev": true
},
"cryptiles": {
"version": "2.0.5",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz",
+ "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=",
"dev": true,
"requires": {
"boom": "2.10.1"
@@ -5878,7 +5307,8 @@
},
"dashdash": {
"version": "1.14.1",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
+ "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
"dev": true,
"optional": true,
"requires": {
@@ -5887,7 +5317,8 @@
"dependencies": {
"assert-plus": {
"version": "1.0.0",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
"dev": true,
"optional": true
}
@@ -5895,7 +5326,8 @@
},
"debug": {
"version": "2.6.8",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz",
+ "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=",
"dev": true,
"optional": true,
"requires": {
@@ -5904,30 +5336,35 @@
},
"deep-extend": {
"version": "0.4.2",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.2.tgz",
+ "integrity": "sha1-SLaZwn4zS/ifEIkr5DL25MfTSn8=",
"dev": true,
"optional": true
},
"delayed-stream": {
"version": "1.0.0",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
+ "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
"dev": true
},
"delegates": {
"version": "1.0.0",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
+ "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=",
"dev": true,
"optional": true
},
"detect-libc": {
"version": "1.0.2",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.2.tgz",
+ "integrity": "sha1-ca1dIEvxempsqPRQxhRUBm70YeE=",
"dev": true,
"optional": true
},
"ecc-jsbn": {
"version": "0.1.1",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz",
+ "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=",
"dev": true,
"optional": true,
"requires": {
@@ -5936,24 +5373,28 @@
},
"extend": {
"version": "3.0.1",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz",
+ "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=",
"dev": true,
"optional": true
},
"extsprintf": {
"version": "1.0.2",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz",
+ "integrity": "sha1-4QgOBljjALBilJkMxw4VAiNf1VA=",
"dev": true
},
"forever-agent": {
"version": "0.6.1",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
+ "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
"dev": true,
"optional": true
},
"form-data": {
"version": "2.1.4",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz",
+ "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=",
"dev": true,
"optional": true,
"requires": {
@@ -5964,12 +5405,14 @@
},
"fs.realpath": {
"version": "1.0.0",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
"dev": true
},
"fstream": {
"version": "1.0.11",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz",
+ "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=",
"dev": true,
"requires": {
"graceful-fs": "4.1.11",
@@ -5980,7 +5423,8 @@
},
"fstream-ignore": {
"version": "1.0.5",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/fstream-ignore/-/fstream-ignore-1.0.5.tgz",
+ "integrity": "sha1-nDHa40dnAY/h0kmyTa2mfQktoQU=",
"dev": true,
"optional": true,
"requires": {
@@ -5991,7 +5435,8 @@
},
"gauge": {
"version": "2.7.4",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz",
+ "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=",
"dev": true,
"optional": true,
"requires": {
@@ -6007,7 +5452,8 @@
},
"getpass": {
"version": "0.1.7",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
+ "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
"dev": true,
"optional": true,
"requires": {
@@ -6016,7 +5462,8 @@
"dependencies": {
"assert-plus": {
"version": "1.0.0",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
"dev": true,
"optional": true
}
@@ -6024,7 +5471,8 @@
},
"glob": {
"version": "7.1.2",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
+ "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
"dev": true,
"requires": {
"fs.realpath": "1.0.0",
@@ -6037,18 +5485,21 @@
},
"graceful-fs": {
"version": "4.1.11",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
"dev": true
},
"har-schema": {
"version": "1.0.5",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz",
+ "integrity": "sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4=",
"dev": true,
"optional": true
},
"har-validator": {
"version": "4.2.1",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz",
+ "integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=",
"dev": true,
"optional": true,
"requires": {
@@ -6058,13 +5509,15 @@
},
"has-unicode": {
"version": "2.0.1",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
+ "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=",
"dev": true,
"optional": true
},
"hawk": {
"version": "3.1.3",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz",
+ "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=",
"dev": true,
"requires": {
"boom": "2.10.1",
@@ -6075,12 +5528,14 @@
},
"hoek": {
"version": "2.16.3",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz",
+ "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=",
"dev": true
},
"http-signature": {
"version": "1.1.1",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz",
+ "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=",
"dev": true,
"optional": true,
"requires": {
@@ -6091,7 +5546,8 @@
},
"inflight": {
"version": "1.0.6",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
"dev": true,
"requires": {
"once": "1.4.0",
@@ -6100,18 +5556,21 @@
},
"inherits": {
"version": "2.0.3",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
"dev": true
},
"ini": {
"version": "1.3.4",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz",
+ "integrity": "sha1-BTfLedr1m1mhpRff9wbIbsA5Fi4=",
"dev": true,
"optional": true
},
"is-fullwidth-code-point": {
"version": "1.0.0",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
+ "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
"dev": true,
"requires": {
"number-is-nan": "1.0.1"
@@ -6119,24 +5578,28 @@
},
"is-typedarray": {
"version": "1.0.0",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
+ "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
"dev": true,
"optional": true
},
"isarray": {
"version": "1.0.0",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
"dev": true
},
"isstream": {
"version": "0.1.2",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
+ "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
"dev": true,
"optional": true
},
"jodid25519": {
"version": "1.0.2",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/jodid25519/-/jodid25519-1.0.2.tgz",
+ "integrity": "sha1-BtSRIlUJNBlHfUJWM2BuDpB4KWc=",
"dev": true,
"optional": true,
"requires": {
@@ -6145,19 +5608,22 @@
},
"jsbn": {
"version": "0.1.1",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
+ "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
"dev": true,
"optional": true
},
"json-schema": {
"version": "0.2.3",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
+ "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",
"dev": true,
"optional": true
},
"json-stable-stringify": {
"version": "1.0.1",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz",
+ "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=",
"dev": true,
"optional": true,
"requires": {
@@ -6166,19 +5632,22 @@
},
"json-stringify-safe": {
"version": "5.0.1",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
+ "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
"dev": true,
"optional": true
},
"jsonify": {
"version": "0.0.0",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz",
+ "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=",
"dev": true,
"optional": true
},
"jsprim": {
"version": "1.4.0",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.0.tgz",
+ "integrity": "sha1-o7h+QCmNjDgFUtjMdiigu5WiKRg=",
"dev": true,
"optional": true,
"requires": {
@@ -6190,7 +5659,8 @@
"dependencies": {
"assert-plus": {
"version": "1.0.0",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
"dev": true,
"optional": true
}
@@ -6198,12 +5668,14 @@
},
"mime-db": {
"version": "1.27.0",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.27.0.tgz",
+ "integrity": "sha1-gg9XIpa70g7CXtVeW13oaeVDbrE=",
"dev": true
},
"mime-types": {
"version": "2.1.15",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.15.tgz",
+ "integrity": "sha1-pOv1BkCUVpI3uM9wBGd20J/JKu0=",
"dev": true,
"requires": {
"mime-db": "1.27.0"
@@ -6211,7 +5683,8 @@
},
"minimatch": {
"version": "3.0.4",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
"dev": true,
"requires": {
"brace-expansion": "1.1.7"
@@ -6219,12 +5692,14 @@
},
"minimist": {
"version": "0.0.8",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
+ "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
"dev": true
},
"mkdirp": {
"version": "0.5.1",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+ "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
"dev": true,
"requires": {
"minimist": "0.0.8"
@@ -6232,13 +5707,15 @@
},
"ms": {
"version": "2.0.0",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
"dev": true,
"optional": true
},
"node-pre-gyp": {
"version": "0.6.39",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.6.39.tgz",
+ "integrity": "sha512-OsJV74qxnvz/AMGgcfZoDaeDXKD3oY3QVIbBmwszTFkRisTSXbMQyn4UWzUMOtA5SVhrBZOTp0wcoSBgfMfMmQ==",
"dev": true,
"optional": true,
"requires": {
@@ -6257,7 +5734,8 @@
},
"nopt": {
"version": "4.0.1",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz",
+ "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=",
"dev": true,
"optional": true,
"requires": {
@@ -6267,7 +5745,8 @@
},
"npmlog": {
"version": "4.1.0",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.0.tgz",
+ "integrity": "sha512-ocolIkZYZt8UveuiDS0yAkkIjid1o7lPG8cYm05yNYzBn8ykQtaiPMEGp8fY9tKdDgm8okpdKzkvu1y9hUYugA==",
"dev": true,
"optional": true,
"requires": {
@@ -6279,24 +5758,28 @@
},
"number-is-nan": {
"version": "1.0.1",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
+ "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
"dev": true
},
"oauth-sign": {
"version": "0.8.2",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz",
+ "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=",
"dev": true,
"optional": true
},
"object-assign": {
"version": "4.1.1",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
"dev": true,
"optional": true
},
"once": {
"version": "1.4.0",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
"dev": true,
"requires": {
"wrappy": "1.0.2"
@@ -6304,19 +5787,22 @@
},
"os-homedir": {
"version": "1.0.2",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
+ "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
"dev": true,
"optional": true
},
"os-tmpdir": {
"version": "1.0.2",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
+ "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
"dev": true,
"optional": true
},
"osenv": {
"version": "0.1.4",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.4.tgz",
+ "integrity": "sha1-Qv5tWVPfBsgGS+bxdsPQWqqjRkQ=",
"dev": true,
"optional": true,
"requires": {
@@ -6326,35 +5812,41 @@
},
"path-is-absolute": {
"version": "1.0.1",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
"dev": true
},
"performance-now": {
"version": "0.2.0",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz",
+ "integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU=",
"dev": true,
"optional": true
},
"process-nextick-args": {
"version": "1.0.7",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
+ "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=",
"dev": true
},
"punycode": {
"version": "1.4.1",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
+ "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
"dev": true,
"optional": true
},
"qs": {
"version": "6.4.0",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz",
+ "integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=",
"dev": true,
"optional": true
},
"rc": {
"version": "1.2.1",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.1.tgz",
+ "integrity": "sha1-LgPo5C7kULjLPc5lvhv4l04d/ZU=",
"dev": true,
"optional": true,
"requires": {
@@ -6366,7 +5858,8 @@
"dependencies": {
"minimist": {
"version": "1.2.0",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
"dev": true,
"optional": true
}
@@ -6374,7 +5867,8 @@
},
"readable-stream": {
"version": "2.2.9",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.9.tgz",
+ "integrity": "sha1-z3jsb0ptHrQ9JkiMrJfwQudLf8g=",
"dev": true,
"requires": {
"buffer-shims": "1.0.0",
@@ -6388,7 +5882,8 @@
},
"request": {
"version": "2.81.0",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/request/-/request-2.81.0.tgz",
+ "integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=",
"dev": true,
"optional": true,
"requires": {
@@ -6418,7 +5913,8 @@
},
"rimraf": {
"version": "2.6.1",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz",
+ "integrity": "sha1-wjOOxkPfeht/5cVPqG9XQopV8z0=",
"dev": true,
"requires": {
"glob": "7.1.2"
@@ -6426,30 +5922,35 @@
},
"safe-buffer": {
"version": "5.0.1",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.0.1.tgz",
+ "integrity": "sha1-0mPKVGls2KMGtcplUekt5XkY++c=",
"dev": true
},
"semver": {
"version": "5.3.0",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
+ "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=",
"dev": true,
"optional": true
},
"set-blocking": {
"version": "2.0.0",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
+ "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
"dev": true,
"optional": true
},
"signal-exit": {
"version": "3.0.2",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
+ "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
"dev": true,
"optional": true
},
"sntp": {
"version": "1.0.9",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz",
+ "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=",
"dev": true,
"requires": {
"hoek": "2.16.3"
@@ -6457,7 +5958,8 @@
},
"sshpk": {
"version": "1.13.0",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.0.tgz",
+ "integrity": "sha1-/yo+T9BEl1Vf7Zezmg/YL6+zozw=",
"dev": true,
"optional": true,
"requires": {
@@ -6474,7 +5976,8 @@
"dependencies": {
"assert-plus": {
"version": "1.0.0",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
"dev": true,
"optional": true
}
@@ -6482,7 +5985,8 @@
},
"string-width": {
"version": "1.0.2",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
+ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
"dev": true,
"requires": {
"code-point-at": "1.1.0",
@@ -6492,7 +5996,8 @@
},
"string_decoder": {
"version": "1.0.1",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.1.tgz",
+ "integrity": "sha1-YuIA8DmVWmgQ2N8KM//A8BNmLZg=",
"dev": true,
"requires": {
"safe-buffer": "5.0.1"
@@ -6500,13 +6005,15 @@
},
"stringstream": {
"version": "0.0.5",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz",
+ "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=",
"dev": true,
"optional": true
},
"strip-ansi": {
"version": "3.0.1",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
"dev": true,
"requires": {
"ansi-regex": "2.1.1"
@@ -6514,13 +6021,15 @@
},
"strip-json-comments": {
"version": "2.0.1",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
+ "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
"dev": true,
"optional": true
},
"tar": {
"version": "2.2.1",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz",
+ "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=",
"dev": true,
"requires": {
"block-stream": "0.0.9",
@@ -6530,7 +6039,8 @@
},
"tar-pack": {
"version": "3.4.0",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/tar-pack/-/tar-pack-3.4.0.tgz",
+ "integrity": "sha1-I74tf2cagzk3bL2wuP4/3r8xeYQ=",
"dev": true,
"optional": true,
"requires": {
@@ -6546,7 +6056,8 @@
},
"tough-cookie": {
"version": "2.3.2",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.2.tgz",
+ "integrity": "sha1-8IH3bkyFcg5sN6X6ztc3FQ2EByo=",
"dev": true,
"optional": true,
"requires": {
@@ -6555,7 +6066,8 @@
},
"tunnel-agent": {
"version": "0.6.0",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
+ "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
"dev": true,
"optional": true,
"requires": {
@@ -6564,30 +6076,35 @@
},
"tweetnacl": {
"version": "0.14.5",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
+ "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
"dev": true,
"optional": true
},
"uid-number": {
"version": "0.0.6",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/uid-number/-/uid-number-0.0.6.tgz",
+ "integrity": "sha1-DqEOgDXo61uOREnwbaHHMGY7qoE=",
"dev": true,
"optional": true
},
"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
},
"uuid": {
"version": "3.0.1",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.0.1.tgz",
+ "integrity": "sha1-ZUS7ot/ajBzxfmKaOjBeK7H+5sE=",
"dev": true,
"optional": true
},
"verror": {
"version": "1.3.6",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz",
+ "integrity": "sha1-z/XfEpRtKX0rqu+qJoniW+AcAFw=",
"dev": true,
"optional": true,
"requires": {
@@ -6596,7 +6113,8 @@
},
"wide-align": {
"version": "1.1.2",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz",
+ "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==",
"dev": true,
"optional": true,
"requires": {
@@ -6605,446 +6123,398 @@
},
"wrappy": {
"version": "1.0.2",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
"dev": true
}
}
},
"fstream": {
- "version": "0.1.31",
- "resolved": "https://registry.npmjs.org/fstream/-/fstream-0.1.31.tgz",
+ "version": "https://registry.npmjs.org/fstream/-/fstream-0.1.31.tgz",
"integrity": "sha1-czfwWPu7vvqMn1YaKMqwhJICyYg=",
"dev": true,
"requires": {
- "graceful-fs": "3.0.11",
- "inherits": "2.0.3",
- "mkdirp": "0.5.1",
- "rimraf": "2.6.2"
+ "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.11.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+ "rimraf": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz"
},
"dependencies": {
"graceful-fs": {
- "version": "3.0.11",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.11.tgz",
+ "version": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.11.tgz",
"integrity": "sha1-dhPHeKGv6mLyXGMKCG1/Osu92Bg=",
"dev": true,
"requires": {
- "natives": "1.1.1"
+ "natives": "https://registry.npmjs.org/natives/-/natives-1.1.1.tgz"
}
}
}
},
"ftp": {
- "version": "0.3.10",
- "resolved": "https://registry.npmjs.org/ftp/-/ftp-0.3.10.tgz",
+ "version": "https://registry.npmjs.org/ftp/-/ftp-0.3.10.tgz",
"integrity": "sha1-kZfYYa2BQvPmPVqDv+TFn3MwiF0=",
"dev": true,
"requires": {
- "readable-stream": "1.1.14",
- "xregexp": "2.0.0"
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
+ "xregexp": "https://registry.npmjs.org/xregexp/-/xregexp-2.0.0.tgz"
},
"dependencies": {
"isarray": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "version": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
"integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
"dev": true
},
"readable-stream": {
- "version": "1.1.14",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
+ "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
"integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
"dev": true,
"requires": {
- "core-util-is": "1.0.2",
- "inherits": "2.0.3",
- "isarray": "0.0.1",
- "string_decoder": "0.10.31"
+ "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
}
},
"string_decoder": {
- "version": "0.10.31",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "version": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
"dev": true
}
}
},
"function-bind": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
- "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
+ "version": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
+ "integrity": "sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0=",
"dev": true
},
"functional-red-black-tree": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
+ "version": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
"integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
"dev": true
},
"gaze": {
- "version": "0.5.2",
- "resolved": "https://registry.npmjs.org/gaze/-/gaze-0.5.2.tgz",
+ "version": "https://registry.npmjs.org/gaze/-/gaze-0.5.2.tgz",
"integrity": "sha1-QLcJU30k0dRXZ9takIaJ3+aaxE8=",
"dev": true,
"requires": {
- "globule": "0.1.0"
+ "globule": "https://registry.npmjs.org/globule/-/globule-0.1.0.tgz"
}
},
"generate-function": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz",
+ "version": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz",
"integrity": "sha1-aFj+fAlpt9TpCTM3ZHrHn2DfvnQ=",
"dev": true
},
"generate-object-property": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz",
+ "version": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz",
"integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=",
"dev": true,
"requires": {
- "is-property": "1.0.2"
+ "is-property": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz"
}
},
"get-caller-file": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz",
+ "version": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz",
"integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=",
"dev": true
},
"get-port": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz",
+ "version": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz",
"integrity": "sha1-3Xzn3hh8Bsi/NTeWrHHgmfCYDrw=",
"dev": true
},
"get-stdin": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",
+ "version": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",
"integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=",
"dev": true
},
"get-stream": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz",
+ "version": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz",
"integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=",
"dev": true
},
"get-uri": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-2.0.1.tgz",
- "integrity": "sha512-7aelVrYqCLuVjq2kEKRTH8fXPTC0xKTkM+G7UlFkEwCXY3sFbSxvY375JoFowOAYbkaU47SrBvOefUlLZZ+6QA==",
+ "version": "https://registry.npmjs.org/get-uri/-/get-uri-2.0.1.tgz",
+ "integrity": "sha1-29ysrNjGCKODFoaTaBF2l6FjHFk=",
"dev": true,
"requires": {
- "data-uri-to-buffer": "1.2.0",
- "debug": "2.6.9",
- "extend": "3.0.1",
- "file-uri-to-path": "1.0.0",
- "ftp": "0.3.10",
- "readable-stream": "2.3.4"
+ "data-uri-to-buffer": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-1.2.0.tgz",
+ "debug": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "extend": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz",
+ "file-uri-to-path": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
+ "ftp": "https://registry.npmjs.org/ftp/-/ftp-0.3.10.tgz",
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.4.tgz"
},
"dependencies": {
"debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "version": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
"dev": true,
"requires": {
- "ms": "2.0.0"
+ "ms": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"
}
}
}
},
"get-value": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
+ "version": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
"integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=",
"dev": true
},
"getpass": {
- "version": "0.1.7",
- "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
+ "version": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
"integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
"dev": true,
"requires": {
- "assert-plus": "1.0.0"
+ "assert-plus": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz"
},
"dependencies": {
"assert-plus": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
"integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
"dev": true
}
}
},
"git-up": {
- "version": "2.0.10",
- "resolved": "https://registry.npmjs.org/git-up/-/git-up-2.0.10.tgz",
- "integrity": "sha512-2v4UN3qV2RGypD9QpmUjpk+4+RlYpW8GFuiZqQnKmvei08HsFPd0RfbDvEhnE4wBvnYs8ORVtYpOFuuCEmBVBw==",
+ "version": "https://registry.npmjs.org/git-up/-/git-up-2.0.10.tgz",
+ "integrity": "sha1-IP5rr770OEyuJT3E9GPEmgw70uw=",
"dev": true,
"requires": {
- "is-ssh": "1.3.0",
- "parse-url": "1.3.11"
+ "is-ssh": "https://registry.npmjs.org/is-ssh/-/is-ssh-1.3.0.tgz",
+ "parse-url": "https://registry.npmjs.org/parse-url/-/parse-url-1.3.11.tgz"
}
},
"git-url-parse": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/git-url-parse/-/git-url-parse-8.1.0.tgz",
- "integrity": "sha512-tSdNasqIc9cjK75DRsirb5sqVJ4V4cCmCuuOyyx2SuYeJx4o9AOx+/ZCSwRrYjZ8zavtuhGjCqXlCo9Db0YIVA==",
+ "version": "https://registry.npmjs.org/git-url-parse/-/git-url-parse-8.1.0.tgz",
+ "integrity": "sha1-0e4JIT785djceiG7A/F8/gwRESI=",
"dev": true,
"requires": {
- "git-up": "2.0.10"
+ "git-up": "https://registry.npmjs.org/git-up/-/git-up-2.0.10.tgz"
}
},
"github-slugger": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-1.2.0.tgz",
- "integrity": "sha512-wIaa75k1vZhyPm9yWrD08A5Xnx/V+RmzGrpjQuLemGKSb77Qukiaei58Bogrl/LZSADDfPzKJX8jhLs4CRTl7Q==",
+ "version": "https://registry.npmjs.org/github-slugger/-/github-slugger-1.2.0.tgz",
+ "integrity": "sha1-itoyhv0EbYlRw8lSqNeFTP2Q/Zo=",
"dev": true,
"requires": {
- "emoji-regex": "6.1.1"
+ "emoji-regex": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-6.1.1.tgz"
}
},
"glob": {
- "version": "7.1.2",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
- "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
+ "version": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
+ "integrity": "sha1-wZyd+aAocC1nhhI4SmVSQExjbRU=",
"dev": true,
"requires": {
- "fs.realpath": "1.0.0",
- "inflight": "1.0.6",
- "inherits": "2.0.3",
- "minimatch": "3.0.4",
- "once": "1.4.0",
- "path-is-absolute": "1.0.1"
+ "fs.realpath": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "inflight": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+ "once": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "path-is-absolute": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz"
}
},
"glob-base": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz",
+ "version": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz",
"integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=",
"dev": true,
"requires": {
- "glob-parent": "2.0.0",
- "is-glob": "2.0.1"
+ "glob-parent": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
+ "is-glob": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz"
},
"dependencies": {
"glob-parent": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
+ "version": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
"integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=",
"dev": true,
"requires": {
- "is-glob": "2.0.1"
+ "is-glob": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz"
}
},
"is-extglob": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
"integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
"dev": true
},
"is-glob": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
+ "version": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
"integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
"dev": true,
"requires": {
- "is-extglob": "1.0.0"
+ "is-extglob": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz"
}
}
}
},
"glob-parent": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
+ "version": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
"integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
"dev": true,
"requires": {
- "is-glob": "3.1.0",
- "path-dirname": "1.0.2"
+ "is-glob": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
+ "path-dirname": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz"
},
"dependencies": {
"is-glob": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
+ "version": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
"integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
"dev": true,
"requires": {
- "is-extglob": "2.1.1"
+ "is-extglob": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz"
}
}
}
},
"glob-stream": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-6.1.0.tgz",
+ "version": "https://registry.npmjs.org/glob-stream/-/glob-stream-6.1.0.tgz",
"integrity": "sha1-cEXJlBOz65SIjYOrRtC0BMx73eQ=",
"dev": true,
"requires": {
- "extend": "3.0.1",
- "glob": "7.1.2",
- "glob-parent": "3.1.0",
- "is-negated-glob": "1.0.0",
- "ordered-read-streams": "1.0.1",
- "pumpify": "1.4.0",
- "readable-stream": "2.3.4",
- "remove-trailing-separator": "1.1.0",
- "to-absolute-glob": "2.0.2",
- "unique-stream": "2.2.1"
+ "extend": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz",
+ "glob": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
+ "glob-parent": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
+ "is-negated-glob": "https://registry.npmjs.org/is-negated-glob/-/is-negated-glob-1.0.0.tgz",
+ "ordered-read-streams": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz",
+ "pumpify": "https://registry.npmjs.org/pumpify/-/pumpify-1.4.0.tgz",
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.4.tgz",
+ "remove-trailing-separator": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
+ "to-absolute-glob": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz",
+ "unique-stream": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.2.1.tgz"
}
},
"glob-watcher": {
- "version": "0.0.6",
- "resolved": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-0.0.6.tgz",
+ "version": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-0.0.6.tgz",
"integrity": "sha1-uVtKjfdLOcgymLDAXJeLTZo7cQs=",
"dev": true,
"requires": {
- "gaze": "0.5.2"
+ "gaze": "https://registry.npmjs.org/gaze/-/gaze-0.5.2.tgz"
}
},
"glob2base": {
- "version": "0.0.12",
- "resolved": "https://registry.npmjs.org/glob2base/-/glob2base-0.0.12.tgz",
+ "version": "https://registry.npmjs.org/glob2base/-/glob2base-0.0.12.tgz",
"integrity": "sha1-nUGbPijxLoOjYhZKJ3BVkiycDVY=",
"dev": true,
"requires": {
- "find-index": "0.1.1"
+ "find-index": "https://registry.npmjs.org/find-index/-/find-index-0.1.1.tgz"
}
},
"global-modules": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz",
- "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==",
+ "version": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz",
+ "integrity": "sha1-bXcPDrUjrHgWTXK15xqIdyZcw+o=",
"dev": true,
"requires": {
- "global-prefix": "1.0.2",
+ "global-prefix": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz",
"is-windows": "1.0.1",
- "resolve-dir": "1.0.1"
+ "resolve-dir": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz"
}
},
"global-prefix": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz",
+ "version": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz",
"integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=",
"dev": true,
"requires": {
- "expand-tilde": "2.0.2",
- "homedir-polyfill": "1.0.1",
- "ini": "1.3.5",
+ "expand-tilde": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz",
+ "homedir-polyfill": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz",
+ "ini": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz",
"is-windows": "1.0.1",
- "which": "1.3.0"
+ "which": "https://registry.npmjs.org/which/-/which-1.3.0.tgz"
}
},
"globals": {
- "version": "9.18.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz",
- "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==",
+ "version": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz",
+ "integrity": "sha1-qjiWs+abSH8X4x7SFD1pqOMMLYo=",
"dev": true
},
"globals-docs": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/globals-docs/-/globals-docs-2.4.0.tgz",
- "integrity": "sha512-B69mWcqCmT3jNYmSxRxxOXWfzu3Go8NQXPfl2o0qPd1EEFhwW0dFUg9ztTu915zPQzqwIhWAlw6hmfIcCK4kkQ==",
+ "version": "https://registry.npmjs.org/globals-docs/-/globals-docs-2.4.0.tgz",
+ "integrity": "sha1-8sZHVE62Fhx8OEUoCOFuaTwtr7s=",
"dev": true
},
"globby": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz",
+ "version": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz",
"integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=",
"dev": true,
"requires": {
- "array-union": "1.0.2",
- "arrify": "1.0.1",
- "glob": "7.1.2",
- "object-assign": "4.1.1",
- "pify": "2.3.0",
- "pinkie-promise": "2.0.1"
+ "array-union": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
+ "arrify": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
+ "glob": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
+ "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "pify": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "pinkie-promise": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz"
},
"dependencies": {
"pify": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "version": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
"integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
"dev": true
}
}
},
"globule": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/globule/-/globule-0.1.0.tgz",
+ "version": "https://registry.npmjs.org/globule/-/globule-0.1.0.tgz",
"integrity": "sha1-2cjt3h2nnRJaFRt5UzuXhnY0auU=",
"dev": true,
"requires": {
- "glob": "3.1.21",
- "lodash": "1.0.2",
- "minimatch": "0.2.14"
+ "glob": "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz",
+ "lodash": "https://registry.npmjs.org/lodash/-/lodash-1.0.2.tgz",
+ "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz"
},
"dependencies": {
"glob": {
- "version": "3.1.21",
- "resolved": "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz",
+ "version": "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz",
"integrity": "sha1-0p4KBV3qUTj00H7UDomC6DwgZs0=",
"dev": true,
"requires": {
- "graceful-fs": "1.2.3",
- "inherits": "1.0.2",
- "minimatch": "0.2.14"
+ "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-1.0.2.tgz",
+ "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz"
}
},
"graceful-fs": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz",
+ "version": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz",
"integrity": "sha1-FaSAaldUfLLS2/J/QuiajDRRs2Q=",
"dev": true
},
"inherits": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-1.0.2.tgz",
+ "version": "https://registry.npmjs.org/inherits/-/inherits-1.0.2.tgz",
"integrity": "sha1-ykMJ2t7mtUzAuNJH6NfHoJdb3Js=",
"dev": true
},
"lodash": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-1.0.2.tgz",
+ "version": "https://registry.npmjs.org/lodash/-/lodash-1.0.2.tgz",
"integrity": "sha1-j1dWDIO1n8JwvT1WG2kAQ0MOJVE=",
"dev": true
},
"lru-cache": {
- "version": "2.7.3",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz",
+ "version": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz",
"integrity": "sha1-bUUk6LlV+V1PW1iFHOId1y+06VI=",
"dev": true
},
"minimatch": {
- "version": "0.2.14",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz",
+ "version": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz",
"integrity": "sha1-x054BXT2PG+aCQ6Q775u9TpqdWo=",
"dev": true,
"requires": {
- "lru-cache": "2.7.3",
- "sigmund": "1.0.1"
+ "lru-cache": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz",
+ "sigmund": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz"
}
}
}
},
"glogg": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.1.tgz",
- "integrity": "sha512-ynYqXLoluBKf9XGR1gA59yEJisIL7YHEH4xr3ZziHB5/yl4qWfaK8Js9jGe6gBGCSCKVqiyO30WnRZADvemUNw==",
+ "version": "https://registry.npmjs.org/glogg/-/glogg-1.0.1.tgz",
+ "integrity": "sha1-3PdY5EeJzD89MsHzVio2duajSBA=",
"dev": true,
"requires": {
- "sparkles": "1.0.0"
+ "sparkles": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.0.tgz"
}
},
"graceful-fs": {
- "version": "4.1.11",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "version": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
"integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg="
},
"graceful-readlink": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz",
+ "version": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz",
"integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=",
"dev": true
},
@@ -7055,812 +6525,731 @@
"dev": true
},
"gulp": {
- "version": "3.9.1",
- "resolved": "https://registry.npmjs.org/gulp/-/gulp-3.9.1.tgz",
+ "version": "https://registry.npmjs.org/gulp/-/gulp-3.9.1.tgz",
"integrity": "sha1-VxzkWSjdQK9lFPxAEYZgFsE4RbQ=",
"dev": true,
"requires": {
- "archy": "1.0.0",
- "chalk": "1.1.3",
- "deprecated": "0.0.1",
- "gulp-util": "3.0.8",
- "interpret": "1.1.0",
- "liftoff": "2.5.0",
- "minimist": "1.2.0",
- "orchestrator": "0.3.8",
- "pretty-hrtime": "1.0.3",
- "semver": "4.3.6",
- "tildify": "1.2.0",
- "v8flags": "2.1.1",
- "vinyl-fs": "0.3.14"
+ "archy": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz",
+ "chalk": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "deprecated": "https://registry.npmjs.org/deprecated/-/deprecated-0.0.1.tgz",
+ "gulp-util": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz",
+ "interpret": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz",
+ "liftoff": "https://registry.npmjs.org/liftoff/-/liftoff-2.5.0.tgz",
+ "minimist": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "orchestrator": "https://registry.npmjs.org/orchestrator/-/orchestrator-0.3.8.tgz",
+ "pretty-hrtime": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz",
+ "semver": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz",
+ "tildify": "https://registry.npmjs.org/tildify/-/tildify-1.2.0.tgz",
+ "v8flags": "https://registry.npmjs.org/v8flags/-/v8flags-2.1.1.tgz",
+ "vinyl-fs": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-0.3.14.tgz"
},
"dependencies": {
"clone": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz",
+ "version": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz",
"integrity": "sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=",
"dev": true
},
"clone-stats": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz",
+ "version": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz",
"integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=",
"dev": true
},
"glob": {
- "version": "4.5.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-4.5.3.tgz",
+ "version": "https://registry.npmjs.org/glob/-/glob-4.5.3.tgz",
"integrity": "sha1-xstz0yJsHv7wTePFbQEvAzd+4V8=",
"dev": true,
"requires": {
- "inflight": "1.0.6",
- "inherits": "2.0.3",
- "minimatch": "2.0.10",
- "once": "1.4.0"
+ "inflight": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz",
+ "once": "https://registry.npmjs.org/once/-/once-1.4.0.tgz"
}
},
"glob-stream": {
- "version": "3.1.18",
- "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-3.1.18.tgz",
+ "version": "https://registry.npmjs.org/glob-stream/-/glob-stream-3.1.18.tgz",
"integrity": "sha1-kXCl8St5Awb9/lmPMT+PeVT9FDs=",
"dev": true,
"requires": {
- "glob": "4.5.3",
- "glob2base": "0.0.12",
- "minimatch": "2.0.10",
- "ordered-read-streams": "0.1.0",
- "through2": "0.6.5",
- "unique-stream": "1.0.0"
+ "glob": "https://registry.npmjs.org/glob/-/glob-4.5.3.tgz",
+ "glob2base": "https://registry.npmjs.org/glob2base/-/glob2base-0.0.12.tgz",
+ "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz",
+ "ordered-read-streams": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-0.1.0.tgz",
+ "through2": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
+ "unique-stream": "https://registry.npmjs.org/unique-stream/-/unique-stream-1.0.0.tgz"
}
},
"graceful-fs": {
- "version": "3.0.11",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.11.tgz",
+ "version": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.11.tgz",
"integrity": "sha1-dhPHeKGv6mLyXGMKCG1/Osu92Bg=",
"dev": true,
"requires": {
- "natives": "1.1.1"
+ "natives": "https://registry.npmjs.org/natives/-/natives-1.1.1.tgz"
}
},
"isarray": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "version": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
"integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
"dev": true
},
"minimatch": {
- "version": "2.0.10",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz",
+ "version": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz",
"integrity": "sha1-jQh8OcazjAAbl/ynzm0OHoCvusc=",
"dev": true,
"requires": {
- "brace-expansion": "1.1.11"
+ "brace-expansion": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz"
}
},
"minimist": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "version": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
"integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
"dev": true
},
"ordered-read-streams": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-0.1.0.tgz",
+ "version": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-0.1.0.tgz",
"integrity": "sha1-/VZamvjrRHO6abbtijQ1LLVS8SY=",
"dev": true
},
"readable-stream": {
- "version": "1.0.34",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
"integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
"dev": true,
"requires": {
- "core-util-is": "1.0.2",
- "inherits": "2.0.3",
- "isarray": "0.0.1",
- "string_decoder": "0.10.31"
+ "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
}
},
"semver": {
- "version": "4.3.6",
- "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz",
+ "version": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz",
"integrity": "sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=",
"dev": true
},
"string_decoder": {
- "version": "0.10.31",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "version": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
"dev": true
},
"strip-bom": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/strip-bom/-/strip-bom-1.0.0.tgz",
"integrity": "sha1-hbiGLzhEtabV7IRnqTWYFzo295Q=",
"dev": true,
"requires": {
- "first-chunk-stream": "1.0.0",
- "is-utf8": "0.2.1"
+ "first-chunk-stream": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz",
+ "is-utf8": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz"
}
},
"through2": {
- "version": "0.6.5",
- "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
+ "version": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
"integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
"dev": true,
"requires": {
- "readable-stream": "1.0.34",
- "xtend": "4.0.1"
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
}
},
"unique-stream": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/unique-stream/-/unique-stream-1.0.0.tgz",
"integrity": "sha1-1ZpKdUJ0R9mqbJHnAmP40mpLEEs=",
"dev": true
},
"vinyl": {
- "version": "0.4.6",
- "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz",
+ "version": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz",
"integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=",
"dev": true,
"requires": {
- "clone": "0.2.0",
- "clone-stats": "0.0.1"
+ "clone": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz",
+ "clone-stats": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz"
}
},
"vinyl-fs": {
- "version": "0.3.14",
- "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-0.3.14.tgz",
+ "version": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-0.3.14.tgz",
"integrity": "sha1-mmhRzhysHBzqX+hsCTHWIMLPqeY=",
"dev": true,
"requires": {
- "defaults": "1.0.3",
- "glob-stream": "3.1.18",
- "glob-watcher": "0.0.6",
- "graceful-fs": "3.0.11",
- "mkdirp": "0.5.1",
- "strip-bom": "1.0.0",
- "through2": "0.6.5",
- "vinyl": "0.4.6"
+ "defaults": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz",
+ "glob-stream": "https://registry.npmjs.org/glob-stream/-/glob-stream-3.1.18.tgz",
+ "glob-watcher": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-0.0.6.tgz",
+ "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.11.tgz",
+ "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+ "strip-bom": "https://registry.npmjs.org/strip-bom/-/strip-bom-1.0.0.tgz",
+ "through2": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
+ "vinyl": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz"
}
}
}
},
"gulp-babel": {
- "version": "6.1.3",
- "resolved": "https://registry.npmjs.org/gulp-babel/-/gulp-babel-6.1.3.tgz",
- "integrity": "sha512-tm15R3rt4gO59WXCuqrwf4QXJM9VIJC+0J2NPYSC6xZn+cZRD5y5RPGAiHaDxCJq7Rz5BDljlrk3cEjWADF+wQ==",
+ "version": "https://registry.npmjs.org/gulp-babel/-/gulp-babel-6.1.3.tgz",
+ "integrity": "sha1-Wq2Kyw22t/Lwvhnu7pUo8gZN9jE=",
"dev": true,
"requires": {
- "babel-core": "6.26.0",
- "object-assign": "4.1.1",
- "plugin-error": "1.0.1",
- "replace-ext": "0.0.1",
- "through2": "2.0.3",
- "vinyl-sourcemaps-apply": "0.2.1"
+ "babel-core": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.0.tgz",
+ "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "plugin-error": "https://registry.npmjs.org/plugin-error/-/plugin-error-1.0.1.tgz",
+ "replace-ext": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz",
+ "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
+ "vinyl-sourcemaps-apply": "https://registry.npmjs.org/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz"
},
"dependencies": {
"babel-core": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.0.tgz",
+ "version": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.0.tgz",
"integrity": "sha1-rzL3izGm/O8RnIew/Y2XU/A6C7g=",
"dev": true,
"requires": {
- "babel-code-frame": "6.26.0",
- "babel-generator": "6.26.1",
- "babel-helpers": "6.24.1",
- "babel-messages": "6.23.0",
- "babel-register": "6.26.0",
- "babel-runtime": "6.26.0",
- "babel-template": "6.26.0",
- "babel-traverse": "6.26.0",
- "babel-types": "6.26.0",
- "babylon": "6.18.0",
- "convert-source-map": "1.5.1",
- "debug": "2.6.9",
- "json5": "0.5.1",
- "lodash": "4.17.5",
- "minimatch": "3.0.4",
- "path-is-absolute": "1.0.1",
- "private": "0.1.8",
- "slash": "1.0.0",
- "source-map": "0.5.7"
+ "babel-code-frame": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz",
+ "babel-generator": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz",
+ "babel-helpers": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz",
+ "babel-messages": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz",
+ "babel-register": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz",
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz",
+ "babel-traverse": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz",
+ "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz",
+ "babylon": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz",
+ "convert-source-map": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz",
+ "debug": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "json5": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
+ "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz",
+ "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+ "path-is-absolute": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "private": "https://registry.npmjs.org/private/-/private-0.1.8.tgz",
+ "slash": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz",
+ "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz"
}
},
"debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "version": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
"dev": true,
"requires": {
- "ms": "2.0.0"
+ "ms": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"
}
},
"replace-ext": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz",
+ "version": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz",
"integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=",
"dev": true
},
"source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "version": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
"integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
"dev": true
}
}
},
"gulp-clean": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/gulp-clean/-/gulp-clean-0.3.2.tgz",
+ "version": "https://registry.npmjs.org/gulp-clean/-/gulp-clean-0.3.2.tgz",
"integrity": "sha1-o0fUc6zqQBgvk1WHpFGUFnGSgQI=",
"dev": true,
"requires": {
- "gulp-util": "2.2.20",
- "rimraf": "2.6.2",
- "through2": "0.4.2"
+ "gulp-util": "https://registry.npmjs.org/gulp-util/-/gulp-util-2.2.20.tgz",
+ "rimraf": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz",
+ "through2": "https://registry.npmjs.org/through2/-/through2-0.4.2.tgz"
},
"dependencies": {
"ansi-regex": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz",
+ "version": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz",
"integrity": "sha1-DY6UaWej2BQ/k+JOKYUl/BsiNfk=",
"dev": true
},
"ansi-styles": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.1.0.tgz",
+ "version": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.1.0.tgz",
"integrity": "sha1-6uy/Zs1waIJ2Cy9GkVgrj1XXp94=",
"dev": true
},
"chalk": {
- "version": "0.5.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.5.1.tgz",
+ "version": "https://registry.npmjs.org/chalk/-/chalk-0.5.1.tgz",
"integrity": "sha1-Zjs6ZItotV0EaQ1JFnqoN4WPIXQ=",
"dev": true,
"requires": {
- "ansi-styles": "1.1.0",
- "escape-string-regexp": "1.0.5",
- "has-ansi": "0.1.0",
- "strip-ansi": "0.3.0",
- "supports-color": "0.2.0"
+ "ansi-styles": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.1.0.tgz",
+ "escape-string-regexp": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "has-ansi": "https://registry.npmjs.org/has-ansi/-/has-ansi-0.1.0.tgz",
+ "strip-ansi": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz",
+ "supports-color": "https://registry.npmjs.org/supports-color/-/supports-color-0.2.0.tgz"
}
},
"clone-stats": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz",
+ "version": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz",
"integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=",
"dev": true
},
"dateformat": {
- "version": "1.0.12",
- "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz",
+ "version": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz",
"integrity": "sha1-nxJLZ1lMk3/3BpMuSmQsyo27/uk=",
"dev": true,
"requires": {
- "get-stdin": "4.0.1",
- "meow": "3.7.0"
+ "get-stdin": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",
+ "meow": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz"
}
},
"gulp-util": {
- "version": "2.2.20",
- "resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-2.2.20.tgz",
+ "version": "https://registry.npmjs.org/gulp-util/-/gulp-util-2.2.20.tgz",
"integrity": "sha1-1xRuVyiRC9jwR6awseVJvCLb1kw=",
"dev": true,
"requires": {
- "chalk": "0.5.1",
- "dateformat": "1.0.12",
- "lodash._reinterpolate": "2.4.1",
- "lodash.template": "2.4.1",
- "minimist": "0.2.0",
- "multipipe": "0.1.2",
- "through2": "0.5.1",
- "vinyl": "0.2.3"
+ "chalk": "https://registry.npmjs.org/chalk/-/chalk-0.5.1.tgz",
+ "dateformat": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz",
+ "lodash._reinterpolate": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-2.4.1.tgz",
+ "lodash.template": "https://registry.npmjs.org/lodash.template/-/lodash.template-2.4.1.tgz",
+ "minimist": "https://registry.npmjs.org/minimist/-/minimist-0.2.0.tgz",
+ "multipipe": "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz",
+ "through2": "https://registry.npmjs.org/through2/-/through2-0.5.1.tgz",
+ "vinyl": "https://registry.npmjs.org/vinyl/-/vinyl-0.2.3.tgz"
},
"dependencies": {
"through2": {
- "version": "0.5.1",
- "resolved": "https://registry.npmjs.org/through2/-/through2-0.5.1.tgz",
+ "version": "https://registry.npmjs.org/through2/-/through2-0.5.1.tgz",
"integrity": "sha1-390BLrnHAOIyP9M084rGIqs3Lac=",
"dev": true,
"requires": {
- "readable-stream": "1.0.34",
- "xtend": "3.0.0"
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "xtend": "https://registry.npmjs.org/xtend/-/xtend-3.0.0.tgz"
}
}
}
},
"has-ansi": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-0.1.0.tgz",
+ "version": "https://registry.npmjs.org/has-ansi/-/has-ansi-0.1.0.tgz",
"integrity": "sha1-hPJlqujA5qiKEtcCKJS3VoiUxi4=",
"dev": true,
"requires": {
- "ansi-regex": "0.2.1"
+ "ansi-regex": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz"
}
},
"isarray": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "version": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
"integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
"dev": true
},
"lodash._reinterpolate": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-2.4.1.tgz",
+ "version": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-2.4.1.tgz",
"integrity": "sha1-TxInqlqHEfxjL1sHofRgequLMiI=",
"dev": true
},
"lodash.escape": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-2.4.1.tgz",
+ "version": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-2.4.1.tgz",
"integrity": "sha1-LOEsXghNsKV92l5dHu659dF1o7Q=",
"dev": true,
"requires": {
- "lodash._escapehtmlchar": "2.4.1",
- "lodash._reunescapedhtml": "2.4.1",
- "lodash.keys": "2.4.1"
+ "lodash._escapehtmlchar": "https://registry.npmjs.org/lodash._escapehtmlchar/-/lodash._escapehtmlchar-2.4.1.tgz",
+ "lodash._reunescapedhtml": "https://registry.npmjs.org/lodash._reunescapedhtml/-/lodash._reunescapedhtml-2.4.1.tgz",
+ "lodash.keys": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz"
}
},
"lodash.keys": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz",
+ "version": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz",
"integrity": "sha1-SN6kbfj/djKxDXBrissmWR4rNyc=",
"dev": true,
"requires": {
- "lodash._isnative": "2.4.1",
- "lodash._shimkeys": "2.4.1",
- "lodash.isobject": "2.4.1"
+ "lodash._isnative": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz",
+ "lodash._shimkeys": "https://registry.npmjs.org/lodash._shimkeys/-/lodash._shimkeys-2.4.1.tgz",
+ "lodash.isobject": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz"
}
},
"lodash.template": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-2.4.1.tgz",
+ "version": "https://registry.npmjs.org/lodash.template/-/lodash.template-2.4.1.tgz",
"integrity": "sha1-nmEQB+32KRKal0qzxIuBez4c8g0=",
"dev": true,
"requires": {
- "lodash._escapestringchar": "2.4.1",
- "lodash._reinterpolate": "2.4.1",
- "lodash.defaults": "2.4.1",
- "lodash.escape": "2.4.1",
- "lodash.keys": "2.4.1",
- "lodash.templatesettings": "2.4.1",
- "lodash.values": "2.4.1"
+ "lodash._escapestringchar": "https://registry.npmjs.org/lodash._escapestringchar/-/lodash._escapestringchar-2.4.1.tgz",
+ "lodash._reinterpolate": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-2.4.1.tgz",
+ "lodash.defaults": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-2.4.1.tgz",
+ "lodash.escape": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-2.4.1.tgz",
+ "lodash.keys": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz",
+ "lodash.templatesettings": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-2.4.1.tgz",
+ "lodash.values": "https://registry.npmjs.org/lodash.values/-/lodash.values-2.4.1.tgz"
}
},
"lodash.templatesettings": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-2.4.1.tgz",
+ "version": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-2.4.1.tgz",
"integrity": "sha1-6nbHXRHrhtTb6JqDiTu4YZKaxpk=",
"dev": true,
"requires": {
- "lodash._reinterpolate": "2.4.1",
- "lodash.escape": "2.4.1"
+ "lodash._reinterpolate": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-2.4.1.tgz",
+ "lodash.escape": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-2.4.1.tgz"
}
},
"minimist": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.2.0.tgz",
+ "version": "https://registry.npmjs.org/minimist/-/minimist-0.2.0.tgz",
"integrity": "sha1-Tf/lJdriuGTGbC4jxicdev3s784=",
"dev": true
},
"object-keys": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz",
+ "version": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz",
"integrity": "sha1-KKaq50KN0sOpLz2V8hM13SBOAzY=",
"dev": true
},
"readable-stream": {
- "version": "1.0.34",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
"integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
"dev": true,
"requires": {
- "core-util-is": "1.0.2",
- "inherits": "2.0.3",
- "isarray": "0.0.1",
- "string_decoder": "0.10.31"
+ "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
}
},
"string_decoder": {
- "version": "0.10.31",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "version": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
"dev": true
},
"strip-ansi": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz",
+ "version": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz",
"integrity": "sha1-JfSOoiynkYfzF0pNuHWTR7sSYiA=",
"dev": true,
"requires": {
- "ansi-regex": "0.2.1"
+ "ansi-regex": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz"
}
},
"supports-color": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-0.2.0.tgz",
+ "version": "https://registry.npmjs.org/supports-color/-/supports-color-0.2.0.tgz",
"integrity": "sha1-2S3iaU6z9nMjlz1649i1W0wiGQo=",
"dev": true
},
"through2": {
- "version": "0.4.2",
- "resolved": "https://registry.npmjs.org/through2/-/through2-0.4.2.tgz",
+ "version": "https://registry.npmjs.org/through2/-/through2-0.4.2.tgz",
"integrity": "sha1-2/WGYDEVHsg1K7bE22SiKSqEC5s=",
"dev": true,
"requires": {
- "readable-stream": "1.0.34",
- "xtend": "2.1.2"
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "xtend": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz"
},
"dependencies": {
"xtend": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz",
+ "version": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz",
"integrity": "sha1-bv7MKk2tjmlixJAbM3znuoe10os=",
"dev": true,
"requires": {
- "object-keys": "0.4.0"
+ "object-keys": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz"
}
}
}
},
"vinyl": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.2.3.tgz",
+ "version": "https://registry.npmjs.org/vinyl/-/vinyl-0.2.3.tgz",
"integrity": "sha1-vKk4IJWC7FpJrVOKAPofEl5RMlI=",
"dev": true,
"requires": {
- "clone-stats": "0.0.1"
+ "clone-stats": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz"
}
},
"xtend": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/xtend/-/xtend-3.0.0.tgz",
+ "version": "https://registry.npmjs.org/xtend/-/xtend-3.0.0.tgz",
"integrity": "sha1-XM50B7r2Qsunvs2laBEcST9ZZlo=",
"dev": true
}
}
},
"gulp-concat": {
- "version": "2.6.1",
- "resolved": "https://registry.npmjs.org/gulp-concat/-/gulp-concat-2.6.1.tgz",
+ "version": "https://registry.npmjs.org/gulp-concat/-/gulp-concat-2.6.1.tgz",
"integrity": "sha1-Yz0WyV2IUEYorQJmVmPO5aR5M1M=",
"dev": true,
"requires": {
- "concat-with-sourcemaps": "1.0.5",
- "through2": "2.0.3",
- "vinyl": "2.1.0"
+ "concat-with-sourcemaps": "https://registry.npmjs.org/concat-with-sourcemaps/-/concat-with-sourcemaps-1.0.5.tgz",
+ "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
+ "vinyl": "https://registry.npmjs.org/vinyl/-/vinyl-2.1.0.tgz"
}
},
"gulp-connect": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/gulp-connect/-/gulp-connect-5.0.0.tgz",
+ "version": "https://registry.npmjs.org/gulp-connect/-/gulp-connect-5.0.0.tgz",
"integrity": "sha1-8v3zBq6RFGg2jCKF8teC8T7dr04=",
"dev": true,
"requires": {
- "connect": "2.30.2",
- "connect-livereload": "0.5.4",
- "event-stream": "3.3.4",
- "gulp-util": "3.0.8",
- "tiny-lr": "0.2.1"
+ "connect": "https://registry.npmjs.org/connect/-/connect-2.30.2.tgz",
+ "connect-livereload": "https://registry.npmjs.org/connect-livereload/-/connect-livereload-0.5.4.tgz",
+ "event-stream": "https://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz",
+ "gulp-util": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz",
+ "tiny-lr": "https://registry.npmjs.org/tiny-lr/-/tiny-lr-0.2.1.tgz"
},
"dependencies": {
"body-parser": {
- "version": "1.14.2",
- "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.14.2.tgz",
+ "version": "https://registry.npmjs.org/body-parser/-/body-parser-1.14.2.tgz",
"integrity": "sha1-EBXLH+LEQ4WCWVgdtTMy+NDPUPk=",
"dev": true,
"requires": {
- "bytes": "2.2.0",
- "content-type": "1.0.4",
- "debug": "2.2.0",
- "depd": "1.1.2",
- "http-errors": "1.3.1",
- "iconv-lite": "0.4.13",
- "on-finished": "2.3.0",
- "qs": "5.2.0",
- "raw-body": "2.1.7",
+ "bytes": "https://registry.npmjs.org/bytes/-/bytes-2.2.0.tgz",
+ "content-type": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
+ "debug": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+ "depd": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
+ "http-errors": "https://registry.npmjs.org/http-errors/-/http-errors-1.3.1.tgz",
+ "iconv-lite": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.13.tgz",
+ "on-finished": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
+ "qs": "https://registry.npmjs.org/qs/-/qs-5.2.0.tgz",
+ "raw-body": "https://registry.npmjs.org/raw-body/-/raw-body-2.1.7.tgz",
"type-is": "1.6.15"
},
"dependencies": {
"qs": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/qs/-/qs-5.2.0.tgz",
+ "version": "https://registry.npmjs.org/qs/-/qs-5.2.0.tgz",
"integrity": "sha1-qfMRQq9GjLcrJbMBNrokVoNJFr4=",
"dev": true
}
}
},
"bytes": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/bytes/-/bytes-2.2.0.tgz",
+ "version": "https://registry.npmjs.org/bytes/-/bytes-2.2.0.tgz",
"integrity": "sha1-/TVGSkA/b5EXwt42Cez/nK4ABYg=",
"dev": true
},
"debug": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+ "version": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
"integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
"dev": true,
"requires": {
- "ms": "0.7.1"
+ "ms": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz"
}
},
"depd": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
+ "version": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
"integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=",
"dev": true
},
"iconv-lite": {
- "version": "0.4.13",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.13.tgz",
+ "version": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.13.tgz",
"integrity": "sha1-H4irpKsLFQjoMSrMOTRfNumS4vI=",
"dev": true
},
"ms": {
- "version": "0.7.1",
- "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
+ "version": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
"integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=",
"dev": true
},
"qs": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/qs/-/qs-5.1.0.tgz",
+ "version": "https://registry.npmjs.org/qs/-/qs-5.1.0.tgz",
"integrity": "sha1-TZMuXH6kEcynajEtOaYGIA/VDNk=",
"dev": true
},
"raw-body": {
- "version": "2.1.7",
- "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.1.7.tgz",
+ "version": "https://registry.npmjs.org/raw-body/-/raw-body-2.1.7.tgz",
"integrity": "sha1-rf6s4uT7MJgFgBTQjActzFl1h3Q=",
"dev": true,
"requires": {
- "bytes": "2.4.0",
- "iconv-lite": "0.4.13",
- "unpipe": "1.0.0"
+ "bytes": "https://registry.npmjs.org/bytes/-/bytes-2.4.0.tgz",
+ "iconv-lite": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.13.tgz",
+ "unpipe": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz"
},
"dependencies": {
"bytes": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/bytes/-/bytes-2.4.0.tgz",
+ "version": "https://registry.npmjs.org/bytes/-/bytes-2.4.0.tgz",
"integrity": "sha1-fZcZb51br39pNeJZhVSe3SpsIzk=",
"dev": true
}
}
},
"tiny-lr": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/tiny-lr/-/tiny-lr-0.2.1.tgz",
+ "version": "https://registry.npmjs.org/tiny-lr/-/tiny-lr-0.2.1.tgz",
"integrity": "sha1-s/26gC5dVqM8L28QeUsy5Hescp0=",
"dev": true,
"requires": {
- "body-parser": "1.14.2",
- "debug": "2.2.0",
- "faye-websocket": "0.10.0",
- "livereload-js": "2.3.0",
- "parseurl": "1.3.2",
- "qs": "5.1.0"
+ "body-parser": "https://registry.npmjs.org/body-parser/-/body-parser-1.14.2.tgz",
+ "debug": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+ "faye-websocket": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz",
+ "livereload-js": "https://registry.npmjs.org/livereload-js/-/livereload-js-2.3.0.tgz",
+ "parseurl": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz",
+ "qs": "https://registry.npmjs.org/qs/-/qs-5.1.0.tgz"
}
}
}
},
"gulp-documentation": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/gulp-documentation/-/gulp-documentation-3.2.1.tgz",
+ "version": "https://registry.npmjs.org/gulp-documentation/-/gulp-documentation-3.2.1.tgz",
"integrity": "sha1-r1JKv9cuI+cVXwCyoYoHo2QqjdU=",
"dev": true,
"requires": {
- "through2": "2.0.3",
- "vinyl": "2.1.0"
+ "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
+ "vinyl": "https://registry.npmjs.org/vinyl/-/vinyl-2.1.0.tgz"
}
},
"gulp-eslint": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/gulp-eslint/-/gulp-eslint-4.0.2.tgz",
- "integrity": "sha512-fcFUQzFsN6dJ6KZlG+qPOEkqfcevRUXgztkYCvhNvJeSvOicC8ucutN4qR/ID8LmNZx9YPIkBzazTNnVvbh8wg==",
+ "version": "https://registry.npmjs.org/gulp-eslint/-/gulp-eslint-4.0.2.tgz",
+ "integrity": "sha1-GKKmdo5EBMvz4gMjnLV0dBaPpgY=",
"dev": true,
"requires": {
"eslint": "4.17.0",
- "fancy-log": "1.3.2",
- "plugin-error": "1.0.1"
+ "fancy-log": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.2.tgz",
+ "plugin-error": "https://registry.npmjs.org/plugin-error/-/plugin-error-1.0.1.tgz"
}
},
"gulp-footer": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/gulp-footer/-/gulp-footer-1.1.2.tgz",
- "integrity": "sha512-G6Z8DNNeIhq1KU++7kZnbuwbvCubkUMOVADOt+0qTHSIqjy2OPo1W4bu4n1aE9JGZncuRTvVQrYecGx2uazlpg==",
+ "version": "https://registry.npmjs.org/gulp-footer/-/gulp-footer-1.1.2.tgz",
+ "integrity": "sha1-f+KDJOxn49YY0x4PXqLuW0VPaHc=",
"dev": true,
"requires": {
- "event-stream": "3.3.4",
- "lodash._reescape": "3.0.0",
- "lodash._reevaluate": "3.0.0",
- "lodash._reinterpolate": "3.0.0",
- "lodash.template": "3.6.2"
+ "event-stream": "https://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz",
+ "lodash._reescape": "https://registry.npmjs.org/lodash._reescape/-/lodash._reescape-3.0.0.tgz",
+ "lodash._reevaluate": "https://registry.npmjs.org/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz",
+ "lodash._reinterpolate": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz",
+ "lodash.template": "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz"
}
},
"gulp-header": {
- "version": "1.8.9",
- "resolved": "https://registry.npmjs.org/gulp-header/-/gulp-header-1.8.9.tgz",
+ "version": "https://registry.npmjs.org/gulp-header/-/gulp-header-1.8.9.tgz",
"integrity": "sha1-yfEP7gYy2B6Tl4nG7PRaFRvzCYs=",
"dev": true,
"requires": {
- "concat-with-sourcemaps": "1.0.5",
- "gulp-util": "3.0.8",
- "object-assign": "4.1.1",
- "through2": "2.0.3"
+ "concat-with-sourcemaps": "https://registry.npmjs.org/concat-with-sourcemaps/-/concat-with-sourcemaps-1.0.5.tgz",
+ "gulp-util": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz",
+ "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz"
}
},
"gulp-if": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/gulp-if/-/gulp-if-2.0.2.tgz",
+ "version": "https://registry.npmjs.org/gulp-if/-/gulp-if-2.0.2.tgz",
"integrity": "sha1-pJe351cwBQQcqivIt92jyARE1ik=",
"dev": true,
"requires": {
- "gulp-match": "1.0.3",
- "ternary-stream": "2.0.1",
- "through2": "2.0.3"
+ "gulp-match": "https://registry.npmjs.org/gulp-match/-/gulp-match-1.0.3.tgz",
+ "ternary-stream": "https://registry.npmjs.org/ternary-stream/-/ternary-stream-2.0.1.tgz",
+ "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz"
}
},
"gulp-js-escape": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/gulp-js-escape/-/gulp-js-escape-1.0.1.tgz",
+ "version": "https://registry.npmjs.org/gulp-js-escape/-/gulp-js-escape-1.0.1.tgz",
"integrity": "sha1-HNRF+9AJ4Np2lZoDp/SbNWav+Gg=",
"dev": true,
"requires": {
- "through2": "0.6.5"
+ "through2": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz"
},
"dependencies": {
"isarray": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "version": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
"integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
"dev": true
},
"readable-stream": {
- "version": "1.0.34",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
"integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
"dev": true,
"requires": {
- "core-util-is": "1.0.2",
- "inherits": "2.0.3",
- "isarray": "0.0.1",
- "string_decoder": "0.10.31"
+ "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
}
},
"string_decoder": {
- "version": "0.10.31",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "version": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
"dev": true
},
"through2": {
- "version": "0.6.5",
- "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
+ "version": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
"integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
"dev": true,
"requires": {
- "readable-stream": "1.0.34",
- "xtend": "4.0.1"
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
}
}
}
},
"gulp-match": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/gulp-match/-/gulp-match-1.0.3.tgz",
+ "version": "https://registry.npmjs.org/gulp-match/-/gulp-match-1.0.3.tgz",
"integrity": "sha1-kcfA1/Kb7NZgbVfYCn+Hdqh6uo4=",
"dev": true,
"requires": {
- "minimatch": "3.0.4"
+ "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz"
}
},
"gulp-optimize-js": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/gulp-optimize-js/-/gulp-optimize-js-1.1.0.tgz",
+ "version": "https://registry.npmjs.org/gulp-optimize-js/-/gulp-optimize-js-1.1.0.tgz",
"integrity": "sha1-X9FcaLNvbh5zh3hPhXhDX3VpYkU=",
"dev": true,
"requires": {
- "gulp-util": "3.0.8",
- "lodash": "4.17.5",
- "optimize-js": "1.0.3",
- "through2": "2.0.3"
+ "gulp-util": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz",
+ "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz",
+ "optimize-js": "https://registry.npmjs.org/optimize-js/-/optimize-js-1.0.3.tgz",
+ "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz"
}
},
"gulp-rename": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/gulp-rename/-/gulp-rename-1.2.2.tgz",
+ "version": "https://registry.npmjs.org/gulp-rename/-/gulp-rename-1.2.2.tgz",
"integrity": "sha1-OtRCh2PwXidk3sHGfYaNsnVoeBc=",
"dev": true
},
"gulp-replace": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/gulp-replace/-/gulp-replace-0.4.0.tgz",
+ "version": "https://registry.npmjs.org/gulp-replace/-/gulp-replace-0.4.0.tgz",
"integrity": "sha1-4ivJwD6dBRsyiBzFib0+jE5UFoo=",
"dev": true,
"requires": {
- "event-stream": "3.0.20",
- "istextorbinary": "1.0.2",
- "replacestream": "0.1.3"
+ "event-stream": "https://registry.npmjs.org/event-stream/-/event-stream-3.0.20.tgz",
+ "istextorbinary": "https://registry.npmjs.org/istextorbinary/-/istextorbinary-1.0.2.tgz",
+ "replacestream": "https://registry.npmjs.org/replacestream/-/replacestream-0.1.3.tgz"
},
"dependencies": {
"event-stream": {
- "version": "3.0.20",
- "resolved": "https://registry.npmjs.org/event-stream/-/event-stream-3.0.20.tgz",
+ "version": "https://registry.npmjs.org/event-stream/-/event-stream-3.0.20.tgz",
"integrity": "sha1-A4u7LqnqkDhbJvvBhU0LU58qvqM=",
"dev": true,
"requires": {
- "duplexer": "0.1.1",
- "from": "0.1.7",
- "map-stream": "0.0.7",
- "pause-stream": "0.0.11",
- "split": "0.2.10",
- "stream-combiner": "0.0.4",
- "through": "2.3.8"
+ "duplexer": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz",
+ "from": "https://registry.npmjs.org/from/-/from-0.1.7.tgz",
+ "map-stream": "https://registry.npmjs.org/map-stream/-/map-stream-0.0.7.tgz",
+ "pause-stream": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz",
+ "split": "https://registry.npmjs.org/split/-/split-0.2.10.tgz",
+ "stream-combiner": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz",
+ "through": "https://registry.npmjs.org/through/-/through-2.3.8.tgz"
}
},
"map-stream": {
- "version": "0.0.7",
- "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.0.7.tgz",
+ "version": "https://registry.npmjs.org/map-stream/-/map-stream-0.0.7.tgz",
"integrity": "sha1-ih8HiW2CsQkmvTdEokIACfiJdKg=",
"dev": true
},
"split": {
- "version": "0.2.10",
- "resolved": "https://registry.npmjs.org/split/-/split-0.2.10.tgz",
+ "version": "https://registry.npmjs.org/split/-/split-0.2.10.tgz",
"integrity": "sha1-Zwl8YB1pfOE2j0GPBs0gHPBSGlc=",
"dev": true,
"requires": {
- "through": "2.3.8"
+ "through": "https://registry.npmjs.org/through/-/through-2.3.8.tgz"
}
}
}
},
"gulp-shell": {
- "version": "0.5.2",
- "resolved": "https://registry.npmjs.org/gulp-shell/-/gulp-shell-0.5.2.tgz",
+ "version": "https://registry.npmjs.org/gulp-shell/-/gulp-shell-0.5.2.tgz",
"integrity": "sha1-pJWcoGUa0ce7/nCy0K27tOGuqY0=",
"dev": true,
"requires": {
- "async": "1.5.2",
- "gulp-util": "3.0.8",
- "lodash": "4.17.5",
- "through2": "2.0.3"
+ "async": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
+ "gulp-util": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz",
+ "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz",
+ "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz"
}
},
"gulp-sourcemaps": {
- "version": "2.6.4",
- "resolved": "https://registry.npmjs.org/gulp-sourcemaps/-/gulp-sourcemaps-2.6.4.tgz",
+ "version": "https://registry.npmjs.org/gulp-sourcemaps/-/gulp-sourcemaps-2.6.4.tgz",
"integrity": "sha1-y7IAhFCxvM5s0jv5gze+dRv24wo=",
"requires": {
- "@gulp-sourcemaps/identity-map": "1.0.1",
- "@gulp-sourcemaps/map-sources": "1.0.0",
+ "@gulp-sourcemaps/identity-map": "https://registry.npmjs.org/@gulp-sourcemaps/identity-map/-/identity-map-1.0.1.tgz",
+ "@gulp-sourcemaps/map-sources": "https://registry.npmjs.org/@gulp-sourcemaps/map-sources/-/map-sources-1.0.0.tgz",
"acorn": "5.4.1",
- "convert-source-map": "1.5.1",
- "css": "2.2.1",
- "debug-fabulous": "1.0.0",
- "detect-newline": "2.1.0",
- "graceful-fs": "4.1.11",
- "source-map": "0.6.1",
- "strip-bom-string": "1.0.0",
- "through2": "2.0.3"
+ "convert-source-map": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz",
+ "css": "https://registry.npmjs.org/css/-/css-2.2.1.tgz",
+ "debug-fabulous": "https://registry.npmjs.org/debug-fabulous/-/debug-fabulous-1.0.0.tgz",
+ "detect-newline": "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz",
+ "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "strip-bom-string": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz",
+ "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz"
}
},
"gulp-uglify": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/gulp-uglify/-/gulp-uglify-3.0.0.tgz",
+ "version": "https://registry.npmjs.org/gulp-uglify/-/gulp-uglify-3.0.0.tgz",
"integrity": "sha1-DfAzHXKg0wLj434QlIXd3zPG0co=",
"dev": true,
"requires": {
- "gulplog": "1.0.0",
- "has-gulplog": "0.1.0",
- "lodash": "4.17.5",
- "make-error-cause": "1.2.2",
- "through2": "2.0.3",
+ "gulplog": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz",
+ "has-gulplog": "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz",
+ "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz",
+ "make-error-cause": "https://registry.npmjs.org/make-error-cause/-/make-error-cause-1.2.2.tgz",
+ "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
"uglify-js": "3.3.10",
- "vinyl-sourcemaps-apply": "0.2.1"
+ "vinyl-sourcemaps-apply": "https://registry.npmjs.org/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz"
},
"dependencies": {
"uglify-js": {
@@ -7869,689 +7258,620 @@
"integrity": "sha512-dNib7aUDNZFJNTXFyq0CDmLRVOsnY1F+IQgt2FAOdZFx2+LvKVLbbIb/fL+BYKCv3YH3bPCE/6M/JaxChtQLHQ==",
"dev": true,
"requires": {
- "commander": "2.14.1",
- "source-map": "0.6.1"
+ "commander": "https://registry.npmjs.org/commander/-/commander-2.14.1.tgz",
+ "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz"
}
}
}
},
"gulp-util": {
- "version": "3.0.8",
- "resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz",
+ "version": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz",
"integrity": "sha1-AFTh50RQLifATBh8PsxQXdVLu08=",
"dev": true,
"requires": {
- "array-differ": "1.0.0",
- "array-uniq": "1.0.3",
- "beeper": "1.1.1",
- "chalk": "1.1.3",
- "dateformat": "2.2.0",
- "fancy-log": "1.3.2",
- "gulplog": "1.0.0",
- "has-gulplog": "0.1.0",
- "lodash._reescape": "3.0.0",
- "lodash._reevaluate": "3.0.0",
- "lodash._reinterpolate": "3.0.0",
- "lodash.template": "3.6.2",
- "minimist": "1.2.0",
- "multipipe": "0.1.2",
- "object-assign": "3.0.0",
- "replace-ext": "0.0.1",
- "through2": "2.0.3",
- "vinyl": "0.5.3"
+ "array-differ": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz",
+ "array-uniq": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
+ "beeper": "https://registry.npmjs.org/beeper/-/beeper-1.1.1.tgz",
+ "chalk": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "dateformat": "https://registry.npmjs.org/dateformat/-/dateformat-2.2.0.tgz",
+ "fancy-log": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.2.tgz",
+ "gulplog": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz",
+ "has-gulplog": "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz",
+ "lodash._reescape": "https://registry.npmjs.org/lodash._reescape/-/lodash._reescape-3.0.0.tgz",
+ "lodash._reevaluate": "https://registry.npmjs.org/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz",
+ "lodash._reinterpolate": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz",
+ "lodash.template": "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz",
+ "minimist": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "multipipe": "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz",
+ "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz",
+ "replace-ext": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz",
+ "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
+ "vinyl": "https://registry.npmjs.org/vinyl/-/vinyl-0.5.3.tgz"
},
"dependencies": {
"clone": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.3.tgz",
+ "version": "https://registry.npmjs.org/clone/-/clone-1.0.3.tgz",
"integrity": "sha1-KY1+IjFmD0DAA8LtMUDezz9TCF8=",
"dev": true
},
"clone-stats": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz",
+ "version": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz",
"integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=",
"dev": true
},
"minimist": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "version": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
"integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
"dev": true
},
"object-assign": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz",
+ "version": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz",
"integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=",
"dev": true
},
"replace-ext": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz",
+ "version": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz",
"integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=",
"dev": true
},
"vinyl": {
- "version": "0.5.3",
- "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.5.3.tgz",
+ "version": "https://registry.npmjs.org/vinyl/-/vinyl-0.5.3.tgz",
"integrity": "sha1-sEVbOPxeDPMNQyUTLkYZcMIJHN4=",
"dev": true,
"requires": {
- "clone": "1.0.3",
- "clone-stats": "0.0.1",
- "replace-ext": "0.0.1"
+ "clone": "https://registry.npmjs.org/clone/-/clone-1.0.3.tgz",
+ "clone-stats": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz",
+ "replace-ext": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz"
}
}
}
},
"gulp-webdriver": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/gulp-webdriver/-/gulp-webdriver-1.0.3.tgz",
+ "version": "https://registry.npmjs.org/gulp-webdriver/-/gulp-webdriver-1.0.3.tgz",
"integrity": "sha1-mM6Bz5rganoZB7htEPaThvQ4Oi0=",
"dev": true,
"requires": {
- "dargs": "github:christian-bromann/dargs#7d6d4164a7c4106dbd14ef39ed8d95b7b5e9b770",
- "deepmerge": "0.2.10",
- "gulp-util": "3.0.8",
- "through2": "0.6.5",
- "webdriverio": "3.4.0"
+ "dargs": "git://github.com/christian-bromann/dargs.git#7d6d4164a7c4106dbd14ef39ed8d95b7b5e9b770",
+ "deepmerge": "https://registry.npmjs.org/deepmerge/-/deepmerge-0.2.10.tgz",
+ "gulp-util": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz",
+ "through2": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
+ "webdriverio": "https://registry.npmjs.org/webdriverio/-/webdriverio-3.4.0.tgz"
},
"dependencies": {
+ "dargs": {
+ "version": "git://github.com/christian-bromann/dargs.git#7d6d4164a7c4106dbd14ef39ed8d95b7b5e9b770",
+ "dev": true,
+ "requires": {
+ "number-is-nan": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz"
+ }
+ },
"isarray": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "version": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
"integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
"dev": true
},
"readable-stream": {
- "version": "1.0.34",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
"integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
"dev": true,
"requires": {
- "core-util-is": "1.0.2",
- "inherits": "2.0.3",
- "isarray": "0.0.1",
- "string_decoder": "0.10.31"
+ "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
}
},
"string_decoder": {
- "version": "0.10.31",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "version": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
"dev": true
},
"through2": {
- "version": "0.6.5",
- "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
+ "version": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
"integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
"dev": true,
"requires": {
- "readable-stream": "1.0.34",
- "xtend": "4.0.1"
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
}
}
}
},
"gulplog": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz",
"integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=",
"dev": true,
"requires": {
- "glogg": "1.0.1"
+ "glogg": "https://registry.npmjs.org/glogg/-/glogg-1.0.1.tgz"
}
},
"handlebars": {
- "version": "4.0.11",
- "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.11.tgz",
+ "version": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.11.tgz",
"integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=",
"dev": true,
"requires": {
- "async": "1.5.2",
- "optimist": "0.6.1",
- "source-map": "0.4.4",
- "uglify-js": "2.8.29"
+ "async": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
+ "optimist": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz",
+ "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz",
+ "uglify-js": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz"
},
"dependencies": {
"source-map": {
- "version": "0.4.4",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz",
+ "version": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz",
"integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=",
"dev": true,
"requires": {
- "amdefine": "1.0.1"
+ "amdefine": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz"
}
}
}
},
"har-schema": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz",
+ "version": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz",
"integrity": "sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4=",
"dev": true
},
"har-validator": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz",
+ "version": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz",
"integrity": "sha1-zcvAgYgmWtEZtqWnyKtw7s+10n0=",
"dev": true,
"requires": {
- "chalk": "1.1.3",
- "commander": "2.14.1",
+ "chalk": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "commander": "https://registry.npmjs.org/commander/-/commander-2.14.1.tgz",
"is-my-json-valid": "2.17.1",
- "pinkie-promise": "2.0.1"
+ "pinkie-promise": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz"
}
},
"has": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/has/-/has-1.0.1.tgz",
+ "version": "https://registry.npmjs.org/has/-/has-1.0.1.tgz",
"integrity": "sha1-hGFzP1OLCDfJNh45qauelwTcLyg=",
"dev": true,
"requires": {
- "function-bind": "1.1.1"
+ "function-bind": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz"
}
},
"has-ansi": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
+ "version": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
"integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
"dev": true,
"requires": {
- "ansi-regex": "2.1.1"
+ "ansi-regex": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz"
}
},
"has-binary2": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.2.tgz",
+ "version": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.2.tgz",
"integrity": "sha1-6D26SfC5vk0CbSc2U1DZ8D9Uvpg=",
"dev": true,
"requires": {
- "isarray": "2.0.1"
+ "isarray": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz"
},
"dependencies": {
"isarray": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz",
+ "version": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz",
"integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=",
"dev": true
}
}
},
"has-cors": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz",
+ "version": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz",
"integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=",
"dev": true
},
"has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "version": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
"integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
"dev": true
},
"has-gulplog": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz",
+ "version": "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz",
"integrity": "sha1-ZBTIKRNpfaUVkDl9r7EvIpZ4Ec4=",
"dev": true,
"requires": {
- "sparkles": "1.0.0"
+ "sparkles": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.0.tgz"
}
},
"has-symbols": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz",
"integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=",
"dev": true
},
"has-value": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
"integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
"dev": true,
"requires": {
- "get-value": "2.0.6",
- "has-values": "1.0.0",
- "isobject": "3.0.1"
+ "get-value": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
+ "has-values": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
+ "isobject": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz"
}
},
"has-values": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
"integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
"dev": true,
"requires": {
- "is-number": "3.0.0",
- "kind-of": "4.0.0"
+ "is-number": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
+ "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz"
},
"dependencies": {
"kind-of": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
+ "version": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
"integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
"dev": true,
"requires": {
- "is-buffer": "1.1.6"
+ "is-buffer": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz"
}
}
}
},
"hash-base": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-2.0.2.tgz",
+ "version": "https://registry.npmjs.org/hash-base/-/hash-base-2.0.2.tgz",
"integrity": "sha1-ZuodhW206KVHDK32/OI65SRO8uE=",
"dev": true,
"requires": {
- "inherits": "2.0.3"
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz"
}
},
"hash.js": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz",
- "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==",
+ "version": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz",
+ "integrity": "sha1-NA3tvmKQGHFRweodd3o0SJNd+EY=",
"dev": true,
"requires": {
- "inherits": "2.0.3",
- "minimalistic-assert": "1.0.0"
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "minimalistic-assert": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz"
}
},
"hast-util-is-element": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-1.0.0.tgz",
"integrity": "sha1-P3IWl4sq4U2YdJh4eCZ18zvjzgA=",
"dev": true
},
"hast-util-sanitize": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/hast-util-sanitize/-/hast-util-sanitize-1.1.2.tgz",
+ "version": "https://registry.npmjs.org/hast-util-sanitize/-/hast-util-sanitize-1.1.2.tgz",
"integrity": "sha1-0QvWdXoh5ZwTq8iuNTDdO219Z54=",
"dev": true,
"requires": {
- "xtend": "4.0.1"
+ "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
}
},
"hast-util-to-html": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-3.1.0.tgz",
+ "version": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-3.1.0.tgz",
"integrity": "sha1-iCyZhJ5AEw6ZHAQuRW1FPZXDbP8=",
"dev": true,
"requires": {
- "ccount": "1.0.2",
- "comma-separated-tokens": "1.0.4",
- "hast-util-is-element": "1.0.0",
- "hast-util-whitespace": "1.0.0",
- "html-void-elements": "1.0.2",
- "kebab-case": "1.0.0",
- "property-information": "3.2.0",
- "space-separated-tokens": "1.1.1",
- "stringify-entities": "1.3.1",
- "unist-util-is": "2.1.1",
- "xtend": "4.0.1"
+ "ccount": "https://registry.npmjs.org/ccount/-/ccount-1.0.2.tgz",
+ "comma-separated-tokens": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-1.0.4.tgz",
+ "hast-util-is-element": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-1.0.0.tgz",
+ "hast-util-whitespace": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-1.0.0.tgz",
+ "html-void-elements": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-1.0.2.tgz",
+ "kebab-case": "https://registry.npmjs.org/kebab-case/-/kebab-case-1.0.0.tgz",
+ "property-information": "https://registry.npmjs.org/property-information/-/property-information-3.2.0.tgz",
+ "space-separated-tokens": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-1.1.1.tgz",
+ "stringify-entities": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-1.3.1.tgz",
+ "unist-util-is": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-2.1.1.tgz",
+ "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
}
},
"hast-util-whitespace": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-1.0.0.tgz",
"integrity": "sha1-vQlpGWJdKTbh/xe8Tff9cn8X7Ok=",
"dev": true
},
"hawk": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz",
+ "version": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz",
"integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=",
"dev": true,
"requires": {
- "boom": "2.10.1",
- "cryptiles": "2.0.5",
- "hoek": "2.16.3",
- "sntp": "1.0.9"
+ "boom": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz",
+ "cryptiles": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz",
+ "hoek": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz",
+ "sntp": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz"
}
},
"highlight.js": {
- "version": "9.12.0",
- "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.12.0.tgz",
+ "version": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.12.0.tgz",
"integrity": "sha1-5tnb5Xy+/mB1HwKvM2GVhwyQwB4=",
"dev": true
},
"hipchat-notifier": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/hipchat-notifier/-/hipchat-notifier-1.1.0.tgz",
+ "version": "https://registry.npmjs.org/hipchat-notifier/-/hipchat-notifier-1.1.0.tgz",
"integrity": "sha1-ttJJdVQ3wZEII2d5nTupoPI7Ix4=",
"dev": true,
"optional": true,
"requires": {
- "lodash": "4.17.5",
- "request": "2.79.0"
+ "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz",
+ "request": "https://registry.npmjs.org/request/-/request-2.79.0.tgz"
}
},
"hmac-drbg": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz",
+ "version": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz",
"integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=",
"dev": true,
"requires": {
- "hash.js": "1.1.3",
- "minimalistic-assert": "1.0.0",
- "minimalistic-crypto-utils": "1.0.1"
+ "hash.js": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz",
+ "minimalistic-assert": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz",
+ "minimalistic-crypto-utils": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz"
}
},
"hoek": {
- "version": "2.16.3",
- "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz",
+ "version": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz",
"integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=",
"dev": true
},
"home-or-tmp": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz",
+ "version": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz",
"integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=",
"dev": true,
"requires": {
- "os-homedir": "1.0.2",
- "os-tmpdir": "1.0.2"
+ "os-homedir": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
+ "os-tmpdir": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz"
}
},
"homedir-polyfill": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz",
+ "version": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz",
"integrity": "sha1-TCu8inWJmP7r9e1oWA921GdotLw=",
"dev": true,
"requires": {
- "parse-passwd": "1.0.0"
+ "parse-passwd": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz"
}
},
"hosted-git-info": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.5.0.tgz",
- "integrity": "sha512-pNgbURSuab90KbTqvRPsseaTxOJCZBD0a7t+haSN33piP9cCM4l0CqdzAif2hUqm716UovKB2ROmiabGAKVXyg==",
+ "version": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.5.0.tgz",
+ "integrity": "sha1-bWDjSzq7yDEwYsO3mO+NkBoHrzw=",
"dev": true
},
"html-void-elements": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-1.0.2.tgz",
+ "version": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-1.0.2.tgz",
"integrity": "sha1-nSLgyjKsyVs/RbjVtPb73AWv/VU=",
"dev": true
},
"htmlescape": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/htmlescape/-/htmlescape-1.1.1.tgz",
+ "version": "https://registry.npmjs.org/htmlescape/-/htmlescape-1.1.1.tgz",
"integrity": "sha1-OgPtwiFLyjtmQko+eVk0lQnLA1E=",
"dev": true
},
"http-errors": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.3.1.tgz",
+ "version": "https://registry.npmjs.org/http-errors/-/http-errors-1.3.1.tgz",
"integrity": "sha1-GX4izevUGYWF6GlO9nhhl7ke2UI=",
"dev": true,
"requires": {
- "inherits": "2.0.3",
- "statuses": "1.4.0"
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "statuses": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz"
}
},
"http-parser-js": {
- "version": "0.4.10",
- "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.10.tgz",
+ "version": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.10.tgz",
"integrity": "sha1-ksnBN0w1CF912zWexWzCV8u5P6Q=",
"dev": true
},
"http-proxy": {
- "version": "1.16.2",
- "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.16.2.tgz",
+ "version": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.16.2.tgz",
"integrity": "sha1-Bt/ykpUr9k2+hHH6nfcwZtTzd0I=",
"dev": true,
"requires": {
- "eventemitter3": "1.2.0",
- "requires-port": "1.0.0"
+ "eventemitter3": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-1.2.0.tgz",
+ "requires-port": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz"
}
},
"http-proxy-agent": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-1.0.0.tgz",
"integrity": "sha1-zBzjjkU7+YSg93AtLdWcc9CBKEo=",
"dev": true,
"requires": {
- "agent-base": "2.1.1",
- "debug": "2.6.9",
- "extend": "3.0.1"
+ "agent-base": "https://registry.npmjs.org/agent-base/-/agent-base-2.1.1.tgz",
+ "debug": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "extend": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz"
},
"dependencies": {
"debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "version": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
"dev": true,
"requires": {
- "ms": "2.0.0"
+ "ms": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"
}
}
}
},
"http-signature": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz",
+ "version": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz",
"integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=",
"dev": true,
"requires": {
- "assert-plus": "0.2.0",
- "jsprim": "1.4.1",
- "sshpk": "1.13.1"
+ "assert-plus": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz",
+ "jsprim": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
+ "sshpk": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz"
}
},
"httpntlm": {
- "version": "1.6.1",
- "resolved": "https://registry.npmjs.org/httpntlm/-/httpntlm-1.6.1.tgz",
+ "version": "https://registry.npmjs.org/httpntlm/-/httpntlm-1.6.1.tgz",
"integrity": "sha1-rQFScUOi6Hc8+uapb1hla7UqNLI=",
"dev": true,
"requires": {
- "httpreq": "0.4.24",
- "underscore": "1.7.0"
+ "httpreq": "https://registry.npmjs.org/httpreq/-/httpreq-0.4.24.tgz",
+ "underscore": "https://registry.npmjs.org/underscore/-/underscore-1.7.0.tgz"
}
},
"httpreq": {
- "version": "0.4.24",
- "resolved": "https://registry.npmjs.org/httpreq/-/httpreq-0.4.24.tgz",
+ "version": "https://registry.npmjs.org/httpreq/-/httpreq-0.4.24.tgz",
"integrity": "sha1-QzX/2CzZaWaKOUZckprGHWOTYn8=",
"dev": true
},
"https-browserify": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz",
"integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=",
"dev": true
},
"https-proxy-agent": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-1.0.0.tgz",
"integrity": "sha1-NffabEjOTdv6JkiRrFk+5f+GceY=",
"dev": true,
"requires": {
- "agent-base": "2.1.1",
- "debug": "2.6.9",
- "extend": "3.0.1"
+ "agent-base": "https://registry.npmjs.org/agent-base/-/agent-base-2.1.1.tgz",
+ "debug": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "extend": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz"
},
"dependencies": {
"debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "version": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
"dev": true,
"requires": {
- "ms": "2.0.0"
+ "ms": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"
}
}
}
},
"iconv-lite": {
- "version": "0.4.11",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.11.tgz",
+ "version": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.11.tgz",
"integrity": "sha1-LstC/SlHRJIiCaLnxATayHk9it4=",
"dev": true
},
"ieee754": {
- "version": "1.1.8",
- "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.8.tgz",
+ "version": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.8.tgz",
"integrity": "sha1-vjPUCsEO8ZJnAfbwii2G+/0a0+Q=",
"dev": true
},
"ignore": {
- "version": "3.3.7",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.7.tgz",
- "integrity": "sha512-YGG3ejvBNHRqu0559EOxxNFihD0AjpvHlC/pdGKd3X3ofe+CoJkYazwNJYTNebqpPKN+VVQbh4ZFn1DivMNuHA==",
+ "version": "https://registry.npmjs.org/ignore/-/ignore-3.3.7.tgz",
+ "integrity": "sha1-YSKJv7PCIOGGpYEYYY1b6MG6sCE=",
"dev": true
},
"ignore-loader": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/ignore-loader/-/ignore-loader-0.1.2.tgz",
+ "version": "https://registry.npmjs.org/ignore-loader/-/ignore-loader-0.1.2.tgz",
"integrity": "sha1-2B8kA3bQuk8Nd4lyw60lh0EXpGM=",
"dev": true
},
"imurmurhash": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
+ "version": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
"integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
"dev": true
},
"indent-string": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz",
+ "version": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz",
"integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=",
"dev": true,
"requires": {
- "repeating": "2.0.1"
+ "repeating": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz"
}
},
"indexof": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz",
+ "version": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz",
"integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=",
"dev": true
},
"inflection": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/inflection/-/inflection-1.10.0.tgz",
+ "version": "https://registry.npmjs.org/inflection/-/inflection-1.10.0.tgz",
"integrity": "sha1-W//LEZetPoEFD44X4hZoCH7p6y8=",
"dev": true,
"optional": true
},
"inflight": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "version": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
"integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
"dev": true,
"requires": {
- "once": "1.4.0",
- "wrappy": "1.0.2"
+ "once": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "wrappy": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz"
}
},
"inherits": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "version": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
"integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
},
"ini": {
- "version": "1.3.5",
- "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz",
- "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==",
+ "version": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz",
+ "integrity": "sha1-7uJfVtscnsYIXgwid4CD9Zar+Sc=",
"dev": true
},
"inline-source-map": {
- "version": "0.6.2",
- "resolved": "https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.6.2.tgz",
+ "version": "https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.6.2.tgz",
"integrity": "sha1-+Tk0ccGKedFyT4Y/o4tYY3Ct4qU=",
"dev": true,
"requires": {
- "source-map": "0.5.7"
+ "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz"
},
"dependencies": {
"source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "version": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
"integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
"dev": true
}
}
},
"inquirer": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz",
- "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==",
- "dev": true,
- "requires": {
- "ansi-escapes": "3.0.0",
- "chalk": "2.3.1",
- "cli-cursor": "2.1.0",
- "cli-width": "2.2.0",
- "external-editor": "2.1.0",
- "figures": "2.0.0",
- "lodash": "4.17.5",
- "mute-stream": "0.0.7",
- "run-async": "2.3.0",
- "rx-lite": "4.0.8",
- "rx-lite-aggregates": "4.0.8",
- "string-width": "2.1.1",
- "strip-ansi": "4.0.0",
- "through": "2.3.8"
+ "version": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz",
+ "integrity": "sha1-ndLyrXZdyrH/BEO0kUQqILoifck=",
+ "dev": true,
+ "requires": {
+ "ansi-escapes": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.0.0.tgz",
+ "chalk": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz",
+ "cli-cursor": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz",
+ "cli-width": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz",
+ "external-editor": "https://registry.npmjs.org/external-editor/-/external-editor-2.1.0.tgz",
+ "figures": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz",
+ "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz",
+ "mute-stream": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz",
+ "run-async": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz",
+ "rx-lite": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz",
+ "rx-lite-aggregates": "https://registry.npmjs.org/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz",
+ "string-width": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
+ "strip-ansi": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
+ "through": "https://registry.npmjs.org/through/-/through-2.3.8.tgz"
},
"dependencies": {
"ansi-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
+ "version": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
"integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
"dev": true
},
"ansi-styles": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
- "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==",
+ "version": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
+ "integrity": "sha1-wVm41b4PnlpvNG2rlPFs4CIWG4g=",
"dev": true,
"requires": {
- "color-convert": "1.9.1"
+ "color-convert": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz"
}
},
"chalk": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz",
- "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==",
+ "version": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz",
+ "integrity": "sha1-Uj/iZ4rsewToBBkJKS/osXBZt5Y=",
"dev": true,
"requires": {
- "ansi-styles": "3.2.0",
- "escape-string-regexp": "1.0.5",
- "supports-color": "5.2.0"
+ "ansi-styles": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
+ "escape-string-regexp": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "supports-color": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz"
}
},
"is-fullwidth-code-point": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+ "version": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
"integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
"dev": true
},
"string-width": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
- "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
+ "version": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
+ "integrity": "sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4=",
"dev": true,
"requires": {
- "is-fullwidth-code-point": "2.0.0",
- "strip-ansi": "4.0.0"
+ "is-fullwidth-code-point": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+ "strip-ansi": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz"
}
},
"strip-ansi": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
+ "version": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
"integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
"dev": true,
"requires": {
- "ansi-regex": "3.0.0"
+ "ansi-regex": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz"
}
},
"supports-color": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz",
- "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==",
+ "version": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz",
+ "integrity": "sha1-sNUzOxGE3TZmy+WqC0XFrHrBeko=",
"dev": true,
"requires": {
- "has-flag": "3.0.0"
+ "has-flag": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz"
}
}
}
@@ -8562,14 +7882,14 @@
"integrity": "sha1-wDv04BywhtW15azorQr+eInWOMM=",
"dev": true,
"requires": {
- "JSONStream": "1.3.2",
+ "JSONStream": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.2.tgz",
"combine-source-map": "0.7.2",
"concat-stream": "1.5.2",
- "is-buffer": "1.1.6",
- "lexical-scope": "1.2.0",
- "process": "0.11.10",
- "through2": "2.0.3",
- "xtend": "4.0.1"
+ "is-buffer": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
+ "lexical-scope": "https://registry.npmjs.org/lexical-scope/-/lexical-scope-1.2.0.tgz",
+ "process": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
+ "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
+ "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
},
"dependencies": {
"combine-source-map": {
@@ -8579,8 +7899,8 @@
"dev": true,
"requires": {
"convert-source-map": "1.1.3",
- "inline-source-map": "0.6.2",
- "lodash.memoize": "3.0.4",
+ "inline-source-map": "https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.6.2.tgz",
+ "lodash.memoize": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-3.0.4.tgz",
"source-map": "0.5.7"
}
},
@@ -8590,9 +7910,9 @@
"integrity": "sha1-cIl4Yk2FavQaWnQd790mHadSwmY=",
"dev": true,
"requires": {
- "inherits": "2.0.3",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
"readable-stream": "2.0.6",
- "typedarray": "0.0.6"
+ "typedarray": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz"
}
},
"convert-source-map": {
@@ -8613,12 +7933,12 @@
"integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=",
"dev": true,
"requires": {
- "core-util-is": "1.0.2",
- "inherits": "2.0.3",
- "isarray": "1.0.0",
+ "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "isarray": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
"process-nextick-args": "1.0.7",
"string_decoder": "0.10.31",
- "util-deprecate": "1.0.2"
+ "util-deprecate": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"
}
},
"source-map": {
@@ -8636,8 +7956,7 @@
}
},
"interpret": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz",
+ "version": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz",
"integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=",
"dev": true
},
@@ -8647,181 +7966,158 @@
"integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=",
"dev": true,
"requires": {
- "loose-envify": "1.3.1"
+ "loose-envify": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz"
}
},
"invert-kv": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz",
"integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=",
"dev": true
},
"ip": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/ip/-/ip-1.0.1.tgz",
+ "version": "https://registry.npmjs.org/ip/-/ip-1.0.1.tgz",
"integrity": "sha1-x+NWzeoiWucbNtcPLnGpK6TkJZA=",
"dev": true
},
"is-absolute": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz",
- "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==",
+ "version": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz",
+ "integrity": "sha1-OV4a6EsR8mrReV5zwXN45IowFXY=",
"dev": true,
"requires": {
- "is-relative": "1.0.0",
+ "is-relative": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz",
"is-windows": "1.0.1"
}
},
"is-accessor-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
- "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+ "version": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+ "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=",
"dev": true,
"requires": {
- "kind-of": "6.0.2"
+ "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz"
}
},
"is-alphabetical": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.1.tgz",
+ "version": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.1.tgz",
"integrity": "sha1-x3B5zJHU76x3W+EDS/LSQ/lebwg=",
"dev": true
},
"is-alphanumeric": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-alphanumeric/-/is-alphanumeric-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/is-alphanumeric/-/is-alphanumeric-1.0.0.tgz",
"integrity": "sha1-Spzvcdr0wAHB2B1j0UDPU/1oifQ=",
"dev": true
},
"is-alphanumerical": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.1.tgz",
+ "version": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.1.tgz",
"integrity": "sha1-37SqTRCF4zvbYcLe6cgOnGwZ9Ts=",
"dev": true,
"requires": {
- "is-alphabetical": "1.0.1",
- "is-decimal": "1.0.1"
+ "is-alphabetical": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.1.tgz",
+ "is-decimal": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.1.tgz"
}
},
"is-arrayish": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
+ "version": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
"integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
"dev": true
},
"is-binary-path": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
+ "version": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
"integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
"dev": true,
"requires": {
- "binary-extensions": "1.11.0"
+ "binary-extensions": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.11.0.tgz"
}
},
"is-buffer": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
- "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
+ "version": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
+ "integrity": "sha1-76ouqdqg16suoTqXsritUf776L4=",
"dev": true
},
"is-builtin-module": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz",
"integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=",
"dev": true,
"requires": {
- "builtin-modules": "1.1.1"
+ "builtin-modules": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz"
}
},
"is-data-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
- "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+ "version": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+ "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=",
"dev": true,
"requires": {
- "kind-of": "6.0.2"
+ "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz"
}
},
"is-decimal": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.1.tgz",
+ "version": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.1.tgz",
"integrity": "sha1-9ftqlJlq2ejjdh+/vQkfH8qMToI=",
"dev": true
},
"is-descriptor": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
- "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+ "version": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+ "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=",
"dev": true,
"requires": {
- "is-accessor-descriptor": "1.0.0",
- "is-data-descriptor": "1.0.0",
- "kind-of": "6.0.2"
+ "is-accessor-descriptor": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+ "is-data-descriptor": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+ "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz"
}
},
"is-dotfile": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz",
+ "version": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz",
"integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=",
"dev": true
},
"is-equal-shallow": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz",
+ "version": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz",
"integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=",
"dev": true,
"requires": {
- "is-primitive": "2.0.0"
+ "is-primitive": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz"
}
},
"is-extendable": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
+ "version": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
"integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
"dev": true
},
"is-extglob": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+ "version": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
"integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
"dev": true
},
"is-finite": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz",
+ "version": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz",
"integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=",
"dev": true,
"requires": {
- "number-is-nan": "1.0.1"
+ "number-is-nan": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz"
}
},
"is-fullwidth-code-point": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
"integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
"dev": true,
"requires": {
- "number-is-nan": "1.0.1"
+ "number-is-nan": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz"
}
},
"is-generator": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/is-generator/-/is-generator-1.0.3.tgz",
+ "version": "https://registry.npmjs.org/is-generator/-/is-generator-1.0.3.tgz",
"integrity": "sha1-wUwhBX7TbjKNuANHlmxpP4hjifM=",
"dev": true
},
"is-glob": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz",
+ "version": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz",
"integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=",
"dev": true,
"requires": {
- "is-extglob": "2.1.1"
+ "is-extglob": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz"
}
},
"is-hexadecimal": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.1.tgz",
+ "version": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.1.tgz",
"integrity": "sha1-bghLvJIGH7sJcexYts5tQE4k2mk=",
"dev": true
},
@@ -8831,41 +8127,37 @@
"integrity": "sha512-Q2khNw+oBlWuaYvEEHtKSw/pCxD2L5Rc1C+UQme9X6JdRDh7m5D7HkozA0qa3DUkQ6VzCnEm8mVIQPyIRkI5sQ==",
"dev": true,
"requires": {
- "generate-function": "2.0.0",
- "generate-object-property": "1.2.0",
- "jsonpointer": "4.0.1",
- "xtend": "4.0.1"
+ "generate-function": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz",
+ "generate-object-property": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz",
+ "jsonpointer": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz",
+ "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
}
},
"is-negated-glob": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-negated-glob/-/is-negated-glob-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/is-negated-glob/-/is-negated-glob-1.0.0.tgz",
"integrity": "sha1-aRC8pdqMleeEtXUbl2z1oQ/uNtI=",
"dev": true
},
"is-number": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
+ "version": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
"integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
"dev": true,
"requires": {
- "kind-of": "3.2.2"
+ "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz"
},
"dependencies": {
"kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "version": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
"dev": true,
"requires": {
- "is-buffer": "1.1.6"
+ "is-buffer": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz"
}
}
}
},
"is-object": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.1.tgz",
+ "version": "https://registry.npmjs.org/is-object/-/is-object-1.0.1.tgz",
"integrity": "sha1-iVJojF7C/9awPsyF52ngKQMINHA=",
"dev": true
},
@@ -8875,131 +8167,113 @@
"integrity": "sha1-O4qTLrAos3dcObsJ6RdnrM22kIg=",
"dev": true,
"requires": {
- "is-number": "3.0.0"
+ "is-number": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz"
}
},
"is-path-cwd": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz",
"integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=",
"dev": true
},
"is-path-in-cwd": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz",
"integrity": "sha1-ZHdYK4IU1gI0YJRWcAO+ip6sBNw=",
"dev": true,
"requires": {
- "is-path-inside": "1.0.1"
+ "is-path-inside": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz"
}
},
"is-path-inside": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz",
+ "version": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz",
"integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=",
"dev": true,
"requires": {
- "path-is-inside": "1.0.2"
+ "path-is-inside": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz"
}
},
"is-plain-obj": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz",
+ "version": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz",
"integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=",
"dev": true
},
"is-plain-object": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
- "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
+ "version": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
+ "integrity": "sha1-LBY7P6+xtgbZ0Xko8FwqHDjgdnc=",
"dev": true,
"requires": {
- "isobject": "3.0.1"
+ "isobject": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz"
}
},
"is-posix-bracket": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz",
+ "version": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz",
"integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=",
"dev": true
},
"is-primitive": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz",
+ "version": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz",
"integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=",
"dev": true
},
"is-promise": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz",
+ "version": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz",
"integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o="
},
"is-property": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz",
+ "version": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz",
"integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=",
"dev": true
},
"is-relative": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz",
- "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==",
+ "version": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz",
+ "integrity": "sha1-obtpNc6MXboei5dUubLcwCDiJg0=",
"dev": true,
"requires": {
- "is-unc-path": "1.0.0"
+ "is-unc-path": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz"
}
},
"is-resolvable": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz",
- "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==",
+ "version": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz",
+ "integrity": "sha1-+xj4fOH+uSUWnJpAfBkxijIG7Yg=",
"dev": true
},
"is-ssh": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/is-ssh/-/is-ssh-1.3.0.tgz",
+ "version": "https://registry.npmjs.org/is-ssh/-/is-ssh-1.3.0.tgz",
"integrity": "sha1-6+oRaaJhTaOSpjdANmw84EnY3/Y=",
"dev": true,
"requires": {
- "protocols": "1.4.6"
+ "protocols": "https://registry.npmjs.org/protocols/-/protocols-1.4.6.tgz"
}
},
"is-stream": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
+ "version": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
"integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
"dev": true
},
"is-typedarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
"integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
"dev": true
},
"is-unc-path": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz",
- "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==",
+ "version": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz",
+ "integrity": "sha1-1zHoiY7QkKEsNSrS6u1Qla0yLJ0=",
"dev": true,
"requires": {
- "unc-path-regex": "0.1.2"
+ "unc-path-regex": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz"
}
},
"is-utf8": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz",
+ "version": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz",
"integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=",
"dev": true
},
"is-valid-glob": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-1.0.0.tgz",
"integrity": "sha1-Kb8+/3Ab4tTTFdusw5vDn+j2Aao=",
"dev": true
},
"is-whitespace-character": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.1.tgz",
+ "version": "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.1.tgz",
"integrity": "sha1-muAXbzKCtlRXoZks2whPil+DPjs=",
"dev": true
},
@@ -9010,253 +8284,227 @@
"dev": true
},
"is-word-character": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.1.tgz",
+ "version": "https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.1.tgz",
"integrity": "sha1-WgP6HqkazopusMfNdw64bWXIvvs=",
"dev": true
},
"isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
"integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
},
"isbinaryfile": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.2.tgz",
+ "version": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.2.tgz",
"integrity": "sha1-Sj6XTsDLqQBNP8bN5yCeppNopiE=",
"dev": true
},
"isexe": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "version": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
"integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
"dev": true
},
"isobject": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+ "version": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
"integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
"dev": true
},
"isstream": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
+ "version": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
"integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
"dev": true
},
"istanbul": {
- "version": "0.4.5",
- "resolved": "https://registry.npmjs.org/istanbul/-/istanbul-0.4.5.tgz",
+ "version": "https://registry.npmjs.org/istanbul/-/istanbul-0.4.5.tgz",
"integrity": "sha1-ZcfXPUxNqE1POsMQuRj7C4Azczs=",
"dev": true,
"requires": {
- "abbrev": "1.0.9",
- "async": "1.5.2",
- "escodegen": "1.8.1",
- "esprima": "2.7.3",
- "glob": "5.0.15",
- "handlebars": "4.0.11",
- "js-yaml": "3.6.1",
- "mkdirp": "0.5.1",
- "nopt": "3.0.6",
- "once": "1.4.0",
- "resolve": "1.1.7",
- "supports-color": "3.2.3",
- "which": "1.3.0",
- "wordwrap": "1.0.0"
+ "abbrev": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz",
+ "async": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
+ "escodegen": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz",
+ "esprima": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz",
+ "glob": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
+ "handlebars": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.11.tgz",
+ "js-yaml": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.6.1.tgz",
+ "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+ "nopt": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
+ "once": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "resolve": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz",
+ "supports-color": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+ "which": "https://registry.npmjs.org/which/-/which-1.3.0.tgz",
+ "wordwrap": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz"
},
"dependencies": {
"glob": {
- "version": "5.0.15",
- "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
+ "version": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
"integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=",
"dev": true,
"requires": {
- "inflight": "1.0.6",
- "inherits": "2.0.3",
- "minimatch": "3.0.4",
- "once": "1.4.0",
- "path-is-absolute": "1.0.1"
+ "inflight": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+ "once": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "path-is-absolute": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz"
}
},
"has-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
"integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
"dev": true
},
"resolve": {
- "version": "1.1.7",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz",
+ "version": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz",
"integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=",
"dev": true
},
"supports-color": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+ "version": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
"integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
"dev": true,
"requires": {
- "has-flag": "1.0.0"
+ "has-flag": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz"
}
}
}
},
"istanbul-api": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/istanbul-api/-/istanbul-api-1.2.2.tgz",
- "integrity": "sha512-kH5YRdqdbs5hiH4/Rr1Q0cSAGgjh3jTtg8vu9NLebBAoK3adVO4jk81J+TYOkTr2+Q4NLeb1ACvmEt65iG/Vbw==",
- "dev": true,
- "requires": {
- "async": "2.6.0",
- "fileset": "2.0.3",
- "istanbul-lib-coverage": "1.1.2",
- "istanbul-lib-hook": "1.1.0",
- "istanbul-lib-instrument": "1.9.2",
- "istanbul-lib-report": "1.1.3",
- "istanbul-lib-source-maps": "1.2.3",
- "istanbul-reports": "1.1.4",
- "js-yaml": "3.10.0",
- "mkdirp": "0.5.1",
- "once": "1.4.0"
+ "version": "https://registry.npmjs.org/istanbul-api/-/istanbul-api-1.2.2.tgz",
+ "integrity": "sha1-4XzVGd1exBQRl/JG/fOAt1SH87E=",
+ "dev": true,
+ "requires": {
+ "async": "https://registry.npmjs.org/async/-/async-2.6.0.tgz",
+ "fileset": "https://registry.npmjs.org/fileset/-/fileset-2.0.3.tgz",
+ "istanbul-lib-coverage": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.1.2.tgz",
+ "istanbul-lib-hook": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-1.1.0.tgz",
+ "istanbul-lib-instrument": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.9.2.tgz",
+ "istanbul-lib-report": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-1.1.3.tgz",
+ "istanbul-lib-source-maps": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.3.tgz",
+ "istanbul-reports": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-1.1.4.tgz",
+ "js-yaml": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.10.0.tgz",
+ "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+ "once": "https://registry.npmjs.org/once/-/once-1.4.0.tgz"
},
"dependencies": {
"async": {
- "version": "2.6.0",
- "resolved": "https://registry.npmjs.org/async/-/async-2.6.0.tgz",
- "integrity": "sha512-xAfGg1/NTLBBKlHFmnd7PlmUW9KhVQIUuSrYem9xzFUZy13ScvtyGGejaae9iAVRiRq9+Cx7DPFaAAhCpyxyPw==",
+ "version": "https://registry.npmjs.org/async/-/async-2.6.0.tgz",
+ "integrity": "sha1-YaKau2/MAm/qd+VtHG7FOnlZUfQ=",
"dev": true,
"requires": {
- "lodash": "4.17.5"
+ "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz"
}
},
"esprima": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz",
- "integrity": "sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw==",
+ "version": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz",
+ "integrity": "sha1-RJnt3NERDgshi6zy+n9/WfVcqAQ=",
"dev": true
},
"js-yaml": {
- "version": "3.10.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.10.0.tgz",
- "integrity": "sha512-O2v52ffjLa9VeM43J4XocZE//WT9N0IiwDa3KSHH7Tu8CtH+1qM8SIZvnsTh6v+4yFy5KUY3BHUVwjpfAWsjIA==",
+ "version": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.10.0.tgz",
+ "integrity": "sha1-LnhEFka9RoLpY/IrbpKCPDCcYtw=",
"dev": true,
"requires": {
"argparse": "1.0.9",
- "esprima": "4.0.0"
+ "esprima": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz"
}
}
}
},
"istanbul-instrumenter-loader": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/istanbul-instrumenter-loader/-/istanbul-instrumenter-loader-3.0.0.tgz",
- "integrity": "sha512-alLSEFX06ApU75sm5oWcaVNaiss/bgMRiWTct3g0P0ZZTKjR+6QiCcuVOKDI1kWJgwHEnIXsv/dWm783kPpmtw==",
+ "version": "https://registry.npmjs.org/istanbul-instrumenter-loader/-/istanbul-instrumenter-loader-3.0.0.tgz",
+ "integrity": "sha1-n1U5I7IjYLrJXmF6q6Aa3R99sLI=",
"dev": true,
"requires": {
- "convert-source-map": "1.5.1",
- "istanbul-lib-instrument": "1.9.2",
- "loader-utils": "1.1.0",
- "schema-utils": "0.3.0"
+ "convert-source-map": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz",
+ "istanbul-lib-instrument": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.9.2.tgz",
+ "loader-utils": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz",
+ "schema-utils": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.3.0.tgz"
}
},
"istanbul-lib-coverage": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.1.2.tgz",
- "integrity": "sha512-tZYA0v5A7qBSsOzcebJJ/z3lk3oSzH62puG78DbBA1+zupipX2CakDyiPV3pOb8He+jBwVimuwB0dTnh38hX0w==",
+ "version": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.1.2.tgz",
+ "integrity": "sha1-QRPI/2t6QKHvc1CwEBYzH2Ov3hQ=",
"dev": true
},
"istanbul-lib-hook": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-1.1.0.tgz",
- "integrity": "sha512-U3qEgwVDUerZ0bt8cfl3dSP3S6opBoOtk3ROO5f2EfBr/SRiD9FQqzwaZBqFORu8W7O0EXpai+k7kxHK13beRg==",
+ "version": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-1.1.0.tgz",
+ "integrity": "sha1-hTjZcDcss3FtU+VVI91UtVeo2Js=",
"dev": true,
"requires": {
- "append-transform": "0.4.0"
+ "append-transform": "https://registry.npmjs.org/append-transform/-/append-transform-0.4.0.tgz"
}
},
"istanbul-lib-instrument": {
- "version": "1.9.2",
- "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.9.2.tgz",
- "integrity": "sha512-nz8t4HQ2206a/3AXi+NHFWEa844DMpPsgbcUteJbt1j8LX1xg56H9rOMnhvcvVvPbW60qAIyrSk44H8ZDqaSSA==",
+ "version": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.9.2.tgz",
+ "integrity": "sha1-hJBb9H9+C0Ada4QNp7rWcIa0qrY=",
"dev": true,
"requires": {
- "babel-generator": "6.26.1",
- "babel-template": "6.26.0",
- "babel-traverse": "6.26.0",
- "babel-types": "6.26.0",
- "babylon": "6.18.0",
- "istanbul-lib-coverage": "1.1.2",
- "semver": "5.5.0"
+ "babel-generator": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz",
+ "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz",
+ "babel-traverse": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz",
+ "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz",
+ "babylon": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz",
+ "istanbul-lib-coverage": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.1.2.tgz",
+ "semver": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz"
}
},
"istanbul-lib-report": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-1.1.3.tgz",
- "integrity": "sha512-D4jVbMDtT2dPmloPJS/rmeP626N5Pr3Rp+SovrPn1+zPChGHcggd/0sL29jnbm4oK9W0wHjCRsdch9oLd7cm6g==",
+ "version": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-1.1.3.tgz",
+ "integrity": "sha1-LfEhiMD6d5kMDSF20tC6M5QYglk=",
"dev": true,
"requires": {
- "istanbul-lib-coverage": "1.1.2",
- "mkdirp": "0.5.1",
- "path-parse": "1.0.5",
- "supports-color": "3.2.3"
+ "istanbul-lib-coverage": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.1.2.tgz",
+ "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+ "path-parse": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz",
+ "supports-color": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz"
},
"dependencies": {
"has-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
"integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
"dev": true
},
"supports-color": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+ "version": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
"integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
"dev": true,
"requires": {
- "has-flag": "1.0.0"
+ "has-flag": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz"
}
}
}
},
"istanbul-lib-source-maps": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.3.tgz",
- "integrity": "sha512-fDa0hwU/5sDXwAklXgAoCJCOsFsBplVQ6WBldz5UwaqOzmDhUK4nfuR7/G//G2lERlblUNJB8P6e8cXq3a7MlA==",
+ "version": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.3.tgz",
+ "integrity": "sha1-IPtUsU4Us/tu22rKNXH9IUPbROY=",
"dev": true,
"requires": {
- "debug": "3.1.0",
- "istanbul-lib-coverage": "1.1.2",
- "mkdirp": "0.5.1",
- "rimraf": "2.6.2",
- "source-map": "0.5.7"
+ "debug": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
+ "istanbul-lib-coverage": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.1.2.tgz",
+ "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+ "rimraf": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz",
+ "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz"
},
"dependencies": {
"source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "version": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
"integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
"dev": true
}
}
},
"istanbul-reports": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-1.1.4.tgz",
- "integrity": "sha512-DfSTVOTkuO+kRmbO8Gk650Wqm1WRGr6lrdi2EwDK1vxpS71vdlLd613EpzOKdIFioB5f/scJTjeWBnvd1FWejg==",
+ "version": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-1.1.4.tgz",
+ "integrity": "sha1-XMul4it7Wl2R1eCoMPib4zS/l70=",
"dev": true,
"requires": {
- "handlebars": "4.0.11"
+ "handlebars": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.11.tgz"
}
},
"istextorbinary": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/istextorbinary/-/istextorbinary-1.0.2.tgz",
+ "version": "https://registry.npmjs.org/istextorbinary/-/istextorbinary-1.0.2.tgz",
"integrity": "sha1-rOGTVNGpoBc+/rEITOD4ewrX3s8=",
"dev": true,
"requires": {
- "binaryextensions": "1.0.1",
- "textextensions": "1.0.2"
+ "binaryextensions": "https://registry.npmjs.org/binaryextensions/-/binaryextensions-1.0.1.tgz",
+ "textextensions": "https://registry.npmjs.org/textextensions/-/textextensions-1.0.2.tgz"
}
},
"jade": {
@@ -9284,257 +8532,228 @@
}
},
"js-tokens": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz",
+ "version": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz",
"integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=",
"dev": true
},
"js-yaml": {
- "version": "3.6.1",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.6.1.tgz",
+ "version": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.6.1.tgz",
"integrity": "sha1-bl/mfYsgXOTSL60Ft3geja3MSzA=",
"dev": true,
"requires": {
"argparse": "1.0.9",
- "esprima": "2.7.3"
+ "esprima": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz"
}
},
"jsbn": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
+ "version": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
"integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
"dev": true,
"optional": true
},
"jsesc": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz",
+ "version": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz",
"integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=",
"dev": true
},
"json-loader": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/json-loader/-/json-loader-0.5.7.tgz",
- "integrity": "sha512-QLPs8Dj7lnf3e3QYS1zkCo+4ZwqOiF9d/nZnYozTISxXWCfNs9yuky5rJw4/W34s7POaNlbZmQGaB5NiXCbP4w==",
+ "version": "https://registry.npmjs.org/json-loader/-/json-loader-0.5.7.tgz",
+ "integrity": "sha1-3KFKcCNf+C8KyaOr62DTN6NlGF0=",
"dev": true
},
"json-parse-better-errors": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.1.tgz",
- "integrity": "sha512-xyQpxeWWMKyJps9CuGJYeng6ssI5bpqS9ltQpdVQ90t4ql6NdnxFKh95JcRt2cun/DjMVNrdjniLPuMA69xmCw==",
+ "version": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.1.tgz",
+ "integrity": "sha1-UBg80bLSUnXeBp6ecbRnrJ6rlzo=",
"dev": true
},
"json-schema": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
+ "version": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
"integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",
"dev": true
},
"json-schema-traverse": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz",
+ "version": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz",
"integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=",
"dev": true
},
"json-stable-stringify": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz",
+ "version": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz",
"integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=",
"dev": true,
"requires": {
- "jsonify": "0.0.0"
+ "jsonify": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz"
}
},
"json-stable-stringify-without-jsonify": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
+ "version": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
"integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=",
"dev": true
},
"json-stringify-safe": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
+ "version": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
"integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
"dev": true
},
"json3": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.2.tgz",
+ "version": "https://registry.npmjs.org/json3/-/json3-3.3.2.tgz",
"integrity": "sha1-PAQ0dD35Pi9cQq7nsZvLSDV19OE=",
"dev": true
},
"json5": {
- "version": "0.5.1",
- "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
+ "version": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
"integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=",
"dev": true
},
"jsonfile": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-1.0.1.tgz",
+ "version": "https://registry.npmjs.org/jsonfile/-/jsonfile-1.0.1.tgz",
"integrity": "sha1-6l7+QLg2kLmGZ2FKc5L8YOhCwN0=",
"dev": true
},
"jsonify": {
- "version": "0.0.0",
- "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz",
+ "version": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz",
"integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=",
"dev": true
},
"jsonparse": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz",
+ "version": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz",
"integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=",
"dev": true
},
"jsonpointer": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz",
+ "version": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz",
"integrity": "sha1-T9kss04OnbPInIYi7PUfm5eMbLk=",
"dev": true
},
"jsprim": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
+ "version": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
"integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
"dev": true,
"requires": {
- "assert-plus": "1.0.0",
- "extsprintf": "1.3.0",
- "json-schema": "0.2.3",
- "verror": "1.10.0"
+ "assert-plus": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "extsprintf": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
+ "json-schema": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
+ "verror": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz"
},
"dependencies": {
"assert-plus": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
"integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
"dev": true
}
}
},
"just-clone": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/just-clone/-/just-clone-1.0.2.tgz",
+ "version": "https://registry.npmjs.org/just-clone/-/just-clone-1.0.2.tgz",
"integrity": "sha1-v7P672WqEqMWBYcSlFwyb9jwFDQ="
},
"just-extend": {
- "version": "1.1.27",
- "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-1.1.27.tgz",
- "integrity": "sha512-mJVp13Ix6gFo3SBAy9U/kL+oeZqzlYYYLQBwXVBlVzIsZwBqGREnOro24oC/8s8aox+rJhtZ2DiQof++IrkA+g==",
+ "version": "https://registry.npmjs.org/just-extend/-/just-extend-1.1.27.tgz",
+ "integrity": "sha1-7G55QQ/5FORyZSq/oOYDwD1g6QU=",
"dev": true
},
"karma": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/karma/-/karma-2.0.0.tgz",
- "integrity": "sha512-K9Kjp8CldLyL9ANSUctDyxC7zH3hpqXj/K09qVf06K3T/kXaHtFZ5tQciK7OzQu68FLvI89Na510kqQ2LCbpIw==",
+ "version": "https://registry.npmjs.org/karma/-/karma-2.0.0.tgz",
+ "integrity": "sha1-oCaY3X8PBf9etmq49lWCSQtRLlg=",
"dev": true,
"requires": {
- "bluebird": "3.5.1",
- "body-parser": "1.18.2",
- "browserify": "14.5.0",
- "chokidar": "1.7.0",
- "colors": "1.1.2",
- "combine-lists": "1.0.1",
+ "bluebird": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz",
+ "body-parser": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.2.tgz",
+ "browserify": "https://registry.npmjs.org/browserify/-/browserify-14.5.0.tgz",
+ "chokidar": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz",
+ "colors": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz",
+ "combine-lists": "https://registry.npmjs.org/combine-lists/-/combine-lists-1.0.1.tgz",
"connect": "3.6.5",
- "core-js": "2.5.3",
- "di": "0.0.1",
- "dom-serialize": "2.2.1",
- "expand-braces": "0.1.2",
- "glob": "7.1.2",
- "graceful-fs": "4.1.11",
- "http-proxy": "1.16.2",
- "isbinaryfile": "3.0.2",
- "lodash": "4.17.5",
- "log4js": "2.5.3",
- "mime": "1.6.0",
- "minimatch": "3.0.4",
- "optimist": "0.6.1",
+ "core-js": "https://registry.npmjs.org/core-js/-/core-js-2.5.3.tgz",
+ "di": "https://registry.npmjs.org/di/-/di-0.0.1.tgz",
+ "dom-serialize": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz",
+ "expand-braces": "https://registry.npmjs.org/expand-braces/-/expand-braces-0.1.2.tgz",
+ "glob": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
+ "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "http-proxy": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.16.2.tgz",
+ "isbinaryfile": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.2.tgz",
+ "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz",
+ "log4js": "https://registry.npmjs.org/log4js/-/log4js-2.5.3.tgz",
+ "mime": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
+ "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+ "optimist": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz",
"qjobs": "1.1.5",
- "range-parser": "1.2.0",
- "rimraf": "2.6.2",
- "safe-buffer": "5.1.1",
- "socket.io": "2.0.4",
- "source-map": "0.6.1",
- "tmp": "0.0.33",
- "useragent": "2.3.0"
+ "range-parser": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz",
+ "rimraf": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz",
+ "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz",
+ "socket.io": "https://registry.npmjs.org/socket.io/-/socket.io-2.0.4.tgz",
+ "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "tmp": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
+ "useragent": "https://registry.npmjs.org/useragent/-/useragent-2.3.0.tgz"
},
"dependencies": {
"anymatch": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz",
- "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==",
+ "version": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz",
+ "integrity": "sha1-VT3Lj5HjyImEXf26NMd3IbkLnXo=",
"dev": true,
"requires": {
- "micromatch": "2.3.11",
- "normalize-path": "2.1.1"
+ "micromatch": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz",
+ "normalize-path": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz"
}
},
"arr-diff": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz",
+ "version": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz",
"integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=",
"dev": true,
"requires": {
- "arr-flatten": "1.1.0"
+ "arr-flatten": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz"
}
},
"array-unique": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz",
+ "version": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz",
"integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=",
"dev": true
},
"body-parser": {
- "version": "1.18.2",
- "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.2.tgz",
+ "version": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.2.tgz",
"integrity": "sha1-h2eKGdhLR9hZuDGZvVm84iKxBFQ=",
"dev": true,
"requires": {
- "bytes": "3.0.0",
- "content-type": "1.0.4",
- "debug": "2.6.9",
- "depd": "1.1.2",
- "http-errors": "1.6.2",
- "iconv-lite": "0.4.19",
- "on-finished": "2.3.0",
- "qs": "6.5.1",
- "raw-body": "2.3.2",
+ "bytes": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
+ "content-type": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
+ "debug": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "depd": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
+ "http-errors": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz",
+ "iconv-lite": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz",
+ "on-finished": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
+ "qs": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz",
+ "raw-body": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.2.tgz",
"type-is": "1.6.15"
}
},
"braces": {
- "version": "1.8.5",
- "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz",
+ "version": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz",
"integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=",
"dev": true,
"requires": {
- "expand-range": "1.8.2",
- "preserve": "0.2.0",
- "repeat-element": "1.1.2"
+ "expand-range": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz",
+ "preserve": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz",
+ "repeat-element": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz"
}
},
"bytes": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
+ "version": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
"integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=",
"dev": true
},
"chokidar": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz",
+ "version": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz",
"integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=",
"dev": true,
"requires": {
- "anymatch": "1.3.2",
- "async-each": "1.0.1",
- "fsevents": "1.1.3",
- "glob-parent": "2.0.0",
- "inherits": "2.0.3",
- "is-binary-path": "1.0.1",
- "is-glob": "2.0.1",
- "path-is-absolute": "1.0.1",
- "readdirp": "2.1.0"
+ "anymatch": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz",
+ "async-each": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz",
+ "fsevents": "https://registry.npmjs.org/fsevents/-/fsevents-1.1.3.tgz",
+ "glob-parent": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "is-binary-path": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
+ "is-glob": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
+ "path-is-absolute": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "readdirp": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz"
}
},
"connect": {
@@ -9543,43 +8762,39 @@
"integrity": "sha1-+43ee6B2OHfQ7J352sC0tA5yx9o=",
"dev": true,
"requires": {
- "debug": "2.6.9",
+ "debug": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
"finalhandler": "1.0.6",
- "parseurl": "1.3.2",
- "utils-merge": "1.0.1"
+ "parseurl": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz",
+ "utils-merge": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz"
}
},
"debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "version": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
"dev": true,
"requires": {
- "ms": "2.0.0"
+ "ms": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"
}
},
"depd": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
+ "version": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
"integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=",
"dev": true
},
"expand-brackets": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz",
+ "version": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz",
"integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=",
"dev": true,
"requires": {
- "is-posix-bracket": "0.1.1"
+ "is-posix-bracket": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz"
}
},
"extglob": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz",
+ "version": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz",
"integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=",
"dev": true,
"requires": {
- "is-extglob": "1.0.0"
+ "is-extglob": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz"
}
},
"finalhandler": {
@@ -9588,13 +8803,13 @@
"integrity": "sha1-AHrqM9Gk0+QgF/YkhIrVjSEvgU8=",
"dev": true,
"requires": {
- "debug": "2.6.9",
- "encodeurl": "1.0.2",
- "escape-html": "1.0.3",
- "on-finished": "2.3.0",
- "parseurl": "1.3.2",
+ "debug": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "encodeurl": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
+ "escape-html": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
+ "on-finished": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
+ "parseurl": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz",
"statuses": "1.3.1",
- "unpipe": "1.0.0"
+ "unpipe": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz"
},
"dependencies": {
"statuses": {
@@ -9606,350 +8821,284 @@
}
},
"glob-parent": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
+ "version": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
"integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=",
"dev": true,
"requires": {
- "is-glob": "2.0.1"
+ "is-glob": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz"
}
},
"http-errors": {
- "version": "1.6.2",
- "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz",
+ "version": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz",
"integrity": "sha1-CgAsyFcHGSp+eUbO7cERVfYOxzY=",
"dev": true,
"requires": {
- "depd": "1.1.1",
- "inherits": "2.0.3",
- "setprototypeof": "1.0.3",
- "statuses": "1.4.0"
+ "depd": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "setprototypeof": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz",
+ "statuses": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz"
},
"dependencies": {
"depd": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz",
+ "version": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz",
"integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k=",
"dev": true
}
}
},
"iconv-lite": {
- "version": "0.4.19",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz",
- "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==",
+ "version": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz",
+ "integrity": "sha1-90aPYBNfXl2tM5nAqBvpoWA6CCs=",
"dev": true
},
"is-extglob": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
"integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
"dev": true
},
"is-glob": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
+ "version": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
"integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
"dev": true,
"requires": {
- "is-extglob": "1.0.0"
+ "is-extglob": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz"
}
},
"kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "version": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
"dev": true,
"requires": {
- "is-buffer": "1.1.6"
+ "is-buffer": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz"
}
},
"micromatch": {
- "version": "2.3.11",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz",
+ "version": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz",
"integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=",
"dev": true,
"requires": {
- "arr-diff": "2.0.0",
- "array-unique": "0.2.1",
- "braces": "1.8.5",
- "expand-brackets": "0.1.5",
- "extglob": "0.3.2",
- "filename-regex": "2.0.1",
- "is-extglob": "1.0.0",
- "is-glob": "2.0.1",
- "kind-of": "3.2.2",
- "normalize-path": "2.1.1",
- "object.omit": "2.0.1",
- "parse-glob": "3.0.4",
- "regex-cache": "0.4.4"
+ "arr-diff": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz",
+ "array-unique": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz",
+ "braces": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz",
+ "expand-brackets": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz",
+ "extglob": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz",
+ "filename-regex": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz",
+ "is-extglob": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
+ "is-glob": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
+ "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "normalize-path": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
+ "object.omit": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz",
+ "parse-glob": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz",
+ "regex-cache": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz"
}
},
"mime": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
- "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
+ "version": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
+ "integrity": "sha1-Ms2eXGRVO9WNGaVor0Uqz/BJgbE=",
"dev": true
},
"qs": {
- "version": "6.5.1",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz",
- "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==",
+ "version": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz",
+ "integrity": "sha1-NJzfbu+J7EXBLX1es/wMhwNDptg=",
"dev": true
},
"range-parser": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz",
+ "version": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz",
"integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=",
"dev": true
},
"raw-body": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.2.tgz",
+ "version": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.2.tgz",
"integrity": "sha1-vNYMd9Prk83gBQKVw/N5OJvIj4k=",
"dev": true,
"requires": {
- "bytes": "3.0.0",
- "http-errors": "1.6.2",
- "iconv-lite": "0.4.19",
- "unpipe": "1.0.0"
+ "bytes": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
+ "http-errors": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz",
+ "iconv-lite": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz",
+ "unpipe": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz"
}
},
"utils-merge": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
+ "version": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
"integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=",
"dev": true
}
}
},
"karma-babel-preprocessor": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/karma-babel-preprocessor/-/karma-babel-preprocessor-6.0.1.tgz",
+ "version": "https://registry.npmjs.org/karma-babel-preprocessor/-/karma-babel-preprocessor-6.0.1.tgz",
"integrity": "sha1-euHT5klQ2+EfQht0BAqwj7WmbCE=",
"dev": true,
"requires": {
- "babel-core": "6.22.0"
+ "babel-core": "https://registry.npmjs.org/babel-core/-/babel-core-6.22.0.tgz"
}
},
"karma-browserstack-launcher": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/karma-browserstack-launcher/-/karma-browserstack-launcher-1.3.0.tgz",
- "integrity": "sha512-LrPf5sU/GISkEElWyoy06J8x0c8BcOjjOwf61Wqu6M0aWQu0Eoqm9yh3xON64/ByST/CEr0GsWiREQ/EIEMd4Q==",
+ "version": "https://registry.npmjs.org/karma-browserstack-launcher/-/karma-browserstack-launcher-1.3.0.tgz",
+ "integrity": "sha1-Yf49NrHPEGgeQPnYdL83Jx+xxnQ=",
"dev": true,
"requires": {
- "browserstack": "1.5.0",
- "browserstacktunnel-wrapper": "2.0.1",
- "q": "1.5.1"
+ "browserstack": "https://registry.npmjs.org/browserstack/-/browserstack-1.5.0.tgz",
+ "browserstacktunnel-wrapper": "https://registry.npmjs.org/browserstacktunnel-wrapper/-/browserstacktunnel-wrapper-2.0.1.tgz",
+ "q": "https://registry.npmjs.org/q/-/q-1.5.1.tgz"
},
"dependencies": {
"q": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz",
+ "version": "https://registry.npmjs.org/q/-/q-1.5.1.tgz",
"integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=",
"dev": true
}
}
},
"karma-chai": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/karma-chai/-/karma-chai-0.1.0.tgz",
+ "version": "https://registry.npmjs.org/karma-chai/-/karma-chai-0.1.0.tgz",
"integrity": "sha1-vuWtQEAFF4Ea40u5RfdikJEIt5o=",
"dev": true
},
"karma-chrome-launcher": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-2.2.0.tgz",
- "integrity": "sha512-uf/ZVpAabDBPvdPdveyk1EPgbnloPvFFGgmRhYLTDH7gEB4nZdSBk8yTU47w1g/drLSx5uMOkjKk7IWKfWg/+w==",
+ "version": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-2.2.0.tgz",
+ "integrity": "sha1-zxudBxNswY/iOTJ9JGVMPbw2is8=",
"dev": true,
"requires": {
- "fs-access": "1.0.1",
- "which": "1.3.0"
+ "fs-access": "https://registry.npmjs.org/fs-access/-/fs-access-1.0.1.tgz",
+ "which": "https://registry.npmjs.org/which/-/which-1.3.0.tgz"
}
},
"karma-coverage-istanbul-reporter": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/karma-coverage-istanbul-reporter/-/karma-coverage-istanbul-reporter-1.4.1.tgz",
- "integrity": "sha512-5og0toMjgLvsL9+TzGH4Rk1D0nr7pMIRJBg29xP4mHMKy/1KUJ12UzoqI6mBNCRFa4nDvZS2MRrN7p+RkZNWxQ==",
+ "version": "https://registry.npmjs.org/karma-coverage-istanbul-reporter/-/karma-coverage-istanbul-reporter-1.4.1.tgz",
+ "integrity": "sha1-K0LRRd27SGjYXVKIjElaIcYdhzw=",
"dev": true,
"requires": {
- "istanbul-api": "1.2.2",
- "minimatch": "3.0.4"
+ "istanbul-api": "https://registry.npmjs.org/istanbul-api/-/istanbul-api-1.2.2.tgz",
+ "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz"
}
},
"karma-es5-shim": {
- "version": "0.0.4",
- "resolved": "https://registry.npmjs.org/karma-es5-shim/-/karma-es5-shim-0.0.4.tgz",
+ "version": "https://registry.npmjs.org/karma-es5-shim/-/karma-es5-shim-0.0.4.tgz",
"integrity": "sha1-zdADM8znfC5M4D46yT8vjs0fuVI=",
"dev": true,
"requires": {
- "es5-shim": "4.5.10"
- }
- },
- "karma-expect": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/karma-expect/-/karma-expect-1.1.3.tgz",
- "integrity": "sha1-xrClb/GJA9sRr08JjMbnzxmM4nU=",
- "dev": true,
- "requires": {
- "expect.js": "0.3.1"
+ "es5-shim": "https://registry.npmjs.org/es5-shim/-/es5-shim-4.5.10.tgz"
}
},
"karma-firefox-launcher": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/karma-firefox-launcher/-/karma-firefox-launcher-1.1.0.tgz",
- "integrity": "sha512-LbZ5/XlIXLeQ3cqnCbYLn+rOVhuMIK9aZwlP6eOLGzWdo1UVp7t6CN3DP4SafiRLjexKwHeKHDm0c38Mtd3VxA==",
+ "version": "https://registry.npmjs.org/karma-firefox-launcher/-/karma-firefox-launcher-1.1.0.tgz",
+ "integrity": "sha1-LEcDBFLwRTHrfRPU/HZpYwu5Mzk=",
"dev": true
},
"karma-ie-launcher": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/karma-ie-launcher/-/karma-ie-launcher-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/karma-ie-launcher/-/karma-ie-launcher-1.0.0.tgz",
"integrity": "sha1-SXmGhCxJAZA0bNifVJTKmDDG1Zw=",
"dev": true,
"requires": {
- "lodash": "4.17.5"
+ "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz"
}
},
"karma-mocha": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/karma-mocha/-/karma-mocha-1.3.0.tgz",
+ "version": "https://registry.npmjs.org/karma-mocha/-/karma-mocha-1.3.0.tgz",
"integrity": "sha1-7qrH/8DiAetjxGdEDStpx883eL8=",
"dev": true,
"requires": {
- "minimist": "1.2.0"
+ "minimist": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz"
},
"dependencies": {
"minimist": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "version": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
"integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
"dev": true
}
}
},
"karma-mocha-reporter": {
- "version": "2.2.5",
- "resolved": "https://registry.npmjs.org/karma-mocha-reporter/-/karma-mocha-reporter-2.2.5.tgz",
+ "version": "https://registry.npmjs.org/karma-mocha-reporter/-/karma-mocha-reporter-2.2.5.tgz",
"integrity": "sha1-FRIAlejtgZGG5HoLAS8810GJVWA=",
"dev": true,
"requires": {
- "chalk": "2.3.1",
- "log-symbols": "2.2.0",
- "strip-ansi": "4.0.0"
+ "chalk": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz",
+ "log-symbols": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz",
+ "strip-ansi": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz"
},
"dependencies": {
"ansi-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
+ "version": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
"integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
"dev": true
},
"ansi-styles": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
- "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==",
+ "version": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
+ "integrity": "sha1-wVm41b4PnlpvNG2rlPFs4CIWG4g=",
"dev": true,
"requires": {
- "color-convert": "1.9.1"
+ "color-convert": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz"
}
},
"chalk": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz",
- "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==",
+ "version": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz",
+ "integrity": "sha1-Uj/iZ4rsewToBBkJKS/osXBZt5Y=",
"dev": true,
"requires": {
- "ansi-styles": "3.2.0",
- "escape-string-regexp": "1.0.5",
- "supports-color": "5.2.0"
+ "ansi-styles": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
+ "escape-string-regexp": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "supports-color": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz"
}
},
"strip-ansi": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
+ "version": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
"integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
"dev": true,
"requires": {
- "ansi-regex": "3.0.0"
+ "ansi-regex": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz"
}
},
"supports-color": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz",
- "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==",
+ "version": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz",
+ "integrity": "sha1-sNUzOxGE3TZmy+WqC0XFrHrBeko=",
"dev": true,
"requires": {
- "has-flag": "3.0.0"
+ "has-flag": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz"
}
}
}
},
"karma-opera-launcher": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/karma-opera-launcher/-/karma-opera-launcher-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/karma-opera-launcher/-/karma-opera-launcher-1.0.0.tgz",
"integrity": "sha1-+lFihTGh0L6EstjcDX7iCfyP+Ro=",
"dev": true
},
"karma-requirejs": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/karma-requirejs/-/karma-requirejs-1.1.0.tgz",
+ "version": "https://registry.npmjs.org/karma-requirejs/-/karma-requirejs-1.1.0.tgz",
"integrity": "sha1-/driy4fX68FvsCIok1ZNf+5Xh5g=",
"dev": true
},
"karma-safari-launcher": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/karma-safari-launcher/-/karma-safari-launcher-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/karma-safari-launcher/-/karma-safari-launcher-1.0.0.tgz",
"integrity": "sha1-lpgqLMR9BmquccVTursoMZEVos4=",
"dev": true
},
- "karma-sauce-launcher": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/karma-sauce-launcher/-/karma-sauce-launcher-1.2.0.tgz",
- "integrity": "sha512-lEhtGRGS+3Yw6JSx/vJY9iQyHNtTjcojrSwNzqNUOaDceKDu9dPZqA/kr69bUO9G2T6GKbu8AZgXqy94qo31Jg==",
- "dev": true,
- "requires": {
- "q": "1.5.1",
- "sauce-connect-launcher": "1.2.3",
- "saucelabs": "1.4.0",
- "wd": "1.5.0"
- },
- "dependencies": {
- "q": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz",
- "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=",
- "dev": true
- }
- }
- },
"karma-script-launcher": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/karma-script-launcher/-/karma-script-launcher-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/karma-script-launcher/-/karma-script-launcher-1.0.0.tgz",
"integrity": "sha1-zQF8TeXvCeWp2nkydhdhCN1LVC0=",
"dev": true
},
"karma-sinon": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/karma-sinon/-/karma-sinon-1.0.5.tgz",
+ "version": "https://registry.npmjs.org/karma-sinon/-/karma-sinon-1.0.5.tgz",
"integrity": "sha1-TjRD8oMP3s/2JNN0cWPxIX2qKpo=",
"dev": true
},
"karma-sourcemap-loader": {
- "version": "0.3.7",
- "resolved": "https://registry.npmjs.org/karma-sourcemap-loader/-/karma-sourcemap-loader-0.3.7.tgz",
+ "version": "https://registry.npmjs.org/karma-sourcemap-loader/-/karma-sourcemap-loader-0.3.7.tgz",
"integrity": "sha1-kTIsd/jxPUb+0GKwQuEAnUxFBdg=",
"dev": true,
"requires": {
- "graceful-fs": "4.1.11"
+ "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz"
}
},
"karma-spec-reporter": {
- "version": "0.0.31",
- "resolved": "https://registry.npmjs.org/karma-spec-reporter/-/karma-spec-reporter-0.0.31.tgz",
+ "version": "https://registry.npmjs.org/karma-spec-reporter/-/karma-spec-reporter-0.0.31.tgz",
"integrity": "sha1-SDDccUihVcfXoYbmMjOaDYD63sM=",
"dev": true,
"requires": {
- "colors": "1.1.2"
+ "colors": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz"
}
},
"karma-webpack": {
@@ -9962,7 +9111,7 @@
"loader-utils": "0.2.17",
"lodash": "3.10.1",
"source-map": "0.5.7",
- "webpack-dev-middleware": "1.12.2"
+ "webpack-dev-middleware": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-1.12.2.tgz"
},
"dependencies": {
"async": {
@@ -9977,10 +9126,10 @@
"integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=",
"dev": true,
"requires": {
- "big.js": "3.2.0",
- "emojis-list": "2.1.0",
- "json5": "0.5.1",
- "object-assign": "4.1.1"
+ "big.js": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz",
+ "emojis-list": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz",
+ "json5": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
+ "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz"
}
},
"lodash": {
@@ -9998,518 +9147,457 @@
}
},
"kebab-case": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/kebab-case/-/kebab-case-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/kebab-case/-/kebab-case-1.0.0.tgz",
"integrity": "sha1-P55JkK3K0MaGwOcB92RYaPdfkes=",
"dev": true
},
"kind-of": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
- "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
+ "version": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
+ "integrity": "sha1-ARRrNqYhjmTljzqNZt5df8b20FE=",
"dev": true
},
"labeled-stream-splicer": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/labeled-stream-splicer/-/labeled-stream-splicer-2.0.0.tgz",
+ "version": "https://registry.npmjs.org/labeled-stream-splicer/-/labeled-stream-splicer-2.0.0.tgz",
"integrity": "sha1-pS4dE4AkwAuGscDJH2d5GLiuClk=",
"dev": true,
"requires": {
- "inherits": "2.0.3",
- "isarray": "0.0.1",
- "stream-splicer": "2.0.0"
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "stream-splicer": "https://registry.npmjs.org/stream-splicer/-/stream-splicer-2.0.0.tgz"
},
"dependencies": {
"isarray": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "version": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
"integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
"dev": true
}
}
},
"lazy-cache": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz",
+ "version": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz",
"integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=",
"dev": true,
"requires": {
- "set-getter": "0.1.0"
+ "set-getter": "https://registry.npmjs.org/set-getter/-/set-getter-0.1.0.tgz"
}
},
"lazystream": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz",
"integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=",
"dev": true,
"requires": {
- "readable-stream": "2.3.4"
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.4.tgz"
}
},
"lcid": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz",
"integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=",
"dev": true,
"requires": {
- "invert-kv": "1.0.0"
+ "invert-kv": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz"
}
},
"lcov-parse": {
- "version": "0.0.10",
- "resolved": "https://registry.npmjs.org/lcov-parse/-/lcov-parse-0.0.10.tgz",
+ "version": "https://registry.npmjs.org/lcov-parse/-/lcov-parse-0.0.10.tgz",
"integrity": "sha1-GwuP+ayceIklBYK3C3ExXZ2m2aM=",
"dev": true
},
"lead": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/lead/-/lead-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/lead/-/lead-1.0.0.tgz",
"integrity": "sha1-bxT5mje+Op3XhPVJVpDlkDRm7kI=",
"dev": true,
"requires": {
- "flush-write-stream": "1.0.2"
+ "flush-write-stream": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.0.2.tgz"
}
},
"levn": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
+ "version": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
"integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
"dev": true,
"requires": {
- "prelude-ls": "1.1.2",
- "type-check": "0.3.2"
+ "prelude-ls": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
+ "type-check": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz"
}
},
"lexical-scope": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/lexical-scope/-/lexical-scope-1.2.0.tgz",
+ "version": "https://registry.npmjs.org/lexical-scope/-/lexical-scope-1.2.0.tgz",
"integrity": "sha1-/Ope3HBKSzqHls3KQZw6CvryLfQ=",
"dev": true,
"requires": {
- "astw": "2.2.0"
+ "astw": "https://registry.npmjs.org/astw/-/astw-2.2.0.tgz"
}
},
"libbase64": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/libbase64/-/libbase64-0.1.0.tgz",
+ "version": "https://registry.npmjs.org/libbase64/-/libbase64-0.1.0.tgz",
"integrity": "sha1-YjUag5VjrF/1vSbxL2Dpgwu3UeY=",
"dev": true
},
"libmime": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/libmime/-/libmime-3.0.0.tgz",
+ "version": "https://registry.npmjs.org/libmime/-/libmime-3.0.0.tgz",
"integrity": "sha1-UaGp50SOy9Ms2lRCFnW7IbwJPaY=",
"dev": true,
"requires": {
- "iconv-lite": "0.4.15",
- "libbase64": "0.1.0",
- "libqp": "1.1.0"
+ "iconv-lite": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.15.tgz",
+ "libbase64": "https://registry.npmjs.org/libbase64/-/libbase64-0.1.0.tgz",
+ "libqp": "https://registry.npmjs.org/libqp/-/libqp-1.1.0.tgz"
},
"dependencies": {
"iconv-lite": {
- "version": "0.4.15",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.15.tgz",
+ "version": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.15.tgz",
"integrity": "sha1-/iZaIYrGpXz+hUkn6dBMGYJe3es=",
"dev": true
}
}
},
"libqp": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/libqp/-/libqp-1.1.0.tgz",
+ "version": "https://registry.npmjs.org/libqp/-/libqp-1.1.0.tgz",
"integrity": "sha1-9ebgatdLeU+1tbZpiL9yjvHe2+g=",
"dev": true
},
"liftoff": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-2.5.0.tgz",
+ "version": "https://registry.npmjs.org/liftoff/-/liftoff-2.5.0.tgz",
"integrity": "sha1-IAkpG7Mc6oYbvxCnwVooyvdcMew=",
"dev": true,
"requires": {
- "extend": "3.0.1",
- "findup-sync": "2.0.0",
- "fined": "1.1.0",
- "flagged-respawn": "1.0.0",
- "is-plain-object": "2.0.4",
- "object.map": "1.0.1",
- "rechoir": "0.6.2",
- "resolve": "1.5.0"
+ "extend": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz",
+ "findup-sync": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz",
+ "fined": "https://registry.npmjs.org/fined/-/fined-1.1.0.tgz",
+ "flagged-respawn": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.0.tgz",
+ "is-plain-object": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
+ "object.map": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz",
+ "rechoir": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz",
+ "resolve": "https://registry.npmjs.org/resolve/-/resolve-1.5.0.tgz"
}
},
"livereload-js": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/livereload-js/-/livereload-js-2.3.0.tgz",
- "integrity": "sha512-j1R0/FeGa64Y+NmqfZhyoVRzcFlOZ8sNlKzHjh4VvLULFACZhn68XrX5DFg2FhMvSMJmROuFxRSa560ECWKBMg==",
+ "version": "https://registry.npmjs.org/livereload-js/-/livereload-js-2.3.0.tgz",
+ "integrity": "sha1-w6si6Kr1vzUF2A0JjLrWdyZUjJo=",
"dev": true
},
"load-json-file": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz",
+ "version": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz",
"integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=",
"dev": true,
"requires": {
- "graceful-fs": "4.1.11",
- "parse-json": "4.0.0",
- "pify": "3.0.0",
- "strip-bom": "3.0.0"
+ "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "parse-json": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
+ "pify": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
+ "strip-bom": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz"
}
},
"loader-runner": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.3.0.tgz",
+ "version": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.3.0.tgz",
"integrity": "sha1-9IKuqC1UPgeSFwDVpG7yb9rGuKI=",
"dev": true
},
"loader-utils": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz",
+ "version": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz",
"integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=",
"dev": true,
"requires": {
- "big.js": "3.2.0",
- "emojis-list": "2.1.0",
- "json5": "0.5.1"
+ "big.js": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz",
+ "emojis-list": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz",
+ "json5": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz"
}
},
"localtunnel": {
- "version": "1.8.3",
- "resolved": "https://registry.npmjs.org/localtunnel/-/localtunnel-1.8.3.tgz",
+ "version": "https://registry.npmjs.org/localtunnel/-/localtunnel-1.8.3.tgz",
"integrity": "sha1-3MWSL9hWUQN9S94k/ZMkjQsk6wU=",
"dev": true,
"requires": {
- "debug": "2.6.8",
- "openurl": "1.1.1",
- "request": "2.81.0",
- "yargs": "3.29.0"
+ "debug": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz",
+ "openurl": "https://registry.npmjs.org/openurl/-/openurl-1.1.1.tgz",
+ "request": "https://registry.npmjs.org/request/-/request-2.81.0.tgz",
+ "yargs": "https://registry.npmjs.org/yargs/-/yargs-3.29.0.tgz"
},
"dependencies": {
"ajv": {
- "version": "4.11.8",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz",
+ "version": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz",
"integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=",
"dev": true,
"requires": {
- "co": "4.6.0",
- "json-stable-stringify": "1.0.1"
+ "co": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
+ "json-stable-stringify": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz"
}
},
"camelcase": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz",
+ "version": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz",
"integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=",
"dev": true
},
"caseless": {
- "version": "0.12.0",
- "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
+ "version": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
"integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
"dev": true
},
"debug": {
- "version": "2.6.8",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz",
+ "version": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz",
"integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=",
"dev": true,
"requires": {
- "ms": "2.0.0"
+ "ms": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"
}
},
"har-validator": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz",
+ "version": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz",
"integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=",
"dev": true,
"requires": {
- "ajv": "4.11.8",
- "har-schema": "1.0.5"
+ "ajv": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz",
+ "har-schema": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz"
}
},
"os-locale": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz",
+ "version": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz",
"integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=",
"dev": true,
"requires": {
- "lcid": "1.0.0"
+ "lcid": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz"
}
},
"qs": {
- "version": "6.4.0",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz",
+ "version": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz",
"integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=",
"dev": true
},
"request": {
- "version": "2.81.0",
- "resolved": "https://registry.npmjs.org/request/-/request-2.81.0.tgz",
+ "version": "https://registry.npmjs.org/request/-/request-2.81.0.tgz",
"integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=",
"dev": true,
"requires": {
- "aws-sign2": "0.6.0",
- "aws4": "1.6.0",
- "caseless": "0.12.0",
- "combined-stream": "1.0.6",
- "extend": "3.0.1",
- "forever-agent": "0.6.1",
- "form-data": "2.1.4",
- "har-validator": "4.2.1",
- "hawk": "3.1.3",
- "http-signature": "1.1.1",
- "is-typedarray": "1.0.0",
- "isstream": "0.1.2",
- "json-stringify-safe": "5.0.1",
+ "aws-sign2": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz",
+ "aws4": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz",
+ "caseless": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
+ "combined-stream": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz",
+ "extend": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz",
+ "forever-agent": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
+ "form-data": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz",
+ "har-validator": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz",
+ "hawk": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz",
+ "http-signature": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz",
+ "is-typedarray": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
+ "isstream": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
+ "json-stringify-safe": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
"mime-types": "2.1.17",
- "oauth-sign": "0.8.2",
- "performance-now": "0.2.0",
- "qs": "6.4.0",
- "safe-buffer": "5.1.1",
- "stringstream": "0.0.5",
+ "oauth-sign": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz",
+ "performance-now": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz",
+ "qs": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz",
+ "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz",
+ "stringstream": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz",
"tough-cookie": "2.3.3",
- "tunnel-agent": "0.6.0",
- "uuid": "3.2.1"
+ "tunnel-agent": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
+ "uuid": "https://registry.npmjs.org/uuid/-/uuid-3.2.1.tgz"
}
},
"tunnel-agent": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
+ "version": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
"integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
"dev": true,
"requires": {
- "safe-buffer": "5.1.1"
+ "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz"
}
},
"window-size": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.4.tgz",
+ "version": "https://registry.npmjs.org/window-size/-/window-size-0.1.4.tgz",
"integrity": "sha1-+OGqHuWlPsW/FR/6CXQqatdpeHY=",
"dev": true
},
"yargs": {
- "version": "3.29.0",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.29.0.tgz",
+ "version": "https://registry.npmjs.org/yargs/-/yargs-3.29.0.tgz",
"integrity": "sha1-GquWYOrnnYuPZ1vK7qtu40ws9pw=",
"dev": true,
"requires": {
- "camelcase": "1.2.1",
- "cliui": "3.2.0",
- "decamelize": "1.2.0",
- "os-locale": "1.4.0",
- "window-size": "0.1.4",
- "y18n": "3.2.1"
+ "camelcase": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz",
+ "cliui": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
+ "decamelize": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
+ "os-locale": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz",
+ "window-size": "https://registry.npmjs.org/window-size/-/window-size-0.1.4.tgz",
+ "y18n": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz"
}
}
}
},
"locate-path": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
+ "version": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
"integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
"dev": true,
"requires": {
- "p-locate": "2.0.0",
- "path-exists": "3.0.0"
+ "p-locate": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
+ "path-exists": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz"
}
},
"lodash": {
- "version": "4.17.5",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz",
- "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==",
+ "version": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz",
+ "integrity": "sha1-maktZcAnLevoyWtgV7yPv6O+1RE=",
"dev": true
},
"lodash._arraycopy": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/lodash._arraycopy/-/lodash._arraycopy-3.0.0.tgz",
+ "version": "https://registry.npmjs.org/lodash._arraycopy/-/lodash._arraycopy-3.0.0.tgz",
"integrity": "sha1-due3wfH7klRzdIeKVi7Qaj5Q9uE=",
"dev": true
},
"lodash._arrayeach": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/lodash._arrayeach/-/lodash._arrayeach-3.0.0.tgz",
+ "version": "https://registry.npmjs.org/lodash._arrayeach/-/lodash._arrayeach-3.0.0.tgz",
"integrity": "sha1-urFWsqkNPxu9XGU0AzSeXlkz754=",
"dev": true
},
"lodash._baseassign": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz",
+ "version": "https://registry.npmjs.org/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz",
"integrity": "sha1-jDigmVAPIVrQnlnxci/QxSv+Ck4=",
"dev": true,
"requires": {
- "lodash._basecopy": "3.0.1",
- "lodash.keys": "3.1.2"
+ "lodash._basecopy": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz",
+ "lodash.keys": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz"
}
},
"lodash._baseclone": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/lodash._baseclone/-/lodash._baseclone-3.3.0.tgz",
+ "version": "https://registry.npmjs.org/lodash._baseclone/-/lodash._baseclone-3.3.0.tgz",
"integrity": "sha1-MDUZv2OT/n5C802LYw73eU41Qrc=",
"dev": true,
"requires": {
- "lodash._arraycopy": "3.0.0",
- "lodash._arrayeach": "3.0.0",
- "lodash._baseassign": "3.2.0",
- "lodash._basefor": "3.0.3",
- "lodash.isarray": "3.0.4",
- "lodash.keys": "3.1.2"
+ "lodash._arraycopy": "https://registry.npmjs.org/lodash._arraycopy/-/lodash._arraycopy-3.0.0.tgz",
+ "lodash._arrayeach": "https://registry.npmjs.org/lodash._arrayeach/-/lodash._arrayeach-3.0.0.tgz",
+ "lodash._baseassign": "https://registry.npmjs.org/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz",
+ "lodash._basefor": "https://registry.npmjs.org/lodash._basefor/-/lodash._basefor-3.0.3.tgz",
+ "lodash.isarray": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz",
+ "lodash.keys": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz"
}
},
"lodash._basecopy": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz",
+ "version": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz",
"integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=",
"dev": true
},
"lodash._basecreate": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/lodash._basecreate/-/lodash._basecreate-3.0.3.tgz",
+ "version": "https://registry.npmjs.org/lodash._basecreate/-/lodash._basecreate-3.0.3.tgz",
"integrity": "sha1-G8ZhYU2qf8MRt9A78WgGoCE8+CE=",
"dev": true
},
"lodash._basefor": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/lodash._basefor/-/lodash._basefor-3.0.3.tgz",
+ "version": "https://registry.npmjs.org/lodash._basefor/-/lodash._basefor-3.0.3.tgz",
"integrity": "sha1-dVC06SGO8J+tJDQ7YSAhx5tMIMI=",
"dev": true
},
"lodash._basetostring": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz",
+ "version": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz",
"integrity": "sha1-0YYdh3+CSlL2aYMtyvPuFVZqB9U=",
"dev": true
},
"lodash._basevalues": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz",
+ "version": "https://registry.npmjs.org/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz",
"integrity": "sha1-W3dXYoAr3j0yl1A+JjAIIP32Ybc=",
"dev": true
},
"lodash._bindcallback": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz",
+ "version": "https://registry.npmjs.org/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz",
"integrity": "sha1-5THCdkTPi1epnhftlbNcdIeJOS4=",
"dev": true
},
"lodash._escapehtmlchar": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/lodash._escapehtmlchar/-/lodash._escapehtmlchar-2.4.1.tgz",
+ "version": "https://registry.npmjs.org/lodash._escapehtmlchar/-/lodash._escapehtmlchar-2.4.1.tgz",
"integrity": "sha1-32fDu2t+jh6DGrSL+geVuSr+iZ0=",
"dev": true,
"requires": {
- "lodash._htmlescapes": "2.4.1"
+ "lodash._htmlescapes": "https://registry.npmjs.org/lodash._htmlescapes/-/lodash._htmlescapes-2.4.1.tgz"
}
},
"lodash._escapestringchar": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/lodash._escapestringchar/-/lodash._escapestringchar-2.4.1.tgz",
+ "version": "https://registry.npmjs.org/lodash._escapestringchar/-/lodash._escapestringchar-2.4.1.tgz",
"integrity": "sha1-7P4iYYoq3lC/7qQ5N+Ud9m8O23I=",
"dev": true
},
"lodash._getnative": {
- "version": "3.9.1",
- "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz",
+ "version": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz",
"integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=",
"dev": true
},
"lodash._htmlescapes": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/lodash._htmlescapes/-/lodash._htmlescapes-2.4.1.tgz",
+ "version": "https://registry.npmjs.org/lodash._htmlescapes/-/lodash._htmlescapes-2.4.1.tgz",
"integrity": "sha1-MtFL8IRLbeb4tioFG09nwii2JMs=",
"dev": true
},
"lodash._isiterateecall": {
- "version": "3.0.9",
- "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz",
+ "version": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz",
"integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=",
"dev": true
},
"lodash._isnative": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz",
+ "version": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz",
"integrity": "sha1-PqZAS3hKe+g2x7V1gOHN95sUgyw=",
"dev": true
},
"lodash._objecttypes": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz",
+ "version": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz",
"integrity": "sha1-fAt/admKH3ZSn4kLDNsbTf7BHBE=",
"dev": true
},
"lodash._reescape": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/lodash._reescape/-/lodash._reescape-3.0.0.tgz",
+ "version": "https://registry.npmjs.org/lodash._reescape/-/lodash._reescape-3.0.0.tgz",
"integrity": "sha1-Kx1vXf4HyKNVdT5fJ/rH8c3hYWo=",
"dev": true
},
"lodash._reevaluate": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz",
+ "version": "https://registry.npmjs.org/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz",
"integrity": "sha1-WLx0xAZklTrgsSTYBpltrKQx4u0=",
"dev": true
},
"lodash._reinterpolate": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz",
+ "version": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz",
"integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=",
"dev": true
},
"lodash._reunescapedhtml": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/lodash._reunescapedhtml/-/lodash._reunescapedhtml-2.4.1.tgz",
+ "version": "https://registry.npmjs.org/lodash._reunescapedhtml/-/lodash._reunescapedhtml-2.4.1.tgz",
"integrity": "sha1-dHxPxAED6zu4oJduVx96JlnpO6c=",
"dev": true,
"requires": {
- "lodash._htmlescapes": "2.4.1",
- "lodash.keys": "2.4.1"
+ "lodash._htmlescapes": "https://registry.npmjs.org/lodash._htmlescapes/-/lodash._htmlescapes-2.4.1.tgz",
+ "lodash.keys": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz"
},
"dependencies": {
"lodash.keys": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz",
+ "version": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz",
"integrity": "sha1-SN6kbfj/djKxDXBrissmWR4rNyc=",
"dev": true,
"requires": {
- "lodash._isnative": "2.4.1",
- "lodash._shimkeys": "2.4.1",
- "lodash.isobject": "2.4.1"
+ "lodash._isnative": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz",
+ "lodash._shimkeys": "https://registry.npmjs.org/lodash._shimkeys/-/lodash._shimkeys-2.4.1.tgz",
+ "lodash.isobject": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz"
}
}
}
},
"lodash._root": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz",
+ "version": "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz",
"integrity": "sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI=",
"dev": true
},
"lodash._shimkeys": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/lodash._shimkeys/-/lodash._shimkeys-2.4.1.tgz",
+ "version": "https://registry.npmjs.org/lodash._shimkeys/-/lodash._shimkeys-2.4.1.tgz",
"integrity": "sha1-bpzJZm/wgfC1psl4uD4kLmlJ0gM=",
"dev": true,
"requires": {
- "lodash._objecttypes": "2.4.1"
+ "lodash._objecttypes": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz"
}
},
"lodash._stack": {
- "version": "4.1.3",
- "resolved": "https://registry.npmjs.org/lodash._stack/-/lodash._stack-4.1.3.tgz",
+ "version": "https://registry.npmjs.org/lodash._stack/-/lodash._stack-4.1.3.tgz",
"integrity": "sha1-dRqnbBuWSwR+dtFPxyoJP8teLdA=",
"dev": true
},
"lodash.assign": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz",
+ "version": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz",
"integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=",
"dev": true
},
"lodash.clone": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/lodash.clone/-/lodash.clone-3.0.3.tgz",
+ "version": "https://registry.npmjs.org/lodash.clone/-/lodash.clone-3.0.3.tgz",
"integrity": "sha1-hGiMc9MrWpDKJWFpY/GJJSqZcEM=",
"dev": true,
"requires": {
- "lodash._baseclone": "3.3.0",
- "lodash._bindcallback": "3.0.1",
- "lodash._isiterateecall": "3.0.9"
+ "lodash._baseclone": "https://registry.npmjs.org/lodash._baseclone/-/lodash._baseclone-3.3.0.tgz",
+ "lodash._bindcallback": "https://registry.npmjs.org/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz",
+ "lodash._isiterateecall": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz"
}
},
"lodash.cond": {
@@ -10519,377 +9607,339 @@
"dev": true
},
"lodash.create": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/lodash.create/-/lodash.create-3.1.1.tgz",
+ "version": "https://registry.npmjs.org/lodash.create/-/lodash.create-3.1.1.tgz",
"integrity": "sha1-1/KEnw29p+BGgruM1yqwIkYd6+c=",
"dev": true,
"requires": {
- "lodash._baseassign": "3.2.0",
- "lodash._basecreate": "3.0.3",
- "lodash._isiterateecall": "3.0.9"
+ "lodash._baseassign": "https://registry.npmjs.org/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz",
+ "lodash._basecreate": "https://registry.npmjs.org/lodash._basecreate/-/lodash._basecreate-3.0.3.tgz",
+ "lodash._isiterateecall": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz"
}
},
"lodash.defaults": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-2.4.1.tgz",
+ "version": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-2.4.1.tgz",
"integrity": "sha1-p+iIXwXmiFEUS24SqPNngCa8TFQ=",
"dev": true,
"requires": {
- "lodash._objecttypes": "2.4.1",
- "lodash.keys": "2.4.1"
+ "lodash._objecttypes": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz",
+ "lodash.keys": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz"
},
"dependencies": {
"lodash.keys": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz",
+ "version": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz",
"integrity": "sha1-SN6kbfj/djKxDXBrissmWR4rNyc=",
"dev": true,
"requires": {
- "lodash._isnative": "2.4.1",
- "lodash._shimkeys": "2.4.1",
- "lodash.isobject": "2.4.1"
+ "lodash._isnative": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz",
+ "lodash._shimkeys": "https://registry.npmjs.org/lodash._shimkeys/-/lodash._shimkeys-2.4.1.tgz",
+ "lodash.isobject": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz"
}
}
}
},
"lodash.defaultsdeep": {
- "version": "4.3.2",
- "resolved": "https://registry.npmjs.org/lodash.defaultsdeep/-/lodash.defaultsdeep-4.3.2.tgz",
+ "version": "https://registry.npmjs.org/lodash.defaultsdeep/-/lodash.defaultsdeep-4.3.2.tgz",
"integrity": "sha1-bBpYbmxWR7DmTi15gUG4g2FYvoo=",
"dev": true,
"requires": {
- "lodash._baseclone": "4.5.7",
- "lodash._stack": "4.1.3",
- "lodash.isplainobject": "4.0.6",
- "lodash.keysin": "4.2.0",
- "lodash.mergewith": "4.6.1",
- "lodash.rest": "4.0.5"
+ "lodash._baseclone": "https://registry.npmjs.org/lodash._baseclone/-/lodash._baseclone-4.5.7.tgz",
+ "lodash._stack": "https://registry.npmjs.org/lodash._stack/-/lodash._stack-4.1.3.tgz",
+ "lodash.isplainobject": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz",
+ "lodash.keysin": "https://registry.npmjs.org/lodash.keysin/-/lodash.keysin-4.2.0.tgz",
+ "lodash.mergewith": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.1.tgz",
+ "lodash.rest": "https://registry.npmjs.org/lodash.rest/-/lodash.rest-4.0.5.tgz"
},
"dependencies": {
"lodash._baseclone": {
- "version": "4.5.7",
- "resolved": "https://registry.npmjs.org/lodash._baseclone/-/lodash._baseclone-4.5.7.tgz",
+ "version": "https://registry.npmjs.org/lodash._baseclone/-/lodash._baseclone-4.5.7.tgz",
"integrity": "sha1-zkKt4IOE711i+nfDD2GkbmhvhDQ=",
"dev": true
}
}
},
"lodash.escape": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz",
+ "version": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz",
"integrity": "sha1-mV7g3BjBtIzJLv+ucaEKq1tIdpg=",
"dev": true,
"requires": {
- "lodash._root": "3.0.1"
+ "lodash._root": "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz"
}
},
"lodash.get": {
- "version": "4.4.2",
- "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz",
+ "version": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz",
"integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=",
"dev": true
},
"lodash.isarguments": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz",
+ "version": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz",
"integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=",
"dev": true
},
"lodash.isarray": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz",
+ "version": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz",
"integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=",
"dev": true
},
"lodash.isobject": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz",
+ "version": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz",
"integrity": "sha1-Wi5H/mmVPx7mMafrof5k0tBlWPU=",
"dev": true,
"requires": {
- "lodash._objecttypes": "2.4.1"
+ "lodash._objecttypes": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz"
}
},
"lodash.isplainobject": {
- "version": "4.0.6",
- "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz",
+ "version": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz",
"integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=",
"dev": true
},
"lodash.keys": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz",
+ "version": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz",
"integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=",
"dev": true,
"requires": {
- "lodash._getnative": "3.9.1",
- "lodash.isarguments": "3.1.0",
- "lodash.isarray": "3.0.4"
+ "lodash._getnative": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz",
+ "lodash.isarguments": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz",
+ "lodash.isarray": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz"
}
},
"lodash.keysin": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/lodash.keysin/-/lodash.keysin-4.2.0.tgz",
+ "version": "https://registry.npmjs.org/lodash.keysin/-/lodash.keysin-4.2.0.tgz",
"integrity": "sha1-jMP7NcLZSsxEOhhj4C+kB5nqbyg=",
"dev": true
},
"lodash.memoize": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-3.0.4.tgz",
+ "version": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-3.0.4.tgz",
"integrity": "sha1-LcvSwofLwKVcxCMovQxzYVDVPj8=",
"dev": true
},
"lodash.mergewith": {
- "version": "4.6.1",
- "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.1.tgz",
- "integrity": "sha512-eWw5r+PYICtEBgrBE5hhlT6aAa75f411bgDz/ZL2KZqYV03USvucsxcHUIlGTDTECs1eunpI7HOV7U+WLDvNdQ==",
+ "version": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.1.tgz",
+ "integrity": "sha1-Y5BX5ybDr72z59QnQcqo1uQzWSc=",
"dev": true
},
"lodash.rest": {
- "version": "4.0.5",
- "resolved": "https://registry.npmjs.org/lodash.rest/-/lodash.rest-4.0.5.tgz",
+ "version": "https://registry.npmjs.org/lodash.rest/-/lodash.rest-4.0.5.tgz",
"integrity": "sha1-lU73UEkmIDjJbR/Jiyj9r58Hcqo=",
"dev": true
},
"lodash.restparam": {
- "version": "3.6.1",
- "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz",
+ "version": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz",
"integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=",
"dev": true
},
"lodash.some": {
- "version": "4.6.0",
- "resolved": "https://registry.npmjs.org/lodash.some/-/lodash.some-4.6.0.tgz",
+ "version": "https://registry.npmjs.org/lodash.some/-/lodash.some-4.6.0.tgz",
"integrity": "sha1-G7nzFO9ri63tE7VJFpsqlF62jk0=",
"dev": true
},
"lodash.template": {
- "version": "3.6.2",
- "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz",
+ "version": "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz",
"integrity": "sha1-+M3sxhaaJVvpCYrosMU9N4kx0U8=",
"dev": true,
"requires": {
- "lodash._basecopy": "3.0.1",
- "lodash._basetostring": "3.0.1",
- "lodash._basevalues": "3.0.0",
- "lodash._isiterateecall": "3.0.9",
- "lodash._reinterpolate": "3.0.0",
- "lodash.escape": "3.2.0",
- "lodash.keys": "3.1.2",
- "lodash.restparam": "3.6.1",
- "lodash.templatesettings": "3.1.1"
+ "lodash._basecopy": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz",
+ "lodash._basetostring": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz",
+ "lodash._basevalues": "https://registry.npmjs.org/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz",
+ "lodash._isiterateecall": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz",
+ "lodash._reinterpolate": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz",
+ "lodash.escape": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz",
+ "lodash.keys": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz",
+ "lodash.restparam": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz",
+ "lodash.templatesettings": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz"
}
},
"lodash.templatesettings": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz",
+ "version": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz",
"integrity": "sha1-+zB4RHU7Zrnxr6VOJix0UwfbqOU=",
"dev": true,
"requires": {
- "lodash._reinterpolate": "3.0.0",
- "lodash.escape": "3.2.0"
+ "lodash._reinterpolate": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz",
+ "lodash.escape": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz"
}
},
"lodash.values": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/lodash.values/-/lodash.values-2.4.1.tgz",
+ "version": "https://registry.npmjs.org/lodash.values/-/lodash.values-2.4.1.tgz",
"integrity": "sha1-q/UUQ2s8twUAFieXjLzzCxKA7qQ=",
"dev": true,
"requires": {
- "lodash.keys": "2.4.1"
+ "lodash.keys": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz"
},
"dependencies": {
"lodash.keys": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz",
+ "version": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz",
"integrity": "sha1-SN6kbfj/djKxDXBrissmWR4rNyc=",
"dev": true,
"requires": {
- "lodash._isnative": "2.4.1",
- "lodash._shimkeys": "2.4.1",
- "lodash.isobject": "2.4.1"
+ "lodash._isnative": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz",
+ "lodash._shimkeys": "https://registry.npmjs.org/lodash._shimkeys/-/lodash._shimkeys-2.4.1.tgz",
+ "lodash.isobject": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz"
}
}
}
},
"log-driver": {
- "version": "1.2.5",
- "resolved": "https://registry.npmjs.org/log-driver/-/log-driver-1.2.5.tgz",
+ "version": "https://registry.npmjs.org/log-driver/-/log-driver-1.2.5.tgz",
"integrity": "sha1-euTsJXMC/XkNVXyxDJcQDYV7AFY=",
"dev": true
},
"log-symbols": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz",
- "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==",
+ "version": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz",
+ "integrity": "sha1-V0Dhxdbw39pK2TI7UzIQfva0xAo=",
"dev": true,
"requires": {
- "chalk": "2.3.1"
+ "chalk": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz"
},
"dependencies": {
"ansi-styles": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
- "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==",
+ "version": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
+ "integrity": "sha1-wVm41b4PnlpvNG2rlPFs4CIWG4g=",
"dev": true,
"requires": {
- "color-convert": "1.9.1"
+ "color-convert": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz"
}
},
"chalk": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz",
- "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==",
+ "version": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz",
+ "integrity": "sha1-Uj/iZ4rsewToBBkJKS/osXBZt5Y=",
"dev": true,
"requires": {
- "ansi-styles": "3.2.0",
- "escape-string-regexp": "1.0.5",
- "supports-color": "5.2.0"
+ "ansi-styles": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
+ "escape-string-regexp": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "supports-color": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz"
}
},
"supports-color": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz",
- "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==",
+ "version": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz",
+ "integrity": "sha1-sNUzOxGE3TZmy+WqC0XFrHrBeko=",
"dev": true,
"requires": {
- "has-flag": "3.0.0"
+ "has-flag": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz"
}
}
}
},
"log4js": {
- "version": "2.5.3",
- "resolved": "https://registry.npmjs.org/log4js/-/log4js-2.5.3.tgz",
- "integrity": "sha512-YL/qpTxYtK0iWWbuKCrevDZz5lh+OjyHHD+mICqpjnYGKdNRBvPeh/1uYjkKUemT1CSO4wwLOwphWMpKAnD9kw==",
- "dev": true,
- "requires": {
- "amqplib": "0.5.2",
- "axios": "0.15.3",
- "circular-json": "0.5.1",
- "date-format": "1.2.0",
- "debug": "3.1.0",
- "hipchat-notifier": "1.1.0",
- "loggly": "1.1.1",
- "mailgun-js": "0.7.15",
- "nodemailer": "2.7.2",
- "redis": "2.8.0",
- "semver": "5.5.0",
- "slack-node": "0.2.0",
- "streamroller": "0.7.0"
+ "version": "https://registry.npmjs.org/log4js/-/log4js-2.5.3.tgz",
+ "integrity": "sha1-OLt73l6cHBgb116LwSjFzQQJyvE=",
+ "dev": true,
+ "requires": {
+ "amqplib": "https://registry.npmjs.org/amqplib/-/amqplib-0.5.2.tgz",
+ "axios": "https://registry.npmjs.org/axios/-/axios-0.15.3.tgz",
+ "circular-json": "https://registry.npmjs.org/circular-json/-/circular-json-0.5.1.tgz",
+ "date-format": "https://registry.npmjs.org/date-format/-/date-format-1.2.0.tgz",
+ "debug": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
+ "hipchat-notifier": "https://registry.npmjs.org/hipchat-notifier/-/hipchat-notifier-1.1.0.tgz",
+ "loggly": "https://registry.npmjs.org/loggly/-/loggly-1.1.1.tgz",
+ "mailgun-js": "https://registry.npmjs.org/mailgun-js/-/mailgun-js-0.7.15.tgz",
+ "nodemailer": "https://registry.npmjs.org/nodemailer/-/nodemailer-2.7.2.tgz",
+ "redis": "https://registry.npmjs.org/redis/-/redis-2.8.0.tgz",
+ "semver": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz",
+ "slack-node": "https://registry.npmjs.org/slack-node/-/slack-node-0.2.0.tgz",
+ "streamroller": "https://registry.npmjs.org/streamroller/-/streamroller-0.7.0.tgz"
},
"dependencies": {
"circular-json": {
- "version": "0.5.1",
- "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.5.1.tgz",
- "integrity": "sha512-UjgcRlTAhAkLeXmDe2wK7ktwy/tgAqxiSndTIPiFZuIPLZmzHzWMwUIe9h9m/OokypG7snxCDEuwJshGBdPvaw==",
+ "version": "https://registry.npmjs.org/circular-json/-/circular-json-0.5.1.tgz",
+ "integrity": "sha1-uJQqCeU1hj3CGwRBepGXHh2c2R8=",
"dev": true
}
}
},
"loggly": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/loggly/-/loggly-1.1.1.tgz",
+ "version": "https://registry.npmjs.org/loggly/-/loggly-1.1.1.tgz",
"integrity": "sha1-Cg/B0/o6XsRP3HuJe+uipGlc6+4=",
"dev": true,
"optional": true,
"requires": {
- "json-stringify-safe": "5.0.1",
- "request": "2.75.0",
- "timespan": "2.3.0"
+ "json-stringify-safe": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
+ "request": "https://registry.npmjs.org/request/-/request-2.75.0.tgz",
+ "timespan": "https://registry.npmjs.org/timespan/-/timespan-2.3.0.tgz"
},
"dependencies": {
"bl": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/bl/-/bl-1.1.2.tgz",
+ "version": "https://registry.npmjs.org/bl/-/bl-1.1.2.tgz",
"integrity": "sha1-/cqHGplxOqANGeO7ukHER4emU5g=",
"dev": true,
"optional": true,
"requires": {
- "readable-stream": "2.0.6"
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz"
}
},
"form-data": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.0.0.tgz",
+ "version": "https://registry.npmjs.org/form-data/-/form-data-2.0.0.tgz",
"integrity": "sha1-bwrrrcxdoWwT4ezBETfYX5uIOyU=",
"dev": true,
"optional": true,
"requires": {
- "asynckit": "0.4.0",
- "combined-stream": "1.0.6",
+ "asynckit": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+ "combined-stream": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz",
"mime-types": "2.1.17"
}
},
"node-uuid": {
- "version": "1.4.8",
- "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.8.tgz",
+ "version": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.8.tgz",
"integrity": "sha1-sEDrCSOWivq/jTL7HxfxFn/auQc=",
"dev": true,
"optional": true
},
"process-nextick-args": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
+ "version": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
"integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=",
"dev": true,
"optional": true
},
"qs": {
- "version": "6.2.3",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.2.3.tgz",
+ "version": "https://registry.npmjs.org/qs/-/qs-6.2.3.tgz",
"integrity": "sha1-HPyyXBCpsrSDBT/zn138kjOQjP4=",
"dev": true,
"optional": true
},
"readable-stream": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz",
+ "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz",
"integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=",
"dev": true,
"optional": true,
"requires": {
- "core-util-is": "1.0.2",
- "inherits": "2.0.3",
- "isarray": "1.0.0",
- "process-nextick-args": "1.0.7",
- "string_decoder": "0.10.31",
- "util-deprecate": "1.0.2"
+ "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "isarray": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "process-nextick-args": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
+ "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "util-deprecate": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"
}
},
"request": {
- "version": "2.75.0",
- "resolved": "https://registry.npmjs.org/request/-/request-2.75.0.tgz",
+ "version": "https://registry.npmjs.org/request/-/request-2.75.0.tgz",
"integrity": "sha1-0rgmiihtoT6qXQGt9dGMyQ9lfZM=",
"dev": true,
"optional": true,
"requires": {
- "aws-sign2": "0.6.0",
- "aws4": "1.6.0",
- "bl": "1.1.2",
- "caseless": "0.11.0",
- "combined-stream": "1.0.6",
- "extend": "3.0.1",
- "forever-agent": "0.6.1",
- "form-data": "2.0.0",
- "har-validator": "2.0.6",
- "hawk": "3.1.3",
- "http-signature": "1.1.1",
- "is-typedarray": "1.0.0",
- "isstream": "0.1.2",
- "json-stringify-safe": "5.0.1",
+ "aws-sign2": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz",
+ "aws4": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz",
+ "bl": "https://registry.npmjs.org/bl/-/bl-1.1.2.tgz",
+ "caseless": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz",
+ "combined-stream": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz",
+ "extend": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz",
+ "forever-agent": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
+ "form-data": "https://registry.npmjs.org/form-data/-/form-data-2.0.0.tgz",
+ "har-validator": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz",
+ "hawk": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz",
+ "http-signature": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz",
+ "is-typedarray": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
+ "isstream": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
+ "json-stringify-safe": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
"mime-types": "2.1.17",
- "node-uuid": "1.4.8",
- "oauth-sign": "0.8.2",
- "qs": "6.2.3",
- "stringstream": "0.0.5",
+ "node-uuid": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.8.tgz",
+ "oauth-sign": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz",
+ "qs": "https://registry.npmjs.org/qs/-/qs-6.2.3.tgz",
+ "stringstream": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz",
"tough-cookie": "2.3.3",
- "tunnel-agent": "0.4.3"
+ "tunnel-agent": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz"
}
},
"string_decoder": {
- "version": "0.10.31",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "version": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
"dev": true,
"optional": true
@@ -10897,128 +9947,114 @@
}
},
"lolex": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/lolex/-/lolex-2.3.2.tgz",
- "integrity": "sha512-A5pN2tkFj7H0dGIAM6MFvHKMJcPnjZsOMvR7ujCjfgW5TbV6H9vb1PgxLtHvjqNZTHsUolz+6/WEO0N1xNx2ng==",
+ "version": "https://registry.npmjs.org/lolex/-/lolex-2.3.2.tgz",
+ "integrity": "sha1-hflFBCUQO/nnpgZo6iXcQydMqAc=",
"dev": true
},
"longest": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz",
+ "version": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz",
"integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=",
"dev": true
},
"longest-streak": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-2.0.2.tgz",
- "integrity": "sha512-TmYTeEYxiAmSVdpbnQDXGtvYOIRsCMg89CVZzwzc2o7GFL1CjoiRPjH5ec0NFAVlAx3fVof9dX/t6KKRAo2OWA==",
+ "version": "https://registry.npmjs.org/longest-streak/-/longest-streak-2.0.2.tgz",
+ "integrity": "sha1-JCG2upOaRDu5/+v1llhaULTDji4=",
"dev": true
},
"loose-envify": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz",
+ "version": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz",
"integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=",
"dev": true,
"requires": {
- "js-tokens": "3.0.2"
+ "js-tokens": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz"
}
},
"loud-rejection": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz",
+ "version": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz",
"integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=",
"dev": true,
"requires": {
- "currently-unhandled": "0.4.1",
- "signal-exit": "3.0.2"
+ "currently-unhandled": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz",
+ "signal-exit": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz"
}
},
"lru-cache": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz",
- "integrity": "sha512-q4spe4KTfsAS1SUHLO0wz8Qiyf1+vMIAgpRYioFYDMNqKfHQbg+AVDH3i4fvpl71/P1L0dBl+fQi+P37UYf0ew==",
+ "version": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz",
+ "integrity": "sha1-Yi4y6CSItJJ5EUpPns9F581rulU=",
"dev": true,
"requires": {
- "pseudomap": "1.0.2",
- "yallist": "2.1.2"
+ "pseudomap": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
+ "yallist": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz"
}
},
"lru-queue": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz",
+ "version": "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz",
"integrity": "sha1-Jzi9nw089PhEkMVzbEhpmsYyzaM=",
"requires": {
"es5-ext": "0.10.38"
}
},
"magic-string": {
- "version": "0.16.0",
- "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.16.0.tgz",
+ "version": "https://registry.npmjs.org/magic-string/-/magic-string-0.16.0.tgz",
"integrity": "sha1-lw67DacZMwEoX7GqZQ85vdgetFo=",
"dev": true,
"requires": {
- "vlq": "0.2.3"
+ "vlq": "https://registry.npmjs.org/vlq/-/vlq-0.2.3.tgz"
}
},
"mailcomposer": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/mailcomposer/-/mailcomposer-4.0.1.tgz",
+ "version": "https://registry.npmjs.org/mailcomposer/-/mailcomposer-4.0.1.tgz",
"integrity": "sha1-DhxEsqB890DuF9wUm6AJ8Zyt/rQ=",
"dev": true,
"optional": true,
"requires": {
- "buildmail": "4.0.1",
- "libmime": "3.0.0"
+ "buildmail": "https://registry.npmjs.org/buildmail/-/buildmail-4.0.1.tgz",
+ "libmime": "https://registry.npmjs.org/libmime/-/libmime-3.0.0.tgz"
}
},
"mailgun-js": {
- "version": "0.7.15",
- "resolved": "https://registry.npmjs.org/mailgun-js/-/mailgun-js-0.7.15.tgz",
+ "version": "https://registry.npmjs.org/mailgun-js/-/mailgun-js-0.7.15.tgz",
"integrity": "sha1-7jZqINrGTDwVwD1sGz4O15UlKrs=",
"dev": true,
"optional": true,
"requires": {
- "async": "2.1.5",
- "debug": "2.2.0",
- "form-data": "2.1.4",
- "inflection": "1.10.0",
- "is-stream": "1.1.0",
- "path-proxy": "1.0.0",
- "proxy-agent": "2.0.0",
- "q": "1.4.1",
- "tsscmp": "1.0.5"
+ "async": "https://registry.npmjs.org/async/-/async-2.1.5.tgz",
+ "debug": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+ "form-data": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz",
+ "inflection": "https://registry.npmjs.org/inflection/-/inflection-1.10.0.tgz",
+ "is-stream": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
+ "path-proxy": "https://registry.npmjs.org/path-proxy/-/path-proxy-1.0.0.tgz",
+ "proxy-agent": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-2.0.0.tgz",
+ "q": "https://registry.npmjs.org/q/-/q-1.4.1.tgz",
+ "tsscmp": "https://registry.npmjs.org/tsscmp/-/tsscmp-1.0.5.tgz"
},
"dependencies": {
"async": {
- "version": "2.1.5",
- "resolved": "https://registry.npmjs.org/async/-/async-2.1.5.tgz",
+ "version": "https://registry.npmjs.org/async/-/async-2.1.5.tgz",
"integrity": "sha1-5YfGhYCZSsZ/xW/4bTrFa9voELw=",
"dev": true,
"optional": true,
"requires": {
- "lodash": "4.17.5"
+ "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz"
}
},
"debug": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+ "version": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
"integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
"dev": true,
"optional": true,
"requires": {
- "ms": "0.7.1"
+ "ms": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz"
}
},
"ms": {
- "version": "0.7.1",
- "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
+ "version": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
"integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=",
"dev": true,
"optional": true
},
"q": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/q/-/q-1.4.1.tgz",
+ "version": "https://registry.npmjs.org/q/-/q-1.4.1.tgz",
"integrity": "sha1-VXBbzZPF82c1MMLCy8DCs63cKG4=",
"dev": true,
"optional": true
@@ -11031,7 +10067,7 @@
"integrity": "sha512-0Pkui4wLJ7rxvmfUvs87skoEaxmu0hCUApF8nonzpl7q//FWp9zu8W61Scz4sd/kUiqDxvUhtoam2efDyiBzcA==",
"dev": true,
"requires": {
- "pify": "3.0.0"
+ "pify": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz"
}
},
"make-error": {
@@ -11041,8 +10077,7 @@
"dev": true
},
"make-error-cause": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/make-error-cause/-/make-error-cause-1.2.2.tgz",
+ "version": "https://registry.npmjs.org/make-error-cause/-/make-error-cause-1.2.2.tgz",
"integrity": "sha1-3wOI/NCzeBbf8KX7gQiTl3fcvJ0=",
"dev": true,
"requires": {
@@ -11050,205 +10085,182 @@
}
},
"make-iterator": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.0.tgz",
"integrity": "sha1-V7713IXSOSO6I3ZzJNjo+PPZaUs=",
"dev": true,
"requires": {
- "kind-of": "3.2.2"
+ "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz"
},
"dependencies": {
"kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "version": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
"dev": true,
"requires": {
- "is-buffer": "1.1.6"
+ "is-buffer": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz"
}
}
}
},
"map-cache": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
+ "version": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
"integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=",
"dev": true
},
"map-obj": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
+ "version": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
"integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=",
"dev": true
},
"map-stream": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz",
+ "version": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz",
"integrity": "sha1-5WqpTEyAVaFkBKBnS3jyFffI4ZQ=",
"dev": true
},
"map-visit": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
"integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
"dev": true,
"requires": {
- "object-visit": "1.0.1"
+ "object-visit": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz"
}
},
"markdown-escapes": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.1.tgz",
+ "version": "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.1.tgz",
"integrity": "sha1-GZTfLTr0gR3lmmcUk0wrIpJzRRg=",
"dev": true
},
"markdown-table": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-1.1.1.tgz",
+ "version": "https://registry.npmjs.org/markdown-table/-/markdown-table-1.1.1.tgz",
"integrity": "sha1-Sz3ToTPRUYuO8NvHCb8qG0gkvIw=",
"dev": true
},
"match-stream": {
- "version": "0.0.2",
- "resolved": "https://registry.npmjs.org/match-stream/-/match-stream-0.0.2.tgz",
+ "version": "https://registry.npmjs.org/match-stream/-/match-stream-0.0.2.tgz",
"integrity": "sha1-mesFAJOzTf+t5CG5rAtBCpz6F88=",
"dev": true,
"requires": {
- "buffers": "0.1.1",
- "readable-stream": "1.0.34"
+ "buffers": "https://registry.npmjs.org/buffers/-/buffers-0.1.1.tgz",
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz"
},
"dependencies": {
"isarray": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "version": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
"integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
"dev": true
},
"readable-stream": {
- "version": "1.0.34",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
"integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
"dev": true,
"requires": {
- "core-util-is": "1.0.2",
- "inherits": "2.0.3",
- "isarray": "0.0.1",
- "string_decoder": "0.10.31"
+ "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
}
},
"string_decoder": {
- "version": "0.10.31",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "version": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
"dev": true
}
}
},
"md5.js": {
- "version": "1.3.4",
- "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.4.tgz",
+ "version": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.4.tgz",
"integrity": "sha1-6b296UogpawYsENA/Fdk1bCdkB0=",
"dev": true,
"requires": {
- "hash-base": "3.0.4",
- "inherits": "2.0.3"
+ "hash-base": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz"
},
"dependencies": {
"hash-base": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz",
+ "version": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz",
"integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=",
"dev": true,
"requires": {
- "inherits": "2.0.3",
- "safe-buffer": "5.1.1"
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz"
}
}
}
},
"mdast-util-compact": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/mdast-util-compact/-/mdast-util-compact-1.0.1.tgz",
+ "version": "https://registry.npmjs.org/mdast-util-compact/-/mdast-util-compact-1.0.1.tgz",
"integrity": "sha1-zbX4TitqLTEU3zO9BdnLMuPECDo=",
"dev": true,
"requires": {
- "unist-util-modify-children": "1.1.1",
- "unist-util-visit": "1.3.0"
+ "unist-util-modify-children": "https://registry.npmjs.org/unist-util-modify-children/-/unist-util-modify-children-1.1.1.tgz",
+ "unist-util-visit": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-1.3.0.tgz"
}
},
"mdast-util-definitions": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-1.2.2.tgz",
- "integrity": "sha512-9NloPSwaB9f1PKcGqaScfqRf6zKOEjTIXVIbPOmgWI/JKxznlgVXC5C+8qgl3AjYg2vJBRgLYfLICaNiac89iA==",
+ "version": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-1.2.2.tgz",
+ "integrity": "sha1-Zz9Dd8PiPT3nr3pP4iFMDiIcWsc=",
"dev": true,
"requires": {
- "unist-util-visit": "1.3.0"
+ "unist-util-visit": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-1.3.0.tgz"
}
},
"mdast-util-inject": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/mdast-util-inject/-/mdast-util-inject-1.1.0.tgz",
+ "version": "https://registry.npmjs.org/mdast-util-inject/-/mdast-util-inject-1.1.0.tgz",
"integrity": "sha1-2wa4tYW+lZotzS+H9HK6m3VvNnU=",
"dev": true,
"requires": {
- "mdast-util-to-string": "1.0.4"
+ "mdast-util-to-string": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-1.0.4.tgz"
}
},
"mdast-util-to-hast": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-3.0.0.tgz",
- "integrity": "sha512-zvEXH2AUevWfKuBqtEPNcDUPI8UC6yIVvgEgNi1v1dLnzb5Pfm+PZjnZn0FhW1WmHcrGMX059MAoqicEauzjcw==",
+ "version": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-3.0.0.tgz",
+ "integrity": "sha1-aeNn+yqesCR038AXczuP0nLVXTo=",
"dev": true,
"requires": {
- "collapse-white-space": "1.0.3",
- "detab": "2.0.1",
- "mdast-util-definitions": "1.2.2",
- "mdurl": "1.0.1",
- "trim": "0.0.1",
- "trim-lines": "1.1.0",
- "unist-builder": "1.0.2",
- "unist-util-generated": "1.1.1",
- "unist-util-position": "3.0.0",
- "unist-util-visit": "1.3.0",
- "xtend": "4.0.1"
+ "collapse-white-space": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.3.tgz",
+ "detab": "https://registry.npmjs.org/detab/-/detab-2.0.1.tgz",
+ "mdast-util-definitions": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-1.2.2.tgz",
+ "mdurl": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz",
+ "trim": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz",
+ "trim-lines": "https://registry.npmjs.org/trim-lines/-/trim-lines-1.1.0.tgz",
+ "unist-builder": "https://registry.npmjs.org/unist-builder/-/unist-builder-1.0.2.tgz",
+ "unist-util-generated": "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-1.1.1.tgz",
+ "unist-util-position": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-3.0.0.tgz",
+ "unist-util-visit": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-1.3.0.tgz",
+ "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
}
},
"mdast-util-to-string": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-1.0.4.tgz",
+ "version": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-1.0.4.tgz",
"integrity": "sha1-XEVch4yTVfDB5/PotxnPWDaRrPs=",
"dev": true
},
"mdast-util-toc": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/mdast-util-toc/-/mdast-util-toc-2.0.1.tgz",
+ "version": "https://registry.npmjs.org/mdast-util-toc/-/mdast-util-toc-2.0.1.tgz",
"integrity": "sha1-sdLLI7+wH4Evp7Vb/+iwqL7fbyE=",
"dev": true,
"requires": {
- "github-slugger": "1.2.0",
- "mdast-util-to-string": "1.0.4",
- "unist-util-visit": "1.3.0"
+ "github-slugger": "https://registry.npmjs.org/github-slugger/-/github-slugger-1.2.0.tgz",
+ "mdast-util-to-string": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-1.0.4.tgz",
+ "unist-util-visit": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-1.3.0.tgz"
}
},
"mdurl": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz",
+ "version": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz",
"integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=",
"dev": true
},
"media-typer": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
+ "version": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
"integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=",
"dev": true
},
"mem": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz",
+ "version": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz",
"integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=",
"dev": true,
"requires": {
- "mimic-fn": "1.2.0"
+ "mimic-fn": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz"
}
},
"memoizee": {
@@ -11256,187 +10268,169 @@
"resolved": "https://registry.npmjs.org/memoizee/-/memoizee-0.4.11.tgz",
"integrity": "sha1-vemBdmPJ5A/bKk6hw2cpYIeujI8=",
"requires": {
- "d": "1.0.0",
+ "d": "https://registry.npmjs.org/d/-/d-1.0.0.tgz",
"es5-ext": "0.10.38",
- "es6-weak-map": "2.0.2",
- "event-emitter": "0.3.5",
- "is-promise": "2.1.0",
- "lru-queue": "0.1.0",
- "next-tick": "1.0.0",
- "timers-ext": "0.1.2"
+ "es6-weak-map": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz",
+ "event-emitter": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz",
+ "is-promise": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz",
+ "lru-queue": "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz",
+ "next-tick": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz",
+ "timers-ext": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.2.tgz"
}
},
"memory-fs": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz",
+ "version": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz",
"integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=",
"dev": true,
"requires": {
"errno": "0.1.6",
- "readable-stream": "2.3.4"
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.4.tgz"
}
},
"meow": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz",
+ "version": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz",
"integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=",
"dev": true,
"requires": {
- "camelcase-keys": "2.1.0",
- "decamelize": "1.2.0",
- "loud-rejection": "1.6.0",
- "map-obj": "1.0.1",
- "minimist": "1.2.0",
- "normalize-package-data": "2.4.0",
- "object-assign": "4.1.1",
- "read-pkg-up": "1.0.1",
- "redent": "1.0.0",
- "trim-newlines": "1.0.0"
+ "camelcase-keys": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz",
+ "decamelize": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
+ "loud-rejection": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz",
+ "map-obj": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
+ "minimist": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "normalize-package-data": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz",
+ "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "read-pkg-up": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz",
+ "redent": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz",
+ "trim-newlines": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz"
},
"dependencies": {
"find-up": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
+ "version": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
"integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
"dev": true,
"requires": {
- "path-exists": "2.1.0",
- "pinkie-promise": "2.0.1"
+ "path-exists": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
+ "pinkie-promise": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz"
}
},
"load-json-file": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
+ "version": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
"integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
"dev": true,
"requires": {
- "graceful-fs": "4.1.11",
- "parse-json": "2.2.0",
- "pify": "2.3.0",
- "pinkie-promise": "2.0.1",
- "strip-bom": "2.0.0"
+ "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "parse-json": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
+ "pify": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "pinkie-promise": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
+ "strip-bom": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz"
}
},
"minimist": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "version": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
"integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
"dev": true
},
"parse-json": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
+ "version": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
"integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
"dev": true,
"requires": {
- "error-ex": "1.3.1"
+ "error-ex": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz"
}
},
"path-exists": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
+ "version": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
"integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
"dev": true,
"requires": {
- "pinkie-promise": "2.0.1"
+ "pinkie-promise": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz"
}
},
"path-type": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz",
+ "version": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz",
"integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=",
"dev": true,
"requires": {
- "graceful-fs": "4.1.11",
- "pify": "2.3.0",
- "pinkie-promise": "2.0.1"
+ "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "pify": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "pinkie-promise": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz"
}
},
"pify": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "version": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
"integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
"dev": true
},
"read-pkg": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz",
+ "version": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz",
"integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=",
"dev": true,
"requires": {
- "load-json-file": "1.1.0",
- "normalize-package-data": "2.4.0",
- "path-type": "1.1.0"
+ "load-json-file": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
+ "normalize-package-data": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz",
+ "path-type": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz"
}
},
"read-pkg-up": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz",
+ "version": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz",
"integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=",
"dev": true,
"requires": {
- "find-up": "1.1.2",
- "read-pkg": "1.1.0"
+ "find-up": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
+ "read-pkg": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz"
}
},
"strip-bom": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
+ "version": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
"integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
"dev": true,
"requires": {
- "is-utf8": "0.2.1"
+ "is-utf8": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz"
}
}
}
},
"merge-descriptors": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
+ "version": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
"integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=",
"dev": true
},
"merge-stream": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz",
+ "version": "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz",
"integrity": "sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE=",
"dev": true,
"requires": {
- "readable-stream": "2.3.4"
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.4.tgz"
}
},
"method-override": {
- "version": "2.3.10",
- "resolved": "https://registry.npmjs.org/method-override/-/method-override-2.3.10.tgz",
+ "version": "https://registry.npmjs.org/method-override/-/method-override-2.3.10.tgz",
"integrity": "sha1-49r41d7hDdLc59SuiNYrvud0drQ=",
"dev": true,
"requires": {
- "debug": "2.6.9",
- "methods": "1.1.2",
- "parseurl": "1.3.2",
- "vary": "1.1.2"
+ "debug": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "methods": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
+ "parseurl": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz",
+ "vary": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz"
},
"dependencies": {
"debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "version": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
"dev": true,
"requires": {
- "ms": "2.0.0"
+ "ms": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"
}
},
"vary": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
+ "version": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
"integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=",
"dev": true
}
}
},
"methods": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
+ "version": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
"integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=",
"dev": true
},
@@ -11446,35 +10440,33 @@
"integrity": "sha512-ykttrLPQrz1PUJcXjwsTUjGoPJ64StIGNE2lGVD1c9CuguJ+L7/navsE8IcDNndOoCMvYV0qc/exfVbMHkUhvA==",
"dev": true,
"requires": {
- "arr-diff": "4.0.0",
- "array-unique": "0.3.2",
+ "arr-diff": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
+ "array-unique": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
"braces": "2.3.0",
"define-property": "1.0.0",
"extend-shallow": "2.0.1",
- "extglob": "2.0.4",
- "fragment-cache": "0.2.1",
- "kind-of": "6.0.2",
+ "extglob": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
+ "fragment-cache": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
+ "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
"nanomatch": "1.2.7",
- "object.pick": "1.3.0",
+ "object.pick": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
"regex-not": "1.0.0",
- "snapdragon": "0.8.1",
+ "snapdragon": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.1.tgz",
"to-regex": "3.0.1"
}
},
"miller-rabin": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz",
- "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==",
+ "version": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz",
+ "integrity": "sha1-8IA1HIZbDcViqEYpZtqlNUPHik0=",
"dev": true,
"requires": {
- "bn.js": "4.11.8",
- "brorand": "1.1.0"
+ "bn.js": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz",
+ "brorand": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz"
}
},
"mime": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/mime/-/mime-2.2.0.tgz",
- "integrity": "sha512-0Qz9uF1ATtl8RKJG4VRfOymh7PyEor6NbrI/61lRfuRe4vx9SNATrvAeTj2EWVRKjEQGskrzWkJBBY5NbaVHIA==",
+ "version": "https://registry.npmjs.org/mime/-/mime-2.2.0.tgz",
+ "integrity": "sha1-Fh5UGWVVHTtUn6ERQ5Hjo9Vbkjs=",
"dev": true
},
"mime-db": {
@@ -11493,88 +10485,79 @@
}
},
"mimic-fn": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz",
- "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==",
+ "version": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz",
+ "integrity": "sha1-ggyGo5M0ZA6ZUWkovQP8qIBX0CI=",
"dev": true
},
"minimalistic-assert": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz",
"integrity": "sha1-cCvi3aazf0g2vLP121ZkG2Sh09M=",
"dev": true
},
"minimalistic-crypto-utils": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz",
+ "version": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz",
"integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=",
"dev": true
},
"minimatch": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
- "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+ "version": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+ "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=",
"dev": true,
"requires": {
- "brace-expansion": "1.1.11"
+ "brace-expansion": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz"
}
},
"minimist": {
- "version": "0.0.8",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
+ "version": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
"integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
"dev": true
},
"mixin-deep": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz",
- "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==",
+ "version": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz",
+ "integrity": "sha1-pJ5yaNzhoNlpjkUybFYm3zVD0P4=",
"dev": true,
"requires": {
- "for-in": "1.0.2",
- "is-extendable": "1.0.1"
+ "for-in": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
+ "is-extendable": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz"
},
"dependencies": {
"is-extendable": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
- "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
+ "version": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
+ "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=",
"dev": true,
"requires": {
- "is-plain-object": "2.0.4"
+ "is-plain-object": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz"
}
}
}
},
"mkdirp": {
- "version": "0.5.1",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+ "version": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
"integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
"dev": true,
"requires": {
- "minimist": "0.0.8"
+ "minimist": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz"
}
},
"mkpath": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/mkpath/-/mkpath-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/mkpath/-/mkpath-1.0.0.tgz",
"integrity": "sha1-67Opd+evHGg65v2hK1Raa6bFhT0=",
"dev": true
},
"mocha": {
- "version": "1.21.5",
- "resolved": "https://registry.npmjs.org/mocha/-/mocha-1.21.5.tgz",
- "integrity": "sha1-fFiwkXTfl25DSiOx6NY5hz/FKek=",
+ "version": "https://registry.npmjs.org/mocha/-/mocha-2.2.5.tgz",
+ "integrity": "sha1-07cqT+SeyUOTU/GsiT28Qw2ZMUA=",
"dev": true,
"requires": {
"commander": "2.3.0",
"debug": "2.0.0",
- "diff": "1.0.8",
+ "diff": "https://registry.npmjs.org/diff/-/diff-1.4.0.tgz",
"escape-string-regexp": "1.0.2",
"glob": "3.2.3",
"growl": "1.8.1",
"jade": "0.26.3",
- "mkdirp": "0.5.0"
+ "mkdirp": "0.5.0",
+ "supports-color": "https://registry.npmjs.org/supports-color/-/supports-color-1.2.1.tgz"
},
"dependencies": {
"commander": {
@@ -11592,12 +10575,6 @@
"ms": "0.6.2"
}
},
- "diff": {
- "version": "1.0.8",
- "resolved": "https://registry.npmjs.org/diff/-/diff-1.0.8.tgz",
- "integrity": "sha1-NDJ2MI7Jkbe8giZ+1VvBQR+XFmY=",
- "dev": true
- },
"escape-string-regexp": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.2.tgz",
@@ -11611,7 +10588,7 @@
"dev": true,
"requires": {
"graceful-fs": "2.0.3",
- "inherits": "2.0.3",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
"minimatch": "0.2.14"
}
},
@@ -11634,7 +10611,7 @@
"dev": true,
"requires": {
"lru-cache": "2.7.3",
- "sigmund": "1.0.1"
+ "sigmund": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz"
}
},
"mkdirp": {
@@ -11643,7 +10620,7 @@
"integrity": "sha1-HXMHam35hs2TROFecfzAWkyavxI=",
"dev": true,
"requires": {
- "minimist": "0.0.8"
+ "minimist": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz"
}
},
"ms": {
@@ -11651,294 +10628,269 @@
"resolved": "https://registry.npmjs.org/ms/-/ms-0.6.2.tgz",
"integrity": "sha1-2JwhJMb9wTU9Zai3e/GqxLGTcIw=",
"dev": true
+ },
+ "supports-color": {
+ "version": "https://registry.npmjs.org/supports-color/-/supports-color-1.2.1.tgz",
+ "integrity": "sha1-Eu4hUHCGzZjBBY2ewPSsR2t687I=",
+ "dev": true
}
}
},
"mocha-nightwatch": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/mocha-nightwatch/-/mocha-nightwatch-3.2.2.tgz",
+ "version": "https://registry.npmjs.org/mocha-nightwatch/-/mocha-nightwatch-3.2.2.tgz",
"integrity": "sha1-kby5s73gV912d8eBJeSR5Y1mZHw=",
"dev": true,
"requires": {
- "browser-stdout": "1.3.0",
- "commander": "2.9.0",
- "debug": "2.2.0",
- "diff": "1.4.0",
- "escape-string-regexp": "1.0.5",
- "glob": "7.0.5",
- "growl": "1.9.2",
- "json3": "3.3.2",
- "lodash.create": "3.1.1",
- "mkdirp": "0.5.1",
- "supports-color": "3.1.2"
+ "browser-stdout": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.0.tgz",
+ "commander": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz",
+ "debug": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+ "diff": "https://registry.npmjs.org/diff/-/diff-1.4.0.tgz",
+ "escape-string-regexp": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "glob": "https://registry.npmjs.org/glob/-/glob-7.0.5.tgz",
+ "growl": "https://registry.npmjs.org/growl/-/growl-1.9.2.tgz",
+ "json3": "https://registry.npmjs.org/json3/-/json3-3.3.2.tgz",
+ "lodash.create": "https://registry.npmjs.org/lodash.create/-/lodash.create-3.1.1.tgz",
+ "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+ "supports-color": "https://registry.npmjs.org/supports-color/-/supports-color-3.1.2.tgz"
},
"dependencies": {
"commander": {
- "version": "2.9.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz",
+ "version": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz",
"integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=",
"dev": true,
"requires": {
- "graceful-readlink": "1.0.1"
+ "graceful-readlink": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz"
}
},
"debug": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+ "version": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
"integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
"dev": true,
"requires": {
- "ms": "0.7.1"
+ "ms": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz"
}
},
"glob": {
- "version": "7.0.5",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.5.tgz",
+ "version": "https://registry.npmjs.org/glob/-/glob-7.0.5.tgz",
"integrity": "sha1-tCAqaQmbu00pKnwblbZoK2fr3JU=",
"dev": true,
"requires": {
- "fs.realpath": "1.0.0",
- "inflight": "1.0.6",
- "inherits": "2.0.3",
- "minimatch": "3.0.4",
- "once": "1.4.0",
- "path-is-absolute": "1.0.1"
+ "fs.realpath": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "inflight": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+ "once": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "path-is-absolute": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz"
}
},
"growl": {
- "version": "1.9.2",
- "resolved": "https://registry.npmjs.org/growl/-/growl-1.9.2.tgz",
+ "version": "https://registry.npmjs.org/growl/-/growl-1.9.2.tgz",
"integrity": "sha1-Dqd0NxXbjY3ixe3hd14bRayFwC8=",
"dev": true
},
"has-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
"integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
"dev": true
},
"ms": {
- "version": "0.7.1",
- "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
+ "version": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
"integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=",
"dev": true
},
"supports-color": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.1.2.tgz",
+ "version": "https://registry.npmjs.org/supports-color/-/supports-color-3.1.2.tgz",
"integrity": "sha1-cqJiiU2dQIuVbKBf83su2KbiotU=",
"dev": true,
"requires": {
- "has-flag": "1.0.0"
+ "has-flag": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz"
}
}
}
},
"mock-fs": {
- "version": "3.12.1",
- "resolved": "https://registry.npmjs.org/mock-fs/-/mock-fs-3.12.1.tgz",
+ "version": "https://registry.npmjs.org/mock-fs/-/mock-fs-3.12.1.tgz",
"integrity": "sha1-/yeCTNarJjp+sFoRUjnUHTYx9fg=",
"dev": true,
"requires": {
- "rewire": "2.5.2",
- "semver": "5.3.0"
+ "rewire": "https://registry.npmjs.org/rewire/-/rewire-2.5.2.tgz",
+ "semver": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz"
},
"dependencies": {
"semver": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
+ "version": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
"integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=",
"dev": true
}
}
},
"module-deps-sortable": {
- "version": "4.0.6",
- "resolved": "https://registry.npmjs.org/module-deps-sortable/-/module-deps-sortable-4.0.6.tgz",
+ "version": "https://registry.npmjs.org/module-deps-sortable/-/module-deps-sortable-4.0.6.tgz",
"integrity": "sha1-ElGkuixEqS32mJvQKdoSGk8hCbA=",
"dev": true,
"requires": {
- "JSONStream": "1.3.2",
- "browser-resolve": "1.11.2",
- "concat-stream": "1.5.2",
- "defined": "1.0.0",
- "detective": "4.7.1",
- "duplexer2": "0.1.4",
- "inherits": "2.0.3",
- "parents": "1.0.1",
- "readable-stream": "2.3.4",
- "resolve": "1.5.0",
- "stream-combiner2": "1.1.1",
- "subarg": "1.0.0",
- "through2": "2.0.3",
- "xtend": "4.0.1"
+ "JSONStream": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.2.tgz",
+ "browser-resolve": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.2.tgz",
+ "concat-stream": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.2.tgz",
+ "defined": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz",
+ "detective": "https://registry.npmjs.org/detective/-/detective-4.7.1.tgz",
+ "duplexer2": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "parents": "https://registry.npmjs.org/parents/-/parents-1.0.1.tgz",
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.4.tgz",
+ "resolve": "https://registry.npmjs.org/resolve/-/resolve-1.5.0.tgz",
+ "stream-combiner2": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz",
+ "subarg": "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz",
+ "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
+ "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
},
"dependencies": {
"concat-stream": {
- "version": "1.5.2",
- "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.2.tgz",
+ "version": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.2.tgz",
"integrity": "sha1-cIl4Yk2FavQaWnQd790mHadSwmY=",
"dev": true,
"requires": {
- "inherits": "2.0.3",
- "readable-stream": "2.0.6",
- "typedarray": "0.0.6"
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz",
+ "typedarray": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz"
},
"dependencies": {
"readable-stream": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz",
+ "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz",
"integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=",
"dev": true,
"requires": {
- "core-util-is": "1.0.2",
- "inherits": "2.0.3",
- "isarray": "1.0.0",
- "process-nextick-args": "1.0.7",
- "string_decoder": "0.10.31",
- "util-deprecate": "1.0.2"
+ "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "isarray": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "process-nextick-args": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
+ "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "util-deprecate": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"
}
}
}
},
"process-nextick-args": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
+ "version": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
"integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=",
"dev": true
},
"string_decoder": {
- "version": "0.10.31",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "version": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
"dev": true
}
}
},
"module-not-found-error": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/module-not-found-error/-/module-not-found-error-1.0.1.tgz",
+ "version": "https://registry.npmjs.org/module-not-found-error/-/module-not-found-error-1.0.1.tgz",
"integrity": "sha1-z4tP9PKWQGdNbN0CsOO8UjwrvcA=",
"dev": true
},
"morgan": {
- "version": "1.6.1",
- "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.6.1.tgz",
+ "version": "https://registry.npmjs.org/morgan/-/morgan-1.6.1.tgz",
"integrity": "sha1-X9gYOYxoGcuiinzWZk8pL+HAu/I=",
"dev": true,
"requires": {
- "basic-auth": "1.0.4",
- "debug": "2.2.0",
- "depd": "1.0.1",
- "on-finished": "2.3.0",
- "on-headers": "1.0.1"
+ "basic-auth": "https://registry.npmjs.org/basic-auth/-/basic-auth-1.0.4.tgz",
+ "debug": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+ "depd": "https://registry.npmjs.org/depd/-/depd-1.0.1.tgz",
+ "on-finished": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
+ "on-headers": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz"
},
"dependencies": {
"debug": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+ "version": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
"integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
"dev": true,
"requires": {
- "ms": "0.7.1"
+ "ms": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz"
}
},
"ms": {
- "version": "0.7.1",
- "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
+ "version": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
"integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=",
"dev": true
}
}
},
"ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "version": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
},
"multiparty": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/multiparty/-/multiparty-3.3.2.tgz",
+ "version": "https://registry.npmjs.org/multiparty/-/multiparty-3.3.2.tgz",
"integrity": "sha1-Nd5oBNwZZD5SSfPT473GyM4wHT8=",
"dev": true,
"requires": {
- "readable-stream": "1.1.14",
- "stream-counter": "0.2.0"
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
+ "stream-counter": "https://registry.npmjs.org/stream-counter/-/stream-counter-0.2.0.tgz"
},
"dependencies": {
"isarray": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "version": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
"integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
"dev": true
},
"readable-stream": {
- "version": "1.1.14",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
+ "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
"integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
"dev": true,
"requires": {
- "core-util-is": "1.0.2",
- "inherits": "2.0.3",
- "isarray": "0.0.1",
- "string_decoder": "0.10.31"
+ "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
}
},
"string_decoder": {
- "version": "0.10.31",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "version": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
"dev": true
}
}
},
"multipipe": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz",
+ "version": "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz",
"integrity": "sha1-Ko8t33Du1WTf8tV/HhoTfZ8FB4s=",
"dev": true,
"requires": {
- "duplexer2": "0.0.2"
+ "duplexer2": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz"
},
"dependencies": {
"duplexer2": {
- "version": "0.0.2",
- "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz",
+ "version": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz",
"integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=",
"dev": true,
"requires": {
- "readable-stream": "1.1.14"
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz"
}
},
"isarray": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "version": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
"integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
"dev": true
},
"readable-stream": {
- "version": "1.1.14",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
+ "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
"integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
"dev": true,
"requires": {
- "core-util-is": "1.0.2",
- "inherits": "2.0.3",
- "isarray": "0.0.1",
- "string_decoder": "0.10.31"
+ "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
}
},
"string_decoder": {
- "version": "0.10.31",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "version": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
"dev": true
}
}
},
"mute-stream": {
- "version": "0.0.7",
- "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz",
+ "version": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz",
"integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=",
"dev": true
},
@@ -11955,16 +10907,16 @@
"integrity": "sha512-/5ldsnyurvEw7wNpxLFgjVvBLMta43niEYOy0CJ4ntcYSbx6bugRUTQeFb4BR/WanEL1o3aQgHuVLHQaB6tOqg==",
"dev": true,
"requires": {
- "arr-diff": "4.0.0",
- "array-unique": "0.3.2",
+ "arr-diff": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
+ "array-unique": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
"define-property": "1.0.0",
"extend-shallow": "2.0.1",
- "fragment-cache": "0.2.1",
+ "fragment-cache": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
"is-odd": "1.0.0",
"kind-of": "5.1.0",
- "object.pick": "1.3.0",
+ "object.pick": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
"regex-not": "1.0.0",
- "snapdragon": "0.8.1",
+ "snapdragon": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.1.tgz",
"to-regex": "3.0.1"
},
"dependencies": {
@@ -11977,70 +10929,61 @@
}
},
"natives": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/natives/-/natives-1.1.1.tgz",
- "integrity": "sha512-8eRaxn8u/4wN8tGkhlc2cgwwvOLMLUMUn4IYTexMgWd+LyUDfeXVkk2ygQR0hvIHbJQXgHujia3ieUUDwNGkEA==",
+ "version": "https://registry.npmjs.org/natives/-/natives-1.1.1.tgz",
+ "integrity": "sha1-ARrM4ffL2H97prMJPWzZOSvhxXQ=",
"dev": true
},
"natural-compare": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
+ "version": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
"integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
"dev": true
},
"ncp": {
- "version": "0.4.2",
- "resolved": "https://registry.npmjs.org/ncp/-/ncp-0.4.2.tgz",
+ "version": "https://registry.npmjs.org/ncp/-/ncp-0.4.2.tgz",
"integrity": "sha1-q8xsvT7C7Spyn/bnwfqPAXhKhXQ=",
"dev": true
},
"negotiator": {
- "version": "0.5.3",
- "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.5.3.tgz",
+ "version": "https://registry.npmjs.org/negotiator/-/negotiator-0.5.3.tgz",
"integrity": "sha1-Jp1cR2gQ7JLtvntsLygxY4T5p+g=",
"dev": true
},
"netmask": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/netmask/-/netmask-1.0.6.tgz",
+ "version": "https://registry.npmjs.org/netmask/-/netmask-1.0.6.tgz",
"integrity": "sha1-ICl+idhvb2QA8lDZ9Pa0wZRfzTU=",
"dev": true
},
"next-tick": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz",
"integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw="
},
"nightwatch": {
- "version": "0.9.19",
- "resolved": "https://registry.npmjs.org/nightwatch/-/nightwatch-0.9.19.tgz",
+ "version": "https://registry.npmjs.org/nightwatch/-/nightwatch-0.9.19.tgz",
"integrity": "sha1-S9l1cnPTC4RfBIR6mLcb6bt8Szs=",
"dev": true,
"requires": {
- "chai-nightwatch": "0.1.1",
- "ejs": "2.5.7",
- "lodash.clone": "3.0.3",
- "lodash.defaultsdeep": "4.3.2",
- "minimatch": "3.0.3",
- "mkpath": "1.0.0",
- "mocha-nightwatch": "3.2.2",
- "optimist": "0.6.1",
- "proxy-agent": "2.0.0",
- "q": "1.4.1"
+ "chai-nightwatch": "https://registry.npmjs.org/chai-nightwatch/-/chai-nightwatch-0.1.1.tgz",
+ "ejs": "https://registry.npmjs.org/ejs/-/ejs-2.5.7.tgz",
+ "lodash.clone": "https://registry.npmjs.org/lodash.clone/-/lodash.clone-3.0.3.tgz",
+ "lodash.defaultsdeep": "https://registry.npmjs.org/lodash.defaultsdeep/-/lodash.defaultsdeep-4.3.2.tgz",
+ "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz",
+ "mkpath": "https://registry.npmjs.org/mkpath/-/mkpath-1.0.0.tgz",
+ "mocha-nightwatch": "https://registry.npmjs.org/mocha-nightwatch/-/mocha-nightwatch-3.2.2.tgz",
+ "optimist": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz",
+ "proxy-agent": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-2.0.0.tgz",
+ "q": "https://registry.npmjs.org/q/-/q-1.4.1.tgz"
},
"dependencies": {
"minimatch": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz",
+ "version": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz",
"integrity": "sha1-Kk5AkLlrLbBqnX3wEFWmKnfJt3Q=",
"dev": true,
"requires": {
- "brace-expansion": "1.1.11"
+ "brace-expansion": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz"
}
},
"q": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/q/-/q-1.4.1.tgz",
+ "version": "https://registry.npmjs.org/q/-/q-1.4.1.tgz",
"integrity": "sha1-VXBbzZPF82c1MMLCy8DCs63cKG4=",
"dev": true
}
@@ -12052,89 +10995,82 @@
"integrity": "sha512-Es4hGuq3lpip5PckrB+Qpuma282M0UJANJ+jxAgI+0wWTL9X6MtNv+M385JgqsAE8hv6NvD3lv8CQtXgEnvlpQ==",
"dev": true,
"requires": {
- "@sinonjs/formatio": "2.0.0",
- "just-extend": "1.1.27",
- "lolex": "2.3.2",
- "path-to-regexp": "1.7.0",
- "text-encoding": "0.6.4"
+ "@sinonjs/formatio": "https://registry.npmjs.org/@sinonjs/formatio/-/formatio-2.0.0.tgz",
+ "just-extend": "https://registry.npmjs.org/just-extend/-/just-extend-1.1.27.tgz",
+ "lolex": "https://registry.npmjs.org/lolex/-/lolex-2.3.2.tgz",
+ "path-to-regexp": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.7.0.tgz",
+ "text-encoding": "https://registry.npmjs.org/text-encoding/-/text-encoding-0.6.4.tgz"
}
},
"node-int64": {
- "version": "0.3.3",
- "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.3.3.tgz",
+ "version": "https://registry.npmjs.org/node-int64/-/node-int64-0.3.3.tgz",
"integrity": "sha1-LW5rLs5d6FiLQ9iNG8QbJs0fqE0=",
"dev": true
},
"node-libs-browser": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.1.0.tgz",
- "integrity": "sha512-5AzFzdoIMb89hBGMZglEegffzgRg+ZFoUmisQ8HI4j1KDdpx13J0taNp2y9xPbur6W61gepGDDotGBVQ7mfUCg==",
- "dev": true,
- "requires": {
- "assert": "1.4.1",
- "browserify-zlib": "0.2.0",
- "buffer": "4.9.1",
- "console-browserify": "1.1.0",
- "constants-browserify": "1.0.0",
- "crypto-browserify": "3.12.0",
- "domain-browser": "1.1.7",
- "events": "1.1.1",
- "https-browserify": "1.0.0",
- "os-browserify": "0.3.0",
- "path-browserify": "0.0.0",
- "process": "0.11.10",
- "punycode": "1.4.1",
- "querystring-es3": "0.2.1",
- "readable-stream": "2.3.4",
- "stream-browserify": "2.0.1",
- "stream-http": "2.8.0",
- "string_decoder": "1.0.3",
- "timers-browserify": "2.0.6",
- "tty-browserify": "0.0.0",
- "url": "0.11.0",
- "util": "0.10.3",
- "vm-browserify": "0.0.4"
+ "version": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.1.0.tgz",
+ "integrity": "sha1-X5QmPUBPbkR2fXJpAf/wVHjWAN8=",
+ "dev": true,
+ "requires": {
+ "assert": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz",
+ "browserify-zlib": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz",
+ "buffer": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz",
+ "console-browserify": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz",
+ "constants-browserify": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz",
+ "crypto-browserify": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz",
+ "domain-browser": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.1.7.tgz",
+ "events": "https://registry.npmjs.org/events/-/events-1.1.1.tgz",
+ "https-browserify": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz",
+ "os-browserify": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz",
+ "path-browserify": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz",
+ "process": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
+ "punycode": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
+ "querystring-es3": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz",
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.4.tgz",
+ "stream-browserify": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz",
+ "stream-http": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.0.tgz",
+ "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz",
+ "timers-browserify": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.6.tgz",
+ "tty-browserify": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz",
+ "url": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
+ "util": "https://registry.npmjs.org/util/-/util-0.10.3.tgz",
+ "vm-browserify": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz"
},
"dependencies": {
"buffer": {
- "version": "4.9.1",
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz",
+ "version": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz",
"integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=",
"dev": true,
"requires": {
"base64-js": "1.2.1",
- "ieee754": "1.1.8",
- "isarray": "1.0.0"
+ "ieee754": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.8.tgz",
+ "isarray": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz"
}
},
"timers-browserify": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.6.tgz",
- "integrity": "sha512-HQ3nbYRAowdVd0ckGFvmJPPCOH/CHleFN/Y0YQCX1DVaB7t+KFvisuyN09fuP8Jtp1CpfSh8O8bMkHbdbPe6Pw==",
+ "version": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.6.tgz",
+ "integrity": "sha1-JB52kn2coF9NlZgZAi9bNmS2S64=",
"dev": true,
"requires": {
- "setimmediate": "1.0.5"
+ "setimmediate": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz"
}
},
"tty-browserify": {
- "version": "0.0.0",
- "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz",
+ "version": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz",
"integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=",
"dev": true
},
"url": {
- "version": "0.11.0",
- "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
+ "version": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
"integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=",
"dev": true,
"requires": {
- "punycode": "1.3.2",
- "querystring": "0.2.0"
+ "punycode": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
+ "querystring": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz"
},
"dependencies": {
"punycode": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
+ "version": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
"integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=",
"dev": true
}
@@ -12143,963 +11079,856 @@
}
},
"nodemailer": {
- "version": "2.7.2",
- "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-2.7.2.tgz",
+ "version": "https://registry.npmjs.org/nodemailer/-/nodemailer-2.7.2.tgz",
"integrity": "sha1-8kLmSa7q45tsftdA73sGHEBNMPk=",
"dev": true,
"optional": true,
"requires": {
- "libmime": "3.0.0",
- "mailcomposer": "4.0.1",
- "nodemailer-direct-transport": "3.3.2",
- "nodemailer-shared": "1.1.0",
- "nodemailer-smtp-pool": "2.8.2",
- "nodemailer-smtp-transport": "2.7.2",
- "socks": "1.1.9"
+ "libmime": "https://registry.npmjs.org/libmime/-/libmime-3.0.0.tgz",
+ "mailcomposer": "https://registry.npmjs.org/mailcomposer/-/mailcomposer-4.0.1.tgz",
+ "nodemailer-direct-transport": "https://registry.npmjs.org/nodemailer-direct-transport/-/nodemailer-direct-transport-3.3.2.tgz",
+ "nodemailer-shared": "https://registry.npmjs.org/nodemailer-shared/-/nodemailer-shared-1.1.0.tgz",
+ "nodemailer-smtp-pool": "https://registry.npmjs.org/nodemailer-smtp-pool/-/nodemailer-smtp-pool-2.8.2.tgz",
+ "nodemailer-smtp-transport": "https://registry.npmjs.org/nodemailer-smtp-transport/-/nodemailer-smtp-transport-2.7.2.tgz",
+ "socks": "https://registry.npmjs.org/socks/-/socks-1.1.9.tgz"
},
"dependencies": {
"ip": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz",
+ "version": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz",
"integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=",
"dev": true,
"optional": true
},
"socks": {
- "version": "1.1.9",
- "resolved": "https://registry.npmjs.org/socks/-/socks-1.1.9.tgz",
+ "version": "https://registry.npmjs.org/socks/-/socks-1.1.9.tgz",
"integrity": "sha1-Yo1+TQSRJDVEWsC25Fk3bLPm1pE=",
"dev": true,
"optional": true,
"requires": {
- "ip": "1.1.5",
- "smart-buffer": "1.1.15"
+ "ip": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz",
+ "smart-buffer": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-1.1.15.tgz"
}
}
}
},
"nodemailer-direct-transport": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/nodemailer-direct-transport/-/nodemailer-direct-transport-3.3.2.tgz",
+ "version": "https://registry.npmjs.org/nodemailer-direct-transport/-/nodemailer-direct-transport-3.3.2.tgz",
"integrity": "sha1-6W+vuQNYVglH5WkBfZfmBzilCoY=",
"dev": true,
"optional": true,
"requires": {
- "nodemailer-shared": "1.1.0",
- "smtp-connection": "2.12.0"
+ "nodemailer-shared": "https://registry.npmjs.org/nodemailer-shared/-/nodemailer-shared-1.1.0.tgz",
+ "smtp-connection": "https://registry.npmjs.org/smtp-connection/-/smtp-connection-2.12.0.tgz"
}
},
"nodemailer-fetch": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/nodemailer-fetch/-/nodemailer-fetch-1.6.0.tgz",
+ "version": "https://registry.npmjs.org/nodemailer-fetch/-/nodemailer-fetch-1.6.0.tgz",
"integrity": "sha1-ecSQihwPXzdbc/6IjamCj23JY6Q=",
"dev": true
},
"nodemailer-shared": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/nodemailer-shared/-/nodemailer-shared-1.1.0.tgz",
+ "version": "https://registry.npmjs.org/nodemailer-shared/-/nodemailer-shared-1.1.0.tgz",
"integrity": "sha1-z1mU4v0mjQD1zw+nZ6CBae2wfsA=",
"dev": true,
"requires": {
- "nodemailer-fetch": "1.6.0"
+ "nodemailer-fetch": "https://registry.npmjs.org/nodemailer-fetch/-/nodemailer-fetch-1.6.0.tgz"
}
},
"nodemailer-smtp-pool": {
- "version": "2.8.2",
- "resolved": "https://registry.npmjs.org/nodemailer-smtp-pool/-/nodemailer-smtp-pool-2.8.2.tgz",
+ "version": "https://registry.npmjs.org/nodemailer-smtp-pool/-/nodemailer-smtp-pool-2.8.2.tgz",
"integrity": "sha1-LrlNbPhXgLG0clzoU7nL1ejajHI=",
"dev": true,
"optional": true,
"requires": {
- "nodemailer-shared": "1.1.0",
- "nodemailer-wellknown": "0.1.10",
- "smtp-connection": "2.12.0"
+ "nodemailer-shared": "https://registry.npmjs.org/nodemailer-shared/-/nodemailer-shared-1.1.0.tgz",
+ "nodemailer-wellknown": "https://registry.npmjs.org/nodemailer-wellknown/-/nodemailer-wellknown-0.1.10.tgz",
+ "smtp-connection": "https://registry.npmjs.org/smtp-connection/-/smtp-connection-2.12.0.tgz"
}
},
"nodemailer-smtp-transport": {
- "version": "2.7.2",
- "resolved": "https://registry.npmjs.org/nodemailer-smtp-transport/-/nodemailer-smtp-transport-2.7.2.tgz",
+ "version": "https://registry.npmjs.org/nodemailer-smtp-transport/-/nodemailer-smtp-transport-2.7.2.tgz",
"integrity": "sha1-A9ccdjFPFKx9vHvwM6am0W1n+3c=",
"dev": true,
"optional": true,
"requires": {
- "nodemailer-shared": "1.1.0",
- "nodemailer-wellknown": "0.1.10",
- "smtp-connection": "2.12.0"
+ "nodemailer-shared": "https://registry.npmjs.org/nodemailer-shared/-/nodemailer-shared-1.1.0.tgz",
+ "nodemailer-wellknown": "https://registry.npmjs.org/nodemailer-wellknown/-/nodemailer-wellknown-0.1.10.tgz",
+ "smtp-connection": "https://registry.npmjs.org/smtp-connection/-/smtp-connection-2.12.0.tgz"
}
},
"nodemailer-wellknown": {
- "version": "0.1.10",
- "resolved": "https://registry.npmjs.org/nodemailer-wellknown/-/nodemailer-wellknown-0.1.10.tgz",
+ "version": "https://registry.npmjs.org/nodemailer-wellknown/-/nodemailer-wellknown-0.1.10.tgz",
"integrity": "sha1-WG24EB2zDLRDjrVGc3pBqtDPE9U=",
"dev": true
},
"nopt": {
- "version": "3.0.6",
- "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
+ "version": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
"integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=",
"dev": true,
"requires": {
- "abbrev": "1.0.9"
+ "abbrev": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz"
}
},
"normalize-package-data": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz",
- "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==",
+ "version": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz",
+ "integrity": "sha1-EvlaMH1YNSB1oEkHuErIvpisAS8=",
"dev": true,
"requires": {
- "hosted-git-info": "2.5.0",
- "is-builtin-module": "1.0.0",
- "semver": "5.5.0",
+ "hosted-git-info": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.5.0.tgz",
+ "is-builtin-module": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz",
+ "semver": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz",
"validate-npm-package-license": "3.0.1"
}
},
"normalize-path": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
+ "version": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
"integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
"requires": {
- "remove-trailing-separator": "1.1.0"
+ "remove-trailing-separator": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz"
}
},
"now-and-later": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/now-and-later/-/now-and-later-2.0.0.tgz",
+ "version": "https://registry.npmjs.org/now-and-later/-/now-and-later-2.0.0.tgz",
"integrity": "sha1-vGHLtFbXnLMiB85HygUTb/Ln1u4=",
"dev": true,
"requires": {
- "once": "1.4.0"
+ "once": "https://registry.npmjs.org/once/-/once-1.4.0.tgz"
}
},
"npm-run-path": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
+ "version": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
"integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
"dev": true,
"requires": {
- "path-key": "2.0.1"
+ "path-key": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz"
}
},
"null-check": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/null-check/-/null-check-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/null-check/-/null-check-1.0.0.tgz",
"integrity": "sha1-l33/1xdgErnsMNKjnbXPcqBDnt0=",
"dev": true
},
"number-is-nan": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
+ "version": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
"integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
"dev": true
},
"oauth-sign": {
- "version": "0.8.2",
- "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz",
+ "version": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz",
"integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=",
"dev": true
},
"object-assign": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "version": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
"integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
},
"object-component": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz",
+ "version": "https://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz",
"integrity": "sha1-8MaapQ78lbhmwYb0AKM3acsvEpE=",
"dev": true
},
"object-copy": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
+ "version": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
"integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
"dev": true,
"requires": {
- "copy-descriptor": "0.1.1",
- "define-property": "0.2.5",
- "kind-of": "3.2.2"
+ "copy-descriptor": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
+ "define-property": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz"
},
"dependencies": {
"define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "version": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
"dev": true,
"requires": {
- "is-descriptor": "0.1.6"
+ "is-descriptor": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz"
}
},
"is-accessor-descriptor": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
+ "version": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
"integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
"dev": true,
"requires": {
- "kind-of": "3.2.2"
+ "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz"
}
},
"is-data-descriptor": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
+ "version": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
"integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
"dev": true,
"requires": {
- "kind-of": "3.2.2"
+ "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz"
}
},
"is-descriptor": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
- "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
+ "version": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
+ "integrity": "sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco=",
"dev": true,
"requires": {
- "is-accessor-descriptor": "0.1.6",
- "is-data-descriptor": "0.1.4",
- "kind-of": "5.1.0"
+ "is-accessor-descriptor": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
+ "is-data-descriptor": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
+ "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz"
},
"dependencies": {
"kind-of": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
- "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
+ "version": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
+ "integrity": "sha1-cpyR4thXt6QZofmqZWhcTDP1hF0=",
"dev": true
}
}
},
"kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "version": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
"dev": true,
"requires": {
- "is-buffer": "1.1.6"
+ "is-buffer": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz"
}
}
}
},
"object-keys": {
- "version": "1.0.11",
- "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.11.tgz",
+ "version": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.11.tgz",
"integrity": "sha1-xUYBd4rVYPEULODgG8yotW0TQm0=",
"dev": true
},
"object-visit": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
+ "version": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
"integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
"dev": true,
"requires": {
- "isobject": "3.0.1"
+ "isobject": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz"
}
},
"object.assign": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz",
- "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==",
+ "version": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz",
+ "integrity": "sha1-lovxEA15Vrs8oIbwBvhGs7xACNo=",
"dev": true,
"requires": {
- "define-properties": "1.1.2",
- "function-bind": "1.1.1",
- "has-symbols": "1.0.0",
- "object-keys": "1.0.11"
+ "define-properties": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz",
+ "function-bind": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
+ "has-symbols": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz",
+ "object-keys": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.11.tgz"
}
},
"object.defaults": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz",
+ "version": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz",
"integrity": "sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=",
"dev": true,
"requires": {
- "array-each": "1.0.1",
- "array-slice": "1.1.0",
- "for-own": "1.0.0",
- "isobject": "3.0.1"
+ "array-each": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz",
+ "array-slice": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz",
+ "for-own": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz",
+ "isobject": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz"
}
},
"object.map": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz",
+ "version": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz",
"integrity": "sha1-z4Plncj8wK1fQlDh94s7gb2AHTc=",
"dev": true,
"requires": {
- "for-own": "1.0.0",
- "make-iterator": "1.0.0"
+ "for-own": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz",
+ "make-iterator": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.0.tgz"
}
},
"object.omit": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz",
+ "version": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz",
"integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=",
"dev": true,
"requires": {
- "for-own": "0.1.5",
- "is-extendable": "0.1.1"
+ "for-own": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz",
+ "is-extendable": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz"
},
"dependencies": {
"for-own": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz",
+ "version": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz",
"integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=",
"dev": true,
"requires": {
- "for-in": "1.0.2"
+ "for-in": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz"
}
}
}
},
"object.pick": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
+ "version": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
"integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
"dev": true,
"requires": {
- "isobject": "3.0.1"
+ "isobject": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz"
}
},
"on-finished": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
+ "version": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
"integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
"dev": true,
"requires": {
- "ee-first": "1.1.1"
+ "ee-first": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz"
}
},
"on-headers": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz",
+ "version": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz",
"integrity": "sha1-ko9dD0cNSTQmUepnlLCFfBAGk/c=",
"dev": true
},
"once": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "version": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
"integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
"dev": true,
"requires": {
- "wrappy": "1.0.2"
+ "wrappy": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz"
}
},
"onetime": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz",
+ "version": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz",
"integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=",
"dev": true,
"requires": {
- "mimic-fn": "1.2.0"
+ "mimic-fn": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz"
}
},
"open": {
- "version": "0.0.5",
- "resolved": "https://registry.npmjs.org/open/-/open-0.0.5.tgz",
+ "version": "https://registry.npmjs.org/open/-/open-0.0.5.tgz",
"integrity": "sha1-QsPhjslUZra/DcQvOilFw/DK2Pw=",
"dev": true
},
"openurl": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/openurl/-/openurl-1.1.1.tgz",
+ "version": "https://registry.npmjs.org/openurl/-/openurl-1.1.1.tgz",
"integrity": "sha1-OHW0sO96UsFW8NtB1GCduw+Us4c=",
"dev": true
},
"optimist": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz",
+ "version": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz",
"integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=",
"dev": true,
"requires": {
- "minimist": "0.0.8",
- "wordwrap": "0.0.3"
+ "minimist": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
+ "wordwrap": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz"
},
"dependencies": {
"wordwrap": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz",
+ "version": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz",
"integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=",
"dev": true
}
}
},
"optimize-js": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/optimize-js/-/optimize-js-1.0.3.tgz",
+ "version": "https://registry.npmjs.org/optimize-js/-/optimize-js-1.0.3.tgz",
"integrity": "sha1-QyavhlfEpf8y2vcmYxdU9yq3/bw=",
"dev": true,
"requires": {
- "acorn": "3.3.0",
- "concat-stream": "1.6.0",
- "estree-walker": "0.3.1",
- "magic-string": "0.16.0",
- "yargs": "4.8.1"
+ "acorn": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz",
+ "concat-stream": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz",
+ "estree-walker": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.3.1.tgz",
+ "magic-string": "https://registry.npmjs.org/magic-string/-/magic-string-0.16.0.tgz",
+ "yargs": "https://registry.npmjs.org/yargs/-/yargs-4.8.1.tgz"
},
"dependencies": {
"acorn": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz",
+ "version": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz",
"integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=",
"dev": true
},
"camelcase": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz",
+ "version": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz",
"integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=",
"dev": true
},
"find-up": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
+ "version": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
"integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
"dev": true,
"requires": {
- "path-exists": "2.1.0",
- "pinkie-promise": "2.0.1"
+ "path-exists": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
+ "pinkie-promise": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz"
}
},
"load-json-file": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
+ "version": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
"integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
"dev": true,
"requires": {
- "graceful-fs": "4.1.11",
- "parse-json": "2.2.0",
- "pify": "2.3.0",
- "pinkie-promise": "2.0.1",
- "strip-bom": "2.0.0"
+ "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "parse-json": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
+ "pify": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "pinkie-promise": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
+ "strip-bom": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz"
}
},
"os-locale": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz",
+ "version": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz",
"integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=",
"dev": true,
"requires": {
- "lcid": "1.0.0"
+ "lcid": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz"
}
},
"parse-json": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
+ "version": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
"integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
"dev": true,
"requires": {
- "error-ex": "1.3.1"
+ "error-ex": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz"
}
},
"path-exists": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
+ "version": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
"integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
"dev": true,
"requires": {
- "pinkie-promise": "2.0.1"
+ "pinkie-promise": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz"
}
},
"path-type": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz",
+ "version": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz",
"integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=",
"dev": true,
"requires": {
- "graceful-fs": "4.1.11",
- "pify": "2.3.0",
- "pinkie-promise": "2.0.1"
+ "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "pify": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "pinkie-promise": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz"
}
},
"pify": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "version": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
"integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
"dev": true
},
"read-pkg": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz",
+ "version": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz",
"integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=",
"dev": true,
"requires": {
- "load-json-file": "1.1.0",
- "normalize-package-data": "2.4.0",
- "path-type": "1.1.0"
+ "load-json-file": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
+ "normalize-package-data": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz",
+ "path-type": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz"
}
},
"read-pkg-up": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz",
+ "version": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz",
"integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=",
"dev": true,
"requires": {
- "find-up": "1.1.2",
- "read-pkg": "1.1.0"
+ "find-up": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
+ "read-pkg": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz"
}
},
"strip-bom": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
+ "version": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
"integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
"dev": true,
"requires": {
- "is-utf8": "0.2.1"
+ "is-utf8": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz"
}
},
"which-module": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz",
"integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=",
"dev": true
},
"yargs": {
- "version": "4.8.1",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-4.8.1.tgz",
+ "version": "https://registry.npmjs.org/yargs/-/yargs-4.8.1.tgz",
"integrity": "sha1-wMQpJMpKqmsObaFznfshZDn53cA=",
"dev": true,
"requires": {
- "cliui": "3.2.0",
- "decamelize": "1.2.0",
- "get-caller-file": "1.0.2",
- "lodash.assign": "4.2.0",
- "os-locale": "1.4.0",
- "read-pkg-up": "1.0.1",
- "require-directory": "2.1.1",
- "require-main-filename": "1.0.1",
- "set-blocking": "2.0.0",
- "string-width": "1.0.2",
- "which-module": "1.0.0",
- "window-size": "0.2.0",
- "y18n": "3.2.1",
- "yargs-parser": "2.4.1"
+ "cliui": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
+ "decamelize": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
+ "get-caller-file": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz",
+ "lodash.assign": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz",
+ "os-locale": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz",
+ "read-pkg-up": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz",
+ "require-directory": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
+ "require-main-filename": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz",
+ "set-blocking": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
+ "string-width": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
+ "which-module": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz",
+ "window-size": "https://registry.npmjs.org/window-size/-/window-size-0.2.0.tgz",
+ "y18n": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz",
+ "yargs-parser": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-2.4.1.tgz"
}
},
"yargs-parser": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-2.4.1.tgz",
+ "version": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-2.4.1.tgz",
"integrity": "sha1-hVaN488VD/SfpRgl8DqMiA3cxcQ=",
"dev": true,
"requires": {
- "camelcase": "3.0.0",
- "lodash.assign": "4.2.0"
+ "camelcase": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz",
+ "lodash.assign": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz"
}
}
}
},
"optionator": {
- "version": "0.8.2",
- "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz",
+ "version": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz",
"integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=",
"dev": true,
"requires": {
- "deep-is": "0.1.3",
- "fast-levenshtein": "2.0.6",
- "levn": "0.3.0",
- "prelude-ls": "1.1.2",
- "type-check": "0.3.2",
- "wordwrap": "1.0.0"
+ "deep-is": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
+ "fast-levenshtein": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
+ "levn": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
+ "prelude-ls": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
+ "type-check": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
+ "wordwrap": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz"
}
},
"orchestrator": {
- "version": "0.3.8",
- "resolved": "https://registry.npmjs.org/orchestrator/-/orchestrator-0.3.8.tgz",
+ "version": "https://registry.npmjs.org/orchestrator/-/orchestrator-0.3.8.tgz",
"integrity": "sha1-FOfp4nZPcxX7rBhOUGx6pt+UrX4=",
"dev": true,
"requires": {
- "end-of-stream": "0.1.5",
- "sequencify": "0.0.7",
+ "end-of-stream": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-0.1.5.tgz",
+ "sequencify": "https://registry.npmjs.org/sequencify/-/sequencify-0.0.7.tgz",
"stream-consume": "0.1.0"
},
"dependencies": {
"end-of-stream": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-0.1.5.tgz",
+ "version": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-0.1.5.tgz",
"integrity": "sha1-jhdyBsPICDfYVjLouTWd/osvbq8=",
"dev": true,
"requires": {
- "once": "1.3.3"
+ "once": "https://registry.npmjs.org/once/-/once-1.3.3.tgz"
}
},
"once": {
- "version": "1.3.3",
- "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz",
+ "version": "https://registry.npmjs.org/once/-/once-1.3.3.tgz",
"integrity": "sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA=",
"dev": true,
"requires": {
- "wrappy": "1.0.2"
+ "wrappy": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz"
}
}
}
},
"ordered-read-streams": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz",
+ "version": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz",
"integrity": "sha1-d8DLN8QVJdZBZtmQ/61+xqDhNj4=",
"dev": true,
"requires": {
- "readable-stream": "2.3.4"
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.4.tgz"
}
},
"os-browserify": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz",
+ "version": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz",
"integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=",
"dev": true
},
"os-homedir": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
+ "version": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
"integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
"dev": true
},
"os-locale": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz",
- "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==",
+ "version": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz",
+ "integrity": "sha1-QrwpAKa1uL0XN2yOiCtlr8zyS/I=",
"dev": true,
"requires": {
- "execa": "0.7.0",
- "lcid": "1.0.0",
- "mem": "1.1.0"
+ "execa": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz",
+ "lcid": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz",
+ "mem": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz"
}
},
"os-tmpdir": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
+ "version": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
"integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
"dev": true
},
"over": {
- "version": "0.0.5",
- "resolved": "https://registry.npmjs.org/over/-/over-0.0.5.tgz",
+ "version": "https://registry.npmjs.org/over/-/over-0.0.5.tgz",
"integrity": "sha1-8phS5w/X4l82DgE6jsRMgq7bVwg=",
"dev": true
},
"p-finally": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
"integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
"dev": true
},
"p-limit": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.2.0.tgz",
- "integrity": "sha512-Y/OtIaXtUPr4/YpMv1pCL5L5ed0rumAaAeBSj12F+bSlMdys7i8oQF/GUJmfpTS/QoaRrS/k6pma29haJpsMng==",
+ "version": "https://registry.npmjs.org/p-limit/-/p-limit-1.2.0.tgz",
+ "integrity": "sha1-DpK2vty1nwIsE9DxlJ3ILRWQnxw=",
"dev": true,
"requires": {
- "p-try": "1.0.0"
+ "p-try": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz"
}
},
"p-locate": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
+ "version": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
"integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
"dev": true,
"requires": {
- "p-limit": "1.2.0"
+ "p-limit": "https://registry.npmjs.org/p-limit/-/p-limit-1.2.0.tgz"
}
},
"p-try": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
"integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=",
"dev": true
},
"pac-proxy-agent": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-1.1.0.tgz",
- "integrity": "sha512-QBELCWyLYPgE2Gj+4wUEiMscHrQ8nRPBzYItQNOHWavwBt25ohZHQC4qnd5IszdVVrFbLsQ+dPkm6eqdjJAmwQ==",
- "dev": true,
- "requires": {
- "agent-base": "2.1.1",
- "debug": "2.6.9",
- "extend": "3.0.1",
- "get-uri": "2.0.1",
- "http-proxy-agent": "1.0.0",
- "https-proxy-agent": "1.0.0",
- "pac-resolver": "2.0.0",
- "raw-body": "2.3.2",
- "socks-proxy-agent": "2.1.1"
+ "version": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-1.1.0.tgz",
+ "integrity": "sha1-NKOF399h0vDsrOCIWMdF0+eR/U0=",
+ "dev": true,
+ "requires": {
+ "agent-base": "https://registry.npmjs.org/agent-base/-/agent-base-2.1.1.tgz",
+ "debug": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "extend": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz",
+ "get-uri": "https://registry.npmjs.org/get-uri/-/get-uri-2.0.1.tgz",
+ "http-proxy-agent": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-1.0.0.tgz",
+ "https-proxy-agent": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-1.0.0.tgz",
+ "pac-resolver": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-2.0.0.tgz",
+ "raw-body": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.2.tgz",
+ "socks-proxy-agent": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-2.1.1.tgz"
},
"dependencies": {
"bytes": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
+ "version": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
"integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=",
"dev": true
},
"debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "version": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
"dev": true,
"requires": {
- "ms": "2.0.0"
+ "ms": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"
}
},
"depd": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz",
+ "version": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz",
"integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k=",
"dev": true
},
"http-errors": {
- "version": "1.6.2",
- "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz",
+ "version": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz",
"integrity": "sha1-CgAsyFcHGSp+eUbO7cERVfYOxzY=",
"dev": true,
"requires": {
- "depd": "1.1.1",
- "inherits": "2.0.3",
- "setprototypeof": "1.0.3",
- "statuses": "1.4.0"
+ "depd": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "setprototypeof": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz",
+ "statuses": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz"
}
},
"iconv-lite": {
- "version": "0.4.19",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz",
- "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==",
+ "version": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz",
+ "integrity": "sha1-90aPYBNfXl2tM5nAqBvpoWA6CCs=",
"dev": true
},
"raw-body": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.2.tgz",
+ "version": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.2.tgz",
"integrity": "sha1-vNYMd9Prk83gBQKVw/N5OJvIj4k=",
"dev": true,
"requires": {
- "bytes": "3.0.0",
- "http-errors": "1.6.2",
- "iconv-lite": "0.4.19",
- "unpipe": "1.0.0"
+ "bytes": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
+ "http-errors": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz",
+ "iconv-lite": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz",
+ "unpipe": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz"
}
}
}
},
"pac-resolver": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-2.0.0.tgz",
+ "version": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-2.0.0.tgz",
"integrity": "sha1-mbiNLxk/ve78HJpSnB8yYKtSd80=",
"dev": true,
"requires": {
- "co": "3.0.6",
- "degenerator": "1.0.4",
- "ip": "1.0.1",
- "netmask": "1.0.6",
- "thunkify": "2.1.2"
+ "co": "https://registry.npmjs.org/co/-/co-3.0.6.tgz",
+ "degenerator": "https://registry.npmjs.org/degenerator/-/degenerator-1.0.4.tgz",
+ "ip": "https://registry.npmjs.org/ip/-/ip-1.0.1.tgz",
+ "netmask": "https://registry.npmjs.org/netmask/-/netmask-1.0.6.tgz",
+ "thunkify": "https://registry.npmjs.org/thunkify/-/thunkify-2.1.2.tgz"
},
"dependencies": {
"co": {
- "version": "3.0.6",
- "resolved": "https://registry.npmjs.org/co/-/co-3.0.6.tgz",
+ "version": "https://registry.npmjs.org/co/-/co-3.0.6.tgz",
"integrity": "sha1-FEXyJsXrlWE45oyawwFn6n0ua9o=",
"dev": true
}
}
},
"pako": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.6.tgz",
- "integrity": "sha512-lQe48YPsMJAig+yngZ87Lus+NF+3mtu7DVOBu6b/gHO1YpKwIj5AWjZ/TOS7i46HD/UixzWb1zeWDZfGZ3iYcg==",
+ "version": "https://registry.npmjs.org/pako/-/pako-1.0.6.tgz",
+ "integrity": "sha1-AQEhG6pwxLykoPY/Igbpe3368lg=",
"dev": true
},
"parents": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/parents/-/parents-1.0.1.tgz",
+ "version": "https://registry.npmjs.org/parents/-/parents-1.0.1.tgz",
"integrity": "sha1-/t1NK/GTp3dF/nHjcdc8MwfZx1E=",
"dev": true,
"requires": {
- "path-platform": "0.11.15"
+ "path-platform": "https://registry.npmjs.org/path-platform/-/path-platform-0.11.15.tgz"
}
},
"parse-asn1": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.0.tgz",
+ "version": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.0.tgz",
"integrity": "sha1-N8T5t+06tlx0gXtfJICTf7+XxxI=",
"dev": true,
"requires": {
"asn1.js": "4.9.2",
- "browserify-aes": "1.1.1",
- "create-hash": "1.1.3",
- "evp_bytestokey": "1.0.3",
- "pbkdf2": "3.0.14"
+ "browserify-aes": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.1.1.tgz",
+ "create-hash": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.3.tgz",
+ "evp_bytestokey": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz",
+ "pbkdf2": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.14.tgz"
}
},
"parse-entities": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-1.1.1.tgz",
+ "version": "https://registry.npmjs.org/parse-entities/-/parse-entities-1.1.1.tgz",
"integrity": "sha1-gRLYhHExnyerrk1klksSL+ThuJA=",
"dev": true,
"requires": {
- "character-entities": "1.2.1",
- "character-entities-legacy": "1.1.1",
- "character-reference-invalid": "1.1.1",
- "is-alphanumerical": "1.0.1",
- "is-decimal": "1.0.1",
- "is-hexadecimal": "1.0.1"
+ "character-entities": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.1.tgz",
+ "character-entities-legacy": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.1.tgz",
+ "character-reference-invalid": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.1.tgz",
+ "is-alphanumerical": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.1.tgz",
+ "is-decimal": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.1.tgz",
+ "is-hexadecimal": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.1.tgz"
}
},
"parse-filepath": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz",
+ "version": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz",
"integrity": "sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=",
"dev": true,
"requires": {
- "is-absolute": "1.0.0",
- "map-cache": "0.2.2",
- "path-root": "0.1.1"
+ "is-absolute": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz",
+ "map-cache": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
+ "path-root": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz"
}
},
"parse-git-config": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/parse-git-config/-/parse-git-config-0.2.0.tgz",
+ "version": "https://registry.npmjs.org/parse-git-config/-/parse-git-config-0.2.0.tgz",
"integrity": "sha1-Jygz/dFf6hRvt10zbSNrljtv9wY=",
"dev": true,
"requires": {
- "ini": "1.3.5"
+ "ini": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz"
}
},
"parse-glob": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz",
+ "version": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz",
"integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=",
"dev": true,
"requires": {
- "glob-base": "0.3.0",
- "is-dotfile": "1.0.3",
- "is-extglob": "1.0.0",
- "is-glob": "2.0.1"
+ "glob-base": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz",
+ "is-dotfile": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz",
+ "is-extglob": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
+ "is-glob": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz"
},
"dependencies": {
"is-extglob": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
"integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
"dev": true
},
"is-glob": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
+ "version": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
"integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
"dev": true,
"requires": {
- "is-extglob": "1.0.0"
+ "is-extglob": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz"
}
}
}
},
"parse-json": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
+ "version": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
"integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
"dev": true,
"requires": {
- "error-ex": "1.3.1",
- "json-parse-better-errors": "1.0.1"
+ "error-ex": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz",
+ "json-parse-better-errors": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.1.tgz"
}
},
"parse-passwd": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz",
"integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=",
"dev": true
},
"parse-url": {
- "version": "1.3.11",
- "resolved": "https://registry.npmjs.org/parse-url/-/parse-url-1.3.11.tgz",
+ "version": "https://registry.npmjs.org/parse-url/-/parse-url-1.3.11.tgz",
"integrity": "sha1-V8FUKKuKiSsfQ4aWRccR0OFEtVQ=",
"dev": true,
"requires": {
- "is-ssh": "1.3.0",
- "protocols": "1.4.6"
+ "is-ssh": "https://registry.npmjs.org/is-ssh/-/is-ssh-1.3.0.tgz",
+ "protocols": "https://registry.npmjs.org/protocols/-/protocols-1.4.6.tgz"
}
},
"parseqs": {
- "version": "0.0.5",
- "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz",
+ "version": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz",
"integrity": "sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0=",
"dev": true,
"requires": {
- "better-assert": "1.0.2"
+ "better-assert": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz"
}
},
"parseuri": {
- "version": "0.0.5",
- "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz",
+ "version": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz",
"integrity": "sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo=",
"dev": true,
"requires": {
- "better-assert": "1.0.2"
+ "better-assert": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz"
}
},
"parseurl": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz",
+ "version": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz",
"integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=",
"dev": true
},
"pascalcase": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
+ "version": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
"integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=",
"dev": true
},
"path-browserify": {
- "version": "0.0.0",
- "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz",
+ "version": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz",
"integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=",
"dev": true
},
"path-dirname": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz",
+ "version": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz",
"integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=",
"dev": true
},
"path-exists": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
+ "version": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
"integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
"dev": true
},
"path-is-absolute": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "version": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
"integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
"dev": true
},
"path-is-inside": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz",
+ "version": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz",
"integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=",
"dev": true
},
"path-key": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
+ "version": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
"integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
"dev": true
},
"path-parse": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz",
+ "version": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz",
"integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=",
"dev": true
},
"path-platform": {
- "version": "0.11.15",
- "resolved": "https://registry.npmjs.org/path-platform/-/path-platform-0.11.15.tgz",
+ "version": "https://registry.npmjs.org/path-platform/-/path-platform-0.11.15.tgz",
"integrity": "sha1-6GQhf3TDaFDwhSt43Hv31KVyG/I=",
"dev": true
},
"path-proxy": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/path-proxy/-/path-proxy-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/path-proxy/-/path-proxy-1.0.0.tgz",
"integrity": "sha1-GOijaFn8nS8aU7SN7hOFQ8Ag3l4=",
"dev": true,
"optional": true,
"requires": {
- "inflection": "1.3.8"
+ "inflection": "https://registry.npmjs.org/inflection/-/inflection-1.3.8.tgz"
},
"dependencies": {
"inflection": {
- "version": "1.3.8",
- "resolved": "https://registry.npmjs.org/inflection/-/inflection-1.3.8.tgz",
+ "version": "https://registry.npmjs.org/inflection/-/inflection-1.3.8.tgz",
"integrity": "sha1-y9Fg2p91sUw8xjV41POWeEvzAU4=",
"dev": true,
"optional": true
@@ -13107,125 +11936,110 @@
}
},
"path-root": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz",
+ "version": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz",
"integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=",
"dev": true,
"requires": {
- "path-root-regex": "0.1.2"
+ "path-root-regex": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz"
}
},
"path-root-regex": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz",
+ "version": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz",
"integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=",
"dev": true
},
"path-to-regexp": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.7.0.tgz",
+ "version": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.7.0.tgz",
"integrity": "sha1-Wf3g9DW62suhA6hOnTvGTpa5k30=",
"dev": true,
"requires": {
- "isarray": "0.0.1"
+ "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz"
},
"dependencies": {
"isarray": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "version": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
"integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
"dev": true
}
}
},
"path-type": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz",
- "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==",
+ "version": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz",
+ "integrity": "sha1-zvMdyOCho7sNEFwM2Xzzv0f0428=",
"dev": true,
"requires": {
- "pify": "3.0.0"
+ "pify": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz"
}
},
"pause": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/pause/-/pause-0.1.0.tgz",
+ "version": "https://registry.npmjs.org/pause/-/pause-0.1.0.tgz",
"integrity": "sha1-68ikqGGf8LioGsFRPDQ0/0af23Q=",
"dev": true
},
"pause-stream": {
- "version": "0.0.11",
- "resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz",
+ "version": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz",
"integrity": "sha1-/lo0sMvOErWqaitAPuLnO2AvFEU=",
"dev": true,
"requires": {
- "through": "2.3.8"
+ "through": "https://registry.npmjs.org/through/-/through-2.3.8.tgz"
}
},
"pbkdf2": {
- "version": "3.0.14",
- "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.14.tgz",
- "integrity": "sha512-gjsZW9O34fm0R7PaLHRJmLLVfSoesxztjPjE9o6R+qtVJij90ltg1joIovN9GKrRW3t1PzhDDG3UMEMFfZ+1wA==",
+ "version": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.14.tgz",
+ "integrity": "sha1-o14TxkeZsGzhUyD0WcIw5o5zut4=",
"dev": true,
"requires": {
- "create-hash": "1.1.3",
- "create-hmac": "1.1.6",
- "ripemd160": "2.0.1",
- "safe-buffer": "5.1.1",
- "sha.js": "2.4.10"
+ "create-hash": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.3.tgz",
+ "create-hmac": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.6.tgz",
+ "ripemd160": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.1.tgz",
+ "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz",
+ "sha.js": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.10.tgz"
}
},
"pbkdf2-compat": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/pbkdf2-compat/-/pbkdf2-compat-2.0.1.tgz",
+ "version": "https://registry.npmjs.org/pbkdf2-compat/-/pbkdf2-compat-2.0.1.tgz",
"integrity": "sha1-tuDI+plJTZTgURV1gCpZpcFC8og=",
"dev": true
},
"performance-now": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz",
+ "version": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz",
"integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU=",
"dev": true
},
"pify": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
+ "version": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
"integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
"dev": true
},
"pinkie": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
+ "version": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
"integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=",
"dev": true
},
"pinkie-promise": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
+ "version": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
"integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
"dev": true,
"requires": {
- "pinkie": "2.0.4"
+ "pinkie": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz"
}
},
"pkg-dir": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz",
+ "version": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz",
"integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=",
"dev": true,
"requires": {
- "find-up": "2.1.0"
+ "find-up": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz"
}
},
"plugin-error": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-1.0.1.tgz",
- "integrity": "sha512-L1zP0dk7vGweZME2i+EeakvUNqSrdiI3F91TwEoYiGrAfUXmVv6fJIq4g82PAXxNsWOp0J7ZqQy/3Szz0ajTxA==",
+ "version": "https://registry.npmjs.org/plugin-error/-/plugin-error-1.0.1.tgz",
+ "integrity": "sha1-dwFr2JGdCsN3/c3QMiMolTyleBw=",
"dev": true,
"requires": {
"ansi-colors": "1.0.1",
- "arr-diff": "4.0.0",
- "arr-union": "3.1.0",
+ "arr-diff": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
+ "arr-union": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
"extend-shallow": "3.0.2"
},
"dependencies": {
@@ -13235,7 +12049,7 @@
"integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
"dev": true,
"requires": {
- "assign-symbols": "1.0.0",
+ "assign-symbols": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
"is-extendable": "1.0.1"
}
},
@@ -13245,221 +12059,194 @@
"integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
"dev": true,
"requires": {
- "is-plain-object": "2.0.4"
+ "is-plain-object": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz"
}
}
}
},
"pluralize": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz",
- "integrity": "sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==",
+ "version": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz",
+ "integrity": "sha1-KYuJ34uTsCIdv0Ia0rGx6iP8Z3c=",
"dev": true
},
"posix-character-classes": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
+ "version": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
"integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=",
"dev": true
},
"prelude-ls": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
+ "version": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
"integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=",
"dev": true
},
"preserve": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz",
+ "version": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz",
"integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=",
"dev": true
},
"pretty-hrtime": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz",
+ "version": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz",
"integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=",
"dev": true
},
"private": {
- "version": "0.1.8",
- "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz",
- "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==",
+ "version": "https://registry.npmjs.org/private/-/private-0.1.8.tgz",
+ "integrity": "sha1-I4Hts2ifelPWUxkAYPz4ItLzaP8=",
"dev": true
},
"process": {
- "version": "0.11.10",
- "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
+ "version": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
"integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=",
"dev": true
},
"process-nextick-args": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
- "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw=="
+ "version": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
+ "integrity": "sha1-o31zL0JxtKsa0HDTVQjoKQeI/6o="
},
"progress": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.0.tgz",
+ "version": "https://registry.npmjs.org/progress/-/progress-2.0.0.tgz",
"integrity": "sha1-ihvjZr+Pwj2yvSPxDG/pILQ4nR8=",
"dev": true
},
"property-information": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/property-information/-/property-information-3.2.0.tgz",
+ "version": "https://registry.npmjs.org/property-information/-/property-information-3.2.0.tgz",
"integrity": "sha1-/RSDyPusYYCPX+NZ52k6H0ilgzE=",
"dev": true
},
"protocols": {
- "version": "1.4.6",
- "resolved": "https://registry.npmjs.org/protocols/-/protocols-1.4.6.tgz",
+ "version": "https://registry.npmjs.org/protocols/-/protocols-1.4.6.tgz",
"integrity": "sha1-+LsmPqG1/Xp2BNJri+Ob13Z4v4o=",
"dev": true
},
"proxy-agent": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-2.0.0.tgz",
+ "version": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-2.0.0.tgz",
"integrity": "sha1-V+tTR6qAXXTsaByyVknbo5yTNJk=",
"dev": true,
"requires": {
- "agent-base": "2.1.1",
- "debug": "2.6.9",
- "extend": "3.0.1",
- "http-proxy-agent": "1.0.0",
- "https-proxy-agent": "1.0.0",
- "lru-cache": "2.6.5",
- "pac-proxy-agent": "1.1.0",
- "socks-proxy-agent": "2.1.1"
+ "agent-base": "https://registry.npmjs.org/agent-base/-/agent-base-2.1.1.tgz",
+ "debug": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "extend": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz",
+ "http-proxy-agent": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-1.0.0.tgz",
+ "https-proxy-agent": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-1.0.0.tgz",
+ "lru-cache": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.6.5.tgz",
+ "pac-proxy-agent": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-1.1.0.tgz",
+ "socks-proxy-agent": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-2.1.1.tgz"
},
"dependencies": {
"debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "version": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
"dev": true,
"requires": {
- "ms": "2.0.0"
+ "ms": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"
}
},
"lru-cache": {
- "version": "2.6.5",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.6.5.tgz",
+ "version": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.6.5.tgz",
"integrity": "sha1-5W1jVBSO3o13B7WNFDIg/QjfD9U=",
"dev": true
}
}
},
"proxyquire": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/proxyquire/-/proxyquire-1.8.0.tgz",
+ "version": "https://registry.npmjs.org/proxyquire/-/proxyquire-1.8.0.tgz",
"integrity": "sha1-AtUUpb7ZhvBMuyCTrxZ0FTX3ntw=",
"dev": true,
"requires": {
- "fill-keys": "1.0.2",
- "module-not-found-error": "1.0.1",
- "resolve": "1.1.7"
+ "fill-keys": "https://registry.npmjs.org/fill-keys/-/fill-keys-1.0.2.tgz",
+ "module-not-found-error": "https://registry.npmjs.org/module-not-found-error/-/module-not-found-error-1.0.1.tgz",
+ "resolve": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz"
},
"dependencies": {
"resolve": {
- "version": "1.1.7",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz",
+ "version": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz",
"integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=",
"dev": true
}
}
},
"prr": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
+ "version": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
"integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=",
"dev": true
},
"pseudomap": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
+ "version": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
"integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=",
"dev": true
},
"public-encrypt": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.0.tgz",
+ "version": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.0.tgz",
"integrity": "sha1-OfaZ86RlYN1eusvKaTyvfGXBjMY=",
"dev": true,
"requires": {
- "bn.js": "4.11.8",
- "browserify-rsa": "4.0.1",
- "create-hash": "1.1.3",
- "parse-asn1": "5.1.0",
- "randombytes": "2.0.6"
+ "bn.js": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz",
+ "browserify-rsa": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz",
+ "create-hash": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.3.tgz",
+ "parse-asn1": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.0.tgz",
+ "randombytes": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz"
}
},
"pullstream": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/pullstream/-/pullstream-0.4.1.tgz",
+ "version": "https://registry.npmjs.org/pullstream/-/pullstream-0.4.1.tgz",
"integrity": "sha1-1vs79a7Wl+gxFQ6xACwlo/iuExQ=",
"dev": true,
"requires": {
- "over": "0.0.5",
- "readable-stream": "1.0.34",
- "setimmediate": "1.0.5",
- "slice-stream": "1.0.0"
+ "over": "https://registry.npmjs.org/over/-/over-0.0.5.tgz",
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "setimmediate": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
+ "slice-stream": "https://registry.npmjs.org/slice-stream/-/slice-stream-1.0.0.tgz"
},
"dependencies": {
"isarray": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "version": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
"integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
"dev": true
},
"readable-stream": {
- "version": "1.0.34",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
"integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
"dev": true,
"requires": {
- "core-util-is": "1.0.2",
- "inherits": "2.0.3",
- "isarray": "0.0.1",
- "string_decoder": "0.10.31"
+ "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
}
},
"string_decoder": {
- "version": "0.10.31",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "version": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
"dev": true
}
}
},
"pump": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz",
- "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==",
+ "version": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz",
+ "integrity": "sha1-Ejma3W5M91Jtlzy8i1zi4pCLOQk=",
"dev": true,
"requires": {
- "end-of-stream": "1.4.1",
- "once": "1.4.0"
+ "end-of-stream": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz",
+ "once": "https://registry.npmjs.org/once/-/once-1.4.0.tgz"
}
},
"pumpify": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.4.0.tgz",
- "integrity": "sha512-2kmNR9ry+Pf45opRVirpNuIFotsxUGLaYqxIwuR77AYrYRMuFCz9eryHBS52L360O+NcR383CL4QYlMKPq4zYA==",
+ "version": "https://registry.npmjs.org/pumpify/-/pumpify-1.4.0.tgz",
+ "integrity": "sha1-gLfF334kFT0D8OesigWl0Gi9B/s=",
"dev": true,
"requires": {
- "duplexify": "3.5.3",
- "inherits": "2.0.3",
- "pump": "2.0.1"
+ "duplexify": "https://registry.npmjs.org/duplexify/-/duplexify-3.5.3.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "pump": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz"
}
},
"punycode": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
+ "version": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
"integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
"dev": true
},
"q": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/q/-/q-1.3.0.tgz",
+ "version": "https://registry.npmjs.org/q/-/q-1.3.0.tgz",
"integrity": "sha1-hQ15+MuDHZLhA7Rkg+TjXTRkAFA=",
"dev": true
},
@@ -13470,63 +12257,55 @@
"dev": true
},
"qs": {
- "version": "6.3.2",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.3.2.tgz",
+ "version": "https://registry.npmjs.org/qs/-/qs-6.3.2.tgz",
"integrity": "sha1-51vV9uJoEioqDgvaYwslUMFmUCw=",
"dev": true
},
"querystring": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
+ "version": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
"integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=",
"dev": true
},
"querystring-es3": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz",
+ "version": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz",
"integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=",
"dev": true
},
"querystringify": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-0.0.3.tgz",
+ "version": "https://registry.npmjs.org/querystringify/-/querystringify-0.0.3.tgz",
"integrity": "sha1-DJ02+/jHpPces3CFd2NXemMzW+c=",
"dev": true
},
"random-bytes": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/random-bytes/-/random-bytes-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/random-bytes/-/random-bytes-1.0.0.tgz",
"integrity": "sha1-T2ih3Arli9P7lYSMMDJNt11kNgs=",
"dev": true
},
"randomatic": {
- "version": "1.1.7",
- "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz",
- "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==",
+ "version": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz",
+ "integrity": "sha1-x6vpzIuHwLqodrGf3oP9RkeX44w=",
"dev": true,
"requires": {
- "is-number": "3.0.0",
- "kind-of": "4.0.0"
+ "is-number": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
+ "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz"
},
"dependencies": {
"kind-of": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
+ "version": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
"integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
"dev": true,
"requires": {
- "is-buffer": "1.1.6"
+ "is-buffer": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz"
}
}
}
},
"randombytes": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz",
- "integrity": "sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A==",
+ "version": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz",
+ "integrity": "sha1-0wLFIpSFiISKjTAMkytEwkIx2oA=",
"dev": true,
"requires": {
- "safe-buffer": "5.1.1"
+ "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz"
}
},
"randomfill": {
@@ -13535,152 +12314,137 @@
"integrity": "sha512-YL6GrhrWoic0Eq8rXVbMptH7dAxCs0J+mh5Y0euNekPPYaxEmdVGim6GdoxoRzKW2yJoU8tueifS7mYxvcFDEQ==",
"dev": true,
"requires": {
- "randombytes": "2.0.6",
- "safe-buffer": "5.1.1"
+ "randombytes": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz",
+ "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz"
}
},
"range-parser": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.0.3.tgz",
+ "version": "https://registry.npmjs.org/range-parser/-/range-parser-1.0.3.tgz",
"integrity": "sha1-aHKCNTXGkuLCoBA4Jq/YLC4P8XU=",
"dev": true
},
"raw-body": {
- "version": "1.1.7",
- "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-1.1.7.tgz",
+ "version": "https://registry.npmjs.org/raw-body/-/raw-body-1.1.7.tgz",
"integrity": "sha1-HQJ8K/oRasxmI7yo8AAWVyqH1CU=",
"dev": true,
"requires": {
- "bytes": "1.0.0",
- "string_decoder": "0.10.31"
+ "bytes": "https://registry.npmjs.org/bytes/-/bytes-1.0.0.tgz",
+ "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
},
"dependencies": {
"string_decoder": {
- "version": "0.10.31",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "version": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
"dev": true
}
}
},
"read-only-stream": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/read-only-stream/-/read-only-stream-2.0.0.tgz",
+ "version": "https://registry.npmjs.org/read-only-stream/-/read-only-stream-2.0.0.tgz",
"integrity": "sha1-JyT9aoET1zdkrCiNQ4YnDB2/F/A=",
"dev": true,
"requires": {
- "readable-stream": "2.3.4"
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.4.tgz"
}
},
"read-pkg": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz",
+ "version": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz",
"integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=",
"dev": true,
"requires": {
- "load-json-file": "4.0.0",
- "normalize-package-data": "2.4.0",
- "path-type": "3.0.0"
+ "load-json-file": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz",
+ "normalize-package-data": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz",
+ "path-type": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz"
}
},
"read-pkg-up": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz",
+ "version": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz",
"integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=",
"dev": true,
"requires": {
- "find-up": "2.1.0",
- "read-pkg": "3.0.0"
+ "find-up": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
+ "read-pkg": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz"
}
},
"readable-stream": {
- "version": "2.3.4",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.4.tgz",
- "integrity": "sha512-vuYxeWYM+fde14+rajzqgeohAI7YoJcHE7kXDAc4Nk0EbuKnJfqtY9YtRkLo/tqkuF7MsBQRhPnPeyjYITp3ZQ==",
+ "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.4.tgz",
+ "integrity": "sha1-yUbD9H+n2Oq8C2FQ9KEvaaRXQHE=",
"requires": {
- "core-util-is": "1.0.2",
- "inherits": "2.0.3",
- "isarray": "1.0.0",
- "process-nextick-args": "2.0.0",
- "safe-buffer": "5.1.1",
- "string_decoder": "1.0.3",
- "util-deprecate": "1.0.2"
+ "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "isarray": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "process-nextick-args": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
+ "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz",
+ "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz",
+ "util-deprecate": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"
}
},
"readdirp": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz",
+ "version": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz",
"integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=",
"dev": true,
"requires": {
- "graceful-fs": "4.1.11",
- "minimatch": "3.0.4",
- "readable-stream": "2.3.4",
- "set-immediate-shim": "1.0.1"
+ "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.4.tgz",
+ "set-immediate-shim": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz"
}
},
"readline2": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/readline2/-/readline2-0.1.1.tgz",
+ "version": "https://registry.npmjs.org/readline2/-/readline2-0.1.1.tgz",
"integrity": "sha1-mUQ7pug7gw7zBRv9fcJBqCco1Wg=",
"dev": true,
"requires": {
- "mute-stream": "0.0.4",
- "strip-ansi": "2.0.1"
+ "mute-stream": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.4.tgz",
+ "strip-ansi": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-2.0.1.tgz"
},
"dependencies": {
"ansi-regex": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-1.1.1.tgz",
+ "version": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-1.1.1.tgz",
"integrity": "sha1-QchHGUZGN15qGl0Qw8oFTvn8mA0=",
"dev": true
},
"mute-stream": {
- "version": "0.0.4",
- "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.4.tgz",
+ "version": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.4.tgz",
"integrity": "sha1-qSGZYKbV1dBGWXruUSUsZlX3F34=",
"dev": true
},
"strip-ansi": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-2.0.1.tgz",
+ "version": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-2.0.1.tgz",
"integrity": "sha1-32LBqpTtLxFOHQ8h/R1QSCt5pg4=",
"dev": true,
"requires": {
- "ansi-regex": "1.1.1"
+ "ansi-regex": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-1.1.1.tgz"
}
}
}
},
"rechoir": {
- "version": "0.6.2",
- "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz",
+ "version": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz",
"integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=",
"dev": true,
"requires": {
- "resolve": "1.5.0"
+ "resolve": "https://registry.npmjs.org/resolve/-/resolve-1.5.0.tgz"
}
},
"redent": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz",
"integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=",
"dev": true,
"requires": {
- "indent-string": "2.1.0",
- "strip-indent": "1.0.1"
+ "indent-string": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz",
+ "strip-indent": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz"
}
},
"redis": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/redis/-/redis-2.8.0.tgz",
- "integrity": "sha512-M1OkonEQwtRmZv4tEWF2VgpG0JWJ8Fv1PhlgT5+B+uNq2cA3Rt1Yt/ryoR+vQNOQcIEgdCdfH0jr3bDpihAw1A==",
+ "version": "https://registry.npmjs.org/redis/-/redis-2.8.0.tgz",
+ "integrity": "sha1-ICKI4/WMSfYHnZevehDhMDrhSwI=",
"dev": true,
"optional": true,
"requires": {
- "double-ended-queue": "2.1.0-0",
+ "double-ended-queue": "https://registry.npmjs.org/double-ended-queue/-/double-ended-queue-2.1.0-0.tgz",
"redis-commands": "1.3.1",
- "redis-parser": "2.6.0"
+ "redis-parser": "https://registry.npmjs.org/redis-parser/-/redis-parser-2.6.0.tgz"
}
},
"redis-commands": {
@@ -13691,41 +12455,36 @@
"optional": true
},
"redis-parser": {
- "version": "2.6.0",
- "resolved": "https://registry.npmjs.org/redis-parser/-/redis-parser-2.6.0.tgz",
+ "version": "https://registry.npmjs.org/redis-parser/-/redis-parser-2.6.0.tgz",
"integrity": "sha1-Uu0J2srBCPGmMcB+m2mUHnoZUEs=",
"dev": true,
"optional": true
},
"regenerate": {
- "version": "1.3.3",
- "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.3.3.tgz",
- "integrity": "sha512-jVpo1GadrDAK59t/0jRx5VxYWQEDkkEKi6+HjE3joFVLfDOh9Xrdh0dF1eSq+BI/SwvTQ44gSscJ8N5zYL61sg==",
+ "version": "https://registry.npmjs.org/regenerate/-/regenerate-1.3.3.tgz",
+ "integrity": "sha1-DDNtOYBVPXVcObWGrjsgqknIK38=",
"dev": true
},
"regenerator-runtime": {
- "version": "0.11.1",
- "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz",
- "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg=="
+ "version": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz",
+ "integrity": "sha1-vgWtf5v30i4Fb5cmzuUBf78Z4uk="
},
"regenerator-transform": {
- "version": "0.10.1",
- "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz",
- "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==",
+ "version": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz",
+ "integrity": "sha1-HkmWg3Ix2ot/PPQRTXG1aRoGgN0=",
"dev": true,
"requires": {
- "babel-runtime": "6.26.0",
- "babel-types": "6.26.0",
- "private": "0.1.8"
+ "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz",
+ "private": "https://registry.npmjs.org/private/-/private-0.1.8.tgz"
}
},
"regex-cache": {
- "version": "0.4.4",
- "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz",
- "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==",
+ "version": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz",
+ "integrity": "sha1-db3FiioUls7EihKDW8VMjVYjNt0=",
"dev": true,
"requires": {
- "is-equal-shallow": "0.1.3"
+ "is-equal-shallow": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz"
}
},
"regex-not": {
@@ -13738,729 +12497,633 @@
}
},
"regexpu-core": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz",
+ "version": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz",
"integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=",
"dev": true,
"requires": {
- "regenerate": "1.3.3",
- "regjsgen": "0.2.0",
- "regjsparser": "0.1.5"
+ "regenerate": "https://registry.npmjs.org/regenerate/-/regenerate-1.3.3.tgz",
+ "regjsgen": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz",
+ "regjsparser": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz"
}
},
"regjsgen": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz",
+ "version": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz",
"integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=",
"dev": true
},
"regjsparser": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz",
+ "version": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz",
"integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=",
"dev": true,
"requires": {
- "jsesc": "0.5.0"
+ "jsesc": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz"
},
"dependencies": {
"jsesc": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
+ "version": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
"integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=",
"dev": true
}
}
},
"remark": {
- "version": "9.0.0",
- "resolved": "https://registry.npmjs.org/remark/-/remark-9.0.0.tgz",
- "integrity": "sha512-amw8rGdD5lHbMEakiEsllmkdBP+/KpjW/PRK6NSGPZKCQowh0BT4IWXDAkRMyG3SB9dKPXWMviFjNusXzXNn3A==",
+ "version": "https://registry.npmjs.org/remark/-/remark-9.0.0.tgz",
+ "integrity": "sha1-xc+o7FNcc6Z8Sw8Sv9vTpn2LL2A=",
"dev": true,
"requires": {
- "remark-parse": "5.0.0",
- "remark-stringify": "5.0.0",
- "unified": "6.1.6"
+ "remark-parse": "https://registry.npmjs.org/remark-parse/-/remark-parse-5.0.0.tgz",
+ "remark-stringify": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-5.0.0.tgz",
+ "unified": "https://registry.npmjs.org/unified/-/unified-6.1.6.tgz"
}
},
"remark-html": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/remark-html/-/remark-html-7.0.0.tgz",
- "integrity": "sha512-jqRzkZXCkM12gIY2ibMLTW41m7rfanliMTVQCFTezHJFsbH00YaTox/BX4gU+f/zCdzfhFJONtebFByvpMv37w==",
+ "version": "https://registry.npmjs.org/remark-html/-/remark-html-7.0.0.tgz",
+ "integrity": "sha1-0T3BupNS4lf86IAMQsdpDZ42kMg=",
"dev": true,
"requires": {
- "hast-util-sanitize": "1.1.2",
- "hast-util-to-html": "3.1.0",
- "mdast-util-to-hast": "3.0.0",
- "xtend": "4.0.1"
+ "hast-util-sanitize": "https://registry.npmjs.org/hast-util-sanitize/-/hast-util-sanitize-1.1.2.tgz",
+ "hast-util-to-html": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-3.1.0.tgz",
+ "mdast-util-to-hast": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-3.0.0.tgz",
+ "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
}
},
"remark-parse": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-5.0.0.tgz",
- "integrity": "sha512-b3iXszZLH1TLoyUzrATcTQUZrwNl1rE70rVdSruJFlDaJ9z5aMkhrG43Pp68OgfHndL/ADz6V69Zow8cTQu+JA==",
- "dev": true,
- "requires": {
- "collapse-white-space": "1.0.3",
- "is-alphabetical": "1.0.1",
- "is-decimal": "1.0.1",
- "is-whitespace-character": "1.0.1",
- "is-word-character": "1.0.1",
- "markdown-escapes": "1.0.1",
- "parse-entities": "1.1.1",
- "repeat-string": "1.6.1",
- "state-toggle": "1.0.0",
- "trim": "0.0.1",
- "trim-trailing-lines": "1.1.0",
- "unherit": "1.1.0",
- "unist-util-remove-position": "1.1.1",
- "vfile-location": "2.0.2",
- "xtend": "4.0.1"
+ "version": "https://registry.npmjs.org/remark-parse/-/remark-parse-5.0.0.tgz",
+ "integrity": "sha1-TAd/nkmQRNHVwT+A16mM97koXZU=",
+ "dev": true,
+ "requires": {
+ "collapse-white-space": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.3.tgz",
+ "is-alphabetical": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.1.tgz",
+ "is-decimal": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.1.tgz",
+ "is-whitespace-character": "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.1.tgz",
+ "is-word-character": "https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.1.tgz",
+ "markdown-escapes": "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.1.tgz",
+ "parse-entities": "https://registry.npmjs.org/parse-entities/-/parse-entities-1.1.1.tgz",
+ "repeat-string": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
+ "state-toggle": "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.0.tgz",
+ "trim": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz",
+ "trim-trailing-lines": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.0.tgz",
+ "unherit": "https://registry.npmjs.org/unherit/-/unherit-1.1.0.tgz",
+ "unist-util-remove-position": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-1.1.1.tgz",
+ "vfile-location": "https://registry.npmjs.org/vfile-location/-/vfile-location-2.0.2.tgz",
+ "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
}
},
"remark-slug": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/remark-slug/-/remark-slug-5.0.0.tgz",
- "integrity": "sha512-bRFK90ia6iooqC5KH6e9nEIL3OwRbTPU6ed2fm/fa66uofKdmRcsmRVMwND3pXLbvH2F022cETYlE7YlVs7LNQ==",
+ "version": "https://registry.npmjs.org/remark-slug/-/remark-slug-5.0.0.tgz",
+ "integrity": "sha1-necfzcK/rjPrtKQeuDA1KIqCmYA=",
"dev": true,
"requires": {
- "github-slugger": "1.2.0",
- "mdast-util-to-string": "1.0.4",
- "unist-util-visit": "1.3.0"
+ "github-slugger": "https://registry.npmjs.org/github-slugger/-/github-slugger-1.2.0.tgz",
+ "mdast-util-to-string": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-1.0.4.tgz",
+ "unist-util-visit": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-1.3.0.tgz"
}
},
"remark-stringify": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-5.0.0.tgz",
- "integrity": "sha512-Ws5MdA69ftqQ/yhRF9XhVV29mhxbfGhbz0Rx5bQH+oJcNhhSM6nCu1EpLod+DjrFGrU0BMPs+czVmJZU7xiS7w==",
- "dev": true,
- "requires": {
- "ccount": "1.0.2",
- "is-alphanumeric": "1.0.0",
- "is-decimal": "1.0.1",
- "is-whitespace-character": "1.0.1",
- "longest-streak": "2.0.2",
- "markdown-escapes": "1.0.1",
- "markdown-table": "1.1.1",
- "mdast-util-compact": "1.0.1",
- "parse-entities": "1.1.1",
- "repeat-string": "1.6.1",
- "state-toggle": "1.0.0",
- "stringify-entities": "1.3.1",
- "unherit": "1.1.0",
- "xtend": "4.0.1"
+ "version": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-5.0.0.tgz",
+ "integrity": "sha1-M206TUpqM5DZM+66YujeS9KAr7o=",
+ "dev": true,
+ "requires": {
+ "ccount": "https://registry.npmjs.org/ccount/-/ccount-1.0.2.tgz",
+ "is-alphanumeric": "https://registry.npmjs.org/is-alphanumeric/-/is-alphanumeric-1.0.0.tgz",
+ "is-decimal": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.1.tgz",
+ "is-whitespace-character": "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.1.tgz",
+ "longest-streak": "https://registry.npmjs.org/longest-streak/-/longest-streak-2.0.2.tgz",
+ "markdown-escapes": "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.1.tgz",
+ "markdown-table": "https://registry.npmjs.org/markdown-table/-/markdown-table-1.1.1.tgz",
+ "mdast-util-compact": "https://registry.npmjs.org/mdast-util-compact/-/mdast-util-compact-1.0.1.tgz",
+ "parse-entities": "https://registry.npmjs.org/parse-entities/-/parse-entities-1.1.1.tgz",
+ "repeat-string": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
+ "state-toggle": "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.0.tgz",
+ "stringify-entities": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-1.3.1.tgz",
+ "unherit": "https://registry.npmjs.org/unherit/-/unherit-1.1.0.tgz",
+ "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
}
},
"remark-toc": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/remark-toc/-/remark-toc-5.0.0.tgz",
- "integrity": "sha512-j2A/fpio1nzNRJtY6nVaFUCtXNfFPxaj6I5UHFsFgo4xKmc0VokRRIzGqz4Vfs7u+dPrHjnoHkImu1Dia0jDSQ==",
+ "version": "https://registry.npmjs.org/remark-toc/-/remark-toc-5.0.0.tgz",
+ "integrity": "sha1-8eE+0RBirU0QKwLnAWi9hQFb8Sk=",
"dev": true,
"requires": {
- "mdast-util-toc": "2.0.1",
- "remark-slug": "5.0.0"
+ "mdast-util-toc": "https://registry.npmjs.org/mdast-util-toc/-/mdast-util-toc-2.0.1.tgz",
+ "remark-slug": "https://registry.npmjs.org/remark-slug/-/remark-slug-5.0.0.tgz"
}
},
"remote-origin-url": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/remote-origin-url/-/remote-origin-url-0.4.0.tgz",
+ "version": "https://registry.npmjs.org/remote-origin-url/-/remote-origin-url-0.4.0.tgz",
"integrity": "sha1-TT4pAvNOLTfRwmPYdxC3frQIajA=",
"dev": true,
"requires": {
- "parse-git-config": "0.2.0"
+ "parse-git-config": "https://registry.npmjs.org/parse-git-config/-/parse-git-config-0.2.0.tgz"
}
},
"remove-bom-buffer": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz",
- "integrity": "sha512-8v2rWhaakv18qcvNeli2mZ/TMTL2nEyAKRvzo1WtnZBl15SHyEhrCu2/xKlJyUFKHiHgfXIyuY6g2dObJJycXQ==",
+ "version": "https://registry.npmjs.org/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz",
+ "integrity": "sha1-wr8eN3Ug0yT2I4kuM8EMrCwlK1M=",
"dev": true,
"requires": {
- "is-buffer": "1.1.6",
- "is-utf8": "0.2.1"
+ "is-buffer": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
+ "is-utf8": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz"
}
},
"remove-bom-stream": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/remove-bom-stream/-/remove-bom-stream-1.2.0.tgz",
+ "version": "https://registry.npmjs.org/remove-bom-stream/-/remove-bom-stream-1.2.0.tgz",
"integrity": "sha1-BfGlk/FuQuH7kOv1nejlaVJflSM=",
"dev": true,
"requires": {
- "remove-bom-buffer": "3.0.0",
- "safe-buffer": "5.1.1",
- "through2": "2.0.3"
+ "remove-bom-buffer": "https://registry.npmjs.org/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz",
+ "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz",
+ "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz"
}
},
"remove-trailing-separator": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
+ "version": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
"integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8="
},
"repeat-element": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz",
+ "version": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz",
"integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=",
"dev": true
},
"repeat-string": {
- "version": "1.6.1",
- "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
+ "version": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
"integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
"dev": true
},
"repeating": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz",
+ "version": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz",
"integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=",
"dev": true,
"requires": {
- "is-finite": "1.0.2"
+ "is-finite": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz"
}
},
"replace-ext": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz",
"integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=",
"dev": true
},
"replacestream": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/replacestream/-/replacestream-0.1.3.tgz",
+ "version": "https://registry.npmjs.org/replacestream/-/replacestream-0.1.3.tgz",
"integrity": "sha1-4BjTo3ckYAzNDABZkNiiG3tU/zQ=",
"dev": true,
"requires": {
- "through": "2.3.8"
+ "through": "https://registry.npmjs.org/through/-/through-2.3.8.tgz"
}
},
"request": {
- "version": "2.79.0",
- "resolved": "https://registry.npmjs.org/request/-/request-2.79.0.tgz",
+ "version": "https://registry.npmjs.org/request/-/request-2.79.0.tgz",
"integrity": "sha1-Tf5b9r6LjNw3/Pk+BLZVd3InEN4=",
"dev": true,
"requires": {
- "aws-sign2": "0.6.0",
- "aws4": "1.6.0",
- "caseless": "0.11.0",
- "combined-stream": "1.0.6",
- "extend": "3.0.1",
- "forever-agent": "0.6.1",
- "form-data": "2.1.4",
- "har-validator": "2.0.6",
- "hawk": "3.1.3",
- "http-signature": "1.1.1",
- "is-typedarray": "1.0.0",
- "isstream": "0.1.2",
- "json-stringify-safe": "5.0.1",
+ "aws-sign2": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz",
+ "aws4": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz",
+ "caseless": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz",
+ "combined-stream": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz",
+ "extend": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz",
+ "forever-agent": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
+ "form-data": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz",
+ "har-validator": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz",
+ "hawk": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz",
+ "http-signature": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz",
+ "is-typedarray": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
+ "isstream": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
+ "json-stringify-safe": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
"mime-types": "2.1.17",
- "oauth-sign": "0.8.2",
- "qs": "6.3.2",
- "stringstream": "0.0.5",
+ "oauth-sign": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz",
+ "qs": "https://registry.npmjs.org/qs/-/qs-6.3.2.tgz",
+ "stringstream": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz",
"tough-cookie": "2.3.3",
- "tunnel-agent": "0.4.3",
- "uuid": "3.2.1"
+ "tunnel-agent": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz",
+ "uuid": "https://registry.npmjs.org/uuid/-/uuid-3.2.1.tgz"
}
},
"requestretry": {
- "version": "1.13.0",
- "resolved": "https://registry.npmjs.org/requestretry/-/requestretry-1.13.0.tgz",
- "integrity": "sha512-Lmh9qMvnQXADGAQxsXHP4rbgO6pffCfuR8XUBdP9aitJcLQJxhp7YZK4xAVYXnPJ5E52mwrfiKQtKonPL8xsmg==",
+ "version": "https://registry.npmjs.org/requestretry/-/requestretry-1.13.0.tgz",
+ "integrity": "sha1-IT7BAG7rdQ6LjOVBdig9FajVXZQ=",
"dev": true,
"optional": true,
"requires": {
- "extend": "3.0.1",
- "lodash": "4.17.5",
- "request": "2.79.0",
- "when": "3.7.8"
+ "extend": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz",
+ "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz",
+ "request": "https://registry.npmjs.org/request/-/request-2.79.0.tgz",
+ "when": "https://registry.npmjs.org/when/-/when-3.7.8.tgz"
}
},
"require-directory": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
+ "version": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
"integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
"dev": true
},
"require-main-filename": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz",
+ "version": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz",
"integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=",
"dev": true
},
"require-uncached": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz",
+ "version": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz",
"integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=",
"dev": true,
"requires": {
- "caller-path": "0.1.0",
- "resolve-from": "1.0.1"
+ "caller-path": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz",
+ "resolve-from": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz"
}
},
"requirejs": {
- "version": "2.3.5",
- "resolved": "https://registry.npmjs.org/requirejs/-/requirejs-2.3.5.tgz",
- "integrity": "sha512-svnO+aNcR/an9Dpi44C7KSAy5fFGLtmPbaaCeQaklUz8BQhS64tWWIIlvEA5jrWICzlO/X9KSzSeXFnZdBu8nw==",
+ "version": "https://registry.npmjs.org/requirejs/-/requirejs-2.3.5.tgz",
+ "integrity": "sha1-YXuay7yzNlQO9JFNeQMjqNS4YbA=",
"dev": true
},
"requires-port": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
"integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=",
"dev": true
},
"resolve": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.5.0.tgz",
- "integrity": "sha512-hgoSGrc3pjzAPHNBg+KnFcK2HwlHTs/YrAGUr6qgTVUZmXv1UEXXl0bZNBKMA9fud6lRYFdPGz0xXxycPzmmiw==",
+ "version": "https://registry.npmjs.org/resolve/-/resolve-1.5.0.tgz",
+ "integrity": "sha1-HwmsznlsmnYlefMbLBzEw83fnzY=",
"dev": true,
"requires": {
- "path-parse": "1.0.5"
+ "path-parse": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz"
}
},
"resolve-dir": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz",
+ "version": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz",
"integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=",
"dev": true,
"requires": {
- "expand-tilde": "2.0.2",
- "global-modules": "1.0.0"
+ "expand-tilde": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz",
+ "global-modules": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz"
}
},
"resolve-from": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz",
+ "version": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz",
"integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=",
"dev": true
},
"resolve-options": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/resolve-options/-/resolve-options-1.1.0.tgz",
+ "version": "https://registry.npmjs.org/resolve-options/-/resolve-options-1.1.0.tgz",
"integrity": "sha1-MrueOcBtZzONyTeMDW1gdFZq0TE=",
"dev": true,
"requires": {
- "value-or-function": "3.0.0"
+ "value-or-function": "https://registry.npmjs.org/value-or-function/-/value-or-function-3.0.0.tgz"
}
},
"resolve-url": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
+ "version": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
"integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo="
},
"response-time": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/response-time/-/response-time-2.3.2.tgz",
+ "version": "https://registry.npmjs.org/response-time/-/response-time-2.3.2.tgz",
"integrity": "sha1-/6cbq5UtYvfB1Jt0NDVfvGjf/Fo=",
"dev": true,
"requires": {
- "depd": "1.1.2",
- "on-headers": "1.0.1"
+ "depd": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
+ "on-headers": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz"
},
"dependencies": {
"depd": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
+ "version": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
"integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=",
"dev": true
}
}
},
"restore-cursor": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz",
+ "version": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz",
"integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=",
"dev": true,
"requires": {
- "onetime": "2.0.1",
- "signal-exit": "3.0.2"
+ "onetime": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz",
+ "signal-exit": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz"
}
},
"rewire": {
- "version": "2.5.2",
- "resolved": "https://registry.npmjs.org/rewire/-/rewire-2.5.2.tgz",
+ "version": "https://registry.npmjs.org/rewire/-/rewire-2.5.2.tgz",
"integrity": "sha1-ZCfee3/u+n02QBUH62SlOFvFjcc=",
"dev": true
},
"rgb2hex": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/rgb2hex/-/rgb2hex-0.1.0.tgz",
+ "version": "https://registry.npmjs.org/rgb2hex/-/rgb2hex-0.1.0.tgz",
"integrity": "sha1-zNVfhgrgxcTqN1BLlY5ELY0SMls=",
"dev": true
},
"right-align": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz",
+ "version": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz",
"integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=",
"dev": true,
"requires": {
- "align-text": "0.1.4"
+ "align-text": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz"
}
},
"rimraf": {
- "version": "2.6.2",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz",
- "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==",
+ "version": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz",
+ "integrity": "sha1-LtgVDSShbqhlHm1u8PR8QVjOejY=",
"dev": true,
"requires": {
- "glob": "7.1.2"
+ "glob": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz"
}
},
"ripemd160": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.1.tgz",
+ "version": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.1.tgz",
"integrity": "sha1-D0WEKVxTo2KK9+bXmsohzlfRxuc=",
"dev": true,
"requires": {
- "hash-base": "2.0.2",
- "inherits": "2.0.3"
+ "hash-base": "https://registry.npmjs.org/hash-base/-/hash-base-2.0.2.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz"
}
},
"rndm": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/rndm/-/rndm-1.2.0.tgz",
+ "version": "https://registry.npmjs.org/rndm/-/rndm-1.2.0.tgz",
"integrity": "sha1-8z/pz7Urv9UgqhgyO8ZdsRCht2w=",
"dev": true
},
"run-async": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz",
+ "version": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz",
"integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=",
"dev": true,
"requires": {
- "is-promise": "2.1.0"
+ "is-promise": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz"
}
},
"rx": {
- "version": "2.5.3",
- "resolved": "https://registry.npmjs.org/rx/-/rx-2.5.3.tgz",
+ "version": "https://registry.npmjs.org/rx/-/rx-2.5.3.tgz",
"integrity": "sha1-Ia3H2A8CACr1Da6X/Z2/JIdV9WY=",
"dev": true
},
"rx-lite": {
- "version": "4.0.8",
- "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz",
+ "version": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz",
"integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=",
"dev": true
},
"rx-lite-aggregates": {
- "version": "4.0.8",
- "resolved": "https://registry.npmjs.org/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz",
+ "version": "https://registry.npmjs.org/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz",
"integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=",
"dev": true,
"requires": {
- "rx-lite": "4.0.8"
+ "rx-lite": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz"
}
},
"safe-buffer": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz",
- "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg=="
+ "version": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz",
+ "integrity": "sha1-iTMSr2myEj3vcfV4iQAWce6yyFM="
},
"safe-json-parse": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/safe-json-parse/-/safe-json-parse-1.0.1.tgz",
+ "version": "https://registry.npmjs.org/safe-json-parse/-/safe-json-parse-1.0.1.tgz",
"integrity": "sha1-PnZyPjjf3aE8mx0poeB//uSzC1c=",
"dev": true
},
"samsam": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/samsam/-/samsam-1.3.0.tgz",
- "integrity": "sha512-1HwIYD/8UlOtFS3QO3w7ey+SdSDFE4HRNLZoZRYVQefrOY3l17epswImeB1ijgJFQJodIaHcwkp3r/myBjFVbg==",
+ "version": "https://registry.npmjs.org/samsam/-/samsam-1.3.0.tgz",
+ "integrity": "sha1-jR2TUOJWItow3j5EumkrUiGrfFA=",
"dev": true
},
- "sauce-connect-launcher": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/sauce-connect-launcher/-/sauce-connect-launcher-1.2.3.tgz",
- "integrity": "sha1-0vkxrXro/avxlopEDnsgQXrKf4Y=",
+ "schema-utils": {
+ "version": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.3.0.tgz",
+ "integrity": "sha1-9YdyIs4+kx7a4DnxfrNxbnE3+M8=",
"dev": true,
"requires": {
- "adm-zip": "0.4.7",
- "async": "2.6.0",
- "https-proxy-agent": "1.0.0",
- "lodash": "4.17.5",
- "rimraf": "2.6.2"
+ "ajv": "5.5.2"
},
"dependencies": {
- "async": {
- "version": "2.6.0",
- "resolved": "https://registry.npmjs.org/async/-/async-2.6.0.tgz",
- "integrity": "sha512-xAfGg1/NTLBBKlHFmnd7PlmUW9KhVQIUuSrYem9xzFUZy13ScvtyGGejaae9iAVRiRq9+Cx7DPFaAAhCpyxyPw==",
+ "ajv": {
+ "version": "5.5.2",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz",
+ "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=",
"dev": true,
"requires": {
- "lodash": "4.17.5"
+ "co": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
+ "fast-deep-equal": "1.0.0",
+ "fast-json-stable-stringify": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
+ "json-schema-traverse": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz"
}
}
}
},
- "saucelabs": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/saucelabs/-/saucelabs-1.4.0.tgz",
- "integrity": "sha1-uTSpr52ih0s/QKrh/N5QpEZvXzg=",
- "dev": true,
- "requires": {
- "https-proxy-agent": "1.0.0"
- }
- },
- "schema-utils": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.3.0.tgz",
- "integrity": "sha1-9YdyIs4+kx7a4DnxfrNxbnE3+M8=",
- "dev": true,
- "requires": {
- "ajv": "5.5.2"
- }
- },
"semver": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz",
- "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==",
+ "version": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz",
+ "integrity": "sha1-3Eu8emyp2Rbe5dQ1FvAJK1j3uKs=",
"dev": true
},
"send": {
- "version": "0.13.2",
- "resolved": "https://registry.npmjs.org/send/-/send-0.13.2.tgz",
+ "version": "https://registry.npmjs.org/send/-/send-0.13.2.tgz",
"integrity": "sha1-dl52B8gFVFK7pvCwUllTUJhgNt4=",
"dev": true,
"requires": {
- "debug": "2.2.0",
- "depd": "1.1.2",
- "destroy": "1.0.4",
- "escape-html": "1.0.3",
- "etag": "1.7.0",
- "fresh": "0.3.0",
- "http-errors": "1.3.1",
- "mime": "1.3.4",
- "ms": "0.7.1",
- "on-finished": "2.3.0",
- "range-parser": "1.0.3",
- "statuses": "1.2.1"
+ "debug": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+ "depd": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
+ "destroy": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
+ "escape-html": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
+ "etag": "https://registry.npmjs.org/etag/-/etag-1.7.0.tgz",
+ "fresh": "https://registry.npmjs.org/fresh/-/fresh-0.3.0.tgz",
+ "http-errors": "https://registry.npmjs.org/http-errors/-/http-errors-1.3.1.tgz",
+ "mime": "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz",
+ "ms": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
+ "on-finished": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
+ "range-parser": "https://registry.npmjs.org/range-parser/-/range-parser-1.0.3.tgz",
+ "statuses": "https://registry.npmjs.org/statuses/-/statuses-1.2.1.tgz"
},
"dependencies": {
"debug": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+ "version": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
"integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
"dev": true,
"requires": {
- "ms": "0.7.1"
+ "ms": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz"
}
},
"depd": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
+ "version": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
"integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=",
"dev": true
},
"mime": {
- "version": "1.3.4",
- "resolved": "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz",
+ "version": "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz",
"integrity": "sha1-EV+eO2s9rylZmDyzjxSaLUDrXVM=",
"dev": true
},
"ms": {
- "version": "0.7.1",
- "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
+ "version": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
"integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=",
"dev": true
},
"statuses": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.2.1.tgz",
+ "version": "https://registry.npmjs.org/statuses/-/statuses-1.2.1.tgz",
"integrity": "sha1-3e1FzBglbVHtQK7BQkidXGECbSg=",
"dev": true
}
}
},
"sequencify": {
- "version": "0.0.7",
- "resolved": "https://registry.npmjs.org/sequencify/-/sequencify-0.0.7.tgz",
+ "version": "https://registry.npmjs.org/sequencify/-/sequencify-0.0.7.tgz",
"integrity": "sha1-kM/xnQLgcCf9dn9erT57ldHnOAw=",
"dev": true
},
"serve-favicon": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/serve-favicon/-/serve-favicon-2.3.2.tgz",
+ "version": "https://registry.npmjs.org/serve-favicon/-/serve-favicon-2.3.2.tgz",
"integrity": "sha1-3UGeJo3gEqtysxnTN/IQUBP5OB8=",
"dev": true,
"requires": {
- "etag": "1.7.0",
- "fresh": "0.3.0",
- "ms": "0.7.2",
- "parseurl": "1.3.2"
+ "etag": "https://registry.npmjs.org/etag/-/etag-1.7.0.tgz",
+ "fresh": "https://registry.npmjs.org/fresh/-/fresh-0.3.0.tgz",
+ "ms": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz",
+ "parseurl": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz"
},
"dependencies": {
"ms": {
- "version": "0.7.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz",
+ "version": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz",
"integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=",
"dev": true
}
}
},
"serve-index": {
- "version": "1.7.3",
- "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.7.3.tgz",
+ "version": "https://registry.npmjs.org/serve-index/-/serve-index-1.7.3.tgz",
"integrity": "sha1-egV/xu4o3GP2RWbl+lexEahq7NI=",
"dev": true,
"requires": {
- "accepts": "1.2.13",
- "batch": "0.5.3",
- "debug": "2.2.0",
- "escape-html": "1.0.3",
- "http-errors": "1.3.1",
+ "accepts": "https://registry.npmjs.org/accepts/-/accepts-1.2.13.tgz",
+ "batch": "https://registry.npmjs.org/batch/-/batch-0.5.3.tgz",
+ "debug": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+ "escape-html": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
+ "http-errors": "https://registry.npmjs.org/http-errors/-/http-errors-1.3.1.tgz",
"mime-types": "2.1.17",
- "parseurl": "1.3.2"
+ "parseurl": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz"
},
"dependencies": {
"debug": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+ "version": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
"integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
"dev": true,
"requires": {
- "ms": "0.7.1"
+ "ms": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz"
}
},
"ms": {
- "version": "0.7.1",
- "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
+ "version": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
"integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=",
"dev": true
}
}
},
"serve-static": {
- "version": "1.10.3",
- "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.10.3.tgz",
+ "version": "https://registry.npmjs.org/serve-static/-/serve-static-1.10.3.tgz",
"integrity": "sha1-zlpuzTEB/tXsCYJ9rCKpwpv7BTU=",
"dev": true,
"requires": {
- "escape-html": "1.0.3",
- "parseurl": "1.3.2",
- "send": "0.13.2"
+ "escape-html": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
+ "parseurl": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz",
+ "send": "https://registry.npmjs.org/send/-/send-0.13.2.tgz"
}
},
"set-blocking": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
+ "version": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
"integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
"dev": true
},
"set-getter": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/set-getter/-/set-getter-0.1.0.tgz",
+ "version": "https://registry.npmjs.org/set-getter/-/set-getter-0.1.0.tgz",
"integrity": "sha1-12nBgsnVpR9AkUXy+6guXoboA3Y=",
"dev": true,
"requires": {
- "to-object-path": "0.3.0"
+ "to-object-path": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz"
}
},
"set-immediate-shim": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz",
+ "version": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz",
"integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=",
"dev": true
},
"set-value": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz",
- "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==",
+ "version": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz",
+ "integrity": "sha1-ca5KiPD+77v1LR6mBPP7MV67YnQ=",
"dev": true,
"requires": {
"extend-shallow": "2.0.1",
- "is-extendable": "0.1.1",
- "is-plain-object": "2.0.4",
- "split-string": "3.1.0"
+ "is-extendable": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
+ "is-plain-object": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
+ "split-string": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz"
}
},
"setimmediate": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
+ "version": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
"integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=",
"dev": true
},
"setprototypeof": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz",
+ "version": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz",
"integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ=",
"dev": true
},
"sha.js": {
- "version": "2.4.10",
- "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.10.tgz",
- "integrity": "sha512-vnwmrFDlOExK4Nm16J2KMWHLrp14lBrjxMxBJpu++EnsuBmpiYaM/MEs46Vxxm/4FvdP5yTwuCTO9it5FSjrqA==",
+ "version": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.10.tgz",
+ "integrity": "sha1-sf3lzX0RpWJmOKB8YEq5Cc+jH5s=",
"dev": true,
"requires": {
- "inherits": "2.0.3",
- "safe-buffer": "5.1.1"
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz"
}
},
"shasum": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/shasum/-/shasum-1.0.2.tgz",
+ "version": "https://registry.npmjs.org/shasum/-/shasum-1.0.2.tgz",
"integrity": "sha1-5wEjENj0F/TetXEhUOVni4euVl8=",
"dev": true,
"requires": {
- "json-stable-stringify": "0.0.1",
- "sha.js": "2.4.10"
+ "json-stable-stringify": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-0.0.1.tgz",
+ "sha.js": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.10.tgz"
},
"dependencies": {
"json-stable-stringify": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-0.0.1.tgz",
+ "version": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-0.0.1.tgz",
"integrity": "sha1-YRwj6BTbN1Un34URk9tZ3Sryf0U=",
"dev": true,
"requires": {
- "jsonify": "0.0.0"
+ "jsonify": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz"
}
}
}
},
"shebang-command": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
+ "version": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
"integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
"dev": true,
"requires": {
- "shebang-regex": "1.0.0"
+ "shebang-regex": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz"
}
},
"shebang-regex": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
"integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
"dev": true
},
"shell-quote": {
- "version": "1.6.1",
- "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.6.1.tgz",
+ "version": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.6.1.tgz",
"integrity": "sha1-9HgZSczkAmlxJ0MOo7PFR29IF2c=",
"dev": true,
"requires": {
- "array-filter": "0.0.1",
- "array-map": "0.0.0",
- "array-reduce": "0.0.0",
- "jsonify": "0.0.0"
+ "array-filter": "https://registry.npmjs.org/array-filter/-/array-filter-0.0.1.tgz",
+ "array-map": "https://registry.npmjs.org/array-map/-/array-map-0.0.0.tgz",
+ "array-reduce": "https://registry.npmjs.org/array-reduce/-/array-reduce-0.0.0.tgz",
+ "jsonify": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz"
}
},
"shelljs": {
- "version": "0.8.1",
- "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.1.tgz",
- "integrity": "sha512-YA/iYtZpzFe5HyWVGrb02FjPxc4EMCfpoU/Phg9fQoyMC72u9598OUBrsU8IrtwAKG0tO8IYaqbaLIw+k3IRGA==",
+ "version": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.1.tgz",
+ "integrity": "sha1-cp4DjEE6IlTEB4uV7UbgOXFUqfE=",
"dev": true,
"requires": {
- "glob": "7.1.2",
- "interpret": "1.1.0",
- "rechoir": "0.6.2"
+ "glob": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
+ "interpret": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz",
+ "rechoir": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz"
}
},
"sigmund": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz",
+ "version": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz",
"integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=",
"dev": true
},
"signal-exit": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
+ "version": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
"integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
"dev": true
},
@@ -14470,344 +13133,309 @@
"integrity": "sha512-pmf05hFgEZUS52AGJcsVjOjqAyJW2yo14cOwVYvzCyw7+inv06YXkLyW75WG6X6p951lzkoKh51L2sNbR9CDvw==",
"dev": true,
"requires": {
- "@sinonjs/formatio": "2.0.0",
- "diff": "3.4.0",
- "lodash.get": "4.4.2",
- "lolex": "2.3.2",
+ "@sinonjs/formatio": "https://registry.npmjs.org/@sinonjs/formatio/-/formatio-2.0.0.tgz",
+ "diff": "https://registry.npmjs.org/diff/-/diff-3.4.0.tgz",
+ "lodash.get": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz",
+ "lolex": "https://registry.npmjs.org/lolex/-/lolex-2.3.2.tgz",
"nise": "1.2.5",
- "supports-color": "5.2.0",
- "type-detect": "4.0.8"
+ "supports-color": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz",
+ "type-detect": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz"
},
"dependencies": {
"diff": {
- "version": "3.4.0",
- "resolved": "https://registry.npmjs.org/diff/-/diff-3.4.0.tgz",
- "integrity": "sha512-QpVuMTEoJMF7cKzi6bvWhRulU1fZqZnvyVQgNhPaxxuTYwyjn/j1v9falseQ/uXWwPnO56RBfwtg4h/EQXmucA==",
+ "version": "https://registry.npmjs.org/diff/-/diff-3.4.0.tgz",
+ "integrity": "sha1-sdhVB9rzlkgo3lSzfQ1zumfdpWw=",
"dev": true
},
"supports-color": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz",
- "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==",
+ "version": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz",
+ "integrity": "sha1-sNUzOxGE3TZmy+WqC0XFrHrBeko=",
"dev": true,
"requires": {
- "has-flag": "3.0.0"
+ "has-flag": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz"
}
},
"type-detect": {
- "version": "4.0.8",
- "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz",
- "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==",
+ "version": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz",
+ "integrity": "sha1-dkb7XxiHHPu3dJ5pvTmmOI63RQw=",
"dev": true
}
}
},
"slack-node": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/slack-node/-/slack-node-0.2.0.tgz",
+ "version": "https://registry.npmjs.org/slack-node/-/slack-node-0.2.0.tgz",
"integrity": "sha1-3kuN3aqLeT9h29KTgQT9q/N9+jA=",
"dev": true,
"optional": true,
"requires": {
- "requestretry": "1.13.0"
+ "requestretry": "https://registry.npmjs.org/requestretry/-/requestretry-1.13.0.tgz"
}
},
"slash": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz",
"integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=",
"dev": true
},
"slice-ansi": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz",
- "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==",
+ "version": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz",
+ "integrity": "sha1-BE8aSdiEL/MHqta1Be0Xi9lQE00=",
"dev": true,
"requires": {
- "is-fullwidth-code-point": "2.0.0"
+ "is-fullwidth-code-point": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz"
},
"dependencies": {
"is-fullwidth-code-point": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+ "version": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
"integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
"dev": true
}
}
},
"slice-stream": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/slice-stream/-/slice-stream-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/slice-stream/-/slice-stream-1.0.0.tgz",
"integrity": "sha1-WzO9ZvATsaf4ZGCwPUY97DmtPqA=",
"dev": true,
"requires": {
- "readable-stream": "1.0.34"
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz"
},
"dependencies": {
"isarray": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "version": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
"integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
"dev": true
},
"readable-stream": {
- "version": "1.0.34",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
"integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
"dev": true,
"requires": {
- "core-util-is": "1.0.2",
- "inherits": "2.0.3",
- "isarray": "0.0.1",
- "string_decoder": "0.10.31"
+ "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
}
},
"string_decoder": {
- "version": "0.10.31",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "version": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
"dev": true
}
}
},
"smart-buffer": {
- "version": "1.1.15",
- "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-1.1.15.tgz",
+ "version": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-1.1.15.tgz",
"integrity": "sha1-fxFLW2X6s+KjWqd1uxLw0cZJvxY=",
"dev": true
},
"smtp-connection": {
- "version": "2.12.0",
- "resolved": "https://registry.npmjs.org/smtp-connection/-/smtp-connection-2.12.0.tgz",
+ "version": "https://registry.npmjs.org/smtp-connection/-/smtp-connection-2.12.0.tgz",
"integrity": "sha1-1275EnyyPCJZ7bHoNJwujV4tdME=",
"dev": true,
"requires": {
- "httpntlm": "1.6.1",
- "nodemailer-shared": "1.1.0"
+ "httpntlm": "https://registry.npmjs.org/httpntlm/-/httpntlm-1.6.1.tgz",
+ "nodemailer-shared": "https://registry.npmjs.org/nodemailer-shared/-/nodemailer-shared-1.1.0.tgz"
}
},
"snapdragon": {
- "version": "0.8.1",
- "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.1.tgz",
+ "version": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.1.tgz",
"integrity": "sha1-4StUh/re0+PeoKyR6UAL91tAE3A=",
"dev": true,
"requires": {
- "base": "0.11.2",
- "debug": "2.6.9",
- "define-property": "0.2.5",
+ "base": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
+ "debug": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "define-property": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
"extend-shallow": "2.0.1",
- "map-cache": "0.2.2",
- "source-map": "0.5.7",
- "source-map-resolve": "0.5.1",
- "use": "2.0.2"
+ "map-cache": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
+ "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "source-map-resolve": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.1.tgz",
+ "use": "https://registry.npmjs.org/use/-/use-2.0.2.tgz"
},
"dependencies": {
"atob": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/atob/-/atob-2.0.3.tgz",
+ "version": "https://registry.npmjs.org/atob/-/atob-2.0.3.tgz",
"integrity": "sha1-GcenYEc3dEaPILLS0DNyrX1Mv10=",
"dev": true
},
"debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "version": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
"dev": true,
"requires": {
- "ms": "2.0.0"
+ "ms": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"
}
},
"define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "version": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
"dev": true,
"requires": {
- "is-descriptor": "0.1.6"
+ "is-descriptor": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz"
}
},
"is-accessor-descriptor": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
+ "version": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
"integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
"dev": true,
"requires": {
- "kind-of": "3.2.2"
+ "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz"
},
"dependencies": {
"kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "version": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
"dev": true,
"requires": {
- "is-buffer": "1.1.6"
+ "is-buffer": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz"
}
}
}
},
"is-data-descriptor": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
+ "version": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
"integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
"dev": true,
"requires": {
- "kind-of": "3.2.2"
+ "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz"
},
"dependencies": {
"kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "version": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
"dev": true,
"requires": {
- "is-buffer": "1.1.6"
+ "is-buffer": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz"
}
}
}
},
"is-descriptor": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
- "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
+ "version": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
+ "integrity": "sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco=",
"dev": true,
"requires": {
- "is-accessor-descriptor": "0.1.6",
- "is-data-descriptor": "0.1.4",
- "kind-of": "5.1.0"
+ "is-accessor-descriptor": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
+ "is-data-descriptor": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
+ "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz"
}
},
"kind-of": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
- "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
+ "version": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
+ "integrity": "sha1-cpyR4thXt6QZofmqZWhcTDP1hF0=",
"dev": true
},
"source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "version": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
"integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
"dev": true
},
"source-map-resolve": {
- "version": "0.5.1",
- "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.1.tgz",
- "integrity": "sha512-0KW2wvzfxm8NCTb30z0LMNyPqWCdDGE2viwzUaucqJdkTRXtZiSY3I+2A6nVAjmdOy0I4gU8DwnVVGsk9jvP2A==",
+ "version": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.1.tgz",
+ "integrity": "sha1-etD1k/IoFZjoVN+A8ZquS5LXoRo=",
"dev": true,
"requires": {
- "atob": "2.0.3",
- "decode-uri-component": "0.2.0",
- "resolve-url": "0.2.1",
- "source-map-url": "0.4.0",
- "urix": "0.1.0"
+ "atob": "https://registry.npmjs.org/atob/-/atob-2.0.3.tgz",
+ "decode-uri-component": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
+ "resolve-url": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
+ "source-map-url": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
+ "urix": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz"
}
},
"source-map-url": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
+ "version": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
"integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=",
"dev": true
}
}
},
"snapdragon-node": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
- "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
+ "version": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
+ "integrity": "sha1-bBdfhv8UvbByRWPo88GwIaKGhTs=",
"dev": true,
"requires": {
"define-property": "1.0.0",
- "isobject": "3.0.1",
- "snapdragon-util": "3.0.1"
+ "isobject": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+ "snapdragon-util": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz"
}
},
"snapdragon-util": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
- "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
+ "version": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
+ "integrity": "sha1-+VZHlIbyrNeXAGk/b3uAXkWrVuI=",
"dev": true,
"requires": {
- "kind-of": "3.2.2"
+ "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz"
},
"dependencies": {
"kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "version": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
"dev": true,
"requires": {
- "is-buffer": "1.1.6"
+ "is-buffer": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz"
}
}
}
},
"sntp": {
- "version": "1.0.9",
- "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz",
+ "version": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz",
"integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=",
"dev": true,
"requires": {
- "hoek": "2.16.3"
+ "hoek": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz"
}
},
"socket.io": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.0.4.tgz",
+ "version": "https://registry.npmjs.org/socket.io/-/socket.io-2.0.4.tgz",
"integrity": "sha1-waRZDO/4fs8TxyZS8Eb3FrKeYBQ=",
"dev": true,
"requires": {
- "debug": "2.6.9",
+ "debug": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
"engine.io": "3.1.4",
- "socket.io-adapter": "1.1.1",
- "socket.io-client": "2.0.4",
+ "socket.io-adapter": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-1.1.1.tgz",
+ "socket.io-client": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.0.4.tgz",
"socket.io-parser": "3.1.2"
},
"dependencies": {
"debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "version": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
"dev": true,
"requires": {
- "ms": "2.0.0"
+ "ms": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"
}
}
}
},
"socket.io-adapter": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-1.1.1.tgz",
+ "version": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-1.1.1.tgz",
"integrity": "sha1-KoBeihTWNyEk3ZFZrUUC+MsH8Gs=",
"dev": true
},
"socket.io-client": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.0.4.tgz",
+ "version": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.0.4.tgz",
"integrity": "sha1-CRilUkBtxeVAs4Dc2Xr8SmQzL44=",
"dev": true,
"requires": {
- "backo2": "1.0.2",
- "base64-arraybuffer": "0.1.5",
- "component-bind": "1.0.0",
- "component-emitter": "1.2.1",
- "debug": "2.6.9",
+ "backo2": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz",
+ "base64-arraybuffer": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz",
+ "component-bind": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz",
+ "component-emitter": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
+ "debug": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
"engine.io-client": "3.1.4",
- "has-cors": "1.1.0",
- "indexof": "0.0.1",
- "object-component": "0.0.3",
- "parseqs": "0.0.5",
- "parseuri": "0.0.5",
+ "has-cors": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz",
+ "indexof": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz",
+ "object-component": "https://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz",
+ "parseqs": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz",
+ "parseuri": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz",
"socket.io-parser": "3.1.2",
- "to-array": "0.1.4"
+ "to-array": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz"
},
"dependencies": {
"debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "version": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
"dev": true,
"requires": {
- "ms": "2.0.0"
+ "ms": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"
}
}
}
@@ -14818,9 +13446,9 @@
"integrity": "sha1-28IoIVH8T6675Aru3Ady66YZ9/I=",
"dev": true,
"requires": {
- "component-emitter": "1.2.1",
+ "component-emitter": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
"debug": "2.6.9",
- "has-binary2": "1.0.2",
+ "has-binary2": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.2.tgz",
"isarray": "2.0.1"
},
"dependencies": {
@@ -14830,7 +13458,7 @@
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"dev": true,
"requires": {
- "ms": "2.0.0"
+ "ms": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"
}
},
"isarray": {
@@ -14842,90 +13470,79 @@
}
},
"socks": {
- "version": "1.1.10",
- "resolved": "https://registry.npmjs.org/socks/-/socks-1.1.10.tgz",
+ "version": "https://registry.npmjs.org/socks/-/socks-1.1.10.tgz",
"integrity": "sha1-W4t/x8jzQcU+0FbpKbe/Tei6e1o=",
"dev": true,
"requires": {
- "ip": "1.1.5",
- "smart-buffer": "1.1.15"
+ "ip": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz",
+ "smart-buffer": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-1.1.15.tgz"
},
"dependencies": {
"ip": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz",
+ "version": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz",
"integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=",
"dev": true
}
}
},
"socks-proxy-agent": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-2.1.1.tgz",
- "integrity": "sha512-sFtmYqdUK5dAMh85H0LEVFUCO7OhJJe1/z2x/Z6mxp3s7/QPf1RkZmpZy+BpuU0bEjcV9npqKjq9Y3kwFUjnxw==",
+ "version": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-2.1.1.tgz",
+ "integrity": "sha1-huuwcZMlhjeHDhO3vZnybGY989M=",
"dev": true,
"requires": {
- "agent-base": "2.1.1",
- "extend": "3.0.1",
- "socks": "1.1.10"
+ "agent-base": "https://registry.npmjs.org/agent-base/-/agent-base-2.1.1.tgz",
+ "extend": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz",
+ "socks": "https://registry.npmjs.org/socks/-/socks-1.1.10.tgz"
}
},
"source-list-map": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.0.tgz",
- "integrity": "sha512-I2UmuJSRr/T8jisiROLU3A3ltr+swpniSmNPI4Ml3ZCX6tVnDsuZzK7F2hl5jTqbZBWCEKlj5HRQiPExXLgE8A==",
+ "version": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.0.tgz",
+ "integrity": "sha1-qqR0A/eyRakvvJfqCPJQ1gh+0IU=",
"dev": true
},
"source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
+ "version": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM="
},
"source-map-resolve": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.3.1.tgz",
+ "version": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.3.1.tgz",
"integrity": "sha1-YQ9hIqRFuN1RU1oqcbeD38Ekh2E=",
"requires": {
- "atob": "1.1.3",
- "resolve-url": "0.2.1",
- "source-map-url": "0.3.0",
- "urix": "0.1.0"
+ "atob": "https://registry.npmjs.org/atob/-/atob-1.1.3.tgz",
+ "resolve-url": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
+ "source-map-url": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.3.0.tgz",
+ "urix": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz"
}
},
"source-map-support": {
- "version": "0.4.18",
- "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz",
- "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==",
+ "version": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz",
+ "integrity": "sha1-Aoam3ovkJkEzhZTpfM6nXwosWF8=",
"dev": true,
"requires": {
- "source-map": "0.5.7"
+ "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz"
},
"dependencies": {
"source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "version": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
"integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
"dev": true
}
}
},
"source-map-url": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.3.0.tgz",
+ "version": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.3.0.tgz",
"integrity": "sha1-fsrxO1e80J2opAxdJp2zN5nUqvk="
},
"space-separated-tokens": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-1.1.1.tgz",
+ "version": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-1.1.1.tgz",
"integrity": "sha1-lpW5355lrsGBHUw/nOUlILwvfk0=",
"dev": true,
"requires": {
- "trim": "0.0.1"
+ "trim": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz"
}
},
"sparkles": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.0.tgz",
"integrity": "sha1-Gsu/tZJDbRC76PeFt8xvgoFQEsM=",
"dev": true
},
@@ -14951,18 +13568,16 @@
"dev": true
},
"split": {
- "version": "0.3.3",
- "resolved": "https://registry.npmjs.org/split/-/split-0.3.3.tgz",
+ "version": "https://registry.npmjs.org/split/-/split-0.3.3.tgz",
"integrity": "sha1-zQ7qXmOiEd//frDwkcQTPi0N0o8=",
"dev": true,
"requires": {
- "through": "2.3.8"
+ "through": "https://registry.npmjs.org/through/-/through-2.3.8.tgz"
}
},
"split-string": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
- "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
+ "version": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
+ "integrity": "sha1-fLCd2jqGWFcFxks5pkZgOGguj+I=",
"dev": true,
"requires": {
"extend-shallow": "3.0.2"
@@ -14974,7 +13589,7 @@
"integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
"dev": true,
"requires": {
- "assign-symbols": "1.0.0",
+ "assign-symbols": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
"is-extendable": "1.0.1"
}
},
@@ -14984,196 +13599,176 @@
"integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
"dev": true,
"requires": {
- "is-plain-object": "2.0.4"
+ "is-plain-object": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz"
}
}
}
},
"sprintf-js": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
+ "version": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
"integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
"dev": true
},
"sshpk": {
- "version": "1.13.1",
- "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz",
+ "version": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz",
"integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=",
"dev": true,
"requires": {
- "asn1": "0.2.3",
- "assert-plus": "1.0.0",
- "bcrypt-pbkdf": "1.0.1",
- "dashdash": "1.14.1",
- "ecc-jsbn": "0.1.1",
- "getpass": "0.1.7",
- "jsbn": "0.1.1",
- "tweetnacl": "0.14.5"
+ "asn1": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz",
+ "assert-plus": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "bcrypt-pbkdf": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz",
+ "dashdash": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
+ "ecc-jsbn": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz",
+ "getpass": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
+ "jsbn": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
+ "tweetnacl": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz"
},
"dependencies": {
"assert-plus": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
"integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
"dev": true
}
}
},
"state-toggle": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.0.tgz",
"integrity": "sha1-0g+aYWu08MO5i5GSLSW2QKorxCU=",
"dev": true
},
"static-extend": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
+ "version": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
"integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
"dev": true,
"requires": {
- "define-property": "0.2.5",
- "object-copy": "0.1.0"
+ "define-property": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "object-copy": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz"
},
"dependencies": {
"define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "version": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
"dev": true,
"requires": {
- "is-descriptor": "0.1.6"
+ "is-descriptor": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz"
}
},
"is-accessor-descriptor": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
+ "version": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
"integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
"dev": true,
"requires": {
- "kind-of": "3.2.2"
+ "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz"
},
"dependencies": {
"kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "version": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
"dev": true,
"requires": {
- "is-buffer": "1.1.6"
+ "is-buffer": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz"
}
}
}
},
"is-data-descriptor": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
+ "version": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
"integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
"dev": true,
"requires": {
- "kind-of": "3.2.2"
+ "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz"
},
"dependencies": {
"kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "version": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
"dev": true,
"requires": {
- "is-buffer": "1.1.6"
+ "is-buffer": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz"
}
}
}
},
"is-descriptor": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
- "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
+ "version": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
+ "integrity": "sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco=",
"dev": true,
"requires": {
- "is-accessor-descriptor": "0.1.6",
- "is-data-descriptor": "0.1.4",
- "kind-of": "5.1.0"
+ "is-accessor-descriptor": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
+ "is-data-descriptor": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
+ "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz"
}
},
"kind-of": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
- "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
+ "version": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
+ "integrity": "sha1-cpyR4thXt6QZofmqZWhcTDP1hF0=",
"dev": true
}
}
},
"statuses": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz",
- "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==",
+ "version": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz",
+ "integrity": "sha1-u3PURtonlhBu/MG2AaJT1sRr0Ic=",
"dev": true
},
"stream-array": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/stream-array/-/stream-array-1.1.2.tgz",
+ "version": "https://registry.npmjs.org/stream-array/-/stream-array-1.1.2.tgz",
"integrity": "sha1-nl9zRfITfDDuO0mLkRToC1K7frU=",
"dev": true,
"requires": {
- "readable-stream": "2.1.5"
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.1.5.tgz"
},
"dependencies": {
"process-nextick-args": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
+ "version": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
"integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=",
"dev": true
},
"readable-stream": {
- "version": "2.1.5",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.1.5.tgz",
+ "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.1.5.tgz",
"integrity": "sha1-ZvqLcg4UOLNkaB8q0aY8YYRIydA=",
"dev": true,
"requires": {
- "buffer-shims": "1.0.0",
- "core-util-is": "1.0.2",
- "inherits": "2.0.3",
- "isarray": "1.0.0",
- "process-nextick-args": "1.0.7",
- "string_decoder": "0.10.31",
- "util-deprecate": "1.0.2"
+ "buffer-shims": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz",
+ "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "isarray": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "process-nextick-args": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
+ "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "util-deprecate": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"
}
},
"string_decoder": {
- "version": "0.10.31",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "version": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
"dev": true
}
}
},
"stream-browserify": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz",
+ "version": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz",
"integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=",
"dev": true,
"requires": {
- "inherits": "2.0.3",
- "readable-stream": "2.3.4"
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.4.tgz"
}
},
"stream-combiner": {
- "version": "0.0.4",
- "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz",
+ "version": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz",
"integrity": "sha1-TV5DPBhSYd3mI8o/RMWGvPXErRQ=",
"dev": true,
"requires": {
- "duplexer": "0.1.1"
+ "duplexer": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz"
}
},
"stream-combiner2": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz",
+ "version": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz",
"integrity": "sha1-+02KFCDqNidk4hrUeAOXvry0HL4=",
"dev": true,
"requires": {
- "duplexer2": "0.1.4",
- "readable-stream": "2.3.4"
+ "duplexer2": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz",
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.4.tgz"
}
},
"stream-consume": {
@@ -15183,253 +13778,225 @@
"dev": true
},
"stream-counter": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/stream-counter/-/stream-counter-0.2.0.tgz",
+ "version": "https://registry.npmjs.org/stream-counter/-/stream-counter-0.2.0.tgz",
"integrity": "sha1-3tJmVWMZyLDiIoErnPOyb6fZR94=",
"dev": true,
"requires": {
- "readable-stream": "1.1.14"
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz"
},
"dependencies": {
"isarray": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "version": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
"integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
"dev": true
},
"readable-stream": {
- "version": "1.1.14",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
+ "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
"integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
"dev": true,
"requires": {
- "core-util-is": "1.0.2",
- "inherits": "2.0.3",
- "isarray": "0.0.1",
- "string_decoder": "0.10.31"
+ "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
}
},
"string_decoder": {
- "version": "0.10.31",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "version": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
"dev": true
}
}
},
"stream-http": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.0.tgz",
- "integrity": "sha512-sZOFxI/5xw058XIRHl4dU3dZ+TTOIGJR78Dvo0oEAejIt4ou27k+3ne1zYmCV+v7UucbxIFQuOgnkTVHh8YPnw==",
+ "version": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.0.tgz",
+ "integrity": "sha1-/YZUbaybHJGv+PxdKHuY+vtBvBA=",
"dev": true,
"requires": {
- "builtin-status-codes": "3.0.0",
- "inherits": "2.0.3",
- "readable-stream": "2.3.4",
- "to-arraybuffer": "1.0.1",
- "xtend": "4.0.1"
+ "builtin-status-codes": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.4.tgz",
+ "to-arraybuffer": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz",
+ "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
}
},
"stream-shift": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz",
"integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=",
"dev": true
},
"stream-splicer": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/stream-splicer/-/stream-splicer-2.0.0.tgz",
+ "version": "https://registry.npmjs.org/stream-splicer/-/stream-splicer-2.0.0.tgz",
"integrity": "sha1-G2O+Q4oTPktnHMGTUZdgAXWRDYM=",
"dev": true,
"requires": {
- "inherits": "2.0.3",
- "readable-stream": "2.3.4"
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.4.tgz"
}
},
"streamroller": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-0.7.0.tgz",
- "integrity": "sha512-WREzfy0r0zUqp3lGO096wRuUp7ho1X6uo/7DJfTlEi0Iv/4gT7YHqXDjKC2ioVGBZtE8QzsQD9nx1nIuoZ57jQ==",
+ "version": "https://registry.npmjs.org/streamroller/-/streamroller-0.7.0.tgz",
+ "integrity": "sha1-odG3z4PTmvsNYwSaWsv5NJO99ks=",
"dev": true,
"requires": {
- "date-format": "1.2.0",
- "debug": "3.1.0",
- "mkdirp": "0.5.1",
- "readable-stream": "2.3.4"
+ "date-format": "https://registry.npmjs.org/date-format/-/date-format-1.2.0.tgz",
+ "debug": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
+ "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.4.tgz"
}
},
"string-replace-webpack-plugin": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/string-replace-webpack-plugin/-/string-replace-webpack-plugin-0.1.3.tgz",
+ "version": "https://registry.npmjs.org/string-replace-webpack-plugin/-/string-replace-webpack-plugin-0.1.3.tgz",
"integrity": "sha1-c8ZX51nWbP6Arh4M8JGqJW0OcVw=",
"dev": true,
"requires": {
- "async": "0.2.10",
- "css-loader": "0.9.1",
- "file-loader": "0.8.5",
- "loader-utils": "0.2.17",
- "style-loader": "0.8.3"
+ "async": "https://registry.npmjs.org/async/-/async-0.2.10.tgz",
+ "css-loader": "https://registry.npmjs.org/css-loader/-/css-loader-0.9.1.tgz",
+ "file-loader": "https://registry.npmjs.org/file-loader/-/file-loader-0.8.5.tgz",
+ "loader-utils": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz",
+ "style-loader": "https://registry.npmjs.org/style-loader/-/style-loader-0.8.3.tgz"
},
"dependencies": {
"async": {
- "version": "0.2.10",
- "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz",
+ "version": "https://registry.npmjs.org/async/-/async-0.2.10.tgz",
"integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=",
"dev": true
},
"loader-utils": {
- "version": "0.2.17",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz",
+ "version": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz",
"integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=",
"dev": true,
"requires": {
- "big.js": "3.2.0",
- "emojis-list": "2.1.0",
- "json5": "0.5.1",
- "object-assign": "4.1.1"
+ "big.js": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz",
+ "emojis-list": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz",
+ "json5": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
+ "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz"
}
}
}
},
"string-template": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/string-template/-/string-template-0.2.1.tgz",
+ "version": "https://registry.npmjs.org/string-template/-/string-template-0.2.1.tgz",
"integrity": "sha1-QpMuWYo1LQH8IuwzZ9nYTuxsmt0=",
"dev": true
},
"string-width": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
+ "version": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
"integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
"dev": true,
"requires": {
- "code-point-at": "1.1.0",
- "is-fullwidth-code-point": "1.0.0",
- "strip-ansi": "3.0.1"
+ "code-point-at": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
+ "is-fullwidth-code-point": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
+ "strip-ansi": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz"
}
},
"string_decoder": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz",
- "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==",
+ "version": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz",
+ "integrity": "sha1-D8Z9fBQYJd6UKC3VNr7GubzoYKs=",
"requires": {
- "safe-buffer": "5.1.1"
+ "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz"
}
},
"stringify-entities": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-1.3.1.tgz",
+ "version": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-1.3.1.tgz",
"integrity": "sha1-sVDsLXKsTBtfMktR+2soyc3/BYw=",
"dev": true,
"requires": {
- "character-entities-html4": "1.1.1",
- "character-entities-legacy": "1.1.1",
- "is-alphanumerical": "1.0.1",
- "is-hexadecimal": "1.0.1"
+ "character-entities-html4": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-1.1.1.tgz",
+ "character-entities-legacy": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.1.tgz",
+ "is-alphanumerical": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.1.tgz",
+ "is-hexadecimal": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.1.tgz"
}
},
"stringstream": {
- "version": "0.0.5",
- "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz",
+ "version": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz",
"integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=",
"dev": true
},
"strip-ansi": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "version": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
"integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
"dev": true,
"requires": {
- "ansi-regex": "2.1.1"
+ "ansi-regex": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz"
}
},
"strip-bom": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
+ "version": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
"integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
"dev": true
},
"strip-bom-string": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz",
"integrity": "sha1-5SEekiQ2n7uB1jOi8ABE3IztrZI="
},
"strip-eof": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
"integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
"dev": true
},
"strip-indent": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz",
+ "version": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz",
"integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=",
"dev": true,
"requires": {
- "get-stdin": "4.0.1"
+ "get-stdin": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz"
}
},
"strip-json-comments": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
+ "version": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
"integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
"dev": true
},
"style-loader": {
- "version": "0.8.3",
- "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.8.3.tgz",
+ "version": "https://registry.npmjs.org/style-loader/-/style-loader-0.8.3.tgz",
"integrity": "sha1-9Pkut9tjdodI8VBlzWcA9aHIU1c=",
"dev": true,
"optional": true,
"requires": {
- "loader-utils": "0.2.17"
+ "loader-utils": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz"
},
"dependencies": {
"loader-utils": {
- "version": "0.2.17",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz",
+ "version": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz",
"integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=",
"dev": true,
"optional": true,
"requires": {
- "big.js": "3.2.0",
- "emojis-list": "2.1.0",
- "json5": "0.5.1",
- "object-assign": "4.1.1"
+ "big.js": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz",
+ "emojis-list": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz",
+ "json5": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
+ "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz"
}
}
}
},
"subarg": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz",
"integrity": "sha1-9izxdYHplrSPyWVpn1TAauJouNI=",
"dev": true,
"requires": {
- "minimist": "1.2.0"
+ "minimist": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz"
},
"dependencies": {
"minimist": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "version": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
"integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
"dev": true
}
}
},
"supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "version": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
"integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
"dev": true
},
"syntax-error": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/syntax-error/-/syntax-error-1.4.0.tgz",
- "integrity": "sha512-YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==",
+ "version": "https://registry.npmjs.org/syntax-error/-/syntax-error-1.4.0.tgz",
+ "integrity": "sha1-LZ1P9cBkrLcRWUo+O5UFStUdkHw=",
"dev": true,
"requires": {
- "acorn-node": "1.3.0"
+ "acorn-node": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.3.0.tgz"
}
},
"table": {
@@ -15438,14 +14005,31 @@
"integrity": "sha512-UUkEAPdSGxtRpiV9ozJ5cMTtYiqz7Ni1OGqLXRCynrvzdtR1p+cfOWe2RJLwvUG8hNanaSRjecIqwOjqeatDsA==",
"dev": true,
"requires": {
- "ajv": "5.5.2",
+ "ajv": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz",
"ajv-keywords": "2.1.1",
- "chalk": "2.3.1",
- "lodash": "4.17.5",
- "slice-ansi": "1.0.0",
- "string-width": "2.1.1"
+ "chalk": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz",
+ "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz",
+ "slice-ansi": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz",
+ "string-width": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz"
},
"dependencies": {
+ "ajv": {
+ "version": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz",
+ "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=",
+ "dev": true,
+ "requires": {
+ "co": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
+ "fast-deep-equal": "1.0.0",
+ "fast-json-stable-stringify": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
+ "json-schema-traverse": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz"
+ }
+ },
+ "ajv-keywords": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.1.tgz",
+ "integrity": "sha1-YXmX/F9gV2iUxDX5QNgZ4TW4B2I=",
+ "dev": true
+ },
"ansi-regex": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
@@ -15453,23 +14037,21 @@
"dev": true
},
"ansi-styles": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
- "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==",
+ "version": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
+ "integrity": "sha1-wVm41b4PnlpvNG2rlPFs4CIWG4g=",
"dev": true,
"requires": {
- "color-convert": "1.9.1"
+ "color-convert": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz"
}
},
"chalk": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz",
- "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==",
+ "version": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz",
+ "integrity": "sha1-Uj/iZ4rsewToBBkJKS/osXBZt5Y=",
"dev": true,
"requires": {
- "ansi-styles": "3.2.0",
- "escape-string-regexp": "1.0.5",
- "supports-color": "5.2.0"
+ "ansi-styles": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
+ "escape-string-regexp": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "supports-color": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz"
}
},
"is-fullwidth-code-point": {
@@ -15479,9 +14061,8 @@
"dev": true
},
"string-width": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
- "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
+ "version": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
+ "integrity": "sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4=",
"dev": true,
"requires": {
"is-fullwidth-code-point": "2.0.0",
@@ -15498,157 +14079,138 @@
}
},
"supports-color": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz",
- "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==",
+ "version": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz",
+ "integrity": "sha1-sNUzOxGE3TZmy+WqC0XFrHrBeko=",
"dev": true,
"requires": {
- "has-flag": "3.0.0"
+ "has-flag": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz"
}
}
}
},
"tapable": {
- "version": "0.2.8",
- "resolved": "https://registry.npmjs.org/tapable/-/tapable-0.2.8.tgz",
+ "version": "https://registry.npmjs.org/tapable/-/tapable-0.2.8.tgz",
"integrity": "sha1-mTcqXJmb8t8WCvwNdL7U9HlIzSI=",
"dev": true
},
"tar-stream": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.1.5.tgz",
+ "version": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.1.5.tgz",
"integrity": "sha1-vpIYwTDCACnhB7D5Z/sj3gV50Tw=",
"dev": true,
"requires": {
- "bl": "0.9.5",
- "end-of-stream": "1.4.1",
- "readable-stream": "1.0.34",
- "xtend": "4.0.1"
+ "bl": "https://registry.npmjs.org/bl/-/bl-0.9.5.tgz",
+ "end-of-stream": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz",
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
},
"dependencies": {
"isarray": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "version": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
"integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
"dev": true
},
"readable-stream": {
- "version": "1.0.34",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
"integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
"dev": true,
"requires": {
- "core-util-is": "1.0.2",
- "inherits": "2.0.3",
- "isarray": "0.0.1",
- "string_decoder": "0.10.31"
+ "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
}
},
"string_decoder": {
- "version": "0.10.31",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "version": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
"dev": true
}
}
},
"ternary-stream": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/ternary-stream/-/ternary-stream-2.0.1.tgz",
+ "version": "https://registry.npmjs.org/ternary-stream/-/ternary-stream-2.0.1.tgz",
"integrity": "sha1-Bk5Im0tb9gumpre8fy9cJ07Pgmk=",
"dev": true,
"requires": {
- "duplexify": "3.5.3",
- "fork-stream": "0.0.4",
- "merge-stream": "1.0.1",
- "through2": "2.0.3"
+ "duplexify": "https://registry.npmjs.org/duplexify/-/duplexify-3.5.3.tgz",
+ "fork-stream": "https://registry.npmjs.org/fork-stream/-/fork-stream-0.0.4.tgz",
+ "merge-stream": "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz",
+ "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz"
}
},
"text-encoding": {
- "version": "0.6.4",
- "resolved": "https://registry.npmjs.org/text-encoding/-/text-encoding-0.6.4.tgz",
+ "version": "https://registry.npmjs.org/text-encoding/-/text-encoding-0.6.4.tgz",
"integrity": "sha1-45mpgiV6J22uQou5KEXLcb3CbRk=",
"dev": true
},
"text-table": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
+ "version": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
"integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
"dev": true
},
"textextensions": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/textextensions/-/textextensions-1.0.2.tgz",
+ "version": "https://registry.npmjs.org/textextensions/-/textextensions-1.0.2.tgz",
"integrity": "sha1-ZUhjk+4fK7A5pgy7oFsLaL2VAdI=",
"dev": true
},
"through": {
- "version": "2.3.8",
- "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
+ "version": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
"integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
"dev": true
},
"through2": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
+ "version": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
"integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=",
"requires": {
- "readable-stream": "2.3.4",
- "xtend": "4.0.1"
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.4.tgz",
+ "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
}
},
"through2-filter": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/through2-filter/-/through2-filter-2.0.0.tgz",
+ "version": "https://registry.npmjs.org/through2-filter/-/through2-filter-2.0.0.tgz",
"integrity": "sha1-YLxVoNrLdghdsfna6Zq0P4PWIuw=",
"dev": true,
"requires": {
- "through2": "2.0.3",
- "xtend": "4.0.1"
+ "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
+ "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
}
},
"thunkify": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/thunkify/-/thunkify-2.1.2.tgz",
+ "version": "https://registry.npmjs.org/thunkify/-/thunkify-2.1.2.tgz",
"integrity": "sha1-+qDp0jDFGsyVyhOjYawFyn4EVT0=",
"dev": true
},
"tildify": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/tildify/-/tildify-1.2.0.tgz",
+ "version": "https://registry.npmjs.org/tildify/-/tildify-1.2.0.tgz",
"integrity": "sha1-3OwD9V3Km3qj5bBPIYF+tW5jWIo=",
"dev": true,
"requires": {
- "os-homedir": "1.0.2"
+ "os-homedir": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz"
}
},
"time-stamp": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz",
+ "version": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz",
"integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=",
"dev": true
},
"timers-browserify": {
- "version": "1.4.2",
- "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-1.4.2.tgz",
+ "version": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-1.4.2.tgz",
"integrity": "sha1-ycWLV1voQHN1y14kYtrO50NZ9B0=",
"dev": true,
"requires": {
- "process": "0.11.10"
+ "process": "https://registry.npmjs.org/process/-/process-0.11.10.tgz"
}
},
"timers-ext": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.2.tgz",
+ "version": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.2.tgz",
"integrity": "sha1-YcxHp2wavTGV8UUn+XjViulMUgQ=",
"requires": {
"es5-ext": "0.10.38",
- "next-tick": "1.0.0"
+ "next-tick": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz"
}
},
"timespan": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/timespan/-/timespan-2.3.0.tgz",
+ "version": "https://registry.npmjs.org/timespan/-/timespan-2.3.0.tgz",
"integrity": "sha1-SQLOBAvRPYRcj1myfp1ZutbzmSk=",
"dev": true,
"optional": true
@@ -15659,12 +14221,12 @@
"integrity": "sha512-f4X68a6KHcCx/XJcZUKAa92APjY9EHxuGOzRFmPRjf+fOp1E7fi4dGJaHMxvRBxwZrHrIvn/AwkFaDS7O1WZDQ==",
"dev": true,
"requires": {
- "body": "5.1.0",
+ "body": "https://registry.npmjs.org/body/-/body-5.1.0.tgz",
"debug": "2.6.9",
- "faye-websocket": "0.10.0",
- "livereload-js": "2.3.0",
- "object-assign": "4.1.1",
- "qs": "6.5.1"
+ "faye-websocket": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz",
+ "livereload-js": "https://registry.npmjs.org/livereload-js/-/livereload-js-2.3.0.tgz",
+ "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "qs": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz"
},
"dependencies": {
"debug": {
@@ -15673,70 +14235,62 @@
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"dev": true,
"requires": {
- "ms": "2.0.0"
+ "ms": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"
}
},
"qs": {
- "version": "6.5.1",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz",
- "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==",
+ "version": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz",
+ "integrity": "sha1-NJzfbu+J7EXBLX1es/wMhwNDptg=",
"dev": true
}
}
},
"tmp": {
- "version": "0.0.33",
- "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
- "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
+ "version": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
+ "integrity": "sha1-bTQzWIl2jSGyvNoKonfO07G/rfk=",
"dev": true,
"requires": {
- "os-tmpdir": "1.0.2"
+ "os-tmpdir": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz"
}
},
"to-absolute-glob": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz",
+ "version": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz",
"integrity": "sha1-GGX0PZ50sIItufFFt4z/fQ98hJs=",
"dev": true,
"requires": {
- "is-absolute": "1.0.0",
- "is-negated-glob": "1.0.0"
+ "is-absolute": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz",
+ "is-negated-glob": "https://registry.npmjs.org/is-negated-glob/-/is-negated-glob-1.0.0.tgz"
}
},
"to-array": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz",
+ "version": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz",
"integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA=",
"dev": true
},
"to-arraybuffer": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz",
+ "version": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz",
"integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=",
"dev": true
},
"to-fast-properties": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz",
+ "version": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz",
"integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=",
"dev": true
},
"to-object-path": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
+ "version": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
"integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
"dev": true,
"requires": {
- "kind-of": "3.2.2"
+ "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz"
},
"dependencies": {
"kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "version": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
"dev": true,
"requires": {
- "is-buffer": "1.1.6"
+ "is-buffer": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz"
}
}
}
@@ -15776,7 +14330,7 @@
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
"dev": true,
"requires": {
- "is-buffer": "1.1.6"
+ "is-buffer": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz"
}
}
}
@@ -15796,7 +14350,7 @@
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
"dev": true,
"requires": {
- "is-buffer": "1.1.6"
+ "is-buffer": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz"
}
}
}
@@ -15821,22 +14375,20 @@
}
},
"to-regex-range": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
+ "version": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
"integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
"dev": true,
"requires": {
- "is-number": "3.0.0",
- "repeat-string": "1.6.1"
+ "is-number": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
+ "repeat-string": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz"
}
},
"to-through": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/to-through/-/to-through-2.0.0.tgz",
+ "version": "https://registry.npmjs.org/to-through/-/to-through-2.0.0.tgz",
"integrity": "sha1-/JKtq6ByZHvAtn1rA2ZKoZUJOvY=",
"dev": true,
"requires": {
- "through2": "2.0.3"
+ "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz"
}
},
"tough-cookie": {
@@ -15845,88 +14397,75 @@
"integrity": "sha1-C2GKVWW23qkL80JdBNVe3EdadWE=",
"dev": true,
"requires": {
- "punycode": "1.4.1"
+ "punycode": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz"
}
},
"traverse": {
- "version": "0.3.9",
- "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz",
+ "version": "https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz",
"integrity": "sha1-cXuPIgzAu3tE5AUUwisui7xw2Lk=",
"dev": true
},
"trim": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz",
+ "version": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz",
"integrity": "sha1-WFhUf2spB1fulczMZm+1AITEYN0=",
"dev": true
},
"trim-lines": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-1.1.0.tgz",
+ "version": "https://registry.npmjs.org/trim-lines/-/trim-lines-1.1.0.tgz",
"integrity": "sha1-mSbQPt4Tuhj31CIiYx+wTHn/Jv4=",
"dev": true
},
"trim-newlines": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz",
"integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=",
"dev": true
},
"trim-right": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz",
+ "version": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz",
"integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=",
"dev": true
},
"trim-trailing-lines": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.0.tgz",
+ "version": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.0.tgz",
"integrity": "sha1-eu+7eAjfnWafbaLkOMrIxGradoQ=",
"dev": true
},
"trough": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/trough/-/trough-1.0.1.tgz",
+ "version": "https://registry.npmjs.org/trough/-/trough-1.0.1.tgz",
"integrity": "sha1-qf2LA5Swro//guBjOgo2zK1bX4Y=",
"dev": true
},
"tsscmp": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/tsscmp/-/tsscmp-1.0.5.tgz",
+ "version": "https://registry.npmjs.org/tsscmp/-/tsscmp-1.0.5.tgz",
"integrity": "sha1-fcSjOvcVgatDN9qR2FylQn69mpc=",
"dev": true
},
"tty-browserify": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz",
- "integrity": "sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==",
+ "version": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz",
+ "integrity": "sha1-PwUlHuF5BN/QZ3VGZw25ZRaCuBE=",
"dev": true
},
"tunnel-agent": {
- "version": "0.4.3",
- "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz",
+ "version": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz",
"integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=",
"dev": true
},
"tweetnacl": {
- "version": "0.14.5",
- "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
+ "version": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
"integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
"dev": true,
"optional": true
},
"type-check": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
+ "version": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
"integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
"dev": true,
"requires": {
- "prelude-ls": "1.1.2"
+ "prelude-ls": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz"
}
},
"type-detect": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/type-detect/-/type-detect-1.0.0.tgz",
"integrity": "sha1-diIXzAbbJY7EiQihKY6LlRIejqI=",
"dev": true
},
@@ -15936,131 +14475,115 @@
"integrity": "sha1-yrEPtJCeRByChC6v4a1kbIGARBA=",
"dev": true,
"requires": {
- "media-typer": "0.3.0",
+ "media-typer": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
"mime-types": "2.1.17"
}
},
"typedarray": {
- "version": "0.0.6",
- "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
+ "version": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
"integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
"dev": true
},
"uglify-js": {
- "version": "2.8.29",
- "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz",
+ "version": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz",
"integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=",
"dev": true,
"requires": {
- "source-map": "0.5.7",
- "uglify-to-browserify": "1.0.2",
- "yargs": "3.10.0"
+ "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "uglify-to-browserify": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz",
+ "yargs": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz"
},
"dependencies": {
"camelcase": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz",
+ "version": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz",
"integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=",
"dev": true
},
"cliui": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz",
+ "version": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz",
"integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=",
"dev": true,
"requires": {
- "center-align": "0.1.3",
- "right-align": "0.1.3",
- "wordwrap": "0.0.2"
+ "center-align": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz",
+ "right-align": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz",
+ "wordwrap": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz"
}
},
"source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "version": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
"integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
"dev": true
},
"window-size": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz",
+ "version": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz",
"integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=",
"dev": true
},
"wordwrap": {
- "version": "0.0.2",
- "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz",
+ "version": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz",
"integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=",
"dev": true
},
"yargs": {
- "version": "3.10.0",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz",
+ "version": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz",
"integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=",
"dev": true,
"requires": {
- "camelcase": "1.2.1",
- "cliui": "2.1.0",
- "decamelize": "1.2.0",
- "window-size": "0.1.0"
+ "camelcase": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz",
+ "cliui": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz",
+ "decamelize": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
+ "window-size": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz"
}
}
}
},
"uglify-to-browserify": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz",
+ "version": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz",
"integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=",
"dev": true
},
"uglifyjs-webpack-plugin": {
- "version": "0.4.6",
- "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-0.4.6.tgz",
+ "version": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-0.4.6.tgz",
"integrity": "sha1-uVH0q7a9YX5m9j64kUmOORdj4wk=",
"dev": true,
"requires": {
- "source-map": "0.5.7",
- "uglify-js": "2.8.29",
- "webpack-sources": "1.1.0"
+ "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "uglify-js": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz",
+ "webpack-sources": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.1.0.tgz"
},
"dependencies": {
"source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "version": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
"integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
"dev": true
}
}
},
"uid-safe": {
- "version": "2.1.4",
- "resolved": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.4.tgz",
+ "version": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.4.tgz",
"integrity": "sha1-Otbzg2jG1MjHXsF2I/t5qh0HHYE=",
"dev": true,
"requires": {
- "random-bytes": "1.0.0"
+ "random-bytes": "https://registry.npmjs.org/random-bytes/-/random-bytes-1.0.0.tgz"
}
},
"ultron": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz",
- "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==",
+ "version": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz",
+ "integrity": "sha1-n+FTahCmZKZSZqHjzPhf02MCvJw=",
"dev": true
},
"umd": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/umd/-/umd-3.0.1.tgz",
+ "version": "https://registry.npmjs.org/umd/-/umd-3.0.1.tgz",
"integrity": "sha1-iuVW4RAR9jwllnCKiDclnwGz1g4=",
"dev": true
},
"unc-path-regex": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz",
+ "version": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz",
"integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=",
"dev": true
},
"underscore": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.7.0.tgz",
+ "version": "https://registry.npmjs.org/underscore/-/underscore-1.7.0.tgz",
"integrity": "sha1-a7rwh3UA02vjTsqlhODbn+8DUgk=",
"dev": true
},
@@ -16071,207 +14594,185 @@
"dev": true
},
"unherit": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/unherit/-/unherit-1.1.0.tgz",
+ "version": "https://registry.npmjs.org/unherit/-/unherit-1.1.0.tgz",
"integrity": "sha1-a5qu379z3xdWrZ4xbdmBiFhAzX0=",
"dev": true,
"requires": {
- "inherits": "2.0.3",
- "xtend": "4.0.1"
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
}
},
"unified": {
- "version": "6.1.6",
- "resolved": "https://registry.npmjs.org/unified/-/unified-6.1.6.tgz",
- "integrity": "sha512-pW2f82bCIo2ifuIGYcV12fL96kMMYgw7JKVEgh7ODlrM9rj6vXSY3BV+H6lCcv1ksxynFf582hwWLnA1qRFy4w==",
+ "version": "https://registry.npmjs.org/unified/-/unified-6.1.6.tgz",
+ "integrity": "sha1-Xqf4B6CJjx+Kze7+XyX6oBDMQrE=",
"dev": true,
"requires": {
- "bail": "1.0.2",
- "extend": "3.0.1",
- "is-plain-obj": "1.1.0",
- "trough": "1.0.1",
- "vfile": "2.3.0",
- "x-is-function": "1.0.4",
- "x-is-string": "0.1.0"
+ "bail": "https://registry.npmjs.org/bail/-/bail-1.0.2.tgz",
+ "extend": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz",
+ "is-plain-obj": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz",
+ "trough": "https://registry.npmjs.org/trough/-/trough-1.0.1.tgz",
+ "vfile": "https://registry.npmjs.org/vfile/-/vfile-2.3.0.tgz",
+ "x-is-function": "https://registry.npmjs.org/x-is-function/-/x-is-function-1.0.4.tgz",
+ "x-is-string": "https://registry.npmjs.org/x-is-string/-/x-is-string-0.1.0.tgz"
}
},
"union-value": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz",
"integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=",
"dev": true,
"requires": {
- "arr-union": "3.1.0",
- "get-value": "2.0.6",
- "is-extendable": "0.1.1",
- "set-value": "0.4.3"
+ "arr-union": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
+ "get-value": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
+ "is-extendable": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
+ "set-value": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz"
},
"dependencies": {
"set-value": {
- "version": "0.4.3",
- "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz",
+ "version": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz",
"integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=",
"dev": true,
"requires": {
"extend-shallow": "2.0.1",
- "is-extendable": "0.1.1",
- "is-plain-object": "2.0.4",
- "to-object-path": "0.3.0"
+ "is-extendable": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
+ "is-plain-object": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
+ "to-object-path": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz"
}
}
}
},
"unique-stream": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.2.1.tgz",
+ "version": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.2.1.tgz",
"integrity": "sha1-WqADz76Uxf+GbE59ZouxxNuts2k=",
"dev": true,
"requires": {
- "json-stable-stringify": "1.0.1",
- "through2-filter": "2.0.0"
+ "json-stable-stringify": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz",
+ "through2-filter": "https://registry.npmjs.org/through2-filter/-/through2-filter-2.0.0.tgz"
}
},
"unist-builder": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/unist-builder/-/unist-builder-1.0.2.tgz",
+ "version": "https://registry.npmjs.org/unist-builder/-/unist-builder-1.0.2.tgz",
"integrity": "sha1-jDuZA+9kvPsRfdfPal2Y/Bs7J7Y=",
"dev": true,
"requires": {
- "object-assign": "4.1.1"
+ "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz"
}
},
"unist-util-generated": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-1.1.1.tgz",
+ "version": "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-1.1.1.tgz",
"integrity": "sha1-mfFseJWayFTe58YVwpGSTIv03n8=",
"dev": true
},
"unist-util-is": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-2.1.1.tgz",
+ "version": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-2.1.1.tgz",
"integrity": "sha1-DDEmKeP5YMZukx6BLT2A53AQlHs=",
"dev": true
},
"unist-util-modify-children": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/unist-util-modify-children/-/unist-util-modify-children-1.1.1.tgz",
+ "version": "https://registry.npmjs.org/unist-util-modify-children/-/unist-util-modify-children-1.1.1.tgz",
"integrity": "sha1-ZtfmpEnm9nIguXarPLi166w55R0=",
"dev": true,
"requires": {
- "array-iterate": "1.1.1"
+ "array-iterate": "https://registry.npmjs.org/array-iterate/-/array-iterate-1.1.1.tgz"
}
},
"unist-util-position": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-3.0.0.tgz",
+ "version": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-3.0.0.tgz",
"integrity": "sha1-5uHgPu64HF4a/lU+jUrfvXwNj4I=",
"dev": true
},
"unist-util-remove-position": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-1.1.1.tgz",
+ "version": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-1.1.1.tgz",
"integrity": "sha1-WoXBVV/BugwQG4ZwfRXlD6TIcbs=",
"dev": true,
"requires": {
- "unist-util-visit": "1.3.0"
+ "unist-util-visit": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-1.3.0.tgz"
}
},
"unist-util-stringify-position": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-1.1.1.tgz",
+ "version": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-1.1.1.tgz",
"integrity": "sha1-PMvcU2ee7W7PN3fdf14yKcG2qjw=",
"dev": true
},
"unist-util-visit": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-1.3.0.tgz",
- "integrity": "sha512-9ntYcxPFtl44gnwXrQKZ5bMqXMY0ZHzUpqMFiU4zcc8mmf/jzYm8GhYgezuUlX4cJIM1zIDYaO6fG/fI+L6iiQ==",
+ "version": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-1.3.0.tgz",
+ "integrity": "sha1-Qcp8gpgf0c5sdiqsOX/CTjVxFEQ=",
"dev": true,
"requires": {
- "unist-util-is": "2.1.1"
+ "unist-util-is": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-2.1.1.tgz"
}
},
"unpipe": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
"integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=",
"dev": true
},
"unset-value": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
"integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
"dev": true,
"requires": {
- "has-value": "0.3.1",
- "isobject": "3.0.1"
+ "has-value": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
+ "isobject": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz"
},
"dependencies": {
"has-value": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
+ "version": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
"integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
"dev": true,
"requires": {
- "get-value": "2.0.6",
- "has-values": "0.1.4",
- "isobject": "2.1.0"
+ "get-value": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
+ "has-values": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
+ "isobject": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz"
},
"dependencies": {
"isobject": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
+ "version": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
"integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
"dev": true,
"requires": {
- "isarray": "1.0.0"
+ "isarray": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz"
}
}
}
},
"has-values": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
+ "version": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
"integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=",
"dev": true
}
}
},
"unzip": {
- "version": "0.1.11",
- "resolved": "https://registry.npmjs.org/unzip/-/unzip-0.1.11.tgz",
+ "version": "https://registry.npmjs.org/unzip/-/unzip-0.1.11.tgz",
"integrity": "sha1-iXScY7BY19kNYZ+GuYqhU107l/A=",
"dev": true,
"requires": {
- "binary": "0.3.0",
- "fstream": "0.1.31",
- "match-stream": "0.0.2",
- "pullstream": "0.4.1",
- "readable-stream": "1.0.34",
- "setimmediate": "1.0.5"
+ "binary": "https://registry.npmjs.org/binary/-/binary-0.3.0.tgz",
+ "fstream": "https://registry.npmjs.org/fstream/-/fstream-0.1.31.tgz",
+ "match-stream": "https://registry.npmjs.org/match-stream/-/match-stream-0.0.2.tgz",
+ "pullstream": "https://registry.npmjs.org/pullstream/-/pullstream-0.4.1.tgz",
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "setimmediate": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz"
},
"dependencies": {
"isarray": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "version": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
"integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
"dev": true
},
"readable-stream": {
- "version": "1.0.34",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
"integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
"dev": true,
"requires": {
- "core-util-is": "1.0.2",
- "inherits": "2.0.3",
- "isarray": "0.0.1",
- "string_decoder": "0.10.31"
+ "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
}
},
"string_decoder": {
- "version": "0.10.31",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "version": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
"dev": true
}
@@ -16296,173 +14797,153 @@
}
},
"urix": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
+ "version": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
"integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI="
},
"url": {
- "version": "0.10.3",
- "resolved": "https://registry.npmjs.org/url/-/url-0.10.3.tgz",
+ "version": "https://registry.npmjs.org/url/-/url-0.10.3.tgz",
"integrity": "sha1-Ah5NnHcF8hu/N9A861h2dAJ3TGQ=",
"dev": true,
"requires": {
- "punycode": "1.3.2",
- "querystring": "0.2.0"
+ "punycode": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
+ "querystring": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz"
},
"dependencies": {
"punycode": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
+ "version": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
"integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=",
"dev": true
}
}
},
"url-parse": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.2.0.tgz",
- "integrity": "sha512-DT1XbYAfmQP65M/mE6OALxmXzZ/z1+e5zk2TcSKe/KiYbNGZxgtttzC0mR/sjopbpOXcbniq7eIKmocJnUWlEw==",
+ "version": "https://registry.npmjs.org/url-parse/-/url-parse-1.2.0.tgz",
+ "integrity": "sha1-OhnoqqbQI93SfcxEy0/I9/7COYY=",
"dev": true,
"requires": {
- "querystringify": "1.0.0",
- "requires-port": "1.0.0"
+ "querystringify": "https://registry.npmjs.org/querystringify/-/querystringify-1.0.0.tgz",
+ "requires-port": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz"
},
"dependencies": {
"querystringify": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/querystringify/-/querystringify-1.0.0.tgz",
"integrity": "sha1-YoYkIRLFtxL6ZU5SZlK/ahP/Bcs=",
"dev": true
}
}
},
"use": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/use/-/use-2.0.2.tgz",
+ "version": "https://registry.npmjs.org/use/-/use-2.0.2.tgz",
"integrity": "sha1-riig1y+TvyJCKhii43mZMRLeyOg=",
"dev": true,
"requires": {
- "define-property": "0.2.5",
- "isobject": "3.0.1",
- "lazy-cache": "2.0.2"
+ "define-property": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "isobject": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+ "lazy-cache": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz"
},
"dependencies": {
"define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "version": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
"dev": true,
"requires": {
- "is-descriptor": "0.1.6"
+ "is-descriptor": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz"
}
},
"is-accessor-descriptor": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
+ "version": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
"integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
"dev": true,
"requires": {
- "kind-of": "3.2.2"
+ "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz"
},
"dependencies": {
"kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "version": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
"dev": true,
"requires": {
- "is-buffer": "1.1.6"
+ "is-buffer": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz"
}
}
}
},
"is-data-descriptor": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
+ "version": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
"integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
"dev": true,
"requires": {
- "kind-of": "3.2.2"
+ "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz"
},
"dependencies": {
"kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "version": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
"dev": true,
"requires": {
- "is-buffer": "1.1.6"
+ "is-buffer": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz"
}
}
}
},
"is-descriptor": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
- "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
+ "version": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
+ "integrity": "sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco=",
"dev": true,
"requires": {
- "is-accessor-descriptor": "0.1.6",
- "is-data-descriptor": "0.1.4",
- "kind-of": "5.1.0"
+ "is-accessor-descriptor": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
+ "is-data-descriptor": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
+ "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz"
}
},
"kind-of": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
- "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
+ "version": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
+ "integrity": "sha1-cpyR4thXt6QZofmqZWhcTDP1hF0=",
"dev": true
}
}
},
"user-home": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz",
+ "version": "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz",
"integrity": "sha1-K1viOjK2Onyd640PKNSFcko98ZA=",
"dev": true
},
"useragent": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/useragent/-/useragent-2.3.0.tgz",
- "integrity": "sha512-4AoH4pxuSvHCjqLO04sU6U/uE65BYza8l/KKBS0b0hnUPWi+cQ2BpeTEwejCSx9SPV5/U03nniDTrWx5NrmKdw==",
+ "version": "https://registry.npmjs.org/useragent/-/useragent-2.3.0.tgz",
+ "integrity": "sha1-IX+UOtVAyyEoZYqyP8lg9qiMmXI=",
"dev": true,
"requires": {
- "lru-cache": "4.1.1",
- "tmp": "0.0.33"
+ "lru-cache": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz",
+ "tmp": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz"
}
},
"util": {
- "version": "0.10.3",
- "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz",
+ "version": "https://registry.npmjs.org/util/-/util-0.10.3.tgz",
"integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=",
"dev": true,
"requires": {
- "inherits": "2.0.1"
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz"
},
"dependencies": {
"inherits": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
+ "version": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
"integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=",
"dev": true
}
}
},
"util-deprecate": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+ "version": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
"integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
},
"utils-merge": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz",
"integrity": "sha1-ApT7kiu5N1FTVBxPcJYjHyh8ivg=",
"dev": true
},
"uuid": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.2.1.tgz",
- "integrity": "sha512-jZnMwlb9Iku/O3smGWvZhauCf6cvvpKi4BKRiliS3cxnI+Gz9j5MEpTz2UFuXiKPJocb7gnsLHwiS05ige5BEA==",
+ "version": "https://registry.npmjs.org/uuid/-/uuid-3.2.1.tgz",
+ "integrity": "sha1-EsUou51Y0LkmXZovbw/ovhf/HxQ=",
"dev": true
},
"uws": {
@@ -16473,12 +14954,11 @@
"optional": true
},
"v8flags": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-2.1.1.tgz",
+ "version": "https://registry.npmjs.org/v8flags/-/v8flags-2.1.1.tgz",
"integrity": "sha1-qrGh+jDUX4jdMhFIh1rALAtV5bQ=",
"dev": true,
"requires": {
- "user-home": "1.1.1"
+ "user-home": "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz"
}
},
"validate-npm-package-license": {
@@ -16492,224 +14972,190 @@
}
},
"value-or-function": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/value-or-function/-/value-or-function-3.0.0.tgz",
+ "version": "https://registry.npmjs.org/value-or-function/-/value-or-function-3.0.0.tgz",
"integrity": "sha1-HCQ6ULWVwb5Up1S/7OhWO5/42BM=",
"dev": true
},
- "vargs": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/vargs/-/vargs-0.1.0.tgz",
- "integrity": "sha1-a2GE2mUgzDIEzhtAfKwm2SYJ6/8=",
- "dev": true
- },
"vary": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/vary/-/vary-1.0.1.tgz",
+ "version": "https://registry.npmjs.org/vary/-/vary-1.0.1.tgz",
"integrity": "sha1-meSYFWaihhGN+yuBc1ffeZM3bRA=",
"dev": true
},
"verror": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
+ "version": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
"integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
"dev": true,
"requires": {
- "assert-plus": "1.0.0",
- "core-util-is": "1.0.2",
- "extsprintf": "1.3.0"
+ "assert-plus": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "extsprintf": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz"
},
"dependencies": {
"assert-plus": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
"integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
"dev": true
}
}
},
"vfile": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/vfile/-/vfile-2.3.0.tgz",
- "integrity": "sha512-ASt4mBUHcTpMKD/l5Q+WJXNtshlWxOogYyGYYrg4lt/vuRjC1EFQtlAofL5VmtVNIZJzWYFJjzGWZ0Gw8pzW1w==",
+ "version": "https://registry.npmjs.org/vfile/-/vfile-2.3.0.tgz",
+ "integrity": "sha1-5i2OcrIOg8MkvGxnJ47ickiL+Eo=",
"dev": true,
"requires": {
- "is-buffer": "1.1.6",
- "replace-ext": "1.0.0",
- "unist-util-stringify-position": "1.1.1",
- "vfile-message": "1.0.0"
+ "is-buffer": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
+ "replace-ext": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz",
+ "unist-util-stringify-position": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-1.1.1.tgz",
+ "vfile-message": "https://registry.npmjs.org/vfile-message/-/vfile-message-1.0.0.tgz"
}
},
"vfile-location": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-2.0.2.tgz",
+ "version": "https://registry.npmjs.org/vfile-location/-/vfile-location-2.0.2.tgz",
"integrity": "sha1-02dcWch3SY5JK0dW/2Xkrxp1IlU=",
"dev": true
},
"vfile-message": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-1.0.0.tgz",
- "integrity": "sha512-HPREhzTOB/sNDc9/Mxf8w0FmHnThg5CRSJdR9VRFkD2riqYWs+fuXlj5z8mIpv2LrD7uU41+oPWFOL4Mjlf+dw==",
+ "version": "https://registry.npmjs.org/vfile-message/-/vfile-message-1.0.0.tgz",
+ "integrity": "sha1-pq2wR06kAPol2Snx1nOr6moX41k=",
"dev": true,
"requires": {
- "unist-util-stringify-position": "1.1.1"
+ "unist-util-stringify-position": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-1.1.1.tgz"
}
},
"vfile-reporter": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/vfile-reporter/-/vfile-reporter-4.0.0.tgz",
+ "version": "https://registry.npmjs.org/vfile-reporter/-/vfile-reporter-4.0.0.tgz",
"integrity": "sha1-6m8K4TQvSEFXOYXgX5QXNvJ96do=",
"dev": true,
"requires": {
- "repeat-string": "1.6.1",
- "string-width": "1.0.2",
- "supports-color": "4.5.0",
- "unist-util-stringify-position": "1.1.1",
- "vfile-statistics": "1.1.0"
+ "repeat-string": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
+ "string-width": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
+ "supports-color": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz",
+ "unist-util-stringify-position": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-1.1.1.tgz",
+ "vfile-statistics": "https://registry.npmjs.org/vfile-statistics/-/vfile-statistics-1.1.0.tgz"
},
"dependencies": {
"has-flag": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz",
+ "version": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz",
"integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=",
"dev": true
},
"supports-color": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz",
+ "version": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz",
"integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=",
"dev": true,
"requires": {
- "has-flag": "2.0.0"
+ "has-flag": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz"
}
}
}
},
"vfile-sort": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/vfile-sort/-/vfile-sort-2.1.0.tgz",
+ "version": "https://registry.npmjs.org/vfile-sort/-/vfile-sort-2.1.0.tgz",
"integrity": "sha1-SVAcnou+Wt/y6bOnZx7hseIMUhA=",
"dev": true
},
"vfile-statistics": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/vfile-statistics/-/vfile-statistics-1.1.0.tgz",
+ "version": "https://registry.npmjs.org/vfile-statistics/-/vfile-statistics-1.1.0.tgz",
"integrity": "sha1-AhBMYP3u0dEbH3OtZTMLdjSz2JU=",
"dev": true
},
"vhost": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/vhost/-/vhost-3.0.2.tgz",
+ "version": "https://registry.npmjs.org/vhost/-/vhost-3.0.2.tgz",
"integrity": "sha1-L7HezUxGaqiLD5NBrzPcGv8keNU=",
"dev": true
},
"vinyl": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.1.0.tgz",
+ "version": "https://registry.npmjs.org/vinyl/-/vinyl-2.1.0.tgz",
"integrity": "sha1-Ah+cLPlR1rk5lDyJ617lrdT9kkw=",
"dev": true,
"requires": {
- "clone": "2.1.1",
- "clone-buffer": "1.0.0",
- "clone-stats": "1.0.0",
- "cloneable-readable": "1.0.0",
- "remove-trailing-separator": "1.1.0",
- "replace-ext": "1.0.0"
+ "clone": "https://registry.npmjs.org/clone/-/clone-2.1.1.tgz",
+ "clone-buffer": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz",
+ "clone-stats": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz",
+ "cloneable-readable": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.0.0.tgz",
+ "remove-trailing-separator": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
+ "replace-ext": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz"
}
},
"vinyl-fs": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-3.0.2.tgz",
- "integrity": "sha512-AUSFda1OukBwuLPBTbyuO4IRWgfXmqC4UTW0f8xrCa8Hkv9oyIU+NSqBlgfOLZRoUt7cHdo75hKQghCywpIyIw==",
- "dev": true,
- "requires": {
- "fs-mkdirp-stream": "1.0.0",
- "glob-stream": "6.1.0",
- "graceful-fs": "4.1.11",
- "is-valid-glob": "1.0.0",
- "lazystream": "1.0.0",
- "lead": "1.0.0",
- "object.assign": "4.1.0",
- "pumpify": "1.4.0",
- "readable-stream": "2.3.4",
- "remove-bom-buffer": "3.0.0",
- "remove-bom-stream": "1.2.0",
- "resolve-options": "1.1.0",
- "through2": "2.0.3",
- "to-through": "2.0.0",
- "value-or-function": "3.0.0",
- "vinyl": "2.1.0",
- "vinyl-sourcemap": "1.1.0"
+ "version": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-3.0.2.tgz",
+ "integrity": "sha1-G4YliEQ4P1dYH8qsCB/gnvbW11I=",
+ "dev": true,
+ "requires": {
+ "fs-mkdirp-stream": "https://registry.npmjs.org/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz",
+ "glob-stream": "https://registry.npmjs.org/glob-stream/-/glob-stream-6.1.0.tgz",
+ "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "is-valid-glob": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-1.0.0.tgz",
+ "lazystream": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz",
+ "lead": "https://registry.npmjs.org/lead/-/lead-1.0.0.tgz",
+ "object.assign": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz",
+ "pumpify": "https://registry.npmjs.org/pumpify/-/pumpify-1.4.0.tgz",
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.4.tgz",
+ "remove-bom-buffer": "https://registry.npmjs.org/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz",
+ "remove-bom-stream": "https://registry.npmjs.org/remove-bom-stream/-/remove-bom-stream-1.2.0.tgz",
+ "resolve-options": "https://registry.npmjs.org/resolve-options/-/resolve-options-1.1.0.tgz",
+ "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
+ "to-through": "https://registry.npmjs.org/to-through/-/to-through-2.0.0.tgz",
+ "value-or-function": "https://registry.npmjs.org/value-or-function/-/value-or-function-3.0.0.tgz",
+ "vinyl": "https://registry.npmjs.org/vinyl/-/vinyl-2.1.0.tgz",
+ "vinyl-sourcemap": "https://registry.npmjs.org/vinyl-sourcemap/-/vinyl-sourcemap-1.1.0.tgz"
}
},
"vinyl-sourcemap": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/vinyl-sourcemap/-/vinyl-sourcemap-1.1.0.tgz",
+ "version": "https://registry.npmjs.org/vinyl-sourcemap/-/vinyl-sourcemap-1.1.0.tgz",
"integrity": "sha1-kqgAWTo4cDqM2xHYswCtS+Y7PhY=",
"dev": true,
"requires": {
- "append-buffer": "1.0.2",
- "convert-source-map": "1.5.1",
- "graceful-fs": "4.1.11",
- "normalize-path": "2.1.1",
- "now-and-later": "2.0.0",
- "remove-bom-buffer": "3.0.0",
- "vinyl": "2.1.0"
+ "append-buffer": "https://registry.npmjs.org/append-buffer/-/append-buffer-1.0.2.tgz",
+ "convert-source-map": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz",
+ "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "normalize-path": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
+ "now-and-later": "https://registry.npmjs.org/now-and-later/-/now-and-later-2.0.0.tgz",
+ "remove-bom-buffer": "https://registry.npmjs.org/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz",
+ "vinyl": "https://registry.npmjs.org/vinyl/-/vinyl-2.1.0.tgz"
}
},
"vinyl-sourcemaps-apply": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz",
+ "version": "https://registry.npmjs.org/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz",
"integrity": "sha1-q2VJ1h0XLCsbh75cUI0jnI74dwU=",
"dev": true,
"requires": {
- "source-map": "0.5.7"
+ "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz"
},
"dependencies": {
"source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "version": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
"integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
"dev": true
}
}
},
"vlq": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/vlq/-/vlq-0.2.3.tgz",
- "integrity": "sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow==",
+ "version": "https://registry.npmjs.org/vlq/-/vlq-0.2.3.tgz",
+ "integrity": "sha1-jz5DKM9jsVQMDWfhsneDhviXWyY=",
"dev": true
},
"vm-browserify": {
- "version": "0.0.4",
- "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz",
+ "version": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz",
"integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=",
"dev": true,
"requires": {
- "indexof": "0.0.1"
+ "indexof": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz"
}
},
"void-elements": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz",
+ "version": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz",
"integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=",
"dev": true
},
"walk": {
- "version": "2.3.9",
- "resolved": "https://registry.npmjs.org/walk/-/walk-2.3.9.tgz",
+ "version": "https://registry.npmjs.org/walk/-/walk-2.3.9.tgz",
"integrity": "sha1-MbTbZnjyrgHDnqn7hyWpAx5Vins=",
"dev": true,
"requires": {
- "foreachasync": "3.0.0"
+ "foreachasync": "https://registry.npmjs.org/foreachasync/-/foreachasync-3.0.0.tgz"
}
},
- "walkdir": {
- "version": "0.0.11",
- "resolved": "https://registry.npmjs.org/walkdir/-/walkdir-0.0.11.tgz",
- "integrity": "sha1-oW0CXrkxvQO1LzCMrtD0D86+lTI=",
- "dev": true
- },
"watchpack": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.4.0.tgz",
@@ -16718,7 +15164,7 @@
"requires": {
"async": "2.6.0",
"chokidar": "1.7.0",
- "graceful-fs": "4.1.11"
+ "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz"
},
"dependencies": {
"anymatch": {
@@ -16728,7 +15174,7 @@
"dev": true,
"requires": {
"micromatch": "2.3.11",
- "normalize-path": "2.1.1"
+ "normalize-path": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz"
}
},
"arr-diff": {
@@ -16737,7 +15183,7 @@
"integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=",
"dev": true,
"requires": {
- "arr-flatten": "1.1.0"
+ "arr-flatten": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz"
}
},
"array-unique": {
@@ -16752,7 +15198,7 @@
"integrity": "sha512-xAfGg1/NTLBBKlHFmnd7PlmUW9KhVQIUuSrYem9xzFUZy13ScvtyGGejaae9iAVRiRq9+Cx7DPFaAAhCpyxyPw==",
"dev": true,
"requires": {
- "lodash": "4.17.5"
+ "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz"
}
},
"braces": {
@@ -16761,9 +15207,9 @@
"integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=",
"dev": true,
"requires": {
- "expand-range": "1.8.2",
- "preserve": "0.2.0",
- "repeat-element": "1.1.2"
+ "expand-range": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz",
+ "preserve": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz",
+ "repeat-element": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz"
}
},
"chokidar": {
@@ -16773,14 +15219,14 @@
"dev": true,
"requires": {
"anymatch": "1.3.2",
- "async-each": "1.0.1",
- "fsevents": "1.1.3",
+ "async-each": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz",
+ "fsevents": "https://registry.npmjs.org/fsevents/-/fsevents-1.1.3.tgz",
"glob-parent": "2.0.0",
- "inherits": "2.0.3",
- "is-binary-path": "1.0.1",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "is-binary-path": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
"is-glob": "2.0.1",
- "path-is-absolute": "1.0.1",
- "readdirp": "2.1.0"
+ "path-is-absolute": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "readdirp": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz"
}
},
"expand-brackets": {
@@ -16789,7 +15235,7 @@
"integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=",
"dev": true,
"requires": {
- "is-posix-bracket": "0.1.1"
+ "is-posix-bracket": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz"
}
},
"extglob": {
@@ -16831,7 +15277,7 @@
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
"dev": true,
"requires": {
- "is-buffer": "1.1.6"
+ "is-buffer": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz"
}
},
"micromatch": {
@@ -16845,435 +15291,278 @@
"braces": "1.8.5",
"expand-brackets": "0.1.5",
"extglob": "0.3.2",
- "filename-regex": "2.0.1",
+ "filename-regex": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz",
"is-extglob": "1.0.0",
"is-glob": "2.0.1",
"kind-of": "3.2.2",
- "normalize-path": "2.1.1",
- "object.omit": "2.0.1",
- "parse-glob": "3.0.4",
- "regex-cache": "0.4.4"
- }
- }
- }
- },
- "wd": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/wd/-/wd-1.5.0.tgz",
- "integrity": "sha512-e/KpzTlhtSG3Ek0AcRz4G6PhxGsc53Nro+GkI1er9p05tWQ7W9dpGZR5SqQzGUqvbaqJCThDSAGaY7LHgi6MiA==",
- "dev": true,
- "requires": {
- "archiver": "1.3.0",
- "async": "2.0.1",
- "lodash": "4.16.2",
- "mkdirp": "0.5.1",
- "q": "1.4.1",
- "request": "2.79.0",
- "underscore.string": "3.3.4",
- "vargs": "0.1.0"
- },
- "dependencies": {
- "archiver": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/archiver/-/archiver-1.3.0.tgz",
- "integrity": "sha1-TyGU1tj5nfP1MeaIHxTxXVX6ryI=",
- "dev": true,
- "requires": {
- "archiver-utils": "1.3.0",
- "async": "2.0.1",
- "buffer-crc32": "0.2.13",
- "glob": "7.1.2",
- "lodash": "4.16.2",
- "readable-stream": "2.3.4",
- "tar-stream": "1.5.5",
- "walkdir": "0.0.11",
- "zip-stream": "1.2.0"
- }
- },
- "async": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/async/-/async-2.0.1.tgz",
- "integrity": "sha1-twnMAoCpw28J9FNr6CPIOKkEniU=",
- "dev": true,
- "requires": {
- "lodash": "4.16.2"
- }
- },
- "bl": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.1.tgz",
- "integrity": "sha1-ysMo977kVzDUBLaSID/LWQ4XLV4=",
- "dev": true,
- "requires": {
- "readable-stream": "2.3.4"
- }
- },
- "compress-commons": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-1.2.2.tgz",
- "integrity": "sha1-UkqfEJA/OoEzibAiXSfEi7dRiQ8=",
- "dev": true,
- "requires": {
- "buffer-crc32": "0.2.13",
- "crc32-stream": "2.0.0",
- "normalize-path": "2.1.1",
- "readable-stream": "2.3.4"
- }
- },
- "crc": {
- "version": "3.5.0",
- "resolved": "https://registry.npmjs.org/crc/-/crc-3.5.0.tgz",
- "integrity": "sha1-mLi6fUiWZbo5efWbITgTdBAaGWQ=",
- "dev": true
- },
- "crc32-stream": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-2.0.0.tgz",
- "integrity": "sha1-483TtN8xaN10494/u8t7KX/pCPQ=",
- "dev": true,
- "requires": {
- "crc": "3.5.0",
- "readable-stream": "2.3.4"
- }
- },
- "lodash": {
- "version": "4.16.2",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.16.2.tgz",
- "integrity": "sha1-PmJtuCcEimmSgaihJSJjJs/A5lI=",
- "dev": true
- },
- "q": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/q/-/q-1.4.1.tgz",
- "integrity": "sha1-VXBbzZPF82c1MMLCy8DCs63cKG4=",
- "dev": true
- },
- "tar-stream": {
- "version": "1.5.5",
- "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.5.5.tgz",
- "integrity": "sha512-mQdgLPc/Vjfr3VWqWbfxW8yQNiJCbAZ+Gf6GDu1Cy0bdb33ofyiNGBtAY96jHFhDuivCwgW1H9DgTON+INiXgg==",
- "dev": true,
- "requires": {
- "bl": "1.2.1",
- "end-of-stream": "1.4.1",
- "readable-stream": "2.3.4",
- "xtend": "4.0.1"
- }
- },
- "underscore.string": {
- "version": "3.3.4",
- "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-3.3.4.tgz",
- "integrity": "sha1-LCo/n4PmR2L9xF5s6sZRQoZCE9s=",
- "dev": true,
- "requires": {
- "sprintf-js": "1.0.3",
- "util-deprecate": "1.0.2"
- }
- },
- "zip-stream": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-1.2.0.tgz",
- "integrity": "sha1-qLxF9MG0lpnGuQGYuqyqzbzUugQ=",
- "dev": true,
- "requires": {
- "archiver-utils": "1.3.0",
- "compress-commons": "1.2.2",
- "lodash": "4.16.2",
- "readable-stream": "2.3.4"
+ "normalize-path": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
+ "object.omit": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz",
+ "parse-glob": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz",
+ "regex-cache": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz"
}
}
}
},
"webdriverio": {
- "version": "3.4.0",
- "resolved": "https://registry.npmjs.org/webdriverio/-/webdriverio-3.4.0.tgz",
+ "version": "https://registry.npmjs.org/webdriverio/-/webdriverio-3.4.0.tgz",
"integrity": "sha1-2dTTwxNm8FPhCvZEsOqtXoc6t7U=",
"dev": true,
"requires": {
- "archiver": "0.14.4",
- "array.from": "0.2.0",
- "co": "4.6.0",
- "css-parse": "2.0.0",
- "css-value": "0.0.1",
- "deepmerge": "0.2.10",
- "ejs": "2.5.7",
- "glob": "5.0.15",
- "inquirer": "0.8.5",
- "is-generator": "1.0.3",
- "optimist": "0.6.1",
- "q": "1.3.0",
- "request": "2.49.0",
- "rgb2hex": "0.1.0",
- "supports-color": "1.3.1",
- "url": "0.10.3",
- "wgxpath": "1.0.0"
+ "archiver": "https://registry.npmjs.org/archiver/-/archiver-0.14.4.tgz",
+ "array.from": "https://registry.npmjs.org/array.from/-/array.from-0.2.0.tgz",
+ "co": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
+ "css-parse": "https://registry.npmjs.org/css-parse/-/css-parse-2.0.0.tgz",
+ "css-value": "https://registry.npmjs.org/css-value/-/css-value-0.0.1.tgz",
+ "deepmerge": "https://registry.npmjs.org/deepmerge/-/deepmerge-0.2.10.tgz",
+ "ejs": "https://registry.npmjs.org/ejs/-/ejs-2.5.7.tgz",
+ "glob": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
+ "inquirer": "https://registry.npmjs.org/inquirer/-/inquirer-0.8.5.tgz",
+ "is-generator": "https://registry.npmjs.org/is-generator/-/is-generator-1.0.3.tgz",
+ "optimist": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz",
+ "q": "https://registry.npmjs.org/q/-/q-1.3.0.tgz",
+ "request": "https://registry.npmjs.org/request/-/request-2.49.0.tgz",
+ "rgb2hex": "https://registry.npmjs.org/rgb2hex/-/rgb2hex-0.1.0.tgz",
+ "supports-color": "https://registry.npmjs.org/supports-color/-/supports-color-1.3.1.tgz",
+ "url": "https://registry.npmjs.org/url/-/url-0.10.3.tgz",
+ "wgxpath": "https://registry.npmjs.org/wgxpath/-/wgxpath-1.0.0.tgz"
},
"dependencies": {
"ansi-regex": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-1.1.1.tgz",
+ "version": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-1.1.1.tgz",
"integrity": "sha1-QchHGUZGN15qGl0Qw8oFTvn8mA0=",
"dev": true
},
"asn1": {
- "version": "0.1.11",
- "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz",
+ "version": "https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz",
"integrity": "sha1-VZvhg3bQik7E2+gId9J4GGObLfc=",
"dev": true
},
"assert-plus": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.5.tgz",
+ "version": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.5.tgz",
"integrity": "sha1-7nQAlBMALYTOxyGcasgRgS5yMWA=",
"dev": true
},
"async": {
- "version": "0.9.2",
- "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz",
+ "version": "https://registry.npmjs.org/async/-/async-0.9.2.tgz",
"integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=",
"dev": true
},
"aws-sign2": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.5.0.tgz",
+ "version": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.5.0.tgz",
"integrity": "sha1-xXED96F/wDfwLXwuZLYC6iI/fWM=",
"dev": true
},
"boom": {
- "version": "0.4.2",
- "resolved": "https://registry.npmjs.org/boom/-/boom-0.4.2.tgz",
+ "version": "https://registry.npmjs.org/boom/-/boom-0.4.2.tgz",
"integrity": "sha1-emNune1O/O+xnO9JR6PGffrukRs=",
"dev": true,
"requires": {
- "hoek": "0.9.1"
+ "hoek": "https://registry.npmjs.org/hoek/-/hoek-0.9.1.tgz"
}
},
"caseless": {
- "version": "0.8.0",
- "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.8.0.tgz",
+ "version": "https://registry.npmjs.org/caseless/-/caseless-0.8.0.tgz",
"integrity": "sha1-W8oogdQUN/VLJAfr40iIx7mtT30=",
"dev": true
},
"cli-width": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-1.1.1.tgz",
+ "version": "https://registry.npmjs.org/cli-width/-/cli-width-1.1.1.tgz",
"integrity": "sha1-pNKT72frt7iNSk1CwMzwDE0eNm0=",
"dev": true
},
"combined-stream": {
- "version": "0.0.7",
- "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-0.0.7.tgz",
+ "version": "https://registry.npmjs.org/combined-stream/-/combined-stream-0.0.7.tgz",
"integrity": "sha1-ATfmV7qlp1QcV6w3rF/AfXO03B8=",
"dev": true,
"requires": {
- "delayed-stream": "0.0.5"
+ "delayed-stream": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz"
}
},
"cryptiles": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-0.2.2.tgz",
+ "version": "https://registry.npmjs.org/cryptiles/-/cryptiles-0.2.2.tgz",
"integrity": "sha1-7ZH/HxetE9N0gohZT4pIoNJvMlw=",
"dev": true,
"requires": {
- "boom": "0.4.2"
+ "boom": "https://registry.npmjs.org/boom/-/boom-0.4.2.tgz"
}
},
"delayed-stream": {
- "version": "0.0.5",
- "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz",
+ "version": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz",
"integrity": "sha1-1LH0OpPoKW3+AmlPRoC8N6MTxz8=",
"dev": true
},
"figures": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz",
+ "version": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz",
"integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=",
"dev": true,
"requires": {
- "escape-string-regexp": "1.0.5",
- "object-assign": "4.1.1"
+ "escape-string-regexp": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz"
}
},
"forever-agent": {
- "version": "0.5.2",
- "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.5.2.tgz",
+ "version": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.5.2.tgz",
"integrity": "sha1-bQ4JxJIflKJ/Y9O0nF/v8epMUTA=",
"dev": true
},
"form-data": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-0.1.4.tgz",
+ "version": "https://registry.npmjs.org/form-data/-/form-data-0.1.4.tgz",
"integrity": "sha1-kavXiKupcCsaq/qLwBAxoqyeOxI=",
"dev": true,
"requires": {
- "async": "0.9.2",
- "combined-stream": "0.0.7",
- "mime": "1.2.11"
+ "async": "https://registry.npmjs.org/async/-/async-0.9.2.tgz",
+ "combined-stream": "https://registry.npmjs.org/combined-stream/-/combined-stream-0.0.7.tgz",
+ "mime": "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz"
}
},
"glob": {
- "version": "5.0.15",
- "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
+ "version": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
"integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=",
"dev": true,
"requires": {
- "inflight": "1.0.6",
- "inherits": "2.0.3",
- "minimatch": "3.0.4",
- "once": "1.4.0",
- "path-is-absolute": "1.0.1"
+ "inflight": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+ "once": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "path-is-absolute": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz"
}
},
"hawk": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/hawk/-/hawk-1.1.1.tgz",
+ "version": "https://registry.npmjs.org/hawk/-/hawk-1.1.1.tgz",
"integrity": "sha1-h81JH5tG5OKurKM1QWdmiF0tHtk=",
"dev": true,
"requires": {
- "boom": "0.4.2",
- "cryptiles": "0.2.2",
- "hoek": "0.9.1",
- "sntp": "0.2.4"
+ "boom": "https://registry.npmjs.org/boom/-/boom-0.4.2.tgz",
+ "cryptiles": "https://registry.npmjs.org/cryptiles/-/cryptiles-0.2.2.tgz",
+ "hoek": "https://registry.npmjs.org/hoek/-/hoek-0.9.1.tgz",
+ "sntp": "https://registry.npmjs.org/sntp/-/sntp-0.2.4.tgz"
}
},
"hoek": {
- "version": "0.9.1",
- "resolved": "https://registry.npmjs.org/hoek/-/hoek-0.9.1.tgz",
+ "version": "https://registry.npmjs.org/hoek/-/hoek-0.9.1.tgz",
"integrity": "sha1-PTIkYrrfB3Fup+uFuviAec3c5QU=",
"dev": true
},
"http-signature": {
- "version": "0.10.1",
- "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-0.10.1.tgz",
+ "version": "https://registry.npmjs.org/http-signature/-/http-signature-0.10.1.tgz",
"integrity": "sha1-T72sEyVZqoMjEh5UB3nAoBKyfmY=",
"dev": true,
"requires": {
- "asn1": "0.1.11",
- "assert-plus": "0.1.5",
- "ctype": "0.5.3"
+ "asn1": "https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz",
+ "assert-plus": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.5.tgz",
+ "ctype": "https://registry.npmjs.org/ctype/-/ctype-0.5.3.tgz"
}
},
"inquirer": {
- "version": "0.8.5",
- "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-0.8.5.tgz",
+ "version": "https://registry.npmjs.org/inquirer/-/inquirer-0.8.5.tgz",
"integrity": "sha1-29dAz2yjtzEpamPOb22WGFHzNt8=",
"dev": true,
"requires": {
- "ansi-regex": "1.1.1",
- "chalk": "1.1.3",
- "cli-width": "1.1.1",
- "figures": "1.7.0",
- "lodash": "3.10.1",
- "readline2": "0.1.1",
- "rx": "2.5.3",
- "through": "2.3.8"
+ "ansi-regex": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-1.1.1.tgz",
+ "chalk": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "cli-width": "https://registry.npmjs.org/cli-width/-/cli-width-1.1.1.tgz",
+ "figures": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz",
+ "lodash": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz",
+ "readline2": "https://registry.npmjs.org/readline2/-/readline2-0.1.1.tgz",
+ "rx": "https://registry.npmjs.org/rx/-/rx-2.5.3.tgz",
+ "through": "https://registry.npmjs.org/through/-/through-2.3.8.tgz"
}
},
"lodash": {
- "version": "3.10.1",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz",
+ "version": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz",
"integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=",
"dev": true
},
"mime": {
- "version": "1.2.11",
- "resolved": "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz",
+ "version": "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz",
"integrity": "sha1-WCA+7Ybjpe8XrtK32evUfwpg3RA=",
"dev": true
},
"mime-types": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-1.0.2.tgz",
+ "version": "https://registry.npmjs.org/mime-types/-/mime-types-1.0.2.tgz",
"integrity": "sha1-mVrhOSq4r/y/yyZB3QVOlDwNXc4=",
"dev": true
},
"node-uuid": {
- "version": "1.4.8",
- "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.8.tgz",
+ "version": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.8.tgz",
"integrity": "sha1-sEDrCSOWivq/jTL7HxfxFn/auQc=",
"dev": true
},
"oauth-sign": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.5.0.tgz",
+ "version": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.5.0.tgz",
"integrity": "sha1-12f1FpMlYg6rLgh+8MRy53PbZGE=",
"dev": true
},
"qs": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/qs/-/qs-2.3.3.tgz",
+ "version": "https://registry.npmjs.org/qs/-/qs-2.3.3.tgz",
"integrity": "sha1-6eha2+ddoLvkyOBHaghikPhjtAQ=",
"dev": true
},
"request": {
- "version": "2.49.0",
- "resolved": "https://registry.npmjs.org/request/-/request-2.49.0.tgz",
+ "version": "https://registry.npmjs.org/request/-/request-2.49.0.tgz",
"integrity": "sha1-DU9jSNwzSAWbVT5Ntg/SR43mYqc=",
"dev": true,
"requires": {
- "aws-sign2": "0.5.0",
- "bl": "0.9.5",
- "caseless": "0.8.0",
- "combined-stream": "0.0.7",
- "forever-agent": "0.5.2",
- "form-data": "0.1.4",
- "hawk": "1.1.1",
- "http-signature": "0.10.1",
- "json-stringify-safe": "5.0.1",
- "mime-types": "1.0.2",
- "node-uuid": "1.4.8",
- "oauth-sign": "0.5.0",
- "qs": "2.3.3",
- "stringstream": "0.0.5",
+ "aws-sign2": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.5.0.tgz",
+ "bl": "https://registry.npmjs.org/bl/-/bl-0.9.5.tgz",
+ "caseless": "https://registry.npmjs.org/caseless/-/caseless-0.8.0.tgz",
+ "combined-stream": "https://registry.npmjs.org/combined-stream/-/combined-stream-0.0.7.tgz",
+ "forever-agent": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.5.2.tgz",
+ "form-data": "https://registry.npmjs.org/form-data/-/form-data-0.1.4.tgz",
+ "hawk": "https://registry.npmjs.org/hawk/-/hawk-1.1.1.tgz",
+ "http-signature": "https://registry.npmjs.org/http-signature/-/http-signature-0.10.1.tgz",
+ "json-stringify-safe": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
+ "mime-types": "https://registry.npmjs.org/mime-types/-/mime-types-1.0.2.tgz",
+ "node-uuid": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.8.tgz",
+ "oauth-sign": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.5.0.tgz",
+ "qs": "https://registry.npmjs.org/qs/-/qs-2.3.3.tgz",
+ "stringstream": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz",
"tough-cookie": "2.3.3",
- "tunnel-agent": "0.4.3"
+ "tunnel-agent": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz"
}
},
"sntp": {
- "version": "0.2.4",
- "resolved": "https://registry.npmjs.org/sntp/-/sntp-0.2.4.tgz",
+ "version": "https://registry.npmjs.org/sntp/-/sntp-0.2.4.tgz",
"integrity": "sha1-+4hfGLDzqtGJ+CSGJTa87ux1CQA=",
"dev": true,
"requires": {
- "hoek": "0.9.1"
+ "hoek": "https://registry.npmjs.org/hoek/-/hoek-0.9.1.tgz"
}
},
"supports-color": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-1.3.1.tgz",
+ "version": "https://registry.npmjs.org/supports-color/-/supports-color-1.3.1.tgz",
"integrity": "sha1-FXWN8J2P87SswwdTn6vicJXhBC0=",
"dev": true
}
}
},
"webpack": {
- "version": "3.11.0",
- "resolved": "https://registry.npmjs.org/webpack/-/webpack-3.11.0.tgz",
- "integrity": "sha512-3kOFejWqj5ISpJk4Qj/V7w98h9Vl52wak3CLiw/cDOfbVTq7FeoZ0SdoHHY9PYlHr50ZS42OfvzE2vB4nncKQg==",
+ "version": "https://registry.npmjs.org/webpack/-/webpack-3.11.0.tgz",
+ "integrity": "sha1-d9pFGx17SxF62vQaGpO1dC8k2JQ=",
"dev": true,
"requires": {
"acorn": "5.4.1",
- "acorn-dynamic-import": "2.0.2",
+ "acorn-dynamic-import": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-2.0.2.tgz",
"ajv": "6.1.1",
"ajv-keywords": "3.1.0",
- "async": "2.6.0",
- "enhanced-resolve": "3.4.1",
- "escope": "3.6.0",
- "interpret": "1.1.0",
- "json-loader": "0.5.7",
- "json5": "0.5.1",
- "loader-runner": "2.3.0",
- "loader-utils": "1.1.0",
- "memory-fs": "0.4.1",
- "mkdirp": "0.5.1",
- "node-libs-browser": "2.1.0",
- "source-map": "0.5.7",
- "supports-color": "4.5.0",
- "tapable": "0.2.8",
- "uglifyjs-webpack-plugin": "0.4.6",
+ "async": "https://registry.npmjs.org/async/-/async-2.6.0.tgz",
+ "enhanced-resolve": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz",
+ "escope": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz",
+ "interpret": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz",
+ "json-loader": "https://registry.npmjs.org/json-loader/-/json-loader-0.5.7.tgz",
+ "json5": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
+ "loader-runner": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.3.0.tgz",
+ "loader-utils": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz",
+ "memory-fs": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz",
+ "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+ "node-libs-browser": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.1.0.tgz",
+ "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "supports-color": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz",
+ "tapable": "https://registry.npmjs.org/tapable/-/tapable-0.2.8.tgz",
+ "uglifyjs-webpack-plugin": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-0.4.6.tgz",
"watchpack": "1.4.0",
- "webpack-sources": "1.1.0",
- "yargs": "8.0.2"
+ "webpack-sources": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.1.0.tgz",
+ "yargs": "https://registry.npmjs.org/yargs/-/yargs-8.0.2.tgz"
},
"dependencies": {
"ajv": {
@@ -17283,8 +15572,8 @@
"dev": true,
"requires": {
"fast-deep-equal": "1.0.0",
- "fast-json-stable-stringify": "2.0.0",
- "json-schema-traverse": "0.3.1"
+ "fast-json-stable-stringify": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
+ "json-schema-traverse": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz"
}
},
"ajv-keywords": {
@@ -17294,903 +15583,801 @@
"dev": true
},
"ansi-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
+ "version": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
"integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
"dev": true
},
"async": {
- "version": "2.6.0",
- "resolved": "https://registry.npmjs.org/async/-/async-2.6.0.tgz",
- "integrity": "sha512-xAfGg1/NTLBBKlHFmnd7PlmUW9KhVQIUuSrYem9xzFUZy13ScvtyGGejaae9iAVRiRq9+Cx7DPFaAAhCpyxyPw==",
+ "version": "https://registry.npmjs.org/async/-/async-2.6.0.tgz",
+ "integrity": "sha1-YaKau2/MAm/qd+VtHG7FOnlZUfQ=",
"dev": true,
"requires": {
- "lodash": "4.17.5"
+ "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz"
}
},
"has-flag": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz",
+ "version": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz",
"integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=",
"dev": true
},
"is-fullwidth-code-point": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+ "version": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
"integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
"dev": true
},
"load-json-file": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz",
+ "version": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz",
"integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=",
"dev": true,
"requires": {
- "graceful-fs": "4.1.11",
- "parse-json": "2.2.0",
- "pify": "2.3.0",
- "strip-bom": "3.0.0"
+ "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "parse-json": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
+ "pify": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "strip-bom": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz"
}
},
"parse-json": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
+ "version": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
"integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
"dev": true,
"requires": {
- "error-ex": "1.3.1"
+ "error-ex": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz"
}
},
"path-type": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz",
+ "version": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz",
"integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=",
"dev": true,
"requires": {
- "pify": "2.3.0"
+ "pify": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz"
}
},
"pify": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "version": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
"integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
"dev": true
},
"read-pkg": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz",
+ "version": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz",
"integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=",
"dev": true,
"requires": {
- "load-json-file": "2.0.0",
- "normalize-package-data": "2.4.0",
- "path-type": "2.0.0"
+ "load-json-file": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz",
+ "normalize-package-data": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz",
+ "path-type": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz"
}
},
"read-pkg-up": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz",
+ "version": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz",
"integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=",
"dev": true,
"requires": {
- "find-up": "2.1.0",
- "read-pkg": "2.0.0"
+ "find-up": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
+ "read-pkg": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz"
}
},
"source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "version": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
"integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
"dev": true
},
"string-width": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
- "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
+ "version": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
+ "integrity": "sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4=",
"dev": true,
"requires": {
- "is-fullwidth-code-point": "2.0.0",
- "strip-ansi": "4.0.0"
+ "is-fullwidth-code-point": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+ "strip-ansi": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz"
}
},
"strip-ansi": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
+ "version": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
"integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
"dev": true,
"requires": {
- "ansi-regex": "3.0.0"
+ "ansi-regex": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz"
}
},
"supports-color": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz",
+ "version": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz",
"integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=",
"dev": true,
"requires": {
- "has-flag": "2.0.0"
+ "has-flag": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz"
}
},
"yargs": {
- "version": "8.0.2",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-8.0.2.tgz",
+ "version": "https://registry.npmjs.org/yargs/-/yargs-8.0.2.tgz",
"integrity": "sha1-YpmpBVsc78lp/355wdkY3Osiw2A=",
"dev": true,
"requires": {
- "camelcase": "4.1.0",
- "cliui": "3.2.0",
- "decamelize": "1.2.0",
- "get-caller-file": "1.0.2",
- "os-locale": "2.1.0",
- "read-pkg-up": "2.0.0",
- "require-directory": "2.1.1",
- "require-main-filename": "1.0.1",
- "set-blocking": "2.0.0",
- "string-width": "2.1.1",
- "which-module": "2.0.0",
- "y18n": "3.2.1",
- "yargs-parser": "7.0.0"
+ "camelcase": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz",
+ "cliui": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
+ "decamelize": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
+ "get-caller-file": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz",
+ "os-locale": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz",
+ "read-pkg-up": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz",
+ "require-directory": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
+ "require-main-filename": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz",
+ "set-blocking": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
+ "string-width": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
+ "which-module": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
+ "y18n": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz",
+ "yargs-parser": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz"
}
}
}
},
"webpack-core": {
- "version": "0.6.9",
- "resolved": "https://registry.npmjs.org/webpack-core/-/webpack-core-0.6.9.tgz",
+ "version": "https://registry.npmjs.org/webpack-core/-/webpack-core-0.6.9.tgz",
"integrity": "sha1-/FcViMhVjad76e+23r3Fo7FyvcI=",
"dev": true,
"requires": {
- "source-list-map": "0.1.8",
- "source-map": "0.4.4"
+ "source-list-map": "https://registry.npmjs.org/source-list-map/-/source-list-map-0.1.8.tgz",
+ "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz"
},
"dependencies": {
"source-list-map": {
- "version": "0.1.8",
- "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-0.1.8.tgz",
+ "version": "https://registry.npmjs.org/source-list-map/-/source-list-map-0.1.8.tgz",
"integrity": "sha1-xVCyq1Qn9rPyH1r+rYjE9Vh7IQY=",
"dev": true
},
"source-map": {
- "version": "0.4.4",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz",
+ "version": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz",
"integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=",
"dev": true,
"requires": {
- "amdefine": "1.0.1"
+ "amdefine": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz"
}
}
}
},
"webpack-dev-middleware": {
- "version": "1.12.2",
- "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-1.12.2.tgz",
- "integrity": "sha512-FCrqPy1yy/sN6U/SaEZcHKRXGlqU0DUaEBL45jkUYoB8foVb6wCnbIJ1HKIx+qUFTW+3JpVcCJCxZ8VATL4e+A==",
+ "version": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-1.12.2.tgz",
+ "integrity": "sha1-+PwRIM47T8VoDO7LQ9d3lmshEF4=",
"dev": true,
"requires": {
- "memory-fs": "0.4.1",
- "mime": "1.6.0",
- "path-is-absolute": "1.0.1",
- "range-parser": "1.0.3",
- "time-stamp": "2.0.0"
+ "memory-fs": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz",
+ "mime": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
+ "path-is-absolute": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "range-parser": "https://registry.npmjs.org/range-parser/-/range-parser-1.0.3.tgz",
+ "time-stamp": "https://registry.npmjs.org/time-stamp/-/time-stamp-2.0.0.tgz"
},
"dependencies": {
"mime": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
- "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
+ "version": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
+ "integrity": "sha1-Ms2eXGRVO9WNGaVor0Uqz/BJgbE=",
"dev": true
},
"time-stamp": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-2.0.0.tgz",
+ "version": "https://registry.npmjs.org/time-stamp/-/time-stamp-2.0.0.tgz",
"integrity": "sha1-lcakRTDhW6jW9KPsuMOj+sRto1c=",
"dev": true
}
}
},
"webpack-sources": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.1.0.tgz",
- "integrity": "sha512-aqYp18kPphgoO5c/+NaUvEeACtZjMESmDChuD3NBciVpah3XpMEU9VAAtIaB1BsfJWWTSdv8Vv1m3T0aRk2dUw==",
+ "version": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.1.0.tgz",
+ "integrity": "sha1-oQHrrlnWUHNU1x2AE5UKOot6WlQ=",
"dev": true,
"requires": {
- "source-list-map": "2.0.0",
- "source-map": "0.6.1"
+ "source-list-map": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.0.tgz",
+ "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz"
}
},
"webpack-stream": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/webpack-stream/-/webpack-stream-3.2.0.tgz",
+ "version": "https://registry.npmjs.org/webpack-stream/-/webpack-stream-3.2.0.tgz",
"integrity": "sha1-Oh0WD7EdQXJ7fObzL3IkZPmLIYY=",
"dev": true,
"requires": {
- "gulp-util": "3.0.8",
- "lodash.clone": "4.5.0",
- "lodash.some": "4.6.0",
- "memory-fs": "0.3.0",
- "through": "2.3.8",
- "vinyl": "1.2.0",
- "webpack": "1.15.0"
+ "gulp-util": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz",
+ "lodash.clone": "https://registry.npmjs.org/lodash.clone/-/lodash.clone-4.5.0.tgz",
+ "lodash.some": "https://registry.npmjs.org/lodash.some/-/lodash.some-4.6.0.tgz",
+ "memory-fs": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.3.0.tgz",
+ "through": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
+ "vinyl": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz",
+ "webpack": "https://registry.npmjs.org/webpack/-/webpack-1.15.0.tgz"
},
"dependencies": {
"acorn": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz",
+ "version": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz",
"integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=",
"dev": true
},
"anymatch": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz",
- "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==",
+ "version": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz",
+ "integrity": "sha1-VT3Lj5HjyImEXf26NMd3IbkLnXo=",
"dev": true,
"requires": {
- "micromatch": "2.3.11",
- "normalize-path": "2.1.1"
+ "micromatch": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz",
+ "normalize-path": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz"
}
},
"arr-diff": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz",
+ "version": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz",
"integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=",
"dev": true,
"requires": {
- "arr-flatten": "1.1.0"
+ "arr-flatten": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz"
}
},
"array-unique": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz",
+ "version": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz",
"integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=",
"dev": true
},
"braces": {
- "version": "1.8.5",
- "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz",
+ "version": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz",
"integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=",
"dev": true,
"requires": {
- "expand-range": "1.8.2",
- "preserve": "0.2.0",
- "repeat-element": "1.1.2"
+ "expand-range": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz",
+ "preserve": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz",
+ "repeat-element": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz"
}
},
"browserify-aes": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-0.4.0.tgz",
+ "version": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-0.4.0.tgz",
"integrity": "sha1-BnFJtmjfMcS1hTPgLQHoBthgjiw=",
"dev": true,
"requires": {
- "inherits": "2.0.3"
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz"
}
},
"browserify-zlib": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz",
+ "version": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz",
"integrity": "sha1-uzX4pRn2AOD6a4SFJByXnQFB+y0=",
"dev": true,
"requires": {
- "pako": "0.2.9"
+ "pako": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz"
}
},
"buffer": {
- "version": "4.9.1",
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz",
+ "version": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz",
"integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=",
"dev": true,
"requires": {
"base64-js": "1.2.1",
- "ieee754": "1.1.8",
- "isarray": "1.0.0"
+ "ieee754": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.8.tgz",
+ "isarray": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz"
}
},
"camelcase": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz",
+ "version": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz",
"integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=",
"dev": true
},
"chokidar": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz",
+ "version": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz",
"integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=",
"dev": true,
"requires": {
- "anymatch": "1.3.2",
- "async-each": "1.0.1",
- "fsevents": "1.1.3",
- "glob-parent": "2.0.0",
- "inherits": "2.0.3",
- "is-binary-path": "1.0.1",
- "is-glob": "2.0.1",
- "path-is-absolute": "1.0.1",
- "readdirp": "2.1.0"
+ "anymatch": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz",
+ "async-each": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz",
+ "fsevents": "https://registry.npmjs.org/fsevents/-/fsevents-1.1.3.tgz",
+ "glob-parent": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "is-binary-path": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
+ "is-glob": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
+ "path-is-absolute": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "readdirp": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz"
}
},
"cliui": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz",
+ "version": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz",
"integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=",
"dev": true,
"requires": {
- "center-align": "0.1.3",
- "right-align": "0.1.3",
- "wordwrap": "0.0.2"
+ "center-align": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz",
+ "right-align": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz",
+ "wordwrap": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz"
}
},
"clone": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.3.tgz",
+ "version": "https://registry.npmjs.org/clone/-/clone-1.0.3.tgz",
"integrity": "sha1-KY1+IjFmD0DAA8LtMUDezz9TCF8=",
"dev": true
},
"clone-stats": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz",
+ "version": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz",
"integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=",
"dev": true
},
"crypto-browserify": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.3.0.tgz",
+ "version": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.3.0.tgz",
"integrity": "sha1-ufx1u0oO1h3PHNXa6W6zDJw+UGw=",
"dev": true,
"requires": {
- "browserify-aes": "0.4.0",
- "pbkdf2-compat": "2.0.1",
- "ripemd160": "0.2.0",
- "sha.js": "2.2.6"
+ "browserify-aes": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-0.4.0.tgz",
+ "pbkdf2-compat": "https://registry.npmjs.org/pbkdf2-compat/-/pbkdf2-compat-2.0.1.tgz",
+ "ripemd160": "https://registry.npmjs.org/ripemd160/-/ripemd160-0.2.0.tgz",
+ "sha.js": "https://registry.npmjs.org/sha.js/-/sha.js-2.2.6.tgz"
}
},
"enhanced-resolve": {
- "version": "0.9.1",
- "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-0.9.1.tgz",
+ "version": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-0.9.1.tgz",
"integrity": "sha1-TW5omzcl+GCQknzMhs2fFjW4ni4=",
"dev": true,
"requires": {
- "graceful-fs": "4.1.11",
- "memory-fs": "0.2.0",
- "tapable": "0.1.10"
+ "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "memory-fs": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.2.0.tgz",
+ "tapable": "https://registry.npmjs.org/tapable/-/tapable-0.1.10.tgz"
},
"dependencies": {
"memory-fs": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.2.0.tgz",
+ "version": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.2.0.tgz",
"integrity": "sha1-8rslNovBIeORwlIN6Slpyu4KApA=",
"dev": true
}
}
},
"expand-brackets": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz",
+ "version": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz",
"integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=",
"dev": true,
"requires": {
- "is-posix-bracket": "0.1.1"
+ "is-posix-bracket": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz"
}
},
"extglob": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz",
+ "version": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz",
"integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=",
"dev": true,
"requires": {
- "is-extglob": "1.0.0"
+ "is-extglob": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz"
}
},
"glob-parent": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
+ "version": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
"integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=",
"dev": true,
"requires": {
- "is-glob": "2.0.1"
+ "is-glob": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz"
}
},
"has-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
"integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
"dev": true
},
"https-browserify": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-0.0.1.tgz",
+ "version": "https://registry.npmjs.org/https-browserify/-/https-browserify-0.0.1.tgz",
"integrity": "sha1-P5E2XKvmC3ftDruiS0VOPgnZWoI=",
"dev": true
},
"interpret": {
- "version": "0.6.6",
- "resolved": "https://registry.npmjs.org/interpret/-/interpret-0.6.6.tgz",
+ "version": "https://registry.npmjs.org/interpret/-/interpret-0.6.6.tgz",
"integrity": "sha1-/s16GOfOXKar+5U+H4YhOknxYls=",
"dev": true
},
"is-extglob": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
"integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
"dev": true
},
"is-glob": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
+ "version": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
"integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
"dev": true,
"requires": {
- "is-extglob": "1.0.0"
+ "is-extglob": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz"
}
},
"kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "version": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
"dev": true,
"requires": {
- "is-buffer": "1.1.6"
+ "is-buffer": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz"
}
},
"loader-utils": {
- "version": "0.2.17",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz",
+ "version": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz",
"integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=",
"dev": true,
"requires": {
- "big.js": "3.2.0",
- "emojis-list": "2.1.0",
- "json5": "0.5.1",
- "object-assign": "4.1.1"
+ "big.js": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz",
+ "emojis-list": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz",
+ "json5": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
+ "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz"
}
},
"lodash.clone": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/lodash.clone/-/lodash.clone-4.5.0.tgz",
+ "version": "https://registry.npmjs.org/lodash.clone/-/lodash.clone-4.5.0.tgz",
"integrity": "sha1-GVhwRQ9aExkkeN9Lw9I9LeoZB7Y=",
"dev": true
},
"memory-fs": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.3.0.tgz",
+ "version": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.3.0.tgz",
"integrity": "sha1-e8xrYp46Q+hx1+Kaymrop/FcuyA=",
"dev": true,
"requires": {
"errno": "0.1.6",
- "readable-stream": "2.3.4"
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.4.tgz"
}
},
"micromatch": {
- "version": "2.3.11",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz",
+ "version": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz",
"integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=",
"dev": true,
"requires": {
- "arr-diff": "2.0.0",
- "array-unique": "0.2.1",
- "braces": "1.8.5",
- "expand-brackets": "0.1.5",
- "extglob": "0.3.2",
- "filename-regex": "2.0.1",
- "is-extglob": "1.0.0",
- "is-glob": "2.0.1",
- "kind-of": "3.2.2",
- "normalize-path": "2.1.1",
- "object.omit": "2.0.1",
- "parse-glob": "3.0.4",
- "regex-cache": "0.4.4"
+ "arr-diff": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz",
+ "array-unique": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz",
+ "braces": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz",
+ "expand-brackets": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz",
+ "extglob": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz",
+ "filename-regex": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz",
+ "is-extglob": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
+ "is-glob": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
+ "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "normalize-path": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
+ "object.omit": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz",
+ "parse-glob": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz",
+ "regex-cache": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz"
}
},
"node-libs-browser": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-0.7.0.tgz",
+ "version": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-0.7.0.tgz",
"integrity": "sha1-PicsCBnjCJNeJmdECNevDhSRuDs=",
"dev": true,
"requires": {
- "assert": "1.4.1",
- "browserify-zlib": "0.1.4",
- "buffer": "4.9.1",
- "console-browserify": "1.1.0",
- "constants-browserify": "1.0.0",
- "crypto-browserify": "3.3.0",
- "domain-browser": "1.1.7",
- "events": "1.1.1",
- "https-browserify": "0.0.1",
- "os-browserify": "0.2.1",
- "path-browserify": "0.0.0",
- "process": "0.11.10",
- "punycode": "1.4.1",
- "querystring-es3": "0.2.1",
- "readable-stream": "2.3.4",
- "stream-browserify": "2.0.1",
- "stream-http": "2.8.0",
- "string_decoder": "0.10.31",
- "timers-browserify": "2.0.6",
- "tty-browserify": "0.0.0",
- "url": "0.11.0",
- "util": "0.10.3",
- "vm-browserify": "0.0.4"
+ "assert": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz",
+ "browserify-zlib": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz",
+ "buffer": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz",
+ "console-browserify": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz",
+ "constants-browserify": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz",
+ "crypto-browserify": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.3.0.tgz",
+ "domain-browser": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.1.7.tgz",
+ "events": "https://registry.npmjs.org/events/-/events-1.1.1.tgz",
+ "https-browserify": "https://registry.npmjs.org/https-browserify/-/https-browserify-0.0.1.tgz",
+ "os-browserify": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.2.1.tgz",
+ "path-browserify": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz",
+ "process": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
+ "punycode": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
+ "querystring-es3": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz",
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.4.tgz",
+ "stream-browserify": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz",
+ "stream-http": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.0.tgz",
+ "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "timers-browserify": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.6.tgz",
+ "tty-browserify": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz",
+ "url": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
+ "util": "https://registry.npmjs.org/util/-/util-0.10.3.tgz",
+ "vm-browserify": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz"
}
},
"os-browserify": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.2.1.tgz",
+ "version": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.2.1.tgz",
"integrity": "sha1-Y/xMzuXS13Y9Jrv4YBB45sLgBE8=",
"dev": true
},
"pako": {
- "version": "0.2.9",
- "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz",
+ "version": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz",
"integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=",
"dev": true
},
"replace-ext": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz",
+ "version": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz",
"integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=",
"dev": true
},
"ripemd160": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-0.2.0.tgz",
+ "version": "https://registry.npmjs.org/ripemd160/-/ripemd160-0.2.0.tgz",
"integrity": "sha1-K/GYveFnys+lHAqSjoS2i74XH84=",
"dev": true
},
"sha.js": {
- "version": "2.2.6",
- "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.2.6.tgz",
+ "version": "https://registry.npmjs.org/sha.js/-/sha.js-2.2.6.tgz",
"integrity": "sha1-F93t3F9yL7ZlAWWIlUYZd4ZzFbo=",
"dev": true
},
"source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "version": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
"integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
"dev": true
},
"string_decoder": {
- "version": "0.10.31",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "version": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
"dev": true
},
"supports-color": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+ "version": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
"integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
"dev": true,
"requires": {
- "has-flag": "1.0.0"
+ "has-flag": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz"
}
},
"tapable": {
- "version": "0.1.10",
- "resolved": "https://registry.npmjs.org/tapable/-/tapable-0.1.10.tgz",
+ "version": "https://registry.npmjs.org/tapable/-/tapable-0.1.10.tgz",
"integrity": "sha1-KcNXB8K3DlDQdIK10gLo7URtr9Q=",
"dev": true
},
"timers-browserify": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.6.tgz",
- "integrity": "sha512-HQ3nbYRAowdVd0ckGFvmJPPCOH/CHleFN/Y0YQCX1DVaB7t+KFvisuyN09fuP8Jtp1CpfSh8O8bMkHbdbPe6Pw==",
+ "version": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.6.tgz",
+ "integrity": "sha1-JB52kn2coF9NlZgZAi9bNmS2S64=",
"dev": true,
"requires": {
- "setimmediate": "1.0.5"
+ "setimmediate": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz"
}
},
"tty-browserify": {
- "version": "0.0.0",
- "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz",
+ "version": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz",
"integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=",
"dev": true
},
"uglify-js": {
- "version": "2.7.5",
- "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.7.5.tgz",
+ "version": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.7.5.tgz",
"integrity": "sha1-RhLAx7qu4rp8SH3kkErhIgefLKg=",
"dev": true,
"requires": {
- "async": "0.2.10",
- "source-map": "0.5.7",
- "uglify-to-browserify": "1.0.2",
- "yargs": "3.10.0"
+ "async": "https://registry.npmjs.org/async/-/async-0.2.10.tgz",
+ "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "uglify-to-browserify": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz",
+ "yargs": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz"
},
"dependencies": {
"async": {
- "version": "0.2.10",
- "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz",
+ "version": "https://registry.npmjs.org/async/-/async-0.2.10.tgz",
"integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=",
"dev": true
}
}
},
"url": {
- "version": "0.11.0",
- "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
+ "version": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
"integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=",
"dev": true,
"requires": {
- "punycode": "1.3.2",
- "querystring": "0.2.0"
+ "punycode": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
+ "querystring": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz"
},
"dependencies": {
"punycode": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
+ "version": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
"integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=",
"dev": true
}
}
},
"vinyl": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz",
+ "version": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz",
"integrity": "sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ=",
"dev": true,
"requires": {
- "clone": "1.0.3",
- "clone-stats": "0.0.1",
- "replace-ext": "0.0.1"
+ "clone": "https://registry.npmjs.org/clone/-/clone-1.0.3.tgz",
+ "clone-stats": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz",
+ "replace-ext": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz"
}
},
"watchpack": {
- "version": "0.2.9",
- "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-0.2.9.tgz",
+ "version": "https://registry.npmjs.org/watchpack/-/watchpack-0.2.9.tgz",
"integrity": "sha1-Yuqkq15bo1/fwBgnVibjwPXj+ws=",
"dev": true,
"requires": {
- "async": "0.9.2",
- "chokidar": "1.7.0",
- "graceful-fs": "4.1.11"
+ "async": "https://registry.npmjs.org/async/-/async-0.9.2.tgz",
+ "chokidar": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz",
+ "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz"
},
"dependencies": {
"async": {
- "version": "0.9.2",
- "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz",
+ "version": "https://registry.npmjs.org/async/-/async-0.9.2.tgz",
"integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=",
"dev": true
}
}
},
"webpack": {
- "version": "1.15.0",
- "resolved": "https://registry.npmjs.org/webpack/-/webpack-1.15.0.tgz",
+ "version": "https://registry.npmjs.org/webpack/-/webpack-1.15.0.tgz",
"integrity": "sha1-T/MfU9sDM55VFkqdRo7gMklo/pg=",
"dev": true,
"requires": {
- "acorn": "3.3.0",
- "async": "1.5.2",
- "clone": "1.0.3",
- "enhanced-resolve": "0.9.1",
- "interpret": "0.6.6",
- "loader-utils": "0.2.17",
- "memory-fs": "0.3.0",
- "mkdirp": "0.5.1",
- "node-libs-browser": "0.7.0",
- "optimist": "0.6.1",
- "supports-color": "3.2.3",
- "tapable": "0.1.10",
- "uglify-js": "2.7.5",
- "watchpack": "0.2.9",
- "webpack-core": "0.6.9"
+ "acorn": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz",
+ "async": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
+ "clone": "https://registry.npmjs.org/clone/-/clone-1.0.3.tgz",
+ "enhanced-resolve": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-0.9.1.tgz",
+ "interpret": "https://registry.npmjs.org/interpret/-/interpret-0.6.6.tgz",
+ "loader-utils": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz",
+ "memory-fs": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.3.0.tgz",
+ "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+ "node-libs-browser": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-0.7.0.tgz",
+ "optimist": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz",
+ "supports-color": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+ "tapable": "https://registry.npmjs.org/tapable/-/tapable-0.1.10.tgz",
+ "uglify-js": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.7.5.tgz",
+ "watchpack": "https://registry.npmjs.org/watchpack/-/watchpack-0.2.9.tgz",
+ "webpack-core": "https://registry.npmjs.org/webpack-core/-/webpack-core-0.6.9.tgz"
}
},
"window-size": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz",
+ "version": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz",
"integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=",
"dev": true
},
"wordwrap": {
- "version": "0.0.2",
- "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz",
+ "version": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz",
"integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=",
"dev": true
},
"yargs": {
- "version": "3.10.0",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz",
+ "version": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz",
"integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=",
"dev": true,
"requires": {
- "camelcase": "1.2.1",
- "cliui": "2.1.0",
- "decamelize": "1.2.0",
- "window-size": "0.1.0"
+ "camelcase": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz",
+ "cliui": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz",
+ "decamelize": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
+ "window-size": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz"
}
}
}
},
"websocket-driver": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.0.tgz",
+ "version": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.0.tgz",
"integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=",
"dev": true,
"requires": {
- "http-parser-js": "0.4.10",
- "websocket-extensions": "0.1.3"
+ "http-parser-js": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.10.tgz",
+ "websocket-extensions": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz"
}
},
"websocket-extensions": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz",
- "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==",
+ "version": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz",
+ "integrity": "sha1-XS/yKXcAPsaHpLhwc9+7rBRszyk=",
"dev": true
},
"wgxpath": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/wgxpath/-/wgxpath-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/wgxpath/-/wgxpath-1.0.0.tgz",
"integrity": "sha1-7vikudVYzEla06mit1FZfs2a9pA=",
"dev": true
},
"when": {
- "version": "3.7.8",
- "resolved": "https://registry.npmjs.org/when/-/when-3.7.8.tgz",
+ "version": "https://registry.npmjs.org/when/-/when-3.7.8.tgz",
"integrity": "sha1-xxMLan6gRpPoQs3J56Hyqjmjn4I=",
"dev": true,
"optional": true
},
"which": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz",
- "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==",
+ "version": "https://registry.npmjs.org/which/-/which-1.3.0.tgz",
+ "integrity": "sha1-/wS9/AEO5UfXgL7DjhrBwnd9JTo=",
"dev": true,
"requires": {
- "isexe": "2.0.0"
+ "isexe": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz"
}
},
"which-module": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
+ "version": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
"integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
"dev": true
},
"window-size": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.2.0.tgz",
+ "version": "https://registry.npmjs.org/window-size/-/window-size-0.2.0.tgz",
"integrity": "sha1-tDFbtCFKPXBY6+7okuE/ok2YsHU=",
"dev": true
},
"wordwrap": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
"integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=",
"dev": true
},
"wrap-ansi": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
+ "version": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
"integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
"dev": true,
"requires": {
- "string-width": "1.0.2",
- "strip-ansi": "3.0.1"
+ "string-width": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
+ "strip-ansi": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz"
}
},
"wrappy": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "version": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
"dev": true
},
"write": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz",
+ "version": "https://registry.npmjs.org/write/-/write-0.2.1.tgz",
"integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=",
"dev": true,
"requires": {
- "mkdirp": "0.5.1"
+ "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz"
}
},
"ws": {
- "version": "3.3.3",
- "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz",
- "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==",
+ "version": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz",
+ "integrity": "sha1-8c+E/i1ekB686U767OeF8YeiKPI=",
"dev": true,
"requires": {
- "async-limiter": "1.0.0",
- "safe-buffer": "5.1.1",
- "ultron": "1.1.1"
+ "async-limiter": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz",
+ "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz",
+ "ultron": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz"
}
},
"x-is-function": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/x-is-function/-/x-is-function-1.0.4.tgz",
+ "version": "https://registry.npmjs.org/x-is-function/-/x-is-function-1.0.4.tgz",
"integrity": "sha1-XSlNw9Joy90GJYDgxd93o5HR+h4=",
"dev": true
},
"x-is-string": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/x-is-string/-/x-is-string-0.1.0.tgz",
+ "version": "https://registry.npmjs.org/x-is-string/-/x-is-string-0.1.0.tgz",
"integrity": "sha1-R0tQhlrzpJqcRlfwWs0UVFj3fYI=",
"dev": true
},
"xmlhttprequest-ssl": {
- "version": "1.5.5",
- "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz",
+ "version": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz",
"integrity": "sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4=",
"dev": true
},
"xregexp": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-2.0.0.tgz",
+ "version": "https://registry.npmjs.org/xregexp/-/xregexp-2.0.0.tgz",
"integrity": "sha1-UqY+VsoLhKfzpfPWGHLxJq16WUM=",
"dev": true
},
"xtend": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz",
+ "version": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz",
"integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68="
},
"y18n": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz",
+ "version": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz",
"integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=",
"dev": true
},
"yallist": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
+ "version": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
"integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
"dev": true
},
"yargs": {
- "version": "1.3.3",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-1.3.3.tgz",
+ "version": "https://registry.npmjs.org/yargs/-/yargs-1.3.3.tgz",
"integrity": "sha1-BU3oth8i7v23IHBZ6u+da4P7kxo=",
"dev": true
},
"yargs-parser": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz",
+ "version": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz",
"integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=",
"dev": true,
"requires": {
- "camelcase": "4.1.0"
+ "camelcase": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz"
}
},
"yeast": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz",
+ "version": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz",
"integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=",
"dev": true
},
"zip-stream": {
- "version": "0.5.2",
- "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-0.5.2.tgz",
+ "version": "https://registry.npmjs.org/zip-stream/-/zip-stream-0.5.2.tgz",
"integrity": "sha1-Mty8UG0Nq00hNyYlvX66rDwv/1Y=",
"dev": true,
"requires": {
- "compress-commons": "0.2.9",
- "lodash": "3.2.0",
- "readable-stream": "1.0.34"
+ "compress-commons": "https://registry.npmjs.org/compress-commons/-/compress-commons-0.2.9.tgz",
+ "lodash": "https://registry.npmjs.org/lodash/-/lodash-3.2.0.tgz",
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz"
},
"dependencies": {
"isarray": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "version": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
"integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
"dev": true
},
"lodash": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.2.0.tgz",
+ "version": "https://registry.npmjs.org/lodash/-/lodash-3.2.0.tgz",
"integrity": "sha1-S/UKMkP5rrC6xBpV09WZBnWkYvs=",
"dev": true
},
"readable-stream": {
- "version": "1.0.34",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
"integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
"dev": true,
"requires": {
- "core-util-is": "1.0.2",
- "inherits": "2.0.3",
- "isarray": "0.0.1",
- "string_decoder": "0.10.31"
+ "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
}
},
"string_decoder": {
- "version": "0.10.31",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "version": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
"dev": true
}
diff --git a/package.json b/package.json
index 1c9d1d91edd..640fb2b1455 100644
--- a/package.json
+++ b/package.json
@@ -24,6 +24,8 @@
"node": ">=4.0"
},
"devDependencies": {
+ "ajv": "^6.2.0",
+ "ajv-keywords": "^3.1.0",
"babel-core": "6.22.0",
"babel-loader": "^7.1.1",
"babel-plugin-transform-es3-member-expression-literals": "6.22.0",
@@ -72,7 +74,6 @@
"karma-chrome-launcher": "^2.2.0",
"karma-coverage-istanbul-reporter": "^1.3.0",
"karma-es5-shim": "^0.0.4",
- "karma-expect": "^1.1.0",
"karma-firefox-launcher": "^1.0.1",
"karma-ie-launcher": "^1.0.0",
"karma-mocha": "^1.3.0",
@@ -80,7 +81,6 @@
"karma-opera-launcher": "^1.0.0",
"karma-requirejs": "^1.1.0",
"karma-safari-launcher": "^1.0.0",
- "karma-sauce-launcher": "^1.1.0",
"karma-script-launcher": "^1.0.0",
"karma-sinon": "^1.0.5",
"karma-sourcemap-loader": "^0.3.7",
@@ -89,7 +89,7 @@
"localtunnel": "^1.3.0",
"lodash": "^4.17.4",
"mkpath": "^1.0.0",
- "mocha": "^1.21.4",
+ "mocha": "2.2.5",
"mock-fs": "^3.11.0",
"nightwatch": "^0.9.5",
"open": "0.0.5",
diff --git a/src/AnalyticsAdapter.js b/src/AnalyticsAdapter.js
index 0d570f14eb0..30848b341d8 100644
--- a/src/AnalyticsAdapter.js
+++ b/src/AnalyticsAdapter.js
@@ -5,15 +5,20 @@ import { ajax } from './ajax';
const events = require('./events');
const utils = require('./utils');
-const AUCTION_INIT = CONSTANTS.EVENTS.AUCTION_INIT;
-const AUCTION_END = CONSTANTS.EVENTS.AUCTION_END;
-const BID_REQUESTED = CONSTANTS.EVENTS.BID_REQUESTED;
-const BID_TIMEOUT = CONSTANTS.EVENTS.BID_TIMEOUT;
-const BID_RESPONSE = CONSTANTS.EVENTS.BID_RESPONSE;
-const BID_WON = CONSTANTS.EVENTS.BID_WON;
-const BID_ADJUSTMENT = CONSTANTS.EVENTS.BID_ADJUSTMENT;
-const SET_TARGETING = CONSTANTS.EVENTS.SET_TARGETING;
-const AD_RENDER_FAILED = CONSTANTS.EVENTS.AD_RENDER_FAILED;
+const {
+ EVENTS: {
+ AUCTION_INIT,
+ AUCTION_END,
+ BID_REQUESTED,
+ BID_TIMEOUT,
+ BID_RESPONSE,
+ BID_WON,
+ BID_ADJUSTMENT,
+ BIDDER_DONE,
+ SET_TARGETING,
+ AD_RENDER_FAILED
+ }
+} = CONSTANTS;
const LIBRARY = 'library';
const ENDPOINT = 'endpoint';
@@ -104,11 +109,12 @@ export default function AnalyticsAdapter({ url, analyticsType, global, handler }
[BID_TIMEOUT]: args => this.enqueue({ eventType: BID_TIMEOUT, args }),
[BID_WON]: args => this.enqueue({ eventType: BID_WON, args }),
[BID_ADJUSTMENT]: args => this.enqueue({ eventType: BID_ADJUSTMENT, args }),
+ [BIDDER_DONE]: args => this.enqueue({ eventType: BIDDER_DONE, args }),
[SET_TARGETING]: args => this.enqueue({ eventType: SET_TARGETING, args }),
[AUCTION_END]: args => this.enqueue({ eventType: AUCTION_END, args }),
[AD_RENDER_FAILED]: args => this.enqueue({ eventType: AD_RENDER_FAILED, args }),
[AUCTION_INIT]: args => {
- args.config = config.options; // enableAnaltyics configuration object
+ args.config = typeof config === 'object' ? config.options || {} : {}; // enableAnaltyics configuration object
this.enqueue({ eventType: AUCTION_INIT, args });
}
};
@@ -121,6 +127,7 @@ export default function AnalyticsAdapter({ url, analyticsType, global, handler }
}
// finally set this function to return log message, prevents multiple adapter listeners
+ this._oldEnable = this.enableAnalytics;
this.enableAnalytics = function _enable() {
return utils.logMessage(`Analytics adapter for "${global}" already enabled, unnecessary call to \`enableAnalytics\`.`);
};
@@ -130,6 +137,7 @@ export default function AnalyticsAdapter({ url, analyticsType, global, handler }
utils._each(_handlers, (handler, event) => {
events.off(event, handler);
});
+ this.enableAnalytics = this._oldEnable ? this._oldEnable : _enable;
}
function _emptyQueue() {
diff --git a/src/adapters/bidderFactory.js b/src/adapters/bidderFactory.js
index 2497572cd10..2cf0a8f7253 100644
--- a/src/adapters/bidderFactory.js
+++ b/src/adapters/bidderFactory.js
@@ -6,6 +6,8 @@ import { STATUS } from 'src/constants';
import { userSync } from 'src/userSync';
import { nativeBidIsValid } from 'src/native';
import { isValidVideoBid } from 'src/video';
+import CONSTANTS from 'src/constants.json';
+import events from 'src/events';
import includes from 'core-js/library/fn/array/includes';
import { logWarn, logError, parseQueryStringParameters, delayExecution, parseSizesInput, getBidderRequest } from 'src/utils';
@@ -184,6 +186,12 @@ export function newBidder(spec) {
done();
}
+ // TODO: the code above needs to be refactored. We should always call done when we're done. if the auction
+ // needs to do cleanup before _it_ can be done it should handle that itself in the auction. It should _not_
+ // require us, the bidders, to conditionally call done. That makes the whole done API very flaky.
+ // As soon as that is refactored, we can move this emit event where it should be, within the done function.
+ events.emit(CONSTANTS.EVENTS.BIDDER_DONE, bidderRequest);
+
registerSyncs(responses);
}
diff --git a/src/ajax.js b/src/ajax.js
index df52ac949da..ded2f95f8a5 100644
--- a/src/ajax.js
+++ b/src/ajax.js
@@ -22,7 +22,7 @@ export function ajaxBuilder(timeout = 3000) {
let useXDomainRequest = false;
let method = options.method || (data ? 'POST' : 'GET');
- let callbacks = typeof callback === 'object' ? callback : {
+ let callbacks = typeof callback === 'object' && callback !== null ? callback : {
success: function() {
utils.logMessage('xhr success');
},
diff --git a/src/auction.js b/src/auction.js
index 9212b5afa2b..8a23605bf0e 100644
--- a/src/auction.js
+++ b/src/auction.js
@@ -157,7 +157,7 @@ export function newAuction({adUnits, adUnitCodes, callback, cbTimeout, labels})
return innerBidRequestId === bidRequest.bidderRequestId;
});
- // this is done for cache-enabled video bids in tryAddVideoBids, after the cache is stored
+ // this is done for cache-enabled video bids in tryAddVideoBid, after the cache is stored
request.doneCbCallCount += 1;
bidsBackAll();
}, 1);
diff --git a/src/constants.json b/src/constants.json
index ef382b153af..c8a7c3ebefc 100644
--- a/src/constants.json
+++ b/src/constants.json
@@ -31,6 +31,7 @@
"BID_REQUESTED": "bidRequested",
"BID_RESPONSE": "bidResponse",
"BID_WON": "bidWon",
+ "BIDDER_DONE": "bidderDone",
"SET_TARGETING": "setTargeting",
"REQUEST_BIDS": "requestBids",
"ADD_AD_UNITS": "addAdUnits",
diff --git a/src/prebid.js b/src/prebid.js
index b6f36a60086..935860acf35 100644
--- a/src/prebid.js
+++ b/src/prebid.js
@@ -175,7 +175,7 @@ $$PREBID_GLOBAL$$.setTargetingForGPTAsync = function (adUnit) {
targeting.setTargetingForGPT(targetingSet);
// emit event
- events.emit(SET_TARGETING);
+ events.emit(SET_TARGETING, targetingSet);
};
/**
@@ -192,7 +192,7 @@ $$PREBID_GLOBAL$$.setTargetingForAst = function() {
targeting.setTargetingForAst();
// emit event
- events.emit(SET_TARGETING);
+ events.emit(SET_TARGETING, targeting.getAllTargeting());
};
function emitAdRenderFail(reason, message, bid) {
diff --git a/test/spec/modules/adxcgAnalyticsAdapter_spec.js b/test/spec/modules/adxcgAnalyticsAdapter_spec.js
index e90e7a1f8de..edd09fdf54e 100644
--- a/test/spec/modules/adxcgAnalyticsAdapter_spec.js
+++ b/test/spec/modules/adxcgAnalyticsAdapter_spec.js
@@ -21,11 +21,28 @@ describe('adxcg analytics adapter', () => {
});
describe('track', () => {
+ let initOptions = {
+ publisherId: '42'
+ };
+
+ adaptermanager.registerAnalyticsAdapter({
+ code: 'adxcg',
+ adapter: adxcgAnalyticsAdapter
+ });
+
+ beforeEach(() => {
+ adaptermanager.enableAnalytics({
+ provider: 'adxcg',
+ options: initOptions
+ });
+ });
+
+ afterEach(() => {
+ adxcgAnalyticsAdapter.disableAnalytics();
+ });
+
it('builds and sends auction data', () => {
let auctionTimestamp = 1496510254313;
- let initOptions = {
- publisherId: '42'
- };
let bidRequest = {
auctionId: 'requestIdData'
};
@@ -49,16 +66,6 @@ describe('adxcg analytics adapter', () => {
}
];
- adaptermanager.registerAnalyticsAdapter({
- code: 'adxcg',
- adapter: adxcgAnalyticsAdapter
- });
-
- adaptermanager.enableAnalytics({
- provider: 'adxcg',
- options: initOptions
- });
-
// Step 1: Send auction init event
events.emit(constants.EVENTS.AUCTION_INIT, {
timestamp: auctionTimestamp
diff --git a/test/spec/modules/eplanningAnalyticsAdapter_spec.js b/test/spec/modules/eplanningAnalyticsAdapter_spec.js
index aba68efc27b..cd538815954 100644
--- a/test/spec/modules/eplanningAnalyticsAdapter_spec.js
+++ b/test/spec/modules/eplanningAnalyticsAdapter_spec.js
@@ -20,6 +20,7 @@ describe('eplanning analytics adapter', () => {
afterEach(() => {
xhr.restore();
events.getEvents.restore();
+ eplAnalyticsAdapter.disableAnalytics();
});
describe('track', () => {
diff --git a/test/spec/modules/rubiconAnalyticsAdapter_spec.js b/test/spec/modules/rubiconAnalyticsAdapter_spec.js
new file mode 100644
index 00000000000..8ba8541c833
--- /dev/null
+++ b/test/spec/modules/rubiconAnalyticsAdapter_spec.js
@@ -0,0 +1,635 @@
+import adaptermanager from 'src/adaptermanager';
+import rubiconAnalyticsAdapter, { SEND_TIMEOUT } from 'modules/rubiconAnalyticsAdapter';
+import CONSTANTS from 'src/constants.json';
+import { config } from 'src/config';
+
+let Ajv = require('ajv');
+let schema = require('./rubiconAnalyticsSchema.json');
+let ajv = new Ajv({
+ allErrors: true
+});
+
+let validator = ajv.compile(schema);
+
+function validate(message) {
+ validator(message);
+ expect(validator.errors).to.deep.equal(null);
+}
+
+// using es6 "import * as events from 'src/events'" causes the events.getEvents stub not to work...
+let events = require('src/events');
+let ajax = require('src/ajax');
+let utils = require('src/utils');
+
+const {
+ EVENTS: {
+ AUCTION_INIT,
+ AUCTION_END,
+ BID_REQUESTED,
+ BID_RESPONSE,
+ BID_WON,
+ BID_TIMEOUT,
+ SET_TARGETING
+ }
+} = CONSTANTS;
+
+const BID = {
+ 'bidder': 'rubicon',
+ 'width': 640,
+ 'height': 480,
+ 'mediaType': 'video',
+ 'statusMessage': 'Bid available',
+ 'adId': '2ecff0db240757',
+ 'source': 'client',
+ 'requestId': '2ecff0db240757',
+ 'currency': 'USD',
+ 'creativeId': '3571560',
+ 'cpm': 1.22752,
+ 'ttl': 300,
+ 'netRevenue': false,
+ 'ad': '',
+ 'rubiconTargeting': {
+ 'rpfl_elemid': '/19968336/header-bid-tag-0',
+ 'rpfl_14062': '2_tier0100'
+ },
+ 'auctionId': '25c6d7f5-699a-4bfc-87c9-996f915341fa',
+ 'responseTimestamp': 1519149629415,
+ 'requestTimestamp': 1519149628471,
+ 'adUnitCode': '/19968336/header-bid-tag-0',
+ 'timeToRespond': 944,
+ 'pbLg': '1.00',
+ 'pbMg': '1.20',
+ 'pbHg': '1.22',
+ 'pbAg': '1.20',
+ 'pbDg': '1.22',
+ 'pbCg': '',
+ 'size': '640x480',
+ 'adserverTargeting': {
+ 'hb_bidder': 'rubicon',
+ 'hb_adid': '2ecff0db240757',
+ 'hb_pb': 1.20,
+ 'hb_size': '640x480',
+ 'hb_source': 'client'
+ },
+ getStatusCode() {
+ return 1;
+ }
+};
+
+const BID2 = Object.assign({}, BID, {
+ adUnitCode: '/19968336/header-bid-tag1',
+ adId: '3bd4ebb1c900e2',
+ requestId: '3bd4ebb1c900e2',
+ width: 728,
+ height: 90,
+ mediaType: 'banner',
+ cpm: 1.52,
+ rubiconTargeting: {
+ 'rpfl_elemid': '/19968336/header-bid-tag1',
+ 'rpfl_14062': '2_tier0100'
+ },
+ adserverTargeting: {
+ 'hb_bidder': 'rubicon',
+ 'hb_adid': '3bd4ebb1c900e2',
+ 'hb_pb': '1.500',
+ 'hb_size': '728x90',
+ 'hb_source': 'client'
+ }
+});
+
+const MOCK = {
+ SET_TARGETING: {
+ [BID.adUnitCode]: BID.adserverTargeting,
+ [BID2.adUnitCode]: BID2.adserverTargeting
+ },
+ AUCTION_INIT: {
+ 'timestamp': 1519149536560,
+ 'auctionId': '25c6d7f5-699a-4bfc-87c9-996f915341fa',
+ 'timeout': 3000
+ },
+ BID_REQUESTED: {
+ 'bidder': 'rubicon',
+ 'auctionId': '25c6d7f5-699a-4bfc-87c9-996f915341fa',
+ 'bidderRequestId': '1be65d7958826a',
+ 'bids': [
+ {
+ 'bidder': 'rubicon',
+ 'params': {
+ 'accountId': '14062',
+ 'siteId': '70608',
+ 'zoneId': '335918',
+ 'userId': '12346',
+ 'keywords': ['a', 'b', 'c'],
+ 'inventory': 'test',
+ 'visitor': {'ucat': 'new', 'lastsearch': 'iphone'},
+ 'position': 'btf',
+ 'video': {
+ 'language': 'en',
+ 'playerHeight': 480,
+ 'playerWidth': 640,
+ 'size_id': 203,
+ 'skip': 1,
+ 'skipdelay': 15,
+ 'aeParams': {
+ 'p_aso.video.ext.skip': '1',
+ 'p_aso.video.ext.skipdelay': '15'
+ }
+ }
+ },
+ 'mediaType': 'video',
+ 'adUnitCode': '/19968336/header-bid-tag-0',
+ 'transactionId': 'ca4af27a-6d02-4f90-949d-d5541fa12014',
+ 'sizes': [[640, 480]],
+ 'bidId': '2ecff0db240757',
+ 'bidderRequestId': '1be65d7958826a',
+ 'auctionId': '25c6d7f5-699a-4bfc-87c9-996f915341fa'
+ },
+ {
+ 'bidder': 'rubicon',
+ 'params': {
+ 'accountId': '14062',
+ 'siteId': '70608',
+ 'zoneId': '335918',
+ 'userId': '12346',
+ 'keywords': ['a', 'b', 'c'],
+ 'inventory': {'rating': '4-star', 'prodtype': 'tech'},
+ 'visitor': {'ucat': 'new', 'lastsearch': 'iphone'},
+ 'position': 'atf'
+ },
+ 'mediaTypes': {
+ 'banner': {
+ 'sizes': [[1000, 300], [970, 250], [728, 90]]
+ }
+ },
+ 'adUnitCode': '/19968336/header-bid-tag1',
+ 'transactionId': 'c116413c-9e3f-401a-bee1-d56aec29a1d4',
+ 'sizes': [[1000, 300], [970, 250], [728, 90]],
+ 'bidId': '3bd4ebb1c900e2',
+ 'bidderRequestId': '1be65d7958826a',
+ 'auctionId': '25c6d7f5-699a-4bfc-87c9-996f915341fa'
+ }
+ ],
+ 'auctionStart': 1519149536560,
+ 'timeout': 5000,
+ 'start': 1519149562216
+ },
+ BID_RESPONSE: [
+ BID,
+ BID2
+ ],
+ AUCTION_END: {
+ 'auctionId': '25c6d7f5-699a-4bfc-87c9-996f915341fa'
+ },
+ BID_WON: [
+ Object.assign({}, BID, {
+ 'status': 'rendered'
+ }),
+ Object.assign({}, BID2, {
+ 'status': 'rendered'
+ })
+ ],
+ BID_TIMEOUT: [
+ {
+ 'bidId': '2ecff0db240757',
+ 'bidder': 'rubicon',
+ 'adUnitCode': '/19968336/header-bid-tag-0',
+ 'auctionId': '25c6d7f5-699a-4bfc-87c9-996f915341fa'
+ }
+ ]
+};
+
+const ANALYTICS_MESSAGE = {
+ 'eventTimeMillis': 1519767013781,
+ 'integration': 'pbjs',
+ 'version': '$prebid.version$',
+ 'referrerUri': 'http://www.test.com/page.html',
+ 'auctions': [
+ {
+ 'clientTimeoutMillis': 3000,
+ 'serverTimeoutMillis': 1000,
+ 'accountId': 1001,
+ 'samplingFactor': 1,
+ 'adUnits': [
+ {
+ 'adUnitCode': '/19968336/header-bid-tag-0',
+ 'transactionId': 'ca4af27a-6d02-4f90-949d-d5541fa12014',
+ 'videoAdFormat': 'outstream',
+ 'mediaTypes': [
+ 'video'
+ ],
+ 'dimensions': [
+ {
+ 'width': 640,
+ 'height': 480
+ }
+ ],
+ 'status': 'success',
+ 'adserverTargeting': {
+ 'hb_bidder': 'rubicon',
+ 'hb_adid': '2ecff0db240757',
+ 'hb_pb': '1.200',
+ 'hb_size': '640x480',
+ 'hb_source': 'client'
+ },
+ 'bids': [
+ {
+ 'bidder': 'rubicon',
+ 'bidId': '2ecff0db240757',
+ 'status': 'success',
+ 'source': 'client',
+ 'clientLatencyMillis': 617477221,
+ 'params': {
+ 'accountId': '14062',
+ 'siteId': '70608',
+ 'zoneId': '335918'
+ },
+ 'bidResponse': {
+ 'bidPriceUSD': 1.22752,
+ 'dimensions': {
+ 'width': 640,
+ 'height': 480
+ },
+ 'mediaType': 'video'
+ }
+ }
+ ]
+ },
+ {
+ 'adUnitCode': '/19968336/header-bid-tag1',
+ 'transactionId': 'c116413c-9e3f-401a-bee1-d56aec29a1d4',
+ 'mediaTypes': [
+ 'banner'
+ ],
+ 'dimensions': [
+ {
+ 'width': 1000,
+ 'height': 300
+ },
+ {
+ 'width': 970,
+ 'height': 250
+ },
+ {
+ 'width': 728,
+ 'height': 90
+ }
+ ],
+ 'status': 'success',
+ 'adserverTargeting': {
+ 'hb_bidder': 'rubicon',
+ 'hb_adid': '3bd4ebb1c900e2',
+ 'hb_pb': '1.500',
+ 'hb_size': '728x90',
+ 'hb_source': 'client'
+ },
+ 'bids': [
+ {
+ 'bidder': 'rubicon',
+ 'bidId': '3bd4ebb1c900e2',
+ 'status': 'success',
+ 'source': 'client',
+ 'clientLatencyMillis': 617477221,
+ 'params': {
+ 'accountId': '14062',
+ 'siteId': '70608',
+ 'zoneId': '335918'
+ },
+ 'bidResponse': {
+ 'bidPriceUSD': 1.52,
+ 'dimensions': {
+ 'width': 728,
+ 'height': 90
+ },
+ 'mediaType': 'banner'
+ }
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ 'bidsWon': [
+ {
+ 'bidder': 'rubicon',
+ 'transactionId': 'ca4af27a-6d02-4f90-949d-d5541fa12014',
+ 'adUnitCode': '/19968336/header-bid-tag-0',
+ 'bidId': '2ecff0db240757',
+ 'status': 'success',
+ 'source': 'client',
+ 'clientLatencyMillis': 617477221,
+ 'samplingFactor': 1,
+ 'accountId': 1001,
+ 'params': {
+ 'accountId': '14062',
+ 'siteId': '70608',
+ 'zoneId': '335918'
+ },
+ 'videoAdFormat': 'outstream',
+ 'mediaTypes': [
+ 'video'
+ ],
+ 'adserverTargeting': {
+ 'hb_bidder': 'rubicon',
+ 'hb_adid': '2ecff0db240757',
+ 'hb_pb': '1.200',
+ 'hb_size': '640x480',
+ 'hb_source': 'client'
+ },
+ 'bidResponse': {
+ 'bidPriceUSD': 1.22752,
+ 'dimensions': {
+ 'width': 640,
+ 'height': 480
+ },
+ 'mediaType': 'video'
+ },
+ 'bidwonStatus': 'success'
+ },
+ {
+ 'bidder': 'rubicon',
+ 'transactionId': 'c116413c-9e3f-401a-bee1-d56aec29a1d4',
+ 'adUnitCode': '/19968336/header-bid-tag1',
+ 'bidId': '3bd4ebb1c900e2',
+ 'status': 'success',
+ 'source': 'client',
+ 'clientLatencyMillis': 617477221,
+ 'samplingFactor': 1,
+ 'accountId': 1001,
+ 'params': {
+ 'accountId': '14062',
+ 'siteId': '70608',
+ 'zoneId': '335918'
+ },
+ 'mediaTypes': [
+ 'banner'
+ ],
+ 'adserverTargeting': {
+ 'hb_bidder': 'rubicon',
+ 'hb_adid': '3bd4ebb1c900e2',
+ 'hb_pb': '1.500',
+ 'hb_size': '728x90',
+ 'hb_source': 'client'
+ },
+ 'bidResponse': {
+ 'bidPriceUSD': 1.52,
+ 'dimensions': {
+ 'width': 728,
+ 'height': 90
+ },
+ 'mediaType': 'banner'
+ },
+ 'bidwonStatus': 'success'
+ }
+ ]
+};
+
+function performStandardAuction() {
+ events.emit(AUCTION_INIT, MOCK.AUCTION_INIT);
+ events.emit(BID_REQUESTED, MOCK.BID_REQUESTED);
+ events.emit(BID_RESPONSE, MOCK.BID_RESPONSE[0]);
+ events.emit(BID_RESPONSE, MOCK.BID_RESPONSE[1]);
+ events.emit(AUCTION_END, MOCK.AUCTION_END);
+ events.emit(SET_TARGETING, MOCK.SET_TARGETING);
+ events.emit(BID_WON, MOCK.BID_WON[0]);
+ events.emit(BID_WON, MOCK.BID_WON[1]);
+}
+
+describe('rubicon analytics adapter', () => {
+ let sandbox;
+ let xhr;
+ let requests;
+ let oldScreen;
+ let clock;
+
+ beforeEach(() => {
+ sandbox = sinon.sandbox.create();
+
+ xhr = sandbox.useFakeXMLHttpRequest();
+ requests = [];
+ xhr.onCreate = request => requests.push(request);
+
+ sandbox.stub(events, 'getEvents').returns([]);
+
+ sandbox.stub(utils, 'getTopWindowUrl').returns('http://www.test.com/page.html');
+
+ oldScreen = window.screen;
+ window.screen = {
+ width: '375',
+ height: '812'
+ };
+
+ clock = sandbox.useFakeTimers(1519767013781);
+
+ config.setConfig({
+ s2sConfig: {
+ timeout: 1000,
+ accountId: 10000,
+ }
+ })
+ });
+
+ afterEach(() => {
+ window.screen = oldScreen;
+ sandbox.restore();
+ config.resetConfig();
+ });
+
+ it('should require accountId', () => {
+ sandbox.stub(utils, 'logError');
+
+ rubiconAnalyticsAdapter.enableAnalytics({
+ options: {
+ endpoint: '//localhost:9999/event'
+ }
+ });
+
+ expect(utils.logError.called).to.equal(true);
+ });
+
+ it('should require endpoint', () => {
+ sandbox.stub(utils, 'logError');
+
+ rubiconAnalyticsAdapter.enableAnalytics({
+ options: {
+ accountId: 1001
+ }
+ });
+
+ expect(utils.logError.called).to.equal(true);
+ });
+
+ describe('sampling', () => {
+ beforeEach(() => {
+ sandbox.stub(Math, 'random').returns(0.08);
+ sandbox.stub(utils, 'logError');
+ });
+
+ afterEach(() => {
+ rubiconAnalyticsAdapter.disableAnalytics();
+ });
+
+ describe('with options.samplingFactor', () => {
+ it('should sample', () => {
+ rubiconAnalyticsAdapter.enableAnalytics({
+ options: {
+ endpoint: '//localhost:9999/event',
+ accountId: 1001,
+ samplingFactor: 10
+ }
+ });
+
+ performStandardAuction();
+
+ expect(requests.length).to.equal(1);
+ });
+
+ it('should unsample', () => {
+ rubiconAnalyticsAdapter.enableAnalytics({
+ options: {
+ endpoint: '//localhost:9999/event',
+ accountId: 1001,
+ samplingFactor: 20
+ }
+ });
+
+ performStandardAuction();
+
+ expect(requests.length).to.equal(0);
+ });
+
+ it('should throw errors for invalid samplingFactor', () => {
+ rubiconAnalyticsAdapter.enableAnalytics({
+ options: {
+ endpoint: '//localhost:9999/event',
+ accountId: 1001,
+ samplingFactor: 30
+ }
+ });
+
+ performStandardAuction();
+
+ expect(requests.length).to.equal(0);
+ expect(utils.logError.called).to.equal(true);
+ });
+ });
+ describe('with options.sampling', () => {
+ it('should sample', () => {
+ rubiconAnalyticsAdapter.enableAnalytics({
+ options: {
+ endpoint: '//localhost:9999/event',
+ accountId: 1001,
+ sampling: 0.1
+ }
+ });
+
+ performStandardAuction();
+
+ expect(requests.length).to.equal(1);
+ });
+
+ it('should unsample', () => {
+ rubiconAnalyticsAdapter.enableAnalytics({
+ options: {
+ endpoint: '//localhost:9999/event',
+ accountId: 1001,
+ sampling: 0.05
+ }
+ });
+
+ performStandardAuction();
+
+ expect(requests.length).to.equal(0);
+ });
+
+ it('should throw errors for invalid samplingFactor', () => {
+ rubiconAnalyticsAdapter.enableAnalytics({
+ options: {
+ endpoint: '//localhost:9999/event',
+ accountId: 1001,
+ sampling: 1 / 30
+ }
+ });
+
+ performStandardAuction();
+
+ expect(requests.length).to.equal(0);
+ expect(utils.logError.called).to.equal(true);
+ });
+ });
+ });
+
+ describe('when handling events', () => {
+ beforeEach(() => {
+ rubiconAnalyticsAdapter.enableAnalytics({
+ options: {
+ endpoint: '//localhost:9999/event',
+ accountId: '1001'
+ }
+ });
+ });
+
+ afterEach(() => {
+ rubiconAnalyticsAdapter.disableAnalytics();
+ });
+
+ it('should build a batched message from prebid events', () => {
+ performStandardAuction();
+
+ expect(requests.length).to.equal(1);
+ let request = requests[0];
+
+ expect(request.url).to.equal('//localhost:9999/event');
+
+ let message = JSON.parse(request.requestBody);
+ validate(message);
+
+ expect(message).to.deep.equal(ANALYTICS_MESSAGE);
+ });
+
+ it('should send batched message without BID_WON if necessary and further BID_WON events individually', () => {
+ events.emit(AUCTION_INIT, MOCK.AUCTION_INIT);
+ events.emit(BID_REQUESTED, MOCK.BID_REQUESTED);
+ events.emit(BID_RESPONSE, MOCK.BID_RESPONSE[0]);
+ events.emit(BID_RESPONSE, MOCK.BID_RESPONSE[1]);
+ events.emit(AUCTION_END, MOCK.AUCTION_END);
+ events.emit(SET_TARGETING, MOCK.SET_TARGETING);
+ events.emit(BID_WON, MOCK.BID_WON[0]);
+
+ clock.tick(SEND_TIMEOUT + 1000);
+
+ events.emit(BID_WON, MOCK.BID_WON[1]);
+
+ expect(requests.length).to.equal(2);
+
+ let message = JSON.parse(requests[0].requestBody);
+ validate(message);
+ expect(message.bidsWon.length).to.equal(1);
+ expect(message.auctions).to.deep.equal(ANALYTICS_MESSAGE.auctions);
+ expect(message.bidsWon[0]).to.deep.equal(ANALYTICS_MESSAGE.bidsWon[0]);
+
+ message = JSON.parse(requests[1].requestBody);
+ validate(message);
+ expect(message.bidsWon.length).to.equal(1);
+ expect(message).to.not.have.property('auctions');
+ expect(message.bidsWon[0]).to.deep.equal(ANALYTICS_MESSAGE.bidsWon[1]);
+ });
+
+ it('should properly mark bids as timed out', () => {
+ events.emit(AUCTION_INIT, MOCK.AUCTION_INIT);
+ events.emit(BID_REQUESTED, MOCK.BID_REQUESTED);
+ events.emit(BID_TIMEOUT, MOCK.BID_TIMEOUT);
+ events.emit(AUCTION_END, MOCK.AUCTION_END);
+
+ clock.tick(SEND_TIMEOUT + 1000);
+
+ expect(requests.length).to.equal(1);
+
+ let message = JSON.parse(requests[0].requestBody);
+ validate(message);
+ let timedOutBid = message.auctions[0].adUnits[0].bids[0];
+ expect(timedOutBid.status).to.equal('error');
+ expect(timedOutBid.error.code).to.equal('timeout-error');
+ expect(timedOutBid).to.not.have.property('bidResponse');
+ });
+ });
+});
diff --git a/test/spec/modules/rubiconAnalyticsSchema.json b/test/spec/modules/rubiconAnalyticsSchema.json
new file mode 100644
index 00000000000..cc4ad20db19
--- /dev/null
+++ b/test/spec/modules/rubiconAnalyticsSchema.json
@@ -0,0 +1,357 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "title": "Prebid Auctions",
+ "description": "A batched data object describing the lifecycle of an auction or multiple auction across a single page view.",
+ "type": "object",
+ "required": [
+ "eventTimeMillis",
+ "integration",
+ "version"
+ ],
+ "anyOf": [
+ {
+ "required": [
+ "auctions"
+ ]
+ },
+ {
+ "required": [
+ "bidsWon"
+ ]
+ }
+ ],
+ "properties": {
+ "eventTimeMillis": {
+ "type": "integer",
+ "description": "Unix timestamp of time of creation for this batched event in milliseconds."
+ },
+ "integration": {
+ "type": "string",
+ "description": "Integration type that generated this event.",
+ "default": "pbjs"
+ },
+ "version": {
+ "type": "string",
+ "description": "Version of Prebid.js responsible for the auctions contained within."
+ },
+ "auctions": {
+ "type": "array",
+ "minItems": 1,
+ "items": {
+ "type": "object",
+ "required": [
+ "adUnits",
+ "samplingFactor"
+ ],
+ "properties": {
+ "clientTimeoutMillis": {
+ "type": "integer",
+ "description": "Timeout given in client for given auction in milliseconds (if applicable)."
+ },
+ "serverTimeoutMillis": {
+ "type": "integer",
+ "description": "Timeout configured for server adapter request in milliseconds (if applicable)."
+ },
+ "accountId": {
+ "type": "number",
+ "description": "The account id for prebid server (if applicable)."
+ },
+ "samplingFactor": {
+ "$ref": "#/definitions/samplingFactor"
+ },
+ "adUnits": {
+ "type": "array",
+ "minItems": 1,
+ "items": {
+ "type": "object",
+ "description": "An array of adUnits involved in this auction.",
+ "required": [
+ "status",
+ "adUnitCode",
+ "transactionId",
+ "mediaTypes",
+ "dimensions",
+ "bids"
+ ],
+ "properties": {
+ "status": {
+ "type": "string",
+ "description": "The status of the adUnit"
+ },
+ "adUnitCode": {
+ "type": "string",
+ "description": "The adUnit.code identifier"
+ },
+ "transactionId": {
+ "type": "string",
+ "description": "The UUID generated id to represent this adunit in this auction."
+ },
+ "adSlot": {
+ "type": "string"
+ },
+ "mediaTypes": {
+ "$ref": "#/definitions/mediaTypes"
+ },
+ "videoAdFormat": {
+ "$ref": "#/definitions/videoAdFormat"
+ },
+ "dimensions": {
+ "type": "array",
+ "description": "All valid sizes included in this auction (note: may be sizeConfig filtered).",
+ "minItems": 1,
+ "items": {
+ "$ref": "#/definitions/dimensions"
+ }
+ },
+ "adserverTargeting": {
+ "$ref": "#/definitions/adserverTargeting"
+ },
+ "bids": {
+ "type": "array",
+ "description": "An array that contains a combination of the bids from the adUnit combined with their responses.",
+ "minItems": 1,
+ "items": {
+ "$ref": "#/definitions/bid"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "bidsWon": {
+ "type": "array",
+ "minItems": 1,
+ "items": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/bid"
+ },
+ {
+ "required": [
+ "transactionId",
+ "accountId",
+ "samplingFactor",
+ "mediaTypes",
+ "adUnitCode",
+ "bidwonStatus"
+ ],
+ "properties": {
+ "transactionId": {
+ "type": "string"
+ },
+ "accountId": {
+ "type": "number"
+ },
+ "samplingFactor": {
+ "$ref": "#/definitions/samplingFactor"
+ },
+ "adUnitCode": {
+ "type": "string"
+ },
+ "videoAdFormat": {
+ "$ref": "#/definitions/videoAdFormat"
+ },
+ "mediaTypes": {
+ "$ref": "#/definitions/mediaTypes"
+ },
+ "adserverTargeting": {
+ "$ref": "#/definitions/adserverTargeting"
+ },
+ "bidwonStatus": {
+ "description": "Whether the bid was successfully rendered or not",
+ "type": "string",
+ "enum": [
+ "success",
+ "error"
+ ]
+ }
+ }
+ }
+ ]
+ }
+ }
+ },
+ "definitions": {
+ "adserverTargeting": {
+ "type": "object",
+ "description": "The adserverTargeting key/value pairs",
+ "patternProperties": {
+ ".+": {
+ "type": "string"
+ }
+ }
+ },
+ "samplingFactor": {
+ "type": "integer",
+ "description": "An integer value representing the factor to multiply event count by to receive unsampled count.",
+ "enum": [
+ 1,
+ 10,
+ 20,
+ 40,
+ 100
+ ]
+ },
+ "videoAdFormat": {
+ "type": "string",
+ "description": "This value only provided for video specifies the ad format",
+ "enum": [
+ "pre-roll",
+ "interstitial",
+ "outstream",
+ "mid-roll",
+ "post-roll",
+ "vertical"
+ ]
+ },
+ "mediaTypes": {
+ "type": "array",
+ "uniqueItems": true,
+ "minItems": 1,
+ "items": {
+ "type": "string",
+ "enum": [
+ "native",
+ "video",
+ "banner"
+ ]
+ }
+ },
+ "dimensions": {
+ "type": "object",
+ "description": "Size object representing the dimensions of creative in pixels.",
+ "required": [
+ "width",
+ "height"
+ ],
+ "properties": {
+ "width": {
+ "type": "integer",
+ "minimum": 1
+ },
+ "height": {
+ "type": "integer",
+ "minimum": 1
+ }
+ }
+ },
+ "bid": {
+ "type": "object",
+ "required": [
+ "bidder",
+ "bidId",
+ "status",
+ "source"
+ ],
+ "properties": {
+ "bidder": {
+ "type": "string"
+ },
+ "bidId": {
+ "type": "string",
+ "description": "UUID representing this individual bid request in this auction."
+ },
+ "params": {
+ "description": "A copy of the bid.params from the adUnit.bids",
+ "anyOf": [
+ {
+ "type": "object"
+ },
+ {
+ "$ref": "#/definitions/params/rubicon"
+ }
+ ]
+ },
+ "status": {
+ "type": "string",
+ "enum": [
+ "success",
+ "no-bid",
+ "error"
+ ]
+ },
+ "error": {
+ "type": "object",
+ "required": [
+ "code"
+ ],
+ "properties": {
+ "code": {
+ "type": "string",
+ "enum": [
+ "request-error",
+ "connect-error",
+ "timeout-error"
+ ]
+ },
+ "description": {
+ "type": "string"
+ }
+ }
+ },
+ "source": {
+ "type": "string",
+ "enum": [
+ "client",
+ "server"
+ ]
+ },
+ "clientLatencyMillis": {
+ "type": "integer",
+ "description": "Latency from auction start to bid response recieved in milliseconds."
+ },
+ "serverLatencyMillis": {
+ "type": "integer",
+ "description": "Latency returned by prebid server (response_time_ms)."
+ },
+ "bidResponse": {
+ "type": "object",
+ "required": [
+ "dimensions",
+ "mediaType",
+ "bidPriceUSD"
+ ],
+ "properties": {
+ "dimensions": {
+ "$ref": "#/definitions/dimensions"
+ },
+ "mediaType": {
+ "type": "string",
+ "enum": [
+ "native",
+ "video",
+ "banner"
+ ]
+ },
+ "bidPriceUSD": {
+ "type": "number",
+ "description": "The bid value denoted in USD"
+ },
+ "dealId": {
+ "type": "integer",
+ "description": "The id associated with any potential deals"
+ }
+ }
+ }
+ }
+ },
+ "params": {
+ "rubicon": {
+ "type": "object",
+ "properties": {
+ "accountId": {
+ "type": "number"
+ },
+ "siteId": {
+ "type": "number"
+ },
+ "zoneId": {
+ "type": "number"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/test/spec/video_spec.js b/test/spec/video_spec.js
index 5ad9b662e7f..06cd653f444 100644
--- a/test/spec/video_spec.js
+++ b/test/spec/video_spec.js
@@ -16,7 +16,7 @@ describe('video.js', () => {
}]
}];
const valid = isValidVideoBid(bid, bidRequests);
- expect(valid).to.be(true);
+ expect(valid).to.equal(true);
});
it('catches invalid instream bids', () => {
@@ -33,7 +33,7 @@ describe('video.js', () => {
}]
}];
const valid = isValidVideoBid(bid, bidRequests);
- expect(valid).to.be(false);
+ expect(valid).to.equal(false);
});
it('catches invalid bids when prebid-cache is disabled', () => {
@@ -46,7 +46,7 @@ describe('video.js', () => {
const valid = isValidVideoBid({ vastXml: 'vast ' }, bidRequests);
- expect(valid).to.be(false);
+ expect(valid).to.equal(false);
});
it('validates valid outstream bids', () => {
@@ -67,7 +67,7 @@ describe('video.js', () => {
}]
}];
const valid = isValidVideoBid(bid, bidRequests);
- expect(valid).to.be(true);
+ expect(valid).to.equal(true);
});
it('catches invalid outstream bids', () => {
@@ -84,6 +84,6 @@ describe('video.js', () => {
}]
}];
const valid = isValidVideoBid(bid, bidRequests);
- expect(valid).to.be(false);
+ expect(valid).to.equal(false);
});
});
From f7202e4011477aeb09280ea59d0da28c6ae6c961 Mon Sep 17 00:00:00 2001
From: Rich Snapp
Date: Tue, 10 Apr 2018 16:35:20 -0600
Subject: [PATCH 043/171] remove unneeded window.screen test from rubicon
analytics
---
test/spec/modules/rubiconAnalyticsAdapter_spec.js | 7 -------
1 file changed, 7 deletions(-)
diff --git a/test/spec/modules/rubiconAnalyticsAdapter_spec.js b/test/spec/modules/rubiconAnalyticsAdapter_spec.js
index 8ba8541c833..d8f0811e81c 100644
--- a/test/spec/modules/rubiconAnalyticsAdapter_spec.js
+++ b/test/spec/modules/rubiconAnalyticsAdapter_spec.js
@@ -412,12 +412,6 @@ describe('rubicon analytics adapter', () => {
sandbox.stub(utils, 'getTopWindowUrl').returns('http://www.test.com/page.html');
- oldScreen = window.screen;
- window.screen = {
- width: '375',
- height: '812'
- };
-
clock = sandbox.useFakeTimers(1519767013781);
config.setConfig({
@@ -429,7 +423,6 @@ describe('rubicon analytics adapter', () => {
});
afterEach(() => {
- window.screen = oldScreen;
sandbox.restore();
config.resetConfig();
});
From bbcdba5c2f527059c58d4304dc6618fa2d8b04e8 Mon Sep 17 00:00:00 2001
From: Rich Snapp
Date: Tue, 10 Apr 2018 17:39:21 -0600
Subject: [PATCH 044/171] pin ajv as its new uri-js dependency causes issues in
safari
---
package-lock.json | 12 +++---------
package.json | 3 +--
2 files changed, 4 insertions(+), 11 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index 5ecab0de841..83511e0dc28 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -132,9 +132,9 @@
}
},
"ajv": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.2.1.tgz",
- "integrity": "sha1-KKarxJOiq+D7TIUHrK7bQ/pVBnE=",
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.2.0.tgz",
+ "integrity": "sha1-r6wpW7qgFSRJ5SJ0LkVHwa6TKNI=",
"dev": true,
"requires": {
"fast-deep-equal": "1.0.0",
@@ -142,12 +142,6 @@
"json-schema-traverse": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz"
}
},
- "ajv-keywords": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.1.0.tgz",
- "integrity": "sha1-rCsnk5xUPpXSwG5/f1wnvkqlQ74=",
- "dev": true
- },
"align-text": {
"version": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz",
"integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=",
diff --git a/package.json b/package.json
index 640fb2b1455..a31a5998788 100644
--- a/package.json
+++ b/package.json
@@ -24,8 +24,7 @@
"node": ">=4.0"
},
"devDependencies": {
- "ajv": "^6.2.0",
- "ajv-keywords": "^3.1.0",
+ "ajv": "6.2.0",
"babel-core": "6.22.0",
"babel-loader": "^7.1.1",
"babel-plugin-transform-es3-member-expression-literals": "6.22.0",
From 9dd928081b8bb10ed899d7007be8436052c61b96 Mon Sep 17 00:00:00 2001
From: rtbdemand <33991103+rtbdemand@users.noreply.github.com>
Date: Wed, 11 Apr 2018 08:03:22 -0700
Subject: [PATCH 045/171] Create rtbdemandAdkBidAdapter.js (#2323)
---
modules/rtbdemandAdkBidAdapter.js | 187 ++++++++++++++++++++++++++++++
1 file changed, 187 insertions(+)
create mode 100644 modules/rtbdemandAdkBidAdapter.js
diff --git a/modules/rtbdemandAdkBidAdapter.js b/modules/rtbdemandAdkBidAdapter.js
new file mode 100644
index 00000000000..a7ec8463c17
--- /dev/null
+++ b/modules/rtbdemandAdkBidAdapter.js
@@ -0,0 +1,187 @@
+import * as utils from 'src/utils';
+import { BANNER, VIDEO } from 'src/mediaTypes';
+import {registerBidder} from 'src/adapters/bidderFactory';
+import find from 'core-js/library/fn/array/find';
+import includes from 'core-js/library/fn/array/includes';
+
+const VIDEO_TARGETING = ['mimes', 'minduration', 'maxduration', 'protocols',
+ 'startdelay', 'linearity', 'boxingallowed', 'playbackmethod', 'delivery',
+ 'pos', 'api', 'ext'];
+const VERSION = '1.1';
+
+/**
+ * Adapter for requesting bids from RtbdemandAdk white-label display platform
+ */
+export const spec = {
+
+ code: 'rtbdemandadk',
+ aliases: ['headbidding'],
+ supportedMediaTypes: [BANNER, VIDEO],
+ isBidRequestValid: function(bidRequest) {
+ return 'params' in bidRequest && typeof bidRequest.params.host !== 'undefined' &&
+ 'zoneId' in bidRequest.params && !isNaN(Number(bidRequest.params.zoneId));
+ },
+ buildRequests: function(bidRequests) {
+ let auctionId;
+ let dispatch = bidRequests.map(buildImp)
+ .reduce((acc, curr, index) => {
+ let bidRequest = bidRequests[index];
+ let zoneId = bidRequest.params.zoneId;
+ let host = bidRequest.params.host;
+ acc[host] = acc[host] || {};
+ acc[host][zoneId] = acc[host][zoneId] || [];
+ acc[host][zoneId].push(curr);
+ auctionId = bidRequest.bidderRequestId;
+ return acc;
+ }, {});
+ let requests = [];
+ Object.keys(dispatch).forEach(host => {
+ Object.keys(dispatch[host]).forEach(zoneId => {
+ const request = buildRtbRequest(dispatch[host][zoneId], auctionId);
+ requests.push({
+ method: 'GET',
+ url: `${window.location.protocol}//${host}/rtbg`,
+ data: {
+ zone: Number(zoneId),
+ ad_type: 'rtb',
+ v: VERSION,
+ r: JSON.stringify(request)
+ }
+ });
+ });
+ });
+ return requests;
+ },
+ interpretResponse: function(serverResponse, request) {
+ let response = serverResponse.body;
+ if (!response.seatbid) {
+ return [];
+ }
+
+ let rtbRequest = JSON.parse(request.data.r);
+ let rtbImps = rtbRequest.imp;
+ let rtbBids = response.seatbid
+ .map(seatbid => seatbid.bid)
+ .reduce((a, b) => a.concat(b), []);
+
+ return rtbBids.map(rtbBid => {
+ let imp = find(rtbImps, imp => imp.id === rtbBid.impid);
+ let prBid = {
+ requestId: rtbBid.impid,
+ cpm: rtbBid.price,
+ creativeId: rtbBid.crid,
+ currency: 'USD',
+ ttl: 360,
+ netRevenue: true
+ };
+ if ('banner' in imp) {
+ prBid.mediaType = BANNER;
+ prBid.width = rtbBid.w;
+ prBid.height = rtbBid.h;
+ prBid.ad = formatAdMarkup(rtbBid);
+ }
+ if ('video' in imp) {
+ prBid.mediaType = VIDEO;
+ prBid.vastUrl = rtbBid.nurl;
+ prBid.width = imp.video.w;
+ prBid.height = imp.video.h;
+ }
+ return prBid;
+ });
+ },
+ getUserSyncs: function(syncOptions, serverResponses) {
+ if (!syncOptions.iframeEnabled || !serverResponses || serverResponses.length === 0) {
+ return [];
+ }
+ return serverResponses.filter(rsp => rsp.body && rsp.body.ext && rsp.body.ext.adk_usersync)
+ .map(rsp => rsp.body.ext.adk_usersync)
+ .reduce((a, b) => a.concat(b), [])
+ .map(sync_url => ({type: 'iframe', url: sync_url}));
+ }
+};
+
+registerBidder(spec);
+
+/**
+ * Builds parameters object for single impression
+ */
+function buildImp(bid) {
+ const sizes = bid.sizes;
+ const imp = {
+ 'id': bid.bidId,
+ 'tagid': bid.placementCode
+ };
+
+ if (bid.mediaType === 'video') {
+ imp.video = {w: sizes[0], h: sizes[1]};
+ if (bid.params.video) {
+ Object.keys(bid.params.video)
+ .filter(param => includes(VIDEO_TARGETING, param))
+ .forEach(param => imp.video[param] = bid.params.video[param]);
+ }
+ } else {
+ imp.banner = {
+ format: sizes.map(s => ({'w': s[0], 'h': s[1]})),
+ topframe: 0
+ };
+ }
+ if (utils.getTopWindowLocation().protocol === 'https:') {
+ imp.secure = 1;
+ }
+ return imp;
+}
+
+/**
+ * Builds complete rtb request
+ * @param imps collection of impressions
+ * @param auctionId
+ */
+function buildRtbRequest(imps, auctionId) {
+ let req = {
+ 'id': auctionId,
+ 'imp': imps,
+ 'site': createSite(),
+ 'at': 1,
+ 'device': {
+ 'ip': 'caller',
+ 'ua': 'caller',
+ 'js': 1,
+ 'language': getLanguage()
+ },
+ 'ext': {
+ 'adk_usersync': 1
+ }
+ };
+ if (utils.getDNT()) {
+ req.device.dnt = 1;
+ }
+ return req;
+}
+
+function getLanguage() {
+ const language = navigator.language ? 'language' : 'userLanguage';
+ return navigator[language].split('-')[0];
+}
+
+/**
+ * Creates site description object
+ */
+function createSite() {
+ var location = utils.getTopWindowLocation();
+ return {
+ 'domain': location.hostname,
+ 'page': location.href.split('?')[0]
+ };
+}
+
+/**
+ * Format creative with optional nurl call
+ * @param bid rtb Bid object
+ */
+function formatAdMarkup(bid) {
+ var adm = bid.adm;
+ if ('nurl' in bid) {
+ adm += utils.createTrackPixelHtml(`${bid.nurl}&px=1`);
+ }
+ return ` ${adm}`;
+}
From cea9243969c96062df08960b68a0a835f9ddb666 Mon Sep 17 00:00:00 2001
From: rtbdemand <33991103+rtbdemand@users.noreply.github.com>
Date: Wed, 11 Apr 2018 08:08:20 -0700
Subject: [PATCH 046/171] Create rtbdemandAdkBidAdapter.md (#2324)
---
modules/rtbdemandAdkBidAdapter.md | 45 +++++++++++++++++++++++++++++++
1 file changed, 45 insertions(+)
create mode 100644 modules/rtbdemandAdkBidAdapter.md
diff --git a/modules/rtbdemandAdkBidAdapter.md b/modules/rtbdemandAdkBidAdapter.md
new file mode 100644
index 00000000000..d75df08f167
--- /dev/null
+++ b/modules/rtbdemandAdkBidAdapter.md
@@ -0,0 +1,45 @@
+# Overview
+
+```
+Module Name: RtbdemandAdk Bidder Adapter
+Module Type: Bidder Adapter
+Maintainer: shreyanschopra@rtbdemand.com
+```
+
+# Description
+
+Connects to RtbdemandAdk whitelabel platform.
+Banner and video formats are supported.
+
+
+# Test Parameters
+```
+ var adUnits = [
+ {
+ code: 'banner-ad-div',
+ sizes: [[300, 250]], // banner size
+ bids: [
+ {
+ bidder: 'rtbdemandadk',
+ params: {
+ zoneId: '30164', //required parameter
+ host: 'cpm.metaadserving.com' //required parameter
+ }
+ }
+ ]
+ }, {
+ code: 'video-ad-player',
+ sizes: [640, 480], // video player size
+ bids: [
+ {
+ bidder: 'rtbdemandadk',
+ mediaType : 'video',
+ params: {
+ zoneId: '30164', //required parameter
+ host: 'cpm.metaadserving.com' //required parameter
+ }
+ }
+ ]
+ }
+ ];
+```
From 1f7c17745ee2dd186b0af31319d836ce75e3b633 Mon Sep 17 00:00:00 2001
From: Max Crawford
Date: Thu, 12 Apr 2018 09:45:58 -0400
Subject: [PATCH 047/171] Added LKQD prebid adapter with associated
documentation and tests (#2333)
* Added LKQD prebid adapter with associated documentation and tests
* Updated conditional logic to correct unreachable block
* Syntax changes to conform with Travis CI checks
* Additional try...catch for greater clarity of error handling, updated all variable declarations to let/const style guide
* Fixed improper error handling for DOMParser and added unit test for invalid XML response
---
modules/lkqdBidAdapter.js | 212 ++++++++++++++
modules/lkqdBidAdapter.md | 33 +++
test/spec/modules/lkqdBidAdapter_spec.js | 343 +++++++++++++++++++++++
3 files changed, 588 insertions(+)
create mode 100644 modules/lkqdBidAdapter.js
create mode 100644 modules/lkqdBidAdapter.md
create mode 100644 test/spec/modules/lkqdBidAdapter_spec.js
diff --git a/modules/lkqdBidAdapter.js b/modules/lkqdBidAdapter.js
new file mode 100644
index 00000000000..fadefd57645
--- /dev/null
+++ b/modules/lkqdBidAdapter.js
@@ -0,0 +1,212 @@
+import * as utils from 'src/utils';
+import { registerBidder } from 'src/adapters/bidderFactory';
+import { VIDEO } from 'src/mediaTypes';
+
+const BIDDER_CODE = 'lkqd';
+const BID_TTL_DEFAULT = 300;
+const ENDPOINT = 'https://ssp.lkqd.net/ad?pid=[PLACEMENT_ID]&sid=[SITE_ID]&output=[OUTPUT]&execution=[EXECUTION]&placement=[PLACEMENT]&playinit=[PLAY_INIT]&volume=[VOLUME]&timeout=[TIMEOUT]&width=[WIDTH]&height=[HEIGHT]&pbt=[PREBID_TOKEN]&dnt=[DO_NOT_TRACK]&pageurl=[PAGEURL]&contentid=[CONTENT_ID]&contenttitle=[CONTENT_TITLE]&contentlength=[CONTENT_LENGTH]&contenturl=[CONTENT_URL]&prebid=true';
+
+const PID_KEY = '[PLACEMENT_ID]';
+const SID_KEY = '[SITE_ID]';
+const OUTPUT_KEY = '[OUTPUT]';
+const EXECUTION_KEY = '[EXECUTION]';
+const PLACEMENT_KEY = '[PLACEMENT]';
+const PLAYINIT_KEY = '[PLAY_INIT]';
+const VOLUME_KEY = '[VOLUME]';
+const TIMEOUT_KEY = '[TIMEOUT]';
+const WIDTH_KEY = '[WIDTH]';
+const HEIGHT_KEY = '[HEIGHT]';
+const DNT_KEY = '[DO_NOT_TRACK]';
+const PAGEURL_KEY = '[PAGEURL]';
+const CONTENTID_KEY = '[CONTENT_ID]';
+const CONTENTTITLE_KEY = '[CONTENT_TITLE]';
+const CONTENTLENGTH_KEY = '[CONTENT_LENGTH]';
+const CONTENTURL_KEY = '[CONTENT_URL]';
+
+const PID_DEFAULT = null;
+const SID_DEFAULT = null;
+const OUTPUT_DEFAULT = 'vast';
+const EXECUTION_DEFAULT = 'any';
+const PLACEMENT_DEFAULT = '';
+const PLAYINIT_DEFAULT = 'auto';
+const VOLUME_DEFAULT = '100';
+const TIMEOUT_DEFAULT = '';
+const WIDTH_DEFAULT = null;
+const HEIGHT_DEFAULT = null;
+const DNT_DEFAULT = null;
+const PAGEURL_DEFAULT = null;
+const CONTENTID_DEFAULT = null;
+const CONTENTTITLE_DEFAULT = null;
+const CONTENTLENGTH_DEFAULT = null;
+const CONTENTURL_DEFAULT = null;
+
+function _validateId(id) {
+ if (id && typeof id !== 'undefined' && parseInt(id) > 0) {
+ return true;
+ }
+
+ return false;
+}
+
+function isBidRequestValid(bidRequest) {
+ if (bidRequest.bidder === BIDDER_CODE && typeof bidRequest.params !== 'undefined') {
+ if (_validateId(bidRequest.params.siteId) && _validateId(bidRequest.params.placementId)) {
+ return true;
+ }
+ }
+
+ return false;
+}
+
+function _replaceMacro(key, paramValue, defaultValue, url) {
+ if (url && typeof url === 'string' && url !== '' && url.indexOf(key) > 0) {
+ if (paramValue) {
+ url = url.replace(key, paramValue);
+ } else if (defaultValue || defaultValue == '') {
+ url = url.replace(key, defaultValue);
+ }
+ }
+
+ return url;
+}
+
+function buildRequests(validBidRequests) {
+ let bidRequests = [];
+
+ for (let i = 0; i < validBidRequests.length; i++) {
+ let bidRequest = validBidRequests[i];
+
+ // if width/height not provided to the ad unit for some reason then attempt request with default 640x480 size
+ if (!bidRequest.sizes || !bidRequest.sizes.length) {
+ utils.logWarn('Warning: Could not find valid width/height parameters on the provided adUnit');
+ bidRequest.sizes = [[640, 480]];
+ }
+
+ // JWPlayer demo page uses sizes: [640,480] instead of sizes: [[640,480]] so need to handle single-layer array as well as nested arrays
+ if (bidRequest.sizes.length === 2 && typeof bidRequest.sizes[0] === 'number' && typeof bidRequest.sizes[1] === 'number') {
+ let adWidth = bidRequest.sizes[0];
+ let adHeight = bidRequest.sizes[1];
+ bidRequest.sizes = [[adWidth, adHeight]];
+ }
+
+ for (let j = 0; j < bidRequest.sizes.length; j++) {
+ let size = bidRequest.sizes[j];
+ let playerWidth;
+ let playerHeight;
+ if (size && size.length == 2) {
+ playerWidth = size[0];
+ playerHeight = size[1];
+ } else {
+ utils.logWarn('Warning: Could not determine width/height from the provided adUnit');
+ }
+
+ let sspUrl = ENDPOINT.concat();
+
+ // required parameters
+ sspUrl = _replaceMacro(PID_KEY, bidRequest.params.placementId, PID_DEFAULT, sspUrl);
+ sspUrl = _replaceMacro(SID_KEY, bidRequest.params.siteId, SID_DEFAULT, sspUrl);
+ // optional parameters
+ sspUrl = _replaceMacro(OUTPUT_KEY, bidRequest.params.output, OUTPUT_DEFAULT, sspUrl);
+ sspUrl = _replaceMacro(EXECUTION_KEY, bidRequest.params.execution, EXECUTION_DEFAULT, sspUrl);
+ sspUrl = _replaceMacro(PLACEMENT_KEY, bidRequest.params.placement, PLACEMENT_DEFAULT, sspUrl);
+ sspUrl = _replaceMacro(PLAYINIT_KEY, bidRequest.params.playinit, PLAYINIT_DEFAULT, sspUrl);
+ sspUrl = _replaceMacro(VOLUME_KEY, bidRequest.params.volume, VOLUME_DEFAULT, sspUrl);
+ sspUrl = _replaceMacro(TIMEOUT_KEY, bidRequest.params.timeout, TIMEOUT_DEFAULT, sspUrl);
+ sspUrl = _replaceMacro(WIDTH_KEY, playerWidth, WIDTH_DEFAULT, sspUrl);
+ sspUrl = _replaceMacro(HEIGHT_KEY, playerHeight, HEIGHT_DEFAULT, sspUrl);
+ sspUrl = _replaceMacro(DNT_KEY, bidRequest.params.dnt, DNT_DEFAULT, sspUrl);
+ sspUrl = _replaceMacro(PAGEURL_KEY, bidRequest.params.pageurl, PAGEURL_DEFAULT, sspUrl);
+ sspUrl = _replaceMacro(CONTENTID_KEY, bidRequest.params.contentId, CONTENTID_DEFAULT, sspUrl);
+ sspUrl = _replaceMacro(CONTENTTITLE_KEY, bidRequest.params.contentTitle, CONTENTTITLE_DEFAULT, sspUrl);
+ sspUrl = _replaceMacro(CONTENTLENGTH_KEY, bidRequest.params.contentLength, CONTENTLENGTH_DEFAULT, sspUrl);
+ sspUrl = _replaceMacro(CONTENTURL_KEY, bidRequest.params.contentUrl, CONTENTURL_DEFAULT, sspUrl);
+ // random number to prevent caching
+ sspUrl = sspUrl + '&rnd=' + Math.floor(Math.random() * 999999999);
+
+ let sspData = {};
+ sspData.bidId = bidRequest.bidId;
+ sspData.bidWidth = playerWidth;
+ sspData.bidHeight = playerHeight;
+
+ bidRequests.push({
+ method: 'GET',
+ url: sspUrl,
+ data: sspData
+ });
+ }
+ }
+
+ return bidRequests;
+}
+
+function interpretResponse(serverResponse, bidRequest) {
+ let bidResponses = [];
+ if (serverResponse && serverResponse.body) {
+ if (serverResponse.error) {
+ utils.logError('Error: ' + serverResponse.error);
+ return bidResponses;
+ } else {
+ try {
+ let bidResponse = {};
+ if (bidRequest && bidRequest.data && bidRequest.data.bidId && bidRequest.data.bidId !== '') {
+ let sspXml = new window.DOMParser().parseFromString(serverResponse.body, 'text/xml');
+ if (sspXml && sspXml.getElementsByTagName('parsererror').length == 0) {
+ let sspUrl = bidRequest.url.concat();
+ let prebidToken;
+ let extensions = sspXml.getElementsByTagName('Extension');
+
+ if (extensions && extensions.length) {
+ for (let i = 0; i < extensions.length; i++) {
+ if (extensions[i].getAttribute('id') === 'prebidToken') {
+ prebidToken = extensions[i]
+ }
+ }
+ if (prebidToken) {
+ sspUrl = sspUrl + '&pbt' + prebidToken;
+ } else {
+ utils.logWarn('Warning: Could not determine token, cannot guarantee same ad will be received after auctionEnd');
+ }
+ } else {
+ utils.logWarn('Warning: Response did not contain a token, cannot guarantee same ad will be received after auctionEnd');
+ }
+
+ bidResponse.requestId = bidRequest.data.bidId;
+ bidResponse.bidderCode = BIDDER_CODE;
+ bidResponse.ad = '';
+ bidResponse.cpm = parseFloat(sspXml.getElementsByTagName('Pricing')[0].innerHTML);
+ bidResponse.width = bidRequest.data.bidWidth;
+ bidResponse.height = bidRequest.data.bidHeight;
+ bidResponse.ttl = BID_TTL_DEFAULT;
+ bidResponse.creativeId = sspXml.getElementsByTagName('Ad')[0].getAttribute('id');
+ bidResponse.currency = sspXml.getElementsByTagName('Pricing')[0].getAttribute('currency');
+ bidResponse.netRevenue = true;
+ bidResponse.vastUrl = sspUrl;
+ bidResponse.mediaType = VIDEO;
+
+ bidResponses.push(bidResponse);
+ } else {
+ utils.logError('Error: Server response contained invalid XML');
+ }
+ } else {
+ utils.logError('Error: Could not associate bid request to server response');
+ }
+ } catch (e) {
+ utils.logError('Error: Could not interpret server response');
+ }
+ }
+ } else {
+ utils.logError('Error: No server response or server response was empty for the requested URL');
+ }
+
+ return bidResponses;
+}
+
+export const spec = {
+ code: BIDDER_CODE,
+ supportedMediaTypes: [VIDEO],
+ isBidRequestValid,
+ buildRequests,
+ interpretResponse
+}
+
+registerBidder(spec);
diff --git a/modules/lkqdBidAdapter.md b/modules/lkqdBidAdapter.md
new file mode 100644
index 00000000000..22bff449bef
--- /dev/null
+++ b/modules/lkqdBidAdapter.md
@@ -0,0 +1,33 @@
+# Overview
+
+```
+Module Name: LKQD Bidder Adapter
+Module Type: Bidder Adapter
+Maintainer: support@lkqd.com
+```
+
+# Description
+
+Connects to LKQD exchange for bids.
+
+LKQD bid adapter supports Video ads currently.
+
+For more information about [LKQD Ad Serving and Management](http://www.lkqd.com/ad-serving-and-management/), please contact [info@lkqd.com](info@lkqd.com).
+
+# Sample Ad Unit: For Publishers
+```
+var videoAdUnit = [
+{
+ code: 'video1',
+ sizes: [
+ [300, 250],
+ [640, 480]
+ ],
+ bids: [{
+ bidder: 'lkqd',
+ params: {
+ siteId: '662921',
+ placementId: '263'
+ }
+ }]
+}];
diff --git a/test/spec/modules/lkqdBidAdapter_spec.js b/test/spec/modules/lkqdBidAdapter_spec.js
new file mode 100644
index 00000000000..d3e16f0c99a
--- /dev/null
+++ b/test/spec/modules/lkqdBidAdapter_spec.js
@@ -0,0 +1,343 @@
+import { spec } from 'modules/lkqdBidAdapter';
+import { newBidder } from 'src/adapters/bidderFactory';
+const { expect } = require('chai');
+
+describe('LKQD Bid Adapter Test', () => {
+ const adapter = newBidder(spec);
+
+ describe('inherited functions', () => {
+ it('exists and is a function', () => {
+ expect(adapter.callBids).to.exist.and.to.be.a('function');
+ });
+ });
+
+ describe('isBidRequestValid', () => {
+ let bid = {
+ 'bidder': 'lkqd',
+ 'params': {
+ 'siteId': '662921',
+ 'placementId': '263'
+ },
+ 'adUnitCode': 'video1',
+ 'sizes': [[300, 250], [640, 480]],
+ 'bidId': '30b31c1838de1e',
+ 'bidderRequestId': '22edbae2733bf6',
+ 'requestId': 'a09c66c3-53e3-4428-b296-38fc08e7cd2a',
+ 'transactionId': 'd6f6b392-54a9-454c-85fb-a2fd882c4a2d',
+ };
+
+ it('should return true when required params found', () => {
+ expect(spec.isBidRequestValid(bid)).to.equal(true);
+ });
+
+ it('should return false when required params are not passed', () => {
+ let bid = Object.assign({}, bid);
+ delete bid.params;
+ bid.params = {
+ wrong: 'missing zone id'
+ };
+ expect(spec.isBidRequestValid(bid)).to.equal(false);
+ });
+ });
+
+ describe('buildRequests', () => {
+ const ENDPOINT = 'https://ssp.lkqd.net/ad?';
+ let bidRequests = [
+ {
+ 'bidder': 'lkqd',
+ 'params': {
+ 'siteId': '662921',
+ 'placementId': '263'
+ },
+ 'adUnitCode': 'lkqd',
+ 'sizes': [[300, 250], [640, 480]],
+ 'bidId': '30b31c1838de1e',
+ 'bidderRequestId': '22edbae2733bf6',
+ 'requestId': 'a09c66c3-53e3-4428-b296-38fc08e7cd2a',
+ 'transactionId': 'd6f6b392-54a9-454c-85fb-a2fd882c4a2d',
+ }
+ ];
+ let bidRequest = [
+ {
+ 'bidder': 'lkqd',
+ 'params': {
+ 'siteId': '662921',
+ 'placementId': '263'
+ },
+ 'adUnitCode': 'lkqd',
+ 'sizes': [640, 480],
+ 'bidId': '30b31c1838de1e',
+ 'bidderRequestId': '22edbae2733bf6',
+ 'requestId': 'a09c66c3-53e3-4428-b296-38fc08e7cd2a',
+ 'transactionId': 'd6f6b392-54a9-454c-85fb-a2fd882c4a2d',
+ }
+ ];
+
+ it('should populate available parameters', () => {
+ const requests = spec.buildRequests(bidRequests);
+ expect(requests.length).to.equal(2);
+ const r1 = requests[0].url;
+ expect(r1).to.contain('?pid=263');
+ expect(r1).to.contain('&sid=662921');
+ expect(r1).to.contain('&width=300');
+ expect(r1).to.contain('&height=250');
+ const r2 = requests[1].url;
+ expect(r2).to.contain('?pid=263');
+ expect(r2).to.contain('&sid=662921');
+ expect(r2).to.contain('&width=640');
+ expect(r2).to.contain('&height=480');
+ });
+
+ it('should not populate unspecified parameters', () => {
+ const requests = spec.buildRequests(bidRequests);
+ expect(requests.length).to.equal(2);
+ const r1 = requests[0].url;
+ expect(r1).to.contain('&contentid=[CONTENT_ID]');
+ expect(r1).to.contain('&contenttitle=[CONTENT_TITLE]');
+ expect(r1).to.contain('&contentlength=[CONTENT_LENGTH]');
+ expect(r1).to.contain('&height=250');
+ const r2 = requests[1].url;
+ expect(r2).to.contain('&contentid=[CONTENT_ID]');
+ expect(r2).to.contain('&contenttitle=[CONTENT_TITLE]');
+ expect(r2).to.contain('&contentlength=[CONTENT_LENGTH]');
+ expect(r2).to.contain('&contenturl=[CONTENT_URL]');
+ });
+
+ it('should handle single size request', () => {
+ const requests = spec.buildRequests(bidRequest);
+ expect(requests.length).to.equal(1);
+ const r1 = requests[0].url;
+ expect(r1).to.contain('?pid=263');
+ expect(r1).to.contain('&sid=662921');
+ expect(r1).to.contain('&width=640');
+ expect(r1).to.contain('&height=480');
+ });
+
+ it('sends bid request to ENDPOINT via GET', () => {
+ const requests = spec.buildRequests(bidRequests);
+ expect(requests.length).to.equal(2);
+ const r1 = requests[0];
+ expect(r1.url).to.contain(ENDPOINT);
+ expect(r1.method).to.equal('GET');
+ const r2 = requests[1]
+ expect(r2.url).to.contain(ENDPOINT);
+ expect(r2.method).to.equal('GET');
+ });
+ });
+
+ describe('interpretResponse', () => {
+ let bidRequest = {
+ 'url': 'https://ssp.lkqd.net/ad?pid=263&sid=662921&output=vast&execution=any&placement=&playinit=auto&volume=100&timeout=&width=300%E2%80%8C&height=250&pbt=[PREBID_TOKEN]%E2%80%8C&dnt=[DO_NOT_TRACK]%E2%80%8C&pageurl=[PAGEURL]%E2%80%8C&contentid=[CONTENT_ID]%E2%80%8C&contenttitle=[CONTENT_TITLE]%E2%80%8C&contentlength=[CONTENT_LENGTH]%E2%80%8C&contenturl=[CONTENT_URL]&prebid=true%E2%80%8C&rnd=874313435?bidId=253dcb69fb2577&bidWidth=300&bidHeight=250&',
+ 'data': {
+ 'bidId': '253dcb69fb2577',
+ 'bidWidth': '640',
+ 'bidHeight': '480'
+ }
+ };
+ let serverResponse = {};
+ serverResponse.body = `
+
+
+LKQD
+
+
+
+2.87
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+00:00:30
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+]]>
+
+
+
+
+
+
+
+
+ `;
+
+ it('should correctly parse valid bid response', () => {
+ const BIDDER_CODE = 'lkqd';
+ let bidResponses = spec.interpretResponse(serverResponse, bidRequest);
+ expect(bidResponses.length).to.equal(1);
+ let bidResponse = bidResponses[0];
+ expect(bidResponse.requestId).to.equal(bidRequest.data.bidId);
+ expect(bidResponse.bidderCode).to.equal(BIDDER_CODE);
+ expect(bidResponse.ad).to.equal('');
+ expect(bidResponse.cpm).to.equal(2.87);
+ expect(bidResponse.width).to.equal('640');
+ expect(bidResponse.height).to.equal('480');
+ expect(bidResponse.ttl).to.equal(300);
+ expect(bidResponse.creativeId).to.equal('677477');
+ expect(bidResponse.currency).to.equal('USD');
+ expect(bidResponse.netRevenue).to.equal(true);
+ expect(bidResponse.mediaType).to.equal('video');
+ });
+
+ it('safely handles XML parsing failure from invalid bid response', () => {
+ let invalidServerResponse = {};
+ invalidServerResponse.body = ' ';
+
+ let result = spec.interpretResponse(invalidServerResponse, bidRequest);
+ expect(result.length).to.equal(0);
+ });
+
+ it('handles nobid responses', () => {
+ let nobidResponse = {};
+ nobidResponse.body = ' ';
+
+ let result = spec.interpretResponse(nobidResponse, bidRequest);
+ expect(result.length).to.equal(0);
+ });
+ });
+});
From 188f78d7d2d0112b09b5e8d1975e9d19bd65c16c Mon Sep 17 00:00:00 2001
From: Jaimin Panchal
Date: Thu, 12 Apr 2018 11:24:57 -0400
Subject: [PATCH 048/171] fix undefined value (#2387)
---
modules/lkqdBidAdapter.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/modules/lkqdBidAdapter.js b/modules/lkqdBidAdapter.js
index fadefd57645..cb4ffef73ee 100644
--- a/modules/lkqdBidAdapter.js
+++ b/modules/lkqdBidAdapter.js
@@ -173,7 +173,7 @@ function interpretResponse(serverResponse, bidRequest) {
bidResponse.requestId = bidRequest.data.bidId;
bidResponse.bidderCode = BIDDER_CODE;
bidResponse.ad = '';
- bidResponse.cpm = parseFloat(sspXml.getElementsByTagName('Pricing')[0].innerHTML);
+ bidResponse.cpm = parseFloat(sspXml.getElementsByTagName('Pricing')[0].textContent);
bidResponse.width = bidRequest.data.bidWidth;
bidResponse.height = bidRequest.data.bidHeight;
bidResponse.ttl = BID_TTL_DEFAULT;
From 76e079a2a756c395468b45701abdf459cd7374f0 Mon Sep 17 00:00:00 2001
From: Jimmy Tu
Date: Thu, 12 Apr 2018 08:38:21 -0700
Subject: [PATCH 049/171] Video Support Update (#2342)
Added beacon tracking for video requests via user sync
Added test coverage for user syncing and beaconing for banner and video responses
Fixed bug in video where request is always in http instead of using current protocol
Removed unnecessary query parameter 'ef'
Switched custom functions with utility functions
Refactored codebase for easier readability
---
modules/openxBidAdapter.js | 300 ++++++++-------
test/spec/modules/openxBidAdapter_spec.js | 422 ++++++++++++++--------
2 files changed, 445 insertions(+), 277 deletions(-)
diff --git a/modules/openxBidAdapter.js b/modules/openxBidAdapter.js
index 9ed4f1250f8..7cbfd459e2d 100644
--- a/modules/openxBidAdapter.js
+++ b/modules/openxBidAdapter.js
@@ -1,111 +1,63 @@
-import { config } from 'src/config';
+import {config} from 'src/config';
import {registerBidder} from 'src/adapters/bidderFactory';
import * as utils from 'src/utils';
import {userSync} from 'src/userSync';
-import { BANNER, VIDEO } from 'src/mediaTypes';
+import {BANNER, VIDEO} from 'src/mediaTypes';
+import {parse} from 'src/url';
const SUPPORTED_AD_TYPES = [BANNER, VIDEO];
const BIDDER_CODE = 'openx';
const BIDDER_CONFIG = 'hb_pb';
-const BIDDER_VERSION = '2.0.0';
+const BIDDER_VERSION = '2.0.1';
export const spec = {
code: BIDDER_CODE,
supportedMediaTypes: SUPPORTED_AD_TYPES,
- isBidRequestValid: function(bid) {
- if (bid.mediaType === VIDEO) {
- if (typeof bid.params.video !== 'object' || !bid.params.video.url) {
+ isBidRequestValid: function (bidRequest) {
+ if (isVideoRequest(bidRequest)) {
+ if (!utils.deepAccess(bidRequest, 'params.video.url')) {
return false;
}
}
- return !!(bid.params.unit && bid.params.delDomain);
+ return !!(bidRequest.params.unit && bidRequest.params.delDomain);
},
- buildRequests: function(bids) {
- let isIfr = utils.inIframe();
- let currentURL = (window.parent !== window) ? document.referrer : window.location.href;
- if (bids.length === 0) {
- return;
+ buildRequests: function (bidRequests) {
+ if (bidRequests.length === 0) {
+ return [];
}
let requests = [];
- let bannerRequests = [];
- let videoRequests = [];
- const {bannerBids, videoBids} = bids.reduce(function(acc, curBid) {
- // Fallback to banner ads if nothing specified
- if (!curBid.mediaTypes || utils.isEmpty(curBid.mediaTypes)) {
- if (curBid.mediaType && curBid.mediaType == VIDEO) {
- acc.videoBids.push(curBid);
- } else {
- acc.bannerBids.push(curBid);
- }
- } else if (curBid.mediaTypes.video) {
- acc.videoBids.push(curBid);
- } else if (curBid.mediaTypes.banner) {
- acc.bannerBids.push(curBid);
- }
- return acc;
- }, {bannerBids: [], videoBids: []});
+ let [videoBids, bannerBids] = partitionByVideoBids(bidRequests);
// build banner requests
- if (bannerBids.length !== 0) {
- let delDomain = bannerBids[0].params.delDomain;
- let configuredBc = bannerBids[0].params.bc;
- let bc = configuredBc || `${BIDDER_CONFIG}_${BIDDER_VERSION}`;
- bannerRequests = [ buildOXRequest(bannerBids, {
- ju: currentURL,
- jr: currentURL,
- ch: document.charSet || document.characterSet,
- res: `${screen.width}x${screen.height}x${screen.colorDepth}`,
- ifr: isIfr,
- tz: new Date().getTimezoneOffset(),
- tws: getViewportDimensions(isIfr),
- ef: 'bt%2Cdb',
- be: 1,
- bc: bc,
- nocache: new Date().getTime()
- },
- delDomain)];
+ if (bannerBids.length > 0) {
+ requests.push(buildOXBannerRequest(bannerBids));
}
// build video requests
- if (videoBids.length !== 0) {
- videoRequests = buildOXVideoRequest(videoBids);
+ if (videoBids.length > 0) {
+ videoBids.forEach(videoBid => {
+ requests.push(buildOXVideoRequest(videoBid))
+ });
}
- requests = bannerRequests.concat(videoRequests);
return requests;
},
- interpretResponse: function({body: oxResponseObj}, bidRequest) {
- let bidResponses = [];
- let mediaType = BANNER;
- if (bidRequest && bidRequest.payload) {
- if (bidRequest.payload.bids) {
- mediaType = bidRequest.payload.bids[0].mediaType;
- } else if (bidRequest.payload.bid) {
- mediaType = bidRequest.payload.bid.mediaType;
- }
- }
+ interpretResponse: function ({body: oxResponseObj}, serverRequest) {
+ let mediaType = getMediaTypeFromRequest(serverRequest);
- if (mediaType === VIDEO) {
- if (oxResponseObj && oxResponseObj.pixels) {
- userSync.registerSync('iframe', 'openx', oxResponseObj.pixels);
- }
- bidResponses = createVideoBidResponses(oxResponseObj, bidRequest.payload);
- return bidResponses;
- }
+ registerUserSync(mediaType, oxResponseObj);
- let adUnits = oxResponseObj.ads.ad;
- if (oxResponseObj.ads && oxResponseObj.ads.pixels) {
- userSync.registerSync('iframe', BIDDER_CODE, oxResponseObj.ads.pixels);
- }
- if (!adUnits) {
- adUnits = [];
- }
- bidResponses = createBidResponses(adUnits, bidRequest.payload);
- return bidResponses;
+ return mediaType === VIDEO ? createVideoBidResponses(oxResponseObj, serverRequest.payload)
+ : createBannerBidResponses(oxResponseObj, serverRequest.payload);
}
};
-function createBidResponses(adUnits, {bids, startTime}) {
+function isVideoRequest(bidRequest) {
+ return utils.deepAccess(bidRequest, 'mediaTypes.video') || bidRequest.mediaType === VIDEO;
+}
+
+function createBannerBidResponses(oxResponseObj, {bids, startTime}) {
+ let adUnits = oxResponseObj.ads.ad;
let bidResponses = [];
let shouldSendBoPixel = bids[0].params.sendBoPixel;
if (shouldSendBoPixel === undefined) {
@@ -115,14 +67,14 @@ function createBidResponses(adUnits, {bids, startTime}) {
for (let i = 0; i < adUnits.length; i++) {
let adUnit = adUnits[i];
let bidResponse = {};
- if (adUnits.length == bids.length) {
+ if (adUnits.length === bids.length) {
// request and response length match, directly assign the request id based on positioning
bidResponse.requestId = bids[i].bidId;
} else {
for (let j = i; j < bids.length; j++) {
let bid = bids[j];
if (String(bid.params.unit) === String(adUnit.adunitid) && adUnitHasValidSizeFromBid(adUnit, bid) && !bid.matched) {
- // ad unit and size match, this is the correct bid response to bid
+ // ad unit and size match, this is the correct bid response to bid
bidResponse.requestId = bid.bidId;
bid.matched = true;
break;
@@ -158,41 +110,14 @@ function createBidResponses(adUnits, {bids, startTime}) {
}
bidResponse.ts = adUnit.ts;
- let bt = config.getConfig('bidderTimeout');
- if (window.PREBID_TIMEOUT) {
- bt = Math.min(window.PREBID_TIMEOUT, bt);
- }
- let beaconParams = {
- bd: +(new Date()) - startTime,
- br: '0', // may be 0, t, or p
- bt: bt,
- bs: window.location.hostname
- };
-
- beaconParams.br = beaconParams.bt < beaconParams.bd ? 't' : 'p';
- beaconParams.bp = adUnit.pub_rev;
- beaconParams.ts = adUnit.ts;
- let boUrl;
- if (shouldSendBoPixel) {
- boUrl = getBoUrl(adUnit.creative[0], beaconParams);
- }
- if (boUrl) {
- userSync.registerSync('image', BIDDER_CODE, boUrl);
+ if (shouldSendBoPixel && adUnit.ts) {
+ registerBeacon(BANNER, adUnit, startTime);
}
bidResponses.push(bidResponse);
}
return bidResponses;
}
-function getBoUrl(creative, params) {
- let recordPixel = creative.tracking.impression;
- let boBase = recordPixel.match(/([^?]+\/)ri\?/);
-
- if (boBase) {
- return `${boBase[1]}bo?${buildQueryStringFromParams(params)}`;
- }
-}
-
function buildQueryStringFromParams(params) {
for (let key in params) {
if (params.hasOwnProperty(key)) {
@@ -265,16 +190,48 @@ function formatCustomParms(customKey, customParams) {
return (customKey.toLowerCase() + '=' + value.toLowerCase()).replace('+', '.').replace('/', '_')
}
-function buildOXRequest(bids, oxParams, delDomain) {
- if (!utils.isArray(bids)) {
- return;
+function partitionByVideoBids(bidRequests) {
+ return bidRequests.reduce(function (acc, bid) {
+ // Fallback to banner ads if nothing specified
+ if (isVideoRequest(bid)) {
+ acc[0].push(bid);
+ } else {
+ acc[1].push(bid);
+ }
+ return acc;
+ }, [[], []]);
+}
+
+function getMediaTypeFromRequest(serverRequest) {
+ return /avjp$/.test(serverRequest.url) ? VIDEO : BANNER;
+}
+
+function registerUserSync(mediaType, responseObj) {
+ if (mediaType === VIDEO && responseObj.pixels) {
+ userSync.registerSync('iframe', BIDDER_CODE, responseObj.pixels);
+ } else if (utils.deepAccess(responseObj, 'ads.pixels')) {
+ userSync.registerSync('iframe', BIDDER_CODE, responseObj.ads.pixels);
}
+}
- oxParams.auid = utils._map(bids, bid => bid.params.unit).join(',');
- oxParams.dddid = utils._map(bids, bid => bid.transactionId).join(',');
- oxParams.aus = utils._map(bids, bid => {
- return utils.parseSizesInput(bid.sizes).join(',');
- }).join('|');
+function buildOXBannerRequest(bids) {
+ const isInIframe = utils.inIframe();
+
+ let queryParams = {
+ ju: config.getConfig('pageUrl') || utils.getTopWindowUrl(),
+ jr: utils.getTopWindowReferrer(),
+ ch: document.charSet || document.characterSet,
+ res: `${screen.width}x${screen.height}x${screen.colorDepth}`,
+ ifr: isInIframe,
+ tz: new Date().getTimezoneOffset(),
+ tws: getViewportDimensions(isInIframe),
+ be: 1,
+ bc: bids[0].params.bc || `${BIDDER_CONFIG}_${BIDDER_VERSION}`,
+ nocache: new Date().getTime(),
+ auid: utils._map(bids, bid => bid.params.unit).join(','),
+ dddid: utils._map(bids, bid => bid.transactionId).join(','),
+ aus: utils._map(bids, bid => utils.parseSizesInput(bid.sizes).join(',')).join('|')
+ };
let customParamsForAllBids = [];
let hasCustomParam = false;
@@ -289,7 +246,7 @@ function buildOXRequest(bids, oxParams, delDomain) {
}
});
if (hasCustomParam) {
- oxParams.tps = customParamsForAllBids.join(',');
+ queryParams.tps = customParamsForAllBids.join(',');
}
let customFloorsForAllBids = [];
@@ -303,50 +260,81 @@ function buildOXRequest(bids, oxParams, delDomain) {
}
});
if (hasCustomFloor) {
- oxParams.aumfs = customFloorsForAllBids.join(',');
+ queryParams.aumfs = customFloorsForAllBids.join(',');
}
- let url = `//${delDomain}/w/1.0/arj`;
+ let url = `//${bids[0].params.delDomain}/w/1.0/arj`;
return {
method: 'GET',
url: url,
- data: oxParams,
+ data: queryParams,
payload: {'bids': bids, 'startTime': new Date()}
};
}
-function buildOXVideoRequest(bids) {
- return bids.map(function(bid) {
- let url = 'http://' + bid.params.delDomain + '/v/1.0/avjp';
- let oxVideoParams = generateVideoParameters(bid);
- return {
- method: 'GET',
- url: url,
- data: oxVideoParams,
- payload: {'bid': bid, 'startTime': new Date()}
- };
- });
+function buildOXVideoRequest(bid) {
+ let url = `//${bid.params.delDomain}/v/1.0/avjp`;
+ let oxVideoParams = generateVideoParameters(bid);
+ return {
+ method: 'GET',
+ url: url,
+ data: oxVideoParams,
+ payload: {'bid': bid, 'startTime': new Date()}
+ };
}
function generateVideoParameters(bid) {
let oxVideo = bid.params.video;
- let oxVideoParams = { auid: bid.params.unit };
+ let context = utils.deepAccess(bid, 'mediaTypes.video.context');
+ let playerSize = utils.deepAccess(bid, 'mediaTypes.video.playerSize');
+ let oxVideoParams = {auid: bid.params.unit};
+ let width;
+ let height;
+
+ // normalize config for video size
+ if (utils.isArray(bid.sizes) && bid.sizes.length === 2 && !utils.isArray(bid.sizes[0])) {
+ width = parseInt(bid.sizes[0], 10);
+ height = parseInt(bid.sizes[1], 10);
+ } else if (utils.isArray(bid.sizes) && utils.isArray(bid.sizes[0]) && bid.sizes[0].length === 2) {
+ width = parseInt(bid.sizes[0][0], 10);
+ height = parseInt(bid.sizes[0][1], 10);
+ } else if (utils.isArray(playerSize) && playerSize.length === 2) {
+ width = parseInt(playerSize[0], 10);
+ height = parseInt(playerSize[1], 10);
+ }
- Object.keys(oxVideo).forEach(function(key) {
+ Object.keys(oxVideo).forEach(function (key) {
if (key === 'openrtb') {
oxVideoParams[key] = JSON.stringify(oxVideo[key]);
} else {
oxVideoParams[key] = oxVideo[key];
}
});
- oxVideoParams['be'] = 'true';
+
+ // defaults
+ oxVideoParams.be = '1';
+
+ // override prebid config with openx config if available
+ oxVideoParams.vwd = width || oxVideo.vwd;
+ oxVideoParams.vht = height || oxVideo.vht;
+
+ if (context === 'outstream') {
+ oxVideoParams.vos = '101';
+ }
+
return oxVideoParams;
}
function createVideoBidResponses(response, {bid, startTime}) {
+ let shouldSendBoPixel = bid.params.sendBoPixel;
+ if (shouldSendBoPixel === undefined) {
+ // Not specified, default to turned on
+ shouldSendBoPixel = true;
+ }
let bidResponses = [];
if (response !== undefined && response.vastUrl !== '' && response.pub_rev !== '') {
+ let vastQueryParams = parse(response.vastUrl).search || {};
let bidResponse = {};
bidResponse.requestId = bid.bidId;
bidResponse.bidderCode = BIDDER_CODE;
@@ -362,10 +350,54 @@ function createVideoBidResponses(response, {bid, startTime}) {
bidResponse.vastUrl = response.vastUrl;
bidResponse.mediaType = VIDEO;
+ // enrich adunit with vast parameters
+ response.ph = vastQueryParams.ph;
+ response.colo = vastQueryParams.colo;
+ response.ts = vastQueryParams.ts;
+
+ if (shouldSendBoPixel && response.ts) {
+ registerBeacon(VIDEO, response, startTime)
+ }
bidResponses.push(bidResponse);
}
return bidResponses;
}
+function registerBeacon(mediaType, adUnit, startTime) {
+ let bt = config.getConfig('bidderTimeout');
+ let beaconUrl;
+ if (window.PREBID_TIMEOUT) {
+ bt = Math.min(window.PREBID_TIMEOUT, bt);
+ }
+
+ let beaconParams = {
+ bd: +(new Date()) - startTime,
+ bp: adUnit.pub_rev,
+ br: '0', // may be 0, t, or p
+ bs: utils.getTopWindowLocation().hostname,
+ bt: bt,
+ ts: adUnit.ts
+ };
+
+ beaconParams.br = beaconParams.bt < beaconParams.bd ? 't' : 'p';
+
+ if (mediaType === VIDEO) {
+ let url = parse(adUnit.colo);
+ beaconParams.ph = adUnit.ph;
+ beaconUrl = `//${url.hostname}/w/1.0/bo?${buildQueryStringFromParams(beaconParams)}`
+ } else {
+ let recordPixel = utils.deepAccess(adUnit, 'creative.0.tracking.impression');
+ let boBase = recordPixel.match(/([^?]+\/)ri\?/);
+
+ if (boBase && boBase.length > 1) {
+ beaconUrl = `${boBase[1]}bo?${buildQueryStringFromParams(beaconParams)}`;
+ }
+ }
+
+ if (beaconUrl) {
+ userSync.registerSync('image', BIDDER_CODE, beaconUrl);
+ }
+}
+
registerBidder(spec);
diff --git a/test/spec/modules/openxBidAdapter_spec.js b/test/spec/modules/openxBidAdapter_spec.js
index 0b0e8e54ebb..d780cb3d3e9 100644
--- a/test/spec/modules/openxBidAdapter_spec.js
+++ b/test/spec/modules/openxBidAdapter_spec.js
@@ -1,6 +1,8 @@
-import { expect } from 'chai';
-import { spec } from 'modules/openxBidAdapter';
-import { newBidder } from 'src/adapters/bidderFactory';
+import {expect} from 'chai';
+import {spec} from 'modules/openxBidAdapter';
+import {newBidder} from 'src/adapters/bidderFactory';
+import {BANNER, VIDEO} from 'src/mediaTypes';
+import {userSync} from 'src/userSync';
const URLBASE = '/w/1.0/arj';
const URLBASEVIDEO = '/v/1.0/avjp';
@@ -15,76 +17,100 @@ describe('OpenxAdapter', () => {
});
describe('isBidRequestValid', () => {
- const bid = {
- 'bidder': 'openx',
- 'params': {
- 'unit': '12345678',
- 'delDomain': 'test-del-domain'
- },
- 'adUnitCode': 'adunit-code',
- 'mediaType': 'banner',
- 'sizes': [[300, 250], [300, 600]],
- 'bidId': '30b31c1838de1e',
- 'bidderRequestId': '22edbae2733bf6',
- 'auctionId': '1d1a030790a475',
- };
-
- const videoBid = {
- 'bidder': 'openx',
- 'params': {
- 'unit': '12345678',
- 'delDomain': 'test-del-domain',
- 'video': {
- 'be': 'true',
- 'url': 'abc.com',
- 'vtest': '1'
- }
- },
- 'adUnitCode': 'adunit-code',
- 'mediaType': 'video',
- 'sizes': [640, 480],
- 'bidId': '30b31c1838de1e',
- 'bidderRequestId': '22edbae2733bf6',
- 'auctionId': '1d1a030790a475',
- 'transactionId': '4008d88a-8137-410b-aa35-fbfdabcb478e'
- };
-
- it('should return true when required params found for a banner ad', () => {
- expect(spec.isBidRequestValid(bid)).to.equal(true);
- });
+ describe('when request is for a banner ad', () => {
+ const bannerBid = {
+ bidder: 'openx',
+ params: {
+ unit: '12345678',
+ delDomain: 'test-del-domain'
+ },
+ adUnitCode: 'adunit-code',
+ mediaTypes: {banner: {}},
+ sizes: [[300, 250], [300, 600]],
+ bidId: '30b31c1838de1e',
+ bidderRequestId: '22edbae2733bf6',
+ auctionId: '1d1a030790a475'
+ };
- it('should return false when required params are not passed for a banner ad', () => {
- let bid = Object.assign({}, bid);
- delete bid.params;
- bid.params = {'unit': '12345678'};
- expect(spec.isBidRequestValid(bid)).to.equal(false);
+ it('should return true when required params found', () => {
+ expect(spec.isBidRequestValid(bannerBid)).to.equal(true);
+ });
+
+ it('should return false when there is no delivery domain', () => {
+ let bid = Object.assign({}, bannerBid);
+ bid.params = {'unit': '12345678'};
+ expect(spec.isBidRequestValid(bid)).to.equal(false);
+ });
+
+ it('should return false when there is no ad unit id ', () => {
+ let bid = Object.assign({}, bannerBid);
+ bid.params = {delDomain: 'test-del-domain'};
+ expect(spec.isBidRequestValid(bid)).to.equal(false);
+ });
});
- it('should return true when required params found for a video ad', () => {
- expect(spec.isBidRequestValid(videoBid)).to.equal(true);
- });
+ describe('when request is for a video ad', function () {
+ const videoBidWithMediaTypes = {
+ bidder: 'openx',
+ params: {
+ unit: '12345678',
+ delDomain: 'test-del-domain',
+ video: {
+ be: 'true',
+ url: 'abc.com'
+ }
+ },
+ adUnitCode: 'adunit-code',
+ mediaTypes: {video: {}},
+ sizes: [640, 480],
+ bidId: '30b31c1838de1e',
+ bidderRequestId: '22edbae2733bf6',
+ auctionId: '1d1a030790a475',
+ transactionId: '4008d88a-8137-410b-aa35-fbfdabcb478e'
+ };
- it('should return false when required params are not passed for a video ad', () => {
- let videoBid = Object.assign({}, videoBid);
- delete videoBid.params;
- videoBid.params = {};
- expect(spec.isBidRequestValid(videoBid)).to.equal(false);
+ const videoBidWithMediaType = {
+ 'bidder': 'openx',
+ 'params': {
+ 'unit': '12345678',
+ 'delDomain': 'test-del-domain',
+ 'video': {
+ 'be': 'true',
+ 'url': 'abc.com'
+ }
+ },
+ 'adUnitCode': 'adunit-code',
+ 'mediaTypes': 'video',
+ 'sizes': [640, 480],
+ 'bidId': '30b31c1838de1e',
+ 'bidderRequestId': '22edbae2733bf6',
+ 'auctionId': '1d1a030790a475',
+ 'transactionId': '4008d88a-8137-410b-aa35-fbfdabcb478e'
+ };
+ it('should return true when required params found', () => {
+ expect(spec.isBidRequestValid(videoBidWithMediaTypes)).to.equal(true);
+ });
+
+ it('should return false when required params are not passed', () => {
+ let videoBidWithMediaTypes = Object.assign({}, videoBidWithMediaTypes);
+ videoBidWithMediaTypes.params = {};
+ expect(spec.isBidRequestValid(videoBidWithMediaTypes)).to.equal(false);
+ });
+
+ it('should return true when required params found', () => {
+ expect(spec.isBidRequestValid(videoBidWithMediaType)).to.equal(true);
+ });
+
+ it('should return false when required params are not passed', () => {
+ let videoBidWithMediaType = Object.assign({}, videoBidWithMediaType);
+ delete videoBidWithMediaType.params;
+ videoBidWithMediaType.params = {};
+ expect(spec.isBidRequestValid(videoBidWithMediaType)).to.equal(false);
+ });
});
});
describe('buildRequests for banner ads', () => {
- const bidRequestsWithNoMediaType = [{
- 'bidder': 'openx',
- 'params': {
- 'unit': '12345678',
- 'delDomain': 'test-del-domain'
- },
- 'adUnitCode': 'adunit-code',
- 'sizes': [[300, 250], [300, 600]],
- 'bidId': '30b31c1838de1e',
- 'bidderRequestId': '22edbae2733bf6',
- 'auctionId': '1d1a030790a475',
- }];
const bidRequestsWithMediaType = [{
'bidder': 'openx',
'params': {
@@ -96,7 +122,7 @@ describe('OpenxAdapter', () => {
'sizes': [[300, 250], [300, 600]],
'bidId': '30b31c1838de1e',
'bidderRequestId': '22edbae2733bf6',
- 'auctionId': '1d1a030790a475',
+ 'auctionId': '1d1a030790a475'
}];
const bidRequestsWithMediaTypes = [{
'bidder': 'openx',
@@ -105,39 +131,55 @@ describe('OpenxAdapter', () => {
'delDomain': 'test-del-domain'
},
'adUnitCode': 'adunit-code',
- 'mediaTypes': {banner: {}},
- 'sizes': [[300, 250], [300, 600]],
+ mediaTypes: {
+ banner: {
+ sizes: [[300, 250], [300, 600]]
+ }
+ },
'bidId': '30b31c1838de1e',
'bidderRequestId': '22edbae2733bf6',
- 'auctionId': '1d1a030790a475',
+ 'auctionId': '1d1a030790a475'
}];
- it('should send bid request to openx url via GET, even without mediaType specified', () => {
- const request = spec.buildRequests(bidRequestsWithNoMediaType);
- expect(request[0].url).to.equal('//' + bidRequestsWithNoMediaType[0].params.delDomain + URLBASE);
- expect(request[0].method).to.equal('GET');
- });
-
it('should send bid request to openx url via GET, with mediaType specified as banner', () => {
const request = spec.buildRequests(bidRequestsWithMediaType);
- expect(request[0].url).to.equal('//' + bidRequestsWithNoMediaType[0].params.delDomain + URLBASE);
+ expect(request[0].url).to.equal('//' + bidRequestsWithMediaType[0].params.delDomain + URLBASE);
expect(request[0].method).to.equal('GET');
});
it('should send bid request to openx url via GET, with mediaTypes specified with banner type', () => {
const request = spec.buildRequests(bidRequestsWithMediaTypes);
- expect(request[0].url).to.equal('//' + bidRequestsWithNoMediaType[0].params.delDomain + URLBASE);
+ expect(request[0].url).to.equal('//' + bidRequestsWithMediaTypes[0].params.delDomain + URLBASE);
expect(request[0].method).to.equal('GET');
});
- it('should have the correct parameters', () => {
- const request = spec.buildRequests(bidRequestsWithNoMediaType);
- const dataParams = request[0].data;
-
- expect(dataParams.auid).to.exist;
- expect(dataParams.auid).to.equal('12345678');
- expect(dataParams.aus).to.exist;
- expect(dataParams.aus).to.equal('300x250,300x600');
+ describe('when there is a legacy request with no media type', function () {
+ const deprecatedBidRequestsFormatWithNoMediaType = [{
+ 'bidder': 'openx',
+ 'params': {
+ 'unit': '12345678',
+ 'delDomain': 'test-del-domain'
+ },
+ 'adUnitCode': 'adunit-code',
+ 'sizes': [[300, 250], [300, 600]],
+ 'bidId': '30b31c1838de1e',
+ 'bidderRequestId': '22edbae2733bf6',
+ 'auctionId': '1d1a030790a475'
+ }];
+
+ let requestData;
+
+ beforeEach(function () {
+ requestData = spec.buildRequests(deprecatedBidRequestsFormatWithNoMediaType)[0].data;
+ });
+
+ it('should have an ad unit id', () => {
+ expect(requestData.auid).to.equal('12345678');
+ });
+
+ it('should have ad sizes', function () {
+ expect(requestData.aus).to.equal('300x250,300x600');
+ });
});
it('should send out custom params on bids that have customParams specified', () => {
@@ -201,16 +243,20 @@ describe('OpenxAdapter', () => {
describe('buildRequests for video', () => {
const bidRequestsWithMediaTypes = [{
'bidder': 'openx',
- 'mediaTypes': {video: {}},
+ 'mediaTypes': {
+ video: {
+ playerSize: [640, 480]
+ }
+ },
'params': {
'unit': '12345678',
'delDomain': 'test-del-domain',
'video': {
- 'url': 'abc.com',
+ 'url': 'abc.com'
}
},
'adUnitCode': 'adunit-code',
- 'sizes': [640, 480],
+
'bidId': '30b31c1838de1e',
'bidderRequestId': '22edbae2733bf6',
'auctionId': '1d1a030790a475',
@@ -224,7 +270,7 @@ describe('OpenxAdapter', () => {
'unit': '12345678',
'delDomain': 'test-del-domain',
'video': {
- 'url': 'abc.com',
+ 'url': 'abc.com'
}
},
'adUnitCode': 'adunit-code',
@@ -237,13 +283,13 @@ describe('OpenxAdapter', () => {
it('should send bid request to openx url via GET, with mediaType as video', () => {
const request = spec.buildRequests(bidRequestsWithMediaType);
- expect(request[0].url).to.equal('http://' + bidRequestsWithMediaType[0].params.delDomain + URLBASEVIDEO);
+ expect(request[0].url).to.equal('//' + bidRequestsWithMediaType[0].params.delDomain + URLBASEVIDEO);
expect(request[0].method).to.equal('GET');
});
it('should send bid request to openx url via GET, with mediaTypes having video parameter', () => {
const request = spec.buildRequests(bidRequestsWithMediaTypes);
- expect(request[0].url).to.equal('http://' + bidRequestsWithMediaTypes[0].params.delDomain + URLBASEVIDEO);
+ expect(request[0].url).to.equal('//' + bidRequestsWithMediaTypes[0].params.delDomain + URLBASEVIDEO);
expect(request[0].method).to.equal('GET');
});
@@ -251,14 +297,22 @@ describe('OpenxAdapter', () => {
const request = spec.buildRequests(bidRequestsWithMediaTypes);
const dataParams = request[0].data;
- expect(dataParams.auid).to.exist;
expect(dataParams.auid).to.equal('12345678');
- expect(dataParams.url).to.exist;
expect(dataParams.url).to.equal('abc.com');
+ expect(dataParams.vht).to.equal(480);
+ expect(dataParams.vwd).to.equal(640);
});
});
describe('interpretResponse for banner ads', () => {
+ beforeEach(() => {
+ sinon.spy(userSync, 'registerSync');
+ });
+
+ afterEach(function () {
+ userSync.registerSync.restore();
+ });
+
const bids = [{
'bidder': 'openx',
'params': {
@@ -270,49 +324,51 @@ describe('OpenxAdapter', () => {
'sizes': [[300, 250], [300, 600]],
'bidId': '30b31c1838de1e',
'bidderRequestId': '22edbae2733bf6',
- 'auctionId': '1d1a030790a475',
+ 'auctionId': '1d1a030790a475'
}];
const bidRequest = {
method: 'GET',
- url: 'url',
+ url: '//openx-d.openx.net/v/1.0/arj',
data: {},
payload: {'bids': bids, 'startTime': new Date()}
};
+
const bidResponse = {
'ads':
- {
- 'version': 1,
- 'count': 1,
- 'pixels': 'http://testpixels.net',
- 'ad': [
- {
- 'adunitid': 12345678,
- 'adid': 5678,
- 'type': 'html',
- 'html': 'test_html',
- 'framed': 1,
- 'is_fallback': 0,
- 'ts': 'ts',
- 'cpipc': 1000,
- 'pub_rev': '1000',
- 'adv_id': 'adv_id',
- 'brand_id': '',
- 'creative': [
- {
- 'width': '300',
- 'height': '250',
- 'target': '_blank',
- 'mime': 'text/html',
- 'media': 'test_media',
- 'tracking': {
- 'impression': 'test_impression',
- 'inview': 'test_inview',
- 'click': 'test_click'
+ {
+ 'version': 1,
+ 'count': 1,
+ 'pixels': 'http://testpixels.net',
+ 'ad': [
+ {
+ 'adunitid': 12345678,
+ 'adid': 5678,
+ 'type': 'html',
+ 'html': 'test_html',
+ 'framed': 1,
+ 'is_fallback': 0,
+ 'ts': 'ts',
+ 'cpipc': 1000,
+ 'pub_rev': '1000',
+ 'adv_id': 'adv_id',
+ 'brand_id': '',
+ 'creative': [
+ {
+ 'width': '300',
+ 'height': '250',
+ 'target': '_blank',
+ 'mime': 'text/html',
+ 'media': 'test_media',
+ 'tracking': {
+ 'impression': 'http://openx-d.openx.net/v/1.0/ri?ts=ts',
+ 'inview': 'test_inview',
+ 'click': 'test_click'
+ }
}
- }
- ]
- }]
- }
+ ]
+ }]
+ }
+
};
it('should return correct bid response', () => {
const expectedResponse = [
@@ -337,28 +393,63 @@ describe('OpenxAdapter', () => {
it('handles nobid responses', () => {
const bidResponse = {
'ads':
- {
- 'version': 1,
- 'count': 1,
- 'pixels': 'http://testpixels.net',
- 'ad': []
- }
+ {
+ 'version': 1,
+ 'count': 1,
+ 'pixels': 'http://testpixels.net',
+ 'ad': []
+ }
};
const result = spec.interpretResponse({body: bidResponse}, bidRequest);
expect(result.length).to.equal(0);
});
+
+ it('should register a user sync', () => {
+ spec.interpretResponse({body: bidResponse}, bidRequest);
+ sinon.assert.calledWith(userSync.registerSync, 'iframe', 'openx', 'http://testpixels.net');
+ });
+
+ it('should register a beacon', () => {
+ spec.interpretResponse({body: bidResponse}, bidRequest);
+ sinon.assert.calledWith(userSync.registerSync, 'image', 'openx', sinon.match(/\/\/openx-d\.openx\.net.*\/bo\?.*ts=ts/));
+ });
});
describe('interpretResponse for video ads', () => {
- const bids = [{
+ beforeEach(() => {
+ sinon.spy(userSync, 'registerSync');
+ });
+
+ afterEach(function () {
+ userSync.registerSync.restore();
+ });
+
+ const bidsWithMediaTypes = [{
+ 'bidder': 'openx',
+ 'mediaTypes': {video: {}},
+ 'params': {
+ 'unit': '12345678',
+ 'delDomain': 'test-del-domain',
+ 'video': {
+ 'url': 'abc.com'
+ }
+ },
+ 'adUnitCode': 'adunit-code',
+ 'sizes': [640, 480],
+ 'bidId': '30b31c1838de1e',
+ 'bidderRequestId': '22edbae2733bf6',
+ 'auctionId': '1d1a030790a475',
+ 'transactionId': '4008d88a-8137-410b-aa35-fbfdabcb478e'
+ }];
+ const bidsWithMediaType = [{
'bidder': 'openx',
'mediaType': 'video',
'params': {
'unit': '12345678',
'delDomain': 'test-del-domain',
'video': {
- 'url': 'abc.com',
+ 'url': 'abc.com'
}
},
'adUnitCode': 'adunit-code',
@@ -368,22 +459,28 @@ describe('OpenxAdapter', () => {
'auctionId': '1d1a030790a475',
'transactionId': '4008d88a-8137-410b-aa35-fbfdabcb478e'
}];
- const bidRequest = {
+ const bidRequestsWithMediaTypes = {
method: 'GET',
- url: 'url',
+ url: '//openx-d.openx.net/v/1.0/avjp',
data: {},
- payload: {'bid': bids[0], 'startTime': new Date()}
+ payload: {'bid': bidsWithMediaTypes[0], 'startTime': new Date()}
+ };
+ const bidRequestsWithMediaType = {
+ method: 'GET',
+ url: '//openx-d.openx.net/v/1.0/avjp',
+ data: {},
+ payload: {'bid': bidsWithMediaType[0], 'startTime': new Date()}
};
const bidResponse = {
'pub_rev': '1',
'width': '640',
'height': '480',
'adid': '5678',
- 'vastUrl': 'http://testvast.com',
+ 'vastUrl': 'http://testvast.com/vastpath?colo=http://test-colo.com&ph=test-ph&ts=test-ts',
'pixels': 'http://testpixels.net'
};
- it('should return correct bid response', () => {
+ it('should return correct bid response with MediaTypes', () => {
const expectedResponse = [
{
'requestId': '30b31c1838de1e',
@@ -400,14 +497,53 @@ describe('OpenxAdapter', () => {
}
];
- const result = spec.interpretResponse({body: bidResponse}, bidRequest);
+ const result = spec.interpretResponse({body: bidResponse}, bidRequestsWithMediaTypes);
expect(JSON.stringify(Object.keys(result[0]).sort())).to.eql(JSON.stringify(Object.keys(expectedResponse[0]).sort()));
});
- it('handles nobid responses', () => {
+ it('should return correct bid response with MediaType', () => {
+ const expectedResponse = [
+ {
+ 'requestId': '30b31c1838de1e',
+ 'bidderCode': 'openx',
+ 'cpm': 1,
+ 'width': '640',
+ 'height': '480',
+ 'mediaType': 'video',
+ 'creativeId': '5678',
+ 'vastUrl': 'http://testvast.com',
+ 'ttl': 300,
+ 'netRevenue': true,
+ 'currency': 'USD'
+ }
+ ];
+
+ const result = spec.interpretResponse({body: bidResponse}, bidRequestsWithMediaType);
+ expect(JSON.stringify(Object.keys(result[0]).sort())).to.eql(JSON.stringify(Object.keys(expectedResponse[0]).sort()));
+ });
+
+ it('should handle nobid responses for bidRequests with MediaTypes', () => {
const bidResponse = {'vastUrl': '', 'pub_rev': '', 'width': '', 'height': '', 'adid': '', 'pixels': ''};
- const result = spec.interpretResponse({body: bidResponse}, bidRequest);
+ const result = spec.interpretResponse({body: bidResponse}, bidRequestsWithMediaTypes);
expect(result.length).to.equal(0);
});
+
+ it('should handle nobid responses for bidRequests with MediaType', () => {
+ const bidResponse = {'vastUrl': '', 'pub_rev': '', 'width': '', 'height': '', 'adid': '', 'pixels': ''};
+ const result = spec.interpretResponse({body: bidResponse}, bidRequestsWithMediaType);
+ expect(result.length).to.equal(0);
+ });
+
+ it('should register a user sync', () => {
+ spec.interpretResponse({body: bidResponse}, bidRequestsWithMediaTypes);
+ sinon.assert.calledWith(userSync.registerSync, 'iframe', 'openx', 'http://testpixels.net');
+ });
+
+ it('should register a beacon', () => {
+ spec.interpretResponse({body: bidResponse}, bidRequestsWithMediaTypes);
+ sinon.assert.calledWith(userSync.registerSync, 'image', 'openx', sinon.match(/^\/\/test-colo\.com/))
+ sinon.assert.calledWith(userSync.registerSync, 'image', 'openx', sinon.match(/ph=test-ph/));
+ sinon.assert.calledWith(userSync.registerSync, 'image', 'openx', sinon.match(/ts=test-ts/));
+ });
});
});
From 95bd54d8bb083b2b78e8f9e549a32281fd020886 Mon Sep 17 00:00:00 2001
From: Stephen Johnston
Date: Thu, 12 Apr 2018 13:41:18 -0400
Subject: [PATCH 050/171] Update pubwiseAnalyticsAdapter.js (#2379)
---
modules/pubwiseAnalyticsAdapter.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/modules/pubwiseAnalyticsAdapter.js b/modules/pubwiseAnalyticsAdapter.js
index 69227cd154a..33c8483d16b 100644
--- a/modules/pubwiseAnalyticsAdapter.js
+++ b/modules/pubwiseAnalyticsAdapter.js
@@ -88,9 +88,9 @@ function sendEvent(eventType, data) {
debug: configOptions.debug ? 1 : 0,
};
+ dataBag = enrichWithMetrics(dataBag);
// for certain events, track additional info
if (eventType == CONSTANTS.EVENTS.AUCTION_INIT) {
- dataBag = enrichWithMetrics(dataBag);
dataBag = enrichWithUTM(dataBag);
}
From 9303d578aa33246043ad41c11d67c81c88bdb527 Mon Sep 17 00:00:00 2001
From: Aparna Rao-Hegde
Date: Thu, 12 Apr 2018 15:38:42 -0400
Subject: [PATCH 051/171] 33Across: Complete user sync implementation (#2334)
* Adding 33across adapter
* Updated per code review from Prebid. See https://github.com/prebid/Prebid.js/pull/1805#pullrequestreview-75218582
* Added support for test bid and crid.
* Removed ability to set test url via params
* Incorporated changes requested in https://github.com/prebid/Prebid.js/issues/1855 to fix usage of deprecated method
* Reverted hack to karma conf maker to make unit tests pass with --file option
* Enabling POST withCredentials to send userSync cookies
---
modules/33acrossBidAdapter.js | 2 +-
test/spec/modules/33acrossBidAdapter_spec.js | 6 +++---
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/modules/33acrossBidAdapter.js b/modules/33acrossBidAdapter.js
index 93fd685ae15..15792240fdd 100644
--- a/modules/33acrossBidAdapter.js
+++ b/modules/33acrossBidAdapter.js
@@ -55,7 +55,7 @@ function _createServerRequest(bidRequest) {
*/
const options = {
contentType: 'application/json',
- withCredentials: false
+ withCredentials: true
};
// Allow the ability to configure the HB endpoint for testing purposes.
const ttxSettings = config.getConfig('ttxSettings');
diff --git a/test/spec/modules/33acrossBidAdapter_spec.js b/test/spec/modules/33acrossBidAdapter_spec.js
index 9c318e4bdd5..ff701d265a7 100644
--- a/test/spec/modules/33acrossBidAdapter_spec.js
+++ b/test/spec/modules/33acrossBidAdapter_spec.js
@@ -146,7 +146,7 @@ describe('33acrossBidAdapter:', function () {
'data': JSON.stringify(ttxRequest),
'options': {
'contentType': 'application/json',
- 'withCredentials': false
+ 'withCredentials': true
}
}
const builtServerRequests = buildRequests(this.bidRequests);
@@ -194,7 +194,7 @@ describe('33acrossBidAdapter:', function () {
data: JSON.stringify(ttxRequest),
options: {
contentType: 'application/json',
- withCredentials: false
+ withCredentials: true
}
};
@@ -244,7 +244,7 @@ describe('33acrossBidAdapter:', function () {
data: JSON.stringify(ttxRequest),
options: {
contentType: 'application/json',
- withCredentials: false
+ withCredentials: true
}
};
From c8055074e4b0237ea67ad88bea6986031e0efecf Mon Sep 17 00:00:00 2001
From: Yuriy Tyukhnin
Date: Fri, 13 Apr 2018 16:04:16 +0200
Subject: [PATCH 052/171] Smart: New parameters for in-app ads (#2325)
* Fix bug when multi bids
* New fields: bundleId, uid, appName
* Uid fix according to its type
* Params names changed for consistency
* adapter docs update
---
modules/smartadserverBidAdapter.js | 3 ++
modules/smartadserverBidAdapter.md | 5 +-
.../modules/smartadserverBidAdapter_spec.js | 47 ++++++++++++++++---
3 files changed, 48 insertions(+), 7 deletions(-)
diff --git a/modules/smartadserverBidAdapter.js b/modules/smartadserverBidAdapter.js
index d589dc74024..02ebbbe06ae 100644
--- a/modules/smartadserverBidAdapter.js
+++ b/modules/smartadserverBidAdapter.js
@@ -39,6 +39,9 @@ export const spec = {
currencyCode: config.getConfig('currency.adServerCurrency'),
bidfloor: bid.params.bidfloor || 0.0,
targeting: bid.params.target && bid.params.target != '' ? bid.params.target : undefined,
+ buid: bid.params.buId && bid.params.buId != '' ? bid.params.buId : undefined,
+ appname: bid.params.appName && bid.params.appName != '' ? bid.params.appName : undefined,
+ ckid: bid.params.ckId || 0,
tagId: bid.adUnitCode,
sizes: bid.sizes.map(size => ({
w: size[0],
diff --git a/modules/smartadserverBidAdapter.md b/modules/smartadserverBidAdapter.md
index f904aa40b3a..679bead441d 100644
--- a/modules/smartadserverBidAdapter.md
+++ b/modules/smartadserverBidAdapter.md
@@ -26,7 +26,10 @@ Please reach out to your Technical account manager for more information.
domain: 'http://prg.smartadserver.com',
siteId: 207435,
pageId: 896536,
- formatId: 62913
+ formatId: 62913,
+ buId: "com.smartadserver.android.dashboard", // optional
+ ckId: 1234567890123456789, // optional
+ appName: "Smart AdServer Preview" // optional
}
}
]
diff --git a/test/spec/modules/smartadserverBidAdapter_spec.js b/test/spec/modules/smartadserverBidAdapter_spec.js
index 201c5dd5cc9..82c2098f234 100644
--- a/test/spec/modules/smartadserverBidAdapter_spec.js
+++ b/test/spec/modules/smartadserverBidAdapter_spec.js
@@ -12,6 +12,7 @@ import {
} from 'src/config';
import * as utils from 'src/utils';
+// Default params with optional ones
describe('Smart bid adapter tests', () => {
var DEFAULT_PARAMS = [{
adUnitCode: 'sas_42',
@@ -27,12 +28,16 @@ describe('Smart bid adapter tests', () => {
pageId: '5678',
formatId: '90',
target: 'test=prebid',
- bidfloor: 0.420
+ bidfloor: 0.420,
+ buId: '7569',
+ appName: 'Mozilla',
+ ckId: 42
},
requestId: 'efgh5678',
transactionId: 'zsfgzzg'
}];
+ // Default params without optional ones
var DEFAULT_PARAMS_WO_OPTIONAL = [{
adUnitCode: 'sas_42',
bidId: 'abcd1234',
@@ -89,6 +94,9 @@ describe('Smart bid adapter tests', () => {
expect(requestContent.sizes[1]).to.have.property('h').and.to.equal(200);
expect(requestContent).to.have.property('pageDomain').and.to.equal(utils.getTopWindowUrl());
expect(requestContent).to.have.property('transactionId').and.to.not.equal(null).and.to.not.be.undefined;
+ expect(requestContent).to.have.property('buid').and.to.equal('7569');
+ expect(requestContent).to.have.property('appname').and.to.equal('Mozilla');
+ expect(requestContent).to.have.property('ckid').and.to.equal(42);
});
it('Verify parse response', () => {
@@ -129,24 +137,51 @@ describe('Smart bid adapter tests', () => {
})).to.equal(false);
expect(spec.isBidRequestValid({
params: {
- pageid: 123
+ pageId: 123
}
})).to.equal(false);
expect(spec.isBidRequestValid({
params: {
- siteid: 123
+ siteId: 123
}
})).to.equal(false);
expect(spec.isBidRequestValid({
params: {
- formatid: 123,
- pageid: 234
+ formatId: 123,
+ pageId: 234
}
})).to.equal(false);
expect(spec.isBidRequestValid({
params: {
domain: 'www.test.com',
- pageid: 234
+ pageId: 234
+ }
+ })).to.equal(false);
+ expect(spec.isBidRequestValid({
+ params: {
+ domain: 'www.test.com',
+ formatId: 123,
+ siteId: 456,
+ pageId: 234
+ }
+ })).to.equal(true);
+ expect(spec.isBidRequestValid({
+ params: {
+ domain: 'www.test.com',
+ formatId: 123,
+ siteId: 456,
+ pageId: 234,
+ buId: 789,
+ appName: 'Mozilla'
+ }
+ })).to.equal(true);
+ expect(spec.isBidRequestValid({
+ params: {
+ domain: 'www.test.com',
+ formatId: 123,
+ pageId: 234,
+ buId: 789,
+ appName: 'Mozilla'
}
})).to.equal(false);
});
From f5900ff669c75ab11379b1c1991e052ab57b498c Mon Sep 17 00:00:00 2001
From: SARA-HB <36306795+SARA-HB@users.noreply.github.com>
Date: Fri, 13 Apr 2018 18:29:57 +0300
Subject: [PATCH 053/171] Add SARA-HB Bid Adapter (#2172)
* Add SARA-HB Bid Adapter
* Update SARA-HB bid adapter
---
modules/saraBidAdapter.js | 141 +++++++++++
modules/saraBidAdapter.md | 40 ++++
test/spec/modules/saraBidAdapter_spec.js | 293 +++++++++++++++++++++++
3 files changed, 474 insertions(+)
create mode 100644 modules/saraBidAdapter.js
create mode 100755 modules/saraBidAdapter.md
create mode 100644 test/spec/modules/saraBidAdapter_spec.js
diff --git a/modules/saraBidAdapter.js b/modules/saraBidAdapter.js
new file mode 100644
index 00000000000..233fba65cc7
--- /dev/null
+++ b/modules/saraBidAdapter.js
@@ -0,0 +1,141 @@
+import * as utils from 'src/utils';
+import {registerBidder} from 'src/adapters/bidderFactory';
+const BIDDER_CODE = 'sara';
+const ENDPOINT_URL = '//ad.sara.media/hb';
+const ADAPTER_SYNC_URL = '//ad.sara.media/push_sync';
+const TIME_TO_LIVE = 360;
+const LOG_ERROR_MESS = {
+ noAuid: 'Bid from response has no auid parameter - ',
+ noAdm: 'Bid from response has no adm parameter - ',
+ noBid: 'Array of bid objects is empty',
+ noPlacementCode: 'Can\'t find in requested bids the bid with auid - ',
+ emptyUids: 'Uids should be not empty',
+ emptySeatbid: 'Seatbid array from response has empty item',
+ emptyResponse: 'Response is empty',
+ hasEmptySeatbidArray: 'Response has empty seatbid array',
+ hasNoArrayOfBids: 'Seatbid from response has no array of bid objects - '
+};
+
+/**
+ * Dentsu Aegis Network Marketplace Bid Adapter.
+ * Contact: niels@baarsma.net
+ *
+ */
+export const spec = {
+ code: BIDDER_CODE,
+
+ isBidRequestValid: function(bid) {
+ return !!bid.params.uid;
+ },
+
+ buildRequests: function(validBidRequests) {
+ const auids = [];
+ const bidsMap = {};
+ const bids = validBidRequests || [];
+ let priceType = 'net';
+ let reqId;
+
+ bids.forEach(bid => {
+ if (bid.params.priceType === 'gross') {
+ priceType = 'gross';
+ }
+ if (!bidsMap[bid.params.uid]) {
+ bidsMap[bid.params.uid] = [bid];
+ auids.push(bid.params.uid);
+ } else {
+ bidsMap[bid.params.uid].push(bid);
+ }
+ reqId = bid.bidderRequestId;
+ });
+
+ const payload = {
+ u: utils.getTopWindowUrl(),
+ pt: priceType,
+ auids: auids.join(','),
+ r: reqId,
+ };
+
+ return {
+ method: 'GET',
+ url: ENDPOINT_URL,
+ data: utils.parseQueryStringParameters(payload).replace(/\&$/, ''),
+ bidsMap: bidsMap,
+ };
+ },
+
+ interpretResponse: function(serverResponse, bidRequest) {
+ serverResponse = serverResponse && serverResponse.body
+ const bidResponses = [];
+ const bidsMap = bidRequest.bidsMap;
+ const priceType = bidRequest.data.pt;
+
+ let errorMessage;
+
+ if (!serverResponse) errorMessage = LOG_ERROR_MESS.emptyResponse;
+ else if (serverResponse.seatbid && !serverResponse.seatbid.length) {
+ errorMessage = LOG_ERROR_MESS.hasEmptySeatbidArray;
+ }
+
+ if (!errorMessage && serverResponse.seatbid) {
+ serverResponse.seatbid.forEach(respItem => {
+ _addBidResponse(_getBidFromResponse(respItem), bidsMap, priceType, bidResponses);
+ });
+ }
+ if (errorMessage) utils.logError(errorMessage);
+ return bidResponses;
+ },
+
+ getUserSyncs: function(syncOptions) {
+ if (syncOptions.pixelEnabled) {
+ return [{
+ type: 'image',
+ url: ADAPTER_SYNC_URL
+ }];
+ }
+ }
+}
+
+function _getBidFromResponse(respItem) {
+ if (!respItem) {
+ utils.logError(LOG_ERROR_MESS.emptySeatbid);
+ } else if (!respItem.bid) {
+ utils.logError(LOG_ERROR_MESS.hasNoArrayOfBids + JSON.stringify(respItem));
+ } else if (!respItem.bid[0]) {
+ utils.logError(LOG_ERROR_MESS.noBid);
+ }
+ return respItem && respItem.bid && respItem.bid[0];
+}
+
+function _addBidResponse(serverBid, bidsMap, priceType, bidResponses) {
+ if (!serverBid) return;
+ let errorMessage;
+ if (!serverBid.auid) errorMessage = LOG_ERROR_MESS.noAuid + JSON.stringify(serverBid);
+ if (!serverBid.adm) errorMessage = LOG_ERROR_MESS.noAdm + JSON.stringify(serverBid);
+ else {
+ const awaitingBids = bidsMap[serverBid.auid];
+ if (awaitingBids) {
+ awaitingBids.forEach(bid => {
+ const bidResponse = {
+ requestId: bid.bidId, // bid.bidderRequestId,
+ cpm: serverBid.price,
+ width: serverBid.w,
+ height: serverBid.h,
+ creativeId: serverBid.auid, // bid.bidId,
+ currency: 'USD',
+ netRevenue: priceType !== 'gross',
+ ttl: TIME_TO_LIVE,
+ ad: serverBid.adm,
+ dealId: serverBid.dealid
+ };
+ bidResponses.push(bidResponse);
+ });
+ } else {
+ errorMessage = LOG_ERROR_MESS.noPlacementCode + serverBid.auid;
+ }
+ }
+ if (errorMessage) {
+ utils.logError(errorMessage);
+ }
+}
+
+registerBidder(spec);
diff --git a/modules/saraBidAdapter.md b/modules/saraBidAdapter.md
new file mode 100755
index 00000000000..65572528181
--- /dev/null
+++ b/modules/saraBidAdapter.md
@@ -0,0 +1,40 @@
+# Overview
+
+Module Name: Sara Bidder Adapter
+Module Type: Bidder Adapter
+Maintainer: github@sara.media
+
+# Description
+
+Module that connects to Sara demand source to fetch bids.
+
+# Test Parameters
+```
+ var adUnits = [
+ {
+ code: 'test-div',
+ sizes: [[300, 250]],
+ bids: [
+ {
+ bidder: "sara",
+ params: {
+ uid: '5',
+ priceType: 'gross' // by default is 'net'
+ }
+ }
+ ]
+ },{
+ code: 'test-div',
+ sizes: [[728, 90]],
+ bids: [
+ {
+ bidder: "sara",
+ params: {
+ uid: 6,
+ priceType: 'gross'
+ }
+ }
+ ]
+ }
+ ];
+```
\ No newline at end of file
diff --git a/test/spec/modules/saraBidAdapter_spec.js b/test/spec/modules/saraBidAdapter_spec.js
new file mode 100644
index 00000000000..1b5d75170ae
--- /dev/null
+++ b/test/spec/modules/saraBidAdapter_spec.js
@@ -0,0 +1,293 @@
+import { expect } from 'chai';
+import { spec } from 'modules/saraBidAdapter';
+import { newBidder } from 'src/adapters/bidderFactory';
+
+describe('Sara Adapter', function () {
+ const adapter = newBidder(spec);
+
+ describe('inherited functions', () => {
+ it('exists and is a function', () => {
+ expect(adapter.callBids).to.exist.and.to.be.a('function');
+ });
+ });
+
+ describe('isBidRequestValid', () => {
+ let bid = {
+ 'bidder': 'sara',
+ 'params': {
+ 'uid': '4'
+ },
+ 'adUnitCode': 'adunit-code',
+ 'sizes': [[300, 250], [300, 600]],
+ 'bidId': '30b31c1838de1e',
+ 'bidderRequestId': '22edbae2733bf6',
+ 'auctionId': '1d1a030790a475',
+ };
+
+ it('should return true when required params found', () => {
+ expect(spec.isBidRequestValid(bid)).to.equal(true);
+ });
+
+ it('should return false when required params are not passed', () => {
+ let bid = Object.assign({}, bid);
+ delete bid.params;
+ bid.params = {
+ 'uid': 0
+ };
+ expect(spec.isBidRequestValid(bid)).to.equal(false);
+ });
+ });
+
+ describe('buildRequests', () => {
+ function parseRequest(url) {
+ const res = {};
+ url.split('&').forEach((it) => {
+ const couple = it.split('=');
+ res[couple[0]] = decodeURIComponent(couple[1]);
+ });
+ return res;
+ }
+ let bidRequests = [
+ {
+ 'bidder': 'sara',
+ 'params': {
+ 'uid': '5'
+ },
+ 'adUnitCode': 'adunit-code-1',
+ 'sizes': [[300, 250], [300, 600]],
+ 'bidId': '30b31c1838de1e',
+ 'bidderRequestId': '22edbae2733bf6',
+ 'auctionId': '1d1a030790a475',
+ },
+ {
+ 'bidder': 'sara',
+ 'params': {
+ 'uid': '5'
+ },
+ 'adUnitCode': 'adunit-code-2',
+ 'sizes': [[728, 90]],
+ 'bidId': '3150ccb55da321',
+ 'bidderRequestId': '22edbae2733bf6',
+ 'auctionId': '1d1a030790a475',
+ },
+ {
+ 'bidder': 'sara',
+ 'params': {
+ 'uid': '6'
+ },
+ 'adUnitCode': 'adunit-code-1',
+ 'sizes': [[300, 250], [300, 600]],
+ 'bidId': '42dbe3a7168a6a',
+ 'bidderRequestId': '22edbae2733bf6',
+ 'auctionId': '1d1a030790a475',
+ }
+ ];
+
+ it('should attach valid params to the tag', () => {
+ const request = spec.buildRequests([bidRequests[0]]);
+ expect(request.data).to.be.an('string');
+ const payload = parseRequest(request.data);
+ expect(payload).to.have.property('u').that.is.a('string');
+ expect(payload).to.have.property('pt', 'net');
+ expect(payload).to.have.property('auids', '5');
+ });
+
+ it('auids must not be duplicated', () => {
+ const request = spec.buildRequests(bidRequests);
+ expect(request.data).to.be.an('string');
+ const payload = parseRequest(request.data);
+ expect(payload).to.have.property('u').that.is.a('string');
+ expect(payload).to.have.property('pt', 'net');
+ expect(payload).to.have.property('auids', '5,6');
+ });
+
+ it('pt parameter must be "gross" if params.priceType === "gross"', () => {
+ bidRequests[1].params.priceType = 'gross';
+ const request = spec.buildRequests(bidRequests);
+ expect(request.data).to.be.an('string');
+ const payload = parseRequest(request.data);
+ expect(payload).to.have.property('u').that.is.a('string');
+ expect(payload).to.have.property('pt', 'gross');
+ expect(payload).to.have.property('auids', '5,6');
+ delete bidRequests[1].params.priceType;
+ });
+
+ it('pt parameter must be "net" or "gross"', () => {
+ bidRequests[1].params.priceType = 'some';
+ const request = spec.buildRequests(bidRequests);
+ expect(request.data).to.be.an('string');
+ const payload = parseRequest(request.data);
+ expect(payload).to.have.property('u').that.is.a('string');
+ expect(payload).to.have.property('pt', 'net');
+ expect(payload).to.have.property('auids', '5,6');
+ delete bidRequests[1].params.priceType;
+ });
+ });
+
+ describe('interpretResponse', () => {
+ const responses = [
+ {'bid': [{'price': 1.15, 'adm': 'test content 1
', 'auid': 4, 'h': 250, 'w': 300}], 'seat': '1'},
+ {'bid': [{'price': 0.5, 'adm': 'test content 2
', 'auid': 5, 'h': 90, 'w': 728}], 'seat': '1'},
+ {'bid': [{'price': 0, 'auid': 6, 'h': 250, 'w': 300}], 'seat': '1'},
+ {'bid': [{'price': 0, 'adm': 'test content 4
', 'h': 250, 'w': 300}], 'seat': '1'},
+ undefined,
+ {'bid': [], 'seat': '1'},
+ {'seat': '1'},
+ ];
+
+ it('should get correct bid response', () => {
+ const bidRequests = [
+ {
+ 'bidder': 'sara',
+ 'params': {
+ 'uid': '4'
+ },
+ 'adUnitCode': 'adunit-code-1',
+ 'sizes': [[300, 250], [300, 600]],
+ 'bidId': '659423fff799cb',
+ 'bidderRequestId': '5f2009617a7c0a',
+ 'auctionId': '1cbd2feafe5e8b',
+ }
+ ];
+ const request = spec.buildRequests(bidRequests);
+ const expectedResponse = [
+ {
+ 'requestId': '659423fff799cb',
+ 'cpm': 1.15,
+ 'creativeId': 4,
+ 'dealId': undefined,
+ 'width': 300,
+ 'height': 250,
+ 'ad': 'test content 1
',
+ 'currency': 'USD',
+ 'netRevenue': true,
+ 'ttl': 360,
+ }
+ ];
+
+ const result = spec.interpretResponse({'body': {'seatbid': [responses[0]]}}, request);
+ expect(result).to.deep.equal(expectedResponse);
+ });
+
+ it('should get correct multi bid response', () => {
+ const bidRequests = [
+ {
+ 'bidder': 'sara',
+ 'params': {
+ 'uid': '4'
+ },
+ 'adUnitCode': 'adunit-code-1',
+ 'sizes': [[300, 250], [300, 600]],
+ 'bidId': '300bfeb0d71a5b',
+ 'bidderRequestId': '2c2bb1972df9a',
+ 'auctionId': '1fa09aee5c8c99',
+ },
+ {
+ 'bidder': 'sara',
+ 'params': {
+ 'uid': '5'
+ },
+ 'adUnitCode': 'adunit-code-1',
+ 'sizes': [[300, 250], [300, 600]],
+ 'bidId': '4dff80cc4ee346',
+ 'bidderRequestId': '2c2bb1972df9a',
+ 'auctionId': '1fa09aee5c8c99',
+ },
+ {
+ 'bidder': 'sara',
+ 'params': {
+ 'uid': '4'
+ },
+ 'adUnitCode': 'adunit-code-2',
+ 'sizes': [[728, 90]],
+ 'bidId': '5703af74d0472a',
+ 'bidderRequestId': '2c2bb1972df9a',
+ 'auctionId': '1fa09aee5c8c99',
+ }
+ ];
+ const request = spec.buildRequests(bidRequests);
+ const expectedResponse = [
+ {
+ 'requestId': '300bfeb0d71a5b',
+ 'cpm': 1.15,
+ 'creativeId': 4,
+ 'dealId': undefined,
+ 'width': 300,
+ 'height': 250,
+ 'ad': 'test content 1
',
+ 'currency': 'USD',
+ 'netRevenue': true,
+ 'ttl': 360,
+ },
+ {
+ 'requestId': '5703af74d0472a',
+ 'cpm': 1.15,
+ 'creativeId': 4,
+ 'dealId': undefined,
+ 'width': 300,
+ 'height': 250,
+ 'ad': 'test content 1
',
+ 'currency': 'USD',
+ 'netRevenue': true,
+ 'ttl': 360,
+ },
+ {
+ 'requestId': '4dff80cc4ee346',
+ 'cpm': 0.5,
+ 'creativeId': 5,
+ 'dealId': undefined,
+ 'width': 728,
+ 'height': 90,
+ 'ad': 'test content 2
',
+ 'currency': 'USD',
+ 'netRevenue': true,
+ 'ttl': 360,
+ }
+ ];
+
+ const result = spec.interpretResponse({'body': {'seatbid': [responses[0], responses[1]]}}, request);
+ expect(result).to.deep.equal(expectedResponse);
+ });
+
+ it('handles wrong and nobid responses', () => {
+ const bidRequests = [
+ {
+ 'bidder': 'sara',
+ 'params': {
+ 'uid': '6'
+ },
+ 'adUnitCode': 'adunit-code-1',
+ 'sizes': [[300, 250], [300, 600]],
+ 'bidId': '300bfeb0d7190gf',
+ 'bidderRequestId': '2c2bb1972d23af',
+ 'auctionId': '1fa09aee5c84d34',
+ },
+ {
+ 'bidder': 'sara',
+ 'params': {
+ 'uid': '7'
+ },
+ 'adUnitCode': 'adunit-code-1',
+ 'sizes': [[300, 250], [300, 600]],
+ 'bidId': '300bfeb0d71321',
+ 'bidderRequestId': '2c2bb1972d23af',
+ 'auctionId': '1fa09aee5c84d34',
+ },
+ {
+ 'bidder': 'sara',
+ 'params': {
+ 'uid': '8'
+ },
+ 'adUnitCode': 'adunit-code-2',
+ 'sizes': [[728, 90]],
+ 'bidId': '300bfeb0d7183bb',
+ 'bidderRequestId': '2c2bb1972d23af',
+ 'auctionId': '1fa09aee5c84d34',
+ }
+ ];
+ const request = spec.buildRequests(bidRequests);
+ const result = spec.interpretResponse({'body': {'seatbid': responses.slice(2)}}, request);
+ expect(result.length).to.equal(0);
+ });
+ });
+});
From 055d3fb76eff338d7fe2de8c404b7e3d845675c5 Mon Sep 17 00:00:00 2001
From: Anthony Jose Bruscantini
Date: Fri, 13 Apr 2018 08:33:52 -0700
Subject: [PATCH 054/171] ADSS-281 implement getUserSyncs and putting checks
for empty ad server response (#2377)
---
modules/gumgumBidAdapter.js | 38 ++++++++++++++++++++--
test/spec/modules/gumgumBidAdapter_spec.js | 22 +++++++++++++
2 files changed, 58 insertions(+), 2 deletions(-)
diff --git a/modules/gumgumBidAdapter.js b/modules/gumgumBidAdapter.js
index fc36e18e3ac..0b7a4223063 100644
--- a/modules/gumgumBidAdapter.js
+++ b/modules/gumgumBidAdapter.js
@@ -148,6 +148,16 @@ function buildRequests (validBidRequests) {
function interpretResponse (serverResponse, bidRequest) {
const bidResponses = []
const serverResponseBody = serverResponse.body
+ const defaultResponse = {
+ ad: {
+ price: 0,
+ id: 0,
+ markup: ''
+ },
+ pag: {
+ pvid: 0
+ }
+ }
const {
ad: {
price: cpm,
@@ -158,7 +168,7 @@ function interpretResponse (serverResponse, bidRequest) {
pag: {
pvid
}
- } = serverResponseBody
+ } = Object.assign(defaultResponse, serverResponseBody)
let isTestUnit = (bidRequest.data && bidRequest.data.pi === 3 && bidRequest.data.si === 9)
let [width, height] = utils.parseSizesInput(bidRequest.sizes)[0].split('x')
@@ -183,11 +193,35 @@ function interpretResponse (serverResponse, bidRequest) {
return bidResponses
}
+/**
+ * Register the user sync pixels which should be dropped after the auction.
+ *
+ * @param {SyncOptions} syncOptions Which user syncs are allowed?
+ * @param {ServerResponse[]} serverResponses List of server's responses.
+ * @return {UserSync[]} The user syncs which should be dropped.
+ */
+function getUserSyncs (syncOptions, serverResponses) {
+ const responses = serverResponses.map((response) => {
+ return (response.body && response.body.pxs && response.body.pxs.scr) || []
+ })
+ const userSyncs = responses.reduce(function (usersyncs, response) {
+ return usersyncs.concat(response)
+ }, [])
+ const syncs = userSyncs.map((sync) => {
+ return {
+ type: sync.t === 'f' ? 'iframe' : 'image',
+ url: sync.u
+ }
+ })
+ return syncs;
+}
+
export const spec = {
code: BIDDER_CODE,
aliases: ALIAS_BIDDER_CODE,
isBidRequestValid,
buildRequests,
- interpretResponse
+ interpretResponse,
+ getUserSyncs
}
registerBidder(spec)
diff --git a/test/spec/modules/gumgumBidAdapter_spec.js b/test/spec/modules/gumgumBidAdapter_spec.js
index 30627d4d12d..276972a163f 100644
--- a/test/spec/modules/gumgumBidAdapter_spec.js
+++ b/test/spec/modules/gumgumBidAdapter_spec.js
@@ -135,4 +135,26 @@ describe('gumgumAdapter', () => {
expect(result.length).to.equal(0);
});
})
+ describe('getUserSyncs', () => {
+ const syncOptions = {
+ 'iframeEnabled': 'true'
+ }
+ const response = {
+ 'pxs': {
+ 'scr': [
+ {
+ 't': 'i',
+ 'u': 'https://c.gumgum.com/images/pixel.gif'
+ },
+ {
+ 't': 'f',
+ 'u': 'https://www.nytimes.com/'
+ }
+ ]
+ }
+ }
+ let result = spec.getUserSyncs(syncOptions, [{ body: response }]);
+ expect(result[0].type).to.equal('image')
+ expect(result[1].type).to.equal('iframe')
+ })
});
From 74559766971623429e008861d8cacd4d8a0f1baa Mon Sep 17 00:00:00 2001
From: JonGoSonobi
Date: Fri, 13 Apr 2018 13:34:27 -0400
Subject: [PATCH 055/171] Sonobi Video Support (#2297)
* added support for setting vastUrl
* removed unsed param
* some refactoring around detecting the media type and forming the creative
* changed let to const
* added ref param to sbi.js. fixed lint issues
* added video test params to sonobi readme.
* sbi_ct only comes back in a trinity response if the creative is a video. So only check if it is a video if sbi_ct exists
---
modules/sonobiBidAdapter.js | 54 +++++++++---
modules/sonobiBidAdapter.md | 38 +++++++++
test/spec/modules/sonobiBidAdapter_spec.js | 99 ++++++++++++++++------
3 files changed, 153 insertions(+), 38 deletions(-)
diff --git a/modules/sonobiBidAdapter.js b/modules/sonobiBidAdapter.js
index fb5d9a7f56f..042aaf7cd14 100644
--- a/modules/sonobiBidAdapter.js
+++ b/modules/sonobiBidAdapter.js
@@ -1,6 +1,7 @@
import { registerBidder } from 'src/adapters/bidderFactory';
import { getTopWindowLocation, parseSizesInput } from 'src/utils';
import * as utils from '../src/utils';
+import { BANNER, VIDEO } from '../src/mediaTypes';
const BIDDER_CODE = 'sonobi';
const STR_ENDPOINT = 'https://apex.go.sonobi.com/trinity.json';
@@ -8,7 +9,7 @@ const PAGEVIEW_ID = utils.generateUUID();
export const spec = {
code: BIDDER_CODE,
-
+ supportedMediaTypes: [BANNER, VIDEO],
/**
* Determines whether or not the given bid request is valid.
*
@@ -25,7 +26,7 @@ export const spec = {
*/
buildRequests: (validBidRequests) => {
const bids = validBidRequests.map(bid => {
- let slotIdentifier = _validateSlot(bid)
+ let slotIdentifier = _validateSlot(bid);
if (/^[\/]?[\d]+[[\/].+[\/]?]?$/.test(slotIdentifier)) {
slotIdentifier = slotIdentifier.charAt(0) === '/' ? slotIdentifier : '/' + slotIdentifier
return {
@@ -58,16 +59,18 @@ export const spec = {
method: 'GET',
url: STR_ENDPOINT,
withCredentials: true,
- data: payload
+ data: payload,
+ bidderRequests: validBidRequests
};
},
/**
* Unpack the response from the server into a list of bids.
*
* @param {*} serverResponse A successful response from the server.
+ * @param {*} bidderRequests - Info describing the request to the server.
* @return {Bid[]} An array of bids which were nested inside the server.
*/
- interpretResponse: (serverResponse) => {
+ interpretResponse: (serverResponse, { bidderRequests }) => {
const bidResponse = serverResponse.body;
const bidsReturned = [];
@@ -76,25 +79,41 @@ export const spec = {
}
Object.keys(bidResponse.slots).forEach(slot => {
+ const bidId = _getBidIdFromTrinityKey(slot);
+ const bidRequest = bidderRequests.find(bidReqest => bidReqest.bidId === bidId);
+ const videoMediaType = utils.deepAccess(bidRequest, 'mediaTypes.video');
+ const mediaType = bidRequest.mediaType || (videoMediaType ? 'video' : null);
+ const createCreative = _creative(mediaType);
const bid = bidResponse.slots[slot];
-
if (bid.sbi_aid && bid.sbi_mouse && bid.sbi_size) {
+ const [
+ width = 1,
+ height = 1
+ ] = bid.sbi_size.split('x');
const bids = {
- requestId: slot.split('|').slice(-1)[0],
+ requestId: bidId,
cpm: Number(bid.sbi_mouse),
- width: Number(bid.sbi_size.split('x')[0]) || 1,
- height: Number(bid.sbi_size.split('x')[1]) || 1,
- ad: _creative(bidResponse.sbi_dc, bid.sbi_aid),
+ width: Number(width),
+ height: Number(height),
+ ad: createCreative(bidResponse.sbi_dc, bid.sbi_aid),
ttl: 500,
creativeId: bid.sbi_aid,
netRevenue: true,
- currency: 'USD',
+ currency: 'USD'
};
if (bid.sbi_dozer) {
bids.dealId = bid.sbi_dozer;
}
+ const creativeType = bid.sbi_ct;
+ if (creativeType && (creativeType === 'video' || creativeType === 'outstream')) {
+ bids.mediaType = 'video';
+ bids.vastUrl = createCreative(bidResponse.sbi_dc, bid.sbi_aid);
+ delete bids.ad;
+ delete bids.width;
+ delete bids.height;
+ }
bidsReturned.push(bids);
}
});
@@ -138,9 +157,20 @@ function _validateFloor (bid) {
return '';
}
-function _creative (sbi_dc, sbi_aid) {
- const src = 'https://' + sbi_dc + 'apex.go.sonobi.com/sbi.js?aid=' + sbi_aid + '&as=null';
+const _creative = (mediaType) => (sbi_dc, sbi_aid) => {
+ if (mediaType === 'video') {
+ return _videoCreative(sbi_dc, sbi_aid)
+ }
+ const src = 'https://' + sbi_dc + 'apex.go.sonobi.com/sbi.js?aid=' + sbi_aid + '&as=null' + '&ref=' + getTopWindowLocation().host;
return '';
}
+function _videoCreative(sbi_dc, sbi_aid) {
+ return `https://${sbi_dc}apex.go.sonobi.com/vast.xml?vid=${sbi_aid}&ref=${getTopWindowLocation().host}`
+}
+
+function _getBidIdFromTrinityKey (key) {
+ return key.split('|').slice(-1)[0]
+}
+
registerBidder(spec);
diff --git a/modules/sonobiBidAdapter.md b/modules/sonobiBidAdapter.md
index 91e4a0e2b2e..cc4dd8733d4 100644
--- a/modules/sonobiBidAdapter.md
+++ b/modules/sonobiBidAdapter.md
@@ -30,3 +30,41 @@ Module that connects to Sonobi's demand sources.
}
];
```
+
+# Video Test Parameters
+```
+ var videoAdUnit = {
+ code: 'adUnit_af',
+ sizes: [640,480],
+ mediaTypes: {
+ video: {context: 'instream'}
+ },
+ bids: [
+ {
+ bidder: 'sonobi',
+ params: {
+ placement_id: '92e95368e86639dbd86d',
+ }
+ }
+ ]
+ };
+```
+
+Example bidsBackHandler for video bids
+```
+pbjs.requestBids({
+ timeout : 700,
+ bidsBackHandler : function(bids) {
+ var videoUrl = pbjs.adServers.dfp.buildVideoUrl({
+ adUnit: videoAdUnit,
+ params: {
+ cust_params: {
+ hb_vid: bids.adUnit_af.bids[0].creativeId
+ },
+ iu: '/7780971/apex_jwplayer_video'
+ }
+ });
+ invokeVideoPlayer(videoUrl);
+ }
+ });
+```
diff --git a/test/spec/modules/sonobiBidAdapter_spec.js b/test/spec/modules/sonobiBidAdapter_spec.js
index 6a44c817d0b..4fd5c13e65c 100644
--- a/test/spec/modules/sonobiBidAdapter_spec.js
+++ b/test/spec/modules/sonobiBidAdapter_spec.js
@@ -138,6 +138,7 @@ describe('SonobiBidAdapter', () => {
expect(bidRequests.data.s).not.to.be.empty
expect(bidRequests.data.pv).to.equal(bidRequestsPageViewID.data.pv)
expect(bidRequests.data.hfa).to.not.exist
+ expect(bidRequests.bidderRequests).to.eql(bidRequest);
})
it('should return a properly formatted request with hfa', () => {
@@ -153,23 +154,66 @@ describe('SonobiBidAdapter', () => {
})
describe('.interpretResponse', () => {
+ const bidRequests = {
+ 'method': 'GET',
+ 'url': 'https://apex.go.sonobi.com/trinity.json',
+ 'withCredentials': true,
+ 'data': {
+ 'key_maker': '{"30b31c1838de1f":"1a2b3c4d5e6f1a2b3c4d|300x250,300x600|f=1.25","/7780971/sparks_prebid_LB|30b31c1838de1e":"300x250,300x600"}', 'ref': 'localhost:9876', 's': '2474372d-c0ff-4f46-aef4-a173058403d9', 'pv': 'c9cfc207-cd83-4a01-b591-8bb29389d4b0'
+ },
+ 'bidderRequests': [
+ {
+ 'bidder': 'sonobi',
+ 'params': {
+ 'ad_unit': '/7780971/sparks_prebid_LB',
+ 'sizes': [[300, 250], [300, 600]],
+ 'floor': '1.25'
+ },
+ 'adUnitCode': 'adunit-code-1',
+ 'sizes': [[300, 250], [300, 600]],
+ 'bidId': '30b31c1838de1f'
+ },
+ {
+ 'bidder': 'sonobi',
+ 'params': {
+ 'placement_id': '1a2b3c4d5e6f1a2b3c4d',
+ 'sizes': [[300, 250], [300, 600]]
+ },
+ 'adUnitCode': 'adunit-code-2',
+ 'sizes': [[120, 600], [300, 600], [160, 600]],
+ 'bidId': '30b31c1838de1e',
+ 'mediaType': 'video'
+ },
+ {
+ 'bidder': 'sonobi',
+ 'params': {
+ 'ad_unit': '/7780971/sparks_prebid_LB',
+ 'sizes': [[300, 250], [300, 600]]
+ },
+ 'adUnitCode': 'adunit-code-3',
+ 'sizes': [[120, 600], [300, 600], [160, 600]],
+ 'bidId': '30b31c1838de1g'
+ }
+ ]
+ };
+
let bidResponse = {
'body': {
'slots': {
- '/7780971/sparks_prebid_LB|30b31c1838de1d': {
+ '/7780971/sparks_prebid_LB|30b31c1838de1f': {
'sbi_size': '300x600',
'sbi_apoc': 'remnant',
'sbi_aid': '30292e432662bd5f86d90774b944b039',
'sbi_mouse': 1.07,
},
- '30b31c1838de1f': {
+ '30b31c1838de1e': {
'sbi_size': '300x250',
'sbi_apoc': 'remnant',
'sbi_aid': '30292e432662bd5f86d90774b944b038',
'sbi_mouse': 1.25,
'sbi_dozer': 'dozerkey',
},
- '30b31c1838de1e': {},
+ '/7780971/sparks_prebid_LB|30b31c1838de1g': {},
},
'sbi_dc': 'mco-1-',
'sbi_px': [{
@@ -182,31 +226,34 @@ describe('SonobiBidAdapter', () => {
}
};
- let prebidResponse = [{
- 'requestId': '30b31c1838de1d',
- 'cpm': 1.07,
- 'width': 300,
- 'height': 600,
- 'ad': '',
- 'ttl': 500,
- 'creativeId': '30292e432662bd5f86d90774b944b039',
- 'netRevenue': true,
- 'currency': 'USD'
- }, {
- 'requestId': '30b31c1838de1f',
- 'cpm': 1.25,
- 'width': 300,
- 'height': 250,
- 'ad': '',
- 'ttl': 500,
- 'creativeId': '30292e432662bd5f86d90774b944b038',
- 'netRevenue': true,
- 'currency': 'USD',
- 'dealId': 'dozerkey'
- }];
+ let prebidResponse = [
+ {
+ 'requestId': '30b31c1838de1f',
+ 'cpm': 1.07,
+ 'width': 300,
+ 'height': 600,
+ 'ad': '',
+ 'ttl': 500,
+ 'creativeId': '30292e432662bd5f86d90774b944b039',
+ 'netRevenue': true,
+ 'currency': 'USD'
+ },
+ {
+ 'requestId': '30b31c1838de1e',
+ 'cpm': 1.25,
+ 'width': 300,
+ 'height': 250,
+ 'ad': 'https://mco-1-apex.go.sonobi.com/vast.xml?vid=30292e432662bd5f86d90774b944b038&ref=localhost:9876',
+ 'ttl': 500,
+ 'creativeId': '30292e432662bd5f86d90774b944b038',
+ 'netRevenue': true,
+ 'currency': 'USD',
+ 'dealId': 'dozerkey'
+ }
+ ];
it('should map bidResponse to prebidResponse', () => {
- const response = spec.interpretResponse(bidResponse);
+ const response = spec.interpretResponse(bidResponse, bidRequests);
expect(response).to.deep.equal(prebidResponse);
})
})
From 335f59a3a377ec92371a34f2fe587accf11fda33 Mon Sep 17 00:00:00 2001
From: Pupis
Date: Fri, 13 Apr 2018 22:32:59 +0300
Subject: [PATCH 056/171] Dynamic priceType at adform adapter (#2384)
* bid response adId same as bidId
* test
* update adform bid adapter
* update unit tests
* Added adform adapter description file
* updated tests
* Another tests update
* Add auctionId
* Update adapter for auctionId
* add auctionId to adformBidAdapter
* Final updates to fit 1.0 version
* update docs and integration example
* Do not mutate original validBidRequests
* use atob and btoa instead of custom made module
* Renaming one query string parameter
* XDomainRequest.send exception fix (#1942)
* Added YIELDONE Bid Adapter for Prebid.js 1.0 (#1900)
* Added YIELDONE Bid Adapter for Prebid.js 1.0
* Update yieldoneBidAdapter.md
change placementId to 44082
* Changed to get size from bid.sizes
* fix sizes array
* Add user-facing docs reminder to PR template (#1956)
* allow non-mappable sizes to be passed and used in rubicon adapter (#1893)
* Typo correction of YIELDONE md file (#1954)
* Added YIELDONE Bid Adapter for Prebid.js 1.0
* Update yieldoneBidAdapter.md
change placementId to 44082
* Changed to get size from bid.sizes
* fix sizes array
* Fix a typo
* Serverbid bid adapter: update alias config (#1963)
* use auctionId instead of requestId (#1968)
* Add freewheel ssp bidder adapter for prebid 1.0 (#1793)
* add stickyadsTV bidder adapter
* init unit test file
* ad some unit tests
* fix unit test on ad format with parameters
* add some unit tests
* add unit tests on getBid method
* add some test cases in unit tests
* minor fix on component id tag.
* remove adapters-sticky.json test file
* use top most accessible window instead of window.top
* Pass in the bid request in the createBid call.
* use top most accessible window instead of window.top
* add unit tests
* update unit tests
* fix unit test.
* fix CI build
* add alias freewheel-ssp
* update unit tests on bidderCode value
* fix component id values and add unit tests
* allws to use any outstream format.
* fix ASLoader on futur outstream format versions
* minor: fix code format.
* update unit tests
* minor fix code format
* minor: add missing new line at eof
* replace StickyAdsTVAdapter by freewheel ssp bd adapter (for prebid 1.0)
* remove old stickyadstv unittest spec.
* fix server response parsing if sent as object with 'body' field
* use the vastXml field for video mediatype
* add user sync pixel in freewheel ssp adapter
* remove all console log calls (replaced using util helper)
* remove useless bidderCode (automatically added by the bidderFactory)
* Return the SYNC pixel to be added in the page by Prebid.js
* remove instance level properties to enable concurrent bids with the same adapter instance.
* fix the request apss through and corresponding unit tests
* fix 'freeheelssp' typo
* + fixed endpoint request data property names - width to w and height to h (#1955)
+ updated unit test for the adapter to comply with the property name changes
* Added iQM Bid Adapter for Prebid.js 1.0 (#1880)
* Added iQM Bid Adapter for Prebid.js 1.0
* Modified URL from http to https
* Removed geo function which was fetching user location.
* Remove stray console.log (#1975)
* Remove duplicate request id and fix empty response from getHighesCpmBids, getAdserverTargeting (#1970)
* Removed requestId and added auctionId
* Updated module fixtures to use auctionId and not requestId
* remove request id from external bid object and fix bug for empty result in public api
* use auctionId instead of requestId
* fixed lint errors
* [Add BidAdapter] rxrtb adapter for Perbid.js 1.0 (#1950)
* Add: rxrtb prebidAdapter
* Update: params for test
* Update: code format
* Update: code format
* Update: code format
* ServerBid Server BidAdapter (#1819)
* ServerBid Server BidAdapter
Allow S2S configuration with ServerBid.
* Updates to meet 1.0 callBids/config changes.
* Fix linting issues.
* added hb_source to default keys (#1969)
* added hb_source
* dropped function to add hb_source since it is now default key
* fixed lint error
* Prebid 1.1.0 Release
* Increment pre version
* S2s defaults fix in serverbidServerBidAdapter (#1986)
* removed s2s defaults
* start timestamp was missing on s2s requests
* remove hardcoded localhost port for tests (#1988)
* Fixes unit tests in browsers other than chrome (#1987)
* Fixes unit tests in browsers other than chrome
* fixed lint errors
* Prebid 1.1.1 Release
* Add note about docs needed before merge (#1959)
* Add note about docs needed before merge
* Update pr_review.md
* Update pr_review.md
* Update pr_review.md
* Adding optional width and height to display parameters (#1998)
* adding optional size
* no tabs
* TrustX adapter update (#1979)
* Add trustx adapter and tests for it
* update integration example
* Update trustx adapter
* Post-review fixes of Trustx adapter
* Code improvement for trustx adapter: changed default price type from gross to net
* Update TrustX adapter to support the 1.0 version
* Make requested changes for TrustX adapter
* Updated markdown file for TrustX adapter
* Fix TrustX adapter and spec file
* Update TrustX adapter: r parameter was added to ad request as cache buster
* Serverbid Bid Adapter: Add new ad sizes (#1983)
* Added dynamic ttl property for One Display and One Mobile. (#2004)
* pin gulp-connect at non-broken version (#2008)
* pin gulp-connect at non-broken version
* updated yarn.lock to specify pinned gulp-connect
* Gjirafa Bidder Adapter (#1944)
* Added Gjirafa adapter
* Add gjirafa adapter unit test
* adapter update
* New line
* Requested changes
* change hello_world.html to one bid
* change hello_world.html to one bid
* Dropping changes in gitignore and hello_world example
* hello_world changes
* Drop hello_world and gitignore
* multiformat size validation checks (#1964)
* initial commit for multiformat size validation checks
* adding unit tests and changes to checkBidRequestSizes function
* updates to appnexusBidAdapter
* Upgrade Admixer adapter for Prebid 1.0 (#1755)
* Migrating to Prebid 1.0
* Migrating to Prebid 1.0
* Fix spec
* Add NasmediaAdmixer adapter for Perbid.js 1.0 (#1937)
* add NasmediaAdmixer adapter for Perbid.js 1.0
* add NasmediaAdmixer adapter for Perbid.js 1.0
* add NasmediaAdmixer adapter for Perbid.js 1.0
* add NasmediaAdmixer adapter for Perbid.js 1.0
* add NasmediaAdmixer adapter for Perbid.js 1.0
* add NasmediaAdmixer adapter for Perbid.js 1.0
* Added price type global param, changed default value to gross.
* Updated tests
* some console.logs
* Keep the same names
* Update description
---
modules/adformBidAdapter.js | 8 ++++----
modules/adformBidAdapter.md | 2 +-
test/spec/modules/adformBidAdapter_spec.js | 16 ++++++++++++----
3 files changed, 17 insertions(+), 9 deletions(-)
diff --git a/modules/adformBidAdapter.js b/modules/adformBidAdapter.js
index 9754653cfe4..1da6042f63a 100644
--- a/modules/adformBidAdapter.js
+++ b/modules/adformBidAdapter.js
@@ -13,13 +13,13 @@ export const spec = {
buildRequests: function (validBidRequests) {
var i, l, j, k, bid, _key, _value, reqParams;
var request = [];
- var globalParams = [ [ 'adxDomain', 'adx.adform.net' ], [ 'fd', 1 ], [ 'url', null ], [ 'tid', null ] ];
- var netRevenue = 'net';
+ var globalParams = [ [ 'adxDomain', 'adx.adform.net' ], [ 'fd', 1 ], [ 'url', null ], [ 'tid', null ], [ 'pt', null ] ];
+ var netRevenue = 'gross';
var bids = JSON.parse(JSON.stringify(validBidRequests));
for (i = 0, l = bids.length; i < l; i++) {
bid = bids[i];
- if (bid.params.priceType === 'gross') {
- netRevenue = 'gross';
+ if (bid.params.priceType === 'net') {
+ bid.params.pt = netRevenue = 'net';
}
for (j = 0, k = globalParams.length; j < k; j++) {
_key = globalParams[j][0];
diff --git a/modules/adformBidAdapter.md b/modules/adformBidAdapter.md
index b2f67273a18..10ebec37e08 100644
--- a/modules/adformBidAdapter.md
+++ b/modules/adformBidAdapter.md
@@ -21,7 +21,7 @@ Banner and video formats are supported.
params: {
adxDomain: 'adx.adform.net', //optional
mid: '292063',
- priceType: 'gross' // default is 'net'
+ priceType: 'net' // default is 'gross'
}
}
]
diff --git a/test/spec/modules/adformBidAdapter_spec.js b/test/spec/modules/adformBidAdapter_spec.js
index a330f18e685..f3aa735be00 100644
--- a/test/spec/modules/adformBidAdapter_spec.js
+++ b/test/spec/modules/adformBidAdapter_spec.js
@@ -62,8 +62,7 @@ describe('Adform adapter', () => {
{
mid: '2',
someVar: 'someValue',
- transactionId: '5f33781f-9552-4iuy',
- priceType: 'gross'
+ transactionId: '5f33781f-9552-4iuy'
},
{
mid: '3',
@@ -166,12 +165,20 @@ describe('Adform adapter', () => {
assert.equal(result[i].mediaType, expected[i]);
}
});
+
+ it('should set default netRevenue as gross', () => {
+ bidRequest.netRevenue = 'gross';
+ const result = spec.interpretResponse(serverResponse, bidRequest);
+ for (let i = 0; i < result.length; i++) {
+ assert.equal(result[i].netRevenue, false);
+ }
+ });
});
beforeEach(() => {
let sizes = [[250, 300], [300, 250], [300, 600]];
let placementCode = ['div-01', 'div-02', 'div-03', 'div-04', 'div-05'];
- let params = [{ mid: 1, url: 'some// there' }, {adxDomain: null, mid: 2, someVar: 'someValue', priceType: 'gross'}, { adxDomain: null, mid: 3, pdom: 'home' }];
+ let params = [{ mid: 1, url: 'some// there' }, {adxDomain: null, mid: 2, someVar: 'someValue', pt: 'gross'}, { adxDomain: null, mid: 3, pdom: 'home' }];
bids = [
{
adUnitCode: placementCode[0],
@@ -285,7 +292,8 @@ describe('Adform adapter', () => {
bidder: 'adform',
bids: bids,
method: 'GET',
- url: 'url'
+ url: 'url',
+ netRevenue: 'net'
};
});
});
From 2ed32dbeddc56729e2c38ec9ab0d1cf021a48e86 Mon Sep 17 00:00:00 2001
From: Rich Snapp
Date: Fri, 13 Apr 2018 14:13:56 -0600
Subject: [PATCH 057/171] fiix size in prebidserver (#2364)
---
modules/prebidServerBidAdapter.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/modules/prebidServerBidAdapter.js b/modules/prebidServerBidAdapter.js
index 06e5cff6503..e12f569b3b2 100644
--- a/modules/prebidServerBidAdapter.js
+++ b/modules/prebidServerBidAdapter.js
@@ -442,7 +442,7 @@ const OPEN_RTB_PROTOCOL = {
let banner;
// default to banner if mediaTypes isn't defined
if (utils.isEmpty(adUnit.mediaTypes)) {
- const sizeObjects = adUnit.sizes.map(size => ({ w: size.w, h: size.h }));
+ const sizeObjects = adUnit.sizes.map(size => ({ w: size[0], h: size[1] }));
banner = {format: sizeObjects};
}
From 6d2ed31248c0a3eab42fc83d161e59db1e3f4564 Mon Sep 17 00:00:00 2001
From: Rich Snapp
Date: Fri, 13 Apr 2018 14:40:21 -0600
Subject: [PATCH 058/171] fix sonobi adapter to use polyfilled Object find
---
modules/sonobiBidAdapter.js | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/modules/sonobiBidAdapter.js b/modules/sonobiBidAdapter.js
index 042aaf7cd14..4db35807edd 100644
--- a/modules/sonobiBidAdapter.js
+++ b/modules/sonobiBidAdapter.js
@@ -2,6 +2,7 @@ import { registerBidder } from 'src/adapters/bidderFactory';
import { getTopWindowLocation, parseSizesInput } from 'src/utils';
import * as utils from '../src/utils';
import { BANNER, VIDEO } from '../src/mediaTypes';
+import find from 'core-js/library/fn/array/find';
const BIDDER_CODE = 'sonobi';
const STR_ENDPOINT = 'https://apex.go.sonobi.com/trinity.json';
@@ -80,7 +81,7 @@ export const spec = {
Object.keys(bidResponse.slots).forEach(slot => {
const bidId = _getBidIdFromTrinityKey(slot);
- const bidRequest = bidderRequests.find(bidReqest => bidReqest.bidId === bidId);
+ const bidRequest = find(bidderRequests, bidReqest => bidReqest.bidId === bidId);
const videoMediaType = utils.deepAccess(bidRequest, 'mediaTypes.video');
const mediaType = bidRequest.mediaType || (videoMediaType ? 'video' : null);
const createCreative = _creative(mediaType);
From 49ee97db922e96d37b4e9f9a93522a343b508e1f Mon Sep 17 00:00:00 2001
From: Matt Kendall <1870166+mkendall07@users.noreply.github.com>
Date: Fri, 13 Apr 2018 16:57:29 -0400
Subject: [PATCH 059/171] fixes #2353 - not appending hb_uuid and hb_cache_id
(#2363)
---
modules/dfpAdServerVideo.js | 37 +++++++++++++---------
src/utils.js | 3 ++
test/spec/modules/dfpAdServerVideo_spec.js | 2 ++
3 files changed, 27 insertions(+), 15 deletions(-)
diff --git a/modules/dfpAdServerVideo.js b/modules/dfpAdServerVideo.js
index cc285ca4aa7..d1c66833104 100644
--- a/modules/dfpAdServerVideo.js
+++ b/modules/dfpAdServerVideo.js
@@ -82,22 +82,14 @@ export default function buildDfpVideoUrl(options) {
sz: parseSizesInput(adUnit.sizes).join('|'),
url: location.href,
};
-
- const adserverTargeting = (bid && bid.adserverTargeting) || {};
-
- const customParams = Object.assign({},
- adserverTargeting,
- { hb_uuid: bid && bid.videoCacheKey },
- // hb_uuid will be deprecated and replaced by hb_cache_id
- {hb_cache_id: bid && bid.videoCacheKey},
- options.params.cust_params);
+ const encodedCustomParams = getCustParams(bid, options);
const queryParams = Object.assign({},
defaultParamConstants,
urlComponents.search,
derivedParams,
options.params,
- { cust_params: encodeURIComponent(formatQS(customParams)) }
+ { cust_params: encodedCustomParams }
);
const descriptionUrl = getDescriptionUrl(bid, options, 'params');
@@ -122,11 +114,7 @@ function buildUrlFromAdserverUrlComponents(components, bid) {
const descriptionUrl = getDescriptionUrl(bid, components, 'search');
if (descriptionUrl) { components.search.description_url = descriptionUrl; }
- const adserverTargeting = (bid && bid.adserverTargeting) || {};
- const customParams = Object.assign({},
- adserverTargeting,
- );
- const encodedCustomParams = encodeURIComponent(formatQS(customParams));
+ const encodedCustomParams = getCustParams(bid);
components.search.cust_params = (components.search.cust_params) ? components.search.cust_params + '%26' + encodedCustomParams : encodedCustomParams;
return buildUrl(components);
@@ -151,6 +139,25 @@ function getDescriptionUrl(bid, components, prop) {
}
}
+/**
+ * Returns the encoded `cust_params` from the bid.adserverTargeting and adds the `hb_uuid`, and `hb_cache_id`. Optionally the options.params.cust_params
+ * @param {AdapterBidResponse} bid
+ * @param {Object} options this is the options passed in from the `buildDfpVideoUrl` function
+ * @return {Object} Encoded key value pairs for cust_params
+ */
+function getCustParams(bid, options) {
+ const adserverTargeting = (bid && bid.adserverTargeting) || {};
+ const optCustParams = deepAccess(options, 'params.cust_params');
+ let customParams = Object.assign({},
+ adserverTargeting,
+ { hb_uuid: bid && bid.videoCacheKey },
+ // hb_uuid will be deprecated and replaced by hb_cache_id
+ {hb_cache_id: bid && bid.videoCacheKey},
+ optCustParams,
+ );
+ return encodeURIComponent(formatQS(customParams));
+}
+
registerVideoSupport('dfp', {
buildVideoUrl: buildDfpVideoUrl
});
diff --git a/src/utils.js b/src/utils.js
index 701fd37115a..b192cf2fef6 100644
--- a/src/utils.js
+++ b/src/utils.js
@@ -775,6 +775,9 @@ export function groupBy(xs, key) {
* @returns {*} The value found at the specified object path, or undefined if path is not found.
*/
export function deepAccess(obj, path) {
+ if (!obj) {
+ return;
+ }
path = String(path).split('.');
for (let i = 0; i < path.length; i++) {
obj = obj[path[i]];
diff --git a/test/spec/modules/dfpAdServerVideo_spec.js b/test/spec/modules/dfpAdServerVideo_spec.js
index be51953169c..c4a799b0b0a 100644
--- a/test/spec/modules/dfpAdServerVideo_spec.js
+++ b/test/spec/modules/dfpAdServerVideo_spec.js
@@ -148,6 +148,8 @@ describe('The DFP video support module', () => {
expect(customParams).to.have.property('hb_adid', 'ad_id');
expect(customParams).to.have.property('section', 'blog');
expect(customParams).to.have.property('mykey', 'myvalue');
+ expect(customParams).to.have.property('hb_uuid', 'abc');
+ expect(customParams).to.have.property('hb_cache_id', 'abc');
});
it('should not overwrite an existing description_url for object input and cache disabled', () => {
From 395ceb15800132e9c488ed7845cb87b38dcdfb56 Mon Sep 17 00:00:00 2001
From: Allan BRUYERE
Date: Sat, 14 Apr 2018 01:50:08 +0200
Subject: [PATCH 060/171] Add: Vuble Analytics Adapter (#2331)
* Add: Vuble Analytics Adapter
---
modules/vubleAnalyticsAdapter.js | 258 ++++++++++++++++++
modules/vubleAnalyticsAdapter.md | 23 ++
.../modules/vubleAnalyticsAdapter_spec.js | 122 +++++++++
3 files changed, 403 insertions(+)
create mode 100644 modules/vubleAnalyticsAdapter.js
create mode 100644 modules/vubleAnalyticsAdapter.md
create mode 100644 test/spec/modules/vubleAnalyticsAdapter_spec.js
diff --git a/modules/vubleAnalyticsAdapter.js b/modules/vubleAnalyticsAdapter.js
new file mode 100644
index 00000000000..5bd27b1c0de
--- /dev/null
+++ b/modules/vubleAnalyticsAdapter.js
@@ -0,0 +1,258 @@
+/**
+ * vuble.js - Vuble Prebid Analytics Adapter
+ */
+
+import adapter from 'src/AnalyticsAdapter';
+import adaptermanager from 'src/adaptermanager';
+import CONSTANTS from 'src/constants.json';
+import {ajax} from '../src/ajax';
+import * as utils from '../src/utils';
+
+const ANALYTICS_VERSION = '1.0.0';
+const DEFAULT_QUEUE_TIMEOUT = 4000;
+const DEFAULT_HOST = 'player.mediabong';
+const analyticsType = 'endpoint';
+
+const EVENTS = [
+ CONSTANTS.EVENTS.AUCTION_INIT,
+ CONSTANTS.EVENTS.AUCTION_END,
+ CONSTANTS.EVENTS.BID_REQUESTED,
+ CONSTANTS.EVENTS.BID_RESPONSE,
+ CONSTANTS.EVENTS.BID_WON,
+ CONSTANTS.EVENTS.BID_TIMEOUT,
+];
+
+var vubleAnalytics = Object.assign(adapter({ analyticsType: analyticsType, }),
+ {
+ track: function({ eventType, args }) {
+ if (!vubleAnalytics.context) {
+ return;
+ }
+ if (EVENTS.indexOf(eventType) !== -1) {
+ if (eventType === CONSTANTS.EVENTS.AUCTION_INIT &&
+ vubleAnalytics.context.queue) {
+ vubleAnalytics.context.queue.init();
+ }
+
+ let events = deal[eventType](args);
+
+ if (vubleAnalytics.context.queue) {
+ vubleAnalytics.context.queue.push(events);
+ }
+ if (eventType === CONSTANTS.EVENTS.AUCTION_END) {
+ sendAll();
+ }
+ }
+ }
+ });
+
+vubleAnalytics.context = {};
+
+vubleAnalytics.originEnableAnalytics = vubleAnalytics.enableAnalytics;
+
+vubleAnalytics.enableAnalytics = config => {
+ if (!config.options.pubId) {
+ utils.logError('The publisher id is not defined. Analytics won\'t work');
+
+ return;
+ }
+
+ if (!config.options.host) {
+ if (!config.options.env) {
+ utils.logError('The environement is not defined. Analytics won\'t work');
+
+ return;
+ }
+ config.options.host = DEFAULT_HOST + '.' + config.options.env + '/t';
+ }
+
+ vubleAnalytics.context = {
+ host: config.options.host,
+ pubId: config.options.pubId,
+ requestTemplate: buildRequestTemplate(config.options.pubId),
+ queue: new ExpiringQueue(
+ sendAll,
+ config.options.queueTimeout || DEFAULT_QUEUE_TIMEOUT
+ ),
+ };
+ vubleAnalytics.originEnableAnalytics(config);
+};
+
+adaptermanager.registerAnalyticsAdapter({
+ adapter: vubleAnalytics,
+ code: 'vuble'
+});
+
+export default vubleAnalytics;
+
+function sendAll() {
+ let events = vubleAnalytics.context.queue.popAll();
+ if (events.length !== 0) {
+ let req = Object.assign(
+ {},
+ vubleAnalytics.context.requestTemplate,
+ {rtb: events}
+ );
+ ajax(
+ `//${vubleAnalytics.context.host}/rtb.php`,
+ undefined,
+ JSON.stringify(req)
+ );
+ }
+}
+
+var deal =
+{
+ auctionInit() {
+ vubleAnalytics.context.auctionTimeStart = Date.now();
+ return [{
+ event: CONSTANTS.EVENTS.AUCTION_INIT,
+ date: vubleAnalytics.context.auctionTimeStart,
+ }];
+ },
+
+ bidRequested(args) {
+ return args.bids.map(
+ function(bid) {
+ let vubleEvent = { event: CONSTANTS.EVENTS.BID_REQUESTED };
+
+ if (typeof args.bidderCode !== 'undefined') {
+ vubleEvent.adapter = args.bidderCode
+ }
+ if (typeof bid.bidId !== 'undefined') {
+ vubleEvent.bidder = bid.bidId;
+ }
+ if (typeof bid.bidderRequestId !== 'undefined') {
+ vubleEvent.id = bid.bidderRequestId;
+ }
+ if (typeof bid.params.floorPrice !== 'undefined') {
+ vubleEvent.floor = bid.params.floorPrice;
+ }
+ if (typeof bid.params.zoneId !== 'undefined') {
+ vubleEvent.zoneId = bid.params.zoneId;
+ }
+ if (typeof bid.mediaTypes !== 'undefined' &&
+ typeof bid.mediaTypes.videos !== 'undefined' &&
+ typeof bid.mediaTypes.videos.context !== 'undefined') {
+ vubleEvent.context = bid.mediaTypes.videos.context;
+ }
+ if (typeof bid.sizes !== 'undefined') {
+ vubleEvent.size = bid.sizes;
+ }
+
+ return vubleEvent;
+ }
+ );
+ },
+
+ bidResponse(args) {
+ const event = formalizeBidEvent(
+ args.bidderCode,
+ CONSTANTS.EVENTS.BID_RESPONSE,
+ args.cpm,
+ args.dealId,
+ args.adId
+ );
+
+ return [event];
+ },
+
+ bidWon(args) {
+ const event = formalizeBidEvent(
+ args.bidderCode,
+ CONSTANTS.EVENTS.BID_WON,
+ args.cpm,
+ args.dealId,
+ );
+
+ return [event];
+ },
+
+ auctionEnd() {
+ return [{
+ event: CONSTANTS.EVENTS.AUCTION_END,
+ time: (Date.now() - vubleAnalytics.context.auctionTimeStart) / 1000,
+ }];
+ },
+
+ bidTimeout(args) {
+ return args.map((bid) => {
+ return {
+ adapter: bid,
+ event: CONSTANTS.EVENTS.BID_TIMEOUT,
+ };
+ });
+ }
+};
+
+function formalizeBidEvent(adapter, event, value = 0, dealId = 0, id = 0) {
+ let vubleEvent = { event: event };
+
+ if (adapter) {
+ vubleEvent.adapter = adapter
+ }
+ if (value) {
+ vubleEvent.val = value;
+ }
+ if (dealId) {
+ vubleEvent.id = dealId;
+ }
+ if (id) {
+ vubleEvent.id = id;
+ }
+
+ return vubleEvent;
+}
+
+function buildRequestTemplate(pubId) {
+ const topLocation = utils.getTopWindowLocation();
+
+ return {
+ ver: ANALYTICS_VERSION,
+ domain: topLocation.hostname,
+ path: topLocation.pathname,
+ pubid: pubId,
+ width: window.screen.width,
+ height: window.screen.height,
+ lang: navigator.language,
+ }
+}
+
+/**
+ * Expiring queue implementation
+ * @param callback
+ * @param time
+ */
+export function ExpiringQueue(callback, time) {
+ let queue = [];
+ let timeoutId;
+
+ this.push = event => {
+ if (event instanceof Array) {
+ queue.push.apply(queue, event);
+ } else {
+ queue.push(event);
+ }
+ reset();
+ };
+
+ this.popAll = () => {
+ let result = queue;
+ queue = [];
+ reset();
+ return result;
+ };
+
+ this.init = reset;
+
+ function reset() {
+ if (timeoutId) {
+ clearTimeout(timeoutId);
+ }
+ timeoutId = setTimeout(() => {
+ if (queue.length) {
+ callback();
+ }
+ }, time);
+ }
+}
diff --git a/modules/vubleAnalyticsAdapter.md b/modules/vubleAnalyticsAdapter.md
new file mode 100644
index 00000000000..dfe0a8d8eb0
--- /dev/null
+++ b/modules/vubleAnalyticsAdapter.md
@@ -0,0 +1,23 @@
+# Overview
+
+Module Name: Vuble Analytics Adapter
+
+Module Type: Vuble Analytics Adapter
+
+Maintainer: abruyere@mediabong.com
+
+# Description
+
+Analytics adapter for vuble.tv Contact contact@mediabong.com for information.
+
+# Test Parameters
+
+```
+{
+ provider: 'vuble',
+ options: {
+ pubId: 18, // require
+ env: 'net', // require
+ }
+}
+```
diff --git a/test/spec/modules/vubleAnalyticsAdapter_spec.js b/test/spec/modules/vubleAnalyticsAdapter_spec.js
new file mode 100644
index 00000000000..896f6e4ee87
--- /dev/null
+++ b/test/spec/modules/vubleAnalyticsAdapter_spec.js
@@ -0,0 +1,122 @@
+import vubleAnalytics from 'modules/vubleAnalyticsAdapter';
+import { expect } from 'chai';
+let events = require('src/events');
+let adaptermanager = require('src/adaptermanager');
+let constants = require('src/constants.json');
+
+describe('Vuble Prebid Analytic', function () {
+ let xhr;
+ before(() => {
+ xhr = sinon.useFakeXMLHttpRequest();
+ });
+ after(() => {
+ vubleAnalytics.disableAnalytics();
+ xhr.restore();
+ });
+
+ describe('enableAnalytics', function () {
+ beforeEach(() => {
+ sinon.spy(vubleAnalytics, 'track');
+ sinon.stub(events, 'getEvents').returns([]);
+ });
+
+ afterEach(() => {
+ vubleAnalytics.track.restore();
+ events.getEvents.restore();
+ });
+ it('should catch all events', function () {
+ adaptermanager.registerAnalyticsAdapter({
+ code: 'vuble',
+ adapter: vubleAnalytics
+ });
+
+ adaptermanager.enableAnalytics({
+ provider: 'vuble',
+ options: {
+ pubId: 18,
+ env: 'net'
+ }
+ });
+
+ let auction_id = 'test';
+
+ // Step 1: Auction init
+ events.emit(constants.EVENTS.AUCTION_INIT, {
+ auctionId: auction_id,
+ timestamp: 1496510254313,
+ });
+
+ // Step 2: Bid request
+ events.emit(constants.EVENTS.BID_REQUESTED, {
+ auctionId: auction_id,
+ auctionStart: 1509369418387,
+ timeout: 3000,
+ bids: [
+ {
+ bidder: 'vuble',
+ params: {
+ env: 'net',
+ pubId: '3',
+ zoneId: '12345',
+ floorPrice: 5.50 // optional
+ },
+ sizes: [[640, 360]],
+ mediaTypes: {
+ video: {
+ context: 'instream'
+ }
+ },
+ bidId: 'abdc'
+ },
+ {
+ bidder: 'vuble',
+ params: {
+ env: 'com',
+ pubId: '8',
+ zoneId: '2468',
+ referrer: 'http://www.vuble.fr/'
+ },
+ sizes: '640x360',
+ mediaTypes: {
+ video: {
+ context: 'outstream'
+ }
+ },
+ bidId: 'efgh',
+ },
+ ],
+ });
+
+ // Step 3: Bid response
+ events.emit(constants.EVENTS.BID_RESPONSE, {
+ width: '640',
+ height: '360',
+ pub_id: '3',
+ dealId: 'aDealId',
+ zone_id: '12345',
+ context: 'instream',
+ floor_price: 5.5,
+ url: 'http://www.vuble.tv/',
+ env: 'net',
+ bid_id: 'abdc'
+ });
+
+ // Step 4: Bid won
+ events.emit(constants.EVENTS.BID_WON, {
+ adId: 'adIdTestWin',
+ ad: 'adContentTestWin',
+ auctionId: auction_id,
+ width: 640,
+ height: 360
+ });
+
+ // Step 4: Auction end
+ events.emit(constants.EVENTS.AUCTION_END, {
+ auctionId: auction_id
+ });
+
+ // Step 5: Check if the number of call is good (5)
+ sinon.assert.callCount(vubleAnalytics.track, 5);
+ });
+ });
+});
From 033d73351859fc96da338222ee3f540249c0e524 Mon Sep 17 00:00:00 2001
From: Muhammad Usman
Date: Sat, 14 Apr 2018 01:54:36 +0200
Subject: [PATCH 061/171] Widespace adapter (#2283)
Update WideSpce Adapter for Prebid 1.x
---
modules/widespaceBidAdapter.js | 239 ++++++++++++++++++
modules/widespaceBidAdapter.md | 40 +++
test/spec/modules/widespaceBidAdapter_spec.js | 213 ++++++++++++++++
3 files changed, 492 insertions(+)
create mode 100644 modules/widespaceBidAdapter.js
create mode 100644 modules/widespaceBidAdapter.md
create mode 100644 test/spec/modules/widespaceBidAdapter_spec.js
diff --git a/modules/widespaceBidAdapter.js b/modules/widespaceBidAdapter.js
new file mode 100644
index 00000000000..9493428cec7
--- /dev/null
+++ b/modules/widespaceBidAdapter.js
@@ -0,0 +1,239 @@
+import { version } from '../package.json';
+import { config } from 'src/config';
+import { registerBidder } from 'src/adapters/bidderFactory';
+import {
+ cookiesAreEnabled,
+ parseQueryStringParameters,
+ parseSizesInput,
+ getTopWindowReferrer
+} from 'src/utils';
+
+const BIDDER_CODE = 'widespace';
+const WS_ADAPTER_VERSION = '2.0.0';
+const LOCAL_STORAGE_AVAILABLE = window.localStorage;
+const COOKIE_ENABLED = cookiesAreEnabled();
+const LS_KEYS = {
+ PERF_DATA: 'wsPerfData',
+ LC_UID: 'wsLcuid',
+ CUST_DATA: 'wsCustomData'
+};
+
+let preReqTime = 0;
+
+export const spec = {
+ code: BIDDER_CODE,
+
+ supportedMediaTypes: ['banner'],
+
+ isBidRequestValid: function(bid) {
+ if (bid.params && bid.params.sid) {
+ return true;
+ }
+ return false;
+ },
+
+ buildRequests: function(validBidRequests) {
+ let serverRequests = [];
+ const REQUEST_SERVER_URL = getEngineUrl();
+ const DEMO_DATA_PARAMS = ['gender', 'country', 'region', 'postal', 'city', 'yob'];
+ const PERF_DATA = getData(LS_KEYS.PERF_DATA).map(perf_data => JSON.parse(perf_data));
+ const CUST_DATA = getData(LS_KEYS.CUST_DATA, false)[0];
+ const LC_UID = getLcuid();
+
+ let isInHostileIframe = false;
+ try {
+ window.top.location.toString();
+ isInHostileIframe = false;
+ } catch (e) {
+ isInHostileIframe = true;
+ }
+
+ validBidRequests.forEach((bid, i) => {
+ let data = {
+ 'screenWidthPx': screen && screen.width,
+ 'screenHeightPx': screen && screen.height,
+ 'adSpaceHttpRefUrl': getTopWindowReferrer(),
+ 'referer': (isInHostileIframe ? window : window.top).location.href.split('#')[0],
+ 'inFrame': 1,
+ 'sid': bid.params.sid,
+ 'lcuid': LC_UID,
+ 'vol': isInHostileIframe ? '' : visibleOnLoad(document.getElementById(bid.adUnitCode)),
+ 'hb': '1',
+ 'hb.cd': CUST_DATA ? encodedParamValue(CUST_DATA) : '',
+ 'hb.floor': bid.bidfloor || '',
+ 'hb.spb': i === 0 ? pixelSyncPossibility() : -1,
+ 'hb.ver': WS_ADAPTER_VERSION,
+ 'hb.name': `prebidjs-${version}`,
+ 'hb.bidId': bid.bidId,
+ 'hb.sizes': parseSizesInput(bid.sizes).join(','),
+ 'hb.currency': bid.params.cur || bid.params.currency || ''
+ };
+
+ // Include demo data
+ if (bid.params.demo) {
+ DEMO_DATA_PARAMS.forEach((key) => {
+ if (bid.params.demo[key]) {
+ data[key] = bid.params.demo[key];
+ }
+ });
+ }
+
+ // Include performance data
+ if (PERF_DATA[i]) {
+ Object.keys(PERF_DATA[i]).forEach((perfDataKey) => {
+ data[perfDataKey] = PERF_DATA[i][perfDataKey];
+ });
+ }
+
+ // Include connection info if available
+ const CONNECTION = navigator.connection || navigator.webkitConnection;
+ if (CONNECTION && CONNECTION.type && CONNECTION.downlinkMax) {
+ data['netinfo.type'] = CONNECTION.type;
+ data['netinfo.downlinkMax'] = CONNECTION.downlinkMax;
+ }
+
+ // Include debug data when available
+ if (!isInHostileIframe) {
+ const DEBUG_AD = (window.top.location.hash.split('&').find((val) => {
+ return val.includes('WS_DEBUG_FORCEADID');
+ }) || '').split('=')[1];
+ data.forceAdId = DEBUG_AD;
+ }
+
+ // Remove empty params
+ Object.keys(data).forEach((key) => {
+ if (data[key] === '' || data[key] === undefined) {
+ delete data[key];
+ }
+ });
+
+ serverRequests.push({
+ method: 'POST',
+ options: {
+ contentType: 'application/x-www-form-urlencoded'
+ },
+ url: REQUEST_SERVER_URL,
+ data: parseQueryStringParameters(data)
+ });
+ });
+ preReqTime = Date.now();
+ return serverRequests;
+ },
+
+ interpretResponse: function(serverResponse, request) {
+ const responseTime = Date.now() - preReqTime;
+ const successBids = serverResponse.body || [];
+ let bidResponses = [];
+ successBids.forEach((bid) => {
+ storeData({
+ 'perf_status': 'OK',
+ 'perf_reqid': bid.reqId,
+ 'perf_ms': responseTime
+ }, `${LS_KEYS.PERF_DATA}${bid.reqId}`);
+ if (bid.status === 'ad') {
+ bidResponses.push({
+ requestId: bid.bidId,
+ cpm: bid.cpm,
+ width: bid.width,
+ height: bid.height,
+ creativeId: bid.adId,
+ currency: bid.currency,
+ netRevenue: Boolean(bid.netRev),
+ ttl: bid.ttl,
+ referrer: getTopWindowReferrer(),
+ ad: bid.code
+ });
+ }
+ });
+
+ return bidResponses
+ },
+
+ getUserSyncs: function(syncOptions, serverResponses = []) {
+ let userSyncs = [];
+ userSyncs = serverResponses.reduce((allSyncPixels, response) => {
+ if (response && response.body && response.body[0]) {
+ (response.body[0].syncPixels || []).forEach((url) => {
+ allSyncPixels.push({type: 'image', url});
+ });
+ }
+ return allSyncPixels;
+ }, []);
+ return userSyncs;
+ }
+};
+
+function storeData(data, name, stringify = true) {
+ const value = stringify ? JSON.stringify(data) : data;
+ if (LOCAL_STORAGE_AVAILABLE) {
+ localStorage.setItem(name, value);
+ return true;
+ } else if (COOKIE_ENABLED) {
+ const theDate = new Date();
+ const expDate = new Date(theDate.setMonth(theDate.getMonth() + 12)).toGMTString();
+ window.document.cookie = `${name}=${value};path=/;expires=${expDate}`;
+ return true;
+ }
+}
+
+function getData(name, remove = true) {
+ let data = [];
+ if (LOCAL_STORAGE_AVAILABLE) {
+ Object.keys(localStorage).filter((key) => {
+ if (key.includes(name)) {
+ data.push(localStorage.getItem(key));
+ if (remove) {
+ localStorage.removeItem(key);
+ }
+ }
+ });
+ }
+
+ if (COOKIE_ENABLED) {
+ document.cookie.split(';').forEach((item) => {
+ let value = item.split('=');
+ if (value[0].includes(name)) {
+ data.push(value[1]);
+ if (remove) {
+ document.cookie = `${value[0]}=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT;`;
+ }
+ }
+ });
+ }
+ return data;
+}
+
+function pixelSyncPossibility() {
+ const userSync = config.getConfig('userSync');
+ return userSync && userSync.pixelEnabled && userSync.syncEnabled ? userSync.syncsPerBidder : -1;
+}
+
+function visibleOnLoad(element) {
+ if (element && element.getBoundingClientRect) {
+ const topPos = element.getBoundingClientRect().top;
+ return topPos < screen.height && topPos >= window.top.pageYOffset ? 1 : 0;
+ };
+ return '';
+}
+
+function getLcuid() {
+ let lcuid = getData(LS_KEYS.LC_UID, false)[0];
+ if (!lcuid) {
+ const random = ('4' + new Date().getTime() + String(Math.floor(Math.random() * 1000000000))).substring(0, 18);
+ storeData(random, LS_KEYS.LC_UID, false);
+ lcuid = getData(LS_KEYS.LC_UID, false)[0];
+ }
+ return lcuid;
+}
+
+function encodedParamValue(value) {
+ const requiredStringify = typeof JSON.parse(JSON.stringify(value)) === 'object';
+ return encodeURIComponent(requiredStringify ? JSON.stringify(value) : value);
+}
+
+function getEngineUrl() {
+ const ENGINE_URL = 'https://engine.widespace.com/map/engine/dynadreq';
+ return window.wisp && window.wisp.ENGINE_URL ? window.wisp.ENGINE_URL : ENGINE_URL;
+}
+
+registerBidder(spec);
diff --git a/modules/widespaceBidAdapter.md b/modules/widespaceBidAdapter.md
new file mode 100644
index 00000000000..1ca2b61d406
--- /dev/null
+++ b/modules/widespaceBidAdapter.md
@@ -0,0 +1,40 @@
+# Overview
+
+
+**Module Name:** Widespace Bidder Adapter.
+**Module Type:** Bidder Adapter.
+**Maintainer:** support@widespace.com
+
+
+# Description
+
+Widespace Bidder Adapter for Prebid.js.
+Banner and video formats are supported.
+
+# Test Parameters
+```
+ var adUnits = [
+ {
+ code: 'test-div',
+ sizes: [[300, 250], [300, 300]],
+ bids: [
+ {
+ bidder: 'widespace',
+ params: {
+ sid: '7b6589bf-95c8-4656-90b9-af9737bb9ad3', // Required
+ currency: 'EUR', // Optional
+ bidfloor: '0.5', // Optional
+ demo: { // Optional
+ gender: 'M',
+ country: 'Sweden',
+ region: 'Stockholm',
+ postal: '15115',
+ city: 'Stockholm',
+ yob: '1984'
+ }
+ }
+ }
+ ]
+ }
+ ];
+```
diff --git a/test/spec/modules/widespaceBidAdapter_spec.js b/test/spec/modules/widespaceBidAdapter_spec.js
new file mode 100644
index 00000000000..3df5b6bfff2
--- /dev/null
+++ b/test/spec/modules/widespaceBidAdapter_spec.js
@@ -0,0 +1,213 @@
+import { expect } from 'chai';
+import { spec } from 'modules/widespaceBidAdapter';
+
+describe('+widespaceAdatperTest', () => {
+ // Dummy bid request
+ const bidRequest = [{
+ 'adUnitCode': 'div-gpt-ad-1460505748561-0',
+ 'auctionId': 'bf1e57ee-fff2-4304-8143-91aaf423a948',
+ 'bidId': '4045696e2278cd',
+ 'bidder': 'widespace',
+ 'params': {
+ sid: '7b6589bf-95c8-4656-90b9-af9737bb9ad3',
+ currency: 'EUR',
+ demo: {
+ gender: 'M',
+ country: 'Sweden',
+ region: 'Stockholm',
+ postal: '15115',
+ city: 'Stockholm',
+ yob: '1984'
+ }
+ },
+ 'bidderRequestId': '37a5f053efef34',
+ 'sizes': [[320, 320], [300, 250], [300, 300]],
+ 'transactionId': '4f68b713-04ba-4d7f-8df9-643bcdab5efb'
+ }, {
+ 'adUnitCode': 'div-gpt-ad-1460505748561-1',
+ 'auctionId': 'bf1e57ee-fff2-4304-8143-91aaf423a944',
+ 'bidId': '4045696e2278ab',
+ 'bidder': 'widespace',
+ 'params': {
+ sid: '7b6589bf-95c8-4656-90b9-af9737bb9ad4',
+ demo: {
+ gender: 'M',
+ country: 'Sweden',
+ region: 'Stockholm',
+ postal: '15115',
+ city: 'Stockholm',
+ yob: '1984'
+ }
+ },
+ 'bidderRequestId': '37a5f053efef34',
+ 'sizes': [[300, 300]],
+ 'transactionId': '4f68b713-04ba-4d7f-8df9-643bcdab5efv'
+ }];
+
+ // Dummy bid response with ad code
+ const bidResponse = {
+ body: [{
+ 'adId': '12345',
+ 'bidId': '67890',
+ 'code': '
',
+ 'cpm': 6.6,
+ 'currency': 'EUR',
+ 'height': 300,
+ 'netRev': true,
+ 'reqId': '224804081406',
+ 'status': 'ad',
+ 'ttl': 30,
+ 'width': 300,
+ 'syncPixels': ['https://url1.com/url', 'https://url2.com/url']
+ }],
+ headers: {}
+ };
+
+ // Dummy bid response of noad
+ const bidResponseNoAd = {
+ body: [{
+ 'status': 'noad',
+ }],
+ headers: {}
+ };
+
+ // Appending a div with id of adUnitCode so we can calculate vol
+ const div1 = document.createElement('div');
+ div1.id = bidRequest[0].adUnitCode;
+ document.body.appendChild(div1);
+ const div2 = document.createElement('div');
+ div2.id = bidRequest[0].adUnitCode;
+ document.body.appendChild(div2);
+
+ // Adding custom data cookie se we can test cookie is readable
+ const theDate = new Date();
+ const expDate = new Date(theDate.setMonth(theDate.getMonth() + 1)).toGMTString();
+ window.document.cookie = `wsCustomData1={id: test};path=/;expires=${expDate};`;
+ const PERF_DATA = JSON.stringify({perf_status: 'OK', perf_reqid: '226920425154', perf_ms: '747'});
+ window.document.cookie = `wsPerfData123=${PERF_DATA};path=/;expires=${expDate};`;
+
+ // Connect dummy data test
+ navigator.connection.downlinkMax = 80;
+ navigator.connection.type = 'wifi';
+
+ describe('+bidRequestValidity', () => {
+ it('bidRequest with sid and currency params', () => {
+ expect(spec.isBidRequestValid({
+ bidder: 'widespace',
+ params: {
+ sid: '7b6589bf-95c8-4656-90b9-af9737bb9ad3',
+ currency: 'EUR'
+ }
+ })).to.equal(true);
+ });
+
+ it('-bidRequest with missing sid', () => {
+ expect(spec.isBidRequestValid({
+ bidder: 'widespace',
+ params: {
+ currency: 'EUR'
+ }
+ })).to.equal(false);
+ });
+
+ it('-bidRequest with missing currency', () => {
+ expect(spec.isBidRequestValid({
+ bidder: 'widespace',
+ params: {
+ sid: '7b6589bf-95c8-4656-90b9-af9737bb9ad3'
+ }
+ })).to.equal(true);
+ });
+ });
+
+ describe('+bidRequest', () => {
+ const request = spec.buildRequests(bidRequest);
+ const UrlRegExp = /^((ftp|http|https):)?\/\/[^ "]+$/;
+
+ it('-bidRequest method is POST', () => {
+ expect(request[0].method).to.equal('POST');
+ });
+
+ it('-bidRequest url is valid', () => {
+ expect(UrlRegExp.test(request[0].url)).to.equal(true);
+ });
+
+ it('-bidRequest data exist', () => {
+ expect(request[0].data).to.exists;
+ });
+
+ it('-bidRequest data is form data', () => {
+ expect(typeof request[0].data).to.equal('string');
+ });
+
+ it('-bidRequest options have header type', () => {
+ expect(request[0].options.contentType).to.exists;
+ });
+
+ it('-cookie test for wsCustomData ', () => {
+ expect(request[0].data.includes('hb.cd')).to.equal(true);
+ });
+ });
+
+ describe('+interpretResponse', () => {
+ it('-required params available in response', () => {
+ const result = spec.interpretResponse(bidResponse, bidRequest);
+ let requiredKeys = [
+ 'requestId',
+ 'cpm',
+ 'width',
+ 'height',
+ 'creativeId',
+ 'currency',
+ 'netRevenue',
+ 'ttl',
+ 'referrer',
+ 'ad'
+ ];
+ const resultKeys = Object.keys(result[0]);
+ requiredKeys.forEach((key) => {
+ expect(resultKeys.includes(key)).to.equal(true);
+ });
+
+ // Each value except referrer should not be empty|null|undefined
+ result.forEach((res) => {
+ Object.keys(res).forEach((resKey) => {
+ if (resKey !== 'referrer') {
+ expect(res[resKey]).to.not.be.null;
+ expect(res[resKey]).to.not.be.undefined;
+ expect(res[resKey]).to.not.equal('');
+ }
+ });
+ });
+ });
+
+ it('-empty result if noad responded', () => {
+ const noAdResult = spec.interpretResponse(bidResponseNoAd, bidRequest);
+ expect(noAdResult.length).to.equal(0);
+ });
+
+ it('-empty response should not breake anything in adapter', () => {
+ const noResponse = spec.interpretResponse({}, bidRequest);
+ expect(noResponse.length).to.equal(0);
+ });
+ });
+
+ describe('+getUserSyncs', () => {
+ it('-always return an array', () => {
+ const userSync_test1 = spec.getUserSyncs({}, [bidResponse]);
+ expect(Array.isArray(userSync_test1)).to.equal(true);
+
+ const userSync_test2 = spec.getUserSyncs({}, [bidResponseNoAd]);
+ expect(Array.isArray(userSync_test2)).to.equal(true);
+
+ const userSync_test3 = spec.getUserSyncs({}, [bidResponse, bidResponseNoAd]);
+ expect(Array.isArray(userSync_test3)).to.equal(true);
+
+ const userSync_test4 = spec.getUserSyncs();
+ expect(Array.isArray(userSync_test4)).to.equal(true);
+
+ const userSync_test5 = spec.getUserSyncs({}, []);
+ expect(Array.isArray(userSync_test5)).to.equal(true);
+ });
+ });
+});
From 77b57f1f4ca3d99c122705525978ea9371a8ab86 Mon Sep 17 00:00:00 2001
From: rtbdemand <33991103+rtbdemand@users.noreply.github.com>
Date: Mon, 16 Apr 2018 05:33:14 -0700
Subject: [PATCH 062/171] Create rtbdemandAdkBidAdapter_spec.js (#2352)
* Create rtbdemandAdkBidAdapter_spec.js
* Update rtbdemandAdkBidAdapter_spec.js
---
.../modules/rtbdemandAdkBidAdapter_spec.js | 268 ++++++++++++++++++
1 file changed, 268 insertions(+)
create mode 100644 test/spec/modules/rtbdemandAdkBidAdapter_spec.js
diff --git a/test/spec/modules/rtbdemandAdkBidAdapter_spec.js b/test/spec/modules/rtbdemandAdkBidAdapter_spec.js
new file mode 100644
index 00000000000..2bd4ea4ce98
--- /dev/null
+++ b/test/spec/modules/rtbdemandAdkBidAdapter_spec.js
@@ -0,0 +1,268 @@
+import {expect} from 'chai';
+import {spec} from 'modules/rtbdemandAdkBidAdapter';
+import * as utils from 'src/utils';
+
+describe('RtbdemandAdk adapter', () => {
+ const bid1_zone1 = {
+ bidder: 'rtbdemandadk',
+ bidId: 'Bid_01',
+ params: {zoneId: 1, host: 'rtb.rtbdemand.com'},
+ placementCode: 'ad-unit-1',
+ sizes: [[300, 250], [300, 200]]
+ }, bid2_zone2 = {
+ bidder: 'rtbdemandadk',
+ bidId: 'Bid_02',
+ params: {zoneId: 2, host: 'rtb.rtbdemand.com'},
+ placementCode: 'ad-unit-2',
+ sizes: [[728, 90]]
+ }, bid3_host2 = {
+ bidder: 'rtbdemandadk',
+ bidId: 'Bid_02',
+ params: {zoneId: 1, host: 'rtb-private.rtbdemand.com'},
+ placementCode: 'ad-unit-2',
+ sizes: [[728, 90]]
+ }, bid_without_zone = {
+ bidder: 'rtbdemandadk',
+ bidId: 'Bid_W',
+ params: {host: 'rtb-private.rtbdemand.com'},
+ placementCode: 'ad-unit-1',
+ sizes: [[728, 90]]
+ }, bid_without_host = {
+ bidder: 'rtbdemandadk',
+ bidId: 'Bid_W',
+ params: {zoneId: 1},
+ placementCode: 'ad-unit-1',
+ sizes: [[728, 90]]
+ }, bid_with_wrong_zoneId = {
+ bidder: 'rtbdemandadk',
+ bidId: 'Bid_02',
+ params: {zoneId: 'wrong id', host: 'rtb.rtbdemand.com'},
+ placementCode: 'ad-unit-2',
+ sizes: [[728, 90]]
+ }, bid_video = {
+ bidder: 'rtbdemandadk',
+ bidId: 'Bid_Video',
+ sizes: [640, 480],
+ mediaType: 'video',
+ params: {
+ zoneId: 1,
+ host: 'rtb.rtbdemand.com',
+ video: {
+ mimes: ['video/mp4', 'video/webm', 'video/x-flv']
+ }
+ },
+ placementCode: 'ad-unit-1'
+ };
+
+ const bidResponse1 = {
+ id: 'bid1',
+ seatbid: [{
+ bid: [{
+ id: '1',
+ impid: 'Bid_01',
+ crid: '100_001',
+ price: 3.01,
+ nurl: 'https://rtb.com/win?i=ZjKoPYSFI3Y_0',
+ adm: '',
+ w: 300,
+ h: 250
+ }]
+ }],
+ cur: 'USD',
+ ext: {
+ adk_usersync: ['http://adk.sync.com/sync']
+ }
+ }, bidResponse2 = {
+ id: 'bid2',
+ seatbid: [{
+ bid: [{
+ id: '2',
+ impid: 'Bid_02',
+ crid: '100_002',
+ price: 1.31,
+ adm: '',
+ w: 300,
+ h: 250
+ }]
+ }],
+ cur: 'USD'
+ }, videoBidResponse = {
+ id: '47ce4badcf7482',
+ seatbid: [{
+ bid: [{
+ id: 'sZSYq5zYMxo_0',
+ impid: 'Bid_Video',
+ crid: '100_003',
+ price: 0.00145,
+ adid: '158801',
+ nurl: 'https://rtb.com/win?i=sZSYq5zYMxo_0&f=nurl',
+ cid: '16855'
+ }]
+ }],
+ cur: 'USD'
+ }, usersyncOnlyResponse = {
+ id: 'nobid1',
+ ext: {
+ adk_usersync: ['http://adk.sync.com/sync']
+ }
+ };
+
+ describe('input parameters validation', () => {
+ it('empty request shouldn\'t generate exception', () => {
+ expect(spec.isBidRequestValid({
+ bidderCode: 'rtbdemandadk'
+ })).to.be.equal(false);
+ });
+
+ it('request without zone shouldn\'t issue a request', () => {
+ expect(spec.isBidRequestValid(bid_without_zone)).to.be.equal(false);
+ });
+
+ it('request without host shouldn\'t issue a request', () => {
+ expect(spec.isBidRequestValid(bid_without_host)).to.be.equal(false);
+ });
+
+ it('empty request shouldn\'t generate exception', () => {
+ expect(spec.isBidRequestValid(bid_with_wrong_zoneId)).to.be.equal(false);
+ });
+ });
+
+ describe('banner request building', () => {
+ let bidRequest;
+ before(() => {
+ let wmock = sinon.stub(utils, 'getTopWindowLocation').callsFake(() => ({
+ protocol: 'https:',
+ hostname: 'example.com',
+ host: 'example.com',
+ pathname: '/index.html',
+ href: 'https://example.com/index.html'
+ }));
+ let dntmock = sinon.stub(utils, 'getDNT').callsFake(() => true);
+ let request = spec.buildRequests([bid1_zone1])[0];
+ bidRequest = JSON.parse(request.data.r);
+ wmock.restore();
+ dntmock.restore();
+ });
+
+ it('should be a first-price auction', () => {
+ expect(bidRequest).to.have.property('at', 1);
+ });
+
+ it('should have banner object', () => {
+ expect(bidRequest.imp[0]).to.have.property('banner');
+ });
+
+ it('should have w/h', () => {
+ expect(bidRequest.imp[0].banner).to.have.property('format');
+ expect(bidRequest.imp[0].banner.format).to.be.eql([{w: 300, h: 250}, {w: 300, h: 200}]);
+ });
+
+ it('should respect secure connection', () => {
+ expect(bidRequest.imp[0]).to.have.property('secure', 1);
+ });
+
+ it('should have tagid', () => {
+ expect(bidRequest.imp[0]).to.have.property('tagid', 'ad-unit-1');
+ });
+
+ it('should create proper site block', () => {
+ expect(bidRequest.site).to.have.property('domain', 'example.com');
+ expect(bidRequest.site).to.have.property('page', 'https://example.com/index.html');
+ });
+
+ it('should fill device with caller macro', () => {
+ expect(bidRequest).to.have.property('device');
+ expect(bidRequest.device).to.have.property('ip', 'caller');
+ expect(bidRequest.device).to.have.property('ua', 'caller');
+ expect(bidRequest.device).to.have.property('dnt', 1);
+ });
+ });
+
+ describe('video request building', () => {
+ let bidRequest;
+
+ before(() => {
+ let request = spec.buildRequests([bid_video])[0];
+ bidRequest = JSON.parse(request.data.r);
+ });
+
+ it('should have video object', () => {
+ expect(bidRequest.imp[0]).to.have.property('video');
+ });
+
+ it('should have h/w', () => {
+ expect(bidRequest.imp[0].video).to.have.property('w', 640);
+ expect(bidRequest.imp[0].video).to.have.property('h', 480);
+ });
+
+ it('should have tagid', () => {
+ expect(bidRequest.imp[0]).to.have.property('tagid', 'ad-unit-1');
+ });
+ });
+
+ describe('requests routing', () => {
+ it('should issue a request for each host', () => {
+ let pbRequests = spec.buildRequests([bid1_zone1, bid3_host2]);
+ expect(pbRequests).to.have.length(2);
+ expect(pbRequests[0].url).to.have.string(`//${bid1_zone1.params.host}/`);
+ expect(pbRequests[1].url).to.have.string(`//${bid3_host2.params.host}/`);
+ });
+
+ it('should issue a request for each zone', () => {
+ let pbRequests = spec.buildRequests([bid1_zone1, bid2_zone2]);
+ expect(pbRequests).to.have.length(2);
+ expect(pbRequests[0].data.zone).to.be.equal(bid1_zone1.params.zoneId);
+ expect(pbRequests[1].data.zone).to.be.equal(bid2_zone2.params.zoneId);
+ });
+ });
+
+ describe('responses processing', () => {
+ it('should return fully-initialized banner bid-response', () => {
+ let request = spec.buildRequests([bid1_zone1])[0];
+ let resp = spec.interpretResponse({body: bidResponse1}, request)[0];
+ expect(resp).to.have.property('requestId', 'Bid_01');
+ expect(resp).to.have.property('cpm', 3.01);
+ expect(resp).to.have.property('width', 300);
+ expect(resp).to.have.property('height', 250);
+ expect(resp).to.have.property('creativeId', '100_001');
+ expect(resp).to.have.property('currency');
+ expect(resp).to.have.property('ttl');
+ expect(resp).to.have.property('mediaType', 'banner');
+ expect(resp).to.have.property('ad');
+ expect(resp.ad).to.have.string('');
+ });
+
+ it('should return fully-initialized video bid-response', () => {
+ let request = spec.buildRequests([bid_video])[0];
+ let resp = spec.interpretResponse({body: videoBidResponse}, request)[0];
+ expect(resp).to.have.property('requestId', 'Bid_Video');
+ expect(resp.mediaType).to.equal('video');
+ expect(resp.cpm).to.equal(0.00145);
+ expect(resp.vastUrl).to.equal('https://rtb.com/win?i=sZSYq5zYMxo_0&f=nurl');
+ expect(resp.width).to.equal(640);
+ expect(resp.height).to.equal(480);
+ });
+
+ it('should add nurl as pixel for banner response', () => {
+ let request = spec.buildRequests([bid1_zone1])[0];
+ let resp = spec.interpretResponse({body: bidResponse1}, request)[0];
+ let expectedNurl = bidResponse1.seatbid[0].bid[0].nurl + '&px=1';
+ expect(resp.ad).to.have.string(expectedNurl);
+ });
+
+ it('should handle bidresponse with user-sync only', () => {
+ let request = spec.buildRequests([bid1_zone1])[0];
+ let resp = spec.interpretResponse({body: usersyncOnlyResponse}, request);
+ expect(resp).to.have.length(0);
+ });
+
+ it('should perform usersync', () => {
+ let syncs = spec.getUserSyncs({iframeEnabled: false}, [{body: bidResponse1}]);
+ expect(syncs).to.have.length(0);
+ syncs = spec.getUserSyncs({iframeEnabled: true}, [{body: bidResponse1}]);
+ expect(syncs).to.have.length(1);
+ expect(syncs[0]).to.have.property('type', 'iframe');
+ expect(syncs[0]).to.have.property('url', 'http://adk.sync.com/sync');
+ });
+ });
+});
From a32070e88c641b0e5ed3a4059c1f1f8d51ed11ed Mon Sep 17 00:00:00 2001
From: jsnellbaker <31102355+jsnellbaker@users.noreply.github.com>
Date: Mon, 16 Apr 2018 11:31:11 -0400
Subject: [PATCH 063/171] add support for video bids to use an impression
tracking URL (#2365)
* initial commit - place AN notify url in vast wrapper imp field
* add unit test for appnexusBidAdapter
* small change in unit test
---
modules/appnexusBidAdapter.js | 1 +
src/videoCache.js | 8 +++++---
test/spec/modules/appnexusBidAdapter_spec.js | 2 ++
test/spec/videoCache_spec.js | 14 ++++++++++++++
4 files changed, 22 insertions(+), 3 deletions(-)
diff --git a/modules/appnexusBidAdapter.js b/modules/appnexusBidAdapter.js
index 034824f6fda..75e48d1ee0b 100644
--- a/modules/appnexusBidAdapter.js
+++ b/modules/appnexusBidAdapter.js
@@ -200,6 +200,7 @@ function newBid(serverBid, rtbBid, bidderRequest) {
width: rtbBid.rtb.video.player_width,
height: rtbBid.rtb.video.player_height,
vastUrl: rtbBid.rtb.video.asset_url,
+ vastImpUrl: rtbBid.notify_url,
ttl: 3600
});
// This supports Outstream Video
diff --git a/src/videoCache.js b/src/videoCache.js
index 2af980316fa..cec2a3ec864 100644
--- a/src/videoCache.js
+++ b/src/videoCache.js
@@ -32,18 +32,20 @@ import { config } from '../src/config';
* Function which wraps a URI that serves VAST XML, so that it can be loaded.
*
* @param {string} uri The URI where the VAST content can be found.
+ * @param {string} impUrl An impression tracker URL for the delivery of the video ad
* @return A VAST URL which loads XML from the given URI.
*/
-function wrapURI(uri) {
+function wrapURI(uri, impUrl) {
// Technically, this is vulnerable to cross-script injection by sketchy vastUrl bids.
// We could make sure it's a valid URI... but since we're loading VAST XML from the
// URL they provide anyway, that's probably not a big deal.
+ let vastImp = (impUrl) ? `` : ``;
return `
prebid.org wrapper
-
+ ${vastImp}
@@ -57,7 +59,7 @@ function wrapURI(uri) {
* @param {CacheableBid} bid
*/
function toStorageRequest(bid) {
- const vastValue = bid.vastXml ? bid.vastXml : wrapURI(bid.vastUrl);
+ const vastValue = bid.vastXml ? bid.vastXml : wrapURI(bid.vastUrl, bid.vastImpUrl);
return {
type: 'xml',
value: vastValue
diff --git a/test/spec/modules/appnexusBidAdapter_spec.js b/test/spec/modules/appnexusBidAdapter_spec.js
index 7038e2e572c..1ba4edfa4ea 100644
--- a/test/spec/modules/appnexusBidAdapter_spec.js
+++ b/test/spec/modules/appnexusBidAdapter_spec.js
@@ -412,6 +412,7 @@ describe('AppNexusAdapter', () => {
'ads': [{
'ad_type': 'video',
'cpm': 0.500000,
+ 'notify_url': 'imptracker.com',
'rtb': {
'video': {
'content': ''
@@ -424,6 +425,7 @@ describe('AppNexusAdapter', () => {
let result = spec.interpretResponse({ body: response }, {bidderRequest});
expect(result[0]).to.have.property('vastUrl');
+ expect(result[0]).to.have.property('vastImpUrl');
expect(result[0]).to.have.property('mediaType', 'video');
});
diff --git a/test/spec/videoCache_spec.js b/test/spec/videoCache_spec.js
index ab52b3be145..b853da708fc 100644
--- a/test/spec/videoCache_spec.js
+++ b/test/spec/videoCache_spec.js
@@ -101,6 +101,20 @@ describe('The video cache', () => {
assertRequestMade({ vastUrl: 'my-mock-url.com' }, expectedValue)
});
+ it('should make the expected request when store() is called on an ad with a vastUrl and a vastImpUrl', () => {
+ const expectedValue = `
+
+
+ prebid.org wrapper
+
+
+
+
+
+ `;
+ assertRequestMade({ vastUrl: 'my-mock-url.com', vastImpUrl: 'imptracker.com' }, expectedValue)
+ });
+
it('should make the expected request when store() is called on an ad with vastXml', () => {
const vastXml = ' ';
assertRequestMade({ vastXml: vastXml }, vastXml);
From 825ab8324d78d3cd95f9a493903c0ede1b487afc Mon Sep 17 00:00:00 2001
From: Spacedragoon
Date: Mon, 16 Apr 2018 17:40:21 +0200
Subject: [PATCH 064/171] Smart: Add prebid version in the data payload (#2394)
* Add prebid version in the data payload
* Changing the doc to include the in-app test params
* fixing url
---
modules/smartadserverBidAdapter.js | 3 ++-
modules/smartadserverBidAdapter.md | 32 ++++++++++++++++++++++++++----
2 files changed, 30 insertions(+), 5 deletions(-)
diff --git a/modules/smartadserverBidAdapter.js b/modules/smartadserverBidAdapter.js
index 02ebbbe06ae..7db4747927a 100644
--- a/modules/smartadserverBidAdapter.js
+++ b/modules/smartadserverBidAdapter.js
@@ -50,7 +50,8 @@ export const spec = {
pageDomain: utils.getTopWindowUrl(),
transactionId: bid.transactionId,
timeout: config.getConfig('bidderTimeout'),
- bidId: bid.bidId
+ bidId: bid.bidId,
+ prebidVersion: '$prebid.version$'
};
var payloadString = JSON.stringify(payload);
return {
diff --git a/modules/smartadserverBidAdapter.md b/modules/smartadserverBidAdapter.md
index 679bead441d..1200c0961a0 100644
--- a/modules/smartadserverBidAdapter.md
+++ b/modules/smartadserverBidAdapter.md
@@ -14,6 +14,8 @@ The Smart adapter requires setup and approval from the Smart team.
Please reach out to your Technical account manager for more information.
# Test Parameters
+
+## Web
```
var adUnits = [
{
@@ -23,13 +25,35 @@ Please reach out to your Technical account manager for more information.
{
bidder: "smart",
params: {
- domain: 'http://prg.smartadserver.com',
+ domain: 'http://ww251.smartadserver.com',
siteId: 207435,
pageId: 896536,
formatId: 62913,
- buId: "com.smartadserver.android.dashboard", // optional
- ckId: 1234567890123456789, // optional
- appName: "Smart AdServer Preview" // optional
+ ckId: 1122334455 // optional
+ }
+ }
+ ]
+ }
+ ];
+```
+
+## In-app
+```
+ var adUnits = [
+ {
+ code: 'test-div',
+ sizes: [[300, 250]], // a display size
+ bids: [
+ {
+ bidder: "smart",
+ params: {
+ domain: 'http://ww251.smartadserver.com',
+ siteId: 207435,
+ pageId: 896536,
+ formatId: 65906,
+ buId: "com.smartadserver.android.dashboard", // in-app only
+ appName: "Smart AdServer Preview", // in-app only
+ ckId: 1122334455 // optional
}
}
]
From fa6e221ede4b00714fc902d07a44ee4dd2e00e47 Mon Sep 17 00:00:00 2001
From: Dorian Wojda
Date: Mon, 16 Apr 2018 17:50:39 +0200
Subject: [PATCH 065/171] Added VIS.X Bidder Adapter (#2359)
---
modules/visxBidAdapter.js | 140 +++++++++
modules/visxBidAdapter.md | 43 +++
test/spec/modules/visxBidAdapter_spec.js | 356 +++++++++++++++++++++++
3 files changed, 539 insertions(+)
create mode 100755 modules/visxBidAdapter.js
create mode 100755 modules/visxBidAdapter.md
create mode 100755 test/spec/modules/visxBidAdapter_spec.js
diff --git a/modules/visxBidAdapter.js b/modules/visxBidAdapter.js
new file mode 100755
index 00000000000..1fad6cd8337
--- /dev/null
+++ b/modules/visxBidAdapter.js
@@ -0,0 +1,140 @@
+import * as utils from 'src/utils';
+import {registerBidder} from 'src/adapters/bidderFactory';
+import { config } from 'src/config';
+const BIDDER_CODE = 'visx';
+const ENDPOINT_URL = '//t.visx.net/hb';
+const TIME_TO_LIVE = 360;
+const DEFAULT_CUR = 'EUR';
+const ADAPTER_SYNC_URL = '//t.visx.net/push_sync';
+const LOG_ERROR_MESS = {
+ noAuid: 'Bid from response has no auid parameter - ',
+ noAdm: 'Bid from response has no adm parameter - ',
+ noBid: 'Array of bid objects is empty',
+ noPlacementCode: 'Can\'t find in requested bids the bid with auid - ',
+ emptyUids: 'Uids should not be empty',
+ emptySeatbid: 'Seatbid array from response has an empty item',
+ emptyResponse: 'Response is empty',
+ hasEmptySeatbidArray: 'Response has empty seatbid array',
+ hasNoArrayOfBids: 'Seatbid from response has no array of bid objects - '
+};
+export const spec = {
+ code: BIDDER_CODE,
+ isBidRequestValid: function(bid) {
+ return !!bid.params.uid;
+ },
+ buildRequests: function(validBidRequests) {
+ const auids = [];
+ const bidsMap = {};
+ const bids = validBidRequests || [];
+ const currency =
+ config.getConfig(`currency.bidderCurrencyDefault.${BIDDER_CODE}`) ||
+ config.getConfig('currency.adServerCurrency') ||
+ DEFAULT_CUR;
+ let priceType = 'net';
+ let reqId;
+
+ bids.forEach(bid => {
+ if (bid.params.priceType === 'gross') {
+ priceType = 'gross';
+ }
+ if (!bidsMap[bid.params.uid]) {
+ bidsMap[bid.params.uid] = [bid];
+ auids.push(bid.params.uid);
+ } else {
+ bidsMap[bid.params.uid].push(bid);
+ }
+ reqId = bid.bidderRequestId;
+ });
+
+ const payload = {
+ u: utils.getTopWindowUrl(),
+ pt: priceType,
+ auids: auids.join(','),
+ test: 1,
+ r: reqId,
+ cur: currency,
+ };
+
+ return {
+ method: 'GET',
+ url: ENDPOINT_URL,
+ data: payload,
+ bidsMap: bidsMap,
+ };
+ },
+ interpretResponse: function(serverResponse, bidRequest) {
+ serverResponse = serverResponse && serverResponse.body;
+ const bidResponses = [];
+ const bidsMap = bidRequest.bidsMap;
+ const priceType = bidRequest.data.pt;
+ const currency = bidRequest.data.cur;
+
+ let errorMessage;
+
+ if (!serverResponse) errorMessage = LOG_ERROR_MESS.emptyResponse;
+ else if (serverResponse.seatbid && !serverResponse.seatbid.length) {
+ errorMessage = LOG_ERROR_MESS.hasEmptySeatbidArray;
+ }
+
+ if (!errorMessage && serverResponse.seatbid) {
+ serverResponse.seatbid.forEach(respItem => {
+ _addBidResponse(_getBidFromResponse(respItem), bidsMap, priceType, currency, bidResponses);
+ });
+ }
+ if (errorMessage) utils.logError(errorMessage);
+ return bidResponses;
+ },
+ getUserSyncs: function(syncOptions) {
+ if (syncOptions.pixelEnabled) {
+ return [{
+ type: 'image',
+ url: ADAPTER_SYNC_URL
+ }];
+ }
+ }
+};
+
+function _getBidFromResponse(respItem) {
+ if (!respItem) {
+ utils.logError(LOG_ERROR_MESS.emptySeatbid);
+ } else if (!respItem.bid) {
+ utils.logError(LOG_ERROR_MESS.hasNoArrayOfBids + JSON.stringify(respItem));
+ } else if (!respItem.bid[0]) {
+ utils.logError(LOG_ERROR_MESS.noBid);
+ }
+ return respItem && respItem.bid && respItem.bid[0];
+}
+
+function _addBidResponse(serverBid, bidsMap, priceType, currency, bidResponses) {
+ if (!serverBid) return;
+ let errorMessage;
+ if (!serverBid.auid) errorMessage = LOG_ERROR_MESS.noAuid + JSON.stringify(serverBid);
+ if (!serverBid.adm) errorMessage = LOG_ERROR_MESS.noAdm + JSON.stringify(serverBid);
+ else {
+ const awaitingBids = bidsMap[serverBid.auid];
+ if (awaitingBids) {
+ awaitingBids.forEach(bid => {
+ const bidResponse = {
+ requestId: bid.bidId,
+ cpm: serverBid.price,
+ width: serverBid.w,
+ height: serverBid.h,
+ creativeId: serverBid.auid,
+ currency: currency || DEFAULT_CUR,
+ netRevenue: priceType !== 'gross',
+ ttl: TIME_TO_LIVE,
+ ad: serverBid.adm,
+ dealId: serverBid.dealid
+ };
+ bidResponses.push(bidResponse);
+ });
+ } else {
+ errorMessage = LOG_ERROR_MESS.noPlacementCode + serverBid.auid;
+ }
+ }
+ if (errorMessage) {
+ utils.logError(errorMessage);
+ }
+}
+
+registerBidder(spec);
diff --git a/modules/visxBidAdapter.md b/modules/visxBidAdapter.md
new file mode 100755
index 00000000000..7d5981132c2
--- /dev/null
+++ b/modules/visxBidAdapter.md
@@ -0,0 +1,43 @@
+# Overview
+
+```
+Module Name: VIS.X Bidder Adapter
+Module Type: Bidder Adapter
+Maintainer: service@yoc.com
+```
+
+# Description
+
+Module that connects to VIS.X demand source to fetch bids.
+
+# Test Parameters
+```
+ var adUnits = [
+ // YOC Mystery Ad adUnit
+ {
+ code: 'yma-test-div',
+ sizes: [[1, 1]],
+ bids: [
+ {
+ bidder: 'visx',
+ params: {
+ uid: '903535'
+ }
+ }
+ ]
+ },
+ // YOC Understitial Ad adUnit
+ {
+ code: 'yua-test-div',
+ sizes: [[300, 250]],
+ bids: [
+ {
+ bidder: 'visx',
+ params: {
+ uid: '903536'
+ }
+ }
+ ]
+ }
+ ];
+```
\ No newline at end of file
diff --git a/test/spec/modules/visxBidAdapter_spec.js b/test/spec/modules/visxBidAdapter_spec.js
new file mode 100755
index 00000000000..20b056adf6d
--- /dev/null
+++ b/test/spec/modules/visxBidAdapter_spec.js
@@ -0,0 +1,356 @@
+import { expect } from 'chai';
+import { spec } from 'modules/visxBidAdapter';
+import { config } from 'src/config';
+import { newBidder } from 'src/adapters/bidderFactory';
+
+describe('VisxAdapter', function () {
+ const adapter = newBidder(spec);
+
+ describe('inherited functions', () => {
+ it('exists and is a function', () => {
+ expect(adapter.callBids).to.exist.and.to.be.a('function');
+ });
+ });
+
+ describe('isBidRequestValid', () => {
+ let bid = {
+ 'bidder': 'visx',
+ 'params': {
+ 'uid': '903536'
+ },
+ 'adUnitCode': 'adunit-code',
+ 'sizes': [[300, 250], [300, 600]],
+ 'bidId': '30b31c1838de1e',
+ 'bidderRequestId': '22edbae2733bf6',
+ 'auctionId': '1d1a030790a475',
+ };
+
+ it('should return true when required params found', () => {
+ expect(spec.isBidRequestValid(bid)).to.equal(true);
+ });
+
+ it('should return false when required params are not passed', () => {
+ let bid = Object.assign({}, bid);
+ delete bid.params;
+ bid.params = {
+ 'uid': 0
+ };
+ expect(spec.isBidRequestValid(bid)).to.equal(false);
+ });
+ });
+
+ describe('buildRequests', () => {
+ let bidRequests = [
+ {
+ 'bidder': 'visx',
+ 'params': {
+ 'uid': '903535'
+ },
+ 'adUnitCode': 'adunit-code-1',
+ 'sizes': [[300, 250], [300, 600]],
+ 'bidId': '30b31c1838de1e',
+ 'bidderRequestId': '22edbae2733bf6',
+ 'auctionId': '1d1a030790a475',
+ },
+ {
+ 'bidder': 'visx',
+ 'params': {
+ 'uid': '903535'
+ },
+ 'adUnitCode': 'adunit-code-2',
+ 'sizes': [[728, 90]],
+ 'bidId': '3150ccb55da321',
+ 'bidderRequestId': '22edbae2733bf6',
+ 'auctionId': '1d1a030790a475',
+ },
+ {
+ 'bidder': 'visx',
+ 'params': {
+ 'uid': '903536'
+ },
+ 'adUnitCode': 'adunit-code-1',
+ 'sizes': [[300, 250], [300, 600]],
+ 'bidId': '42dbe3a7168a6a',
+ 'bidderRequestId': '22edbae2733bf6',
+ 'auctionId': '1d1a030790a475',
+ }
+ ];
+
+ it('should attach valid params to the tag', () => {
+ const request = spec.buildRequests([bidRequests[0]]);
+ const payload = request.data;
+ expect(payload).to.be.an('object');
+ expect(payload).to.have.property('u').that.is.a('string');
+ expect(payload).to.have.property('pt', 'net');
+ expect(payload).to.have.property('auids', '903535');
+ expect(payload).to.have.property('r', '22edbae2733bf6');
+ expect(payload).to.have.property('cur', 'EUR');
+ });
+
+ it('auids must not be duplicated', () => {
+ const request = spec.buildRequests(bidRequests);
+ const payload = request.data;
+ expect(payload).to.be.an('object');
+ expect(payload).to.have.property('u').that.is.a('string');
+ expect(payload).to.have.property('pt', 'net');
+ expect(payload).to.have.property('auids', '903535,903536');
+ expect(payload).to.have.property('r', '22edbae2733bf6');
+ expect(payload).to.have.property('cur', 'EUR');
+ });
+
+ it('pt parameter must be "gross" if params.priceType === "gross"', () => {
+ bidRequests[1].params.priceType = 'gross';
+ const request = spec.buildRequests(bidRequests);
+ const payload = request.data;
+ expect(payload).to.be.an('object');
+ expect(payload).to.have.property('u').that.is.a('string');
+ expect(payload).to.have.property('pt', 'gross');
+ expect(payload).to.have.property('auids', '903535,903536');
+ expect(payload).to.have.property('r', '22edbae2733bf6');
+ expect(payload).to.have.property('cur', 'EUR');
+ delete bidRequests[1].params.priceType;
+ });
+
+ it('pt parameter must be "net" or "gross"', () => {
+ bidRequests[1].params.priceType = 'some';
+ const request = spec.buildRequests(bidRequests);
+ const payload = request.data;
+ expect(payload).to.be.an('object');
+ expect(payload).to.have.property('u').that.is.a('string');
+ expect(payload).to.have.property('pt', 'net');
+ expect(payload).to.have.property('auids', '903535,903536');
+ expect(payload).to.have.property('r', '22edbae2733bf6');
+ expect(payload).to.have.property('cur', 'EUR');
+ delete bidRequests[1].params.priceType;
+ });
+ it('should add currency from currency.bidderCurrencyDefault', () => {
+ const getConfigStub = sinon.stub(config, 'getConfig').callsFake(
+ arg => arg === 'currency.bidderCurrencyDefault.visx' ? 'JPY' : 'USD');
+ const request = spec.buildRequests(bidRequests);
+ const payload = request.data;
+ expect(payload).to.be.an('object');
+ expect(payload).to.have.property('u').that.is.a('string');
+ expect(payload).to.have.property('pt', 'net');
+ expect(payload).to.have.property('auids', '903535,903536');
+ expect(payload).to.have.property('r', '22edbae2733bf6');
+ expect(payload).to.have.property('cur', 'JPY');
+ getConfigStub.restore();
+ });
+ it('should add currency from currency.adServerCurrency', () => {
+ const getConfigStub = sinon.stub(config, 'getConfig').callsFake(
+ arg => arg === 'currency.bidderCurrencyDefault.visx' ? '' : 'USD');
+ const request = spec.buildRequests(bidRequests);
+ const payload = request.data;
+ expect(payload).to.be.an('object');
+ expect(payload).to.have.property('u').that.is.a('string');
+ expect(payload).to.have.property('pt', 'net');
+ expect(payload).to.have.property('auids', '903535,903536');
+ expect(payload).to.have.property('r', '22edbae2733bf6');
+ expect(payload).to.have.property('cur', 'USD');
+ getConfigStub.restore();
+ });
+ });
+
+ describe('interpretResponse', () => {
+ const responses = [
+ {'bid': [{'price': 1.15, 'adm': 'test content 1
', 'auid': 903535, 'h': 250, 'w': 300}], 'seat': '1'},
+ {'bid': [{'price': 0.5, 'adm': 'test content 2
', 'auid': 903536, 'h': 90, 'w': 728}], 'seat': '1'},
+ {'bid': [{'price': 0, 'auid': 903536, 'h': 250, 'w': 300}], 'seat': '1'},
+ {'bid': [{'price': 0, 'adm': 'test content 4
', 'h': 250, 'w': 300}], 'seat': '1'},
+ undefined,
+ {'bid': [], 'seat': '1'},
+ {'seat': '1'},
+ ];
+
+ it('should get correct bid response', () => {
+ const bidRequests = [
+ {
+ 'bidder': 'visx',
+ 'params': {
+ 'uid': '903535'
+ },
+ 'adUnitCode': 'adunit-code-1',
+ 'sizes': [[300, 250], [300, 600]],
+ 'bidId': '659423fff799cb',
+ 'bidderRequestId': '5f2009617a7c0a',
+ 'auctionId': '1cbd2feafe5e8b',
+ }
+ ];
+ const request = spec.buildRequests(bidRequests);
+ const expectedResponse = [
+ {
+ 'requestId': '659423fff799cb',
+ 'cpm': 1.15,
+ 'creativeId': 903535,
+ 'dealId': undefined,
+ 'width': 300,
+ 'height': 250,
+ 'ad': 'test content 1
',
+ 'currency': 'EUR',
+ 'netRevenue': true,
+ 'ttl': 360,
+ }
+ ];
+
+ const result = spec.interpretResponse({'body': {'seatbid': [responses[0]]}}, request);
+ expect(result).to.deep.equal(expectedResponse);
+ });
+
+ it('should get correct multi bid response', () => {
+ const bidRequests = [
+ {
+ 'bidder': 'visx',
+ 'params': {
+ 'uid': '903535'
+ },
+ 'adUnitCode': 'adunit-code-1',
+ 'sizes': [[300, 250], [300, 600]],
+ 'bidId': '300bfeb0d71a5b',
+ 'bidderRequestId': '2c2bb1972df9a',
+ 'auctionId': '1fa09aee5c8c99',
+ },
+ {
+ 'bidder': 'visx',
+ 'params': {
+ 'uid': '903536'
+ },
+ 'adUnitCode': 'adunit-code-1',
+ 'sizes': [[300, 250], [300, 600]],
+ 'bidId': '4dff80cc4ee346',
+ 'bidderRequestId': '2c2bb1972df9a',
+ 'auctionId': '1fa09aee5c8c99',
+ },
+ {
+ 'bidder': 'visx',
+ 'params': {
+ 'uid': '903535'
+ },
+ 'adUnitCode': 'adunit-code-2',
+ 'sizes': [[728, 90]],
+ 'bidId': '5703af74d0472a',
+ 'bidderRequestId': '2c2bb1972df9a',
+ 'auctionId': '1fa09aee5c8c99',
+ }
+ ];
+ const request = spec.buildRequests(bidRequests);
+ const expectedResponse = [
+ {
+ 'requestId': '300bfeb0d71a5b',
+ 'cpm': 1.15,
+ 'creativeId': 903535,
+ 'dealId': undefined,
+ 'width': 300,
+ 'height': 250,
+ 'ad': 'test content 1
',
+ 'currency': 'EUR',
+ 'netRevenue': true,
+ 'ttl': 360,
+ },
+ {
+ 'requestId': '5703af74d0472a',
+ 'cpm': 1.15,
+ 'creativeId': 903535,
+ 'dealId': undefined,
+ 'width': 300,
+ 'height': 250,
+ 'ad': 'test content 1
',
+ 'currency': 'EUR',
+ 'netRevenue': true,
+ 'ttl': 360,
+ },
+ {
+ 'requestId': '4dff80cc4ee346',
+ 'cpm': 0.5,
+ 'creativeId': 903536,
+ 'dealId': undefined,
+ 'width': 728,
+ 'height': 90,
+ 'ad': 'test content 2
',
+ 'currency': 'EUR',
+ 'netRevenue': true,
+ 'ttl': 360,
+ }
+ ];
+
+ const result = spec.interpretResponse({'body': {'seatbid': [responses[0], responses[1]]}}, request);
+ expect(result).to.deep.equal(expectedResponse);
+ });
+
+ it('should return right currency', () => {
+ const bidRequests = [
+ {
+ 'bidder': 'visx',
+ 'params': {
+ 'uid': '903535'
+ },
+ 'adUnitCode': 'adunit-code-1',
+ 'sizes': [[300, 250], [300, 600]],
+ 'bidId': '659423fff799cb',
+ 'bidderRequestId': '5f2009617a7c0a',
+ 'auctionId': '1cbd2feafe5e8b',
+ }
+ ];
+ const getConfigStub = sinon.stub(config, 'getConfig').returns('JPY');
+ const request = spec.buildRequests(bidRequests);
+ const expectedResponse = [
+ {
+ 'requestId': '659423fff799cb',
+ 'cpm': 1.15,
+ 'creativeId': 903535,
+ 'dealId': undefined,
+ 'width': 300,
+ 'height': 250,
+ 'ad': 'test content 1
',
+ 'currency': 'JPY',
+ 'netRevenue': true,
+ 'ttl': 360,
+ }
+ ];
+
+ const result = spec.interpretResponse({'body': {'seatbid': [responses[0]]}}, request);
+ expect(result).to.deep.equal(expectedResponse);
+ getConfigStub.restore();
+ });
+
+ it('handles wrong and nobid responses', () => {
+ const bidRequests = [
+ {
+ 'bidder': 'visx',
+ 'params': {
+ 'uid': '903536'
+ },
+ 'adUnitCode': 'adunit-code-1',
+ 'sizes': [[300, 250], [300, 600]],
+ 'bidId': '300bfeb0d7190gf',
+ 'bidderRequestId': '2c2bb1972d23af',
+ 'auctionId': '1fa09aee5c84d34',
+ },
+ {
+ 'bidder': 'visx',
+ 'params': {
+ 'uid': '903538'
+ },
+ 'adUnitCode': 'adunit-code-1',
+ 'sizes': [[300, 250], [300, 600]],
+ 'bidId': '300bfeb0d71321',
+ 'bidderRequestId': '2c2bb1972d23af',
+ 'auctionId': '1fa09aee5c84d34',
+ },
+ {
+ 'bidder': 'visx',
+ 'params': {
+ 'uid': '903539'
+ },
+ 'adUnitCode': 'adunit-code-2',
+ 'sizes': [[728, 90]],
+ 'bidId': '300bfeb0d7183bb',
+ 'bidderRequestId': '2c2bb1972d23af',
+ 'auctionId': '1fa09aee5c84d34',
+ }
+ ];
+ const request = spec.buildRequests(bidRequests);
+ const result = spec.interpretResponse({'body': {'seatbid': responses.slice(2)}}, request);
+ expect(result.length).to.equal(0);
+ });
+ });
+});
From 1557315f3f4cb44987c17cd486fef3c401e32b41 Mon Sep 17 00:00:00 2001
From: Unruly Developers
Date: Mon, 16 Apr 2018 18:02:08 +0100
Subject: [PATCH 066/171] Add Unruly Bid Adapter (#2326)
* Add Unruly Bid Adapter
* Replace placementCode with adUnitCode
---
integrationExamples/gpt/unruly_example.html | 120 ++++++++++++
modules/unrulyBidAdapter.js | 101 ++++++++++
modules/unrulyBidAdapter.md | 31 +++
test/spec/modules/unrulyBidAdapter_spec.js | 206 ++++++++++++++++++++
4 files changed, 458 insertions(+)
create mode 100644 integrationExamples/gpt/unruly_example.html
create mode 100644 modules/unrulyBidAdapter.js
create mode 100644 modules/unrulyBidAdapter.md
create mode 100644 test/spec/modules/unrulyBidAdapter_spec.js
diff --git a/integrationExamples/gpt/unruly_example.html b/integrationExamples/gpt/unruly_example.html
new file mode 100644
index 00000000000..77a9b02b3dd
--- /dev/null
+++ b/integrationExamples/gpt/unruly_example.html
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ test
+
+
+
+
+
+
+
+
+
diff --git a/modules/unrulyBidAdapter.js b/modules/unrulyBidAdapter.js
new file mode 100644
index 00000000000..94fa716799a
--- /dev/null
+++ b/modules/unrulyBidAdapter.js
@@ -0,0 +1,101 @@
+import * as utils from 'src/utils'
+import { Renderer } from 'src/Renderer'
+import { registerBidder } from 'src/adapters/bidderFactory'
+import { VIDEO } from 'src/mediaTypes'
+
+function configureUniversalTag (exchangeRenderer) {
+ parent.window.unruly = parent.window.unruly || {};
+ parent.window.unruly['native'] = parent.window.unruly['native'] || {};
+ parent.window.unruly['native'].siteId = parent.window.unruly['native'].siteId || exchangeRenderer.siteId;
+ parent.window.unruly['native'].supplyMode = 'prebid';
+}
+
+function configureRendererQueue () {
+ parent.window.unruly['native'].prebid = parent.window.unruly['native'].prebid || {};
+ parent.window.unruly['native'].prebid.uq = parent.window.unruly['native'].prebid.uq || [];
+}
+
+function notifyRenderer (bidResponseBid) {
+ parent.window.unruly['native'].prebid.uq.push(['render', bidResponseBid]);
+}
+
+const serverResponseToBid = (bid, rendererInstance) => ({
+ requestId: bid.bidId,
+ cpm: bid.cpm,
+ width: bid.width,
+ height: bid.height,
+ vastUrl: bid.vastUrl,
+ netRevenue: true,
+ creativeId: bid.bidId,
+ ttl: 360,
+ currency: 'USD',
+ renderer: rendererInstance
+});
+
+const buildPrebidResponseAndInstallRenderer = bids =>
+ bids
+ .filter(serverBid => !!utils.deepAccess(serverBid, 'ext.renderer'))
+ .map(serverBid => {
+ const exchangeRenderer = utils.deepAccess(serverBid, 'ext.renderer');
+ configureUniversalTag(exchangeRenderer);
+ configureRendererQueue();
+
+ const rendererInstance = Renderer.install(Object.assign({}, exchangeRenderer, { callback: () => {} }));
+ return { rendererInstance, serverBid };
+ })
+ .map(
+ ({rendererInstance, serverBid}) => {
+ const prebidBid = serverResponseToBid(serverBid, rendererInstance);
+
+ const rendererConfig = Object.assign(
+ {},
+ prebidBid,
+ {
+ renderer: rendererInstance,
+ adUnitCode: serverBid.ext.adUnitCode
+ }
+ );
+
+ rendererInstance.setRender(() => { notifyRenderer(rendererConfig) });
+
+ return prebidBid;
+ }
+ );
+
+export const adapter = {
+ code: 'unruly',
+ supportedMediaTypes: [ VIDEO ],
+ isBidRequestValid: function(bid) {
+ if (!bid) return false;
+
+ const context = utils.deepAccess(bid, 'mediaTypes.video.context');
+
+ return bid.mediaType === 'video' || context === 'outstream';
+ },
+
+ buildRequests: function(validBidRequests) {
+ const url = 'https://targeting.unrulymedia.com/prebid';
+ const method = 'POST';
+ const data = { bidRequests: validBidRequests };
+ const options = { contentType: 'application/json' };
+
+ return {
+ url,
+ method,
+ data,
+ options,
+ };
+ },
+
+ interpretResponse: function(serverResponse = {}) {
+ const serverResponseBody = serverResponse.body;
+ const noBidsResponse = [];
+ const isInvalidResponse = !serverResponseBody || !serverResponseBody.bids;
+
+ return isInvalidResponse
+ ? noBidsResponse
+ : buildPrebidResponseAndInstallRenderer(serverResponseBody.bids);
+ }
+};
+
+registerBidder(adapter);
diff --git a/modules/unrulyBidAdapter.md b/modules/unrulyBidAdapter.md
new file mode 100644
index 00000000000..fc3c6c264be
--- /dev/null
+++ b/modules/unrulyBidAdapter.md
@@ -0,0 +1,31 @@
+# Overview
+
+**Module Name**: Unruly Bid Adapter
+**Module Type**: Bidder Adapter
+**Maintainer**: prodev@unrulymedia.com
+
+# Description
+
+Module that connects to UnrulyX for bids.
+
+# Test Parameters
+
+```js
+ const adUnits = [{
+ code: 'ad-slot',
+ sizes: [[728, 90], [300, 250]],
+ mediaTypes: {
+ video: {
+ context: 'outstream'
+ }
+ },
+ bids: [{
+ bidder: 'unruly',
+ params: {
+ targetingUUID: '6f15e139-5f18-49a1-b52f-87e5e69ee65e',
+ siteId: 1081534
+ }
+ }
+ ]
+ }];
+```
diff --git a/test/spec/modules/unrulyBidAdapter_spec.js b/test/spec/modules/unrulyBidAdapter_spec.js
new file mode 100644
index 00000000000..e4eaa35d662
--- /dev/null
+++ b/test/spec/modules/unrulyBidAdapter_spec.js
@@ -0,0 +1,206 @@
+/* globals describe, it, beforeEach, afterEach, sinon */
+import { expect } from 'chai'
+import * as utils from 'src/utils'
+import { STATUS } from 'src/constants'
+import { VIDEO } from 'src/mediaTypes'
+import { Renderer } from 'src/Renderer'
+import { adapter } from 'modules/unrulyBidAdapter'
+
+describe('UnrulyAdapter', () => {
+ function createOutStreamExchangeBid({
+ adUnitCode = 'placement2',
+ statusCode = 1,
+ bidId = 'foo',
+ vastUrl = 'https://targeting.unrulymedia.com/in_article?uuid=74544e00-d43b-4f3a-a799-69d22ce979ce&supported_mime_type=application/javascript&supported_mime_type=video/mp4&tj=%7B%22site%22%3A%7B%22lang%22%3A%22en-GB%22%2C%22ref%22%3A%22%22%2C%22page%22%3A%22http%3A%2F%2Fdemo.unrulymedia.com%2FinArticle%2Finarticle_nypost_upbeat%2Ftravel_magazines.html%22%2C%22domain%22%3A%22demo.unrulymedia.com%22%7D%2C%22user%22%3A%7B%22profile%22%3A%7B%22quantcast%22%3A%7B%22segments%22%3A%5B%7B%22id%22%3A%22D%22%7D%2C%7B%22id%22%3A%22T%22%7D%5D%7D%7D%7D%7D&video_width=618&video_height=347'
+ }) {
+ return {
+ 'ext': {
+ 'statusCode': statusCode,
+ 'renderer': {
+ 'id': 'unruly_inarticle',
+ 'config': {},
+ 'url': 'https://video.unrulymedia.com/native/prebid-loader.js'
+ },
+ 'adUnitCode': adUnitCode
+ },
+ 'cpm': 20,
+ 'bidderCode': 'unruly',
+ 'width': 323,
+ 'vastUrl': vastUrl,
+ 'bidId': bidId,
+ 'height': 323
+ }
+ }
+
+ const createExchangeResponse = (...bids) => ({
+ body: { bids }
+ });
+
+ let sandbox;
+ let fakeRenderer;
+
+ beforeEach(() => {
+ sandbox = sinon.sandbox.create();
+ sandbox.stub(utils, 'logError');
+ sandbox.stub(Renderer, 'install');
+
+ fakeRenderer = {
+ setRender: sinon.stub()
+ };
+ Renderer.install.returns(fakeRenderer)
+ });
+
+ afterEach(() => {
+ sandbox.restore();
+ delete parent.window.unruly
+ });
+
+ it('should expose Unruly Bidder code', () => {
+ expect(adapter.code).to.equal('unruly')
+ });
+
+ it('should contain the VIDEO mediaType', function () {
+ expect(adapter.supportedMediaTypes).to.deep.equal([ VIDEO ])
+ });
+
+ describe('isBidRequestValid', () => {
+ it('should be a function', () => {
+ expect(typeof adapter.isBidRequestValid).to.equal('function')
+ });
+
+ it('should return false if bid is falsey', () => {
+ expect(adapter.isBidRequestValid()).to.be.false;
+ });
+
+ it('should return true if bid.mediaType is "video"', () => {
+ const mockBid = { mediaType: 'video' };
+
+ expect(adapter.isBidRequestValid(mockBid)).to.be.true;
+ });
+
+ it('should return true if bid.mediaTypes.video.context is "outstream"', () => {
+ const mockBid = {
+ mediaTypes: {
+ video: {
+ context: 'outstream'
+ }
+ }
+ };
+
+ expect(adapter.isBidRequestValid(mockBid)).to.be.true;
+ });
+ });
+
+ describe('buildRequests', () => {
+ it('should be a function', () => {
+ expect(typeof adapter.buildRequests).to.equal('function');
+ });
+ it('should return an object', () => {
+ const mockBidRequests = ['mockBid'];
+ expect(typeof adapter.buildRequests(mockBidRequests)).to.equal('object')
+ });
+ it('should return a server request with a valid exchange url', () => {
+ const mockBidRequests = ['mockBid'];
+ expect(adapter.buildRequests(mockBidRequests).url).to.equal('https://targeting.unrulymedia.com/prebid')
+ });
+ it('should return a server request with method === POST', () => {
+ const mockBidRequests = ['mockBid'];
+ expect(adapter.buildRequests(mockBidRequests).method).to.equal('POST');
+ });
+ it('should ensure contentType is `application/json`', function () {
+ const mockBidRequests = ['mockBid'];
+ expect(adapter.buildRequests(mockBidRequests).options).to.deep.equal({
+ contentType: 'application/json'
+ });
+ });
+ it('should return a server request with valid payload', () => {
+ const mockBidRequests = ['mockBid'];
+ expect(adapter.buildRequests(mockBidRequests).data).to.deep.equal({bidRequests: mockBidRequests})
+ })
+ });
+
+ describe('interpretResponse', () => {
+ it('should be a function', () => {
+ expect(typeof adapter.interpretResponse).to.equal('function');
+ });
+ it('should return empty array when serverResponse is undefined', () => {
+ expect(adapter.interpretResponse()).to.deep.equal([]);
+ });
+ it('should return empty array when serverResponse has no bids', () => {
+ const mockServerResponse = { body: { bids: [] } };
+ expect(adapter.interpretResponse(mockServerResponse)).to.deep.equal([])
+ });
+ it('should return array of bids when receive a successful response from server', () => {
+ const mockExchangeBid = createOutStreamExchangeBid({adUnitCode: 'video1', bidId: 'mockBidId'});
+ const mockServerResponse = createExchangeResponse(mockExchangeBid);
+ expect(adapter.interpretResponse(mockServerResponse)).to.deep.equal([
+ {
+ requestId: 'mockBidId',
+ cpm: 20,
+ width: 323,
+ height: 323,
+ vastUrl: 'https://targeting.unrulymedia.com/in_article?uuid=74544e00-d43b-4f3a-a799-69d22ce979ce&supported_mime_type=application/javascript&supported_mime_type=video/mp4&tj=%7B%22site%22%3A%7B%22lang%22%3A%22en-GB%22%2C%22ref%22%3A%22%22%2C%22page%22%3A%22http%3A%2F%2Fdemo.unrulymedia.com%2FinArticle%2Finarticle_nypost_upbeat%2Ftravel_magazines.html%22%2C%22domain%22%3A%22demo.unrulymedia.com%22%7D%2C%22user%22%3A%7B%22profile%22%3A%7B%22quantcast%22%3A%7B%22segments%22%3A%5B%7B%22id%22%3A%22D%22%7D%2C%7B%22id%22%3A%22T%22%7D%5D%7D%7D%7D%7D&video_width=618&video_height=347',
+ netRevenue: true,
+ creativeId: 'mockBidId',
+ ttl: 360,
+ currency: 'USD',
+ renderer: fakeRenderer
+ }
+ ])
+ });
+
+ it('should initialize and set the renderer', () => {
+ expect(Renderer.install).not.to.have.been.called;
+ expect(fakeRenderer.setRender).not.to.have.been.called;
+
+ const mockReturnedBid = createOutStreamExchangeBid({adUnitCode: 'video1', bidId: 'mockBidId'});
+ const mockRenderer = { url: 'value: mockRendererURL' };
+ mockReturnedBid.ext.renderer = mockRenderer;
+ const mockServerResponse = createExchangeResponse(mockReturnedBid);
+
+ adapter.interpretResponse(mockServerResponse);
+
+ expect(Renderer.install).to.have.been.calledOnce;
+ sinon.assert.calledWithExactly(
+ Renderer.install,
+ Object.assign({}, mockRenderer, {callback: sinon.match.func})
+ );
+
+ sinon.assert.calledOnce(fakeRenderer.setRender);
+ sinon.assert.calledWithExactly(fakeRenderer.setRender, sinon.match.func)
+ });
+
+ it('bid is placed on the bid queue when render is called', () => {
+ const exchangeBid = createOutStreamExchangeBid({ adUnitCode: 'video', vastUrl: 'value: vastUrl' });
+ const exchangeResponse = createExchangeResponse(exchangeBid);
+
+ adapter.interpretResponse(exchangeResponse);
+
+ sinon.assert.calledOnce(fakeRenderer.setRender);
+ fakeRenderer.setRender.firstCall.args[0]();
+
+ expect(window.top).to.have.deep.property('unruly.native.prebid.uq');
+
+ const uq = window.top.unruly.native.prebid.uq;
+ const sentRendererConfig = uq[0][1];
+
+ expect(uq[0][0]).to.equal('render');
+ expect(sentRendererConfig.vastUrl).to.equal('value: vastUrl');
+ expect(sentRendererConfig.renderer).to.equal(fakeRenderer);
+ expect(sentRendererConfig.adUnitCode).to.equal('video')
+ })
+
+ it('should ensure that renderer is placed in Prebid supply mode', () => {
+ const mockExchangeBid = createOutStreamExchangeBid({adUnitCode: 'video1', bidId: 'mockBidId'});
+ const mockServerResponse = createExchangeResponse(mockExchangeBid);
+
+ expect('unruly' in window.parent).to.equal(false);
+
+ adapter.interpretResponse(mockServerResponse);
+
+ const supplyMode = window.parent.unruly.native.supplyMode;
+
+ expect(supplyMode).to.equal('prebid');
+ });
+ });
+});
From 4d1249c2bd6b6c097668e78a7919025a611fa2f5 Mon Sep 17 00:00:00 2001
From: Jaimin Panchal
Date: Mon, 16 Apr 2018 16:50:23 -0400
Subject: [PATCH 067/171] Unit test failures (#2405)
---
modules/widespaceBidAdapter.js | 12 +++++++-----
test/spec/modules/widespaceBidAdapter_spec.js | 12 ++++++++----
2 files changed, 15 insertions(+), 9 deletions(-)
diff --git a/modules/widespaceBidAdapter.js b/modules/widespaceBidAdapter.js
index 9493428cec7..7905bd8d28c 100644
--- a/modules/widespaceBidAdapter.js
+++ b/modules/widespaceBidAdapter.js
@@ -7,6 +7,8 @@ import {
parseSizesInput,
getTopWindowReferrer
} from 'src/utils';
+import includes from 'core-js/library/fn/array/includes';
+import find from 'core-js/library/fn/array/find';
const BIDDER_CODE = 'widespace';
const WS_ADAPTER_VERSION = '2.0.0';
@@ -94,9 +96,9 @@ export const spec = {
// Include debug data when available
if (!isInHostileIframe) {
- const DEBUG_AD = (window.top.location.hash.split('&').find((val) => {
- return val.includes('WS_DEBUG_FORCEADID');
- }) || '').split('=')[1];
+ const DEBUG_AD = (find(window.top.location.hash.split('&'),
+ val => includes(val, 'WS_DEBUG_FORCEADID')
+ ) || '').split('=')[1];
data.forceAdId = DEBUG_AD;
}
@@ -180,7 +182,7 @@ function getData(name, remove = true) {
let data = [];
if (LOCAL_STORAGE_AVAILABLE) {
Object.keys(localStorage).filter((key) => {
- if (key.includes(name)) {
+ if (key.indexOf(name) > -1) {
data.push(localStorage.getItem(key));
if (remove) {
localStorage.removeItem(key);
@@ -192,7 +194,7 @@ function getData(name, remove = true) {
if (COOKIE_ENABLED) {
document.cookie.split(';').forEach((item) => {
let value = item.split('=');
- if (value[0].includes(name)) {
+ if (value[0].indexOf(name) > -1) {
data.push(value[1]);
if (remove) {
document.cookie = `${value[0]}=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT;`;
diff --git a/test/spec/modules/widespaceBidAdapter_spec.js b/test/spec/modules/widespaceBidAdapter_spec.js
index 3df5b6bfff2..e1c922c2b9c 100644
--- a/test/spec/modules/widespaceBidAdapter_spec.js
+++ b/test/spec/modules/widespaceBidAdapter_spec.js
@@ -1,5 +1,6 @@
import { expect } from 'chai';
import { spec } from 'modules/widespaceBidAdapter';
+import includes from 'core-js/library/fn/array/includes';
describe('+widespaceAdatperTest', () => {
// Dummy bid request
@@ -87,8 +88,11 @@ describe('+widespaceAdatperTest', () => {
window.document.cookie = `wsPerfData123=${PERF_DATA};path=/;expires=${expDate};`;
// Connect dummy data test
- navigator.connection.downlinkMax = 80;
- navigator.connection.type = 'wifi';
+ const CONNECTION = navigator.connection || navigator.webkitConnection;
+ if (CONNECTION && CONNECTION.type && CONNECTION.downlinkMax) {
+ navigator.connection.downlinkMax = 80;
+ navigator.connection.type = 'wifi';
+ }
describe('+bidRequestValidity', () => {
it('bidRequest with sid and currency params', () => {
@@ -145,7 +149,7 @@ describe('+widespaceAdatperTest', () => {
});
it('-cookie test for wsCustomData ', () => {
- expect(request[0].data.includes('hb.cd')).to.equal(true);
+ expect(request[0].data.indexOf('hb.cd') > -1).to.equal(true);
});
});
@@ -166,7 +170,7 @@ describe('+widespaceAdatperTest', () => {
];
const resultKeys = Object.keys(result[0]);
requiredKeys.forEach((key) => {
- expect(resultKeys.includes(key)).to.equal(true);
+ expect(includes(resultKeys, key)).to.equal(true);
});
// Each value except referrer should not be empty|null|undefined
From a589ac2dbae041b4d5d727571a73dcd98ad251c0 Mon Sep 17 00:00:00 2001
From: Jimmy Tu
Date: Mon, 16 Apr 2018 14:34:33 -0700
Subject: [PATCH 068/171] Removed the ability for to override any standard
query parameters (#2402)
---
modules/openxBidAdapter.js | 55 +++++-----
test/spec/modules/openxBidAdapter_spec.js | 123 +++++++++++++++++-----
2 files changed, 124 insertions(+), 54 deletions(-)
diff --git a/modules/openxBidAdapter.js b/modules/openxBidAdapter.js
index 7cbfd459e2d..4a1e1f1451b 100644
--- a/modules/openxBidAdapter.js
+++ b/modules/openxBidAdapter.js
@@ -8,17 +8,12 @@ import {parse} from 'src/url';
const SUPPORTED_AD_TYPES = [BANNER, VIDEO];
const BIDDER_CODE = 'openx';
const BIDDER_CONFIG = 'hb_pb';
-const BIDDER_VERSION = '2.0.1';
+const BIDDER_VERSION = '2.0.2';
export const spec = {
code: BIDDER_CODE,
supportedMediaTypes: SUPPORTED_AD_TYPES,
isBidRequestValid: function (bidRequest) {
- if (isVideoRequest(bidRequest)) {
- if (!utils.deepAccess(bidRequest, 'params.video.url')) {
- return false;
- }
- }
return !!(bidRequest.params.unit && bidRequest.params.delDomain);
},
buildRequests: function (bidRequests) {
@@ -214,10 +209,10 @@ function registerUserSync(mediaType, responseObj) {
}
}
-function buildOXBannerRequest(bids) {
+function buildCommonQueryParamsFromBids(bids) {
const isInIframe = utils.inIframe();
- let queryParams = {
+ return {
ju: config.getConfig('pageUrl') || utils.getTopWindowUrl(),
jr: utils.getTopWindowReferrer(),
ch: document.charSet || document.characterSet,
@@ -226,12 +221,17 @@ function buildOXBannerRequest(bids) {
tz: new Date().getTimezoneOffset(),
tws: getViewportDimensions(isInIframe),
be: 1,
- bc: bids[0].params.bc || `${BIDDER_CONFIG}_${BIDDER_VERSION}`,
- nocache: new Date().getTime(),
- auid: utils._map(bids, bid => bid.params.unit).join(','),
dddid: utils._map(bids, bid => bid.transactionId).join(','),
- aus: utils._map(bids, bid => utils.parseSizesInput(bid.sizes).join(',')).join('|')
+ nocache: new Date().getTime(),
};
+}
+
+function buildOXBannerRequest(bids) {
+ let queryParams = buildCommonQueryParamsFromBids(bids);
+
+ queryParams.auid = utils._map(bids, bid => bid.params.unit).join(',');
+ queryParams.aus = utils._map(bids, bid => utils.parseSizesInput(bid.sizes).join(',')).join('|');
+ queryParams.bc = bids[0].params.bc || `${BIDDER_CONFIG}_${BIDDER_VERSION}`;
let customParamsForAllBids = [];
let hasCustomParam = false;
@@ -284,10 +284,10 @@ function buildOXVideoRequest(bid) {
}
function generateVideoParameters(bid) {
- let oxVideo = bid.params.video;
+ let queryParams = buildCommonQueryParamsFromBids([bid]);
+ let oxVideoConfig = utils.deepAccess(bid, 'params.video') || {};
let context = utils.deepAccess(bid, 'mediaTypes.video.context');
let playerSize = utils.deepAccess(bid, 'mediaTypes.video.playerSize');
- let oxVideoParams = {auid: bid.params.unit};
let width;
let height;
@@ -303,26 +303,31 @@ function generateVideoParameters(bid) {
height = parseInt(playerSize[1], 10);
}
- Object.keys(oxVideo).forEach(function (key) {
+ Object.keys(oxVideoConfig).forEach(function (key) {
if (key === 'openrtb') {
- oxVideoParams[key] = JSON.stringify(oxVideo[key]);
- } else {
- oxVideoParams[key] = oxVideo[key];
+ oxVideoConfig[key].w = width || oxVideoConfig[key].w;
+ oxVideoConfig[key].v = height || oxVideoConfig[key].v;
+ queryParams[key] = JSON.stringify(oxVideoConfig[key]);
+ } else if (!(key in queryParams) && key !== 'url') {
+ // only allow video-related attributes
+ queryParams[key] = oxVideoConfig[key];
}
});
- // defaults
- oxVideoParams.be = '1';
-
+ queryParams.auid = bid.params.unit;
// override prebid config with openx config if available
- oxVideoParams.vwd = width || oxVideo.vwd;
- oxVideoParams.vht = height || oxVideo.vht;
+ queryParams.vwd = width || oxVideoConfig.vwd;
+ queryParams.vht = height || oxVideoConfig.vht;
if (context === 'outstream') {
- oxVideoParams.vos = '101';
+ queryParams.vos = '101';
+ }
+
+ if (oxVideoConfig.mimes) {
+ queryParams.vmimes = oxVideoConfig.mimes;
}
- return oxVideoParams;
+ return queryParams;
}
function createVideoBidResponses(response, {bid, startTime}) {
diff --git a/test/spec/modules/openxBidAdapter_spec.js b/test/spec/modules/openxBidAdapter_spec.js
index d780cb3d3e9..1fb7e6f600b 100644
--- a/test/spec/modules/openxBidAdapter_spec.js
+++ b/test/spec/modules/openxBidAdapter_spec.js
@@ -1,7 +1,6 @@
import {expect} from 'chai';
import {spec} from 'modules/openxBidAdapter';
import {newBidder} from 'src/adapters/bidderFactory';
-import {BANNER, VIDEO} from 'src/mediaTypes';
import {userSync} from 'src/userSync';
const URLBASE = '/w/1.0/arj';
@@ -55,14 +54,11 @@ describe('OpenxAdapter', () => {
params: {
unit: '12345678',
delDomain: 'test-del-domain',
- video: {
- be: 'true',
- url: 'abc.com'
- }
},
adUnitCode: 'adunit-code',
- mediaTypes: {video: {}},
- sizes: [640, 480],
+ mediaTypes: {video: {
+ playerSize: [640, 480]
+ }},
bidId: '30b31c1838de1e',
bidderRequestId: '22edbae2733bf6',
auctionId: '1d1a030790a475',
@@ -73,11 +69,7 @@ describe('OpenxAdapter', () => {
'bidder': 'openx',
'params': {
'unit': '12345678',
- 'delDomain': 'test-del-domain',
- 'video': {
- 'be': 'true',
- 'url': 'abc.com'
- }
+ 'delDomain': 'test-del-domain'
},
'adUnitCode': 'adunit-code',
'mediaTypes': 'video',
@@ -250,10 +242,7 @@ describe('OpenxAdapter', () => {
},
'params': {
'unit': '12345678',
- 'delDomain': 'test-del-domain',
- 'video': {
- 'url': 'abc.com'
- }
+ 'delDomain': 'test-del-domain'
},
'adUnitCode': 'adunit-code',
@@ -268,10 +257,7 @@ describe('OpenxAdapter', () => {
'mediaType': 'video',
'params': {
'unit': '12345678',
- 'delDomain': 'test-del-domain',
- 'video': {
- 'url': 'abc.com'
- }
+ 'delDomain': 'test-del-domain'
},
'adUnitCode': 'adunit-code',
'sizes': [640, 480],
@@ -298,10 +284,95 @@ describe('OpenxAdapter', () => {
const dataParams = request[0].data;
expect(dataParams.auid).to.equal('12345678');
- expect(dataParams.url).to.equal('abc.com');
expect(dataParams.vht).to.equal(480);
expect(dataParams.vwd).to.equal(640);
});
+
+ describe('when using the video param', function () {
+ let videoBidRequest;
+
+ beforeEach(function () {
+ videoBidRequest = {
+ 'bidder': 'openx',
+ 'mediaTypes': {
+ video: {
+ context: 'instream',
+ playerSize: [640, 480]
+ }
+ },
+ 'params': {
+ 'unit': '12345678',
+ 'delDomain': 'test-del-domain',
+ },
+ 'adUnitCode': 'adunit-code',
+ 'bidId': '30b31c1838de1e',
+ 'bidderRequestId': '22edbae2733bf6',
+ 'auctionId': '1d1a030790a475',
+ 'transactionId': '4008d88a-8137-410b-aa35-fbfdabcb478e'
+ }
+ });
+
+ it('should not allow you to set a url', function () {
+ videoBidRequest.params.video = {
+ url: 'test-url'
+ };
+ const request = spec.buildRequests([videoBidRequest]);
+
+ expect(request[0].data.url).to.be.undefined;
+ });
+
+ it('should not allow you to override the javascript url', function () {
+ let myUrl = 'my-url';
+ videoBidRequest.params.video = {
+ ju: myUrl
+ };
+ const request = spec.buildRequests([videoBidRequest]);
+
+ expect(request[0].data.ju).to.not.equal(myUrl);
+ });
+
+ describe('when using the openRtb param', function () {
+ it('should covert the param to a JSON string', function () {
+ let myOpenRTBObject = {};
+ videoBidRequest.params.video = {
+ openrtb: myOpenRTBObject
+ };
+ const request = spec.buildRequests([videoBidRequest]);
+
+ expect(request[0].data.openrtb).to.equal(JSON.stringify(myOpenRTBObject));
+ });
+
+ it("should use the bidRequest's playerSize when it is available", function () {
+ const width = 200;
+ const height = 100;
+ const myOpenRTBObject = {v: height, w: width};
+ videoBidRequest.params.video = {
+ openrtb: myOpenRTBObject
+ };
+ const request = spec.buildRequests([videoBidRequest]);
+ const openRtbRequestParams = JSON.parse(request[0].data.openrtb);
+
+ expect(openRtbRequestParams.w).to.not.equal(width);
+ expect(openRtbRequestParams.v).to.not.equal(height);
+ });
+
+ it('should use the the openRTB\'s sizing when the bidRequest\'s playerSize is not available', function () {
+ const width = 200;
+ const height = 100;
+ const myOpenRTBObject = {v: height, w: width};
+ videoBidRequest.params.video = {
+ openrtb: myOpenRTBObject
+ };
+ videoBidRequest.mediaTypes.video.playerSize = undefined;
+
+ const request = spec.buildRequests([videoBidRequest]);
+ const openRtbRequestParams = JSON.parse(request[0].data.openrtb);
+
+ expect(openRtbRequestParams.w).to.equal(width);
+ expect(openRtbRequestParams.v).to.equal(height);
+ });
+ });
+ });
});
describe('interpretResponse for banner ads', () => {
@@ -430,10 +501,7 @@ describe('OpenxAdapter', () => {
'mediaTypes': {video: {}},
'params': {
'unit': '12345678',
- 'delDomain': 'test-del-domain',
- 'video': {
- 'url': 'abc.com'
- }
+ 'delDomain': 'test-del-domain'
},
'adUnitCode': 'adunit-code',
'sizes': [640, 480],
@@ -447,10 +515,7 @@ describe('OpenxAdapter', () => {
'mediaType': 'video',
'params': {
'unit': '12345678',
- 'delDomain': 'test-del-domain',
- 'video': {
- 'url': 'abc.com'
- }
+ 'delDomain': 'test-del-domain'
},
'adUnitCode': 'adunit-code',
'sizes': [640, 480],
From a76420cda9b62c19b2c93dbdd1966af40b84729e Mon Sep 17 00:00:00 2001
From: Matt Kendall <1870166+mkendall07@users.noreply.github.com>
Date: Tue, 17 Apr 2018 10:49:32 -0400
Subject: [PATCH 069/171] deprecate loadScript and add loadExternalScript
(#2391)
---
src/adloader.js | 30 +++++++++++++++++++++++++++++-
src/prebid.js | 2 +-
2 files changed, 30 insertions(+), 2 deletions(-)
diff --git a/src/adloader.js b/src/adloader.js
index db95f27569d..6f2bd112712 100644
--- a/src/adloader.js
+++ b/src/adloader.js
@@ -1,7 +1,35 @@
var utils = require('./utils');
let _requestCache = {};
-// add a script tag to the page, used to add /jpt call to page
+/**
+ * Loads external javascript. Can only be used if external JS is approved by Prebid. See https://github.com/prebid/prebid-js-external-js-template#policy
+ * @param {string} url the url to load
+ * @param {string} moduleCode bidderCode or module code of the module requesting this resource
+ */
+exports.loadExternalScript = function(url, moduleCode) {
+ if (!moduleCode || !url) {
+ utils.logError('cannot load external script without url and moduleCode');
+ return;
+ }
+ utils.logWarn(`module ${moduleCode} is loading external JavaScript`);
+ const script = document.createElement('script');
+ script.type = 'text/javascript';
+ script.async = true;
+
+ script.src = url;
+
+ // add the new script tag to the page
+ const target = document.head || document.body;
+ if (target) {
+ target.appendChild(script);
+ }
+};
+
+/**
+ *
+ * @deprecated
+ * Do not use this function. Will be removed in the next release. If external resources are required, use #loadExternalScript instead.
+ */
exports.loadScript = function (tagSrc, callback, cacheRequest) {
// var noop = () => {};
//
diff --git a/src/prebid.js b/src/prebid.js
index 935860acf35..0dcf286c3bf 100644
--- a/src/prebid.js
+++ b/src/prebid.js
@@ -474,7 +474,7 @@ $$PREBID_GLOBAL$$.createBid = function (statusCode) {
};
/**
- * Wrapper to adloader.loadScript
+ * @deprecated this function will be removed in the next release. Prebid has deprected external JS loading.
* @param {string} tagSrc [description]
* @param {Function} callback [description]
* @alias module:pbjs.loadScript
From 1b29d1f9404c5a61458659f81ecb85d14222b957 Mon Sep 17 00:00:00 2001
From: Sigmoid
Date: Tue, 17 Apr 2018 21:08:47 +0530
Subject: [PATCH 070/171] Add analytics adapter by Sigmoid (#2316)
* Add analytics adapter and tests
* Linting code
* +Linting code
* Date change
* ++Linting code
* +++Fix Linting
* Add docs
* Remove dead code and alert
* Change let to const and typo fix
* use includes by importing from core-js
* +use includes by importing from core-js
* Increase test coverage to 75%
* Fix travis build error
* +Fix travis build error
---
modules/sigmoidAnalyticsAdapter.js | 285 ++++++++++++++++++
modules/sigmoidAnalyticsAdapter.md | 23 ++
.../modules/sigmoidAnalyticsAdapter_spec.js | 67 ++++
3 files changed, 375 insertions(+)
create mode 100644 modules/sigmoidAnalyticsAdapter.js
create mode 100644 modules/sigmoidAnalyticsAdapter.md
create mode 100644 test/spec/modules/sigmoidAnalyticsAdapter_spec.js
diff --git a/modules/sigmoidAnalyticsAdapter.js b/modules/sigmoidAnalyticsAdapter.js
new file mode 100644
index 00000000000..c8c5cc70c53
--- /dev/null
+++ b/modules/sigmoidAnalyticsAdapter.js
@@ -0,0 +1,285 @@
+/* Sigmoid Analytics Adapter for prebid.js v1.1.0-pre
+Updated : 2018-03-28 */
+import includes from 'core-js/library/fn/array/includes';
+import adapter from 'src/AnalyticsAdapter';
+import CONSTANTS from 'src/constants.json';
+import adaptermanager from 'src/adaptermanager';
+
+const utils = require('src/utils');
+
+const url = 'https://kinesis.us-east-1.amazonaws.com/';
+const analyticsType = 'endpoint';
+
+const auctionInitConst = CONSTANTS.EVENTS.AUCTION_INIT;
+const auctionEndConst = CONSTANTS.EVENTS.AUCTION_END;
+const bidWonConst = CONSTANTS.EVENTS.BID_WON;
+const bidRequestConst = CONSTANTS.EVENTS.BID_REQUESTED;
+const bidAdjustmentConst = CONSTANTS.EVENTS.BID_ADJUSTMENT;
+const bidResponseConst = CONSTANTS.EVENTS.BID_RESPONSE;
+
+let initOptions = { publisherIds: [], utmTagData: [], adUnits: [] };
+let bidWon = {options: {}, events: []};
+let eventStack = {options: {}, events: []};
+
+let auctionStatus = 'not_started';
+
+let localStoragePrefix = 'sigmoid_analytics_';
+let utmTags = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content'];
+let utmTimeoutKey = 'utm_timeout';
+let utmTimeout = 60 * 60 * 1000;
+let sessionTimeout = 60 * 60 * 1000;
+let sessionIdStorageKey = 'session_id';
+let sessionTimeoutKey = 'session_timeout';
+
+function getParameterByName(param) {
+ let vars = {};
+ window.location.href.replace(location.hash, '').replace(
+ /[?&]+([^=&]+)=?([^&]*)?/gi,
+ function(m, key, value) {
+ vars[key] = value !== undefined ? value : '';
+ }
+ );
+
+ return vars[param] ? vars[param] : '';
+}
+
+function buildSessionIdLocalStorageKey() {
+ return localStoragePrefix.concat(sessionIdStorageKey);
+}
+
+function buildSessionIdTimeoutLocalStorageKey() {
+ return localStoragePrefix.concat(sessionTimeoutKey);
+}
+
+function updateSessionId() {
+ if (isSessionIdTimeoutExpired()) {
+ let newSessionId = utils.generateUUID();
+ localStorage.setItem(buildSessionIdLocalStorageKey(), newSessionId);
+ }
+ initOptions.sessionId = getSessionId();
+ updateSessionIdTimeout();
+}
+
+function updateSessionIdTimeout() {
+ localStorage.setItem(buildSessionIdTimeoutLocalStorageKey(), Date.now());
+}
+
+function isSessionIdTimeoutExpired() {
+ let cpmSessionTimestamp = localStorage.getItem(buildSessionIdTimeoutLocalStorageKey());
+ return Date.now() - cpmSessionTimestamp > sessionTimeout;
+}
+
+function getSessionId() {
+ return localStorage.getItem(buildSessionIdLocalStorageKey()) ? localStorage.getItem(buildSessionIdLocalStorageKey()) : '';
+}
+
+function updateUtmTimeout() {
+ localStorage.setItem(buildUtmLocalStorageTimeoutKey(), Date.now());
+}
+
+function isUtmTimeoutExpired() {
+ let utmTimestamp = localStorage.getItem(buildUtmLocalStorageTimeoutKey());
+ return (Date.now() - utmTimestamp) > utmTimeout;
+}
+
+function buildUtmLocalStorageTimeoutKey() {
+ return localStoragePrefix.concat(utmTimeoutKey);
+}
+
+function buildUtmLocalStorageKey(utmMarkKey) {
+ return localStoragePrefix.concat(utmMarkKey);
+}
+
+function checkOptions() {
+ if (typeof initOptions.publisherIds === 'undefined') {
+ return false;
+ }
+
+ return initOptions.publisherIds.length > 0;
+}
+
+function checkAdUnitConfig() {
+ if (typeof initOptions.adUnits === 'undefined') {
+ return false;
+ }
+
+ return initOptions.adUnits.length > 0;
+}
+
+function buildBidWon(eventType, args) {
+ bidWon.options = initOptions;
+ if (checkAdUnitConfig()) {
+ if (includes(initOptions.adUnits, args.adUnitCode)) {
+ bidWon.events = [{ args: args, eventType: eventType }];
+ }
+ } else {
+ bidWon.events = [{ args: args, eventType: eventType }];
+ }
+}
+
+function buildEventStack() {
+ eventStack.options = initOptions;
+}
+
+function filterBidsByAdUnit(bids) {
+ var filteredBids = [];
+ bids.forEach(function (bid) {
+ if (includes(initOptions.adUnits, bid.placementCode)) {
+ filteredBids.push(bid);
+ }
+ });
+ return filteredBids;
+}
+
+function isValidEvent(eventType, adUnitCode) {
+ if (checkAdUnitConfig()) {
+ let validationEvents = [bidAdjustmentConst, bidResponseConst, bidWonConst];
+ if (!includes(initOptions.adUnits, adUnitCode) && includes(validationEvents, eventType)) {
+ return false;
+ }
+ }
+ return true;
+}
+
+function isValidEventStack() {
+ if (eventStack.events.length > 0) {
+ return eventStack.events.some(function(event) {
+ return bidRequestConst === event.eventType || bidWonConst === event.eventType;
+ });
+ }
+ return false;
+}
+
+function isValidBidWon() {
+ return bidWon.events.length > 0;
+}
+
+function flushEventStack() {
+ eventStack.events = [];
+}
+
+let sigmoidAdapter = Object.assign(adapter({url, analyticsType}),
+ {
+ track({eventType, args}) {
+ if (!checkOptions()) {
+ return;
+ }
+
+ let info = Object.assign({}, args);
+
+ if (info && info.ad) {
+ info.ad = '';
+ }
+
+ if (eventType === auctionInitConst) {
+ auctionStatus = 'started';
+ }
+
+ if (eventType === bidWonConst && auctionStatus === 'not_started') {
+ updateSessionId();
+ buildBidWon(eventType, info);
+ if (isValidBidWon()) {
+ send(eventType, bidWon, 'bidWon');
+ }
+ return;
+ }
+
+ if (eventType === auctionEndConst) {
+ updateSessionId();
+ buildEventStack();
+ if (isValidEventStack()) {
+ send(eventType, eventStack, 'eventStack');
+ }
+ auctionStatus = 'not_started';
+ } else {
+ pushEvent(eventType, info);
+ }
+ },
+
+ });
+
+sigmoidAdapter.originEnableAnalytics = sigmoidAdapter.enableAnalytics;
+
+sigmoidAdapter.enableAnalytics = function (config) {
+ initOptions = config.options;
+ initOptions.utmTagData = this.buildUtmTagData();
+ utils.logInfo('Sigmoid Analytics enabled with config', initOptions);
+ sigmoidAdapter.originEnableAnalytics(config);
+};
+
+sigmoidAdapter.buildUtmTagData = function () {
+ let utmTagData = {};
+ let utmTagsDetected = false;
+ utmTags.forEach(function(utmTagKey) {
+ let utmTagValue = getParameterByName(utmTagKey);
+ if (utmTagValue !== '') {
+ utmTagsDetected = true;
+ }
+ utmTagData[utmTagKey] = utmTagValue;
+ });
+ utmTags.forEach(function(utmTagKey) {
+ if (utmTagsDetected) {
+ localStorage.setItem(buildUtmLocalStorageKey(utmTagKey), utmTagData[utmTagKey]);
+ updateUtmTimeout();
+ } else {
+ if (!isUtmTimeoutExpired()) {
+ utmTagData[utmTagKey] = localStorage.getItem(buildUtmLocalStorageKey(utmTagKey)) ? localStorage.getItem(buildUtmLocalStorageKey(utmTagKey)) : '';
+ updateUtmTimeout();
+ }
+ }
+ });
+ return utmTagData;
+};
+
+function send(eventType, data, sendDataType) {
+ AWS.config.credentials = new AWS.Credentials({
+ accessKeyId: 'accesskey', secretAccessKey: 'secretkey'
+ });
+
+ AWS.config.region = 'us-east-1';
+ AWS.config.credentials.get(function(err) {
+ // attach event listener
+ if (err) {
+ utils.logError(err);
+ return;
+ }
+ // create kinesis service object
+ var kinesis = new AWS.Kinesis({
+ apiVersion: '2013-12-02'
+ });
+ var dataList = [];
+ var jsonData = {};
+ jsonData['Data'] = JSON.stringify(data) + '\n';
+ jsonData['PartitionKey'] = 'partition-' + Math.random().toString(36).substring(7);
+ dataList.push(jsonData);
+ kinesis.putRecords({
+ Records: dataList,
+ StreamName: 'sample-stream'
+ });
+ if (sendDataType === 'eventStack') {
+ flushEventStack();
+ }
+ });
+};
+
+function pushEvent(eventType, args) {
+ if (eventType === bidRequestConst) {
+ if (checkAdUnitConfig()) {
+ args.bids = filterBidsByAdUnit(args.bids);
+ }
+ if (args.bids.length > 0) {
+ eventStack.events.push({ eventType: eventType, args: args });
+ }
+ } else {
+ if (isValidEvent(eventType, args.adUnitCode)) {
+ eventStack.events.push({ eventType: eventType, args: args });
+ }
+ }
+}
+
+adaptermanager.registerAnalyticsAdapter({
+ adapter: sigmoidAdapter,
+ code: 'sigmoid'
+});
+
+export default sigmoidAdapter;
diff --git a/modules/sigmoidAnalyticsAdapter.md b/modules/sigmoidAnalyticsAdapter.md
new file mode 100644
index 00000000000..8ff46c7f2be
--- /dev/null
+++ b/modules/sigmoidAnalyticsAdapter.md
@@ -0,0 +1,23 @@
+# Overview
+Module Name: Sigmoid Analytics Adapter
+
+Module Type: Analytics Adapter
+
+Maintainer: ramees@sigmoidanalytics.com
+
+# Description
+
+Analytics adapter for Sigmoid. We are an advanced analytical solutions company.
+https://www.sigmoid.com/
+
+# Test Parameters
+
+```
+{
+ provider: 'sigmoid',
+ options : {
+ publisherIds: ["3gxdf18d32"]
+ }
+}
+
+```
diff --git a/test/spec/modules/sigmoidAnalyticsAdapter_spec.js b/test/spec/modules/sigmoidAnalyticsAdapter_spec.js
new file mode 100644
index 00000000000..115c296d489
--- /dev/null
+++ b/test/spec/modules/sigmoidAnalyticsAdapter_spec.js
@@ -0,0 +1,67 @@
+import sigmoidAnalytic from 'modules/sigmoidAnalyticsAdapter';
+import { expect } from 'chai';
+let events = require('src/events');
+let adaptermanager = require('src/adaptermanager');
+let constants = require('src/constants.json');
+
+describe('sigmoid Prebid Analytic', function () {
+ let xhr;
+ before(() => {
+ xhr = sinon.useFakeXMLHttpRequest();
+ })
+ after(() => {
+ sigmoidAnalytic.disableAnalytics();
+ xhr.restore();
+ });
+
+ describe('enableAnalytics', function () {
+ beforeEach(() => {
+ sinon.spy(sigmoidAnalytic, 'track');
+ sinon.stub(events, 'getEvents').returns([]);
+ });
+
+ afterEach(() => {
+ sigmoidAnalytic.track.restore();
+ events.getEvents.restore();
+ });
+ it('should catch all events', function () {
+ adaptermanager.registerAnalyticsAdapter({
+ code: 'sigmoid',
+ adapter: sigmoidAnalytic
+ });
+
+ adaptermanager.enableAnalytics({
+ provider: 'sigmoid',
+ options: {
+ publisherIds: ['test_sigmoid_prebid_analytid_publisher_id']
+ }
+ });
+
+ events.emit(constants.EVENTS.AUCTION_INIT, {});
+ events.emit(constants.EVENTS.AUCTION_END, {});
+ events.emit(constants.EVENTS.BID_REQUESTED, {});
+ events.emit(constants.EVENTS.BID_RESPONSE, {});
+ events.emit(constants.EVENTS.BID_WON, {});
+
+ sinon.assert.callCount(sigmoidAnalytic.track, 5);
+ });
+ });
+ describe('build utm tag data', () => {
+ beforeEach(() => {
+ localStorage.setItem('sigmoid_analytics_utm_source', 'utm_source');
+ localStorage.setItem('sigmoid_analytics_utm_medium', 'utm_medium');
+ localStorage.setItem('sigmoid_analytics_utm_campaign', '');
+ localStorage.setItem('sigmoid_analytics_utm_term', '');
+ localStorage.setItem('sigmoid_analytics_utm_content', '');
+ localStorage.setItem('sigmoid_analytics_utm_timeout', Date.now());
+ });
+ it('should build utm data from local storage', () => {
+ let utmTagData = sigmoidAnalytic.buildUtmTagData();
+ expect(utmTagData.utm_source).to.equal('utm_source');
+ expect(utmTagData.utm_medium).to.equal('utm_medium');
+ expect(utmTagData.utm_campaign).to.equal('');
+ expect(utmTagData.utm_term).to.equal('');
+ expect(utmTagData.utm_content).to.equal('');
+ });
+ });
+});
From bddef91b853c29ef3c2e028eaff93b3cd4fdaa2c Mon Sep 17 00:00:00 2001
From: John Salis
Date: Tue, 17 Apr 2018 12:20:10 -0400
Subject: [PATCH 071/171] Add outstream renderer to Beachfront adapter (#2403)
* Added renderer to bidder adapter
* Start playback immediately
* Fix test case
---
modules/beachfrontBidAdapter.js | 29 +++++++++++++++++++
.../spec/modules/beachfrontBidAdapter_spec.js | 18 +++++++++++-
2 files changed, 46 insertions(+), 1 deletion(-)
diff --git a/modules/beachfrontBidAdapter.js b/modules/beachfrontBidAdapter.js
index ee46195b766..fc191e306d4 100644
--- a/modules/beachfrontBidAdapter.js
+++ b/modules/beachfrontBidAdapter.js
@@ -1,14 +1,17 @@
import * as utils from 'src/utils';
import { registerBidder } from 'src/adapters/bidderFactory';
+import { Renderer } from 'src/Renderer';
import { VIDEO, BANNER } from 'src/mediaTypes';
import find from 'core-js/library/fn/array/find';
import includes from 'core-js/library/fn/array/includes';
const ADAPTER_VERSION = '1.1';
const ADAPTER_NAME = 'BFIO_PREBID';
+const OUTSTREAM = 'outstream';
export const VIDEO_ENDPOINT = '//reachms.bfmio.com/bid.json?exchange_id=';
export const BANNER_ENDPOINT = '//display.bfmio.com/prebid_display';
+export const OUTSTREAM_SRC = '//player-cdn.beachfrontmedia.com/playerapi/loader/outstream.js';
export const VIDEO_TARGETING = ['mimes'];
export const DEFAULT_MIMES = ['video/mp4', 'application/javascript'];
@@ -53,6 +56,7 @@ export const spec = {
return [];
}
let size = getFirstSize(bidRequest);
+ let context = utils.deepAccess(bidRequest, 'mediaTypes.video.context');
return {
requestId: bidRequest.bidId,
bidderCode: spec.code,
@@ -61,6 +65,7 @@ export const spec = {
width: size.w,
height: size.h,
creativeId: response.cmpId,
+ renderer: context === OUTSTREAM ? createRenderer(bidRequest) : null,
mediaType: VIDEO,
currency: 'USD',
netRevenue: true,
@@ -91,6 +96,30 @@ export const spec = {
}
};
+function createRenderer(bidRequest) {
+ const renderer = Renderer.install({
+ id: bidRequest.bidId,
+ url: OUTSTREAM_SRC,
+ loaded: false
+ });
+
+ renderer.setRender(outstreamRender);
+
+ return renderer;
+}
+
+function outstreamRender(bid) {
+ bid.renderer.push(() => {
+ window.Beachfront.Player(bid.adUnitCode, {
+ ad_tag_url: bid.vastUrl,
+ width: bid.width,
+ height: bid.height,
+ expand_in_view: false,
+ collapse_on_complete: true
+ });
+ });
+}
+
function getSizes(bid) {
return utils.parseSizesInput(bid.sizes).map(size => {
let [ width, height ] = size.split('x');
diff --git a/test/spec/modules/beachfrontBidAdapter_spec.js b/test/spec/modules/beachfrontBidAdapter_spec.js
index 9ca375d7e20..ddd93f8406d 100644
--- a/test/spec/modules/beachfrontBidAdapter_spec.js
+++ b/test/spec/modules/beachfrontBidAdapter_spec.js
@@ -1,5 +1,5 @@
import { expect } from 'chai';
-import { spec, VIDEO_ENDPOINT, BANNER_ENDPOINT, DEFAULT_MIMES } from 'modules/beachfrontBidAdapter';
+import { spec, VIDEO_ENDPOINT, BANNER_ENDPOINT, OUTSTREAM_SRC, DEFAULT_MIMES } from 'modules/beachfrontBidAdapter';
import * as utils from 'src/utils';
describe('BeachfrontAdapter', () => {
@@ -267,12 +267,28 @@ describe('BeachfrontAdapter', () => {
vastUrl: serverResponse.url,
width: width,
height: height,
+ renderer: null,
mediaType: 'video',
currency: 'USD',
netRevenue: true,
ttl: 300
});
});
+
+ it('should return a renderer for outstream video bids', () => {
+ const bidRequest = bidRequests[0];
+ bidRequest.mediaTypes = { video: { context: 'outstream' } };
+ const serverResponse = {
+ bidPrice: 5.00,
+ url: 'http://reachms.bfmio.com/getmu?aid=bid:19c4a196-fb21-4c81-9a1a-ecc5437a39da',
+ cmpId: '123abc'
+ };
+ const bidResponse = spec.interpretResponse({ body: serverResponse }, { bidRequest });
+ expect(bidResponse.renderer).to.deep.contain({
+ id: bidRequest.bidId,
+ url: OUTSTREAM_SRC
+ });
+ });
});
describe('for banner bids', () => {
From a2035a2ec028075af3aee4776bb8d5b75cb0d0db Mon Sep 17 00:00:00 2001
From: jlzhangdev
Date: Tue, 17 Apr 2018 09:33:04 -0700
Subject: [PATCH 072/171] EbdrAdapter add usersync (#2407)
* ebdr adapter 0.34.1
* ebdrBidAdapter.js 1.x
* ebdrAdapter
* update md and fix log issue
* add video support and test case for EBDR adapter
* Fix an issue for EBDR adapter
Fix an issue might caused undefined if it is an old bidder
* add vastUrl
* add video adapter in md
* fix test cases
* ebdrAdapter add usersync
---
modules/ebdrBidAdapter.js | 18 ++++++++++++++++
test/spec/modules/ebdrBidAdapter_spec.js | 26 ++++++++++++++++++++++++
2 files changed, 44 insertions(+)
diff --git a/modules/ebdrBidAdapter.js b/modules/ebdrBidAdapter.js
index 63a308f1f62..f0f3d614a7d 100644
--- a/modules/ebdrBidAdapter.js
+++ b/modules/ebdrBidAdapter.js
@@ -105,6 +105,24 @@ export const spec = {
ebdrResponseImps.push(response);
});
return ebdrResponseImps;
+ },
+ getUserSyncs: function(syncOptions, serverResponses) {
+ const syncs = []
+ if (syncOptions.pixelEnabled) {
+ const ebdrResponseObj = serverResponses.body;
+ if (!ebdrResponseObj || !ebdrResponseObj.seatbid || ebdrResponseObj.seatbid.length === 0 || !ebdrResponseObj.seatbid[0].bid || ebdrResponseObj.seatbid[0].bid.length === 0) {
+ return [];
+ }
+ ebdrResponseObj.seatbid[0].bid.forEach(ebdrBid => {
+ if (ebdrBid.iurl && ebdrBid.iurl.length > 0) {
+ syncs.push({
+ type: 'image',
+ url: ebdrBid.iurl
+ });
+ }
+ });
+ }
+ return syncs;
}
}
function getWidthAndHeight(bid) {
diff --git a/test/spec/modules/ebdrBidAdapter_spec.js b/test/spec/modules/ebdrBidAdapter_spec.js
index c5328f9ebb9..3ec5a4f0a81 100644
--- a/test/spec/modules/ebdrBidAdapter_spec.js
+++ b/test/spec/modules/ebdrBidAdapter_spec.js
@@ -206,4 +206,30 @@ describe('ebdrBidAdapter', () => {
});
});
});
+ describe('spec.getUserSyncs', () => {
+ let syncOptions
+ beforeEach(() => {
+ syncOptions = {
+ enabledBidders: ['ebdr'], // only these bidders are allowed to sync
+ pixelEnabled: true
+ }
+ });
+ it('sucess with usersync url', () => {
+ const serverResponse = {id: '1d0c4017f02458', seatbid: [{bid: [{id: '2c5e8a1a84522d', impid: '2c5e8a1a84522d', price: 0.81, adid: 'abcde-12345', nurl: '', adm: ' ', adomain: ['advertiserdomain.com'], iurl: '//match.bnmla.com/usersync?sspid=59&redir=', cid: 'campaign1', crid: 'abcde-12345', w: 300, h: 250}], seat: '19513bcfca8006'}], bidid: '19513bcfca8006', cur: 'USD', w: 300, h: 250};
+ const result = [];
+ result.push({type: 'image', url: '//match.bnmla.com/usersync?sspid=59&redir='});
+ expect(spec.getUserSyncs(syncOptions, { body: serverResponse })).to.deep.equal(result);
+ });
+
+ it('sucess without usersync url', () => {
+ const serverResponse = {id: '1d0c4017f02458', seatbid: [{bid: [{id: '2c5e8a1a84522d', impid: '2c5e8a1a84522d', price: 0.81, adid: 'abcde-12345', nurl: '', adm: ' ', adomain: ['advertiserdomain.com'], iurl: '', cid: 'campaign1', crid: 'abcde-12345', w: 300, h: 250}], seat: '19513bcfca8006'}], bidid: '19513bcfca8006', cur: 'USD', w: 300, h: 250};
+ const result = [];
+ expect(spec.getUserSyncs(syncOptions, { body: serverResponse })).to.deep.equal(result);
+ });
+ it('empty response', () => {
+ const serverResponse = {};
+ const result = [];
+ expect(spec.getUserSyncs(syncOptions, { body: serverResponse })).to.deep.equal(result);
+ });
+ });
});
From 9954c6fc59072e0bb32df603e1e3953be9fa6db4 Mon Sep 17 00:00:00 2001
From: jsnellbaker <31102355+jsnellbaker@users.noreply.github.com>
Date: Tue, 17 Apr 2018 12:45:19 -0400
Subject: [PATCH 073/171] convert AN bid params to underscore formatting for
pbs (#2385)
* initial commit - convert AN bid params to underscore for pbs
* removed breakpoint in unit test
* added TODO comment to move this code to somewhere else at later date
---
modules/prebidServerBidAdapter.js | 11 ++++++++++
src/utils.js | 8 ++++++++
.../modules/prebidServerBidAdapter_spec.js | 20 +++++++++++++++++--
test/spec/utils_spec.js | 12 +++++++++++
4 files changed, 49 insertions(+), 2 deletions(-)
diff --git a/modules/prebidServerBidAdapter.js b/modules/prebidServerBidAdapter.js
index e12f569b3b2..8e1a5a07560 100644
--- a/modules/prebidServerBidAdapter.js
+++ b/modules/prebidServerBidAdapter.js
@@ -469,6 +469,17 @@ const OPEN_RTB_PROTOCOL = {
// get bidder params in form { : {...params} }
const ext = adUnit.bids.reduce((acc, bid) => {
+ // TODO: move this bidder specific out to a more ideal location (submodule?); issue# pending
+ // convert all AppNexus keys to underscore format for pbs
+ if (bid.bidder === 'appnexus') {
+ Object.keys(bid.params).forEach(paramKey => {
+ let convertedKey = utils.convertCamelToUnderscore(paramKey);
+ if (convertedKey !== paramKey) {
+ bid.params[convertedKey] = bid.params[paramKey];
+ delete bid.params[paramKey];
+ }
+ });
+ }
acc[bid.bidder] = bid.params;
return acc;
}, {});
diff --git a/src/utils.js b/src/utils.js
index b192cf2fef6..5b8508e52e4 100644
--- a/src/utils.js
+++ b/src/utils.js
@@ -952,3 +952,11 @@ export function isInteger(value) {
return typeof value === 'number' && isFinite(value) && Math.floor(value) === value;
}
}
+
+/**
+ * Converts a string value in camel-case to underscore eg 'placementId' becomes 'placement_id'
+ * @param {string} value string value to convert
+ */
+export function convertCamelToUnderscore(value) {
+ return value.replace(/(?:^|\.?)([A-Z])/g, function (x, y) { return '_' + y.toLowerCase() }).replace(/^_/, '');
+}
diff --git a/test/spec/modules/prebidServerBidAdapter_spec.js b/test/spec/modules/prebidServerBidAdapter_spec.js
index d525db857bc..a1392989ad7 100644
--- a/test/spec/modules/prebidServerBidAdapter_spec.js
+++ b/test/spec/modules/prebidServerBidAdapter_spec.js
@@ -505,7 +505,7 @@ describe('S2S Adapter', () => {
params: { placementId: '123456' }
};
- const request = Object.assign({}, REQUEST);
+ const request = utils.deepClone(REQUEST);
request.ad_units[0].bids = [aliasBidder];
adapter.callBids(request, BID_REQUESTS, addBidResponse, done, ajax);
@@ -533,7 +533,7 @@ describe('S2S Adapter', () => {
params: { placementId: '123456' }
};
- const request = Object.assign({}, REQUEST);
+ const request = utils.deepClone(REQUEST);
request.ad_units[0].bids = [aliasBidder];
// TODO: stub this
@@ -550,6 +550,22 @@ describe('S2S Adapter', () => {
}
});
});
+
+ it('converts appnexus params to underscore syntax', () => {
+ const s2sConfig = Object.assign({}, CONFIG, {
+ endpoint: 'https://prebid.adnxs.com/pbs/v1/openrtb2/auction'
+ });
+ config.setConfig({s2sConfig});
+
+ const myRequest = utils.deepClone(REQUEST);
+
+ adapter.callBids(REQUEST, BID_REQUESTS, addBidResponse, done, ajax);
+ const requestBid = JSON.parse(requests[0].requestBody);
+
+ expect(requestBid.imp[0].ext.appnexus).to.exist;
+ expect(requestBid.imp[0].ext.appnexus.placement_id).to.exist.and.to.equal(10433394);
+ expect(requestBid.imp[0].ext.appnexus.member).to.exist;
+ });
});
describe('response handler', () => {
diff --git a/test/spec/utils_spec.js b/test/spec/utils_spec.js
index d44028e7554..f86840dbdba 100755
--- a/test/spec/utils_spec.js
+++ b/test/spec/utils_spec.js
@@ -750,4 +750,16 @@ describe('Utils', function () {
expect(topWindowLocation.host).to.be.oneOf(['www.example.com', 'www.example.com:443']);
});
});
+
+ describe('convertCamelToUnderscore', () => {
+ it('returns converted string value using underscore syntax instead of camelCase', () => {
+ let var1 = 'placementIdTest';
+ let test1 = utils.convertCamelToUnderscore(var1);
+ expect(test1).to.equal('placement_id_test');
+
+ let var2 = 'my_test_value';
+ let test2 = utils.convertCamelToUnderscore(var2);
+ expect(test2).to.equal(var2);
+ });
+ });
});
From c21f82d2ec42305a921d140e3d0a117fba0327d8 Mon Sep 17 00:00:00 2001
From: jsnellbaker <31102355+jsnellbaker@users.noreply.github.com>
Date: Tue, 17 Apr 2018 13:42:56 -0400
Subject: [PATCH 074/171] send appnexus usePaymentRule info to prebid-server
ortb request (#2351)
* initial commit - send usePaymentRule info to pbs
* move code changes to pbs adapter
* removed commented unit test
---
modules/prebidServerBidAdapter.js | 3 +++
test/spec/modules/prebidServerBidAdapter_spec.js | 6 ++++--
test/spec/unit/core/adapterManager_spec.js | 2 +-
3 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/modules/prebidServerBidAdapter.js b/modules/prebidServerBidAdapter.js
index 8e1a5a07560..a7ad11babe7 100644
--- a/modules/prebidServerBidAdapter.js
+++ b/modules/prebidServerBidAdapter.js
@@ -472,6 +472,9 @@ const OPEN_RTB_PROTOCOL = {
// TODO: move this bidder specific out to a more ideal location (submodule?); issue# pending
// convert all AppNexus keys to underscore format for pbs
if (bid.bidder === 'appnexus') {
+ bid.params.use_pmt_rule = (typeof bid.params.usePaymentRule === 'boolean') ? bid.params.usePaymentRule : false;
+ if (bid.params.usePaymentRule) { delete bid.params.usePaymentRule; }
+
Object.keys(bid.params).forEach(paramKey => {
let convertedKey = utils.convertCamelToUnderscore(paramKey);
if (convertedKey !== paramKey) {
diff --git a/test/spec/modules/prebidServerBidAdapter_spec.js b/test/spec/modules/prebidServerBidAdapter_spec.js
index a1392989ad7..eef8a266b68 100644
--- a/test/spec/modules/prebidServerBidAdapter_spec.js
+++ b/test/spec/modules/prebidServerBidAdapter_spec.js
@@ -551,19 +551,21 @@ describe('S2S Adapter', () => {
});
});
- it('converts appnexus params to underscore syntax', () => {
+ it('converts appnexus params to expected format for PBS', () => {
const s2sConfig = Object.assign({}, CONFIG, {
endpoint: 'https://prebid.adnxs.com/pbs/v1/openrtb2/auction'
});
config.setConfig({s2sConfig});
const myRequest = utils.deepClone(REQUEST);
+ myRequest.ad_units[0].bids[0].params.usePaymentRule = true;
- adapter.callBids(REQUEST, BID_REQUESTS, addBidResponse, done, ajax);
+ adapter.callBids(myRequest, BID_REQUESTS, addBidResponse, done, ajax);
const requestBid = JSON.parse(requests[0].requestBody);
expect(requestBid.imp[0].ext.appnexus).to.exist;
expect(requestBid.imp[0].ext.appnexus.placement_id).to.exist.and.to.equal(10433394);
+ expect(requestBid.imp[0].ext.appnexus.use_pmt_rule).to.exist.and.to.be.true;
expect(requestBid.imp[0].ext.appnexus.member).to.exist;
});
});
diff --git a/test/spec/unit/core/adapterManager_spec.js b/test/spec/unit/core/adapterManager_spec.js
index d11dfc02c4c..39e468d4959 100644
--- a/test/spec/unit/core/adapterManager_spec.js
+++ b/test/spec/unit/core/adapterManager_spec.js
@@ -851,7 +851,7 @@ describe('adapterManager tests', () => {
expect(bidRequests[0].bids.length).to.equal(1);
expect(bidRequests[0].bids[0].adUnitCode).to.equal(adUnits[1].code);
});
- })
+ });
});
});
From eed065522c89208a9b8ca0bf631bdc59517f4913 Mon Sep 17 00:00:00 2001
From: Matt Kendall <1870166+mkendall07@users.noreply.github.com>
Date: Tue, 17 Apr 2018 13:48:10 -0400
Subject: [PATCH 075/171] send travis-ci notifications to slack (#2404)
* send travis-ci notifications to slack
* only send on failure
* try again
* wtf..
* test again
* test again
* test again
* test again
* test again
* one last time
* remove newline.
---
.travis.yml | 25 ++++++++++++++-----------
1 file changed, 14 insertions(+), 11 deletions(-)
diff --git a/.travis.yml b/.travis.yml
index 499139f9bed..912f3de8b56 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -2,24 +2,27 @@ sudo: required
dist: trusty
language: node_js
node_js:
- - '7.0'
+- '7.0'
env:
- - BROWSERSTACK_USERNAME=info184
-
+- BROWSERSTACK_USERNAME=info184
addons:
chrome: stable,
browserstack:
- username: "info184"
+ username: info184
access_key:
- secure: "Ru286R4pMcEIRKwb2AoaaJY6lEKIzeZraxY7CtbOP4ykNk7uqsnyitk4QwxpCCh0n35b71m30okW6ZmZnl0lJXhOMdYoSOYBAnUw2Vn7Y93oMSKIC5dc2/qmtF1t2b1qX65/Ont2iJUj+UY8VQw5Hk2vIT4/5wifYPBnV5ILK4AI7SVk/ma7OzK4rkp3WThlouddctAd7tx4O3YIyJKDi9lkfcMA0pnH4OZSOlDClRLIy50Q1NE+iyqHtWFZK1TwJ+IhQbSsCLbuyQJBRnyJJEftNmtrs5MCZt/9pwFDj7c8+o11F6HCsTBYFkehFRfbKnmhCc1G+bsNXY8OxIWwEHeuVmSGK7TDPYcPPQBc03mcQ1fY/IPNQOdsVJ/n8RsG2u0IU2CF2hhkuNFzeov7dOHljanc45NKOrLdjwzP1aZCAUvLquOTzvmdF23nJhMs8UO+Du4kTK5VfmKyz1MC91E40a0Q15+O4qmS39rNOlwhxPJSfuxxL1jKVPJ7PsFbTkGM8M/XPJ6dyGLufy225HjdLdJTAOa5BZ4st+nXH/AzqHzy6a2I5vTmAz1j4gHLgVU+iNxAkX8znb25s3Rs1ZuFVj+aBSBmNoQA1FA5f/uXWeruTdDig7ksp+XdjsjLm9Md8cWwYaEn04FYj1ztJrylrEMfnc0Kcs6zQ3fll1g="
-
+ secure: Ru286R4pMcEIRKwb2AoaaJY6lEKIzeZraxY7CtbOP4ykNk7uqsnyitk4QwxpCCh0n35b71m30okW6ZmZnl0lJXhOMdYoSOYBAnUw2Vn7Y93oMSKIC5dc2/qmtF1t2b1qX65/Ont2iJUj+UY8VQw5Hk2vIT4/5wifYPBnV5ILK4AI7SVk/ma7OzK4rkp3WThlouddctAd7tx4O3YIyJKDi9lkfcMA0pnH4OZSOlDClRLIy50Q1NE+iyqHtWFZK1TwJ+IhQbSsCLbuyQJBRnyJJEftNmtrs5MCZt/9pwFDj7c8+o11F6HCsTBYFkehFRfbKnmhCc1G+bsNXY8OxIWwEHeuVmSGK7TDPYcPPQBc03mcQ1fY/IPNQOdsVJ/n8RsG2u0IU2CF2hhkuNFzeov7dOHljanc45NKOrLdjwzP1aZCAUvLquOTzvmdF23nJhMs8UO+Du4kTK5VfmKyz1MC91E40a0Q15+O4qmS39rNOlwhxPJSfuxxL1jKVPJ7PsFbTkGM8M/XPJ6dyGLufy225HjdLdJTAOa5BZ4st+nXH/AzqHzy6a2I5vTmAz1j4gHLgVU+iNxAkX8znb25s3Rs1ZuFVj+aBSBmNoQA1FA5f/uXWeruTdDig7ksp+XdjsjLm9Md8cWwYaEn04FYj1ztJrylrEMfnc0Kcs6zQ3fll1g=
before_install:
- - npm install -g gulp
- - google-chrome-stable --headless --disable-gpu --remote-debugging-port=9222 http://localhost &
-
-script: |
+- npm install -g gulp
+- google-chrome-stable --headless --disable-gpu --remote-debugging-port=9222 http://localhost &
+script: |-
if [[ ${TRAVIS_PULL_REQUEST} == "false" ]]; then
gulp test --browserstack
else
gulp run-tests
- fi
\ No newline at end of file
+ fi
+notifications:
+ slack:
+ on_success: never
+ on_failure: always
+ on_pull_requests: false
+ secure: C4O77VtABLE5DiPDeKGqUcsBdTBMNjQRLc8iBfSp231e95K1rA/JXJJEQN/lVhhiFJyPhxueE0i6cR0zD8uAMC8HRShGGfPjEZ7f6glawPzap2wFwjAyVkknYV+BMKcX0jvn7CiSKBj+zTbHQfn/Uj3nMSbDZQIdbNDiFGh4NuDr3/Yd/efhsw/miExlSPSWqGVCKV3WPpTrU3BRpLNDq4sZMXP9ORZxGK7ER3tsMiD2z05YpvC+mibESJxaY0qsuQu1y1Gu65QLPe5ocw405btJwqYn+b4YFpUd2GbLNhjtLzsc+OKrD0DWuEI0bxePQUYDga5wR6g4cdZaXU3ixDjee7sJbDeVJAuykGlfZ4A1k+fQIgPs3s9XMHaeG9AfDhFiZ/UoNdonzos1iSa/Y1TzHIXp1wnbHKT5HUWWPFNb5PzJxHEtHbm3jwOH4iK8VAq94ec16M2aqUAj7muiqcrTlYa5rs6jRlXo/TRymFnbQRdBT7eLmLNDQD35yR1Y+4mxHqKi+3189yG9RE+uwIlB+9HZFgNbioOApB+jarKC6M0qEgn0bHxkpJBP8JmNCA84U0ZUzyPvuMGsRbisAmKoUsU8C6cq59QDfBTcCTvKXK6r+6f23iRGieoGSbTxYQj46QkykpbWU0WstQDQsZL3L316uZecOVZmWKBRxPs=
From a67da48ef0e7df7c9957dfdb5cdfe53f7f3ef35d Mon Sep 17 00:00:00 2001
From: Dan Caragea
Date: Tue, 17 Apr 2018 23:03:26 +0300
Subject: [PATCH 076/171] Make eslint aware of the custom import paths (#2292)
* Make eslint aware of the custom import paths
By default eslint doesn't know what `src/Renderer` means in the following import:
`import { Renderer } from 'src/Renderer';`
This changes makes it aware that `src/Renderer` means `/src/Renderer.js`
* fix: fix import paths in sonobiBidAdapter.js
* fix: imports in bidderFactory.js
---
.eslintrc.js | 7 +++++++
modules/sonobiBidAdapter.js | 13 ++++++-------
src/adapters/bidderFactory.js | 3 +--
3 files changed, 14 insertions(+), 9 deletions(-)
diff --git a/.eslintrc.js b/.eslintrc.js
index dadfb1f0433..e6975951f06 100644
--- a/.eslintrc.js
+++ b/.eslintrc.js
@@ -3,6 +3,13 @@ module.exports = {
"browser": true,
"commonjs": true
},
+ "settings": {
+ "import/resolver": {
+ "node": {
+ "moduleDirectory": ["node_modules", "./"]
+ }
+ }
+ },
"extends": "standard",
"globals": {
"$$PREBID_GLOBAL$$": false
diff --git a/modules/sonobiBidAdapter.js b/modules/sonobiBidAdapter.js
index 4db35807edd..170228dde7a 100644
--- a/modules/sonobiBidAdapter.js
+++ b/modules/sonobiBidAdapter.js
@@ -1,6 +1,5 @@
import { registerBidder } from 'src/adapters/bidderFactory';
-import { getTopWindowLocation, parseSizesInput } from 'src/utils';
-import * as utils from '../src/utils';
+import * as utils from 'src/utils';
import { BANNER, VIDEO } from '../src/mediaTypes';
import find from 'core-js/library/fn/array/find';
@@ -47,7 +46,7 @@ export const spec = {
const payload = {
'key_maker': JSON.stringify(data),
- 'ref': getTopWindowLocation().host,
+ 'ref': utils.getTopWindowLocation().host,
's': utils.generateUUID(),
'pv': PAGEVIEW_ID,
};
@@ -139,9 +138,9 @@ export const spec = {
function _validateSize (bid) {
if (bid.params.sizes) {
- return parseSizesInput(bid.params.sizes).join(',');
+ return utils.parseSizesInput(bid.params.sizes).join(',');
}
- return parseSizesInput(bid.sizes).join(',');
+ return utils.parseSizesInput(bid.sizes).join(',');
}
function _validateSlot (bid) {
@@ -162,12 +161,12 @@ const _creative = (mediaType) => (sbi_dc, sbi_aid) => {
if (mediaType === 'video') {
return _videoCreative(sbi_dc, sbi_aid)
}
- const src = 'https://' + sbi_dc + 'apex.go.sonobi.com/sbi.js?aid=' + sbi_aid + '&as=null' + '&ref=' + getTopWindowLocation().host;
+ const src = 'https://' + sbi_dc + 'apex.go.sonobi.com/sbi.js?aid=' + sbi_aid + '&as=null' + '&ref=' + utils.getTopWindowLocation().host;
return '';
}
function _videoCreative(sbi_dc, sbi_aid) {
- return `https://${sbi_dc}apex.go.sonobi.com/vast.xml?vid=${sbi_aid}&ref=${getTopWindowLocation().host}`
+ return `https://${sbi_dc}apex.go.sonobi.com/vast.xml?vid=${sbi_aid}&ref=${utils.getTopWindowLocation().host}`
}
function _getBidIdFromTrinityKey (key) {
diff --git a/src/adapters/bidderFactory.js b/src/adapters/bidderFactory.js
index 2cf0a8f7253..7540a3a3398 100644
--- a/src/adapters/bidderFactory.js
+++ b/src/adapters/bidderFactory.js
@@ -2,7 +2,6 @@ import Adapter from 'src/adapter';
import adaptermanager from 'src/adaptermanager';
import { config } from 'src/config';
import bidfactory from 'src/bidfactory';
-import { STATUS } from 'src/constants';
import { userSync } from 'src/userSync';
import { nativeBidIsValid } from 'src/native';
import { isValidVideoBid } from 'src/video';
@@ -304,7 +303,7 @@ export function newBidder(spec) {
function addBidUsingRequestMap(bid) {
const bidRequest = bidRequestMap[bid.requestId];
if (bidRequest) {
- const prebidBid = Object.assign(bidfactory.createBid(STATUS.GOOD, bidRequest), bid);
+ const prebidBid = Object.assign(bidfactory.createBid(CONSTANTS.STATUS.GOOD, bidRequest), bid);
addBidWithCode(bidRequest.adUnitCode, prebidBid);
} else {
logWarn(`Bidder ${spec.code} made bid for unknown request ID: ${bid.requestId}. Ignoring.`);
From 8633be2708583bc6bbda030dac4885c7076a125e Mon Sep 17 00:00:00 2001
From: Jaimin Panchal
Date: Tue, 17 Apr 2018 16:38:11 -0400
Subject: [PATCH 077/171] Prebid 1.8.0 Release
---
package.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/package.json b/package.json
index a31a5998788..e417db5e22d 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "prebid.js",
- "version": "1.8.0-pre",
+ "version": "1.8.0",
"description": "Header Bidding Management Library",
"main": "src/prebid.js",
"scripts": {
From 13585d9a663359bba8d8780ae5501f920e97a1bd Mon Sep 17 00:00:00 2001
From: Jaimin Panchal
Date: Tue, 17 Apr 2018 16:53:20 -0400
Subject: [PATCH 078/171] Increment Pre Version
---
package.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/package.json b/package.json
index e417db5e22d..bb8afc62998 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "prebid.js",
- "version": "1.8.0",
+ "version": "1.9.0-pre",
"description": "Header Bidding Management Library",
"main": "src/prebid.js",
"scripts": {
From 4a8c8c2282bb604b9f11f8e3f536b0cef903cebf Mon Sep 17 00:00:00 2001
From: haohany
Date: Wed, 18 Apr 2018 10:11:22 -0700
Subject: [PATCH 079/171] Add user sync callback for OpenX adaptor (#2409)
* OpenX user sync callback
* bump version
* Get user sync url from responses if available
* Missing semicolon
* Add user sync tests
---
modules/openxBidAdapter.js | 23 +++++++-------
test/spec/modules/openxBidAdapter_spec.js | 38 +++++++++++++++++------
2 files changed, 40 insertions(+), 21 deletions(-)
diff --git a/modules/openxBidAdapter.js b/modules/openxBidAdapter.js
index 4a1e1f1451b..bc00242b3e3 100644
--- a/modules/openxBidAdapter.js
+++ b/modules/openxBidAdapter.js
@@ -8,7 +8,7 @@ import {parse} from 'src/url';
const SUPPORTED_AD_TYPES = [BANNER, VIDEO];
const BIDDER_CODE = 'openx';
const BIDDER_CONFIG = 'hb_pb';
-const BIDDER_VERSION = '2.0.2';
+const BIDDER_VERSION = '2.1.0';
export const spec = {
code: BIDDER_CODE,
@@ -40,10 +40,19 @@ export const spec = {
interpretResponse: function ({body: oxResponseObj}, serverRequest) {
let mediaType = getMediaTypeFromRequest(serverRequest);
- registerUserSync(mediaType, oxResponseObj);
-
return mediaType === VIDEO ? createVideoBidResponses(oxResponseObj, serverRequest.payload)
: createBannerBidResponses(oxResponseObj, serverRequest.payload);
+ },
+ getUserSyncs: function(syncOptions, responses) {
+ if (syncOptions.iframeEnabled) {
+ let url = utils.deepAccess(responses, '0.body.ads.pixels') ||
+ utils.deepAccess(responses, '0.body.pixels') ||
+ '//u.openx.net/w/1.0/pd';
+ return [{
+ type: 'iframe',
+ url: url,
+ }];
+ }
}
};
@@ -201,14 +210,6 @@ function getMediaTypeFromRequest(serverRequest) {
return /avjp$/.test(serverRequest.url) ? VIDEO : BANNER;
}
-function registerUserSync(mediaType, responseObj) {
- if (mediaType === VIDEO && responseObj.pixels) {
- userSync.registerSync('iframe', BIDDER_CODE, responseObj.pixels);
- } else if (utils.deepAccess(responseObj, 'ads.pixels')) {
- userSync.registerSync('iframe', BIDDER_CODE, responseObj.ads.pixels);
- }
-}
-
function buildCommonQueryParamsFromBids(bids) {
const isInIframe = utils.inIframe();
diff --git a/test/spec/modules/openxBidAdapter_spec.js b/test/spec/modules/openxBidAdapter_spec.js
index 1fb7e6f600b..35146542375 100644
--- a/test/spec/modules/openxBidAdapter_spec.js
+++ b/test/spec/modules/openxBidAdapter_spec.js
@@ -476,11 +476,6 @@ describe('OpenxAdapter', () => {
expect(result.length).to.equal(0);
});
- it('should register a user sync', () => {
- spec.interpretResponse({body: bidResponse}, bidRequest);
- sinon.assert.calledWith(userSync.registerSync, 'iframe', 'openx', 'http://testpixels.net');
- });
-
it('should register a beacon', () => {
spec.interpretResponse({body: bidResponse}, bidRequest);
sinon.assert.calledWith(userSync.registerSync, 'image', 'openx', sinon.match(/\/\/openx-d\.openx\.net.*\/bo\?.*ts=ts/));
@@ -599,11 +594,6 @@ describe('OpenxAdapter', () => {
expect(result.length).to.equal(0);
});
- it('should register a user sync', () => {
- spec.interpretResponse({body: bidResponse}, bidRequestsWithMediaTypes);
- sinon.assert.calledWith(userSync.registerSync, 'iframe', 'openx', 'http://testpixels.net');
- });
-
it('should register a beacon', () => {
spec.interpretResponse({body: bidResponse}, bidRequestsWithMediaTypes);
sinon.assert.calledWith(userSync.registerSync, 'image', 'openx', sinon.match(/^\/\/test-colo\.com/))
@@ -611,4 +601,32 @@ describe('OpenxAdapter', () => {
sinon.assert.calledWith(userSync.registerSync, 'image', 'openx', sinon.match(/ts=test-ts/));
});
});
+
+ describe('user sync', () => {
+ const syncUrl = 'http://testpixels.net';
+
+ it('should register the pixel iframe from banner ad response', () => {
+ let syncs = spec.getUserSyncs(
+ { iframeEnabled: true },
+ [{ body: { ads: { pixels: syncUrl } } }]
+ );
+ expect(syncs).to.deep.equal([{ type: 'iframe', url: syncUrl }]);
+ });
+
+ it('should register the pixel iframe from video ad response', () => {
+ let syncs = spec.getUserSyncs(
+ { iframeEnabled: true },
+ [{ body: { pixels: syncUrl } }]
+ );
+ expect(syncs).to.deep.equal([{ type: 'iframe', url: syncUrl }]);
+ });
+
+ it('should register the default iframe if no pixels available', () => {
+ let syncs = spec.getUserSyncs(
+ { iframeEnabled: true },
+ []
+ );
+ expect(syncs).to.deep.equal([{ type: 'iframe', url: '//u.openx.net/w/1.0/pd' }]);
+ });
+ });
});
From c1e6e1d27f9fb86818ec89d6ded75698d08696a9 Mon Sep 17 00:00:00 2001
From: Rich Snapp
Date: Wed, 18 Apr 2018 11:11:50 -0600
Subject: [PATCH 080/171] add server response time to bids in prebid server
(#2398)
---
modules/prebidServerBidAdapter.js | 11 +++++++++
modules/rubiconAnalyticsAdapter.js | 4 ++++
.../modules/prebidServerBidAdapter_spec.js | 3 +++
.../modules/rubiconAnalyticsAdapter_spec.js | 24 +++++++++++--------
4 files changed, 32 insertions(+), 10 deletions(-)
diff --git a/modules/prebidServerBidAdapter.js b/modules/prebidServerBidAdapter.js
index a7ad11babe7..1ef1d325379 100644
--- a/modules/prebidServerBidAdapter.js
+++ b/modules/prebidServerBidAdapter.js
@@ -325,6 +325,7 @@ const LEGACY_PROTOCOL = {
interpretResponse(result, bidRequests, requestedBidders) {
const bids = [];
+ let responseTimes = {};
if (result.status === 'OK' || result.status === 'no_cookie') {
if (result.bidder_status) {
@@ -335,6 +336,8 @@ const LEGACY_PROTOCOL = {
if (bidder.error) {
utils.logWarn(`Prebid Server returned error: '${bidder.error}' for ${bidder.bidder}`);
}
+
+ responseTimes[bidder.bidder] = bidder.response_time_ms;
});
}
@@ -357,6 +360,9 @@ const LEGACY_PROTOCOL = {
bidObject.creative_id = bidObj.creative_id;
bidObject.bidderCode = bidObj.bidder;
bidObject.cpm = cpm;
+ if (responseTimes[bidObj.bidder]) {
+ bidObject.serverResponseTimeMs = responseTimes[bidObj.bidder];
+ }
if (bidObj.cache_id) {
bidObject.cache_id = bidObj.cache_id;
}
@@ -537,6 +543,11 @@ const OPEN_RTB_PROTOCOL = {
bidObject.bidderCode = seatbid.seat;
bidObject.cpm = cpm;
+ let serverResponseTimeMs = utils.deepAccess(response, ['ext', 'responsetimemillis', seatbid.seat].join('.'));
+ if (serverResponseTimeMs) {
+ bidObject.serverResponseTimeMs = serverResponseTimeMs;
+ }
+
if (utils.deepAccess(bid, 'ext.prebid.type') === VIDEO) {
bidObject.mediaType = VIDEO;
if (bid.adm) { bidObject.vastXml = bid.adm; }
diff --git a/modules/rubiconAnalyticsAdapter.js b/modules/rubiconAnalyticsAdapter.js
index 32d1a79af5c..dd111efe03c 100644
--- a/modules/rubiconAnalyticsAdapter.js
+++ b/modules/rubiconAnalyticsAdapter.js
@@ -111,6 +111,7 @@ function sendMessage(auctionId, bidWonId) {
? 'server' : 'client'
},
'clientLatencyMillis',
+ 'serverLatencyMillis',
'params',
'bidResponse', bidResponse => bidResponse ? _pick(bidResponse, [
'bidPriceUSD',
@@ -386,6 +387,9 @@ let rubiconAdapter = Object.assign({}, baseAdapter, {
};
}
bid.clientLatencyMillis = Date.now() - cache.auctions[args.auctionId].timestamp;
+ if (typeof args.serverResponseTimeMs !== 'undefined') {
+ bid.serverLatencyMillis = args.serverResponseTimeMs;
+ }
bid.bidResponse = parseBidResponse(args);
break;
case BIDDER_DONE:
diff --git a/test/spec/modules/prebidServerBidAdapter_spec.js b/test/spec/modules/prebidServerBidAdapter_spec.js
index eef8a266b68..63055620dde 100644
--- a/test/spec/modules/prebidServerBidAdapter_spec.js
+++ b/test/spec/modules/prebidServerBidAdapter_spec.js
@@ -613,6 +613,7 @@ describe('S2S Adapter', () => {
expect(response).to.have.property('cache_id', '7654321');
expect(response).to.have.property('cache_url', 'http://www.test.com/cache?uuid=7654321');
expect(response).to.not.have.property('vastUrl');
+ expect(response).to.have.property('serverResponseTimeMs', 52);
});
it('registers video bids', () => {
@@ -805,6 +806,7 @@ describe('S2S Adapter', () => {
expect(response).to.have.property('bidderCode', 'appnexus');
expect(response).to.have.property('adId', '123');
expect(response).to.have.property('cpm', 0.5);
+ expect(response).to.have.property('serverResponseTimeMs', 8);
});
it('handles OpenRTB video responses', () => {
@@ -825,6 +827,7 @@ describe('S2S Adapter', () => {
expect(response).to.have.property('bidderCode', 'appnexus');
expect(response).to.have.property('adId', '123');
expect(response).to.have.property('cpm', 10);
+ expect(response).to.have.property('serverResponseTimeMs', 81);
});
it('should log warning for unsupported bidder', () => {
diff --git a/test/spec/modules/rubiconAnalyticsAdapter_spec.js b/test/spec/modules/rubiconAnalyticsAdapter_spec.js
index d8f0811e81c..38f8b726cd1 100644
--- a/test/spec/modules/rubiconAnalyticsAdapter_spec.js
+++ b/test/spec/modules/rubiconAnalyticsAdapter_spec.js
@@ -84,6 +84,8 @@ const BID2 = Object.assign({}, BID, {
height: 90,
mediaType: 'banner',
cpm: 1.52,
+ source: 'server',
+ serverResponseTimeMs: 42,
rubiconTargeting: {
'rpfl_elemid': '/19968336/header-bid-tag1',
'rpfl_14062': '2_tier0100'
@@ -93,7 +95,7 @@ const BID2 = Object.assign({}, BID, {
'hb_adid': '3bd4ebb1c900e2',
'hb_pb': '1.500',
'hb_size': '728x90',
- 'hb_source': 'client'
+ 'hb_source': 'server'
}
});
@@ -103,7 +105,7 @@ const MOCK = {
[BID2.adUnitCode]: BID2.adserverTargeting
},
AUCTION_INIT: {
- 'timestamp': 1519149536560,
+ 'timestamp': 1519767010567,
'auctionId': '25c6d7f5-699a-4bfc-87c9-996f915341fa',
'timeout': 3000
},
@@ -237,7 +239,7 @@ const ANALYTICS_MESSAGE = {
'bidId': '2ecff0db240757',
'status': 'success',
'source': 'client',
- 'clientLatencyMillis': 617477221,
+ 'clientLatencyMillis': 3214,
'params': {
'accountId': '14062',
'siteId': '70608',
@@ -280,15 +282,16 @@ const ANALYTICS_MESSAGE = {
'hb_adid': '3bd4ebb1c900e2',
'hb_pb': '1.500',
'hb_size': '728x90',
- 'hb_source': 'client'
+ 'hb_source': 'server'
},
'bids': [
{
'bidder': 'rubicon',
'bidId': '3bd4ebb1c900e2',
'status': 'success',
- 'source': 'client',
- 'clientLatencyMillis': 617477221,
+ 'source': 'server',
+ 'clientLatencyMillis': 3214,
+ 'serverLatencyMillis': 42,
'params': {
'accountId': '14062',
'siteId': '70608',
@@ -316,7 +319,7 @@ const ANALYTICS_MESSAGE = {
'bidId': '2ecff0db240757',
'status': 'success',
'source': 'client',
- 'clientLatencyMillis': 617477221,
+ 'clientLatencyMillis': 3214,
'samplingFactor': 1,
'accountId': 1001,
'params': {
@@ -351,8 +354,9 @@ const ANALYTICS_MESSAGE = {
'adUnitCode': '/19968336/header-bid-tag1',
'bidId': '3bd4ebb1c900e2',
'status': 'success',
- 'source': 'client',
- 'clientLatencyMillis': 617477221,
+ 'source': 'server',
+ 'clientLatencyMillis': 3214,
+ 'serverLatencyMillis': 42,
'samplingFactor': 1,
'accountId': 1001,
'params': {
@@ -368,7 +372,7 @@ const ANALYTICS_MESSAGE = {
'hb_adid': '3bd4ebb1c900e2',
'hb_pb': '1.500',
'hb_size': '728x90',
- 'hb_source': 'client'
+ 'hb_source': 'server'
},
'bidResponse': {
'bidPriceUSD': 1.52,
From 2e27a335d4477584e4325d3c4229d8ed0e0d65b7 Mon Sep 17 00:00:00 2001
From: Shrikant Patwari
Date: Wed, 18 Apr 2018 22:49:45 +0530
Subject: [PATCH 081/171] Analytic Adaptor by YuktaMedia (#2392)
* Analytic Adaptor by YuktaMedia
* removed optional bid request params
* test case modified
---
modules/yuktamediaAnalyticsAdapter.js | 144 ++++++++++++++
modules/yuktamediaAnalyticsAdapter.md | 22 +++
.../yuktamediaAnalyticsAdaptor_spec.js | 177 ++++++++++++++++++
3 files changed, 343 insertions(+)
create mode 100644 modules/yuktamediaAnalyticsAdapter.js
create mode 100644 modules/yuktamediaAnalyticsAdapter.md
create mode 100644 test/spec/modules/yuktamediaAnalyticsAdaptor_spec.js
diff --git a/modules/yuktamediaAnalyticsAdapter.js b/modules/yuktamediaAnalyticsAdapter.js
new file mode 100644
index 00000000000..2801ec3afb8
--- /dev/null
+++ b/modules/yuktamediaAnalyticsAdapter.js
@@ -0,0 +1,144 @@
+import { ajax } from 'src/ajax';
+import adapter from 'src/AnalyticsAdapter';
+import adaptermanager from 'src/adaptermanager';
+import CONSTANTS from 'src/constants.json';
+import * as url from 'src/url';
+import * as utils from 'src/utils';
+
+const emptyUrl = '';
+const analyticsType = 'endpoint';
+const yuktamediaAnalyticsVersion = 'v1.0.0';
+
+let initOptions;
+let auctionTimestamp;
+let events = {
+ bids: []
+};
+
+var yuktamediaAnalyticsAdapter = Object.assign(adapter(
+ {
+ emptyUrl,
+ analyticsType
+ }), {
+ track({ eventType, args }) {
+ if (typeof args !== 'undefined') {
+ if (eventType === CONSTANTS.EVENTS.BID_TIMEOUT) {
+ args.forEach(item => { mapBidResponse(item, 'timeout'); });
+ } else if (eventType === CONSTANTS.EVENTS.AUCTION_INIT) {
+ events.auctionInit = args;
+ auctionTimestamp = args.timestamp;
+ } else if (eventType === CONSTANTS.EVENTS.BID_REQUESTED) {
+ mapBidRequests(args).forEach(item => { events.bids.push(item) });
+ } else if (eventType === CONSTANTS.EVENTS.BID_RESPONSE) {
+ mapBidResponse(args, 'response');
+ } else if (eventType === CONSTANTS.EVENTS.BID_WON) {
+ send({
+ bidWon: mapBidResponse(args, 'win')
+ }, 'won');
+ }
+ }
+
+ if (eventType === CONSTANTS.EVENTS.AUCTION_END) {
+ send(events, 'auctionEnd');
+ }
+ }
+});
+
+function mapBidRequests(params) {
+ let arr = [];
+ if (typeof params.bids !== 'undefined' && params.bids.length) {
+ params.bids.forEach(function (bid) {
+ arr.push({
+ bidderCode: bid.bidder,
+ bidId: bid.bidId,
+ adUnitCode: bid.adUnitCode,
+ requestId: bid.bidderRequestId,
+ auctionId: bid.auctionId,
+ transactionId: bid.transactionId,
+ sizes: utils.parseSizesInput(bid.sizes).toString(),
+ renderStatus: 1,
+ requestTimestamp: params.auctionStart
+ });
+ });
+ }
+ return arr;
+}
+
+function mapBidResponse(bidResponse, status) {
+ if (status !== 'win') {
+ let bid = events.bids.filter(o => o.bidId == bidResponse.bidId || o.bidId == bidResponse.requestId)[0];
+ Object.assign(bid, {
+ bidderCode: bidResponse.bidder,
+ bidId: status == 'timeout' ? bidResponse.bidId : bidResponse.requestId,
+ adUnitCode: bidResponse.adUnitCode,
+ auctionId: bidResponse.auctionId,
+ creativeId: bidResponse.creativeId,
+ transactionId: bidResponse.transactionId,
+ currency: bidResponse.currency,
+ cpm: bidResponse.cpm,
+ netRevenue: bidResponse.netRevenue,
+ mediaType: bidResponse.mediaType,
+ statusMessage: bidResponse.statusMessage,
+ status: bidResponse.status,
+ renderStatus: status == 'timeout' ? 3 : 2,
+ timeToRespond: bidResponse.timeToRespond,
+ requestTimestamp: bidResponse.requestTimestamp,
+ responseTimestamp: bidResponse.responseTimestamp
+ });
+ } else if (status == 'win') {
+ return {
+ bidderCode: bidResponse.bidder,
+ bidId: bidResponse.requestId,
+ adUnitCode: bidResponse.adUnitCode,
+ auctionId: bidResponse.auctionId,
+ creativeId: bidResponse.creativeId,
+ transactionId: bidResponse.transactionId,
+ currency: bidResponse.currency,
+ cpm: bidResponse.cpm,
+ netRevenue: bidResponse.netRevenue,
+ renderedSize: bidResponse.size,
+ mediaType: bidResponse.mediaType,
+ statusMessage: bidResponse.statusMessage,
+ status: bidResponse.status,
+ renderStatus: 4,
+ timeToRespond: bidResponse.timeToRespond,
+ requestTimestamp: bidResponse.requestTimestamp,
+ responseTimestamp: bidResponse.responseTimestamp
+ }
+ }
+}
+
+function send(data, status) {
+ let location = utils.getTopWindowLocation();
+ let secure = location.protocol == 'https:';
+ if (typeof data !== 'undefined' && typeof data.auctionInit !== 'undefined') {
+ data.auctionInit = Object.assign({ host: location.host, path: location.pathname, hash: location.hash, search: location.search }, data.auctionInit);
+ }
+ data.initOptions = initOptions;
+
+ let yuktamediaAnalyticsRequestUrl = url.format({
+ protocol: secure ? 'https' : 'http',
+ hostname: 'analytics-prebid.yuktamedia.com',
+ pathname: status == 'auctionEnd' ? '/api/bids' : '/api/bid/won',
+ search: {
+ auctionTimestamp: auctionTimestamp,
+ yuktamediaAnalyticsVersion: yuktamediaAnalyticsVersion,
+ prebidVersion: $$PREBID_GLOBAL$$.version
+ }
+ });
+
+ ajax(yuktamediaAnalyticsRequestUrl, undefined, JSON.stringify(data), { method: 'POST', contentType: 'application/json' });
+}
+
+yuktamediaAnalyticsAdapter.originEnableAnalytics = yuktamediaAnalyticsAdapter.enableAnalytics;
+yuktamediaAnalyticsAdapter.enableAnalytics = function (config) {
+ initOptions = config.options;
+ yuktamediaAnalyticsAdapter.originEnableAnalytics(config);
+};
+
+adaptermanager.registerAnalyticsAdapter({
+ adapter: yuktamediaAnalyticsAdapter,
+ code: 'yuktamedia'
+});
+
+export default yuktamediaAnalyticsAdapter;
diff --git a/modules/yuktamediaAnalyticsAdapter.md b/modules/yuktamediaAnalyticsAdapter.md
new file mode 100644
index 00000000000..a21675b6b1d
--- /dev/null
+++ b/modules/yuktamediaAnalyticsAdapter.md
@@ -0,0 +1,22 @@
+# Overview
+Module Name: YuktaMedia Analytics Adapter
+
+Module Type: Analytics Adapter
+
+Maintainer: info@yuktamedia.com
+
+# Description
+
+Analytics adapter for prebid provided by YuktaMedia. Contact info@yuktamedia.com for information.
+
+# Test Parameters
+
+```
+{
+ provider: 'yuktamedia',
+ options : {
+ pubId : 50357 //id provided by YuktaMedia LLP
+ pubKey: 'xxx' //key provided by YuktaMedia LLP
+ }
+}
+```
diff --git a/test/spec/modules/yuktamediaAnalyticsAdaptor_spec.js b/test/spec/modules/yuktamediaAnalyticsAdaptor_spec.js
new file mode 100644
index 00000000000..29d23d66bd2
--- /dev/null
+++ b/test/spec/modules/yuktamediaAnalyticsAdaptor_spec.js
@@ -0,0 +1,177 @@
+import yuktamediaAnalyticsAdapter from 'modules/yuktamediaAnalyticsAdapter';
+import { expect } from 'chai';
+let adaptermanager = require('src/adaptermanager');
+let events = require('src/events');
+let constants = require('src/constants.json');
+
+describe('YuktaMedia analytics adapter', () => {
+ let xhr;
+ let requests;
+
+ beforeEach(() => {
+ xhr = sinon.useFakeXMLHttpRequest();
+ requests = [];
+ xhr.onCreate = request => requests.push(request);
+ sinon.stub(events, 'getEvents').returns([]);
+ });
+
+ afterEach(() => {
+ xhr.restore();
+ events.getEvents.restore();
+ });
+
+ describe('track', () => {
+ let initOptions = {
+ pubId: '1',
+ pubKey: 'ZXlKaGJHY2lPaUpJVXpJMU5pSjkuT=='
+ };
+
+ adaptermanager.registerAnalyticsAdapter({
+ code: 'yuktamedia',
+ adapter: yuktamediaAnalyticsAdapter
+ });
+
+ beforeEach(() => {
+ adaptermanager.enableAnalytics({
+ provider: 'yuktamedia',
+ options: initOptions
+ });
+ });
+
+ afterEach(() => {
+ yuktamediaAnalyticsAdapter.disableAnalytics();
+ });
+
+ it('builds and sends auction data', () => {
+ let auctionTimestamp = 1496510254313;
+ let bidRequest = {
+ 'bidderCode': 'appnexus',
+ 'auctionId': 'a5b849e5-87d7-4205-8300-d063084fcfb7',
+ 'bidderRequestId': '173209942f8bdd',
+ 'bids': [{
+ 'bidder': 'appnexus',
+ 'params': {
+ 'placementId': '10433394'
+ },
+ 'crumbs': {
+ 'pubcid': '9a2a4e71-f39b-405f-aecc-19efc22b618d'
+ },
+ 'adUnitCode': 'div-gpt-ad-1438287399331-0',
+ 'transactionId': '2f481ff1-8d20-4c28-8e36-e384e9e3eec6',
+ 'sizes': [
+ [300, 250],
+ [300, 600]
+ ],
+ 'bidId': '2eddfdc0c791dc',
+ 'bidderRequestId': '173209942f8bdd',
+ 'auctionId': 'a5b849e5-87d7-4205-8300-d063084fcfb7'
+ }
+ ],
+ 'auctionStart': 1522265863591,
+ 'timeout': 3000,
+ 'start': 1522265863600,
+ 'doneCbCallCount': 1
+ };
+ let bidResponse = {
+ 'height': 250,
+ 'statusMessage': 'Bid available',
+ 'adId': '2eddfdc0c791dc',
+ 'mediaType': 'banner',
+ 'source': 'client',
+ 'requestId': '2eddfdc0c791dc',
+ 'cpm': 0.5,
+ 'creativeId': 29681110,
+ 'currency': 'USD',
+ 'netRevenue': true,
+ 'ttl': 300,
+ 'auctionId': 'a5b849e5-87d7-4205-8300-d063084fcfb7',
+ 'responseTimestamp': 1522265866110,
+ 'requestTimestamp': 1522265863600,
+ 'bidder': 'appnexus',
+ 'adUnitCode': 'div-gpt-ad-1438287399331-0',
+ 'timeToRespond': 2510,
+ 'size': '300x250'
+ };
+ let bidTimeoutArgsV1 = [
+ {
+ bidId: '2baa51527bd015',
+ bidder: 'bidderOne',
+ adUnitCode: '/19968336/header-bid-tag-0',
+ auctionId: '66529d4c-8998-47c2-ab3e-5b953490b98f'
+ },
+ {
+ bidId: '6fe3b4c2c23092',
+ bidder: 'bidderTwo',
+ adUnitCode: '/19968336/header-bid-tag-0',
+ auctionId: '66529d4c-8998-47c2-ab3e-5b953490b98f'
+ }
+ ];
+ let bid = {
+ 'bidderCode': 'appnexus',
+ 'bidId': '2eddfdc0c791dc',
+ 'adUnitCode': 'div-gpt-ad-1438287399331-0',
+ 'requestId': '173209942f8bdd',
+ 'auctionId': 'a5b849e5-87d7-4205-8300-d063084fcfb7',
+ 'renderStatus': 2,
+ 'cpm': 0.5,
+ 'creativeId': 29681110,
+ 'currency': 'USD',
+ 'mediaType': 'banner',
+ 'netRevenue': true,
+ 'requestTimestamp': 1522265863600,
+ 'responseTimestamp': 1522265866110,
+ 'sizes': '300x250,300x600',
+ 'statusMessage': 'Bid available',
+ 'timeToRespond': 2510
+ }
+
+ // Step 1: Send auction init event
+ events.emit(constants.EVENTS.AUCTION_INIT, {
+ timestamp: auctionTimestamp
+ });
+
+ // Step 2: Send bid requested event
+ events.emit(constants.EVENTS.BID_REQUESTED, bidRequest);
+
+ // Step 3: Send bid response event
+ events.emit(constants.EVENTS.BID_RESPONSE, bidResponse);
+
+ // Step 4: Send bid time out event
+ events.emit(constants.EVENTS.BID_TIMEOUT, bidTimeoutArgsV1);
+
+ // Step 5: Send auction end event
+ events.emit(constants.EVENTS.AUCTION_END, {}, 'auctionEnd');
+
+ expect(requests.length).to.equal(1);
+
+ let auctionEventData = JSON.parse(requests[0].requestBody);
+
+ expect(auctionEventData.bids.length).to.equal(1);
+ expect(auctionEventData.bids[0]).to.deep.equal(bid);
+
+ expect(auctionEventData.initOptions).to.deep.equal(initOptions);
+
+ // Step 6: Send auction bid won event
+ events.emit(constants.EVENTS.BID_WON, {
+ 'bidderCode': 'appnexus',
+ 'statusMessage': 'Bid available',
+ 'adId': '108abedd106b669',
+ 'auctionId': '6355d610-7cdc-4009-a866-f91997fd24bb',
+ 'responseTimestamp': 1522144433058,
+ 'requestTimestamp': 1522144432923,
+ 'bidder': 'appnexus',
+ 'adUnitCode': 'div-gpt-ad-1438287399331-0',
+ 'timeToRespond': 135,
+ 'size': '300x250',
+ 'status': 'rendered'
+ }, 'won');
+
+ expect(requests.length).to.equal(2);
+
+ let winEventData = JSON.parse(requests[1].requestBody);
+
+ expect(winEventData.bidWon.status).to.equal('rendered');
+ expect(winEventData.initOptions).to.deep.equal(initOptions);
+ });
+ });
+});
From 1a7dac7b99220d367fbbd041202341897f1f3b52 Mon Sep 17 00:00:00 2001
From: haohany
Date: Fri, 20 Apr 2018 08:52:39 -0700
Subject: [PATCH 082/171] Add type conversion for openx parameters (#2408)
---
modules/prebidServerBidAdapter.js | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/modules/prebidServerBidAdapter.js b/modules/prebidServerBidAdapter.js
index 1ef1d325379..7bded03f3fb 100644
--- a/modules/prebidServerBidAdapter.js
+++ b/modules/prebidServerBidAdapter.js
@@ -205,6 +205,10 @@ const paramTypes = {
'secure': tryConvertNumber,
'mobile': tryConvertNumber
},
+ 'openx': {
+ 'unit': tryConvertString,
+ 'customFloor': tryConvertNumber
+ },
};
/*
From a48df1ef8fc9bfff5744e70e0a75b8f0a4084a78 Mon Sep 17 00:00:00 2001
From: Zhaoyong Ma <33766472+moonshells@users.noreply.github.com>
Date: Fri, 20 Apr 2018 12:05:20 -0700
Subject: [PATCH 083/171] add gdpr support to rubicon video in
rubiconBidAdapter (#2426)
---
modules/rubiconBidAdapter.js | 25 +++++++----
test/spec/modules/rubiconBidAdapter_spec.js | 50 ++++++++++++++-------
2 files changed, 49 insertions(+), 26 deletions(-)
diff --git a/modules/rubiconBidAdapter.js b/modules/rubiconBidAdapter.js
index 9cb4b0ab6cc..dd716e6903b 100644
--- a/modules/rubiconBidAdapter.js
+++ b/modules/rubiconBidAdapter.js
@@ -1,7 +1,7 @@
import * as utils from 'src/utils';
-import { registerBidder } from 'src/adapters/bidderFactory';
-import { config } from 'src/config';
-import { BANNER, VIDEO } from 'src/mediaTypes';
+import {registerBidder} from 'src/adapters/bidderFactory';
+import {config} from 'src/config';
+import {BANNER, VIDEO} from 'src/mediaTypes';
const INTEGRATION = 'pbjs_lite_v$prebid.version$';
@@ -79,7 +79,7 @@ export const spec = {
* @param {object} bid
* @return boolean
*/
- isBidRequestValid: function(bid) {
+ isBidRequestValid: function (bid) {
if (typeof bid.params !== 'object') {
return false;
}
@@ -121,7 +121,7 @@ export const spec = {
* @param bidderRequest
* @return ServerRequest[]
*/
- buildRequests: function(bidRequests, bidderRequest) {
+ buildRequests: function (bidRequests, bidderRequest) {
return bidRequests.map(bidRequest => {
bidRequest.startTime = new Date().getTime();
@@ -178,6 +178,11 @@ export const spec = {
data.slots.push(slotData);
+ if (bidderRequest && bidRequest.gdprConsent) {
+ data.gdpr = bidRequest.gdprConsent.consentRequired ? 1 : 0;
+ data.gdpr_consent = bidRequest.gdprConsent.consentString;
+ }
+
return {
method: 'POST',
url: VIDEO_ENDPOINT,
@@ -259,7 +264,7 @@ export const spec = {
* @param {BidRequest} bidRequest
* @returns {boolean}
*/
- hasVideoMediaType: function(bidRequest) {
+ hasVideoMediaType: function (bidRequest) {
return (typeof utils.deepAccess(bidRequest, 'params.video.size_id') !== 'undefined' &&
(bidRequest.mediaType === VIDEO || utils.deepAccess(bidRequest, `mediaTypes.${VIDEO}.context`) === 'instream'));
},
@@ -268,7 +273,7 @@ export const spec = {
* @param {BidRequest} bidRequest
* @return {Bid[]} An array of bids which
*/
- interpretResponse: function(responseObj, {bidRequest}) {
+ interpretResponse: function (responseObj, {bidRequest}) {
responseObj = responseObj.body
let ads = responseObj.ads;
@@ -336,7 +341,7 @@ export const spec = {
return bids;
}, []);
},
- getUserSyncs: function(syncOptions) {
+ getUserSyncs: function (syncOptions) {
if (!hasSynced && syncOptions.iframeEnabled) {
hasSynced = true;
return {
@@ -360,6 +365,7 @@ function _getDigiTrustQueryParams() {
let digiTrustUser = window.DigiTrust && (config.getConfig('digiTrustId') || window.DigiTrust.getUser({member: 'T9QSFKPDN9'}));
return (digiTrustUser && digiTrustUser.success && digiTrustUser.identity) || null;
}
+
let digiTrustId = getDigiTrustId();
// Verify there is an ID and this user has not opted out
if (!digiTrustId || (digiTrustId.privacy && digiTrustId.privacy.optout)) {
@@ -407,7 +413,7 @@ function parseSizes(bid) {
function mapSizes(sizes) {
return utils.parseSizesInput(sizes)
- // map sizes while excluding non-matches
+ // map sizes while excluding non-matches
.reduce((result, size) => {
let mappedSize = parseInt(sizeMap[size], 10);
if (mappedSize) {
@@ -448,6 +454,7 @@ export function masSizeOrdering(sizes) {
}
var hasSynced = false;
+
export function resetUserSync() {
hasSynced = false;
}
diff --git a/test/spec/modules/rubiconBidAdapter_spec.js b/test/spec/modules/rubiconBidAdapter_spec.js
index 954348935df..971ce7848e6 100644
--- a/test/spec/modules/rubiconBidAdapter_spec.js
+++ b/test/spec/modules/rubiconBidAdapter_spec.js
@@ -1,10 +1,10 @@
-import { expect } from 'chai';
+import {expect} from 'chai';
import adapterManager from 'src/adaptermanager';
-import { spec, masSizeOrdering, resetUserSync } from 'modules/rubiconBidAdapter';
-import { parse as parseQuery } from 'querystring';
-import { newBidder } from 'src/adapters/bidderFactory';
-import { userSync } from 'src/userSync';
-import { config } from 'src/config';
+import {spec, masSizeOrdering, resetUserSync} from 'modules/rubiconBidAdapter';
+import {parse as parseQuery} from 'querystring';
+import {newBidder} from 'src/adapters/bidderFactory';
+import {userSync} from 'src/userSync';
+import {config} from 'src/config';
import * as utils from 'src/utils';
var CONSTANTS = require('src/constants.json');
@@ -24,6 +24,11 @@ describe('the rubicon adapter', () => {
}
};
+ bid.gdprConsent = {
+ 'consentString': 'BOJ/P2HOJ/P2HABABMAAAAAZ+A==',
+ 'consentRequired': true
+ };
+
bid.params.video = {
'language': 'en',
'p_aso.video.ext.skip': true,
@@ -43,6 +48,10 @@ describe('the rubicon adapter', () => {
// Legacy property (Prebid <1.0)
bid.mediaType = 'video';
+ bid.gdprConsent = {
+ 'consentString': 'BOJ/P2HOJ/P2HABABMAAAAAZ+A==',
+ 'consentRequired': true
+ };
bid.params.video = {
'language': 'en',
'p_aso.video.ext.skip': true,
@@ -246,7 +255,7 @@ describe('the rubicon adapter', () => {
expect(parseQuery(request.data).rf).to.equal('http://www.prebid.org');
let origGetConfig = config.getConfig;
- sandbox.stub(config, 'getConfig').callsFake(function(key) {
+ sandbox.stub(config, 'getConfig').callsFake(function (key) {
if (key === 'pageUrl') {
return 'http://www.rubiconproject.com';
}
@@ -301,7 +310,8 @@ describe('the rubicon adapter', () => {
it('should send digitrust params', () => {
window.DigiTrust = {
- getUser: function() {}
+ getUser: function () {
+ }
};
sandbox.stub(window.DigiTrust, 'getUser').callsFake(() =>
({
@@ -346,7 +356,8 @@ describe('the rubicon adapter', () => {
it('should not send digitrust params due to optout', () => {
window.DigiTrust = {
- getUser: function() {}
+ getUser: function () {
+ }
};
sandbox.stub(window.DigiTrust, 'getUser').callsFake(() =>
({
@@ -374,7 +385,8 @@ describe('the rubicon adapter', () => {
it('should not send digitrust params due to failure', () => {
window.DigiTrust = {
- getUser: function() {}
+ getUser: function () {
+ }
};
sandbox.stub(window.DigiTrust, 'getUser').callsFake(() =>
({
@@ -548,6 +560,8 @@ describe('the rubicon adapter', () => {
expect(post).to.have.property('timeout').that.is.a('number');
expect(post.timeout < 5000).to.equal(true);
expect(post.stash_creatives).to.equal(true);
+ expect(post.gdpr_consent).to.equal('BOJ/P2HOJ/P2HABABMAAAAAZ+A==');
+ expect(post.gdpr).to.equal(1);
expect(post).to.have.property('ae_pass_through_parameters');
expect(post.ae_pass_through_parameters)
@@ -609,6 +623,8 @@ describe('the rubicon adapter', () => {
expect(post).to.have.property('timeout').that.is.a('number');
expect(post.timeout < 5000).to.equal(true);
expect(post.stash_creatives).to.equal(true);
+ expect(post.gdpr_consent).to.equal('BOJ/P2HOJ/P2HABABMAAAAAZ+A==');
+ expect(post.gdpr).to.equal(1);
expect(post).to.have.property('ae_pass_through_parameters');
expect(post.ae_pass_through_parameters)
@@ -752,7 +768,7 @@ describe('the rubicon adapter', () => {
bidRequestCopy.params.video = 123;
expect(spec.isBidRequestValid(bidRequestCopy)).to.equal(false);
- bidRequestCopy.params.video = { size_id: undefined };
+ bidRequestCopy.params.video = {size_id: undefined};
expect(spec.isBidRequestValid(bidRequestCopy)).to.equal(false);
delete bidRequestCopy.params.video;
@@ -936,7 +952,7 @@ describe('the rubicon adapter', () => {
]
};
- let bids = spec.interpretResponse({ body: response }, {
+ let bids = spec.interpretResponse({body: response}, {
bidRequest: bidderRequest.bids[0]
});
@@ -992,7 +1008,7 @@ describe('the rubicon adapter', () => {
}]
};
- let bids = spec.interpretResponse({ body: response }, {
+ let bids = spec.interpretResponse({body: response}, {
bidRequest: bidderRequest.bids[0]
});
@@ -1015,7 +1031,7 @@ describe('the rubicon adapter', () => {
'ads': []
};
- let bids = spec.interpretResponse({ body: response }, {
+ let bids = spec.interpretResponse({body: response}, {
bidRequest: bidderRequest.bids[0]
});
@@ -1039,7 +1055,7 @@ describe('the rubicon adapter', () => {
}]
};
- let bids = spec.interpretResponse({ body: response }, {
+ let bids = spec.interpretResponse({body: response}, {
bidRequest: bidderRequest.bids[0]
});
@@ -1049,7 +1065,7 @@ describe('the rubicon adapter', () => {
it('should handle an error because of malformed json response', () => {
let response = '{test{';
- let bids = spec.interpretResponse({ body: response }, {
+ let bids = spec.interpretResponse({body: response}, {
bidRequest: bidderRequest.bids[0]
});
@@ -1090,7 +1106,7 @@ describe('the rubicon adapter', () => {
'account_id': 7780
};
- let bids = spec.interpretResponse({ body: response }, {
+ let bids = spec.interpretResponse({body: response}, {
bidRequest: bidderRequest.bids[0]
});
From 204daaeff195cac6c68ef137106311163e15418e Mon Sep 17 00:00:00 2001
From: Vedant Seta
Date: Sat, 21 Apr 2018 02:00:48 +0530
Subject: [PATCH 084/171] Media.net Adapter Improvements (#2344)
* onTimeout added to spec
* adding test cases file
* passing canonical,og, and twitter urls to server
* reverted all changes related to onTimeout and logging pixels
---
modules/medianetBidAdapter.js | 52 +++++++++++++++++---
test/spec/modules/medianetBidAdapter_spec.js | 39 +++++++++++++--
2 files changed, 80 insertions(+), 11 deletions(-)
diff --git a/modules/medianetBidAdapter.js b/modules/medianetBidAdapter.js
index e8a98721e0c..8fe09ab74e6 100644
--- a/modules/medianetBidAdapter.js
+++ b/modules/medianetBidAdapter.js
@@ -3,18 +3,53 @@ import * as utils from 'src/utils';
import { config } from 'src/config';
const BIDDER_CODE = 'medianet';
-const BID_URL = 'https://prebid.media.net/rtb/prebid';
+const BID_URL = '//prebid.media.net/rtb/prebid';
$$PREBID_GLOBAL$$.medianetGlobals = {};
function siteDetails(site) {
site = site || {};
-
- return {
+ let siteData = {
domain: site.domain || utils.getTopWindowLocation().host,
page: site.page || utils.getTopWindowUrl(),
ref: site.ref || utils.getTopWindowReferrer()
- }
+ };
+
+ return Object.assign(siteData, getPageMeta());
+}
+
+function getPageMeta() {
+ let canonicalUrl = getUrlFromSelector('link[rel="canonical"]', 'href');
+ let ogUrl = getUrlFromSelector('meta[property="og:url"]', 'content');
+ let twitterUrl = getUrlFromSelector('meta[name="twitter:url"]', 'content');
+
+ return Object.assign({},
+ canonicalUrl && { 'canonical_url': canonicalUrl },
+ ogUrl && { 'og_url': ogUrl },
+ twitterUrl && { 'twitter_url': twitterUrl }
+ );
+}
+
+function getUrlFromSelector(selector, attribute) {
+ let attr = getAttributeFromSelector(selector, attribute);
+ return attr && getAbsoluteUrl(attr);
+}
+
+function getAttributeFromSelector(selector, attribute) {
+ try {
+ let doc = utils.getWindowTop().document;
+ let element = doc.querySelector(selector);
+ if (element !== null && element[attribute]) {
+ return element[attribute];
+ }
+ } catch (e) {}
+}
+
+function getAbsoluteUrl(url) {
+ let aTag = utils.getWindowTop().document.createElement('a');
+ aTag.href = url;
+
+ return aTag.href;
}
function filterUrlsByType(urls, type) {
@@ -65,13 +100,13 @@ function slotParams(bidRequest) {
return params;
}
-function generatePayload(bidRequests) {
+function generatePayload(bidRequests, timeout) {
return {
site: siteDetails(bidRequests[0].params.site),
ext: configuredParams(bidRequests[0].params),
id: bidRequests[0].auctionId,
imp: bidRequests.map(request => slotParams(request)),
- tmax: config.getConfig('bidderTimeout')
+ tmax: timeout
}
}
@@ -120,8 +155,9 @@ export const spec = {
* @param {BidRequest[]} bidRequests A non-empty list of bid requests which should be sent to the Server.
* @return ServerRequest Info describing the request to the server.
*/
- buildRequests: function(bidRequests) {
- let payload = generatePayload(bidRequests);
+ buildRequests: function(bidRequests, auctionData) {
+ let timeout = auctionData.timeout || config.getConfig('bidderTimeout');
+ let payload = generatePayload(bidRequests, timeout);
return {
method: 'POST',
diff --git a/test/spec/modules/medianetBidAdapter_spec.js b/test/spec/modules/medianetBidAdapter_spec.js
index 36868e7f993..520ec34fc7d 100644
--- a/test/spec/modules/medianetBidAdapter_spec.js
+++ b/test/spec/modules/medianetBidAdapter_spec.js
@@ -69,6 +69,9 @@ let VALID_BID_REQUEST = [{
'bidderRequestId': '1e9b1f07797c1c',
'auctionId': 'aafabfd0-28c0-4ac0-aa09-99689e88b81d'
}],
+ VALID_AUCTIONDATA = {
+ 'timeout': config.getConfig('bidderTimeout'),
+ },
VALID_PAYLOAD_INVALID_BIDFLOOR = {
'site': {
'page': 'http://media.net/prebidtest',
@@ -166,6 +169,18 @@ let VALID_BID_REQUEST = [{
}],
'tmax': config.getConfig('bidderTimeout')
},
+ VALID_PAYLOAD_PAGE_META = (() => {
+ let PAGE_META;
+ try {
+ PAGE_META = JSON.parse(JSON.stringify(VALID_PAYLOAD));
+ } catch (e) {}
+ PAGE_META.site = Object.assign(PAGE_META.site, {
+ 'canonical_url': 'http://localhost:9999/canonical-test',
+ 'twitter_url': 'http://localhost:9999/twitter-test',
+ 'og_url': 'http://localhost:9999/fb-test'
+ });
+ return PAGE_META;
+ })(),
VALID_PARAMS = {
bidder: 'medianet',
params: {
@@ -343,19 +358,37 @@ describe('Media.net bid adapter', () => {
describe('buildRequests', () => {
it('should build valid payload on bid', () => {
- let requestObj = spec.buildRequests(VALID_BID_REQUEST);
+ let requestObj = spec.buildRequests(VALID_BID_REQUEST, VALID_AUCTIONDATA);
expect(JSON.parse(requestObj.data)).to.deep.equal(VALID_PAYLOAD);
});
it('should accept size as a one dimensional array', () => {
- let bidReq = spec.buildRequests(BID_REQUEST_SIZE_AS_1DARRAY);
+ let bidReq = spec.buildRequests(BID_REQUEST_SIZE_AS_1DARRAY, VALID_AUCTIONDATA);
expect(JSON.parse(bidReq.data)).to.deep.equal(VALID_PAYLOAD);
});
it('should ignore bidfloor if not a valid number', () => {
- let bidReq = spec.buildRequests(VALID_BID_REQUEST_INVALID_BIDFLOOR);
+ let bidReq = spec.buildRequests(VALID_BID_REQUEST_INVALID_BIDFLOOR, VALID_AUCTIONDATA);
expect(JSON.parse(bidReq.data)).to.deep.equal(VALID_PAYLOAD_INVALID_BIDFLOOR);
});
+ describe('build requests: when page meta-data is available', () => {
+ it('should pass canonical, twitter and fb paramters if available', () => {
+ let sandbox = sinon.sandbox.create();
+ let documentStub = sandbox.stub(window.top.document, 'querySelector');
+ documentStub.withArgs('link[rel="canonical"]').returns({
+ href: 'http://localhost:9999/canonical-test'
+ });
+ documentStub.withArgs('meta[property="og:url"]').returns({
+ content: 'http://localhost:9999/fb-test'
+ });
+ documentStub.withArgs('meta[name="twitter:url"]').returns({
+ content: 'http://localhost:9999/twitter-test'
+ });
+ let bidReq = spec.buildRequests(VALID_BID_REQUEST, VALID_AUCTIONDATA);
+ expect(JSON.parse(bidReq.data)).to.deep.equal(VALID_PAYLOAD_PAGE_META);
+ sandbox.restore();
+ });
+ });
});
describe('getUserSyncs', () => {
From 372899b96de0887b5704632fc75ba07fe2f39a85 Mon Sep 17 00:00:00 2001
From: r-sato
Date: Tue, 24 Apr 2018 23:58:04 +0900
Subject: [PATCH 085/171] Add New Adapter dgadsBidAdapter (#2429)
* Add dgads adapter
* Add dgads adapter
* Add spec file for dgads
* Add spec file for dgads
* Add dgads bid adapter
* Add dgads bid adapter
* fix
* fix
* fix email
* remove semi-colon
* Add mediaType native
* Add import medaTypes
---
modules/dgadsBidAdapter.js | 88 +++++++
modules/dgadsBidAdapter.md | 65 +++++
test/spec/modules/dgadsBidAdapter_spec.js | 291 ++++++++++++++++++++++
3 files changed, 444 insertions(+)
create mode 100644 modules/dgadsBidAdapter.js
create mode 100644 modules/dgadsBidAdapter.md
create mode 100644 test/spec/modules/dgadsBidAdapter_spec.js
diff --git a/modules/dgadsBidAdapter.js b/modules/dgadsBidAdapter.js
new file mode 100644
index 00000000000..7d47cc7acf6
--- /dev/null
+++ b/modules/dgadsBidAdapter.js
@@ -0,0 +1,88 @@
+import {registerBidder} from 'src/adapters/bidderFactory';
+import * as utils from 'src/utils';
+import { BANNER, NATIVE } from 'src/mediaTypes';
+
+const BIDDER_CODE = 'dgads';
+const ENDPOINT = 'https://ads-tr.bigmining.com/ad/p/bid';
+
+export const spec = {
+ code: BIDDER_CODE,
+ supportedMediaTypes: [ BANNER, NATIVE ],
+ isBidRequestValid: function(bid) {
+ const params = bid.params;
+ if (!/^\d+$/.test(params.location_id)) {
+ return false;
+ }
+ if (!/^\d+$/.test(params.site_id)) {
+ return false;
+ }
+ return true;
+ },
+ buildRequests: function(bidRequests) {
+ if (bidRequests.length === 0) {
+ return {};
+ }
+
+ return bidRequests.map(bidRequest => {
+ const params = bidRequest.params;
+ const data = {};
+
+ data['location_id'] = params.location_id;
+ data['site_id'] = params.site_id;
+ data['transaction_id'] = bidRequest.transactionId;
+ data['bid_id'] = bidRequest.bidId;
+
+ return {
+ method: 'POST',
+ url: ENDPOINT,
+ data,
+ };
+ });
+ },
+ interpretResponse: function(serverResponse, bidRequest) {
+ const bidResponses = [];
+ const responseObj = serverResponse.body;
+ const ads = responseObj.bids;
+ let bidResponse = {};
+ if (utils.isEmpty(ads)) {
+ return [];
+ }
+ utils._each(ads, function(ad) {
+ bidResponse.requestId = ad.bidId;
+ bidResponse.bidderCode = BIDDER_CODE;
+ bidResponse.cpm = ad.cpm;
+ bidResponse.creativeId = ad.creativeId;
+ bidResponse.currency = 'JPY';
+ bidResponse.netRevenue = true;
+ bidResponse.ttl = ad.ttl;
+ bidResponse.referrer = utils.getTopWindowUrl();
+ if (ad.isNative == 1) {
+ bidResponse.mediaType = NATIVE;
+ bidResponse.native = setNativeResponse(ad);
+ } else {
+ bidResponse.width = parseInt(ad.w);
+ bidResponse.height = parseInt(ad.h);
+ bidResponse.ad = ad.ad;
+ }
+ bidResponses.push(bidResponse);
+ });
+ return bidResponses;
+ }
+};
+function setNativeResponse(ad) {
+ let nativeResponce = {};
+ nativeResponce.image = {
+ url: ad.image,
+ width: parseInt(ad.w),
+ height: parseInt(ad.h)
+ }
+ nativeResponce.title = ad.title;
+ nativeResponce.body = ad.desc;
+ nativeResponce.sponsoredBy = ad.sponsoredBy;
+ nativeResponce.clickUrl = ad.clickUrl;
+ nativeResponce.clickTrackers = ad.clickTrackers || [];
+ nativeResponce.impressionTrackers = ad.impressionTrackers || [];
+ return nativeResponce;
+}
+
+registerBidder(spec);
diff --git a/modules/dgadsBidAdapter.md b/modules/dgadsBidAdapter.md
new file mode 100644
index 00000000000..b1544007a43
--- /dev/null
+++ b/modules/dgadsBidAdapter.md
@@ -0,0 +1,65 @@
+# Overview
+
+```
+Module Name: Digital Garage Ads Platform Bidder Adapter
+Module Type: Bidder Adapter
+Maintainer:dgads-support@garage.co.jp
+```
+
+# Description
+
+Connect to Digital Garage Ads Platform for bids.
+This adapter supports Banner and Native.
+
+# Test Parameters
+```
+ var adUnits = [
+ // Banner
+ {
+ code: 'banner-div',
+ sizes: [[300, 250]],
+ bids: [{
+ bidder: 'dgads',
+ mediaTypes: 'banner',
+ params: {
+ location_id: '1',
+ site_id: '1'
+ }
+ }]
+ },
+ // Native
+ {
+ code: 'native-div',
+ sizes: [[300, 250]],
+ mediaTypes: {
+ native: {
+ title: {
+ required: true,
+ len: 25
+ },
+ body: {
+ required: true,
+ len: 140
+ },
+ sponsoredBy: {
+ required: true,
+ len: 40
+ },
+ image: {
+ required: true
+ },
+ clickUrl: {
+ required: true
+ },
+ }
+ },
+ bids: [{
+ bidder: 'dgads',
+ params: {
+ location_id: '10',
+ site_id: '1'
+ }
+ }]
+ },
+ ];
+```
diff --git a/test/spec/modules/dgadsBidAdapter_spec.js b/test/spec/modules/dgadsBidAdapter_spec.js
new file mode 100644
index 00000000000..89affd94880
--- /dev/null
+++ b/test/spec/modules/dgadsBidAdapter_spec.js
@@ -0,0 +1,291 @@
+import {expect} from 'chai';
+import * as utils from 'src/utils';
+import {spec} from 'modules/dgadsBidAdapter';
+import {newBidder} from 'src/adapters/bidderFactory';
+import { BANNER, NATIVE } from 'src/mediaTypes';
+
+describe('dgadsBidAdapter', () => {
+ const adapter = newBidder(spec);
+ const VALID_ENDPOINT = 'https://ads-tr.bigmining.com/ad/p/bid';
+
+ describe('inherited functions', () => {
+ it('exists and is a function', () => {
+ expect(adapter.callBids).to.exist.and.to.be.a('function');
+ });
+ });
+
+ describe('isBidRequestValid', () => {
+ let bid = {
+ 'bidder': 'dgads',
+ params: {
+ site_id: '1',
+ location_id: '1'
+ }
+ };
+ it('should return true when required params found', () => {
+ expect(spec.isBidRequestValid(bid)).to.equal(true);
+ });
+
+ it('should return false when required params(location_id) are not passed', () => {
+ let bid = Object.assign({}, bid);
+ delete bid.params;
+ bid.params = {
+ site_id: '1'
+ };
+ expect(spec.isBidRequestValid(bid)).to.equal(false);
+ });
+
+ it('should return false when required params(site_id) are not passed', () => {
+ let bid = Object.assign({}, bid);
+ delete bid.params;
+ bid.params = {
+ location_id: '1'
+ };
+ expect(spec.isBidRequestValid(bid)).to.equal(false);
+ });
+ });
+
+ describe('buildRequests', () => {
+ const bidRequests = [
+ { // banner
+ bidder: 'dgads',
+ mediaType: 'banner',
+ params: {
+ site_id: '1',
+ location_id: '1'
+ },
+ adUnitCode: 'adunit-code',
+ sizes: [[300, 250]],
+ bidId: '2db3101abaec66',
+ bidderRequestId: '14a9f773e30243',
+ auctionId: 'c0cd37c5-af11-464d-b83e-35863e533b1f',
+ transactionId: 'c1f1eff6-23c6-4844-a321-575212939e37'
+ },
+ { // native
+ bidder: 'dgads',
+ sizes: [[300, 250]],
+ params: {
+ site_id: '1',
+ location_id: '10'
+ },
+ mediaTypes: {
+ native: {
+ image: {
+ required: true
+ },
+ title: {
+ required: true,
+ len: 25
+ },
+ clickUrl: {
+ required: true
+ },
+ body: {
+ required: true,
+ len: 140
+ },
+ sponsoredBy: {
+ required: true,
+ len: 40
+ }
+ },
+ },
+ adUnitCode: 'adunit-code',
+ bidId: '2db3101abaec66',
+ bidderRequestId: '14a9f773e30243',
+ auctionId: 'c0cd37c5-af11-464d-b83e-35863e533b1f',
+ transactionId: 'c1f1eff6-23c6-4844-a321-575212939e37'
+ }
+ ];
+ it('no bidRequests', () => {
+ const noBidRequests = [];
+ expect(Object.keys(spec.buildRequests(noBidRequests)).length).to.equal(0);
+ });
+ const data = {
+ location_id: '1',
+ site_id: '1',
+ transaction_id: 'c1f1eff6-23c6-4844-a321-575212939e37',
+ bid_id: '2db3101abaec66'
+ };
+ it('sends bid request to VALID_ENDPOINT via POST', () => {
+ const request = spec.buildRequests(bidRequests)[0];
+ expect(request.url).to.equal(VALID_ENDPOINT);
+ expect(request.method).to.equal('POST');
+ });
+ it('should attache params to the request', () => {
+ const request = spec.buildRequests(bidRequests)[0];
+ expect(request.data['location_id']).to.equal(data['location_id']);
+ expect(request.data['site_id']).to.equal(data['site_id']);
+ expect(request.data['transaction_id']).to.equal(data['transaction_id']);
+ expect(request.data['bid_id']).to.equal(data['bid_id']);
+ });
+ });
+
+ describe('interpretResponse', () => {
+ const bidRequests = {
+ banner: {
+ bidRequest: {
+ bidder: 'dgads',
+ params: {
+ location_id: '1',
+ site_id: '1'
+ },
+ transactionId: 'c1f1eff6-23c6-4844-a321-575212939e37',
+ bidId: '2db3101abaec66',
+ adUnitCode: 'adunit-code',
+ sizes: [[300, 250]],
+ bidderRequestId: '14a9f773e30243',
+ auctionId: 'c0cd37c5-af11-464d-b83e-35863e533b1f'
+ },
+ },
+ native: {
+ bidRequest: {
+ bidder: 'adg',
+ params: {
+ site_id: '1',
+ location_id: '10'
+ },
+ mediaTypes: {
+ native: {
+ image: {
+ required: true
+ },
+ title: {
+ required: true,
+ len: 25
+ },
+ body: {
+ required: true,
+ len: 140
+ },
+ sponsoredBy: {
+ required: true,
+ len: 40
+ }
+ }
+ },
+ transactionId: 'f76f6dfd-d64f-4645-a29f-682bac7f431a',
+ bidId: '2f6ac468a9c15e',
+ adUnitCode: 'adunit-code',
+ sizes: [[1, 1]],
+ bidderRequestId: '14a9f773e30243',
+ auctionId: '4aae9f05-18c6-4fcd-80cf-282708cd584a',
+ },
+ },
+ };
+
+ const serverResponse = {
+ noAd: {
+ results: [],
+ },
+ banner: {
+ bids: {
+ ads: {
+ ad: ' ',
+ cpm: 1.22,
+ w: 300,
+ h: 250,
+ creativeId: 'xuidx62944aab4fx37f',
+ ttl: 60,
+ bidId: '2f6ac468a9c15e'
+ }
+ }
+ },
+ native: {
+ bids: {
+ ads: {
+ cpm: 1.22,
+ title: 'title',
+ desc: 'description',
+ sponsoredBy: 'sponsoredBy',
+ image: 'https://ads-tr.bigmining.com/img/300_250_1.jpg',
+ w: 300,
+ h: 250,
+ ttl: 60,
+ bidId: '2f6ac468a9c15e',
+ creativeId: 'xuidx62944aab4fx37f',
+ isNative: 1,
+ impressionTrackers: ['https://ads-tr.bigmining.com/ad/view/beacon.gif'],
+ clickTrackers: ['https://ads-tr.bigmining.com/ad/view/beacon.png'],
+ clickUrl: 'http://www.garage.co.jp/ja/'
+ },
+ }
+ }
+ };
+
+ const bidResponses = {
+ banner: {
+ requestId: '2f6ac468a9c15e',
+ cpm: 1.22,
+ width: 300,
+ height: 250,
+ creativeId: 'xuidx62944aab4fx37f',
+ currency: 'JPY',
+ netRevenue: true,
+ ttl: 60,
+ referrer: utils.getTopWindowUrl(),
+ ad: ' ',
+ },
+ native: {
+ requestId: '2f6ac468a9c15e',
+ cpm: 1.22,
+ creativeId: 'xuidx62944aab4fx37f',
+ currency: 'JPY',
+ netRevenue: true,
+ ttl: 60,
+ native: {
+ image: {
+ url: 'https://ads-tr.bigmining.com/img/300_250_1.jpg',
+ width: 300,
+ height: 250
+ },
+ title: 'title',
+ body: 'description',
+ sponsoredBy: 'sponsoredBy',
+ clickUrl: 'http://www.garage.co.jp/ja/',
+ impressionTrackers: ['https://ads-tr.bigmining.com/ad/view/beacon.gif'],
+ clickTrackers: ['https://ads-tr.bigmining.com/ad/view/beacon.png']
+ },
+ referrer: utils.getTopWindowUrl(),
+ creativeid: 'xuidx62944aab4fx37f',
+ mediaType: NATIVE
+ }
+ };
+
+ it('no bid responses', () => {
+ const result = spec.interpretResponse({body: serverResponse.noAd}, bidRequests.banner);
+ expect(result.length).to.equal(0);
+ });
+ it('handles banner responses', () => {
+ const result = spec.interpretResponse({body: serverResponse.banner}, bidRequests.banner)[0];
+ expect(result.requestId).to.equal(bidResponses.banner.requestId);
+ expect(result.width).to.equal(bidResponses.banner.width);
+ expect(result.height).to.equal(bidResponses.banner.height);
+ expect(result.creativeId).to.equal(bidResponses.banner.creativeId);
+ expect(result.currency).to.equal(bidResponses.banner.currency);
+ expect(result.netRevenue).to.equal(bidResponses.banner.netRevenue);
+ expect(result.ttl).to.equal(bidResponses.banner.ttl);
+ expect(result.referrer).to.equal(bidResponses.banner.referrer);
+ expect(result.ad).to.equal(bidResponses.banner.ad);
+ });
+
+ it('handles native responses', () => {
+ const result = spec.interpretResponse({body: serverResponse.native}, bidRequests.native)[0];
+ expect(result.requestId).to.equal(bidResponses.native.requestId);
+ expect(result.creativeId).to.equal(bidResponses.native.creativeId);
+ expect(result.currency).to.equal(bidResponses.native.currency);
+ expect(result.netRevenue).to.equal(bidResponses.native.netRevenue);
+ expect(result.ttl).to.equal(bidResponses.native.ttl);
+ expect(result.referrer).to.equal(bidResponses.native.referrer);
+ expect(result.native.title).to.equal(bidResponses.native.native.title);
+ expect(result.native.body).to.equal(bidResponses.native.native.body);
+ expect(result.native.sponsoredBy).to.equal(bidResponses.native.native.sponsoredBy);
+ expect(result.native.image.url).to.equal(bidResponses.native.native.image.url);
+ expect(result.native.image.width).to.equal(bidResponses.native.native.image.width);
+ expect(result.native.image.height).to.equal(bidResponses.native.native.image.height);
+ expect(result.native.clickUrl).to.equal(bidResponses.native.native.clickUrl);
+ expect(result.native.impressionTrackers[0]).to.equal(bidResponses.native.native.impressionTrackers[0]);
+ expect(result.native.clickTrackers[0]).to.equal(bidResponses.native.native.clickTrackers[0]);
+ });
+ });
+});
From d94404c6e4dca98e81dbb37986d17793cc19985e Mon Sep 17 00:00:00 2001
From: sami-elasticad <35566930+sami-elasticad@users.noreply.github.com>
Date: Tue, 24 Apr 2018 18:15:07 +0300
Subject: [PATCH 086/171] Size Bugfix (#2414)
* quantumBidAdapter initial commit
* eslint errors fixed
* updating quantumBidAdapter for reviews, fixed tests to work with native
* set new prebid location for testing and some fixing
* added supportedMediaTypes
* Tests fixed
* Fixed issues with image assets. Tested with the example provided
* Size and tests fixed
* Modify tests
* hello world revert changes
* package-lock reverted
* hello world reverted CRLF/LF Conversion
* hello world reverted LF/CRLF Conversion
* hello world reverted
* hello world reverted
* hello world reverted
* removed hardcoded bid sizes
---
modules/quantumBidAdapter.js | 8 ++++++--
test/spec/modules/quantumBidAdapter_spec.js | 7 ++++---
2 files changed, 10 insertions(+), 5 deletions(-)
diff --git a/modules/quantumBidAdapter.js b/modules/quantumBidAdapter.js
index 242ccc63204..f6df8a2ff61 100644
--- a/modules/quantumBidAdapter.js
+++ b/modules/quantumBidAdapter.js
@@ -99,12 +99,15 @@ export const spec = {
if (serverBody.cobj) {
bid.cobj = serverBody.cobj;
}
+ if (bidRequest.sizes) {
+ bid.width = bidRequest.sizes[0][0];
+ bid.height = bidRequest.sizes[0][1];
+ }
bid.nurl = serverBody.nurl;
bid.sync = serverBody.sync;
if (bidRequest.renderMode && bidRequest.renderMode === 'banner') {
- bid.width = 300;
- bid.height = 225;
+ bid.mediaType = 'banner';
if (serverBody.native) {
const adAssetsUrl = '//cdn.elasticad.net/native/serve/js/quantx/quantumAd/';
let assets = serverBody.native.assets;
@@ -216,6 +219,7 @@ export const spec = {
}
} else {
// native
+ bid.mediaType = 'native';
if (bidRequest.mediaType === 'native') {
if (serverBody.native) {
let assets = serverBody.native.assets;
diff --git a/test/spec/modules/quantumBidAdapter_spec.js b/test/spec/modules/quantumBidAdapter_spec.js
index 2db1c0b0fbd..053ec98ffaa 100644
--- a/test/spec/modules/quantumBidAdapter_spec.js
+++ b/test/spec/modules/quantumBidAdapter_spec.js
@@ -5,7 +5,7 @@ import { newBidder } from 'src/adapters/bidderFactory'
const ENDPOINT = '//s.sspqns.com/hb'
const REQUEST = {
'bidder': 'quantum',
- 'sizes': [[300, 225]],
+ 'sizes': [[300, 250]],
'renderMode': 'banner',
'params': {
placementId: 21546
@@ -245,6 +245,7 @@ describe('quantumBidAdapter', () => {
expect(result[0]).to.have.property('cpm').equal(0.3)
expect(result[0]).to.have.property('width').to.be.below(2)
expect(result[0]).to.have.property('height').to.be.below(2)
+ expect(result[0]).to.have.property('mediaType').equal('native')
expect(result[0]).to.have.property('native')
})
@@ -252,8 +253,8 @@ describe('quantumBidAdapter', () => {
const result = spec.interpretResponse({body: serverResponse}, REQUEST)
expect(result[0]).to.have.property('cpm').equal(0.3)
expect(result[0]).to.have.property('width').equal(300)
- expect(result[0]).to.have.property('height').equal(225)
- // expect(result[0]).to.have.property('native');
+ expect(result[0]).to.have.property('height').equal(250)
+ expect(result[0]).to.have.property('mediaType').equal('banner')
expect(result[0]).to.have.property('ad')
})
From 34f34d8431d33e4b0bae4db910214d055259e47b Mon Sep 17 00:00:00 2001
From: Isaac Dettman
Date: Tue, 24 Apr 2018 11:25:57 -0700
Subject: [PATCH 087/171] Rubicon adapter GDPR support (#2406)
* Merged gdpr tests for banner bid requests
* Renamed the gdprConsent.consentRequired to gdprConsent.gdprApplies. Changed containing object used to access gdprConsent values (bidRequest -> bidderRequest)
---
modules/rubiconBidAdapter.js | 15 +++-
test/spec/modules/rubiconBidAdapter_spec.js | 97 ++++++++++++++++++---
2 files changed, 97 insertions(+), 15 deletions(-)
diff --git a/modules/rubiconBidAdapter.js b/modules/rubiconBidAdapter.js
index dd716e6903b..d3735f01d62 100644
--- a/modules/rubiconBidAdapter.js
+++ b/modules/rubiconBidAdapter.js
@@ -178,9 +178,9 @@ export const spec = {
data.slots.push(slotData);
- if (bidderRequest && bidRequest.gdprConsent) {
- data.gdpr = bidRequest.gdprConsent.consentRequired ? 1 : 0;
- data.gdpr_consent = bidRequest.gdprConsent.consentString;
+ if (bidderRequest && bidderRequest.gdprConsent) {
+ data.gdpr = bidderRequest.gdprConsent.gdprApplies ? 1 : 0;
+ data.gdpr_consent = bidderRequest.gdprConsent.consentString;
}
return {
@@ -228,6 +228,15 @@ export const spec = {
'tk_user_key', userId
];
+ // add GDPR properties if enabled
+ if (config.getConfig('consentManagement') &&
+ bidderRequest && bidderRequest.gdprConsent && typeof bidderRequest.gdprConsent.gdprApplies === 'boolean') {
+ data.push(
+ 'gdpr', bidderRequest.gdprConsent.gdprApplies ? 1 : 0,
+ 'gdpr_consent', bidderRequest.gdprConsent.consentString
+ );
+ }
+
if (visitor !== null && typeof visitor === 'object') {
utils._each(visitor, (item, key) => data.push(`tg_v.${key}`, item));
}
diff --git a/test/spec/modules/rubiconBidAdapter_spec.js b/test/spec/modules/rubiconBidAdapter_spec.js
index 971ce7848e6..cc996041aac 100644
--- a/test/spec/modules/rubiconBidAdapter_spec.js
+++ b/test/spec/modules/rubiconBidAdapter_spec.js
@@ -15,20 +15,22 @@ describe('the rubicon adapter', () => {
let sandbox,
bidderRequest;
+ function addConsentManagement() {
+ bidderRequest.gdprConsent = {
+ 'consentString': 'BOJ/P2HOJ/P2HABABMAAAAAZ+A==',
+ 'gdprApplies': true
+ }
+ }
+
function createVideoBidderRequest() {
- let bid = bidderRequest.bids[0];
+ addConsentManagement();
+ let bid = bidderRequest.bids[0];
bid.mediaTypes = {
video: {
context: 'instream'
}
};
-
- bid.gdprConsent = {
- 'consentString': 'BOJ/P2HOJ/P2HABABMAAAAAZ+A==',
- 'consentRequired': true
- };
-
bid.params.video = {
'language': 'en',
'p_aso.video.ext.skip': true,
@@ -44,14 +46,11 @@ describe('the rubicon adapter', () => {
}
function createLegacyVideoBidderRequest() {
- let bid = bidderRequest.bids[0];
+ addConsentManagement();
+ let bid = bidderRequest.bids[0];
// Legacy property (Prebid <1.0)
bid.mediaType = 'video';
- bid.gdprConsent = {
- 'consentString': 'BOJ/P2HOJ/P2HABABMAAAAAZ+A==',
- 'consentRequired': true
- };
bid.params.video = {
'language': 'en',
'p_aso.video.ext.skip': true,
@@ -535,6 +534,80 @@ describe('the rubicon adapter', () => {
expect(window.DigiTrust.getUser.calledOnce).to.equal(true);
});
});
+
+ it('should send GDPR params when enabled', () => {
+ addConsentManagement();
+
+ sandbox.stub(config, 'getConfig').callsFake((key) => {
+ var config = {
+ consentManagement: {
+ cmp: 'iab',
+ waitForConsentTimeout: 4000,
+ lookUpFailureResolution: 'cancel'
+ }
+ };
+ return config[key];
+ });
+
+ let [request] = spec.buildRequests(bidderRequest.bids, bidderRequest);
+ let data = parseQuery(request.data);
+ let expectedQuery = {
+ 'gdpr': '1',
+ 'gdpr_consent': 'BOJ/P2HOJ/P2HABABMAAAAAZ+A=='
+ };
+
+ // test that all values above are both present and correct
+ Object.keys(expectedQuery).forEach(key => {
+ let value = expectedQuery[key];
+ expect(data[key]).to.equal(value);
+ });
+ });
+
+ it('should not send GDPR params if not enabled', () => {
+ sandbox.stub(config, 'getConfig').callsFake((key) => {
+ var config = {};
+ return config[key];
+ });
+
+ let [request] = spec.buildRequests(bidderRequest.bids, bidderRequest);
+ let data = parseQuery(request.data);
+ let expectedQuery = {
+ 'gdpr': undefined,
+ 'gdpr_consent': undefined
+ };
+
+ // test that all values above are both present and correct
+ Object.keys(expectedQuery).forEach(key => {
+ let value = expectedQuery[key];
+ expect(data[key]).to.equal(value);
+ });
+ });
+
+ it('should not send GDPR params if gdprConsent is not set in config', () => {
+ sandbox.stub(config, 'getConfig').callsFake((key) => {
+ var config = {
+ consentManagement: {
+ cmp: 'iab',
+ waitForConsentTimeout: 4000,
+ lookUpFailureResolution: 'cancel'
+ }
+ };
+ return config[key];
+ });
+
+ let [request] = spec.buildRequests(bidderRequest.bids, bidderRequest);
+ let data = parseQuery(request.data);
+ let expectedQuery = {
+ 'gdpr': undefined,
+ 'gdpr_consent': undefined
+ };
+
+ // test that all values above are both present and correct
+ Object.keys(expectedQuery).forEach(key => {
+ let value = expectedQuery[key];
+ expect(data[key]).to.equal(value);
+ });
+ });
});
describe('for video requests', () => {
From 28f6795d24afe0cf46f5743374c61361fc1cd566 Mon Sep 17 00:00:00 2001
From: sekindo
Date: Tue, 24 Apr 2018 22:48:18 +0300
Subject: [PATCH 088/171] typo (#2441)
---
modules/sekindoUMBidAdapter.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/modules/sekindoUMBidAdapter.md b/modules/sekindoUMBidAdapter.md
index 05c0227976d..eeffff928eb 100755
--- a/modules/sekindoUMBidAdapter.md
+++ b/modules/sekindoUMBidAdapter.md
@@ -20,7 +20,7 @@ Banner, Outstream and Native formats are supported.
params: {
spaceId: 14071
width:300, ///optional
- weight:250, //optional
+ height:250, //optional
}
}]
},
From bb9bc187e2bb8b7478907d0d69ef63c50a72ba38 Mon Sep 17 00:00:00 2001
From: Dave Naffis
Date: Thu, 26 Apr 2018 12:04:08 -0400
Subject: [PATCH 089/171] Initial Consumable Bidder Adapter commit (#2381)
* Initial Consumable Bidder Adapter commit
* fix tests and lint errors for Consumable bidder adapter and specs
* changes based on reviews by @snapwich and @mkendall07
---
modules/consumableBidAdapter.js | 177 ++++++++++++++
modules/consumableBidAdapter.md | 32 +++
.../spec/modules/consumableBidAdapter_spec.js | 215 ++++++++++++++++++
3 files changed, 424 insertions(+)
create mode 100644 modules/consumableBidAdapter.js
create mode 100644 modules/consumableBidAdapter.md
create mode 100644 test/spec/modules/consumableBidAdapter_spec.js
diff --git a/modules/consumableBidAdapter.js b/modules/consumableBidAdapter.js
new file mode 100644
index 00000000000..e6df1daedbd
--- /dev/null
+++ b/modules/consumableBidAdapter.js
@@ -0,0 +1,177 @@
+import * as utils from 'src/utils';
+import { registerBidder } from 'src/adapters/bidderFactory';
+import { config } from 'src/config';
+import { EVENTS } from 'src/constants.json';
+
+const CONSUMABLE_BIDDER_CODE = 'consumable'
+
+const SYNC_TYPES = {
+ IFRAME: {
+ TAG: 'iframe',
+ TYPE: 'iframe'
+ },
+ IMAGE: {
+ TAG: 'img',
+ TYPE: 'image'
+ }
+};
+
+const pubapiTemplate = ({host, network, placement, alias}) => `//${host}/pubapi/3.0/${network}/${placement}/0/0/ADTECH;v=2;cmd=bid;cors=yes;alias=${alias};misc=${new Date().getTime()}`
+const CONSUMABLE_URL = 'adserver-us.adtech.advertising.com';
+const CONSUMABLE_TTL = 60;
+const CONSUMABLE_NETWORK = '10947.1';
+
+$$PREBID_GLOBAL$$.consumableGlobals = {
+ pixelsDropped: false
+};
+
+function parsePixelItems(pixels) {
+ let itemsRegExp = /<(img|iframe)[\s\S]*?src\s*=\s*("|')(.*?)\2/gi;
+ let tagNameRegExp = /\w*(?=\s)/;
+ let srcRegExp = /src=("|')(.*?)\1/;
+ let pixelsItems = [];
+
+ if (pixels) {
+ let matchedItems = pixels.match(itemsRegExp);
+ if (matchedItems) {
+ matchedItems.forEach(item => {
+ let tagName = item.match(tagNameRegExp)[0];
+ let url = item.match(srcRegExp)[2];
+
+ if (tagName && url) {
+ pixelsItems.push({
+ type: tagName === SYNC_TYPES.IMAGE.TAG ? SYNC_TYPES.IMAGE.TYPE : SYNC_TYPES.IFRAME.TYPE,
+ url: url
+ });
+ }
+ });
+ }
+ }
+
+ return pixelsItems;
+}
+
+function _buildConsumableUrl(bid) {
+ const params = bid.params;
+
+ return pubapiTemplate({
+ host: CONSUMABLE_URL,
+ network: params.network || CONSUMABLE_NETWORK,
+ placement: parseInt(params.placement, 10)
+ });
+}
+
+function formatBidRequest(bid) {
+ let bidRequest;
+
+ bidRequest = {
+ url: _buildConsumableUrl(bid),
+ method: 'GET'
+ };
+
+ bidRequest.bidderCode = bid.bidder;
+ bidRequest.bidId = bid.bidId;
+ bidRequest.userSyncOn = bid.params.userSyncOn;
+ bidRequest.unitId = bid.params.unitId;
+ bidRequest.unitName = bid.params.unitName;
+ bidRequest.zoneId = bid.params.zoneId;
+ bidRequest.network = bid.params.network || CONSUMABLE_NETWORK;
+
+ return bidRequest;
+}
+
+function _parseBidResponse (response, bidRequest) {
+ let bidData;
+ try {
+ bidData = response.seatbid[0].bid[0];
+ } catch (e) {
+ return;
+ }
+
+ let cpm;
+
+ if (bidData.ext && bidData.ext.encp) {
+ cpm = bidData.ext.encp;
+ } else {
+ cpm = bidData.price;
+
+ if (cpm === null || isNaN(cpm)) {
+ utils.logError('Invalid cpm in bid response', CONSUMABLE_BIDDER_CODE, bid);
+ return;
+ }
+ }
+ cpm = cpm * (parseFloat(bidRequest.zoneId) / parseFloat(bidRequest.network));
+
+ let oad = bidData.adm;
+ let cb = bidRequest.network === '9599.1' ? 7654321 : Math.round(new Date().getTime());
+ let ad = '' + oad;
+ ad += '';
+ ad += '';
+ ad += ''
+ if (response.ext && response.ext.pixels) {
+ if (config.getConfig('consumable.userSyncOn') !== EVENTS.BID_RESPONSE) {
+ ad += _formatPixels(response.ext.pixels);
+ }
+ }
+
+ return {
+ bidderCode: bidRequest.bidderCode,
+ requestId: bidRequest.bidId,
+ ad: ad,
+ cpm: cpm,
+ width: bidData.w,
+ height: bidData.h,
+ creativeId: bidData.crid,
+ pubapiId: response.id,
+ currency: response.cur,
+ dealId: bidData.dealid,
+ netRevenue: true,
+ ttl: CONSUMABLE_TTL
+ };
+}
+
+function _formatPixels (pixels) {
+ let formattedPixels = pixels.replace(/<\/?script( type=('|")text\/javascript('|")|)?>/g, '');
+
+ return '';
+}
+
+export const spec = {
+ code: CONSUMABLE_BIDDER_CODE,
+ isBidRequestValid: function(bid) {
+ return bid.params && bid.params.placement
+ },
+ buildRequests: function (bids) {
+ return bids.map(formatBidRequest);
+ },
+ interpretResponse: function ({body}, bidRequest) {
+ if (!body) {
+ utils.logError('Empty bid response', bidRequest.bidderCode, body);
+ } else {
+ let bid = _parseBidResponse(body, bidRequest);
+ if (bid) {
+ return bid;
+ }
+ }
+ },
+ getUserSyncs: function(options, bidResponses) {
+ let bidResponse = bidResponses[0];
+
+ if (config.getConfig('consumable.userSyncOn') === EVENTS.BID_RESPONSE) {
+ if (!$$PREBID_GLOBAL$$.consumableGlobals.pixelsDropped && bidResponse.ext && bidResponse.ext.pixels) {
+ $$PREBID_GLOBAL$$.consumableGlobals.pixelsDropped = true;
+
+ return parsePixelItems(bidResponse.ext.pixels);
+ }
+ }
+
+ return [];
+ }
+};
+
+registerBidder(spec);
diff --git a/modules/consumableBidAdapter.md b/modules/consumableBidAdapter.md
new file mode 100644
index 00000000000..f6dfe8131c6
--- /dev/null
+++ b/modules/consumableBidAdapter.md
@@ -0,0 +1,32 @@
+# Overview
+
+Module Name: Consumable Bid Adapter
+
+Module Type: Consumable Adapter
+
+Maintainer: naffis@consumable.com
+
+# Description
+
+Module that connects to Consumable's demand sources
+
+# Test Parameters
+```javascript
+ var adUnits = [
+ {
+ code: 'test-ad-div',
+ sizes: [[300, 250]],
+ bids: [
+ {
+ bidder: 'consumable',
+ params: {
+ placement: '1234567',
+ unitId: '1234',
+ unitName: 'cnsmbl-300x250',
+ zoneId: '13136.52'
+ }
+ }
+ ]
+ }
+ ];
+```
diff --git a/test/spec/modules/consumableBidAdapter_spec.js b/test/spec/modules/consumableBidAdapter_spec.js
new file mode 100644
index 00000000000..b87ce6634f6
--- /dev/null
+++ b/test/spec/modules/consumableBidAdapter_spec.js
@@ -0,0 +1,215 @@
+import {expect} from 'chai';
+import * as utils from 'src/utils';
+import {spec} from 'modules/consumableBidAdapter';
+import {config} from 'src/config';
+
+const DEFAULT_OAD_CONTENT = '';
+const DEFAULT_AD_CONTENT = ''
+
+let getDefaultBidResponse = () => {
+ return {
+ id: '245730051428950632',
+ cur: 'USD',
+ seatbid: [{
+ bid: [{
+ id: 1,
+ impid: '245730051428950632',
+ price: 0.09,
+ adm: DEFAULT_OAD_CONTENT,
+ crid: 'creative-id',
+ h: 90,
+ w: 728,
+ dealid: 'deal-id',
+ ext: {sizeid: 225}
+ }]
+ }]
+ };
+};
+
+let getBidParams = () => {
+ return {
+ placement: 1234567,
+ network: '9599.1',
+ unitId: '987654',
+ unitName: 'unitname',
+ zoneId: '9599.1'
+ };
+};
+
+let getDefaultBidRequest = () => {
+ return {
+ bidderCode: 'consumable',
+ auctionId: 'd3e07445-ab06-44c8-a9dd-5ef9af06d2a6',
+ bidderRequestId: '7101db09af0db2',
+ start: new Date().getTime(),
+ bids: [{
+ bidder: 'consumable',
+ bidId: '84ab500420319d',
+ bidderRequestId: '7101db09af0db2',
+ auctionId: 'd3e07445-ab06-44c8-a9dd-5ef9af06d2a6',
+ placementCode: 'foo',
+ params: getBidParams()
+ }]
+ };
+};
+
+let getPixels = () => {
+ return '';
+};
+
+describe('ConsumableAdapter', () => {
+ const CONSUMABLE_URL = '//adserver-us.adtech.advertising.com/pubapi/3.0/';
+ const CONSUMABLE_TTL = 60;
+
+ function createCustomBidRequest({bids, params} = {}) {
+ var bidderRequest = getDefaultBidRequest();
+ if (bids && Array.isArray(bids)) {
+ bidderRequest.bids = bids;
+ }
+ if (params) {
+ bidderRequest.bids.forEach(bid => bid.params = params);
+ }
+ return bidderRequest;
+ }
+
+ describe('interpretResponse()', () => {
+ let bidderSettingsBackup;
+ let bidResponse;
+ let bidRequest;
+ let logWarnSpy;
+
+ beforeEach(() => {
+ bidderSettingsBackup = $$PREBID_GLOBAL$$.bidderSettings;
+ bidRequest = {
+ bidderCode: 'test-bidder-code',
+ bidId: 'bid-id',
+ unitName: 'unitname',
+ unitId: '987654',
+ zoneId: '9599.1',
+ network: '9599.1'
+ };
+ bidResponse = {
+ body: getDefaultBidResponse()
+ };
+ logWarnSpy = sinon.spy(utils, 'logWarn');
+ });
+
+ afterEach(() => {
+ $$PREBID_GLOBAL$$.bidderSettings = bidderSettingsBackup;
+ logWarnSpy.restore();
+ });
+
+ it('should return formatted bid response with required properties', () => {
+ let formattedBidResponse = spec.interpretResponse(bidResponse, bidRequest);
+ expect(formattedBidResponse).to.deep.equal({
+ bidderCode: bidRequest.bidderCode,
+ requestId: 'bid-id',
+ ad: DEFAULT_AD_CONTENT,
+ cpm: 0.09,
+ width: 728,
+ height: 90,
+ creativeId: 'creative-id',
+ pubapiId: '245730051428950632',
+ currency: 'USD',
+ dealId: 'deal-id',
+ netRevenue: true,
+ ttl: 60
+ });
+ });
+
+ it('should add formatted pixels to ad content when pixels are present in the response', () => {
+ bidResponse.body.ext = {
+ pixels: 'pixels-content'
+ };
+
+ let formattedBidResponse = spec.interpretResponse(bidResponse, bidRequest);
+
+ expect(formattedBidResponse.ad).to.equal(DEFAULT_AD_CONTENT + '');
+ return true;
+ });
+ });
+
+ describe('buildRequests()', () => {
+ it('method exists and is a function', () => {
+ expect(spec.buildRequests).to.exist.and.to.be.a('function');
+ });
+
+ describe('Consumable', () => {
+ it('should not return request when no bids are present', () => {
+ let [request] = spec.buildRequests([]);
+ expect(request).to.be.empty;
+ });
+
+ it('should return request for endpoint', () => {
+ let bidRequest = getDefaultBidRequest();
+ let [request] = spec.buildRequests(bidRequest.bids);
+ expect(request.url).to.contain(CONSUMABLE_URL);
+ });
+
+ it('should return url with pubapi bid option', () => {
+ let bidRequest = getDefaultBidRequest();
+ let [request] = spec.buildRequests(bidRequest.bids);
+ expect(request.url).to.contain('cmd=bid;');
+ });
+
+ it('should return url with version 2 of pubapi', () => {
+ let bidRequest = getDefaultBidRequest();
+ let [request] = spec.buildRequests(bidRequest.bids);
+ expect(request.url).to.contain('v=2;');
+ });
+
+ it('should return url with cache busting option', () => {
+ let bidRequest = getDefaultBidRequest();
+ let [request] = spec.buildRequests(bidRequest.bids);
+ expect(request.url).to.match(/misc=\d+/);
+ });
+ });
+ });
+
+ describe('getUserSyncs()', () => {
+ let bidResponse;
+ let bidRequest;
+
+ beforeEach(() => {
+ $$PREBID_GLOBAL$$.consumableGlobals.pixelsDropped = false;
+ config.setConfig({
+ consumable: {
+ userSyncOn: 'bidResponse'
+ },
+ });
+ bidResponse = getDefaultBidResponse();
+ bidResponse.ext = {
+ pixels: getPixels()
+ };
+ });
+
+ it('should return user syncs only if userSyncOn equals to "bidResponse"', () => {
+ let userSyncs = spec.getUserSyncs({}, [bidResponse], bidRequest);
+
+ expect($$PREBID_GLOBAL$$.consumableGlobals.pixelsDropped).to.be.true;
+ expect(userSyncs).to.deep.equal([
+ {type: 'image', url: 'img.org'},
+ {type: 'iframe', url: 'pixels1.org'}
+ ]);
+ });
+
+ it('should not return user syncs if it has already been returned', () => {
+ $$PREBID_GLOBAL$$.consumableGlobals.pixelsDropped = true;
+
+ let userSyncs = spec.getUserSyncs({}, [bidResponse], bidRequest);
+
+ expect($$PREBID_GLOBAL$$.consumableGlobals.pixelsDropped).to.be.true;
+ expect(userSyncs).to.deep.equal([]);
+ });
+
+ it('should not return user syncs if pixels are not present', () => {
+ bidResponse.ext.pixels = null;
+
+ let userSyncs = spec.getUserSyncs({}, [bidResponse], bidRequest);
+
+ expect($$PREBID_GLOBAL$$.consumableGlobals.pixelsDropped).to.be.false;
+ expect(userSyncs).to.deep.equal([]);
+ });
+ });
+});
From 96878ef0a16da1e96efa6d5a759820f9546c9e80 Mon Sep 17 00:00:00 2001
From: Richard Lee <14349+dlackty@users.noreply.github.com>
Date: Fri, 27 Apr 2018 00:17:19 +0800
Subject: [PATCH 090/171] Audience Network: Fix bid request validation for
fullwidth (#2417)
---
modules/audienceNetworkBidAdapter.js | 2 +-
test/spec/modules/audienceNetworkBidAdapter_spec.js | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/modules/audienceNetworkBidAdapter.js b/modules/audienceNetworkBidAdapter.js
index 263edba878a..612357e0e4a 100644
--- a/modules/audienceNetworkBidAdapter.js
+++ b/modules/audienceNetworkBidAdapter.js
@@ -27,7 +27,7 @@ const isBidRequestValid = bid =>
typeof bid.params.placementId === 'string' &&
bid.params.placementId.length > 0 &&
Array.isArray(bid.sizes) && bid.sizes.length > 0 &&
- (isFullWidth(bid.params.format) ? bid.sizes.map(flattenSize).every(size => size === '300x250') : true) &&
+ (isFullWidth(bid.params.format) ? bid.sizes.map(flattenSize).some(size => size === '300x250') : true) &&
(isValidNonSizedFormat(bid.params.format) || bid.sizes.map(flattenSize).some(isValidSize));
/**
diff --git a/test/spec/modules/audienceNetworkBidAdapter_spec.js b/test/spec/modules/audienceNetworkBidAdapter_spec.js
index 41a6d955c6a..f9d46e100b1 100644
--- a/test/spec/modules/audienceNetworkBidAdapter_spec.js
+++ b/test/spec/modules/audienceNetworkBidAdapter_spec.js
@@ -75,7 +75,7 @@ describe('AudienceNetwork adapter', () => {
it('fullwidth', () => {
expect(isBidRequestValid({
bidder,
- sizes: [[300, 250]],
+ sizes: [[300, 250], [336, 280]],
params: {
placementId,
format: 'fullwidth'
From baea84010f11941428fd175b8cb9927247739760 Mon Sep 17 00:00:00 2001
From: harpere
Date: Thu, 26 Apr 2018 13:20:32 -0400
Subject: [PATCH 091/171] updated rubicon adapter sync endpoint (#2454)
---
modules/rubiconBidAdapter.js | 2 +-
test/spec/modules/rubiconBidAdapter_spec.js | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/modules/rubiconBidAdapter.js b/modules/rubiconBidAdapter.js
index d3735f01d62..88e45bb42cc 100644
--- a/modules/rubiconBidAdapter.js
+++ b/modules/rubiconBidAdapter.js
@@ -12,7 +12,7 @@ function isSecure() {
// use protocol relative urls for http or https
const FASTLANE_ENDPOINT = '//fastlane.rubiconproject.com/a/api/fastlane.json';
const VIDEO_ENDPOINT = '//fastlane-adv.rubiconproject.com/v1/auction/video';
-const SYNC_ENDPOINT = 'https://tap-secure.rubiconproject.com/partner/scripts/rubicon/emily.html?rtb_ext=1';
+const SYNC_ENDPOINT = 'https://eus.rubiconproject.com/usync.html';
const TIMEOUT_BUFFER = 500;
diff --git a/test/spec/modules/rubiconBidAdapter_spec.js b/test/spec/modules/rubiconBidAdapter_spec.js
index cc996041aac..032ed7714fe 100644
--- a/test/spec/modules/rubiconBidAdapter_spec.js
+++ b/test/spec/modules/rubiconBidAdapter_spec.js
@@ -1201,7 +1201,7 @@ describe('the rubicon adapter', () => {
});
describe('user sync', () => {
- const emilyUrl = 'https://tap-secure.rubiconproject.com/partner/scripts/rubicon/emily.html?rtb_ext=1';
+ const emilyUrl = 'https://eus.rubiconproject.com/usync.html';
beforeEach(() => {
resetUserSync();
From 5c14e9c92c05bd8df0862c8a1704690cffd57c72 Mon Sep 17 00:00:00 2001
From: Bill Newman
Date: Thu, 26 Apr 2018 21:56:51 +0300
Subject: [PATCH 092/171] Added new types of traffic Colossus SSP adapter
(#2281)
* add video&native traffic colossus ssp
* Native obj validation
* Native obj validation #2
* Added size field in requests
* fixed test
---
modules/colossussspBidAdapter.js | 71 +++++++------------
modules/colossussspBidAdapter.md | 3 +-
.../modules/colossussspBidAdapter_spec.js | 13 ++--
3 files changed, 33 insertions(+), 54 deletions(-)
diff --git a/modules/colossussspBidAdapter.js b/modules/colossussspBidAdapter.js
index df011bc102d..22b0415936c 100644
--- a/modules/colossussspBidAdapter.js
+++ b/modules/colossussspBidAdapter.js
@@ -1,44 +1,31 @@
import { registerBidder } from 'src/adapters/bidderFactory';
+import { BANNER, NATIVE, VIDEO } from 'src/mediaTypes';
import * as utils from 'src/utils';
const BIDDER_CODE = 'colossusssp';
const URL = '//colossusssp.com/?c=o&m=multi';
const URL_SYNC = '//colossusssp.com/?c=o&m=cookie';
-let sizeObj = {
- '468x60': 1,
- '728x90': 2,
- '300x600': 10,
- '300x250': 15,
- '300x100': 19,
- '320x50': 43,
- '300x50': 44,
- '300x300': 48,
- '300x1050': 54,
- '970x90': 55,
- '970x250': 57,
- '1000x90': 58,
- '320x80': 59,
- '640x480': 65,
- '320x480': 67,
- '320x320': 72,
- '320x160': 73,
- '480x300': 83,
- '970x310': 94,
- '970x210': 96,
- '480x320': 101,
- '768x1024': 102,
- '1000x300': 113,
- '320x100': 117,
- '800x250': 118,
- '200x600': 119
-};
+function isBidResponseValid(bid) {
+ if (!bid.requestId || !bid.cpm || !bid.creativeId || !bid.ttl || !bid.currency) {
+ return false;
+ }
-utils._each(sizeObj, (item, key) => sizeObj[item] = key);
+ switch (bid.mediaType) {
+ case BANNER:
+ return Boolean(bid.width && bid.height && bid.ad);
+ case VIDEO:
+ return Boolean(bid.vastUrl);
+ case NATIVE:
+ return Boolean(bid.native);
+ default:
+ return false;
+ }
+}
export const spec = {
code: BIDDER_CODE,
-
+ supportedMediaTypes: [BANNER, VIDEO, NATIVE],
/**
* Determines whether or not the given bid request is valid.
*
@@ -46,9 +33,7 @@ export const spec = {
* @return boolean True if this is a valid bid, and false otherwise.
*/
isBidRequestValid: (bid) => {
- return (!isNaN(bid.params.placement_id) &&
- ((bid.params.sizes !== undefined && bid.params.sizes.length > 0 && bid.params.sizes.some((sizeIndex) => sizeObj[sizeIndex] !== undefined)) ||
- (bid.sizes !== undefined && bid.sizes.length > 0 && bid.sizes.map((size) => `${size[0]}x${size[1]}`).some((size) => sizeObj[size] !== undefined))));
+ return Boolean(bid.bidId && bid.params && !isNaN(bid.params.placement_id));
},
/**
@@ -78,10 +63,12 @@ export const spec = {
};
for (let i = 0; i < validBidRequests.length; i++) {
let bid = validBidRequests[i];
- let placement = {};
- placement['placementId'] = bid.params.placement_id;
- placement['bidId'] = bid.bidId;
- placement['sizes'] = bid.sizes;
+ let placement = {
+ placementId: bid.params.placement_id,
+ bidId: bid.bidId,
+ sizes: bid.sizes,
+ traffic: bid.params.traffic || BANNER
+ };
placements.push(placement);
}
return {
@@ -103,15 +90,7 @@ export const spec = {
serverResponse = serverResponse.body;
for (let i = 0; i < serverResponse.length; i++) {
let resItem = serverResponse[i];
- if (resItem.width && !isNaN(resItem.width) &&
- resItem.height && !isNaN(resItem.height) &&
- resItem.requestId && typeof resItem.requestId === 'string' &&
- resItem.cpm && !isNaN(resItem.cpm) &&
- resItem.ad && typeof resItem.ad === 'string' &&
- resItem.ttl && !isNaN(resItem.ttl) &&
- resItem.creativeId && typeof resItem.creativeId === 'string' &&
- resItem.netRevenue && typeof resItem.netRevenue === 'boolean' &&
- resItem.currency && typeof resItem.currency === 'string') {
+ if (isBidResponseValid(resItem)) {
response.push(resItem);
}
}
diff --git a/modules/colossussspBidAdapter.md b/modules/colossussspBidAdapter.md
index 9a5b9a0fe39..4760002f0db 100644
--- a/modules/colossussspBidAdapter.md
+++ b/modules/colossussspBidAdapter.md
@@ -18,7 +18,8 @@ Module that connects to Colossus SSP demand sources
bids: [{
bidder: 'colossusssp',
params: {
- placement_id: 0
+ placement_id: 0,
+ traffic: 'banner'
}
}]
}
diff --git a/test/spec/modules/colossussspBidAdapter_spec.js b/test/spec/modules/colossussspBidAdapter_spec.js
index e14d2f27b42..54952fbf4b5 100644
--- a/test/spec/modules/colossussspBidAdapter_spec.js
+++ b/test/spec/modules/colossussspBidAdapter_spec.js
@@ -16,17 +16,13 @@ describe('ColossussspAdapter', () => {
};
describe('isBidRequestValid', () => {
- it('Should return true when placement_id can be cast to a number, and when at least one of the sizes passed is allowed', () => {
+ it('Should return true when placement_id can be cast to a number', () => {
expect(spec.isBidRequestValid(bid)).to.be.true;
});
it('Should return false when placement_id is not a number', () => {
bid.params.placement_id = 'aaa';
expect(spec.isBidRequestValid(bid)).to.be.false;
});
- it('Should return false when the sizes are not allowed', () => {
- bid.sizes = [[1, 1]];
- expect(spec.isBidRequestValid(bid)).to.be.false;
- });
});
describe('buildRequests', () => {
@@ -56,9 +52,10 @@ describe('ColossussspAdapter', () => {
let placements = data['placements'];
for (let i = 0; i < placements.length; i++) {
let placement = placements[i];
- expect(placement).to.have.all.keys('placementId', 'bidId', 'sizes');
+ expect(placement).to.have.all.keys('placementId', 'bidId', 'traffic', 'sizes');
expect(placement.placementId).to.be.a('number');
expect(placement.bidId).to.be.a('string');
+ expect(placement.traffic).to.be.a('string');
expect(placement.sizes).to.be.an('array');
}
});
@@ -72,6 +69,7 @@ describe('ColossussspAdapter', () => {
let resObject = {
body: [ {
requestId: '123',
+ mediaType: 'banner',
cpm: 0.3,
width: 320,
height: 50,
@@ -88,7 +86,7 @@ describe('ColossussspAdapter', () => {
for (let i = 0; i < serverResponses.length; i++) {
let dataItem = serverResponses[i];
expect(dataItem).to.have.all.keys('requestId', 'cpm', 'width', 'height', 'ad', 'ttl', 'creativeId',
- 'netRevenue', 'currency');
+ 'netRevenue', 'currency', 'mediaType');
expect(dataItem.requestId).to.be.a('string');
expect(dataItem.cpm).to.be.a('number');
expect(dataItem.width).to.be.a('number');
@@ -98,6 +96,7 @@ describe('ColossussspAdapter', () => {
expect(dataItem.creativeId).to.be.a('string');
expect(dataItem.netRevenue).to.be.a('boolean');
expect(dataItem.currency).to.be.a('string');
+ expect(dataItem.mediaType).to.be.a('string');
}
it('Returns an empty array if invalid response is passed', () => {
serverResponses = spec.interpretResponse('invalid_response');
From fae4048156520e766c7ccf826be2ca0fd4ced5ce Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Kurre=20St=C3=A5hlberg?=
Date: Fri, 27 Apr 2018 03:01:53 +0300
Subject: [PATCH 093/171] Update ReadPeak adapter (#2369)
* Update ReadPeak adapter
* Replace $$PREBID_GLOBAL$$.version with $prebid.version$
* Fix test
* Use utils.getTopWindowReferrer() instead of custom function
---
modules/readpeakBidAdapter.js | 50 ++++++++++++--------
modules/readpeakBidAdapter.md | 5 +-
test/spec/modules/readpeakBidAdapter_spec.js | 17 ++++---
3 files changed, 43 insertions(+), 29 deletions(-)
diff --git a/modules/readpeakBidAdapter.js b/modules/readpeakBidAdapter.js
index d19570d16ca..6c0773d1f7c 100644
--- a/modules/readpeakBidAdapter.js
+++ b/modules/readpeakBidAdapter.js
@@ -1,5 +1,7 @@
-import {logError, getTopWindowLocation} from 'src/utils';
+import { logError, getTopWindowLocation, replaceAuctionPrice, getTopWindowReferrer } from 'src/utils';
import { registerBidder } from 'src/adapters/bidderFactory';
+import { config } from 'src/config';
+import { NATIVE } from 'src/mediaTypes';
export const ENDPOINT = '//app.readpeak.com/header/prebid';
@@ -18,7 +20,7 @@ export const spec = {
code: BIDDER_CODE,
- supportedMediaTypes: ['native'],
+ supportedMediaTypes: [NATIVE],
isBidRequestValid: bid => (
!!(bid && bid.params && bid.params.publisherId && bid.nativeParams)
@@ -31,7 +33,14 @@ export const spec = {
site: site(bidRequests),
app: app(bidRequests),
device: device(),
- isPrebid: true,
+ cur: config.getConfig('currency') || ['USD'],
+ source: {
+ fd: 1,
+ tid: bidRequests[0].transactionId,
+ ext: {
+ prebid: '$prebid.version$',
+ },
+ },
}
return {
@@ -70,7 +79,7 @@ function bidResponseAvailable(bidRequest, bidResponse) {
creativeId: idToBidMap[id].crid,
ttl: 300,
netRevenue: true,
- mediaType: 'native',
+ mediaType: NATIVE,
currency: bidResponse.cur,
native: nativeResponse(idToImpMap[id], idToBidMap[id]),
};
@@ -93,7 +102,7 @@ function nativeImpression(slot) {
if (slot.nativeParams) {
const assets = [];
addAsset(assets, titleAsset(1, slot.nativeParams.title, NATIVE_DEFAULTS.TITLE_LEN));
- addAsset(assets, imageAsset(2, slot.nativeParams.image, 3, NATIVE_DEFAULTS.IMG_MIN, NATIVE_DEFAULTS.IMG_MIN));
+ addAsset(assets, imageAsset(2, slot.nativeParams.image, 3, slot.nativeParams.wmin || NATIVE_DEFAULTS.IMG_MIN, slot.nativeParams.hmin || NATIVE_DEFAULTS.IMG_MIN));
addAsset(assets, dataAsset(3, slot.nativeParams.sponsoredBy, 1, NATIVE_DEFAULTS.SPONSORED_BY_LEN));
addAsset(assets, dataAsset(4, slot.nativeParams.body, 2, NATIVE_DEFAULTS.DESCR_LEN));
addAsset(assets, dataAsset(5, slot.nativeParams.cta, 12, NATIVE_DEFAULTS.CTA_LEN));
@@ -149,19 +158,21 @@ function dataAsset(id, params, type, defaultLen) {
function site(bidderRequest) {
const pubId = bidderRequest && bidderRequest.length > 0 ? bidderRequest[0].params.publisherId : '0';
+ const siteId = bidderRequest && bidderRequest.length > 0 ? bidderRequest[0].params.siteId : '0';
const appParams = bidderRequest[0].params.app;
if (!appParams) {
return {
publisher: {
id: pubId.toString(),
+ domain: config.getConfig('publisherDomain'),
},
- id: pubId.toString(),
- ref: referrer(),
- page: getTopWindowLocation().href,
+ id: siteId ? siteId.toString() : pubId.toString(),
+ ref: getTopWindowReferrer(),
+ page: config.getConfig('pageUrl') || getTopWindowLocation().href,
domain: getTopWindowLocation().hostname
}
}
- return null;
+ return undefined;
}
function app(bidderRequest) {
@@ -177,21 +188,14 @@ function app(bidderRequest) {
domain: appParams.domain,
}
}
- return null;
-}
-
-function referrer() {
- try {
- return window.top.document.referrer;
- } catch (e) {
- return document.referrer;
- }
+ return undefined;
}
function device() {
return {
ua: navigator.userAgent,
language: (navigator.language || navigator.browserLanguage || navigator.userLanguage || navigator.systemLanguage),
+ devicetype: 1
};
}
@@ -219,13 +223,19 @@ function nativeResponse(imp, bid) {
keys.title = asset.title ? asset.title.text : keys.title;
keys.body = asset.data && asset.id === 4 ? asset.data.value : keys.body;
keys.sponsoredBy = asset.data && asset.id === 3 ? asset.data.value : keys.sponsoredBy;
- keys.image = asset.img && asset.id === 2 ? asset.img.url : keys.image;
+ keys.image = asset.img && asset.id === 2 ? {
+ url: asset.img.url,
+ width: asset.img.w || 750,
+ height: asset.img.h || 500,
+ } : keys.image;
keys.cta = asset.data && asset.id === 5 ? asset.data.value : keys.cta;
});
if (nativeAd.link) {
keys.clickUrl = encodeURIComponent(nativeAd.link.url);
}
- keys.impressionTrackers = nativeAd.imptrackers;
+ const trackers = nativeAd.imptrackers || [];
+ trackers.unshift(replaceAuctionPrice(bid.burl, bid.price));
+ keys.impressionTrackers = trackers;
return keys;
}
}
diff --git a/modules/readpeakBidAdapter.md b/modules/readpeakBidAdapter.md
index f8e01027793..a15767f29a7 100644
--- a/modules/readpeakBidAdapter.md
+++ b/modules/readpeakBidAdapter.md
@@ -16,13 +16,14 @@ Please reach out to your account team or hello@readpeak.com for more information
# Test Parameters
```javascript
var adUnits = [{
- code: 'test-native',
+ code: '/19968336/prebid_native_example_2',
mediaTypes: { native: { type: 'image' } },
bids: [{
bidder: 'readpeak',
params: {
bidfloor: 5.00,
- publisherId: '11bc5dd5-7421-4dd8-c926-40fa653bec76'
+ publisherId: 'test',
+ siteId: 'test'
},
}]
}];
diff --git a/test/spec/modules/readpeakBidAdapter_spec.js b/test/spec/modules/readpeakBidAdapter_spec.js
index 7da3450f16c..776261c8db2 100644
--- a/test/spec/modules/readpeakBidAdapter_spec.js
+++ b/test/spec/modules/readpeakBidAdapter_spec.js
@@ -19,7 +19,8 @@ describe('ReadPeakAdapter', () => {
},
params: {
bidfloor: 5.00,
- publisherId: '11bc5dd5-7421-4dd8-c926-40fa653bec76'
+ publisherId: '11bc5dd5-7421-4dd8-c926-40fa653bec76',
+ siteId: '11bc5dd5-7421-4dd8-c926-40fa653bec77'
},
bidId: '2ffb201a808da7',
bidderRequestId: '178e34bad3658f',
@@ -63,8 +64,8 @@ describe('ReadPeakAdapter', () => {
img: {
type: 3,
url: 'http://url.to/image',
- w: 320,
- h: 200,
+ w: 750,
+ h: 500,
},
}],
link: {
@@ -97,7 +98,7 @@ describe('ReadPeakAdapter', () => {
'publisher': {
'id': '11bc5dd5-7421-4dd8-c926-40fa653bec76'
},
- 'id': '11bc5dd5-7421-4dd8-c926-40fa653bec76',
+ 'id': '11bc5dd5-7421-4dd8-c926-40fa653bec77',
'ref': '',
'page': 'http://localhost',
'domain': 'localhost'
@@ -151,15 +152,17 @@ describe('ReadPeakAdapter', () => {
const request = spec.buildRequests([ bidRequest ]);
const data = JSON.parse(request.data);
- expect(data.isPrebid).to.equal(true);
+
+ expect(data.source.ext.prebid).to.equal('$prebid.version$');
expect(data.id).to.equal(bidRequest.bidderRequestId)
expect(data.imp[0].bidfloor).to.equal(bidRequest.params.bidfloor);
expect(data.imp[0].bidfloorcur).to.equal('USD');
expect(data.site).to.deep.equal({
publisher: {
id: bidRequest.params.publisherId,
+ domain: 'http://localhost:9876',
},
- id: bidRequest.params.publisherId,
+ id: bidRequest.params.siteId,
ref: window.top.document.referrer,
page: utils.getTopWindowLocation().href,
domain: utils.getTopWindowLocation().hostname,
@@ -188,7 +191,7 @@ describe('ReadPeakAdapter', () => {
expect(bidResponse.native.title).to.equal('Title')
expect(bidResponse.native.body).to.equal('Description')
- expect(bidResponse.native.image).to.equal('http://url.to/image')
+ expect(bidResponse.native.image).to.deep.equal({url: 'http://url.to/image', width: 750, height: 500})
expect(bidResponse.native.clickUrl).to.equal('http%3A%2F%2Furl.to%2Ftarget')
expect(bidResponse.native.impressionTrackers).to.contain('http://url.to/pixeltracker')
});
From e82c58a0a4f0f872deccf90be7159af8e6d86731 Mon Sep 17 00:00:00 2001
From: Isaac Dettman
Date: Fri, 27 Apr 2018 06:01:42 -0700
Subject: [PATCH 094/171] Rubicon Adapter GDPR Update for gdprApplies flag
(#2456)
* Merged gdpr tests for banner bid requests
* Renamed the gdprConsent.consentRequired to gdprConsent.gdprApplies. Changed containing object used to access gdprConsent values (bidRequest -> bidderRequest)
* Added compatibility for CMP 1.0 and 1.1
---
modules/rubiconBidAdapter.js | 25 +++--
test/spec/modules/rubiconBidAdapter_spec.js | 109 ++++++++------------
2 files changed, 57 insertions(+), 77 deletions(-)
diff --git a/modules/rubiconBidAdapter.js b/modules/rubiconBidAdapter.js
index 88e45bb42cc..ea88886b753 100644
--- a/modules/rubiconBidAdapter.js
+++ b/modules/rubiconBidAdapter.js
@@ -134,6 +134,9 @@ export const spec = {
page_url = bidRequest.params.secure ? page_url.replace(/^http:/i, 'https:') : page_url;
+ // GDPR reference, for use by 'banner' and 'video'
+ const gdprConsent = bidderRequest.gdprConsent;
+
if (spec.hasVideoMediaType(bidRequest)) {
let params = bidRequest.params;
let size = parseSizes(bidRequest);
@@ -178,9 +181,12 @@ export const spec = {
data.slots.push(slotData);
- if (bidderRequest && bidderRequest.gdprConsent) {
- data.gdpr = bidderRequest.gdprConsent.gdprApplies ? 1 : 0;
- data.gdpr_consent = bidderRequest.gdprConsent.consentString;
+ if (gdprConsent) {
+ // add 'gdpr' only if 'gdprApplies' is defined
+ if (typeof gdprConsent.gdprApplies === 'boolean') {
+ data.gdpr = Number(gdprConsent.gdprApplies);
+ }
+ data.gdpr_consent = gdprConsent.consentString;
}
return {
@@ -228,13 +234,12 @@ export const spec = {
'tk_user_key', userId
];
- // add GDPR properties if enabled
- if (config.getConfig('consentManagement') &&
- bidderRequest && bidderRequest.gdprConsent && typeof bidderRequest.gdprConsent.gdprApplies === 'boolean') {
- data.push(
- 'gdpr', bidderRequest.gdprConsent.gdprApplies ? 1 : 0,
- 'gdpr_consent', bidderRequest.gdprConsent.consentString
- );
+ if (gdprConsent) {
+ // add 'gdpr' only if 'gdprApplies' is defined
+ if (typeof gdprConsent.gdprApplies === 'boolean') {
+ data.push('gdpr', Number(gdprConsent.gdprApplies));
+ }
+ data.push('gdpr_consent', gdprConsent.consentString);
}
if (visitor !== null && typeof visitor === 'object') {
diff --git a/test/spec/modules/rubiconBidAdapter_spec.js b/test/spec/modules/rubiconBidAdapter_spec.js
index 032ed7714fe..e3ffef9997e 100644
--- a/test/spec/modules/rubiconBidAdapter_spec.js
+++ b/test/spec/modules/rubiconBidAdapter_spec.js
@@ -15,15 +15,24 @@ describe('the rubicon adapter', () => {
let sandbox,
bidderRequest;
- function addConsentManagement() {
- bidderRequest.gdprConsent = {
- 'consentString': 'BOJ/P2HOJ/P2HABABMAAAAAZ+A==',
- 'gdprApplies': true
+ /**
+ * @param {boolean} [gdprApplies]
+ */
+ function createGdprBidderRequest(gdprApplies) {
+ if (typeof gdprApplies === 'boolean') {
+ bidderRequest.gdprConsent = {
+ 'consentString': 'BOJ/P2HOJ/P2HABABMAAAAAZ+A==',
+ 'gdprApplies': gdprApplies
+ };
+ } else {
+ bidderRequest.gdprConsent = {
+ 'consentString': 'BOJ/P2HOJ/P2HABABMAAAAAZ+A=='
+ };
}
}
function createVideoBidderRequest() {
- addConsentManagement();
+ createGdprBidderRequest(true);
let bid = bidderRequest.bids[0];
bid.mediaTypes = {
@@ -46,7 +55,7 @@ describe('the rubicon adapter', () => {
}
function createLegacyVideoBidderRequest() {
- addConsentManagement();
+ createGdprBidderRequest(true);
let bid = bidderRequest.bids[0];
// Legacy property (Prebid <1.0)
@@ -535,77 +544,43 @@ describe('the rubicon adapter', () => {
});
});
- it('should send GDPR params when enabled', () => {
- addConsentManagement();
+ describe('GDPR consent config', () => {
+ it('should send "gdpr" and "gdpr_consent", when gdprConsent defines consentString and gdprApplies', () => {
+ createGdprBidderRequest(true);
+ let [request] = spec.buildRequests(bidderRequest.bids, bidderRequest);
+ let data = parseQuery(request.data);
- sandbox.stub(config, 'getConfig').callsFake((key) => {
- var config = {
- consentManagement: {
- cmp: 'iab',
- waitForConsentTimeout: 4000,
- lookUpFailureResolution: 'cancel'
- }
- };
- return config[key];
+ expect(data['gdpr']).to.equal('1');
+ expect(data['gdpr_consent']).to.equal('BOJ/P2HOJ/P2HABABMAAAAAZ+A==');
});
- let [request] = spec.buildRequests(bidderRequest.bids, bidderRequest);
- let data = parseQuery(request.data);
- let expectedQuery = {
- 'gdpr': '1',
- 'gdpr_consent': 'BOJ/P2HOJ/P2HABABMAAAAAZ+A=='
- };
-
- // test that all values above are both present and correct
- Object.keys(expectedQuery).forEach(key => {
- let value = expectedQuery[key];
- expect(data[key]).to.equal(value);
- });
- });
+ it('should send only "gdpr_consent", when gdprConsent defines only consentString', () => {
+ createGdprBidderRequest();
+ let [request] = spec.buildRequests(bidderRequest.bids, bidderRequest);
+ let data = parseQuery(request.data);
- it('should not send GDPR params if not enabled', () => {
- sandbox.stub(config, 'getConfig').callsFake((key) => {
- var config = {};
- return config[key];
+ expect(data['gdpr_consent']).to.equal('BOJ/P2HOJ/P2HABABMAAAAAZ+A==');
+ expect(data['gdpr']).to.equal(undefined);
});
- let [request] = spec.buildRequests(bidderRequest.bids, bidderRequest);
- let data = parseQuery(request.data);
- let expectedQuery = {
- 'gdpr': undefined,
- 'gdpr_consent': undefined
- };
-
- // test that all values above are both present and correct
- Object.keys(expectedQuery).forEach(key => {
- let value = expectedQuery[key];
- expect(data[key]).to.equal(value);
- });
- });
+ it('should not send GDPR params if gdprConsent is not defined', () => {
+ let [request] = spec.buildRequests(bidderRequest.bids, bidderRequest);
+ let data = parseQuery(request.data);
- it('should not send GDPR params if gdprConsent is not set in config', () => {
- sandbox.stub(config, 'getConfig').callsFake((key) => {
- var config = {
- consentManagement: {
- cmp: 'iab',
- waitForConsentTimeout: 4000,
- lookUpFailureResolution: 'cancel'
- }
- };
- return config[key];
+ expect(data['gdpr']).to.equal(undefined);
+ expect(data['gdpr_consent']).to.equal(undefined);
});
- let [request] = spec.buildRequests(bidderRequest.bids, bidderRequest);
- let data = parseQuery(request.data);
- let expectedQuery = {
- 'gdpr': undefined,
- 'gdpr_consent': undefined
- };
+ it('should set "gdpr" value as 1 or 0, using "gdprApplies" value of either true/false', () => {
+ createGdprBidderRequest(true);
+ let [request] = spec.buildRequests(bidderRequest.bids, bidderRequest);
+ let data = parseQuery(request.data);
+ expect(data['gdpr']).to.equal('1');
- // test that all values above are both present and correct
- Object.keys(expectedQuery).forEach(key => {
- let value = expectedQuery[key];
- expect(data[key]).to.equal(value);
+ createGdprBidderRequest(false);
+ [request] = spec.buildRequests(bidderRequest.bids, bidderRequest);
+ data = parseQuery(request.data);
+ expect(data['gdpr']).to.equal('0');
});
});
});
From ebf5e61ec885b0ea92b0b1f29e8d9e4345b08279 Mon Sep 17 00:00:00 2001
From: Pupis
Date: Fri, 27 Apr 2018 16:34:54 +0300
Subject: [PATCH 095/171] Update adform adapter's dynamic price type (#2460)
* updated priceType logic
* Fix
---
modules/adformBidAdapter.js | 12 +++---
test/spec/modules/adformBidAdapter_spec.js | 49 +++++++++++++++++++++-
2 files changed, 53 insertions(+), 8 deletions(-)
diff --git a/modules/adformBidAdapter.js b/modules/adformBidAdapter.js
index 1da6042f63a..10a4696d755 100644
--- a/modules/adformBidAdapter.js
+++ b/modules/adformBidAdapter.js
@@ -11,15 +11,14 @@ export const spec = {
return !!(bid.params.mid);
},
buildRequests: function (validBidRequests) {
- var i, l, j, k, bid, _key, _value, reqParams;
+ var i, l, j, k, bid, _key, _value, reqParams, netRevenue;
var request = [];
- var globalParams = [ [ 'adxDomain', 'adx.adform.net' ], [ 'fd', 1 ], [ 'url', null ], [ 'tid', null ], [ 'pt', null ] ];
- var netRevenue = 'gross';
+ var globalParams = [ [ 'adxDomain', 'adx.adform.net' ], [ 'fd', 1 ], [ 'url', null ], [ 'tid', null ] ];
var bids = JSON.parse(JSON.stringify(validBidRequests));
for (i = 0, l = bids.length; i < l; i++) {
bid = bids[i];
- if (bid.params.priceType === 'net') {
- bid.params.pt = netRevenue = 'net';
+ if ((bid.params.priceType === 'net') || (bid.params.pt === 'net')) {
+ netRevenue = 'net';
}
for (j = 0, k = globalParams.length; j < k; j++) {
_key = globalParams[j][0];
@@ -35,7 +34,8 @@ export const spec = {
}
request.unshift('//' + globalParams[0][1] + '/adx/?rp=4');
-
+ netRevenue = netRevenue || 'gross';
+ request.push('pt=' + netRevenue);
request.push('stid=' + validBidRequests[0].auctionId);
for (i = 1, l = globalParams.length; i < l; i++) {
diff --git a/test/spec/modules/adformBidAdapter_spec.js b/test/spec/modules/adformBidAdapter_spec.js
index f3aa735be00..d631234d6d5 100644
--- a/test/spec/modules/adformBidAdapter_spec.js
+++ b/test/spec/modules/adformBidAdapter_spec.js
@@ -30,7 +30,7 @@ describe('Adform adapter', () => {
it('should pass multiple bids via single request', () => {
let request = spec.buildRequests(bids);
let parsedUrl = parseUrl(request.url);
- assert.lengthOf(parsedUrl.items, 5);
+ assert.lengthOf(parsedUrl.items, 7);
});
it('should handle global request parameters', () => {
@@ -62,6 +62,7 @@ describe('Adform adapter', () => {
{
mid: '2',
someVar: 'someValue',
+ pt: 'gross',
transactionId: '5f33781f-9552-4iuy'
},
{
@@ -78,6 +79,16 @@ describe('Adform adapter', () => {
mid: '3',
pdom: 'home',
transactionId: '5f33781f-9552-7ev3'
+ },
+ {
+ mid: '5',
+ pt: 'net',
+ transactionId: '5f33781f-9552-7ev3',
+ },
+ {
+ mid: '6',
+ pt: 'gross',
+ transactionId: '5f33781f-9552-7ev3'
}
]);
});
@@ -87,6 +98,18 @@ describe('Adform adapter', () => {
let request = spec.buildRequests([bids[0]]);
assert.deepEqual(resultBids, bids[0]);
});
+
+ it('should set gross to the request, if there is any gross priceType', () => {
+ let request = spec.buildRequests([bids[5], bids[5]]);
+ let parsedUrl = parseUrl(request.url);
+
+ assert.equal(parsedUrl.query.pt, 'net');
+
+ request = spec.buildRequests([bids[4], bids[3]]);
+ parsedUrl = parseUrl(request.url);
+
+ assert.equal(parsedUrl.query.pt, 'gross');
+ });
});
describe('interpretResponse', () => {
@@ -178,7 +201,7 @@ describe('Adform adapter', () => {
beforeEach(() => {
let sizes = [[250, 300], [300, 250], [300, 600]];
let placementCode = ['div-01', 'div-02', 'div-03', 'div-04', 'div-05'];
- let params = [{ mid: 1, url: 'some// there' }, {adxDomain: null, mid: 2, someVar: 'someValue', pt: 'gross'}, { adxDomain: null, mid: 3, pdom: 'home' }];
+ let params = [{ mid: 1, url: 'some// there' }, {adxDomain: null, mid: 2, someVar: 'someValue', pt: 'gross'}, { adxDomain: null, mid: 3, pdom: 'home' }, {mid: 5, pt: 'net'}, {mid: 6, pt: 'gross'}];
bids = [
{
adUnitCode: placementCode[0],
@@ -236,6 +259,28 @@ describe('Adform adapter', () => {
placementCode: placementCode[2],
sizes: [],
transactionId: '5f33781f-9552-7ev3'
+ },
+ {
+ adUnitCode: placementCode[4],
+ auctionId: '7aefb970-2045',
+ bidId: '2a0cf6n',
+ bidder: 'adform',
+ bidderRequestId: '1ab8d9',
+ params: params[3],
+ placementCode: placementCode[2],
+ sizes: [],
+ transactionId: '5f33781f-9552-7ev3'
+ },
+ {
+ adUnitCode: placementCode[4],
+ auctionId: '7aefb970-2045',
+ bidId: '2a0cf6n',
+ bidder: 'adform',
+ bidderRequestId: '1ab8d9',
+ params: params[4],
+ placementCode: placementCode[2],
+ sizes: [],
+ transactionId: '5f33781f-9552-7ev3'
}
];
serverResponse = {
From e558950744e349025a380622ee16dfbd9a9cee7b Mon Sep 17 00:00:00 2001
From: John Salis
Date: Fri, 27 Apr 2018 11:42:21 -0400
Subject: [PATCH 096/171] Parse bid sizes on the `mediaTypes` object (#2435)
---
modules/beachfrontBidAdapter.js | 5 +-
modules/beachfrontBidAdapter.md | 12 +-
.../spec/modules/beachfrontBidAdapter_spec.js | 121 +++++++++++++-----
3 files changed, 104 insertions(+), 34 deletions(-)
diff --git a/modules/beachfrontBidAdapter.js b/modules/beachfrontBidAdapter.js
index fc191e306d4..6f92bc0d976 100644
--- a/modules/beachfrontBidAdapter.js
+++ b/modules/beachfrontBidAdapter.js
@@ -121,7 +121,10 @@ function outstreamRender(bid) {
}
function getSizes(bid) {
- return utils.parseSizesInput(bid.sizes).map(size => {
+ let sizes = (isVideoBid(bid)
+ ? utils.deepAccess(bid, 'mediaTypes.video.playerSize')
+ : utils.deepAccess(bid, 'mediaTypes.banner.sizes')) || bid.sizes;
+ return utils.parseSizesInput(sizes).map(size => {
let [ width, height ] = size.split('x');
return {
w: parseInt(width, 10) || undefined,
diff --git a/modules/beachfrontBidAdapter.md b/modules/beachfrontBidAdapter.md
index 6e50737dd98..5804cb8dc0d 100644
--- a/modules/beachfrontBidAdapter.md
+++ b/modules/beachfrontBidAdapter.md
@@ -15,10 +15,10 @@ Module that connects to Beachfront's demand sources
var adUnits = [
{
code: 'test-video',
- sizes: [[640, 360]],
mediaTypes: {
video: {
- context: 'instream'
+ context: 'instream',
+ playerSize: [ 640, 360 ]
}
},
bids: [
@@ -28,14 +28,18 @@ Module that connects to Beachfront's demand sources
bidfloor: 0.01,
appId: '11bc5dd5-7421-4dd8-c926-40fa653bec76',
video: {
- mimes: ['video/mp4', 'application/javascript']
+ mimes: [ 'video/mp4', 'application/javascript' ]
}
}
}
]
}, {
code: 'test-banner',
- sizes: [300, 250],
+ mediaTypes: {
+ banner: {
+ sizes: [ 300, 250 ]
+ }
+ },
bids: [
{
bidder: 'beachfront',
diff --git a/test/spec/modules/beachfrontBidAdapter_spec.js b/test/spec/modules/beachfrontBidAdapter_spec.js
index ddd93f8406d..5a0345ee6e2 100644
--- a/test/spec/modules/beachfrontBidAdapter_spec.js
+++ b/test/spec/modules/beachfrontBidAdapter_spec.js
@@ -14,7 +14,6 @@ describe('BeachfrontAdapter', () => {
appId: '3b16770b-17af-4d22-daff-9606bdf2c9c3'
},
adUnitCode: 'div-gpt-ad-1460505748561-0',
- sizes: [ 300, 250 ],
bidId: '25186806a41eab',
bidderRequestId: '15bdd8d4a0ebaf',
auctionId: 'f17d62d0-e3e3-48d0-9f73-cb4ea358a309'
@@ -25,7 +24,6 @@ describe('BeachfrontAdapter', () => {
appId: '11bc5dd5-7421-4dd8-c926-40fa653bec76'
},
adUnitCode: 'div-gpt-ad-1460505748561-1',
- sizes: [ 300, 600 ],
bidId: '365088ee6d649d',
bidderRequestId: '15bdd8d4a0ebaf',
auctionId: 'f17d62d0-e3e3-48d0-9f73-cb4ea358a309'
@@ -86,11 +84,16 @@ describe('BeachfrontAdapter', () => {
});
it('should attach request data', () => {
+ const width = 640;
+ const height = 480;
const bidRequest = bidRequests[0];
- bidRequest.mediaTypes = { video: {} };
+ bidRequest.mediaTypes = {
+ video: {
+ playerSize: [ width, height ]
+ }
+ };
const requests = spec.buildRequests([ bidRequest ]);
const data = requests[0].data;
- const [ width, height ] = bidRequest.sizes;
const topLocation = utils.getTopWindowLocation();
expect(data.isPrebid).to.equal(true);
expect(data.appId).to.equal(bidRequest.params.appId);
@@ -107,8 +110,11 @@ describe('BeachfrontAdapter', () => {
const width = 640;
const height = 480;
const bidRequest = bidRequests[0];
- bidRequest.sizes = [[ width, height ]];
- bidRequest.mediaTypes = { video: {} };
+ bidRequest.mediaTypes = {
+ video: {
+ playerSize: [[ width, height ]]
+ }
+ };
const requests = spec.buildRequests([ bidRequest ]);
const data = requests[0].data;
expect(data.imp[0].video).to.deep.contain({ w: width, h: height });
@@ -118,8 +124,11 @@ describe('BeachfrontAdapter', () => {
const width = 640;
const height = 480;
const bidRequest = bidRequests[0];
- bidRequest.sizes = `${width}x${height}`;
- bidRequest.mediaTypes = { video: {} };
+ bidRequest.mediaTypes = {
+ video: {
+ playerSize: `${width}x${height}`
+ }
+ };
const requests = spec.buildRequests([ bidRequest ]);
const data = requests[0].data;
expect(data.imp[0].video).to.deep.contain({ w: width, h: height });
@@ -127,13 +136,27 @@ describe('BeachfrontAdapter', () => {
it('must handle an empty bid size', () => {
const bidRequest = bidRequests[0];
- bidRequest.sizes = [];
- bidRequest.mediaTypes = { video: {} };
+ bidRequest.mediaTypes = {
+ video: {
+ playerSize: []
+ }
+ };
const requests = spec.buildRequests([ bidRequest ]);
const data = requests[0].data;
expect(data.imp[0].video).to.deep.contain({ w: undefined, h: undefined });
});
+ it('must fall back to the size on the bid object', () => {
+ const width = 640;
+ const height = 480;
+ const bidRequest = bidRequests[0];
+ bidRequest.sizes = [ width, height ];
+ bidRequest.mediaTypes = { video: {} };
+ const requests = spec.buildRequests([ bidRequest ]);
+ const data = requests[0].data;
+ expect(data.imp[0].video).to.deep.contain({ w: width, h: height });
+ });
+
it('must override video targeting params', () => {
const bidRequest = bidRequests[0];
const mimes = ['video/webm'];
@@ -163,11 +186,16 @@ describe('BeachfrontAdapter', () => {
});
it('should attach request data', () => {
+ const width = 300;
+ const height = 250;
const bidRequest = bidRequests[0];
- bidRequest.mediaTypes = { banner: {} };
+ bidRequest.mediaTypes = {
+ banner: {
+ sizes: [ width, height ]
+ }
+ };
const requests = spec.buildRequests([ bidRequest ]);
const data = requests[0].data;
- const [ width, height ] = bidRequest.sizes;
const topLocation = utils.getTopWindowLocation();
expect(data.slots).to.deep.equal([
{
@@ -184,11 +212,14 @@ describe('BeachfrontAdapter', () => {
});
it('must parse bid size from a nested array', () => {
- const width = 640;
- const height = 480;
+ const width = 300;
+ const height = 250;
const bidRequest = bidRequests[0];
- bidRequest.sizes = [[ width, height ]];
- bidRequest.mediaTypes = { banner: {} };
+ bidRequest.mediaTypes = {
+ banner: {
+ sizes: [[ width, height ]]
+ }
+ };
const requests = spec.buildRequests([ bidRequest ]);
const data = requests[0].data;
expect(data.slots[0].sizes).to.deep.equal([
@@ -197,11 +228,14 @@ describe('BeachfrontAdapter', () => {
});
it('must parse bid size from a string', () => {
- const width = 640;
- const height = 480;
+ const width = 300;
+ const height = 250;
const bidRequest = bidRequests[0];
- bidRequest.sizes = `${width}x${height}`;
- bidRequest.mediaTypes = { banner: {} };
+ bidRequest.mediaTypes = {
+ banner: {
+ sizes: `${width}x${height}`
+ }
+ };
const requests = spec.buildRequests([ bidRequest ]);
const data = requests[0].data;
expect(data.slots[0].sizes).to.deep.equal([
@@ -211,12 +245,26 @@ describe('BeachfrontAdapter', () => {
it('must handle an empty bid size', () => {
const bidRequest = bidRequests[0];
- bidRequest.sizes = [];
- bidRequest.mediaTypes = { banner: {} };
+ bidRequest.mediaTypes = {
+ banner: {
+ sizes: []
+ }
+ };
const requests = spec.buildRequests([ bidRequest ]);
const data = requests[0].data;
expect(data.slots[0].sizes).to.deep.equal([]);
});
+
+ it('must fall back to the size on the bid object', () => {
+ const width = 300;
+ const height = 250;
+ const bidRequest = bidRequests[0];
+ bidRequest.sizes = [ width, height ];
+ bidRequest.mediaTypes = { banner: {} };
+ const requests = spec.buildRequests([ bidRequest ]);
+ const data = requests[0].data;
+ expect(data.slots[0].sizes).to.deep.contain({ w: width, h: height });
+ });
});
});
@@ -250,15 +298,20 @@ describe('BeachfrontAdapter', () => {
});
it('should return a valid video bid response', () => {
+ const width = 640;
+ const height = 480;
const bidRequest = bidRequests[0];
- bidRequest.mediaTypes = { video: {} };
+ bidRequest.mediaTypes = {
+ video: {
+ playerSize: [ width, height ]
+ }
+ };
const serverResponse = {
bidPrice: 5.00,
url: 'http://reachms.bfmio.com/getmu?aid=bid:19c4a196-fb21-4c81-9a1a-ecc5437a39da',
cmpId: '123abc'
};
const bidResponse = spec.interpretResponse({ body: serverResponse }, { bidRequest });
- const [ width, height ] = bidRequest.sizes;
expect(bidResponse).to.deep.equal({
requestId: bidRequest.bidId,
bidderCode: spec.code,
@@ -277,7 +330,11 @@ describe('BeachfrontAdapter', () => {
it('should return a renderer for outstream video bids', () => {
const bidRequest = bidRequests[0];
- bidRequest.mediaTypes = { video: { context: 'outstream' } };
+ bidRequest.mediaTypes = {
+ video: {
+ context: 'outstream'
+ }
+ };
const serverResponse = {
bidPrice: 5.00,
url: 'http://reachms.bfmio.com/getmu?aid=bid:19c4a196-fb21-4c81-9a1a-ecc5437a39da',
@@ -307,10 +364,16 @@ describe('BeachfrontAdapter', () => {
});
it('should return valid banner bid responses', () => {
- bidRequests[0].mediaTypes = { banner: {} };
- bidRequests[0].sizes = [[ 300, 250 ], [ 728, 90 ]];
- bidRequests[1].mediaTypes = { banner: {} };
- bidRequests[1].sizes = [[ 300, 600 ], [ 200, 200 ]];
+ bidRequests[0].mediaTypes = {
+ banner: {
+ sizes: [[ 300, 250 ], [ 728, 90 ]]
+ }
+ };
+ bidRequests[1].mediaTypes = {
+ banner: {
+ sizes: [[ 300, 600 ], [ 200, 200 ]]
+ }
+ };
const serverResponse = [{
slot: bidRequests[0].adUnitCode,
adm: '
',
From 1ed012a0954c42fd8a899600f74dabbf641e639c Mon Sep 17 00:00:00 2001
From: MIGOdanis
Date: Fri, 27 Apr 2018 14:06:15 -0700
Subject: [PATCH 097/171] add getUserSyncs function in clickforceBidAdapter
(#2383)
* add getUserSyncs function
* bug fix
* add test spec
* fix of docment format
* fix of end line
* add getUserSyncs function into test file and updated test parameters
---
modules/clickforceBidAdapter.js | 13 ++
modules/clickforceBidAdapter.md | 10 ++
.../spec/modules/clickforceBidAdapter_spec.js | 127 ++++++++++++++++++
3 files changed, 150 insertions(+)
create mode 100644 test/spec/modules/clickforceBidAdapter_spec.js
diff --git a/modules/clickforceBidAdapter.js b/modules/clickforceBidAdapter.js
index 9267540cb61..fbcd5f2685c 100644
--- a/modules/clickforceBidAdapter.js
+++ b/modules/clickforceBidAdapter.js
@@ -61,6 +61,19 @@ export const spec = {
});
});
return cfResponses;
+ },
+ getUserSyncs: function(syncOptions, serverResponses) {
+ if (syncOptions.iframeEnabled) {
+ return [{
+ type: 'iframe',
+ url: 'https://cdn.doublemax.net/js/capmapping.htm'
+ }]
+ } else if (syncOptions.pixelEnabled) {
+ return [{
+ type: 'image',
+ url: 'https://c.doublemax.net/cm'
+ }]
+ }
}
};
registerBidder(spec);
diff --git a/modules/clickforceBidAdapter.md b/modules/clickforceBidAdapter.md
index 912f9132331..5d8a5ac8119 100644
--- a/modules/clickforceBidAdapter.md
+++ b/modules/clickforceBidAdapter.md
@@ -29,3 +29,13 @@ joey@clickforce.com.tw (MR. Joey)
}]
}];
```
+### Configuration
+
+CLICKFORCE recommend the UserSync configuration below. It's can be optimize the CPM for the request.
+```javascript
+pbjs.setConfig({
+ userSync: {
+ iframeEnabled: true,
+ syncDelay: 1000
+}});
+```
\ No newline at end of file
diff --git a/test/spec/modules/clickforceBidAdapter_spec.js b/test/spec/modules/clickforceBidAdapter_spec.js
new file mode 100644
index 00000000000..8b0955590a0
--- /dev/null
+++ b/test/spec/modules/clickforceBidAdapter_spec.js
@@ -0,0 +1,127 @@
+import { expect } from 'chai';
+import { spec } from 'modules/clickforceBidAdapter';
+import { newBidder } from 'src/adapters/bidderFactory';
+
+describe('ClickforceAdapter', () => {
+ const adapter = newBidder(spec);
+
+ describe('inherited functions', () => {
+ it('exists and is a function', () => {
+ expect(adapter.callBids).to.exist.and.to.be.a('function');
+ });
+ });
+
+ describe('isBidRequestValid', () => {
+ let bid = {
+ 'bidder': 'clickforce',
+ 'params': {
+ 'zone': '6682'
+ },
+ 'adUnitCode': 'adunit-code',
+ 'sizes': [
+ [300, 250]
+ ],
+ 'bidId': '30b31c1838de1e',
+ 'bidderRequestId': '22edbae2733bf6',
+ 'auctionId': '1d1a030790a475'
+ };
+
+ it('should return true when required params found', () => {
+ expect(spec.isBidRequestValid(bid)).to.equal(true);
+ });
+
+ it('should return false when required params are not passed', () => {
+ let bid = Object.assign({}, bid);
+ delete bid.params;
+ bid.params = {
+ 'someIncorrectParam': 0
+ };
+ expect(spec.isBidRequestValid(bid)).to.equal(false);
+ });
+ });
+
+ describe('buildRequests', () => {
+ let bidRequests = [{
+ 'bidder': 'clickforce',
+ 'params': {
+ 'zone': '6682'
+ },
+ 'adUnitCode': 'adunit-code',
+ 'sizes': [
+ [300, 250]
+ ],
+ 'bidId': '30b31c1838de1e',
+ 'bidderRequestId': '22edbae2733bf6',
+ 'auctionId': '1d1a030790a475'
+ }];
+
+ const request = spec.buildRequests(bidRequests);
+
+ it('sends bid request to our endpoint via POST', () => {
+ expect(request.method).to.equal('POST');
+ });
+ });
+
+ describe('interpretResponse', () => {
+ let response = [{
+ 'cpm': 0.5,
+ 'width': '300',
+ 'height': '250',
+ 'callback_uid': '220ed41385952a',
+ 'type': 'Default Ad',
+ 'tag': '',
+ 'creativeId': '1f99ac5c3ef10a4097499a5686b30aff-6682',
+ 'requestId': '220ed41385952a',
+ 'currency': 'USD',
+ 'ttl': 60,
+ 'netRevenue': true,
+ 'zone': '6682'
+ }];
+
+ it('should get the correct bid response', () => {
+ let expectedResponse = [{
+ 'requestId': '220ed41385952a',
+ 'cpm': 0.5,
+ 'width': '300',
+ 'height': '250',
+ 'creativeId': '1f99ac5c3ef10a4097499a5686b30aff-6682',
+ 'currency': 'USD',
+ 'netRevenue': true,
+ 'ttl': 60,
+ 'ad': ''
+ }];
+
+ let bidderRequest;
+ let result = spec.interpretResponse({ body: response }, {bidderRequest});
+ expect(Object.keys(result[0])).to.have.members(Object.keys(expectedResponse[0]));
+ });
+
+ it('handles empty bid response', () => {
+ let response = {
+ body: {}
+ };
+ let result = spec.interpretResponse(response);
+ expect(result.length).to.equal(0);
+ });
+ });
+
+ describe('getUserSyncs function', () => {
+ it('should register type is iframe', () => {
+ const syncOptions = {
+ 'iframeEnabled': 'true'
+ }
+ let userSync = spec.getUserSyncs(syncOptions);
+ expect(userSync[0].type).to.equal('iframe');
+ expect(userSync[0].url).to.equal('https://cdn.doublemax.net/js/capmapping.htm');
+ });
+
+ it('should register type is image', () => {
+ const syncOptions = {
+ 'pixelEnabled': 'true'
+ }
+ let userSync = spec.getUserSyncs(syncOptions);
+ expect(userSync[0].type).to.equal('image');
+ expect(userSync[0].url).to.equal('https://c.doublemax.net/cm');
+ });
+ });
+});
From b1f043def656b00bdaa5ef83ea9638cecddfe7bf Mon Sep 17 00:00:00 2001
From: Slind14
Date: Mon, 30 Apr 2018 15:53:40 +0200
Subject: [PATCH 098/171] =?UTF-8?q?added=20missing=20dfpAdServerVideo.js?=
=?UTF-8?q?=20dfp=20vast=20tag=20generation=20uri=20compone=E2=80=A6=20(#2?=
=?UTF-8?q?440)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
* added missing dfpAdServerVideo.js dfp vast tag generation uri component encoding
* fixed buildDfpVideoUrl not returning empty targeting
* reverted last commits change because it broke display targeting
---
modules/dfpAdServerVideo.js | 4 ++--
src/targeting.js | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/modules/dfpAdServerVideo.js b/modules/dfpAdServerVideo.js
index d1c66833104..1c9dbe1fac4 100644
--- a/modules/dfpAdServerVideo.js
+++ b/modules/dfpAdServerVideo.js
@@ -80,7 +80,7 @@ export default function buildDfpVideoUrl(options) {
const derivedParams = {
correlator: Date.now(),
sz: parseSizesInput(adUnit.sizes).join('|'),
- url: location.href,
+ url: encodeURIComponent(location.href),
};
const encodedCustomParams = getCustParams(bid, options);
@@ -152,7 +152,7 @@ function getCustParams(bid, options) {
adserverTargeting,
{ hb_uuid: bid && bid.videoCacheKey },
// hb_uuid will be deprecated and replaced by hb_cache_id
- {hb_cache_id: bid && bid.videoCacheKey},
+ { hb_cache_id: bid && bid.videoCacheKey },
optCustParams,
);
return encodeURIComponent(formatQS(customParams));
diff --git a/src/targeting.js b/src/targeting.js
index 498335b598c..0ca9f949a64 100644
--- a/src/targeting.js
+++ b/src/targeting.js
@@ -22,7 +22,7 @@ export const isBidExpired = (bid) => (bid.responseTimestamp + bid.ttl * 1000 + T
const isUnusedBid = (bid) => bid && ((bid.status && !includes([BID_TARGETING_SET, RENDERED], bid.status)) || !bid.status);
// If two bids are found for same adUnitCode, we will use the latest one to take part in auction
-// This can happen in case of concurrent autions
+// This can happen in case of concurrent auctions
export const getOldestBid = function(bid, i, arr) {
let oldestBid = true;
arr.forEach((val, j) => {
From 2d0f6ca70b71895f20c99269cd94a642acb17da5 Mon Sep 17 00:00:00 2001
From: haohany
Date: Mon, 30 Apr 2018 10:51:40 -0700
Subject: [PATCH 099/171] Do client-side user syncs when using the OpenRTB
endpoint (#2410)
---
modules/prebidServerBidAdapter.js | 23 ++++++++++++-------
.../modules/prebidServerBidAdapter_spec.js | 20 ++++++++++++++++
2 files changed, 35 insertions(+), 8 deletions(-)
diff --git a/modules/prebidServerBidAdapter.js b/modules/prebidServerBidAdapter.js
index 7bded03f3fb..22529def0a9 100644
--- a/modules/prebidServerBidAdapter.js
+++ b/modules/prebidServerBidAdapter.js
@@ -149,6 +149,20 @@ function doBidderSync(type, url, bidder) {
}
}
+/**
+ * Do client-side syncs for bidders.
+ *
+ * @param {Array} bidders a list of bidder names
+ */
+function doClientSideSyncs(bidders) {
+ bidders.forEach(bidder => {
+ let clientAdapter = adaptermanager.getBidAdapter(bidder);
+ if (clientAdapter && clientAdapter.registerSyncs) {
+ clientAdapter.registerSyncs([]);
+ }
+ });
+}
+
/**
* Try to convert a value to a type.
* If it can't be done, the value will be returned.
@@ -345,14 +359,6 @@ const LEGACY_PROTOCOL = {
});
}
- // do client-side syncs if available
- requestedBidders.forEach(bidder => {
- let clientAdapter = adaptermanager.getBidAdapter(bidder);
- if (clientAdapter && clientAdapter.registerSyncs) {
- clientAdapter.registerSyncs([]);
- }
- });
-
if (result.bids) {
result.bids.forEach(bidObj => {
const bidRequest = utils.getBidRequest(bidObj.bid_id, bidRequests);
@@ -674,6 +680,7 @@ export function PrebidServer() {
}
done();
+ doClientSideSyncs(requestedBidders);
}
return Object.assign(this, {
diff --git a/test/spec/modules/prebidServerBidAdapter_spec.js b/test/spec/modules/prebidServerBidAdapter_spec.js
index 63055620dde..eb14c300e33 100644
--- a/test/spec/modules/prebidServerBidAdapter_spec.js
+++ b/test/spec/modules/prebidServerBidAdapter_spec.js
@@ -722,6 +722,26 @@ describe('S2S Adapter', () => {
adapterManager.getBidAdapter.restore();
});
+ it('registers client user syncs when using OpenRTB endpoint', () => {
+ let rubiconAdapter = {
+ registerSyncs: sinon.spy()
+ };
+ sinon.stub(adapterManager, 'getBidAdapter').returns(rubiconAdapter);
+
+ const s2sConfig = Object.assign({}, CONFIG, {
+ endpoint: 'https://prebid.adnxs.com/pbs/v1/openrtb2/auction'
+ });
+ config.setConfig({s2sConfig});
+
+ server.respondWith(JSON.stringify(RESPONSE_OPENRTB));
+ adapter.callBids(REQUEST, BID_REQUESTS, addBidResponse, done, ajax);
+ server.respond();
+
+ sinon.assert.calledOnce(rubiconAdapter.registerSyncs);
+
+ adapterManager.getBidAdapter.restore();
+ });
+
it('registers bid responses when server requests cookie sync', () => {
server.respondWith(JSON.stringify(RESPONSE_NO_PBS_COOKIE));
From 9ac6ddd7fb09b8767f020cd38e1eda8ecce50879 Mon Sep 17 00:00:00 2001
From: JonGoSonobi
Date: Mon, 30 Apr 2018 13:57:26 -0400
Subject: [PATCH 100/171] Sonobi Adapter - Added debugging and analytics query
params. (#2463)
* added vp param to trinity request
* added lib_name and lib_v to trinity
* return null from buildRequests if there is no keymakers
* added test case for empty keymaker
* only importing functions we need from utils
* changed window.pbjs.version to use the gulp repalced macro .version$
* fixed issue where isEmpty was being called from old utils var. Changed test port expectations to the original 9876 port
* fixed lint issue
---
modules/sonobiBidAdapter.js | 57 +++++++++++++++++-----
test/spec/modules/sonobiBidAdapter_spec.js | 18 ++++++-
2 files changed, 62 insertions(+), 13 deletions(-)
diff --git a/modules/sonobiBidAdapter.js b/modules/sonobiBidAdapter.js
index 170228dde7a..dd684bf8767 100644
--- a/modules/sonobiBidAdapter.js
+++ b/modules/sonobiBidAdapter.js
@@ -1,11 +1,10 @@
import { registerBidder } from 'src/adapters/bidderFactory';
-import * as utils from 'src/utils';
+import { getTopWindowLocation, parseSizesInput, logError, generateUUID, deepAccess, isEmpty } from '../src/utils';
import { BANNER, VIDEO } from '../src/mediaTypes';
-import find from 'core-js/library/fn/array/find';
const BIDDER_CODE = 'sonobi';
const STR_ENDPOINT = 'https://apex.go.sonobi.com/trinity.json';
-const PAGEVIEW_ID = utils.generateUUID();
+const PAGEVIEW_ID = generateUUID();
export const spec = {
code: BIDDER_CODE,
@@ -37,7 +36,7 @@ export const spec = {
[bid.bidId]: `${slotIdentifier}|${_validateSize(bid)}${_validateFloor(bid)}`
}
} else {
- utils.logError(`The ad unit code or Sonobi Placement id for slot ${bid.bidId} is invalid`);
+ logError(`The ad unit code or Sonobi Placement id for slot ${bid.bidId} is invalid`);
}
});
@@ -46,15 +45,23 @@ export const spec = {
const payload = {
'key_maker': JSON.stringify(data),
- 'ref': utils.getTopWindowLocation().host,
- 's': utils.generateUUID(),
+ 'ref': getTopWindowLocation().host,
+ 's': generateUUID(),
'pv': PAGEVIEW_ID,
+ 'vp': _getPlatform(),
+ 'lib_name': 'prebid',
+ 'lib_v': '$prebid.version$'
};
if (validBidRequests[0].params.hfa) {
payload.hfa = validBidRequests[0].params.hfa;
}
+ // If there is no key_maker data, then dont make the request.
+ if (isEmpty(data)) {
+ return null;
+ }
+
return {
method: 'GET',
url: STR_ENDPOINT,
@@ -80,8 +87,8 @@ export const spec = {
Object.keys(bidResponse.slots).forEach(slot => {
const bidId = _getBidIdFromTrinityKey(slot);
- const bidRequest = find(bidderRequests, bidReqest => bidReqest.bidId === bidId);
- const videoMediaType = utils.deepAccess(bidRequest, 'mediaTypes.video');
+ const bidRequest = bidderRequests.find(bidReqest => bidReqest.bidId === bidId);
+ const videoMediaType = deepAccess(bidRequest, 'mediaTypes.video');
const mediaType = bidRequest.mediaType || (videoMediaType ? 'video' : null);
const createCreative = _creative(mediaType);
const bid = bidResponse.slots[slot];
@@ -138,9 +145,9 @@ export const spec = {
function _validateSize (bid) {
if (bid.params.sizes) {
- return utils.parseSizesInput(bid.params.sizes).join(',');
+ return parseSizesInput(bid.params.sizes).join(',');
}
- return utils.parseSizesInput(bid.sizes).join(',');
+ return parseSizesInput(bid.sizes).join(',');
}
function _validateSlot (bid) {
@@ -161,16 +168,42 @@ const _creative = (mediaType) => (sbi_dc, sbi_aid) => {
if (mediaType === 'video') {
return _videoCreative(sbi_dc, sbi_aid)
}
- const src = 'https://' + sbi_dc + 'apex.go.sonobi.com/sbi.js?aid=' + sbi_aid + '&as=null' + '&ref=' + utils.getTopWindowLocation().host;
+ const src = 'https://' + sbi_dc + 'apex.go.sonobi.com/sbi.js?aid=' + sbi_aid + '&as=null' + '&ref=' + getTopWindowLocation().host;
return '';
}
function _videoCreative(sbi_dc, sbi_aid) {
- return `https://${sbi_dc}apex.go.sonobi.com/vast.xml?vid=${sbi_aid}&ref=${utils.getTopWindowLocation().host}`
+ return `https://${sbi_dc}apex.go.sonobi.com/vast.xml?vid=${sbi_aid}&ref=${getTopWindowLocation().host}`
}
function _getBidIdFromTrinityKey (key) {
return key.split('|').slice(-1)[0]
}
+/**
+ * @param context - the window to determine the innerWidth from. This is purely for test purposes as it should always be the current window
+ */
+export const _isInbounds = (context = window) => (lowerBound = 0, upperBound = Number.MAX_SAFE_INTEGER) => context.innerWidth >= lowerBound && context.innerWidth < upperBound;
+
+/**
+ * @param context - the window to determine the innerWidth from. This is purely for test purposes as it should always be the current window
+ */
+export function _getPlatform(context = window) {
+ const isInBounds = _isInbounds(context);
+ const MOBILE_VIEWPORT = {
+ lt: 768
+ };
+ const TABLET_VIEWPORT = {
+ lt: 992,
+ ge: 768
+ };
+ if (isInBounds(0, MOBILE_VIEWPORT.lt)) {
+ return 'mobile'
+ }
+ if (isInBounds(TABLET_VIEWPORT.ge, TABLET_VIEWPORT.lt)) {
+ return 'tablet'
+ }
+ return 'desktop';
+}
+
registerBidder(spec);
diff --git a/test/spec/modules/sonobiBidAdapter_spec.js b/test/spec/modules/sonobiBidAdapter_spec.js
index 4fd5c13e65c..874c92e518e 100644
--- a/test/spec/modules/sonobiBidAdapter_spec.js
+++ b/test/spec/modules/sonobiBidAdapter_spec.js
@@ -1,5 +1,5 @@
import { expect } from 'chai'
-import { spec } from 'modules/sonobiBidAdapter'
+import { spec, _getPlatform } from 'modules/sonobiBidAdapter'
import { newBidder } from 'src/adapters/bidderFactory'
describe('SonobiBidAdapter', () => {
@@ -139,6 +139,7 @@ describe('SonobiBidAdapter', () => {
expect(bidRequests.data.pv).to.equal(bidRequestsPageViewID.data.pv)
expect(bidRequests.data.hfa).to.not.exist
expect(bidRequests.bidderRequests).to.eql(bidRequest);
+ expect(bidRequests.data.vp).to.equal('tablet');
})
it('should return a properly formatted request with hfa', () => {
@@ -151,6 +152,10 @@ describe('SonobiBidAdapter', () => {
expect(bidRequests.data.s).not.to.be.empty
expect(bidRequests.data.hfa).to.equal('hfakey')
})
+ it('should return null if there is nothing to bid on', () => {
+ const bidRequests = spec.buildRequests([{params: {}}])
+ expect(bidRequests).to.equal(null);
+ })
})
describe('.interpretResponse', () => {
@@ -287,4 +292,15 @@ describe('SonobiBidAdapter', () => {
expect(spec.getUserSyncs({ pixelEnabled: false }, bidResponse)).to.have.length(0);
})
})
+ describe('_getPlatform', () => {
+ it('should return mobile', () => {
+ expect(_getPlatform({innerWidth: 767})).to.equal('mobile')
+ })
+ it('should return tablet', () => {
+ expect(_getPlatform({innerWidth: 800})).to.equal('tablet')
+ })
+ it('should return desktop', () => {
+ expect(_getPlatform({innerWidth: 1000})).to.equal('desktop')
+ })
+ })
})
From 12cf6621db3cc255bf2f7ae4cd3371e30574fd79 Mon Sep 17 00:00:00 2001
From: hakanarik
Date: Mon, 30 Apr 2018 21:27:11 +0300
Subject: [PATCH 101/171] Add New Adapter admaticBidAdapter (#2390)
* Create admaticBidAdapter.js
* Create admaticBidAdapter.md
* Update admaticBidAdapter.js
* Update admaticBidAdapter.js
* Update admaticBidAdapter.js
* Update admaticBidAdapter.js
---
modules/admaticBidAdapter.js | 147 +++++++++++++++++++++++++++++++++++
modules/admaticBidAdapter.md | 54 +++++++++++++
2 files changed, 201 insertions(+)
create mode 100644 modules/admaticBidAdapter.js
create mode 100644 modules/admaticBidAdapter.md
diff --git a/modules/admaticBidAdapter.js b/modules/admaticBidAdapter.js
new file mode 100644
index 00000000000..28858aceaa1
--- /dev/null
+++ b/modules/admaticBidAdapter.js
@@ -0,0 +1,147 @@
+import * as utils from 'src/utils';
+import { registerBidder } from 'src/adapters/bidderFactory';
+
+const BIDDER_CODE = 'admatic';
+const ENDPOINT_URL = '//ads4.admatic.com.tr/prebid/v3/bidrequest';
+
+export const spec = {
+ code: BIDDER_CODE,
+ aliases: ['admatic'], // short code
+ /**
+ * Determines whether or not the given bid request is valid.
+ *
+ * @param {BidRequest} bid The bid params to validate.
+ * @return boolean True if this is a valid bid, and false otherwise.
+ */
+ isBidRequestValid: function (bid) {
+ return !!(bid.params.pid && bid.params.wid && bid.params.url);
+ },
+ /**
+ * Make a server request from the list of BidRequests.
+ *
+ * @param {validBidRequests[]} - an array of bids
+ * @return ServerRequest Info describing the request to the server.
+ */
+ buildRequests: function (validBidRequests) {
+ const payload = {
+ request: []
+ };
+
+ for (var i = 0; i < validBidRequests.length; i++) {
+ var validBidRequest = validBidRequests[i];
+ payload.auctionId = validBidRequest.auctionId;
+ payload.bidder = validBidRequest.bidder;
+ payload.bidderRequestId = validBidRequest.bidderRequestId;
+ payload.pid = validBidRequest.params.pid;
+ payload.wid = validBidRequest.params.wid;
+ payload.url = validBidRequest.params.url;
+
+ var request = {
+ adUnitCode: validBidRequest.adUnitCode,
+ bidId: validBidRequest.bidId,
+ transactionId: validBidRequest.transactionId,
+ priceType: validBidRequest.params.priceType,
+ sizes: transformSizes(validBidRequest.sizes)
+ }
+
+ payload.request.push(request);
+ }
+
+ const payloadString = JSON.stringify(payload);
+
+ return {
+ method: 'POST',
+ url: ENDPOINT_URL,
+ data: payloadString,
+ bidder: 'admatic',
+ bids: validBidRequests
+ };
+ },
+
+ /**
+ * Unpack the response from the server into a list of bids.
+ *
+ * @param {ServerResponse} serverResponse A successful response from the server.
+ * @return {Bid[]} An array of bids which were nested inside the server.
+ */
+ interpretResponse: function (serverResponse, bidRequest) {
+ const serverBody = serverResponse.body;
+ const bidResponses = [];
+
+ if (serverBody) {
+ if (serverBody.tags && serverBody.tags.length > 0) {
+ serverBody.tags.forEach(serverBid => {
+ if (serverBid != null) {
+ if (serverBid.cpm !== 0) {
+ const bidResponse = {
+ requestId: serverBid.bidId,
+ cpm: serverBid.cpm,
+ width: serverBid.width,
+ height: serverBid.height,
+ creativeId: serverBid.creativeId,
+ dealId: serverBid.dealId,
+ currency: serverBid.currency,
+ netRevenue: serverBid.netRevenue,
+ ttl: serverBid.ttl,
+ referrer: serverBid.referrer,
+ ad: serverBid.ad
+ };
+
+ bidResponses.push(bidResponse);
+ }
+ }
+ });
+ }
+ }
+
+ return bidResponses;
+ },
+ /**
+ * Register the user sync pixels which should be dropped after the auction.
+ *
+ * @param {SyncOptions} syncOptions Which user syncs are allowed?
+ * @param {ServerResponse[]} serverResponses List of server's responses.
+ * @return {UserSync[]} The user syncs which should be dropped.
+ */
+ getUserSyncs: function (syncOptions, serverResponses) {
+ const syncs = [];
+ if (syncOptions.iframeEnabled) {
+ syncs.push({
+ type: 'iframe',
+ url: '//ads4.admatic.com.tr/prebid/static/usersync/v3/async_usersync.html'
+ });
+ }
+
+ if (syncOptions.pixelEnabled && serverResponses.length > 0) {
+ syncs.push({
+ type: 'image',
+ url: 'https://ads5.admatic.com.tr/prebid/v3/bidrequest/usersync'
+ });
+ }
+ return syncs;
+ }
+}
+
+/* Turn bid request sizes into ut-compatible format */
+function transformSizes(requestSizes) {
+ let sizes = [];
+ let sizeObj = {};
+
+ if (utils.isArray(requestSizes) && requestSizes.length === 2 && !utils.isArray(requestSizes[0])) {
+ sizeObj.width = parseInt(requestSizes[0], 10);
+ sizeObj.height = parseInt(requestSizes[1], 10);
+ sizes.push(sizeObj);
+ } else if (typeof requestSizes === 'object') {
+ for (let i = 0; i < requestSizes.length; i++) {
+ let size = requestSizes[i];
+ sizeObj = {};
+ sizeObj.width = parseInt(size[0], 10);
+ sizeObj.height = parseInt(size[1], 10);
+ sizes.push(sizeObj);
+ }
+ }
+
+ return sizes;
+}
+
+registerBidder(spec);
diff --git a/modules/admaticBidAdapter.md b/modules/admaticBidAdapter.md
new file mode 100644
index 00000000000..f6e822b9c06
--- /dev/null
+++ b/modules/admaticBidAdapter.md
@@ -0,0 +1,54 @@
+# Overview
+
+```
+Module Name: AdMatic Bidder Adapter
+Module Type: Bidder Adapter
+Maintainer: prebid@admatic.com.tr
+```
+
+# Description
+
+Module that connects to AdMatic demand sources
+
+# Test Parameters
+```
+ var adUnits = [
+ {
+ code: 'test-div',
+ mediaTypes: {
+ banner: {
+ sizes: [[300, 250]], // a display size
+ }
+ },
+ bids: [
+ {
+ bidder: "admatic",
+ params: {
+ pid: 193937152158, // publisher id without "adm-pub-" prefix
+ wid: 104276324971, // website id
+ priceType: 'gross', // default is net
+ url: window.location.href || window.top.location.href //page url from js
+ }
+ }
+ ]
+ },{
+ code: 'test-div',
+ mediaTypes: {
+ banner: {
+ sizes: [[320, 50]], // a mobile size
+ }
+ },
+ bids: [
+ {
+ bidder: "admatic",
+ params: {
+ pid: 193937152158, // publisher id without "adm-pub-" prefix
+ wid: 104276324971, // website id
+ priceType: 'gross', // default is net
+ url: window.location.href || window.top.location.href //page url from js
+ }
+ }
+ ]
+ }
+ ];
+```
From b1f87414e5ec20d1bcf9127d99f34b21c88df1a4 Mon Sep 17 00:00:00 2001
From: Konstantin Prokopchik
Date: Mon, 30 Apr 2018 21:38:45 +0300
Subject: [PATCH 102/171] Getintent adapter: support multisize bids (#2453)
* GetIntent adapter - added support for multi size bids
* GetIntent adapter - add test case
* GetIntent adapter - check malformed sizes in bid request
---
modules/getintentBidAdapter.js | 27 ++++++++++++++-----
test/spec/modules/getintentBidAdapter_spec.js | 13 ++++++++-
2 files changed, 33 insertions(+), 7 deletions(-)
diff --git a/modules/getintentBidAdapter.js b/modules/getintentBidAdapter.js
index f677b107529..0bee2734d01 100644
--- a/modules/getintentBidAdapter.js
+++ b/modules/getintentBidAdapter.js
@@ -49,7 +49,7 @@ export const spec = {
* Callback for bids, after the call to DSP completes.
* Parse the response from the server into a list of bids.
*
- * @param {object} serverResponse A response from the server.
+ * @param {object} serverResponse A response from the GetIntent's server.
* @return {Bid[]} An array of bids which were nested inside the server.
*/
interpretResponse: function(serverResponse) {
@@ -127,16 +127,31 @@ function addOptional(params, request, props) {
}
}
+/**
+ * @param {String} s The string representing a size (e.g. "300x250").
+ * @return {Number[]} An array with two elements: [width, height] (e.g.: [300, 250]).
+ * */
function parseSize(s) {
return s.split('x').map(Number);
}
-function produceSize(sizes) {
- // TODO: add support for multiple sizes
- if (Array.isArray(sizes[0])) {
- return sizes[0].join('x');
+/**
+ * @param {Array} sizes An array of sizes/numbers to be joined into single string.
+ * May be an array (e.g. [300, 250]) or array of arrays (e.g. [[300, 250], [640, 480]].
+ * @return {String} The string with sizes, e.g. array of sizes [[50, 50], [80, 80]] becomes "50x50,80x80" string.
+ * */
+function produceSize (sizes) {
+ function sizeToStr(s) {
+ if (Array.isArray(s) && s.length === 2 && Number.isInteger(s[0]) && Number.isInteger(s[1])) {
+ return s.join('x');
+ } else {
+ throw "Malformed parameter 'sizes'";
+ }
+ }
+ if (Array.isArray(sizes) && Array.isArray(sizes[0])) {
+ return sizes.map(sizeToStr).join(',');
} else {
- return sizes.join('x');
+ return sizeToStr(sizes);
}
}
diff --git a/test/spec/modules/getintentBidAdapter_spec.js b/test/spec/modules/getintentBidAdapter_spec.js
index 1b76c4852b4..17f9a95fec4 100644
--- a/test/spec/modules/getintentBidAdapter_spec.js
+++ b/test/spec/modules/getintentBidAdapter_spec.js
@@ -9,7 +9,15 @@ describe('GetIntent Adapter Tests:', () => {
tid: 't1000'
},
sizes: [[300, 250]]
- }];
+ },
+ {
+ bidId: 'bid54321',
+ params: {
+ pid: 'p1000',
+ tid: 't1000'
+ },
+ sizes: [[50, 50], [100, 100]]
+ }]
const videoBidRequest = {
bidId: 'bid789',
params: {
@@ -36,6 +44,8 @@ describe('GetIntent Adapter Tests:', () => {
expect(serverRequest.data.tid).to.equal('t1000');
expect(serverRequest.data.size).to.equal('300x250');
expect(serverRequest.data.is_video).to.equal(false);
+ serverRequest = serverRequests[1];
+ expect(serverRequest.data.size).to.equal('50x50,100x100');
});
it('Verify build video request', () => {
@@ -123,6 +133,7 @@ describe('GetIntent Adapter Tests:', () => {
it('Verify if bid request valid', () => {
expect(spec.isBidRequestValid(bidRequests[0])).to.equal(true);
+ expect(spec.isBidRequestValid(bidRequests[1])).to.equal(true);
expect(spec.isBidRequestValid({})).to.equal(false);
expect(spec.isBidRequestValid({ params: {} })).to.equal(false);
expect(spec.isBidRequestValid({ params: { test: 123 } })).to.equal(false);
From 59e0042ca23fe22be6e079956195c5b230c3ff36 Mon Sep 17 00:00:00 2001
From: LeoWu
Date: Tue, 1 May 2018 02:42:28 +0800
Subject: [PATCH 103/171] [FEAT] support mediaTypes.banner.sizes (#2444)
---
modules/bridgewellBidAdapter.js | 60 ++--
modules/bridgewellBidAdapter.md | 83 +++---
.../spec/modules/bridgewellBidAdapter_spec.js | 275 ++++++++++++------
3 files changed, 281 insertions(+), 137 deletions(-)
diff --git a/modules/bridgewellBidAdapter.js b/modules/bridgewellBidAdapter.js
index 2a7dc0b35c3..712b00ec51a 100644
--- a/modules/bridgewellBidAdapter.js
+++ b/modules/bridgewellBidAdapter.js
@@ -3,7 +3,7 @@ import {registerBidder} from 'src/adapters/bidderFactory';
import find from 'core-js/library/fn/array/find';
const BIDDER_CODE = 'bridgewell';
-const REQUEST_ENDPOINT = '//rec.scupio.com/recweb/prebid.aspx';
+const REQUEST_ENDPOINT = '//rec.scupio.com/recweb/prebid.aspx?cb=' + Math.random();
export const spec = {
code: BIDDER_CODE,
@@ -43,17 +43,23 @@ export const spec = {
* @return ServerRequest Info describing the request to the server.
*/
buildRequests: function(validBidRequests) {
- const channelIDs = [];
-
+ const adUnits = [];
utils._each(validBidRequests, function(bid) {
- channelIDs.push(bid.params.ChannelID);
+ adUnits.push({
+ ChannelID: bid.params.ChannelID,
+ mediaTypes: bid.mediaTypes || {
+ banner: {
+ sizes: bid.sizes
+ }
+ }
+ });
});
return {
- method: 'GET',
+ method: 'POST',
url: REQUEST_ENDPOINT,
data: {
- 'ChannelID': channelIDs.join(',')
+ adUnits: adUnits
},
validBidRequests: validBidRequests
};
@@ -77,15 +83,35 @@ export const spec = {
return;
}
- const anotherFormatSize = []; // for store width and height
let matchedResponse = find(serverResponse.body, function(res) {
- return !!res && !res.consumed && find(req.sizes, function(size) {
- let width = res.width;
- let height = res.height;
- if (typeof size === 'number') anotherFormatSize.push(size); // if sizes format is Array[Number], push width and height into anotherFormatSize
- return (width === size[0] && height === size[1]) || // for format Array[Array[Number]] check
- (width === anotherFormatSize[0] && height === anotherFormatSize[1]); // for foramt Array[Number] check
- });
+ let valid = false;
+
+ if (!!res && !res.consumed) { // response exists and not consumed
+ if (res.width && res.height) {
+ let mediaTypes = req.mediaTypes;
+ // for prebid 1.0 and later usage, mediaTypes.banner.sizes
+ let sizes = mediaTypes && mediaTypes.banner && mediaTypes.banner.sizes ? mediaTypes.banner.sizes : req.sizes;
+ if (sizes) {
+ let sizeValid;
+ let width = res.width;
+ let height = res.height;
+ // check response size validation
+ if (typeof sizes[0] === 'number') { // for foramt Array[Number] check
+ sizeValid = width === sizes[0] && height === sizes[1];
+ } else { // for format Array[Array[Number]] check
+ sizeValid = find(sizes, function(size) {
+ return (width === size[0] && height === size[1]);
+ });
+ }
+
+ if (sizeValid) { // dont care native sizes
+ valid = true;
+ }
+ }
+ }
+ }
+
+ return valid;
});
if (matchedResponse) {
@@ -94,11 +120,9 @@ export const spec = {
// check required parameters
if (typeof matchedResponse.cpm !== 'number') {
return;
- } else if (typeof matchedResponse.width !== 'number' || typeof matchedResponse.height !== 'number') {
- return;
} else if (typeof matchedResponse.ad !== 'string') {
return;
- } else if (typeof matchedResponse.net_revenue === 'undefined') {
+ } else if (typeof matchedResponse.netRevenue !== 'boolean') {
return;
} else if (typeof matchedResponse.currency !== 'string') {
return;
@@ -111,7 +135,7 @@ export const spec = {
bidResponse.ad = matchedResponse.ad;
bidResponse.ttl = matchedResponse.ttl;
bidResponse.creativeId = matchedResponse.id;
- bidResponse.netRevenue = matchedResponse.net_revenue === 'true';
+ bidResponse.netRevenue = matchedResponse.netRevenue;
bidResponse.currency = matchedResponse.currency;
bidResponses.push(bidResponse);
diff --git a/modules/bridgewellBidAdapter.md b/modules/bridgewellBidAdapter.md
index b9d065054fa..6e542af18a7 100644
--- a/modules/bridgewellBidAdapter.md
+++ b/modules/bridgewellBidAdapter.md
@@ -10,41 +10,50 @@ Module that connects to Bridgewell demand source to fetch bids.
# Test Parameters
```
- var adUnits = [
- {
- code: 'test-div',
- sizes: [[300, 250]],
- bids: [
- {
- bidder: 'bridgewell',
- params: {
- ChannelID: 'CgUxMjMzOBIBNiIFcGVubnkqCQisAhD6ARoBOQ'
- }
- }
- ]
- },{
- code: 'test-div',
- sizes: [[728, 90]],
- bids: [
- {
- bidder: 'bridgewell',
- params: {
- ChannelID: 'CgUxMjMzOBIBNiIGcGVubnkzKggI2AUQWhoBOQ',
- cpmWeight: 1.5
- }
- }
- ]
- },{
- code: 'test-div',
- sizes: [728, 90],
- bids: [
- {
- bidder: 'bridgewell',
- params: {
- ChannelID: 'CgUxMjMzOBIBNiIGcGVubnkzKggI2AUQWhoBOQ'
- }
- }
- ]
- }
- ];
+ var adUnits = [{
+ code: 'test-div',
+ sizes: [
+ [300, 250]
+ ],
+ bids: [{
+ bidder: 'bridgewell',
+ params: {
+ ChannelID: 'CgUxMjMzOBIBNiIFcGVubnkqCQisAhD6ARoBOQ'
+ }
+ }]
+ }, {
+ code: 'test-div',
+ sizes: [
+ [728, 90]
+ ],
+ bids: [{
+ bidder: 'bridgewell',
+ params: {
+ ChannelID: 'CgUxMjMzOBIBNiIGcGVubnkzKggI2AUQWhoBOQ',
+ cpmWeight: 1.5
+ }
+ }]
+ }, {
+ code: 'test-div',
+ sizes: [728, 90],
+ bids: [{
+ bidder: 'bridgewell',
+ params: {
+ ChannelID: 'CgUxMjMzOBIBNiIGcGVubnkzKggI2AUQWhoBOQ'
+ }
+ }]
+ }, {
+ code: 'test-div',
+ mediaTypes: {
+ banner: {
+ sizes: [728, 90]
+ }
+ },
+ bids: [{
+ bidder: 'bridgewell',
+ params: {
+ ChannelID: 'CgUxMjMzOBIBNiIGcGVubnkzKggI2AUQWhoBOQ'
+ }
+ }]
+ }];
```
diff --git a/test/spec/modules/bridgewellBidAdapter_spec.js b/test/spec/modules/bridgewellBidAdapter_spec.js
index 6b95b44dfe5..8615531f88f 100644
--- a/test/spec/modules/bridgewellBidAdapter_spec.js
+++ b/test/spec/modules/bridgewellBidAdapter_spec.js
@@ -72,6 +72,21 @@ describe('bridgewellBidAdapter', function () {
'bidId': '3150ccb55da321',
'bidderRequestId': '22edbae2733bf6',
'auctionId': '1d1a030790a475',
+ },
+ {
+ 'bidder': 'bridgewell',
+ 'params': {
+ 'ChannelID': 'CgUxMjMzOBIBNiIGcGVubnkzKggI2AUQWhoBOQ',
+ },
+ 'adUnitCode': 'adunit-code-2',
+ 'mediaTypes': {
+ 'banner': {
+ 'sizes': [728, 90]
+ }
+ },
+ 'bidId': '3150ccb55da321',
+ 'bidderRequestId': '22edbae2733bf6',
+ 'auctionId': '1d1a030790a475',
}
];
const adapter = newBidder(spec);
@@ -141,6 +156,10 @@ describe('bridgewellBidAdapter', function () {
expect(spec.isBidRequestValid(bidWithZeroCpmWeight)).to.equal(false);
});
+ it('should return false when required params not found', () => {
+ expect(spec.isBidRequestValid({})).to.equal(false);
+ });
+
it('should return false when required params are not passed', () => {
let bidWithoutCpmWeight = Object.assign({}, bidWithoutCpmWeight);
let bidWithCorrectCpmWeight = Object.assign({}, bidWithCorrectCpmWeight);
@@ -177,10 +196,16 @@ describe('bridgewellBidAdapter', function () {
describe('buildRequests', () => {
it('should attach valid params to the tag', () => {
- const request = spec.buildRequests([bidRequests[0]]);
+ const request = spec.buildRequests(bidRequests);
const payload = request.data;
+ const adUnits = payload.adUnits;
+
expect(payload).to.be.an('object');
- expect(payload).to.have.property('ChannelID').that.is.a('string');
+ expect(adUnits).to.be.an('array');
+ for (let i = 0, max_i = adUnits.length; i < max_i; i++) {
+ let adUnit = adUnits[i];
+ expect(adUnit).to.have.property('ChannelID').that.is.a('string');
+ }
});
it('should attach validBidRequests to the tag', () => {
@@ -188,79 +213,89 @@ describe('bridgewellBidAdapter', function () {
const validBidRequests = request.validBidRequests;
expect(validBidRequests).to.deep.equal(bidRequests);
});
-
- it('should attach valid params to the tag if multiple ChannelIDs are presented', () => {
- const request = spec.buildRequests(bidRequests);
- const payload = request.data;
- expect(payload).to.be.an('object');
- expect(payload).to.have.property('ChannelID').that.is.a('string');
- expect(payload.ChannelID.split(',')).to.have.lengthOf(bidRequests.length);
- });
});
describe('interpretResponse', () => {
const request = spec.buildRequests(bidRequests);
- const serverResponses = [{
- 'id': 'e5b10774-32bf-4931-85ee-05095e8cff21',
- 'bidder_code': 'bridgewell',
- 'cpm': 5.0,
- 'width': 300,
- 'height': 250,
- 'ad': 'test 300x250
',
- 'ttl': 360,
- 'net_revenue': 'true',
- 'currency': 'NTD'
- }, {
- 'id': '0e4048d3-5c74-4380-a21a-00ba35629f7d',
- 'bidder_code': 'bridgewell',
- 'cpm': 5.0,
- 'width': 728,
- 'height': 90,
- 'ad': 'test 728x90
',
- 'ttl': 360,
- 'net_revenue': 'true',
- 'currency': 'NTD'
- }, {
- 'id': '8f12c646-3b87-4326-a837-c2a76999f168',
- 'bidder_code': 'bridgewell',
- 'cpm': 5.0,
- 'width': 300,
- 'height': 250,
- 'ad': 'test 300x250
',
- 'ttl': 360,
- 'net_revenue': 'true',
- 'currency': 'NTD'
- }, {
- 'id': '8f12c646-3b87-4326-a837-c2a76999f168',
- 'bidder_code': 'bridgewell',
- 'cpm': 5.0,
- 'width': 300,
- 'height': 250,
- 'ad': 'test 300x250
',
- 'ttl': 360,
- 'net_revenue': 'true',
- 'currency': 'NTD'
- }, {
- 'id': '0e4048d3-5c74-4380-a21a-00ba35629f7d',
- 'bidder_code': 'bridgewell',
- 'cpm': 5.0,
- 'width': 728,
- 'height': 90,
- 'ad': 'test 728x90
',
- 'ttl': 360,
- 'net_revenue': 'true',
- 'currency': 'NTD'
- }, {
- 'id': '0e4048d3-5c74-4380-a21a-00ba35629f7d',
- 'bidder_code': 'bridgewell',
- 'cpm': 5.0,
- 'width': 728,
- 'height': 90,
- 'ad': 'test 728x90
',
- 'ttl': 360,
- 'net_revenue': 'true',
- 'currency': 'NTD'
- }];
+ const serverResponses = [
+ {
+ 'id': 'e5b10774-32bf-4931-85ee-05095e8cff21',
+ 'bidder_code': 'bridgewell',
+ 'cpm': 5.0,
+ 'width': 300,
+ 'height': 250,
+ 'ad': 'test 300x250
',
+ 'ttl': 360,
+ 'netRevenue': true,
+ 'currency': 'NTD'
+ },
+ {
+ 'id': '0e4048d3-5c74-4380-a21a-00ba35629f7d',
+ 'bidder_code': 'bridgewell',
+ 'cpm': 5.0,
+ 'width': 728,
+ 'height': 90,
+ 'ad': 'test 728x90
',
+ 'ttl': 360,
+ 'netRevenue': true,
+ 'currency': 'NTD'
+ },
+ {
+ 'id': '8f12c646-3b87-4326-a837-c2a76999f168',
+ 'bidder_code': 'bridgewell',
+ 'cpm': 5.0,
+ 'width': 300,
+ 'height': 250,
+ 'ad': 'test 300x250
',
+ 'ttl': 360,
+ 'netRevenue': true,
+ 'currency': 'NTD'
+ },
+ {
+ 'id': '8f12c646-3b87-4326-a837-c2a76999f168',
+ 'bidder_code': 'bridgewell',
+ 'cpm': 5.0,
+ 'width': 300,
+ 'height': 250,
+ 'ad': 'test 300x250
',
+ 'ttl': 360,
+ 'netRevenue': true,
+ 'currency': 'NTD'
+ },
+ {
+ 'id': '0e4048d3-5c74-4380-a21a-00ba35629f7d',
+ 'bidder_code': 'bridgewell',
+ 'cpm': 5.0,
+ 'width': 728,
+ 'height': 90,
+ 'ad': 'test 728x90
',
+ 'ttl': 360,
+ 'netRevenue': true,
+ 'currency': 'NTD'
+ },
+ {
+ 'id': '0e4048d3-5c74-4380-a21a-00ba35629f7d',
+ 'bidder_code': 'bridgewell',
+ 'cpm': 5.0,
+ 'width': 728,
+ 'height': 90,
+ 'ad': 'test 728x90
',
+ 'ttl': 360,
+ 'netRevenue': true,
+ 'currency': 'NTD'
+ },
+ {
+ 'id': '0e4048d3-5c74-4380-a21a-00ba35629f7d',
+ 'bidder_code': 'bridgewell',
+ 'cpm': 5.0,
+ 'width': 728,
+ 'height': 90,
+ 'ad': 'test 728x90
',
+ 'ttl': 360,
+ 'netRevenue': true,
+ 'currency': 'NTD'
+ }
+ ];
it('should return all required parameters', () => {
const result = spec.interpretResponse({'body': serverResponses}, request);
@@ -278,38 +313,114 @@ describe('bridgewellBidAdapter', function () {
expect(result).to.deep.equal([]);
});
- it('should give up bid if cpm is missing', () => {
+ it('should give up bid if request sizes is missing', () => {
let target = Object.assign({}, serverResponses[0]);
- delete target.cpm;
+ target.consumed = false;
+ const result = spec.interpretResponse({'body': [target]}, spec.buildRequests([{
+ 'bidder': 'bridgewell',
+ 'params': {
+ 'ChannelID': 'CLJgEAYYvxUiBXBlbm55KgkIrAIQ-gEaATk'
+ },
+ 'adUnitCode': 'adunit-code-1',
+ 'bidId': '30b31c1838de1e',
+ 'bidderRequestId': '22edbae2733bf6',
+ 'auctionId': '1d1a030790a475',
+ }]));
+ expect(result).to.deep.equal([]);
+ });
+
+ it('should give up bid if response sizes is invalid', () => {
+ let target = {
+ 'id': 'e5b10774-32bf-4931-85ee-05095e8cff21',
+ 'bidder_code': 'bridgewell',
+ 'cpm': 5.0,
+ 'width': 1,
+ 'height': 1,
+ 'ad': 'test 300x250
',
+ 'ttl': 360,
+ 'netRevenue': true,
+ 'currency': 'NTD'
+ };
+
+ const result = spec.interpretResponse({'body': [target]}, request);
+ expect(result).to.deep.equal([]);
+ });
+
+ it('should give up bid if cpm is missing', () => {
+ let target = {
+ 'id': 'e5b10774-32bf-4931-85ee-05095e8cff21',
+ 'bidder_code': 'bridgewell',
+ 'width': 300,
+ 'height': 250,
+ 'ad': 'test 300x250
',
+ 'ttl': 360,
+ 'netRevenue': true,
+ 'currency': 'NTD'
+ };
+
const result = spec.interpretResponse({'body': [target]}, request);
expect(result).to.deep.equal([]);
});
it('should give up bid if width or height is missing', () => {
- let target = Object.assign({}, serverResponses[0]);
- delete target.height;
- delete target.width;
+ let target = {
+ 'id': 'e5b10774-32bf-4931-85ee-05095e8cff21',
+ 'bidder_code': 'bridgewell',
+ 'cpm': 5.0,
+ 'ad': 'test 300x250
',
+ 'ttl': 360,
+ 'netRevenue': true,
+ 'currency': 'NTD'
+ };
+
const result = spec.interpretResponse({'body': [target]}, request);
expect(result).to.deep.equal([]);
});
it('should give up bid if ad is missing', () => {
- let target = Object.assign({}, serverResponses[0]);
- delete target.ad;
+ let target = {
+ 'id': 'e5b10774-32bf-4931-85ee-05095e8cff21',
+ 'bidder_code': 'bridgewell',
+ 'cpm': 5.0,
+ 'width': 300,
+ 'height': 250,
+ 'ttl': 360,
+ 'netRevenue': true,
+ 'currency': 'NTD'
+ };
+
const result = spec.interpretResponse({'body': [target]}, request);
expect(result).to.deep.equal([]);
});
it('should give up bid if revenue mode is missing', () => {
- let target = Object.assign({}, serverResponses[0]);
- delete target.net_revenue;
+ let target = {
+ 'id': 'e5b10774-32bf-4931-85ee-05095e8cff21',
+ 'bidder_code': 'bridgewell',
+ 'cpm': 5.0,
+ 'width': 300,
+ 'height': 250,
+ 'ad': 'test 300x250
',
+ 'ttl': 360,
+ 'currency': 'NTD'
+ };
+
const result = spec.interpretResponse({'body': [target]}, request);
expect(result).to.deep.equal([]);
});
it('should give up bid if currency is missing', () => {
- let target = Object.assign({}, serverResponses[0]);
- delete target.currency;
+ let target = {
+ 'id': 'e5b10774-32bf-4931-85ee-05095e8cff21',
+ 'bidder_code': 'bridgewell',
+ 'cpm': 5.0,
+ 'width': 300,
+ 'height': 250,
+ 'ad': 'test 300x250
',
+ 'ttl': 360,
+ 'netRevenue': true
+ };
+
const result = spec.interpretResponse({'body': [target]}, request);
expect(result).to.deep.equal([]);
});
From 37671298f93ec1f073dee3d1afcbe15d417875ad Mon Sep 17 00:00:00 2001
From: Rich Snapp
Date: Mon, 30 Apr 2018 12:50:24 -0600
Subject: [PATCH 104/171] fix sonobi tests for device size so it works in
browserstack
---
test/spec/modules/sonobiBidAdapter_spec.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/test/spec/modules/sonobiBidAdapter_spec.js b/test/spec/modules/sonobiBidAdapter_spec.js
index 874c92e518e..791d07ba91a 100644
--- a/test/spec/modules/sonobiBidAdapter_spec.js
+++ b/test/spec/modules/sonobiBidAdapter_spec.js
@@ -139,7 +139,7 @@ describe('SonobiBidAdapter', () => {
expect(bidRequests.data.pv).to.equal(bidRequestsPageViewID.data.pv)
expect(bidRequests.data.hfa).to.not.exist
expect(bidRequests.bidderRequests).to.eql(bidRequest);
- expect(bidRequests.data.vp).to.equal('tablet');
+ expect(['mobile', 'tablet', 'desktop']).to.contain(bidRequests.data.vp);
})
it('should return a properly formatted request with hfa', () => {
From 603f5f0b6ecda015ab3cd3ddb3df7e19d5ad2cf2 Mon Sep 17 00:00:00 2001
From: Rich Snapp
Date: Mon, 30 Apr 2018 12:53:54 -0600
Subject: [PATCH 105/171] fix sonobi to use polyfilled find to correct
browserstack tests
---
modules/sonobiBidAdapter.js | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/modules/sonobiBidAdapter.js b/modules/sonobiBidAdapter.js
index dd684bf8767..438ab7f3a74 100644
--- a/modules/sonobiBidAdapter.js
+++ b/modules/sonobiBidAdapter.js
@@ -1,6 +1,7 @@
import { registerBidder } from 'src/adapters/bidderFactory';
import { getTopWindowLocation, parseSizesInput, logError, generateUUID, deepAccess, isEmpty } from '../src/utils';
import { BANNER, VIDEO } from '../src/mediaTypes';
+import find from 'core-js/library/fn/array/find';
const BIDDER_CODE = 'sonobi';
const STR_ENDPOINT = 'https://apex.go.sonobi.com/trinity.json';
@@ -87,7 +88,7 @@ export const spec = {
Object.keys(bidResponse.slots).forEach(slot => {
const bidId = _getBidIdFromTrinityKey(slot);
- const bidRequest = bidderRequests.find(bidReqest => bidReqest.bidId === bidId);
+ const bidRequest = find(bidderRequests, bidReqest => bidReqest.bidId === bidId);
const videoMediaType = deepAccess(bidRequest, 'mediaTypes.video');
const mediaType = bidRequest.mediaType || (videoMediaType ? 'video' : null);
const createCreative = _creative(mediaType);
From 77d0e0610dbc1ed3e2bece1c59b1da8632d5ef2b Mon Sep 17 00:00:00 2001
From: Rich Snapp
Date: Mon, 30 Apr 2018 13:19:39 -0600
Subject: [PATCH 106/171] fixing getintent to use utils.isInteger to fix
browserstack tests
---
modules/getintentBidAdapter.js | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/modules/getintentBidAdapter.js b/modules/getintentBidAdapter.js
index 0bee2734d01..611e8eebd6e 100644
--- a/modules/getintentBidAdapter.js
+++ b/modules/getintentBidAdapter.js
@@ -1,4 +1,5 @@
import { registerBidder } from 'src/adapters/bidderFactory';
+import { isInteger } from 'src/utils';
const BIDDER_CODE = 'getintent';
const IS_NET_REVENUE = true;
@@ -142,7 +143,7 @@ function parseSize(s) {
* */
function produceSize (sizes) {
function sizeToStr(s) {
- if (Array.isArray(s) && s.length === 2 && Number.isInteger(s[0]) && Number.isInteger(s[1])) {
+ if (Array.isArray(s) && s.length === 2 && isInteger(s[0]) && isInteger(s[1])) {
return s.join('x');
} else {
throw "Malformed parameter 'sizes'";
From d28c4a8310b600bca24f0b83e70c080942be2cac Mon Sep 17 00:00:00 2001
From: aprakash-sovrn
Date: Mon, 30 Apr 2018 18:11:23 -0600
Subject: [PATCH 107/171] [1.x] Populate crid with values from demand if
present (#2424)
* fix sovrn dealid
* send 'iv' param if present
* `page` field in `site` object sends full url
* Enhance location detection within util function.
* fix func call
* fix tagid var type
* add test for converting tagid to string
* CR
* Reorg gettopwindowlocation util & add tests.
* lint fixes
* search param is string in window location objects
* set creativeId to crid if present in response
---
modules/sovrnBidAdapter.js | 2 +-
test/spec/modules/sovrnBidAdapter_spec.js | 58 ++++++++++++++++-------
2 files changed, 42 insertions(+), 18 deletions(-)
diff --git a/modules/sovrnBidAdapter.js b/modules/sovrnBidAdapter.js
index 564dca85690..3a70a0ed433 100644
--- a/modules/sovrnBidAdapter.js
+++ b/modules/sovrnBidAdapter.js
@@ -70,7 +70,7 @@ export const spec = {
cpm: parseFloat(sovrnBid.price),
width: parseInt(sovrnBid.w),
height: parseInt(sovrnBid.h),
- creativeId: sovrnBid.id,
+ creativeId: sovrnBid.crid || sovrnBid.id,
dealId: sovrnBid.dealid || null,
currency: 'USD',
netRevenue: true,
diff --git a/test/spec/modules/sovrnBidAdapter_spec.js b/test/spec/modules/sovrnBidAdapter_spec.js
index a440b3d43c4..9ad25753186 100644
--- a/test/spec/modules/sovrnBidAdapter_spec.js
+++ b/test/spec/modules/sovrnBidAdapter_spec.js
@@ -106,22 +106,26 @@ describe('sovrnBidAdapter', function() {
});
describe('interpretResponse', () => {
- let response = {
- body: {
- 'id': '37386aade21a71',
- 'seatbid': [{
- 'bid': [{
- 'id': 'a_403370_332fdb9b064040ddbec05891bd13ab28',
- 'impid': '263c448586f5a1',
- 'price': 0.45882675,
- 'nurl': '',
- 'adm': '',
- 'h': 90,
- 'w': 728
+ let response;
+ beforeEach(() => {
+ response = {
+ body: {
+ 'id': '37386aade21a71',
+ 'seatbid': [{
+ 'bid': [{
+ 'id': 'a_403370_332fdb9b064040ddbec05891bd13ab28',
+ 'crid': 'creativelycreatedcreativecreative',
+ 'impid': '263c448586f5a1',
+ 'price': 0.45882675,
+ 'nurl': '',
+ 'adm': '',
+ 'h': 90,
+ 'w': 728
+ }]
}]
- }]
- }
- };
+ }
+ };
+ });
it('should get the correct bid response', () => {
let expectedResponse = [{
@@ -129,7 +133,27 @@ describe('sovrnBidAdapter', function() {
'cpm': 0.45882675,
'width': 728,
'height': 90,
- 'creativeId': 'a_403370_332fdb9b064040ddbec05891bd13ab28',
+ 'creativeId': 'creativelycreatedcreativecreative',
+ 'dealId': null,
+ 'currency': 'USD',
+ 'netRevenue': true,
+ 'mediaType': 'banner',
+ 'ad': decodeURIComponent(` >`),
+ 'ttl': 60000
+ }];
+
+ let result = spec.interpretResponse(response);
+ expect(Object.keys(result[0])).to.deep.equal(Object.keys(expectedResponse[0]));
+ });
+
+ it('crid should default to the bid id if not on the response', () => {
+ delete response.body.seatbid[0].bid[0].crid;
+ let expectedResponse = [{
+ 'requestId': '263c448586f5a1',
+ 'cpm': 0.45882675,
+ 'width': 728,
+ 'height': 90,
+ 'creativeId': response.body.seatbid[0].bid[0].id,
'dealId': null,
'currency': 'USD',
'netRevenue': true,
@@ -150,7 +174,7 @@ describe('sovrnBidAdapter', function() {
'cpm': 0.45882675,
'width': 728,
'height': 90,
- 'creativeId': 'a_403370_332fdb9b064040ddbec05891bd13ab28',
+ 'creativeId': 'creativelycreatedcreativecreative',
'dealId': 'baking',
'currency': 'USD',
'netRevenue': true,
From a0fee37b476df8dc2a3ab411049853e6d2d8a87f Mon Sep 17 00:00:00 2001
From: Anand Venkatraman
Date: Tue, 1 May 2018 19:00:08 +0530
Subject: [PATCH 108/171] PulsePoint Adapter GDPR support (#2471)
* ET-1691: Pulsepoint Analytics adapter for Prebid. (#1)
* ET-1691: Adding pulsepoint analytics and tests for pulsepoint adapter
* ET-1691: Adding pulsepoint analytics and tests for pulsepoint adapter
* ET-1691: cleanup
* ET-1691: minor
* ET-1691: revert package.json change
* Adding bidRequest to bidFactory.createBid method as per https://github.com/prebid/Prebid.js/issues/509
* ET-1765: Adding support for additional params in PulsePoint adapter (#2)
* ET-1850: Fixing https://github.com/prebid/Prebid.js/issues/866
* Minor fix
* Adding mandatory parameters to Bid
* Pulsepoint Bid Adapter - GDPR support
* minor update
* minor update
* Fixing review comment
---
modules/pulsepointBidAdapter.js | 13 +++++++++++-
.../spec/modules/pulsepointBidAdapter_spec.js | 21 +++++++++++++++++++
2 files changed, 33 insertions(+), 1 deletion(-)
diff --git a/modules/pulsepointBidAdapter.js b/modules/pulsepointBidAdapter.js
index fc637cc9fff..94733ad7805 100644
--- a/modules/pulsepointBidAdapter.js
+++ b/modules/pulsepointBidAdapter.js
@@ -34,7 +34,7 @@ export const spec = {
!!(bid && bid.params && bid.params.cp && bid.params.ct)
),
- buildRequests: bidRequests => {
+ buildRequests: (bidRequests, bidderRequest) => {
const request = {
id: bidRequests[0].bidderRequestId,
imp: bidRequests.map(slot => impression(slot)),
@@ -42,6 +42,7 @@ export const spec = {
app: app(bidRequests),
device: device(),
};
+ applyGdpr(bidderRequest, request);
return {
method: 'POST',
url: '//bid.contextweb.com/header/ortb',
@@ -304,6 +305,16 @@ function adSize(slot) {
return [1, 1];
}
+/**
+ * Applies GDPR parameters to request.
+ */
+function applyGdpr(bidderRequest, ortbRequest) {
+ if (bidderRequest && bidderRequest.gdprConsent) {
+ ortbRequest.regs = { ext: { gdpr: bidderRequest.gdprConsent.gdprApplies ? 1 : 0 } };
+ ortbRequest.user = { ext: { consent: bidderRequest.gdprConsent.consentString } };
+ }
+}
+
/**
* Parses the native response from the Bid given.
*/
diff --git a/test/spec/modules/pulsepointBidAdapter_spec.js b/test/spec/modules/pulsepointBidAdapter_spec.js
index b4793256ee0..709dbeb76a2 100644
--- a/test/spec/modules/pulsepointBidAdapter_spec.js
+++ b/test/spec/modules/pulsepointBidAdapter_spec.js
@@ -273,4 +273,25 @@ describe('PulsePoint Adapter Tests', () => {
expect(ortbRequest.app.storeurl).to.equal('http://pulsepoint.com/apps');
expect(ortbRequest.app.domain).to.equal('pulsepoint.com');
});
+
+ it('Verify GDPR', () => {
+ const bidderRequest = {
+ gdprConsent: {
+ gdprApplies: true,
+ consentString: 'serialized_gpdr_data'
+ }
+ };
+ const request = spec.buildRequests(slotConfigs, bidderRequest);
+ expect(request.url).to.equal('//bid.contextweb.com/header/ortb');
+ expect(request.method).to.equal('POST');
+ const ortbRequest = JSON.parse(request.data);
+ // user object
+ expect(ortbRequest.user).to.not.equal(null);
+ expect(ortbRequest.user.ext).to.not.equal(null);
+ expect(ortbRequest.user.ext.consent).to.equal('serialized_gpdr_data');
+ // regs object
+ expect(ortbRequest.regs).to.not.equal(null);
+ expect(ortbRequest.regs.ext).to.not.equal(null);
+ expect(ortbRequest.regs.ext.gdpr).to.equal(1);
+ });
});
From 027abc72e9735e92030106fc8427fcc8c79aaaf5 Mon Sep 17 00:00:00 2001
From: sekindo
Date: Tue, 1 May 2018 17:02:36 +0300
Subject: [PATCH 109/171] getting publisher url fix (#2472)
---
modules/sekindoUMBidAdapter.js | 16 +++++++++++-----
1 file changed, 11 insertions(+), 5 deletions(-)
diff --git a/modules/sekindoUMBidAdapter.js b/modules/sekindoUMBidAdapter.js
index e87f3194ff0..cf8ba9e23f0 100644
--- a/modules/sekindoUMBidAdapter.js
+++ b/modules/sekindoUMBidAdapter.js
@@ -25,11 +25,17 @@ export const spec = {
*/
buildRequests: function(validBidRequests, bidderRequest) {
var pubUrl = null;
- if (parent !== window) {
- pubUrl = document.referrer;
- } else {
- pubUrl = window.location.href;
- }
+ try {
+ if (window.top == window) {
+ pubUrl = window.location.href;
+ } else {
+ try {
+ pubUrl = window.top.location.href;
+ } catch (e2) {
+ pubUrl = document.referrer;
+ }
+ }
+ } catch (e1) {}
return validBidRequests.map(bidRequest => {
var subId = utils.getBidIdParameter('subId', bidRequest.params);
From 4a149cf39e88522cc414c1606871c2777c52b3c4 Mon Sep 17 00:00:00 2001
From: Jimmy Tu
Date: Tue, 1 May 2018 07:06:14 -0700
Subject: [PATCH 110/171] OpenX Adapter: Support out of order bids. (#2452)
* OpenX Adapter: Support out of order bids.
* OpenX Adapter Spec: Updated overrideKeyCheck to use Chai assertion, which throws an AssertionError, so that it will be caught properly by test suite when an invalid override is provided.
---
modules/openxBidAdapter.js | 38 +-
test/spec/modules/openxBidAdapter_spec.js | 549 ++++++++++++++++++----
2 files changed, 456 insertions(+), 131 deletions(-)
diff --git a/modules/openxBidAdapter.js b/modules/openxBidAdapter.js
index bc00242b3e3..1cc312da273 100644
--- a/modules/openxBidAdapter.js
+++ b/modules/openxBidAdapter.js
@@ -70,21 +70,10 @@ function createBannerBidResponses(oxResponseObj, {bids, startTime}) {
}
for (let i = 0; i < adUnits.length; i++) {
let adUnit = adUnits[i];
+ let adUnitIdx = parseInt(adUnit.idx, 10);
let bidResponse = {};
- if (adUnits.length === bids.length) {
- // request and response length match, directly assign the request id based on positioning
- bidResponse.requestId = bids[i].bidId;
- } else {
- for (let j = i; j < bids.length; j++) {
- let bid = bids[j];
- if (String(bid.params.unit) === String(adUnit.adunitid) && adUnitHasValidSizeFromBid(adUnit, bid) && !bid.matched) {
- // ad unit and size match, this is the correct bid response to bid
- bidResponse.requestId = bid.bidId;
- bid.matched = true;
- break;
- }
- }
- }
+
+ bidResponse.requestId = bids[adUnitIdx].bidId;
if (adUnit.pub_rev) {
bidResponse.cpm = Number(adUnit.pub_rev) / 1000;
@@ -134,27 +123,6 @@ function buildQueryStringFromParams(params) {
.join('&');
}
-function adUnitHasValidSizeFromBid(adUnit, bid) {
- let sizes = utils.parseSizesInput(bid.sizes);
- if (!sizes) {
- return false;
- }
- let found = false;
- let creative = adUnit.creative && adUnit.creative[0];
- let creative_size = String(creative.width) + 'x' + String(creative.height);
-
- if (utils.isArray(sizes)) {
- for (let i = 0; i < sizes.length; i++) {
- let size = sizes[i];
- if (String(size) === String(creative_size)) {
- found = true;
- break;
- }
- }
- }
- return found;
-}
-
function getViewportDimensions(isIfr) {
let width;
let height;
diff --git a/test/spec/modules/openxBidAdapter_spec.js b/test/spec/modules/openxBidAdapter_spec.js
index 35146542375..b763c111998 100644
--- a/test/spec/modules/openxBidAdapter_spec.js
+++ b/test/spec/modules/openxBidAdapter_spec.js
@@ -2,6 +2,7 @@ import {expect} from 'chai';
import {spec} from 'modules/openxBidAdapter';
import {newBidder} from 'src/adapters/bidderFactory';
import {userSync} from 'src/userSync';
+import * as utils from 'src/utils';
const URLBASE = '/w/1.0/arj';
const URLBASEVIDEO = '/v/1.0/avjp';
@@ -9,6 +10,116 @@ const URLBASEVIDEO = '/v/1.0/avjp';
describe('OpenxAdapter', () => {
const adapter = newBidder(spec);
+ /**
+ * Type Definitions
+ */
+
+ /**
+ * @typedef {{
+ * impression: string,
+ * inview: string,
+ * click: string
+ * }}
+ */
+ let OxArjTracking;
+ /**
+ * @typedef {{
+ * ads: {
+ * version: number,
+ * count: number,
+ * pixels: string,
+ * ad: Array
+ * }
+ * }}
+ */
+ let OxArjResponse;
+ /**
+ * @typedef {{
+ * adunitid: number,
+ * adid:number,
+ * type: string,
+ * htmlz: string,
+ * framed: number,
+ * is_fallback: number,
+ * ts: string,
+ * cpipc: number,
+ * pub_rev: string,
+ * tbd: ?string,
+ * adv_id: string,
+ * deal_id: string,
+ * auct_win_is_deal: number,
+ * brand_id: string,
+ * currency: string,
+ * idx: string,
+ * creative: Array
+ * }}
+ */
+ let OxArjAdUnit;
+ /**
+ * @typedef {{
+ * id: string,
+ * width: string,
+ * height: string,
+ * target: string,
+ * mime: string,
+ * media: string,
+ * tracking: OxArjTracking
+ * }}
+ */
+ let OxArjCreative;
+
+ // HELPER METHODS
+ /**
+ * @type {OxArjCreative}
+ */
+ const DEFAULT_TEST_ARJ_CREATIVE = {
+ id: '0',
+ width: 'test-width',
+ height: 'test-height',
+ target: 'test-target',
+ mime: 'test-mime',
+ media: 'test-media',
+ tracking: {
+ impression: 'test-impression',
+ inview: 'test-inview',
+ click: 'test-click'
+ }
+ };
+
+ /**
+ * @type {OxArjAdUnit}
+ */
+ const DEFAULT_TEST_ARJ_AD_UNIT = {
+ adunitid: 0,
+ type: 'test-type',
+ html: 'test-html',
+ framed: 0,
+ is_fallback: 0,
+ ts: 'test-ts',
+ tbd: 'NaN',
+ deal_id: undefined,
+ auct_win_is_deal: undefined,
+ cpipc: 0,
+ pub_rev: 'test-pub_rev',
+ adv_id: 'test-adv_id',
+ brand_id: 'test-brand_id',
+ currency: 'test-currency',
+ idx: '0',
+ creative: [DEFAULT_TEST_ARJ_CREATIVE]
+ };
+
+ /**
+ * @type {OxArjResponse}
+ */
+ const DEFAULT_ARJ_RESPONSE = {
+ ads: {
+ version: 0,
+ count: 1,
+ pixels: 'http://testpixels.net',
+ ad: [DEFAULT_TEST_ARJ_AD_UNIT]
+ }
+ };
+
describe('inherited functions', () => {
it('exists and is a function', () => {
expect(adapter.callBids).to.exist.and.to.be.a('function');
@@ -53,12 +164,14 @@ describe('OpenxAdapter', () => {
bidder: 'openx',
params: {
unit: '12345678',
- delDomain: 'test-del-domain',
+ delDomain: 'test-del-domain'
},
adUnitCode: 'adunit-code',
- mediaTypes: {video: {
- playerSize: [640, 480]
- }},
+ mediaTypes: {
+ video: {
+ playerSize: [640, 480]
+ }
+ },
bidId: '30b31c1838de1e',
bidderRequestId: '22edbae2733bf6',
auctionId: '1d1a030790a475',
@@ -302,7 +415,7 @@ describe('OpenxAdapter', () => {
},
'params': {
'unit': '12345678',
- 'delDomain': 'test-del-domain',
+ 'delDomain': 'test-del-domain'
},
'adUnitCode': 'adunit-code',
'bidId': '30b31c1838de1e',
@@ -384,101 +497,275 @@ describe('OpenxAdapter', () => {
userSync.registerSync.restore();
});
- const bids = [{
- 'bidder': 'openx',
- 'params': {
- 'unit': '12345678',
- 'delDomain': 'test-del-domain'
- },
- 'adUnitCode': 'adunit-code',
- 'mediaType': 'banner',
- 'sizes': [[300, 250], [300, 600]],
- 'bidId': '30b31c1838de1e',
- 'bidderRequestId': '22edbae2733bf6',
- 'auctionId': '1d1a030790a475'
- }];
- const bidRequest = {
- method: 'GET',
- url: '//openx-d.openx.net/v/1.0/arj',
- data: {},
- payload: {'bids': bids, 'startTime': new Date()}
- };
-
- const bidResponse = {
- 'ads':
- {
- 'version': 1,
- 'count': 1,
- 'pixels': 'http://testpixels.net',
- 'ad': [
- {
- 'adunitid': 12345678,
- 'adid': 5678,
- 'type': 'html',
- 'html': 'test_html',
- 'framed': 1,
- 'is_fallback': 0,
- 'ts': 'ts',
- 'cpipc': 1000,
- 'pub_rev': '1000',
- 'adv_id': 'adv_id',
- 'brand_id': '',
- 'creative': [
- {
- 'width': '300',
- 'height': '250',
- 'target': '_blank',
- 'mime': 'text/html',
- 'media': 'test_media',
- 'tracking': {
- 'impression': 'http://openx-d.openx.net/v/1.0/ri?ts=ts',
- 'inview': 'test_inview',
- 'click': 'test_click'
- }
- }
- ]
- }]
+ describe('when there is a standard response', function () {
+ const creativeOverride = {
+ id: 234,
+ width: '300',
+ height: '250',
+ tracking: {
+ impression: 'http://openx-d.openx.net/v/1.0/ri?ts=ts'
}
+ };
- };
- it('should return correct bid response', () => {
- const expectedResponse = [
- {
- 'requestId': '30b31c1838de1e',
- 'cpm': 1,
- 'width': '300',
- 'height': '250',
- 'creativeId': 5678,
- 'ad': 'test_html',
- 'ttl': 300,
- 'netRevenue': true,
- 'currency': 'USD',
- 'ts': 'ts'
- }
- ];
+ const adUnitOverride = {
+ ts: 'test-1234567890-ts',
+ idx: '0',
+ currency: 'USD',
+ pub_rev: '10000',
+ html: 'OpenX Ad
'
+ };
+ let adUnit;
+ let bidResponse;
+
+ let bid;
+ let bidRequest;
+ let bidRequestConfigs;
+
+ beforeEach(function () {
+ bidRequestConfigs = [{
+ 'bidder': 'openx',
+ 'params': {
+ 'unit': '12345678',
+ 'delDomain': 'test-del-domain'
+ },
+ 'adUnitCode': 'adunit-code',
+ 'mediaType': 'banner',
+ 'sizes': [[300, 250], [300, 600]],
+ 'bidId': '30b31c1838de1e',
+ 'bidderRequestId': '22edbae2733bf6',
+ 'auctionId': '1d1a030790a475'
+ }];
+
+ bidRequest = {
+ method: 'GET',
+ url: '//openx-d.openx.net/v/1.0/arj',
+ data: {},
+ payload: {'bids': bidRequestConfigs, 'startTime': new Date()}
+ };
+
+ adUnit = mockAdUnit(adUnitOverride, creativeOverride);
+ bidResponse = mockArjResponse(undefined, [adUnit]);
+ bid = spec.interpretResponse({body: bidResponse}, bidRequest)[0];
+ });
+
+ it('should return a price', function () {
+ expect(bid.cpm).to.equal(parseInt(adUnitOverride.pub_rev, 10) / 1000);
+ });
+
+ it('should return a request id', function () {
+ expect(bid.requestId).to.equal(bidRequest.payload.bids[0].bidId);
+ });
+
+ it('should return width and height for the creative', function () {
+ expect(bid.width).to.equal(creativeOverride.width);
+ expect(bid.height).to.equal(creativeOverride.height);
+ });
+
+ it('should return a creativeId', function () {
+ expect(bid.creativeId).to.equal(creativeOverride.id);
+ });
+
+ it('should return an ad', function () {
+ expect(bid.ad).to.equal(adUnitOverride.html);
+ });
+
+ it('should have a time-to-live of 5 minutes', function () {
+ expect(bid.ttl).to.equal(300);
+ });
- const result = spec.interpretResponse({body: bidResponse}, bidRequest);
- expect(Object.keys(result[0])).to.eql(Object.keys(expectedResponse[0]));
+ it('should always return net revenue', function () {
+ expect(bid.netRevenue).to.equal(true);
+ });
+
+ it('should return a currency', function () {
+ expect(bid.currency).to.equal(adUnitOverride.currency);
+ });
+
+ it('should return a transaction state', function () {
+ expect(bid.ts).to.equal(adUnitOverride.ts);
+ });
+
+ it('should register a beacon', () => {
+ spec.interpretResponse({body: bidResponse}, bidRequest);
+ sinon.assert.calledWith(userSync.registerSync, 'image', 'openx', sinon.match(new RegExp(`\/\/openx-d\.openx\.net.*\/bo\?.*ts=${adUnitOverride.ts}`)));
+ });
});
- it('handles nobid responses', () => {
- const bidResponse = {
- 'ads':
- {
- 'version': 1,
- 'count': 1,
- 'pixels': 'http://testpixels.net',
- 'ad': []
- }
+ describe('when there is a deal', function () {
+ const adUnitOverride = {
+ deal_id: 'ox-1000'
};
+ let adUnit;
+ let bidResponse;
- const result = spec.interpretResponse({body: bidResponse}, bidRequest);
- expect(result.length).to.equal(0);
+ let bid;
+ let bidRequestConfigs;
+ let bidRequest;
+
+ beforeEach(function () {
+ bidRequestConfigs = [{
+ 'bidder': 'openx',
+ 'params': {
+ 'unit': '12345678',
+ 'delDomain': 'test-del-domain'
+ },
+ 'adUnitCode': 'adunit-code',
+ 'mediaType': 'banner',
+ 'sizes': [[300, 250], [300, 600]],
+ 'bidId': '30b31c1838de1e',
+ 'bidderRequestId': '22edbae2733bf6',
+ 'auctionId': '1d1a030790a475'
+ }];
+
+ bidRequest = {
+ method: 'GET',
+ url: '//openx-d.openx.net/v/1.0/arj',
+ data: {},
+ payload: {'bids': bidRequestConfigs, 'startTime': new Date()}
+ };
+ adUnit = mockAdUnit(adUnitOverride);
+ bidResponse = mockArjResponse(null, [adUnit]);
+ bid = spec.interpretResponse({body: bidResponse}, bidRequest)[0];
+ mockArjResponse();
+ });
+
+ it('should return a deal id', function () {
+ expect(bid.dealId).to.equal(adUnitOverride.deal_id);
+ });
});
- it('should register a beacon', () => {
- spec.interpretResponse({body: bidResponse}, bidRequest);
- sinon.assert.calledWith(userSync.registerSync, 'image', 'openx', sinon.match(/\/\/openx-d\.openx\.net.*\/bo\?.*ts=ts/));
+ describe('when there is no bids in the response', function () {
+ let bidRequest;
+ let bidRequestConfigs;
+
+ beforeEach(function () {
+ bidRequestConfigs = [{
+ 'bidder': 'openx',
+ 'params': {
+ 'unit': '12345678',
+ 'delDomain': 'test-del-domain'
+ },
+ 'adUnitCode': 'adunit-code',
+ 'mediaType': 'banner',
+ 'sizes': [[300, 250], [300, 600]],
+ 'bidId': '30b31c1838de1e',
+ 'bidderRequestId': '22edbae2733bf6',
+ 'auctionId': '1d1a030790a475'
+ }];
+
+ bidRequest = {
+ method: 'GET',
+ url: '//openx-d.openx.net/v/1.0/arj',
+ data: {},
+ payload: {'bids': bidRequestConfigs, 'startTime': new Date()}
+ };
+ });
+
+ it('handles nobid responses', () => {
+ const bidResponse = {
+ 'ads':
+ {
+ 'version': 1,
+ 'count': 1,
+ 'pixels': 'http://testpixels.net',
+ 'ad': []
+ }
+ };
+
+ const result = spec.interpretResponse({body: bidResponse}, bidRequest);
+ expect(result.length).to.equal(0);
+ });
+ });
+
+ describe('when adunits return out of order', function () {
+ const bidRequests = [{
+ bidder: 'openx',
+ params: {
+ unit: '12345678',
+ delDomain: 'test-del-domain'
+ },
+ adUnitCode: 'adunit-code',
+ mediaTypes: {
+ banner: {
+ sizes: [[100, 111]]
+ }
+ },
+ bidId: 'test-bid-request-id-1',
+ bidderRequestId: 'test-request-1',
+ auctionId: 'test-auction-id-1'
+ }, {
+ bidder: 'openx',
+ params: {
+ unit: '12345678',
+ delDomain: 'test-del-domain'
+ },
+ adUnitCode: 'adunit-code',
+ mediaTypes: {
+ banner: {
+ sizes: [[200, 222]]
+ }
+ },
+ bidId: 'test-bid-request-id-2',
+ bidderRequestId: 'test-request-1',
+ auctionId: 'test-auction-id-1'
+ }, {
+ bidder: 'openx',
+ params: {
+ unit: '12345678',
+ delDomain: 'test-del-domain'
+ },
+ adUnitCode: 'adunit-code',
+ mediaTypes: {
+ banner: {
+ sizes: [[300, 333]]
+ }
+ },
+ 'bidId': 'test-bid-request-id-3',
+ 'bidderRequestId': 'test-request-1',
+ 'auctionId': 'test-auction-id-1'
+ }];
+ const bidRequest = {
+ method: 'GET',
+ url: '//openx-d.openx.net/v/1.0/arj',
+ data: {},
+ payload: {'bids': bidRequests, 'startTime': new Date()}
+ };
+
+ let outOfOrderAdunits = [
+ mockAdUnit({
+ idx: '1'
+ }, {
+ width: bidRequests[1].mediaTypes.banner.sizes[0][0],
+ height: bidRequests[1].mediaTypes.banner.sizes[0][1]
+ }),
+ mockAdUnit({
+ idx: '2'
+ }, {
+ width: bidRequests[2].mediaTypes.banner.sizes[0][0],
+ height: bidRequests[2].mediaTypes.banner.sizes[0][1]
+ }),
+ mockAdUnit({
+ idx: '0'
+ }, {
+ width: bidRequests[0].mediaTypes.banner.sizes[0][0],
+ height: bidRequests[0].mediaTypes.banner.sizes[0][1]
+ })
+ ];
+
+ let bidResponse = mockArjResponse(undefined, outOfOrderAdunits);
+
+ it('should return map adunits back to the proper request', function () {
+ const bids = spec.interpretResponse({body: bidResponse}, bidRequest);
+ expect(bids[0].requestId).to.equal(bidRequests[1].bidId);
+ expect(bids[0].width).to.equal(bidRequests[1].mediaTypes.banner.sizes[0][0]);
+ expect(bids[0].height).to.equal(bidRequests[1].mediaTypes.banner.sizes[0][1]);
+ expect(bids[1].requestId).to.equal(bidRequests[2].bidId);
+ expect(bids[1].width).to.equal(bidRequests[2].mediaTypes.banner.sizes[0][0]);
+ expect(bids[1].height).to.equal(bidRequests[2].mediaTypes.banner.sizes[0][1]);
+ expect(bids[2].requestId).to.equal(bidRequests[0].bidId);
+ expect(bids[2].width).to.equal(bidRequests[0].mediaTypes.banner.sizes[0][0]);
+ expect(bids[2].height).to.equal(bidRequests[0].mediaTypes.banner.sizes[0][1]);
+ });
});
});
@@ -615,18 +902,88 @@ describe('OpenxAdapter', () => {
it('should register the pixel iframe from video ad response', () => {
let syncs = spec.getUserSyncs(
- { iframeEnabled: true },
- [{ body: { pixels: syncUrl } }]
+ {iframeEnabled: true},
+ [{body: {pixels: syncUrl}}]
);
- expect(syncs).to.deep.equal([{ type: 'iframe', url: syncUrl }]);
+ expect(syncs).to.deep.equal([{type: 'iframe', url: syncUrl}]);
});
it('should register the default iframe if no pixels available', () => {
let syncs = spec.getUserSyncs(
- { iframeEnabled: true },
+ {iframeEnabled: true},
[]
);
- expect(syncs).to.deep.equal([{ type: 'iframe', url: '//u.openx.net/w/1.0/pd' }]);
+ expect(syncs).to.deep.equal([{type: 'iframe', url: '//u.openx.net/w/1.0/pd'}]);
});
});
+
+ /**
+ * Makes sure the override object does not introduce
+ * new fields against the contract
+ *
+ * This does a shallow check in order to make key checking simple
+ * with respect to what a helper handles. For helpers that have
+ * nested fields, either check your design on maybe breaking it up
+ * to smaller, manageable pieces
+ *
+ * OR just call this on your nth level field if necessary.
+ *
+ * @param {Object} override Object with keys that overrides the default
+ * @param {Object} contract Original object contains the default fields
+ * @param {string} typeName Name of the type we're checking for error messages
+ * @throws {AssertionError}
+ */
+ function overrideKeyCheck(override, contract, typeName) {
+ expect(contract).to.include.all.keys(Object.keys(override));
+ }
+
+ /**
+ * Creates a mock ArjResponse
+ * @param {OxArjResponse=} response
+ * @param {Array=} adUnits
+ * @throws {AssertionError}
+ * @return {OxArjResponse}
+ */
+ function mockArjResponse(response, adUnits = []) {
+ let mockedArjResponse = utils.deepClone(DEFAULT_ARJ_RESPONSE);
+
+ if (response) {
+ overrideKeyCheck(response, DEFAULT_ARJ_RESPONSE, 'OxArjResponse');
+ overrideKeyCheck(response.ads, DEFAULT_ARJ_RESPONSE.ads, 'OxArjResponse');
+ Object.assign(mockedArjResponse, response);
+ }
+
+ if (adUnits.length) {
+ mockedArjResponse.ads.count = adUnits.length;
+ mockedArjResponse.ads.ad = adUnits.map((adUnit, index) => {
+ overrideKeyCheck(adUnit, DEFAULT_TEST_ARJ_AD_UNIT, 'OxArjAdUnit');
+ return Object.assign(utils.deepClone(DEFAULT_TEST_ARJ_AD_UNIT), adUnit);
+ });
+ }
+
+ return mockedArjResponse;
+ }
+
+ /**
+ * Creates a mock ArjAdUnit
+ * @param {OxArjAdUnit=} adUnit
+ * @param {OxArjCreative=} creative
+ * @throws {AssertionError}
+ * @return {OxArjAdUnit}
+ */
+ function mockAdUnit(adUnit, creative) {
+ overrideKeyCheck(adUnit, DEFAULT_TEST_ARJ_AD_UNIT, 'OxArjAdUnit');
+
+ let mockedAdUnit = Object.assign(utils.deepClone(DEFAULT_TEST_ARJ_AD_UNIT), adUnit);
+
+ if (creative) {
+ overrideKeyCheck(creative, DEFAULT_TEST_ARJ_CREATIVE);
+ if (creative.tracking) {
+ overrideKeyCheck(creative.tracking, DEFAULT_TEST_ARJ_CREATIVE.tracking, 'OxArjCreative');
+ }
+ Object.assign(mockedAdUnit.creative[0], creative);
+ }
+
+ return mockedAdUnit;
+ }
});
From 247ea80e7f1da07d2847db64248f949de35a9ef4 Mon Sep 17 00:00:00 2001
From: jsnellbaker <31102355+jsnellbaker@users.noreply.github.com>
Date: Tue, 1 May 2018 10:07:26 -0400
Subject: [PATCH 111/171] GDPR consentManagement module (#2213)
* initial commit
* wip update 2
* wip update 3
* example
* clean up
* wip update 3
* hook setup for callBids
* wip update 4
* changed gdpr code to be async-like
* cleaned up the callback chain
* added iab cmp detection logic
* moved hook, reverted unit test changes, and restructed gdpr module
* renaming module from gdpr to consentManagement
* prebidserver adatper update, additional changes in module
* updated unit tests for all areas, updates to module logic and structure of consent data
* adding missing default value
* removing accidentally committed load time testing code
* changes to layout of consentManagement code and other items based on feedback
* moved unit test to different location
* finished incomplete unit test in appnexusBidAdapter_spec file
* altered CMP function call logic
* refactored consentManagement AN lookup function and added gdprDataHandler to help transfer data in auction
* some minor cleanup from previous commit
* change spacing to try to fix travis issue
* added scenario to support consentTimeout=0 skip setTimeout
* updated some comments
* refactored exit logic for module
* added support for consentRequired field in config
* remove internal consentRequired default
* minor comment fixes
* comment fixes that should be have part of last commit
* fix includes issue and added gdprConsent to getUserSyncs function
* renamed default CMP and config field to cmpApi
* wip - using postmessage to call cmp
* postMessage workflow added, removed CMP eventlistener check
* removed if statement
* cleanup; removed variable and unneeded comments
* add gdpr tests pages
* updates for 1.1 CMP spec
* remove rogue debugger in unit test
* restructured 1.1 CMP iframe code, renamed utils function, cleaned up unit tests
* GDPR support in adform adapter (#2396)
* bid response adId same as bidId
* test
* update adform bid adapter
* update unit tests
* Added adform adapter description file
* updated tests
* Another tests update
* Add auctionId
* Update adapter for auctionId
* add auctionId to adformBidAdapter
* Final updates to fit 1.0 version
* update docs and integration example
* Do not mutate original validBidRequests
* use atob and btoa instead of custom made module
* Renaming one query string parameter
* XDomainRequest.send exception fix (#1942)
* Added YIELDONE Bid Adapter for Prebid.js 1.0 (#1900)
* Added YIELDONE Bid Adapter for Prebid.js 1.0
* Update yieldoneBidAdapter.md
change placementId to 44082
* Changed to get size from bid.sizes
* fix sizes array
* Add user-facing docs reminder to PR template (#1956)
* allow non-mappable sizes to be passed and used in rubicon adapter (#1893)
* Typo correction of YIELDONE md file (#1954)
* Added YIELDONE Bid Adapter for Prebid.js 1.0
* Update yieldoneBidAdapter.md
change placementId to 44082
* Changed to get size from bid.sizes
* fix sizes array
* Fix a typo
* Serverbid bid adapter: update alias config (#1963)
* use auctionId instead of requestId (#1968)
* Add freewheel ssp bidder adapter for prebid 1.0 (#1793)
* add stickyadsTV bidder adapter
* init unit test file
* ad some unit tests
* fix unit test on ad format with parameters
* add some unit tests
* add unit tests on getBid method
* add some test cases in unit tests
* minor fix on component id tag.
* remove adapters-sticky.json test file
* use top most accessible window instead of window.top
* Pass in the bid request in the createBid call.
* use top most accessible window instead of window.top
* add unit tests
* update unit tests
* fix unit test.
* fix CI build
* add alias freewheel-ssp
* update unit tests on bidderCode value
* fix component id values and add unit tests
* allws to use any outstream format.
* fix ASLoader on futur outstream format versions
* minor: fix code format.
* update unit tests
* minor fix code format
* minor: add missing new line at eof
* replace StickyAdsTVAdapter by freewheel ssp bd adapter (for prebid 1.0)
* remove old stickyadstv unittest spec.
* fix server response parsing if sent as object with 'body' field
* use the vastXml field for video mediatype
* add user sync pixel in freewheel ssp adapter
* remove all console log calls (replaced using util helper)
* remove useless bidderCode (automatically added by the bidderFactory)
* Return the SYNC pixel to be added in the page by Prebid.js
* remove instance level properties to enable concurrent bids with the same adapter instance.
* fix the request apss through and corresponding unit tests
* fix 'freeheelssp' typo
* + fixed endpoint request data property names - width to w and height to h (#1955)
+ updated unit test for the adapter to comply with the property name changes
* Added iQM Bid Adapter for Prebid.js 1.0 (#1880)
* Added iQM Bid Adapter for Prebid.js 1.0
* Modified URL from http to https
* Removed geo function which was fetching user location.
* Remove stray console.log (#1975)
* Remove duplicate request id and fix empty response from getHighesCpmBids, getAdserverTargeting (#1970)
* Removed requestId and added auctionId
* Updated module fixtures to use auctionId and not requestId
* remove request id from external bid object and fix bug for empty result in public api
* use auctionId instead of requestId
* fixed lint errors
* [Add BidAdapter] rxrtb adapter for Perbid.js 1.0 (#1950)
* Add: rxrtb prebidAdapter
* Update: params for test
* Update: code format
* Update: code format
* Update: code format
* ServerBid Server BidAdapter (#1819)
* ServerBid Server BidAdapter
Allow S2S configuration with ServerBid.
* Updates to meet 1.0 callBids/config changes.
* Fix linting issues.
* added hb_source to default keys (#1969)
* added hb_source
* dropped function to add hb_source since it is now default key
* fixed lint error
* Prebid 1.1.0 Release
* Increment pre version
* S2s defaults fix in serverbidServerBidAdapter (#1986)
* removed s2s defaults
* start timestamp was missing on s2s requests
* remove hardcoded localhost port for tests (#1988)
* Fixes unit tests in browsers other than chrome (#1987)
* Fixes unit tests in browsers other than chrome
* fixed lint errors
* Prebid 1.1.1 Release
* Add note about docs needed before merge (#1959)
* Add note about docs needed before merge
* Update pr_review.md
* Update pr_review.md
* Update pr_review.md
* Adding optional width and height to display parameters (#1998)
* adding optional size
* no tabs
* TrustX adapter update (#1979)
* Add trustx adapter and tests for it
* update integration example
* Update trustx adapter
* Post-review fixes of Trustx adapter
* Code improvement for trustx adapter: changed default price type from gross to net
* Update TrustX adapter to support the 1.0 version
* Make requested changes for TrustX adapter
* Updated markdown file for TrustX adapter
* Fix TrustX adapter and spec file
* Update TrustX adapter: r parameter was added to ad request as cache buster
* Serverbid Bid Adapter: Add new ad sizes (#1983)
* Added dynamic ttl property for One Display and One Mobile. (#2004)
* pin gulp-connect at non-broken version (#2008)
* pin gulp-connect at non-broken version
* updated yarn.lock to specify pinned gulp-connect
* Gjirafa Bidder Adapter (#1944)
* Added Gjirafa adapter
* Add gjirafa adapter unit test
* adapter update
* New line
* Requested changes
* change hello_world.html to one bid
* change hello_world.html to one bid
* Dropping changes in gitignore and hello_world example
* hello_world changes
* Drop hello_world and gitignore
* multiformat size validation checks (#1964)
* initial commit for multiformat size validation checks
* adding unit tests and changes to checkBidRequestSizes function
* updates to appnexusBidAdapter
* Upgrade Admixer adapter for Prebid 1.0 (#1755)
* Migrating to Prebid 1.0
* Migrating to Prebid 1.0
* Fix spec
* Add NasmediaAdmixer adapter for Perbid.js 1.0 (#1937)
* add NasmediaAdmixer adapter for Perbid.js 1.0
* add NasmediaAdmixer adapter for Perbid.js 1.0
* add NasmediaAdmixer adapter for Perbid.js 1.0
* add NasmediaAdmixer adapter for Perbid.js 1.0
* add NasmediaAdmixer adapter for Perbid.js 1.0
* add NasmediaAdmixer adapter for Perbid.js 1.0
* Added gdpr to adform adapter
* Added unit tests
* Updated spacing
* Update gdprConsent object due to changes in spec
* Add gdpr support for PubMaticBidAdapter (#2469)
* GDPR support for AOL adapter (#2443)
* Added GDPR support for AOL adapter.
* Added unit tests for AOL GDPR changes.
* Added utils for resolving object type and undefined.
* Fixed issues caused by merge.
* Made changes in AOL adapter to support gdprApplies flag.
* Removed bid floor value from test bid config.
* removing iframe example pages
* comment updates
---
integrationExamples/gpt/gdpr_hello_world.html | 103 ++++++
modules/adformBidAdapter.js | 7 +-
modules/aolBidAdapter.js | 335 ++++++++++--------
modules/aolBidAdapter.md | 1 -
modules/appnexusBidAdapter.js | 9 +
modules/consentManagement.js | 278 +++++++++++++++
modules/pre1api.js | 2 +-
modules/prebidServerBidAdapter.js | 35 +-
modules/pubmaticBidAdapter.js | 42 ++-
src/adaptermanager.js | 16 +
src/adapters/bidderFactory.js | 6 +-
src/utils.js | 5 +
test/spec/modules/adformBidAdapter_spec.js | 9 +
test/spec/modules/aolBidAdapter_spec.js | 128 ++++++-
test/spec/modules/appnexusBidAdapter_spec.js | 26 +-
test/spec/modules/consentManagement_spec.js | 292 +++++++++++++++
.../modules/prebidServerBidAdapter_spec.js | 33 ++
test/spec/modules/pubmaticBidAdapter_spec.js | 63 +++-
test/spec/unit/core/adapterManager_spec.js | 260 ++++++++------
test/spec/utils_spec.js | 27 ++
20 files changed, 1390 insertions(+), 287 deletions(-)
create mode 100644 integrationExamples/gpt/gdpr_hello_world.html
create mode 100644 modules/consentManagement.js
create mode 100644 test/spec/modules/consentManagement_spec.js
diff --git a/integrationExamples/gpt/gdpr_hello_world.html b/integrationExamples/gpt/gdpr_hello_world.html
new file mode 100644
index 00000000000..9f6194edb16
--- /dev/null
+++ b/integrationExamples/gpt/gdpr_hello_world.html
@@ -0,0 +1,103 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Prebid.js Test
+ Div-1
+
+
+
+
+
\ No newline at end of file
diff --git a/modules/adformBidAdapter.js b/modules/adformBidAdapter.js
index 10a4696d755..a84def819c1 100644
--- a/modules/adformBidAdapter.js
+++ b/modules/adformBidAdapter.js
@@ -10,7 +10,7 @@ export const spec = {
isBidRequestValid: function (bid) {
return !!(bid.params.mid);
},
- buildRequests: function (validBidRequests) {
+ buildRequests: function (validBidRequests, bidderRequest) {
var i, l, j, k, bid, _key, _value, reqParams, netRevenue;
var request = [];
var globalParams = [ [ 'adxDomain', 'adx.adform.net' ], [ 'fd', 1 ], [ 'url', null ], [ 'tid', null ] ];
@@ -38,6 +38,11 @@ export const spec = {
request.push('pt=' + netRevenue);
request.push('stid=' + validBidRequests[0].auctionId);
+ if (bidderRequest && bidderRequest.gdprConsent) {
+ request.push('gdpr=' + bidderRequest.gdprConsent.gdprApplies);
+ request.push('gdpr_consent=' + bidderRequest.gdprConsent.consentString);
+ }
+
for (i = 1, l = globalParams.length; i < l; i++) {
_key = globalParams[i][0];
_value = globalParams[i][1];
diff --git a/modules/aolBidAdapter.js b/modules/aolBidAdapter.js
index 0fb5aa1a4d3..18d30685c56 100644
--- a/modules/aolBidAdapter.js
+++ b/modules/aolBidAdapter.js
@@ -2,6 +2,7 @@ import * as utils from 'src/utils';
import { registerBidder } from 'src/adapters/bidderFactory';
import { config } from 'src/config';
import { EVENTS } from 'src/constants.json';
+import { BANNER } from 'src/mediaTypes';
const AOL_BIDDERS_CODES = {
AOL: 'aol',
@@ -30,9 +31,9 @@ const SYNC_TYPES = {
}
};
-const pubapiTemplate = template`//${'host'}/pubapi/3.0/${'network'}/${'placement'}/${'pageid'}/${'sizeid'}/ADTECH;v=2;cmd=bid;cors=yes;alias=${'alias'}${'bidfloor'}${'keyValues'};misc=${'misc'}`;
+const pubapiTemplate = template`//${'host'}/pubapi/3.0/${'network'}/${'placement'}/${'pageid'}/${'sizeid'}/ADTECH;v=2;cmd=bid;cors=yes;alias=${'alias'};misc=${'misc'}${'bidfloor'}${'keyValues'}${'consentData'}`;
const nexageBaseApiTemplate = template`//${'host'}/bidRequest?`;
-const nexageGetApiTemplate = template`dcn=${'dcn'}&pos=${'pos'}&cmd=bid${'ext'}`;
+const nexageGetApiTemplate = template`dcn=${'dcn'}&pos=${'pos'}&cmd=bid${'dynamicParams'}`;
const MP_SERVER_MAP = {
us: 'adserver-us.adtech.advertising.com',
eu: 'adserver-eu.adtech.advertising.com',
@@ -46,10 +47,10 @@ $$PREBID_GLOBAL$$.aolGlobals = {
pixelsDropped: false
};
-let showCpmAdjustmentWarning = (function () {
+let showCpmAdjustmentWarning = (function() {
let showCpmWarning = true;
- return function () {
+ return function() {
let bidderSettings = $$PREBID_GLOBAL$$.bidderSettings;
if (showCpmWarning && bidderSettings && bidderSettings.aol &&
typeof bidderSettings.aol.bidCpmAdjustment === 'function') {
@@ -62,28 +63,18 @@ let showCpmAdjustmentWarning = (function () {
};
})();
-function isInteger(value) {
- return typeof value === 'number' &&
- isFinite(value) &&
- Math.floor(value) === value;
-}
-
function template(strings, ...keys) {
return function(...values) {
let dict = values[values.length - 1] || {};
let result = [strings[0]];
keys.forEach(function(key, i) {
- let value = isInteger(key) ? values[key] : dict[key];
+ let value = utils.isInteger(key) ? values[key] : dict[key];
result.push(value, strings[i + 1]);
});
return result.join('');
};
}
-function isSecureProtocol() {
- return document.location.protocol === 'https:';
-}
-
function parsePixelItems(pixels) {
let itemsRegExp = /(img|iframe)[\s\S]*?src\s*=\s*("|')(.*?)\2/gi;
let tagNameRegExp = /\w*(?=\s)/;
@@ -110,39 +101,6 @@ function parsePixelItems(pixels) {
return pixelsItems;
}
-function _buildMarketplaceUrl(bid) {
- const params = bid.params;
- const serverParam = params.server;
- let regionParam = params.region || 'us';
- let server;
-
- if (!MP_SERVER_MAP.hasOwnProperty(regionParam)) {
- utils.logWarn(`Unknown region '${regionParam}' for AOL bidder.`);
- regionParam = 'us'; // Default region.
- }
-
- if (serverParam) {
- server = serverParam;
- } else {
- server = MP_SERVER_MAP[regionParam];
- }
-
- // Set region param, used by AOL analytics.
- params.region = regionParam;
-
- return pubapiTemplate({
- host: server,
- network: params.network,
- placement: parseInt(params.placement),
- pageid: params.pageId || 0,
- sizeid: params.sizeId || 0,
- alias: params.alias || utils.getUniqueIdentifierStr(),
- bidfloor: formatMarketplaceBidFloor(params.bidFloor),
- keyValues: formatMarketplaceKeyValues(params.keyValues),
- misc: new Date().getTime() // cache busting
- });
-}
-
function formatMarketplaceBidFloor(bidFloor) {
return (typeof bidFloor !== 'undefined') ? `;bidfloor=${bidFloor.toString()}` : '';
}
@@ -157,39 +115,16 @@ function formatMarketplaceKeyValues(keyValues) {
return formattedKeyValues;
}
-function _buildOneMobileBaseUrl(bid) {
- return nexageBaseApiTemplate({
- host: bid.params.host || NEXAGE_SERVER
- });
-}
-
-function _buildOneMobileGetUrl(bid) {
- let {dcn, pos} = bid.params;
- let nexageApi = _buildOneMobileBaseUrl(bid);
- if (dcn && pos) {
- let ext = '';
- if (isSecureProtocol()) {
- bid.params.ext = bid.params.ext || {};
- bid.params.ext.secure = 1;
- }
- utils._each(bid.params.ext, (value, key) => {
- ext += `&${key}=${encodeURIComponent(value)}`;
- });
- nexageApi += nexageGetApiTemplate({dcn, pos, ext});
- }
- return nexageApi;
-}
-
function _isMarketplaceBidder(bidder) {
return bidder === AOL_BIDDERS_CODES.AOL || bidder === AOL_BIDDERS_CODES.ONEDISPLAY;
}
-function _isNexageBidder(bidder) {
- return bidder === AOL_BIDDERS_CODES.AOL || bidder === AOL_BIDDERS_CODES.ONEMOBILE;
+function _isOneMobileBidder(bidderCode) {
+ return bidderCode === AOL_BIDDERS_CODES.AOL || bidderCode === AOL_BIDDERS_CODES.ONEMOBILE;
}
function _isNexageRequestPost(bid) {
- if (_isNexageBidder(bid.bidder) && bid.params.id && bid.params.imp && bid.params.imp[0]) {
+ if (_isOneMobileBidder(bid.bidder) && bid.params.id && bid.params.imp && bid.params.imp[0]) {
let imp = bid.params.imp[0];
return imp.id && imp.tagid &&
((imp.banner && imp.banner.w && imp.banner.h) ||
@@ -198,7 +133,7 @@ function _isNexageRequestPost(bid) {
}
function _isNexageRequestGet(bid) {
- return _isNexageBidder(bid.bidder) && bid.params.dcn && bid.params.pos;
+ return _isOneMobileBidder(bid.bidder) && bid.params.dcn && bid.params.pos;
}
function isMarketplaceBid(bid) {
@@ -219,65 +154,25 @@ function resolveEndpointCode(bid) {
}
}
-function formatBidRequest(endpointCode, bid) {
- let bidRequest;
-
- switch (endpointCode) {
- case AOL_ENDPOINTS.DISPLAY.GET:
- bidRequest = {
- url: _buildMarketplaceUrl(bid),
- method: 'GET',
- ttl: ONE_DISPLAY_TTL
- };
- break;
-
- case AOL_ENDPOINTS.MOBILE.GET:
- bidRequest = {
- url: _buildOneMobileGetUrl(bid),
- method: 'GET',
- ttl: ONE_MOBILE_TTL
- };
- break;
-
- case AOL_ENDPOINTS.MOBILE.POST:
- bidRequest = {
- url: _buildOneMobileBaseUrl(bid),
- method: 'POST',
- ttl: ONE_MOBILE_TTL,
- data: bid.params,
- options: {
- contentType: 'application/json',
- customHeaders: {
- 'x-openrtb-version': '2.2'
- }
- }
- };
- break;
- }
-
- bidRequest.bidderCode = bid.bidder;
- bidRequest.bidId = bid.bidId;
- bidRequest.userSyncOn = bid.params.userSyncOn;
-
- return bidRequest;
-}
-
export const spec = {
code: AOL_BIDDERS_CODES.AOL,
aliases: [AOL_BIDDERS_CODES.ONEMOBILE, AOL_BIDDERS_CODES.ONEDISPLAY],
- isBidRequestValid: function(bid) {
+ supportedMediaTypes: [BANNER],
+ isBidRequestValid(bid) {
return isMarketplaceBid(bid) || isMobileBid(bid);
},
- buildRequests: function (bids) {
+ buildRequests(bids, bidderRequest) {
+ let consentData = bidderRequest ? bidderRequest.gdprConsent : null;
+
return bids.map(bid => {
const endpointCode = resolveEndpointCode(bid);
if (endpointCode) {
- return formatBidRequest(endpointCode, bid);
+ return this.formatBidRequest(endpointCode, bid, consentData);
}
});
},
- interpretResponse: function ({body}, bidRequest) {
+ interpretResponse({body}, bidRequest) {
showCpmAdjustmentWarning();
if (!body) {
@@ -290,17 +185,157 @@ export const spec = {
}
}
},
- _formatPixels: function (pixels) {
- let formattedPixels = pixels.replace(/<\/?script( type=('|")text\/javascript('|")|)?>/g, '');
+ getUserSyncs(options, bidResponses) {
+ let bidResponse = bidResponses[0];
- return '';
+ if (config.getConfig('aol.userSyncOn') === EVENTS.BID_RESPONSE) {
+ if (!$$PREBID_GLOBAL$$.aolGlobals.pixelsDropped && bidResponse && bidResponse.ext && bidResponse.ext.pixels) {
+ $$PREBID_GLOBAL$$.aolGlobals.pixelsDropped = true;
+
+ return parsePixelItems(bidResponse.ext.pixels);
+ }
+ }
+
+ return [];
+ },
+
+ formatBidRequest(endpointCode, bid, consentData) {
+ let bidRequest;
+
+ switch (endpointCode) {
+ case AOL_ENDPOINTS.DISPLAY.GET:
+ bidRequest = {
+ url: this.buildMarketplaceUrl(bid, consentData),
+ method: 'GET',
+ ttl: ONE_DISPLAY_TTL
+ };
+ break;
+
+ case AOL_ENDPOINTS.MOBILE.GET:
+ bidRequest = {
+ url: this.buildOneMobileGetUrl(bid, consentData),
+ method: 'GET',
+ ttl: ONE_MOBILE_TTL
+ };
+ break;
+
+ case AOL_ENDPOINTS.MOBILE.POST:
+ bidRequest = {
+ url: this.buildOneMobileBaseUrl(bid),
+ method: 'POST',
+ ttl: ONE_MOBILE_TTL,
+ data: this.buildOpenRtbRequestData(bid, consentData),
+ options: {
+ contentType: 'application/json',
+ customHeaders: {
+ 'x-openrtb-version': '2.2'
+ }
+ }
+ };
+ break;
+ }
+
+ bidRequest.bidderCode = bid.bidder;
+ bidRequest.bidId = bid.bidId;
+ bidRequest.userSyncOn = bid.params.userSyncOn;
+
+ return bidRequest;
},
- _parseBidResponse: function (response, bidRequest) {
+ buildMarketplaceUrl(bid, consentData) {
+ const params = bid.params;
+ const serverParam = params.server;
+ let regionParam = params.region || 'us';
+ let server;
+
+ if (!MP_SERVER_MAP.hasOwnProperty(regionParam)) {
+ utils.logWarn(`Unknown region '${regionParam}' for AOL bidder.`);
+ regionParam = 'us'; // Default region.
+ }
+
+ if (serverParam) {
+ server = serverParam;
+ } else {
+ server = MP_SERVER_MAP[regionParam];
+ }
+
+ // Set region param, used by AOL analytics.
+ params.region = regionParam;
+
+ return pubapiTemplate({
+ host: server,
+ network: params.network,
+ placement: parseInt(params.placement),
+ pageid: params.pageId || 0,
+ sizeid: params.sizeId || 0,
+ alias: params.alias || utils.getUniqueIdentifierStr(),
+ misc: new Date().getTime(), // cache busting,
+ bidfloor: formatMarketplaceBidFloor(params.bidFloor),
+ keyValues: formatMarketplaceKeyValues(params.keyValues),
+ consentData: this.formatMarketplaceConsentData(consentData)
+ });
+ },
+ buildOneMobileGetUrl(bid, consentData) {
+ let {dcn, pos, ext} = bid.params;
+ let nexageApi = this.buildOneMobileBaseUrl(bid);
+ if (dcn && pos) {
+ let dynamicParams = this.formatOneMobileDynamicParams(ext, consentData);
+ nexageApi += nexageGetApiTemplate({dcn, pos, dynamicParams});
+ }
+ return nexageApi;
+ },
+ buildOneMobileBaseUrl(bid) {
+ return nexageBaseApiTemplate({
+ host: bid.params.host || NEXAGE_SERVER
+ });
+ },
+ formatOneMobileDynamicParams(params = {}, consentData) {
+ if (this.isSecureProtocol()) {
+ params.secure = 1;
+ }
+
+ if (this.isConsentRequired(consentData)) {
+ params.euconsent = consentData.consentString;
+ params.gdpr = 1;
+ }
+
+ let paramsFormatted = '';
+ utils._each(params, (value, key) => {
+ paramsFormatted += `&${key}=${encodeURIComponent(value)}`;
+ });
+
+ return paramsFormatted;
+ },
+ buildOpenRtbRequestData(bid, consentData) {
+ let openRtbObject = {
+ id: bid.params.id,
+ imp: bid.params.imp
+ };
+
+ if (this.isConsentRequired(consentData)) {
+ openRtbObject.user = {
+ ext: {
+ consent: consentData.consentString
+ }
+ };
+ openRtbObject.regs = {
+ ext: {
+ gdpr: 1
+ }
+ };
+ }
+
+ return openRtbObject;
+ },
+ isConsentRequired(consentData) {
+ return !!(consentData && consentData.consentString && consentData.gdprApplies);
+ },
+ formatMarketplaceConsentData(consentData) {
+ let consentRequired = this.isConsentRequired(consentData);
+
+ return consentRequired ? `;euconsent=${consentData.consentString};gdpr=1` : '';
+ },
+
+ _parseBidResponse(response, bidRequest) {
let bidData;
try {
@@ -322,17 +357,10 @@ export const spec = {
}
}
- let ad = bidData.adm;
- if (response.ext && response.ext.pixels) {
- if (config.getConfig('aol.userSyncOn') !== EVENTS.BID_RESPONSE) {
- ad += this._formatPixels(response.ext.pixels);
- }
- }
-
- return {
+ let bidResponse = {
bidderCode: bidRequest.bidderCode,
requestId: bidRequest.bidId,
- ad: ad,
+ ad: bidData.adm,
cpm: cpm,
width: bidData.w,
height: bidData.h,
@@ -343,19 +371,28 @@ export const spec = {
netRevenue: true,
ttl: bidRequest.ttl
};
- },
- getUserSyncs: function(options, bidResponses) {
- let bidResponse = bidResponses[0];
- if (config.getConfig('aol.userSyncOn') === EVENTS.BID_RESPONSE) {
- if (!$$PREBID_GLOBAL$$.aolGlobals.pixelsDropped && bidResponse.ext && bidResponse.ext.pixels) {
- $$PREBID_GLOBAL$$.aolGlobals.pixelsDropped = true;
-
- return parsePixelItems(bidResponse.ext.pixels);
+ if (response.ext && response.ext.pixels) {
+ if (config.getConfig('aol.userSyncOn') !== EVENTS.BID_RESPONSE) {
+ bidResponse.ad += this.formatPixels(response.ext.pixels);
}
}
- return [];
+ return bidResponse;
+ },
+ formatPixels(pixels) {
+ let formattedPixels = pixels.replace(/<\/?script( type=('|")text\/javascript('|")|)?>/g, '');
+
+ return '';
+ },
+ isOneMobileBidder: _isOneMobileBidder,
+ isSecureProtocol() {
+ return document.location.protocol === 'https:';
}
};
diff --git a/modules/aolBidAdapter.md b/modules/aolBidAdapter.md
index a92e933bd36..8a9d1e3291d 100644
--- a/modules/aolBidAdapter.md
+++ b/modules/aolBidAdapter.md
@@ -22,7 +22,6 @@ Module that connects to AOL's demand sources
params: {
placement: '3611253',
network: '9599.1',
- bidFloor: '0.80',
keyValues: {
test: 'key'
}
diff --git a/modules/appnexusBidAdapter.js b/modules/appnexusBidAdapter.js
index 75e48d1ee0b..82743974994 100644
--- a/modules/appnexusBidAdapter.js
+++ b/modules/appnexusBidAdapter.js
@@ -73,6 +73,15 @@ export const spec = {
if (member > 0) {
payload.member_id = member;
}
+
+ if (bidderRequest && bidderRequest.gdprConsent) {
+ // note - objects for impbus use underscore instead of camelCase
+ payload.gdpr_consent = {
+ consent_string: bidderRequest.gdprConsent.consentString,
+ consent_required: bidderRequest.gdprConsent.gdprApplies
+ };
+ }
+
const payloadString = JSON.stringify(payload);
return {
method: 'POST',
diff --git a/modules/consentManagement.js b/modules/consentManagement.js
new file mode 100644
index 00000000000..c7b6ac4df92
--- /dev/null
+++ b/modules/consentManagement.js
@@ -0,0 +1,278 @@
+/**
+ * This module adds GDPR consentManagement support to prebid.js. It interacts with
+ * supported CMPs (Consent Management Platforms) to grab the user's consent information
+ * and make it available for any GDPR supported adapters to read/pass this information to
+ * their system.
+ */
+import * as utils from 'src/utils';
+import { config } from 'src/config';
+import { gdprDataHandler } from 'src/adaptermanager';
+import includes from 'core-js/library/fn/array/includes';
+
+const DEFAULT_CMP = 'iab';
+const DEFAULT_CONSENT_TIMEOUT = 10000;
+const DEFAULT_ALLOW_AUCTION_WO_CONSENT = true;
+
+export let userCMP;
+export let consentTimeout;
+export let allowAuction;
+
+let consentData;
+
+let context;
+let args;
+let nextFn;
+
+let timer;
+let haveExited;
+
+// add new CMPs here, with their dedicated lookup function
+const cmpCallMap = {
+ 'iab': lookupIabConsent
+};
+
+/**
+ * This function handles interacting with an IAB compliant CMP to obtain the consentObject value of the user.
+ * Given the async nature of the CMP's API, we pass in acting success/error callback functions to exit this function
+ * based on the appropriate result.
+ * @param {function(string)} cmpSuccess acts as a success callback when CMP returns a value; pass along consentObject (string) from CMP
+ * @param {function(string)} cmpError acts as an error callback while interacting with CMP; pass along an error message (string)
+ */
+function lookupIabConsent(cmpSuccess, cmpError) {
+ let cmpCallbacks;
+
+ // check if the CMP is located on the same window level as the prebid code.
+ // if it's found, directly call the CMP via it's API and call the cmpSuccess callback.
+ // if it's not found, assume the prebid code may be inside an iframe and the CMP code is located in a higher parent window.
+ // in this case, use the IAB's iframe locator sample code (which is slightly cutomized) to try to find the CMP and use postMessage() to communicate with the CMP.
+ if (utils.isFn(window.__cmp)) {
+ window.__cmp('getVendorConsents', null, cmpSuccess);
+ } else {
+ callCmpWhileInIframe();
+ }
+
+ function callCmpWhileInIframe() {
+ /**
+ * START OF STOCK CODE FROM IAB 1.1 CMP SPEC
+ */
+
+ // find the CMP frame
+ let f = window;
+ let cmpFrame;
+ while (!cmpFrame) {
+ try {
+ if (f.frames['__cmpLocator']) cmpFrame = f;
+ } catch (e) {}
+ if (f === window.top) break;
+ f = f.parent;
+ }
+
+ cmpCallbacks = {};
+
+ /* Setup up a __cmp function to do the postMessage and stash the callback.
+ This function behaves (from the caller's perspective identicially to the in-frame __cmp call */
+ window.__cmp = function(cmd, arg, callback) {
+ if (!cmpFrame) {
+ removePostMessageListener();
+
+ let errmsg = 'CMP not found';
+ // small customization to properly return error
+ return cmpError(errmsg);
+ }
+ let callId = Math.random() + '';
+ let msg = {__cmpCall: {
+ command: cmd,
+ parameter: arg,
+ callId: callId
+ }};
+ cmpCallbacks[callId] = callback;
+ cmpFrame.postMessage(msg, '*');
+ }
+
+ /** when we get the return message, call the stashed callback */
+ // small customization to remove this eventListener later in module
+ window.addEventListener('message', readPostMessageResponse, false);
+
+ /**
+ * END OF STOCK CODE FROM IAB 1.1 CMP SPEC
+ */
+
+ // call CMP
+ window.__cmp('getVendorConsents', null, cmpIframeCallback);
+ }
+
+ function readPostMessageResponse(event) {
+ // small customization to prevent reading strings from other sources that aren't JSON.stringified
+ let json = (typeof event.data === 'string' && includes(event.data, 'cmpReturn')) ? JSON.parse(event.data) : event.data;
+ if (json.__cmpReturn) {
+ let i = json.__cmpReturn;
+ cmpCallbacks[i.callId](i.returnValue, i.success);
+ delete cmpCallbacks[i.callId];
+ }
+ }
+
+ function removePostMessageListener() {
+ window.removeEventListener('message', readPostMessageResponse, false);
+ }
+
+ function cmpIframeCallback(consentObject) {
+ removePostMessageListener();
+ cmpSuccess(consentObject);
+ }
+}
+
+/**
+ * If consentManagement module is enabled (ie included in setConfig), this hook function will attempt to fetch the
+ * user's encoded consent string from the supported CMP. Once obtained, the module will store this
+ * data as part of a gdprConsent object which gets transferred to adaptermanager's gdprDataHandler object.
+ * This information is later added into the bidRequest object for any supported adapters to read/pass along to their system.
+ * @param {object} config required; This is the same param that's used in pbjs.requestBids.
+ * @param {function} fn required; The next function in the chain, used by hook.js
+ */
+export function requestBidsHook(config, fn) {
+ context = this;
+ args = arguments;
+ nextFn = fn;
+ haveExited = false;
+
+ // in case we already have consent (eg during bid refresh)
+ if (consentData) {
+ return exitModule();
+ }
+
+ if (!includes(Object.keys(cmpCallMap), userCMP)) {
+ utils.logWarn(`CMP framework (${userCMP}) is not a supported framework. Aborting consentManagement module and resuming auction.`);
+ return nextFn.apply(context, args);
+ }
+
+ cmpCallMap[userCMP].call(this, processCmpData, cmpFailed);
+
+ // only let this code run if module is still active (ie if the callbacks used by CMPs haven't already finished)
+ if (!haveExited) {
+ if (consentTimeout === 0) {
+ processCmpData(undefined);
+ } else {
+ timer = setTimeout(cmpTimedOut, consentTimeout);
+ }
+ }
+}
+
+/**
+ * This function checks the consent data provided by CMP to ensure it's in an expected state.
+ * If it's bad, we exit the module depending on config settings.
+ * If it's good, then we store the value and exits the module.
+ * @param {object} consentObject required; object returned by CMP that contains user's consent choices
+ */
+function processCmpData(consentObject) {
+ if (!utils.isPlainObject(consentObject) || !utils.isStr(consentObject.metadata) || consentObject.metadata === '') {
+ cmpFailed(`CMP returned unexpected value during lookup process; returned value was (${consentObject}).`);
+ } else {
+ clearTimeout(timer);
+ storeConsentData(consentObject);
+
+ exitModule();
+ }
+}
+
+/**
+ * General timeout callback when interacting with CMP takes too long.
+ */
+function cmpTimedOut() {
+ cmpFailed('CMP workflow exceeded timeout threshold.');
+}
+
+/**
+ * This function contains the controlled steps to perform when there's a problem with CMP.
+ * @param {string} errMsg required; should be a short descriptive message for why the failure/issue happened.
+*/
+function cmpFailed(errMsg) {
+ clearTimeout(timer);
+
+ // still set the consentData to undefined when there is a problem as per config options
+ if (allowAuction) {
+ storeConsentData(undefined);
+ }
+ exitModule(errMsg);
+}
+
+/**
+ * Stores CMP data locally in module and then invokes gdprDataHandler.setConsentData() to make information available in adaptermanger.js for later in the auction
+ * @param {object} cmpConsentObject required; an object representing user's consent choices (can be undefined in certain use-cases for this function only)
+ */
+function storeConsentData(cmpConsentObject) {
+ consentData = {
+ consentString: (cmpConsentObject) ? cmpConsentObject.metadata : undefined,
+ vendorData: cmpConsentObject,
+ gdprApplies: (cmpConsentObject) ? cmpConsentObject.gdprApplies : undefined
+ };
+ gdprDataHandler.setConsentData(consentData);
+}
+
+/**
+ * This function handles the exit logic for the module.
+ * There are several paths in the module's logic to call this function and we only allow 1 of the 3 potential exits to happen before suppressing others.
+ *
+ * We prevent multiple exits to avoid conflicting messages in the console depending on certain scenarios.
+ * One scenario could be auction was canceled due to timeout with CMP being reached.
+ * While the timeout is the accepted exit and runs first, the CMP's callback still tries to process the user's data (which normally leads to a good exit).
+ * In this case, the good exit will be suppressed since we already decided to cancel the auction.
+ *
+ * Three exit paths are:
+ * 1. good exit where auction runs (CMP data is processed normally).
+ * 2. bad exit but auction still continues (warning message is logged, CMP data is undefined and still passed along).
+ * 3. bad exit with auction canceled (error message is logged).
+ * @param {string} errMsg optional; only to be used when there was a 'bad' exit. String is a descriptive message for the failure/issue encountered.
+ */
+function exitModule(errMsg) {
+ if (haveExited === false) {
+ haveExited = true;
+
+ if (errMsg) {
+ if (allowAuction) {
+ utils.logWarn(errMsg + ' Resuming auction without consent data as per consentManagement config.');
+ nextFn.apply(context, args);
+ } else {
+ utils.logError(errMsg + ' Canceling auction as per consentManagement config.');
+ }
+ } else {
+ nextFn.apply(context, args);
+ }
+ }
+}
+
+/**
+ * Simply resets the module's consentData variable back to undefined, mainly for testing purposes
+ */
+export function resetConsentData() {
+ consentData = undefined;
+}
+
+/**
+ * A configuration function that initializes some module variables, as well as add a hook into the requestBids function
+ * @param {object} config required; consentManagement module config settings; cmp (string), timeout (int), allowAuctionWithoutConsent (boolean)
+ */
+export function setConfig(config) {
+ if (utils.isStr(config.cmpApi)) {
+ userCMP = config.cmpApi;
+ } else {
+ userCMP = DEFAULT_CMP;
+ utils.logInfo(`consentManagement config did not specify cmp. Using system default setting (${DEFAULT_CMP}).`);
+ }
+
+ if (utils.isNumber(config.timeout)) {
+ consentTimeout = config.timeout;
+ } else {
+ consentTimeout = DEFAULT_CONSENT_TIMEOUT;
+ utils.logInfo(`consentManagement config did not specify timeout. Using system default setting (${DEFAULT_CONSENT_TIMEOUT}).`);
+ }
+
+ if (typeof config.allowAuctionWithoutConsent === 'boolean') {
+ allowAuction = config.allowAuctionWithoutConsent;
+ } else {
+ allowAuction = DEFAULT_ALLOW_AUCTION_WO_CONSENT;
+ utils.logInfo(`consentManagement config did not specify allowAuctionWithoutConsent. Using system default setting (${DEFAULT_ALLOW_AUCTION_WO_CONSENT}).`);
+ }
+
+ $$PREBID_GLOBAL$$.requestBids.addHook(requestBidsHook, 50);
+}
+config.getConfig('consentManagement', config => setConfig(config.consentManagement));
diff --git a/modules/pre1api.js b/modules/pre1api.js
index 707d10fbfd8..a8aa1f31e70 100644
--- a/modules/pre1api.js
+++ b/modules/pre1api.js
@@ -124,7 +124,7 @@ pbjs.requestBids.addHook((config, next = config) => {
} else {
logWarn(`${MODULE_NAME} module: concurrency has been disabled and "$$PREBID_GLOBAL$$.requestBids" call was queued`);
}
-}, 100);
+}, 5);
Object.keys(auctionPropMap).forEach(prop => {
if (prop === 'allBidsAvailable') {
diff --git a/modules/prebidServerBidAdapter.js b/modules/prebidServerBidAdapter.js
index 22529def0a9..f499f5a0ae4 100644
--- a/modules/prebidServerBidAdapter.js
+++ b/modules/prebidServerBidAdapter.js
@@ -304,7 +304,7 @@ function transformHeightWidth(adUnit) {
*/
const LEGACY_PROTOCOL = {
- buildRequest(s2sBidRequest, adUnits) {
+ buildRequest(s2sBidRequest, bidRequests, adUnits) {
// pbs expects an ad_unit.video attribute if the imp is video
adUnits.forEach(adUnit => {
adUnit.sizes = transformHeightWidth(adUnit);
@@ -437,7 +437,7 @@ const OPEN_RTB_PROTOCOL = {
bidMap: {},
- buildRequest(s2sBidRequest, adUnits) {
+ buildRequest(s2sBidRequest, bidRequests, adUnits) {
let imps = [];
let aliases = {};
@@ -530,6 +530,35 @@ const OPEN_RTB_PROTOCOL = {
request.ext = { prebid: { aliases } };
}
+ if (bidRequests && bidRequests[0].gdprConsent) {
+ // note - gdprApplies & consentString may be undefined in certain use-cases for consentManagement module
+ let gdprApplies;
+ if (typeof bidRequests[0].gdprConsent.gdprApplies === 'boolean') {
+ gdprApplies = bidRequests[0].gdprConsent.gdprApplies ? 1 : 0;
+ }
+
+ if (request.regs) {
+ if (request.regs.ext) {
+ request.regs.ext.gdpr = gdprApplies;
+ } else {
+ request.regs.ext = { gdpr: gdprApplies };
+ }
+ } else {
+ request.regs = { ext: { gdpr: gdprApplies } };
+ }
+
+ let consentString = bidRequests[0].gdprConsent.consentString;
+ if (request.user) {
+ if (request.user.ext) {
+ request.user.ext.consent = consentString;
+ } else {
+ request.user.ext = { consent: consentString };
+ }
+ } else {
+ request.user = { ext: { consent: consentString } };
+ }
+ }
+
return request;
},
@@ -637,7 +666,7 @@ export function PrebidServer() {
.reduce(utils.flatten)
.filter(utils.uniques);
- const request = protocolAdapter().buildRequest(s2sBidRequest, adUnitsWithSizes);
+ const request = protocolAdapter().buildRequest(s2sBidRequest, bidRequests, adUnitsWithSizes);
const requestJson = JSON.stringify(request);
ajax(
diff --git a/modules/pubmaticBidAdapter.js b/modules/pubmaticBidAdapter.js
index dfcde047580..1f056bf0eff 100644
--- a/modules/pubmaticBidAdapter.js
+++ b/modules/pubmaticBidAdapter.js
@@ -19,6 +19,11 @@ const CUSTOM_PARAMS = {
'verId': '' // OpenWrap Legacy: version ID
};
const NET_REVENUE = false;
+const dealChannelValues = {
+ 1: 'PMP',
+ 5: 'PREF',
+ 6: 'PMPG'
+};
let publisherId = 0;
@@ -195,7 +200,7 @@ export const spec = {
* @param {validBidRequests[]} - an array of bids
* @return ServerRequest Info describing the request to the server.
*/
- buildRequests: validBidRequests => {
+ buildRequests: (validBidRequests, bidderRequest) => {
var conf = _initConf();
var payload = _createOrtbTemplate(conf);
validBidRequests.forEach(bid => {
@@ -217,14 +222,28 @@ export const spec = {
payload.site.publisher.id = conf.pubId.trim();
publisherId = conf.pubId.trim();
payload.ext.wrapper = {};
- payload.ext.wrapper.profile = conf.profId || UNDEFINED;
- payload.ext.wrapper.version = conf.verId || UNDEFINED;
+ payload.ext.wrapper.profile = parseInt(conf.profId) || UNDEFINED;
+ payload.ext.wrapper.version = parseInt(conf.verId) || UNDEFINED;
payload.ext.wrapper.wiid = conf.wiid || UNDEFINED;
payload.ext.wrapper.wv = constants.REPO_AND_VERSION;
payload.ext.wrapper.transactionId = conf.transactionId;
payload.ext.wrapper.wp = 'pbjs';
payload.user.gender = (conf.gender ? conf.gender.trim() : UNDEFINED);
payload.user.geo = {};
+
+ // Attaching GDPR Consent Params
+ if (bidderRequest && bidderRequest.gdprConsent) {
+ payload.user.ext = {
+ consent: bidderRequest.gdprConsent.consentString
+ };
+
+ payload.regs = {
+ ext: {
+ gdpr: (bidderRequest.gdprConsent.gdprApplies ? 1 : 0)
+ }
+ };
+ }
+
payload.user.geo.lat = _parseSlotParam('lat', conf.lat);
payload.user.geo.lon = _parseSlotParam('lon', conf.lon);
payload.user.yob = _parseSlotParam('yob', conf.yob);
@@ -264,6 +283,11 @@ export const spec = {
referrer: utils.getTopWindowUrl(),
ad: bid.adm
};
+
+ if (bid.ext && bid.ext.deal_channel) {
+ newBid['dealChannel'] = dealChannelValues[bid.ext.deal_channel] || null;
+ }
+
bidResponses.push(newBid);
});
}
@@ -276,11 +300,19 @@ export const spec = {
/**
* Register User Sync.
*/
- getUserSyncs: syncOptions => {
+ getUserSyncs: (syncOptions, responses, gdprConsent) => {
+ let syncurl = USYNCURL + publisherId;
+
+ // Attaching GDPR Consent Params in UserSync url
+ if (gdprConsent) {
+ syncurl += '&gdpr=' + (gdprConsent.gdprApplies ? 1 : 0);
+ syncurl += '&consent=' + encodeURIComponent(gdprConsent.consentString || '');
+ }
+
if (syncOptions.iframeEnabled) {
return [{
type: 'iframe',
- url: USYNCURL + publisherId
+ url: syncurl
}];
} else {
utils.logWarn('PubMatic: Please enable iframe based user sync.');
diff --git a/src/adaptermanager.js b/src/adaptermanager.js
index cef1635f100..98d9d5fb426 100644
--- a/src/adaptermanager.js
+++ b/src/adaptermanager.js
@@ -133,6 +133,16 @@ function getAdUnitCopyForClientAdapters(adUnits) {
return adUnitsClientCopy;
}
+exports.gdprDataHandler = {
+ consentData: null,
+ setConsentData: function(consentInfo) {
+ this.consentData = consentInfo;
+ },
+ getConsentData: function() {
+ return this.consentData;
+ }
+};
+
exports.makeBidRequests = function(adUnits, auctionStart, auctionId, cbTimeout, labels) {
let bidRequests = [];
@@ -197,6 +207,12 @@ exports.makeBidRequests = function(adUnits, auctionStart, auctionId, cbTimeout,
bidRequests.push(bidderRequest);
}
});
+
+ if (exports.gdprDataHandler.getConsentData()) {
+ bidRequests.forEach(bidRequest => {
+ bidRequest['gdprConsent'] = exports.gdprDataHandler.getConsentData();
+ });
+ }
return bidRequests;
};
diff --git a/src/adapters/bidderFactory.js b/src/adapters/bidderFactory.js
index 7540a3a3398..958173a0965 100644
--- a/src/adapters/bidderFactory.js
+++ b/src/adapters/bidderFactory.js
@@ -191,7 +191,7 @@ export function newBidder(spec) {
// As soon as that is refactored, we can move this emit event where it should be, within the done function.
events.emit(CONSTANTS.EVENTS.BIDDER_DONE, bidderRequest);
- registerSyncs(responses);
+ registerSyncs(responses, bidderRequest.gdprConsent);
}
const validBidRequests = bidderRequest.bids.filter(filterAndWarn);
@@ -327,12 +327,12 @@ export function newBidder(spec) {
}
});
- function registerSyncs(responses) {
+ function registerSyncs(responses, gdprConsent) {
if (spec.getUserSyncs) {
let syncs = spec.getUserSyncs({
iframeEnabled: config.getConfig('userSync.iframeEnabled'),
pixelEnabled: config.getConfig('userSync.pixelEnabled'),
- }, responses);
+ }, responses, gdprConsent);
if (syncs) {
if (!Array.isArray(syncs)) {
syncs = [syncs];
diff --git a/src/utils.js b/src/utils.js
index 5b8508e52e4..169c578a356 100644
--- a/src/utils.js
+++ b/src/utils.js
@@ -11,6 +11,7 @@ var t_Arr = 'Array';
var t_Str = 'String';
var t_Fn = 'Function';
var t_Numb = 'Number';
+var t_Object = 'Object';
var toString = Object.prototype.toString;
let infoLogger = null;
try {
@@ -382,6 +383,10 @@ exports.isNumber = function(object) {
return this.isA(object, t_Numb);
};
+exports.isPlainObject = function(object) {
+ return this.isA(object, t_Object);
+}
+
/**
* Return if the object is "empty";
* this includes falsey, no keys, or no items at indices
diff --git a/test/spec/modules/adformBidAdapter_spec.js b/test/spec/modules/adformBidAdapter_spec.js
index d631234d6d5..21ff84bdad5 100644
--- a/test/spec/modules/adformBidAdapter_spec.js
+++ b/test/spec/modules/adformBidAdapter_spec.js
@@ -99,6 +99,15 @@ describe('Adform adapter', () => {
assert.deepEqual(resultBids, bids[0]);
});
+ it('should send GDPR Consent data to adform', () => {
+ var resultBids = JSON.parse(JSON.stringify(bids[0]));
+ let request = spec.buildRequests([bids[0]], {gdprConsent: {gdprApplies: 1, consentString: 'concentDataString'}});
+ let parsedUrl = parseUrl(request.url).query;
+
+ assert.equal(parsedUrl.gdpr, 1);
+ assert.equal(parsedUrl.gdpr_consent, 'concentDataString');
+ });
+
it('should set gross to the request, if there is any gross priceType', () => {
let request = spec.buildRequests([bids[5], bids[5]]);
let parsedUrl = parseUrl(request.url);
diff --git a/test/spec/modules/aolBidAdapter_spec.js b/test/spec/modules/aolBidAdapter_spec.js
index 38b36bbaf3d..d69b9e6e3d8 100644
--- a/test/spec/modules/aolBidAdapter_spec.js
+++ b/test/spec/modules/aolBidAdapter_spec.js
@@ -98,6 +98,7 @@ describe('AolAdapter', () => {
let bidRequest;
let logWarnSpy;
let formatPixelsStub;
+ let isOneMobileBidderStub;
beforeEach(() => {
bidderSettingsBackup = $$PREBID_GLOBAL$$.bidderSettings;
@@ -110,13 +111,15 @@ describe('AolAdapter', () => {
body: getDefaultBidResponse()
};
logWarnSpy = sinon.spy(utils, 'logWarn');
- formatPixelsStub = sinon.stub(spec, '_formatPixels');
+ formatPixelsStub = sinon.stub(spec, 'formatPixels');
+ isOneMobileBidderStub = sinon.stub(spec, 'isOneMobileBidder');
});
afterEach(() => {
$$PREBID_GLOBAL$$.bidderSettings = bidderSettingsBackup;
logWarnSpy.restore();
formatPixelsStub.restore();
+ isOneMobileBidderStub.restore();
});
it('should return formatted bid response with required properties', () => {
@@ -534,10 +537,10 @@ describe('AolAdapter', () => {
});
});
- describe('_formatPixels()', () => {
+ describe('formatPixels()', () => {
it('should return pixels wrapped for dropping them once and within nested frames ', () => {
let pixels = '';
- let formattedPixels = spec._formatPixels(pixels);
+ let formattedPixels = spec.formatPixels(pixels);
expect(formattedPixels).to.equal(
'');
});
- })
+ });
+
+ describe('isOneMobileBidder()', () => {
+ it('should return false when when bidderCode is not present', () => {
+ expect(spec.isOneMobileBidder(null)).to.be.false;
+ });
+
+ it('should return false for unknown bidder code', () => {
+ expect(spec.isOneMobileBidder('unknownBidder')).to.be.false;
+ });
+
+ it('should return true for aol bidder code', () => {
+ expect(spec.isOneMobileBidder('aol')).to.be.true;
+ });
+
+ it('should return true for one mobile bidder code', () => {
+ expect(spec.isOneMobileBidder('onemobile')).to.be.true;
+ });
+ });
+
+ describe('isConsentRequired()', () => {
+ it('should return false when consentData object is not present', () => {
+ expect(spec.isConsentRequired(null)).to.be.false;
+ });
+
+ it('should return false when gdprApplies equals true and consentString is not present', () => {
+ let consentData = {
+ consentString: null,
+ gdprApplies: true
+ };
+
+ expect(spec.isConsentRequired(consentData)).to.be.false;
+ });
+
+ it('should return false when consentString is present and gdprApplies equals false', () => {
+ let consentData = {
+ consentString: 'consent-string',
+ gdprApplies: false
+ };
+
+ expect(spec.isConsentRequired(consentData)).to.be.false;
+ });
+
+ it('should return true when consentString is present and gdprApplies equals true', () => {
+ let consentData = {
+ consentString: 'consent-string',
+ gdprApplies: true
+ };
+
+ expect(spec.isConsentRequired(consentData)).to.be.true;
+ });
+ });
+
+ describe('formatMarketplaceConsentData()', () => {
+ let consentRequiredStub;
+
+ beforeEach(() => {
+ consentRequiredStub = sinon.stub(spec, 'isConsentRequired');
+ });
+
+ afterEach(() => {
+ consentRequiredStub.restore();
+ });
+
+ it('should return empty string when consent is not required', () => {
+ consentRequiredStub.returns(false);
+ expect(spec.formatMarketplaceConsentData()).to.be.equal('');
+ });
+
+ it('should return formatted consent data when consent is required', () => {
+ consentRequiredStub.returns(true);
+ let formattedConsentData = spec.formatMarketplaceConsentData({
+ consentString: 'test-consent'
+ });
+ expect(formattedConsentData).to.be.equal(';euconsent=test-consent;gdpr=1');
+ });
+ });
+
+ describe('formatOneMobileDynamicParams()', () => {
+ let consentRequiredStub;
+ let secureProtocolStub;
+
+ beforeEach(() => {
+ consentRequiredStub = sinon.stub(spec, 'isConsentRequired');
+ secureProtocolStub = sinon.stub(spec, 'isSecureProtocol');
+ });
+
+ afterEach(() => {
+ consentRequiredStub.restore();
+ secureProtocolStub.restore();
+ });
+
+ it('should return empty string when params are not present', () => {
+ expect(spec.formatOneMobileDynamicParams()).to.be.equal('');
+ });
+
+ it('should return formatted params when params are present', () => {
+ let params = {
+ param1: 'val1',
+ param2: 'val2',
+ param3: 'val3'
+ };
+ expect(spec.formatOneMobileDynamicParams(params)).to.contain('¶m1=val1¶m2=val2¶m3=val3');
+ });
+
+ it('should return formatted gdpr params when isConsentRequired returns true', () => {
+ let consentData = {
+ consentString: 'test-consent'
+ };
+ consentRequiredStub.returns(true);
+ expect(spec.formatOneMobileDynamicParams({}, consentData)).to.be.equal('&euconsent=test-consent&gdpr=1');
+ });
+
+ it('should return formatted secure param when isSecureProtocol returns true', () => {
+ secureProtocolStub.returns(true);
+ expect(spec.formatOneMobileDynamicParams()).to.be.equal('&secure=1');
+ });
+ });
});
diff --git a/test/spec/modules/appnexusBidAdapter_spec.js b/test/spec/modules/appnexusBidAdapter_spec.js
index 1ba4edfa4ea..53fbf390a6e 100644
--- a/test/spec/modules/appnexusBidAdapter_spec.js
+++ b/test/spec/modules/appnexusBidAdapter_spec.js
@@ -173,7 +173,7 @@ describe('AppNexusAdapter', () => {
});
});
- it('should attache native params to the request', () => {
+ it('should attach native params to the request', () => {
let bidRequest = Object.assign({},
bidRequests[0],
{
@@ -290,7 +290,7 @@ describe('AppNexusAdapter', () => {
}]);
});
- it('should should add payment rules to the request', () => {
+ it('should add payment rules to the request', () => {
let bidRequest = Object.assign({},
bidRequests[0],
{
@@ -306,6 +306,28 @@ describe('AppNexusAdapter', () => {
expect(payload.tags[0].use_pmt_rule).to.equal(true);
});
+
+ it('should add gdpr consent information to the request', () => {
+ let consentString = 'BOJ8RZsOJ8RZsABAB8AAAAAZ+A==';
+ let bidderRequest = {
+ 'bidderCode': 'appnexus',
+ 'auctionId': '1d1a030790a475',
+ 'bidderRequestId': '22edbae2733bf6',
+ 'timeout': 3000,
+ 'gdprConsent': {
+ consentString: consentString,
+ gdprApplies: true
+ }
+ };
+ bidderRequest.bids = bidRequests;
+
+ const request = spec.buildRequests(bidRequests, bidderRequest);
+ const payload = JSON.parse(request.data);
+
+ expect(payload.gdpr_consent).to.exist;
+ expect(payload.gdpr_consent.consent_string).to.exist.and.to.equal(consentString);
+ expect(payload.gdpr_consent.consent_required).to.exist.and.to.be.true;
+ });
})
describe('interpretResponse', () => {
diff --git a/test/spec/modules/consentManagement_spec.js b/test/spec/modules/consentManagement_spec.js
new file mode 100644
index 00000000000..5974ac79324
--- /dev/null
+++ b/test/spec/modules/consentManagement_spec.js
@@ -0,0 +1,292 @@
+import {setConfig, requestBidsHook, resetConsentData, userCMP, consentTimeout, allowAuction} from 'modules/consentManagement';
+import {gdprDataHandler} from 'src/adaptermanager';
+import * as utils from 'src/utils';
+import { config } from 'src/config';
+
+let assert = require('chai').assert;
+let expect = require('chai').expect;
+
+describe('consentManagement', function () {
+ describe('setConfig tests:', () => {
+ describe('empty setConfig value', () => {
+ beforeEach(() => {
+ sinon.stub(utils, 'logInfo');
+ });
+
+ afterEach(() => {
+ utils.logInfo.restore();
+ config.resetConfig();
+ });
+
+ it('should use system default values', () => {
+ setConfig({});
+ expect(userCMP).to.be.equal('iab');
+ expect(consentTimeout).to.be.equal(10000);
+ expect(allowAuction).to.be.true;
+ sinon.assert.callCount(utils.logInfo, 3);
+ });
+ });
+
+ describe('valid setConfig value', () => {
+ afterEach(() => {
+ config.resetConfig();
+ $$PREBID_GLOBAL$$.requestBids.removeHook(requestBidsHook);
+ });
+ it('results in all user settings overriding system defaults', () => {
+ let allConfig = {
+ cmpApi: 'iab',
+ timeout: 7500,
+ allowAuctionWithoutConsent: false
+ };
+
+ setConfig(allConfig);
+ expect(userCMP).to.be.equal('iab');
+ expect(consentTimeout).to.be.equal(7500);
+ expect(allowAuction).to.be.false;
+ });
+ });
+ });
+
+ describe('requestBidsHook tests:', () => {
+ let goodConfigWithCancelAuction = {
+ cmpApi: 'iab',
+ timeout: 7500,
+ allowAuctionWithoutConsent: false
+ };
+
+ let goodConfigWithAllowAuction = {
+ cmpApi: 'iab',
+ timeout: 7500,
+ allowAuctionWithoutConsent: true
+ };
+
+ let didHookReturn;
+
+ afterEach(() => {
+ gdprDataHandler.consentData = null;
+ resetConsentData();
+ });
+
+ describe('error checks:', () => {
+ describe('unknown CMP framework ID:', () => {
+ beforeEach(() => {
+ sinon.stub(utils, 'logWarn');
+ });
+
+ afterEach(() => {
+ utils.logWarn.restore();
+ config.resetConfig();
+ $$PREBID_GLOBAL$$.requestBids.removeHook(requestBidsHook);
+ gdprDataHandler.consentData = null;
+ });
+
+ it('should return Warning message and return to hooked function', () => {
+ let badCMPConfig = {
+ cmpApi: 'bad'
+ };
+ setConfig(badCMPConfig);
+ expect(userCMP).to.be.equal(badCMPConfig.cmpApi);
+
+ didHookReturn = false;
+
+ requestBidsHook({}, () => {
+ didHookReturn = true;
+ });
+ let consent = gdprDataHandler.getConsentData();
+ sinon.assert.calledOnce(utils.logWarn);
+ expect(didHookReturn).to.be.true;
+ expect(consent).to.be.null;
+ });
+ });
+ });
+
+ describe('already known consentData:', () => {
+ let cmpStub = sinon.stub();
+
+ beforeEach(() => {
+ didHookReturn = false;
+ window.__cmp = function() {};
+ });
+
+ afterEach(() => {
+ config.resetConfig();
+ $$PREBID_GLOBAL$$.requestBids.removeHook(requestBidsHook);
+ cmpStub.restore();
+ delete window.__cmp;
+ gdprDataHandler.consentData = null;
+ });
+
+ it('should bypass CMP and simply use previously stored consentData', () => {
+ let testConsentData = {
+ gdprApplies: true,
+ metadata: 'xyz'
+ };
+
+ cmpStub = sinon.stub(window, '__cmp').callsFake((...args) => {
+ args[2](testConsentData);
+ });
+ setConfig(goodConfigWithAllowAuction);
+ requestBidsHook({}, () => {});
+ cmpStub.restore();
+
+ // reset the stub to ensure it wasn't called during the second round of calls
+ cmpStub = sinon.stub(window, '__cmp').callsFake((...args) => {
+ args[2](testConsentData);
+ });
+
+ requestBidsHook({}, () => {
+ didHookReturn = true;
+ });
+ let consent = gdprDataHandler.getConsentData();
+
+ expect(didHookReturn).to.be.true;
+ expect(consent.consentString).to.equal(testConsentData.metadata);
+ expect(consent.gdprApplies).to.be.true;
+ sinon.assert.notCalled(cmpStub);
+ });
+ });
+
+ describe('CMP workflow for iframed page', () => {
+ let eventStub = sinon.stub();
+ let cmpStub = sinon.stub();
+
+ beforeEach(() => {
+ didHookReturn = false;
+ resetConsentData();
+ window.__cmp = function() {};
+ sinon.stub(utils, 'logError');
+ sinon.stub(utils, 'logWarn');
+ });
+
+ afterEach(() => {
+ config.resetConfig();
+ $$PREBID_GLOBAL$$.requestBids.removeHook(requestBidsHook);
+ eventStub.restore();
+ cmpStub.restore();
+ delete window.__cmp;
+ utils.logError.restore();
+ utils.logWarn.restore();
+ gdprDataHandler.consentData = null;
+ });
+
+ it('should return the consent string from a postmessage + addEventListener response', () => {
+ let testConsentData = {
+ data: {
+ __cmpReturn: {
+ returnValue: {
+ gdprApplies: true,
+ metadata: 'BOJy+UqOJy+UqABAB+AAAAAZ+A=='
+ }
+ }
+ }
+ };
+ eventStub = sinon.stub(window, 'addEventListener').callsFake((...args) => {
+ args[1](testConsentData);
+ });
+ cmpStub = sinon.stub(window, '__cmp').callsFake((...args) => {
+ args[2]({
+ gdprApplies: true,
+ metadata: 'BOJy+UqOJy+UqABAB+AAAAAZ+A=='
+ });
+ });
+
+ setConfig(goodConfigWithAllowAuction);
+
+ requestBidsHook({}, () => {
+ didHookReturn = true;
+ });
+ let consent = gdprDataHandler.getConsentData();
+
+ sinon.assert.notCalled(utils.logWarn);
+ sinon.assert.notCalled(utils.logError);
+ expect(didHookReturn).to.be.true;
+ expect(consent.consentString).to.equal('BOJy+UqOJy+UqABAB+AAAAAZ+A==');
+ expect(consent.gdprApplies).to.be.true;
+ });
+ });
+
+ describe('CMP workflow for normal pages:', () => {
+ let cmpStub = sinon.stub();
+
+ beforeEach(() => {
+ didHookReturn = false;
+ resetConsentData();
+ sinon.stub(utils, 'logError');
+ sinon.stub(utils, 'logWarn');
+ window.__cmp = function() {};
+ });
+
+ afterEach(() => {
+ config.resetConfig();
+ $$PREBID_GLOBAL$$.requestBids.removeHook(requestBidsHook);
+ cmpStub.restore();
+ utils.logError.restore();
+ utils.logWarn.restore();
+ delete window.__cmp;
+ gdprDataHandler.consentData = null;
+ });
+
+ it('performs lookup check and stores consentData for a valid existing user', () => {
+ let testConsentData = {
+ gdprApplies: true,
+ metadata: 'BOJy+UqOJy+UqABAB+AAAAAZ+A=='
+ };
+ cmpStub = sinon.stub(window, '__cmp').callsFake((...args) => {
+ args[2](testConsentData);
+ });
+
+ setConfig(goodConfigWithAllowAuction);
+
+ requestBidsHook({}, () => {
+ didHookReturn = true;
+ });
+ let consent = gdprDataHandler.getConsentData();
+
+ sinon.assert.notCalled(utils.logWarn);
+ sinon.assert.notCalled(utils.logError);
+ expect(didHookReturn).to.be.true;
+ expect(consent.consentString).to.equal(testConsentData.metadata);
+ expect(consent.gdprApplies).to.be.true;
+ });
+
+ it('throws an error when processCmpData check failed while config had allowAuction set to false', () => {
+ let testConsentData = null;
+
+ cmpStub = sinon.stub(window, '__cmp').callsFake((...args) => {
+ args[2](testConsentData);
+ });
+
+ setConfig(goodConfigWithCancelAuction);
+
+ requestBidsHook({}, () => {
+ didHookReturn = true;
+ });
+ let consent = gdprDataHandler.getConsentData();
+
+ sinon.assert.calledOnce(utils.logError);
+ expect(didHookReturn).to.be.false;
+ expect(consent).to.be.null;
+ });
+
+ it('throws a warning + stores consentData + calls callback when processCmpData check failed while config had allowAuction set to true', () => {
+ let testConsentData = null;
+
+ cmpStub = sinon.stub(window, '__cmp').callsFake((...args) => {
+ args[2](testConsentData);
+ });
+
+ setConfig(goodConfigWithAllowAuction);
+
+ requestBidsHook({}, () => {
+ didHookReturn = true;
+ });
+ let consent = gdprDataHandler.getConsentData();
+
+ sinon.assert.calledOnce(utils.logWarn);
+ expect(didHookReturn).to.be.true;
+ expect(consent.consentString).to.be.undefined;
+ expect(consent.gdprApplies).to.be.undefined;
+ });
+ });
+ });
+});
diff --git a/test/spec/modules/prebidServerBidAdapter_spec.js b/test/spec/modules/prebidServerBidAdapter_spec.js
index eb14c300e33..cdb3113c205 100644
--- a/test/spec/modules/prebidServerBidAdapter_spec.js
+++ b/test/spec/modules/prebidServerBidAdapter_spec.js
@@ -6,6 +6,7 @@ import cookie from 'src/cookie';
import { userSync } from 'src/userSync';
import { ajax } from 'src/ajax';
import { config } from 'src/config';
+import { requestBidsHook } from 'modules/consentManagement';
let CONFIG = {
accountId: '1',
@@ -391,6 +392,38 @@ describe('S2S Adapter', () => {
expect(requestBid.ad_units[0].bids[0].params.member).to.exist.and.to.be.a('string');
});
+ it('adds gdpr consent information to ortb2 request depending on module use', () => {
+ let ortb2Config = utils.deepClone(CONFIG);
+ ortb2Config.endpoint = 'https://prebid.adnxs.com/pbs/v1/openrtb2/auction'
+
+ let consentConfig = { consentManagement: { cmp: 'iab' }, s2sConfig: ortb2Config };
+ config.setConfig(consentConfig);
+
+ let gdprBidRequest = utils.deepClone(BID_REQUESTS);
+ gdprBidRequest[0].gdprConsent = {
+ consentString: 'abc123',
+ gdprApplies: true
+ };
+
+ adapter.callBids(REQUEST, gdprBidRequest, addBidResponse, done, ajax);
+ let requestBid = JSON.parse(requests[0].requestBody);
+
+ expect(requestBid.regs.ext.gdpr).is.equal(1);
+ expect(requestBid.user.ext.consent).is.equal('abc123');
+
+ config.resetConfig();
+ config.setConfig({s2sConfig: CONFIG});
+
+ adapter.callBids(REQUEST, BID_REQUESTS, addBidResponse, done, ajax);
+ requestBid = JSON.parse(requests[1].requestBody);
+
+ expect(requestBid.regs).to.not.exist;
+ expect(requestBid.user).to.not.exist;
+
+ config.resetConfig();
+ $$PREBID_GLOBAL$$.requestBids.removeHook(requestBidsHook);
+ });
+
it('sets invalid cacheMarkup value to 0', () => {
const s2sConfig = Object.assign({}, CONFIG, {
cacheMarkup: 999
diff --git a/test/spec/modules/pubmaticBidAdapter_spec.js b/test/spec/modules/pubmaticBidAdapter_spec.js
index cbf17f9478a..7ea10315a4e 100644
--- a/test/spec/modules/pubmaticBidAdapter_spec.js
+++ b/test/spec/modules/pubmaticBidAdapter_spec.js
@@ -44,7 +44,10 @@ describe('PubMatic adapter', () => {
'price': 1.3,
'adm': 'image3.pubmatic.com Layer based creative',
'h': 250,
- 'w': 300
+ 'w': 300,
+ 'ext': {
+ 'deal_channel': 6
+ }
}]
}]
}
@@ -136,8 +139,44 @@ describe('PubMatic adapter', () => {
expect(data.ext.wrapper.wv).to.equal(constants.REPO_AND_VERSION); // Wrapper Version
expect(data.ext.wrapper.transactionId).to.equal(bidRequests[0].transactionId); // Prebid TransactionId
expect(data.ext.wrapper.wiid).to.equal(bidRequests[0].params.wiid); // OpenWrap: Wrapper Impression ID
- expect(data.ext.wrapper.profile).to.equal(bidRequests[0].params.profId); // OpenWrap: Wrapper Profile ID
- expect(data.ext.wrapper.version).to.equal(bidRequests[0].params.verId); // OpenWrap: Wrapper Profile Version ID
+ expect(data.ext.wrapper.profile).to.equal(parseInt(bidRequests[0].params.profId)); // OpenWrap: Wrapper Profile ID
+ expect(data.ext.wrapper.version).to.equal(parseInt(bidRequests[0].params.verId)); // OpenWrap: Wrapper Profile Version ID
+
+ expect(data.imp[0].id).to.equal(bidRequests[0].bidId); // Prebid bid id is passed as id
+ expect(data.imp[0].bidfloor).to.equal(parseFloat(bidRequests[0].params.kadfloor)); // kadfloor
+ expect(data.imp[0].tagid).to.equal('/15671365/DMDemo'); // tagid
+ expect(data.imp[0].banner.w).to.equal(300); // width
+ expect(data.imp[0].banner.h).to.equal(250); // height
+ expect(data.imp[0].ext.pmZoneId).to.equal(bidRequests[0].params.pmzoneid.split(',').slice(0, 50).map(id => id.trim()).join()); // pmzoneid
+ });
+
+ it('Request params check with GDPR Consent', () => {
+ let bidRequest = {
+ gdprConsent: {
+ consentString: 'kjfdniwjnifwenrif3',
+ gdprApplies: true
+ }
+ };
+ let request = spec.buildRequests(bidRequests, bidRequest);
+ let data = JSON.parse(request.data);
+ expect(data.user.ext.consent).to.equal('kjfdniwjnifwenrif3');
+ expect(data.regs.ext.gdpr).to.equal(1);
+ expect(data.at).to.equal(1); // auction type
+ expect(data.cur[0]).to.equal('USD'); // currency
+ expect(data.site.domain).to.be.a('string'); // domain should be set
+ expect(data.site.page).to.equal(bidRequests[0].params.kadpageurl); // forced pageURL
+ expect(data.site.publisher.id).to.equal(bidRequests[0].params.publisherId); // publisher Id
+ expect(data.user.yob).to.equal(parseInt(bidRequests[0].params.yob)); // YOB
+ expect(data.user.gender).to.equal(bidRequests[0].params.gender); // Gender
+ expect(data.device.geo.lat).to.equal(parseFloat(bidRequests[0].params.lat)); // Latitude
+ expect(data.device.geo.lon).to.equal(parseFloat(bidRequests[0].params.lon)); // Lognitude
+ expect(data.user.geo.lat).to.equal(parseFloat(bidRequests[0].params.lat)); // Latitude
+ expect(data.user.geo.lon).to.equal(parseFloat(bidRequests[0].params.lon)); // Lognitude
+ expect(data.ext.wrapper.wv).to.equal(constants.REPO_AND_VERSION); // Wrapper Version
+ expect(data.ext.wrapper.transactionId).to.equal(bidRequests[0].transactionId); // Prebid TransactionId
+ expect(data.ext.wrapper.wiid).to.equal(bidRequests[0].params.wiid); // OpenWrap: Wrapper Impression ID
+ expect(data.ext.wrapper.profile).to.equal(parseInt(bidRequests[0].params.profId)); // OpenWrap: Wrapper Profile ID
+ expect(data.ext.wrapper.version).to.equal(parseInt(bidRequests[0].params.verId)); // OpenWrap: Wrapper Profile Version ID
expect(data.imp[0].id).to.equal(bidRequests[0].bidId); // Prebid bid id is passed as id
expect(data.imp[0].bidfloor).to.equal(parseFloat(bidRequests[0].params.kadfloor)); // kadfloor
@@ -175,6 +214,24 @@ describe('PubMatic adapter', () => {
expect(response[0].referrer).to.include(utils.getTopWindowUrl());
expect(response[0].ad).to.equal(bidResponses.body.seatbid[0].bid[0].adm);
});
+
+ it('should check for dealChannel value selection', () => {
+ let request = spec.buildRequests(bidRequests);
+ let response = spec.interpretResponse(bidResponses, request);
+ expect(response).to.be.an('array').with.length.above(0);
+ expect(response[0].dealChannel).to.equal('PMPG');
+ });
+
+ it('should check for unexpected dealChannel value selection', () => {
+ let request = spec.buildRequests(bidRequests);
+ let updateBiResponse = bidResponses;
+ updateBiResponse.body.seatbid[0].bid[0].ext.deal_channel = 11;
+
+ let response = spec.interpretResponse(updateBiResponse, request);
+
+ expect(response).to.be.an('array').with.length.above(0);
+ expect(response[0].dealChannel).to.equal(null);
+ });
});
});
});
diff --git a/test/spec/unit/core/adapterManager_spec.js b/test/spec/unit/core/adapterManager_spec.js
index 39e468d4959..8b1c164a804 100644
--- a/test/spec/unit/core/adapterManager_spec.js
+++ b/test/spec/unit/core/adapterManager_spec.js
@@ -716,141 +716,171 @@ describe('adapterManager tests', () => {
expect(AdapterManager.videoAdapters).to.include(alias);
});
});
+ });
+
+ describe('makeBidRequests', () => {
+ let adUnits;
+ beforeEach(() => {
+ adUnits = utils.deepClone(getAdUnits()).map(adUnit => {
+ adUnit.bids = adUnit.bids.filter(bid => includes(['appnexus', 'rubicon'], bid.bidder));
+ return adUnit;
+ })
+ });
- describe('makeBidRequests', () => {
- let adUnits;
+ describe('setBidderSequence', () => {
beforeEach(() => {
- adUnits = utils.deepClone(getAdUnits()).map(adUnit => {
- adUnit.bids = adUnit.bids.filter(bid => includes(['appnexus', 'rubicon'], bid.bidder));
- return adUnit;
- })
+ sinon.spy(utils, 'shuffle');
});
- describe('setBidderSequence', () => {
- beforeEach(() => {
- sinon.spy(utils, 'shuffle');
- });
-
- afterEach(() => {
- config.resetConfig();
- utils.shuffle.restore();
- });
+ afterEach(() => {
+ config.resetConfig();
+ utils.shuffle.restore();
+ });
- it('setting to `random` uses shuffled order of adUnits', () => {
- config.setConfig({ bidderSequence: 'random' });
- let bidRequests = AdapterManager.makeBidRequests(
- adUnits,
- Date.now(),
- utils.getUniqueIdentifierStr(),
- function callback() {},
- []
- );
- sinon.assert.calledOnce(utils.shuffle);
- });
+ it('setting to `random` uses shuffled order of adUnits', () => {
+ config.setConfig({ bidderSequence: 'random' });
+ let bidRequests = AdapterManager.makeBidRequests(
+ adUnits,
+ Date.now(),
+ utils.getUniqueIdentifierStr(),
+ function callback() {},
+ []
+ );
+ sinon.assert.calledOnce(utils.shuffle);
});
+ });
- describe('sizeMapping', () => {
- beforeEach(() => {
- sinon.stub(window, 'matchMedia').callsFake(() => ({matches: true}));
- });
+ describe('sizeMapping', () => {
+ beforeEach(() => {
+ sinon.stub(window, 'matchMedia').callsFake(() => ({matches: true}));
+ });
- afterEach(() => {
- matchMedia.restore();
- setSizeConfig([]);
- });
+ afterEach(() => {
+ matchMedia.restore();
+ setSizeConfig([]);
+ });
- it('should not filter bids w/ no labels', () => {
- let bidRequests = AdapterManager.makeBidRequests(
- adUnits,
- Date.now(),
- utils.getUniqueIdentifierStr(),
- function callback() {},
- []
- );
-
- expect(bidRequests.length).to.equal(2);
- let rubiconBidRequests = find(bidRequests, bidRequest => bidRequest.bidderCode === 'rubicon');
- expect(rubiconBidRequests.bids.length).to.equal(1);
- expect(rubiconBidRequests.bids[0].sizes).to.deep.equal(find(adUnits, adUnit => adUnit.code === rubiconBidRequests.bids[0].adUnitCode).sizes);
-
- let appnexusBidRequests = find(bidRequests, bidRequest => bidRequest.bidderCode === 'appnexus');
- expect(appnexusBidRequests.bids.length).to.equal(2);
- expect(appnexusBidRequests.bids[0].sizes).to.deep.equal(find(adUnits, adUnit => adUnit.code === appnexusBidRequests.bids[0].adUnitCode).sizes);
- expect(appnexusBidRequests.bids[1].sizes).to.deep.equal(find(adUnits, adUnit => adUnit.code === appnexusBidRequests.bids[1].adUnitCode).sizes);
- });
+ it('should not filter bids w/ no labels', () => {
+ let bidRequests = AdapterManager.makeBidRequests(
+ adUnits,
+ Date.now(),
+ utils.getUniqueIdentifierStr(),
+ function callback() {},
+ []
+ );
+
+ expect(bidRequests.length).to.equal(2);
+ let rubiconBidRequests = find(bidRequests, bidRequest => bidRequest.bidderCode === 'rubicon');
+ expect(rubiconBidRequests.bids.length).to.equal(1);
+ expect(rubiconBidRequests.bids[0].sizes).to.deep.equal(find(adUnits, adUnit => adUnit.code === rubiconBidRequests.bids[0].adUnitCode).sizes);
+
+ let appnexusBidRequests = find(bidRequests, bidRequest => bidRequest.bidderCode === 'appnexus');
+ expect(appnexusBidRequests.bids.length).to.equal(2);
+ expect(appnexusBidRequests.bids[0].sizes).to.deep.equal(find(adUnits, adUnit => adUnit.code === appnexusBidRequests.bids[0].adUnitCode).sizes);
+ expect(appnexusBidRequests.bids[1].sizes).to.deep.equal(find(adUnits, adUnit => adUnit.code === appnexusBidRequests.bids[1].adUnitCode).sizes);
+ });
- it('should filter sizes using size config', () => {
- let validSizes = [
- [728, 90],
- [300, 250]
- ];
-
- let validSizeMap = validSizes.map(size => size.toString()).reduce((map, size) => {
- map[size] = true;
- return map;
- }, {});
-
- setSizeConfig([{
- 'mediaQuery': '(min-width: 768px) and (max-width: 1199px)',
- 'sizesSupported': validSizes,
- 'labels': ['tablet', 'phone']
- }]);
-
- let bidRequests = AdapterManager.makeBidRequests(
- adUnits,
- Date.now(),
- utils.getUniqueIdentifierStr(),
- function callback() {},
- []
- );
+ it('should filter sizes using size config', () => {
+ let validSizes = [
+ [728, 90],
+ [300, 250]
+ ];
+
+ let validSizeMap = validSizes.map(size => size.toString()).reduce((map, size) => {
+ map[size] = true;
+ return map;
+ }, {});
+
+ setSizeConfig([{
+ 'mediaQuery': '(min-width: 768px) and (max-width: 1199px)',
+ 'sizesSupported': validSizes,
+ 'labels': ['tablet', 'phone']
+ }]);
+
+ let bidRequests = AdapterManager.makeBidRequests(
+ adUnits,
+ Date.now(),
+ utils.getUniqueIdentifierStr(),
+ function callback() {},
+ []
+ );
// only valid sizes as specified in size config should show up in bidRequests
- bidRequests.forEach(bidRequest => {
- bidRequest.bids.forEach(bid => {
- bid.sizes.forEach(size => {
- expect(validSizeMap[size]).to.equal(true);
- });
+ bidRequests.forEach(bidRequest => {
+ bidRequest.bids.forEach(bid => {
+ bid.sizes.forEach(size => {
+ expect(validSizeMap[size]).to.equal(true);
});
});
-
- setSizeConfig([{
- 'mediaQuery': '(min-width: 768px) and (max-width: 1199px)',
- 'sizesSupported': [],
- 'labels': ['tablet', 'phone']
- }]);
-
- bidRequests = AdapterManager.makeBidRequests(
- adUnits,
- Date.now(),
- utils.getUniqueIdentifierStr(),
- function callback() {},
- []
- );
-
- // if no valid sizes, all bidders should be filtered out
- expect(bidRequests.length).to.equal(0);
});
- it('should filter adUnits/bidders based on applied labels', () => {
- adUnits[0].labelAll = ['visitor-uk', 'mobile'];
- adUnits[1].labelAny = ['visitor-uk', 'desktop'];
- adUnits[1].bids[0].labelAny = ['mobile'];
- adUnits[1].bids[1].labelAll = ['desktop'];
+ setSizeConfig([{
+ 'mediaQuery': '(min-width: 768px) and (max-width: 1199px)',
+ 'sizesSupported': [],
+ 'labels': ['tablet', 'phone']
+ }]);
+
+ bidRequests = AdapterManager.makeBidRequests(
+ adUnits,
+ Date.now(),
+ utils.getUniqueIdentifierStr(),
+ function callback() {},
+ []
+ );
+
+ // if no valid sizes, all bidders should be filtered out
+ expect(bidRequests.length).to.equal(0);
+ });
+
+ it('should filter adUnits/bidders based on applied labels', () => {
+ adUnits[0].labelAll = ['visitor-uk', 'mobile'];
+ adUnits[1].labelAny = ['visitor-uk', 'desktop'];
+ adUnits[1].bids[0].labelAny = ['mobile'];
+ adUnits[1].bids[1].labelAll = ['desktop'];
- let bidRequests = AdapterManager.makeBidRequests(
- adUnits,
- Date.now(),
- utils.getUniqueIdentifierStr(),
- function callback() {},
- ['visitor-uk', 'desktop']
- );
+ let bidRequests = AdapterManager.makeBidRequests(
+ adUnits,
+ Date.now(),
+ utils.getUniqueIdentifierStr(),
+ function callback() {},
+ ['visitor-uk', 'desktop']
+ );
// only one adUnit and one bid from that adUnit should make it through the applied labels above
- expect(bidRequests.length).to.equal(1);
- expect(bidRequests[0].bidderCode).to.equal('rubicon');
- expect(bidRequests[0].bids.length).to.equal(1);
- expect(bidRequests[0].bids[0].adUnitCode).to.equal(adUnits[1].code);
+ expect(bidRequests.length).to.equal(1);
+ expect(bidRequests[0].bidderCode).to.equal('rubicon');
+ expect(bidRequests[0].bids.length).to.equal(1);
+ expect(bidRequests[0].bids[0].adUnitCode).to.equal(adUnits[1].code);
+ });
+ });
+
+ describe('gdpr consent module', () => {
+ it('inserts gdprConsent object to bidRequest only when module was enabled', () => {
+ AdapterManager.gdprDataHandler.setConsentData({
+ consentString: 'abc123def456',
+ consentRequired: true
});
+
+ let bidRequests = AdapterManager.makeBidRequests(
+ adUnits,
+ Date.now(),
+ utils.getUniqueIdentifierStr(),
+ function callback() {},
+ []
+ );
+ expect(bidRequests[0].gdprConsent.consentString).to.equal('abc123def456');
+ expect(bidRequests[0].gdprConsent.consentRequired).to.be.true;
+
+ AdapterManager.gdprDataHandler.setConsentData(null);
+
+ bidRequests = AdapterManager.makeBidRequests(
+ adUnits,
+ Date.now(),
+ utils.getUniqueIdentifierStr(),
+ function callback() {},
+ []
+ );
+ expect(bidRequests[0].gdprConsent).to.be.undefined;
});
});
});
diff --git a/test/spec/utils_spec.js b/test/spec/utils_spec.js
index f86840dbdba..9218409c46c 100755
--- a/test/spec/utils_spec.js
+++ b/test/spec/utils_spec.js
@@ -359,6 +359,33 @@ describe('Utils', function () {
});
});
+ describe('isPlainObject', function () {
+ it('should return false with input string', function () {
+ var output = utils.isPlainObject(obj_string);
+ assert.deepEqual(output, false);
+ });
+
+ it('should return false with input number', function () {
+ var output = utils.isPlainObject(obj_number);
+ assert.deepEqual(output, false);
+ });
+
+ it('should return true with input object', function () {
+ var output = utils.isPlainObject(obj_object);
+ assert.deepEqual(output, true);
+ });
+
+ it('should return false with input array', function () {
+ var output = utils.isPlainObject(obj_array);
+ assert.deepEqual(output, false);
+ });
+
+ it('should return false with input function', function () {
+ var output = utils.isPlainObject(obj_function);
+ assert.deepEqual(output, false);
+ });
+ });
+
describe('isEmpty', function () {
it('should return true with empty object', function () {
var output = utils.isEmpty(obj_object);
From 4dcb04667e614e71893f3b5c917e6b6f0d14ab2e Mon Sep 17 00:00:00 2001
From: Matt Kendall <1870166+mkendall07@users.noreply.github.com>
Date: Tue, 1 May 2018 11:44:26 -0400
Subject: [PATCH 112/171] added whitelist for loading external JS + tests
(#2430)
* added whitelist for loading external JS + tests
* fixed import
* remove unused import
---
src/adloader.js | 27 ++++++++++++-----
test/spec/adloader_spec.js | 31 ++++++++++++++++++--
test/spec/modules/appnexusBidAdapter_spec.js | 14 ---------
3 files changed, 48 insertions(+), 24 deletions(-)
diff --git a/src/adloader.js b/src/adloader.js
index 6f2bd112712..e0f2ba46cff 100644
--- a/src/adloader.js
+++ b/src/adloader.js
@@ -1,8 +1,14 @@
-var utils = require('./utils');
-let _requestCache = {};
+import includes from 'core-js/library/fn/array/includes';
+import * as utils from './utils';
+
+const _requestCache = {};
+const _vendorWhitelist = [
+ 'criteo',
+]
/**
* Loads external javascript. Can only be used if external JS is approved by Prebid. See https://github.com/prebid/prebid-js-external-js-template#policy
+ * Each unique URL will be loaded at most 1 time.
* @param {string} url the url to load
* @param {string} moduleCode bidderCode or module code of the module requesting this resource
*/
@@ -11,18 +17,23 @@ exports.loadExternalScript = function(url, moduleCode) {
utils.logError('cannot load external script without url and moduleCode');
return;
}
+ if (!includes(_vendorWhitelist, moduleCode)) {
+ utils.logError(`${moduleCode} not whitelisted for loading external JavaScript`);
+ return;
+ }
+ // only load each asset once
+ if (_requestCache[url]) {
+ return;
+ }
+
utils.logWarn(`module ${moduleCode} is loading external JavaScript`);
const script = document.createElement('script');
script.type = 'text/javascript';
script.async = true;
-
script.src = url;
- // add the new script tag to the page
- const target = document.head || document.body;
- if (target) {
- target.appendChild(script);
- }
+ utils.insertElement(script);
+ _requestCache[url] = true;
};
/**
diff --git a/test/spec/adloader_spec.js b/test/spec/adloader_spec.js
index 951631d7eac..55224cb0aab 100644
--- a/test/spec/adloader_spec.js
+++ b/test/spec/adloader_spec.js
@@ -1,4 +1,31 @@
+import * as utils from 'src/utils';
+import * as adLoader from 'src/adloader';
+
describe('adLoader', function () {
- var assert = require('chai').assert,
- adLoader = require('../../src/adloader');
+ let utilsinsertElementStub;
+ let utilsLogErrorStub;
+
+ beforeEach(() => {
+ utilsinsertElementStub = sinon.stub(utils, 'insertElement');
+ utilsLogErrorStub = sinon.stub(utils, 'logError');
+ });
+
+ afterEach(() => {
+ utilsinsertElementStub.restore();
+ utilsLogErrorStub.restore();
+ });
+
+ describe('loadExternalScript', () => {
+ it('requires moduleCode to be included on the request', () => {
+ adLoader.loadExternalScript('someURL');
+ expect(utilsLogErrorStub.called).to.be.true;
+ expect(utilsinsertElementStub.called).to.be.false;
+ });
+
+ it('only allows whitelisted vendors to load scripts', () => {
+ adLoader.loadExternalScript('someURL', 'criteo');
+ expect(utilsLogErrorStub.called).to.be.false;
+ expect(utilsinsertElementStub.called).to.be.true;
+ });
+ });
});
diff --git a/test/spec/modules/appnexusBidAdapter_spec.js b/test/spec/modules/appnexusBidAdapter_spec.js
index 53fbf390a6e..abfd50d1746 100644
--- a/test/spec/modules/appnexusBidAdapter_spec.js
+++ b/test/spec/modules/appnexusBidAdapter_spec.js
@@ -3,8 +3,6 @@ import { spec } from 'modules/appnexusBidAdapter';
import { newBidder } from 'src/adapters/bidderFactory';
import { deepClone } from 'src/utils';
-const adloader = require('../../../src/adloader');
-
const ENDPOINT = '//ib.adnxs.com/ut/v3/prebid';
describe('AppNexusAdapter', () => {
@@ -331,18 +329,6 @@ describe('AppNexusAdapter', () => {
})
describe('interpretResponse', () => {
- let loadScriptStub;
-
- beforeEach(() => {
- loadScriptStub = sinon.stub(adloader, 'loadScript').callsFake((...args) => {
- args[1]();
- });
- });
-
- afterEach(() => {
- loadScriptStub.restore();
- });
-
let response = {
'version': '3.0.0',
'tags': [
From 64f342abea047152dde37a1a386097dcf5477b50 Mon Sep 17 00:00:00 2001
From: Matt Lane
Date: Tue, 1 May 2018 09:13:06 -0700
Subject: [PATCH 113/171] Add note about headerbid expert (#2367)
---
PR_REVIEW.md | 1 +
1 file changed, 1 insertion(+)
diff --git a/PR_REVIEW.md b/PR_REVIEW.md
index 2a870d9e2f6..012a2d8b501 100644
--- a/PR_REVIEW.md
+++ b/PR_REVIEW.md
@@ -34,6 +34,7 @@ For modules and core platform updates, the initial reviewer should request an ad
- Adapters may not use the $$PREBID_GLOBAL$$ variable
- All adapters must support the creation of multiple concurrent instances. This means, for example, that adapters cannot rely on mutable global variables.
- Adapters may not globally override or default the standard ad server targeting values: hb_adid, hb_bidder, hb_pb, hb_deal, or hb_size, hb_source, hb_format.
+- After a new adapter is approved, let the submitter know they may open a PR in the [headerbid-expert repository](https://github.com/prebid/headerbid-expert) to have their adapter recognized by the [Headerbid Expert extension](https://chrome.google.com/webstore/detail/headerbid-expert/cgfkddgbnfplidghapbbnngaogeldmop). The PR should be to the [bidder patterns file](https://github.com/prebid/headerbid-expert/blob/master/bidderPatterns.js), adding an entry with their adapter's name and the url the adapter uses to send and receive bid responses.
## Ticket Coordinator
From a4913ead842cd40bb5a3d384a5bd184a61be8ea4 Mon Sep 17 00:00:00 2001
From: Jason Snellbaker
Date: Tue, 1 May 2018 15:18:41 -0400
Subject: [PATCH 114/171] Prebid 1.9.0 Release
---
package.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/package.json b/package.json
index bb8afc62998..92d79cdd7ea 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "prebid.js",
- "version": "1.9.0-pre",
+ "version": "1.9.0",
"description": "Header Bidding Management Library",
"main": "src/prebid.js",
"scripts": {
From ab0386decead1b70afc9dc46aa7d6930bc360fae Mon Sep 17 00:00:00 2001
From: Jason Snellbaker
Date: Tue, 1 May 2018 16:19:03 -0400
Subject: [PATCH 115/171] Increment Prebid version
---
package.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/package.json b/package.json
index 92d79cdd7ea..44c54b468f6 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "prebid.js",
- "version": "1.9.0",
+ "version": "1.10.0-pre",
"description": "Header Bidding Management Library",
"main": "src/prebid.js",
"scripts": {
From 9416e7500064136fa4f3b48bf8f2ddc98613ca32 Mon Sep 17 00:00:00 2001
From: rachelrj
Date: Tue, 1 May 2018 15:14:13 -0600
Subject: [PATCH 116/171] GDPR support for Sovrn Adapter (#2475)
* fix sovrn dealid
* send 'iv' param if present
* `page` field in `site` object sends full url
* Enhance location detection within util function.
* fix func call
* fix tagid var type
* add test for converting tagid to string
* CR
* Reorg gettopwindowlocation util & add tests.
* lint fixes
* search param is string in window location objects
* set creativeId to crid if present in response
* send gdpr info
---
modules/sovrnBidAdapter.js | 13 +++++++++++-
test/spec/modules/sovrnBidAdapter_spec.js | 25 ++++++++++++++++++++++-
2 files changed, 36 insertions(+), 2 deletions(-)
diff --git a/modules/sovrnBidAdapter.js b/modules/sovrnBidAdapter.js
index 3a70a0ed433..6d67288cf09 100644
--- a/modules/sovrnBidAdapter.js
+++ b/modules/sovrnBidAdapter.js
@@ -21,7 +21,7 @@ export const spec = {
* @param {BidRequest[]} bidRequests Array of Sovrn bidders
* @return object of parameters for Prebid AJAX request
*/
- buildRequests: function(bidReqs) {
+ buildRequests: function(bidReqs, bidderRequest) {
const loc = utils.getTopWindowLocation();
let sovrnImps = [];
let iv;
@@ -44,6 +44,17 @@ export const spec = {
};
if (iv) sovrnBidReq.iv = iv;
+ if (bidderRequest && bidderRequest.gdprConsent) {
+ sovrnBidReq.regs = {
+ ext: {
+ gdpr: +bidderRequest.gdprConsent.gdprApplies
+ }};
+ sovrnBidReq.user = {
+ ext: {
+ consent: bidderRequest.gdprConsent.consentString
+ }};
+ }
+
return {
method: 'POST',
url: `//ap.lijit.com/rtb/bid?src=${REPO_AND_VERSION}`,
diff --git a/test/spec/modules/sovrnBidAdapter_spec.js b/test/spec/modules/sovrnBidAdapter_spec.js
index 9ad25753186..b19b79c7886 100644
--- a/test/spec/modules/sovrnBidAdapter_spec.js
+++ b/test/spec/modules/sovrnBidAdapter_spec.js
@@ -82,7 +82,30 @@ describe('sovrnBidAdapter', function() {
const request = spec.buildRequests(ivBidRequests);
expect(request.data).to.contain('"iv":"vet"')
- })
+ });
+
+ it('sends gdpr info if exists', () => {
+ let consentString = 'BOJ8RZsOJ8RZsABAB8AAAAAZ+A==';
+ let bidderRequest = {
+ 'bidderCode': 'sovrn',
+ 'auctionId': '1d1a030790a475',
+ 'bidderRequestId': '22edbae2733bf6',
+ 'timeout': 3000,
+ 'gdprConsent': {
+ consentString: consentString,
+ gdprApplies: true
+ }
+ };
+ bidderRequest.bids = bidRequests;
+
+ const request = spec.buildRequests(bidRequests, bidderRequest);
+ const payload = JSON.parse(request.data);
+
+ expect(payload.regs.ext.gdpr).to.exist.and.to.be.a('number');
+ expect(payload.regs.ext.gdpr).to.equal(1);
+ expect(payload.user.ext.consent).to.exist.and.to.be.a('string');
+ expect(payload.user.ext.consent).to.equal(consentString);
+ });
it('converts tagid to string', () => {
const ivBidRequests = [{
From 06544745313159c3dbc5d5211754bb579e596736 Mon Sep 17 00:00:00 2001
From: Zhaoyong Ma <33766472+moonshells@users.noreply.github.com>
Date: Tue, 1 May 2018 14:22:12 -0700
Subject: [PATCH 117/171] send rp_secure to frank for video bids (#2476)
* send rp_secure to frank for video bids
* remove the workaround
* update unit test
---
modules/rubiconBidAdapter.js | 3 +--
test/spec/modules/rubiconBidAdapter_spec.js | 5 ++++-
2 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/modules/rubiconBidAdapter.js b/modules/rubiconBidAdapter.js
index ea88886b753..bf2930e5684 100644
--- a/modules/rubiconBidAdapter.js
+++ b/modules/rubiconBidAdapter.js
@@ -132,8 +132,6 @@ export const spec = {
page_url = utils.getTopWindowUrl();
}
- page_url = bidRequest.params.secure ? page_url.replace(/^http:/i, 'https:') : page_url;
-
// GDPR reference, for use by 'banner' and 'video'
const gdprConsent = bidderRequest.gdprConsent;
@@ -150,6 +148,7 @@ export const spec = {
timeout: bidderRequest.timeout - (Date.now() - bidderRequest.auctionStart + TIMEOUT_BUFFER),
stash_creatives: true,
ae_pass_through_parameters: params.video.aeParams,
+ rp_secure: bidRequest.params.secure !== false,
slots: []
};
diff --git a/test/spec/modules/rubiconBidAdapter_spec.js b/test/spec/modules/rubiconBidAdapter_spec.js
index e3ffef9997e..e6f4d873ca5 100644
--- a/test/spec/modules/rubiconBidAdapter_spec.js
+++ b/test/spec/modules/rubiconBidAdapter_spec.js
@@ -72,6 +72,7 @@ describe('the rubicon adapter', () => {
'p_aso.video.ext.skipdelay': '15'
}
};
+ bid.params.secure = false;
}
function createVideoBidderRequestNoVideo() {
@@ -274,7 +275,7 @@ describe('the rubicon adapter', () => {
bidderRequest.bids[0].params.secure = true;
[request] = spec.buildRequests(bidderRequest.bids, bidderRequest);
- expect(parseQuery(request.data).rf).to.equal('https://www.rubiconproject.com');
+ expect(parseQuery(request.data).rf).to.equal('http://www.rubiconproject.com');
});
it('should use rubicon sizes if present (including non-mappable sizes)', () => {
@@ -608,6 +609,7 @@ describe('the rubicon adapter', () => {
expect(post).to.have.property('timeout').that.is.a('number');
expect(post.timeout < 5000).to.equal(true);
expect(post.stash_creatives).to.equal(true);
+ expect(post.rp_secure).to.equal(false);
expect(post.gdpr_consent).to.equal('BOJ/P2HOJ/P2HABABMAAAAAZ+A==');
expect(post.gdpr).to.equal(1);
@@ -671,6 +673,7 @@ describe('the rubicon adapter', () => {
expect(post).to.have.property('timeout').that.is.a('number');
expect(post.timeout < 5000).to.equal(true);
expect(post.stash_creatives).to.equal(true);
+ expect(post.rp_secure).to.equal(true);
expect(post.gdpr_consent).to.equal('BOJ/P2HOJ/P2HABABMAAAAAZ+A==');
expect(post.gdpr).to.equal(1);
From bea6ab011b7a1f503f1a5d20336052c2887890ba Mon Sep 17 00:00:00 2001
From: LeoWu
Date: Thu, 3 May 2018 20:33:19 +0800
Subject: [PATCH 118/171] add feature to bridgewellBidAdapter (#2480)
* [FEAT] support mediaTypes.banner.sizes
* [FEAT] init native
* [FEAT] init bw version
* [FEAT] hoist bidder version
---
modules/bridgewellBidAdapter.js | 125 ++-
modules/bridgewellBidAdapter.md | 37 +
.../spec/modules/bridgewellBidAdapter_spec.js | 738 +++++++++++++++++-
3 files changed, 895 insertions(+), 5 deletions(-)
diff --git a/modules/bridgewellBidAdapter.js b/modules/bridgewellBidAdapter.js
index 712b00ec51a..c57ac85bc09 100644
--- a/modules/bridgewellBidAdapter.js
+++ b/modules/bridgewellBidAdapter.js
@@ -1,12 +1,15 @@
import * as utils from 'src/utils';
import {registerBidder} from 'src/adapters/bidderFactory';
+import {BANNER, NATIVE} from 'src/mediaTypes';
import find from 'core-js/library/fn/array/find';
const BIDDER_CODE = 'bridgewell';
const REQUEST_ENDPOINT = '//rec.scupio.com/recweb/prebid.aspx?cb=' + Math.random();
+const BIDDER_VERSION = '0.0.1';
export const spec = {
code: BIDDER_CODE,
+ supportedMediaTypes: [BANNER, NATIVE],
/**
* Determines whether or not the given bid request is valid.
@@ -59,6 +62,10 @@ export const spec = {
method: 'POST',
url: REQUEST_ENDPOINT,
data: {
+ version: {
+ prebid: '$prebid.version$',
+ bridgewell: BIDDER_VERSION
+ },
adUnits: adUnits
},
validBidRequests: validBidRequests
@@ -104,7 +111,7 @@ export const spec = {
});
}
- if (sizeValid) { // dont care native sizes
+ if (sizeValid || (mediaTypes && mediaTypes.native)) { // dont care native sizes
valid = true;
}
}
@@ -120,23 +127,133 @@ export const spec = {
// check required parameters
if (typeof matchedResponse.cpm !== 'number') {
return;
- } else if (typeof matchedResponse.ad !== 'string') {
- return;
} else if (typeof matchedResponse.netRevenue !== 'boolean') {
return;
} else if (typeof matchedResponse.currency !== 'string') {
return;
+ } else if (typeof matchedResponse.mediaType !== 'string') {
+ return;
}
bidResponse.requestId = req.bidId;
bidResponse.cpm = matchedResponse.cpm * req.params.cpmWeight;
bidResponse.width = matchedResponse.width;
bidResponse.height = matchedResponse.height;
- bidResponse.ad = matchedResponse.ad;
bidResponse.ttl = matchedResponse.ttl;
bidResponse.creativeId = matchedResponse.id;
bidResponse.netRevenue = matchedResponse.netRevenue;
bidResponse.currency = matchedResponse.currency;
+ bidResponse.mediaType = matchedResponse.mediaType;
+
+ // check required parameters by matchedResponse.mediaType
+ switch (matchedResponse.mediaType) {
+ case BANNER:
+ // check banner required parameters
+ if (typeof matchedResponse.ad !== 'string') {
+ return;
+ }
+
+ bidResponse.ad = matchedResponse.ad;
+ break;
+ case NATIVE:
+ // check native required parameters
+ if (!matchedResponse.native) {
+ return;
+ }
+
+ let req_nativeLayout = req.mediaTypes.native;
+ let res_native = matchedResponse.native;
+
+ // check title
+ let title = req_nativeLayout.title;
+ if (title && title.required) {
+ if (typeof res_native.title !== 'string') {
+ return;
+ } else if (title.len && title.len < res_native.title.length) {
+ return;
+ }
+ }
+
+ // check body
+ let body = req_nativeLayout.body;
+ if (body && body.required) {
+ if (typeof res_native.body !== 'string') {
+ return;
+ }
+ }
+
+ // check image
+ let image = req_nativeLayout.image;
+ if (image && image.required) {
+ if (res_native.image) {
+ if (typeof res_native.image.url !== 'string') { // check image url
+ return;
+ } else {
+ if (res_native.image.width !== image.sizes[0] || res_native.image.height !== image.sizes[1]) { // check image sizes
+ return;
+ }
+ }
+ } else {
+ return;
+ }
+ }
+
+ // check sponsoredBy
+ let sponsoredBy = req_nativeLayout.sponsoredBy;
+ if (sponsoredBy && sponsoredBy.required) {
+ if (typeof res_native.sponsoredBy !== 'string') {
+ return;
+ }
+ }
+
+ // check icon
+ let icon = req_nativeLayout.icon;
+ if (icon && icon.required) {
+ if (res_native.icon) {
+ if (typeof res_native.icon.url !== 'string') { // check icon url
+ return;
+ } else {
+ if (res_native.icon.width !== icon.sizes[0] || res_native.icon.height !== icon.sizes[0]) { // check image sizes
+ return;
+ }
+ }
+ } else {
+ return;
+ }
+ }
+
+ // check clickUrl
+ if (typeof res_native.clickUrl !== 'string') {
+ return;
+ }
+
+ // check clickTracker
+ let clickTrackers = res_native.clickTrackers;
+ if (clickTrackers) {
+ if (clickTrackers.length === 0) {
+ return;
+ }
+ } else {
+ return;
+ }
+
+ // check impressionTrackers
+ let impressionTrackers = res_native.impressionTrackers;
+ if (impressionTrackers) {
+ if (impressionTrackers.length === 0) {
+ return;
+ }
+ } else {
+ return;
+ }
+
+ bidResponse.native = matchedResponse.native;
+
+ break;
+
+ default: // response mediaType is not supported
+ return;
+ }
bidResponses.push(bidResponse);
}
diff --git a/modules/bridgewellBidAdapter.md b/modules/bridgewellBidAdapter.md
index 6e542af18a7..014be62ccef 100644
--- a/modules/bridgewellBidAdapter.md
+++ b/modules/bridgewellBidAdapter.md
@@ -55,5 +55,42 @@ Module that connects to Bridgewell demand source to fetch bids.
ChannelID: 'CgUxMjMzOBIBNiIGcGVubnkzKggI2AUQWhoBOQ'
}
}]
+ }, {
+ code: 'test-div',
+ sizes: [1, 1],
+ mediaTypes: {
+ native: {
+ title: {
+ required: true,
+ len: 80
+ },
+ body: {
+ required: true
+ },
+ image: {
+ required: true,
+ sizes: [150, 50]
+ },
+ icon: {
+ required: false,
+ sizes: [50, 50]
+ },
+ clickUrl: {
+ required: true
+ },
+ cta: {
+ required: false
+ },
+ sponsoredBy: {
+ required: false
+ }
+ }
+ },
+ bids: [{
+ bidder: 'bridgewell',
+ params: {
+ ChannelID: 'CgUxMjMzOBIBNiIGcGVubnkzKggI2AUQWhoBOQ'
+ }
+ }]
}];
```
diff --git a/test/spec/modules/bridgewellBidAdapter_spec.js b/test/spec/modules/bridgewellBidAdapter_spec.js
index 8615531f88f..5dae3c474ac 100644
--- a/test/spec/modules/bridgewellBidAdapter_spec.js
+++ b/test/spec/modules/bridgewellBidAdapter_spec.js
@@ -87,6 +87,84 @@ describe('bridgewellBidAdapter', function () {
'bidId': '3150ccb55da321',
'bidderRequestId': '22edbae2733bf6',
'auctionId': '1d1a030790a475',
+ },
+ {
+ 'bidder': 'bridgewell',
+ 'params': {
+ 'ChannelID': 'CgUxMjMzOBIBNiIGcGVubnkzKggI2AUQWhoBOQ',
+ },
+ 'adUnitCode': 'adunit-code-2',
+ 'sizes': [1, 1],
+ 'mediaTypes': {
+ 'native': {
+ 'title': {
+ 'required': true,
+ 'len': 15
+ },
+ 'body': {
+ 'required': true
+ },
+ 'image': {
+ 'required': true,
+ 'sizes': [150, 150]
+ },
+ 'icon': {
+ 'required': true,
+ 'sizes': [50, 50]
+ },
+ 'clickUrl': {
+ 'required': true
+ },
+ 'cta': {
+ 'required': true
+ },
+ 'sponsoredBy': {
+ 'required': true
+ }
+ }
+ },
+ 'bidId': '3150ccb55da321',
+ 'bidderRequestId': '22edbae2733bf6',
+ 'auctionId': '1d1a030790a475',
+ },
+ {
+ 'bidder': 'bridgewell',
+ 'params': {
+ 'ChannelID': 'CgUxMjMzOBIBNiIGcGVubnkzKggI2AUQWhoBOQ',
+ },
+ 'adUnitCode': 'adunit-code-2',
+ 'sizes': [1, 1],
+ 'mediaTypes': {
+ 'native': {
+ 'title': {
+ 'required': false,
+ 'len': 15
+ },
+ 'body': {
+ 'required': false
+ },
+ 'image': {
+ 'required': false,
+ 'sizes': [150, 150]
+ },
+ 'icon': {
+ 'required': false,
+ 'sizes': [50, 50]
+ },
+ 'clickUrl': {
+ 'required': false
+ },
+ 'cta': {
+ 'required': false
+ },
+ 'sponsoredBy': {
+ 'required': false
+ }
+ }
+ },
+ 'bidId': '3150ccb55da321',
+ 'bidderRequestId': '22edbae2733bf6',
+ 'auctionId': '1d1a030790a475',
}
];
const adapter = newBidder(spec);
@@ -224,6 +302,7 @@ describe('bridgewellBidAdapter', function () {
'cpm': 5.0,
'width': 300,
'height': 250,
+ 'mediaType': 'banner',
'ad': 'test 300x250
',
'ttl': 360,
'netRevenue': true,
@@ -235,6 +314,7 @@ describe('bridgewellBidAdapter', function () {
'cpm': 5.0,
'width': 728,
'height': 90,
+ 'mediaType': 'banner',
'ad': 'test 728x90
',
'ttl': 360,
'netRevenue': true,
@@ -246,6 +326,7 @@ describe('bridgewellBidAdapter', function () {
'cpm': 5.0,
'width': 300,
'height': 250,
+ 'mediaType': 'banner',
'ad': 'test 300x250
',
'ttl': 360,
'netRevenue': true,
@@ -257,6 +338,7 @@ describe('bridgewellBidAdapter', function () {
'cpm': 5.0,
'width': 300,
'height': 250,
+ 'mediaType': 'banner',
'ad': 'test 300x250
',
'ttl': 360,
'netRevenue': true,
@@ -268,6 +350,7 @@ describe('bridgewellBidAdapter', function () {
'cpm': 5.0,
'width': 728,
'height': 90,
+ 'mediaType': 'banner',
'ad': 'test 728x90
',
'ttl': 360,
'netRevenue': true,
@@ -279,6 +362,7 @@ describe('bridgewellBidAdapter', function () {
'cpm': 5.0,
'width': 728,
'height': 90,
+ 'mediaType': 'banner',
'ad': 'test 728x90
',
'ttl': 360,
'netRevenue': true,
@@ -290,10 +374,69 @@ describe('bridgewellBidAdapter', function () {
'cpm': 5.0,
'width': 728,
'height': 90,
+ 'mediaType': 'banner',
'ad': 'test 728x90
',
'ttl': 360,
'netRevenue': true,
'currency': 'NTD'
+ },
+ {
+ 'id': '0e4048d3-5c74-4380-a21a-00ba35629f7d',
+ 'bidder_code': 'bridgewell',
+ 'cpm': 5.0,
+ 'width': 1,
+ 'height': 1,
+ 'mediaType': 'native',
+ 'native': {
+ 'image': {
+ 'url': 'https://img.scupio.com/test/test-image.jpg',
+ 'width': 150,
+ 'height': 150
+ },
+ 'title': 'test-title',
+ 'sponsoredBy': 'test-sponsoredBy',
+ 'body': 'test-body',
+ 'icon': {
+ 'url': 'https://img.scupio.com/test/test-icon.jpg',
+ 'width': 50,
+ 'height': 50
+ },
+ 'clickUrl': 'https://img.scupio.com/test-clickUrl',
+ 'clickTrackers': ['https://img.scupio.com/test-clickTracker'],
+ 'impressionTrackers': ['https://img.scupio.com/test-impressionTracker']
+ },
+ 'ttl': 360,
+ 'netRevenue': true,
+ 'currency': 'NTD'
+ },
+ {
+ 'id': '0e4048d3-5c74-4380-a21a-00ba35629f7d',
+ 'bidder_code': 'bridgewell',
+ 'cpm': 5.0,
+ 'width': 1,
+ 'height': 1,
+ 'mediaType': 'native',
+ 'native': {
+ 'image': {
+ 'url': 'https://img.scupio.com/test/test-image.jpg',
+ 'width': 150,
+ 'height': 150
+ },
+ 'title': 'test-title',
+ 'sponsoredBy': 'test-sponsoredBy',
+ 'body': 'test-body',
+ 'icon': {
+ 'url': 'https://img.scupio.com/test/test-icon.jpg',
+ 'width': 50,
+ 'height': 50
+ },
+ 'clickUrl': 'https://img.scupio.com/test-clickUrl',
+ 'clickTrackers': ['https://img.scupio.com/test-clickTracker'],
+ 'impressionTrackers': ['https://img.scupio.com/test-impressionTracker']
+ },
+ 'ttl': 360,
+ 'netRevenue': true,
+ 'currency': 'NTD'
}
];
@@ -305,7 +448,13 @@ describe('bridgewellBidAdapter', function () {
result.every(res => expect(res.ttl).to.be.a('number'));
result.every(res => expect(res.netRevenue).to.be.a('boolean'));
result.every(res => expect(res.currency).to.be.a('string'));
- result.every(res => expect(res.ad).to.be.a('string'));
+ result.every(res => {
+ if (res.ad) {
+ expect(res.ad).to.be.an('string');
+ } else if (res.native) {
+ expect(res.native).to.be.an('object');
+ }
+ });
});
it('should give up bid if server response is undefiend', () => {
@@ -384,6 +533,7 @@ describe('bridgewellBidAdapter', function () {
'cpm': 5.0,
'width': 300,
'height': 250,
+ 'mediaType': 'banner',
'ttl': 360,
'netRevenue': true,
'currency': 'NTD'
@@ -424,5 +574,591 @@ describe('bridgewellBidAdapter', function () {
const result = spec.interpretResponse({'body': [target]}, request);
expect(result).to.deep.equal([]);
});
+
+ it('should give up bid if mediaType is missing', () => {
+ let target = {
+ 'id': 'e5b10774-32bf-4931-85ee-05095e8cff21',
+ 'bidder_code': 'bridgewell',
+ 'cpm': 5.0,
+ 'width': 300,
+ 'height': 250,
+ 'ad': 'test 300x250
',
+ 'ttl': 360,
+ 'netRevenue': true,
+ 'currency': 'NTD'
+ };
+
+ const result = spec.interpretResponse({'body': [target]}, request);
+ expect(result).to.deep.equal([]);
+ });
+
+ it('should give up bid if property native of mediaType native is missing', () => {
+ let target = {
+ 'id': '0e4048d3-5c74-4380-a21a-00ba35629f7d',
+ 'bidder_code': 'bridgewell',
+ 'cpm': 5.0,
+ 'width': 1,
+ 'height': 1,
+ 'mediaType': 'native',
+ 'ttl': 360,
+ 'netRevenue': true,
+ 'currency': 'NTD'
+ };
+
+ const result = spec.interpretResponse({'body': [target]}, request);
+ expect(result).to.deep.equal([]);
+ });
+
+ it('should give up bid if native title is missing', () => {
+ let target = {
+ 'id': '0e4048d3-5c74-4380-a21a-00ba35629f7d',
+ 'bidder_code': 'bridgewell',
+ 'cpm': 5.0,
+ 'width': 1,
+ 'height': 1,
+ 'mediaType': 'native',
+ 'native': {
+ 'image': {
+ 'url': 'https://img.scupio.com/test/test-image.jpg',
+ 'width': 150,
+ 'height': 150
+ },
+ 'sponsoredBy': 'test-sponsoredBy',
+ 'body': 'test-body',
+ 'icon': {
+ 'url': 'https://img.scupio.com/test/test-icon.jpg',
+ 'width': 50,
+ 'height': 50
+ },
+ 'clickUrl': 'https://img.scupio.com/test-clickUrl',
+ 'clickTrackers': ['https://img.scupio.com/test-clickTracker'],
+ 'impressionTrackers': ['https://img.scupio.com/test-impressionTracker']
+ },
+ 'ttl': 360,
+ 'netRevenue': true,
+ 'currency': 'NTD'
+ };
+
+ const result = spec.interpretResponse({'body': [target]}, request);
+ expect(result).to.deep.equal([]);
+ });
+
+ it('should give up bid if native title is too long', () => {
+ let target = {
+ 'id': '0e4048d3-5c74-4380-a21a-00ba35629f7d',
+ 'bidder_code': 'bridgewell',
+ 'cpm': 5.0,
+ 'width': 1,
+ 'height': 1,
+ 'mediaType': 'native',
+ 'native': {
+ 'image': {
+ 'url': 'https://img.scupio.com/test/test-image.jpg',
+ 'width': 150,
+ 'height': 150
+ },
+ 'title': 'test-titletest-title',
+ 'sponsoredBy': 'test-sponsoredBy',
+ 'body': 'test-body',
+ 'icon': {
+ 'url': 'https://img.scupio.com/test/test-icon.jpg',
+ 'width': 50,
+ 'height': 50
+ },
+ 'clickUrl': 'https://img.scupio.com/test-clickUrl',
+ 'clickTrackers': ['https://img.scupio.com/test-clickTracker'],
+ 'impressionTrackers': ['https://img.scupio.com/test-impressionTracker']
+ },
+ 'ttl': 360,
+ 'netRevenue': true,
+ 'currency': 'NTD'
+ };
+
+ const result = spec.interpretResponse({'body': [target]}, request);
+ expect(result).to.deep.equal([]);
+ });
+
+ it('should give up bid if native body is missing', () => {
+ let target = {
+ 'id': '0e4048d3-5c74-4380-a21a-00ba35629f7d',
+ 'bidder_code': 'bridgewell',
+ 'cpm': 5.0,
+ 'width': 1,
+ 'height': 1,
+ 'mediaType': 'native',
+ 'native': {
+ 'image': {
+ 'url': 'https://img.scupio.com/test/test-image.jpg',
+ 'width': 150,
+ 'height': 150
+ },
+ 'title': 'test-title',
+ 'sponsoredBy': 'test-sponsoredBy',
+ 'icon': {
+ 'url': 'https://img.scupio.com/test/test-icon.jpg',
+ 'width': 50,
+ 'height': 50
+ },
+ 'clickUrl': 'https://img.scupio.com/test-clickUrl',
+ 'clickTrackers': ['https://img.scupio.com/test-clickTracker'],
+ 'impressionTrackers': ['https://img.scupio.com/test-impressionTracker']
+ },
+ 'ttl': 360,
+ 'netRevenue': true,
+ 'currency': 'NTD'
+ };
+
+ const result = spec.interpretResponse({'body': [target]}, request);
+ expect(result).to.deep.equal([]);
+
+ it('should give up bid if native image url is missing', () => {
+ let target = {
+ 'id': '0e4048d3-5c74-4380-a21a-00ba35629f7d',
+ 'bidder_code': 'bridgewell',
+ 'cpm': 5.0,
+ 'width': 1,
+ 'height': 1,
+ 'mediaType': 'native',
+ 'native': {
+ 'image': {
+ 'width': 150,
+ 'height': 150
+ },
+ 'title': 'test-title',
+ 'sponsoredBy': 'test-sponsoredBy',
+ 'body': 'test-body',
+ 'icon': {
+ 'url': 'https://img.scupio.com/test/test-icon.jpg',
+ 'width': 50,
+ 'height': 50
+ },
+ 'clickUrl': 'https://img.scupio.com/test-clickUrl',
+ 'clickTrackers': ['https://img.scupio.com/test-clickTracker'],
+ 'impressionTrackers': ['https://img.scupio.com/test-impressionTracker']
+ },
+ 'ttl': 360,
+ 'netRevenue': true,
+ 'currency': 'NTD'
+ };
+
+ const result = spec.interpretResponse({'body': [target]}, request);
+ expect(result).to.deep.equal([]);
+ });
+ });
+
+ it('should give up bid if native image is missing', () => {
+ let target = {
+ 'id': '0e4048d3-5c74-4380-a21a-00ba35629f7d',
+ 'bidder_code': 'bridgewell',
+ 'cpm': 5.0,
+ 'width': 1,
+ 'height': 1,
+ 'mediaType': 'native',
+ 'native': {
+ 'title': 'test-title',
+ 'sponsoredBy': 'test-sponsoredBy',
+ 'body': 'test-body',
+ 'icon': {
+ 'url': 'https://img.scupio.com/test/test-icon.jpg',
+ 'width': 50,
+ 'height': 50
+ },
+ 'clickUrl': 'https://img.scupio.com/test-clickUrl',
+ 'clickTrackers': ['https://img.scupio.com/test-clickTracker'],
+ 'impressionTrackers': ['https://img.scupio.com/test-impressionTracker']
+ },
+ 'ttl': 360,
+ 'netRevenue': true,
+ 'currency': 'NTD'
+ };
+
+ const result = spec.interpretResponse({'body': [target]}, request);
+ expect(result).to.deep.equal([]);
+ });
+
+ it('should give up bid if native image url is missing', () => {
+ let target = {
+ 'id': '0e4048d3-5c74-4380-a21a-00ba35629f7d',
+ 'bidder_code': 'bridgewell',
+ 'cpm': 5.0,
+ 'width': 1,
+ 'height': 1,
+ 'mediaType': 'native',
+ 'native': {
+ 'image': {
+ },
+ 'title': 'test-title',
+ 'sponsoredBy': 'test-sponsoredBy',
+ 'body': 'test-body',
+ 'icon': {
+ 'url': 'https://img.scupio.com/test/test-icon.jpg',
+ 'width': 50,
+ 'height': 50
+ },
+ 'clickUrl': 'https://img.scupio.com/test-clickUrl',
+ 'clickTrackers': ['https://img.scupio.com/test-clickTracker'],
+ 'impressionTrackers': ['https://img.scupio.com/test-impressionTracker']
+ },
+ 'ttl': 360,
+ 'netRevenue': true,
+ 'currency': 'NTD'
+ };
+
+ const result = spec.interpretResponse({'body': [target]}, request);
+ expect(result).to.deep.equal([]);
+ });
+
+ it('should give up bid if native image sizes is unmatch', () => {
+ let target = {
+ 'id': '0e4048d3-5c74-4380-a21a-00ba35629f7d',
+ 'bidder_code': 'bridgewell',
+ 'cpm': 5.0,
+ 'width': 1,
+ 'height': 1,
+ 'mediaType': 'native',
+ 'native': {
+ 'image': {
+ 'url': 'https://img.scupio.com/test/test-image.jpg'
+ },
+ 'title': 'test-title',
+ 'sponsoredBy': 'test-sponsoredBy',
+ 'body': 'test-body',
+ 'icon': {
+ 'url': 'https://img.scupio.com/test/test-icon.jpg',
+ 'width': 50,
+ 'height': 50
+ },
+ 'clickUrl': 'https://img.scupio.com/test-clickUrl',
+ 'clickTrackers': ['https://img.scupio.com/test-clickTracker'],
+ 'impressionTrackers': ['https://img.scupio.com/test-impressionTracker']
+ },
+ 'ttl': 360,
+ 'netRevenue': true,
+ 'currency': 'NTD'
+ };
+
+ const result = spec.interpretResponse({'body': [target]}, request);
+ expect(result).to.deep.equal([]);
+ });
+
+ it('should give up bid if native sponsoredBy is missing', () => {
+ let target = {
+ 'id': '0e4048d3-5c74-4380-a21a-00ba35629f7d',
+ 'bidder_code': 'bridgewell',
+ 'cpm': 5.0,
+ 'width': 1,
+ 'height': 1,
+ 'mediaType': 'native',
+ 'native': {
+ 'image': {
+ 'url': 'https://img.scupio.com/test/test-image.jpg',
+ 'width': 150,
+ 'height': 150
+ },
+ 'title': 'test-title',
+ 'body': 'test-body',
+ 'icon': {
+ 'url': 'https://img.scupio.com/test/test-icon.jpg',
+ 'width': 50,
+ 'height': 50
+ },
+ 'clickUrl': 'https://img.scupio.com/test-clickUrl',
+ 'clickTrackers': ['https://img.scupio.com/test-clickTracker'],
+ 'impressionTrackers': ['https://img.scupio.com/test-impressionTracker']
+ },
+ 'ttl': 360,
+ 'netRevenue': true,
+ 'currency': 'NTD'
+ };
+
+ const result = spec.interpretResponse({'body': [target]}, request);
+ expect(result).to.deep.equal([]);
+ });
+
+ it('should give up bid if native icon is missing', () => {
+ let target = {
+ 'id': '0e4048d3-5c74-4380-a21a-00ba35629f7d',
+ 'bidder_code': 'bridgewell',
+ 'cpm': 5.0,
+ 'width': 1,
+ 'height': 1,
+ 'mediaType': 'native',
+ 'native': {
+ 'image': {
+ 'url': 'https://img.scupio.com/test/test-image.jpg',
+ 'width': 150,
+ 'height': 150
+ },
+ 'title': 'test-title',
+ 'sponsoredBy': 'test-sponsoredBy',
+ 'body': 'test-body',
+ 'clickUrl': 'https://img.scupio.com/test-clickUrl',
+ 'clickTrackers': ['https://img.scupio.com/test-clickTracker'],
+ 'impressionTrackers': ['https://img.scupio.com/test-impressionTracker']
+ },
+ 'ttl': 360,
+ 'netRevenue': true,
+ 'currency': 'NTD'
+ };
+
+ const result = spec.interpretResponse({'body': [target]}, request);
+ expect(result).to.deep.equal([]);
+ });
+
+ it('should give up bid if native icon url is missing', () => {
+ let target = {
+ 'id': '0e4048d3-5c74-4380-a21a-00ba35629f7d',
+ 'bidder_code': 'bridgewell',
+ 'cpm': 5.0,
+ 'width': 1,
+ 'height': 1,
+ 'mediaType': 'native',
+ 'native': {
+ 'image': {
+ 'url': 'https://img.scupio.com/test/test-image.jpg',
+ 'width': 150,
+ 'height': 150
+ },
+ 'title': 'test-title',
+ 'sponsoredBy': 'test-sponsoredBy',
+ 'body': 'test-body',
+ 'icon': {
+ 'width': 50,
+ 'height': 50
+ },
+ 'clickUrl': 'https://img.scupio.com/test-clickUrl',
+ 'clickTrackers': ['https://img.scupio.com/test-clickTracker'],
+ 'impressionTrackers': ['https://img.scupio.com/test-impressionTracker']
+ },
+ 'ttl': 360,
+ 'netRevenue': true,
+ 'currency': 'NTD'
+ };
+
+ const result = spec.interpretResponse({'body': [target]}, request);
+ expect(result).to.deep.equal([]);
+ });
+
+ it('should give up bid if native icon sizes is unmatch', () => {
+ let target = {
+ 'id': '0e4048d3-5c74-4380-a21a-00ba35629f7d',
+ 'bidder_code': 'bridgewell',
+ 'cpm': 5.0,
+ 'width': 1,
+ 'height': 1,
+ 'mediaType': 'native',
+ 'native': {
+ 'image': {
+ 'url': 'https://img.scupio.com/test/test-image.jpg',
+ 'width': 150,
+ 'height': 150
+ },
+ 'title': 'test-title',
+ 'sponsoredBy': 'test-sponsoredBy',
+ 'body': 'test-body',
+ 'icon': {
+ 'url': 'https://img.scupio.com/test/test-icon.jpg'
+ },
+ 'clickUrl': 'https://img.scupio.com/test-clickUrl',
+ 'clickTrackers': ['https://img.scupio.com/test-clickTracker'],
+ 'impressionTrackers': ['https://img.scupio.com/test-impressionTracker']
+ },
+ 'ttl': 360,
+ 'netRevenue': true,
+ 'currency': 'NTD'
+ };
+
+ const result = spec.interpretResponse({'body': [target]}, request);
+ expect(result).to.deep.equal([]);
+ });
+
+ it('should give up bid if native clickUrl is missing', () => {
+ let target = {
+ 'id': '0e4048d3-5c74-4380-a21a-00ba35629f7d',
+ 'bidder_code': 'bridgewell',
+ 'cpm': 5.0,
+ 'width': 1,
+ 'height': 1,
+ 'mediaType': 'native',
+ 'native': {
+ 'image': {
+ 'url': 'https://img.scupio.com/test/test-image.jpg',
+ 'width': 150,
+ 'height': 150
+ },
+ 'title': 'test-title',
+ 'sponsoredBy': 'test-sponsoredBy',
+ 'body': 'test-body',
+ 'icon': {
+ 'url': 'https://img.scupio.com/test/test-icon.jpg',
+ 'width': 50,
+ 'height': 50
+ },
+ 'clickTrackers': ['https://img.scupio.com/test-clickTracker'],
+ 'impressionTrackers': ['https://img.scupio.com/test-impressionTracker']
+ },
+ 'ttl': 360,
+ 'netRevenue': true,
+ 'currency': 'NTD'
+ };
+
+ const result = spec.interpretResponse({'body': [target]}, request);
+ expect(result).to.deep.equal([]);
+ });
+
+ it('should give up bid if native clickTrackers is missing', () => {
+ let target = {
+ 'id': '0e4048d3-5c74-4380-a21a-00ba35629f7d',
+ 'bidder_code': 'bridgewell',
+ 'cpm': 5.0,
+ 'width': 1,
+ 'height': 1,
+ 'mediaType': 'native',
+ 'native': {
+ 'image': {
+ 'url': 'https://img.scupio.com/test/test-image.jpg',
+ 'width': 150,
+ 'height': 150
+ },
+ 'title': 'test-title',
+ 'sponsoredBy': 'test-sponsoredBy',
+ 'body': 'test-body',
+ 'icon': {
+ 'url': 'https://img.scupio.com/test/test-icon.jpg',
+ 'width': 50,
+ 'height': 50
+ },
+ 'clickUrl': 'https://img.scupio.com/test-clickUrl',
+ 'impressionTrackers': ['https://img.scupio.com/test-impressionTracker']
+ },
+ 'ttl': 360,
+ 'netRevenue': true,
+ 'currency': 'NTD'
+ };
+
+ const result = spec.interpretResponse({'body': [target]}, request);
+ expect(result).to.deep.equal([]);
+ });
+
+ it('should give up bid if native clickTrackers is empty', () => {
+ let target = {
+ 'id': '0e4048d3-5c74-4380-a21a-00ba35629f7d',
+ 'bidder_code': 'bridgewell',
+ 'cpm': 5.0,
+ 'width': 1,
+ 'height': 1,
+ 'mediaType': 'native',
+ 'native': {
+ 'image': {
+ 'url': 'https://img.scupio.com/test/test-image.jpg',
+ 'width': 150,
+ 'height': 150
+ },
+ 'title': 'test-title',
+ 'sponsoredBy': 'test-sponsoredBy',
+ 'body': 'test-body',
+ 'icon': {
+ 'url': 'https://img.scupio.com/test/test-icon.jpg',
+ 'width': 50,
+ 'height': 50
+ },
+ 'clickUrl': 'https://img.scupio.com/test-clickUrl',
+ 'clickTrackers': [],
+ 'impressionTrackers': ['https://img.scupio.com/test-impressionTracker']
+ },
+ 'ttl': 360,
+ 'netRevenue': true,
+ 'currency': 'NTD'
+ };
+
+ const result = spec.interpretResponse({'body': [target]}, request);
+ expect(result).to.deep.equal([]);
+ });
+
+ it('should give up bid if native impressionTrackers is missing', () => {
+ let target = {
+ 'id': '0e4048d3-5c74-4380-a21a-00ba35629f7d',
+ 'bidder_code': 'bridgewell',
+ 'cpm': 5.0,
+ 'width': 1,
+ 'height': 1,
+ 'mediaType': 'native',
+ 'native': {
+ 'image': {
+ 'url': 'https://img.scupio.com/test/test-image.jpg',
+ 'width': 150,
+ 'height': 150
+ },
+ 'title': 'test-title',
+ 'sponsoredBy': 'test-sponsoredBy',
+ 'body': 'test-body',
+ 'icon': {
+ 'url': 'https://img.scupio.com/test/test-icon.jpg',
+ 'width': 50,
+ 'height': 50
+ },
+ 'clickUrl': 'https://img.scupio.com/test-clickUrl',
+ 'clickTrackers': ['https://img.scupio.com/test-clickTracker']
+ },
+ 'ttl': 360,
+ 'netRevenue': true,
+ 'currency': 'NTD'
+ };
+
+ const result = spec.interpretResponse({'body': [target]}, request);
+ expect(result).to.deep.equal([]);
+ });
+
+ it('should give up bid if native impressionTrackers is empty', () => {
+ let target = {
+ 'id': '0e4048d3-5c74-4380-a21a-00ba35629f7d',
+ 'bidder_code': 'bridgewell',
+ 'cpm': 5.0,
+ 'width': 1,
+ 'height': 1,
+ 'mediaType': 'native',
+ 'native': {
+ 'image': {
+ 'url': 'https://img.scupio.com/test/test-image.jpg',
+ 'width': 150,
+ 'height': 150
+ },
+ 'title': 'test-title',
+ 'sponsoredBy': 'test-sponsoredBy',
+ 'body': 'test-body',
+ 'icon': {
+ 'url': 'https://img.scupio.com/test/test-icon.jpg',
+ 'width': 50,
+ 'height': 50
+ },
+ 'clickUrl': 'https://img.scupio.com/test-clickUrl',
+ 'clickTrackers': ['https://img.scupio.com/test-clickTracker'],
+ 'impressionTrackers': []
+ },
+ 'ttl': 360,
+ 'netRevenue': true,
+ 'currency': 'NTD'
+ };
+
+ const result = spec.interpretResponse({'body': [target]}, request);
+ expect(result).to.deep.equal([]);
+ });
+
+ it('should give up bid if mediaType is not support', () => {
+ let target = {
+ 'id': '0e4048d3-5c74-4380-a21a-00ba35629f7d',
+ 'bidder_code': 'bridgewell',
+ 'cpm': 5.0,
+ 'width': 1,
+ 'height': 1,
+ 'mediaType': 'superNiceAd',
+ 'ttl': 360,
+ 'netRevenue': true,
+ 'currency': 'NTD'
+ };
+
+ const result = spec.interpretResponse({'body': [target]}, request);
+ expect(result).to.deep.equal([]);
+ });
});
});
From 59db2fe00dbd3cd00c79da0477e16548366ccbb9 Mon Sep 17 00:00:00 2001
From: varashellov
Date: Thu, 3 May 2018 15:55:21 +0300
Subject: [PATCH 119/171] Update Platformio Adapter (#2468)
* Add PlatformioBidAdapter
* Update platformioBidAdapter.js
* Add files via upload
* Update hello_world.html
* Update platformioBidAdapter.js
* Update platformioBidAdapter_spec.js
* Update hello_world.html
* Update platformioBidAdapter_spec.js
* Update platformioBidAdapter.js
* Update hello_world.html
* Add files via upload
* Update platformioBidAdapter
## Type of change
- [x] Other
## Description of change
1. RequestURL changes
2. Add placementCode to request params
* Update platformioBidAdapter
* Update platformioBidAdapter
## Type of change
- [x] Other
## Description of change
1. RequestURL changes
2. Add placementCode to request params
* Add files via upload
* Add files via upload
* Add files via upload
* Update platformioBidAdapter.js
Endpoint URL change
* Update platformioBidAdapter_spec.js
Endpoint URL change
* Update platformioBidAdapter_spec.js
* Update platformioBidAdapter_spec.js
* Update platformioBidAdapter.js
* Update platformioBidAdapter.js
* Update platformioBidAdapter_spec.js
* Add files via upload
* Add files via upload
* Add files via upload
* Add files via upload
* Add files via upload
* Add files via upload
* Update platformioBidAdapter.js
* Update platformioBidAdapter_spec.js
* Add files via upload
* Add files via upload
* Add files via upload
* Add files via upload
* Update platformioBidAdapter_spec.js
* Update platformioBidAdapter.js
* Update platformioBidAdapter.md
* Add files via upload
* Add files via upload
* Add files via upload
* Update platformioBidAdapter.md
* Update platformioBidAdapter.md
* Update platformioBidAdapter.js
* Update platformioBidAdapter_spec.js
* Update platformioBidAdapter.md
* Add files via upload
* Add files via upload
* Delete hello_world.html
* Add files via upload
* Add files via upload
* Add files via upload
* Add files via upload
---
modules/platformioBidAdapter.js | 69 +++++++++++++++----
modules/platformioBidAdapter.md | 6 +-
.../spec/modules/platformioBidAdapter_spec.js | 39 ++++++++++-
3 files changed, 96 insertions(+), 18 deletions(-)
diff --git a/modules/platformioBidAdapter.js b/modules/platformioBidAdapter.js
index abb0cf50722..b33aeab8f88 100644
--- a/modules/platformioBidAdapter.js
+++ b/modules/platformioBidAdapter.js
@@ -10,7 +10,6 @@ const NATIVE_DEFAULTS = {
IMG_MIN: 150,
ICON_MIN: 50,
};
-
const DEFAULT_MIMES = ['video/mp4', 'video/webm', 'application/x-shockwave-flash', 'application/javascript'];
const VIDEO_TARGETING = ['mimes', 'skippable', 'playback_method', 'protocols', 'api'];
const DEFAULT_PROTOCOLS = [2, 3, 5, 6];
@@ -22,7 +21,7 @@ export const spec = {
supportedMediaTypes: [BANNER, NATIVE, VIDEO],
isBidRequestValid: bid => (
- !!(bid && bid.params && bid.params.pubId && bid.params.siteId)
+ !!(bid && bid.params && bid.params.pubId && bid.params.placementId)
),
buildRequests: bidRequests => {
const request = {
@@ -30,7 +29,8 @@ export const spec = {
at: 2,
imp: bidRequests.map(slot => impression(slot)),
site: site(bidRequests),
- device: device(),
+ app: app(bidRequests),
+ device: device(bidRequests),
};
return {
method: 'POST',
@@ -101,6 +101,7 @@ function bidResponseAvailable(bidRequest, bidResponse) {
function impression(slot) {
return {
id: slot.bidId,
+ secure: window.location.protocol === 'https:' ? 1 : 0,
'banner': banner(slot),
'native': nativeImpression(slot),
'video': videoImpression(slot),
@@ -110,10 +111,16 @@ function impression(slot) {
}
function getSizes(slot) {
- const size = slot.params.size.toUpperCase().split('X');
+ if (slot.params.size) {
+ const size = slot.params.size.toUpperCase().split('X');
+ return {
+ width: parseInt(size[0]),
+ height: parseInt(size[1]),
+ };
+ }
return {
- width: parseInt(size[0]),
- height: parseInt(size[1]),
+ width: 1,
+ height: 1,
};
}
@@ -207,25 +214,57 @@ function dataAsset(id, params, type, defaultLen) {
function site(bidderRequest) {
const pubId = bidderRequest && bidderRequest.length > 0 ? bidderRequest[0].params.pubId : '0';
const siteId = bidderRequest && bidderRequest.length > 0 ? bidderRequest[0].params.siteId : '0';
- return {
- publisher: {
- id: pubId.toString(),
- domain: utils.getTopWindowLocation().hostname,
- },
- id: siteId.toString(),
- ref: utils.getTopWindowReferrer(),
- page: utils.getTopWindowLocation().href,
+ const appParams = bidderRequest[0].params.app;
+ if (!appParams) {
+ return {
+ publisher: {
+ id: pubId.toString(),
+ domain: utils.getTopWindowLocation().hostname,
+ },
+ id: siteId.toString(),
+ ref: utils.getTopWindowReferrer(),
+ page: utils.getTopWindowLocation().href,
+ }
+ }
+ return null;
+}
+
+function app(bidderRequest) {
+ const pubId = bidderRequest && bidderRequest.length > 0 ? bidderRequest[0].params.pubId : '0';
+ const appParams = bidderRequest[0].params.app;
+ if (appParams) {
+ return {
+ publisher: {
+ id: pubId.toString(),
+ },
+ id: appParams.id,
+ name: appParams.name,
+ bundle: appParams.bundle,
+ storeurl: appParams.storeUrl,
+ domain: appParams.domain,
+ }
}
+ return null;
}
-function device() {
+function device(bidderRequest) {
+ const lat = bidderRequest && bidderRequest.length > 0 ? bidderRequest[0].params.latitude : '';
+ const lon = bidderRequest && bidderRequest.length > 0 ? bidderRequest[0].params.longitude : '';
+ const ifa = bidderRequest && bidderRequest.length > 0 ? bidderRequest[0].params.ifa : '';
return {
+ dnt: utils.getDNT() ? 1 : 0,
ua: navigator.userAgent,
language: (navigator.language || navigator.browserLanguage || navigator.userLanguage || navigator.systemLanguage),
w: (window.screen.width || window.innerWidth),
h: (window.screen.height || window.innerHeigh),
+ geo: {
+ lat: lat,
+ lon: lon,
+ },
+ ifa: ifa,
};
}
+
function parse(rawResponse) {
try {
if (rawResponse) {
diff --git a/modules/platformioBidAdapter.md b/modules/platformioBidAdapter.md
index 8233d5cd545..ff6335d1d70 100644
--- a/modules/platformioBidAdapter.md
+++ b/modules/platformioBidAdapter.md
@@ -38,6 +38,10 @@ Please use ```platformio``` as the bidder code.
pubId: '29521',
siteId: '26048',
placementId: '123',
+ bidFloor: '0.001', // optional
+ ifa: 'XXX-XXX', // optional
+ latitude: '40.712775', // optional
+ longitude: '-74.005973', // optional
}
}]
},
@@ -76,7 +80,7 @@ Please use ```platformio``` as the bidder code.
size: '640X480',
placementId: '123',
video: {
- skippable: true,
+ skipppable: true,
}
}
}]
diff --git a/test/spec/modules/platformioBidAdapter_spec.js b/test/spec/modules/platformioBidAdapter_spec.js
index c9954d4531a..fc8ba5bf45e 100644
--- a/test/spec/modules/platformioBidAdapter_spec.js
+++ b/test/spec/modules/platformioBidAdapter_spec.js
@@ -13,7 +13,10 @@ describe('Platform.io Adapter Tests', () => {
siteId: '26047',
placementId: '123',
size: '300x250',
- bidFloor: '0.001'
+ bidFloor: '0.001',
+ ifa: 'IFA',
+ latitude: '40.712775',
+ longitude: '-74.005973'
}
}, {
placementCode: '/DfpAccount2/slot2',
@@ -24,7 +27,7 @@ describe('Platform.io Adapter Tests', () => {
siteId: '26047',
placementId: '1234',
size: '728x90',
- bidFloor: '0.000001'
+ bidFloor: '0.000001',
}
}];
const nativeSlotConfig = [{
@@ -58,6 +61,21 @@ describe('Platform.io Adapter Tests', () => {
size: '640x480'
}
}];
+ const appSlotConfig = [{
+ placementCode: '/DfpAccount1/slot5',
+ bidId: 'bid12345',
+ params: {
+ pubId: '29521',
+ placementId: '1234',
+ app: {
+ id: '1111',
+ name: 'app name',
+ bundle: 'io.platform.apps',
+ storeUrl: 'http://platform.io/apps',
+ domain: 'platform.io'
+ }
+ }
+ }];
it('Verify build request', () => {
const request = spec.buildRequests(slotConfigs);
@@ -74,6 +92,9 @@ describe('Platform.io Adapter Tests', () => {
// device object
expect(ortbRequest.device).to.not.equal(null);
expect(ortbRequest.device.ua).to.equal(navigator.userAgent);
+ expect(ortbRequest.device.ifa).to.equal('IFA');
+ expect(ortbRequest.device.geo.lat).to.equal('40.712775');
+ expect(ortbRequest.device.geo.lon).to.equal('-74.005973');
// slot 1
expect(ortbRequest.imp[0].tagid).to.equal('123');
expect(ortbRequest.imp[0].banner).to.not.equal(null);
@@ -278,4 +299,18 @@ describe('Platform.io Adapter Tests', () => {
expect(spec.isBidRequestValid(nativeSlotConfig[0])).to.equal(true);
expect(spec.isBidRequestValid(videoSlotConfig[0])).to.equal(true);
});
+
+ it('Verify app requests', () => {
+ const request = spec.buildRequests(appSlotConfig);
+ const ortbRequest = JSON.parse(request.data);
+ expect(ortbRequest.site).to.equal(null);
+ expect(ortbRequest.app).to.not.be.null;
+ expect(ortbRequest.app.publisher).to.not.equal(null);
+ expect(ortbRequest.app.publisher.id).to.equal('29521');
+ expect(ortbRequest.app.id).to.equal('1111');
+ expect(ortbRequest.app.name).to.equal('app name');
+ expect(ortbRequest.app.bundle).to.equal('io.platform.apps');
+ expect(ortbRequest.app.storeurl).to.equal('http://platform.io/apps');
+ expect(ortbRequest.app.domain).to.equal('platform.io');
+ });
});
From e247211ab64348bfcb7c62d3fa80b9471169d55d Mon Sep 17 00:00:00 2001
From: haohany
Date: Thu, 3 May 2018 07:11:29 -0700
Subject: [PATCH 120/171] Only send OpenX BO beacon once per page load (#2484)
---
modules/openxBidAdapter.js | 31 +++++++++++------------
test/spec/modules/openxBidAdapter_spec.js | 4 ++-
2 files changed, 18 insertions(+), 17 deletions(-)
diff --git a/modules/openxBidAdapter.js b/modules/openxBidAdapter.js
index 1cc312da273..b425b80149a 100644
--- a/modules/openxBidAdapter.js
+++ b/modules/openxBidAdapter.js
@@ -10,6 +10,11 @@ const BIDDER_CODE = 'openx';
const BIDDER_CONFIG = 'hb_pb';
const BIDDER_VERSION = '2.1.0';
+let shouldSendBoPixel = true;
+export function resetBoPixel() {
+ shouldSendBoPixel = true;
+}
+
export const spec = {
code: BIDDER_CODE,
supportedMediaTypes: SUPPORTED_AD_TYPES,
@@ -63,11 +68,6 @@ function isVideoRequest(bidRequest) {
function createBannerBidResponses(oxResponseObj, {bids, startTime}) {
let adUnits = oxResponseObj.ads.ad;
let bidResponses = [];
- let shouldSendBoPixel = bids[0].params.sendBoPixel;
- if (shouldSendBoPixel === undefined) {
- // Not specified, default to turned on
- shouldSendBoPixel = true;
- }
for (let i = 0; i < adUnits.length; i++) {
let adUnit = adUnits[i];
let adUnitIdx = parseInt(adUnit.idx, 10);
@@ -103,10 +103,9 @@ function createBannerBidResponses(oxResponseObj, {bids, startTime}) {
}
bidResponse.ts = adUnit.ts;
- if (shouldSendBoPixel && adUnit.ts) {
- registerBeacon(BANNER, adUnit, startTime);
- }
bidResponses.push(bidResponse);
+
+ registerBeacon(BANNER, adUnit, startTime);
}
return bidResponses;
}
@@ -300,11 +299,6 @@ function generateVideoParameters(bid) {
}
function createVideoBidResponses(response, {bid, startTime}) {
- let shouldSendBoPixel = bid.params.sendBoPixel;
- if (shouldSendBoPixel === undefined) {
- // Not specified, default to turned on
- shouldSendBoPixel = true;
- }
let bidResponses = [];
if (response !== undefined && response.vastUrl !== '' && response.pub_rev !== '') {
@@ -329,16 +323,21 @@ function createVideoBidResponses(response, {bid, startTime}) {
response.colo = vastQueryParams.colo;
response.ts = vastQueryParams.ts;
- if (shouldSendBoPixel && response.ts) {
- registerBeacon(VIDEO, response, startTime)
- }
bidResponses.push(bidResponse);
+
+ registerBeacon(VIDEO, response, startTime)
}
return bidResponses;
}
function registerBeacon(mediaType, adUnit, startTime) {
+ // only register beacon once
+ if (!shouldSendBoPixel) {
+ return;
+ }
+ shouldSendBoPixel = false;
+
let bt = config.getConfig('bidderTimeout');
let beaconUrl;
if (window.PREBID_TIMEOUT) {
diff --git a/test/spec/modules/openxBidAdapter_spec.js b/test/spec/modules/openxBidAdapter_spec.js
index b763c111998..e4a1c9a979d 100644
--- a/test/spec/modules/openxBidAdapter_spec.js
+++ b/test/spec/modules/openxBidAdapter_spec.js
@@ -1,5 +1,5 @@
import {expect} from 'chai';
-import {spec} from 'modules/openxBidAdapter';
+import {spec, resetBoPixel} from 'modules/openxBidAdapter';
import {newBidder} from 'src/adapters/bidderFactory';
import {userSync} from 'src/userSync';
import * as utils from 'src/utils';
@@ -586,6 +586,7 @@ describe('OpenxAdapter', () => {
});
it('should register a beacon', () => {
+ resetBoPixel();
spec.interpretResponse({body: bidResponse}, bidRequest);
sinon.assert.calledWith(userSync.registerSync, 'image', 'openx', sinon.match(new RegExp(`\/\/openx-d\.openx\.net.*\/bo\?.*ts=${adUnitOverride.ts}`)));
});
@@ -882,6 +883,7 @@ describe('OpenxAdapter', () => {
});
it('should register a beacon', () => {
+ resetBoPixel();
spec.interpretResponse({body: bidResponse}, bidRequestsWithMediaTypes);
sinon.assert.calledWith(userSync.registerSync, 'image', 'openx', sinon.match(/^\/\/test-colo\.com/))
sinon.assert.calledWith(userSync.registerSync, 'image', 'openx', sinon.match(/ph=test-ph/));
From 04d66013aef421d83430feb6708f55aefc7daa05 Mon Sep 17 00:00:00 2001
From: PubMatic-OpenWrap
Date: Fri, 4 May 2018 18:06:23 +0530
Subject: [PATCH 121/171] Update the consent param in userSync as per IAB Spec
(#2494)
---
modules/pubmaticBidAdapter.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/modules/pubmaticBidAdapter.js b/modules/pubmaticBidAdapter.js
index 1f056bf0eff..14da2c45164 100644
--- a/modules/pubmaticBidAdapter.js
+++ b/modules/pubmaticBidAdapter.js
@@ -306,7 +306,7 @@ export const spec = {
// Attaching GDPR Consent Params in UserSync url
if (gdprConsent) {
syncurl += '&gdpr=' + (gdprConsent.gdprApplies ? 1 : 0);
- syncurl += '&consent=' + encodeURIComponent(gdprConsent.consentString || '');
+ syncurl += '&gdpr_consent=' + encodeURIComponent(gdprConsent.consentString || '');
}
if (syncOptions.iframeEnabled) {
From 723669a0f07fd0b63637505bc6b52cfb012ca556 Mon Sep 17 00:00:00 2001
From: Preston Skupinski
Date: Fri, 4 May 2018 07:39:53 -0500
Subject: [PATCH 122/171] Fix typos in comment, cosolidated -> consolidated
(#2493)
---
src/auctionManager.js | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/auctionManager.js b/src/auctionManager.js
index f845db5f934..494421b7785 100644
--- a/src/auctionManager.js
+++ b/src/auctionManager.js
@@ -7,10 +7,10 @@
/**
* @typedef {Object} AuctionManager
*
- * @property {function(): Array} getBidsRequested - returns cosolidated bid requests
- * @property {function(): Array} getBidsReceived - returns cosolidated bid received
- * @property {function(): Array} getAdUnits - returns cosolidated adUnits
- * @property {function(): Array} getAdUnitCodes - returns cosolidated adUnitCodes
+ * @property {function(): Array} getBidsRequested - returns consolidated bid requests
+ * @property {function(): Array} getBidsReceived - returns consolidated bid received
+ * @property {function(): Array} getAdUnits - returns consolidated adUnits
+ * @property {function(): Array} getAdUnitCodes - returns consolidated adUnitCodes
* @property {function(): Object} createAuction - creates auction instance and stores it for future reference
* @property {function(): Object} findBidByAdId - find bid received by adId. This function will be called by $$PREBID_GLOBAL$$.renderAd
* @property {function(): Object} getStandardBidderAdServerTargeting - returns standard bidder targeting for all the adapters. Refer http://prebid.org/dev-docs/publisher-api-reference.html#module_pbjs.bidderSettings for more details
From 4e80a29fa6a85f1b1d0ad44ccf10c3a170fe414f Mon Sep 17 00:00:00 2001
From: Preston Skupinski
Date: Fri, 4 May 2018 11:41:40 -0500
Subject: [PATCH 123/171] Add LockerDome bid adapter (#2477)
---
modules/lockerdomeBidAdapter.js | 50 ++++++
modules/lockerdomeBidAdapter.md | 29 ++++
.../spec/modules/lockerdomeBidAdapter_spec.js | 142 ++++++++++++++++++
3 files changed, 221 insertions(+)
create mode 100644 modules/lockerdomeBidAdapter.js
create mode 100644 modules/lockerdomeBidAdapter.md
create mode 100644 test/spec/modules/lockerdomeBidAdapter_spec.js
diff --git a/modules/lockerdomeBidAdapter.js b/modules/lockerdomeBidAdapter.js
new file mode 100644
index 00000000000..dd63d00b356
--- /dev/null
+++ b/modules/lockerdomeBidAdapter.js
@@ -0,0 +1,50 @@
+import * as utils from 'src/utils';
+import {BANNER} from 'src/mediaTypes';
+import {registerBidder} from 'src/adapters/bidderFactory';
+
+export const spec = {
+ code: 'lockerdome',
+ supportedMediaTypes: [BANNER],
+ isBidRequestValid: function(bid) {
+ return !!bid.params.adUnitId;
+ },
+ buildRequests: function(bidRequests) {
+ const adUnitBidRequests = bidRequests.map(function (bid) {
+ return {
+ requestId: bid.bidId,
+ adUnitId: utils.getBidIdParameter('adUnitId', bid.params),
+ sizes: bid.sizes
+ }
+ });
+ const payload = {
+ bidRequests: adUnitBidRequests,
+ url: utils.getTopWindowLocation().href,
+ referrer: utils.getTopWindowReferrer()
+ };
+ const payloadString = JSON.stringify(payload);
+ return {
+ method: 'POST',
+ url: 'https://lockerdome.com/ladbid/prebid',
+ data: payloadString
+ };
+ },
+ interpretResponse: function(serverResponse, bidRequest) {
+ if (!serverResponse || !serverResponse.body || !serverResponse.body.bids) {
+ return [];
+ }
+ return serverResponse.body.bids.map(function(bid) {
+ return {
+ requestId: bid.requestId,
+ cpm: bid.cpm,
+ width: bid.width,
+ height: bid.height,
+ creativeId: bid.creativeId,
+ currency: bid.currency,
+ netRevenue: bid.netRevenue,
+ ad: bid.ad,
+ ttl: bid.ttl
+ };
+ });
+ },
+}
+registerBidder(spec);
diff --git a/modules/lockerdomeBidAdapter.md b/modules/lockerdomeBidAdapter.md
new file mode 100644
index 00000000000..2e2e69a7557
--- /dev/null
+++ b/modules/lockerdomeBidAdapter.md
@@ -0,0 +1,29 @@
+# Overview
+
+```
+Module Name: LockerDome Bidder Adapter
+Module Type: Bidder Adapter
+Maintainer: bidding@lockerdome.com
+```
+
+#Description
+Connects to LockerDome Ad Server for bids.
+
+# Test Parameters
+```
+var adUnits = [{
+ code: 'ad-div',
+ sizes: [[300, 250]],
+ mediaTypes: {
+ banner: {
+ sizes: [[300, 250]]
+ }
+ },
+ bids: [{
+ bidder: 'lockerdome',
+ params: {
+ adUnitId: 10809467961050726
+ }
+ }]
+}];
+```
diff --git a/test/spec/modules/lockerdomeBidAdapter_spec.js b/test/spec/modules/lockerdomeBidAdapter_spec.js
new file mode 100644
index 00000000000..1ad26af24c1
--- /dev/null
+++ b/test/spec/modules/lockerdomeBidAdapter_spec.js
@@ -0,0 +1,142 @@
+import { expect } from 'chai';
+import { spec } from '../../../modules/lockerdomeBidAdapter';
+import * as utils from 'src/utils';
+
+describe('LockerDomeAdapter', () => {
+ const bidRequests = [{
+ bidder: 'lockerdome',
+ params: {
+ adUnitId: 10809467961050726
+ },
+ mediaTypes: {
+ banner: {
+ sizes: [[300, 250]]
+ }
+ },
+ adUnitCode: 'ad-1',
+ transactionId: 'b55e97d7-792c-46be-95a5-3df40b115734',
+ sizes: [[300, 250]],
+ bidId: '2652ca954bce9',
+ bidderRequestId: '14a54fade69854',
+ auctionId: 'd4c83108-615d-4c2c-9384-dac9ffd4fd72'
+ }, {
+ bidder: 'lockerdome',
+ params: {
+ adUnitId: 9434769725128806
+ },
+ mediaTypes: {
+ banner: {
+ sizes: [[300, 600]]
+ }
+ },
+ adUnitCode: 'ad-2',
+ transactionId: '73459f05-c482-4706-b2b7-72e6f6264ce6',
+ sizes: [[300, 600]],
+ bidId: '4510f2834773ce',
+ bidderRequestId: '14a54fade69854',
+ auctionId: 'd4c83108-615d-4c2c-9384-dac9ffd4fd72'
+ }];
+
+ describe('isBidRequestValid', () => {
+ it('should return true if the adUnitId parameter is present', () => {
+ expect(spec.isBidRequestValid(bidRequests[0])).to.be.true;
+ expect(spec.isBidRequestValid(bidRequests[1])).to.be.true;
+ });
+ it('should return false if the adUnitId parameter is not present', () => {
+ let bidRequest = utils.deepClone(bidRequests[0]);
+ delete bidRequest.params.adUnitId;
+ expect(spec.isBidRequestValid(bidRequest)).to.be.false;
+ });
+ });
+
+ describe('buildRequests', () => {
+ it('should generate a valid single POST request for multiple bid requests', () => {
+ const request = spec.buildRequests(bidRequests);
+ expect(request.method).to.equal('POST');
+ // TODO: Update to production URL
+ expect(request.url).to.equal('https://lockerdome.com/ladbid/prebid');
+ expect(request.data).to.exist;
+
+ const requestData = JSON.parse(request.data);
+
+ expect(requestData.url).to.equal(utils.getTopWindowLocation().href);
+ expect(requestData.referrer).to.equal(utils.getTopWindowReferrer());
+
+ const bids = requestData.bidRequests;
+ expect(bids).to.have.lengthOf(2);
+
+ expect(bids[0].requestId).to.equal('2652ca954bce9');
+ expect(bids[0].adUnitId).to.equal(10809467961050726);
+ expect(bids[0].sizes).to.have.lengthOf(1);
+ expect(bids[0].sizes[0][0]).to.equal(300);
+ expect(bids[0].sizes[0][1]).to.equal(250);
+
+ expect(bids[1].requestId).to.equal('4510f2834773ce');
+ expect(bids[1].adUnitId).to.equal(9434769725128806);
+ expect(bids[1].sizes).to.have.lengthOf(1);
+ expect(bids[1].sizes[0][0]).to.equal(300);
+ expect(bids[1].sizes[0][1]).to.equal(600);
+ });
+ });
+
+ describe('interpretResponse', () => {
+ it('should return an empty array if an invalid response is passed', () => {
+ const interpretedResponse = spec.interpretResponse({ body: {} });
+ expect(interpretedResponse).to.be.an('array').that.is.empty;
+ });
+
+ it('should return valid response when passed valid server response', () => {
+ const serverResponse = {
+ body: {
+ bids: [{
+ requestId: '2652ca954bce9',
+ cpm: 1.00,
+ width: 300,
+ height: 250,
+ creativeId: '12345',
+ currency: 'USD',
+ netRevenue: true,
+ ad: '',
+ ttl: 300
+ },
+ {
+ requestId: '4510f2834773ce',
+ cpm: 1.10,
+ width: 300,
+ height: 600,
+ creativeId: '45678',
+ currency: 'USD',
+ netRevenue: true,
+ ad: '',
+ ttl: 300
+ }]
+ }
+ };
+
+ const request = spec.buildRequests(bidRequests);
+ const interpretedResponse = spec.interpretResponse(serverResponse, request);
+
+ expect(interpretedResponse).to.have.lengthOf(2);
+
+ expect(interpretedResponse[0].requestId).to.equal(serverResponse.body.bids[0].requestId);
+ expect(interpretedResponse[0].cpm).to.equal(serverResponse.body.bids[0].cpm);
+ expect(interpretedResponse[0].width).to.equal(serverResponse.body.bids[0].width);
+ expect(interpretedResponse[0].height).to.equal(serverResponse.body.bids[0].height);
+ expect(interpretedResponse[0].creativeId).to.equal(serverResponse.body.bids[0].creativeId);
+ expect(interpretedResponse[0].currency).to.equal(serverResponse.body.bids[0].currency);
+ expect(interpretedResponse[0].netRevenue).to.equal(serverResponse.body.bids[0].netRevenue);
+ expect(interpretedResponse[0].ad).to.equal(serverResponse.body.bids[0].ad);
+ expect(interpretedResponse[0].ttl).to.equal(serverResponse.body.bids[0].ttl);
+
+ expect(interpretedResponse[1].requestId).to.equal(serverResponse.body.bids[1].requestId);
+ expect(interpretedResponse[1].cpm).to.equal(serverResponse.body.bids[1].cpm);
+ expect(interpretedResponse[1].width).to.equal(serverResponse.body.bids[1].width);
+ expect(interpretedResponse[1].height).to.equal(serverResponse.body.bids[1].height);
+ expect(interpretedResponse[1].creativeId).to.equal(serverResponse.body.bids[1].creativeId);
+ expect(interpretedResponse[1].currency).to.equal(serverResponse.body.bids[1].currency);
+ expect(interpretedResponse[1].netRevenue).to.equal(serverResponse.body.bids[1].netRevenue);
+ expect(interpretedResponse[1].ad).to.equal(serverResponse.body.bids[1].ad);
+ expect(interpretedResponse[1].ttl).to.equal(serverResponse.body.bids[1].ttl);
+ });
+ });
+});
From 3116d7f557587b2cf981b384e961e8dd831eea43 Mon Sep 17 00:00:00 2001
From: ankur-modi <38654685+ankur-modi@users.noreply.github.com>
Date: Sat, 5 May 2018 00:01:11 +0530
Subject: [PATCH 124/171] One Video Adapter (#2445)
* One Video Adapter
* adding more test cases
---
modules/oneVideoBidAdapter.js | 189 +++++++++++++++++++
modules/oneVideoBidAdapter.md | 47 +++++
test/spec/modules/oneVideoBidAdapter_spec.js | 135 +++++++++++++
3 files changed, 371 insertions(+)
create mode 100644 modules/oneVideoBidAdapter.js
create mode 100755 modules/oneVideoBidAdapter.md
create mode 100644 test/spec/modules/oneVideoBidAdapter_spec.js
diff --git a/modules/oneVideoBidAdapter.js b/modules/oneVideoBidAdapter.js
new file mode 100644
index 00000000000..c56669b8b0c
--- /dev/null
+++ b/modules/oneVideoBidAdapter.js
@@ -0,0 +1,189 @@
+import * as utils from 'src/utils';
+import {registerBidder} from 'src/adapters/bidderFactory';
+const BIDDER_CODE = 'oneVideo';
+export const spec = {
+ code: 'oneVideo',
+ ENDPOINT: '//ads.adaptv.advertising.com/rtb/openrtb?ext_id=',
+ SYNC_ENDPOINT1: 'https://cm.g.doubleclick.net/pixel?google_nid=adaptv_dbm&google_cm&google_sc',
+ SYNC_ENDPOINT2: 'https://pr-bh.ybp.yahoo.com/sync/adaptv_ortb/{combo_uid}',
+ SYNC_ENDPOINT3: 'https://sync-tm.everesttech.net/upi/pid/m7y5t93k?redir=https%3A%2F%2Fsync.adap.tv%2Fsync%3Ftype%3Dgif%26key%3Dtubemogul%26uid%3D%24%7BUSER_ID%7D',
+ SYNC_ENDPOINT4: 'https://match.adsrvr.org/track/cmf/generic?ttd_pid=adaptv&ttd_tpi=1',
+ supportedMediaTypes: ['video'],
+ /**
+ * Determines whether or not the given bid request is valid.
+ *
+ * @param {BidRequest} bid The bid params to validate.
+ * @return boolean True if this is a valid bid, and false otherwise.
+ */
+ isBidRequestValid: function(bid) {
+ if (bid.bidder !== BIDDER_CODE || typeof bid.params === 'undefined') {
+ return false;
+ }
+
+ // Video validations
+ if (typeof bid.params.video === 'undefined' || typeof bid.params.video.playerWidth === 'undefined' || typeof bid.params.video.playerHeight == 'undefined' || typeof bid.params.video.mimes == 'undefined') {
+ return false;
+ }
+
+ // Pub Id validation
+ if (typeof bid.params.pubId === 'undefined') {
+ return false;
+ }
+
+ return true;
+ },
+ /**
+ * Make a server request from the list of BidRequests.
+ *
+ * @param {validBidRequests[]} - an array of bids
+ * @return ServerRequest Info describing the request to the server.
+ */
+ buildRequests: function(bids) {
+ return bids.map(bid => {
+ return {
+ method: 'POST',
+ url: location.protocol + spec.ENDPOINT + bid.params.pubId,
+ data: getRequestData(bid),
+ options: {contentType: 'application/json'},
+ bidRequest: bid
+ }
+ })
+ },
+ /**
+ * Unpack the response from the server into a list of bids.
+ *
+ * @param {*} serverResponse A successful response from the server.
+ * @return {Bid[]} An array of bids which were nested inside the server.
+ */
+ interpretResponse: function(response, { bidRequest }) {
+ let bid;
+ let size;
+ let bidResponse;
+ try {
+ response = response.body;
+ bid = response.seatbid[0].bid[0];
+ } catch (e) {
+ response = null;
+ }
+ if (!response || !bid || (!bid.adm && !bid.nurl) || !bid.price) {
+ utils.logWarn(`No valid bids from ${spec.code} bidder`);
+ return [];
+ }
+ size = getSize(bidRequest.sizes);
+ bidResponse = {
+ requestId: bidRequest.bidId,
+ bidderCode: spec.code,
+ cpm: bid.price,
+ creativeId: bid.id,
+ width: size.width,
+ height: size.height,
+ mediaType: 'video',
+ currency: response.cur,
+ ttl: 100,
+ netRevenue: true
+ };
+ if (bid.nurl) {
+ bidResponse.vastUrl = bid.nurl;
+ } else if (bid.adm) {
+ bidResponse.vastXml = bid.adm;
+ }
+ return bidResponse;
+ },
+ /**
+ * Register the user sync pixels which should be dropped after the auction.
+ *
+ * @param {SyncOptions} syncOptions Which user syncs are allowed?
+ * @param {ServerResponse[]} serverResponses List of server's responses.
+ * @return {UserSync[]} The user syncs which should be dropped.
+ */
+ getUserSyncs: function(syncOptions) {
+ if (syncOptions.pixelEnabled) {
+ return [{
+ type: 'image',
+ url: spec.SYNC_ENDPOINT1
+ },
+ {
+ type: 'image',
+ url: spec.SYNC_ENDPOINT2
+ },
+ {
+ type: 'image',
+ url: spec.SYNC_ENDPOINT3
+ },
+ {
+ type: 'image',
+ url: spec.SYNC_ENDPOINT4
+ }];
+ }
+ }
+};
+
+function getSize(sizes) {
+ let parsedSizes = utils.parseSizesInput(sizes);
+ let [ width, height ] = parsedSizes.length ? parsedSizes[0].split('x') : [];
+ return {
+ width: parseInt(width, 10) || undefined,
+ height: parseInt(height, 10) || undefined
+ };
+}
+
+function getRequestData(bid) {
+ let loc = utils.getTopWindowLocation();
+ let global = (window.top) ? window.top : window;
+ let page = (bid.params.site.page) ? (bid.params.site.page) : (loc.href);
+ let ref = (bid.params.site.referrer) ? bid.params.site.referrer : utils.getTopWindowReferrer();
+ let bidData = {
+ id: utils.generateUUID(),
+ at: 2,
+ cur: bid.cur || 'USD',
+ imp: [{
+ id: '1',
+ secure: isSecure(),
+ bidfloor: bid.params.bidfloor,
+ video: {
+ mimes: bid.params.video.mimes,
+ w: bid.params.video.playerWidth,
+ h: bid.params.video.playerHeight,
+ linearity: 1,
+ protocols: bid.params.video.protocols || [2, 5]
+ }
+ }],
+ site: {
+ page: page,
+ ref: ref
+ },
+ device: {
+ ua: global.navigator.userAgent
+ },
+ tmax: 200
+ };
+
+ if (bid.params.video.maxbitrate) {
+ bidData.imp[0].video.maxbitrate = bid.params.video.maxbitrate
+ }
+ if (bid.params.video.maxduration) {
+ bidData.imp[0].video.maxduration = bid.params.video.maxduration
+ }
+ if (bid.params.video.minduration) {
+ bidData.imp[0].video.minduration = bid.params.video.minduration
+ }
+ if (bid.params.video.api) {
+ bidData.imp[0].video.api = bid.params.video.api
+ }
+ if (bid.params.video.delivery) {
+ bidData.imp[0].video.delivery = bid.params.video.delivery
+ }
+ if (bid.params.video.position) {
+ bidData.imp[0].video.pos = bid.params.video.position
+ }
+ if (bid.params.site.id) {
+ bidData.site.id = bid.params.site.id
+ }
+ return bidData;
+}
+
+function isSecure() {
+ return document.location.protocol === 'https:';
+}
+
+registerBidder(spec);
diff --git a/modules/oneVideoBidAdapter.md b/modules/oneVideoBidAdapter.md
new file mode 100755
index 00000000000..96399221315
--- /dev/null
+++ b/modules/oneVideoBidAdapter.md
@@ -0,0 +1,47 @@
+# Overview
+
+**Module Name**: One Video Bidder Adapter
+**Module Type**: Bidder Adapter
+**Maintainer**: ankur.modi@oath.com
+
+# Description
+
+Connects to One Video demand source to fetch bids.
+
+
+# Test Parameters
+```
+ var adUnits = [
+ {
+ code: 'video1',
+ sizes: [640,480],
+ mediaTypes: {
+ video: {
+ context: "instream"
+ }
+ },
+ bids: [
+ {
+ bidder: 'oneVideo',
+ params: {
+ video: {
+ playerWidth: 480,
+ playerHeight: 640,
+ mimes: ['video/mp4', 'application/javascript'],
+ protocols: [2,5],
+ api: [2],
+ position: 1,
+ delivery: [2]
+ },
+ site: {
+ id: 1,
+ page: 'http://abhi12345.com',
+ referrer: 'http://abhi12345.com'
+ },
+ pubId: 'brxd'
+ }
+ }
+ ]
+ }
+ ];
+```
diff --git a/test/spec/modules/oneVideoBidAdapter_spec.js b/test/spec/modules/oneVideoBidAdapter_spec.js
new file mode 100644
index 00000000000..3d7bba417f9
--- /dev/null
+++ b/test/spec/modules/oneVideoBidAdapter_spec.js
@@ -0,0 +1,135 @@
+import { expect } from 'chai';
+import { spec } from 'modules/oneVideoBidAdapter';
+import * as utils from 'src/utils';
+
+describe('OneVideoBidAdapter', () => {
+ let bidRequest;
+
+ beforeEach(() => {
+ bidRequest = {
+ bidder: 'oneVideo',
+ sizes: [640, 480],
+ bidId: '30b3efwfwe1e',
+ params: {
+ video: {
+ playerWidth: 640,
+ playerHeight: 480,
+ mimes: ['video/mp4', 'application/javascript'],
+ protocols: [2, 5],
+ api: [2],
+ position: 1,
+ delivery: [2]
+ },
+ site: {
+ id: 1,
+ page: 'https://news.yahoo.com/portfolios',
+ referrer: 'http://www.yahoo.com'
+ },
+ pubId: 'brxd'
+ }
+ };
+ });
+
+ describe('spec.isBidRequestValid', () => {
+ it('should return true when the required params are passed', () => {
+ expect(spec.isBidRequestValid(bidRequest)).to.equal(true);
+ });
+
+ it('should return false when the "video" param is missing', () => {
+ bidRequest.params = {
+ pubId: 'brxd'
+ };
+ expect(spec.isBidRequestValid(bidRequest)).to.equal(false);
+ });
+
+ it('should return false when the "pubId" param is missing', () => {
+ bidRequest.params = {
+ video: {
+ playerWidth: 480,
+ playerHeight: 640,
+ mimes: ['video/mp4', 'application/javascript'],
+ protocols: [2, 5],
+ api: [2],
+ position: 1,
+ delivery: [2]
+ }
+ };
+ expect(spec.isBidRequestValid(bidRequest)).to.equal(false);
+ });
+
+ it('should return false when no bid params are passed', () => {
+ bidRequest.params = {};
+ expect(spec.isBidRequestValid(bidRequest)).to.equal(false);
+ });
+ });
+
+ describe('spec.buildRequests', () => {
+ it('should create a POST request for every bid', () => {
+ const requests = spec.buildRequests([ bidRequest ]);
+ expect(requests[0].method).to.equal('POST');
+ expect(requests[0].url).to.equal(location.protocol + spec.ENDPOINT + bidRequest.params.pubId);
+ });
+
+ it('should attach the bid request object', () => {
+ const requests = spec.buildRequests([ bidRequest ]);
+ expect(requests[0].bidRequest).to.equal(bidRequest);
+ });
+
+ it('should attach request data', () => {
+ const requests = spec.buildRequests([ bidRequest ]);
+ const data = requests[0].data;
+ const [ width, height ] = bidRequest.sizes;
+ expect(data.imp[0].video.w).to.equal(width);
+ expect(data.imp[0].video.h).to.equal(height);
+ expect(data.imp[0].bidfloor).to.equal(bidRequest.params.bidfloor);
+ });
+
+ it('must parse bid size from a nested array', () => {
+ const width = 640;
+ const height = 480;
+ bidRequest.sizes = [[ width, height ]];
+ const requests = spec.buildRequests([ bidRequest ]);
+ const data = requests[0].data;
+ expect(data.imp[0].video.w).to.equal(width);
+ expect(data.imp[0].video.h).to.equal(height);
+ });
+ });
+
+ describe('spec.interpretResponse', () => {
+ it('should return no bids if the response is not valid', () => {
+ const bidResponse = spec.interpretResponse({ body: null }, { bidRequest });
+ expect(bidResponse.length).to.equal(0);
+ });
+
+ it('should return no bids if the response "nurl" and "adm" are missing', () => {
+ const serverResponse = {seatbid: [{bid: [{price: 6.01}]}]};
+ const bidResponse = spec.interpretResponse({ body: serverResponse }, { bidRequest });
+ expect(bidResponse.length).to.equal(0);
+ });
+
+ it('should return no bids if the response "price" is missing', () => {
+ const serverResponse = {seatbid: [{bid: [{adm: ' '}]}]};
+ const bidResponse = spec.interpretResponse({ body: serverResponse }, { bidRequest });
+ expect(bidResponse.length).to.equal(0);
+ });
+
+ it('should return a valid bid response with just "adm"', () => {
+ const serverResponse = {seatbid: [{bid: [{id: 1, price: 6.01, adm: ' '}]}], cur: 'USD'};
+ const bidResponse = spec.interpretResponse({ body: serverResponse }, { bidRequest });
+ let o = {
+ requestId: bidRequest.bidId,
+ bidderCode: spec.code,
+ cpm: serverResponse.seatbid[0].bid[0].price,
+ creativeId: serverResponse.seatbid[0].bid[0].id,
+ vastXml: serverResponse.seatbid[0].bid[0].adm,
+ width: 640,
+ height: 480,
+ mediaType: 'video',
+ currency: 'USD',
+ ttl: 100,
+ netRevenue: true
+ };
+ expect(bidResponse).to.deep.equal(o);
+ });
+ });
+});
From cf1dc798d942acd806aba9c046f47013006f2efa Mon Sep 17 00:00:00 2001
From: Jaimin Panchal
Date: Mon, 7 May 2018 09:43:25 -0400
Subject: [PATCH 125/171] Update babel plugins (#2447)
* Update babel plugins
* Targeting browsers
---
.babelrc | 19 +-
package-lock.json | 14902 +++++++++++++++-----------------------------
package.json | 4 +-
webpack.conf.js | 6 -
4 files changed, 5084 insertions(+), 9847 deletions(-)
diff --git a/.babelrc b/.babelrc
index b366d78478e..5d42055cabb 100644
--- a/.babelrc
+++ b/.babelrc
@@ -1,8 +1,19 @@
{
- "presets": ["es2015"],
+ "presets": [
+ ["env", {
+ "targets": {
+ "browsers": [
+ "chrome >= 61",
+ "safari >=8",
+ "edge >= 14",
+ "ff >= 57",
+ "ie >= 10",
+ "ios >= 8"
+ ]
+ }
+ }]
+ ],
"plugins": [
- "transform-object-assign",
- "transform-es3-property-literals",
- "transform-es3-member-expression-literals"
+ "transform-object-assign"
]
}
diff --git a/package-lock.json b/package-lock.json
index 83511e0dc28..bd684f6406b 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,131 +1,98 @@
{
"name": "prebid.js",
- "version": "1.8.0-pre",
+ "version": "1.9.0-pre",
"lockfileVersion": 1,
- "requires": true,
"dependencies": {
"@gulp-sourcemaps/identity-map": {
- "version": "https://registry.npmjs.org/@gulp-sourcemaps/identity-map/-/identity-map-1.0.1.tgz",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@gulp-sourcemaps/identity-map/-/identity-map-1.0.1.tgz",
"integrity": "sha1-z6I7xYQPkQTOMqZedNt+epdLvuE=",
- "requires": {
- "acorn": "5.4.1",
- "css": "https://registry.npmjs.org/css/-/css-2.2.1.tgz",
- "normalize-path": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
- "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz"
- },
"dependencies": {
"source-map": {
- "version": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
"integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
}
}
},
"@gulp-sourcemaps/map-sources": {
- "version": "https://registry.npmjs.org/@gulp-sourcemaps/map-sources/-/map-sources-1.0.0.tgz",
- "integrity": "sha1-iQrnxdjId/bThIYCFazp1+yUW9o=",
- "requires": {
- "normalize-path": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
- "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz"
- }
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@gulp-sourcemaps/map-sources/-/map-sources-1.0.0.tgz",
+ "integrity": "sha1-iQrnxdjId/bThIYCFazp1+yUW9o="
},
"@sinonjs/formatio": {
- "version": "https://registry.npmjs.org/@sinonjs/formatio/-/formatio-2.0.0.tgz",
- "integrity": "sha1-hNt+nrVTHfGKjF4L+25EnlXmVLI=",
- "dev": true,
- "requires": {
- "samsam": "https://registry.npmjs.org/samsam/-/samsam-1.3.0.tgz"
- }
- },
- "JSONStream": {
- "version": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.2.tgz",
- "integrity": "sha1-wQI3G27Dp887hHygDCC7D85Mbeo=",
- "dev": true,
- "requires": {
- "jsonparse": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz",
- "through": "https://registry.npmjs.org/through/-/through-2.3.8.tgz"
- }
+ "version": "2.0.0",
+ "resolved": "http://registry.npmjs.org/@sinonjs/formatio/-/formatio-2.0.0.tgz",
+ "integrity": "sha512-ls6CAMA6/5gG+O/IdsBcblvnd8qcO/l1TYoNeAzp3wcISOxlPXQEus0mLcdwazEkWjaBdaJ3TaxmNgCLWwvWzg==",
+ "dev": true
},
"abbrev": {
- "version": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz",
+ "version": "1.0.9",
+ "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz",
"integrity": "sha1-kbR5JYinc4wl813W9jdSovh3YTU=",
"dev": true
},
"accepts": {
- "version": "https://registry.npmjs.org/accepts/-/accepts-1.2.13.tgz",
+ "version": "1.2.13",
+ "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.2.13.tgz",
"integrity": "sha1-5fHzkoxtlf2WVYw27D2dDeSm7Oo=",
- "dev": true,
- "requires": {
- "mime-types": "2.1.17",
- "negotiator": "https://registry.npmjs.org/negotiator/-/negotiator-0.5.3.tgz"
- }
+ "dev": true
},
"acorn": {
- "version": "5.4.1",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.4.1.tgz",
- "integrity": "sha512-XLmq3H/BVvW6/GbxKryGxWORz1ebilSsUDlyC27bXhWGWAZWkGwS6FLHjOlwFXNFoWFQEO/Df4u0YYd0K3BQgQ=="
+ "version": "5.5.3",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.5.3.tgz",
+ "integrity": "sha512-jd5MkIUlbbmb07nXH0DT3y7rDVtkzDi4XZOUVWAer8ajmF/DTSSbl5oNFyDOl/OXA33Bl79+ypHhl2pN20VeOQ=="
},
"acorn-dynamic-import": {
- "version": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-2.0.2.tgz",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-2.0.2.tgz",
"integrity": "sha1-x1K9IQvvZ5UBtsbLf8hPj0cVjMQ=",
"dev": true,
- "requires": {
- "acorn": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz"
- },
"dependencies": {
"acorn": {
- "version": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz",
+ "version": "4.0.13",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz",
"integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=",
"dev": true
}
}
},
"acorn-jsx": {
- "version": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz",
"integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=",
"dev": true,
- "requires": {
- "acorn": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz"
- },
"dependencies": {
"acorn": {
- "version": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz",
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz",
"integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=",
"dev": true
}
}
},
- "acorn-node": {
- "version": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.3.0.tgz",
- "integrity": "sha1-X4bXM0Z0OBDvEmm5AdvL3tAghhs=",
- "dev": true,
- "requires": {
- "acorn": "5.4.1",
- "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
- }
- },
"addressparser": {
- "version": "https://registry.npmjs.org/addressparser/-/addressparser-1.0.1.tgz",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/addressparser/-/addressparser-1.0.1.tgz",
"integrity": "sha1-R6++GiqSYhkdtoOOT9HTm0CCF0Y=",
"dev": true,
"optional": true
},
"after": {
- "version": "https://registry.npmjs.org/after/-/after-0.8.2.tgz",
+ "version": "0.8.2",
+ "resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz",
"integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=",
"dev": true
},
"agent-base": {
- "version": "https://registry.npmjs.org/agent-base/-/agent-base-2.1.1.tgz",
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-2.1.1.tgz",
"integrity": "sha1-1t4Q1a9hMtW9aSQn1G/FOFOQlMc=",
"dev": true,
- "requires": {
- "extend": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz",
- "semver": "https://registry.npmjs.org/semver/-/semver-5.0.3.tgz"
- },
"dependencies": {
"semver": {
- "version": "https://registry.npmjs.org/semver/-/semver-5.0.3.tgz",
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.0.3.tgz",
"integrity": "sha1-d0Zt5YnNXTyV8TiqeLxWmjy10no=",
"dev": true
}
@@ -135,70 +102,57 @@
"version": "6.2.0",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.2.0.tgz",
"integrity": "sha1-r6wpW7qgFSRJ5SJ0LkVHwa6TKNI=",
- "dev": true,
- "requires": {
- "fast-deep-equal": "1.0.0",
- "fast-json-stable-stringify": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
- "json-schema-traverse": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz"
- }
+ "dev": true
+ },
+ "ajv-keywords": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.1.tgz",
+ "integrity": "sha1-YXmX/F9gV2iUxDX5QNgZ4TW4B2I=",
+ "dev": true
},
"align-text": {
- "version": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz",
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz",
"integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=",
"dev": true,
- "requires": {
- "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "longest": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz",
- "repeat-string": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz"
- },
"dependencies": {
"kind-of": {
- "version": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true,
- "requires": {
- "is-buffer": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz"
- }
+ "dev": true
}
}
},
"amdefine": {
- "version": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
"integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU="
},
"amqplib": {
- "version": "https://registry.npmjs.org/amqplib/-/amqplib-0.5.2.tgz",
- "integrity": "sha1-0tcxPH/6pNELzx5iUt5FkbbMe2M=",
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/amqplib/-/amqplib-0.5.2.tgz",
+ "integrity": "sha512-l9mCs6LbydtHqRniRwYkKdqxVa6XMz3Vw1fh+2gJaaVgTM6Jk3o8RccAKWKtlhT1US5sWrFh+KKxsVUALURSIA==",
"dev": true,
"optional": true,
- "requires": {
- "bitsyntax": "https://registry.npmjs.org/bitsyntax/-/bitsyntax-0.0.4.tgz",
- "bluebird": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz",
- "buffer-more-ints": "https://registry.npmjs.org/buffer-more-ints/-/buffer-more-ints-0.0.2.tgz",
- "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
- "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz"
- },
"dependencies": {
"isarray": {
- "version": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
"integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
"dev": true,
"optional": true
},
"readable-stream": {
- "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
+ "version": "1.1.14",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
"integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
"dev": true,
- "optional": true,
- "requires": {
- "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
- "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
- "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
- }
+ "optional": true
},
"string_decoder": {
- "version": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "version": "0.10.31",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
"dev": true,
"optional": true
@@ -206,1585 +160,1160 @@
}
},
"ansi-colors": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.0.1.tgz",
- "integrity": "sha512-yopkAU0ZD/WQ56Tms3xLn6jRuX3SyUMAVi0FdmDIbmmnHW3jHiI1sQFdUl3gfVddjnrsP3Y6ywFKvCRopvoVIA==",
- "dev": true,
- "requires": {
- "ansi-wrap": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz"
- }
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz",
+ "integrity": "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==",
+ "dev": true
},
"ansi-escapes": {
- "version": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.0.0.tgz",
- "integrity": "sha1-7D6LTp+AZPwCw6ybZfHCdb2o75I=",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.1.0.tgz",
+ "integrity": "sha512-UgAb8H9D41AQnu/PbWlCofQVcnV4Gs2bBJi9eZPxfU/hgglFh3SMDMENRIqdr7H6XFnXdoknctFByVsCOotTVw==",
"dev": true
},
"ansi-gray": {
- "version": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz",
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz",
"integrity": "sha1-KWLPVOyXksSFEKPetSRDaGHvclE=",
- "dev": true,
- "requires": {
- "ansi-wrap": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz"
- }
+ "dev": true
},
"ansi-html": {
- "version": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz",
+ "version": "0.0.7",
+ "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz",
"integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=",
"dev": true
},
"ansi-regex": {
- "version": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
"integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
"dev": true
},
"ansi-styles": {
- "version": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
"integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
"dev": true
},
"ansi-wrap": {
- "version": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz",
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz",
"integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768=",
"dev": true
},
"anymatch": {
- "version": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
- "integrity": "sha1-vLJLTzeTTZqnrBe0ra+J58du8us=",
- "dev": true,
- "requires": {
- "micromatch": "3.1.5",
- "normalize-path": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz"
- }
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
+ "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==",
+ "dev": true
},
"append-buffer": {
- "version": "https://registry.npmjs.org/append-buffer/-/append-buffer-1.0.2.tgz",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/append-buffer/-/append-buffer-1.0.2.tgz",
"integrity": "sha1-2CIM9GYIFSXv6lBhTz3mUU36WPE=",
- "dev": true,
- "requires": {
- "buffer-equal": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.0.tgz"
- }
+ "dev": true
},
"append-transform": {
- "version": "https://registry.npmjs.org/append-transform/-/append-transform-0.4.0.tgz",
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-0.4.0.tgz",
"integrity": "sha1-126/jKlNJ24keja61EpLdKthGZE=",
- "dev": true,
- "requires": {
- "default-require-extensions": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-1.0.0.tgz"
- }
+ "dev": true
},
"archiver": {
- "version": "https://registry.npmjs.org/archiver/-/archiver-0.14.4.tgz",
+ "version": "0.14.4",
+ "resolved": "https://registry.npmjs.org/archiver/-/archiver-0.14.4.tgz",
"integrity": "sha1-W53bn17hzu8hy487Ag5iQOy0MVw=",
"dev": true,
- "requires": {
- "async": "https://registry.npmjs.org/async/-/async-0.9.2.tgz",
- "buffer-crc32": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
- "glob": "https://registry.npmjs.org/glob/-/glob-4.3.5.tgz",
- "lazystream": "https://registry.npmjs.org/lazystream/-/lazystream-0.1.0.tgz",
- "lodash": "https://registry.npmjs.org/lodash/-/lodash-3.2.0.tgz",
- "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
- "tar-stream": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.1.5.tgz",
- "zip-stream": "https://registry.npmjs.org/zip-stream/-/zip-stream-0.5.2.tgz"
- },
"dependencies": {
"async": {
- "version": "https://registry.npmjs.org/async/-/async-0.9.2.tgz",
+ "version": "0.9.2",
+ "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz",
"integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=",
"dev": true
},
"glob": {
- "version": "https://registry.npmjs.org/glob/-/glob-4.3.5.tgz",
+ "version": "4.3.5",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-4.3.5.tgz",
"integrity": "sha1-gPuwjKVA8jiszl0R0em8QedRc9M=",
- "dev": true,
- "requires": {
- "inflight": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
- "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz",
- "once": "https://registry.npmjs.org/once/-/once-1.4.0.tgz"
- }
+ "dev": true
},
"isarray": {
- "version": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
"integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
"dev": true
},
"lazystream": {
- "version": "https://registry.npmjs.org/lazystream/-/lazystream-0.1.0.tgz",
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-0.1.0.tgz",
"integrity": "sha1-GyXWPHcqTCDwpe0KnXf0hLbhaSA=",
- "dev": true,
- "requires": {
- "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz"
- }
+ "dev": true
},
"lodash": {
- "version": "https://registry.npmjs.org/lodash/-/lodash-3.2.0.tgz",
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.2.0.tgz",
"integrity": "sha1-S/UKMkP5rrC6xBpV09WZBnWkYvs=",
"dev": true
},
"minimatch": {
- "version": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz",
+ "version": "2.0.10",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz",
"integrity": "sha1-jQh8OcazjAAbl/ynzm0OHoCvusc=",
- "dev": true,
- "requires": {
- "brace-expansion": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz"
- }
+ "dev": true
},
"readable-stream": {
- "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "version": "1.0.34",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
"integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
- "dev": true,
- "requires": {
- "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
- "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
- "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
- }
+ "dev": true
},
"string_decoder": {
- "version": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "version": "0.10.31",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
"dev": true
}
}
},
"archy": {
- "version": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz",
"integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=",
"dev": true
},
"argparse": {
- "version": "1.0.9",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz",
- "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=",
- "dev": true,
- "requires": {
- "sprintf-js": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz"
- }
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
+ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
+ "dev": true
},
"arr-diff": {
- "version": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
"integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
"dev": true
},
"arr-flatten": {
- "version": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
- "integrity": "sha1-NgSLv/TntH4TZkQxbJlmnqWukfE=",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
+ "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
"dev": true
},
"arr-union": {
- "version": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
"integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
"dev": true
},
"array-differ": {
- "version": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz",
"integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=",
"dev": true
},
"array-each": {
- "version": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz",
"integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8=",
"dev": true
},
- "array-filter": {
- "version": "https://registry.npmjs.org/array-filter/-/array-filter-0.0.1.tgz",
- "integrity": "sha1-fajPLiZijtcygDWB/SH2fKzS7uw=",
- "dev": true
- },
"array-find-index": {
- "version": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz",
"integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=",
"dev": true
},
"array-iterate": {
- "version": "https://registry.npmjs.org/array-iterate/-/array-iterate-1.1.1.tgz",
- "integrity": "sha1-hlv3+K851rCYLGCQKRSsdrwBCPY=",
- "dev": true
- },
- "array-map": {
- "version": "https://registry.npmjs.org/array-map/-/array-map-0.0.0.tgz",
- "integrity": "sha1-iKK6tz0c97zVwbEYoAP2b2ZfpmI=",
- "dev": true
- },
- "array-reduce": {
- "version": "https://registry.npmjs.org/array-reduce/-/array-reduce-0.0.0.tgz",
- "integrity": "sha1-FziZ0//Rx9k4PkR5Ul2+J4yrXys=",
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/array-iterate/-/array-iterate-1.1.2.tgz",
+ "integrity": "sha512-1hWSHTIlG/8wtYD+PPX5AOBtKWngpDFjrsrHgZpe+JdgNGz0udYu6ZIkAa/xuenIUEqFv7DvE2Yr60jxweJSrQ==",
"dev": true
},
"array-slice": {
- "version": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz",
- "integrity": "sha1-42jqFfibxwaff/uJrsOmx9SsItQ=",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz",
+ "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==",
"dev": true
},
"array-union": {
- "version": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
"integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=",
- "dev": true,
- "requires": {
- "array-uniq": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz"
- }
+ "dev": true
},
"array-uniq": {
- "version": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
"integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=",
"dev": true
},
"array-unique": {
- "version": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
"integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
"dev": true
},
"array.from": {
- "version": "https://registry.npmjs.org/array.from/-/array.from-0.2.0.tgz",
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/array.from/-/array.from-0.2.0.tgz",
"integrity": "sha1-LGJ7G3bf8t7yNl+gUrZcPVheX2s=",
"dev": true
},
"arraybuffer.slice": {
- "version": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz",
- "integrity": "sha1-O7xCdd1YTMGxCAm4nU6LY6aednU=",
+ "version": "0.0.7",
+ "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz",
+ "integrity": "sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog==",
"dev": true
},
"arrify": {
- "version": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
"integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
"dev": true
},
"asn1": {
- "version": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz",
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz",
"integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=",
"dev": true
},
"asn1.js": {
- "version": "4.9.2",
- "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.9.2.tgz",
- "integrity": "sha512-b/OsSjvWEo8Pi8H0zsDd2P6Uqo2TK2pH8gNLSJtNLM2Db0v2QaAZ0pBQJXVjAn4gBuugeVDr7s63ZogpUIwWDg==",
- "dev": true,
- "requires": {
- "bn.js": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz",
- "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "minimalistic-assert": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz"
- }
+ "version": "4.10.1",
+ "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz",
+ "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==",
+ "dev": true
},
"assert": {
- "version": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz",
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz",
"integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=",
- "dev": true,
- "requires": {
- "util": "https://registry.npmjs.org/util/-/util-0.10.3.tgz"
- }
+ "dev": true
},
"assert-plus": {
- "version": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz",
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz",
"integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=",
"dev": true
},
"assertion-error": {
- "version": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz",
- "integrity": "sha1-5gtrDo8wG9l+U3UhW9pAbIURjAs=",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz",
+ "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==",
"dev": true
},
"assign-symbols": {
- "version": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
"integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
"dev": true
},
"ast-types": {
- "version": "0.10.2",
- "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.10.2.tgz",
- "integrity": "sha512-ufWX953VU1eIuWqxS0nRDMYlGyFH+yxln5CsmIHlpzEt3fdYqUnRtsFt0XAsQot8OaVCwFqxT1RiwvtzYjeYeg==",
+ "version": "0.11.3",
+ "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.11.3.tgz",
+ "integrity": "sha512-XA5o5dsNw8MhyW0Q7MWXJWc4oOzZKbdsEJq45h7c8q/d9DwWZ5F2ugUc1PuMLPGsUnphCt/cNDHu8JeBbxf1qA==",
"dev": true
},
- "astw": {
- "version": "https://registry.npmjs.org/astw/-/astw-2.2.0.tgz",
- "integrity": "sha1-e9QXhNMkk5h66yOba04cV6hzuRc=",
- "dev": true,
- "requires": {
- "acorn": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz"
- },
- "dependencies": {
- "acorn": {
- "version": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz",
- "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=",
- "dev": true
- }
- }
- },
"async": {
- "version": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
+ "version": "1.5.2",
+ "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
"integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=",
"dev": true
},
"async-each": {
- "version": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz",
"integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=",
"dev": true
},
"async-limiter": {
- "version": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz",
- "integrity": "sha1-ePrtjD0HSrgfIrTphdeehzj3IPg=",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz",
+ "integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==",
"dev": true
},
"asynckit": {
- "version": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
"integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
"dev": true
},
"atob": {
- "version": "https://registry.npmjs.org/atob/-/atob-1.1.3.tgz",
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/atob/-/atob-1.1.3.tgz",
"integrity": "sha1-lfE2KbEsOlGl0hWr3OKqnzL4B3M="
},
"aws-sign2": {
- "version": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz",
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz",
"integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=",
"dev": true
},
"aws4": {
- "version": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz",
- "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=",
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.7.0.tgz",
+ "integrity": "sha512-32NDda82rhwD9/JBCCkB+MRYDp0oSvlo2IL6rQWA10PQi7tDUM3eqMSltXmY+Oyl/7N3P3qNtAlv7X0d9bI28w==",
"dev": true
},
"axios": {
- "version": "https://registry.npmjs.org/axios/-/axios-0.15.3.tgz",
+ "version": "0.15.3",
+ "resolved": "https://registry.npmjs.org/axios/-/axios-0.15.3.tgz",
"integrity": "sha1-LJ1jiy4ZGgjqHWzJiOrda6W9wFM=",
"dev": true,
"optional": true,
- "requires": {
- "follow-redirects": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.0.0.tgz"
+ "dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true,
+ "optional": true
+ },
+ "follow-redirects": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.0.0.tgz",
+ "integrity": "sha1-jjQpjL0uF28lTv/sdaHHjMhJ/Tc=",
+ "dev": true,
+ "optional": true
+ }
}
},
"babel-code-frame": {
- "version": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz",
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz",
"integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=",
- "dev": true,
- "requires": {
- "chalk": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "esutils": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
- "js-tokens": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz"
- }
+ "dev": true
},
"babel-core": {
- "version": "https://registry.npmjs.org/babel-core/-/babel-core-6.22.0.tgz",
+ "version": "6.22.0",
+ "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.22.0.tgz",
"integrity": "sha1-ZD3q61ILzSsGwR45lFyHfgIA0Sg=",
"dev": true,
- "requires": {
- "babel-code-frame": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz",
- "babel-generator": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz",
- "babel-helpers": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz",
- "babel-messages": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz",
- "babel-register": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz",
- "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
- "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz",
- "babel-traverse": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz",
- "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz",
- "babylon": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz",
- "convert-source-map": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz",
- "debug": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "json5": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
- "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz",
- "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
- "path-is-absolute": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
- "private": "https://registry.npmjs.org/private/-/private-0.1.8.tgz",
- "slash": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz",
- "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz"
- },
"dependencies": {
"debug": {
- "version": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
- "dev": true,
- "requires": {
- "ms": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"
- }
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true
},
"source-map": {
- "version": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
"integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
"dev": true
}
}
},
"babel-generator": {
- "version": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz",
- "integrity": "sha1-GERAjTuPDTWkBOp6wYDwh6YBvZA=",
- "dev": true,
- "requires": {
- "babel-messages": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz",
- "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
- "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz",
- "detect-indent": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz",
- "jsesc": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz",
- "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz",
- "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "trim-right": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz"
- },
+ "version": "6.26.1",
+ "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz",
+ "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==",
+ "dev": true,
"dependencies": {
"source-map": {
- "version": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
"integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
"dev": true
}
}
},
"babel-helper-bindify-decorators": {
- "version": "https://registry.npmjs.org/babel-helper-bindify-decorators/-/babel-helper-bindify-decorators-6.24.1.tgz",
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-helper-bindify-decorators/-/babel-helper-bindify-decorators-6.24.1.tgz",
"integrity": "sha1-FMGeXxQte0fxmlJDHlKxzLxAozA=",
- "dev": true,
- "requires": {
- "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
- "babel-traverse": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz",
- "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz"
- }
+ "dev": true
},
"babel-helper-builder-binary-assignment-operator-visitor": {
- "version": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz",
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz",
"integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=",
- "dev": true,
- "requires": {
- "babel-helper-explode-assignable-expression": "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz",
- "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
- "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz"
- }
+ "dev": true
},
"babel-helper-builder-react-jsx": {
- "version": "https://registry.npmjs.org/babel-helper-builder-react-jsx/-/babel-helper-builder-react-jsx-6.26.0.tgz",
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-helper-builder-react-jsx/-/babel-helper-builder-react-jsx-6.26.0.tgz",
"integrity": "sha1-Of+DE7dci2Xc7/HzHTg+D/KkCKA=",
- "dev": true,
- "requires": {
- "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
- "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz",
- "esutils": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz"
- }
+ "dev": true
},
"babel-helper-call-delegate": {
- "version": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz",
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz",
"integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=",
- "dev": true,
- "requires": {
- "babel-helper-hoist-variables": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz",
- "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
- "babel-traverse": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz",
- "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz"
- }
+ "dev": true
},
"babel-helper-define-map": {
- "version": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz",
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz",
"integrity": "sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=",
- "dev": true,
- "requires": {
- "babel-helper-function-name": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz",
- "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
- "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz",
- "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz"
- }
+ "dev": true
},
"babel-helper-explode-assignable-expression": {
- "version": "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz",
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz",
"integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=",
- "dev": true,
- "requires": {
- "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
- "babel-traverse": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz",
- "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz"
- }
+ "dev": true
},
"babel-helper-explode-class": {
- "version": "https://registry.npmjs.org/babel-helper-explode-class/-/babel-helper-explode-class-6.24.1.tgz",
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-helper-explode-class/-/babel-helper-explode-class-6.24.1.tgz",
"integrity": "sha1-fcKjkQ3uAHBW4eMdZAztPVTqqes=",
- "dev": true,
- "requires": {
- "babel-helper-bindify-decorators": "https://registry.npmjs.org/babel-helper-bindify-decorators/-/babel-helper-bindify-decorators-6.24.1.tgz",
- "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
- "babel-traverse": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz",
- "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz"
- }
+ "dev": true
},
"babel-helper-function-name": {
- "version": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz",
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz",
"integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=",
- "dev": true,
- "requires": {
- "babel-helper-get-function-arity": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz",
- "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
- "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz",
- "babel-traverse": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz",
- "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz"
- }
+ "dev": true
},
"babel-helper-get-function-arity": {
- "version": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz",
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz",
"integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=",
- "dev": true,
- "requires": {
- "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
- "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz"
- }
+ "dev": true
},
"babel-helper-hoist-variables": {
- "version": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz",
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz",
"integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=",
- "dev": true,
- "requires": {
- "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
- "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz"
- }
+ "dev": true
},
"babel-helper-optimise-call-expression": {
- "version": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz",
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz",
"integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=",
- "dev": true,
- "requires": {
- "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
- "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz"
- }
+ "dev": true
},
"babel-helper-regex": {
- "version": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz",
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz",
"integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=",
- "dev": true,
- "requires": {
- "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
- "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz",
- "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz"
- }
+ "dev": true
},
"babel-helper-remap-async-to-generator": {
- "version": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz",
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz",
"integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=",
- "dev": true,
- "requires": {
- "babel-helper-function-name": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz",
- "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
- "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz",
- "babel-traverse": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz",
- "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz"
- }
+ "dev": true
},
"babel-helper-replace-supers": {
- "version": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz",
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz",
"integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=",
- "dev": true,
- "requires": {
- "babel-helper-optimise-call-expression": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz",
- "babel-messages": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz",
- "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
- "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz",
- "babel-traverse": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz",
- "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz"
- }
+ "dev": true
},
"babel-helpers": {
- "version": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz",
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz",
"integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=",
- "dev": true,
- "requires": {
- "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
- "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz"
- }
+ "dev": true
},
"babel-loader": {
- "version": "7.1.2",
- "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-7.1.2.tgz",
- "integrity": "sha512-jRwlFbINAeyDStqK6Dd5YuY0k5YuzQUvlz2ZamuXrXmxav3pNqe9vfJ402+2G+OmlJSXxCOpB6Uz0INM7RQe2A==",
- "dev": true,
- "requires": {
- "find-cache-dir": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz",
- "loader-utils": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz",
- "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz"
- }
+ "version": "7.1.4",
+ "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-7.1.4.tgz",
+ "integrity": "sha512-/hbyEvPzBJuGpk9o80R0ZyTej6heEOr59GoEUtn8qFKbnx4cJm9FWES6J/iv644sYgrtVw9JJQkjaLW/bqb5gw==",
+ "dev": true
},
"babel-messages": {
- "version": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz",
+ "version": "6.23.0",
+ "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz",
"integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=",
- "dev": true,
- "requires": {
- "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz"
- }
+ "dev": true
},
"babel-plugin-check-es2015-constants": {
- "version": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz",
+ "version": "6.22.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz",
"integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=",
- "dev": true,
- "requires": {
- "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz"
- }
+ "dev": true
},
"babel-plugin-syntax-async-functions": {
- "version": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz",
+ "version": "6.13.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz",
"integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=",
"dev": true
},
"babel-plugin-syntax-async-generators": {
- "version": "https://registry.npmjs.org/babel-plugin-syntax-async-generators/-/babel-plugin-syntax-async-generators-6.13.0.tgz",
+ "version": "6.13.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-generators/-/babel-plugin-syntax-async-generators-6.13.0.tgz",
"integrity": "sha1-a8lj67FuzLrmuStZbrfzXDQqi5o=",
"dev": true
},
"babel-plugin-syntax-class-constructor-call": {
- "version": "https://registry.npmjs.org/babel-plugin-syntax-class-constructor-call/-/babel-plugin-syntax-class-constructor-call-6.18.0.tgz",
+ "version": "6.18.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-syntax-class-constructor-call/-/babel-plugin-syntax-class-constructor-call-6.18.0.tgz",
"integrity": "sha1-nLnTn+Q8hgC+yBRkVt3L1OGnZBY=",
"dev": true
},
"babel-plugin-syntax-class-properties": {
- "version": "https://registry.npmjs.org/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz",
+ "version": "6.13.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz",
"integrity": "sha1-1+sjt5oxf4VDlixQW4J8fWysJ94=",
"dev": true
},
"babel-plugin-syntax-decorators": {
- "version": "https://registry.npmjs.org/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz",
+ "version": "6.13.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz",
"integrity": "sha1-MSVjtNvePMgGzuPkFszurd0RrAs=",
"dev": true
},
"babel-plugin-syntax-do-expressions": {
- "version": "https://registry.npmjs.org/babel-plugin-syntax-do-expressions/-/babel-plugin-syntax-do-expressions-6.13.0.tgz",
+ "version": "6.13.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-syntax-do-expressions/-/babel-plugin-syntax-do-expressions-6.13.0.tgz",
"integrity": "sha1-V0d1YTmqJtOQ0JQQsDdEugfkeW0=",
"dev": true
},
"babel-plugin-syntax-dynamic-import": {
- "version": "https://registry.npmjs.org/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz",
+ "version": "6.18.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz",
"integrity": "sha1-jWomIpyDdFqZgqRBBRVyyqF5sdo=",
"dev": true
},
"babel-plugin-syntax-exponentiation-operator": {
- "version": "https://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz",
+ "version": "6.13.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz",
"integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=",
"dev": true
},
"babel-plugin-syntax-export-extensions": {
- "version": "https://registry.npmjs.org/babel-plugin-syntax-export-extensions/-/babel-plugin-syntax-export-extensions-6.13.0.tgz",
+ "version": "6.13.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-syntax-export-extensions/-/babel-plugin-syntax-export-extensions-6.13.0.tgz",
"integrity": "sha1-cKFITw+QiaToStRLrDU8lbmxJyE=",
"dev": true
},
"babel-plugin-syntax-flow": {
- "version": "https://registry.npmjs.org/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz",
+ "version": "6.18.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz",
"integrity": "sha1-TDqyCiryaqIM0lmVw5jE63AxDI0=",
"dev": true
},
"babel-plugin-syntax-function-bind": {
- "version": "https://registry.npmjs.org/babel-plugin-syntax-function-bind/-/babel-plugin-syntax-function-bind-6.13.0.tgz",
+ "version": "6.13.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-syntax-function-bind/-/babel-plugin-syntax-function-bind-6.13.0.tgz",
"integrity": "sha1-SMSV8Xe98xqYHnMvVa3AvdJgH0Y=",
"dev": true
},
"babel-plugin-syntax-jsx": {
- "version": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz",
+ "version": "6.18.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz",
"integrity": "sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=",
"dev": true
},
"babel-plugin-syntax-object-rest-spread": {
- "version": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz",
+ "version": "6.13.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz",
"integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=",
"dev": true
},
"babel-plugin-syntax-trailing-function-commas": {
- "version": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz",
+ "version": "6.22.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz",
"integrity": "sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM=",
"dev": true
},
"babel-plugin-system-import-transformer": {
- "version": "https://registry.npmjs.org/babel-plugin-system-import-transformer/-/babel-plugin-system-import-transformer-3.1.0.tgz",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-system-import-transformer/-/babel-plugin-system-import-transformer-3.1.0.tgz",
"integrity": "sha1-038Mro5h7zkGAggzHZMbXmMNfF8=",
- "dev": true,
- "requires": {
- "babel-plugin-syntax-dynamic-import": "https://registry.npmjs.org/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz"
- }
+ "dev": true
},
"babel-plugin-transform-async-generator-functions": {
- "version": "https://registry.npmjs.org/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-6.24.1.tgz",
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-6.24.1.tgz",
"integrity": "sha1-8FiQAUX9PpkHpt3yjaWfIVJYpds=",
- "dev": true,
- "requires": {
- "babel-helper-remap-async-to-generator": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz",
- "babel-plugin-syntax-async-generators": "https://registry.npmjs.org/babel-plugin-syntax-async-generators/-/babel-plugin-syntax-async-generators-6.13.0.tgz",
- "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz"
- }
+ "dev": true
},
"babel-plugin-transform-async-to-generator": {
- "version": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz",
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz",
"integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=",
- "dev": true,
- "requires": {
- "babel-helper-remap-async-to-generator": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz",
- "babel-plugin-syntax-async-functions": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz",
- "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz"
- }
+ "dev": true
},
"babel-plugin-transform-class-constructor-call": {
- "version": "https://registry.npmjs.org/babel-plugin-transform-class-constructor-call/-/babel-plugin-transform-class-constructor-call-6.24.1.tgz",
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-class-constructor-call/-/babel-plugin-transform-class-constructor-call-6.24.1.tgz",
"integrity": "sha1-gNwoVQWsBn3LjWxl4vbxGrd2Xvk=",
- "dev": true,
- "requires": {
- "babel-plugin-syntax-class-constructor-call": "https://registry.npmjs.org/babel-plugin-syntax-class-constructor-call/-/babel-plugin-syntax-class-constructor-call-6.18.0.tgz",
- "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
- "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz"
- }
+ "dev": true
},
"babel-plugin-transform-class-properties": {
- "version": "https://registry.npmjs.org/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz",
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz",
"integrity": "sha1-anl2PqYdM9NvN7YRqp3vgagbRqw=",
- "dev": true,
- "requires": {
- "babel-helper-function-name": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz",
- "babel-plugin-syntax-class-properties": "https://registry.npmjs.org/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz",
- "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
- "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz"
- }
+ "dev": true
},
"babel-plugin-transform-decorators": {
- "version": "https://registry.npmjs.org/babel-plugin-transform-decorators/-/babel-plugin-transform-decorators-6.24.1.tgz",
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-decorators/-/babel-plugin-transform-decorators-6.24.1.tgz",
"integrity": "sha1-eIAT2PjGtSIr33s0Q5Df13Vp4k0=",
- "dev": true,
- "requires": {
- "babel-helper-explode-class": "https://registry.npmjs.org/babel-helper-explode-class/-/babel-helper-explode-class-6.24.1.tgz",
- "babel-plugin-syntax-decorators": "https://registry.npmjs.org/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz",
- "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
- "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz",
- "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz"
- }
+ "dev": true
},
"babel-plugin-transform-decorators-legacy": {
- "version": "https://registry.npmjs.org/babel-plugin-transform-decorators-legacy/-/babel-plugin-transform-decorators-legacy-1.3.4.tgz",
+ "version": "1.3.4",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-decorators-legacy/-/babel-plugin-transform-decorators-legacy-1.3.4.tgz",
"integrity": "sha1-dBtY9sW86eYCfgiC2cmU8E82aSU=",
- "dev": true,
- "requires": {
- "babel-plugin-syntax-decorators": "https://registry.npmjs.org/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz",
- "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
- "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz"
- }
+ "dev": true
},
"babel-plugin-transform-do-expressions": {
- "version": "https://registry.npmjs.org/babel-plugin-transform-do-expressions/-/babel-plugin-transform-do-expressions-6.22.0.tgz",
+ "version": "6.22.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-do-expressions/-/babel-plugin-transform-do-expressions-6.22.0.tgz",
"integrity": "sha1-KMyvkoEtlJws0SgfaQyP3EaK6bs=",
- "dev": true,
- "requires": {
- "babel-plugin-syntax-do-expressions": "https://registry.npmjs.org/babel-plugin-syntax-do-expressions/-/babel-plugin-syntax-do-expressions-6.13.0.tgz",
- "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz"
- }
+ "dev": true
},
"babel-plugin-transform-es2015-arrow-functions": {
- "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz",
+ "version": "6.22.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz",
"integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=",
- "dev": true,
- "requires": {
- "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz"
- }
+ "dev": true
},
"babel-plugin-transform-es2015-block-scoped-functions": {
- "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz",
+ "version": "6.22.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz",
"integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=",
- "dev": true,
- "requires": {
- "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz"
- }
+ "dev": true
},
"babel-plugin-transform-es2015-block-scoping": {
- "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz",
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz",
"integrity": "sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=",
- "dev": true,
- "requires": {
- "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
- "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz",
- "babel-traverse": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz",
- "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz",
- "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz"
- }
+ "dev": true
},
"babel-plugin-transform-es2015-classes": {
- "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz",
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz",
"integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=",
- "dev": true,
- "requires": {
- "babel-helper-define-map": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz",
- "babel-helper-function-name": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz",
- "babel-helper-optimise-call-expression": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz",
- "babel-helper-replace-supers": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz",
- "babel-messages": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz",
- "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
- "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz",
- "babel-traverse": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz",
- "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz"
- }
+ "dev": true
},
"babel-plugin-transform-es2015-computed-properties": {
- "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz",
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz",
"integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=",
- "dev": true,
- "requires": {
- "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
- "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz"
- }
+ "dev": true
},
"babel-plugin-transform-es2015-destructuring": {
- "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz",
+ "version": "6.23.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz",
"integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=",
- "dev": true,
- "requires": {
- "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz"
- }
+ "dev": true
},
"babel-plugin-transform-es2015-duplicate-keys": {
- "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz",
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz",
"integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=",
- "dev": true,
- "requires": {
- "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
- "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz"
- }
+ "dev": true
},
"babel-plugin-transform-es2015-for-of": {
- "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz",
+ "version": "6.23.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz",
"integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=",
- "dev": true,
- "requires": {
- "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz"
- }
+ "dev": true
},
"babel-plugin-transform-es2015-function-name": {
- "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz",
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz",
"integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=",
- "dev": true,
- "requires": {
- "babel-helper-function-name": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz",
- "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
- "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz"
- }
+ "dev": true
},
"babel-plugin-transform-es2015-literals": {
- "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz",
+ "version": "6.22.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz",
"integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=",
- "dev": true,
- "requires": {
- "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz"
- }
+ "dev": true
},
"babel-plugin-transform-es2015-modules-amd": {
- "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz",
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz",
"integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=",
- "dev": true,
- "requires": {
- "babel-plugin-transform-es2015-modules-commonjs": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.0.tgz",
- "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
- "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz"
- }
+ "dev": true
},
"babel-plugin-transform-es2015-modules-commonjs": {
- "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.0.tgz",
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.0.tgz",
"integrity": "sha1-DYOUApt9xqvhqX7xgeAHWN0uXYo=",
- "dev": true,
- "requires": {
- "babel-plugin-transform-strict-mode": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz",
- "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
- "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz",
- "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz"
- }
+ "dev": true
},
"babel-plugin-transform-es2015-modules-systemjs": {
- "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz",
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz",
"integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=",
- "dev": true,
- "requires": {
- "babel-helper-hoist-variables": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz",
- "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
- "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz"
- }
+ "dev": true
},
"babel-plugin-transform-es2015-modules-umd": {
- "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz",
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz",
"integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=",
- "dev": true,
- "requires": {
- "babel-plugin-transform-es2015-modules-amd": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz",
- "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
- "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz"
- }
+ "dev": true
},
"babel-plugin-transform-es2015-object-super": {
- "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz",
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz",
"integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=",
- "dev": true,
- "requires": {
- "babel-helper-replace-supers": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz",
- "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz"
- }
+ "dev": true
},
"babel-plugin-transform-es2015-parameters": {
- "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz",
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz",
"integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=",
- "dev": true,
- "requires": {
- "babel-helper-call-delegate": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz",
- "babel-helper-get-function-arity": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz",
- "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
- "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz",
- "babel-traverse": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz",
- "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz"
- }
+ "dev": true
},
"babel-plugin-transform-es2015-shorthand-properties": {
- "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz",
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz",
"integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=",
- "dev": true,
- "requires": {
- "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
- "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz"
- }
+ "dev": true
},
"babel-plugin-transform-es2015-spread": {
- "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz",
+ "version": "6.22.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz",
"integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=",
- "dev": true,
- "requires": {
- "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz"
- }
+ "dev": true
},
"babel-plugin-transform-es2015-sticky-regex": {
- "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz",
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz",
"integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=",
- "dev": true,
- "requires": {
- "babel-helper-regex": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz",
- "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
- "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz"
- }
+ "dev": true
},
"babel-plugin-transform-es2015-template-literals": {
- "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz",
+ "version": "6.22.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz",
"integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=",
- "dev": true,
- "requires": {
- "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz"
- }
+ "dev": true
},
"babel-plugin-transform-es2015-typeof-symbol": {
- "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz",
+ "version": "6.23.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz",
"integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=",
- "dev": true,
- "requires": {
- "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz"
- }
+ "dev": true
},
"babel-plugin-transform-es2015-unicode-regex": {
- "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz",
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz",
"integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=",
- "dev": true,
- "requires": {
- "babel-helper-regex": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz",
- "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
- "regexpu-core": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz"
- }
- },
- "babel-plugin-transform-es3-member-expression-literals": {
- "version": "https://registry.npmjs.org/babel-plugin-transform-es3-member-expression-literals/-/babel-plugin-transform-es3-member-expression-literals-6.22.0.tgz",
- "integrity": "sha1-cz00RPPsxBvvjtGmpOCWV7iWnrs=",
- "dev": true,
- "requires": {
- "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz"
- }
- },
- "babel-plugin-transform-es3-property-literals": {
- "version": "https://registry.npmjs.org/babel-plugin-transform-es3-property-literals/-/babel-plugin-transform-es3-property-literals-6.22.0.tgz",
- "integrity": "sha1-sgeNWELiKr9A9z6M3pzTcRq9V1g=",
- "dev": true,
- "requires": {
- "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz"
- }
+ "dev": true
},
"babel-plugin-transform-exponentiation-operator": {
- "version": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz",
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz",
"integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=",
- "dev": true,
- "requires": {
- "babel-helper-builder-binary-assignment-operator-visitor": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz",
- "babel-plugin-syntax-exponentiation-operator": "https://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz",
- "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz"
- }
+ "dev": true
},
"babel-plugin-transform-export-extensions": {
- "version": "https://registry.npmjs.org/babel-plugin-transform-export-extensions/-/babel-plugin-transform-export-extensions-6.22.0.tgz",
+ "version": "6.22.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-export-extensions/-/babel-plugin-transform-export-extensions-6.22.0.tgz",
"integrity": "sha1-U3OLR+deghhYnuqUbLvTkQm75lM=",
- "dev": true,
- "requires": {
- "babel-plugin-syntax-export-extensions": "https://registry.npmjs.org/babel-plugin-syntax-export-extensions/-/babel-plugin-syntax-export-extensions-6.13.0.tgz",
- "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz"
- }
+ "dev": true
},
"babel-plugin-transform-flow-strip-types": {
- "version": "https://registry.npmjs.org/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.22.0.tgz",
+ "version": "6.22.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.22.0.tgz",
"integrity": "sha1-hMtnKTXUNxT9wyvOhFaNh0Qc988=",
- "dev": true,
- "requires": {
- "babel-plugin-syntax-flow": "https://registry.npmjs.org/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz",
- "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz"
- }
+ "dev": true
},
"babel-plugin-transform-function-bind": {
- "version": "https://registry.npmjs.org/babel-plugin-transform-function-bind/-/babel-plugin-transform-function-bind-6.22.0.tgz",
+ "version": "6.22.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-function-bind/-/babel-plugin-transform-function-bind-6.22.0.tgz",
"integrity": "sha1-xvuOlqwpajELjPjqQBRiQH3fapc=",
- "dev": true,
- "requires": {
- "babel-plugin-syntax-function-bind": "https://registry.npmjs.org/babel-plugin-syntax-function-bind/-/babel-plugin-syntax-function-bind-6.13.0.tgz",
- "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz"
- }
+ "dev": true
},
"babel-plugin-transform-object-assign": {
- "version": "https://registry.npmjs.org/babel-plugin-transform-object-assign/-/babel-plugin-transform-object-assign-6.22.0.tgz",
- "integrity": "sha1-+Z0vZvGgsNSY40bFNZaEdAyqILo=",
- "requires": {
- "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz"
- }
+ "version": "6.22.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-assign/-/babel-plugin-transform-object-assign-6.22.0.tgz",
+ "integrity": "sha1-+Z0vZvGgsNSY40bFNZaEdAyqILo="
},
"babel-plugin-transform-object-rest-spread": {
- "version": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz",
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz",
"integrity": "sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY=",
- "dev": true,
- "requires": {
- "babel-plugin-syntax-object-rest-spread": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz",
- "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz"
- }
+ "dev": true
},
"babel-plugin-transform-react-display-name": {
- "version": "https://registry.npmjs.org/babel-plugin-transform-react-display-name/-/babel-plugin-transform-react-display-name-6.25.0.tgz",
+ "version": "6.25.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-display-name/-/babel-plugin-transform-react-display-name-6.25.0.tgz",
"integrity": "sha1-Z+K/Hx6ck6sI25Z5LgU5K/LMKNE=",
- "dev": true,
- "requires": {
- "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz"
- }
+ "dev": true
},
"babel-plugin-transform-react-jsx": {
- "version": "https://registry.npmjs.org/babel-plugin-transform-react-jsx/-/babel-plugin-transform-react-jsx-6.24.1.tgz",
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx/-/babel-plugin-transform-react-jsx-6.24.1.tgz",
"integrity": "sha1-hAoCjn30YN/DotKfDA2R9jduZqM=",
- "dev": true,
- "requires": {
- "babel-helper-builder-react-jsx": "https://registry.npmjs.org/babel-helper-builder-react-jsx/-/babel-helper-builder-react-jsx-6.26.0.tgz",
- "babel-plugin-syntax-jsx": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz",
- "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz"
- }
+ "dev": true
},
"babel-plugin-transform-react-jsx-self": {
- "version": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-self/-/babel-plugin-transform-react-jsx-self-6.22.0.tgz",
+ "version": "6.22.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-self/-/babel-plugin-transform-react-jsx-self-6.22.0.tgz",
"integrity": "sha1-322AqdomEqEh5t3XVYvL7PBuY24=",
- "dev": true,
- "requires": {
- "babel-plugin-syntax-jsx": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz",
- "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz"
- }
+ "dev": true
},
"babel-plugin-transform-react-jsx-source": {
- "version": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-source/-/babel-plugin-transform-react-jsx-source-6.22.0.tgz",
+ "version": "6.22.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-source/-/babel-plugin-transform-react-jsx-source-6.22.0.tgz",
"integrity": "sha1-ZqwSFT9c0tF7PBkmj0vwGX9E7NY=",
- "dev": true,
- "requires": {
- "babel-plugin-syntax-jsx": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz",
- "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz"
- }
+ "dev": true
},
"babel-plugin-transform-regenerator": {
- "version": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz",
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz",
"integrity": "sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=",
- "dev": true,
- "requires": {
- "regenerator-transform": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz"
- }
+ "dev": true
},
"babel-plugin-transform-strict-mode": {
- "version": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz",
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz",
"integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=",
- "dev": true,
- "requires": {
- "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
- "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz"
- }
+ "dev": true
},
"babel-preset-env": {
- "version": "https://registry.npmjs.org/babel-preset-env/-/babel-preset-env-1.6.1.tgz",
- "integrity": "sha1-oYtWTMm5r99KrleuPBsNmRiOb0g=",
- "dev": true,
- "requires": {
- "babel-plugin-check-es2015-constants": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz",
- "babel-plugin-syntax-trailing-function-commas": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz",
- "babel-plugin-transform-async-to-generator": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz",
- "babel-plugin-transform-es2015-arrow-functions": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz",
- "babel-plugin-transform-es2015-block-scoped-functions": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz",
- "babel-plugin-transform-es2015-block-scoping": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz",
- "babel-plugin-transform-es2015-classes": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz",
- "babel-plugin-transform-es2015-computed-properties": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz",
- "babel-plugin-transform-es2015-destructuring": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz",
- "babel-plugin-transform-es2015-duplicate-keys": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz",
- "babel-plugin-transform-es2015-for-of": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz",
- "babel-plugin-transform-es2015-function-name": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz",
- "babel-plugin-transform-es2015-literals": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz",
- "babel-plugin-transform-es2015-modules-amd": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz",
- "babel-plugin-transform-es2015-modules-commonjs": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.0.tgz",
- "babel-plugin-transform-es2015-modules-systemjs": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz",
- "babel-plugin-transform-es2015-modules-umd": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz",
- "babel-plugin-transform-es2015-object-super": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz",
- "babel-plugin-transform-es2015-parameters": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz",
- "babel-plugin-transform-es2015-shorthand-properties": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz",
- "babel-plugin-transform-es2015-spread": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz",
- "babel-plugin-transform-es2015-sticky-regex": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz",
- "babel-plugin-transform-es2015-template-literals": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz",
- "babel-plugin-transform-es2015-typeof-symbol": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz",
- "babel-plugin-transform-es2015-unicode-regex": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz",
- "babel-plugin-transform-exponentiation-operator": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz",
- "babel-plugin-transform-regenerator": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz",
- "browserslist": "https://registry.npmjs.org/browserslist/-/browserslist-2.11.3.tgz",
- "invariant": "2.2.2",
- "semver": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz"
- }
- },
- "babel-preset-es2015": {
- "version": "https://registry.npmjs.org/babel-preset-es2015/-/babel-preset-es2015-6.22.0.tgz",
- "integrity": "sha1-r1qY7LNeuK92StiloF6zbcQ4aDU=",
- "dev": true,
- "requires": {
- "babel-plugin-check-es2015-constants": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz",
- "babel-plugin-transform-es2015-arrow-functions": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz",
- "babel-plugin-transform-es2015-block-scoped-functions": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz",
- "babel-plugin-transform-es2015-block-scoping": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz",
- "babel-plugin-transform-es2015-classes": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz",
- "babel-plugin-transform-es2015-computed-properties": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz",
- "babel-plugin-transform-es2015-destructuring": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz",
- "babel-plugin-transform-es2015-duplicate-keys": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz",
- "babel-plugin-transform-es2015-for-of": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz",
- "babel-plugin-transform-es2015-function-name": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz",
- "babel-plugin-transform-es2015-literals": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz",
- "babel-plugin-transform-es2015-modules-amd": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz",
- "babel-plugin-transform-es2015-modules-commonjs": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.0.tgz",
- "babel-plugin-transform-es2015-modules-systemjs": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz",
- "babel-plugin-transform-es2015-modules-umd": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz",
- "babel-plugin-transform-es2015-object-super": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz",
- "babel-plugin-transform-es2015-parameters": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz",
- "babel-plugin-transform-es2015-shorthand-properties": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz",
- "babel-plugin-transform-es2015-spread": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz",
- "babel-plugin-transform-es2015-sticky-regex": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz",
- "babel-plugin-transform-es2015-template-literals": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz",
- "babel-plugin-transform-es2015-typeof-symbol": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz",
- "babel-plugin-transform-es2015-unicode-regex": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz",
- "babel-plugin-transform-regenerator": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz"
- }
+ "version": "1.6.1",
+ "resolved": "https://registry.npmjs.org/babel-preset-env/-/babel-preset-env-1.6.1.tgz",
+ "integrity": "sha512-W6VIyA6Ch9ePMI7VptNn2wBM6dbG0eSz25HEiL40nQXCsXGTGZSTZu1Iap+cj3Q0S5a7T9+529l/5Bkvd+afNA==",
+ "dev": true
},
"babel-preset-flow": {
- "version": "https://registry.npmjs.org/babel-preset-flow/-/babel-preset-flow-6.23.0.tgz",
+ "version": "6.23.0",
+ "resolved": "https://registry.npmjs.org/babel-preset-flow/-/babel-preset-flow-6.23.0.tgz",
"integrity": "sha1-5xIYiHCFrpoktb5Baa/7WZgWxJ0=",
- "dev": true,
- "requires": {
- "babel-plugin-transform-flow-strip-types": "https://registry.npmjs.org/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.22.0.tgz"
- }
+ "dev": true
},
"babel-preset-react": {
- "version": "https://registry.npmjs.org/babel-preset-react/-/babel-preset-react-6.24.1.tgz",
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-preset-react/-/babel-preset-react-6.24.1.tgz",
"integrity": "sha1-umnfrqRfw+xjm2pOzqbhdwLJE4A=",
- "dev": true,
- "requires": {
- "babel-plugin-syntax-jsx": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz",
- "babel-plugin-transform-react-display-name": "https://registry.npmjs.org/babel-plugin-transform-react-display-name/-/babel-plugin-transform-react-display-name-6.25.0.tgz",
- "babel-plugin-transform-react-jsx": "https://registry.npmjs.org/babel-plugin-transform-react-jsx/-/babel-plugin-transform-react-jsx-6.24.1.tgz",
- "babel-plugin-transform-react-jsx-self": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-self/-/babel-plugin-transform-react-jsx-self-6.22.0.tgz",
- "babel-plugin-transform-react-jsx-source": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-source/-/babel-plugin-transform-react-jsx-source-6.22.0.tgz",
- "babel-preset-flow": "https://registry.npmjs.org/babel-preset-flow/-/babel-preset-flow-6.23.0.tgz"
- }
+ "dev": true
},
"babel-preset-stage-0": {
- "version": "https://registry.npmjs.org/babel-preset-stage-0/-/babel-preset-stage-0-6.24.1.tgz",
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-preset-stage-0/-/babel-preset-stage-0-6.24.1.tgz",
"integrity": "sha1-VkLRUEL5E4TX5a+LyIsduVsDnmo=",
- "dev": true,
- "requires": {
- "babel-plugin-transform-do-expressions": "https://registry.npmjs.org/babel-plugin-transform-do-expressions/-/babel-plugin-transform-do-expressions-6.22.0.tgz",
- "babel-plugin-transform-function-bind": "https://registry.npmjs.org/babel-plugin-transform-function-bind/-/babel-plugin-transform-function-bind-6.22.0.tgz",
- "babel-preset-stage-1": "https://registry.npmjs.org/babel-preset-stage-1/-/babel-preset-stage-1-6.24.1.tgz"
- }
+ "dev": true
},
"babel-preset-stage-1": {
- "version": "https://registry.npmjs.org/babel-preset-stage-1/-/babel-preset-stage-1-6.24.1.tgz",
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-preset-stage-1/-/babel-preset-stage-1-6.24.1.tgz",
"integrity": "sha1-dpLNfc1oSZB+auSgqFWJz7niv7A=",
- "dev": true,
- "requires": {
- "babel-plugin-transform-class-constructor-call": "https://registry.npmjs.org/babel-plugin-transform-class-constructor-call/-/babel-plugin-transform-class-constructor-call-6.24.1.tgz",
- "babel-plugin-transform-export-extensions": "https://registry.npmjs.org/babel-plugin-transform-export-extensions/-/babel-plugin-transform-export-extensions-6.22.0.tgz",
- "babel-preset-stage-2": "https://registry.npmjs.org/babel-preset-stage-2/-/babel-preset-stage-2-6.24.1.tgz"
- }
+ "dev": true
},
"babel-preset-stage-2": {
- "version": "https://registry.npmjs.org/babel-preset-stage-2/-/babel-preset-stage-2-6.24.1.tgz",
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-preset-stage-2/-/babel-preset-stage-2-6.24.1.tgz",
"integrity": "sha1-2eKWD7PXEYfw5k7sYrwHdnIZvcE=",
- "dev": true,
- "requires": {
- "babel-plugin-syntax-dynamic-import": "https://registry.npmjs.org/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz",
- "babel-plugin-transform-class-properties": "https://registry.npmjs.org/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz",
- "babel-plugin-transform-decorators": "https://registry.npmjs.org/babel-plugin-transform-decorators/-/babel-plugin-transform-decorators-6.24.1.tgz",
- "babel-preset-stage-3": "https://registry.npmjs.org/babel-preset-stage-3/-/babel-preset-stage-3-6.24.1.tgz"
- }
+ "dev": true
},
"babel-preset-stage-3": {
- "version": "https://registry.npmjs.org/babel-preset-stage-3/-/babel-preset-stage-3-6.24.1.tgz",
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-preset-stage-3/-/babel-preset-stage-3-6.24.1.tgz",
"integrity": "sha1-g2raCp56f6N8sTj7kyb4eTSkg5U=",
- "dev": true,
- "requires": {
- "babel-plugin-syntax-trailing-function-commas": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz",
- "babel-plugin-transform-async-generator-functions": "https://registry.npmjs.org/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-6.24.1.tgz",
- "babel-plugin-transform-async-to-generator": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz",
- "babel-plugin-transform-exponentiation-operator": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz",
- "babel-plugin-transform-object-rest-spread": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz"
- }
+ "dev": true
},
"babel-register": {
- "version": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz",
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz",
"integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=",
"dev": true,
- "requires": {
- "babel-core": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.0.tgz",
- "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
- "core-js": "https://registry.npmjs.org/core-js/-/core-js-2.5.3.tgz",
- "home-or-tmp": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz",
- "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz",
- "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
- "source-map-support": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz"
- },
"dependencies": {
"babel-core": {
- "version": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.0.tgz",
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.0.tgz",
"integrity": "sha1-rzL3izGm/O8RnIew/Y2XU/A6C7g=",
- "dev": true,
- "requires": {
- "babel-code-frame": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz",
- "babel-generator": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz",
- "babel-helpers": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz",
- "babel-messages": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz",
- "babel-register": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz",
- "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
- "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz",
- "babel-traverse": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz",
- "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz",
- "babylon": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz",
- "convert-source-map": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz",
- "debug": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "json5": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
- "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz",
- "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
- "path-is-absolute": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
- "private": "https://registry.npmjs.org/private/-/private-0.1.8.tgz",
- "slash": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz",
- "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz"
- }
+ "dev": true
},
"debug": {
- "version": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
- "dev": true,
- "requires": {
- "ms": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"
- }
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true
},
"source-map": {
- "version": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
"integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
"dev": true
}
}
},
"babel-runtime": {
- "version": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
- "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
- "requires": {
- "core-js": "https://registry.npmjs.org/core-js/-/core-js-2.5.3.tgz",
- "regenerator-runtime": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz"
- }
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4="
},
"babel-template": {
- "version": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz",
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz",
"integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=",
- "dev": true,
- "requires": {
- "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
- "babel-traverse": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz",
- "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz",
- "babylon": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz",
- "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz"
- }
+ "dev": true
},
"babel-traverse": {
- "version": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz",
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz",
"integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=",
"dev": true,
- "requires": {
- "babel-code-frame": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz",
- "babel-messages": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz",
- "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
- "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz",
- "babylon": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz",
- "debug": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "globals": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz",
- "invariant": "2.2.2",
- "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz"
- },
"dependencies": {
"debug": {
- "version": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
- "dev": true,
- "requires": {
- "ms": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"
- }
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true
}
}
},
"babel-types": {
- "version": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz",
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz",
"integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=",
- "dev": true,
- "requires": {
- "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
- "esutils": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
- "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz",
- "to-fast-properties": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz"
- }
+ "dev": true
},
"babelify": {
- "version": "https://registry.npmjs.org/babelify/-/babelify-8.0.0.tgz",
- "integrity": "sha1-b2D18GK/52lXVO8kA7hCAUpYDtM=",
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/babelify/-/babelify-8.0.0.tgz",
+ "integrity": "sha512-xVr63fKEvMWUrrIbqlHYsMcc5Zdw4FSVesAHgkgajyCE1W8gbm9rbMakqavhxKvikGYMhEcqxTwB/gQmQ6lBtw==",
"dev": true
},
"babylon": {
- "version": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz",
- "integrity": "sha1-ry87iPpvXB5MY00aD46sT1WzleM=",
+ "version": "6.18.0",
+ "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz",
+ "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==",
"dev": true
},
"backo2": {
- "version": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz",
"integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=",
"dev": true
},
"bail": {
- "version": "https://registry.npmjs.org/bail/-/bail-1.0.2.tgz",
- "integrity": "sha1-99bBcxYwqfnw1NNe0fli4gdKF2Q=",
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/bail/-/bail-1.0.3.tgz",
+ "integrity": "sha512-1X8CnjFVQ+a+KW36uBNMTU5s8+v5FzeqrP7hTG5aTb4aPreSbZJlhwPon9VKMuEVgV++JM+SQrALY3kr7eswdg==",
"dev": true
},
"balanced-match": {
- "version": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
"integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
"dev": true
},
"base": {
- "version": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
- "integrity": "sha1-e95c7RRbbVUakNuH+DxVi060io8=",
+ "version": "0.11.2",
+ "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
+ "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
"dev": true,
- "requires": {
- "cache-base": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
- "class-utils": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
- "component-emitter": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
- "define-property": "1.0.0",
- "isobject": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
- "mixin-deep": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz",
- "pascalcase": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz"
+ "dependencies": {
+ "define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+ "dev": true
+ },
+ "is-accessor-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+ "dev": true
+ },
+ "is-data-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+ "dev": true
+ },
+ "is-descriptor": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+ "dev": true
+ }
}
},
"base64-arraybuffer": {
- "version": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz",
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz",
"integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg=",
"dev": true
},
"base64-js": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.2.1.tgz",
- "integrity": "sha512-dwVUVIXsBZXwTuwnXI9RK8sBmgq09NDHzyR9SAph9eqk76gKK2JSQmZARC2zRC81JC2QTtxD0ARU5qTS25gIGw==",
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz",
+ "integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==",
"dev": true
},
"base64-url": {
- "version": "https://registry.npmjs.org/base64-url/-/base64-url-1.2.1.tgz",
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/base64-url/-/base64-url-1.2.1.tgz",
"integrity": "sha1-GZ/WYXAqDnt9yubgaYuwicUvbXg=",
"dev": true
},
"base64id": {
- "version": "https://registry.npmjs.org/base64id/-/base64id-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/base64id/-/base64id-1.0.0.tgz",
"integrity": "sha1-R2iMuZu2gE8OBtPnY7HDLlfY5rY=",
"dev": true
},
"basic-auth": {
- "version": "https://registry.npmjs.org/basic-auth/-/basic-auth-1.0.4.tgz",
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-1.0.4.tgz",
"integrity": "sha1-Awk1sB3nyblKgksp8/zLdQ06UpA=",
"dev": true
},
"basic-auth-connect": {
- "version": "https://registry.npmjs.org/basic-auth-connect/-/basic-auth-connect-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/basic-auth-connect/-/basic-auth-connect-1.0.0.tgz",
"integrity": "sha1-/bC0OWLKe0BFanwrtI/hc9otISI=",
"dev": true
},
"batch": {
- "version": "https://registry.npmjs.org/batch/-/batch-0.5.3.tgz",
+ "version": "0.5.3",
+ "resolved": "https://registry.npmjs.org/batch/-/batch-0.5.3.tgz",
"integrity": "sha1-PzQU84AyF0O/wQQvmoP/HVgk1GQ=",
"dev": true
},
"bcrypt-pbkdf": {
- "version": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz",
"integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=",
"dev": true,
- "optional": true,
- "requires": {
- "tweetnacl": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz"
- }
+ "optional": true
},
"beeper": {
- "version": "https://registry.npmjs.org/beeper/-/beeper-1.1.1.tgz",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/beeper/-/beeper-1.1.1.tgz",
"integrity": "sha1-5tXqjF2tABMEpwsiY4RH9pyy+Ak=",
"dev": true
},
"better-assert": {
- "version": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz",
"integrity": "sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI=",
- "dev": true,
- "requires": {
- "callsite": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz"
- }
+ "dev": true
},
"big.js": {
- "version": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz",
- "integrity": "sha1-pfwpi4G54Nyi5FiCR4S2XFK6WI4=",
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz",
+ "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==",
"dev": true
},
"binary": {
- "version": "https://registry.npmjs.org/binary/-/binary-0.3.0.tgz",
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/binary/-/binary-0.3.0.tgz",
"integrity": "sha1-n2BVO8XOjDOG87VTz/R0Yq3sqnk=",
- "dev": true,
- "requires": {
- "buffers": "https://registry.npmjs.org/buffers/-/buffers-0.1.1.tgz",
- "chainsaw": "https://registry.npmjs.org/chainsaw/-/chainsaw-0.1.0.tgz"
- }
+ "dev": true
},
"binary-extensions": {
- "version": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.11.0.tgz",
+ "version": "1.11.0",
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.11.0.tgz",
"integrity": "sha1-RqoXUftqL5PuXmibsQh9SxTGwgU=",
"dev": true
},
"binaryextensions": {
- "version": "https://registry.npmjs.org/binaryextensions/-/binaryextensions-1.0.1.tgz",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/binaryextensions/-/binaryextensions-1.0.1.tgz",
"integrity": "sha1-HmN0iLNbWL2l9HdL+WpSEqjJB1U=",
"dev": true
},
"bitsyntax": {
- "version": "https://registry.npmjs.org/bitsyntax/-/bitsyntax-0.0.4.tgz",
+ "version": "0.0.4",
+ "resolved": "https://registry.npmjs.org/bitsyntax/-/bitsyntax-0.0.4.tgz",
"integrity": "sha1-6xDMb4K4xJDj6FaY8H6D1G4MuoI=",
"dev": true,
- "optional": true,
- "requires": {
- "buffer-more-ints": "https://registry.npmjs.org/buffer-more-ints/-/buffer-more-ints-0.0.2.tgz"
- }
+ "optional": true
},
"bl": {
- "version": "https://registry.npmjs.org/bl/-/bl-0.9.5.tgz",
+ "version": "0.9.5",
+ "resolved": "https://registry.npmjs.org/bl/-/bl-0.9.5.tgz",
"integrity": "sha1-wGt5evCF6gC8Unr8jvzxHeIjIFQ=",
"dev": true,
- "requires": {
- "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz"
- },
"dependencies": {
"isarray": {
- "version": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
"integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
"dev": true
},
"readable-stream": {
- "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "version": "1.0.34",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
"integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
- "dev": true,
- "requires": {
- "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
- "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
- "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
- }
+ "dev": true
},
"string_decoder": {
- "version": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "version": "0.10.31",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
"dev": true
}
}
},
"blob": {
- "version": "https://registry.npmjs.org/blob/-/blob-0.0.4.tgz",
+ "version": "0.0.4",
+ "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.4.tgz",
"integrity": "sha1-vPEwUspURj8w+fx+lbmkdjCpSSE=",
"dev": true
},
"block-loader": {
- "version": "https://registry.npmjs.org/block-loader/-/block-loader-2.1.0.tgz",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/block-loader/-/block-loader-2.1.0.tgz",
"integrity": "sha1-u7OYrVqEPGxx95opb0tt9LAlcxI=",
"dev": true
},
"bluebird": {
- "version": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz",
- "integrity": "sha1-2VUfnemPH82h5oPRfukaBgLuLrk=",
+ "version": "3.5.1",
+ "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz",
+ "integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==",
"dev": true
},
"bn.js": {
- "version": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz",
- "integrity": "sha1-LN4J617jQfSEdGuwMJsyU7GxRC8=",
+ "version": "4.11.8",
+ "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz",
+ "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==",
"dev": true
},
"body": {
- "version": "https://registry.npmjs.org/body/-/body-5.1.0.tgz",
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/body/-/body-5.1.0.tgz",
"integrity": "sha1-5LoM5BCkaTYyM2dgnstOZVMSUGk=",
- "dev": true,
- "requires": {
- "continuable-cache": "https://registry.npmjs.org/continuable-cache/-/continuable-cache-0.3.1.tgz",
- "error": "https://registry.npmjs.org/error/-/error-7.0.2.tgz",
- "raw-body": "https://registry.npmjs.org/raw-body/-/raw-body-1.1.7.tgz",
- "safe-json-parse": "https://registry.npmjs.org/safe-json-parse/-/safe-json-parse-1.0.1.tgz"
- }
+ "dev": true
},
"body-parser": {
- "version": "https://registry.npmjs.org/body-parser/-/body-parser-1.13.3.tgz",
+ "version": "1.13.3",
+ "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.13.3.tgz",
"integrity": "sha1-wIzzMMM1jhUQFqBXRvE/ApyX+pc=",
"dev": true,
- "requires": {
- "bytes": "https://registry.npmjs.org/bytes/-/bytes-2.1.0.tgz",
- "content-type": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
- "debug": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
- "depd": "https://registry.npmjs.org/depd/-/depd-1.0.1.tgz",
- "http-errors": "https://registry.npmjs.org/http-errors/-/http-errors-1.3.1.tgz",
- "iconv-lite": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.11.tgz",
- "on-finished": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
- "qs": "https://registry.npmjs.org/qs/-/qs-4.0.0.tgz",
- "raw-body": "https://registry.npmjs.org/raw-body/-/raw-body-2.1.7.tgz",
- "type-is": "1.6.15"
- },
"dependencies": {
"bytes": {
- "version": "https://registry.npmjs.org/bytes/-/bytes-2.1.0.tgz",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-2.1.0.tgz",
"integrity": "sha1-rJPEEOL/ycx89LRks4KJBn9eR7Q=",
"dev": true
},
"debug": {
- "version": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
"integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
- "dev": true,
- "requires": {
- "ms": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz"
- }
+ "dev": true
},
"ms": {
- "version": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
+ "version": "0.7.1",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
"integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=",
"dev": true
},
"qs": {
- "version": "https://registry.npmjs.org/qs/-/qs-4.0.0.tgz",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-4.0.0.tgz",
"integrity": "sha1-wx2bdOwn33XlQ6hseHKO2NRiNgc=",
"dev": true
},
"raw-body": {
- "version": "https://registry.npmjs.org/raw-body/-/raw-body-2.1.7.tgz",
+ "version": "2.1.7",
+ "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.1.7.tgz",
"integrity": "sha1-rf6s4uT7MJgFgBTQjActzFl1h3Q=",
"dev": true,
- "requires": {
- "bytes": "https://registry.npmjs.org/bytes/-/bytes-2.4.0.tgz",
- "iconv-lite": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.13.tgz",
- "unpipe": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz"
- },
"dependencies": {
"bytes": {
- "version": "https://registry.npmjs.org/bytes/-/bytes-2.4.0.tgz",
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-2.4.0.tgz",
"integrity": "sha1-fZcZb51br39pNeJZhVSe3SpsIzk=",
"dev": true
},
"iconv-lite": {
- "version": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.13.tgz",
+ "version": "0.4.13",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.13.tgz",
"integrity": "sha1-H4irpKsLFQjoMSrMOTRfNumS4vI=",
"dev": true
}
@@ -1793,1989 +1322,1380 @@
}
},
"boom": {
- "version": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz",
+ "version": "2.10.1",
+ "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz",
"integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=",
- "dev": true,
- "requires": {
- "hoek": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz"
- }
+ "dev": true
},
"brace-expansion": {
- "version": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
- "integrity": "sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0=",
- "dev": true,
- "requires": {
- "balanced-match": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
- "concat-map": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz"
- }
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "dev": true
},
"braces": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.0.tgz",
- "integrity": "sha512-P4O8UQRdGiMLWSizsApmXVQDBS6KCt7dSexgLKBmH5Hr1CZq7vsnscFh8oR1sP1ab1Zj0uCHCEzZeV6SfUf3rA==",
- "dev": true,
- "requires": {
- "arr-flatten": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
- "array-unique": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
- "define-property": "1.0.0",
- "extend-shallow": "2.0.1",
- "fill-range": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
- "isobject": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
- "repeat-element": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz",
- "snapdragon": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.1.tgz",
- "snapdragon-node": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
- "split-string": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
- "to-regex": "3.0.1"
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
+ "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
+ "dev": true,
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true
+ }
}
},
"brorand": {
- "version": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz",
"integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=",
"dev": true
},
- "browser-pack": {
- "version": "https://registry.npmjs.org/browser-pack/-/browser-pack-6.0.4.tgz",
- "integrity": "sha1-mnO+s7SPnjaGi+AHtkQAECwEqZ8=",
- "dev": true,
- "requires": {
- "JSONStream": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.2.tgz",
- "combine-source-map": "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.8.0.tgz",
- "defined": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz",
- "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz",
- "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
- "umd": "https://registry.npmjs.org/umd/-/umd-3.0.1.tgz"
- }
- },
"browser-resolve": {
- "version": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.2.tgz",
+ "version": "1.11.2",
+ "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.2.tgz",
"integrity": "sha1-j/CbCixCFxihBRwmCzLkj0QpOM4=",
"dev": true,
- "requires": {
- "resolve": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz"
- },
"dependencies": {
"resolve": {
- "version": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz",
+ "version": "1.1.7",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz",
"integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=",
"dev": true
}
}
},
"browser-stdout": {
- "version": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.0.tgz",
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.0.tgz",
"integrity": "sha1-81HTKWnTL6XXpVZxVCY9korjvR8=",
"dev": true
},
- "browserify": {
- "version": "https://registry.npmjs.org/browserify/-/browserify-14.5.0.tgz",
- "integrity": "sha1-C7vOUhrNbk0dVNjpNlAI77hanMU=",
- "dev": true,
- "requires": {
- "JSONStream": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.2.tgz",
- "assert": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz",
- "browser-pack": "https://registry.npmjs.org/browser-pack/-/browser-pack-6.0.4.tgz",
- "browser-resolve": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.2.tgz",
- "browserify-zlib": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz",
- "buffer": "5.0.8",
- "cached-path-relative": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.0.1.tgz",
- "concat-stream": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.2.tgz",
- "console-browserify": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz",
- "constants-browserify": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz",
- "crypto-browserify": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz",
- "defined": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz",
- "deps-sort": "https://registry.npmjs.org/deps-sort/-/deps-sort-2.0.0.tgz",
- "domain-browser": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.1.7.tgz",
- "duplexer2": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz",
- "events": "https://registry.npmjs.org/events/-/events-1.1.1.tgz",
- "glob": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
- "has": "https://registry.npmjs.org/has/-/has-1.0.1.tgz",
- "htmlescape": "https://registry.npmjs.org/htmlescape/-/htmlescape-1.1.1.tgz",
- "https-browserify": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz",
- "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "insert-module-globals": "7.0.1",
- "labeled-stream-splicer": "https://registry.npmjs.org/labeled-stream-splicer/-/labeled-stream-splicer-2.0.0.tgz",
- "module-deps": "https://registry.npmjs.org/module-deps/-/module-deps-4.1.1.tgz",
- "os-browserify": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz",
- "parents": "https://registry.npmjs.org/parents/-/parents-1.0.1.tgz",
- "path-browserify": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz",
- "process": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
- "punycode": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
- "querystring-es3": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz",
- "read-only-stream": "https://registry.npmjs.org/read-only-stream/-/read-only-stream-2.0.0.tgz",
- "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.4.tgz",
- "resolve": "https://registry.npmjs.org/resolve/-/resolve-1.5.0.tgz",
- "shasum": "https://registry.npmjs.org/shasum/-/shasum-1.0.2.tgz",
- "shell-quote": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.6.1.tgz",
- "stream-browserify": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz",
- "stream-http": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.0.tgz",
- "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz",
- "subarg": "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz",
- "syntax-error": "https://registry.npmjs.org/syntax-error/-/syntax-error-1.4.0.tgz",
- "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
- "timers-browserify": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-1.4.2.tgz",
- "tty-browserify": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz",
- "url": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
- "util": "https://registry.npmjs.org/util/-/util-0.10.3.tgz",
- "vm-browserify": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz",
- "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
- },
- "dependencies": {
- "concat-stream": {
- "version": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.2.tgz",
- "integrity": "sha1-cIl4Yk2FavQaWnQd790mHadSwmY=",
- "dev": true,
- "requires": {
- "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz",
- "typedarray": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz"
- },
- "dependencies": {
- "readable-stream": {
- "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz",
- "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=",
- "dev": true,
- "requires": {
- "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
- "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "isarray": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "process-nextick-args": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
- "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
- "util-deprecate": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"
- }
- },
- "string_decoder": {
- "version": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
- "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
- "dev": true
- }
- }
- },
- "module-deps": {
- "version": "https://registry.npmjs.org/module-deps/-/module-deps-4.1.1.tgz",
- "integrity": "sha1-IyFYM/HaE/1gbMuAh7RIUty4If0=",
- "dev": true,
- "requires": {
- "JSONStream": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.2.tgz",
- "browser-resolve": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.2.tgz",
- "cached-path-relative": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.0.1.tgz",
- "concat-stream": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.2.tgz",
- "defined": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz",
- "detective": "https://registry.npmjs.org/detective/-/detective-4.7.1.tgz",
- "duplexer2": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz",
- "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "parents": "https://registry.npmjs.org/parents/-/parents-1.0.1.tgz",
- "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.4.tgz",
- "resolve": "https://registry.npmjs.org/resolve/-/resolve-1.5.0.tgz",
- "stream-combiner2": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz",
- "subarg": "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz",
- "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
- "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
- }
- },
- "process-nextick-args": {
- "version": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
- "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=",
- "dev": true
- },
- "url": {
- "version": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
- "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=",
- "dev": true,
- "requires": {
- "punycode": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
- "querystring": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz"
- },
- "dependencies": {
- "punycode": {
- "version": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
- "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=",
- "dev": true
- }
- }
- }
- }
- },
"browserify-aes": {
- "version": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.1.1.tgz",
- "integrity": "sha1-OLerVe24Bv8tzaGn8WIHc6R3xJ8=",
- "dev": true,
- "requires": {
- "buffer-xor": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz",
- "cipher-base": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz",
- "create-hash": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.3.tgz",
- "evp_bytestokey": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz",
- "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz"
- }
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz",
+ "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==",
+ "dev": true
},
"browserify-cipher": {
- "version": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.0.tgz",
- "integrity": "sha1-mYgkSHS/XtTijalWZtzWasj8Njo=",
- "dev": true,
- "requires": {
- "browserify-aes": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.1.1.tgz",
- "browserify-des": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.0.tgz",
- "evp_bytestokey": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz"
- }
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz",
+ "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==",
+ "dev": true
},
"browserify-des": {
- "version": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.0.tgz",
- "integrity": "sha1-2qJ3cXRwki7S/hhZQRihdUOXId0=",
- "dev": true,
- "requires": {
- "cipher-base": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz",
- "des.js": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz",
- "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz"
- }
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.1.tgz",
+ "integrity": "sha512-zy0Cobe3hhgpiOM32Tj7KQ3Vl91m0njwsjzZQK1L+JDf11dzP9qIvjreVinsvXrgfjhStXwUWAEpB9D7Gwmayw==",
+ "dev": true
},
"browserify-rsa": {
- "version": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz",
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz",
"integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=",
- "dev": true,
- "requires": {
- "bn.js": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz",
- "randombytes": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz"
- }
+ "dev": true
},
"browserify-sign": {
- "version": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz",
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz",
"integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=",
- "dev": true,
- "requires": {
- "bn.js": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz",
- "browserify-rsa": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz",
- "create-hash": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.3.tgz",
- "create-hmac": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.6.tgz",
- "elliptic": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.0.tgz",
- "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "parse-asn1": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.0.tgz"
- }
+ "dev": true
},
"browserify-zlib": {
- "version": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz",
- "integrity": "sha1-KGlFnZqjviRf6P4sofRuLn9U1z8=",
- "dev": true,
- "requires": {
- "pako": "https://registry.npmjs.org/pako/-/pako-1.0.6.tgz"
- }
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz",
+ "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==",
+ "dev": true
},
"browserslist": {
- "version": "https://registry.npmjs.org/browserslist/-/browserslist-2.11.3.tgz",
- "integrity": "sha1-/jYWeu0bvN5IJ+v+cTR6LMcLmbI=",
- "dev": true,
- "requires": {
- "caniuse-lite": "1.0.30000808",
- "electron-to-chromium": "1.3.33"
- }
+ "version": "2.11.3",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-2.11.3.tgz",
+ "integrity": "sha512-yWu5cXT7Av6mVwzWc8lMsJMHWn4xyjSuGYi4IozbVTLUOEYPSagUB8kiMDUHA1fS3zjr8nkxkn9jdvug4BBRmA==",
+ "dev": true
},
"browserstack": {
- "version": "https://registry.npmjs.org/browserstack/-/browserstack-1.5.0.tgz",
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/browserstack/-/browserstack-1.5.0.tgz",
"integrity": "sha1-tWVCWtYu1ywQgqHrl51TE8fUdU8=",
- "dev": true,
- "requires": {
- "https-proxy-agent": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-1.0.0.tgz"
- }
+ "dev": true
},
"browserstacktunnel-wrapper": {
- "version": "https://registry.npmjs.org/browserstacktunnel-wrapper/-/browserstacktunnel-wrapper-2.0.1.tgz",
- "integrity": "sha1-/+GRDW45/oZhgYPoJmkAQa9T7a4=",
- "dev": true,
- "requires": {
- "https-proxy-agent": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-1.0.0.tgz",
- "unzip": "https://registry.npmjs.org/unzip/-/unzip-0.1.11.tgz"
- }
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/browserstacktunnel-wrapper/-/browserstacktunnel-wrapper-2.0.2.tgz",
+ "integrity": "sha512-7w7HYA00qjBtuQH0c5rqW7RbWPHyRROqTZofwNp5G0sKc2fYChsTfbHz3ul8Yd+ffkQvR81m+iPjEB004P6kxQ==",
+ "dev": true
},
"buffer": {
- "version": "5.0.8",
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.0.8.tgz",
- "integrity": "sha512-xXvjQhVNz50v2nPeoOsNqWCLGfiv4ji/gXZM28jnVwdLJxH4mFyqgqCKfaK9zf1KUbG6zTkjLOy7ou+jSMarGA==",
- "dev": true,
- "requires": {
- "base64-js": "1.2.1",
- "ieee754": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.8.tgz"
- }
+ "version": "4.9.1",
+ "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz",
+ "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=",
+ "dev": true
},
"buffer-crc32": {
- "version": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
+ "version": "0.2.13",
+ "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
"integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=",
"dev": true
},
"buffer-equal": {
- "version": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.0.tgz",
"integrity": "sha1-WWFrSYME1Var1GaWayLu2j7KX74=",
"dev": true
},
+ "buffer-from": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.0.0.tgz",
+ "integrity": "sha512-83apNb8KK0Se60UE1+4Ukbe3HbfELJ6UlI4ldtOGs7So4KD26orJM8hIY9lxdzP+UpItH1Yh/Y8GUvNFWFFRxA==",
+ "dev": true
+ },
"buffer-more-ints": {
- "version": "https://registry.npmjs.org/buffer-more-ints/-/buffer-more-ints-0.0.2.tgz",
+ "version": "0.0.2",
+ "resolved": "https://registry.npmjs.org/buffer-more-ints/-/buffer-more-ints-0.0.2.tgz",
"integrity": "sha1-JrOIXRD6E9t/wBquOquHAZngEkw=",
"dev": true
},
"buffer-shims": {
- "version": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz",
"integrity": "sha1-mXjOMXOIxkmth5MCjDR37wRKi1E=",
"dev": true
},
"buffer-xor": {
- "version": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz",
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz",
"integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=",
"dev": true
},
"buffers": {
- "version": "https://registry.npmjs.org/buffers/-/buffers-0.1.1.tgz",
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/buffers/-/buffers-0.1.1.tgz",
"integrity": "sha1-skV5w77U1tOWru5tmorn9Ugqt7s=",
"dev": true
},
"buildmail": {
- "version": "https://registry.npmjs.org/buildmail/-/buildmail-4.0.1.tgz",
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/buildmail/-/buildmail-4.0.1.tgz",
"integrity": "sha1-h393OLeHKYccmhBeO4N9K+EaenI=",
"dev": true,
- "optional": true,
- "requires": {
- "addressparser": "https://registry.npmjs.org/addressparser/-/addressparser-1.0.1.tgz",
- "libbase64": "https://registry.npmjs.org/libbase64/-/libbase64-0.1.0.tgz",
- "libmime": "https://registry.npmjs.org/libmime/-/libmime-3.0.0.tgz",
- "libqp": "https://registry.npmjs.org/libqp/-/libqp-1.1.0.tgz",
- "nodemailer-fetch": "https://registry.npmjs.org/nodemailer-fetch/-/nodemailer-fetch-1.6.0.tgz",
- "nodemailer-shared": "https://registry.npmjs.org/nodemailer-shared/-/nodemailer-shared-1.1.0.tgz",
- "punycode": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz"
- }
+ "optional": true
},
"builtin-modules": {
- "version": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz",
"integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=",
"dev": true
},
"builtin-status-codes": {
- "version": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz",
"integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=",
"dev": true
},
"bytes": {
- "version": "https://registry.npmjs.org/bytes/-/bytes-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-1.0.0.tgz",
"integrity": "sha1-NWnt6Lo0MV+rmcPpLLBMciDeH6g=",
"dev": true
},
"cache-base": {
- "version": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
- "integrity": "sha1-Cn9GQWgxyLZi7jb+TnxZ129marI=",
- "dev": true,
- "requires": {
- "collection-visit": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
- "component-emitter": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
- "get-value": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
- "has-value": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
- "isobject": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
- "set-value": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz",
- "to-object-path": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
- "union-value": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz",
- "unset-value": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz"
- }
- },
- "cached-path-relative": {
- "version": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.0.1.tgz",
- "integrity": "sha1-0JxLUoAKpMB44t2BqGmqyQ0uVOc=",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
+ "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
"dev": true
},
"caller-path": {
- "version": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz",
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz",
"integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=",
- "dev": true,
- "requires": {
- "callsites": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz"
- }
+ "dev": true
},
"callsite": {
- "version": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz",
"integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=",
"dev": true
},
"callsites": {
- "version": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz",
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz",
"integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=",
"dev": true
},
"camelcase": {
- "version": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz",
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz",
"integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=",
"dev": true
},
"camelcase-keys": {
- "version": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz",
"integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=",
"dev": true,
- "requires": {
- "camelcase": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz",
- "map-obj": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz"
- },
"dependencies": {
"camelcase": {
- "version": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz",
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz",
"integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=",
"dev": true
}
}
},
"caniuse-lite": {
- "version": "1.0.30000808",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000808.tgz",
- "integrity": "sha512-vT0JLmHdvq1UVbYXioxCXHYdNw55tyvi+IUWyX0Zeh1OFQi2IllYtm38IJnSgHWCv/zUnX1hdhy3vMJvuTNSqw==",
+ "version": "1.0.30000830",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000830.tgz",
+ "integrity": "sha512-yMqGkujkoOIZfvOYiWdqPALgY/PVGiqCHUJb6yNq7xhI/pR+gQO0U2K6lRDqAiJv4+CIU3CtTLblNGw0QGnr6g==",
"dev": true
},
"caseless": {
- "version": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz",
+ "version": "0.11.0",
+ "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz",
"integrity": "sha1-cVuW6phBWTzDMGeSP17GDr2k99c=",
"dev": true
},
"ccount": {
- "version": "https://registry.npmjs.org/ccount/-/ccount-1.0.2.tgz",
- "integrity": "sha1-U7ai+BW7d7nChx97mnLDol8djok=",
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/ccount/-/ccount-1.0.3.tgz",
+ "integrity": "sha512-Jt9tIBkRc9POUof7QA/VwWd+58fKkEEfI+/t1/eOlxKM7ZhrczNzMFefge7Ai+39y1pR/pP6cI19guHy3FSLmw==",
"dev": true
},
"center-align": {
- "version": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz",
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz",
"integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=",
- "dev": true,
- "requires": {
- "align-text": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz",
- "lazy-cache": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz"
- },
- "dependencies": {
- "lazy-cache": {
- "version": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz",
- "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=",
- "dev": true
- }
- }
+ "dev": true
},
"chai": {
- "version": "https://registry.npmjs.org/chai/-/chai-3.5.0.tgz",
+ "version": "3.5.0",
+ "resolved": "https://registry.npmjs.org/chai/-/chai-3.5.0.tgz",
"integrity": "sha1-TQJjewZ/6Vi9v906QOxW/vc3Mkc=",
- "dev": true,
- "requires": {
- "assertion-error": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz",
- "deep-eql": "https://registry.npmjs.org/deep-eql/-/deep-eql-0.1.3.tgz",
- "type-detect": "https://registry.npmjs.org/type-detect/-/type-detect-1.0.0.tgz"
- }
+ "dev": true
},
"chai-nightwatch": {
- "version": "https://registry.npmjs.org/chai-nightwatch/-/chai-nightwatch-0.1.1.tgz",
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/chai-nightwatch/-/chai-nightwatch-0.1.1.tgz",
"integrity": "sha1-HKVt52jTwIaP5/wvTTLC/olOa+k=",
"dev": true,
- "requires": {
- "assertion-error": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.0.0.tgz",
- "deep-eql": "https://registry.npmjs.org/deep-eql/-/deep-eql-0.1.3.tgz"
- },
"dependencies": {
"assertion-error": {
- "version": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.0.0.tgz",
"integrity": "sha1-x/hUOP3UZrx8oWq5DIFRN5el0js=",
"dev": true
}
}
},
"chainsaw": {
- "version": "https://registry.npmjs.org/chainsaw/-/chainsaw-0.1.0.tgz",
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/chainsaw/-/chainsaw-0.1.0.tgz",
"integrity": "sha1-XqtQsor+WAdNDVgpE4iCi15fvJg=",
- "dev": true,
- "requires": {
- "traverse": "https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz"
- }
+ "dev": true
},
"chalk": {
- "version": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
"integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "dev": true,
- "requires": {
- "ansi-styles": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
- "escape-string-regexp": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "has-ansi": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
- "strip-ansi": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
- "supports-color": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz"
- }
+ "dev": true
},
"character-entities": {
- "version": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.1.tgz",
- "integrity": "sha1-92hxvl72bdt/j440eOzDdMJ9bco=",
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.2.tgz",
+ "integrity": "sha512-sMoHX6/nBiy3KKfC78dnEalnpn0Az0oSNvqUWYTtYrhRI5iUIYsROU48G+E+kMFQzqXaJ8kHJZ85n7y6/PHgwQ==",
"dev": true
},
"character-entities-html4": {
- "version": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-1.1.1.tgz",
- "integrity": "sha1-NZoqSg9+KdPcKsmb2+Ie45Q46lA=",
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-1.1.2.tgz",
+ "integrity": "sha512-sIrXwyna2+5b0eB9W149izTPJk/KkJTg6mEzDGibwBUkyH1SbDa+nf515Ppdi3MaH35lW0JFJDWeq9Luzes1Iw==",
"dev": true
},
"character-entities-legacy": {
- "version": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.1.tgz",
- "integrity": "sha1-9Ad53xoQGHK7UQo9KV4fzPFHIC8=",
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.2.tgz",
+ "integrity": "sha512-9NB2VbXtXYWdXzqrvAHykE/f0QJxzaKIpZ5QzNZrrgQ7Iyxr2vnfS8fCBNVW9nUEZE0lo57nxKRqnzY/dKrwlA==",
"dev": true
},
"character-reference-invalid": {
- "version": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.1.tgz",
- "integrity": "sha1-lCg191Dk7GGjCOYMLvjMEBEgLvw=",
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.2.tgz",
+ "integrity": "sha512-7I/xceXfKyUJmSAn/jw8ve/9DyOP7XxufNYLI9Px7CmsKgEUaZLUTax6nZxGQtaoiZCjpu6cHPj20xC/vqRReQ==",
"dev": true
},
"chardet": {
- "version": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz",
+ "version": "0.4.2",
+ "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz",
"integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=",
"dev": true
},
"chokidar": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.1.tgz",
- "integrity": "sha512-rv5iP8ENhpqvDWr677rAXcB+SMoPQ1urd4ch79+PhM4lQwbATdJUQK69t0lJIKNB+VXpqxt5V1gvqs59XEPKnw==",
- "dev": true,
- "requires": {
- "anymatch": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
- "async-each": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz",
- "braces": "2.3.0",
- "fsevents": "https://registry.npmjs.org/fsevents/-/fsevents-1.1.3.tgz",
- "glob-parent": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
- "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "is-binary-path": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
- "is-glob": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz",
- "normalize-path": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
- "path-is-absolute": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
- "readdirp": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz",
- "upath": "1.0.0"
- }
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.3.tgz",
+ "integrity": "sha512-zW8iXYZtXMx4kux/nuZVXjkLP+CyIK5Al5FHnj1OgTKGZfp4Oy6/ymtMSKFv3GD8DviEmUPmJg9eFdJ/JzudMg==",
+ "dev": true
},
"cipher-base": {
- "version": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz",
- "integrity": "sha1-h2Dk7MJy9MNjUy+SbYdKriwTl94=",
- "dev": true,
- "requires": {
- "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz"
- }
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz",
+ "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==",
+ "dev": true
},
"circular-json": {
- "version": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz",
- "integrity": "sha1-gVyZ6oT2gJUp0vRXkb34JxE1LWY=",
+ "version": "0.3.3",
+ "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz",
+ "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==",
"dev": true
},
"class-utils": {
- "version": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
- "integrity": "sha1-+TNprouafOAv1B+q0MqDAzGQxGM=",
+ "version": "0.3.6",
+ "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
+ "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
"dev": true,
- "requires": {
- "arr-union": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
- "define-property": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "isobject": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
- "static-extend": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz"
- },
"dependencies": {
"define-property": {
- "version": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "dev": true,
- "requires": {
- "is-descriptor": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz"
- }
- },
- "is-accessor-descriptor": {
- "version": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
- "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
- "dev": true,
- "requires": {
- "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz"
- },
- "dependencies": {
- "kind-of": {
- "version": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true,
- "requires": {
- "is-buffer": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz"
- }
- }
- }
- },
- "is-data-descriptor": {
- "version": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
- "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
- "dev": true,
- "requires": {
- "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz"
- },
- "dependencies": {
- "kind-of": {
- "version": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true,
- "requires": {
- "is-buffer": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz"
- }
- }
- }
- },
- "is-descriptor": {
- "version": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
- "integrity": "sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco=",
- "dev": true,
- "requires": {
- "is-accessor-descriptor": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
- "is-data-descriptor": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
- "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz"
- }
- },
- "kind-of": {
- "version": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
- "integrity": "sha1-cpyR4thXt6QZofmqZWhcTDP1hF0=",
"dev": true
}
}
},
"cli-cursor": {
- "version": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz",
"integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=",
- "dev": true,
- "requires": {
- "restore-cursor": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz"
- }
+ "dev": true
},
"cli-width": {
- "version": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz",
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz",
"integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=",
"dev": true
},
"cliui": {
- "version": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
"integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=",
- "dev": true,
- "requires": {
- "string-width": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
- "strip-ansi": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
- "wrap-ansi": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz"
- }
+ "dev": true
},
"clone": {
- "version": "https://registry.npmjs.org/clone/-/clone-2.1.1.tgz",
- "integrity": "sha1-0hfR6WERjjrJpLi7oyhVU79kfNs=",
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz",
+ "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=",
"dev": true
},
"clone-buffer": {
- "version": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz",
"integrity": "sha1-4+JbIHrE5wGvch4staFnksrD3Fg=",
"dev": true
},
"clone-stats": {
- "version": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz",
"integrity": "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=",
"dev": true
},
"cloneable-readable": {
- "version": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.0.0.tgz",
- "integrity": "sha1-pikNQT8hemEjL5XkWP84QYz7ARc=",
- "dev": true,
- "requires": {
- "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "process-nextick-args": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
- "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz"
- },
- "dependencies": {
- "process-nextick-args": {
- "version": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
- "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=",
- "dev": true
- }
- }
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.2.tgz",
+ "integrity": "sha512-Bq6+4t+lbM8vhTs/Bef5c5AdEMtapp/iFb6+s4/Hh9MVTt8OLKH7ZOOZSCT+Ys7hsHvqv0GuMPJ1lnQJVHvxpg==",
+ "dev": true
},
"co": {
- "version": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
+ "version": "4.6.0",
+ "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
"integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=",
"dev": true
},
"code-point-at": {
- "version": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
"integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
"dev": true
},
"collapse-white-space": {
- "version": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.3.tgz",
- "integrity": "sha1-S5BvZw5aljqHt2sOFolkM0G2Ajw=",
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.4.tgz",
+ "integrity": "sha512-YfQ1tAUZm561vpYD+5eyWN8+UsceQbSrqqlc/6zDY2gtAE+uZLSdkkovhnGpmCThsvKBFakq4EdY/FF93E8XIw==",
"dev": true
},
"collection-visit": {
- "version": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
"integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
- "dev": true,
- "requires": {
- "map-visit": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
- "object-visit": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz"
- }
+ "dev": true
},
"color-convert": {
- "version": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz",
- "integrity": "sha1-wSYRB66y8pTr/+ye2eytUppgl+0=",
- "dev": true,
- "requires": {
- "color-name": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz"
- }
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz",
+ "integrity": "sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==",
+ "dev": true
},
"color-name": {
- "version": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
"integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
"dev": true
},
"color-support": {
- "version": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz",
- "integrity": "sha1-k4NDeaHMmgxh+C9S8NBDIiUb1aI=",
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz",
+ "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==",
"dev": true
},
"colors": {
- "version": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz",
- "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=",
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/colors/-/colors-1.2.1.tgz",
+ "integrity": "sha512-s8+wktIuDSLffCywiwSxQOMqtPxML11a/dtHE17tMn4B1MSWw/C22EKf7M2KGUBcDaVFEGT+S8N02geDXeuNKg==",
"dev": true
},
"combine-lists": {
- "version": "https://registry.npmjs.org/combine-lists/-/combine-lists-1.0.1.tgz",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/combine-lists/-/combine-lists-1.0.1.tgz",
"integrity": "sha1-RYwH4J4NkA/Ci3Cj/sLazR0st/Y=",
- "dev": true,
- "requires": {
- "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz"
- }
- },
- "combine-source-map": {
- "version": "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.8.0.tgz",
- "integrity": "sha1-pY0N8ELBhvz4IqjoAV9UUNLXmos=",
- "dev": true,
- "requires": {
- "convert-source-map": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.3.tgz",
- "inline-source-map": "https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.6.2.tgz",
- "lodash.memoize": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-3.0.4.tgz",
- "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz"
- },
- "dependencies": {
- "convert-source-map": {
- "version": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.3.tgz",
- "integrity": "sha1-SCnId+n+SbMWHzvzZziI4gRpmGA=",
- "dev": true
- },
- "source-map": {
- "version": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
- "dev": true
- }
- }
+ "dev": true
},
"combined-stream": {
- "version": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz",
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz",
"integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=",
- "dev": true,
- "requires": {
- "delayed-stream": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz"
- }
+ "dev": true
},
"comma-separated-tokens": {
- "version": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-1.0.4.tgz",
- "integrity": "sha1-cgg+WNSkYvAYZvZhf02Yo807ikY=",
- "dev": true,
- "requires": {
- "trim": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz"
- }
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-1.0.5.tgz",
+ "integrity": "sha512-Cg90/fcK93n0ecgYTAz1jaA3zvnQ0ExlmKY1rdbyHqAx6BHxwoJc+J7HDu0iuQ7ixEs1qaa+WyQ6oeuBpYP1iA==",
+ "dev": true
},
"commander": {
- "version": "https://registry.npmjs.org/commander/-/commander-2.14.1.tgz",
- "integrity": "sha1-IjUSPjevjKPGXfRbAm29NXsBuao=",
+ "version": "2.15.1",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz",
+ "integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==",
"dev": true
},
"commondir": {
- "version": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
"integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=",
"dev": true
},
+ "compare-versions": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.1.0.tgz",
+ "integrity": "sha512-4hAxDSBypT/yp2ySFD346So6Ragw5xmBn/e/agIGl3bZr6DLUqnoRZPusxKrXdYRZpgexO9daejmIenlq/wrIQ==",
+ "dev": true
+ },
"component-bind": {
- "version": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz",
"integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=",
"dev": true
},
"component-emitter": {
- "version": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
"integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=",
"dev": true
},
"component-inherit": {
- "version": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz",
+ "version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz",
"integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=",
"dev": true
},
"compress-commons": {
- "version": "https://registry.npmjs.org/compress-commons/-/compress-commons-0.2.9.tgz",
+ "version": "0.2.9",
+ "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-0.2.9.tgz",
"integrity": "sha1-Qi2SdDDAGr0GzUVbbfwEy0z4ADw=",
"dev": true,
- "requires": {
- "buffer-crc32": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
- "crc32-stream": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-0.3.4.tgz",
- "node-int64": "https://registry.npmjs.org/node-int64/-/node-int64-0.3.3.tgz",
- "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz"
- },
"dependencies": {
"isarray": {
- "version": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
"integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
"dev": true
},
"readable-stream": {
- "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "version": "1.0.34",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
"integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
- "dev": true,
- "requires": {
- "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
- "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
- "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
- }
+ "dev": true
},
"string_decoder": {
- "version": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "version": "0.10.31",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
"dev": true
}
}
},
"compressible": {
- "version": "2.0.12",
- "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.12.tgz",
- "integrity": "sha1-xZpcmdt2dn6YdlAOJx72OzSTvWY=",
- "dev": true,
- "requires": {
- "mime-db": "1.30.0"
- }
+ "version": "2.0.13",
+ "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.13.tgz",
+ "integrity": "sha1-DRAgq5JLL9tNYnmHXH1tq6a6p6k=",
+ "dev": true
},
"compression": {
- "version": "https://registry.npmjs.org/compression/-/compression-1.5.2.tgz",
+ "version": "1.5.2",
+ "resolved": "http://registry.npmjs.org/compression/-/compression-1.5.2.tgz",
"integrity": "sha1-sDuNhub4rSloPLqN+R3cb/x3s5U=",
"dev": true,
- "requires": {
- "accepts": "https://registry.npmjs.org/accepts/-/accepts-1.2.13.tgz",
- "bytes": "https://registry.npmjs.org/bytes/-/bytes-2.1.0.tgz",
- "compressible": "2.0.12",
- "debug": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
- "on-headers": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz",
- "vary": "https://registry.npmjs.org/vary/-/vary-1.0.1.tgz"
- },
"dependencies": {
"bytes": {
- "version": "https://registry.npmjs.org/bytes/-/bytes-2.1.0.tgz",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-2.1.0.tgz",
"integrity": "sha1-rJPEEOL/ycx89LRks4KJBn9eR7Q=",
"dev": true
},
"debug": {
- "version": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
"integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
- "dev": true,
- "requires": {
- "ms": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz"
- }
+ "dev": true
},
"ms": {
- "version": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
+ "version": "0.7.1",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
"integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=",
"dev": true
}
}
},
"concat-map": {
- "version": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
"integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
"dev": true
},
"concat-stream": {
- "version": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz",
- "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=",
- "dev": true,
- "requires": {
- "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.4.tgz",
- "typedarray": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz"
- }
+ "version": "1.6.2",
+ "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
+ "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
+ "dev": true
},
"concat-with-sourcemaps": {
- "version": "https://registry.npmjs.org/concat-with-sourcemaps/-/concat-with-sourcemaps-1.0.5.tgz",
- "integrity": "sha1-iWS8I0fQWBm2N5gQTYfW4AG+2NA=",
- "dev": true,
- "requires": {
- "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz"
- }
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/concat-with-sourcemaps/-/concat-with-sourcemaps-1.0.5.tgz",
+ "integrity": "sha512-YtnS0VEY+e2Khzsey/6mra9EoM6h/5gxaC0e3mcHpA5yfDxafhygytNmcJWodvUgyXzSiL5MSkPO6bQGgfliHw==",
+ "dev": true
},
"connect": {
- "version": "https://registry.npmjs.org/connect/-/connect-2.30.2.tgz",
+ "version": "2.30.2",
+ "resolved": "https://registry.npmjs.org/connect/-/connect-2.30.2.tgz",
"integrity": "sha1-jam8vooFTT0xjXTf7JA7XDmhtgk=",
"dev": true,
- "requires": {
- "basic-auth-connect": "https://registry.npmjs.org/basic-auth-connect/-/basic-auth-connect-1.0.0.tgz",
- "body-parser": "https://registry.npmjs.org/body-parser/-/body-parser-1.13.3.tgz",
- "bytes": "https://registry.npmjs.org/bytes/-/bytes-2.1.0.tgz",
- "compression": "https://registry.npmjs.org/compression/-/compression-1.5.2.tgz",
- "connect-timeout": "https://registry.npmjs.org/connect-timeout/-/connect-timeout-1.6.2.tgz",
- "content-type": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
- "cookie": "https://registry.npmjs.org/cookie/-/cookie-0.1.3.tgz",
- "cookie-parser": "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.3.5.tgz",
- "cookie-signature": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
- "csurf": "https://registry.npmjs.org/csurf/-/csurf-1.8.3.tgz",
- "debug": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
- "depd": "https://registry.npmjs.org/depd/-/depd-1.0.1.tgz",
- "errorhandler": "https://registry.npmjs.org/errorhandler/-/errorhandler-1.4.3.tgz",
- "express-session": "https://registry.npmjs.org/express-session/-/express-session-1.11.3.tgz",
- "finalhandler": "https://registry.npmjs.org/finalhandler/-/finalhandler-0.4.0.tgz",
- "fresh": "https://registry.npmjs.org/fresh/-/fresh-0.3.0.tgz",
- "http-errors": "https://registry.npmjs.org/http-errors/-/http-errors-1.3.1.tgz",
- "method-override": "https://registry.npmjs.org/method-override/-/method-override-2.3.10.tgz",
- "morgan": "https://registry.npmjs.org/morgan/-/morgan-1.6.1.tgz",
- "multiparty": "https://registry.npmjs.org/multiparty/-/multiparty-3.3.2.tgz",
- "on-headers": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz",
- "parseurl": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz",
- "pause": "https://registry.npmjs.org/pause/-/pause-0.1.0.tgz",
- "qs": "https://registry.npmjs.org/qs/-/qs-4.0.0.tgz",
- "response-time": "https://registry.npmjs.org/response-time/-/response-time-2.3.2.tgz",
- "serve-favicon": "https://registry.npmjs.org/serve-favicon/-/serve-favicon-2.3.2.tgz",
- "serve-index": "https://registry.npmjs.org/serve-index/-/serve-index-1.7.3.tgz",
- "serve-static": "https://registry.npmjs.org/serve-static/-/serve-static-1.10.3.tgz",
- "type-is": "1.6.15",
- "utils-merge": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz",
- "vhost": "https://registry.npmjs.org/vhost/-/vhost-3.0.2.tgz"
- },
"dependencies": {
"bytes": {
- "version": "https://registry.npmjs.org/bytes/-/bytes-2.1.0.tgz",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-2.1.0.tgz",
"integrity": "sha1-rJPEEOL/ycx89LRks4KJBn9eR7Q=",
"dev": true
},
"debug": {
- "version": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
"integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
- "dev": true,
- "requires": {
- "ms": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz"
- }
+ "dev": true
},
"ms": {
- "version": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
+ "version": "0.7.1",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
"integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=",
"dev": true
},
"qs": {
- "version": "https://registry.npmjs.org/qs/-/qs-4.0.0.tgz",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-4.0.0.tgz",
"integrity": "sha1-wx2bdOwn33XlQ6hseHKO2NRiNgc=",
"dev": true
}
}
},
"connect-livereload": {
- "version": "https://registry.npmjs.org/connect-livereload/-/connect-livereload-0.5.4.tgz",
+ "version": "0.5.4",
+ "resolved": "https://registry.npmjs.org/connect-livereload/-/connect-livereload-0.5.4.tgz",
"integrity": "sha1-gBV9E3HJ83zBQDmrGJWXDRGdw7w=",
"dev": true
},
"connect-timeout": {
- "version": "https://registry.npmjs.org/connect-timeout/-/connect-timeout-1.6.2.tgz",
+ "version": "1.6.2",
+ "resolved": "https://registry.npmjs.org/connect-timeout/-/connect-timeout-1.6.2.tgz",
"integrity": "sha1-3ppexh4zoStu2qt7XwYumMWZuI4=",
"dev": true,
- "requires": {
- "debug": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
- "http-errors": "https://registry.npmjs.org/http-errors/-/http-errors-1.3.1.tgz",
- "ms": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
- "on-headers": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz"
- },
"dependencies": {
"debug": {
- "version": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
"integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
- "dev": true,
- "requires": {
- "ms": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz"
- }
+ "dev": true
},
"ms": {
- "version": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
+ "version": "0.7.1",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
"integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=",
"dev": true
}
}
},
"console-browserify": {
- "version": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz",
"integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=",
- "dev": true,
- "requires": {
- "date-now": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz"
- }
+ "dev": true
},
"constants-browserify": {
- "version": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz",
"integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=",
"dev": true
},
"contains-path": {
- "version": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz",
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz",
"integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=",
"dev": true
},
"content-type": {
- "version": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
- "integrity": "sha1-4TjMdeBAxyexlm/l5fjJruJW/js=",
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
+ "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==",
"dev": true
},
"continuable-cache": {
- "version": "https://registry.npmjs.org/continuable-cache/-/continuable-cache-0.3.1.tgz",
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/continuable-cache/-/continuable-cache-0.3.1.tgz",
"integrity": "sha1-vXJ6f67XfnH/OYWskzUakSczrQ8=",
"dev": true
},
"convert-source-map": {
- "version": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz",
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz",
"integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU="
},
"cookie": {
- "version": "https://registry.npmjs.org/cookie/-/cookie-0.1.3.tgz",
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.1.3.tgz",
"integrity": "sha1-5zSlwUF/zkctWu+Cw4HKu2TRpDU=",
"dev": true
},
"cookie-parser": {
- "version": "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.3.5.tgz",
+ "version": "1.3.5",
+ "resolved": "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.3.5.tgz",
"integrity": "sha1-nXVVcPtdF4kHcSJ6AjFNm+fPg1Y=",
- "dev": true,
- "requires": {
- "cookie": "https://registry.npmjs.org/cookie/-/cookie-0.1.3.tgz",
- "cookie-signature": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz"
- }
+ "dev": true
},
"cookie-signature": {
- "version": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
"integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=",
"dev": true
},
"copy-descriptor": {
- "version": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
"integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=",
"dev": true
},
"core-js": {
- "version": "https://registry.npmjs.org/core-js/-/core-js-2.5.3.tgz",
- "integrity": "sha1-isw4NFgk8W2DZbfJtCWRaOjtYD4="
+ "version": "2.5.5",
+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.5.tgz",
+ "integrity": "sha1-sU3ek2xkDAV5prUMq8wTLdYSfjs="
},
"core-util-is": {
- "version": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
"integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
},
"coveralls": {
- "version": "https://registry.npmjs.org/coveralls/-/coveralls-2.13.3.tgz",
- "integrity": "sha1-mtfCrlJ0F/Nh6LYmSD9I7pLdK8c=",
+ "version": "2.13.3",
+ "resolved": "https://registry.npmjs.org/coveralls/-/coveralls-2.13.3.tgz",
+ "integrity": "sha512-iiAmn+l1XqRwNLXhW8Rs5qHZRFMYp9ZIPjEOVRpC/c4so6Y/f4/lFi0FfR5B9cCqgyhkJ5cZmbvcVRfP8MHchw==",
"dev": true,
- "requires": {
- "js-yaml": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.6.1.tgz",
- "lcov-parse": "https://registry.npmjs.org/lcov-parse/-/lcov-parse-0.0.10.tgz",
- "log-driver": "https://registry.npmjs.org/log-driver/-/log-driver-1.2.5.tgz",
- "minimist": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
- "request": "https://registry.npmjs.org/request/-/request-2.79.0.tgz"
- },
"dependencies": {
"minimist": {
- "version": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
"integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
"dev": true
}
}
},
"crc": {
- "version": "https://registry.npmjs.org/crc/-/crc-3.3.0.tgz",
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/crc/-/crc-3.3.0.tgz",
"integrity": "sha1-+mIuG8OIvyVzCQgta2UgDOZwkLo=",
"dev": true
},
"crc32-stream": {
- "version": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-0.3.4.tgz",
+ "version": "0.3.4",
+ "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-0.3.4.tgz",
"integrity": "sha1-c7wltF+sHbZjIjGnv86JJ+nwZVI=",
"dev": true,
- "requires": {
- "buffer-crc32": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
- "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz"
- },
"dependencies": {
"isarray": {
- "version": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
"integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
"dev": true
},
"readable-stream": {
- "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "version": "1.0.34",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
"integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
- "dev": true,
- "requires": {
- "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
- "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
- "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
- }
+ "dev": true
},
"string_decoder": {
- "version": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "version": "0.10.31",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
"dev": true
}
}
},
"create-ecdh": {
- "version": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.0.tgz",
- "integrity": "sha1-iIxyNZbN92EvZJgjPuvXo1MBc30=",
- "dev": true,
- "requires": {
- "bn.js": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz",
- "elliptic": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.0.tgz"
- }
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.1.tgz",
+ "integrity": "sha512-iZvCCg8XqHQZ1ioNBTzXS/cQSkqkqcPs8xSX4upNB+DAk9Ht3uzQf2J32uAHNCne8LDmKr29AgZrEs4oIrwLuQ==",
+ "dev": true
},
"create-hash": {
- "version": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.3.tgz",
- "integrity": "sha1-YGBCrIuSYnUPSDyt2rD1gZFy2P0=",
- "dev": true,
- "requires": {
- "cipher-base": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz",
- "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "ripemd160": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.1.tgz",
- "sha.js": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.10.tgz"
- }
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz",
+ "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==",
+ "dev": true
},
"create-hmac": {
- "version": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.6.tgz",
- "integrity": "sha1-rLniIaThe9sHbpBlfEK5PjcmzwY=",
- "dev": true,
- "requires": {
- "cipher-base": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz",
- "create-hash": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.3.tgz",
- "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "ripemd160": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.1.tgz",
- "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz",
- "sha.js": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.10.tgz"
- }
+ "version": "1.1.7",
+ "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz",
+ "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==",
+ "dev": true
},
"cross-spawn": {
- "version": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz",
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz",
"integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=",
- "dev": true,
- "requires": {
- "lru-cache": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz",
- "shebang-command": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
- "which": "https://registry.npmjs.org/which/-/which-1.3.0.tgz"
- }
+ "dev": true
},
"cryptiles": {
- "version": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz",
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz",
"integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=",
- "dev": true,
- "requires": {
- "boom": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz"
- }
+ "dev": true
},
"crypto-browserify": {
- "version": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz",
- "integrity": "sha1-OWz58xN/A+S45TLFj2mCVOAPgOw=",
- "dev": true,
- "requires": {
- "browserify-cipher": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.0.tgz",
- "browserify-sign": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz",
- "create-ecdh": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.0.tgz",
- "create-hash": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.3.tgz",
- "create-hmac": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.6.tgz",
- "diffie-hellman": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.2.tgz",
- "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "pbkdf2": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.14.tgz",
- "public-encrypt": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.0.tgz",
- "randombytes": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz",
- "randomfill": "1.0.3"
- }
+ "version": "3.12.0",
+ "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz",
+ "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==",
+ "dev": true
},
"csrf": {
- "version": "https://registry.npmjs.org/csrf/-/csrf-3.0.6.tgz",
+ "version": "3.0.6",
+ "resolved": "https://registry.npmjs.org/csrf/-/csrf-3.0.6.tgz",
"integrity": "sha1-thEg3c7q/JHnbtUxO7XAsmZ7cQo=",
- "dev": true,
- "requires": {
- "rndm": "https://registry.npmjs.org/rndm/-/rndm-1.2.0.tgz",
- "tsscmp": "https://registry.npmjs.org/tsscmp/-/tsscmp-1.0.5.tgz",
- "uid-safe": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.4.tgz"
- }
+ "dev": true
},
"css": {
- "version": "https://registry.npmjs.org/css/-/css-2.2.1.tgz",
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/css/-/css-2.2.1.tgz",
"integrity": "sha1-c6TIHehdtmTU7mdPfUcIXjstVdw=",
- "requires": {
- "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz",
- "source-map-resolve": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.3.1.tgz",
- "urix": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz"
- },
"dependencies": {
"source-map": {
- "version": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz",
- "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=",
- "requires": {
- "amdefine": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz"
- }
+ "version": "0.1.43",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz",
+ "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y="
}
}
},
"css-loader": {
- "version": "https://registry.npmjs.org/css-loader/-/css-loader-0.9.1.tgz",
+ "version": "0.9.1",
+ "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-0.9.1.tgz",
"integrity": "sha1-LhqgDOfjDvLGp6SzAKCAp8l54Nw=",
"dev": true,
"optional": true,
- "requires": {
- "csso": "https://registry.npmjs.org/csso/-/csso-1.3.12.tgz",
- "loader-utils": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz",
- "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz"
- },
"dependencies": {
"loader-utils": {
- "version": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz",
+ "version": "0.2.17",
+ "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz",
"integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=",
"dev": true,
- "optional": true,
- "requires": {
- "big.js": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz",
- "emojis-list": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz",
- "json5": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
- "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz"
- }
+ "optional": true
},
"source-map": {
- "version": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz",
+ "version": "0.1.43",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz",
"integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=",
"dev": true,
- "optional": true,
- "requires": {
- "amdefine": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz"
- }
+ "optional": true
}
}
},
"css-parse": {
- "version": "https://registry.npmjs.org/css-parse/-/css-parse-2.0.0.tgz",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/css-parse/-/css-parse-2.0.0.tgz",
"integrity": "sha1-pGjuZnwW2BzPBcWMONKpfHgNv9Q=",
- "dev": true,
- "requires": {
- "css": "https://registry.npmjs.org/css/-/css-2.2.1.tgz"
- }
+ "dev": true
},
"css-value": {
- "version": "https://registry.npmjs.org/css-value/-/css-value-0.0.1.tgz",
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/css-value/-/css-value-0.0.1.tgz",
"integrity": "sha1-Xv1sLupeof1rasV+wEJ7GEUkJOo=",
"dev": true
},
"csso": {
- "version": "https://registry.npmjs.org/csso/-/csso-1.3.12.tgz",
+ "version": "1.3.12",
+ "resolved": "https://registry.npmjs.org/csso/-/csso-1.3.12.tgz",
"integrity": "sha1-/GKGlKLTiTiqrEmWdTIY/TEc254=",
"dev": true,
"optional": true
},
"csurf": {
- "version": "https://registry.npmjs.org/csurf/-/csurf-1.8.3.tgz",
+ "version": "1.8.3",
+ "resolved": "https://registry.npmjs.org/csurf/-/csurf-1.8.3.tgz",
"integrity": "sha1-I/KhO/HY/OHQyZZYg5RELLqGpWo=",
- "dev": true,
- "requires": {
- "cookie": "https://registry.npmjs.org/cookie/-/cookie-0.1.3.tgz",
- "cookie-signature": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
- "csrf": "https://registry.npmjs.org/csrf/-/csrf-3.0.6.tgz",
- "http-errors": "https://registry.npmjs.org/http-errors/-/http-errors-1.3.1.tgz"
- }
+ "dev": true
},
"ctype": {
- "version": "https://registry.npmjs.org/ctype/-/ctype-0.5.3.tgz",
+ "version": "0.5.3",
+ "resolved": "https://registry.npmjs.org/ctype/-/ctype-0.5.3.tgz",
"integrity": "sha1-gsGMJGH3QRTvFsE1IkrQuRRMoS8=",
"dev": true
},
"currently-unhandled": {
- "version": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz",
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz",
"integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=",
- "dev": true,
- "requires": {
- "array-find-index": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz"
- }
+ "dev": true
},
"custom-event": {
- "version": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz",
"integrity": "sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU=",
"dev": true
},
"d": {
- "version": "https://registry.npmjs.org/d/-/d-1.0.0.tgz",
- "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=",
- "requires": {
- "es5-ext": "0.10.38"
- }
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz",
+ "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8="
+ },
+ "dargs": {
+ "version": "github:christian-bromann/dargs#7d6d4164a7c4106dbd14ef39ed8d95b7b5e9b770",
+ "dev": true
},
"dashdash": {
- "version": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
"integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
"dev": true,
- "requires": {
- "assert-plus": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz"
- },
"dependencies": {
"assert-plus": {
- "version": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
"integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
"dev": true
}
}
},
"data-uri-to-buffer": {
- "version": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-1.2.0.tgz",
- "integrity": "sha1-dxY+qcINhkG0cH6PGKvfmnjzSDU=",
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-1.2.0.tgz",
+ "integrity": "sha512-vKQ9DTQPN1FLYiiEEOQ6IBGFqvjCa5rSK3cWMy/Nespm5d/x3dGFT9UBZnkLxCwua/IXBi2TYnwTEpsOvhC4UQ==",
"dev": true
},
"date-format": {
- "version": "https://registry.npmjs.org/date-format/-/date-format-1.2.0.tgz",
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/date-format/-/date-format-1.2.0.tgz",
"integrity": "sha1-YV6CjiM90aubua4JUODOzPpuytg=",
"dev": true
},
"date-now": {
- "version": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz",
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz",
"integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=",
"dev": true
},
"dateformat": {
- "version": "https://registry.npmjs.org/dateformat/-/dateformat-2.2.0.tgz",
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-2.2.0.tgz",
"integrity": "sha1-QGXiATz5+5Ft39gu+1Bq1MZ2kGI=",
"dev": true
},
"debug": {
- "version": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
- "integrity": "sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE=",
- "requires": {
- "ms": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"
- }
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
+ "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g=="
},
"debug-fabulous": {
- "version": "https://registry.npmjs.org/debug-fabulous/-/debug-fabulous-1.0.0.tgz",
- "integrity": "sha1-V/ZkhkYJexsISdzaABc2LB7AD4s=",
- "requires": {
- "debug": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
- "memoizee": "0.4.11",
- "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz"
- }
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/debug-fabulous/-/debug-fabulous-1.1.0.tgz",
+ "integrity": "sha512-GZqvGIgKNlUnHUPQhepnUZFIMoi3dgZKQBzKDeL2g7oJF9SNAji/AAu36dusFUas0O+pae74lNeoIPHqXWDkLg=="
},
"decamelize": {
- "version": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
"integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
"dev": true
},
"decode-uri-component": {
- "version": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
"integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
"dev": true
},
"deep-eql": {
- "version": "https://registry.npmjs.org/deep-eql/-/deep-eql-0.1.3.tgz",
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-0.1.3.tgz",
"integrity": "sha1-71WKyrjeJSBs1xOQbXTlaTDrafI=",
"dev": true,
- "requires": {
- "type-detect": "https://registry.npmjs.org/type-detect/-/type-detect-0.1.1.tgz"
- },
"dependencies": {
"type-detect": {
- "version": "https://registry.npmjs.org/type-detect/-/type-detect-0.1.1.tgz",
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-0.1.1.tgz",
"integrity": "sha1-C6XsKohWQORw6k6FBZcZANrFiCI=",
"dev": true
}
}
},
"deep-is": {
- "version": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
"integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
"dev": true
},
"deepmerge": {
- "version": "https://registry.npmjs.org/deepmerge/-/deepmerge-0.2.10.tgz",
+ "version": "0.2.10",
+ "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-0.2.10.tgz",
"integrity": "sha1-iQa/nlJaT78bIDsq/LRkAkmCEhk=",
"dev": true
},
"default-require-extensions": {
- "version": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-1.0.0.tgz",
"integrity": "sha1-836hXT4T/9m0N9M+GnW1+5eHTLg=",
"dev": true,
- "requires": {
- "strip-bom": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz"
- },
"dependencies": {
"strip-bom": {
- "version": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
"integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
- "dev": true,
- "requires": {
- "is-utf8": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz"
- }
+ "dev": true
}
}
},
"defaults": {
- "version": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz",
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz",
"integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=",
"dev": true,
- "requires": {
- "clone": "https://registry.npmjs.org/clone/-/clone-1.0.3.tgz"
- },
"dependencies": {
"clone": {
- "version": "https://registry.npmjs.org/clone/-/clone-1.0.3.tgz",
- "integrity": "sha1-KY1+IjFmD0DAA8LtMUDezz9TCF8=",
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
+ "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=",
"dev": true
}
}
},
"define-properties": {
- "version": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz",
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz",
"integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=",
- "dev": true,
- "requires": {
- "foreach": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz",
- "object-keys": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.11.tgz"
- }
+ "dev": true
},
"define-property": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
- "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
+ "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
"dev": true,
- "requires": {
- "is-descriptor": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz"
+ "dependencies": {
+ "is-accessor-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+ "dev": true
+ },
+ "is-data-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+ "dev": true
+ },
+ "is-descriptor": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+ "dev": true
+ }
}
},
"defined": {
- "version": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz",
"integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=",
"dev": true
},
"degenerator": {
- "version": "https://registry.npmjs.org/degenerator/-/degenerator-1.0.4.tgz",
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-1.0.4.tgz",
"integrity": "sha1-/PSQo37OJmRk2cxDGrmMWBnO0JU=",
"dev": true,
- "requires": {
- "ast-types": "0.10.2",
- "escodegen": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz",
- "esprima": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz"
- },
"dependencies": {
"esprima": {
- "version": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz",
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz",
"integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=",
"dev": true
}
}
},
"del": {
- "version": "https://registry.npmjs.org/del/-/del-2.2.2.tgz",
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz",
"integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=",
"dev": true,
- "requires": {
- "globby": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz",
- "is-path-cwd": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz",
- "is-path-in-cwd": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz",
- "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
- "pify": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
- "pinkie-promise": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
- "rimraf": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz"
- },
"dependencies": {
"pify": {
- "version": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
"integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
"dev": true
}
}
},
"delayed-stream": {
- "version": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
"integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
"dev": true
},
"depd": {
- "version": "https://registry.npmjs.org/depd/-/depd-1.0.1.tgz",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/depd/-/depd-1.0.1.tgz",
"integrity": "sha1-gK7GTJ1tl+ZcwqnKqTwKpqv3Oqo=",
"dev": true
},
"deprecated": {
- "version": "https://registry.npmjs.org/deprecated/-/deprecated-0.0.1.tgz",
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/deprecated/-/deprecated-0.0.1.tgz",
"integrity": "sha1-+cmvVGSvoeepcUWKi97yqpTVuxk=",
"dev": true
},
- "deps-sort": {
- "version": "https://registry.npmjs.org/deps-sort/-/deps-sort-2.0.0.tgz",
- "integrity": "sha1-CRckkC6EZYJg65EHSMzNGvbiH7U=",
- "dev": true,
- "requires": {
- "JSONStream": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.2.tgz",
- "shasum": "https://registry.npmjs.org/shasum/-/shasum-1.0.2.tgz",
- "subarg": "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz",
- "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz"
- }
- },
"des.js": {
- "version": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz",
"integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=",
- "dev": true,
- "requires": {
- "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "minimalistic-assert": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz"
- }
+ "dev": true
},
"destroy": {
- "version": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
"integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=",
"dev": true
},
"detab": {
- "version": "https://registry.npmjs.org/detab/-/detab-2.0.1.tgz",
- "integrity": "sha1-Ux9eMmYg4v1PAyZKkF+zvMivTfQ=",
- "dev": true,
- "requires": {
- "repeat-string": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz"
- }
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/detab/-/detab-2.0.1.tgz",
+ "integrity": "sha512-/hhdqdQc5thGrqzjyO/pz76lDZ5GSuAs6goxOaKTsvPk7HNnzAyFN5lyHgqpX4/s1i66K8qMGj+VhA9504x7DQ==",
+ "dev": true
},
"detect-file": {
- "version": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz",
"integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=",
"dev": true
},
"detect-indent": {
- "version": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz",
"integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=",
- "dev": true,
- "requires": {
- "repeating": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz"
- }
+ "dev": true
},
"detect-newline": {
- "version": "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz",
"integrity": "sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I="
},
"detective": {
- "version": "https://registry.npmjs.org/detective/-/detective-4.7.1.tgz",
- "integrity": "sha1-DspzFDOEQv67bWXaVMELscgrJG4=",
- "dev": true,
- "requires": {
- "acorn": "5.4.1",
- "defined": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz"
- }
+ "version": "4.7.1",
+ "resolved": "https://registry.npmjs.org/detective/-/detective-4.7.1.tgz",
+ "integrity": "sha512-H6PmeeUcZloWtdt4DAkFyzFL94arpHr3NOwwmVILFiy+9Qd4JTxxXrzfyGk/lmct2qVGBwTSwSXagqu2BxmWig==",
+ "dev": true
},
"di": {
- "version": "https://registry.npmjs.org/di/-/di-0.0.1.tgz",
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz",
"integrity": "sha1-gGZJMmzqp8qjMG112YXqJ0i6kTw=",
"dev": true
},
"diff": {
- "version": "https://registry.npmjs.org/diff/-/diff-1.4.0.tgz",
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/diff/-/diff-1.4.0.tgz",
"integrity": "sha1-fyjS657nsVqX79ic5j3P2qPMur8=",
"dev": true
},
"diffie-hellman": {
- "version": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.2.tgz",
- "integrity": "sha1-tYNXOScM/ias9jIJn97SoH8gnl4=",
- "dev": true,
- "requires": {
- "bn.js": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz",
- "miller-rabin": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz",
- "randombytes": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz"
- }
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz",
+ "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==",
+ "dev": true
},
"disparity": {
- "version": "https://registry.npmjs.org/disparity/-/disparity-2.0.0.tgz",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/disparity/-/disparity-2.0.0.tgz",
"integrity": "sha1-V92stHMkrl9Y0swNqIbbTOnutxg=",
- "dev": true,
- "requires": {
- "ansi-styles": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
- "diff": "https://registry.npmjs.org/diff/-/diff-1.4.0.tgz"
- }
+ "dev": true
},
"doctrine": {
- "version": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz",
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz",
"integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=",
- "dev": true,
- "requires": {
- "esutils": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
- "isarray": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz"
- }
+ "dev": true
},
"doctrine-temporary-fork": {
- "version": "https://registry.npmjs.org/doctrine-temporary-fork/-/doctrine-temporary-fork-2.0.0-alpha-allowarrayindex.tgz",
+ "version": "2.0.0-alpha-allowarrayindex",
+ "resolved": "https://registry.npmjs.org/doctrine-temporary-fork/-/doctrine-temporary-fork-2.0.0-alpha-allowarrayindex.tgz",
"integrity": "sha1-QAFahn6yfnWybIKLcVJPE3+J+fA=",
- "dev": true,
- "requires": {
- "esutils": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
- "isarray": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz"
- }
+ "dev": true
},
"documentation": {
- "version": "https://registry.npmjs.org/documentation/-/documentation-5.4.0.tgz",
- "integrity": "sha1-SQBqjKRE6DXwOpkP6MOT4Vy0+FM=",
- "dev": true,
- "requires": {
- "ansi-html": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz",
- "babel-core": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.0.tgz",
- "babel-generator": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz",
- "babel-plugin-system-import-transformer": "https://registry.npmjs.org/babel-plugin-system-import-transformer/-/babel-plugin-system-import-transformer-3.1.0.tgz",
- "babel-plugin-transform-decorators-legacy": "https://registry.npmjs.org/babel-plugin-transform-decorators-legacy/-/babel-plugin-transform-decorators-legacy-1.3.4.tgz",
- "babel-preset-env": "https://registry.npmjs.org/babel-preset-env/-/babel-preset-env-1.6.1.tgz",
- "babel-preset-react": "https://registry.npmjs.org/babel-preset-react/-/babel-preset-react-6.24.1.tgz",
- "babel-preset-stage-0": "https://registry.npmjs.org/babel-preset-stage-0/-/babel-preset-stage-0-6.24.1.tgz",
- "babel-traverse": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz",
- "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz",
- "babelify": "https://registry.npmjs.org/babelify/-/babelify-8.0.0.tgz",
- "babylon": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz",
- "chalk": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz",
- "chokidar": "2.0.1",
- "concat-stream": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz",
- "disparity": "https://registry.npmjs.org/disparity/-/disparity-2.0.0.tgz",
- "doctrine-temporary-fork": "https://registry.npmjs.org/doctrine-temporary-fork/-/doctrine-temporary-fork-2.0.0-alpha-allowarrayindex.tgz",
- "get-port": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz",
- "git-url-parse": "https://registry.npmjs.org/git-url-parse/-/git-url-parse-8.1.0.tgz",
- "github-slugger": "https://registry.npmjs.org/github-slugger/-/github-slugger-1.2.0.tgz",
- "glob": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
- "globals-docs": "https://registry.npmjs.org/globals-docs/-/globals-docs-2.4.0.tgz",
- "highlight.js": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.12.0.tgz",
- "js-yaml": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.10.0.tgz",
- "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz",
- "mdast-util-inject": "https://registry.npmjs.org/mdast-util-inject/-/mdast-util-inject-1.1.0.tgz",
- "micromatch": "3.1.5",
- "mime": "https://registry.npmjs.org/mime/-/mime-2.2.0.tgz",
- "module-deps-sortable": "https://registry.npmjs.org/module-deps-sortable/-/module-deps-sortable-4.0.6.tgz",
- "parse-filepath": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz",
- "pify": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
- "read-pkg-up": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz",
- "remark": "https://registry.npmjs.org/remark/-/remark-9.0.0.tgz",
- "remark-html": "https://registry.npmjs.org/remark-html/-/remark-html-7.0.0.tgz",
- "remark-toc": "https://registry.npmjs.org/remark-toc/-/remark-toc-5.0.0.tgz",
- "remote-origin-url": "https://registry.npmjs.org/remote-origin-url/-/remote-origin-url-0.4.0.tgz",
- "shelljs": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.1.tgz",
- "stream-array": "https://registry.npmjs.org/stream-array/-/stream-array-1.1.2.tgz",
- "strip-json-comments": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
- "tiny-lr": "1.1.0",
- "unist-builder": "https://registry.npmjs.org/unist-builder/-/unist-builder-1.0.2.tgz",
- "unist-util-visit": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-1.3.0.tgz",
- "vfile": "https://registry.npmjs.org/vfile/-/vfile-2.3.0.tgz",
- "vfile-reporter": "https://registry.npmjs.org/vfile-reporter/-/vfile-reporter-4.0.0.tgz",
- "vfile-sort": "https://registry.npmjs.org/vfile-sort/-/vfile-sort-2.1.0.tgz",
- "vinyl": "https://registry.npmjs.org/vinyl/-/vinyl-2.1.0.tgz",
- "vinyl-fs": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-3.0.2.tgz",
- "yargs": "https://registry.npmjs.org/yargs/-/yargs-9.0.1.tgz"
- },
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/documentation/-/documentation-5.5.0.tgz",
+ "integrity": "sha512-Aod3HOI+8zMhwWztDlECRsDfJ8SFu4oADvipOLq3gnWKy4Cpg2oF5AWT+U6PcX85KuguDI6c+q+2YwYEx99B/A==",
+ "dev": true,
"dependencies": {
"ansi-regex": {
- "version": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
"integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
"dev": true
},
"ansi-styles": {
- "version": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
- "integrity": "sha1-wVm41b4PnlpvNG2rlPFs4CIWG4g=",
- "dev": true,
- "requires": {
- "color-convert": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz"
- }
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "dev": true
},
"babel-core": {
- "version": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.0.tgz",
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.0.tgz",
"integrity": "sha1-rzL3izGm/O8RnIew/Y2XU/A6C7g=",
- "dev": true,
- "requires": {
- "babel-code-frame": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz",
- "babel-generator": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz",
- "babel-helpers": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz",
- "babel-messages": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz",
- "babel-register": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz",
- "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
- "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz",
- "babel-traverse": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz",
- "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz",
- "babylon": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz",
- "convert-source-map": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz",
- "debug": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "json5": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
- "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz",
- "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
- "path-is-absolute": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
- "private": "https://registry.npmjs.org/private/-/private-0.1.8.tgz",
- "slash": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz",
- "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz"
- }
+ "dev": true
},
"chalk": {
- "version": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz",
- "integrity": "sha1-Uj/iZ4rsewToBBkJKS/osXBZt5Y=",
- "dev": true,
- "requires": {
- "ansi-styles": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
- "escape-string-regexp": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "supports-color": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz"
- }
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.0.tgz",
+ "integrity": "sha512-Wr/w0f4o9LuE7K53cD0qmbAMM+2XNLzR29vFn5hqko4sxGlUsyy363NvmyGIyk5tpe9cjTr9SJYbysEyPkRnFw==",
+ "dev": true
},
"debug": {
- "version": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
- "dev": true,
- "requires": {
- "ms": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"
- }
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true
},
"esprima": {
- "version": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz",
- "integrity": "sha1-RJnt3NERDgshi6zy+n9/WfVcqAQ=",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz",
+ "integrity": "sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw==",
"dev": true
},
"is-fullwidth-code-point": {
- "version": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
"integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
"dev": true
},
"js-yaml": {
- "version": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.10.0.tgz",
- "integrity": "sha1-LnhEFka9RoLpY/IrbpKCPDCcYtw=",
- "dev": true,
- "requires": {
- "argparse": "1.0.9",
- "esprima": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz"
- }
+ "version": "3.11.0",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.11.0.tgz",
+ "integrity": "sha512-saJstZWv7oNeOyBh3+Dx1qWzhW0+e6/8eDzo7p5rDFqxntSztloLtuKu+Ejhtq82jsilwOIZYsCz+lIjthg1Hw==",
+ "dev": true
},
"load-json-file": {
- "version": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz",
"integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=",
"dev": true,
- "requires": {
- "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
- "parse-json": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
- "pify": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
- "strip-bom": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz"
- },
"dependencies": {
"pify": {
- "version": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
"integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
"dev": true
}
}
},
"parse-json": {
- "version": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
"integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
- "dev": true,
- "requires": {
- "error-ex": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz"
- }
+ "dev": true
},
"path-type": {
- "version": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz",
"integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=",
"dev": true,
- "requires": {
- "pify": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz"
- },
"dependencies": {
"pify": {
- "version": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
"integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
"dev": true
}
}
},
"read-pkg": {
- "version": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz",
"integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=",
- "dev": true,
- "requires": {
- "load-json-file": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz",
- "normalize-package-data": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz",
- "path-type": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz"
- }
+ "dev": true
},
"source-map": {
- "version": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
"integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
"dev": true
},
"string-width": {
- "version": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
- "integrity": "sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4=",
- "dev": true,
- "requires": {
- "is-fullwidth-code-point": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
- "strip-ansi": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz"
- }
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
+ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
+ "dev": true
},
"strip-ansi": {
- "version": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
"integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
- "dev": true,
- "requires": {
- "ansi-regex": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz"
- }
+ "dev": true
},
"supports-color": {
- "version": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz",
- "integrity": "sha1-sNUzOxGE3TZmy+WqC0XFrHrBeko=",
- "dev": true,
- "requires": {
- "has-flag": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz"
- }
+ "version": "5.4.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
+ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
+ "dev": true
},
"yargs": {
- "version": "https://registry.npmjs.org/yargs/-/yargs-9.0.1.tgz",
+ "version": "9.0.1",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-9.0.1.tgz",
"integrity": "sha1-UqzCP+7Kw0BCB47njAwAf1CF20w=",
"dev": true,
- "requires": {
- "camelcase": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz",
- "cliui": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
- "decamelize": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
- "get-caller-file": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz",
- "os-locale": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz",
- "read-pkg-up": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz",
- "require-directory": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
- "require-main-filename": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz",
- "set-blocking": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
- "string-width": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
- "which-module": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
- "y18n": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz",
- "yargs-parser": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz"
- },
"dependencies": {
"read-pkg-up": {
- "version": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz",
"integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=",
- "dev": true,
- "requires": {
- "find-up": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
- "read-pkg": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz"
- }
+ "dev": true
}
}
}
}
},
"dom-serialize": {
- "version": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz",
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz",
"integrity": "sha1-ViromZ9Evl6jB29UGdzVnrQ6yVs=",
- "dev": true,
- "requires": {
- "custom-event": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz",
- "ent": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz",
- "extend": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz",
- "void-elements": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz"
- }
+ "dev": true
},
"domain-browser": {
- "version": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.1.7.tgz",
- "integrity": "sha1-hnqksJP6oF8d4IwG9NeyH9+GmLw=",
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz",
+ "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==",
"dev": true
},
"double-ended-queue": {
- "version": "https://registry.npmjs.org/double-ended-queue/-/double-ended-queue-2.1.0-0.tgz",
+ "version": "2.1.0-0",
+ "resolved": "https://registry.npmjs.org/double-ended-queue/-/double-ended-queue-2.1.0-0.tgz",
"integrity": "sha1-ED01J/0xUo9AGIEwyEHv3XgmTlw=",
"dev": true,
"optional": true
},
"duplexer": {
- "version": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz",
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz",
"integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=",
"dev": true
},
"duplexer2": {
- "version": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz",
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz",
"integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=",
- "dev": true,
- "requires": {
- "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.4.tgz"
- }
+ "dev": true
},
"duplexify": {
- "version": "https://registry.npmjs.org/duplexify/-/duplexify-3.5.3.tgz",
- "integrity": "sha1-i1gYgA35L9ASWyeriWSRkShYJD4=",
- "dev": true,
- "requires": {
- "end-of-stream": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz",
- "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.4.tgz",
- "stream-shift": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz"
- }
+ "version": "3.5.4",
+ "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.5.4.tgz",
+ "integrity": "sha512-JzYSLYMhoVVBe8+mbHQ4KgpvHpm0DZpJuL8PY93Vyv1fW7jYJ90LoXa1di/CVbJM+TgMs91rbDapE/RNIfnJsA==",
+ "dev": true
},
"ecc-jsbn": {
- "version": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz",
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz",
"integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=",
"dev": true,
- "optional": true,
- "requires": {
- "jsbn": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz"
- }
+ "optional": true
},
"ee-first": {
- "version": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
"integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=",
"dev": true
},
"ejs": {
- "version": "https://registry.npmjs.org/ejs/-/ejs-2.5.7.tgz",
- "integrity": "sha1-zIcsFoiArjxxiXYv1f/ACJbJUYo=",
+ "version": "2.5.9",
+ "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.5.9.tgz",
+ "integrity": "sha512-GJCAeDBKfREgkBtgrYSf9hQy9kTb3helv0zGdzqhM7iAkW8FA/ZF97VQDbwFiwIT8MQLLOe5VlPZOEvZAqtUAQ==",
"dev": true
},
"electron-to-chromium": {
- "version": "1.3.33",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.33.tgz",
- "integrity": "sha1-vwBwPWKnxlI4E2V4w1LWxcBCpUU=",
+ "version": "1.3.42",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.42.tgz",
+ "integrity": "sha1-lcM78B0MxAVVauyJn+Yf1NduoPk=",
"dev": true
},
"elliptic": {
- "version": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.0.tgz",
+ "version": "6.4.0",
+ "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.0.tgz",
"integrity": "sha1-ysmvh2LIWDYYcAPI3+GT5eLq5d8=",
- "dev": true,
- "requires": {
- "bn.js": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz",
- "brorand": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz",
- "hash.js": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz",
- "hmac-drbg": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz",
- "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "minimalistic-assert": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz",
- "minimalistic-crypto-utils": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz"
- }
+ "dev": true
},
"emoji-regex": {
- "version": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-6.1.1.tgz",
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-6.1.1.tgz",
"integrity": "sha1-xs0OwbBkLio8Z6ETfvxeeW2k+I4=",
"dev": true
},
"emojis-list": {
- "version": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz",
"integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=",
"dev": true
},
"encodeurl": {
- "version": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
"integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=",
"dev": true
},
"end-of-stream": {
- "version": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz",
- "integrity": "sha1-7SljTRm6ukY7bOa4CjchPqtx7EM=",
- "dev": true,
- "requires": {
- "once": "https://registry.npmjs.org/once/-/once-1.4.0.tgz"
- }
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz",
+ "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==",
+ "dev": true
},
"engine.io": {
- "version": "3.1.4",
- "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.1.4.tgz",
- "integrity": "sha1-PQIRtwpVLOhB/8fahiezAamkFi4=",
- "dev": true,
- "requires": {
- "accepts": "1.3.3",
- "base64id": "https://registry.npmjs.org/base64id/-/base64id-1.0.0.tgz",
- "cookie": "0.3.1",
- "debug": "2.6.9",
- "engine.io-parser": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.1.2.tgz",
- "uws": "0.14.5",
- "ws": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz"
- },
+ "version": "3.1.5",
+ "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.1.5.tgz",
+ "integrity": "sha512-D06ivJkYxyRrcEe0bTpNnBQNgP9d3xog+qZlLbui8EsMr/DouQpf5o9FzJnWYHEYE0YsFHllUv2R1dkgYZXHcA==",
+ "dev": true,
"dependencies": {
"accepts": {
- "version": "1.3.3",
- "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.3.tgz",
- "integrity": "sha1-w8p0NJOGSMPg2cHjKN1otiLChMo=",
- "dev": true,
- "requires": {
- "mime-types": "2.1.17",
- "negotiator": "0.6.1"
- }
+ "version": "1.3.5",
+ "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz",
+ "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=",
+ "dev": true
},
"cookie": {
"version": "0.3.1",
@@ -3783,15 +2703,6 @@
"integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=",
"dev": true
},
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "requires": {
- "ms": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"
- }
- },
"negotiator": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz",
@@ -3801,284 +2712,155 @@
}
},
"engine.io-client": {
- "version": "3.1.4",
- "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.1.4.tgz",
- "integrity": "sha1-T88TcLRxY70s6b4nM5ckMDUNTqE=",
- "dev": true,
- "requires": {
- "component-emitter": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
- "component-inherit": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz",
- "debug": "2.6.9",
- "engine.io-parser": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.1.2.tgz",
- "has-cors": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz",
- "indexof": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz",
- "parseqs": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz",
- "parseuri": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz",
- "ws": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz",
- "xmlhttprequest-ssl": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz",
- "yeast": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz"
- },
- "dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "requires": {
- "ms": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"
- }
- }
- }
+ "version": "3.1.6",
+ "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.1.6.tgz",
+ "integrity": "sha512-hnuHsFluXnsKOndS4Hv6SvUrgdYx1pk2NqfaDMW+GWdgfU3+/V25Cj7I8a0x92idSpa5PIhJRKxPvp9mnoLsfg==",
+ "dev": true
},
"engine.io-parser": {
- "version": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.1.2.tgz",
- "integrity": "sha1-TA9M/3mq7su9z96maoI8YIVAkZY=",
- "dev": true,
- "requires": {
- "after": "https://registry.npmjs.org/after/-/after-0.8.2.tgz",
- "arraybuffer.slice": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz",
- "base64-arraybuffer": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz",
- "blob": "https://registry.npmjs.org/blob/-/blob-0.0.4.tgz",
- "has-binary2": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.2.tgz"
- }
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.1.2.tgz",
+ "integrity": "sha512-dInLFzr80RijZ1rGpx1+56/uFoH7/7InhH3kZt+Ms6hT8tNx3NGW/WNSA/f8As1WkOfkuyb3tnRyuXGxusclMw==",
+ "dev": true
},
"enhanced-resolve": {
- "version": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz",
+ "version": "3.4.1",
+ "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz",
"integrity": "sha1-BCHjOf1xQZs9oT0Smzl5BAIwR24=",
- "dev": true,
- "requires": {
- "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
- "memory-fs": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz",
- "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
- "tapable": "https://registry.npmjs.org/tapable/-/tapable-0.2.8.tgz"
- }
+ "dev": true
},
"ent": {
- "version": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz",
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz",
"integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=",
"dev": true
},
"errno": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.6.tgz",
- "integrity": "sha512-IsORQDpaaSwcDP4ZZnHxgE85werpo34VYn1Ud3mq+eUsF593faR8oCZNXrROVkpFu2TsbrNhHin0aUrTsQ9vNw==",
- "dev": true,
- "requires": {
- "prr": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz"
- }
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz",
+ "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==",
+ "dev": true
},
"error": {
- "version": "https://registry.npmjs.org/error/-/error-7.0.2.tgz",
+ "version": "7.0.2",
+ "resolved": "https://registry.npmjs.org/error/-/error-7.0.2.tgz",
"integrity": "sha1-pfdf/02ZJhJt2sDqXcOOaJFTywI=",
- "dev": true,
- "requires": {
- "string-template": "https://registry.npmjs.org/string-template/-/string-template-0.2.1.tgz",
- "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
- }
+ "dev": true
},
"error-ex": {
- "version": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz",
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz",
"integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=",
- "dev": true,
- "requires": {
- "is-arrayish": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz"
- }
+ "dev": true
},
"errorhandler": {
- "version": "https://registry.npmjs.org/errorhandler/-/errorhandler-1.4.3.tgz",
+ "version": "1.4.3",
+ "resolved": "https://registry.npmjs.org/errorhandler/-/errorhandler-1.4.3.tgz",
"integrity": "sha1-t7cO2PNZ6duICS8tIMD4MUIK2D8=",
"dev": true,
- "requires": {
- "accepts": "https://registry.npmjs.org/accepts/-/accepts-1.3.4.tgz",
- "escape-html": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz"
- },
"dependencies": {
"accepts": {
- "version": "https://registry.npmjs.org/accepts/-/accepts-1.3.4.tgz",
- "integrity": "sha1-hiRnWMfdbSGmR0/whKR0DsBesh8=",
- "dev": true,
- "requires": {
- "mime-types": "2.1.17",
- "negotiator": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz"
- }
+ "version": "1.3.5",
+ "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz",
+ "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=",
+ "dev": true
},
"negotiator": {
- "version": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz",
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz",
"integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=",
"dev": true
}
}
},
"es5-ext": {
- "version": "0.10.38",
- "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.38.tgz",
- "integrity": "sha512-jCMyePo7AXbUESwbl8Qi01VSH2piY9s/a3rSU/5w/MlTIx8HPL1xn2InGN8ejt/xulcJgnTO7vqNtOAxzYd2Kg==",
- "requires": {
- "es6-iterator": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz",
- "es6-symbol": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz"
- }
+ "version": "0.10.42",
+ "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.42.tgz",
+ "integrity": "sha512-AJxO1rmPe1bDEfSR6TJ/FgMFYuTBhR5R57KW58iCkYACMyFbrkqVyzXSurYoScDGvgyMpk7uRF/lPUPPTmsRSA=="
},
"es5-shim": {
- "version": "https://registry.npmjs.org/es5-shim/-/es5-shim-4.5.10.tgz",
- "integrity": "sha1-t+F+9N8qFFuCHxSXtQwlz5QCYgU=",
+ "version": "4.5.10",
+ "resolved": "https://registry.npmjs.org/es5-shim/-/es5-shim-4.5.10.tgz",
+ "integrity": "sha512-vmryBdqKRO8Ei9LJ4yyEk/EOmAOGIagcHDYPpTAi6pot4IMHS1AC2q5cTKPmydpijg2iX8DVmCuqgrNxIWj8Yg==",
"dev": true
},
"es6-iterator": {
- "version": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz",
- "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=",
- "requires": {
- "d": "https://registry.npmjs.org/d/-/d-1.0.0.tgz",
- "es5-ext": "0.10.38",
- "es6-symbol": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz"
- }
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz",
+ "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c="
},
"es6-map": {
- "version": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz",
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz",
"integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=",
- "dev": true,
- "requires": {
- "d": "https://registry.npmjs.org/d/-/d-1.0.0.tgz",
- "es5-ext": "0.10.38",
- "es6-iterator": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz",
- "es6-set": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz",
- "es6-symbol": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz",
- "event-emitter": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz"
- }
+ "dev": true
},
"es6-set": {
- "version": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz",
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz",
"integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=",
- "dev": true,
- "requires": {
- "d": "https://registry.npmjs.org/d/-/d-1.0.0.tgz",
- "es5-ext": "0.10.38",
- "es6-iterator": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz",
- "es6-symbol": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz",
- "event-emitter": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz"
- }
+ "dev": true
},
"es6-symbol": {
- "version": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz",
- "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=",
- "requires": {
- "d": "https://registry.npmjs.org/d/-/d-1.0.0.tgz",
- "es5-ext": "0.10.38"
- }
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz",
+ "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc="
},
"es6-weak-map": {
- "version": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz",
- "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=",
- "requires": {
- "d": "https://registry.npmjs.org/d/-/d-1.0.0.tgz",
- "es5-ext": "0.10.38",
- "es6-iterator": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz",
- "es6-symbol": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz"
- }
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz",
+ "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8="
},
"escape-html": {
- "version": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
"integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=",
"dev": true
},
"escape-string-regexp": {
- "version": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
"integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
"dev": true
},
"escodegen": {
- "version": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz",
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz",
"integrity": "sha1-WltTr0aTEQvrsIZ6o0MN07cKEBg=",
"dev": true,
- "requires": {
- "esprima": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz",
- "estraverse": "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz",
- "esutils": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
- "optionator": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz",
- "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz"
- },
"dependencies": {
"estraverse": {
- "version": "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz",
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz",
"integrity": "sha1-r2fy3JIlgkFZUJJgkaQAXSnJu0Q=",
"dev": true
},
"source-map": {
- "version": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz",
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz",
"integrity": "sha1-2rc/vPwrqBm03gO9b26qSBZLP50=",
"dev": true,
- "optional": true,
- "requires": {
- "amdefine": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz"
- }
+ "optional": true
}
}
},
"escope": {
- "version": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz",
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz",
"integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=",
- "dev": true,
- "requires": {
- "es6-map": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz",
- "es6-weak-map": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz",
- "esrecurse": "4.2.0",
- "estraverse": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz"
- }
+ "dev": true
},
"eslint": {
- "version": "4.17.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-4.17.0.tgz",
- "integrity": "sha512-AyxBUCANU/o/xC0ijGMKavo5Ls3oK6xykiOITlMdjFjrKOsqLrA7Nf5cnrDgcKrHzBirclAZt63XO7YZlVUPwA==",
- "dev": true,
- "requires": {
- "ajv": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz",
- "babel-code-frame": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz",
- "chalk": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz",
- "concat-stream": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz",
- "cross-spawn": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz",
- "debug": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
- "doctrine": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
- "eslint-scope": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.1.tgz",
- "eslint-visitor-keys": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz",
- "espree": "https://registry.npmjs.org/espree/-/espree-3.5.3.tgz",
- "esquery": "https://registry.npmjs.org/esquery/-/esquery-1.0.0.tgz",
- "esutils": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
- "file-entry-cache": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz",
- "functional-red-black-tree": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
- "glob": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
- "globals": "https://registry.npmjs.org/globals/-/globals-11.3.0.tgz",
- "ignore": "https://registry.npmjs.org/ignore/-/ignore-3.3.7.tgz",
- "imurmurhash": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
- "inquirer": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz",
- "is-resolvable": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz",
- "js-yaml": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.10.0.tgz",
- "json-stable-stringify-without-jsonify": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
- "levn": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
- "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz",
- "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
- "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
- "natural-compare": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
- "optionator": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz",
- "path-is-inside": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz",
- "pluralize": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz",
- "progress": "https://registry.npmjs.org/progress/-/progress-2.0.0.tgz",
- "require-uncached": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz",
- "semver": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz",
- "strip-ansi": "4.0.0",
- "strip-json-comments": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
- "table": "4.0.2",
- "text-table": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz"
- },
+ "version": "4.19.1",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-4.19.1.tgz",
+ "integrity": "sha512-bT3/1x1EbZB7phzYu7vCr1v3ONuzDtX8WjuM9c0iYxe+cq+pwcKEoQjl7zd3RpC6YOLgnSy3cTN58M2jcoPDIQ==",
+ "dev": true,
"dependencies": {
"ajv": {
- "version": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz",
+ "version": "5.5.2",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz",
"integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=",
- "dev": true,
- "requires": {
- "co": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
- "fast-deep-equal": "1.0.0",
- "fast-json-stable-stringify": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
- "json-schema-traverse": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz"
- }
+ "dev": true
},
"ansi-regex": {
"version": "3.0.0",
@@ -4087,192 +2869,136 @@
"dev": true
},
"ansi-styles": {
- "version": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
- "integrity": "sha1-wVm41b4PnlpvNG2rlPFs4CIWG4g=",
- "dev": true,
- "requires": {
- "color-convert": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz"
- }
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "dev": true
},
"chalk": {
- "version": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz",
- "integrity": "sha1-Uj/iZ4rsewToBBkJKS/osXBZt5Y=",
- "dev": true,
- "requires": {
- "ansi-styles": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
- "escape-string-regexp": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "supports-color": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz"
- }
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.0.tgz",
+ "integrity": "sha512-Wr/w0f4o9LuE7K53cD0qmbAMM+2XNLzR29vFn5hqko4sxGlUsyy363NvmyGIyk5tpe9cjTr9SJYbysEyPkRnFw==",
+ "dev": true
},
"doctrine": {
- "version": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
- "integrity": "sha1-XNAfwQFiG0LEzX9dGmYkNxbT850=",
- "dev": true,
- "requires": {
- "esutils": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz"
- }
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
+ "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==",
+ "dev": true
},
"esprima": {
- "version": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz",
- "integrity": "sha1-RJnt3NERDgshi6zy+n9/WfVcqAQ=",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz",
+ "integrity": "sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw==",
"dev": true
},
"globals": {
- "version": "https://registry.npmjs.org/globals/-/globals-11.3.0.tgz",
- "integrity": "sha1-4E/be5eW2K2snI9kwUg3sjEzeLA=",
+ "version": "11.4.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-11.4.0.tgz",
+ "integrity": "sha512-Dyzmifil8n/TmSqYDEXbm+C8yitzJQqQIlJQLNRMwa+BOUJpRC19pyVeN12JAjt61xonvXjtff+hJruTRXn5HA==",
"dev": true
},
"js-yaml": {
- "version": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.10.0.tgz",
- "integrity": "sha1-LnhEFka9RoLpY/IrbpKCPDCcYtw=",
- "dev": true,
- "requires": {
- "argparse": "1.0.9",
- "esprima": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz"
- }
+ "version": "3.11.0",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.11.0.tgz",
+ "integrity": "sha512-saJstZWv7oNeOyBh3+Dx1qWzhW0+e6/8eDzo7p5rDFqxntSztloLtuKu+Ejhtq82jsilwOIZYsCz+lIjthg1Hw==",
+ "dev": true
},
"strip-ansi": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
"integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
- "dev": true,
- "requires": {
- "ansi-regex": "3.0.0"
- }
+ "dev": true
},
"supports-color": {
- "version": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz",
- "integrity": "sha1-sNUzOxGE3TZmy+WqC0XFrHrBeko=",
- "dev": true,
- "requires": {
- "has-flag": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz"
- }
+ "version": "5.4.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
+ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
+ "dev": true
}
}
},
"eslint-config-standard": {
- "version": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-10.2.1.tgz",
+ "version": "10.2.1",
+ "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-10.2.1.tgz",
"integrity": "sha1-wGHk0GbzedwXzVYsZOgZtN1FRZE=",
"dev": true
},
"eslint-import-resolver-node": {
- "version": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz",
- "integrity": "sha1-WPFfuDm40FdsqYBBNHaqskcttmo=",
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz",
+ "integrity": "sha512-sfmTqJfPSizWu4aymbPr4Iidp5yKm8yDkHp+Ir3YiTHiiDfxh69mOUsmiqW6RZ9zRXFaF64GtYmN7e+8GHBv6Q==",
"dev": true,
- "requires": {
- "debug": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "resolve": "https://registry.npmjs.org/resolve/-/resolve-1.5.0.tgz"
- },
"dependencies": {
"debug": {
- "version": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
- "dev": true,
- "requires": {
- "ms": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"
- }
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true
}
}
},
"eslint-module-utils": {
- "version": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.1.1.tgz",
- "integrity": "sha1-q67IJBd2E7ipWymWOeG2+s9HNEk=",
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.2.0.tgz",
+ "integrity": "sha1-snA2LNiLGkitMIl2zn+lTphBF0Y=",
"dev": true,
- "requires": {
- "debug": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "pkg-dir": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz"
- },
"dependencies": {
"debug": {
- "version": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
- "dev": true,
- "requires": {
- "ms": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"
- }
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true
},
"find-up": {
- "version": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
"integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
- "dev": true,
- "requires": {
- "path-exists": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
- "pinkie-promise": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz"
- }
+ "dev": true
},
"path-exists": {
- "version": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
"integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
- "dev": true,
- "requires": {
- "pinkie-promise": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz"
- }
+ "dev": true
},
"pkg-dir": {
- "version": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz",
"integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=",
- "dev": true,
- "requires": {
- "find-up": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz"
- }
+ "dev": true
}
}
},
"eslint-plugin-import": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.8.0.tgz",
- "integrity": "sha512-Rf7dfKJxZ16QuTgVv1OYNxkZcsu/hULFnC+e+w0Gzi6jMC3guQoWQgxYxc54IDRinlb6/0v5z/PxxIKmVctN+g==",
- "dev": true,
- "requires": {
- "builtin-modules": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz",
- "contains-path": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz",
- "debug": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "doctrine": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz",
- "eslint-import-resolver-node": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz",
- "eslint-module-utils": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.1.1.tgz",
- "has": "https://registry.npmjs.org/has/-/has-1.0.1.tgz",
- "lodash.cond": "4.5.2",
- "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
- "read-pkg-up": "2.0.0"
- },
+ "version": "2.11.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.11.0.tgz",
+ "integrity": "sha1-Fa7qN6Z0mdhI6OmBgG1GJ7VQOBY=",
+ "dev": true,
"dependencies": {
"debug": {
- "version": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
- "dev": true,
- "requires": {
- "ms": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"
- }
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true
},
"load-json-file": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz",
"integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=",
- "dev": true,
- "requires": {
- "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
- "parse-json": "2.2.0",
- "pify": "2.3.0",
- "strip-bom": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz"
- }
+ "dev": true
},
"parse-json": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
"integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
- "dev": true,
- "requires": {
- "error-ex": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz"
- }
+ "dev": true
},
"path-type": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz",
"integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=",
- "dev": true,
- "requires": {
- "pify": "2.3.0"
- }
+ "dev": true
},
"pify": {
"version": "2.3.0",
@@ -4284,2231 +3010,1351 @@
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz",
"integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=",
- "dev": true,
- "requires": {
- "load-json-file": "2.0.0",
- "normalize-package-data": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz",
- "path-type": "2.0.0"
- }
+ "dev": true
},
"read-pkg-up": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz",
"integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=",
- "dev": true,
- "requires": {
- "find-up": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
- "read-pkg": "2.0.0"
- }
+ "dev": true
}
}
},
"eslint-plugin-node": {
- "version": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-5.2.1.tgz",
- "integrity": "sha1-gN8yU8TXkBBF7If6ZgooTjK9yik=",
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-5.2.1.tgz",
+ "integrity": "sha512-xhPXrh0Vl/b7870uEbaumb2Q+LxaEcOQ3kS1jtIXanBAwpMre1l5q/l2l/hESYJGEFKuI78bp6Uw50hlpr7B+g==",
"dev": true,
- "requires": {
- "ignore": "https://registry.npmjs.org/ignore/-/ignore-3.3.7.tgz",
- "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
- "resolve": "https://registry.npmjs.org/resolve/-/resolve-1.5.0.tgz",
- "semver": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz"
- },
"dependencies": {
"semver": {
- "version": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
"integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=",
"dev": true
}
}
},
"eslint-plugin-promise": {
- "version": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-3.6.0.tgz",
- "integrity": "sha1-VLdljI9FSBPcKocK/4FS7ElpunU=",
+ "version": "3.7.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-3.7.0.tgz",
+ "integrity": "sha512-2WO+ZFh7vxUKRfR0cOIMrWgYKdR6S1AlOezw6pC52B6oYpd5WFghN+QHxvrRdZMtbo8h3dfUZ2o1rWb0UPbKtg==",
"dev": true
},
"eslint-plugin-standard": {
- "version": "https://registry.npmjs.org/eslint-plugin-standard/-/eslint-plugin-standard-3.0.1.tgz",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-standard/-/eslint-plugin-standard-3.0.1.tgz",
"integrity": "sha1-NNDJFbRe3G8BA5PH7vOCOwhWXPI=",
"dev": true
},
"eslint-scope": {
- "version": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.1.tgz",
+ "version": "3.7.1",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.1.tgz",
"integrity": "sha1-PWPD7f2gLgbgGkUq2IyqzHzctug=",
- "dev": true,
- "requires": {
- "esrecurse": "4.2.0",
- "estraverse": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz"
- }
+ "dev": true
},
"eslint-visitor-keys": {
- "version": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz",
- "integrity": "sha1-PzGA+y4pEBdxastMnW1bXDSmqB0=",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz",
+ "integrity": "sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ==",
"dev": true
},
"espree": {
- "version": "https://registry.npmjs.org/espree/-/espree-3.5.3.tgz",
- "integrity": "sha1-kx4K9k5/u+0msFCinarR/GR5n6Y=",
- "dev": true,
- "requires": {
- "acorn": "5.4.1",
- "acorn-jsx": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz"
- }
+ "version": "3.5.4",
+ "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.4.tgz",
+ "integrity": "sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A==",
+ "dev": true
},
"esprima": {
- "version": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz",
+ "version": "2.7.3",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz",
"integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=",
"dev": true
},
"esquery": {
- "version": "https://registry.npmjs.org/esquery/-/esquery-1.0.0.tgz",
- "integrity": "sha1-z7qLV9f7qT8XKYqKAGoEzaE9gPo=",
- "dev": true,
- "requires": {
- "estraverse": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz"
- }
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz",
+ "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==",
+ "dev": true
},
"esrecurse": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.0.tgz",
- "integrity": "sha1-+pVo2Y04I/mkHZHpAtyrnqblsWM=",
- "dev": true,
- "requires": {
- "estraverse": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz",
- "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz"
- }
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz",
+ "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==",
+ "dev": true
},
"estraverse": {
- "version": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz",
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz",
"integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=",
"dev": true
},
"estree-walker": {
- "version": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.3.1.tgz",
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.3.1.tgz",
"integrity": "sha1-5rGlHPcpJSTnI3wxLl/mZgwc4ao=",
"dev": true
},
"esutils": {
- "version": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
"integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=",
"dev": true
},
"etag": {
- "version": "https://registry.npmjs.org/etag/-/etag-1.7.0.tgz",
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/etag/-/etag-1.7.0.tgz",
"integrity": "sha1-A9MLX2fdbmMtKUXTDWZScxo01dg=",
"dev": true
},
"event-emitter": {
- "version": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz",
- "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=",
- "requires": {
- "d": "https://registry.npmjs.org/d/-/d-1.0.0.tgz",
- "es5-ext": "0.10.38"
- }
+ "version": "0.3.5",
+ "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz",
+ "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk="
},
"event-stream": {
- "version": "https://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz",
+ "version": "3.3.4",
+ "resolved": "http://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz",
"integrity": "sha1-SrTJoPWlTbkzi0w02Gv86PSzVXE=",
- "dev": true,
- "requires": {
- "duplexer": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz",
- "from": "https://registry.npmjs.org/from/-/from-0.1.7.tgz",
- "map-stream": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz",
- "pause-stream": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz",
- "split": "https://registry.npmjs.org/split/-/split-0.3.3.tgz",
- "stream-combiner": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz",
- "through": "https://registry.npmjs.org/through/-/through-2.3.8.tgz"
- }
+ "dev": true
},
"eventemitter3": {
- "version": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-1.2.0.tgz",
- "integrity": "sha1-HIaZHYFq0eUEdQ5zh0Ik7PO+xQg=",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.0.1.tgz",
+ "integrity": "sha512-QOCPu979MMWX9XNlfRZoin+Wm+bK1SP7vv3NGUniYwuSJK/+cPA10blMaeRgzg31RvoSFk6FsCDVa4vNryBTGA==",
"dev": true
},
"events": {
- "version": "https://registry.npmjs.org/events/-/events-1.1.1.tgz",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz",
"integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=",
"dev": true
},
"evp_bytestokey": {
- "version": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz",
- "integrity": "sha1-f8vbGY3HGVlDLv4ThCaE4FJaywI=",
- "dev": true,
- "requires": {
- "md5.js": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.4.tgz",
- "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz"
- }
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz",
+ "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==",
+ "dev": true
},
"execa": {
- "version": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz",
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz",
"integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=",
- "dev": true,
- "requires": {
- "cross-spawn": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz",
- "get-stream": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz",
- "is-stream": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
- "npm-run-path": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
- "p-finally": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
- "signal-exit": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
- "strip-eof": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz"
- }
+ "dev": true
},
"expand-braces": {
- "version": "https://registry.npmjs.org/expand-braces/-/expand-braces-0.1.2.tgz",
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/expand-braces/-/expand-braces-0.1.2.tgz",
"integrity": "sha1-SIsdHSRRyz06axks/AMPRMWFX+o=",
"dev": true,
- "requires": {
- "array-slice": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz",
- "array-unique": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz",
- "braces": "https://registry.npmjs.org/braces/-/braces-0.1.5.tgz"
- },
"dependencies": {
"array-slice": {
- "version": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz",
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz",
"integrity": "sha1-3Tz7gO15c6dRF82sabC5nshhhvU=",
"dev": true
},
"array-unique": {
- "version": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz",
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz",
"integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=",
"dev": true
},
"braces": {
- "version": "https://registry.npmjs.org/braces/-/braces-0.1.5.tgz",
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-0.1.5.tgz",
"integrity": "sha1-wIVxEIUpHYt1/ddOqw+FlygHEeY=",
- "dev": true,
- "requires": {
- "expand-range": "https://registry.npmjs.org/expand-range/-/expand-range-0.1.1.tgz"
- }
+ "dev": true
},
"expand-range": {
- "version": "https://registry.npmjs.org/expand-range/-/expand-range-0.1.1.tgz",
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-0.1.1.tgz",
"integrity": "sha1-TLjtoJk8pW+k9B/ELzy7TMrf8EQ=",
- "dev": true,
- "requires": {
- "is-number": "https://registry.npmjs.org/is-number/-/is-number-0.1.1.tgz",
- "repeat-string": "https://registry.npmjs.org/repeat-string/-/repeat-string-0.2.2.tgz"
- }
+ "dev": true
},
"is-number": {
- "version": "https://registry.npmjs.org/is-number/-/is-number-0.1.1.tgz",
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-0.1.1.tgz",
"integrity": "sha1-aaevEWlj1HIG7JvZtIoUIW8eOAY=",
"dev": true
},
"repeat-string": {
- "version": "https://registry.npmjs.org/repeat-string/-/repeat-string-0.2.2.tgz",
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-0.2.2.tgz",
"integrity": "sha1-x6jTI2BoNiBZp+RlH8aITosftK4=",
"dev": true
}
}
},
"expand-brackets": {
- "version": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
"integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
"dev": true,
- "requires": {
- "debug": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "define-property": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "extend-shallow": "2.0.1",
- "posix-character-classes": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
- "regex-not": "1.0.0",
- "snapdragon": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.1.tgz",
- "to-regex": "3.0.1"
- },
"dependencies": {
"debug": {
- "version": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
- "dev": true,
- "requires": {
- "ms": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"
- }
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true
},
"define-property": {
- "version": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "dev": true,
- "requires": {
- "is-descriptor": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz"
- }
- },
- "is-accessor-descriptor": {
- "version": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
- "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
- "dev": true,
- "requires": {
- "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz"
- },
- "dependencies": {
- "kind-of": {
- "version": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true,
- "requires": {
- "is-buffer": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz"
- }
- }
- }
- },
- "is-data-descriptor": {
- "version": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
- "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
- "dev": true,
- "requires": {
- "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz"
- },
- "dependencies": {
- "kind-of": {
- "version": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true,
- "requires": {
- "is-buffer": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz"
- }
- }
- }
- },
- "is-descriptor": {
- "version": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
- "integrity": "sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco=",
- "dev": true,
- "requires": {
- "is-accessor-descriptor": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
- "is-data-descriptor": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
- "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz"
- }
+ "dev": true
},
- "kind-of": {
- "version": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
- "integrity": "sha1-cpyR4thXt6QZofmqZWhcTDP1hF0=",
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
"dev": true
}
}
},
"expand-range": {
- "version": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz",
+ "version": "1.8.2",
+ "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz",
"integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=",
"dev": true,
- "requires": {
- "fill-range": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz"
- },
"dependencies": {
"fill-range": {
- "version": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz",
+ "version": "2.2.3",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz",
"integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=",
- "dev": true,
- "requires": {
- "is-number": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz",
- "isobject": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
- "randomatic": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz",
- "repeat-element": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz",
- "repeat-string": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz"
- }
+ "dev": true
},
"is-number": {
- "version": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz",
"integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=",
- "dev": true,
- "requires": {
- "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz"
- }
+ "dev": true
},
"isobject": {
- "version": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
"integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
- "dev": true,
- "requires": {
- "isarray": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz"
- }
+ "dev": true
},
"kind-of": {
- "version": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true,
- "requires": {
- "is-buffer": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz"
- }
+ "dev": true
}
}
},
"expand-tilde": {
- "version": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz",
"integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=",
- "dev": true,
- "requires": {
- "homedir-polyfill": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz"
- }
+ "dev": true
},
"express-session": {
- "version": "https://registry.npmjs.org/express-session/-/express-session-1.11.3.tgz",
+ "version": "1.11.3",
+ "resolved": "https://registry.npmjs.org/express-session/-/express-session-1.11.3.tgz",
"integrity": "sha1-XMmPP1/4Ttg1+Ry/CqvQxxB0AK8=",
"dev": true,
- "requires": {
- "cookie": "https://registry.npmjs.org/cookie/-/cookie-0.1.3.tgz",
- "cookie-signature": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
- "crc": "https://registry.npmjs.org/crc/-/crc-3.3.0.tgz",
- "debug": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
- "depd": "https://registry.npmjs.org/depd/-/depd-1.0.1.tgz",
- "on-headers": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz",
- "parseurl": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz",
- "uid-safe": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.0.0.tgz",
- "utils-merge": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz"
- },
"dependencies": {
"debug": {
- "version": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
"integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
- "dev": true,
- "requires": {
- "ms": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz"
- }
+ "dev": true
},
"ms": {
- "version": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
+ "version": "0.7.1",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
"integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=",
"dev": true
},
"uid-safe": {
- "version": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.0.0.tgz",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.0.0.tgz",
"integrity": "sha1-p/PGymSh9qXQTsDvPkw9U2cxcTc=",
- "dev": true,
- "requires": {
- "base64-url": "https://registry.npmjs.org/base64-url/-/base64-url-1.2.1.tgz"
- }
+ "dev": true
}
}
},
"extend": {
- "version": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz",
"integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=",
"dev": true
},
"extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
+ "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
"dev": true,
- "requires": {
- "is-extendable": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz"
+ "dependencies": {
+ "is-extendable": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
+ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
+ "dev": true
+ }
}
},
"external-editor": {
- "version": "https://registry.npmjs.org/external-editor/-/external-editor-2.1.0.tgz",
- "integrity": "sha1-PQJqIbf5W1cmOH1CAKwWDTcsO0g=",
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz",
+ "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==",
"dev": true,
- "requires": {
- "chardet": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz",
- "iconv-lite": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz",
- "tmp": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz"
- },
"dependencies": {
"iconv-lite": {
- "version": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz",
- "integrity": "sha1-90aPYBNfXl2tM5nAqBvpoWA6CCs=",
+ "version": "0.4.21",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.21.tgz",
+ "integrity": "sha512-En5V9za5mBt2oUA03WGD3TwDv0MKAruqsuxstbMUZaj9W9k/m1CV/9py3l0L5kw9Bln8fdHQmzHSYtvpvTLpKw==",
"dev": true
}
}
},
"extglob": {
- "version": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
- "integrity": "sha1-rQD+TcYSqSMuhxhxHcXLWrAoVUM=",
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
+ "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
"dev": true,
- "requires": {
- "array-unique": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
- "define-property": "1.0.0",
- "expand-brackets": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
- "extend-shallow": "2.0.1",
- "fragment-cache": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
- "regex-not": "1.0.0",
- "snapdragon": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.1.tgz",
- "to-regex": "3.0.1"
+ "dependencies": {
+ "define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+ "dev": true
+ },
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true
+ },
+ "is-accessor-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+ "dev": true
+ },
+ "is-data-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+ "dev": true
+ },
+ "is-descriptor": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+ "dev": true
+ }
}
},
"extsprintf": {
- "version": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
"integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
"dev": true
},
"faker": {
- "version": "https://registry.npmjs.org/faker/-/faker-3.1.0.tgz",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/faker/-/faker-3.1.0.tgz",
"integrity": "sha1-D5CPr05uwCUk5UpX5DLFwBPgjJ8=",
"dev": true
},
"fancy-log": {
- "version": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.2.tgz",
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.2.tgz",
"integrity": "sha1-9BEl49hPLn2JpD0G2VjI94vha+E=",
- "dev": true,
- "requires": {
- "ansi-gray": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz",
- "color-support": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz",
- "time-stamp": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz"
- }
+ "dev": true
},
"fast-deep-equal": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz",
- "integrity": "sha1-liVqO8l1WV6zbYLpkp0GDYk0Of8=",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz",
+ "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=",
"dev": true
},
"fast-json-stable-stringify": {
- "version": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
"integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=",
"dev": true
},
"fast-levenshtein": {
- "version": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
"integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
"dev": true
},
"faye-websocket": {
- "version": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz",
+ "version": "0.10.0",
+ "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz",
"integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=",
- "dev": true,
- "requires": {
- "websocket-driver": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.0.tgz"
- }
+ "dev": true
},
"figures": {
- "version": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz",
"integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=",
- "dev": true,
- "requires": {
- "escape-string-regexp": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz"
- }
+ "dev": true
},
"file-entry-cache": {
- "version": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz",
"integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=",
- "dev": true,
- "requires": {
- "flat-cache": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.0.tgz",
- "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz"
- }
+ "dev": true
},
"file-loader": {
- "version": "https://registry.npmjs.org/file-loader/-/file-loader-0.8.5.tgz",
+ "version": "0.8.5",
+ "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-0.8.5.tgz",
"integrity": "sha1-knXQMf54DyfUf19K8CvUNxPMFRs=",
"dev": true,
"optional": true,
- "requires": {
- "loader-utils": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz"
- },
"dependencies": {
"loader-utils": {
- "version": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz",
+ "version": "0.2.17",
+ "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz",
"integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=",
"dev": true,
- "optional": true,
- "requires": {
- "big.js": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz",
- "emojis-list": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz",
- "json5": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
- "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz"
- }
+ "optional": true
}
}
},
"file-uri-to-path": {
- "version": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
- "integrity": "sha1-VTp7hEb/b2hDWcRF8eN6BdrMM90=",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
+ "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==",
"dev": true
},
"filename-regex": {
- "version": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz",
"integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=",
"dev": true
},
"fileset": {
- "version": "https://registry.npmjs.org/fileset/-/fileset-2.0.3.tgz",
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/fileset/-/fileset-2.0.3.tgz",
"integrity": "sha1-jnVIqW08wjJ+5eZ0FocjozO7oqA=",
- "dev": true,
- "requires": {
- "glob": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
- "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz"
- }
+ "dev": true
},
"fill-keys": {
- "version": "https://registry.npmjs.org/fill-keys/-/fill-keys-1.0.2.tgz",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/fill-keys/-/fill-keys-1.0.2.tgz",
"integrity": "sha1-mo+jb06K1jTjv2tPPIiCVRRS6yA=",
- "dev": true,
- "requires": {
- "is-object": "https://registry.npmjs.org/is-object/-/is-object-1.0.1.tgz",
- "merge-descriptors": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz"
- }
+ "dev": true
},
"fill-range": {
- "version": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
"integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
"dev": true,
- "requires": {
- "extend-shallow": "2.0.1",
- "is-number": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
- "repeat-string": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
- "to-regex-range": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz"
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true
+ }
}
},
"finalhandler": {
- "version": "https://registry.npmjs.org/finalhandler/-/finalhandler-0.4.0.tgz",
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-0.4.0.tgz",
"integrity": "sha1-llpS2ejQXSuFdUhUH7ibU6JJfZs=",
"dev": true,
- "requires": {
- "debug": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
- "escape-html": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.2.tgz",
- "on-finished": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
- "unpipe": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz"
- },
"dependencies": {
"debug": {
- "version": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
"integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
- "dev": true,
- "requires": {
- "ms": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz"
- }
+ "dev": true
},
"escape-html": {
- "version": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.2.tgz",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.2.tgz",
"integrity": "sha1-130y+pjjjC9BroXpJ44ODmuhAiw=",
"dev": true
},
"ms": {
- "version": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
+ "version": "0.7.1",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
"integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=",
"dev": true
}
}
},
"find-cache-dir": {
- "version": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz",
"integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=",
- "dev": true,
- "requires": {
- "commondir": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
- "make-dir": "1.1.0",
- "pkg-dir": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz"
- }
+ "dev": true
},
"find-index": {
- "version": "https://registry.npmjs.org/find-index/-/find-index-0.1.1.tgz",
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/find-index/-/find-index-0.1.1.tgz",
"integrity": "sha1-Z101iyyjiS15Whq0cjL4tuLg3eQ=",
"dev": true
},
"find-up": {
- "version": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
"integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
- "dev": true,
- "requires": {
- "locate-path": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz"
- }
+ "dev": true
},
"findup-sync": {
- "version": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz",
"integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=",
"dev": true,
- "requires": {
- "detect-file": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz",
- "is-glob": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
- "micromatch": "3.1.5",
- "resolve-dir": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz"
- },
"dependencies": {
"is-glob": {
- "version": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
"integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
- "dev": true,
- "requires": {
- "is-extglob": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz"
- }
+ "dev": true
}
}
},
"fined": {
- "version": "https://registry.npmjs.org/fined/-/fined-1.1.0.tgz",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/fined/-/fined-1.1.0.tgz",
"integrity": "sha1-s33IRLdqL15wgeiE98CuNE8VNHY=",
- "dev": true,
- "requires": {
- "expand-tilde": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz",
- "is-plain-object": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
- "object.defaults": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz",
- "object.pick": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
- "parse-filepath": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz"
- }
+ "dev": true
},
"first-chunk-stream": {
- "version": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz",
"integrity": "sha1-Wb+1DNkF9g18OUzT2ayqtOatk04=",
"dev": true
},
"flagged-respawn": {
- "version": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.0.tgz",
"integrity": "sha1-Tnmumy6zi/hrO7Vr8+ClaqX8q9c=",
"dev": true
},
"flat-cache": {
- "version": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.0.tgz",
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.0.tgz",
"integrity": "sha1-0wMLMrOBVPTjt+nHCfSQ9++XxIE=",
- "dev": true,
- "requires": {
- "circular-json": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz",
- "del": "https://registry.npmjs.org/del/-/del-2.2.2.tgz",
- "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
- "write": "https://registry.npmjs.org/write/-/write-0.2.1.tgz"
- }
+ "dev": true
},
"flush-write-stream": {
- "version": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.0.2.tgz",
- "integrity": "sha1-yBuQ2HRnZvGmCaRoCZRsRd2K5Bc=",
- "dev": true,
- "requires": {
- "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.4.tgz"
- }
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.0.3.tgz",
+ "integrity": "sha512-calZMC10u0FMUqoiunI2AiGIIUtUIvifNwkHhNupZH4cbNnW1Itkoh/Nf5HFYmDrwWPjrUxpkZT0KhuCq0jmGw==",
+ "dev": true
},
"follow-redirects": {
- "version": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.0.0.tgz",
- "integrity": "sha1-jjQpjL0uF28lTv/sdaHHjMhJ/Tc=",
- "dev": true,
- "optional": true,
- "requires": {
- "debug": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz"
- },
- "dependencies": {
- "debug": {
- "version": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
- "dev": true,
- "optional": true,
- "requires": {
- "ms": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"
- }
- }
- }
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.4.1.tgz",
+ "integrity": "sha512-uxYePVPogtya1ktGnAAXOacnbIuRMB4dkvqeNz2qTtTQsuzSfbDolV+wMMKxAmCx0bLgAKLbBOkjItMbbkR1vg==",
+ "dev": true
},
"for-in": {
- "version": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
"integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
"dev": true
},
"for-own": {
- "version": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz",
"integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=",
- "dev": true,
- "requires": {
- "for-in": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz"
- }
+ "dev": true
},
"foreach": {
- "version": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz",
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz",
"integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=",
"dev": true
},
"foreachasync": {
- "version": "https://registry.npmjs.org/foreachasync/-/foreachasync-3.0.0.tgz",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/foreachasync/-/foreachasync-3.0.0.tgz",
"integrity": "sha1-VQKYfchxS+M5IJfzLgBxyd7gfPY=",
"dev": true
},
"forever-agent": {
- "version": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
"integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
"dev": true
},
"fork-stream": {
- "version": "https://registry.npmjs.org/fork-stream/-/fork-stream-0.0.4.tgz",
+ "version": "0.0.4",
+ "resolved": "https://registry.npmjs.org/fork-stream/-/fork-stream-0.0.4.tgz",
"integrity": "sha1-24Sfznf2cIpfjzhq5TOgkHtUrnA=",
"dev": true
},
"form-data": {
- "version": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz",
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz",
"integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=",
- "dev": true,
- "requires": {
- "asynckit": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
- "combined-stream": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz",
- "mime-types": "2.1.17"
- }
+ "dev": true
},
"fragment-cache": {
- "version": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
"integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
- "dev": true,
- "requires": {
- "map-cache": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz"
- }
+ "dev": true
},
"fresh": {
- "version": "https://registry.npmjs.org/fresh/-/fresh-0.3.0.tgz",
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.3.0.tgz",
"integrity": "sha1-ZR+DjiJCTnVm3hYdg1jKoZn4PU8=",
"dev": true
},
"from": {
- "version": "https://registry.npmjs.org/from/-/from-0.1.7.tgz",
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/from/-/from-0.1.7.tgz",
"integrity": "sha1-g8YK/Fi5xWmXAH7Rp2izqzA6RP4=",
"dev": true
},
"fs-access": {
- "version": "https://registry.npmjs.org/fs-access/-/fs-access-1.0.1.tgz",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/fs-access/-/fs-access-1.0.1.tgz",
"integrity": "sha1-1qh/JiJxzv6+wwxVNAf7mV2od3o=",
- "dev": true,
- "requires": {
- "null-check": "https://registry.npmjs.org/null-check/-/null-check-1.0.0.tgz"
- }
+ "dev": true
},
"fs-extra": {
- "version": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.6.4.tgz",
+ "version": "0.6.4",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.6.4.tgz",
"integrity": "sha1-9G8MdbeEH40gCzNIzU1pHVoJnRU=",
"dev": true,
- "requires": {
- "jsonfile": "https://registry.npmjs.org/jsonfile/-/jsonfile-1.0.1.tgz",
- "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz",
- "ncp": "https://registry.npmjs.org/ncp/-/ncp-0.4.2.tgz",
- "rimraf": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz"
- },
"dependencies": {
"mkdirp": {
- "version": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz",
+ "version": "0.3.5",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz",
"integrity": "sha1-3j5fiWHIjHh+4TaN+EmsRBPsqNc=",
"dev": true
},
"rimraf": {
- "version": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz",
+ "version": "2.2.8",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz",
"integrity": "sha1-5Dm+Kq7jJzIZUnMPmaiSnk/FBYI=",
"dev": true
}
}
},
"fs-mkdirp-stream": {
- "version": "https://registry.npmjs.org/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz",
"integrity": "sha1-C3gV/DIBxqaeFNuYzgmMFpNSWes=",
- "dev": true,
- "requires": {
- "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
- "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz"
- }
+ "dev": true
},
"fs.extra": {
- "version": "https://registry.npmjs.org/fs.extra/-/fs.extra-1.3.2.tgz",
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/fs.extra/-/fs.extra-1.3.2.tgz",
"integrity": "sha1-3QI/kwE77iRTHxszUUw3sg/ZM0k=",
"dev": true,
- "requires": {
- "fs-extra": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.6.4.tgz",
- "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz",
- "walk": "https://registry.npmjs.org/walk/-/walk-2.3.9.tgz"
- },
"dependencies": {
"mkdirp": {
- "version": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz",
+ "version": "0.3.5",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz",
"integrity": "sha1-3j5fiWHIjHh+4TaN+EmsRBPsqNc=",
"dev": true
}
}
},
"fs.realpath": {
- "version": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
"integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
"dev": true
},
"fsevents": {
- "version": "https://registry.npmjs.org/fsevents/-/fsevents-1.1.3.tgz",
- "integrity": "sha1-EfgjGPX+e7LNIpZaEI6TBiCCFtg=",
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.2.tgz",
+ "integrity": "sha512-iownA+hC4uHFp+7gwP/y5SzaiUo7m2vpa0dhpzw8YuKtiZsz7cIXsFbXpLEeBM6WuCQyw1MH4RRe6XI8GFUctQ==",
"dev": true,
"optional": true,
- "requires": {
- "nan": "2.8.0",
- "node-pre-gyp": "0.6.39"
- },
"dependencies": {
"abbrev": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.0.tgz",
- "integrity": "sha1-0FVMIlZjbi9W58LlrRg/hZQo2B8=",
+ "version": "1.1.1",
+ "bundled": true,
"dev": true,
"optional": true
},
- "ajv": {
- "version": "4.11.8",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz",
- "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=",
- "dev": true,
- "optional": true,
- "requires": {
- "co": "4.6.0",
- "json-stable-stringify": "1.0.1"
- }
- },
"ansi-regex": {
"version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
- "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+ "bundled": true,
"dev": true
},
"aproba": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.1.1.tgz",
- "integrity": "sha1-ldNgDwdxCqDpKYxyatXs8urLq6s=",
+ "version": "1.2.0",
+ "bundled": true,
"dev": true,
"optional": true
},
"are-we-there-yet": {
"version": "1.1.4",
- "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz",
- "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=",
- "dev": true,
- "optional": true,
- "requires": {
- "delegates": "1.0.0",
- "readable-stream": "2.2.9"
- }
- },
- "asn1": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz",
- "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=",
- "dev": true,
- "optional": true
- },
- "assert-plus": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz",
- "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=",
- "dev": true,
- "optional": true
- },
- "asynckit": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
- "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
- "dev": true,
- "optional": true
- },
- "aws-sign2": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz",
- "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=",
- "dev": true,
- "optional": true
- },
- "aws4": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz",
- "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=",
+ "bundled": true,
"dev": true,
"optional": true
},
"balanced-match": {
- "version": "0.4.2",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz",
- "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=",
+ "version": "1.0.0",
+ "bundled": true,
"dev": true
},
- "bcrypt-pbkdf": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz",
- "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=",
- "dev": true,
- "optional": true,
- "requires": {
- "tweetnacl": "0.14.5"
- }
- },
- "block-stream": {
- "version": "0.0.9",
- "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz",
- "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=",
- "dev": true,
- "requires": {
- "inherits": "2.0.3"
- }
- },
- "boom": {
- "version": "2.10.1",
- "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz",
- "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=",
- "dev": true,
- "requires": {
- "hoek": "2.16.3"
- }
- },
"brace-expansion": {
- "version": "1.1.7",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.7.tgz",
- "integrity": "sha1-Pv/DxQ4ABTH7cg6v+A8K6O8jz1k=",
- "dev": true,
- "requires": {
- "balanced-match": "0.4.2",
- "concat-map": "0.0.1"
- }
- },
- "buffer-shims": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz",
- "integrity": "sha1-mXjOMXOIxkmth5MCjDR37wRKi1E=",
+ "version": "1.1.11",
+ "bundled": true,
"dev": true
},
- "caseless": {
- "version": "0.12.0",
- "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
- "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
- "dev": true,
- "optional": true
- },
- "co": {
- "version": "4.6.0",
- "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
- "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=",
+ "chownr": {
+ "version": "1.0.1",
+ "bundled": true,
"dev": true,
"optional": true
},
"code-point-at": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
- "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
+ "bundled": true,
"dev": true
},
- "combined-stream": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz",
- "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=",
- "dev": true,
- "requires": {
- "delayed-stream": "1.0.0"
- }
- },
"concat-map": {
"version": "0.0.1",
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
+ "bundled": true,
"dev": true
},
"console-control-strings": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
- "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=",
+ "bundled": true,
"dev": true
},
"core-util-is": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
- "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
- "dev": true
- },
- "cryptiles": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz",
- "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=",
+ "bundled": true,
"dev": true,
- "requires": {
- "boom": "2.10.1"
- }
- },
- "dashdash": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
- "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
- "dev": true,
- "optional": true,
- "requires": {
- "assert-plus": "1.0.0"
- },
- "dependencies": {
- "assert-plus": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
- "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
- "dev": true,
- "optional": true
- }
- }
+ "optional": true
},
"debug": {
- "version": "2.6.8",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz",
- "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=",
+ "version": "2.6.9",
+ "bundled": true,
"dev": true,
- "optional": true,
- "requires": {
- "ms": "2.0.0"
- }
+ "optional": true
},
"deep-extend": {
"version": "0.4.2",
- "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.2.tgz",
- "integrity": "sha1-SLaZwn4zS/ifEIkr5DL25MfTSn8=",
+ "bundled": true,
"dev": true,
"optional": true
},
- "delayed-stream": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
- "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
- "dev": true
- },
"delegates": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
- "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=",
+ "bundled": true,
"dev": true,
"optional": true
},
"detect-libc": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.2.tgz",
- "integrity": "sha1-ca1dIEvxempsqPRQxhRUBm70YeE=",
- "dev": true,
- "optional": true
- },
- "ecc-jsbn": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz",
- "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=",
- "dev": true,
- "optional": true,
- "requires": {
- "jsbn": "0.1.1"
- }
- },
- "extend": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz",
- "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=",
+ "version": "1.0.3",
+ "bundled": true,
"dev": true,
"optional": true
},
- "extsprintf": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz",
- "integrity": "sha1-4QgOBljjALBilJkMxw4VAiNf1VA=",
- "dev": true
- },
- "forever-agent": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
- "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
+ "fs-minipass": {
+ "version": "1.2.5",
+ "bundled": true,
"dev": true,
"optional": true
},
- "form-data": {
- "version": "2.1.4",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz",
- "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=",
- "dev": true,
- "optional": true,
- "requires": {
- "asynckit": "0.4.0",
- "combined-stream": "1.0.5",
- "mime-types": "2.1.15"
- }
- },
"fs.realpath": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
- "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
- "dev": true
- },
- "fstream": {
- "version": "1.0.11",
- "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz",
- "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=",
+ "bundled": true,
"dev": true,
- "requires": {
- "graceful-fs": "4.1.11",
- "inherits": "2.0.3",
- "mkdirp": "0.5.1",
- "rimraf": "2.6.1"
- }
- },
- "fstream-ignore": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/fstream-ignore/-/fstream-ignore-1.0.5.tgz",
- "integrity": "sha1-nDHa40dnAY/h0kmyTa2mfQktoQU=",
- "dev": true,
- "optional": true,
- "requires": {
- "fstream": "1.0.11",
- "inherits": "2.0.3",
- "minimatch": "3.0.4"
- }
+ "optional": true
},
"gauge": {
"version": "2.7.4",
- "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz",
- "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=",
+ "bundled": true,
"dev": true,
- "optional": true,
- "requires": {
- "aproba": "1.1.1",
- "console-control-strings": "1.1.0",
- "has-unicode": "2.0.1",
- "object-assign": "4.1.1",
- "signal-exit": "3.0.2",
- "string-width": "1.0.2",
- "strip-ansi": "3.0.1",
- "wide-align": "1.1.2"
- }
- },
- "getpass": {
- "version": "0.1.7",
- "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
- "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
- "dev": true,
- "optional": true,
- "requires": {
- "assert-plus": "1.0.0"
- },
- "dependencies": {
- "assert-plus": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
- "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
- "dev": true,
- "optional": true
- }
- }
+ "optional": true
},
"glob": {
"version": "7.1.2",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
- "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
- "dev": true,
- "requires": {
- "fs.realpath": "1.0.0",
- "inflight": "1.0.6",
- "inherits": "2.0.3",
- "minimatch": "3.0.4",
- "once": "1.4.0",
- "path-is-absolute": "1.0.1"
- }
- },
- "graceful-fs": {
- "version": "4.1.11",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
- "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
- "dev": true
- },
- "har-schema": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz",
- "integrity": "sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4=",
+ "bundled": true,
"dev": true,
"optional": true
},
- "har-validator": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz",
- "integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=",
- "dev": true,
- "optional": true,
- "requires": {
- "ajv": "4.11.8",
- "har-schema": "1.0.5"
- }
- },
"has-unicode": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
- "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=",
+ "bundled": true,
"dev": true,
"optional": true
},
- "hawk": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz",
- "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=",
+ "iconv-lite": {
+ "version": "0.4.21",
+ "bundled": true,
"dev": true,
- "requires": {
- "boom": "2.10.1",
- "cryptiles": "2.0.5",
- "hoek": "2.16.3",
- "sntp": "1.0.9"
- }
- },
- "hoek": {
- "version": "2.16.3",
- "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz",
- "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=",
- "dev": true
+ "optional": true
},
- "http-signature": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz",
- "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=",
+ "ignore-walk": {
+ "version": "3.0.1",
+ "bundled": true,
"dev": true,
- "optional": true,
- "requires": {
- "assert-plus": "0.2.0",
- "jsprim": "1.4.0",
- "sshpk": "1.13.0"
- }
+ "optional": true
},
"inflight": {
"version": "1.0.6",
- "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
- "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
+ "bundled": true,
"dev": true,
- "requires": {
- "once": "1.4.0",
- "wrappy": "1.0.2"
- }
+ "optional": true
},
"inherits": {
"version": "2.0.3",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
+ "bundled": true,
"dev": true
},
"ini": {
- "version": "1.3.4",
- "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz",
- "integrity": "sha1-BTfLedr1m1mhpRff9wbIbsA5Fi4=",
+ "version": "1.3.5",
+ "bundled": true,
"dev": true,
"optional": true
},
"is-fullwidth-code-point": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
- "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
- "dev": true,
- "requires": {
- "number-is-nan": "1.0.1"
- }
- },
- "is-typedarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
- "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
- "dev": true,
- "optional": true
+ "bundled": true,
+ "dev": true
},
"isarray": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
- "dev": true
- },
- "isstream": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
- "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
- "dev": true,
- "optional": true
- },
- "jodid25519": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/jodid25519/-/jodid25519-1.0.2.tgz",
- "integrity": "sha1-BtSRIlUJNBlHfUJWM2BuDpB4KWc=",
- "dev": true,
- "optional": true,
- "requires": {
- "jsbn": "0.1.1"
- }
- },
- "jsbn": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
- "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
- "dev": true,
- "optional": true
- },
- "json-schema": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
- "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",
- "dev": true,
- "optional": true
- },
- "json-stable-stringify": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz",
- "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=",
- "dev": true,
- "optional": true,
- "requires": {
- "jsonify": "0.0.0"
- }
- },
- "json-stringify-safe": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
- "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
- "dev": true,
- "optional": true
- },
- "jsonify": {
- "version": "0.0.0",
- "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz",
- "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=",
+ "bundled": true,
"dev": true,
"optional": true
},
- "jsprim": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.0.tgz",
- "integrity": "sha1-o7h+QCmNjDgFUtjMdiigu5WiKRg=",
- "dev": true,
- "optional": true,
- "requires": {
- "assert-plus": "1.0.0",
- "extsprintf": "1.0.2",
- "json-schema": "0.2.3",
- "verror": "1.3.6"
- },
- "dependencies": {
- "assert-plus": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
- "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
- "dev": true,
- "optional": true
- }
- }
- },
- "mime-db": {
- "version": "1.27.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.27.0.tgz",
- "integrity": "sha1-gg9XIpa70g7CXtVeW13oaeVDbrE=",
- "dev": true
- },
- "mime-types": {
- "version": "2.1.15",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.15.tgz",
- "integrity": "sha1-pOv1BkCUVpI3uM9wBGd20J/JKu0=",
- "dev": true,
- "requires": {
- "mime-db": "1.27.0"
- }
- },
"minimatch": {
"version": "3.0.4",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
- "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
- "dev": true,
- "requires": {
- "brace-expansion": "1.1.7"
- }
+ "bundled": true,
+ "dev": true
},
"minimist": {
"version": "0.0.8",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
- "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
+ "bundled": true,
"dev": true
},
+ "minipass": {
+ "version": "2.2.4",
+ "bundled": true,
+ "dev": true
+ },
+ "minizlib": {
+ "version": "1.1.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
"mkdirp": {
"version": "0.5.1",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
- "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
- "dev": true,
- "requires": {
- "minimist": "0.0.8"
- }
+ "bundled": true,
+ "dev": true
},
"ms": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "needle": {
+ "version": "2.2.0",
+ "bundled": true,
"dev": true,
"optional": true
},
"node-pre-gyp": {
- "version": "0.6.39",
- "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.6.39.tgz",
- "integrity": "sha512-OsJV74qxnvz/AMGgcfZoDaeDXKD3oY3QVIbBmwszTFkRisTSXbMQyn4UWzUMOtA5SVhrBZOTp0wcoSBgfMfMmQ==",
+ "version": "0.9.1",
+ "bundled": true,
"dev": true,
- "optional": true,
- "requires": {
- "detect-libc": "1.0.2",
- "hawk": "3.1.3",
- "mkdirp": "0.5.1",
- "nopt": "4.0.1",
- "npmlog": "4.1.0",
- "rc": "1.2.1",
- "request": "2.81.0",
- "rimraf": "2.6.1",
- "semver": "5.3.0",
- "tar": "2.2.1",
- "tar-pack": "3.4.0"
- }
+ "optional": true
},
"nopt": {
"version": "4.0.1",
- "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz",
- "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=",
+ "bundled": true,
"dev": true,
- "optional": true,
- "requires": {
- "abbrev": "1.1.0",
- "osenv": "0.1.4"
- }
+ "optional": true
+ },
+ "npm-bundled": {
+ "version": "1.0.3",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "npm-packlist": {
+ "version": "1.1.10",
+ "bundled": true,
+ "dev": true,
+ "optional": true
},
"npmlog": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.0.tgz",
- "integrity": "sha512-ocolIkZYZt8UveuiDS0yAkkIjid1o7lPG8cYm05yNYzBn8ykQtaiPMEGp8fY9tKdDgm8okpdKzkvu1y9hUYugA==",
+ "version": "4.1.2",
+ "bundled": true,
"dev": true,
- "optional": true,
- "requires": {
- "are-we-there-yet": "1.1.4",
- "console-control-strings": "1.1.0",
- "gauge": "2.7.4",
- "set-blocking": "2.0.0"
- }
+ "optional": true
},
"number-is-nan": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
- "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
+ "bundled": true,
"dev": true
},
- "oauth-sign": {
- "version": "0.8.2",
- "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz",
- "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=",
- "dev": true,
- "optional": true
- },
"object-assign": {
"version": "4.1.1",
- "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
- "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
+ "bundled": true,
"dev": true,
"optional": true
},
"once": {
"version": "1.4.0",
- "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
- "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
- "dev": true,
- "requires": {
- "wrappy": "1.0.2"
- }
+ "bundled": true,
+ "dev": true
},
"os-homedir": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
- "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
+ "bundled": true,
"dev": true,
"optional": true
},
"os-tmpdir": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
- "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
+ "bundled": true,
"dev": true,
"optional": true
},
"osenv": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.4.tgz",
- "integrity": "sha1-Qv5tWVPfBsgGS+bxdsPQWqqjRkQ=",
+ "version": "0.1.5",
+ "bundled": true,
"dev": true,
- "optional": true,
- "requires": {
- "os-homedir": "1.0.2",
- "os-tmpdir": "1.0.2"
- }
+ "optional": true
},
"path-is-absolute": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
- "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
- "dev": true
- },
- "performance-now": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz",
- "integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU=",
+ "bundled": true,
"dev": true,
"optional": true
},
"process-nextick-args": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
- "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=",
- "dev": true
- },
- "punycode": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
- "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
- "dev": true,
- "optional": true
- },
- "qs": {
- "version": "6.4.0",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz",
- "integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=",
+ "version": "2.0.0",
+ "bundled": true,
"dev": true,
"optional": true
},
"rc": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.1.tgz",
- "integrity": "sha1-LgPo5C7kULjLPc5lvhv4l04d/ZU=",
+ "version": "1.2.6",
+ "bundled": true,
"dev": true,
"optional": true,
- "requires": {
- "deep-extend": "0.4.2",
- "ini": "1.3.4",
- "minimist": "1.2.0",
- "strip-json-comments": "2.0.1"
- },
"dependencies": {
"minimist": {
"version": "1.2.0",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
- "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+ "bundled": true,
"dev": true,
"optional": true
}
}
},
"readable-stream": {
- "version": "2.2.9",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.9.tgz",
- "integrity": "sha1-z3jsb0ptHrQ9JkiMrJfwQudLf8g=",
+ "version": "2.3.6",
+ "bundled": true,
"dev": true,
- "requires": {
- "buffer-shims": "1.0.0",
- "core-util-is": "1.0.2",
- "inherits": "2.0.3",
- "isarray": "1.0.0",
- "process-nextick-args": "1.0.7",
- "string_decoder": "1.0.1",
- "util-deprecate": "1.0.2"
- }
- },
- "request": {
- "version": "2.81.0",
- "resolved": "https://registry.npmjs.org/request/-/request-2.81.0.tgz",
- "integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=",
- "dev": true,
- "optional": true,
- "requires": {
- "aws-sign2": "0.6.0",
- "aws4": "1.6.0",
- "caseless": "0.12.0",
- "combined-stream": "1.0.5",
- "extend": "3.0.1",
- "forever-agent": "0.6.1",
- "form-data": "2.1.4",
- "har-validator": "4.2.1",
- "hawk": "3.1.3",
- "http-signature": "1.1.1",
- "is-typedarray": "1.0.0",
- "isstream": "0.1.2",
- "json-stringify-safe": "5.0.1",
- "mime-types": "2.1.15",
- "oauth-sign": "0.8.2",
- "performance-now": "0.2.0",
- "qs": "6.4.0",
- "safe-buffer": "5.0.1",
- "stringstream": "0.0.5",
- "tough-cookie": "2.3.2",
- "tunnel-agent": "0.6.0",
- "uuid": "3.0.1"
- }
+ "optional": true
},
"rimraf": {
- "version": "2.6.1",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz",
- "integrity": "sha1-wjOOxkPfeht/5cVPqG9XQopV8z0=",
+ "version": "2.6.2",
+ "bundled": true,
"dev": true,
- "requires": {
- "glob": "7.1.2"
- }
+ "optional": true
},
"safe-buffer": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.0.1.tgz",
- "integrity": "sha1-0mPKVGls2KMGtcplUekt5XkY++c=",
+ "version": "5.1.1",
+ "bundled": true,
"dev": true
},
+ "safer-buffer": {
+ "version": "2.1.2",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "sax": {
+ "version": "1.2.4",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
"semver": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
- "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=",
+ "version": "5.5.0",
+ "bundled": true,
"dev": true,
"optional": true
},
"set-blocking": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
- "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
+ "bundled": true,
"dev": true,
"optional": true
},
"signal-exit": {
"version": "3.0.2",
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
- "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
+ "bundled": true,
"dev": true,
"optional": true
},
- "sntp": {
- "version": "1.0.9",
- "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz",
- "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=",
- "dev": true,
- "requires": {
- "hoek": "2.16.3"
- }
- },
- "sshpk": {
- "version": "1.13.0",
- "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.0.tgz",
- "integrity": "sha1-/yo+T9BEl1Vf7Zezmg/YL6+zozw=",
+ "string_decoder": {
+ "version": "1.1.1",
+ "bundled": true,
"dev": true,
- "optional": true,
- "requires": {
- "asn1": "0.2.3",
- "assert-plus": "1.0.0",
- "bcrypt-pbkdf": "1.0.1",
- "dashdash": "1.14.1",
- "ecc-jsbn": "0.1.1",
- "getpass": "0.1.7",
- "jodid25519": "1.0.2",
- "jsbn": "0.1.1",
- "tweetnacl": "0.14.5"
- },
- "dependencies": {
- "assert-plus": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
- "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
- "dev": true,
- "optional": true
- }
- }
+ "optional": true
},
"string-width": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
- "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
- "dev": true,
- "requires": {
- "code-point-at": "1.1.0",
- "is-fullwidth-code-point": "1.0.0",
- "strip-ansi": "3.0.1"
- }
- },
- "string_decoder": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.1.tgz",
- "integrity": "sha1-YuIA8DmVWmgQ2N8KM//A8BNmLZg=",
- "dev": true,
- "requires": {
- "safe-buffer": "5.0.1"
- }
- },
- "stringstream": {
- "version": "0.0.5",
- "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz",
- "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=",
- "dev": true,
- "optional": true
+ "bundled": true,
+ "dev": true
},
"strip-ansi": {
"version": "3.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
- "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
- "dev": true,
- "requires": {
- "ansi-regex": "2.1.1"
- }
+ "bundled": true,
+ "dev": true
},
"strip-json-comments": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
- "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
+ "bundled": true,
"dev": true,
"optional": true
},
"tar": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz",
- "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=",
- "dev": true,
- "requires": {
- "block-stream": "0.0.9",
- "fstream": "1.0.11",
- "inherits": "2.0.3"
- }
- },
- "tar-pack": {
- "version": "3.4.0",
- "resolved": "https://registry.npmjs.org/tar-pack/-/tar-pack-3.4.0.tgz",
- "integrity": "sha1-I74tf2cagzk3bL2wuP4/3r8xeYQ=",
- "dev": true,
- "optional": true,
- "requires": {
- "debug": "2.6.8",
- "fstream": "1.0.11",
- "fstream-ignore": "1.0.5",
- "once": "1.4.0",
- "readable-stream": "2.2.9",
- "rimraf": "2.6.1",
- "tar": "2.2.1",
- "uid-number": "0.0.6"
- }
- },
- "tough-cookie": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.2.tgz",
- "integrity": "sha1-8IH3bkyFcg5sN6X6ztc3FQ2EByo=",
- "dev": true,
- "optional": true,
- "requires": {
- "punycode": "1.4.1"
- }
- },
- "tunnel-agent": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
- "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
- "dev": true,
- "optional": true,
- "requires": {
- "safe-buffer": "5.0.1"
- }
- },
- "tweetnacl": {
- "version": "0.14.5",
- "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
- "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
- "dev": true,
- "optional": true
- },
- "uid-number": {
- "version": "0.0.6",
- "resolved": "https://registry.npmjs.org/uid-number/-/uid-number-0.0.6.tgz",
- "integrity": "sha1-DqEOgDXo61uOREnwbaHHMGY7qoE=",
+ "version": "4.4.1",
+ "bundled": true,
"dev": true,
"optional": true
},
"util-deprecate": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
- "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
- "dev": true
- },
- "uuid": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.0.1.tgz",
- "integrity": "sha1-ZUS7ot/ajBzxfmKaOjBeK7H+5sE=",
+ "bundled": true,
"dev": true,
"optional": true
},
- "verror": {
- "version": "1.3.6",
- "resolved": "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz",
- "integrity": "sha1-z/XfEpRtKX0rqu+qJoniW+AcAFw=",
- "dev": true,
- "optional": true,
- "requires": {
- "extsprintf": "1.0.2"
- }
- },
"wide-align": {
"version": "1.1.2",
- "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz",
- "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==",
+ "bundled": true,
"dev": true,
- "optional": true,
- "requires": {
- "string-width": "1.0.2"
- }
+ "optional": true
},
"wrappy": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
- "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
+ "bundled": true,
+ "dev": true
+ },
+ "yallist": {
+ "version": "3.0.2",
+ "bundled": true,
"dev": true
}
}
},
"fstream": {
- "version": "https://registry.npmjs.org/fstream/-/fstream-0.1.31.tgz",
+ "version": "0.1.31",
+ "resolved": "https://registry.npmjs.org/fstream/-/fstream-0.1.31.tgz",
"integrity": "sha1-czfwWPu7vvqMn1YaKMqwhJICyYg=",
"dev": true,
- "requires": {
- "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.11.tgz",
- "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
- "rimraf": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz"
- },
"dependencies": {
"graceful-fs": {
- "version": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.11.tgz",
+ "version": "3.0.11",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.11.tgz",
"integrity": "sha1-dhPHeKGv6mLyXGMKCG1/Osu92Bg=",
- "dev": true,
- "requires": {
- "natives": "https://registry.npmjs.org/natives/-/natives-1.1.1.tgz"
- }
+ "dev": true
}
}
},
"ftp": {
- "version": "https://registry.npmjs.org/ftp/-/ftp-0.3.10.tgz",
+ "version": "0.3.10",
+ "resolved": "https://registry.npmjs.org/ftp/-/ftp-0.3.10.tgz",
"integrity": "sha1-kZfYYa2BQvPmPVqDv+TFn3MwiF0=",
"dev": true,
- "requires": {
- "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
- "xregexp": "https://registry.npmjs.org/xregexp/-/xregexp-2.0.0.tgz"
- },
"dependencies": {
"isarray": {
- "version": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
"integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
"dev": true
},
"readable-stream": {
- "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
+ "version": "1.1.14",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
"integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
- "dev": true,
- "requires": {
- "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
- "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
- "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
- }
+ "dev": true
},
"string_decoder": {
- "version": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "version": "0.10.31",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
"dev": true
}
}
},
"function-bind": {
- "version": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
- "integrity": "sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0=",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
+ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
"dev": true
},
"functional-red-black-tree": {
- "version": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
"integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
"dev": true
},
"gaze": {
- "version": "https://registry.npmjs.org/gaze/-/gaze-0.5.2.tgz",
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/gaze/-/gaze-0.5.2.tgz",
"integrity": "sha1-QLcJU30k0dRXZ9takIaJ3+aaxE8=",
- "dev": true,
- "requires": {
- "globule": "https://registry.npmjs.org/globule/-/globule-0.1.0.tgz"
- }
+ "dev": true
},
"generate-function": {
- "version": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz",
"integrity": "sha1-aFj+fAlpt9TpCTM3ZHrHn2DfvnQ=",
"dev": true
},
"generate-object-property": {
- "version": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz",
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz",
"integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=",
- "dev": true,
- "requires": {
- "is-property": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz"
- }
+ "dev": true
},
"get-caller-file": {
- "version": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz",
"integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=",
"dev": true
},
"get-port": {
- "version": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz",
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz",
"integrity": "sha1-3Xzn3hh8Bsi/NTeWrHHgmfCYDrw=",
"dev": true
},
"get-stdin": {
- "version": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",
"integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=",
"dev": true
},
"get-stream": {
- "version": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz",
"integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=",
"dev": true
},
"get-uri": {
- "version": "https://registry.npmjs.org/get-uri/-/get-uri-2.0.1.tgz",
- "integrity": "sha1-29ysrNjGCKODFoaTaBF2l6FjHFk=",
- "dev": true,
- "requires": {
- "data-uri-to-buffer": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-1.2.0.tgz",
- "debug": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "extend": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz",
- "file-uri-to-path": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
- "ftp": "https://registry.npmjs.org/ftp/-/ftp-0.3.10.tgz",
- "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.4.tgz"
- },
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-2.0.1.tgz",
+ "integrity": "sha512-7aelVrYqCLuVjq2kEKRTH8fXPTC0xKTkM+G7UlFkEwCXY3sFbSxvY375JoFowOAYbkaU47SrBvOefUlLZZ+6QA==",
+ "dev": true,
"dependencies": {
"debug": {
- "version": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
- "dev": true,
- "requires": {
- "ms": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"
- }
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true
}
}
},
"get-value": {
- "version": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
"integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=",
"dev": true
},
"getpass": {
- "version": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
"integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
"dev": true,
- "requires": {
- "assert-plus": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz"
- },
"dependencies": {
"assert-plus": {
- "version": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
"integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
"dev": true
}
}
},
"git-up": {
- "version": "https://registry.npmjs.org/git-up/-/git-up-2.0.10.tgz",
- "integrity": "sha1-IP5rr770OEyuJT3E9GPEmgw70uw=",
- "dev": true,
- "requires": {
- "is-ssh": "https://registry.npmjs.org/is-ssh/-/is-ssh-1.3.0.tgz",
- "parse-url": "https://registry.npmjs.org/parse-url/-/parse-url-1.3.11.tgz"
- }
+ "version": "2.0.10",
+ "resolved": "https://registry.npmjs.org/git-up/-/git-up-2.0.10.tgz",
+ "integrity": "sha512-2v4UN3qV2RGypD9QpmUjpk+4+RlYpW8GFuiZqQnKmvei08HsFPd0RfbDvEhnE4wBvnYs8ORVtYpOFuuCEmBVBw==",
+ "dev": true
},
"git-url-parse": {
- "version": "https://registry.npmjs.org/git-url-parse/-/git-url-parse-8.1.0.tgz",
- "integrity": "sha1-0e4JIT785djceiG7A/F8/gwRESI=",
- "dev": true,
- "requires": {
- "git-up": "https://registry.npmjs.org/git-up/-/git-up-2.0.10.tgz"
- }
+ "version": "8.3.1",
+ "resolved": "https://registry.npmjs.org/git-url-parse/-/git-url-parse-8.3.1.tgz",
+ "integrity": "sha512-r/FxXIdfgdSO+V2zl4ZK1JGYkHT9nqVRSzom5WsYPLg3XzeBeKPl3R/6X9E9ZJRx/sE/dXwXtfl+Zp7YL8ktWQ==",
+ "dev": true
},
"github-slugger": {
- "version": "https://registry.npmjs.org/github-slugger/-/github-slugger-1.2.0.tgz",
- "integrity": "sha1-itoyhv0EbYlRw8lSqNeFTP2Q/Zo=",
- "dev": true,
- "requires": {
- "emoji-regex": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-6.1.1.tgz"
- }
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-1.2.0.tgz",
+ "integrity": "sha512-wIaa75k1vZhyPm9yWrD08A5Xnx/V+RmzGrpjQuLemGKSb77Qukiaei58Bogrl/LZSADDfPzKJX8jhLs4CRTl7Q==",
+ "dev": true
},
"glob": {
- "version": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
- "integrity": "sha1-wZyd+aAocC1nhhI4SmVSQExjbRU=",
- "dev": true,
- "requires": {
- "fs.realpath": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
- "inflight": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
- "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
- "once": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
- "path-is-absolute": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz"
- }
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
+ "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
+ "dev": true
},
"glob-base": {
- "version": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz",
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz",
"integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=",
"dev": true,
- "requires": {
- "glob-parent": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
- "is-glob": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz"
- },
"dependencies": {
"glob-parent": {
- "version": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
"integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=",
- "dev": true,
- "requires": {
- "is-glob": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz"
- }
+ "dev": true
},
"is-extglob": {
- "version": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
"integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
"dev": true
},
"is-glob": {
- "version": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
"integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
- "dev": true,
- "requires": {
- "is-extglob": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz"
- }
+ "dev": true
}
}
},
"glob-parent": {
- "version": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
"integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
"dev": true,
- "requires": {
- "is-glob": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
- "path-dirname": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz"
- },
"dependencies": {
"is-glob": {
- "version": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
"integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
- "dev": true,
- "requires": {
- "is-extglob": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz"
- }
+ "dev": true
}
}
},
"glob-stream": {
- "version": "https://registry.npmjs.org/glob-stream/-/glob-stream-6.1.0.tgz",
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-6.1.0.tgz",
"integrity": "sha1-cEXJlBOz65SIjYOrRtC0BMx73eQ=",
- "dev": true,
- "requires": {
- "extend": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz",
- "glob": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
- "glob-parent": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
- "is-negated-glob": "https://registry.npmjs.org/is-negated-glob/-/is-negated-glob-1.0.0.tgz",
- "ordered-read-streams": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz",
- "pumpify": "https://registry.npmjs.org/pumpify/-/pumpify-1.4.0.tgz",
- "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.4.tgz",
- "remove-trailing-separator": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
- "to-absolute-glob": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz",
- "unique-stream": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.2.1.tgz"
- }
+ "dev": true
},
"glob-watcher": {
- "version": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-0.0.6.tgz",
+ "version": "0.0.6",
+ "resolved": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-0.0.6.tgz",
"integrity": "sha1-uVtKjfdLOcgymLDAXJeLTZo7cQs=",
- "dev": true,
- "requires": {
- "gaze": "https://registry.npmjs.org/gaze/-/gaze-0.5.2.tgz"
- }
+ "dev": true
},
"glob2base": {
- "version": "https://registry.npmjs.org/glob2base/-/glob2base-0.0.12.tgz",
+ "version": "0.0.12",
+ "resolved": "https://registry.npmjs.org/glob2base/-/glob2base-0.0.12.tgz",
"integrity": "sha1-nUGbPijxLoOjYhZKJ3BVkiycDVY=",
- "dev": true,
- "requires": {
- "find-index": "https://registry.npmjs.org/find-index/-/find-index-0.1.1.tgz"
- }
+ "dev": true
},
"global-modules": {
- "version": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz",
- "integrity": "sha1-bXcPDrUjrHgWTXK15xqIdyZcw+o=",
- "dev": true,
- "requires": {
- "global-prefix": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz",
- "is-windows": "1.0.1",
- "resolve-dir": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz"
- }
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz",
+ "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==",
+ "dev": true
},
"global-prefix": {
- "version": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz",
"integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=",
- "dev": true,
- "requires": {
- "expand-tilde": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz",
- "homedir-polyfill": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz",
- "ini": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz",
- "is-windows": "1.0.1",
- "which": "https://registry.npmjs.org/which/-/which-1.3.0.tgz"
- }
+ "dev": true
},
"globals": {
- "version": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz",
- "integrity": "sha1-qjiWs+abSH8X4x7SFD1pqOMMLYo=",
+ "version": "9.18.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz",
+ "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==",
"dev": true
},
"globals-docs": {
- "version": "https://registry.npmjs.org/globals-docs/-/globals-docs-2.4.0.tgz",
- "integrity": "sha1-8sZHVE62Fhx8OEUoCOFuaTwtr7s=",
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/globals-docs/-/globals-docs-2.4.0.tgz",
+ "integrity": "sha512-B69mWcqCmT3jNYmSxRxxOXWfzu3Go8NQXPfl2o0qPd1EEFhwW0dFUg9ztTu915zPQzqwIhWAlw6hmfIcCK4kkQ==",
"dev": true
},
"globby": {
- "version": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz",
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz",
"integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=",
"dev": true,
- "requires": {
- "array-union": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
- "arrify": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
- "glob": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
- "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
- "pify": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
- "pinkie-promise": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz"
- },
"dependencies": {
"pify": {
- "version": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
"integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
"dev": true
}
}
},
"globule": {
- "version": "https://registry.npmjs.org/globule/-/globule-0.1.0.tgz",
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/globule/-/globule-0.1.0.tgz",
"integrity": "sha1-2cjt3h2nnRJaFRt5UzuXhnY0auU=",
"dev": true,
- "requires": {
- "glob": "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz",
- "lodash": "https://registry.npmjs.org/lodash/-/lodash-1.0.2.tgz",
- "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz"
- },
"dependencies": {
"glob": {
- "version": "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz",
+ "version": "3.1.21",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz",
"integrity": "sha1-0p4KBV3qUTj00H7UDomC6DwgZs0=",
- "dev": true,
- "requires": {
- "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz",
- "inherits": "https://registry.npmjs.org/inherits/-/inherits-1.0.2.tgz",
- "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz"
- }
+ "dev": true
},
"graceful-fs": {
- "version": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz",
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz",
"integrity": "sha1-FaSAaldUfLLS2/J/QuiajDRRs2Q=",
"dev": true
},
"inherits": {
- "version": "https://registry.npmjs.org/inherits/-/inherits-1.0.2.tgz",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-1.0.2.tgz",
"integrity": "sha1-ykMJ2t7mtUzAuNJH6NfHoJdb3Js=",
"dev": true
},
"lodash": {
- "version": "https://registry.npmjs.org/lodash/-/lodash-1.0.2.tgz",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-1.0.2.tgz",
"integrity": "sha1-j1dWDIO1n8JwvT1WG2kAQ0MOJVE=",
"dev": true
},
"lru-cache": {
- "version": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz",
+ "version": "2.7.3",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz",
"integrity": "sha1-bUUk6LlV+V1PW1iFHOId1y+06VI=",
"dev": true
},
"minimatch": {
- "version": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz",
+ "version": "0.2.14",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz",
"integrity": "sha1-x054BXT2PG+aCQ6Q775u9TpqdWo=",
- "dev": true,
- "requires": {
- "lru-cache": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz",
- "sigmund": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz"
- }
+ "dev": true
}
}
},
"glogg": {
- "version": "https://registry.npmjs.org/glogg/-/glogg-1.0.1.tgz",
- "integrity": "sha1-3PdY5EeJzD89MsHzVio2duajSBA=",
- "dev": true,
- "requires": {
- "sparkles": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.0.tgz"
- }
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.1.tgz",
+ "integrity": "sha512-ynYqXLoluBKf9XGR1gA59yEJisIL7YHEH4xr3ZziHB5/yl4qWfaK8Js9jGe6gBGCSCKVqiyO30WnRZADvemUNw==",
+ "dev": true
},
"graceful-fs": {
- "version": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "version": "4.1.11",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
"integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg="
},
"graceful-readlink": {
- "version": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz",
"integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=",
"dev": true
},
@@ -6519,1997 +4365,1488 @@
"dev": true
},
"gulp": {
- "version": "https://registry.npmjs.org/gulp/-/gulp-3.9.1.tgz",
+ "version": "3.9.1",
+ "resolved": "https://registry.npmjs.org/gulp/-/gulp-3.9.1.tgz",
"integrity": "sha1-VxzkWSjdQK9lFPxAEYZgFsE4RbQ=",
"dev": true,
- "requires": {
- "archy": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz",
- "chalk": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "deprecated": "https://registry.npmjs.org/deprecated/-/deprecated-0.0.1.tgz",
- "gulp-util": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz",
- "interpret": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz",
- "liftoff": "https://registry.npmjs.org/liftoff/-/liftoff-2.5.0.tgz",
- "minimist": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
- "orchestrator": "https://registry.npmjs.org/orchestrator/-/orchestrator-0.3.8.tgz",
- "pretty-hrtime": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz",
- "semver": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz",
- "tildify": "https://registry.npmjs.org/tildify/-/tildify-1.2.0.tgz",
- "v8flags": "https://registry.npmjs.org/v8flags/-/v8flags-2.1.1.tgz",
- "vinyl-fs": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-0.3.14.tgz"
- },
"dependencies": {
"clone": {
- "version": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz",
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz",
"integrity": "sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=",
"dev": true
},
"clone-stats": {
- "version": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz",
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz",
"integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=",
"dev": true
},
"glob": {
- "version": "https://registry.npmjs.org/glob/-/glob-4.5.3.tgz",
+ "version": "4.5.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-4.5.3.tgz",
"integrity": "sha1-xstz0yJsHv7wTePFbQEvAzd+4V8=",
- "dev": true,
- "requires": {
- "inflight": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
- "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz",
- "once": "https://registry.npmjs.org/once/-/once-1.4.0.tgz"
- }
+ "dev": true
},
"glob-stream": {
- "version": "https://registry.npmjs.org/glob-stream/-/glob-stream-3.1.18.tgz",
+ "version": "3.1.18",
+ "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-3.1.18.tgz",
"integrity": "sha1-kXCl8St5Awb9/lmPMT+PeVT9FDs=",
- "dev": true,
- "requires": {
- "glob": "https://registry.npmjs.org/glob/-/glob-4.5.3.tgz",
- "glob2base": "https://registry.npmjs.org/glob2base/-/glob2base-0.0.12.tgz",
- "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz",
- "ordered-read-streams": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-0.1.0.tgz",
- "through2": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
- "unique-stream": "https://registry.npmjs.org/unique-stream/-/unique-stream-1.0.0.tgz"
- }
+ "dev": true
},
"graceful-fs": {
- "version": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.11.tgz",
+ "version": "3.0.11",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.11.tgz",
"integrity": "sha1-dhPHeKGv6mLyXGMKCG1/Osu92Bg=",
- "dev": true,
- "requires": {
- "natives": "https://registry.npmjs.org/natives/-/natives-1.1.1.tgz"
- }
+ "dev": true
},
"isarray": {
- "version": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
"integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
"dev": true
},
"minimatch": {
- "version": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz",
+ "version": "2.0.10",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz",
"integrity": "sha1-jQh8OcazjAAbl/ynzm0OHoCvusc=",
- "dev": true,
- "requires": {
- "brace-expansion": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz"
- }
+ "dev": true
},
"minimist": {
- "version": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
"integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
"dev": true
},
"ordered-read-streams": {
- "version": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-0.1.0.tgz",
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-0.1.0.tgz",
"integrity": "sha1-/VZamvjrRHO6abbtijQ1LLVS8SY=",
"dev": true
},
"readable-stream": {
- "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "version": "1.0.34",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
"integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
- "dev": true,
- "requires": {
- "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
- "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
- "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
- }
+ "dev": true
},
"semver": {
- "version": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz",
+ "version": "4.3.6",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz",
"integrity": "sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=",
"dev": true
},
"string_decoder": {
- "version": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "version": "0.10.31",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
"dev": true
},
"strip-bom": {
- "version": "https://registry.npmjs.org/strip-bom/-/strip-bom-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-1.0.0.tgz",
"integrity": "sha1-hbiGLzhEtabV7IRnqTWYFzo295Q=",
- "dev": true,
- "requires": {
- "first-chunk-stream": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz",
- "is-utf8": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz"
- }
+ "dev": true
},
"through2": {
- "version": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
+ "version": "0.6.5",
+ "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
"integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
- "dev": true,
- "requires": {
- "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
- "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
- }
+ "dev": true
},
"unique-stream": {
- "version": "https://registry.npmjs.org/unique-stream/-/unique-stream-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-1.0.0.tgz",
"integrity": "sha1-1ZpKdUJ0R9mqbJHnAmP40mpLEEs=",
"dev": true
},
"vinyl": {
- "version": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz",
+ "version": "0.4.6",
+ "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz",
"integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=",
- "dev": true,
- "requires": {
- "clone": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz",
- "clone-stats": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz"
- }
+ "dev": true
},
"vinyl-fs": {
- "version": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-0.3.14.tgz",
+ "version": "0.3.14",
+ "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-0.3.14.tgz",
"integrity": "sha1-mmhRzhysHBzqX+hsCTHWIMLPqeY=",
- "dev": true,
- "requires": {
- "defaults": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz",
- "glob-stream": "https://registry.npmjs.org/glob-stream/-/glob-stream-3.1.18.tgz",
- "glob-watcher": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-0.0.6.tgz",
- "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.11.tgz",
- "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
- "strip-bom": "https://registry.npmjs.org/strip-bom/-/strip-bom-1.0.0.tgz",
- "through2": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
- "vinyl": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz"
- }
+ "dev": true
}
}
},
"gulp-babel": {
- "version": "https://registry.npmjs.org/gulp-babel/-/gulp-babel-6.1.3.tgz",
- "integrity": "sha1-Wq2Kyw22t/Lwvhnu7pUo8gZN9jE=",
- "dev": true,
- "requires": {
- "babel-core": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.0.tgz",
- "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
- "plugin-error": "https://registry.npmjs.org/plugin-error/-/plugin-error-1.0.1.tgz",
- "replace-ext": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz",
- "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
- "vinyl-sourcemaps-apply": "https://registry.npmjs.org/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz"
- },
+ "version": "6.1.3",
+ "resolved": "https://registry.npmjs.org/gulp-babel/-/gulp-babel-6.1.3.tgz",
+ "integrity": "sha512-tm15R3rt4gO59WXCuqrwf4QXJM9VIJC+0J2NPYSC6xZn+cZRD5y5RPGAiHaDxCJq7Rz5BDljlrk3cEjWADF+wQ==",
+ "dev": true,
"dependencies": {
"babel-core": {
- "version": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.0.tgz",
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.0.tgz",
"integrity": "sha1-rzL3izGm/O8RnIew/Y2XU/A6C7g=",
- "dev": true,
- "requires": {
- "babel-code-frame": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz",
- "babel-generator": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz",
- "babel-helpers": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz",
- "babel-messages": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz",
- "babel-register": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz",
- "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
- "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz",
- "babel-traverse": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz",
- "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz",
- "babylon": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz",
- "convert-source-map": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz",
- "debug": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "json5": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
- "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz",
- "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
- "path-is-absolute": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
- "private": "https://registry.npmjs.org/private/-/private-0.1.8.tgz",
- "slash": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz",
- "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz"
- }
+ "dev": true
},
"debug": {
- "version": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
- "dev": true,
- "requires": {
- "ms": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"
- }
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true
},
"replace-ext": {
- "version": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz",
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz",
"integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=",
"dev": true
},
"source-map": {
- "version": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
"integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
"dev": true
}
}
},
"gulp-clean": {
- "version": "https://registry.npmjs.org/gulp-clean/-/gulp-clean-0.3.2.tgz",
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/gulp-clean/-/gulp-clean-0.3.2.tgz",
"integrity": "sha1-o0fUc6zqQBgvk1WHpFGUFnGSgQI=",
"dev": true,
- "requires": {
- "gulp-util": "https://registry.npmjs.org/gulp-util/-/gulp-util-2.2.20.tgz",
- "rimraf": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz",
- "through2": "https://registry.npmjs.org/through2/-/through2-0.4.2.tgz"
- },
"dependencies": {
"ansi-regex": {
- "version": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz",
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz",
"integrity": "sha1-DY6UaWej2BQ/k+JOKYUl/BsiNfk=",
"dev": true
},
"ansi-styles": {
- "version": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.1.0.tgz",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.1.0.tgz",
"integrity": "sha1-6uy/Zs1waIJ2Cy9GkVgrj1XXp94=",
"dev": true
},
"chalk": {
- "version": "https://registry.npmjs.org/chalk/-/chalk-0.5.1.tgz",
+ "version": "0.5.1",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.5.1.tgz",
"integrity": "sha1-Zjs6ZItotV0EaQ1JFnqoN4WPIXQ=",
- "dev": true,
- "requires": {
- "ansi-styles": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.1.0.tgz",
- "escape-string-regexp": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "has-ansi": "https://registry.npmjs.org/has-ansi/-/has-ansi-0.1.0.tgz",
- "strip-ansi": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz",
- "supports-color": "https://registry.npmjs.org/supports-color/-/supports-color-0.2.0.tgz"
- }
+ "dev": true
},
"clone-stats": {
- "version": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz",
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz",
"integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=",
"dev": true
},
"dateformat": {
- "version": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz",
+ "version": "1.0.12",
+ "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz",
"integrity": "sha1-nxJLZ1lMk3/3BpMuSmQsyo27/uk=",
- "dev": true,
- "requires": {
- "get-stdin": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",
- "meow": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz"
- }
+ "dev": true
},
"gulp-util": {
- "version": "https://registry.npmjs.org/gulp-util/-/gulp-util-2.2.20.tgz",
+ "version": "2.2.20",
+ "resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-2.2.20.tgz",
"integrity": "sha1-1xRuVyiRC9jwR6awseVJvCLb1kw=",
"dev": true,
- "requires": {
- "chalk": "https://registry.npmjs.org/chalk/-/chalk-0.5.1.tgz",
- "dateformat": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz",
- "lodash._reinterpolate": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-2.4.1.tgz",
- "lodash.template": "https://registry.npmjs.org/lodash.template/-/lodash.template-2.4.1.tgz",
- "minimist": "https://registry.npmjs.org/minimist/-/minimist-0.2.0.tgz",
- "multipipe": "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz",
- "through2": "https://registry.npmjs.org/through2/-/through2-0.5.1.tgz",
- "vinyl": "https://registry.npmjs.org/vinyl/-/vinyl-0.2.3.tgz"
- },
"dependencies": {
"through2": {
- "version": "https://registry.npmjs.org/through2/-/through2-0.5.1.tgz",
+ "version": "0.5.1",
+ "resolved": "https://registry.npmjs.org/through2/-/through2-0.5.1.tgz",
"integrity": "sha1-390BLrnHAOIyP9M084rGIqs3Lac=",
- "dev": true,
- "requires": {
- "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
- "xtend": "https://registry.npmjs.org/xtend/-/xtend-3.0.0.tgz"
- }
+ "dev": true
}
}
},
"has-ansi": {
- "version": "https://registry.npmjs.org/has-ansi/-/has-ansi-0.1.0.tgz",
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-0.1.0.tgz",
"integrity": "sha1-hPJlqujA5qiKEtcCKJS3VoiUxi4=",
- "dev": true,
- "requires": {
- "ansi-regex": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz"
- }
+ "dev": true
},
"isarray": {
- "version": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
"integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
"dev": true
},
"lodash._reinterpolate": {
- "version": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-2.4.1.tgz",
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-2.4.1.tgz",
"integrity": "sha1-TxInqlqHEfxjL1sHofRgequLMiI=",
"dev": true
},
"lodash.escape": {
- "version": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-2.4.1.tgz",
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-2.4.1.tgz",
"integrity": "sha1-LOEsXghNsKV92l5dHu659dF1o7Q=",
- "dev": true,
- "requires": {
- "lodash._escapehtmlchar": "https://registry.npmjs.org/lodash._escapehtmlchar/-/lodash._escapehtmlchar-2.4.1.tgz",
- "lodash._reunescapedhtml": "https://registry.npmjs.org/lodash._reunescapedhtml/-/lodash._reunescapedhtml-2.4.1.tgz",
- "lodash.keys": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz"
- }
+ "dev": true
},
"lodash.keys": {
- "version": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz",
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz",
"integrity": "sha1-SN6kbfj/djKxDXBrissmWR4rNyc=",
- "dev": true,
- "requires": {
- "lodash._isnative": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz",
- "lodash._shimkeys": "https://registry.npmjs.org/lodash._shimkeys/-/lodash._shimkeys-2.4.1.tgz",
- "lodash.isobject": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz"
- }
+ "dev": true
},
"lodash.template": {
- "version": "https://registry.npmjs.org/lodash.template/-/lodash.template-2.4.1.tgz",
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-2.4.1.tgz",
"integrity": "sha1-nmEQB+32KRKal0qzxIuBez4c8g0=",
- "dev": true,
- "requires": {
- "lodash._escapestringchar": "https://registry.npmjs.org/lodash._escapestringchar/-/lodash._escapestringchar-2.4.1.tgz",
- "lodash._reinterpolate": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-2.4.1.tgz",
- "lodash.defaults": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-2.4.1.tgz",
- "lodash.escape": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-2.4.1.tgz",
- "lodash.keys": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz",
- "lodash.templatesettings": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-2.4.1.tgz",
- "lodash.values": "https://registry.npmjs.org/lodash.values/-/lodash.values-2.4.1.tgz"
- }
+ "dev": true
},
"lodash.templatesettings": {
- "version": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-2.4.1.tgz",
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-2.4.1.tgz",
"integrity": "sha1-6nbHXRHrhtTb6JqDiTu4YZKaxpk=",
- "dev": true,
- "requires": {
- "lodash._reinterpolate": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-2.4.1.tgz",
- "lodash.escape": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-2.4.1.tgz"
- }
+ "dev": true
},
"minimist": {
- "version": "https://registry.npmjs.org/minimist/-/minimist-0.2.0.tgz",
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.2.0.tgz",
"integrity": "sha1-Tf/lJdriuGTGbC4jxicdev3s784=",
"dev": true
},
"object-keys": {
- "version": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz",
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz",
"integrity": "sha1-KKaq50KN0sOpLz2V8hM13SBOAzY=",
"dev": true
},
"readable-stream": {
- "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "version": "1.0.34",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
"integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
- "dev": true,
- "requires": {
- "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
- "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
- "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
- }
+ "dev": true
},
"string_decoder": {
- "version": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "version": "0.10.31",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
"dev": true
},
"strip-ansi": {
- "version": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz",
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz",
"integrity": "sha1-JfSOoiynkYfzF0pNuHWTR7sSYiA=",
- "dev": true,
- "requires": {
- "ansi-regex": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz"
- }
+ "dev": true
},
"supports-color": {
- "version": "https://registry.npmjs.org/supports-color/-/supports-color-0.2.0.tgz",
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-0.2.0.tgz",
"integrity": "sha1-2S3iaU6z9nMjlz1649i1W0wiGQo=",
"dev": true
},
"through2": {
- "version": "https://registry.npmjs.org/through2/-/through2-0.4.2.tgz",
+ "version": "0.4.2",
+ "resolved": "https://registry.npmjs.org/through2/-/through2-0.4.2.tgz",
"integrity": "sha1-2/WGYDEVHsg1K7bE22SiKSqEC5s=",
"dev": true,
- "requires": {
- "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
- "xtend": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz"
- },
"dependencies": {
"xtend": {
- "version": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz",
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz",
"integrity": "sha1-bv7MKk2tjmlixJAbM3znuoe10os=",
- "dev": true,
- "requires": {
- "object-keys": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz"
- }
+ "dev": true
}
}
},
"vinyl": {
- "version": "https://registry.npmjs.org/vinyl/-/vinyl-0.2.3.tgz",
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.2.3.tgz",
"integrity": "sha1-vKk4IJWC7FpJrVOKAPofEl5RMlI=",
- "dev": true,
- "requires": {
- "clone-stats": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz"
- }
+ "dev": true
},
"xtend": {
- "version": "https://registry.npmjs.org/xtend/-/xtend-3.0.0.tgz",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/xtend/-/xtend-3.0.0.tgz",
"integrity": "sha1-XM50B7r2Qsunvs2laBEcST9ZZlo=",
"dev": true
}
}
},
"gulp-concat": {
- "version": "https://registry.npmjs.org/gulp-concat/-/gulp-concat-2.6.1.tgz",
+ "version": "2.6.1",
+ "resolved": "https://registry.npmjs.org/gulp-concat/-/gulp-concat-2.6.1.tgz",
"integrity": "sha1-Yz0WyV2IUEYorQJmVmPO5aR5M1M=",
- "dev": true,
- "requires": {
- "concat-with-sourcemaps": "https://registry.npmjs.org/concat-with-sourcemaps/-/concat-with-sourcemaps-1.0.5.tgz",
- "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
- "vinyl": "https://registry.npmjs.org/vinyl/-/vinyl-2.1.0.tgz"
- }
+ "dev": true
},
"gulp-connect": {
- "version": "https://registry.npmjs.org/gulp-connect/-/gulp-connect-5.0.0.tgz",
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/gulp-connect/-/gulp-connect-5.0.0.tgz",
"integrity": "sha1-8v3zBq6RFGg2jCKF8teC8T7dr04=",
"dev": true,
- "requires": {
- "connect": "https://registry.npmjs.org/connect/-/connect-2.30.2.tgz",
- "connect-livereload": "https://registry.npmjs.org/connect-livereload/-/connect-livereload-0.5.4.tgz",
- "event-stream": "https://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz",
- "gulp-util": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz",
- "tiny-lr": "https://registry.npmjs.org/tiny-lr/-/tiny-lr-0.2.1.tgz"
- },
"dependencies": {
"body-parser": {
- "version": "https://registry.npmjs.org/body-parser/-/body-parser-1.14.2.tgz",
+ "version": "1.14.2",
+ "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.14.2.tgz",
"integrity": "sha1-EBXLH+LEQ4WCWVgdtTMy+NDPUPk=",
"dev": true,
- "requires": {
- "bytes": "https://registry.npmjs.org/bytes/-/bytes-2.2.0.tgz",
- "content-type": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
- "debug": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
- "depd": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
- "http-errors": "https://registry.npmjs.org/http-errors/-/http-errors-1.3.1.tgz",
- "iconv-lite": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.13.tgz",
- "on-finished": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
- "qs": "https://registry.npmjs.org/qs/-/qs-5.2.0.tgz",
- "raw-body": "https://registry.npmjs.org/raw-body/-/raw-body-2.1.7.tgz",
- "type-is": "1.6.15"
- },
"dependencies": {
"qs": {
- "version": "https://registry.npmjs.org/qs/-/qs-5.2.0.tgz",
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-5.2.0.tgz",
"integrity": "sha1-qfMRQq9GjLcrJbMBNrokVoNJFr4=",
"dev": true
}
}
},
"bytes": {
- "version": "https://registry.npmjs.org/bytes/-/bytes-2.2.0.tgz",
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-2.2.0.tgz",
"integrity": "sha1-/TVGSkA/b5EXwt42Cez/nK4ABYg=",
"dev": true
},
"debug": {
- "version": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
"integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
- "dev": true,
- "requires": {
- "ms": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz"
- }
+ "dev": true
},
"depd": {
- "version": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
"integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=",
"dev": true
},
"iconv-lite": {
- "version": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.13.tgz",
+ "version": "0.4.13",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.13.tgz",
"integrity": "sha1-H4irpKsLFQjoMSrMOTRfNumS4vI=",
"dev": true
},
"ms": {
- "version": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
+ "version": "0.7.1",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
"integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=",
"dev": true
},
"qs": {
- "version": "https://registry.npmjs.org/qs/-/qs-5.1.0.tgz",
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-5.1.0.tgz",
"integrity": "sha1-TZMuXH6kEcynajEtOaYGIA/VDNk=",
"dev": true
},
"raw-body": {
- "version": "https://registry.npmjs.org/raw-body/-/raw-body-2.1.7.tgz",
+ "version": "2.1.7",
+ "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.1.7.tgz",
"integrity": "sha1-rf6s4uT7MJgFgBTQjActzFl1h3Q=",
"dev": true,
- "requires": {
- "bytes": "https://registry.npmjs.org/bytes/-/bytes-2.4.0.tgz",
- "iconv-lite": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.13.tgz",
- "unpipe": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz"
- },
"dependencies": {
"bytes": {
- "version": "https://registry.npmjs.org/bytes/-/bytes-2.4.0.tgz",
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-2.4.0.tgz",
"integrity": "sha1-fZcZb51br39pNeJZhVSe3SpsIzk=",
"dev": true
}
}
},
"tiny-lr": {
- "version": "https://registry.npmjs.org/tiny-lr/-/tiny-lr-0.2.1.tgz",
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/tiny-lr/-/tiny-lr-0.2.1.tgz",
"integrity": "sha1-s/26gC5dVqM8L28QeUsy5Hescp0=",
- "dev": true,
- "requires": {
- "body-parser": "https://registry.npmjs.org/body-parser/-/body-parser-1.14.2.tgz",
- "debug": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
- "faye-websocket": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz",
- "livereload-js": "https://registry.npmjs.org/livereload-js/-/livereload-js-2.3.0.tgz",
- "parseurl": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz",
- "qs": "https://registry.npmjs.org/qs/-/qs-5.1.0.tgz"
- }
+ "dev": true
}
}
},
"gulp-documentation": {
- "version": "https://registry.npmjs.org/gulp-documentation/-/gulp-documentation-3.2.1.tgz",
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/gulp-documentation/-/gulp-documentation-3.2.1.tgz",
"integrity": "sha1-r1JKv9cuI+cVXwCyoYoHo2QqjdU=",
- "dev": true,
- "requires": {
- "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
- "vinyl": "https://registry.npmjs.org/vinyl/-/vinyl-2.1.0.tgz"
- }
+ "dev": true
},
"gulp-eslint": {
- "version": "https://registry.npmjs.org/gulp-eslint/-/gulp-eslint-4.0.2.tgz",
- "integrity": "sha1-GKKmdo5EBMvz4gMjnLV0dBaPpgY=",
- "dev": true,
- "requires": {
- "eslint": "4.17.0",
- "fancy-log": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.2.tgz",
- "plugin-error": "https://registry.npmjs.org/plugin-error/-/plugin-error-1.0.1.tgz"
- }
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/gulp-eslint/-/gulp-eslint-4.0.2.tgz",
+ "integrity": "sha512-fcFUQzFsN6dJ6KZlG+qPOEkqfcevRUXgztkYCvhNvJeSvOicC8ucutN4qR/ID8LmNZx9YPIkBzazTNnVvbh8wg==",
+ "dev": true
},
"gulp-footer": {
- "version": "https://registry.npmjs.org/gulp-footer/-/gulp-footer-1.1.2.tgz",
- "integrity": "sha1-f+KDJOxn49YY0x4PXqLuW0VPaHc=",
- "dev": true,
- "requires": {
- "event-stream": "https://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz",
- "lodash._reescape": "https://registry.npmjs.org/lodash._reescape/-/lodash._reescape-3.0.0.tgz",
- "lodash._reevaluate": "https://registry.npmjs.org/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz",
- "lodash._reinterpolate": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz",
- "lodash.template": "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz"
- }
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/gulp-footer/-/gulp-footer-1.1.2.tgz",
+ "integrity": "sha512-G6Z8DNNeIhq1KU++7kZnbuwbvCubkUMOVADOt+0qTHSIqjy2OPo1W4bu4n1aE9JGZncuRTvVQrYecGx2uazlpg==",
+ "dev": true
},
"gulp-header": {
- "version": "https://registry.npmjs.org/gulp-header/-/gulp-header-1.8.9.tgz",
- "integrity": "sha1-yfEP7gYy2B6Tl4nG7PRaFRvzCYs=",
+ "version": "1.8.12",
+ "resolved": "https://registry.npmjs.org/gulp-header/-/gulp-header-1.8.12.tgz",
+ "integrity": "sha512-lh9HLdb53sC7XIZOYzTXM4lFuXElv3EVkSDhsd7DoJBj7hm+Ni7D3qYbb+Rr8DuM8nRanBvkVO9d7askreXGnQ==",
"dev": true,
- "requires": {
- "concat-with-sourcemaps": "https://registry.npmjs.org/concat-with-sourcemaps/-/concat-with-sourcemaps-1.0.5.tgz",
- "gulp-util": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz",
- "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
- "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz"
+ "dependencies": {
+ "lodash.template": {
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.4.0.tgz",
+ "integrity": "sha1-5zoDhcg1VZF0bgILmWecaQ5o+6A=",
+ "dev": true
+ },
+ "lodash.templatesettings": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.1.0.tgz",
+ "integrity": "sha1-K01OlbpEDZFf8IvImeRVNmZxMxY=",
+ "dev": true
+ }
}
},
"gulp-if": {
- "version": "https://registry.npmjs.org/gulp-if/-/gulp-if-2.0.2.tgz",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/gulp-if/-/gulp-if-2.0.2.tgz",
"integrity": "sha1-pJe351cwBQQcqivIt92jyARE1ik=",
- "dev": true,
- "requires": {
- "gulp-match": "https://registry.npmjs.org/gulp-match/-/gulp-match-1.0.3.tgz",
- "ternary-stream": "https://registry.npmjs.org/ternary-stream/-/ternary-stream-2.0.1.tgz",
- "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz"
- }
+ "dev": true
},
"gulp-js-escape": {
- "version": "https://registry.npmjs.org/gulp-js-escape/-/gulp-js-escape-1.0.1.tgz",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/gulp-js-escape/-/gulp-js-escape-1.0.1.tgz",
"integrity": "sha1-HNRF+9AJ4Np2lZoDp/SbNWav+Gg=",
"dev": true,
- "requires": {
- "through2": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz"
- },
"dependencies": {
"isarray": {
- "version": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
"integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
"dev": true
},
"readable-stream": {
- "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "version": "1.0.34",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
"integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
- "dev": true,
- "requires": {
- "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
- "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
- "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
- }
+ "dev": true
},
"string_decoder": {
- "version": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "version": "0.10.31",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
"dev": true
},
"through2": {
- "version": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
+ "version": "0.6.5",
+ "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
"integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
- "dev": true,
- "requires": {
- "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
- "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
- }
+ "dev": true
}
}
},
"gulp-match": {
- "version": "https://registry.npmjs.org/gulp-match/-/gulp-match-1.0.3.tgz",
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/gulp-match/-/gulp-match-1.0.3.tgz",
"integrity": "sha1-kcfA1/Kb7NZgbVfYCn+Hdqh6uo4=",
- "dev": true,
- "requires": {
- "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz"
- }
+ "dev": true
},
"gulp-optimize-js": {
- "version": "https://registry.npmjs.org/gulp-optimize-js/-/gulp-optimize-js-1.1.0.tgz",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/gulp-optimize-js/-/gulp-optimize-js-1.1.0.tgz",
"integrity": "sha1-X9FcaLNvbh5zh3hPhXhDX3VpYkU=",
- "dev": true,
- "requires": {
- "gulp-util": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz",
- "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz",
- "optimize-js": "https://registry.npmjs.org/optimize-js/-/optimize-js-1.0.3.tgz",
- "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz"
- }
+ "dev": true
},
"gulp-rename": {
- "version": "https://registry.npmjs.org/gulp-rename/-/gulp-rename-1.2.2.tgz",
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/gulp-rename/-/gulp-rename-1.2.2.tgz",
"integrity": "sha1-OtRCh2PwXidk3sHGfYaNsnVoeBc=",
"dev": true
},
"gulp-replace": {
- "version": "https://registry.npmjs.org/gulp-replace/-/gulp-replace-0.4.0.tgz",
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/gulp-replace/-/gulp-replace-0.4.0.tgz",
"integrity": "sha1-4ivJwD6dBRsyiBzFib0+jE5UFoo=",
"dev": true,
- "requires": {
- "event-stream": "https://registry.npmjs.org/event-stream/-/event-stream-3.0.20.tgz",
- "istextorbinary": "https://registry.npmjs.org/istextorbinary/-/istextorbinary-1.0.2.tgz",
- "replacestream": "https://registry.npmjs.org/replacestream/-/replacestream-0.1.3.tgz"
- },
"dependencies": {
"event-stream": {
- "version": "https://registry.npmjs.org/event-stream/-/event-stream-3.0.20.tgz",
+ "version": "3.0.20",
+ "resolved": "http://registry.npmjs.org/event-stream/-/event-stream-3.0.20.tgz",
"integrity": "sha1-A4u7LqnqkDhbJvvBhU0LU58qvqM=",
- "dev": true,
- "requires": {
- "duplexer": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz",
- "from": "https://registry.npmjs.org/from/-/from-0.1.7.tgz",
- "map-stream": "https://registry.npmjs.org/map-stream/-/map-stream-0.0.7.tgz",
- "pause-stream": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz",
- "split": "https://registry.npmjs.org/split/-/split-0.2.10.tgz",
- "stream-combiner": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz",
- "through": "https://registry.npmjs.org/through/-/through-2.3.8.tgz"
- }
+ "dev": true
},
"map-stream": {
- "version": "https://registry.npmjs.org/map-stream/-/map-stream-0.0.7.tgz",
+ "version": "0.0.7",
+ "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.0.7.tgz",
"integrity": "sha1-ih8HiW2CsQkmvTdEokIACfiJdKg=",
"dev": true
},
"split": {
- "version": "https://registry.npmjs.org/split/-/split-0.2.10.tgz",
+ "version": "0.2.10",
+ "resolved": "https://registry.npmjs.org/split/-/split-0.2.10.tgz",
"integrity": "sha1-Zwl8YB1pfOE2j0GPBs0gHPBSGlc=",
- "dev": true,
- "requires": {
- "through": "https://registry.npmjs.org/through/-/through-2.3.8.tgz"
- }
+ "dev": true
}
}
},
"gulp-shell": {
- "version": "https://registry.npmjs.org/gulp-shell/-/gulp-shell-0.5.2.tgz",
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/gulp-shell/-/gulp-shell-0.5.2.tgz",
"integrity": "sha1-pJWcoGUa0ce7/nCy0K27tOGuqY0=",
- "dev": true,
- "requires": {
- "async": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
- "gulp-util": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz",
- "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz",
- "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz"
- }
+ "dev": true
},
"gulp-sourcemaps": {
- "version": "https://registry.npmjs.org/gulp-sourcemaps/-/gulp-sourcemaps-2.6.4.tgz",
- "integrity": "sha1-y7IAhFCxvM5s0jv5gze+dRv24wo=",
- "requires": {
- "@gulp-sourcemaps/identity-map": "https://registry.npmjs.org/@gulp-sourcemaps/identity-map/-/identity-map-1.0.1.tgz",
- "@gulp-sourcemaps/map-sources": "https://registry.npmjs.org/@gulp-sourcemaps/map-sources/-/map-sources-1.0.0.tgz",
- "acorn": "5.4.1",
- "convert-source-map": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz",
- "css": "https://registry.npmjs.org/css/-/css-2.2.1.tgz",
- "debug-fabulous": "https://registry.npmjs.org/debug-fabulous/-/debug-fabulous-1.0.0.tgz",
- "detect-newline": "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz",
- "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
- "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "strip-bom-string": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz",
- "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz"
- }
+ "version": "2.6.4",
+ "resolved": "https://registry.npmjs.org/gulp-sourcemaps/-/gulp-sourcemaps-2.6.4.tgz",
+ "integrity": "sha1-y7IAhFCxvM5s0jv5gze+dRv24wo="
},
"gulp-uglify": {
- "version": "https://registry.npmjs.org/gulp-uglify/-/gulp-uglify-3.0.0.tgz",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/gulp-uglify/-/gulp-uglify-3.0.0.tgz",
"integrity": "sha1-DfAzHXKg0wLj434QlIXd3zPG0co=",
"dev": true,
- "requires": {
- "gulplog": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz",
- "has-gulplog": "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz",
- "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz",
- "make-error-cause": "https://registry.npmjs.org/make-error-cause/-/make-error-cause-1.2.2.tgz",
- "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
- "uglify-js": "3.3.10",
- "vinyl-sourcemaps-apply": "https://registry.npmjs.org/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz"
- },
"dependencies": {
"uglify-js": {
- "version": "3.3.10",
- "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.3.10.tgz",
- "integrity": "sha512-dNib7aUDNZFJNTXFyq0CDmLRVOsnY1F+IQgt2FAOdZFx2+LvKVLbbIb/fL+BYKCv3YH3bPCE/6M/JaxChtQLHQ==",
- "dev": true,
- "requires": {
- "commander": "https://registry.npmjs.org/commander/-/commander-2.14.1.tgz",
- "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz"
- }
+ "version": "3.3.22",
+ "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.3.22.tgz",
+ "integrity": "sha512-tqw96rL6/BG+7LM5VItdhDjTQmL5zG/I0b2RqWytlgeHe2eydZHuBHdA9vuGpCDhH/ZskNGcqDhivoR2xt8RIw==",
+ "dev": true
}
}
},
"gulp-util": {
- "version": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz",
+ "version": "3.0.8",
+ "resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz",
"integrity": "sha1-AFTh50RQLifATBh8PsxQXdVLu08=",
"dev": true,
- "requires": {
- "array-differ": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz",
- "array-uniq": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
- "beeper": "https://registry.npmjs.org/beeper/-/beeper-1.1.1.tgz",
- "chalk": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "dateformat": "https://registry.npmjs.org/dateformat/-/dateformat-2.2.0.tgz",
- "fancy-log": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.2.tgz",
- "gulplog": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz",
- "has-gulplog": "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz",
- "lodash._reescape": "https://registry.npmjs.org/lodash._reescape/-/lodash._reescape-3.0.0.tgz",
- "lodash._reevaluate": "https://registry.npmjs.org/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz",
- "lodash._reinterpolate": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz",
- "lodash.template": "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz",
- "minimist": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
- "multipipe": "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz",
- "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz",
- "replace-ext": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz",
- "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
- "vinyl": "https://registry.npmjs.org/vinyl/-/vinyl-0.5.3.tgz"
- },
"dependencies": {
"clone": {
- "version": "https://registry.npmjs.org/clone/-/clone-1.0.3.tgz",
- "integrity": "sha1-KY1+IjFmD0DAA8LtMUDezz9TCF8=",
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
+ "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=",
"dev": true
},
"clone-stats": {
- "version": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz",
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz",
"integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=",
"dev": true
},
"minimist": {
- "version": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
"integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
"dev": true
},
"object-assign": {
- "version": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz",
"integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=",
"dev": true
},
"replace-ext": {
- "version": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz",
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz",
"integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=",
"dev": true
},
"vinyl": {
- "version": "https://registry.npmjs.org/vinyl/-/vinyl-0.5.3.tgz",
+ "version": "0.5.3",
+ "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.5.3.tgz",
"integrity": "sha1-sEVbOPxeDPMNQyUTLkYZcMIJHN4=",
- "dev": true,
- "requires": {
- "clone": "https://registry.npmjs.org/clone/-/clone-1.0.3.tgz",
- "clone-stats": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz",
- "replace-ext": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz"
- }
+ "dev": true
}
}
},
"gulp-webdriver": {
- "version": "https://registry.npmjs.org/gulp-webdriver/-/gulp-webdriver-1.0.3.tgz",
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/gulp-webdriver/-/gulp-webdriver-1.0.3.tgz",
"integrity": "sha1-mM6Bz5rganoZB7htEPaThvQ4Oi0=",
"dev": true,
- "requires": {
- "dargs": "git://github.com/christian-bromann/dargs.git#7d6d4164a7c4106dbd14ef39ed8d95b7b5e9b770",
- "deepmerge": "https://registry.npmjs.org/deepmerge/-/deepmerge-0.2.10.tgz",
- "gulp-util": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz",
- "through2": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
- "webdriverio": "https://registry.npmjs.org/webdriverio/-/webdriverio-3.4.0.tgz"
- },
"dependencies": {
- "dargs": {
- "version": "git://github.com/christian-bromann/dargs.git#7d6d4164a7c4106dbd14ef39ed8d95b7b5e9b770",
- "dev": true,
- "requires": {
- "number-is-nan": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz"
- }
- },
"isarray": {
- "version": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
"integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
"dev": true
},
"readable-stream": {
- "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "version": "1.0.34",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
"integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
- "dev": true,
- "requires": {
- "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
- "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
- "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
- }
+ "dev": true
},
"string_decoder": {
- "version": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "version": "0.10.31",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
"dev": true
},
"through2": {
- "version": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
+ "version": "0.6.5",
+ "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
"integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
- "dev": true,
- "requires": {
- "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
- "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
- }
+ "dev": true
}
}
},
"gulplog": {
- "version": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz",
"integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=",
- "dev": true,
- "requires": {
- "glogg": "https://registry.npmjs.org/glogg/-/glogg-1.0.1.tgz"
- }
+ "dev": true
},
"handlebars": {
- "version": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.11.tgz",
+ "version": "4.0.11",
+ "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.11.tgz",
"integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=",
"dev": true,
- "requires": {
- "async": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
- "optimist": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz",
- "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz",
- "uglify-js": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz"
- },
"dependencies": {
"source-map": {
- "version": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz",
+ "version": "0.4.4",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz",
"integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=",
- "dev": true,
- "requires": {
- "amdefine": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz"
- }
+ "dev": true
}
}
},
- "har-schema": {
- "version": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz",
- "integrity": "sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4=",
- "dev": true
- },
"har-validator": {
- "version": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz",
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz",
"integrity": "sha1-zcvAgYgmWtEZtqWnyKtw7s+10n0=",
- "dev": true,
- "requires": {
- "chalk": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "commander": "https://registry.npmjs.org/commander/-/commander-2.14.1.tgz",
- "is-my-json-valid": "2.17.1",
- "pinkie-promise": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz"
- }
+ "dev": true
},
"has": {
- "version": "https://registry.npmjs.org/has/-/has-1.0.1.tgz",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/has/-/has-1.0.1.tgz",
"integrity": "sha1-hGFzP1OLCDfJNh45qauelwTcLyg=",
- "dev": true,
- "requires": {
- "function-bind": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz"
- }
+ "dev": true
},
"has-ansi": {
- "version": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
"integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
- "dev": true,
- "requires": {
- "ansi-regex": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz"
- }
+ "dev": true
},
"has-binary2": {
- "version": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.2.tgz",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.2.tgz",
"integrity": "sha1-6D26SfC5vk0CbSc2U1DZ8D9Uvpg=",
"dev": true,
- "requires": {
- "isarray": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz"
- },
"dependencies": {
"isarray": {
- "version": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz",
"integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=",
"dev": true
}
}
},
"has-cors": {
- "version": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz",
"integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=",
"dev": true
},
"has-flag": {
- "version": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
"integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
"dev": true
},
"has-gulplog": {
- "version": "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz",
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz",
"integrity": "sha1-ZBTIKRNpfaUVkDl9r7EvIpZ4Ec4=",
- "dev": true,
- "requires": {
- "sparkles": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.0.tgz"
- }
+ "dev": true
},
"has-symbols": {
- "version": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz",
"integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=",
"dev": true
},
"has-value": {
- "version": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
"integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
- "dev": true,
- "requires": {
- "get-value": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
- "has-values": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
- "isobject": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz"
- }
+ "dev": true
},
"has-values": {
- "version": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
"integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
"dev": true,
- "requires": {
- "is-number": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
- "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz"
- },
"dependencies": {
"kind-of": {
- "version": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
"integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
- "dev": true,
- "requires": {
- "is-buffer": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz"
- }
+ "dev": true
}
}
},
"hash-base": {
- "version": "https://registry.npmjs.org/hash-base/-/hash-base-2.0.2.tgz",
- "integrity": "sha1-ZuodhW206KVHDK32/OI65SRO8uE=",
- "dev": true,
- "requires": {
- "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz"
- }
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz",
+ "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=",
+ "dev": true
},
"hash.js": {
- "version": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz",
- "integrity": "sha1-NA3tvmKQGHFRweodd3o0SJNd+EY=",
- "dev": true,
- "requires": {
- "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "minimalistic-assert": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz"
- }
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz",
+ "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==",
+ "dev": true
},
"hast-util-is-element": {
- "version": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-1.0.0.tgz",
"integrity": "sha1-P3IWl4sq4U2YdJh4eCZ18zvjzgA=",
"dev": true
},
"hast-util-sanitize": {
- "version": "https://registry.npmjs.org/hast-util-sanitize/-/hast-util-sanitize-1.1.2.tgz",
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/hast-util-sanitize/-/hast-util-sanitize-1.1.2.tgz",
"integrity": "sha1-0QvWdXoh5ZwTq8iuNTDdO219Z54=",
- "dev": true,
- "requires": {
- "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
- }
+ "dev": true
},
"hast-util-to-html": {
- "version": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-3.1.0.tgz",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-3.1.0.tgz",
"integrity": "sha1-iCyZhJ5AEw6ZHAQuRW1FPZXDbP8=",
- "dev": true,
- "requires": {
- "ccount": "https://registry.npmjs.org/ccount/-/ccount-1.0.2.tgz",
- "comma-separated-tokens": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-1.0.4.tgz",
- "hast-util-is-element": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-1.0.0.tgz",
- "hast-util-whitespace": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-1.0.0.tgz",
- "html-void-elements": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-1.0.2.tgz",
- "kebab-case": "https://registry.npmjs.org/kebab-case/-/kebab-case-1.0.0.tgz",
- "property-information": "https://registry.npmjs.org/property-information/-/property-information-3.2.0.tgz",
- "space-separated-tokens": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-1.1.1.tgz",
- "stringify-entities": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-1.3.1.tgz",
- "unist-util-is": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-2.1.1.tgz",
- "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
- }
+ "dev": true
},
"hast-util-whitespace": {
- "version": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-1.0.0.tgz",
"integrity": "sha1-vQlpGWJdKTbh/xe8Tff9cn8X7Ok=",
"dev": true
},
"hawk": {
- "version": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz",
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz",
"integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=",
- "dev": true,
- "requires": {
- "boom": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz",
- "cryptiles": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz",
- "hoek": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz",
- "sntp": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz"
- }
+ "dev": true
},
"highlight.js": {
- "version": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.12.0.tgz",
+ "version": "9.12.0",
+ "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.12.0.tgz",
"integrity": "sha1-5tnb5Xy+/mB1HwKvM2GVhwyQwB4=",
"dev": true
},
"hipchat-notifier": {
- "version": "https://registry.npmjs.org/hipchat-notifier/-/hipchat-notifier-1.1.0.tgz",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/hipchat-notifier/-/hipchat-notifier-1.1.0.tgz",
"integrity": "sha1-ttJJdVQ3wZEII2d5nTupoPI7Ix4=",
"dev": true,
- "optional": true,
- "requires": {
- "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz",
- "request": "https://registry.npmjs.org/request/-/request-2.79.0.tgz"
- }
+ "optional": true
},
"hmac-drbg": {
- "version": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz",
"integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=",
- "dev": true,
- "requires": {
- "hash.js": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz",
- "minimalistic-assert": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz",
- "minimalistic-crypto-utils": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz"
- }
+ "dev": true
},
"hoek": {
- "version": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz",
+ "version": "2.16.3",
+ "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz",
"integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=",
"dev": true
},
"home-or-tmp": {
- "version": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz",
"integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=",
- "dev": true,
- "requires": {
- "os-homedir": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
- "os-tmpdir": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz"
- }
+ "dev": true
},
"homedir-polyfill": {
- "version": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz",
"integrity": "sha1-TCu8inWJmP7r9e1oWA921GdotLw=",
- "dev": true,
- "requires": {
- "parse-passwd": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz"
- }
+ "dev": true
},
"hosted-git-info": {
- "version": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.5.0.tgz",
- "integrity": "sha1-bWDjSzq7yDEwYsO3mO+NkBoHrzw=",
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.6.0.tgz",
+ "integrity": "sha512-lIbgIIQA3lz5XaB6vxakj6sDHADJiZadYEJB+FgA+C4nubM1NwcuvUr9EJPmnH1skZqpqUzWborWo8EIUi0Sdw==",
"dev": true
},
"html-void-elements": {
- "version": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-1.0.2.tgz",
- "integrity": "sha1-nSLgyjKsyVs/RbjVtPb73AWv/VU=",
- "dev": true
- },
- "htmlescape": {
- "version": "https://registry.npmjs.org/htmlescape/-/htmlescape-1.1.1.tgz",
- "integrity": "sha1-OgPtwiFLyjtmQko+eVk0lQnLA1E=",
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-1.0.3.tgz",
+ "integrity": "sha512-SaGhCDPXJVNrQyKMtKy24q6IMdXg5FCPN3z+xizxw9l+oXQw5fOoaj/ERU5KqWhSYhXtW5bWthlDbTDLBhJQrA==",
"dev": true
},
"http-errors": {
- "version": "https://registry.npmjs.org/http-errors/-/http-errors-1.3.1.tgz",
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.3.1.tgz",
"integrity": "sha1-GX4izevUGYWF6GlO9nhhl7ke2UI=",
- "dev": true,
- "requires": {
- "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "statuses": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz"
- }
+ "dev": true
},
"http-parser-js": {
- "version": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.10.tgz",
- "integrity": "sha1-ksnBN0w1CF912zWexWzCV8u5P6Q=",
+ "version": "0.4.11",
+ "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.11.tgz",
+ "integrity": "sha512-QCR5O2AjjMW8Mo4HyI1ctFcv+O99j/0g367V3YoVnrNw5hkDvAWZD0lWGcc+F4yN3V55USPCVix4efb75HxFfA==",
"dev": true
},
"http-proxy": {
- "version": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.16.2.tgz",
- "integrity": "sha1-Bt/ykpUr9k2+hHH6nfcwZtTzd0I=",
- "dev": true,
- "requires": {
- "eventemitter3": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-1.2.0.tgz",
- "requires-port": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz"
- }
+ "version": "1.17.0",
+ "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.17.0.tgz",
+ "integrity": "sha512-Taqn+3nNvYRfJ3bGvKfBSRwy1v6eePlm3oc/aWVxZp57DQr5Eq3xhKJi7Z4hZpS8PC3H4qI+Yly5EmFacGuA/g==",
+ "dev": true
},
"http-proxy-agent": {
- "version": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-1.0.0.tgz",
"integrity": "sha1-zBzjjkU7+YSg93AtLdWcc9CBKEo=",
"dev": true,
- "requires": {
- "agent-base": "https://registry.npmjs.org/agent-base/-/agent-base-2.1.1.tgz",
- "debug": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "extend": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz"
- },
"dependencies": {
"debug": {
- "version": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
- "dev": true,
- "requires": {
- "ms": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"
- }
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true
}
}
},
"http-signature": {
- "version": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz",
"integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=",
- "dev": true,
- "requires": {
- "assert-plus": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz",
- "jsprim": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
- "sshpk": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz"
- }
+ "dev": true
},
"httpntlm": {
- "version": "https://registry.npmjs.org/httpntlm/-/httpntlm-1.6.1.tgz",
+ "version": "1.6.1",
+ "resolved": "https://registry.npmjs.org/httpntlm/-/httpntlm-1.6.1.tgz",
"integrity": "sha1-rQFScUOi6Hc8+uapb1hla7UqNLI=",
- "dev": true,
- "requires": {
- "httpreq": "https://registry.npmjs.org/httpreq/-/httpreq-0.4.24.tgz",
- "underscore": "https://registry.npmjs.org/underscore/-/underscore-1.7.0.tgz"
- }
+ "dev": true
},
"httpreq": {
- "version": "https://registry.npmjs.org/httpreq/-/httpreq-0.4.24.tgz",
+ "version": "0.4.24",
+ "resolved": "https://registry.npmjs.org/httpreq/-/httpreq-0.4.24.tgz",
"integrity": "sha1-QzX/2CzZaWaKOUZckprGHWOTYn8=",
"dev": true
},
"https-browserify": {
- "version": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz",
"integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=",
"dev": true
},
"https-proxy-agent": {
- "version": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-1.0.0.tgz",
"integrity": "sha1-NffabEjOTdv6JkiRrFk+5f+GceY=",
"dev": true,
- "requires": {
- "agent-base": "https://registry.npmjs.org/agent-base/-/agent-base-2.1.1.tgz",
- "debug": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "extend": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz"
- },
"dependencies": {
"debug": {
- "version": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
- "dev": true,
- "requires": {
- "ms": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"
- }
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true
}
}
},
"iconv-lite": {
- "version": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.11.tgz",
+ "version": "0.4.11",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.11.tgz",
"integrity": "sha1-LstC/SlHRJIiCaLnxATayHk9it4=",
"dev": true
},
"ieee754": {
- "version": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.8.tgz",
- "integrity": "sha1-vjPUCsEO8ZJnAfbwii2G+/0a0+Q=",
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.11.tgz",
+ "integrity": "sha512-VhDzCKN7K8ufStx/CLj5/PDTMgph+qwN5Pkd5i0sGnVwk56zJ0lkT8Qzi1xqWLS0Wp29DgDtNeS7v8/wMoZeHg==",
"dev": true
},
"ignore": {
- "version": "https://registry.npmjs.org/ignore/-/ignore-3.3.7.tgz",
- "integrity": "sha1-YSKJv7PCIOGGpYEYYY1b6MG6sCE=",
+ "version": "3.3.7",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.7.tgz",
+ "integrity": "sha512-YGG3ejvBNHRqu0559EOxxNFihD0AjpvHlC/pdGKd3X3ofe+CoJkYazwNJYTNebqpPKN+VVQbh4ZFn1DivMNuHA==",
"dev": true
},
"ignore-loader": {
- "version": "https://registry.npmjs.org/ignore-loader/-/ignore-loader-0.1.2.tgz",
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/ignore-loader/-/ignore-loader-0.1.2.tgz",
"integrity": "sha1-2B8kA3bQuk8Nd4lyw60lh0EXpGM=",
"dev": true
},
"imurmurhash": {
- "version": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
"integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
"dev": true
},
"indent-string": {
- "version": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz",
"integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=",
- "dev": true,
- "requires": {
- "repeating": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz"
- }
+ "dev": true
},
"indexof": {
- "version": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz",
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz",
"integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=",
"dev": true
},
"inflection": {
- "version": "https://registry.npmjs.org/inflection/-/inflection-1.10.0.tgz",
+ "version": "1.10.0",
+ "resolved": "https://registry.npmjs.org/inflection/-/inflection-1.10.0.tgz",
"integrity": "sha1-W//LEZetPoEFD44X4hZoCH7p6y8=",
"dev": true,
"optional": true
},
"inflight": {
- "version": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
"integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
- "dev": true,
- "requires": {
- "once": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
- "wrappy": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz"
- }
+ "dev": true
},
"inherits": {
- "version": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
"integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
},
"ini": {
- "version": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz",
- "integrity": "sha1-7uJfVtscnsYIXgwid4CD9Zar+Sc=",
+ "version": "1.3.5",
+ "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz",
+ "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==",
"dev": true
},
- "inline-source-map": {
- "version": "https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.6.2.tgz",
- "integrity": "sha1-+Tk0ccGKedFyT4Y/o4tYY3Ct4qU=",
- "dev": true,
- "requires": {
- "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz"
- },
- "dependencies": {
- "source-map": {
- "version": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
- "dev": true
- }
- }
- },
"inquirer": {
- "version": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz",
- "integrity": "sha1-ndLyrXZdyrH/BEO0kUQqILoifck=",
- "dev": true,
- "requires": {
- "ansi-escapes": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.0.0.tgz",
- "chalk": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz",
- "cli-cursor": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz",
- "cli-width": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz",
- "external-editor": "https://registry.npmjs.org/external-editor/-/external-editor-2.1.0.tgz",
- "figures": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz",
- "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz",
- "mute-stream": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz",
- "run-async": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz",
- "rx-lite": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz",
- "rx-lite-aggregates": "https://registry.npmjs.org/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz",
- "string-width": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
- "strip-ansi": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
- "through": "https://registry.npmjs.org/through/-/through-2.3.8.tgz"
- },
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz",
+ "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==",
+ "dev": true,
"dependencies": {
"ansi-regex": {
- "version": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
"integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
"dev": true
},
"ansi-styles": {
- "version": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
- "integrity": "sha1-wVm41b4PnlpvNG2rlPFs4CIWG4g=",
- "dev": true,
- "requires": {
- "color-convert": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz"
- }
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "dev": true
},
"chalk": {
- "version": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz",
- "integrity": "sha1-Uj/iZ4rsewToBBkJKS/osXBZt5Y=",
- "dev": true,
- "requires": {
- "ansi-styles": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
- "escape-string-regexp": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "supports-color": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz"
- }
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.0.tgz",
+ "integrity": "sha512-Wr/w0f4o9LuE7K53cD0qmbAMM+2XNLzR29vFn5hqko4sxGlUsyy363NvmyGIyk5tpe9cjTr9SJYbysEyPkRnFw==",
+ "dev": true
},
"is-fullwidth-code-point": {
- "version": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
"integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
"dev": true
},
"string-width": {
- "version": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
- "integrity": "sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4=",
- "dev": true,
- "requires": {
- "is-fullwidth-code-point": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
- "strip-ansi": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz"
- }
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
+ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
+ "dev": true
},
"strip-ansi": {
- "version": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
"integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
- "dev": true,
- "requires": {
- "ansi-regex": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz"
- }
- },
- "supports-color": {
- "version": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz",
- "integrity": "sha1-sNUzOxGE3TZmy+WqC0XFrHrBeko=",
- "dev": true,
- "requires": {
- "has-flag": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz"
- }
- }
- }
- },
- "insert-module-globals": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-7.0.1.tgz",
- "integrity": "sha1-wDv04BywhtW15azorQr+eInWOMM=",
- "dev": true,
- "requires": {
- "JSONStream": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.2.tgz",
- "combine-source-map": "0.7.2",
- "concat-stream": "1.5.2",
- "is-buffer": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
- "lexical-scope": "https://registry.npmjs.org/lexical-scope/-/lexical-scope-1.2.0.tgz",
- "process": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
- "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
- "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
- },
- "dependencies": {
- "combine-source-map": {
- "version": "0.7.2",
- "resolved": "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.7.2.tgz",
- "integrity": "sha1-CHAxKFazB6h8xKxIbzqaYq7MwJ4=",
- "dev": true,
- "requires": {
- "convert-source-map": "1.1.3",
- "inline-source-map": "https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.6.2.tgz",
- "lodash.memoize": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-3.0.4.tgz",
- "source-map": "0.5.7"
- }
- },
- "concat-stream": {
- "version": "1.5.2",
- "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.2.tgz",
- "integrity": "sha1-cIl4Yk2FavQaWnQd790mHadSwmY=",
- "dev": true,
- "requires": {
- "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "readable-stream": "2.0.6",
- "typedarray": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz"
- }
- },
- "convert-source-map": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.3.tgz",
- "integrity": "sha1-SCnId+n+SbMWHzvzZziI4gRpmGA=",
- "dev": true
- },
- "process-nextick-args": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
- "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=",
- "dev": true
- },
- "readable-stream": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz",
- "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=",
- "dev": true,
- "requires": {
- "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
- "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "isarray": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "process-nextick-args": "1.0.7",
- "string_decoder": "0.10.31",
- "util-deprecate": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"
- }
- },
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
"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=",
+ "supports-color": {
+ "version": "5.4.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
+ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
"dev": true
}
}
},
"interpret": {
- "version": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz",
"integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=",
"dev": true
},
"invariant": {
- "version": "2.2.2",
- "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz",
- "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=",
- "dev": true,
- "requires": {
- "loose-envify": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz"
- }
+ "version": "2.2.4",
+ "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
+ "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
+ "dev": true
},
"invert-kv": {
- "version": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz",
"integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=",
"dev": true
},
"ip": {
- "version": "https://registry.npmjs.org/ip/-/ip-1.0.1.tgz",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/ip/-/ip-1.0.1.tgz",
"integrity": "sha1-x+NWzeoiWucbNtcPLnGpK6TkJZA=",
"dev": true
},
"is-absolute": {
- "version": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz",
- "integrity": "sha1-OV4a6EsR8mrReV5zwXN45IowFXY=",
- "dev": true,
- "requires": {
- "is-relative": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz",
- "is-windows": "1.0.1"
- }
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz",
+ "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==",
+ "dev": true
},
"is-accessor-descriptor": {
- "version": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
- "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=",
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
+ "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
"dev": true,
- "requires": {
- "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz"
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true
+ }
}
},
"is-alphabetical": {
- "version": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.1.tgz",
- "integrity": "sha1-x3B5zJHU76x3W+EDS/LSQ/lebwg=",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.2.tgz",
+ "integrity": "sha512-V0xN4BYezDHcBSKb1QHUFMlR4as/XEuCZBzMJUU4n7+Cbt33SmUnSol+pnXFvLxSHNq2CemUXNdaXV6Flg7+xg==",
"dev": true
},
"is-alphanumeric": {
- "version": "https://registry.npmjs.org/is-alphanumeric/-/is-alphanumeric-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-alphanumeric/-/is-alphanumeric-1.0.0.tgz",
"integrity": "sha1-Spzvcdr0wAHB2B1j0UDPU/1oifQ=",
"dev": true
},
"is-alphanumerical": {
- "version": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.1.tgz",
- "integrity": "sha1-37SqTRCF4zvbYcLe6cgOnGwZ9Ts=",
- "dev": true,
- "requires": {
- "is-alphabetical": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.1.tgz",
- "is-decimal": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.1.tgz"
- }
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.2.tgz",
+ "integrity": "sha512-pyfU/0kHdISIgslFfZN9nfY1Gk3MquQgUm1mJTjdkEPpkAKNWuBTSqFwewOpR7N351VkErCiyV71zX7mlQQqsg==",
+ "dev": true
},
"is-arrayish": {
- "version": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
"integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
"dev": true
},
"is-binary-path": {
- "version": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
"integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
- "dev": true,
- "requires": {
- "binary-extensions": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.11.0.tgz"
- }
+ "dev": true
},
"is-buffer": {
- "version": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
- "integrity": "sha1-76ouqdqg16suoTqXsritUf776L4=",
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
+ "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
"dev": true
},
"is-builtin-module": {
- "version": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz",
"integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=",
- "dev": true,
- "requires": {
- "builtin-modules": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz"
- }
+ "dev": true
},
"is-data-descriptor": {
- "version": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
- "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=",
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
+ "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
"dev": true,
- "requires": {
- "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz"
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true
+ }
}
},
"is-decimal": {
- "version": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.1.tgz",
- "integrity": "sha1-9ftqlJlq2ejjdh+/vQkfH8qMToI=",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.2.tgz",
+ "integrity": "sha512-TRzl7mOCchnhchN+f3ICUCzYvL9ul7R+TYOsZ8xia++knyZAJfv/uA1FvQXsAnYIl1T3B2X5E/J7Wb1QXiIBXg==",
"dev": true
},
"is-descriptor": {
- "version": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
- "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=",
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
+ "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
"dev": true,
- "requires": {
- "is-accessor-descriptor": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
- "is-data-descriptor": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
- "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz"
+ "dependencies": {
+ "kind-of": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
+ "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
+ "dev": true
+ }
}
},
"is-dotfile": {
- "version": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz",
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz",
"integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=",
"dev": true
},
"is-equal-shallow": {
- "version": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz",
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz",
"integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=",
- "dev": true,
- "requires": {
- "is-primitive": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz"
- }
+ "dev": true
},
"is-extendable": {
- "version": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
"integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
"dev": true
},
"is-extglob": {
- "version": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
"integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
"dev": true
},
"is-finite": {
- "version": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz",
"integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=",
- "dev": true,
- "requires": {
- "number-is-nan": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz"
- }
+ "dev": true
},
"is-fullwidth-code-point": {
- "version": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
"integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
- "dev": true,
- "requires": {
- "number-is-nan": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz"
- }
+ "dev": true
},
"is-generator": {
- "version": "https://registry.npmjs.org/is-generator/-/is-generator-1.0.3.tgz",
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/is-generator/-/is-generator-1.0.3.tgz",
"integrity": "sha1-wUwhBX7TbjKNuANHlmxpP4hjifM=",
"dev": true
},
"is-glob": {
- "version": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz",
"integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=",
- "dev": true,
- "requires": {
- "is-extglob": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz"
- }
+ "dev": true
},
"is-hexadecimal": {
- "version": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.1.tgz",
- "integrity": "sha1-bghLvJIGH7sJcexYts5tQE4k2mk=",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.2.tgz",
+ "integrity": "sha512-but/G3sapV3MNyqiDBLrOi4x8uCIw0RY3o/Vb5GT0sMFHrVV7731wFSVy41T5FO1og7G0gXLJh0MkgPRouko/A==",
+ "dev": true
+ },
+ "is-my-ip-valid": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-my-ip-valid/-/is-my-ip-valid-1.0.0.tgz",
+ "integrity": "sha512-gmh/eWXROncUzRnIa1Ubrt5b8ep/MGSnfAUI3aRp+sqTCs1tv1Isl8d8F6JmkN3dXKc3ehZMrtiPN9eL03NuaQ==",
"dev": true
},
"is-my-json-valid": {
- "version": "2.17.1",
- "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.17.1.tgz",
- "integrity": "sha512-Q2khNw+oBlWuaYvEEHtKSw/pCxD2L5Rc1C+UQme9X6JdRDh7m5D7HkozA0qa3DUkQ6VzCnEm8mVIQPyIRkI5sQ==",
- "dev": true,
- "requires": {
- "generate-function": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz",
- "generate-object-property": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz",
- "jsonpointer": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz",
- "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
- }
+ "version": "2.17.2",
+ "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.17.2.tgz",
+ "integrity": "sha512-IBhBslgngMQN8DDSppmgDv7RNrlFotuuDsKcrCP3+HbFaVivIBU7u9oiiErw8sH4ynx3+gOGQ3q2otkgiSi6kg==",
+ "dev": true
},
"is-negated-glob": {
- "version": "https://registry.npmjs.org/is-negated-glob/-/is-negated-glob-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-negated-glob/-/is-negated-glob-1.0.0.tgz",
"integrity": "sha1-aRC8pdqMleeEtXUbl2z1oQ/uNtI=",
"dev": true
},
"is-number": {
- "version": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
"integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
"dev": true,
- "requires": {
- "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz"
- },
"dependencies": {
"kind-of": {
- "version": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true,
- "requires": {
- "is-buffer": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz"
- }
+ "dev": true
}
}
},
"is-object": {
- "version": "https://registry.npmjs.org/is-object/-/is-object-1.0.1.tgz",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.1.tgz",
"integrity": "sha1-iVJojF7C/9awPsyF52ngKQMINHA=",
"dev": true
},
"is-odd": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-odd/-/is-odd-1.0.0.tgz",
- "integrity": "sha1-O4qTLrAos3dcObsJ6RdnrM22kIg=",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-odd/-/is-odd-2.0.0.tgz",
+ "integrity": "sha512-OTiixgpZAT1M4NHgS5IguFp/Vz2VI3U7Goh4/HA1adtwyLtSBrxYlcSYkhpAE07s4fKEcjrFxyvtQBND4vFQyQ==",
"dev": true,
- "requires": {
- "is-number": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz"
+ "dependencies": {
+ "is-number": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz",
+ "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==",
+ "dev": true
+ }
}
},
"is-path-cwd": {
- "version": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz",
"integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=",
"dev": true
},
"is-path-in-cwd": {
- "version": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz",
- "integrity": "sha1-ZHdYK4IU1gI0YJRWcAO+ip6sBNw=",
- "dev": true,
- "requires": {
- "is-path-inside": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz"
- }
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz",
+ "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==",
+ "dev": true
},
"is-path-inside": {
- "version": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz",
"integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=",
- "dev": true,
- "requires": {
- "path-is-inside": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz"
- }
+ "dev": true
},
"is-plain-obj": {
- "version": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz",
"integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=",
"dev": true
},
"is-plain-object": {
- "version": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
- "integrity": "sha1-LBY7P6+xtgbZ0Xko8FwqHDjgdnc=",
- "dev": true,
- "requires": {
- "isobject": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz"
- }
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
+ "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
+ "dev": true
},
"is-posix-bracket": {
- "version": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz",
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz",
"integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=",
"dev": true
},
"is-primitive": {
- "version": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz",
"integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=",
"dev": true
},
"is-promise": {
- "version": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz",
"integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o="
},
"is-property": {
- "version": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz",
"integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=",
"dev": true
},
"is-relative": {
- "version": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz",
- "integrity": "sha1-obtpNc6MXboei5dUubLcwCDiJg0=",
- "dev": true,
- "requires": {
- "is-unc-path": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz"
- }
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz",
+ "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==",
+ "dev": true
},
"is-resolvable": {
- "version": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz",
- "integrity": "sha1-+xj4fOH+uSUWnJpAfBkxijIG7Yg=",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz",
+ "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==",
"dev": true
},
"is-ssh": {
- "version": "https://registry.npmjs.org/is-ssh/-/is-ssh-1.3.0.tgz",
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/is-ssh/-/is-ssh-1.3.0.tgz",
"integrity": "sha1-6+oRaaJhTaOSpjdANmw84EnY3/Y=",
- "dev": true,
- "requires": {
- "protocols": "https://registry.npmjs.org/protocols/-/protocols-1.4.6.tgz"
- }
+ "dev": true
},
"is-stream": {
- "version": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
"integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
"dev": true
},
"is-typedarray": {
- "version": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
"integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
"dev": true
},
"is-unc-path": {
- "version": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz",
- "integrity": "sha1-1zHoiY7QkKEsNSrS6u1Qla0yLJ0=",
- "dev": true,
- "requires": {
- "unc-path-regex": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz"
- }
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz",
+ "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==",
+ "dev": true
},
"is-utf8": {
- "version": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz",
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz",
"integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=",
"dev": true
},
"is-valid-glob": {
- "version": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-1.0.0.tgz",
"integrity": "sha1-Kb8+/3Ab4tTTFdusw5vDn+j2Aao=",
"dev": true
},
"is-whitespace-character": {
- "version": "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.1.tgz",
- "integrity": "sha1-muAXbzKCtlRXoZks2whPil+DPjs=",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.2.tgz",
+ "integrity": "sha512-SzM+T5GKUCtLhlHFKt2SDAX2RFzfS6joT91F2/WSi9LxgFdsnhfPK/UIA+JhRR2xuyLdrCys2PiFDrtn1fU5hQ==",
"dev": true
},
"is-windows": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.1.tgz",
- "integrity": "sha1-MQ23D3QtJZoWo2kgK1GvhCMzENk=",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
+ "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
"dev": true
},
"is-word-character": {
- "version": "https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.1.tgz",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.1.tgz",
"integrity": "sha1-WgP6HqkazopusMfNdw64bWXIvvs=",
"dev": true
},
"isarray": {
- "version": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
"integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
},
"isbinaryfile": {
- "version": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.2.tgz",
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.2.tgz",
"integrity": "sha1-Sj6XTsDLqQBNP8bN5yCeppNopiE=",
"dev": true
},
"isexe": {
- "version": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
"integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
"dev": true
},
"isobject": {
- "version": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
"integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
"dev": true
},
"isstream": {
- "version": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
"integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
"dev": true
},
"istanbul": {
- "version": "https://registry.npmjs.org/istanbul/-/istanbul-0.4.5.tgz",
+ "version": "0.4.5",
+ "resolved": "https://registry.npmjs.org/istanbul/-/istanbul-0.4.5.tgz",
"integrity": "sha1-ZcfXPUxNqE1POsMQuRj7C4Azczs=",
"dev": true,
- "requires": {
- "abbrev": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz",
- "async": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
- "escodegen": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz",
- "esprima": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz",
- "glob": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
- "handlebars": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.11.tgz",
- "js-yaml": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.6.1.tgz",
- "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
- "nopt": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
- "once": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
- "resolve": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz",
- "supports-color": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
- "which": "https://registry.npmjs.org/which/-/which-1.3.0.tgz",
- "wordwrap": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz"
- },
"dependencies": {
"glob": {
- "version": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
+ "version": "5.0.15",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
"integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=",
- "dev": true,
- "requires": {
- "inflight": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
- "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
- "once": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
- "path-is-absolute": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz"
- }
+ "dev": true
},
"has-flag": {
- "version": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
"integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
"dev": true
},
"resolve": {
- "version": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz",
+ "version": "1.1.7",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz",
"integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=",
"dev": true
},
"supports-color": {
- "version": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
"integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
- "dev": true,
- "requires": {
- "has-flag": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz"
- }
+ "dev": true
}
}
},
"istanbul-api": {
- "version": "https://registry.npmjs.org/istanbul-api/-/istanbul-api-1.2.2.tgz",
- "integrity": "sha1-4XzVGd1exBQRl/JG/fOAt1SH87E=",
- "dev": true,
- "requires": {
- "async": "https://registry.npmjs.org/async/-/async-2.6.0.tgz",
- "fileset": "https://registry.npmjs.org/fileset/-/fileset-2.0.3.tgz",
- "istanbul-lib-coverage": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.1.2.tgz",
- "istanbul-lib-hook": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-1.1.0.tgz",
- "istanbul-lib-instrument": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.9.2.tgz",
- "istanbul-lib-report": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-1.1.3.tgz",
- "istanbul-lib-source-maps": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.3.tgz",
- "istanbul-reports": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-1.1.4.tgz",
- "js-yaml": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.10.0.tgz",
- "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
- "once": "https://registry.npmjs.org/once/-/once-1.4.0.tgz"
- },
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/istanbul-api/-/istanbul-api-1.3.1.tgz",
+ "integrity": "sha512-duj6AlLcsWNwUpfyfHt0nWIeRiZpuShnP40YTxOGQgtaN8fd6JYSxsvxUphTDy8V5MfDXo4s/xVCIIvVCO808g==",
+ "dev": true,
"dependencies": {
"async": {
- "version": "https://registry.npmjs.org/async/-/async-2.6.0.tgz",
- "integrity": "sha1-YaKau2/MAm/qd+VtHG7FOnlZUfQ=",
- "dev": true,
- "requires": {
- "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz"
- }
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/async/-/async-2.6.0.tgz",
+ "integrity": "sha512-xAfGg1/NTLBBKlHFmnd7PlmUW9KhVQIUuSrYem9xzFUZy13ScvtyGGejaae9iAVRiRq9+Cx7DPFaAAhCpyxyPw==",
+ "dev": true
},
"esprima": {
- "version": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz",
- "integrity": "sha1-RJnt3NERDgshi6zy+n9/WfVcqAQ=",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz",
+ "integrity": "sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw==",
"dev": true
},
"js-yaml": {
- "version": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.10.0.tgz",
- "integrity": "sha1-LnhEFka9RoLpY/IrbpKCPDCcYtw=",
- "dev": true,
- "requires": {
- "argparse": "1.0.9",
- "esprima": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz"
- }
+ "version": "3.11.0",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.11.0.tgz",
+ "integrity": "sha512-saJstZWv7oNeOyBh3+Dx1qWzhW0+e6/8eDzo7p5rDFqxntSztloLtuKu+Ejhtq82jsilwOIZYsCz+lIjthg1Hw==",
+ "dev": true
}
}
},
"istanbul-instrumenter-loader": {
- "version": "https://registry.npmjs.org/istanbul-instrumenter-loader/-/istanbul-instrumenter-loader-3.0.0.tgz",
- "integrity": "sha1-n1U5I7IjYLrJXmF6q6Aa3R99sLI=",
- "dev": true,
- "requires": {
- "convert-source-map": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz",
- "istanbul-lib-instrument": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.9.2.tgz",
- "loader-utils": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz",
- "schema-utils": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.3.0.tgz"
- }
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/istanbul-instrumenter-loader/-/istanbul-instrumenter-loader-3.0.1.tgz",
+ "integrity": "sha512-a5SPObZgS0jB/ixaKSMdn6n/gXSrK2S6q/UfRJBT3e6gQmVjwZROTODQsYW5ZNwOu78hG62Y3fWlebaVOL0C+w==",
+ "dev": true
},
"istanbul-lib-coverage": {
- "version": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.1.2.tgz",
- "integrity": "sha1-QRPI/2t6QKHvc1CwEBYzH2Ov3hQ=",
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.2.0.tgz",
+ "integrity": "sha512-GvgM/uXRwm+gLlvkWHTjDAvwynZkL9ns15calTrmhGgowlwJBbWMYzWbKqE2DT6JDP1AFXKa+Zi0EkqNCUqY0A==",
"dev": true
},
"istanbul-lib-hook": {
- "version": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-1.1.0.tgz",
- "integrity": "sha1-hTjZcDcss3FtU+VVI91UtVeo2Js=",
- "dev": true,
- "requires": {
- "append-transform": "https://registry.npmjs.org/append-transform/-/append-transform-0.4.0.tgz"
- }
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-1.2.0.tgz",
+ "integrity": "sha512-p3En6/oGkFQV55Up8ZPC2oLxvgSxD8CzA0yBrhRZSh3pfv3OFj9aSGVC0yoerAi/O4u7jUVnOGVX1eVFM+0tmQ==",
+ "dev": true
},
"istanbul-lib-instrument": {
- "version": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.9.2.tgz",
- "integrity": "sha1-hJBb9H9+C0Ada4QNp7rWcIa0qrY=",
- "dev": true,
- "requires": {
- "babel-generator": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz",
- "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz",
- "babel-traverse": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz",
- "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz",
- "babylon": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz",
- "istanbul-lib-coverage": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.1.2.tgz",
- "semver": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz"
- }
+ "version": "1.10.1",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.10.1.tgz",
+ "integrity": "sha512-1dYuzkOCbuR5GRJqySuZdsmsNKPL3PTuyPevQfoCXJePT9C8y1ga75neU+Tuy9+yS3G/dgx8wgOmp2KLpgdoeQ==",
+ "dev": true
},
"istanbul-lib-report": {
- "version": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-1.1.3.tgz",
- "integrity": "sha1-LfEhiMD6d5kMDSF20tC6M5QYglk=",
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-1.1.4.tgz",
+ "integrity": "sha512-Azqvq5tT0U09nrncK3q82e/Zjkxa4tkFZv7E6VcqP0QCPn6oNljDPfrZEC/umNXds2t7b8sRJfs6Kmpzt8m2kA==",
"dev": true,
- "requires": {
- "istanbul-lib-coverage": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.1.2.tgz",
- "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
- "path-parse": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz",
- "supports-color": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz"
- },
"dependencies": {
"has-flag": {
- "version": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
"integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
"dev": true
},
"supports-color": {
- "version": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
"integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
- "dev": true,
- "requires": {
- "has-flag": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz"
- }
+ "dev": true
}
}
},
"istanbul-lib-source-maps": {
- "version": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.3.tgz",
- "integrity": "sha1-IPtUsU4Us/tu22rKNXH9IUPbROY=",
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.4.tgz",
+ "integrity": "sha512-UzuK0g1wyQijiaYQxj/CdNycFhAd2TLtO2obKQMTZrZ1jzEMRY3rvpASEKkaxbRR6brvdovfA03znPa/pXcejg==",
"dev": true,
- "requires": {
- "debug": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
- "istanbul-lib-coverage": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.1.2.tgz",
- "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
- "rimraf": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz",
- "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz"
- },
"dependencies": {
"source-map": {
- "version": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
"integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
"dev": true
}
}
},
"istanbul-reports": {
- "version": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-1.1.4.tgz",
- "integrity": "sha1-XMul4it7Wl2R1eCoMPib4zS/l70=",
- "dev": true,
- "requires": {
- "handlebars": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.11.tgz"
- }
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-1.3.0.tgz",
+ "integrity": "sha512-y2Z2IMqE1gefWUaVjrBm0mSKvUkaBy9Vqz8iwr/r40Y9hBbIteH5wqHG/9DLTfJ9xUnUT2j7A3+VVJ6EaYBllA==",
+ "dev": true
},
"istextorbinary": {
- "version": "https://registry.npmjs.org/istextorbinary/-/istextorbinary-1.0.2.tgz",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/istextorbinary/-/istextorbinary-1.0.2.tgz",
"integrity": "sha1-rOGTVNGpoBc+/rEITOD4ewrX3s8=",
- "dev": true,
- "requires": {
- "binaryextensions": "https://registry.npmjs.org/binaryextensions/-/binaryextensions-1.0.1.tgz",
- "textextensions": "https://registry.npmjs.org/textextensions/-/textextensions-1.0.2.tgz"
- }
+ "dev": true
},
"jade": {
"version": "0.26.3",
"resolved": "https://registry.npmjs.org/jade/-/jade-0.26.3.tgz",
"integrity": "sha1-jxDXl32NefL2/4YqgbBRPMslaGw=",
"dev": true,
- "requires": {
- "commander": "0.6.1",
- "mkdirp": "0.3.0"
- },
"dependencies": {
"commander": {
"version": "0.6.1",
@@ -8526,285 +5863,222 @@
}
},
"js-tokens": {
- "version": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz",
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz",
"integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=",
"dev": true
},
"js-yaml": {
- "version": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.6.1.tgz",
+ "version": "3.6.1",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.6.1.tgz",
"integrity": "sha1-bl/mfYsgXOTSL60Ft3geja3MSzA=",
- "dev": true,
- "requires": {
- "argparse": "1.0.9",
- "esprima": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz"
- }
+ "dev": true
},
"jsbn": {
- "version": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
"integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
"dev": true,
"optional": true
},
"jsesc": {
- "version": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz",
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz",
"integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=",
"dev": true
},
"json-loader": {
- "version": "https://registry.npmjs.org/json-loader/-/json-loader-0.5.7.tgz",
- "integrity": "sha1-3KFKcCNf+C8KyaOr62DTN6NlGF0=",
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/json-loader/-/json-loader-0.5.7.tgz",
+ "integrity": "sha512-QLPs8Dj7lnf3e3QYS1zkCo+4ZwqOiF9d/nZnYozTISxXWCfNs9yuky5rJw4/W34s7POaNlbZmQGaB5NiXCbP4w==",
"dev": true
},
"json-parse-better-errors": {
- "version": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.1.tgz",
- "integrity": "sha1-UBg80bLSUnXeBp6ecbRnrJ6rlzo=",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
+ "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==",
"dev": true
},
"json-schema": {
- "version": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
"integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",
"dev": true
},
"json-schema-traverse": {
- "version": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz",
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz",
"integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=",
"dev": true
},
"json-stable-stringify": {
- "version": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz",
"integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=",
- "dev": true,
- "requires": {
- "jsonify": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz"
- }
+ "dev": true
},
"json-stable-stringify-without-jsonify": {
- "version": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
"integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=",
"dev": true
},
"json-stringify-safe": {
- "version": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
"integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
"dev": true
},
"json3": {
- "version": "https://registry.npmjs.org/json3/-/json3-3.3.2.tgz",
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.2.tgz",
"integrity": "sha1-PAQ0dD35Pi9cQq7nsZvLSDV19OE=",
"dev": true
},
"json5": {
- "version": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
+ "version": "0.5.1",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
"integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=",
"dev": true
},
"jsonfile": {
- "version": "https://registry.npmjs.org/jsonfile/-/jsonfile-1.0.1.tgz",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-1.0.1.tgz",
"integrity": "sha1-6l7+QLg2kLmGZ2FKc5L8YOhCwN0=",
"dev": true
},
"jsonify": {
- "version": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz",
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz",
"integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=",
"dev": true
},
"jsonparse": {
- "version": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz",
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz",
"integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=",
"dev": true
},
"jsonpointer": {
- "version": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz",
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz",
"integrity": "sha1-T9kss04OnbPInIYi7PUfm5eMbLk=",
"dev": true
},
+ "JSONStream": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.2.tgz",
+ "integrity": "sha1-wQI3G27Dp887hHygDCC7D85Mbeo=",
+ "dev": true
+ },
"jsprim": {
- "version": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
"integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
"dev": true,
- "requires": {
- "assert-plus": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
- "extsprintf": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
- "json-schema": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
- "verror": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz"
- },
"dependencies": {
"assert-plus": {
- "version": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
"integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
"dev": true
}
}
},
"just-clone": {
- "version": "https://registry.npmjs.org/just-clone/-/just-clone-1.0.2.tgz",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/just-clone/-/just-clone-1.0.2.tgz",
"integrity": "sha1-v7P672WqEqMWBYcSlFwyb9jwFDQ="
},
"just-extend": {
- "version": "https://registry.npmjs.org/just-extend/-/just-extend-1.1.27.tgz",
- "integrity": "sha1-7G55QQ/5FORyZSq/oOYDwD1g6QU=",
+ "version": "1.1.27",
+ "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-1.1.27.tgz",
+ "integrity": "sha512-mJVp13Ix6gFo3SBAy9U/kL+oeZqzlYYYLQBwXVBlVzIsZwBqGREnOro24oC/8s8aox+rJhtZ2DiQof++IrkA+g==",
"dev": true
},
"karma": {
- "version": "https://registry.npmjs.org/karma/-/karma-2.0.0.tgz",
- "integrity": "sha1-oCaY3X8PBf9etmq49lWCSQtRLlg=",
- "dev": true,
- "requires": {
- "bluebird": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz",
- "body-parser": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.2.tgz",
- "browserify": "https://registry.npmjs.org/browserify/-/browserify-14.5.0.tgz",
- "chokidar": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz",
- "colors": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz",
- "combine-lists": "https://registry.npmjs.org/combine-lists/-/combine-lists-1.0.1.tgz",
- "connect": "3.6.5",
- "core-js": "https://registry.npmjs.org/core-js/-/core-js-2.5.3.tgz",
- "di": "https://registry.npmjs.org/di/-/di-0.0.1.tgz",
- "dom-serialize": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz",
- "expand-braces": "https://registry.npmjs.org/expand-braces/-/expand-braces-0.1.2.tgz",
- "glob": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
- "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
- "http-proxy": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.16.2.tgz",
- "isbinaryfile": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.2.tgz",
- "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz",
- "log4js": "https://registry.npmjs.org/log4js/-/log4js-2.5.3.tgz",
- "mime": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
- "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
- "optimist": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz",
- "qjobs": "1.1.5",
- "range-parser": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz",
- "rimraf": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz",
- "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz",
- "socket.io": "https://registry.npmjs.org/socket.io/-/socket.io-2.0.4.tgz",
- "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "tmp": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
- "useragent": "https://registry.npmjs.org/useragent/-/useragent-2.3.0.tgz"
- },
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/karma/-/karma-2.0.2.tgz",
+ "integrity": "sha1-TS25QChQpmVR+nhLAWT7CCTtjEs=",
+ "dev": true,
"dependencies": {
"anymatch": {
- "version": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz",
- "integrity": "sha1-VT3Lj5HjyImEXf26NMd3IbkLnXo=",
- "dev": true,
- "requires": {
- "micromatch": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz",
- "normalize-path": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz"
- }
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz",
+ "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==",
+ "dev": true
},
"arr-diff": {
- "version": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz",
"integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=",
- "dev": true,
- "requires": {
- "arr-flatten": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz"
- }
+ "dev": true
},
"array-unique": {
- "version": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz",
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz",
"integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=",
"dev": true
},
"body-parser": {
- "version": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.2.tgz",
+ "version": "1.18.2",
+ "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.2.tgz",
"integrity": "sha1-h2eKGdhLR9hZuDGZvVm84iKxBFQ=",
- "dev": true,
- "requires": {
- "bytes": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
- "content-type": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
- "debug": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "depd": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
- "http-errors": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz",
- "iconv-lite": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz",
- "on-finished": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
- "qs": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz",
- "raw-body": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.2.tgz",
- "type-is": "1.6.15"
- }
+ "dev": true
},
"braces": {
- "version": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz",
+ "version": "1.8.5",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz",
"integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=",
- "dev": true,
- "requires": {
- "expand-range": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz",
- "preserve": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz",
- "repeat-element": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz"
- }
+ "dev": true
},
"bytes": {
- "version": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
"integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=",
"dev": true
},
"chokidar": {
- "version": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz",
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz",
"integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=",
- "dev": true,
- "requires": {
- "anymatch": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz",
- "async-each": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz",
- "fsevents": "https://registry.npmjs.org/fsevents/-/fsevents-1.1.3.tgz",
- "glob-parent": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
- "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "is-binary-path": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
- "is-glob": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
- "path-is-absolute": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
- "readdirp": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz"
- }
+ "dev": true
},
"connect": {
- "version": "3.6.5",
- "resolved": "https://registry.npmjs.org/connect/-/connect-3.6.5.tgz",
- "integrity": "sha1-+43ee6B2OHfQ7J352sC0tA5yx9o=",
- "dev": true,
- "requires": {
- "debug": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "finalhandler": "1.0.6",
- "parseurl": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz",
- "utils-merge": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz"
- }
+ "version": "3.6.6",
+ "resolved": "https://registry.npmjs.org/connect/-/connect-3.6.6.tgz",
+ "integrity": "sha1-Ce/2xVr3I24TcTWnJXSFi2eG9SQ=",
+ "dev": true
},
"debug": {
- "version": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
- "dev": true,
- "requires": {
- "ms": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"
- }
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true
},
"depd": {
- "version": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
"integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=",
"dev": true
},
"expand-brackets": {
- "version": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz",
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz",
"integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=",
- "dev": true,
- "requires": {
- "is-posix-bracket": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz"
- }
+ "dev": true
},
"extglob": {
- "version": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz",
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz",
"integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=",
- "dev": true,
- "requires": {
- "is-extglob": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz"
- }
+ "dev": true
},
"finalhandler": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.0.6.tgz",
- "integrity": "sha1-AHrqM9Gk0+QgF/YkhIrVjSEvgU8=",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.0.tgz",
+ "integrity": "sha1-zgtoVbRYU+eRsvzGgARtiCU91/U=",
"dev": true,
- "requires": {
- "debug": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "encodeurl": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
- "escape-html": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
- "on-finished": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
- "parseurl": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz",
- "statuses": "1.3.1",
- "unpipe": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz"
- },
"dependencies": {
"statuses": {
"version": "1.3.1",
@@ -8815,321 +6089,253 @@
}
},
"glob-parent": {
- "version": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
"integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=",
- "dev": true,
- "requires": {
- "is-glob": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz"
- }
+ "dev": true
},
"http-errors": {
- "version": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz",
- "integrity": "sha1-CgAsyFcHGSp+eUbO7cERVfYOxzY=",
- "dev": true,
- "requires": {
- "depd": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz",
- "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "setprototypeof": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz",
- "statuses": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz"
- },
- "dependencies": {
- "depd": {
- "version": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz",
- "integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k=",
- "dev": true
- }
- }
+ "version": "1.6.3",
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz",
+ "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=",
+ "dev": true
},
"iconv-lite": {
- "version": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz",
- "integrity": "sha1-90aPYBNfXl2tM5nAqBvpoWA6CCs=",
+ "version": "0.4.19",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz",
+ "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==",
"dev": true
},
"is-extglob": {
- "version": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
"integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
"dev": true
},
"is-glob": {
- "version": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
"integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
- "dev": true,
- "requires": {
- "is-extglob": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz"
- }
+ "dev": true
},
"kind-of": {
- "version": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true,
- "requires": {
- "is-buffer": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz"
- }
+ "dev": true
},
"micromatch": {
- "version": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz",
+ "version": "2.3.11",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz",
"integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=",
- "dev": true,
- "requires": {
- "arr-diff": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz",
- "array-unique": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz",
- "braces": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz",
- "expand-brackets": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz",
- "extglob": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz",
- "filename-regex": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz",
- "is-extglob": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
- "is-glob": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
- "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "normalize-path": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
- "object.omit": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz",
- "parse-glob": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz",
- "regex-cache": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz"
- }
- },
- "mime": {
- "version": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
- "integrity": "sha1-Ms2eXGRVO9WNGaVor0Uqz/BJgbE=",
"dev": true
},
"qs": {
- "version": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz",
- "integrity": "sha1-NJzfbu+J7EXBLX1es/wMhwNDptg=",
+ "version": "6.5.1",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz",
+ "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==",
"dev": true
},
"range-parser": {
- "version": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz",
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz",
"integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=",
"dev": true
},
"raw-body": {
- "version": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.2.tgz",
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.2.tgz",
"integrity": "sha1-vNYMd9Prk83gBQKVw/N5OJvIj4k=",
"dev": true,
- "requires": {
- "bytes": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
- "http-errors": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz",
- "iconv-lite": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz",
- "unpipe": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz"
+ "dependencies": {
+ "depd": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz",
+ "integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k=",
+ "dev": true
+ },
+ "http-errors": {
+ "version": "1.6.2",
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz",
+ "integrity": "sha1-CgAsyFcHGSp+eUbO7cERVfYOxzY=",
+ "dev": true
+ },
+ "setprototypeof": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz",
+ "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ=",
+ "dev": true
+ }
}
},
"utils-merge": {
- "version": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
"integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=",
"dev": true
}
}
},
"karma-babel-preprocessor": {
- "version": "https://registry.npmjs.org/karma-babel-preprocessor/-/karma-babel-preprocessor-6.0.1.tgz",
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/karma-babel-preprocessor/-/karma-babel-preprocessor-6.0.1.tgz",
"integrity": "sha1-euHT5klQ2+EfQht0BAqwj7WmbCE=",
- "dev": true,
- "requires": {
- "babel-core": "https://registry.npmjs.org/babel-core/-/babel-core-6.22.0.tgz"
- }
+ "dev": true
},
"karma-browserstack-launcher": {
- "version": "https://registry.npmjs.org/karma-browserstack-launcher/-/karma-browserstack-launcher-1.3.0.tgz",
- "integrity": "sha1-Yf49NrHPEGgeQPnYdL83Jx+xxnQ=",
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/karma-browserstack-launcher/-/karma-browserstack-launcher-1.3.0.tgz",
+ "integrity": "sha512-LrPf5sU/GISkEElWyoy06J8x0c8BcOjjOwf61Wqu6M0aWQu0Eoqm9yh3xON64/ByST/CEr0GsWiREQ/EIEMd4Q==",
"dev": true,
- "requires": {
- "browserstack": "https://registry.npmjs.org/browserstack/-/browserstack-1.5.0.tgz",
- "browserstacktunnel-wrapper": "https://registry.npmjs.org/browserstacktunnel-wrapper/-/browserstacktunnel-wrapper-2.0.1.tgz",
- "q": "https://registry.npmjs.org/q/-/q-1.5.1.tgz"
- },
"dependencies": {
"q": {
- "version": "https://registry.npmjs.org/q/-/q-1.5.1.tgz",
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz",
"integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=",
"dev": true
}
}
},
"karma-chai": {
- "version": "https://registry.npmjs.org/karma-chai/-/karma-chai-0.1.0.tgz",
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/karma-chai/-/karma-chai-0.1.0.tgz",
"integrity": "sha1-vuWtQEAFF4Ea40u5RfdikJEIt5o=",
"dev": true
},
"karma-chrome-launcher": {
- "version": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-2.2.0.tgz",
- "integrity": "sha1-zxudBxNswY/iOTJ9JGVMPbw2is8=",
- "dev": true,
- "requires": {
- "fs-access": "https://registry.npmjs.org/fs-access/-/fs-access-1.0.1.tgz",
- "which": "https://registry.npmjs.org/which/-/which-1.3.0.tgz"
- }
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-2.2.0.tgz",
+ "integrity": "sha512-uf/ZVpAabDBPvdPdveyk1EPgbnloPvFFGgmRhYLTDH7gEB4nZdSBk8yTU47w1g/drLSx5uMOkjKk7IWKfWg/+w==",
+ "dev": true
},
"karma-coverage-istanbul-reporter": {
- "version": "https://registry.npmjs.org/karma-coverage-istanbul-reporter/-/karma-coverage-istanbul-reporter-1.4.1.tgz",
- "integrity": "sha1-K0LRRd27SGjYXVKIjElaIcYdhzw=",
- "dev": true,
- "requires": {
- "istanbul-api": "https://registry.npmjs.org/istanbul-api/-/istanbul-api-1.2.2.tgz",
- "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz"
- }
+ "version": "1.4.2",
+ "resolved": "https://registry.npmjs.org/karma-coverage-istanbul-reporter/-/karma-coverage-istanbul-reporter-1.4.2.tgz",
+ "integrity": "sha512-sQHexslLF+QHzaKfK8+onTYMyvSwv+p5cDayVxhpEELGa3z0QuB+l0IMsicIkkBNMOJKQaqueiRoW7iuo7lsog==",
+ "dev": true
},
"karma-es5-shim": {
- "version": "https://registry.npmjs.org/karma-es5-shim/-/karma-es5-shim-0.0.4.tgz",
+ "version": "0.0.4",
+ "resolved": "https://registry.npmjs.org/karma-es5-shim/-/karma-es5-shim-0.0.4.tgz",
"integrity": "sha1-zdADM8znfC5M4D46yT8vjs0fuVI=",
- "dev": true,
- "requires": {
- "es5-shim": "https://registry.npmjs.org/es5-shim/-/es5-shim-4.5.10.tgz"
- }
+ "dev": true
},
"karma-firefox-launcher": {
- "version": "https://registry.npmjs.org/karma-firefox-launcher/-/karma-firefox-launcher-1.1.0.tgz",
- "integrity": "sha1-LEcDBFLwRTHrfRPU/HZpYwu5Mzk=",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/karma-firefox-launcher/-/karma-firefox-launcher-1.1.0.tgz",
+ "integrity": "sha512-LbZ5/XlIXLeQ3cqnCbYLn+rOVhuMIK9aZwlP6eOLGzWdo1UVp7t6CN3DP4SafiRLjexKwHeKHDm0c38Mtd3VxA==",
"dev": true
},
"karma-ie-launcher": {
- "version": "https://registry.npmjs.org/karma-ie-launcher/-/karma-ie-launcher-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/karma-ie-launcher/-/karma-ie-launcher-1.0.0.tgz",
"integrity": "sha1-SXmGhCxJAZA0bNifVJTKmDDG1Zw=",
- "dev": true,
- "requires": {
- "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz"
- }
+ "dev": true
},
"karma-mocha": {
- "version": "https://registry.npmjs.org/karma-mocha/-/karma-mocha-1.3.0.tgz",
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/karma-mocha/-/karma-mocha-1.3.0.tgz",
"integrity": "sha1-7qrH/8DiAetjxGdEDStpx883eL8=",
"dev": true,
- "requires": {
- "minimist": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz"
- },
"dependencies": {
"minimist": {
- "version": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
"integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
"dev": true
}
}
},
"karma-mocha-reporter": {
- "version": "https://registry.npmjs.org/karma-mocha-reporter/-/karma-mocha-reporter-2.2.5.tgz",
+ "version": "2.2.5",
+ "resolved": "https://registry.npmjs.org/karma-mocha-reporter/-/karma-mocha-reporter-2.2.5.tgz",
"integrity": "sha1-FRIAlejtgZGG5HoLAS8810GJVWA=",
"dev": true,
- "requires": {
- "chalk": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz",
- "log-symbols": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz",
- "strip-ansi": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz"
- },
"dependencies": {
"ansi-regex": {
- "version": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
"integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
"dev": true
},
"ansi-styles": {
- "version": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
- "integrity": "sha1-wVm41b4PnlpvNG2rlPFs4CIWG4g=",
- "dev": true,
- "requires": {
- "color-convert": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz"
- }
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "dev": true
},
"chalk": {
- "version": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz",
- "integrity": "sha1-Uj/iZ4rsewToBBkJKS/osXBZt5Y=",
- "dev": true,
- "requires": {
- "ansi-styles": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
- "escape-string-regexp": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "supports-color": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz"
- }
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.0.tgz",
+ "integrity": "sha512-Wr/w0f4o9LuE7K53cD0qmbAMM+2XNLzR29vFn5hqko4sxGlUsyy363NvmyGIyk5tpe9cjTr9SJYbysEyPkRnFw==",
+ "dev": true
},
"strip-ansi": {
- "version": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
"integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
- "dev": true,
- "requires": {
- "ansi-regex": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz"
- }
+ "dev": true
},
"supports-color": {
- "version": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz",
- "integrity": "sha1-sNUzOxGE3TZmy+WqC0XFrHrBeko=",
- "dev": true,
- "requires": {
- "has-flag": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz"
- }
+ "version": "5.4.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
+ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
+ "dev": true
}
}
},
"karma-opera-launcher": {
- "version": "https://registry.npmjs.org/karma-opera-launcher/-/karma-opera-launcher-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/karma-opera-launcher/-/karma-opera-launcher-1.0.0.tgz",
"integrity": "sha1-+lFihTGh0L6EstjcDX7iCfyP+Ro=",
"dev": true
},
"karma-requirejs": {
- "version": "https://registry.npmjs.org/karma-requirejs/-/karma-requirejs-1.1.0.tgz",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/karma-requirejs/-/karma-requirejs-1.1.0.tgz",
"integrity": "sha1-/driy4fX68FvsCIok1ZNf+5Xh5g=",
"dev": true
},
"karma-safari-launcher": {
- "version": "https://registry.npmjs.org/karma-safari-launcher/-/karma-safari-launcher-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/karma-safari-launcher/-/karma-safari-launcher-1.0.0.tgz",
"integrity": "sha1-lpgqLMR9BmquccVTursoMZEVos4=",
"dev": true
},
"karma-script-launcher": {
- "version": "https://registry.npmjs.org/karma-script-launcher/-/karma-script-launcher-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/karma-script-launcher/-/karma-script-launcher-1.0.0.tgz",
"integrity": "sha1-zQF8TeXvCeWp2nkydhdhCN1LVC0=",
"dev": true
},
"karma-sinon": {
- "version": "https://registry.npmjs.org/karma-sinon/-/karma-sinon-1.0.5.tgz",
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/karma-sinon/-/karma-sinon-1.0.5.tgz",
"integrity": "sha1-TjRD8oMP3s/2JNN0cWPxIX2qKpo=",
"dev": true
},
"karma-sourcemap-loader": {
- "version": "https://registry.npmjs.org/karma-sourcemap-loader/-/karma-sourcemap-loader-0.3.7.tgz",
+ "version": "0.3.7",
+ "resolved": "https://registry.npmjs.org/karma-sourcemap-loader/-/karma-sourcemap-loader-0.3.7.tgz",
"integrity": "sha1-kTIsd/jxPUb+0GKwQuEAnUxFBdg=",
- "dev": true,
- "requires": {
- "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz"
- }
+ "dev": true
},
"karma-spec-reporter": {
- "version": "https://registry.npmjs.org/karma-spec-reporter/-/karma-spec-reporter-0.0.31.tgz",
+ "version": "0.0.31",
+ "resolved": "https://registry.npmjs.org/karma-spec-reporter/-/karma-spec-reporter-0.0.31.tgz",
"integrity": "sha1-SDDccUihVcfXoYbmMjOaDYD63sM=",
- "dev": true,
- "requires": {
- "colors": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz"
- }
+ "dev": true
},
"karma-webpack": {
- "version": "2.0.9",
- "resolved": "https://registry.npmjs.org/karma-webpack/-/karma-webpack-2.0.9.tgz",
- "integrity": "sha512-F1j3IG/XhiMzcunAXbWXH95uizjzr3WdTzmVWlta8xqxcCtAu9FByCb4sccIMxaVFAefpgnUW9KlCo0oLvIX6A==",
- "dev": true,
- "requires": {
- "async": "0.9.2",
- "loader-utils": "0.2.17",
- "lodash": "3.10.1",
- "source-map": "0.5.7",
- "webpack-dev-middleware": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-1.12.2.tgz"
- },
+ "version": "2.0.13",
+ "resolved": "https://registry.npmjs.org/karma-webpack/-/karma-webpack-2.0.13.tgz",
+ "integrity": "sha512-2cyII34jfrAabbI2+4Rk4j95Nazl98FvZQhgSiqKUDarT317rxfv/EdzZ60CyATN4PQxJdO5ucR5bOOXkEVrXw==",
+ "dev": true,
"dependencies": {
"async": {
- "version": "0.9.2",
- "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz",
- "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=",
- "dev": true
- },
- "loader-utils": {
- "version": "0.2.17",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz",
- "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=",
- "dev": true,
- "requires": {
- "big.js": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz",
- "emojis-list": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz",
- "json5": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
- "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz"
- }
- },
- "lodash": {
- "version": "3.10.1",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz",
- "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=",
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/async/-/async-2.6.0.tgz",
+ "integrity": "sha512-xAfGg1/NTLBBKlHFmnd7PlmUW9KhVQIUuSrYem9xzFUZy13ScvtyGGejaae9iAVRiRq9+Cx7DPFaAAhCpyxyPw==",
"dev": true
},
"source-map": {
@@ -9141,799 +6347,626 @@
}
},
"kebab-case": {
- "version": "https://registry.npmjs.org/kebab-case/-/kebab-case-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/kebab-case/-/kebab-case-1.0.0.tgz",
"integrity": "sha1-P55JkK3K0MaGwOcB92RYaPdfkes=",
"dev": true
},
"kind-of": {
- "version": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
- "integrity": "sha1-ARRrNqYhjmTljzqNZt5df8b20FE=",
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
+ "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
"dev": true
},
- "labeled-stream-splicer": {
- "version": "https://registry.npmjs.org/labeled-stream-splicer/-/labeled-stream-splicer-2.0.0.tgz",
- "integrity": "sha1-pS4dE4AkwAuGscDJH2d5GLiuClk=",
- "dev": true,
- "requires": {
- "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
- "stream-splicer": "https://registry.npmjs.org/stream-splicer/-/stream-splicer-2.0.0.tgz"
- },
- "dependencies": {
- "isarray": {
- "version": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
- "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
- "dev": true
- }
- }
- },
"lazy-cache": {
- "version": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz",
- "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=",
- "dev": true,
- "requires": {
- "set-getter": "https://registry.npmjs.org/set-getter/-/set-getter-0.1.0.tgz"
- }
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz",
+ "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=",
+ "dev": true
},
"lazystream": {
- "version": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz",
"integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=",
- "dev": true,
- "requires": {
- "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.4.tgz"
- }
+ "dev": true
},
"lcid": {
- "version": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz",
"integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=",
- "dev": true,
- "requires": {
- "invert-kv": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz"
- }
+ "dev": true
},
"lcov-parse": {
- "version": "https://registry.npmjs.org/lcov-parse/-/lcov-parse-0.0.10.tgz",
+ "version": "0.0.10",
+ "resolved": "https://registry.npmjs.org/lcov-parse/-/lcov-parse-0.0.10.tgz",
"integrity": "sha1-GwuP+ayceIklBYK3C3ExXZ2m2aM=",
"dev": true
},
"lead": {
- "version": "https://registry.npmjs.org/lead/-/lead-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/lead/-/lead-1.0.0.tgz",
"integrity": "sha1-bxT5mje+Op3XhPVJVpDlkDRm7kI=",
- "dev": true,
- "requires": {
- "flush-write-stream": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.0.2.tgz"
- }
+ "dev": true
},
"levn": {
- "version": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
"integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
- "dev": true,
- "requires": {
- "prelude-ls": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
- "type-check": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz"
- }
- },
- "lexical-scope": {
- "version": "https://registry.npmjs.org/lexical-scope/-/lexical-scope-1.2.0.tgz",
- "integrity": "sha1-/Ope3HBKSzqHls3KQZw6CvryLfQ=",
- "dev": true,
- "requires": {
- "astw": "https://registry.npmjs.org/astw/-/astw-2.2.0.tgz"
- }
+ "dev": true
},
"libbase64": {
- "version": "https://registry.npmjs.org/libbase64/-/libbase64-0.1.0.tgz",
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/libbase64/-/libbase64-0.1.0.tgz",
"integrity": "sha1-YjUag5VjrF/1vSbxL2Dpgwu3UeY=",
"dev": true
},
"libmime": {
- "version": "https://registry.npmjs.org/libmime/-/libmime-3.0.0.tgz",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/libmime/-/libmime-3.0.0.tgz",
"integrity": "sha1-UaGp50SOy9Ms2lRCFnW7IbwJPaY=",
"dev": true,
- "requires": {
- "iconv-lite": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.15.tgz",
- "libbase64": "https://registry.npmjs.org/libbase64/-/libbase64-0.1.0.tgz",
- "libqp": "https://registry.npmjs.org/libqp/-/libqp-1.1.0.tgz"
- },
"dependencies": {
"iconv-lite": {
- "version": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.15.tgz",
+ "version": "0.4.15",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.15.tgz",
"integrity": "sha1-/iZaIYrGpXz+hUkn6dBMGYJe3es=",
"dev": true
}
}
},
"libqp": {
- "version": "https://registry.npmjs.org/libqp/-/libqp-1.1.0.tgz",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/libqp/-/libqp-1.1.0.tgz",
"integrity": "sha1-9ebgatdLeU+1tbZpiL9yjvHe2+g=",
"dev": true
},
"liftoff": {
- "version": "https://registry.npmjs.org/liftoff/-/liftoff-2.5.0.tgz",
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-2.5.0.tgz",
"integrity": "sha1-IAkpG7Mc6oYbvxCnwVooyvdcMew=",
- "dev": true,
- "requires": {
- "extend": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz",
- "findup-sync": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz",
- "fined": "https://registry.npmjs.org/fined/-/fined-1.1.0.tgz",
- "flagged-respawn": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.0.tgz",
- "is-plain-object": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
- "object.map": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz",
- "rechoir": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz",
- "resolve": "https://registry.npmjs.org/resolve/-/resolve-1.5.0.tgz"
- }
+ "dev": true
},
"livereload-js": {
- "version": "https://registry.npmjs.org/livereload-js/-/livereload-js-2.3.0.tgz",
- "integrity": "sha1-w6si6Kr1vzUF2A0JjLrWdyZUjJo=",
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/livereload-js/-/livereload-js-2.3.0.tgz",
+ "integrity": "sha512-j1R0/FeGa64Y+NmqfZhyoVRzcFlOZ8sNlKzHjh4VvLULFACZhn68XrX5DFg2FhMvSMJmROuFxRSa560ECWKBMg==",
"dev": true
},
"load-json-file": {
- "version": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz",
"integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=",
- "dev": true,
- "requires": {
- "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
- "parse-json": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
- "pify": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
- "strip-bom": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz"
- }
+ "dev": true
},
"loader-runner": {
- "version": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.3.0.tgz",
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.3.0.tgz",
"integrity": "sha1-9IKuqC1UPgeSFwDVpG7yb9rGuKI=",
"dev": true
},
"loader-utils": {
- "version": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz",
"integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=",
- "dev": true,
- "requires": {
- "big.js": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz",
- "emojis-list": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz",
- "json5": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz"
- }
+ "dev": true
},
"localtunnel": {
- "version": "https://registry.npmjs.org/localtunnel/-/localtunnel-1.8.3.tgz",
- "integrity": "sha1-3MWSL9hWUQN9S94k/ZMkjQsk6wU=",
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/localtunnel/-/localtunnel-1.9.0.tgz",
+ "integrity": "sha512-wCIiIHJ8kKIcWkTQE3m1VRABvsH2ZuOkiOpZUofUCf6Q42v3VIZ+Q0YfX1Z4sYDRj0muiKL1bLvz1FeoxsPO0w==",
"dev": true,
- "requires": {
- "debug": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz",
- "openurl": "https://registry.npmjs.org/openurl/-/openurl-1.1.1.tgz",
- "request": "https://registry.npmjs.org/request/-/request-2.81.0.tgz",
- "yargs": "https://registry.npmjs.org/yargs/-/yargs-3.29.0.tgz"
- },
"dependencies": {
- "ajv": {
- "version": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz",
- "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=",
- "dev": true,
- "requires": {
- "co": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
- "json-stable-stringify": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz"
- }
+ "axios": {
+ "version": "0.17.1",
+ "resolved": "https://registry.npmjs.org/axios/-/axios-0.17.1.tgz",
+ "integrity": "sha1-LY4+XQvb1zJ/kbyBT1xXZg+Bgk0=",
+ "dev": true
},
"camelcase": {
- "version": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz",
- "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz",
+ "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=",
+ "dev": true
+ },
+ "debug": {
+ "version": "2.6.8",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz",
+ "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=",
+ "dev": true
+ },
+ "find-up": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
+ "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
+ "dev": true
+ },
+ "load-json-file": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
+ "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
+ "dev": true
+ },
+ "os-locale": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz",
+ "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=",
"dev": true
},
- "caseless": {
- "version": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
- "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
+ "parse-json": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
+ "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
"dev": true
},
- "debug": {
- "version": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz",
- "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=",
- "dev": true,
- "requires": {
- "ms": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"
- }
+ "path-exists": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
+ "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
+ "dev": true
},
- "har-validator": {
- "version": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz",
- "integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=",
- "dev": true,
- "requires": {
- "ajv": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz",
- "har-schema": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz"
- }
+ "path-type": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz",
+ "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=",
+ "dev": true
},
- "os-locale": {
- "version": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz",
- "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=",
- "dev": true,
- "requires": {
- "lcid": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz"
- }
+ "pify": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
+ "dev": true
},
- "qs": {
- "version": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz",
- "integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=",
+ "read-pkg": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz",
+ "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=",
"dev": true
},
- "request": {
- "version": "https://registry.npmjs.org/request/-/request-2.81.0.tgz",
- "integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=",
- "dev": true,
- "requires": {
- "aws-sign2": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz",
- "aws4": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz",
- "caseless": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
- "combined-stream": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz",
- "extend": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz",
- "forever-agent": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
- "form-data": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz",
- "har-validator": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz",
- "hawk": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz",
- "http-signature": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz",
- "is-typedarray": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
- "isstream": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
- "json-stringify-safe": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
- "mime-types": "2.1.17",
- "oauth-sign": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz",
- "performance-now": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz",
- "qs": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz",
- "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz",
- "stringstream": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz",
- "tough-cookie": "2.3.3",
- "tunnel-agent": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
- "uuid": "https://registry.npmjs.org/uuid/-/uuid-3.2.1.tgz"
- }
+ "read-pkg-up": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz",
+ "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=",
+ "dev": true
},
- "tunnel-agent": {
- "version": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
- "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
- "dev": true,
- "requires": {
- "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz"
- }
+ "strip-bom": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
+ "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
+ "dev": true
},
- "window-size": {
- "version": "https://registry.npmjs.org/window-size/-/window-size-0.1.4.tgz",
- "integrity": "sha1-+OGqHuWlPsW/FR/6CXQqatdpeHY=",
+ "which-module": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz",
+ "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=",
"dev": true
},
"yargs": {
- "version": "https://registry.npmjs.org/yargs/-/yargs-3.29.0.tgz",
- "integrity": "sha1-GquWYOrnnYuPZ1vK7qtu40ws9pw=",
- "dev": true,
- "requires": {
- "camelcase": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz",
- "cliui": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
- "decamelize": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
- "os-locale": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz",
- "window-size": "https://registry.npmjs.org/window-size/-/window-size-0.1.4.tgz",
- "y18n": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz"
- }
+ "version": "6.6.0",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-6.6.0.tgz",
+ "integrity": "sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg=",
+ "dev": true
+ },
+ "yargs-parser": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-4.2.1.tgz",
+ "integrity": "sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw=",
+ "dev": true
}
}
},
"locate-path": {
- "version": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
"integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
- "dev": true,
- "requires": {
- "p-locate": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
- "path-exists": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz"
- }
+ "dev": true
},
"lodash": {
- "version": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz",
- "integrity": "sha1-maktZcAnLevoyWtgV7yPv6O+1RE=",
+ "version": "4.17.5",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz",
+ "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==",
"dev": true
},
"lodash._arraycopy": {
- "version": "https://registry.npmjs.org/lodash._arraycopy/-/lodash._arraycopy-3.0.0.tgz",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/lodash._arraycopy/-/lodash._arraycopy-3.0.0.tgz",
"integrity": "sha1-due3wfH7klRzdIeKVi7Qaj5Q9uE=",
"dev": true
},
"lodash._arrayeach": {
- "version": "https://registry.npmjs.org/lodash._arrayeach/-/lodash._arrayeach-3.0.0.tgz",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/lodash._arrayeach/-/lodash._arrayeach-3.0.0.tgz",
"integrity": "sha1-urFWsqkNPxu9XGU0AzSeXlkz754=",
"dev": true
},
"lodash._baseassign": {
- "version": "https://registry.npmjs.org/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz",
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz",
"integrity": "sha1-jDigmVAPIVrQnlnxci/QxSv+Ck4=",
- "dev": true,
- "requires": {
- "lodash._basecopy": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz",
- "lodash.keys": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz"
- }
+ "dev": true
},
"lodash._baseclone": {
- "version": "https://registry.npmjs.org/lodash._baseclone/-/lodash._baseclone-3.3.0.tgz",
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/lodash._baseclone/-/lodash._baseclone-3.3.0.tgz",
"integrity": "sha1-MDUZv2OT/n5C802LYw73eU41Qrc=",
- "dev": true,
- "requires": {
- "lodash._arraycopy": "https://registry.npmjs.org/lodash._arraycopy/-/lodash._arraycopy-3.0.0.tgz",
- "lodash._arrayeach": "https://registry.npmjs.org/lodash._arrayeach/-/lodash._arrayeach-3.0.0.tgz",
- "lodash._baseassign": "https://registry.npmjs.org/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz",
- "lodash._basefor": "https://registry.npmjs.org/lodash._basefor/-/lodash._basefor-3.0.3.tgz",
- "lodash.isarray": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz",
- "lodash.keys": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz"
- }
+ "dev": true
},
"lodash._basecopy": {
- "version": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz",
"integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=",
"dev": true
},
"lodash._basecreate": {
- "version": "https://registry.npmjs.org/lodash._basecreate/-/lodash._basecreate-3.0.3.tgz",
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/lodash._basecreate/-/lodash._basecreate-3.0.3.tgz",
"integrity": "sha1-G8ZhYU2qf8MRt9A78WgGoCE8+CE=",
"dev": true
},
"lodash._basefor": {
- "version": "https://registry.npmjs.org/lodash._basefor/-/lodash._basefor-3.0.3.tgz",
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/lodash._basefor/-/lodash._basefor-3.0.3.tgz",
"integrity": "sha1-dVC06SGO8J+tJDQ7YSAhx5tMIMI=",
"dev": true
},
"lodash._basetostring": {
- "version": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz",
"integrity": "sha1-0YYdh3+CSlL2aYMtyvPuFVZqB9U=",
"dev": true
},
"lodash._basevalues": {
- "version": "https://registry.npmjs.org/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz",
"integrity": "sha1-W3dXYoAr3j0yl1A+JjAIIP32Ybc=",
"dev": true
},
"lodash._bindcallback": {
- "version": "https://registry.npmjs.org/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz",
"integrity": "sha1-5THCdkTPi1epnhftlbNcdIeJOS4=",
"dev": true
},
"lodash._escapehtmlchar": {
- "version": "https://registry.npmjs.org/lodash._escapehtmlchar/-/lodash._escapehtmlchar-2.4.1.tgz",
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/lodash._escapehtmlchar/-/lodash._escapehtmlchar-2.4.1.tgz",
"integrity": "sha1-32fDu2t+jh6DGrSL+geVuSr+iZ0=",
- "dev": true,
- "requires": {
- "lodash._htmlescapes": "https://registry.npmjs.org/lodash._htmlescapes/-/lodash._htmlescapes-2.4.1.tgz"
- }
+ "dev": true
},
"lodash._escapestringchar": {
- "version": "https://registry.npmjs.org/lodash._escapestringchar/-/lodash._escapestringchar-2.4.1.tgz",
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/lodash._escapestringchar/-/lodash._escapestringchar-2.4.1.tgz",
"integrity": "sha1-7P4iYYoq3lC/7qQ5N+Ud9m8O23I=",
"dev": true
},
"lodash._getnative": {
- "version": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz",
+ "version": "3.9.1",
+ "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz",
"integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=",
"dev": true
},
"lodash._htmlescapes": {
- "version": "https://registry.npmjs.org/lodash._htmlescapes/-/lodash._htmlescapes-2.4.1.tgz",
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/lodash._htmlescapes/-/lodash._htmlescapes-2.4.1.tgz",
"integrity": "sha1-MtFL8IRLbeb4tioFG09nwii2JMs=",
"dev": true
},
"lodash._isiterateecall": {
- "version": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz",
+ "version": "3.0.9",
+ "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz",
"integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=",
"dev": true
},
"lodash._isnative": {
- "version": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz",
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz",
"integrity": "sha1-PqZAS3hKe+g2x7V1gOHN95sUgyw=",
"dev": true
},
"lodash._objecttypes": {
- "version": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz",
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz",
"integrity": "sha1-fAt/admKH3ZSn4kLDNsbTf7BHBE=",
"dev": true
},
"lodash._reescape": {
- "version": "https://registry.npmjs.org/lodash._reescape/-/lodash._reescape-3.0.0.tgz",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/lodash._reescape/-/lodash._reescape-3.0.0.tgz",
"integrity": "sha1-Kx1vXf4HyKNVdT5fJ/rH8c3hYWo=",
"dev": true
},
"lodash._reevaluate": {
- "version": "https://registry.npmjs.org/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz",
"integrity": "sha1-WLx0xAZklTrgsSTYBpltrKQx4u0=",
"dev": true
},
"lodash._reinterpolate": {
- "version": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz",
"integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=",
"dev": true
},
"lodash._reunescapedhtml": {
- "version": "https://registry.npmjs.org/lodash._reunescapedhtml/-/lodash._reunescapedhtml-2.4.1.tgz",
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/lodash._reunescapedhtml/-/lodash._reunescapedhtml-2.4.1.tgz",
"integrity": "sha1-dHxPxAED6zu4oJduVx96JlnpO6c=",
"dev": true,
- "requires": {
- "lodash._htmlescapes": "https://registry.npmjs.org/lodash._htmlescapes/-/lodash._htmlescapes-2.4.1.tgz",
- "lodash.keys": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz"
- },
"dependencies": {
"lodash.keys": {
- "version": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz",
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz",
"integrity": "sha1-SN6kbfj/djKxDXBrissmWR4rNyc=",
- "dev": true,
- "requires": {
- "lodash._isnative": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz",
- "lodash._shimkeys": "https://registry.npmjs.org/lodash._shimkeys/-/lodash._shimkeys-2.4.1.tgz",
- "lodash.isobject": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz"
- }
+ "dev": true
}
}
},
"lodash._root": {
- "version": "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz",
"integrity": "sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI=",
"dev": true
},
"lodash._shimkeys": {
- "version": "https://registry.npmjs.org/lodash._shimkeys/-/lodash._shimkeys-2.4.1.tgz",
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/lodash._shimkeys/-/lodash._shimkeys-2.4.1.tgz",
"integrity": "sha1-bpzJZm/wgfC1psl4uD4kLmlJ0gM=",
- "dev": true,
- "requires": {
- "lodash._objecttypes": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz"
- }
+ "dev": true
},
"lodash._stack": {
- "version": "https://registry.npmjs.org/lodash._stack/-/lodash._stack-4.1.3.tgz",
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/lodash._stack/-/lodash._stack-4.1.3.tgz",
"integrity": "sha1-dRqnbBuWSwR+dtFPxyoJP8teLdA=",
"dev": true
},
"lodash.assign": {
- "version": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz",
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz",
"integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=",
"dev": true
},
"lodash.clone": {
- "version": "https://registry.npmjs.org/lodash.clone/-/lodash.clone-3.0.3.tgz",
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/lodash.clone/-/lodash.clone-3.0.3.tgz",
"integrity": "sha1-hGiMc9MrWpDKJWFpY/GJJSqZcEM=",
- "dev": true,
- "requires": {
- "lodash._baseclone": "https://registry.npmjs.org/lodash._baseclone/-/lodash._baseclone-3.3.0.tgz",
- "lodash._bindcallback": "https://registry.npmjs.org/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz",
- "lodash._isiterateecall": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz"
- }
- },
- "lodash.cond": {
- "version": "4.5.2",
- "resolved": "https://registry.npmjs.org/lodash.cond/-/lodash.cond-4.5.2.tgz",
- "integrity": "sha1-9HGh2khr5g9quVXRcRVSPdHSVdU=",
"dev": true
},
"lodash.create": {
- "version": "https://registry.npmjs.org/lodash.create/-/lodash.create-3.1.1.tgz",
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/lodash.create/-/lodash.create-3.1.1.tgz",
"integrity": "sha1-1/KEnw29p+BGgruM1yqwIkYd6+c=",
- "dev": true,
- "requires": {
- "lodash._baseassign": "https://registry.npmjs.org/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz",
- "lodash._basecreate": "https://registry.npmjs.org/lodash._basecreate/-/lodash._basecreate-3.0.3.tgz",
- "lodash._isiterateecall": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz"
- }
+ "dev": true
},
"lodash.defaults": {
- "version": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-2.4.1.tgz",
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-2.4.1.tgz",
"integrity": "sha1-p+iIXwXmiFEUS24SqPNngCa8TFQ=",
"dev": true,
- "requires": {
- "lodash._objecttypes": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz",
- "lodash.keys": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz"
- },
"dependencies": {
"lodash.keys": {
- "version": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz",
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz",
"integrity": "sha1-SN6kbfj/djKxDXBrissmWR4rNyc=",
- "dev": true,
- "requires": {
- "lodash._isnative": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz",
- "lodash._shimkeys": "https://registry.npmjs.org/lodash._shimkeys/-/lodash._shimkeys-2.4.1.tgz",
- "lodash.isobject": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz"
- }
+ "dev": true
}
}
},
"lodash.defaultsdeep": {
- "version": "https://registry.npmjs.org/lodash.defaultsdeep/-/lodash.defaultsdeep-4.3.2.tgz",
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/lodash.defaultsdeep/-/lodash.defaultsdeep-4.3.2.tgz",
"integrity": "sha1-bBpYbmxWR7DmTi15gUG4g2FYvoo=",
"dev": true,
- "requires": {
- "lodash._baseclone": "https://registry.npmjs.org/lodash._baseclone/-/lodash._baseclone-4.5.7.tgz",
- "lodash._stack": "https://registry.npmjs.org/lodash._stack/-/lodash._stack-4.1.3.tgz",
- "lodash.isplainobject": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz",
- "lodash.keysin": "https://registry.npmjs.org/lodash.keysin/-/lodash.keysin-4.2.0.tgz",
- "lodash.mergewith": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.1.tgz",
- "lodash.rest": "https://registry.npmjs.org/lodash.rest/-/lodash.rest-4.0.5.tgz"
- },
"dependencies": {
"lodash._baseclone": {
- "version": "https://registry.npmjs.org/lodash._baseclone/-/lodash._baseclone-4.5.7.tgz",
+ "version": "4.5.7",
+ "resolved": "https://registry.npmjs.org/lodash._baseclone/-/lodash._baseclone-4.5.7.tgz",
"integrity": "sha1-zkKt4IOE711i+nfDD2GkbmhvhDQ=",
"dev": true
}
}
},
"lodash.escape": {
- "version": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz",
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz",
"integrity": "sha1-mV7g3BjBtIzJLv+ucaEKq1tIdpg=",
- "dev": true,
- "requires": {
- "lodash._root": "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz"
- }
+ "dev": true
},
"lodash.get": {
- "version": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz",
+ "version": "4.4.2",
+ "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz",
"integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=",
"dev": true
},
"lodash.isarguments": {
- "version": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz",
"integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=",
"dev": true
},
"lodash.isarray": {
- "version": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz",
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz",
"integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=",
"dev": true
},
"lodash.isobject": {
- "version": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz",
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz",
"integrity": "sha1-Wi5H/mmVPx7mMafrof5k0tBlWPU=",
- "dev": true,
- "requires": {
- "lodash._objecttypes": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz"
- }
+ "dev": true
},
"lodash.isplainobject": {
- "version": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz",
+ "version": "4.0.6",
+ "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz",
"integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=",
"dev": true
},
"lodash.keys": {
- "version": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz",
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz",
"integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=",
- "dev": true,
- "requires": {
- "lodash._getnative": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz",
- "lodash.isarguments": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz",
- "lodash.isarray": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz"
- }
+ "dev": true
},
"lodash.keysin": {
- "version": "https://registry.npmjs.org/lodash.keysin/-/lodash.keysin-4.2.0.tgz",
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/lodash.keysin/-/lodash.keysin-4.2.0.tgz",
"integrity": "sha1-jMP7NcLZSsxEOhhj4C+kB5nqbyg=",
"dev": true
},
- "lodash.memoize": {
- "version": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-3.0.4.tgz",
- "integrity": "sha1-LcvSwofLwKVcxCMovQxzYVDVPj8=",
- "dev": true
- },
"lodash.mergewith": {
- "version": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.1.tgz",
- "integrity": "sha1-Y5BX5ybDr72z59QnQcqo1uQzWSc=",
+ "version": "4.6.1",
+ "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.1.tgz",
+ "integrity": "sha512-eWw5r+PYICtEBgrBE5hhlT6aAa75f411bgDz/ZL2KZqYV03USvucsxcHUIlGTDTECs1eunpI7HOV7U+WLDvNdQ==",
"dev": true
},
"lodash.rest": {
- "version": "https://registry.npmjs.org/lodash.rest/-/lodash.rest-4.0.5.tgz",
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/lodash.rest/-/lodash.rest-4.0.5.tgz",
"integrity": "sha1-lU73UEkmIDjJbR/Jiyj9r58Hcqo=",
"dev": true
},
"lodash.restparam": {
- "version": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz",
+ "version": "3.6.1",
+ "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz",
"integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=",
"dev": true
},
"lodash.some": {
- "version": "https://registry.npmjs.org/lodash.some/-/lodash.some-4.6.0.tgz",
+ "version": "4.6.0",
+ "resolved": "https://registry.npmjs.org/lodash.some/-/lodash.some-4.6.0.tgz",
"integrity": "sha1-G7nzFO9ri63tE7VJFpsqlF62jk0=",
"dev": true
},
"lodash.template": {
- "version": "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz",
+ "version": "3.6.2",
+ "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz",
"integrity": "sha1-+M3sxhaaJVvpCYrosMU9N4kx0U8=",
- "dev": true,
- "requires": {
- "lodash._basecopy": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz",
- "lodash._basetostring": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz",
- "lodash._basevalues": "https://registry.npmjs.org/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz",
- "lodash._isiterateecall": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz",
- "lodash._reinterpolate": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz",
- "lodash.escape": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz",
- "lodash.keys": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz",
- "lodash.restparam": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz",
- "lodash.templatesettings": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz"
- }
+ "dev": true
},
"lodash.templatesettings": {
- "version": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz",
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz",
"integrity": "sha1-+zB4RHU7Zrnxr6VOJix0UwfbqOU=",
- "dev": true,
- "requires": {
- "lodash._reinterpolate": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz",
- "lodash.escape": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz"
- }
+ "dev": true
},
"lodash.values": {
- "version": "https://registry.npmjs.org/lodash.values/-/lodash.values-2.4.1.tgz",
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/lodash.values/-/lodash.values-2.4.1.tgz",
"integrity": "sha1-q/UUQ2s8twUAFieXjLzzCxKA7qQ=",
"dev": true,
- "requires": {
- "lodash.keys": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz"
- },
"dependencies": {
"lodash.keys": {
- "version": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz",
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz",
"integrity": "sha1-SN6kbfj/djKxDXBrissmWR4rNyc=",
- "dev": true,
- "requires": {
- "lodash._isnative": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz",
- "lodash._shimkeys": "https://registry.npmjs.org/lodash._shimkeys/-/lodash._shimkeys-2.4.1.tgz",
- "lodash.isobject": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz"
- }
+ "dev": true
}
}
},
"log-driver": {
- "version": "https://registry.npmjs.org/log-driver/-/log-driver-1.2.5.tgz",
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/log-driver/-/log-driver-1.2.5.tgz",
"integrity": "sha1-euTsJXMC/XkNVXyxDJcQDYV7AFY=",
"dev": true
},
"log-symbols": {
- "version": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz",
- "integrity": "sha1-V0Dhxdbw39pK2TI7UzIQfva0xAo=",
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz",
+ "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==",
"dev": true,
- "requires": {
- "chalk": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz"
- },
"dependencies": {
"ansi-styles": {
- "version": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
- "integrity": "sha1-wVm41b4PnlpvNG2rlPFs4CIWG4g=",
- "dev": true,
- "requires": {
- "color-convert": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz"
- }
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "dev": true
},
"chalk": {
- "version": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz",
- "integrity": "sha1-Uj/iZ4rsewToBBkJKS/osXBZt5Y=",
- "dev": true,
- "requires": {
- "ansi-styles": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
- "escape-string-regexp": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "supports-color": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz"
- }
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.0.tgz",
+ "integrity": "sha512-Wr/w0f4o9LuE7K53cD0qmbAMM+2XNLzR29vFn5hqko4sxGlUsyy363NvmyGIyk5tpe9cjTr9SJYbysEyPkRnFw==",
+ "dev": true
},
"supports-color": {
- "version": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz",
- "integrity": "sha1-sNUzOxGE3TZmy+WqC0XFrHrBeko=",
- "dev": true,
- "requires": {
- "has-flag": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz"
- }
+ "version": "5.4.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
+ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
+ "dev": true
}
}
},
"log4js": {
- "version": "https://registry.npmjs.org/log4js/-/log4js-2.5.3.tgz",
- "integrity": "sha1-OLt73l6cHBgb116LwSjFzQQJyvE=",
- "dev": true,
- "requires": {
- "amqplib": "https://registry.npmjs.org/amqplib/-/amqplib-0.5.2.tgz",
- "axios": "https://registry.npmjs.org/axios/-/axios-0.15.3.tgz",
- "circular-json": "https://registry.npmjs.org/circular-json/-/circular-json-0.5.1.tgz",
- "date-format": "https://registry.npmjs.org/date-format/-/date-format-1.2.0.tgz",
- "debug": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
- "hipchat-notifier": "https://registry.npmjs.org/hipchat-notifier/-/hipchat-notifier-1.1.0.tgz",
- "loggly": "https://registry.npmjs.org/loggly/-/loggly-1.1.1.tgz",
- "mailgun-js": "https://registry.npmjs.org/mailgun-js/-/mailgun-js-0.7.15.tgz",
- "nodemailer": "https://registry.npmjs.org/nodemailer/-/nodemailer-2.7.2.tgz",
- "redis": "https://registry.npmjs.org/redis/-/redis-2.8.0.tgz",
- "semver": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz",
- "slack-node": "https://registry.npmjs.org/slack-node/-/slack-node-0.2.0.tgz",
- "streamroller": "https://registry.npmjs.org/streamroller/-/streamroller-0.7.0.tgz"
- },
+ "version": "2.5.3",
+ "resolved": "https://registry.npmjs.org/log4js/-/log4js-2.5.3.tgz",
+ "integrity": "sha512-YL/qpTxYtK0iWWbuKCrevDZz5lh+OjyHHD+mICqpjnYGKdNRBvPeh/1uYjkKUemT1CSO4wwLOwphWMpKAnD9kw==",
+ "dev": true,
"dependencies": {
"circular-json": {
- "version": "https://registry.npmjs.org/circular-json/-/circular-json-0.5.1.tgz",
- "integrity": "sha1-uJQqCeU1hj3CGwRBepGXHh2c2R8=",
+ "version": "0.5.3",
+ "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.5.3.tgz",
+ "integrity": "sha512-YlxLOimeIoQGHnMe3kbf8qIV2Bj7uXLbljMPRguNT49GmSAzooNfS9EJ91rSJKbLBOOzM5agvtx0WyechZN/Hw==",
"dev": true
}
}
},
"loggly": {
- "version": "https://registry.npmjs.org/loggly/-/loggly-1.1.1.tgz",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/loggly/-/loggly-1.1.1.tgz",
"integrity": "sha1-Cg/B0/o6XsRP3HuJe+uipGlc6+4=",
"dev": true,
"optional": true,
- "requires": {
- "json-stringify-safe": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
- "request": "https://registry.npmjs.org/request/-/request-2.75.0.tgz",
- "timespan": "https://registry.npmjs.org/timespan/-/timespan-2.3.0.tgz"
- },
"dependencies": {
"bl": {
- "version": "https://registry.npmjs.org/bl/-/bl-1.1.2.tgz",
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/bl/-/bl-1.1.2.tgz",
"integrity": "sha1-/cqHGplxOqANGeO7ukHER4emU5g=",
"dev": true,
- "optional": true,
- "requires": {
- "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz"
- }
+ "optional": true
},
"form-data": {
- "version": "https://registry.npmjs.org/form-data/-/form-data-2.0.0.tgz",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.0.0.tgz",
"integrity": "sha1-bwrrrcxdoWwT4ezBETfYX5uIOyU=",
"dev": true,
- "optional": true,
- "requires": {
- "asynckit": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
- "combined-stream": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz",
- "mime-types": "2.1.17"
- }
+ "optional": true
},
"node-uuid": {
- "version": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.8.tgz",
+ "version": "1.4.8",
+ "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.8.tgz",
"integrity": "sha1-sEDrCSOWivq/jTL7HxfxFn/auQc=",
"dev": true,
"optional": true
},
"process-nextick-args": {
- "version": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
"integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=",
"dev": true,
"optional": true
},
"qs": {
- "version": "https://registry.npmjs.org/qs/-/qs-6.2.3.tgz",
+ "version": "6.2.3",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.2.3.tgz",
"integrity": "sha1-HPyyXBCpsrSDBT/zn138kjOQjP4=",
"dev": true,
"optional": true
},
"readable-stream": {
- "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz",
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz",
"integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=",
"dev": true,
- "optional": true,
- "requires": {
- "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
- "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "isarray": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "process-nextick-args": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
- "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
- "util-deprecate": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"
- }
+ "optional": true
},
"request": {
- "version": "https://registry.npmjs.org/request/-/request-2.75.0.tgz",
+ "version": "2.75.0",
+ "resolved": "https://registry.npmjs.org/request/-/request-2.75.0.tgz",
"integrity": "sha1-0rgmiihtoT6qXQGt9dGMyQ9lfZM=",
"dev": true,
- "optional": true,
- "requires": {
- "aws-sign2": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz",
- "aws4": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz",
- "bl": "https://registry.npmjs.org/bl/-/bl-1.1.2.tgz",
- "caseless": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz",
- "combined-stream": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz",
- "extend": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz",
- "forever-agent": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
- "form-data": "https://registry.npmjs.org/form-data/-/form-data-2.0.0.tgz",
- "har-validator": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz",
- "hawk": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz",
- "http-signature": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz",
- "is-typedarray": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
- "isstream": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
- "json-stringify-safe": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
- "mime-types": "2.1.17",
- "node-uuid": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.8.tgz",
- "oauth-sign": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz",
- "qs": "https://registry.npmjs.org/qs/-/qs-6.2.3.tgz",
- "stringstream": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz",
- "tough-cookie": "2.3.3",
- "tunnel-agent": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz"
- }
+ "optional": true
},
"string_decoder": {
- "version": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "version": "0.10.31",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
"dev": true,
"optional": true
@@ -9941,114 +6974,90 @@
}
},
"lolex": {
- "version": "https://registry.npmjs.org/lolex/-/lolex-2.3.2.tgz",
- "integrity": "sha1-hflFBCUQO/nnpgZo6iXcQydMqAc=",
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/lolex/-/lolex-2.3.2.tgz",
+ "integrity": "sha512-A5pN2tkFj7H0dGIAM6MFvHKMJcPnjZsOMvR7ujCjfgW5TbV6H9vb1PgxLtHvjqNZTHsUolz+6/WEO0N1xNx2ng==",
"dev": true
},
"longest": {
- "version": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz",
"integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=",
"dev": true
},
"longest-streak": {
- "version": "https://registry.npmjs.org/longest-streak/-/longest-streak-2.0.2.tgz",
- "integrity": "sha1-JCG2upOaRDu5/+v1llhaULTDji4=",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-2.0.2.tgz",
+ "integrity": "sha512-TmYTeEYxiAmSVdpbnQDXGtvYOIRsCMg89CVZzwzc2o7GFL1CjoiRPjH5ec0NFAVlAx3fVof9dX/t6KKRAo2OWA==",
"dev": true
},
"loose-envify": {
- "version": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz",
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz",
"integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=",
- "dev": true,
- "requires": {
- "js-tokens": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz"
- }
+ "dev": true
},
"loud-rejection": {
- "version": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz",
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz",
"integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=",
- "dev": true,
- "requires": {
- "currently-unhandled": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz",
- "signal-exit": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz"
- }
+ "dev": true
},
"lru-cache": {
- "version": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz",
- "integrity": "sha1-Yi4y6CSItJJ5EUpPns9F581rulU=",
- "dev": true,
- "requires": {
- "pseudomap": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
- "yallist": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz"
- }
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.2.tgz",
+ "integrity": "sha512-wgeVXhrDwAWnIF/yZARsFnMBtdFXOg1b8RIrhilp+0iDYN4mdQcNZElDZ0e4B64BhaxeQ5zN7PMyvu7we1kPeQ==",
+ "dev": true
},
"lru-queue": {
- "version": "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz",
- "integrity": "sha1-Jzi9nw089PhEkMVzbEhpmsYyzaM=",
- "requires": {
- "es5-ext": "0.10.38"
- }
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz",
+ "integrity": "sha1-Jzi9nw089PhEkMVzbEhpmsYyzaM="
},
"magic-string": {
- "version": "https://registry.npmjs.org/magic-string/-/magic-string-0.16.0.tgz",
+ "version": "0.16.0",
+ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.16.0.tgz",
"integrity": "sha1-lw67DacZMwEoX7GqZQ85vdgetFo=",
- "dev": true,
- "requires": {
- "vlq": "https://registry.npmjs.org/vlq/-/vlq-0.2.3.tgz"
- }
+ "dev": true
},
"mailcomposer": {
- "version": "https://registry.npmjs.org/mailcomposer/-/mailcomposer-4.0.1.tgz",
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/mailcomposer/-/mailcomposer-4.0.1.tgz",
"integrity": "sha1-DhxEsqB890DuF9wUm6AJ8Zyt/rQ=",
"dev": true,
- "optional": true,
- "requires": {
- "buildmail": "https://registry.npmjs.org/buildmail/-/buildmail-4.0.1.tgz",
- "libmime": "https://registry.npmjs.org/libmime/-/libmime-3.0.0.tgz"
- }
+ "optional": true
},
"mailgun-js": {
- "version": "https://registry.npmjs.org/mailgun-js/-/mailgun-js-0.7.15.tgz",
+ "version": "0.7.15",
+ "resolved": "https://registry.npmjs.org/mailgun-js/-/mailgun-js-0.7.15.tgz",
"integrity": "sha1-7jZqINrGTDwVwD1sGz4O15UlKrs=",
"dev": true,
"optional": true,
- "requires": {
- "async": "https://registry.npmjs.org/async/-/async-2.1.5.tgz",
- "debug": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
- "form-data": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz",
- "inflection": "https://registry.npmjs.org/inflection/-/inflection-1.10.0.tgz",
- "is-stream": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
- "path-proxy": "https://registry.npmjs.org/path-proxy/-/path-proxy-1.0.0.tgz",
- "proxy-agent": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-2.0.0.tgz",
- "q": "https://registry.npmjs.org/q/-/q-1.4.1.tgz",
- "tsscmp": "https://registry.npmjs.org/tsscmp/-/tsscmp-1.0.5.tgz"
- },
"dependencies": {
"async": {
- "version": "https://registry.npmjs.org/async/-/async-2.1.5.tgz",
+ "version": "2.1.5",
+ "resolved": "https://registry.npmjs.org/async/-/async-2.1.5.tgz",
"integrity": "sha1-5YfGhYCZSsZ/xW/4bTrFa9voELw=",
"dev": true,
- "optional": true,
- "requires": {
- "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz"
- }
+ "optional": true
},
"debug": {
- "version": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
"integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
"dev": true,
- "optional": true,
- "requires": {
- "ms": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz"
- }
+ "optional": true
},
"ms": {
- "version": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
+ "version": "0.7.1",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
"integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=",
"dev": true,
"optional": true
},
"q": {
- "version": "https://registry.npmjs.org/q/-/q-1.4.1.tgz",
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/q/-/q-1.4.1.tgz",
"integrity": "sha1-VXBbzZPF82c1MMLCy8DCs63cKG4=",
"dev": true,
"optional": true
@@ -10056,503 +7065,359 @@
}
},
"make-dir": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.1.0.tgz",
- "integrity": "sha512-0Pkui4wLJ7rxvmfUvs87skoEaxmu0hCUApF8nonzpl7q//FWp9zu8W61Scz4sd/kUiqDxvUhtoam2efDyiBzcA==",
- "dev": true,
- "requires": {
- "pify": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz"
- }
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.2.0.tgz",
+ "integrity": "sha512-aNUAa4UMg/UougV25bbrU4ZaaKNjJ/3/xnvg/twpmKROPdKZPZ9wGgI0opdZzO8q/zUFawoUuixuOv33eZ61Iw==",
+ "dev": true
},
"make-error": {
- "version": "1.3.3",
- "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.3.tgz",
- "integrity": "sha512-j3dZCri3cCd23wgPqK/0/KvTN8R+W6fXDqQe8BNLbTpONjbA8SPaRr+q0BQq9bx3Q/+g68/gDIh9FW3by702Tg==",
+ "version": "1.3.4",
+ "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.4.tgz",
+ "integrity": "sha512-0Dab5btKVPhibSalc9QGXb559ED7G7iLjFXBaj9Wq8O3vorueR5K5jaE3hkG6ZQINyhA/JgG6Qk4qdFQjsYV6g==",
"dev": true
},
"make-error-cause": {
- "version": "https://registry.npmjs.org/make-error-cause/-/make-error-cause-1.2.2.tgz",
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/make-error-cause/-/make-error-cause-1.2.2.tgz",
"integrity": "sha1-3wOI/NCzeBbf8KX7gQiTl3fcvJ0=",
- "dev": true,
- "requires": {
- "make-error": "1.3.3"
- }
+ "dev": true
},
"make-iterator": {
- "version": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.0.tgz",
- "integrity": "sha1-V7713IXSOSO6I3ZzJNjo+PPZaUs=",
- "dev": true,
- "requires": {
- "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz"
- },
- "dependencies": {
- "kind-of": {
- "version": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true,
- "requires": {
- "is-buffer": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz"
- }
- }
- }
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz",
+ "integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==",
+ "dev": true
},
"map-cache": {
- "version": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
"integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=",
"dev": true
},
"map-obj": {
- "version": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
"integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=",
"dev": true
},
"map-stream": {
- "version": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz",
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz",
"integrity": "sha1-5WqpTEyAVaFkBKBnS3jyFffI4ZQ=",
"dev": true
},
"map-visit": {
- "version": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
"integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
- "dev": true,
- "requires": {
- "object-visit": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz"
- }
+ "dev": true
},
"markdown-escapes": {
- "version": "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.1.tgz",
- "integrity": "sha1-GZTfLTr0gR3lmmcUk0wrIpJzRRg=",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.2.tgz",
+ "integrity": "sha512-lbRZ2mE3Q9RtLjxZBZ9+IMl68DKIXaVAhwvwn9pmjnPLS0h/6kyBMgNhqi1xFJ/2yv6cSyv0jbiZavZv93JkkA==",
"dev": true
},
"markdown-table": {
- "version": "https://registry.npmjs.org/markdown-table/-/markdown-table-1.1.1.tgz",
- "integrity": "sha1-Sz3ToTPRUYuO8NvHCb8qG0gkvIw=",
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-1.1.2.tgz",
+ "integrity": "sha512-NcWuJFHDA8V3wkDgR/j4+gZx+YQwstPgfQDV8ndUeWWzta3dnDTBxpVzqS9lkmJAuV5YX35lmyojl6HO5JXAgw==",
"dev": true
},
"match-stream": {
- "version": "https://registry.npmjs.org/match-stream/-/match-stream-0.0.2.tgz",
+ "version": "0.0.2",
+ "resolved": "https://registry.npmjs.org/match-stream/-/match-stream-0.0.2.tgz",
"integrity": "sha1-mesFAJOzTf+t5CG5rAtBCpz6F88=",
"dev": true,
- "requires": {
- "buffers": "https://registry.npmjs.org/buffers/-/buffers-0.1.1.tgz",
- "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz"
- },
"dependencies": {
"isarray": {
- "version": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
"integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
"dev": true
},
"readable-stream": {
- "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "version": "1.0.34",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
"integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
- "dev": true,
- "requires": {
- "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
- "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
- "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
- }
+ "dev": true
},
"string_decoder": {
- "version": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "version": "0.10.31",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
"dev": true
}
}
},
"md5.js": {
- "version": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.4.tgz",
+ "version": "1.3.4",
+ "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.4.tgz",
"integrity": "sha1-6b296UogpawYsENA/Fdk1bCdkB0=",
- "dev": true,
- "requires": {
- "hash-base": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz",
- "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz"
- },
- "dependencies": {
- "hash-base": {
- "version": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz",
- "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=",
- "dev": true,
- "requires": {
- "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz"
- }
- }
- }
+ "dev": true
},
"mdast-util-compact": {
- "version": "https://registry.npmjs.org/mdast-util-compact/-/mdast-util-compact-1.0.1.tgz",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/mdast-util-compact/-/mdast-util-compact-1.0.1.tgz",
"integrity": "sha1-zbX4TitqLTEU3zO9BdnLMuPECDo=",
- "dev": true,
- "requires": {
- "unist-util-modify-children": "https://registry.npmjs.org/unist-util-modify-children/-/unist-util-modify-children-1.1.1.tgz",
- "unist-util-visit": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-1.3.0.tgz"
- }
+ "dev": true
},
"mdast-util-definitions": {
- "version": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-1.2.2.tgz",
- "integrity": "sha1-Zz9Dd8PiPT3nr3pP4iFMDiIcWsc=",
- "dev": true,
- "requires": {
- "unist-util-visit": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-1.3.0.tgz"
- }
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-1.2.2.tgz",
+ "integrity": "sha512-9NloPSwaB9f1PKcGqaScfqRf6zKOEjTIXVIbPOmgWI/JKxznlgVXC5C+8qgl3AjYg2vJBRgLYfLICaNiac89iA==",
+ "dev": true
},
"mdast-util-inject": {
- "version": "https://registry.npmjs.org/mdast-util-inject/-/mdast-util-inject-1.1.0.tgz",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/mdast-util-inject/-/mdast-util-inject-1.1.0.tgz",
"integrity": "sha1-2wa4tYW+lZotzS+H9HK6m3VvNnU=",
- "dev": true,
- "requires": {
- "mdast-util-to-string": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-1.0.4.tgz"
- }
+ "dev": true
},
"mdast-util-to-hast": {
- "version": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-3.0.0.tgz",
- "integrity": "sha1-aeNn+yqesCR038AXczuP0nLVXTo=",
- "dev": true,
- "requires": {
- "collapse-white-space": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.3.tgz",
- "detab": "https://registry.npmjs.org/detab/-/detab-2.0.1.tgz",
- "mdast-util-definitions": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-1.2.2.tgz",
- "mdurl": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz",
- "trim": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz",
- "trim-lines": "https://registry.npmjs.org/trim-lines/-/trim-lines-1.1.0.tgz",
- "unist-builder": "https://registry.npmjs.org/unist-builder/-/unist-builder-1.0.2.tgz",
- "unist-util-generated": "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-1.1.1.tgz",
- "unist-util-position": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-3.0.0.tgz",
- "unist-util-visit": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-1.3.0.tgz",
- "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
- }
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-3.0.0.tgz",
+ "integrity": "sha512-zvEXH2AUevWfKuBqtEPNcDUPI8UC6yIVvgEgNi1v1dLnzb5Pfm+PZjnZn0FhW1WmHcrGMX059MAoqicEauzjcw==",
+ "dev": true
},
"mdast-util-to-string": {
- "version": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-1.0.4.tgz",
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-1.0.4.tgz",
"integrity": "sha1-XEVch4yTVfDB5/PotxnPWDaRrPs=",
"dev": true
},
"mdast-util-toc": {
- "version": "https://registry.npmjs.org/mdast-util-toc/-/mdast-util-toc-2.0.1.tgz",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/mdast-util-toc/-/mdast-util-toc-2.0.1.tgz",
"integrity": "sha1-sdLLI7+wH4Evp7Vb/+iwqL7fbyE=",
- "dev": true,
- "requires": {
- "github-slugger": "https://registry.npmjs.org/github-slugger/-/github-slugger-1.2.0.tgz",
- "mdast-util-to-string": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-1.0.4.tgz",
- "unist-util-visit": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-1.3.0.tgz"
- }
+ "dev": true
},
"mdurl": {
- "version": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz",
"integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=",
"dev": true
},
"media-typer": {
- "version": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
"integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=",
"dev": true
},
"mem": {
- "version": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz",
"integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=",
- "dev": true,
- "requires": {
- "mimic-fn": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz"
- }
+ "dev": true
},
"memoizee": {
- "version": "0.4.11",
- "resolved": "https://registry.npmjs.org/memoizee/-/memoizee-0.4.11.tgz",
- "integrity": "sha1-vemBdmPJ5A/bKk6hw2cpYIeujI8=",
- "requires": {
- "d": "https://registry.npmjs.org/d/-/d-1.0.0.tgz",
- "es5-ext": "0.10.38",
- "es6-weak-map": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz",
- "event-emitter": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz",
- "is-promise": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz",
- "lru-queue": "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz",
- "next-tick": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz",
- "timers-ext": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.2.tgz"
- }
+ "version": "0.4.12",
+ "resolved": "https://registry.npmjs.org/memoizee/-/memoizee-0.4.12.tgz",
+ "integrity": "sha512-sprBu6nwxBWBvBOh5v2jcsGqiGLlL2xr2dLub3vR8dnE8YB17omwtm/0NSHl8jjNbcsJd5GMWJAnTSVe/O0Wfg=="
},
"memory-fs": {
- "version": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz",
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz",
"integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=",
- "dev": true,
- "requires": {
- "errno": "0.1.6",
- "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.4.tgz"
- }
+ "dev": true
},
"meow": {
- "version": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz",
+ "version": "3.7.0",
+ "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz",
"integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=",
"dev": true,
- "requires": {
- "camelcase-keys": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz",
- "decamelize": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
- "loud-rejection": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz",
- "map-obj": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
- "minimist": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
- "normalize-package-data": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz",
- "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
- "read-pkg-up": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz",
- "redent": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz",
- "trim-newlines": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz"
- },
"dependencies": {
"find-up": {
- "version": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
"integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
- "dev": true,
- "requires": {
- "path-exists": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
- "pinkie-promise": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz"
- }
+ "dev": true
},
"load-json-file": {
- "version": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
"integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
- "dev": true,
- "requires": {
- "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
- "parse-json": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
- "pify": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
- "pinkie-promise": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
- "strip-bom": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz"
- }
+ "dev": true
},
"minimist": {
- "version": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
"integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
"dev": true
},
"parse-json": {
- "version": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
"integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
- "dev": true,
- "requires": {
- "error-ex": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz"
- }
+ "dev": true
},
"path-exists": {
- "version": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
"integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
- "dev": true,
- "requires": {
- "pinkie-promise": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz"
- }
+ "dev": true
},
"path-type": {
- "version": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz",
"integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=",
- "dev": true,
- "requires": {
- "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
- "pify": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
- "pinkie-promise": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz"
- }
+ "dev": true
},
"pify": {
- "version": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
"integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
"dev": true
},
"read-pkg": {
- "version": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz",
"integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=",
- "dev": true,
- "requires": {
- "load-json-file": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
- "normalize-package-data": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz",
- "path-type": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz"
- }
+ "dev": true
},
"read-pkg-up": {
- "version": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz",
"integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=",
- "dev": true,
- "requires": {
- "find-up": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
- "read-pkg": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz"
- }
+ "dev": true
},
"strip-bom": {
- "version": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
"integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
- "dev": true,
- "requires": {
- "is-utf8": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz"
- }
+ "dev": true
}
}
},
"merge-descriptors": {
- "version": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
"integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=",
"dev": true
},
"merge-stream": {
- "version": "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz",
"integrity": "sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE=",
- "dev": true,
- "requires": {
- "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.4.tgz"
- }
+ "dev": true
},
"method-override": {
- "version": "https://registry.npmjs.org/method-override/-/method-override-2.3.10.tgz",
+ "version": "2.3.10",
+ "resolved": "https://registry.npmjs.org/method-override/-/method-override-2.3.10.tgz",
"integrity": "sha1-49r41d7hDdLc59SuiNYrvud0drQ=",
"dev": true,
- "requires": {
- "debug": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "methods": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
- "parseurl": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz",
- "vary": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz"
- },
"dependencies": {
"debug": {
- "version": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
- "dev": true,
- "requires": {
- "ms": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"
- }
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true
},
"vary": {
- "version": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
"integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=",
"dev": true
}
}
},
"methods": {
- "version": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
"integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=",
"dev": true
},
"micromatch": {
- "version": "3.1.5",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.5.tgz",
- "integrity": "sha512-ykttrLPQrz1PUJcXjwsTUjGoPJ64StIGNE2lGVD1c9CuguJ+L7/navsE8IcDNndOoCMvYV0qc/exfVbMHkUhvA==",
- "dev": true,
- "requires": {
- "arr-diff": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
- "array-unique": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
- "braces": "2.3.0",
- "define-property": "1.0.0",
- "extend-shallow": "2.0.1",
- "extglob": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
- "fragment-cache": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
- "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
- "nanomatch": "1.2.7",
- "object.pick": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
- "regex-not": "1.0.0",
- "snapdragon": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.1.tgz",
- "to-regex": "3.0.1"
- }
+ "version": "3.1.10",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
+ "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
+ "dev": true
},
"miller-rabin": {
- "version": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz",
- "integrity": "sha1-8IA1HIZbDcViqEYpZtqlNUPHik0=",
- "dev": true,
- "requires": {
- "bn.js": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz",
- "brorand": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz"
- }
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz",
+ "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==",
+ "dev": true
},
"mime": {
- "version": "https://registry.npmjs.org/mime/-/mime-2.2.0.tgz",
- "integrity": "sha1-Fh5UGWVVHTtUn6ERQ5Hjo9Vbkjs=",
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
+ "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
"dev": true
},
"mime-db": {
- "version": "1.30.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.30.0.tgz",
- "integrity": "sha1-dMZD2i3Z1qRTmZY0ZbJtXKfXHwE=",
+ "version": "1.33.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz",
+ "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==",
"dev": true
},
"mime-types": {
- "version": "2.1.17",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz",
- "integrity": "sha1-Cdejk/A+mVp5+K+Fe3Cp4KsWVXo=",
- "dev": true,
- "requires": {
- "mime-db": "1.30.0"
- }
+ "version": "2.1.18",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz",
+ "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==",
+ "dev": true
},
"mimic-fn": {
- "version": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz",
- "integrity": "sha1-ggyGo5M0ZA6ZUWkovQP8qIBX0CI=",
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz",
+ "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==",
"dev": true
},
"minimalistic-assert": {
- "version": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz",
- "integrity": "sha1-cCvi3aazf0g2vLP121ZkG2Sh09M=",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
+ "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==",
"dev": true
},
"minimalistic-crypto-utils": {
- "version": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz",
"integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=",
"dev": true
},
"minimatch": {
- "version": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
- "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=",
- "dev": true,
- "requires": {
- "brace-expansion": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz"
- }
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+ "dev": true
},
"minimist": {
- "version": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
+ "version": "0.0.8",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
"integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
"dev": true
},
"mixin-deep": {
- "version": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz",
- "integrity": "sha1-pJ5yaNzhoNlpjkUybFYm3zVD0P4=",
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz",
+ "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==",
"dev": true,
- "requires": {
- "for-in": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
- "is-extendable": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz"
- },
"dependencies": {
"is-extendable": {
- "version": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
- "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=",
- "dev": true,
- "requires": {
- "is-plain-object": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz"
- }
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
+ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
+ "dev": true
}
}
},
"mkdirp": {
- "version": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+ "version": "0.5.1",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
"integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
- "dev": true,
- "requires": {
- "minimist": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz"
- }
+ "dev": true
},
"mkpath": {
- "version": "https://registry.npmjs.org/mkpath/-/mkpath-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/mkpath/-/mkpath-1.0.0.tgz",
"integrity": "sha1-67Opd+evHGg65v2hK1Raa6bFhT0=",
"dev": true
},
"mocha": {
- "version": "https://registry.npmjs.org/mocha/-/mocha-2.2.5.tgz",
+ "version": "2.2.5",
+ "resolved": "https://registry.npmjs.org/mocha/-/mocha-2.2.5.tgz",
"integrity": "sha1-07cqT+SeyUOTU/GsiT28Qw2ZMUA=",
"dev": true,
- "requires": {
- "commander": "2.3.0",
- "debug": "2.0.0",
- "diff": "https://registry.npmjs.org/diff/-/diff-1.4.0.tgz",
- "escape-string-regexp": "1.0.2",
- "glob": "3.2.3",
- "growl": "1.8.1",
- "jade": "0.26.3",
- "mkdirp": "0.5.0",
- "supports-color": "https://registry.npmjs.org/supports-color/-/supports-color-1.2.1.tgz"
- },
"dependencies": {
"commander": {
"version": "2.3.0",
@@ -10564,10 +7429,7 @@
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.0.0.tgz",
"integrity": "sha1-ib2d9nMrUSVrxnBTQrugLtEhMe8=",
- "dev": true,
- "requires": {
- "ms": "0.6.2"
- }
+ "dev": true
},
"escape-string-regexp": {
"version": "1.0.2",
@@ -10579,12 +7441,7 @@
"version": "3.2.3",
"resolved": "https://registry.npmjs.org/glob/-/glob-3.2.3.tgz",
"integrity": "sha1-4xPusknHr/qlxHUoaw4RW1mDlGc=",
- "dev": true,
- "requires": {
- "graceful-fs": "2.0.3",
- "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "minimatch": "0.2.14"
- }
+ "dev": true
},
"graceful-fs": {
"version": "2.0.3",
@@ -10602,20 +7459,13 @@
"version": "0.2.14",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz",
"integrity": "sha1-x054BXT2PG+aCQ6Q775u9TpqdWo=",
- "dev": true,
- "requires": {
- "lru-cache": "2.7.3",
- "sigmund": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz"
- }
+ "dev": true
},
"mkdirp": {
"version": "0.5.0",
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.0.tgz",
"integrity": "sha1-HXMHam35hs2TROFecfzAWkyavxI=",
- "dev": true,
- "requires": {
- "minimist": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz"
- }
+ "dev": true
},
"ms": {
"version": "0.6.2",
@@ -10624,447 +7474,313 @@
"dev": true
},
"supports-color": {
- "version": "https://registry.npmjs.org/supports-color/-/supports-color-1.2.1.tgz",
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-1.2.1.tgz",
"integrity": "sha1-Eu4hUHCGzZjBBY2ewPSsR2t687I=",
"dev": true
}
}
},
"mocha-nightwatch": {
- "version": "https://registry.npmjs.org/mocha-nightwatch/-/mocha-nightwatch-3.2.2.tgz",
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/mocha-nightwatch/-/mocha-nightwatch-3.2.2.tgz",
"integrity": "sha1-kby5s73gV912d8eBJeSR5Y1mZHw=",
"dev": true,
- "requires": {
- "browser-stdout": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.0.tgz",
- "commander": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz",
- "debug": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
- "diff": "https://registry.npmjs.org/diff/-/diff-1.4.0.tgz",
- "escape-string-regexp": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "glob": "https://registry.npmjs.org/glob/-/glob-7.0.5.tgz",
- "growl": "https://registry.npmjs.org/growl/-/growl-1.9.2.tgz",
- "json3": "https://registry.npmjs.org/json3/-/json3-3.3.2.tgz",
- "lodash.create": "https://registry.npmjs.org/lodash.create/-/lodash.create-3.1.1.tgz",
- "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
- "supports-color": "https://registry.npmjs.org/supports-color/-/supports-color-3.1.2.tgz"
- },
"dependencies": {
"commander": {
- "version": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz",
+ "version": "2.9.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz",
"integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=",
- "dev": true,
- "requires": {
- "graceful-readlink": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz"
- }
+ "dev": true
},
"debug": {
- "version": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
"integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
- "dev": true,
- "requires": {
- "ms": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz"
- }
+ "dev": true
},
"glob": {
- "version": "https://registry.npmjs.org/glob/-/glob-7.0.5.tgz",
+ "version": "7.0.5",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.5.tgz",
"integrity": "sha1-tCAqaQmbu00pKnwblbZoK2fr3JU=",
- "dev": true,
- "requires": {
- "fs.realpath": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
- "inflight": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
- "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
- "once": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
- "path-is-absolute": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz"
- }
+ "dev": true
},
"growl": {
- "version": "https://registry.npmjs.org/growl/-/growl-1.9.2.tgz",
+ "version": "1.9.2",
+ "resolved": "https://registry.npmjs.org/growl/-/growl-1.9.2.tgz",
"integrity": "sha1-Dqd0NxXbjY3ixe3hd14bRayFwC8=",
"dev": true
},
"has-flag": {
- "version": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
"integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
"dev": true
},
"ms": {
- "version": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
+ "version": "0.7.1",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
"integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=",
"dev": true
},
"supports-color": {
- "version": "https://registry.npmjs.org/supports-color/-/supports-color-3.1.2.tgz",
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.1.2.tgz",
"integrity": "sha1-cqJiiU2dQIuVbKBf83su2KbiotU=",
- "dev": true,
- "requires": {
- "has-flag": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz"
- }
+ "dev": true
}
}
},
"mock-fs": {
- "version": "https://registry.npmjs.org/mock-fs/-/mock-fs-3.12.1.tgz",
+ "version": "3.12.1",
+ "resolved": "https://registry.npmjs.org/mock-fs/-/mock-fs-3.12.1.tgz",
"integrity": "sha1-/yeCTNarJjp+sFoRUjnUHTYx9fg=",
"dev": true,
- "requires": {
- "rewire": "https://registry.npmjs.org/rewire/-/rewire-2.5.2.tgz",
- "semver": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz"
- },
"dependencies": {
"semver": {
- "version": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
"integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=",
"dev": true
}
}
},
"module-deps-sortable": {
- "version": "https://registry.npmjs.org/module-deps-sortable/-/module-deps-sortable-4.0.6.tgz",
+ "version": "4.0.6",
+ "resolved": "https://registry.npmjs.org/module-deps-sortable/-/module-deps-sortable-4.0.6.tgz",
"integrity": "sha1-ElGkuixEqS32mJvQKdoSGk8hCbA=",
"dev": true,
- "requires": {
- "JSONStream": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.2.tgz",
- "browser-resolve": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.2.tgz",
- "concat-stream": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.2.tgz",
- "defined": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz",
- "detective": "https://registry.npmjs.org/detective/-/detective-4.7.1.tgz",
- "duplexer2": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz",
- "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "parents": "https://registry.npmjs.org/parents/-/parents-1.0.1.tgz",
- "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.4.tgz",
- "resolve": "https://registry.npmjs.org/resolve/-/resolve-1.5.0.tgz",
- "stream-combiner2": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz",
- "subarg": "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz",
- "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
- "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
- },
"dependencies": {
"concat-stream": {
- "version": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.2.tgz",
+ "version": "1.5.2",
+ "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.2.tgz",
"integrity": "sha1-cIl4Yk2FavQaWnQd790mHadSwmY=",
"dev": true,
- "requires": {
- "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz",
- "typedarray": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz"
- },
"dependencies": {
"readable-stream": {
- "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz",
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz",
"integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=",
- "dev": true,
- "requires": {
- "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
- "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "isarray": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "process-nextick-args": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
- "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
- "util-deprecate": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"
- }
+ "dev": true
}
}
},
"process-nextick-args": {
- "version": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
"integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=",
"dev": true
},
"string_decoder": {
- "version": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "version": "0.10.31",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
"dev": true
}
}
},
"module-not-found-error": {
- "version": "https://registry.npmjs.org/module-not-found-error/-/module-not-found-error-1.0.1.tgz",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/module-not-found-error/-/module-not-found-error-1.0.1.tgz",
"integrity": "sha1-z4tP9PKWQGdNbN0CsOO8UjwrvcA=",
"dev": true
},
"morgan": {
- "version": "https://registry.npmjs.org/morgan/-/morgan-1.6.1.tgz",
+ "version": "1.6.1",
+ "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.6.1.tgz",
"integrity": "sha1-X9gYOYxoGcuiinzWZk8pL+HAu/I=",
"dev": true,
- "requires": {
- "basic-auth": "https://registry.npmjs.org/basic-auth/-/basic-auth-1.0.4.tgz",
- "debug": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
- "depd": "https://registry.npmjs.org/depd/-/depd-1.0.1.tgz",
- "on-finished": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
- "on-headers": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz"
- },
"dependencies": {
"debug": {
- "version": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
"integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
- "dev": true,
- "requires": {
- "ms": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz"
- }
+ "dev": true
},
"ms": {
- "version": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
+ "version": "0.7.1",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
"integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=",
"dev": true
}
}
},
"ms": {
- "version": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
},
"multiparty": {
- "version": "https://registry.npmjs.org/multiparty/-/multiparty-3.3.2.tgz",
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/multiparty/-/multiparty-3.3.2.tgz",
"integrity": "sha1-Nd5oBNwZZD5SSfPT473GyM4wHT8=",
"dev": true,
- "requires": {
- "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
- "stream-counter": "https://registry.npmjs.org/stream-counter/-/stream-counter-0.2.0.tgz"
- },
"dependencies": {
"isarray": {
- "version": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
"integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
"dev": true
},
"readable-stream": {
- "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
+ "version": "1.1.14",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
"integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
- "dev": true,
- "requires": {
- "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
- "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
- "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
- }
+ "dev": true
},
"string_decoder": {
- "version": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "version": "0.10.31",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
"dev": true
}
}
},
"multipipe": {
- "version": "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz",
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz",
"integrity": "sha1-Ko8t33Du1WTf8tV/HhoTfZ8FB4s=",
"dev": true,
- "requires": {
- "duplexer2": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz"
- },
"dependencies": {
"duplexer2": {
- "version": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz",
+ "version": "0.0.2",
+ "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz",
"integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=",
- "dev": true,
- "requires": {
- "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz"
- }
+ "dev": true
},
"isarray": {
- "version": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
"integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
"dev": true
},
"readable-stream": {
- "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
+ "version": "1.1.14",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
"integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
- "dev": true,
- "requires": {
- "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
- "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
- "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
- }
+ "dev": true
},
"string_decoder": {
- "version": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "version": "0.10.31",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
"dev": true
}
}
},
"mute-stream": {
- "version": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz",
+ "version": "0.0.7",
+ "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz",
"integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=",
"dev": true
},
"nan": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/nan/-/nan-2.8.0.tgz",
- "integrity": "sha1-7XFfP+neArV6XmJS2QqWZ14fCFo=",
+ "version": "2.10.0",
+ "resolved": "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz",
+ "integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA==",
"dev": true,
"optional": true
},
"nanomatch": {
- "version": "1.2.7",
- "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.7.tgz",
- "integrity": "sha512-/5ldsnyurvEw7wNpxLFgjVvBLMta43niEYOy0CJ4ntcYSbx6bugRUTQeFb4BR/WanEL1o3aQgHuVLHQaB6tOqg==",
- "dev": true,
- "requires": {
- "arr-diff": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
- "array-unique": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
- "define-property": "1.0.0",
- "extend-shallow": "2.0.1",
- "fragment-cache": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
- "is-odd": "1.0.0",
- "kind-of": "5.1.0",
- "object.pick": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
- "regex-not": "1.0.0",
- "snapdragon": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.1.tgz",
- "to-regex": "3.0.1"
- },
- "dependencies": {
- "kind-of": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
- "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
- "dev": true
- }
- }
+ "version": "1.2.9",
+ "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.9.tgz",
+ "integrity": "sha512-n8R9bS8yQ6eSXaV6jHUpKzD8gLsin02w1HSFiegwrs9E098Ylhw5jdyKPaYqvHknHaSCKTPp7C8dGCQ0q9koXA==",
+ "dev": true
},
"natives": {
- "version": "https://registry.npmjs.org/natives/-/natives-1.1.1.tgz",
- "integrity": "sha1-ARrM4ffL2H97prMJPWzZOSvhxXQ=",
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/natives/-/natives-1.1.3.tgz",
+ "integrity": "sha512-BZGSYV4YOLxzoTK73l0/s/0sH9l8SHs2ocReMH1f8JYSh5FUWu4ZrKCpJdRkWXV6HFR/pZDz7bwWOVAY07q77g==",
"dev": true
},
"natural-compare": {
- "version": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
"integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
"dev": true
},
"ncp": {
- "version": "https://registry.npmjs.org/ncp/-/ncp-0.4.2.tgz",
+ "version": "0.4.2",
+ "resolved": "https://registry.npmjs.org/ncp/-/ncp-0.4.2.tgz",
"integrity": "sha1-q8xsvT7C7Spyn/bnwfqPAXhKhXQ=",
"dev": true
},
"negotiator": {
- "version": "https://registry.npmjs.org/negotiator/-/negotiator-0.5.3.tgz",
+ "version": "0.5.3",
+ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.5.3.tgz",
"integrity": "sha1-Jp1cR2gQ7JLtvntsLygxY4T5p+g=",
"dev": true
},
+ "neo-async": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.5.1.tgz",
+ "integrity": "sha512-3KL3fvuRkZ7s4IFOMfztb7zJp3QaVWnBeGoJlgB38XnCRPj/0tLzzLG5IB8NYOHbJ8g8UGrgZv44GLDk6CxTxA==",
+ "dev": true
+ },
"netmask": {
- "version": "https://registry.npmjs.org/netmask/-/netmask-1.0.6.tgz",
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/netmask/-/netmask-1.0.6.tgz",
"integrity": "sha1-ICl+idhvb2QA8lDZ9Pa0wZRfzTU=",
"dev": true
},
"next-tick": {
- "version": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz",
"integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw="
},
"nightwatch": {
- "version": "https://registry.npmjs.org/nightwatch/-/nightwatch-0.9.19.tgz",
- "integrity": "sha1-S9l1cnPTC4RfBIR6mLcb6bt8Szs=",
- "dev": true,
- "requires": {
- "chai-nightwatch": "https://registry.npmjs.org/chai-nightwatch/-/chai-nightwatch-0.1.1.tgz",
- "ejs": "https://registry.npmjs.org/ejs/-/ejs-2.5.7.tgz",
- "lodash.clone": "https://registry.npmjs.org/lodash.clone/-/lodash.clone-3.0.3.tgz",
- "lodash.defaultsdeep": "https://registry.npmjs.org/lodash.defaultsdeep/-/lodash.defaultsdeep-4.3.2.tgz",
- "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz",
- "mkpath": "https://registry.npmjs.org/mkpath/-/mkpath-1.0.0.tgz",
- "mocha-nightwatch": "https://registry.npmjs.org/mocha-nightwatch/-/mocha-nightwatch-3.2.2.tgz",
- "optimist": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz",
- "proxy-agent": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-2.0.0.tgz",
- "q": "https://registry.npmjs.org/q/-/q-1.4.1.tgz"
- },
+ "version": "0.9.20",
+ "resolved": "https://registry.npmjs.org/nightwatch/-/nightwatch-0.9.20.tgz",
+ "integrity": "sha1-FW0XzQWMvDH0OrGOkV9+wpf7U+A=",
+ "dev": true,
"dependencies": {
+ "ejs": {
+ "version": "2.5.7",
+ "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.5.7.tgz",
+ "integrity": "sha1-zIcsFoiArjxxiXYv1f/ACJbJUYo=",
+ "dev": true
+ },
"minimatch": {
- "version": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz",
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz",
"integrity": "sha1-Kk5AkLlrLbBqnX3wEFWmKnfJt3Q=",
- "dev": true,
- "requires": {
- "brace-expansion": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz"
- }
+ "dev": true
},
"q": {
- "version": "https://registry.npmjs.org/q/-/q-1.4.1.tgz",
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/q/-/q-1.4.1.tgz",
"integrity": "sha1-VXBbzZPF82c1MMLCy8DCs63cKG4=",
"dev": true
}
}
},
"nise": {
- "version": "1.2.5",
- "resolved": "https://registry.npmjs.org/nise/-/nise-1.2.5.tgz",
- "integrity": "sha512-Es4hGuq3lpip5PckrB+Qpuma282M0UJANJ+jxAgI+0wWTL9X6MtNv+M385JgqsAE8hv6NvD3lv8CQtXgEnvlpQ==",
- "dev": true,
- "requires": {
- "@sinonjs/formatio": "https://registry.npmjs.org/@sinonjs/formatio/-/formatio-2.0.0.tgz",
- "just-extend": "https://registry.npmjs.org/just-extend/-/just-extend-1.1.27.tgz",
- "lolex": "https://registry.npmjs.org/lolex/-/lolex-2.3.2.tgz",
- "path-to-regexp": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.7.0.tgz",
- "text-encoding": "https://registry.npmjs.org/text-encoding/-/text-encoding-0.6.4.tgz"
- }
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/nise/-/nise-1.3.3.tgz",
+ "integrity": "sha512-v1J/FLUB9PfGqZLGDBhQqODkbLotP0WtLo9R4EJY2PPu5f5Xg4o0rA8FDlmrjFSv9vBBKcfnOSpfYYuu5RTHqg==",
+ "dev": true
},
"node-int64": {
- "version": "https://registry.npmjs.org/node-int64/-/node-int64-0.3.3.tgz",
+ "version": "0.3.3",
+ "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.3.3.tgz",
"integrity": "sha1-LW5rLs5d6FiLQ9iNG8QbJs0fqE0=",
"dev": true
},
"node-libs-browser": {
- "version": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.1.0.tgz",
- "integrity": "sha1-X5QmPUBPbkR2fXJpAf/wVHjWAN8=",
- "dev": true,
- "requires": {
- "assert": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz",
- "browserify-zlib": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz",
- "buffer": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz",
- "console-browserify": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz",
- "constants-browserify": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz",
- "crypto-browserify": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz",
- "domain-browser": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.1.7.tgz",
- "events": "https://registry.npmjs.org/events/-/events-1.1.1.tgz",
- "https-browserify": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz",
- "os-browserify": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz",
- "path-browserify": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz",
- "process": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
- "punycode": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
- "querystring-es3": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz",
- "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.4.tgz",
- "stream-browserify": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz",
- "stream-http": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.0.tgz",
- "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz",
- "timers-browserify": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.6.tgz",
- "tty-browserify": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz",
- "url": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
- "util": "https://registry.npmjs.org/util/-/util-0.10.3.tgz",
- "vm-browserify": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz"
- },
- "dependencies": {
- "buffer": {
- "version": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz",
- "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=",
- "dev": true,
- "requires": {
- "base64-js": "1.2.1",
- "ieee754": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.8.tgz",
- "isarray": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz"
- }
- },
- "timers-browserify": {
- "version": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.6.tgz",
- "integrity": "sha1-JB52kn2coF9NlZgZAi9bNmS2S64=",
- "dev": true,
- "requires": {
- "setimmediate": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz"
- }
- },
- "tty-browserify": {
- "version": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz",
- "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=",
- "dev": true
- },
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.1.0.tgz",
+ "integrity": "sha512-5AzFzdoIMb89hBGMZglEegffzgRg+ZFoUmisQ8HI4j1KDdpx13J0taNp2y9xPbur6W61gepGDDotGBVQ7mfUCg==",
+ "dev": true,
+ "dependencies": {
"url": {
- "version": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
+ "version": "0.11.0",
+ "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
"integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=",
"dev": true,
- "requires": {
- "punycode": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
- "querystring": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz"
- },
"dependencies": {
"punycode": {
- "version": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
"integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=",
"dev": true
}
@@ -11073,856 +7789,655 @@
}
},
"nodemailer": {
- "version": "https://registry.npmjs.org/nodemailer/-/nodemailer-2.7.2.tgz",
+ "version": "2.7.2",
+ "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-2.7.2.tgz",
"integrity": "sha1-8kLmSa7q45tsftdA73sGHEBNMPk=",
"dev": true,
"optional": true,
- "requires": {
- "libmime": "https://registry.npmjs.org/libmime/-/libmime-3.0.0.tgz",
- "mailcomposer": "https://registry.npmjs.org/mailcomposer/-/mailcomposer-4.0.1.tgz",
- "nodemailer-direct-transport": "https://registry.npmjs.org/nodemailer-direct-transport/-/nodemailer-direct-transport-3.3.2.tgz",
- "nodemailer-shared": "https://registry.npmjs.org/nodemailer-shared/-/nodemailer-shared-1.1.0.tgz",
- "nodemailer-smtp-pool": "https://registry.npmjs.org/nodemailer-smtp-pool/-/nodemailer-smtp-pool-2.8.2.tgz",
- "nodemailer-smtp-transport": "https://registry.npmjs.org/nodemailer-smtp-transport/-/nodemailer-smtp-transport-2.7.2.tgz",
- "socks": "https://registry.npmjs.org/socks/-/socks-1.1.9.tgz"
- },
"dependencies": {
"ip": {
- "version": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz",
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz",
"integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=",
"dev": true,
"optional": true
},
"socks": {
- "version": "https://registry.npmjs.org/socks/-/socks-1.1.9.tgz",
+ "version": "1.1.9",
+ "resolved": "https://registry.npmjs.org/socks/-/socks-1.1.9.tgz",
"integrity": "sha1-Yo1+TQSRJDVEWsC25Fk3bLPm1pE=",
"dev": true,
- "optional": true,
- "requires": {
- "ip": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz",
- "smart-buffer": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-1.1.15.tgz"
- }
+ "optional": true
}
}
},
"nodemailer-direct-transport": {
- "version": "https://registry.npmjs.org/nodemailer-direct-transport/-/nodemailer-direct-transport-3.3.2.tgz",
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/nodemailer-direct-transport/-/nodemailer-direct-transport-3.3.2.tgz",
"integrity": "sha1-6W+vuQNYVglH5WkBfZfmBzilCoY=",
"dev": true,
- "optional": true,
- "requires": {
- "nodemailer-shared": "https://registry.npmjs.org/nodemailer-shared/-/nodemailer-shared-1.1.0.tgz",
- "smtp-connection": "https://registry.npmjs.org/smtp-connection/-/smtp-connection-2.12.0.tgz"
- }
+ "optional": true
},
"nodemailer-fetch": {
- "version": "https://registry.npmjs.org/nodemailer-fetch/-/nodemailer-fetch-1.6.0.tgz",
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/nodemailer-fetch/-/nodemailer-fetch-1.6.0.tgz",
"integrity": "sha1-ecSQihwPXzdbc/6IjamCj23JY6Q=",
"dev": true
},
"nodemailer-shared": {
- "version": "https://registry.npmjs.org/nodemailer-shared/-/nodemailer-shared-1.1.0.tgz",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/nodemailer-shared/-/nodemailer-shared-1.1.0.tgz",
"integrity": "sha1-z1mU4v0mjQD1zw+nZ6CBae2wfsA=",
- "dev": true,
- "requires": {
- "nodemailer-fetch": "https://registry.npmjs.org/nodemailer-fetch/-/nodemailer-fetch-1.6.0.tgz"
- }
+ "dev": true
},
"nodemailer-smtp-pool": {
- "version": "https://registry.npmjs.org/nodemailer-smtp-pool/-/nodemailer-smtp-pool-2.8.2.tgz",
+ "version": "2.8.2",
+ "resolved": "https://registry.npmjs.org/nodemailer-smtp-pool/-/nodemailer-smtp-pool-2.8.2.tgz",
"integrity": "sha1-LrlNbPhXgLG0clzoU7nL1ejajHI=",
"dev": true,
- "optional": true,
- "requires": {
- "nodemailer-shared": "https://registry.npmjs.org/nodemailer-shared/-/nodemailer-shared-1.1.0.tgz",
- "nodemailer-wellknown": "https://registry.npmjs.org/nodemailer-wellknown/-/nodemailer-wellknown-0.1.10.tgz",
- "smtp-connection": "https://registry.npmjs.org/smtp-connection/-/smtp-connection-2.12.0.tgz"
- }
+ "optional": true
},
"nodemailer-smtp-transport": {
- "version": "https://registry.npmjs.org/nodemailer-smtp-transport/-/nodemailer-smtp-transport-2.7.2.tgz",
+ "version": "2.7.2",
+ "resolved": "https://registry.npmjs.org/nodemailer-smtp-transport/-/nodemailer-smtp-transport-2.7.2.tgz",
"integrity": "sha1-A9ccdjFPFKx9vHvwM6am0W1n+3c=",
"dev": true,
- "optional": true,
- "requires": {
- "nodemailer-shared": "https://registry.npmjs.org/nodemailer-shared/-/nodemailer-shared-1.1.0.tgz",
- "nodemailer-wellknown": "https://registry.npmjs.org/nodemailer-wellknown/-/nodemailer-wellknown-0.1.10.tgz",
- "smtp-connection": "https://registry.npmjs.org/smtp-connection/-/smtp-connection-2.12.0.tgz"
- }
+ "optional": true
},
"nodemailer-wellknown": {
- "version": "https://registry.npmjs.org/nodemailer-wellknown/-/nodemailer-wellknown-0.1.10.tgz",
+ "version": "0.1.10",
+ "resolved": "https://registry.npmjs.org/nodemailer-wellknown/-/nodemailer-wellknown-0.1.10.tgz",
"integrity": "sha1-WG24EB2zDLRDjrVGc3pBqtDPE9U=",
"dev": true
},
"nopt": {
- "version": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
+ "version": "3.0.6",
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
"integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=",
- "dev": true,
- "requires": {
- "abbrev": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz"
- }
+ "dev": true
},
"normalize-package-data": {
- "version": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz",
- "integrity": "sha1-EvlaMH1YNSB1oEkHuErIvpisAS8=",
- "dev": true,
- "requires": {
- "hosted-git-info": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.5.0.tgz",
- "is-builtin-module": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz",
- "semver": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz",
- "validate-npm-package-license": "3.0.1"
- }
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz",
+ "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==",
+ "dev": true
},
"normalize-path": {
- "version": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
- "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
- "requires": {
- "remove-trailing-separator": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz"
- }
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
+ "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk="
},
"now-and-later": {
- "version": "https://registry.npmjs.org/now-and-later/-/now-and-later-2.0.0.tgz",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/now-and-later/-/now-and-later-2.0.0.tgz",
"integrity": "sha1-vGHLtFbXnLMiB85HygUTb/Ln1u4=",
- "dev": true,
- "requires": {
- "once": "https://registry.npmjs.org/once/-/once-1.4.0.tgz"
- }
+ "dev": true
},
"npm-run-path": {
- "version": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
"integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
- "dev": true,
- "requires": {
- "path-key": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz"
- }
+ "dev": true
},
"null-check": {
- "version": "https://registry.npmjs.org/null-check/-/null-check-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/null-check/-/null-check-1.0.0.tgz",
"integrity": "sha1-l33/1xdgErnsMNKjnbXPcqBDnt0=",
"dev": true
},
"number-is-nan": {
- "version": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
"integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
"dev": true
},
"oauth-sign": {
- "version": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz",
+ "version": "0.8.2",
+ "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz",
"integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=",
"dev": true
},
"object-assign": {
- "version": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
"integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
},
"object-component": {
- "version": "https://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz",
+ "version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz",
"integrity": "sha1-8MaapQ78lbhmwYb0AKM3acsvEpE=",
"dev": true
},
"object-copy": {
- "version": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
"integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
"dev": true,
- "requires": {
- "copy-descriptor": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
- "define-property": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz"
- },
"dependencies": {
"define-property": {
- "version": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "dev": true,
- "requires": {
- "is-descriptor": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz"
- }
- },
- "is-accessor-descriptor": {
- "version": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
- "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
- "dev": true,
- "requires": {
- "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz"
- }
- },
- "is-data-descriptor": {
- "version": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
- "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
- "dev": true,
- "requires": {
- "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz"
- }
- },
- "is-descriptor": {
- "version": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
- "integrity": "sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco=",
- "dev": true,
- "requires": {
- "is-accessor-descriptor": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
- "is-data-descriptor": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
- "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz"
- },
- "dependencies": {
- "kind-of": {
- "version": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
- "integrity": "sha1-cpyR4thXt6QZofmqZWhcTDP1hF0=",
- "dev": true
- }
- }
+ "dev": true
},
"kind-of": {
- "version": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true,
- "requires": {
- "is-buffer": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz"
- }
+ "dev": true
}
}
},
"object-keys": {
- "version": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.11.tgz",
+ "version": "1.0.11",
+ "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.11.tgz",
"integrity": "sha1-xUYBd4rVYPEULODgG8yotW0TQm0=",
"dev": true
},
"object-visit": {
- "version": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
"integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
- "dev": true,
- "requires": {
- "isobject": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz"
- }
+ "dev": true
},
"object.assign": {
- "version": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz",
- "integrity": "sha1-lovxEA15Vrs8oIbwBvhGs7xACNo=",
- "dev": true,
- "requires": {
- "define-properties": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz",
- "function-bind": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
- "has-symbols": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz",
- "object-keys": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.11.tgz"
- }
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz",
+ "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==",
+ "dev": true
},
"object.defaults": {
- "version": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz",
"integrity": "sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=",
- "dev": true,
- "requires": {
- "array-each": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz",
- "array-slice": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz",
- "for-own": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz",
- "isobject": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz"
- }
+ "dev": true
},
"object.map": {
- "version": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz",
"integrity": "sha1-z4Plncj8wK1fQlDh94s7gb2AHTc=",
- "dev": true,
- "requires": {
- "for-own": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz",
- "make-iterator": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.0.tgz"
- }
+ "dev": true
},
"object.omit": {
- "version": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz",
"integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=",
"dev": true,
- "requires": {
- "for-own": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz",
- "is-extendable": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz"
- },
"dependencies": {
"for-own": {
- "version": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz",
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz",
"integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=",
- "dev": true,
- "requires": {
- "for-in": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz"
- }
+ "dev": true
}
}
},
"object.pick": {
- "version": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
"integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
- "dev": true,
- "requires": {
- "isobject": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz"
- }
+ "dev": true
},
"on-finished": {
- "version": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
"integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
- "dev": true,
- "requires": {
- "ee-first": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz"
- }
+ "dev": true
},
"on-headers": {
- "version": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz",
"integrity": "sha1-ko9dD0cNSTQmUepnlLCFfBAGk/c=",
"dev": true
},
"once": {
- "version": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
"integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
- "dev": true,
- "requires": {
- "wrappy": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz"
- }
+ "dev": true
},
"onetime": {
- "version": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz",
"integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=",
- "dev": true,
- "requires": {
- "mimic-fn": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz"
- }
+ "dev": true
},
"open": {
- "version": "https://registry.npmjs.org/open/-/open-0.0.5.tgz",
+ "version": "0.0.5",
+ "resolved": "https://registry.npmjs.org/open/-/open-0.0.5.tgz",
"integrity": "sha1-QsPhjslUZra/DcQvOilFw/DK2Pw=",
"dev": true
},
"openurl": {
- "version": "https://registry.npmjs.org/openurl/-/openurl-1.1.1.tgz",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/openurl/-/openurl-1.1.1.tgz",
"integrity": "sha1-OHW0sO96UsFW8NtB1GCduw+Us4c=",
"dev": true
},
"optimist": {
- "version": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz",
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz",
"integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=",
"dev": true,
- "requires": {
- "minimist": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
- "wordwrap": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz"
- },
"dependencies": {
"wordwrap": {
- "version": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz",
+ "version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz",
"integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=",
"dev": true
}
}
},
"optimize-js": {
- "version": "https://registry.npmjs.org/optimize-js/-/optimize-js-1.0.3.tgz",
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/optimize-js/-/optimize-js-1.0.3.tgz",
"integrity": "sha1-QyavhlfEpf8y2vcmYxdU9yq3/bw=",
"dev": true,
- "requires": {
- "acorn": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz",
- "concat-stream": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz",
- "estree-walker": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.3.1.tgz",
- "magic-string": "https://registry.npmjs.org/magic-string/-/magic-string-0.16.0.tgz",
- "yargs": "https://registry.npmjs.org/yargs/-/yargs-4.8.1.tgz"
- },
"dependencies": {
"acorn": {
- "version": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz",
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz",
"integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=",
"dev": true
},
"camelcase": {
- "version": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz",
"integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=",
"dev": true
},
"find-up": {
- "version": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
"integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
- "dev": true,
- "requires": {
- "path-exists": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
- "pinkie-promise": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz"
- }
+ "dev": true
},
"load-json-file": {
- "version": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
"integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
- "dev": true,
- "requires": {
- "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
- "parse-json": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
- "pify": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
- "pinkie-promise": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
- "strip-bom": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz"
- }
+ "dev": true
},
"os-locale": {
- "version": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz",
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz",
"integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=",
- "dev": true,
- "requires": {
- "lcid": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz"
- }
+ "dev": true
},
"parse-json": {
- "version": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
"integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
- "dev": true,
- "requires": {
- "error-ex": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz"
- }
+ "dev": true
},
"path-exists": {
- "version": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
"integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
- "dev": true,
- "requires": {
- "pinkie-promise": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz"
- }
+ "dev": true
},
"path-type": {
- "version": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz",
"integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=",
- "dev": true,
- "requires": {
- "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
- "pify": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
- "pinkie-promise": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz"
- }
+ "dev": true
},
"pify": {
- "version": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
"integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
"dev": true
},
"read-pkg": {
- "version": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz",
"integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=",
- "dev": true,
- "requires": {
- "load-json-file": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
- "normalize-package-data": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz",
- "path-type": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz"
- }
+ "dev": true
},
"read-pkg-up": {
- "version": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz",
"integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=",
- "dev": true,
- "requires": {
- "find-up": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
- "read-pkg": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz"
- }
+ "dev": true
},
"strip-bom": {
- "version": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
"integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
- "dev": true,
- "requires": {
- "is-utf8": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz"
- }
+ "dev": true
},
"which-module": {
- "version": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz",
"integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=",
"dev": true
},
"yargs": {
- "version": "https://registry.npmjs.org/yargs/-/yargs-4.8.1.tgz",
+ "version": "4.8.1",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-4.8.1.tgz",
"integrity": "sha1-wMQpJMpKqmsObaFznfshZDn53cA=",
- "dev": true,
- "requires": {
- "cliui": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
- "decamelize": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
- "get-caller-file": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz",
- "lodash.assign": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz",
- "os-locale": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz",
- "read-pkg-up": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz",
- "require-directory": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
- "require-main-filename": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz",
- "set-blocking": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
- "string-width": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
- "which-module": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz",
- "window-size": "https://registry.npmjs.org/window-size/-/window-size-0.2.0.tgz",
- "y18n": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz",
- "yargs-parser": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-2.4.1.tgz"
- }
+ "dev": true
},
"yargs-parser": {
- "version": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-2.4.1.tgz",
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-2.4.1.tgz",
"integrity": "sha1-hVaN488VD/SfpRgl8DqMiA3cxcQ=",
- "dev": true,
- "requires": {
- "camelcase": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz",
- "lodash.assign": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz"
- }
+ "dev": true
}
}
},
"optionator": {
- "version": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz",
+ "version": "0.8.2",
+ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz",
"integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=",
- "dev": true,
- "requires": {
- "deep-is": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
- "fast-levenshtein": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
- "levn": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
- "prelude-ls": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
- "type-check": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
- "wordwrap": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz"
- }
+ "dev": true
},
"orchestrator": {
- "version": "https://registry.npmjs.org/orchestrator/-/orchestrator-0.3.8.tgz",
+ "version": "0.3.8",
+ "resolved": "https://registry.npmjs.org/orchestrator/-/orchestrator-0.3.8.tgz",
"integrity": "sha1-FOfp4nZPcxX7rBhOUGx6pt+UrX4=",
"dev": true,
- "requires": {
- "end-of-stream": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-0.1.5.tgz",
- "sequencify": "https://registry.npmjs.org/sequencify/-/sequencify-0.0.7.tgz",
- "stream-consume": "0.1.0"
- },
"dependencies": {
"end-of-stream": {
- "version": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-0.1.5.tgz",
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-0.1.5.tgz",
"integrity": "sha1-jhdyBsPICDfYVjLouTWd/osvbq8=",
- "dev": true,
- "requires": {
- "once": "https://registry.npmjs.org/once/-/once-1.3.3.tgz"
- }
+ "dev": true
},
"once": {
- "version": "https://registry.npmjs.org/once/-/once-1.3.3.tgz",
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz",
"integrity": "sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA=",
- "dev": true,
- "requires": {
- "wrappy": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz"
- }
+ "dev": true
}
}
},
"ordered-read-streams": {
- "version": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz",
"integrity": "sha1-d8DLN8QVJdZBZtmQ/61+xqDhNj4=",
- "dev": true,
- "requires": {
- "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.4.tgz"
- }
+ "dev": true
},
"os-browserify": {
- "version": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz",
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz",
"integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=",
"dev": true
},
"os-homedir": {
- "version": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
"integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
"dev": true
},
"os-locale": {
- "version": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz",
- "integrity": "sha1-QrwpAKa1uL0XN2yOiCtlr8zyS/I=",
- "dev": true,
- "requires": {
- "execa": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz",
- "lcid": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz",
- "mem": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz"
- }
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz",
+ "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==",
+ "dev": true
},
"os-tmpdir": {
- "version": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
"integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
"dev": true
},
"over": {
- "version": "https://registry.npmjs.org/over/-/over-0.0.5.tgz",
+ "version": "0.0.5",
+ "resolved": "https://registry.npmjs.org/over/-/over-0.0.5.tgz",
"integrity": "sha1-8phS5w/X4l82DgE6jsRMgq7bVwg=",
"dev": true
},
"p-finally": {
- "version": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
"integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
"dev": true
},
"p-limit": {
- "version": "https://registry.npmjs.org/p-limit/-/p-limit-1.2.0.tgz",
- "integrity": "sha1-DpK2vty1nwIsE9DxlJ3ILRWQnxw=",
- "dev": true,
- "requires": {
- "p-try": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz"
- }
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.2.0.tgz",
+ "integrity": "sha512-Y/OtIaXtUPr4/YpMv1pCL5L5ed0rumAaAeBSj12F+bSlMdys7i8oQF/GUJmfpTS/QoaRrS/k6pma29haJpsMng==",
+ "dev": true
},
"p-locate": {
- "version": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
"integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
- "dev": true,
- "requires": {
- "p-limit": "https://registry.npmjs.org/p-limit/-/p-limit-1.2.0.tgz"
- }
+ "dev": true
},
"p-try": {
- "version": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
"integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=",
"dev": true
},
"pac-proxy-agent": {
- "version": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-1.1.0.tgz",
- "integrity": "sha1-NKOF399h0vDsrOCIWMdF0+eR/U0=",
- "dev": true,
- "requires": {
- "agent-base": "https://registry.npmjs.org/agent-base/-/agent-base-2.1.1.tgz",
- "debug": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "extend": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz",
- "get-uri": "https://registry.npmjs.org/get-uri/-/get-uri-2.0.1.tgz",
- "http-proxy-agent": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-1.0.0.tgz",
- "https-proxy-agent": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-1.0.0.tgz",
- "pac-resolver": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-2.0.0.tgz",
- "raw-body": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.2.tgz",
- "socks-proxy-agent": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-2.1.1.tgz"
- },
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-1.1.0.tgz",
+ "integrity": "sha512-QBELCWyLYPgE2Gj+4wUEiMscHrQ8nRPBzYItQNOHWavwBt25ohZHQC4qnd5IszdVVrFbLsQ+dPkm6eqdjJAmwQ==",
+ "dev": true,
"dependencies": {
"bytes": {
- "version": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
"integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=",
"dev": true
},
"debug": {
- "version": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
- "dev": true,
- "requires": {
- "ms": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"
- }
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true
},
"depd": {
- "version": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz",
"integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k=",
"dev": true
},
"http-errors": {
- "version": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz",
+ "version": "1.6.2",
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz",
"integrity": "sha1-CgAsyFcHGSp+eUbO7cERVfYOxzY=",
- "dev": true,
- "requires": {
- "depd": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz",
- "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "setprototypeof": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz",
- "statuses": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz"
- }
+ "dev": true
},
"iconv-lite": {
- "version": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz",
- "integrity": "sha1-90aPYBNfXl2tM5nAqBvpoWA6CCs=",
+ "version": "0.4.19",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz",
+ "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==",
"dev": true
},
"raw-body": {
- "version": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.2.tgz",
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.2.tgz",
"integrity": "sha1-vNYMd9Prk83gBQKVw/N5OJvIj4k=",
- "dev": true,
- "requires": {
- "bytes": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
- "http-errors": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz",
- "iconv-lite": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz",
- "unpipe": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz"
- }
+ "dev": true
+ },
+ "setprototypeof": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz",
+ "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ=",
+ "dev": true
}
}
},
"pac-resolver": {
- "version": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-2.0.0.tgz",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-2.0.0.tgz",
"integrity": "sha1-mbiNLxk/ve78HJpSnB8yYKtSd80=",
"dev": true,
- "requires": {
- "co": "https://registry.npmjs.org/co/-/co-3.0.6.tgz",
- "degenerator": "https://registry.npmjs.org/degenerator/-/degenerator-1.0.4.tgz",
- "ip": "https://registry.npmjs.org/ip/-/ip-1.0.1.tgz",
- "netmask": "https://registry.npmjs.org/netmask/-/netmask-1.0.6.tgz",
- "thunkify": "https://registry.npmjs.org/thunkify/-/thunkify-2.1.2.tgz"
- },
"dependencies": {
"co": {
- "version": "https://registry.npmjs.org/co/-/co-3.0.6.tgz",
+ "version": "3.0.6",
+ "resolved": "https://registry.npmjs.org/co/-/co-3.0.6.tgz",
"integrity": "sha1-FEXyJsXrlWE45oyawwFn6n0ua9o=",
"dev": true
}
}
},
"pako": {
- "version": "https://registry.npmjs.org/pako/-/pako-1.0.6.tgz",
- "integrity": "sha1-AQEhG6pwxLykoPY/Igbpe3368lg=",
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.6.tgz",
+ "integrity": "sha512-lQe48YPsMJAig+yngZ87Lus+NF+3mtu7DVOBu6b/gHO1YpKwIj5AWjZ/TOS7i46HD/UixzWb1zeWDZfGZ3iYcg==",
"dev": true
},
"parents": {
- "version": "https://registry.npmjs.org/parents/-/parents-1.0.1.tgz",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/parents/-/parents-1.0.1.tgz",
"integrity": "sha1-/t1NK/GTp3dF/nHjcdc8MwfZx1E=",
- "dev": true,
- "requires": {
- "path-platform": "https://registry.npmjs.org/path-platform/-/path-platform-0.11.15.tgz"
- }
+ "dev": true
},
"parse-asn1": {
- "version": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.0.tgz",
- "integrity": "sha1-N8T5t+06tlx0gXtfJICTf7+XxxI=",
- "dev": true,
- "requires": {
- "asn1.js": "4.9.2",
- "browserify-aes": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.1.1.tgz",
- "create-hash": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.3.tgz",
- "evp_bytestokey": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz",
- "pbkdf2": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.14.tgz"
- }
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.1.tgz",
+ "integrity": "sha512-KPx7flKXg775zZpnp9SxJlz00gTd4BmJ2yJufSc44gMCRrRQ7NSzAcSJQfifuOLgW6bEi+ftrALtsgALeB2Adw==",
+ "dev": true
+ },
+ "parse-domain": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/parse-domain/-/parse-domain-2.0.0.tgz",
+ "integrity": "sha512-09LkZIoBmYFj5Ty0oO1cjevbc42/knoiWURPUgKjJHlnK+75KDaF8+DNyEM5IYozO4Ssh6mNVOhrAKRWrwZbqQ==",
+ "dev": true
},
"parse-entities": {
- "version": "https://registry.npmjs.org/parse-entities/-/parse-entities-1.1.1.tgz",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-1.1.1.tgz",
"integrity": "sha1-gRLYhHExnyerrk1klksSL+ThuJA=",
- "dev": true,
- "requires": {
- "character-entities": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.1.tgz",
- "character-entities-legacy": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.1.tgz",
- "character-reference-invalid": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.1.tgz",
- "is-alphanumerical": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.1.tgz",
- "is-decimal": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.1.tgz",
- "is-hexadecimal": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.1.tgz"
- }
+ "dev": true
},
"parse-filepath": {
- "version": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz",
"integrity": "sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=",
- "dev": true,
- "requires": {
- "is-absolute": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz",
- "map-cache": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
- "path-root": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz"
- }
+ "dev": true
},
"parse-git-config": {
- "version": "https://registry.npmjs.org/parse-git-config/-/parse-git-config-0.2.0.tgz",
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/parse-git-config/-/parse-git-config-0.2.0.tgz",
"integrity": "sha1-Jygz/dFf6hRvt10zbSNrljtv9wY=",
- "dev": true,
- "requires": {
- "ini": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz"
- }
+ "dev": true
},
"parse-glob": {
- "version": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz",
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz",
"integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=",
"dev": true,
- "requires": {
- "glob-base": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz",
- "is-dotfile": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz",
- "is-extglob": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
- "is-glob": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz"
- },
"dependencies": {
"is-extglob": {
- "version": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
"integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
"dev": true
},
"is-glob": {
- "version": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
"integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
- "dev": true,
- "requires": {
- "is-extglob": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz"
- }
+ "dev": true
}
}
},
"parse-json": {
- "version": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
"integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
- "dev": true,
- "requires": {
- "error-ex": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz",
- "json-parse-better-errors": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.1.tgz"
- }
+ "dev": true
},
"parse-passwd": {
- "version": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz",
"integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=",
"dev": true
},
"parse-url": {
- "version": "https://registry.npmjs.org/parse-url/-/parse-url-1.3.11.tgz",
+ "version": "1.3.11",
+ "resolved": "https://registry.npmjs.org/parse-url/-/parse-url-1.3.11.tgz",
"integrity": "sha1-V8FUKKuKiSsfQ4aWRccR0OFEtVQ=",
- "dev": true,
- "requires": {
- "is-ssh": "https://registry.npmjs.org/is-ssh/-/is-ssh-1.3.0.tgz",
- "protocols": "https://registry.npmjs.org/protocols/-/protocols-1.4.6.tgz"
- }
+ "dev": true
},
"parseqs": {
- "version": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz",
+ "version": "0.0.5",
+ "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz",
"integrity": "sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0=",
- "dev": true,
- "requires": {
- "better-assert": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz"
- }
+ "dev": true
},
"parseuri": {
- "version": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz",
+ "version": "0.0.5",
+ "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz",
"integrity": "sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo=",
- "dev": true,
- "requires": {
- "better-assert": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz"
- }
+ "dev": true
},
"parseurl": {
- "version": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz",
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz",
"integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=",
"dev": true
},
"pascalcase": {
- "version": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
"integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=",
"dev": true
},
"path-browserify": {
- "version": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz",
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz",
"integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=",
"dev": true
},
"path-dirname": {
- "version": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz",
"integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=",
"dev": true
},
"path-exists": {
- "version": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
"integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
"dev": true
},
"path-is-absolute": {
- "version": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
"integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
"dev": true
},
"path-is-inside": {
- "version": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz",
"integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=",
"dev": true
},
"path-key": {
- "version": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
"integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
"dev": true
},
"path-parse": {
- "version": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz",
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz",
"integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=",
"dev": true
},
"path-platform": {
- "version": "https://registry.npmjs.org/path-platform/-/path-platform-0.11.15.tgz",
+ "version": "0.11.15",
+ "resolved": "https://registry.npmjs.org/path-platform/-/path-platform-0.11.15.tgz",
"integrity": "sha1-6GQhf3TDaFDwhSt43Hv31KVyG/I=",
"dev": true
},
"path-proxy": {
- "version": "https://registry.npmjs.org/path-proxy/-/path-proxy-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/path-proxy/-/path-proxy-1.0.0.tgz",
"integrity": "sha1-GOijaFn8nS8aU7SN7hOFQ8Ag3l4=",
"dev": true,
"optional": true,
- "requires": {
- "inflection": "https://registry.npmjs.org/inflection/-/inflection-1.3.8.tgz"
- },
"dependencies": {
"inflection": {
- "version": "https://registry.npmjs.org/inflection/-/inflection-1.3.8.tgz",
+ "version": "1.3.8",
+ "resolved": "https://registry.npmjs.org/inflection/-/inflection-1.3.8.tgz",
"integrity": "sha1-y9Fg2p91sUw8xjV41POWeEvzAU4=",
"dev": true,
"optional": true
@@ -11930,1531 +8445,1176 @@
}
},
"path-root": {
- "version": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz",
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz",
"integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=",
- "dev": true,
- "requires": {
- "path-root-regex": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz"
- }
+ "dev": true
},
"path-root-regex": {
- "version": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz",
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz",
"integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=",
"dev": true
},
"path-to-regexp": {
- "version": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.7.0.tgz",
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.7.0.tgz",
"integrity": "sha1-Wf3g9DW62suhA6hOnTvGTpa5k30=",
"dev": true,
- "requires": {
- "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz"
- },
"dependencies": {
"isarray": {
- "version": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
"integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
"dev": true
}
}
},
"path-type": {
- "version": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz",
- "integrity": "sha1-zvMdyOCho7sNEFwM2Xzzv0f0428=",
- "dev": true,
- "requires": {
- "pify": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz"
- }
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz",
+ "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==",
+ "dev": true
},
"pause": {
- "version": "https://registry.npmjs.org/pause/-/pause-0.1.0.tgz",
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/pause/-/pause-0.1.0.tgz",
"integrity": "sha1-68ikqGGf8LioGsFRPDQ0/0af23Q=",
"dev": true
},
"pause-stream": {
- "version": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz",
+ "version": "0.0.11",
+ "resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz",
"integrity": "sha1-/lo0sMvOErWqaitAPuLnO2AvFEU=",
- "dev": true,
- "requires": {
- "through": "https://registry.npmjs.org/through/-/through-2.3.8.tgz"
- }
+ "dev": true
},
"pbkdf2": {
- "version": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.14.tgz",
- "integrity": "sha1-o14TxkeZsGzhUyD0WcIw5o5zut4=",
- "dev": true,
- "requires": {
- "create-hash": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.3.tgz",
- "create-hmac": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.6.tgz",
- "ripemd160": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.1.tgz",
- "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz",
- "sha.js": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.10.tgz"
- }
+ "version": "3.0.16",
+ "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.16.tgz",
+ "integrity": "sha512-y4CXP3thSxqf7c0qmOF+9UeOTrifiVTIM+u7NWlq+PRsHbr7r7dpCmvzrZxa96JJUNi0Y5w9VqG5ZNeCVMoDcA==",
+ "dev": true
},
"pbkdf2-compat": {
- "version": "https://registry.npmjs.org/pbkdf2-compat/-/pbkdf2-compat-2.0.1.tgz",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/pbkdf2-compat/-/pbkdf2-compat-2.0.1.tgz",
"integrity": "sha1-tuDI+plJTZTgURV1gCpZpcFC8og=",
"dev": true
},
- "performance-now": {
- "version": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz",
- "integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU=",
- "dev": true
- },
"pify": {
- "version": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
"integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
"dev": true
},
"pinkie": {
- "version": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
"integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=",
"dev": true
},
"pinkie-promise": {
- "version": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
"integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
- "dev": true,
- "requires": {
- "pinkie": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz"
- }
+ "dev": true
},
"pkg-dir": {
- "version": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz",
"integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=",
- "dev": true,
- "requires": {
- "find-up": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz"
- }
+ "dev": true
},
"plugin-error": {
- "version": "https://registry.npmjs.org/plugin-error/-/plugin-error-1.0.1.tgz",
- "integrity": "sha1-dwFr2JGdCsN3/c3QMiMolTyleBw=",
- "dev": true,
- "requires": {
- "ansi-colors": "1.0.1",
- "arr-diff": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
- "arr-union": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
- "extend-shallow": "3.0.2"
- },
- "dependencies": {
- "extend-shallow": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
- "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
- "dev": true,
- "requires": {
- "assign-symbols": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
- "is-extendable": "1.0.1"
- }
- },
- "is-extendable": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
- "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
- "dev": true,
- "requires": {
- "is-plain-object": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz"
- }
- }
- }
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-1.0.1.tgz",
+ "integrity": "sha512-L1zP0dk7vGweZME2i+EeakvUNqSrdiI3F91TwEoYiGrAfUXmVv6fJIq4g82PAXxNsWOp0J7ZqQy/3Szz0ajTxA==",
+ "dev": true
},
"pluralize": {
- "version": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz",
- "integrity": "sha1-KYuJ34uTsCIdv0Ia0rGx6iP8Z3c=",
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz",
+ "integrity": "sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==",
"dev": true
},
"posix-character-classes": {
- "version": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
"integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=",
"dev": true
},
"prelude-ls": {
- "version": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
"integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=",
"dev": true
},
"preserve": {
- "version": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz",
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz",
"integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=",
"dev": true
},
"pretty-hrtime": {
- "version": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz",
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz",
"integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=",
"dev": true
},
"private": {
- "version": "https://registry.npmjs.org/private/-/private-0.1.8.tgz",
- "integrity": "sha1-I4Hts2ifelPWUxkAYPz4ItLzaP8=",
+ "version": "0.1.8",
+ "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz",
+ "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==",
"dev": true
},
"process": {
- "version": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
+ "version": "0.11.10",
+ "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
"integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=",
"dev": true
},
"process-nextick-args": {
- "version": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
- "integrity": "sha1-o31zL0JxtKsa0HDTVQjoKQeI/6o="
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
+ "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw=="
},
"progress": {
- "version": "https://registry.npmjs.org/progress/-/progress-2.0.0.tgz",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.0.tgz",
"integrity": "sha1-ihvjZr+Pwj2yvSPxDG/pILQ4nR8=",
"dev": true
},
"property-information": {
- "version": "https://registry.npmjs.org/property-information/-/property-information-3.2.0.tgz",
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/property-information/-/property-information-3.2.0.tgz",
"integrity": "sha1-/RSDyPusYYCPX+NZ52k6H0ilgzE=",
"dev": true
},
"protocols": {
- "version": "https://registry.npmjs.org/protocols/-/protocols-1.4.6.tgz",
+ "version": "1.4.6",
+ "resolved": "https://registry.npmjs.org/protocols/-/protocols-1.4.6.tgz",
"integrity": "sha1-+LsmPqG1/Xp2BNJri+Ob13Z4v4o=",
"dev": true
},
"proxy-agent": {
- "version": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-2.0.0.tgz",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-2.0.0.tgz",
"integrity": "sha1-V+tTR6qAXXTsaByyVknbo5yTNJk=",
"dev": true,
- "requires": {
- "agent-base": "https://registry.npmjs.org/agent-base/-/agent-base-2.1.1.tgz",
- "debug": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "extend": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz",
- "http-proxy-agent": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-1.0.0.tgz",
- "https-proxy-agent": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-1.0.0.tgz",
- "lru-cache": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.6.5.tgz",
- "pac-proxy-agent": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-1.1.0.tgz",
- "socks-proxy-agent": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-2.1.1.tgz"
- },
"dependencies": {
"debug": {
- "version": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
- "dev": true,
- "requires": {
- "ms": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"
- }
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true
},
"lru-cache": {
- "version": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.6.5.tgz",
+ "version": "2.6.5",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.6.5.tgz",
"integrity": "sha1-5W1jVBSO3o13B7WNFDIg/QjfD9U=",
"dev": true
}
}
},
"proxyquire": {
- "version": "https://registry.npmjs.org/proxyquire/-/proxyquire-1.8.0.tgz",
+ "version": "1.8.0",
+ "resolved": "https://registry.npmjs.org/proxyquire/-/proxyquire-1.8.0.tgz",
"integrity": "sha1-AtUUpb7ZhvBMuyCTrxZ0FTX3ntw=",
"dev": true,
- "requires": {
- "fill-keys": "https://registry.npmjs.org/fill-keys/-/fill-keys-1.0.2.tgz",
- "module-not-found-error": "https://registry.npmjs.org/module-not-found-error/-/module-not-found-error-1.0.1.tgz",
- "resolve": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz"
- },
"dependencies": {
"resolve": {
- "version": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz",
+ "version": "1.1.7",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz",
"integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=",
"dev": true
}
}
},
"prr": {
- "version": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
"integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=",
"dev": true
},
"pseudomap": {
- "version": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
"integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=",
"dev": true
},
"public-encrypt": {
- "version": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.0.tgz",
- "integrity": "sha1-OfaZ86RlYN1eusvKaTyvfGXBjMY=",
- "dev": true,
- "requires": {
- "bn.js": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz",
- "browserify-rsa": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz",
- "create-hash": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.3.tgz",
- "parse-asn1": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.0.tgz",
- "randombytes": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz"
- }
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.2.tgz",
+ "integrity": "sha512-4kJ5Esocg8X3h8YgJsKAuoesBgB7mqH3eowiDzMUPKiRDDE7E/BqqZD1hnTByIaAFiwAw246YEltSq7tdrOH0Q==",
+ "dev": true
},
"pullstream": {
- "version": "https://registry.npmjs.org/pullstream/-/pullstream-0.4.1.tgz",
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/pullstream/-/pullstream-0.4.1.tgz",
"integrity": "sha1-1vs79a7Wl+gxFQ6xACwlo/iuExQ=",
"dev": true,
- "requires": {
- "over": "https://registry.npmjs.org/over/-/over-0.0.5.tgz",
- "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
- "setimmediate": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
- "slice-stream": "https://registry.npmjs.org/slice-stream/-/slice-stream-1.0.0.tgz"
- },
"dependencies": {
"isarray": {
- "version": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
"integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
"dev": true
},
"readable-stream": {
- "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "version": "1.0.34",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
"integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
- "dev": true,
- "requires": {
- "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
- "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
- "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
- }
+ "dev": true
},
"string_decoder": {
- "version": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "version": "0.10.31",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
"dev": true
}
}
},
"pump": {
- "version": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz",
- "integrity": "sha1-Ejma3W5M91Jtlzy8i1zi4pCLOQk=",
- "dev": true,
- "requires": {
- "end-of-stream": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz",
- "once": "https://registry.npmjs.org/once/-/once-1.4.0.tgz"
- }
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz",
+ "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==",
+ "dev": true
},
"pumpify": {
- "version": "https://registry.npmjs.org/pumpify/-/pumpify-1.4.0.tgz",
- "integrity": "sha1-gLfF334kFT0D8OesigWl0Gi9B/s=",
- "dev": true,
- "requires": {
- "duplexify": "https://registry.npmjs.org/duplexify/-/duplexify-3.5.3.tgz",
- "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "pump": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz"
- }
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.4.0.tgz",
+ "integrity": "sha512-2kmNR9ry+Pf45opRVirpNuIFotsxUGLaYqxIwuR77AYrYRMuFCz9eryHBS52L360O+NcR383CL4QYlMKPq4zYA==",
+ "dev": true
},
"punycode": {
- "version": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
"integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
"dev": true
},
"q": {
- "version": "https://registry.npmjs.org/q/-/q-1.3.0.tgz",
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/q/-/q-1.3.0.tgz",
"integrity": "sha1-hQ15+MuDHZLhA7Rkg+TjXTRkAFA=",
"dev": true
},
"qjobs": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/qjobs/-/qjobs-1.1.5.tgz",
- "integrity": "sha1-ZZ3p8s+NzCehSBJ28gU3cnI4LnM=",
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/qjobs/-/qjobs-1.2.0.tgz",
+ "integrity": "sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==",
"dev": true
},
"qs": {
- "version": "https://registry.npmjs.org/qs/-/qs-6.3.2.tgz",
+ "version": "6.3.2",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.3.2.tgz",
"integrity": "sha1-51vV9uJoEioqDgvaYwslUMFmUCw=",
"dev": true
},
"querystring": {
- "version": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
"integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=",
"dev": true
},
"querystring-es3": {
- "version": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz",
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz",
"integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=",
"dev": true
},
"querystringify": {
- "version": "https://registry.npmjs.org/querystringify/-/querystringify-0.0.3.tgz",
+ "version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-0.0.3.tgz",
"integrity": "sha1-DJ02+/jHpPces3CFd2NXemMzW+c=",
"dev": true
},
"random-bytes": {
- "version": "https://registry.npmjs.org/random-bytes/-/random-bytes-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/random-bytes/-/random-bytes-1.0.0.tgz",
"integrity": "sha1-T2ih3Arli9P7lYSMMDJNt11kNgs=",
"dev": true
},
"randomatic": {
- "version": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz",
- "integrity": "sha1-x6vpzIuHwLqodrGf3oP9RkeX44w=",
+ "version": "1.1.7",
+ "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz",
+ "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==",
"dev": true,
- "requires": {
- "is-number": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
- "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz"
- },
"dependencies": {
"kind-of": {
- "version": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
"integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
- "dev": true,
- "requires": {
- "is-buffer": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz"
- }
+ "dev": true
}
}
},
"randombytes": {
- "version": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz",
- "integrity": "sha1-0wLFIpSFiISKjTAMkytEwkIx2oA=",
- "dev": true,
- "requires": {
- "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz"
- }
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz",
+ "integrity": "sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A==",
+ "dev": true
},
"randomfill": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.3.tgz",
- "integrity": "sha512-YL6GrhrWoic0Eq8rXVbMptH7dAxCs0J+mh5Y0euNekPPYaxEmdVGim6GdoxoRzKW2yJoU8tueifS7mYxvcFDEQ==",
- "dev": true,
- "requires": {
- "randombytes": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz",
- "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz"
- }
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz",
+ "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==",
+ "dev": true
},
"range-parser": {
- "version": "https://registry.npmjs.org/range-parser/-/range-parser-1.0.3.tgz",
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.0.3.tgz",
"integrity": "sha1-aHKCNTXGkuLCoBA4Jq/YLC4P8XU=",
"dev": true
},
"raw-body": {
- "version": "https://registry.npmjs.org/raw-body/-/raw-body-1.1.7.tgz",
+ "version": "1.1.7",
+ "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-1.1.7.tgz",
"integrity": "sha1-HQJ8K/oRasxmI7yo8AAWVyqH1CU=",
"dev": true,
- "requires": {
- "bytes": "https://registry.npmjs.org/bytes/-/bytes-1.0.0.tgz",
- "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
- },
"dependencies": {
"string_decoder": {
- "version": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "version": "0.10.31",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
"dev": true
}
}
},
- "read-only-stream": {
- "version": "https://registry.npmjs.org/read-only-stream/-/read-only-stream-2.0.0.tgz",
- "integrity": "sha1-JyT9aoET1zdkrCiNQ4YnDB2/F/A=",
- "dev": true,
- "requires": {
- "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.4.tgz"
- }
- },
"read-pkg": {
- "version": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz",
"integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=",
- "dev": true,
- "requires": {
- "load-json-file": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz",
- "normalize-package-data": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz",
- "path-type": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz"
- }
+ "dev": true
},
"read-pkg-up": {
- "version": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz",
"integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=",
- "dev": true,
- "requires": {
- "find-up": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
- "read-pkg": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz"
- }
+ "dev": true
},
"readable-stream": {
- "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.4.tgz",
- "integrity": "sha1-yUbD9H+n2Oq8C2FQ9KEvaaRXQHE=",
- "requires": {
- "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
- "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "isarray": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "process-nextick-args": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
- "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz",
- "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz",
- "util-deprecate": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"
- }
+ "version": "2.3.6",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw=="
},
"readdirp": {
- "version": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz",
"integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=",
- "dev": true,
- "requires": {
- "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
- "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
- "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.4.tgz",
- "set-immediate-shim": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz"
- }
+ "dev": true
},
"readline2": {
- "version": "https://registry.npmjs.org/readline2/-/readline2-0.1.1.tgz",
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/readline2/-/readline2-0.1.1.tgz",
"integrity": "sha1-mUQ7pug7gw7zBRv9fcJBqCco1Wg=",
"dev": true,
- "requires": {
- "mute-stream": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.4.tgz",
- "strip-ansi": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-2.0.1.tgz"
- },
"dependencies": {
"ansi-regex": {
- "version": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-1.1.1.tgz",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-1.1.1.tgz",
"integrity": "sha1-QchHGUZGN15qGl0Qw8oFTvn8mA0=",
"dev": true
},
"mute-stream": {
- "version": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.4.tgz",
+ "version": "0.0.4",
+ "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.4.tgz",
"integrity": "sha1-qSGZYKbV1dBGWXruUSUsZlX3F34=",
"dev": true
},
"strip-ansi": {
- "version": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-2.0.1.tgz",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-2.0.1.tgz",
"integrity": "sha1-32LBqpTtLxFOHQ8h/R1QSCt5pg4=",
- "dev": true,
- "requires": {
- "ansi-regex": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-1.1.1.tgz"
- }
+ "dev": true
}
}
},
"rechoir": {
- "version": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz",
+ "version": "0.6.2",
+ "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz",
"integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=",
- "dev": true,
- "requires": {
- "resolve": "https://registry.npmjs.org/resolve/-/resolve-1.5.0.tgz"
- }
+ "dev": true
},
"redent": {
- "version": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz",
"integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=",
- "dev": true,
- "requires": {
- "indent-string": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz",
- "strip-indent": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz"
- }
+ "dev": true
},
"redis": {
- "version": "https://registry.npmjs.org/redis/-/redis-2.8.0.tgz",
- "integrity": "sha1-ICKI4/WMSfYHnZevehDhMDrhSwI=",
+ "version": "2.8.0",
+ "resolved": "https://registry.npmjs.org/redis/-/redis-2.8.0.tgz",
+ "integrity": "sha512-M1OkonEQwtRmZv4tEWF2VgpG0JWJ8Fv1PhlgT5+B+uNq2cA3Rt1Yt/ryoR+vQNOQcIEgdCdfH0jr3bDpihAw1A==",
"dev": true,
- "optional": true,
- "requires": {
- "double-ended-queue": "https://registry.npmjs.org/double-ended-queue/-/double-ended-queue-2.1.0-0.tgz",
- "redis-commands": "1.3.1",
- "redis-parser": "https://registry.npmjs.org/redis-parser/-/redis-parser-2.6.0.tgz"
- }
+ "optional": true
},
"redis-commands": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/redis-commands/-/redis-commands-1.3.1.tgz",
- "integrity": "sha1-gdgm9F+pyLIBH0zXoP5ZfSQdRCs=",
+ "version": "1.3.5",
+ "resolved": "https://registry.npmjs.org/redis-commands/-/redis-commands-1.3.5.tgz",
+ "integrity": "sha512-foGF8u6MXGFF++1TZVC6icGXuMYPftKXt1FBT2vrfU9ZATNtZJ8duRC5d1lEfE8hyVe3jhelHGB91oB7I6qLsA==",
"dev": true,
"optional": true
},
"redis-parser": {
- "version": "https://registry.npmjs.org/redis-parser/-/redis-parser-2.6.0.tgz",
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/redis-parser/-/redis-parser-2.6.0.tgz",
"integrity": "sha1-Uu0J2srBCPGmMcB+m2mUHnoZUEs=",
"dev": true,
"optional": true
},
"regenerate": {
- "version": "https://registry.npmjs.org/regenerate/-/regenerate-1.3.3.tgz",
- "integrity": "sha1-DDNtOYBVPXVcObWGrjsgqknIK38=",
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.3.3.tgz",
+ "integrity": "sha512-jVpo1GadrDAK59t/0jRx5VxYWQEDkkEKi6+HjE3joFVLfDOh9Xrdh0dF1eSq+BI/SwvTQ44gSscJ8N5zYL61sg==",
"dev": true
},
"regenerator-runtime": {
- "version": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz",
- "integrity": "sha1-vgWtf5v30i4Fb5cmzuUBf78Z4uk="
+ "version": "0.11.1",
+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz",
+ "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg=="
},
"regenerator-transform": {
- "version": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz",
- "integrity": "sha1-HkmWg3Ix2ot/PPQRTXG1aRoGgN0=",
- "dev": true,
- "requires": {
- "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
- "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz",
- "private": "https://registry.npmjs.org/private/-/private-0.1.8.tgz"
- }
+ "version": "0.10.1",
+ "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz",
+ "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==",
+ "dev": true
},
"regex-cache": {
- "version": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz",
- "integrity": "sha1-db3FiioUls7EihKDW8VMjVYjNt0=",
- "dev": true,
- "requires": {
- "is-equal-shallow": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz"
- }
+ "version": "0.4.4",
+ "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz",
+ "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==",
+ "dev": true
},
"regex-not": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.0.tgz",
- "integrity": "sha1-Qvg+OXcWIt+CawKvF2Ul1qXxV/k=",
- "dev": true,
- "requires": {
- "extend-shallow": "2.0.1"
- }
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
+ "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
+ "dev": true
+ },
+ "regexpp": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-1.1.0.tgz",
+ "integrity": "sha512-LOPw8FpgdQF9etWMaAfG/WRthIdXJGYp4mJ2Jgn/2lpkbod9jPn0t9UqN7AxBOKNfzRbYyVfgc7Vk4t/MpnXgw==",
+ "dev": true
},
"regexpu-core": {
- "version": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz",
"integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=",
- "dev": true,
- "requires": {
- "regenerate": "https://registry.npmjs.org/regenerate/-/regenerate-1.3.3.tgz",
- "regjsgen": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz",
- "regjsparser": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz"
- }
+ "dev": true
},
"regjsgen": {
- "version": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz",
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz",
"integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=",
"dev": true
},
"regjsparser": {
- "version": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz",
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz",
"integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=",
"dev": true,
- "requires": {
- "jsesc": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz"
- },
"dependencies": {
"jsesc": {
- "version": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
"integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=",
"dev": true
}
}
},
"remark": {
- "version": "https://registry.npmjs.org/remark/-/remark-9.0.0.tgz",
- "integrity": "sha1-xc+o7FNcc6Z8Sw8Sv9vTpn2LL2A=",
- "dev": true,
- "requires": {
- "remark-parse": "https://registry.npmjs.org/remark-parse/-/remark-parse-5.0.0.tgz",
- "remark-stringify": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-5.0.0.tgz",
- "unified": "https://registry.npmjs.org/unified/-/unified-6.1.6.tgz"
- }
+ "version": "9.0.0",
+ "resolved": "https://registry.npmjs.org/remark/-/remark-9.0.0.tgz",
+ "integrity": "sha512-amw8rGdD5lHbMEakiEsllmkdBP+/KpjW/PRK6NSGPZKCQowh0BT4IWXDAkRMyG3SB9dKPXWMviFjNusXzXNn3A==",
+ "dev": true
},
"remark-html": {
- "version": "https://registry.npmjs.org/remark-html/-/remark-html-7.0.0.tgz",
- "integrity": "sha1-0T3BupNS4lf86IAMQsdpDZ42kMg=",
- "dev": true,
- "requires": {
- "hast-util-sanitize": "https://registry.npmjs.org/hast-util-sanitize/-/hast-util-sanitize-1.1.2.tgz",
- "hast-util-to-html": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-3.1.0.tgz",
- "mdast-util-to-hast": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-3.0.0.tgz",
- "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
- }
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/remark-html/-/remark-html-7.0.0.tgz",
+ "integrity": "sha512-jqRzkZXCkM12gIY2ibMLTW41m7rfanliMTVQCFTezHJFsbH00YaTox/BX4gU+f/zCdzfhFJONtebFByvpMv37w==",
+ "dev": true
},
"remark-parse": {
- "version": "https://registry.npmjs.org/remark-parse/-/remark-parse-5.0.0.tgz",
- "integrity": "sha1-TAd/nkmQRNHVwT+A16mM97koXZU=",
- "dev": true,
- "requires": {
- "collapse-white-space": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.3.tgz",
- "is-alphabetical": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.1.tgz",
- "is-decimal": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.1.tgz",
- "is-whitespace-character": "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.1.tgz",
- "is-word-character": "https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.1.tgz",
- "markdown-escapes": "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.1.tgz",
- "parse-entities": "https://registry.npmjs.org/parse-entities/-/parse-entities-1.1.1.tgz",
- "repeat-string": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
- "state-toggle": "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.0.tgz",
- "trim": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz",
- "trim-trailing-lines": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.0.tgz",
- "unherit": "https://registry.npmjs.org/unherit/-/unherit-1.1.0.tgz",
- "unist-util-remove-position": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-1.1.1.tgz",
- "vfile-location": "https://registry.npmjs.org/vfile-location/-/vfile-location-2.0.2.tgz",
- "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
- }
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-5.0.0.tgz",
+ "integrity": "sha512-b3iXszZLH1TLoyUzrATcTQUZrwNl1rE70rVdSruJFlDaJ9z5aMkhrG43Pp68OgfHndL/ADz6V69Zow8cTQu+JA==",
+ "dev": true
+ },
+ "remark-reference-links": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/remark-reference-links/-/remark-reference-links-4.0.1.tgz",
+ "integrity": "sha1-AhrtHFXBh9cSs8dtAFe/UQ0wC6c=",
+ "dev": true
},
"remark-slug": {
- "version": "https://registry.npmjs.org/remark-slug/-/remark-slug-5.0.0.tgz",
- "integrity": "sha1-necfzcK/rjPrtKQeuDA1KIqCmYA=",
- "dev": true,
- "requires": {
- "github-slugger": "https://registry.npmjs.org/github-slugger/-/github-slugger-1.2.0.tgz",
- "mdast-util-to-string": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-1.0.4.tgz",
- "unist-util-visit": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-1.3.0.tgz"
- }
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/remark-slug/-/remark-slug-5.0.0.tgz",
+ "integrity": "sha512-bRFK90ia6iooqC5KH6e9nEIL3OwRbTPU6ed2fm/fa66uofKdmRcsmRVMwND3pXLbvH2F022cETYlE7YlVs7LNQ==",
+ "dev": true
},
"remark-stringify": {
- "version": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-5.0.0.tgz",
- "integrity": "sha1-M206TUpqM5DZM+66YujeS9KAr7o=",
- "dev": true,
- "requires": {
- "ccount": "https://registry.npmjs.org/ccount/-/ccount-1.0.2.tgz",
- "is-alphanumeric": "https://registry.npmjs.org/is-alphanumeric/-/is-alphanumeric-1.0.0.tgz",
- "is-decimal": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.1.tgz",
- "is-whitespace-character": "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.1.tgz",
- "longest-streak": "https://registry.npmjs.org/longest-streak/-/longest-streak-2.0.2.tgz",
- "markdown-escapes": "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.1.tgz",
- "markdown-table": "https://registry.npmjs.org/markdown-table/-/markdown-table-1.1.1.tgz",
- "mdast-util-compact": "https://registry.npmjs.org/mdast-util-compact/-/mdast-util-compact-1.0.1.tgz",
- "parse-entities": "https://registry.npmjs.org/parse-entities/-/parse-entities-1.1.1.tgz",
- "repeat-string": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
- "state-toggle": "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.0.tgz",
- "stringify-entities": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-1.3.1.tgz",
- "unherit": "https://registry.npmjs.org/unherit/-/unherit-1.1.0.tgz",
- "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
- }
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-5.0.0.tgz",
+ "integrity": "sha512-Ws5MdA69ftqQ/yhRF9XhVV29mhxbfGhbz0Rx5bQH+oJcNhhSM6nCu1EpLod+DjrFGrU0BMPs+czVmJZU7xiS7w==",
+ "dev": true
},
"remark-toc": {
- "version": "https://registry.npmjs.org/remark-toc/-/remark-toc-5.0.0.tgz",
- "integrity": "sha1-8eE+0RBirU0QKwLnAWi9hQFb8Sk=",
- "dev": true,
- "requires": {
- "mdast-util-toc": "https://registry.npmjs.org/mdast-util-toc/-/mdast-util-toc-2.0.1.tgz",
- "remark-slug": "https://registry.npmjs.org/remark-slug/-/remark-slug-5.0.0.tgz"
- }
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/remark-toc/-/remark-toc-5.0.0.tgz",
+ "integrity": "sha512-j2A/fpio1nzNRJtY6nVaFUCtXNfFPxaj6I5UHFsFgo4xKmc0VokRRIzGqz4Vfs7u+dPrHjnoHkImu1Dia0jDSQ==",
+ "dev": true
},
"remote-origin-url": {
- "version": "https://registry.npmjs.org/remote-origin-url/-/remote-origin-url-0.4.0.tgz",
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/remote-origin-url/-/remote-origin-url-0.4.0.tgz",
"integrity": "sha1-TT4pAvNOLTfRwmPYdxC3frQIajA=",
- "dev": true,
- "requires": {
- "parse-git-config": "https://registry.npmjs.org/parse-git-config/-/parse-git-config-0.2.0.tgz"
- }
+ "dev": true
},
"remove-bom-buffer": {
- "version": "https://registry.npmjs.org/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz",
- "integrity": "sha1-wr8eN3Ug0yT2I4kuM8EMrCwlK1M=",
- "dev": true,
- "requires": {
- "is-buffer": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
- "is-utf8": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz"
- }
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz",
+ "integrity": "sha512-8v2rWhaakv18qcvNeli2mZ/TMTL2nEyAKRvzo1WtnZBl15SHyEhrCu2/xKlJyUFKHiHgfXIyuY6g2dObJJycXQ==",
+ "dev": true
},
"remove-bom-stream": {
- "version": "https://registry.npmjs.org/remove-bom-stream/-/remove-bom-stream-1.2.0.tgz",
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/remove-bom-stream/-/remove-bom-stream-1.2.0.tgz",
"integrity": "sha1-BfGlk/FuQuH7kOv1nejlaVJflSM=",
- "dev": true,
- "requires": {
- "remove-bom-buffer": "https://registry.npmjs.org/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz",
- "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz",
- "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz"
- }
+ "dev": true
},
"remove-trailing-separator": {
- "version": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
"integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8="
},
"repeat-element": {
- "version": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz",
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz",
"integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=",
"dev": true
},
"repeat-string": {
- "version": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
+ "version": "1.6.1",
+ "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
"integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
"dev": true
},
"repeating": {
- "version": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz",
"integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=",
- "dev": true,
- "requires": {
- "is-finite": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz"
- }
+ "dev": true
},
"replace-ext": {
- "version": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz",
"integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=",
"dev": true
},
"replacestream": {
- "version": "https://registry.npmjs.org/replacestream/-/replacestream-0.1.3.tgz",
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/replacestream/-/replacestream-0.1.3.tgz",
"integrity": "sha1-4BjTo3ckYAzNDABZkNiiG3tU/zQ=",
- "dev": true,
- "requires": {
- "through": "https://registry.npmjs.org/through/-/through-2.3.8.tgz"
- }
+ "dev": true
},
"request": {
- "version": "https://registry.npmjs.org/request/-/request-2.79.0.tgz",
+ "version": "2.79.0",
+ "resolved": "https://registry.npmjs.org/request/-/request-2.79.0.tgz",
"integrity": "sha1-Tf5b9r6LjNw3/Pk+BLZVd3InEN4=",
- "dev": true,
- "requires": {
- "aws-sign2": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz",
- "aws4": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz",
- "caseless": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz",
- "combined-stream": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz",
- "extend": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz",
- "forever-agent": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
- "form-data": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz",
- "har-validator": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz",
- "hawk": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz",
- "http-signature": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz",
- "is-typedarray": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
- "isstream": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
- "json-stringify-safe": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
- "mime-types": "2.1.17",
- "oauth-sign": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz",
- "qs": "https://registry.npmjs.org/qs/-/qs-6.3.2.tgz",
- "stringstream": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz",
- "tough-cookie": "2.3.3",
- "tunnel-agent": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz",
- "uuid": "https://registry.npmjs.org/uuid/-/uuid-3.2.1.tgz"
- }
+ "dev": true
},
"requestretry": {
- "version": "https://registry.npmjs.org/requestretry/-/requestretry-1.13.0.tgz",
- "integrity": "sha1-IT7BAG7rdQ6LjOVBdig9FajVXZQ=",
+ "version": "1.13.0",
+ "resolved": "https://registry.npmjs.org/requestretry/-/requestretry-1.13.0.tgz",
+ "integrity": "sha512-Lmh9qMvnQXADGAQxsXHP4rbgO6pffCfuR8XUBdP9aitJcLQJxhp7YZK4xAVYXnPJ5E52mwrfiKQtKonPL8xsmg==",
"dev": true,
- "optional": true,
- "requires": {
- "extend": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz",
- "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz",
- "request": "https://registry.npmjs.org/request/-/request-2.79.0.tgz",
- "when": "https://registry.npmjs.org/when/-/when-3.7.8.tgz"
- }
+ "optional": true
},
"require-directory": {
- "version": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
"integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
"dev": true
},
"require-main-filename": {
- "version": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz",
"integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=",
"dev": true
},
"require-uncached": {
- "version": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz",
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz",
"integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=",
- "dev": true,
- "requires": {
- "caller-path": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz",
- "resolve-from": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz"
- }
+ "dev": true
},
"requirejs": {
- "version": "https://registry.npmjs.org/requirejs/-/requirejs-2.3.5.tgz",
- "integrity": "sha1-YXuay7yzNlQO9JFNeQMjqNS4YbA=",
+ "version": "2.3.5",
+ "resolved": "https://registry.npmjs.org/requirejs/-/requirejs-2.3.5.tgz",
+ "integrity": "sha512-svnO+aNcR/an9Dpi44C7KSAy5fFGLtmPbaaCeQaklUz8BQhS64tWWIIlvEA5jrWICzlO/X9KSzSeXFnZdBu8nw==",
"dev": true
},
"requires-port": {
- "version": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
"integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=",
"dev": true
},
"resolve": {
- "version": "https://registry.npmjs.org/resolve/-/resolve-1.5.0.tgz",
- "integrity": "sha1-HwmsznlsmnYlefMbLBzEw83fnzY=",
- "dev": true,
- "requires": {
- "path-parse": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz"
- }
+ "version": "1.7.1",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.7.1.tgz",
+ "integrity": "sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw==",
+ "dev": true
},
"resolve-dir": {
- "version": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz",
"integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=",
- "dev": true,
- "requires": {
- "expand-tilde": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz",
- "global-modules": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz"
- }
+ "dev": true
},
"resolve-from": {
- "version": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz",
"integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=",
"dev": true
},
"resolve-options": {
- "version": "https://registry.npmjs.org/resolve-options/-/resolve-options-1.1.0.tgz",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/resolve-options/-/resolve-options-1.1.0.tgz",
"integrity": "sha1-MrueOcBtZzONyTeMDW1gdFZq0TE=",
- "dev": true,
- "requires": {
- "value-or-function": "https://registry.npmjs.org/value-or-function/-/value-or-function-3.0.0.tgz"
- }
+ "dev": true
},
"resolve-url": {
- "version": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
"integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo="
},
"response-time": {
- "version": "https://registry.npmjs.org/response-time/-/response-time-2.3.2.tgz",
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/response-time/-/response-time-2.3.2.tgz",
"integrity": "sha1-/6cbq5UtYvfB1Jt0NDVfvGjf/Fo=",
"dev": true,
- "requires": {
- "depd": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
- "on-headers": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz"
- },
"dependencies": {
"depd": {
- "version": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
"integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=",
"dev": true
}
}
},
"restore-cursor": {
- "version": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz",
"integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=",
- "dev": true,
- "requires": {
- "onetime": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz",
- "signal-exit": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz"
- }
+ "dev": true
+ },
+ "ret": {
+ "version": "0.1.15",
+ "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
+ "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
+ "dev": true
},
"rewire": {
- "version": "https://registry.npmjs.org/rewire/-/rewire-2.5.2.tgz",
+ "version": "2.5.2",
+ "resolved": "https://registry.npmjs.org/rewire/-/rewire-2.5.2.tgz",
"integrity": "sha1-ZCfee3/u+n02QBUH62SlOFvFjcc=",
"dev": true
},
"rgb2hex": {
- "version": "https://registry.npmjs.org/rgb2hex/-/rgb2hex-0.1.0.tgz",
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/rgb2hex/-/rgb2hex-0.1.0.tgz",
"integrity": "sha1-zNVfhgrgxcTqN1BLlY5ELY0SMls=",
"dev": true
},
"right-align": {
- "version": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz",
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz",
"integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=",
- "dev": true,
- "requires": {
- "align-text": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz"
- }
+ "dev": true
},
"rimraf": {
- "version": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz",
- "integrity": "sha1-LtgVDSShbqhlHm1u8PR8QVjOejY=",
- "dev": true,
- "requires": {
- "glob": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz"
- }
+ "version": "2.6.2",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz",
+ "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==",
+ "dev": true
},
"ripemd160": {
- "version": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.1.tgz",
- "integrity": "sha1-D0WEKVxTo2KK9+bXmsohzlfRxuc=",
- "dev": true,
- "requires": {
- "hash-base": "https://registry.npmjs.org/hash-base/-/hash-base-2.0.2.tgz",
- "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz"
- }
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz",
+ "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==",
+ "dev": true
},
"rndm": {
- "version": "https://registry.npmjs.org/rndm/-/rndm-1.2.0.tgz",
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/rndm/-/rndm-1.2.0.tgz",
"integrity": "sha1-8z/pz7Urv9UgqhgyO8ZdsRCht2w=",
"dev": true
},
"run-async": {
- "version": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz",
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz",
"integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=",
- "dev": true,
- "requires": {
- "is-promise": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz"
- }
+ "dev": true
},
"rx": {
- "version": "https://registry.npmjs.org/rx/-/rx-2.5.3.tgz",
+ "version": "2.5.3",
+ "resolved": "https://registry.npmjs.org/rx/-/rx-2.5.3.tgz",
"integrity": "sha1-Ia3H2A8CACr1Da6X/Z2/JIdV9WY=",
"dev": true
},
"rx-lite": {
- "version": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz",
+ "version": "4.0.8",
+ "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz",
"integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=",
"dev": true
},
"rx-lite-aggregates": {
- "version": "https://registry.npmjs.org/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz",
+ "version": "4.0.8",
+ "resolved": "https://registry.npmjs.org/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz",
"integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=",
- "dev": true,
- "requires": {
- "rx-lite": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz"
- }
+ "dev": true
},
"safe-buffer": {
- "version": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz",
- "integrity": "sha1-iTMSr2myEj3vcfV4iQAWce6yyFM="
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz",
+ "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg=="
},
"safe-json-parse": {
- "version": "https://registry.npmjs.org/safe-json-parse/-/safe-json-parse-1.0.1.tgz",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/safe-json-parse/-/safe-json-parse-1.0.1.tgz",
"integrity": "sha1-PnZyPjjf3aE8mx0poeB//uSzC1c=",
"dev": true
},
+ "safe-regex": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
+ "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
+ "dev": true
+ },
+ "safer-buffer": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
+ "dev": true
+ },
"samsam": {
- "version": "https://registry.npmjs.org/samsam/-/samsam-1.3.0.tgz",
- "integrity": "sha1-jR2TUOJWItow3j5EumkrUiGrfFA=",
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/samsam/-/samsam-1.3.0.tgz",
+ "integrity": "sha512-1HwIYD/8UlOtFS3QO3w7ey+SdSDFE4HRNLZoZRYVQefrOY3l17epswImeB1ijgJFQJodIaHcwkp3r/myBjFVbg==",
"dev": true
},
"schema-utils": {
- "version": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.3.0.tgz",
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.3.0.tgz",
"integrity": "sha1-9YdyIs4+kx7a4DnxfrNxbnE3+M8=",
"dev": true,
- "requires": {
- "ajv": "5.5.2"
- },
"dependencies": {
"ajv": {
"version": "5.5.2",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz",
"integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=",
- "dev": true,
- "requires": {
- "co": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
- "fast-deep-equal": "1.0.0",
- "fast-json-stable-stringify": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
- "json-schema-traverse": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz"
- }
+ "dev": true
}
}
},
"semver": {
- "version": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz",
- "integrity": "sha1-3Eu8emyp2Rbe5dQ1FvAJK1j3uKs=",
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz",
+ "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==",
"dev": true
},
"send": {
- "version": "https://registry.npmjs.org/send/-/send-0.13.2.tgz",
+ "version": "0.13.2",
+ "resolved": "https://registry.npmjs.org/send/-/send-0.13.2.tgz",
"integrity": "sha1-dl52B8gFVFK7pvCwUllTUJhgNt4=",
"dev": true,
- "requires": {
- "debug": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
- "depd": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
- "destroy": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
- "escape-html": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
- "etag": "https://registry.npmjs.org/etag/-/etag-1.7.0.tgz",
- "fresh": "https://registry.npmjs.org/fresh/-/fresh-0.3.0.tgz",
- "http-errors": "https://registry.npmjs.org/http-errors/-/http-errors-1.3.1.tgz",
- "mime": "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz",
- "ms": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
- "on-finished": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
- "range-parser": "https://registry.npmjs.org/range-parser/-/range-parser-1.0.3.tgz",
- "statuses": "https://registry.npmjs.org/statuses/-/statuses-1.2.1.tgz"
- },
"dependencies": {
"debug": {
- "version": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
"integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
- "dev": true,
- "requires": {
- "ms": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz"
- }
+ "dev": true
},
"depd": {
- "version": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
"integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=",
"dev": true
},
"mime": {
- "version": "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz",
+ "version": "1.3.4",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz",
"integrity": "sha1-EV+eO2s9rylZmDyzjxSaLUDrXVM=",
"dev": true
},
"ms": {
- "version": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
+ "version": "0.7.1",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
"integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=",
"dev": true
},
"statuses": {
- "version": "https://registry.npmjs.org/statuses/-/statuses-1.2.1.tgz",
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.2.1.tgz",
"integrity": "sha1-3e1FzBglbVHtQK7BQkidXGECbSg=",
"dev": true
}
}
},
"sequencify": {
- "version": "https://registry.npmjs.org/sequencify/-/sequencify-0.0.7.tgz",
+ "version": "0.0.7",
+ "resolved": "https://registry.npmjs.org/sequencify/-/sequencify-0.0.7.tgz",
"integrity": "sha1-kM/xnQLgcCf9dn9erT57ldHnOAw=",
"dev": true
},
"serve-favicon": {
- "version": "https://registry.npmjs.org/serve-favicon/-/serve-favicon-2.3.2.tgz",
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/serve-favicon/-/serve-favicon-2.3.2.tgz",
"integrity": "sha1-3UGeJo3gEqtysxnTN/IQUBP5OB8=",
"dev": true,
- "requires": {
- "etag": "https://registry.npmjs.org/etag/-/etag-1.7.0.tgz",
- "fresh": "https://registry.npmjs.org/fresh/-/fresh-0.3.0.tgz",
- "ms": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz",
- "parseurl": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz"
- },
"dependencies": {
"ms": {
- "version": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz",
+ "version": "0.7.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz",
"integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=",
"dev": true
}
}
},
"serve-index": {
- "version": "https://registry.npmjs.org/serve-index/-/serve-index-1.7.3.tgz",
+ "version": "1.7.3",
+ "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.7.3.tgz",
"integrity": "sha1-egV/xu4o3GP2RWbl+lexEahq7NI=",
"dev": true,
- "requires": {
- "accepts": "https://registry.npmjs.org/accepts/-/accepts-1.2.13.tgz",
- "batch": "https://registry.npmjs.org/batch/-/batch-0.5.3.tgz",
- "debug": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
- "escape-html": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
- "http-errors": "https://registry.npmjs.org/http-errors/-/http-errors-1.3.1.tgz",
- "mime-types": "2.1.17",
- "parseurl": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz"
- },
"dependencies": {
"debug": {
- "version": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
"integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
- "dev": true,
- "requires": {
- "ms": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz"
- }
+ "dev": true
},
"ms": {
- "version": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
+ "version": "0.7.1",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
"integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=",
"dev": true
}
}
},
"serve-static": {
- "version": "https://registry.npmjs.org/serve-static/-/serve-static-1.10.3.tgz",
+ "version": "1.10.3",
+ "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.10.3.tgz",
"integrity": "sha1-zlpuzTEB/tXsCYJ9rCKpwpv7BTU=",
- "dev": true,
- "requires": {
- "escape-html": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
- "parseurl": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz",
- "send": "https://registry.npmjs.org/send/-/send-0.13.2.tgz"
- }
+ "dev": true
},
"set-blocking": {
- "version": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
"integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
"dev": true
},
- "set-getter": {
- "version": "https://registry.npmjs.org/set-getter/-/set-getter-0.1.0.tgz",
- "integrity": "sha1-12nBgsnVpR9AkUXy+6guXoboA3Y=",
- "dev": true,
- "requires": {
- "to-object-path": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz"
- }
- },
"set-immediate-shim": {
- "version": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz",
"integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=",
"dev": true
},
"set-value": {
- "version": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz",
- "integrity": "sha1-ca5KiPD+77v1LR6mBPP7MV67YnQ=",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz",
+ "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==",
"dev": true,
- "requires": {
- "extend-shallow": "2.0.1",
- "is-extendable": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
- "is-plain-object": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
- "split-string": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz"
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true
+ }
}
},
"setimmediate": {
- "version": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
"integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=",
"dev": true
},
"setprototypeof": {
- "version": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz",
- "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ=",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz",
+ "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==",
"dev": true
},
"sha.js": {
- "version": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.10.tgz",
- "integrity": "sha1-sf3lzX0RpWJmOKB8YEq5Cc+jH5s=",
- "dev": true,
- "requires": {
- "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz"
- }
- },
- "shasum": {
- "version": "https://registry.npmjs.org/shasum/-/shasum-1.0.2.tgz",
- "integrity": "sha1-5wEjENj0F/TetXEhUOVni4euVl8=",
- "dev": true,
- "requires": {
- "json-stable-stringify": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-0.0.1.tgz",
- "sha.js": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.10.tgz"
- },
- "dependencies": {
- "json-stable-stringify": {
- "version": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-0.0.1.tgz",
- "integrity": "sha1-YRwj6BTbN1Un34URk9tZ3Sryf0U=",
- "dev": true,
- "requires": {
- "jsonify": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz"
- }
- }
- }
+ "version": "2.4.11",
+ "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
+ "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==",
+ "dev": true
},
"shebang-command": {
- "version": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
"integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
- "dev": true,
- "requires": {
- "shebang-regex": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz"
- }
+ "dev": true
},
"shebang-regex": {
- "version": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
"integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
"dev": true
},
- "shell-quote": {
- "version": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.6.1.tgz",
- "integrity": "sha1-9HgZSczkAmlxJ0MOo7PFR29IF2c=",
- "dev": true,
- "requires": {
- "array-filter": "https://registry.npmjs.org/array-filter/-/array-filter-0.0.1.tgz",
- "array-map": "https://registry.npmjs.org/array-map/-/array-map-0.0.0.tgz",
- "array-reduce": "https://registry.npmjs.org/array-reduce/-/array-reduce-0.0.0.tgz",
- "jsonify": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz"
- }
- },
"shelljs": {
- "version": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.1.tgz",
- "integrity": "sha1-cp4DjEE6IlTEB4uV7UbgOXFUqfE=",
- "dev": true,
- "requires": {
- "glob": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
- "interpret": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz",
- "rechoir": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz"
- }
+ "version": "0.8.1",
+ "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.1.tgz",
+ "integrity": "sha512-YA/iYtZpzFe5HyWVGrb02FjPxc4EMCfpoU/Phg9fQoyMC72u9598OUBrsU8IrtwAKG0tO8IYaqbaLIw+k3IRGA==",
+ "dev": true
},
"sigmund": {
- "version": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz",
"integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=",
"dev": true
},
"signal-exit": {
- "version": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
"integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
"dev": true
},
"sinon": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/sinon/-/sinon-4.3.0.tgz",
- "integrity": "sha512-pmf05hFgEZUS52AGJcsVjOjqAyJW2yo14cOwVYvzCyw7+inv06YXkLyW75WG6X6p951lzkoKh51L2sNbR9CDvw==",
- "dev": true,
- "requires": {
- "@sinonjs/formatio": "https://registry.npmjs.org/@sinonjs/formatio/-/formatio-2.0.0.tgz",
- "diff": "https://registry.npmjs.org/diff/-/diff-3.4.0.tgz",
- "lodash.get": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz",
- "lolex": "https://registry.npmjs.org/lolex/-/lolex-2.3.2.tgz",
- "nise": "1.2.5",
- "supports-color": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz",
- "type-detect": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz"
- },
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/sinon/-/sinon-4.5.0.tgz",
+ "integrity": "sha512-trdx+mB0VBBgoYucy6a9L7/jfQOmvGeaKZT4OOJ+lPAtI8623xyGr8wLiE4eojzBS8G9yXbhx42GHUOVLr4X2w==",
+ "dev": true,
"dependencies": {
"diff": {
- "version": "https://registry.npmjs.org/diff/-/diff-3.4.0.tgz",
- "integrity": "sha1-sdhVB9rzlkgo3lSzfQ1zumfdpWw=",
+ "version": "3.5.0",
+ "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz",
+ "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==",
"dev": true
},
"supports-color": {
- "version": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz",
- "integrity": "sha1-sNUzOxGE3TZmy+WqC0XFrHrBeko=",
- "dev": true,
- "requires": {
- "has-flag": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz"
- }
+ "version": "5.4.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
+ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
+ "dev": true
},
"type-detect": {
- "version": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz",
- "integrity": "sha1-dkb7XxiHHPu3dJ5pvTmmOI63RQw=",
+ "version": "4.0.8",
+ "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz",
+ "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==",
"dev": true
}
}
},
"slack-node": {
- "version": "https://registry.npmjs.org/slack-node/-/slack-node-0.2.0.tgz",
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/slack-node/-/slack-node-0.2.0.tgz",
"integrity": "sha1-3kuN3aqLeT9h29KTgQT9q/N9+jA=",
"dev": true,
- "optional": true,
- "requires": {
- "requestretry": "https://registry.npmjs.org/requestretry/-/requestretry-1.13.0.tgz"
- }
+ "optional": true
},
"slash": {
- "version": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz",
"integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=",
"dev": true
},
"slice-ansi": {
- "version": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz",
- "integrity": "sha1-BE8aSdiEL/MHqta1Be0Xi9lQE00=",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz",
+ "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==",
"dev": true,
- "requires": {
- "is-fullwidth-code-point": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz"
- },
"dependencies": {
"is-fullwidth-code-point": {
- "version": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
"integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
"dev": true
}
}
},
"slice-stream": {
- "version": "https://registry.npmjs.org/slice-stream/-/slice-stream-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/slice-stream/-/slice-stream-1.0.0.tgz",
"integrity": "sha1-WzO9ZvATsaf4ZGCwPUY97DmtPqA=",
"dev": true,
- "requires": {
- "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz"
- },
"dependencies": {
"isarray": {
- "version": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
"integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
"dev": true
},
"readable-stream": {
- "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "version": "1.0.34",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
"integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
- "dev": true,
- "requires": {
- "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
- "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
- "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
- }
+ "dev": true
},
"string_decoder": {
- "version": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "version": "0.10.31",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
"dev": true
}
}
},
"smart-buffer": {
- "version": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-1.1.15.tgz",
+ "version": "1.1.15",
+ "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-1.1.15.tgz",
"integrity": "sha1-fxFLW2X6s+KjWqd1uxLw0cZJvxY=",
"dev": true
},
"smtp-connection": {
- "version": "https://registry.npmjs.org/smtp-connection/-/smtp-connection-2.12.0.tgz",
+ "version": "2.12.0",
+ "resolved": "https://registry.npmjs.org/smtp-connection/-/smtp-connection-2.12.0.tgz",
"integrity": "sha1-1275EnyyPCJZ7bHoNJwujV4tdME=",
- "dev": true,
- "requires": {
- "httpntlm": "https://registry.npmjs.org/httpntlm/-/httpntlm-1.6.1.tgz",
- "nodemailer-shared": "https://registry.npmjs.org/nodemailer-shared/-/nodemailer-shared-1.1.0.tgz"
- }
+ "dev": true
},
"snapdragon": {
- "version": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.1.tgz",
- "integrity": "sha1-4StUh/re0+PeoKyR6UAL91tAE3A=",
- "dev": true,
- "requires": {
- "base": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
- "debug": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "define-property": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "extend-shallow": "2.0.1",
- "map-cache": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
- "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "source-map-resolve": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.1.tgz",
- "use": "https://registry.npmjs.org/use/-/use-2.0.2.tgz"
- },
+ "version": "0.8.2",
+ "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
+ "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
+ "dev": true,
"dependencies": {
"atob": {
- "version": "https://registry.npmjs.org/atob/-/atob-2.0.3.tgz",
- "integrity": "sha1-GcenYEc3dEaPILLS0DNyrX1Mv10=",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.0.tgz",
+ "integrity": "sha512-SuiKH8vbsOyCALjA/+EINmt/Kdl+TQPrtFgW7XZZcwtryFu9e5kQoX3bjCW6mIvGH1fbeAZZuvwGR5IlBRznGw==",
"dev": true
},
"debug": {
- "version": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
- "dev": true,
- "requires": {
- "ms": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"
- }
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true
},
"define-property": {
- "version": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "dev": true,
- "requires": {
- "is-descriptor": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz"
- }
- },
- "is-accessor-descriptor": {
- "version": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
- "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
- "dev": true,
- "requires": {
- "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz"
- },
- "dependencies": {
- "kind-of": {
- "version": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true,
- "requires": {
- "is-buffer": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz"
- }
- }
- }
- },
- "is-data-descriptor": {
- "version": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
- "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
- "dev": true,
- "requires": {
- "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz"
- },
- "dependencies": {
- "kind-of": {
- "version": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true,
- "requires": {
- "is-buffer": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz"
- }
- }
- }
- },
- "is-descriptor": {
- "version": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
- "integrity": "sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco=",
- "dev": true,
- "requires": {
- "is-accessor-descriptor": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
- "is-data-descriptor": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
- "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz"
- }
+ "dev": true
},
- "kind-of": {
- "version": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
- "integrity": "sha1-cpyR4thXt6QZofmqZWhcTDP1hF0=",
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
"dev": true
},
"source-map": {
- "version": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
"integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
"dev": true
},
"source-map-resolve": {
- "version": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.1.tgz",
- "integrity": "sha1-etD1k/IoFZjoVN+A8ZquS5LXoRo=",
- "dev": true,
- "requires": {
- "atob": "https://registry.npmjs.org/atob/-/atob-2.0.3.tgz",
- "decode-uri-component": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
- "resolve-url": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
- "source-map-url": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
- "urix": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz"
- }
+ "version": "0.5.1",
+ "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.1.tgz",
+ "integrity": "sha512-0KW2wvzfxm8NCTb30z0LMNyPqWCdDGE2viwzUaucqJdkTRXtZiSY3I+2A6nVAjmdOy0I4gU8DwnVVGsk9jvP2A==",
+ "dev": true
},
"source-map-url": {
- "version": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
"integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=",
"dev": true
}
}
},
"snapdragon-node": {
- "version": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
- "integrity": "sha1-bBdfhv8UvbByRWPo88GwIaKGhTs=",
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
+ "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
"dev": true,
- "requires": {
- "define-property": "1.0.0",
- "isobject": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
- "snapdragon-util": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz"
+ "dependencies": {
+ "define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+ "dev": true
+ },
+ "is-accessor-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+ "dev": true
+ },
+ "is-data-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+ "dev": true
+ },
+ "is-descriptor": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+ "dev": true
+ }
}
},
"snapdragon-util": {
- "version": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
- "integrity": "sha1-+VZHlIbyrNeXAGk/b3uAXkWrVuI=",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
+ "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
"dev": true,
- "requires": {
- "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz"
- },
"dependencies": {
"kind-of": {
- "version": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true,
- "requires": {
- "is-buffer": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz"
- }
+ "dev": true
}
}
},
"sntp": {
- "version": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz",
+ "version": "1.0.9",
+ "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz",
"integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=",
- "dev": true,
- "requires": {
- "hoek": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz"
- }
+ "dev": true
},
"socket.io": {
- "version": "https://registry.npmjs.org/socket.io/-/socket.io-2.0.4.tgz",
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.0.4.tgz",
"integrity": "sha1-waRZDO/4fs8TxyZS8Eb3FrKeYBQ=",
"dev": true,
- "requires": {
- "debug": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "engine.io": "3.1.4",
- "socket.io-adapter": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-1.1.1.tgz",
- "socket.io-client": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.0.4.tgz",
- "socket.io-parser": "3.1.2"
- },
"dependencies": {
"debug": {
- "version": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
- "dev": true,
- "requires": {
- "ms": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"
- }
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true
}
}
},
"socket.io-adapter": {
- "version": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-1.1.1.tgz",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-1.1.1.tgz",
"integrity": "sha1-KoBeihTWNyEk3ZFZrUUC+MsH8Gs=",
"dev": true
},
"socket.io-client": {
- "version": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.0.4.tgz",
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.0.4.tgz",
"integrity": "sha1-CRilUkBtxeVAs4Dc2Xr8SmQzL44=",
"dev": true,
- "requires": {
- "backo2": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz",
- "base64-arraybuffer": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz",
- "component-bind": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz",
- "component-emitter": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
- "debug": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "engine.io-client": "3.1.4",
- "has-cors": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz",
- "indexof": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz",
- "object-component": "https://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz",
- "parseqs": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz",
- "parseuri": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz",
- "socket.io-parser": "3.1.2",
- "to-array": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz"
- },
"dependencies": {
"debug": {
- "version": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
- "dev": true,
- "requires": {
- "ms": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"
- }
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true
}
}
},
"socket.io-parser": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.1.2.tgz",
- "integrity": "sha1-28IoIVH8T6675Aru3Ady66YZ9/I=",
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.1.3.tgz",
+ "integrity": "sha512-g0a2HPqLguqAczs3dMECuA1RgoGFPyvDqcbaDEdCWY9g59kdUAz3YRmaJBNKXflrHNwB7Q12Gkf/0CZXfdHR7g==",
"dev": true,
- "requires": {
- "component-emitter": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
- "debug": "2.6.9",
- "has-binary2": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.2.tgz",
- "isarray": "2.0.1"
- },
"dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "requires": {
- "ms": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"
- }
- },
"isarray": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz",
@@ -13464,564 +9624,378 @@
}
},
"socks": {
- "version": "https://registry.npmjs.org/socks/-/socks-1.1.10.tgz",
+ "version": "1.1.10",
+ "resolved": "https://registry.npmjs.org/socks/-/socks-1.1.10.tgz",
"integrity": "sha1-W4t/x8jzQcU+0FbpKbe/Tei6e1o=",
"dev": true,
- "requires": {
- "ip": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz",
- "smart-buffer": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-1.1.15.tgz"
- },
"dependencies": {
"ip": {
- "version": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz",
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz",
"integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=",
"dev": true
}
}
},
"socks-proxy-agent": {
- "version": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-2.1.1.tgz",
- "integrity": "sha1-huuwcZMlhjeHDhO3vZnybGY989M=",
- "dev": true,
- "requires": {
- "agent-base": "https://registry.npmjs.org/agent-base/-/agent-base-2.1.1.tgz",
- "extend": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz",
- "socks": "https://registry.npmjs.org/socks/-/socks-1.1.10.tgz"
- }
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-2.1.1.tgz",
+ "integrity": "sha512-sFtmYqdUK5dAMh85H0LEVFUCO7OhJJe1/z2x/Z6mxp3s7/QPf1RkZmpZy+BpuU0bEjcV9npqKjq9Y3kwFUjnxw==",
+ "dev": true
},
"source-list-map": {
- "version": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.0.tgz",
- "integrity": "sha1-qqR0A/eyRakvvJfqCPJQ1gh+0IU=",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.0.tgz",
+ "integrity": "sha512-I2UmuJSRr/T8jisiROLU3A3ltr+swpniSmNPI4Ml3ZCX6tVnDsuZzK7F2hl5jTqbZBWCEKlj5HRQiPExXLgE8A==",
"dev": true
},
"source-map": {
- "version": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM="
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
},
"source-map-resolve": {
- "version": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.3.1.tgz",
- "integrity": "sha1-YQ9hIqRFuN1RU1oqcbeD38Ekh2E=",
- "requires": {
- "atob": "https://registry.npmjs.org/atob/-/atob-1.1.3.tgz",
- "resolve-url": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
- "source-map-url": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.3.0.tgz",
- "urix": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz"
- }
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.3.1.tgz",
+ "integrity": "sha1-YQ9hIqRFuN1RU1oqcbeD38Ekh2E="
},
"source-map-support": {
- "version": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz",
- "integrity": "sha1-Aoam3ovkJkEzhZTpfM6nXwosWF8=",
+ "version": "0.4.18",
+ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz",
+ "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==",
"dev": true,
- "requires": {
- "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz"
- },
"dependencies": {
"source-map": {
- "version": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
"integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
"dev": true
}
}
},
"source-map-url": {
- "version": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.3.0.tgz",
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.3.0.tgz",
"integrity": "sha1-fsrxO1e80J2opAxdJp2zN5nUqvk="
},
"space-separated-tokens": {
- "version": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-1.1.1.tgz",
- "integrity": "sha1-lpW5355lrsGBHUw/nOUlILwvfk0=",
- "dev": true,
- "requires": {
- "trim": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz"
- }
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-1.1.2.tgz",
+ "integrity": "sha512-G3jprCEw+xFEs0ORweLmblJ3XLymGGr6hxZYTYZjIlvDti9vOBUjRQa1Rzjt012aRrocKstHwdNi+F7HguPsEA==",
+ "dev": true
},
"sparkles": {
- "version": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.0.tgz",
"integrity": "sha1-Gsu/tZJDbRC76PeFt8xvgoFQEsM=",
"dev": true
},
"spdx-correct": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz",
- "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=",
- "dev": true,
- "requires": {
- "spdx-license-ids": "1.2.2"
- }
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz",
+ "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==",
+ "dev": true
+ },
+ "spdx-exceptions": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz",
+ "integrity": "sha512-4K1NsmrlCU1JJgUrtgEeTVyfx8VaYea9J9LvARxhbHtVtohPs/gFGG5yy49beySjlIMhhXZ4QqujIZEfS4l6Cg==",
+ "dev": true
},
"spdx-expression-parse": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz",
- "integrity": "sha1-m98vIOH0DtRH++JzJmGR/O1RYmw=",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz",
+ "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==",
"dev": true
},
"spdx-license-ids": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz",
- "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz",
+ "integrity": "sha512-2+EPwgbnmOIl8HjGBXXMd9NAu02vLjOO1nWw4kmeRDFyHn+M/ETfHxQUK0oXg8ctgVnl9t3rosNVsZ1jG61nDA==",
"dev": true
},
"split": {
- "version": "https://registry.npmjs.org/split/-/split-0.3.3.tgz",
+ "version": "0.3.3",
+ "resolved": "https://registry.npmjs.org/split/-/split-0.3.3.tgz",
"integrity": "sha1-zQ7qXmOiEd//frDwkcQTPi0N0o8=",
- "dev": true,
- "requires": {
- "through": "https://registry.npmjs.org/through/-/through-2.3.8.tgz"
- }
+ "dev": true
},
"split-string": {
- "version": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
- "integrity": "sha1-fLCd2jqGWFcFxks5pkZgOGguj+I=",
- "dev": true,
- "requires": {
- "extend-shallow": "3.0.2"
- },
- "dependencies": {
- "extend-shallow": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
- "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
- "dev": true,
- "requires": {
- "assign-symbols": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
- "is-extendable": "1.0.1"
- }
- },
- "is-extendable": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
- "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
- "dev": true,
- "requires": {
- "is-plain-object": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz"
- }
- }
- }
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
+ "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
+ "dev": true
},
"sprintf-js": {
- "version": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
"integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
"dev": true
},
"sshpk": {
- "version": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz",
- "integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=",
- "dev": true,
- "requires": {
- "asn1": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz",
- "assert-plus": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
- "bcrypt-pbkdf": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz",
- "dashdash": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
- "ecc-jsbn": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz",
- "getpass": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
- "jsbn": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
- "tweetnacl": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz"
- },
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.1.tgz",
+ "integrity": "sha1-Ew9Zde3a2WPx1W+SuaxsUfqfg+s=",
+ "dev": true,
"dependencies": {
"assert-plus": {
- "version": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
"integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
"dev": true
}
}
},
"state-toggle": {
- "version": "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.0.tgz",
- "integrity": "sha1-0g+aYWu08MO5i5GSLSW2QKorxCU=",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.1.tgz",
+ "integrity": "sha512-Qe8QntFrrpWTnHwvwj2FZTgv+PKIsp0B9VxLzLLbSpPXWOgRgc5LVj/aTiSfK1RqIeF9jeC1UeOH8Q8y60A7og==",
"dev": true
},
"static-extend": {
- "version": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
"integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
"dev": true,
- "requires": {
- "define-property": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "object-copy": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz"
- },
"dependencies": {
"define-property": {
- "version": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "dev": true,
- "requires": {
- "is-descriptor": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz"
- }
- },
- "is-accessor-descriptor": {
- "version": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
- "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
- "dev": true,
- "requires": {
- "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz"
- },
- "dependencies": {
- "kind-of": {
- "version": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true,
- "requires": {
- "is-buffer": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz"
- }
- }
- }
- },
- "is-data-descriptor": {
- "version": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
- "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
- "dev": true,
- "requires": {
- "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz"
- },
- "dependencies": {
- "kind-of": {
- "version": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true,
- "requires": {
- "is-buffer": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz"
- }
- }
- }
- },
- "is-descriptor": {
- "version": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
- "integrity": "sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco=",
- "dev": true,
- "requires": {
- "is-accessor-descriptor": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
- "is-data-descriptor": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
- "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz"
- }
- },
- "kind-of": {
- "version": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
- "integrity": "sha1-cpyR4thXt6QZofmqZWhcTDP1hF0=",
"dev": true
}
}
},
"statuses": {
- "version": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz",
- "integrity": "sha1-u3PURtonlhBu/MG2AaJT1sRr0Ic=",
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
+ "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=",
"dev": true
},
"stream-array": {
- "version": "https://registry.npmjs.org/stream-array/-/stream-array-1.1.2.tgz",
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/stream-array/-/stream-array-1.1.2.tgz",
"integrity": "sha1-nl9zRfITfDDuO0mLkRToC1K7frU=",
"dev": true,
- "requires": {
- "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.1.5.tgz"
- },
"dependencies": {
"process-nextick-args": {
- "version": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
"integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=",
"dev": true
},
"readable-stream": {
- "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.1.5.tgz",
+ "version": "2.1.5",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.1.5.tgz",
"integrity": "sha1-ZvqLcg4UOLNkaB8q0aY8YYRIydA=",
- "dev": true,
- "requires": {
- "buffer-shims": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz",
- "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
- "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "isarray": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "process-nextick-args": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
- "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
- "util-deprecate": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"
- }
+ "dev": true
},
"string_decoder": {
- "version": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "version": "0.10.31",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
"dev": true
}
}
},
"stream-browserify": {
- "version": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz",
"integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=",
- "dev": true,
- "requires": {
- "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.4.tgz"
- }
+ "dev": true
},
"stream-combiner": {
- "version": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz",
+ "version": "0.0.4",
+ "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz",
"integrity": "sha1-TV5DPBhSYd3mI8o/RMWGvPXErRQ=",
- "dev": true,
- "requires": {
- "duplexer": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz"
- }
+ "dev": true
},
"stream-combiner2": {
- "version": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz",
"integrity": "sha1-+02KFCDqNidk4hrUeAOXvry0HL4=",
- "dev": true,
- "requires": {
- "duplexer2": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz",
- "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.4.tgz"
- }
+ "dev": true
},
"stream-consume": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/stream-consume/-/stream-consume-0.1.0.tgz",
- "integrity": "sha1-pB6tGm1ggc63n2WwYZAbbY89HQ8=",
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/stream-consume/-/stream-consume-0.1.1.tgz",
+ "integrity": "sha512-tNa3hzgkjEP7XbCkbRXe1jpg+ievoa0O4SCFlMOYEscGSS4JJsckGL8swUyAa/ApGU3Ae4t6Honor4HhL+tRyg==",
"dev": true
},
"stream-counter": {
- "version": "https://registry.npmjs.org/stream-counter/-/stream-counter-0.2.0.tgz",
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/stream-counter/-/stream-counter-0.2.0.tgz",
"integrity": "sha1-3tJmVWMZyLDiIoErnPOyb6fZR94=",
"dev": true,
- "requires": {
- "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz"
- },
"dependencies": {
"isarray": {
- "version": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
"integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
"dev": true
},
"readable-stream": {
- "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
+ "version": "1.1.14",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
"integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
- "dev": true,
- "requires": {
- "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
- "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
- "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
- }
+ "dev": true
},
"string_decoder": {
- "version": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "version": "0.10.31",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
"dev": true
}
}
},
"stream-http": {
- "version": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.0.tgz",
- "integrity": "sha1-/YZUbaybHJGv+PxdKHuY+vtBvBA=",
- "dev": true,
- "requires": {
- "builtin-status-codes": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz",
- "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.4.tgz",
- "to-arraybuffer": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz",
- "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
- }
+ "version": "2.8.1",
+ "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.1.tgz",
+ "integrity": "sha512-cQ0jo17BLca2r0GfRdZKYAGLU6JRoIWxqSOakUMuKOT6MOK7AAlE856L33QuDmAy/eeOrhLee3dZKX0Uadu93A==",
+ "dev": true
},
"stream-shift": {
- "version": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz",
"integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=",
"dev": true
},
- "stream-splicer": {
- "version": "https://registry.npmjs.org/stream-splicer/-/stream-splicer-2.0.0.tgz",
- "integrity": "sha1-G2O+Q4oTPktnHMGTUZdgAXWRDYM=",
- "dev": true,
- "requires": {
- "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.4.tgz"
- }
- },
"streamroller": {
- "version": "https://registry.npmjs.org/streamroller/-/streamroller-0.7.0.tgz",
- "integrity": "sha1-odG3z4PTmvsNYwSaWsv5NJO99ks=",
- "dev": true,
- "requires": {
- "date-format": "https://registry.npmjs.org/date-format/-/date-format-1.2.0.tgz",
- "debug": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
- "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
- "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.4.tgz"
- }
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-0.7.0.tgz",
+ "integrity": "sha512-WREzfy0r0zUqp3lGO096wRuUp7ho1X6uo/7DJfTlEi0Iv/4gT7YHqXDjKC2ioVGBZtE8QzsQD9nx1nIuoZ57jQ==",
+ "dev": true
+ },
+ "string_decoder": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg=="
},
"string-replace-webpack-plugin": {
- "version": "https://registry.npmjs.org/string-replace-webpack-plugin/-/string-replace-webpack-plugin-0.1.3.tgz",
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/string-replace-webpack-plugin/-/string-replace-webpack-plugin-0.1.3.tgz",
"integrity": "sha1-c8ZX51nWbP6Arh4M8JGqJW0OcVw=",
"dev": true,
- "requires": {
- "async": "https://registry.npmjs.org/async/-/async-0.2.10.tgz",
- "css-loader": "https://registry.npmjs.org/css-loader/-/css-loader-0.9.1.tgz",
- "file-loader": "https://registry.npmjs.org/file-loader/-/file-loader-0.8.5.tgz",
- "loader-utils": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz",
- "style-loader": "https://registry.npmjs.org/style-loader/-/style-loader-0.8.3.tgz"
- },
"dependencies": {
"async": {
- "version": "https://registry.npmjs.org/async/-/async-0.2.10.tgz",
+ "version": "0.2.10",
+ "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz",
"integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=",
"dev": true
},
"loader-utils": {
- "version": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz",
+ "version": "0.2.17",
+ "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz",
"integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=",
- "dev": true,
- "requires": {
- "big.js": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz",
- "emojis-list": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz",
- "json5": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
- "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz"
- }
+ "dev": true
}
}
},
"string-template": {
- "version": "https://registry.npmjs.org/string-template/-/string-template-0.2.1.tgz",
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/string-template/-/string-template-0.2.1.tgz",
"integrity": "sha1-QpMuWYo1LQH8IuwzZ9nYTuxsmt0=",
"dev": true
},
"string-width": {
- "version": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
"integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
- "dev": true,
- "requires": {
- "code-point-at": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
- "is-fullwidth-code-point": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
- "strip-ansi": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz"
- }
- },
- "string_decoder": {
- "version": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz",
- "integrity": "sha1-D8Z9fBQYJd6UKC3VNr7GubzoYKs=",
- "requires": {
- "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz"
- }
+ "dev": true
},
"stringify-entities": {
- "version": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-1.3.1.tgz",
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-1.3.1.tgz",
"integrity": "sha1-sVDsLXKsTBtfMktR+2soyc3/BYw=",
- "dev": true,
- "requires": {
- "character-entities-html4": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-1.1.1.tgz",
- "character-entities-legacy": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.1.tgz",
- "is-alphanumerical": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.1.tgz",
- "is-hexadecimal": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.1.tgz"
- }
+ "dev": true
},
"stringstream": {
- "version": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz",
+ "version": "0.0.5",
+ "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz",
"integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=",
"dev": true
},
"strip-ansi": {
- "version": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
"integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
- "dev": true,
- "requires": {
- "ansi-regex": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz"
- }
+ "dev": true
},
"strip-bom": {
- "version": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
"integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
"dev": true
},
"strip-bom-string": {
- "version": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz",
"integrity": "sha1-5SEekiQ2n7uB1jOi8ABE3IztrZI="
},
"strip-eof": {
- "version": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
"integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
"dev": true
},
"strip-indent": {
- "version": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz",
"integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=",
- "dev": true,
- "requires": {
- "get-stdin": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz"
- }
+ "dev": true
},
"strip-json-comments": {
- "version": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
"integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
"dev": true
},
"style-loader": {
- "version": "https://registry.npmjs.org/style-loader/-/style-loader-0.8.3.tgz",
+ "version": "0.8.3",
+ "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.8.3.tgz",
"integrity": "sha1-9Pkut9tjdodI8VBlzWcA9aHIU1c=",
"dev": true,
"optional": true,
- "requires": {
- "loader-utils": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz"
- },
"dependencies": {
"loader-utils": {
- "version": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz",
+ "version": "0.2.17",
+ "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz",
"integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=",
"dev": true,
- "optional": true,
- "requires": {
- "big.js": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz",
- "emojis-list": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz",
- "json5": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
- "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz"
- }
+ "optional": true
}
}
},
"subarg": {
- "version": "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz",
"integrity": "sha1-9izxdYHplrSPyWVpn1TAauJouNI=",
"dev": true,
- "requires": {
- "minimist": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz"
- },
"dependencies": {
"minimist": {
- "version": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
"integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
"dev": true
}
}
},
"supports-color": {
- "version": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
"integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
"dev": true
},
- "syntax-error": {
- "version": "https://registry.npmjs.org/syntax-error/-/syntax-error-1.4.0.tgz",
- "integrity": "sha1-LZ1P9cBkrLcRWUo+O5UFStUdkHw=",
- "dev": true,
- "requires": {
- "acorn-node": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.3.0.tgz"
- }
- },
"table": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/table/-/table-4.0.2.tgz",
"integrity": "sha512-UUkEAPdSGxtRpiV9ozJ5cMTtYiqz7Ni1OGqLXRCynrvzdtR1p+cfOWe2RJLwvUG8hNanaSRjecIqwOjqeatDsA==",
"dev": true,
- "requires": {
- "ajv": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz",
- "ajv-keywords": "2.1.1",
- "chalk": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz",
- "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz",
- "slice-ansi": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz",
- "string-width": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz"
- },
"dependencies": {
"ajv": {
- "version": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz",
+ "version": "5.5.2",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz",
"integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=",
- "dev": true,
- "requires": {
- "co": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
- "fast-deep-equal": "1.0.0",
- "fast-json-stable-stringify": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
- "json-schema-traverse": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz"
- }
- },
- "ajv-keywords": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.1.tgz",
- "integrity": "sha1-YXmX/F9gV2iUxDX5QNgZ4TW4B2I=",
"dev": true
},
"ansi-regex": {
@@ -14031,22 +10005,16 @@
"dev": true
},
"ansi-styles": {
- "version": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
- "integrity": "sha1-wVm41b4PnlpvNG2rlPFs4CIWG4g=",
- "dev": true,
- "requires": {
- "color-convert": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz"
- }
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "dev": true
},
"chalk": {
- "version": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz",
- "integrity": "sha1-Uj/iZ4rsewToBBkJKS/osXBZt5Y=",
- "dev": true,
- "requires": {
- "ansi-styles": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
- "escape-string-regexp": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "supports-color": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz"
- }
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.0.tgz",
+ "integrity": "sha512-Wr/w0f4o9LuE7K53cD0qmbAMM+2XNLzR29vFn5hqko4sxGlUsyy363NvmyGIyk5tpe9cjTr9SJYbysEyPkRnFw==",
+ "dev": true
},
"is-fullwidth-code-point": {
"version": "2.0.0",
@@ -14055,1521 +10023,982 @@
"dev": true
},
"string-width": {
- "version": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
- "integrity": "sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4=",
- "dev": true,
- "requires": {
- "is-fullwidth-code-point": "2.0.0",
- "strip-ansi": "4.0.0"
- }
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
+ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
+ "dev": true
},
"strip-ansi": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
"integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
- "dev": true,
- "requires": {
- "ansi-regex": "3.0.0"
- }
+ "dev": true
},
"supports-color": {
- "version": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz",
- "integrity": "sha1-sNUzOxGE3TZmy+WqC0XFrHrBeko=",
- "dev": true,
- "requires": {
- "has-flag": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz"
- }
+ "version": "5.4.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
+ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
+ "dev": true
}
}
},
"tapable": {
- "version": "https://registry.npmjs.org/tapable/-/tapable-0.2.8.tgz",
+ "version": "0.2.8",
+ "resolved": "https://registry.npmjs.org/tapable/-/tapable-0.2.8.tgz",
"integrity": "sha1-mTcqXJmb8t8WCvwNdL7U9HlIzSI=",
"dev": true
},
"tar-stream": {
- "version": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.1.5.tgz",
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.1.5.tgz",
"integrity": "sha1-vpIYwTDCACnhB7D5Z/sj3gV50Tw=",
"dev": true,
- "requires": {
- "bl": "https://registry.npmjs.org/bl/-/bl-0.9.5.tgz",
- "end-of-stream": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz",
- "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
- "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
- },
"dependencies": {
"isarray": {
- "version": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
"integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
"dev": true
},
"readable-stream": {
- "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "version": "1.0.34",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
"integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
- "dev": true,
- "requires": {
- "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
- "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
- "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
- }
+ "dev": true
},
"string_decoder": {
- "version": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "version": "0.10.31",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
"dev": true
}
}
},
"ternary-stream": {
- "version": "https://registry.npmjs.org/ternary-stream/-/ternary-stream-2.0.1.tgz",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/ternary-stream/-/ternary-stream-2.0.1.tgz",
"integrity": "sha1-Bk5Im0tb9gumpre8fy9cJ07Pgmk=",
- "dev": true,
- "requires": {
- "duplexify": "https://registry.npmjs.org/duplexify/-/duplexify-3.5.3.tgz",
- "fork-stream": "https://registry.npmjs.org/fork-stream/-/fork-stream-0.0.4.tgz",
- "merge-stream": "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz",
- "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz"
- }
+ "dev": true
},
"text-encoding": {
- "version": "https://registry.npmjs.org/text-encoding/-/text-encoding-0.6.4.tgz",
+ "version": "0.6.4",
+ "resolved": "https://registry.npmjs.org/text-encoding/-/text-encoding-0.6.4.tgz",
"integrity": "sha1-45mpgiV6J22uQou5KEXLcb3CbRk=",
"dev": true
},
"text-table": {
- "version": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
"integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
"dev": true
},
"textextensions": {
- "version": "https://registry.npmjs.org/textextensions/-/textextensions-1.0.2.tgz",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/textextensions/-/textextensions-1.0.2.tgz",
"integrity": "sha1-ZUhjk+4fK7A5pgy7oFsLaL2VAdI=",
"dev": true
},
"through": {
- "version": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
+ "version": "2.3.8",
+ "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
"integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
"dev": true
},
"through2": {
- "version": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
- "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=",
- "requires": {
- "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.4.tgz",
- "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
- }
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
+ "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4="
},
"through2-filter": {
- "version": "https://registry.npmjs.org/through2-filter/-/through2-filter-2.0.0.tgz",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/through2-filter/-/through2-filter-2.0.0.tgz",
"integrity": "sha1-YLxVoNrLdghdsfna6Zq0P4PWIuw=",
- "dev": true,
- "requires": {
- "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
- "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
- }
+ "dev": true
},
"thunkify": {
- "version": "https://registry.npmjs.org/thunkify/-/thunkify-2.1.2.tgz",
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/thunkify/-/thunkify-2.1.2.tgz",
"integrity": "sha1-+qDp0jDFGsyVyhOjYawFyn4EVT0=",
"dev": true
},
"tildify": {
- "version": "https://registry.npmjs.org/tildify/-/tildify-1.2.0.tgz",
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/tildify/-/tildify-1.2.0.tgz",
"integrity": "sha1-3OwD9V3Km3qj5bBPIYF+tW5jWIo=",
- "dev": true,
- "requires": {
- "os-homedir": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz"
- }
+ "dev": true
},
"time-stamp": {
- "version": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz",
"integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=",
"dev": true
},
"timers-browserify": {
- "version": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-1.4.2.tgz",
- "integrity": "sha1-ycWLV1voQHN1y14kYtrO50NZ9B0=",
- "dev": true,
- "requires": {
- "process": "https://registry.npmjs.org/process/-/process-0.11.10.tgz"
- }
+ "version": "2.0.10",
+ "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.10.tgz",
+ "integrity": "sha512-YvC1SV1XdOUaL6gx5CoGroT3Gu49pK9+TZ38ErPldOWW4j49GI1HKs9DV+KGq/w6y+LZ72W1c8cKz2vzY+qpzg==",
+ "dev": true
},
"timers-ext": {
- "version": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.2.tgz",
- "integrity": "sha1-YcxHp2wavTGV8UUn+XjViulMUgQ=",
- "requires": {
- "es5-ext": "0.10.38",
- "next-tick": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz"
- }
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.5.tgz",
+ "integrity": "sha512-tsEStd7kmACHENhsUPaxb8Jf8/+GZZxyNFQbZD07HQOyooOa6At1rQqjffgvg7n+dxscQa9cjjMdWhJtsP2sxg=="
},
"timespan": {
- "version": "https://registry.npmjs.org/timespan/-/timespan-2.3.0.tgz",
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/timespan/-/timespan-2.3.0.tgz",
"integrity": "sha1-SQLOBAvRPYRcj1myfp1ZutbzmSk=",
"dev": true,
"optional": true
},
"tiny-lr": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/tiny-lr/-/tiny-lr-1.1.0.tgz",
- "integrity": "sha512-f4X68a6KHcCx/XJcZUKAa92APjY9EHxuGOzRFmPRjf+fOp1E7fi4dGJaHMxvRBxwZrHrIvn/AwkFaDS7O1WZDQ==",
- "dev": true,
- "requires": {
- "body": "https://registry.npmjs.org/body/-/body-5.1.0.tgz",
- "debug": "2.6.9",
- "faye-websocket": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz",
- "livereload-js": "https://registry.npmjs.org/livereload-js/-/livereload-js-2.3.0.tgz",
- "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
- "qs": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz"
- },
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/tiny-lr/-/tiny-lr-1.1.1.tgz",
+ "integrity": "sha512-44yhA3tsaRoMOjQQ+5v5mVdqef+kH6Qze9jTpqtVufgYjYt08zyZAwNwwVBj3i1rJMnR52IxOW0LK0vBzgAkuA==",
+ "dev": true,
"dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "requires": {
- "ms": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"
- }
- },
"qs": {
- "version": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz",
- "integrity": "sha1-NJzfbu+J7EXBLX1es/wMhwNDptg=",
+ "version": "6.5.1",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz",
+ "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==",
"dev": true
}
}
},
"tmp": {
- "version": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
- "integrity": "sha1-bTQzWIl2jSGyvNoKonfO07G/rfk=",
- "dev": true,
- "requires": {
- "os-tmpdir": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz"
- }
+ "version": "0.0.33",
+ "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
+ "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
+ "dev": true
},
"to-absolute-glob": {
- "version": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz",
"integrity": "sha1-GGX0PZ50sIItufFFt4z/fQ98hJs=",
- "dev": true,
- "requires": {
- "is-absolute": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz",
- "is-negated-glob": "https://registry.npmjs.org/is-negated-glob/-/is-negated-glob-1.0.0.tgz"
- }
+ "dev": true
},
"to-array": {
- "version": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz",
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz",
"integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA=",
"dev": true
},
"to-arraybuffer": {
- "version": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz",
"integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=",
"dev": true
},
"to-fast-properties": {
- "version": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz",
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz",
"integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=",
"dev": true
},
"to-object-path": {
- "version": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
"integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
"dev": true,
- "requires": {
- "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz"
- },
"dependencies": {
"kind-of": {
- "version": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true,
- "requires": {
- "is-buffer": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz"
- }
+ "dev": true
}
}
},
"to-regex": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.1.tgz",
- "integrity": "sha1-FTWL7kosg712N3uh3ASdDxiDeq4=",
- "dev": true,
- "requires": {
- "define-property": "0.2.5",
- "extend-shallow": "2.0.1",
- "regex-not": "1.0.0"
- },
- "dependencies": {
- "define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "dev": true,
- "requires": {
- "is-descriptor": "0.1.6"
- }
- },
- "is-accessor-descriptor": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
- "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
- "dev": true,
- "requires": {
- "kind-of": "3.2.2"
- },
- "dependencies": {
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true,
- "requires": {
- "is-buffer": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz"
- }
- }
- }
- },
- "is-data-descriptor": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
- "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
- "dev": true,
- "requires": {
- "kind-of": "3.2.2"
- },
- "dependencies": {
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true,
- "requires": {
- "is-buffer": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz"
- }
- }
- }
- },
- "is-descriptor": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
- "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
- "dev": true,
- "requires": {
- "is-accessor-descriptor": "0.1.6",
- "is-data-descriptor": "0.1.4",
- "kind-of": "5.1.0"
- }
- },
- "kind-of": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
- "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
- "dev": true
- }
- }
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
+ "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
+ "dev": true
},
"to-regex-range": {
- "version": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
"integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
- "dev": true,
- "requires": {
- "is-number": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
- "repeat-string": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz"
- }
+ "dev": true
},
"to-through": {
- "version": "https://registry.npmjs.org/to-through/-/to-through-2.0.0.tgz",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/to-through/-/to-through-2.0.0.tgz",
"integrity": "sha1-/JKtq6ByZHvAtn1rA2ZKoZUJOvY=",
- "dev": true,
- "requires": {
- "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz"
- }
+ "dev": true
},
"tough-cookie": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz",
- "integrity": "sha1-C2GKVWW23qkL80JdBNVe3EdadWE=",
- "dev": true,
- "requires": {
- "punycode": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz"
- }
+ "version": "2.3.4",
+ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz",
+ "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==",
+ "dev": true
},
"traverse": {
- "version": "https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz",
+ "version": "0.3.9",
+ "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz",
"integrity": "sha1-cXuPIgzAu3tE5AUUwisui7xw2Lk=",
"dev": true
},
"trim": {
- "version": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz",
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz",
"integrity": "sha1-WFhUf2spB1fulczMZm+1AITEYN0=",
"dev": true
},
"trim-lines": {
- "version": "https://registry.npmjs.org/trim-lines/-/trim-lines-1.1.0.tgz",
- "integrity": "sha1-mSbQPt4Tuhj31CIiYx+wTHn/Jv4=",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-1.1.1.tgz",
+ "integrity": "sha512-X+eloHbgJGxczUk1WSjIvn7aC9oN3jVE3rQfRVKcgpavi3jxtCn0VVKtjOBj64Yop96UYn/ujJRpTbCdAF1vyg==",
"dev": true
},
"trim-newlines": {
- "version": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz",
"integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=",
"dev": true
},
"trim-right": {
- "version": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz",
"integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=",
"dev": true
},
"trim-trailing-lines": {
- "version": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.0.tgz",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.0.tgz",
"integrity": "sha1-eu+7eAjfnWafbaLkOMrIxGradoQ=",
"dev": true
},
"trough": {
- "version": "https://registry.npmjs.org/trough/-/trough-1.0.1.tgz",
- "integrity": "sha1-qf2LA5Swro//guBjOgo2zK1bX4Y=",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/trough/-/trough-1.0.2.tgz",
+ "integrity": "sha512-FHkoUZvG6Egrv9XZAyYGKEyb1JMsFphgPjoczkZC2y6W93U1jswcVURB8MUvtsahEPEVACyxD47JAL63vF4JsQ==",
"dev": true
},
"tsscmp": {
- "version": "https://registry.npmjs.org/tsscmp/-/tsscmp-1.0.5.tgz",
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/tsscmp/-/tsscmp-1.0.5.tgz",
"integrity": "sha1-fcSjOvcVgatDN9qR2FylQn69mpc=",
"dev": true
},
"tty-browserify": {
- "version": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz",
- "integrity": "sha1-PwUlHuF5BN/QZ3VGZw25ZRaCuBE=",
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz",
+ "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=",
"dev": true
},
"tunnel-agent": {
- "version": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz",
+ "version": "0.4.3",
+ "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz",
"integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=",
"dev": true
},
"tweetnacl": {
- "version": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
+ "version": "0.14.5",
+ "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
"integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
"dev": true,
"optional": true
},
"type-check": {
- "version": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
"integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
- "dev": true,
- "requires": {
- "prelude-ls": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz"
- }
+ "dev": true
},
"type-detect": {
- "version": "https://registry.npmjs.org/type-detect/-/type-detect-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-1.0.0.tgz",
"integrity": "sha1-diIXzAbbJY7EiQihKY6LlRIejqI=",
"dev": true
},
"type-is": {
- "version": "1.6.15",
- "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.15.tgz",
- "integrity": "sha1-yrEPtJCeRByChC6v4a1kbIGARBA=",
- "dev": true,
- "requires": {
- "media-typer": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
- "mime-types": "2.1.17"
- }
+ "version": "1.6.16",
+ "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz",
+ "integrity": "sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==",
+ "dev": true
},
"typedarray": {
- "version": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
+ "version": "0.0.6",
+ "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
"integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
"dev": true
},
"uglify-js": {
- "version": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz",
+ "version": "2.8.29",
+ "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz",
"integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=",
"dev": true,
- "requires": {
- "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "uglify-to-browserify": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz",
- "yargs": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz"
- },
"dependencies": {
"camelcase": {
- "version": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz",
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz",
"integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=",
"dev": true
},
"cliui": {
- "version": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz",
"integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=",
- "dev": true,
- "requires": {
- "center-align": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz",
- "right-align": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz",
- "wordwrap": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz"
- }
+ "dev": true
},
"source-map": {
- "version": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
"integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
"dev": true
},
"window-size": {
- "version": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz",
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz",
"integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=",
"dev": true
},
"wordwrap": {
- "version": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz",
+ "version": "0.0.2",
+ "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz",
"integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=",
"dev": true
},
"yargs": {
- "version": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz",
+ "version": "3.10.0",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz",
"integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=",
- "dev": true,
- "requires": {
- "camelcase": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz",
- "cliui": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz",
- "decamelize": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
- "window-size": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz"
- }
+ "dev": true
}
}
},
"uglify-to-browserify": {
- "version": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz",
"integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=",
"dev": true
},
"uglifyjs-webpack-plugin": {
- "version": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-0.4.6.tgz",
+ "version": "0.4.6",
+ "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-0.4.6.tgz",
"integrity": "sha1-uVH0q7a9YX5m9j64kUmOORdj4wk=",
"dev": true,
- "requires": {
- "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "uglify-js": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz",
- "webpack-sources": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.1.0.tgz"
- },
"dependencies": {
"source-map": {
- "version": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
"integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
"dev": true
}
}
},
"uid-safe": {
- "version": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.4.tgz",
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.4.tgz",
"integrity": "sha1-Otbzg2jG1MjHXsF2I/t5qh0HHYE=",
- "dev": true,
- "requires": {
- "random-bytes": "https://registry.npmjs.org/random-bytes/-/random-bytes-1.0.0.tgz"
- }
- },
- "ultron": {
- "version": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz",
- "integrity": "sha1-n+FTahCmZKZSZqHjzPhf02MCvJw=",
"dev": true
},
- "umd": {
- "version": "https://registry.npmjs.org/umd/-/umd-3.0.1.tgz",
- "integrity": "sha1-iuVW4RAR9jwllnCKiDclnwGz1g4=",
+ "ultron": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz",
+ "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==",
"dev": true
},
"unc-path-regex": {
- "version": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz",
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz",
"integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=",
"dev": true
},
"underscore": {
- "version": "https://registry.npmjs.org/underscore/-/underscore-1.7.0.tgz",
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.7.0.tgz",
"integrity": "sha1-a7rwh3UA02vjTsqlhODbn+8DUgk=",
"dev": true
},
- "underscore.string": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz",
- "integrity": "sha1-ccCL9rQosRM/N+ePo6Icgvcymw0=",
- "dev": true
- },
"unherit": {
- "version": "https://registry.npmjs.org/unherit/-/unherit-1.1.0.tgz",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/unherit/-/unherit-1.1.0.tgz",
"integrity": "sha1-a5qu379z3xdWrZ4xbdmBiFhAzX0=",
- "dev": true,
- "requires": {
- "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
- }
+ "dev": true
},
"unified": {
- "version": "https://registry.npmjs.org/unified/-/unified-6.1.6.tgz",
- "integrity": "sha1-Xqf4B6CJjx+Kze7+XyX6oBDMQrE=",
- "dev": true,
- "requires": {
- "bail": "https://registry.npmjs.org/bail/-/bail-1.0.2.tgz",
- "extend": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz",
- "is-plain-obj": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz",
- "trough": "https://registry.npmjs.org/trough/-/trough-1.0.1.tgz",
- "vfile": "https://registry.npmjs.org/vfile/-/vfile-2.3.0.tgz",
- "x-is-function": "https://registry.npmjs.org/x-is-function/-/x-is-function-1.0.4.tgz",
- "x-is-string": "https://registry.npmjs.org/x-is-string/-/x-is-string-0.1.0.tgz"
- }
+ "version": "6.1.6",
+ "resolved": "https://registry.npmjs.org/unified/-/unified-6.1.6.tgz",
+ "integrity": "sha512-pW2f82bCIo2ifuIGYcV12fL96kMMYgw7JKVEgh7ODlrM9rj6vXSY3BV+H6lCcv1ksxynFf582hwWLnA1qRFy4w==",
+ "dev": true
},
"union-value": {
- "version": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz",
"integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=",
"dev": true,
- "requires": {
- "arr-union": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
- "get-value": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
- "is-extendable": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
- "set-value": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz"
- },
"dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true
+ },
"set-value": {
- "version": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz",
+ "version": "0.4.3",
+ "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz",
"integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=",
- "dev": true,
- "requires": {
- "extend-shallow": "2.0.1",
- "is-extendable": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
- "is-plain-object": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
- "to-object-path": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz"
- }
+ "dev": true
}
}
},
"unique-stream": {
- "version": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.2.1.tgz",
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.2.1.tgz",
"integrity": "sha1-WqADz76Uxf+GbE59ZouxxNuts2k=",
- "dev": true,
- "requires": {
- "json-stable-stringify": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz",
- "through2-filter": "https://registry.npmjs.org/through2-filter/-/through2-filter-2.0.0.tgz"
- }
+ "dev": true
},
"unist-builder": {
- "version": "https://registry.npmjs.org/unist-builder/-/unist-builder-1.0.2.tgz",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/unist-builder/-/unist-builder-1.0.2.tgz",
"integrity": "sha1-jDuZA+9kvPsRfdfPal2Y/Bs7J7Y=",
- "dev": true,
- "requires": {
- "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz"
- }
+ "dev": true
},
"unist-util-generated": {
- "version": "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-1.1.1.tgz",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-1.1.1.tgz",
"integrity": "sha1-mfFseJWayFTe58YVwpGSTIv03n8=",
"dev": true
},
"unist-util-is": {
- "version": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-2.1.1.tgz",
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-2.1.1.tgz",
"integrity": "sha1-DDEmKeP5YMZukx6BLT2A53AQlHs=",
"dev": true
},
"unist-util-modify-children": {
- "version": "https://registry.npmjs.org/unist-util-modify-children/-/unist-util-modify-children-1.1.1.tgz",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/unist-util-modify-children/-/unist-util-modify-children-1.1.1.tgz",
"integrity": "sha1-ZtfmpEnm9nIguXarPLi166w55R0=",
- "dev": true,
- "requires": {
- "array-iterate": "https://registry.npmjs.org/array-iterate/-/array-iterate-1.1.1.tgz"
- }
+ "dev": true
},
"unist-util-position": {
- "version": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-3.0.0.tgz",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-3.0.0.tgz",
"integrity": "sha1-5uHgPu64HF4a/lU+jUrfvXwNj4I=",
"dev": true
},
"unist-util-remove-position": {
- "version": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-1.1.1.tgz",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-1.1.1.tgz",
"integrity": "sha1-WoXBVV/BugwQG4ZwfRXlD6TIcbs=",
- "dev": true,
- "requires": {
- "unist-util-visit": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-1.3.0.tgz"
- }
+ "dev": true
},
"unist-util-stringify-position": {
- "version": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-1.1.1.tgz",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-1.1.1.tgz",
"integrity": "sha1-PMvcU2ee7W7PN3fdf14yKcG2qjw=",
"dev": true
},
"unist-util-visit": {
- "version": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-1.3.0.tgz",
- "integrity": "sha1-Qcp8gpgf0c5sdiqsOX/CTjVxFEQ=",
- "dev": true,
- "requires": {
- "unist-util-is": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-2.1.1.tgz"
- }
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-1.3.0.tgz",
+ "integrity": "sha512-9ntYcxPFtl44gnwXrQKZ5bMqXMY0ZHzUpqMFiU4zcc8mmf/jzYm8GhYgezuUlX4cJIM1zIDYaO6fG/fI+L6iiQ==",
+ "dev": true
},
"unpipe": {
- "version": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
"integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=",
"dev": true
},
"unset-value": {
- "version": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
"integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
"dev": true,
- "requires": {
- "has-value": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
- "isobject": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz"
- },
"dependencies": {
"has-value": {
- "version": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
"integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
"dev": true,
- "requires": {
- "get-value": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
- "has-values": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
- "isobject": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz"
- },
"dependencies": {
"isobject": {
- "version": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
"integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
- "dev": true,
- "requires": {
- "isarray": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz"
- }
+ "dev": true
}
}
},
"has-values": {
- "version": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
"integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=",
"dev": true
}
}
},
"unzip": {
- "version": "https://registry.npmjs.org/unzip/-/unzip-0.1.11.tgz",
+ "version": "0.1.11",
+ "resolved": "https://registry.npmjs.org/unzip/-/unzip-0.1.11.tgz",
"integrity": "sha1-iXScY7BY19kNYZ+GuYqhU107l/A=",
"dev": true,
- "requires": {
- "binary": "https://registry.npmjs.org/binary/-/binary-0.3.0.tgz",
- "fstream": "https://registry.npmjs.org/fstream/-/fstream-0.1.31.tgz",
- "match-stream": "https://registry.npmjs.org/match-stream/-/match-stream-0.0.2.tgz",
- "pullstream": "https://registry.npmjs.org/pullstream/-/pullstream-0.4.1.tgz",
- "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
- "setimmediate": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz"
- },
"dependencies": {
"isarray": {
- "version": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
"integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
"dev": true
},
"readable-stream": {
- "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "version": "1.0.34",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
"integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
- "dev": true,
- "requires": {
- "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
- "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
- "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
- }
+ "dev": true
},
"string_decoder": {
- "version": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "version": "0.10.31",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
"dev": true
}
}
},
"upath": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/upath/-/upath-1.0.0.tgz",
- "integrity": "sha1-tHBrlGHKhHOt+JEz0jVonKF/NlY=",
- "dev": true,
- "requires": {
- "lodash": "3.10.1",
- "underscore.string": "2.3.3"
- },
- "dependencies": {
- "lodash": {
- "version": "3.10.1",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz",
- "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=",
- "dev": true
- }
- }
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/upath/-/upath-1.0.4.tgz",
+ "integrity": "sha512-d4SJySNBXDaQp+DPrziv3xGS6w3d2Xt69FijJr86zMPBy23JEloMCEOUBBzuN7xCtjLCnmB9tI/z7SBCahHBOw==",
+ "dev": true
},
"urix": {
- "version": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
"integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI="
},
"url": {
- "version": "https://registry.npmjs.org/url/-/url-0.10.3.tgz",
+ "version": "0.10.3",
+ "resolved": "https://registry.npmjs.org/url/-/url-0.10.3.tgz",
"integrity": "sha1-Ah5NnHcF8hu/N9A861h2dAJ3TGQ=",
"dev": true,
- "requires": {
- "punycode": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
- "querystring": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz"
- },
"dependencies": {
"punycode": {
- "version": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
"integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=",
"dev": true
}
}
},
"url-parse": {
- "version": "https://registry.npmjs.org/url-parse/-/url-parse-1.2.0.tgz",
- "integrity": "sha1-OhnoqqbQI93SfcxEy0/I9/7COYY=",
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.0.tgz",
+ "integrity": "sha512-ERuGxDiQ6Xw/agN4tuoCRbmwRuZP0cJ1lJxJubXr5Q/5cDa78+Dc4wfvtxzhzhkm5VvmW6Mf8EVj9SPGN4l8Lg==",
"dev": true,
- "requires": {
- "querystringify": "https://registry.npmjs.org/querystringify/-/querystringify-1.0.0.tgz",
- "requires-port": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz"
- },
"dependencies": {
"querystringify": {
- "version": "https://registry.npmjs.org/querystringify/-/querystringify-1.0.0.tgz",
- "integrity": "sha1-YoYkIRLFtxL6ZU5SZlK/ahP/Bcs=",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.0.0.tgz",
+ "integrity": "sha512-eTPo5t/4bgaMNZxyjWx6N2a6AuE0mq51KWvpc7nU/MAqixcI6v6KrGUKES0HaomdnolQBBXU/++X6/QQ9KL4tw==",
"dev": true
}
}
},
"use": {
- "version": "https://registry.npmjs.org/use/-/use-2.0.2.tgz",
- "integrity": "sha1-riig1y+TvyJCKhii43mZMRLeyOg=",
- "dev": true,
- "requires": {
- "define-property": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "isobject": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
- "lazy-cache": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz"
- },
- "dependencies": {
- "define-property": {
- "version": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "dev": true,
- "requires": {
- "is-descriptor": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz"
- }
- },
- "is-accessor-descriptor": {
- "version": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
- "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
- "dev": true,
- "requires": {
- "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz"
- },
- "dependencies": {
- "kind-of": {
- "version": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true,
- "requires": {
- "is-buffer": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz"
- }
- }
- }
- },
- "is-data-descriptor": {
- "version": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
- "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
- "dev": true,
- "requires": {
- "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz"
- },
- "dependencies": {
- "kind-of": {
- "version": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true,
- "requires": {
- "is-buffer": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz"
- }
- }
- }
- },
- "is-descriptor": {
- "version": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
- "integrity": "sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco=",
- "dev": true,
- "requires": {
- "is-accessor-descriptor": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
- "is-data-descriptor": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
- "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz"
- }
- },
- "kind-of": {
- "version": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
- "integrity": "sha1-cpyR4thXt6QZofmqZWhcTDP1hF0=",
- "dev": true
- }
- }
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/use/-/use-3.1.0.tgz",
+ "integrity": "sha512-6UJEQM/L+mzC3ZJNM56Q4DFGLX/evKGRg15UJHGB9X5j5Z3AFbgZvjUh2yq/UJUY4U5dh7Fal++XbNg1uzpRAw==",
+ "dev": true
},
"user-home": {
- "version": "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz",
"integrity": "sha1-K1viOjK2Onyd640PKNSFcko98ZA=",
"dev": true
},
"useragent": {
- "version": "https://registry.npmjs.org/useragent/-/useragent-2.3.0.tgz",
- "integrity": "sha1-IX+UOtVAyyEoZYqyP8lg9qiMmXI=",
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/useragent/-/useragent-2.2.1.tgz",
+ "integrity": "sha1-z1k+9PLRdYdei7ZY6pLhik/QbY4=",
"dev": true,
- "requires": {
- "lru-cache": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz",
- "tmp": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz"
+ "dependencies": {
+ "lru-cache": {
+ "version": "2.2.4",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.2.4.tgz",
+ "integrity": "sha1-bGWGGb7PFAMdDQtZSxYELOTcBj0=",
+ "dev": true
+ }
}
},
"util": {
- "version": "https://registry.npmjs.org/util/-/util-0.10.3.tgz",
+ "version": "0.10.3",
+ "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz",
"integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=",
"dev": true,
- "requires": {
- "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz"
- },
"dependencies": {
"inherits": {
- "version": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
"integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=",
"dev": true
}
}
},
"util-deprecate": {
- "version": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
"integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
},
"utils-merge": {
- "version": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz",
"integrity": "sha1-ApT7kiu5N1FTVBxPcJYjHyh8ivg=",
"dev": true
},
"uuid": {
- "version": "https://registry.npmjs.org/uuid/-/uuid-3.2.1.tgz",
- "integrity": "sha1-EsUou51Y0LkmXZovbw/ovhf/HxQ=",
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.2.1.tgz",
+ "integrity": "sha512-jZnMwlb9Iku/O3smGWvZhauCf6cvvpKi4BKRiliS3cxnI+Gz9j5MEpTz2UFuXiKPJocb7gnsLHwiS05ige5BEA==",
"dev": true
},
"uws": {
- "version": "0.14.5",
- "resolved": "https://registry.npmjs.org/uws/-/uws-0.14.5.tgz",
- "integrity": "sha1-Z6rzPEaypYel9mZtAPdpEyjxSdw=",
+ "version": "9.14.0",
+ "resolved": "https://registry.npmjs.org/uws/-/uws-9.14.0.tgz",
+ "integrity": "sha512-HNMztPP5A1sKuVFmdZ6BPVpBQd5bUjNC8EFMFiICK+oho/OQsAJy5hnIx4btMHiOk8j04f/DbIlqnEZ9d72dqg==",
"dev": true,
"optional": true
},
"v8flags": {
- "version": "https://registry.npmjs.org/v8flags/-/v8flags-2.1.1.tgz",
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-2.1.1.tgz",
"integrity": "sha1-qrGh+jDUX4jdMhFIh1rALAtV5bQ=",
- "dev": true,
- "requires": {
- "user-home": "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz"
- }
+ "dev": true
},
"validate-npm-package-license": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz",
- "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=",
- "dev": true,
- "requires": {
- "spdx-correct": "1.0.2",
- "spdx-expression-parse": "1.0.4"
- }
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz",
+ "integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==",
+ "dev": true
},
"value-or-function": {
- "version": "https://registry.npmjs.org/value-or-function/-/value-or-function-3.0.0.tgz",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/value-or-function/-/value-or-function-3.0.0.tgz",
"integrity": "sha1-HCQ6ULWVwb5Up1S/7OhWO5/42BM=",
"dev": true
},
"vary": {
- "version": "https://registry.npmjs.org/vary/-/vary-1.0.1.tgz",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/vary/-/vary-1.0.1.tgz",
"integrity": "sha1-meSYFWaihhGN+yuBc1ffeZM3bRA=",
"dev": true
},
"verror": {
- "version": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
+ "version": "1.10.0",
+ "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
"integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
"dev": true,
- "requires": {
- "assert-plus": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
- "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
- "extsprintf": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz"
- },
"dependencies": {
"assert-plus": {
- "version": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
"integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
"dev": true
}
}
},
"vfile": {
- "version": "https://registry.npmjs.org/vfile/-/vfile-2.3.0.tgz",
- "integrity": "sha1-5i2OcrIOg8MkvGxnJ47ickiL+Eo=",
- "dev": true,
- "requires": {
- "is-buffer": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
- "replace-ext": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz",
- "unist-util-stringify-position": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-1.1.1.tgz",
- "vfile-message": "https://registry.npmjs.org/vfile-message/-/vfile-message-1.0.0.tgz"
- }
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/vfile/-/vfile-2.3.0.tgz",
+ "integrity": "sha512-ASt4mBUHcTpMKD/l5Q+WJXNtshlWxOogYyGYYrg4lt/vuRjC1EFQtlAofL5VmtVNIZJzWYFJjzGWZ0Gw8pzW1w==",
+ "dev": true
},
"vfile-location": {
- "version": "https://registry.npmjs.org/vfile-location/-/vfile-location-2.0.2.tgz",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-2.0.2.tgz",
"integrity": "sha1-02dcWch3SY5JK0dW/2Xkrxp1IlU=",
"dev": true
},
"vfile-message": {
- "version": "https://registry.npmjs.org/vfile-message/-/vfile-message-1.0.0.tgz",
- "integrity": "sha1-pq2wR06kAPol2Snx1nOr6moX41k=",
- "dev": true,
- "requires": {
- "unist-util-stringify-position": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-1.1.1.tgz"
- }
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-1.0.0.tgz",
+ "integrity": "sha512-HPREhzTOB/sNDc9/Mxf8w0FmHnThg5CRSJdR9VRFkD2riqYWs+fuXlj5z8mIpv2LrD7uU41+oPWFOL4Mjlf+dw==",
+ "dev": true
},
"vfile-reporter": {
- "version": "https://registry.npmjs.org/vfile-reporter/-/vfile-reporter-4.0.0.tgz",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/vfile-reporter/-/vfile-reporter-4.0.0.tgz",
"integrity": "sha1-6m8K4TQvSEFXOYXgX5QXNvJ96do=",
"dev": true,
- "requires": {
- "repeat-string": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
- "string-width": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
- "supports-color": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz",
- "unist-util-stringify-position": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-1.1.1.tgz",
- "vfile-statistics": "https://registry.npmjs.org/vfile-statistics/-/vfile-statistics-1.1.0.tgz"
- },
"dependencies": {
"has-flag": {
- "version": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz",
"integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=",
"dev": true
},
"supports-color": {
- "version": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz",
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz",
"integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=",
- "dev": true,
- "requires": {
- "has-flag": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz"
- }
+ "dev": true
}
}
},
"vfile-sort": {
- "version": "https://registry.npmjs.org/vfile-sort/-/vfile-sort-2.1.0.tgz",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/vfile-sort/-/vfile-sort-2.1.0.tgz",
"integrity": "sha1-SVAcnou+Wt/y6bOnZx7hseIMUhA=",
"dev": true
},
"vfile-statistics": {
- "version": "https://registry.npmjs.org/vfile-statistics/-/vfile-statistics-1.1.0.tgz",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/vfile-statistics/-/vfile-statistics-1.1.0.tgz",
"integrity": "sha1-AhBMYP3u0dEbH3OtZTMLdjSz2JU=",
"dev": true
},
"vhost": {
- "version": "https://registry.npmjs.org/vhost/-/vhost-3.0.2.tgz",
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/vhost/-/vhost-3.0.2.tgz",
"integrity": "sha1-L7HezUxGaqiLD5NBrzPcGv8keNU=",
"dev": true
},
"vinyl": {
- "version": "https://registry.npmjs.org/vinyl/-/vinyl-2.1.0.tgz",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.1.0.tgz",
"integrity": "sha1-Ah+cLPlR1rk5lDyJ617lrdT9kkw=",
- "dev": true,
- "requires": {
- "clone": "https://registry.npmjs.org/clone/-/clone-2.1.1.tgz",
- "clone-buffer": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz",
- "clone-stats": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz",
- "cloneable-readable": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.0.0.tgz",
- "remove-trailing-separator": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
- "replace-ext": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz"
- }
+ "dev": true
},
"vinyl-fs": {
- "version": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-3.0.2.tgz",
- "integrity": "sha1-G4YliEQ4P1dYH8qsCB/gnvbW11I=",
- "dev": true,
- "requires": {
- "fs-mkdirp-stream": "https://registry.npmjs.org/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz",
- "glob-stream": "https://registry.npmjs.org/glob-stream/-/glob-stream-6.1.0.tgz",
- "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
- "is-valid-glob": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-1.0.0.tgz",
- "lazystream": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz",
- "lead": "https://registry.npmjs.org/lead/-/lead-1.0.0.tgz",
- "object.assign": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz",
- "pumpify": "https://registry.npmjs.org/pumpify/-/pumpify-1.4.0.tgz",
- "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.4.tgz",
- "remove-bom-buffer": "https://registry.npmjs.org/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz",
- "remove-bom-stream": "https://registry.npmjs.org/remove-bom-stream/-/remove-bom-stream-1.2.0.tgz",
- "resolve-options": "https://registry.npmjs.org/resolve-options/-/resolve-options-1.1.0.tgz",
- "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
- "to-through": "https://registry.npmjs.org/to-through/-/to-through-2.0.0.tgz",
- "value-or-function": "https://registry.npmjs.org/value-or-function/-/value-or-function-3.0.0.tgz",
- "vinyl": "https://registry.npmjs.org/vinyl/-/vinyl-2.1.0.tgz",
- "vinyl-sourcemap": "https://registry.npmjs.org/vinyl-sourcemap/-/vinyl-sourcemap-1.1.0.tgz"
- }
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-3.0.2.tgz",
+ "integrity": "sha512-AUSFda1OukBwuLPBTbyuO4IRWgfXmqC4UTW0f8xrCa8Hkv9oyIU+NSqBlgfOLZRoUt7cHdo75hKQghCywpIyIw==",
+ "dev": true
},
"vinyl-sourcemap": {
- "version": "https://registry.npmjs.org/vinyl-sourcemap/-/vinyl-sourcemap-1.1.0.tgz",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/vinyl-sourcemap/-/vinyl-sourcemap-1.1.0.tgz",
"integrity": "sha1-kqgAWTo4cDqM2xHYswCtS+Y7PhY=",
- "dev": true,
- "requires": {
- "append-buffer": "https://registry.npmjs.org/append-buffer/-/append-buffer-1.0.2.tgz",
- "convert-source-map": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz",
- "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
- "normalize-path": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
- "now-and-later": "https://registry.npmjs.org/now-and-later/-/now-and-later-2.0.0.tgz",
- "remove-bom-buffer": "https://registry.npmjs.org/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz",
- "vinyl": "https://registry.npmjs.org/vinyl/-/vinyl-2.1.0.tgz"
- }
+ "dev": true
},
"vinyl-sourcemaps-apply": {
- "version": "https://registry.npmjs.org/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz",
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz",
"integrity": "sha1-q2VJ1h0XLCsbh75cUI0jnI74dwU=",
"dev": true,
- "requires": {
- "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz"
- },
"dependencies": {
"source-map": {
- "version": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
"integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
"dev": true
}
}
},
"vlq": {
- "version": "https://registry.npmjs.org/vlq/-/vlq-0.2.3.tgz",
- "integrity": "sha1-jz5DKM9jsVQMDWfhsneDhviXWyY=",
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/vlq/-/vlq-0.2.3.tgz",
+ "integrity": "sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow==",
"dev": true
},
"vm-browserify": {
- "version": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz",
+ "version": "0.0.4",
+ "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz",
"integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=",
- "dev": true,
- "requires": {
- "indexof": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz"
- }
+ "dev": true
},
"void-elements": {
- "version": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz",
"integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=",
"dev": true
},
"walk": {
- "version": "https://registry.npmjs.org/walk/-/walk-2.3.9.tgz",
- "integrity": "sha1-MbTbZnjyrgHDnqn7hyWpAx5Vins=",
- "dev": true,
- "requires": {
- "foreachasync": "https://registry.npmjs.org/foreachasync/-/foreachasync-3.0.0.tgz"
- }
+ "version": "2.3.13",
+ "resolved": "https://registry.npmjs.org/walk/-/walk-2.3.13.tgz",
+ "integrity": "sha512-78SMe7To9U7kqVhSoGho3GfspA089ZDBIj2f8jElg2hi6lUCoagtDJ8sSMFNlpAh5Ib8Jt1gQ6Y7gh9mzHtFng==",
+ "dev": true
},
"watchpack": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.4.0.tgz",
- "integrity": "sha1-ShRyvLuVK9Cpu0A2gB+VTfs5+qw=",
- "dev": true,
- "requires": {
- "async": "2.6.0",
- "chokidar": "1.7.0",
- "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz"
- },
- "dependencies": {
- "anymatch": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz",
- "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==",
- "dev": true,
- "requires": {
- "micromatch": "2.3.11",
- "normalize-path": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz"
- }
- },
- "arr-diff": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz",
- "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=",
- "dev": true,
- "requires": {
- "arr-flatten": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz"
- }
- },
- "array-unique": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz",
- "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=",
- "dev": true
- },
- "async": {
- "version": "2.6.0",
- "resolved": "https://registry.npmjs.org/async/-/async-2.6.0.tgz",
- "integrity": "sha512-xAfGg1/NTLBBKlHFmnd7PlmUW9KhVQIUuSrYem9xzFUZy13ScvtyGGejaae9iAVRiRq9+Cx7DPFaAAhCpyxyPw==",
- "dev": true,
- "requires": {
- "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz"
- }
- },
- "braces": {
- "version": "1.8.5",
- "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz",
- "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=",
- "dev": true,
- "requires": {
- "expand-range": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz",
- "preserve": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz",
- "repeat-element": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz"
- }
- },
- "chokidar": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz",
- "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=",
- "dev": true,
- "requires": {
- "anymatch": "1.3.2",
- "async-each": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz",
- "fsevents": "https://registry.npmjs.org/fsevents/-/fsevents-1.1.3.tgz",
- "glob-parent": "2.0.0",
- "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "is-binary-path": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
- "is-glob": "2.0.1",
- "path-is-absolute": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
- "readdirp": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz"
- }
- },
- "expand-brackets": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz",
- "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=",
- "dev": true,
- "requires": {
- "is-posix-bracket": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz"
- }
- },
- "extglob": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz",
- "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=",
- "dev": true,
- "requires": {
- "is-extglob": "1.0.0"
- }
- },
- "glob-parent": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
- "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=",
- "dev": true,
- "requires": {
- "is-glob": "2.0.1"
- }
- },
- "is-extglob": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
- "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
- "dev": true
- },
- "is-glob": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
- "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
- "dev": true,
- "requires": {
- "is-extglob": "1.0.0"
- }
- },
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true,
- "requires": {
- "is-buffer": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz"
- }
- },
- "micromatch": {
- "version": "2.3.11",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz",
- "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=",
- "dev": true,
- "requires": {
- "arr-diff": "2.0.0",
- "array-unique": "0.2.1",
- "braces": "1.8.5",
- "expand-brackets": "0.1.5",
- "extglob": "0.3.2",
- "filename-regex": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz",
- "is-extglob": "1.0.0",
- "is-glob": "2.0.1",
- "kind-of": "3.2.2",
- "normalize-path": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
- "object.omit": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz",
- "parse-glob": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz",
- "regex-cache": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz"
- }
- }
- }
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.5.0.tgz",
+ "integrity": "sha512-RSlipNQB1u48cq0wH/BNfCu1tD/cJ8ydFIkNYhp9o+3d+8unClkIovpW5qpFPgmL9OE48wfAnlZydXByWP82AA==",
+ "dev": true
},
"webdriverio": {
- "version": "https://registry.npmjs.org/webdriverio/-/webdriverio-3.4.0.tgz",
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/webdriverio/-/webdriverio-3.4.0.tgz",
"integrity": "sha1-2dTTwxNm8FPhCvZEsOqtXoc6t7U=",
"dev": true,
- "requires": {
- "archiver": "https://registry.npmjs.org/archiver/-/archiver-0.14.4.tgz",
- "array.from": "https://registry.npmjs.org/array.from/-/array.from-0.2.0.tgz",
- "co": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
- "css-parse": "https://registry.npmjs.org/css-parse/-/css-parse-2.0.0.tgz",
- "css-value": "https://registry.npmjs.org/css-value/-/css-value-0.0.1.tgz",
- "deepmerge": "https://registry.npmjs.org/deepmerge/-/deepmerge-0.2.10.tgz",
- "ejs": "https://registry.npmjs.org/ejs/-/ejs-2.5.7.tgz",
- "glob": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
- "inquirer": "https://registry.npmjs.org/inquirer/-/inquirer-0.8.5.tgz",
- "is-generator": "https://registry.npmjs.org/is-generator/-/is-generator-1.0.3.tgz",
- "optimist": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz",
- "q": "https://registry.npmjs.org/q/-/q-1.3.0.tgz",
- "request": "https://registry.npmjs.org/request/-/request-2.49.0.tgz",
- "rgb2hex": "https://registry.npmjs.org/rgb2hex/-/rgb2hex-0.1.0.tgz",
- "supports-color": "https://registry.npmjs.org/supports-color/-/supports-color-1.3.1.tgz",
- "url": "https://registry.npmjs.org/url/-/url-0.10.3.tgz",
- "wgxpath": "https://registry.npmjs.org/wgxpath/-/wgxpath-1.0.0.tgz"
- },
"dependencies": {
"ansi-regex": {
- "version": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-1.1.1.tgz",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-1.1.1.tgz",
"integrity": "sha1-QchHGUZGN15qGl0Qw8oFTvn8mA0=",
"dev": true
},
"asn1": {
- "version": "https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz",
+ "version": "0.1.11",
+ "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz",
"integrity": "sha1-VZvhg3bQik7E2+gId9J4GGObLfc=",
"dev": true
},
"assert-plus": {
- "version": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.5.tgz",
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.5.tgz",
"integrity": "sha1-7nQAlBMALYTOxyGcasgRgS5yMWA=",
"dev": true
},
"async": {
- "version": "https://registry.npmjs.org/async/-/async-0.9.2.tgz",
+ "version": "0.9.2",
+ "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz",
"integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=",
"dev": true
},
"aws-sign2": {
- "version": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.5.0.tgz",
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.5.0.tgz",
"integrity": "sha1-xXED96F/wDfwLXwuZLYC6iI/fWM=",
"dev": true
},
"boom": {
- "version": "https://registry.npmjs.org/boom/-/boom-0.4.2.tgz",
+ "version": "0.4.2",
+ "resolved": "https://registry.npmjs.org/boom/-/boom-0.4.2.tgz",
"integrity": "sha1-emNune1O/O+xnO9JR6PGffrukRs=",
- "dev": true,
- "requires": {
- "hoek": "https://registry.npmjs.org/hoek/-/hoek-0.9.1.tgz"
- }
+ "dev": true
},
"caseless": {
- "version": "https://registry.npmjs.org/caseless/-/caseless-0.8.0.tgz",
+ "version": "0.8.0",
+ "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.8.0.tgz",
"integrity": "sha1-W8oogdQUN/VLJAfr40iIx7mtT30=",
"dev": true
},
"cli-width": {
- "version": "https://registry.npmjs.org/cli-width/-/cli-width-1.1.1.tgz",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-1.1.1.tgz",
"integrity": "sha1-pNKT72frt7iNSk1CwMzwDE0eNm0=",
"dev": true
},
"combined-stream": {
- "version": "https://registry.npmjs.org/combined-stream/-/combined-stream-0.0.7.tgz",
+ "version": "0.0.7",
+ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-0.0.7.tgz",
"integrity": "sha1-ATfmV7qlp1QcV6w3rF/AfXO03B8=",
- "dev": true,
- "requires": {
- "delayed-stream": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz"
- }
+ "dev": true
},
"cryptiles": {
- "version": "https://registry.npmjs.org/cryptiles/-/cryptiles-0.2.2.tgz",
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-0.2.2.tgz",
"integrity": "sha1-7ZH/HxetE9N0gohZT4pIoNJvMlw=",
- "dev": true,
- "requires": {
- "boom": "https://registry.npmjs.org/boom/-/boom-0.4.2.tgz"
- }
+ "dev": true
},
"delayed-stream": {
- "version": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz",
+ "version": "0.0.5",
+ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz",
"integrity": "sha1-1LH0OpPoKW3+AmlPRoC8N6MTxz8=",
"dev": true
},
"figures": {
- "version": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz",
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz",
"integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=",
- "dev": true,
- "requires": {
- "escape-string-regexp": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz"
- }
+ "dev": true
},
"forever-agent": {
- "version": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.5.2.tgz",
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.5.2.tgz",
"integrity": "sha1-bQ4JxJIflKJ/Y9O0nF/v8epMUTA=",
"dev": true
},
"form-data": {
- "version": "https://registry.npmjs.org/form-data/-/form-data-0.1.4.tgz",
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-0.1.4.tgz",
"integrity": "sha1-kavXiKupcCsaq/qLwBAxoqyeOxI=",
- "dev": true,
- "requires": {
- "async": "https://registry.npmjs.org/async/-/async-0.9.2.tgz",
- "combined-stream": "https://registry.npmjs.org/combined-stream/-/combined-stream-0.0.7.tgz",
- "mime": "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz"
- }
+ "dev": true
},
"glob": {
- "version": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
+ "version": "5.0.15",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
"integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=",
- "dev": true,
- "requires": {
- "inflight": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
- "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
- "once": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
- "path-is-absolute": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz"
- }
+ "dev": true
},
"hawk": {
- "version": "https://registry.npmjs.org/hawk/-/hawk-1.1.1.tgz",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/hawk/-/hawk-1.1.1.tgz",
"integrity": "sha1-h81JH5tG5OKurKM1QWdmiF0tHtk=",
- "dev": true,
- "requires": {
- "boom": "https://registry.npmjs.org/boom/-/boom-0.4.2.tgz",
- "cryptiles": "https://registry.npmjs.org/cryptiles/-/cryptiles-0.2.2.tgz",
- "hoek": "https://registry.npmjs.org/hoek/-/hoek-0.9.1.tgz",
- "sntp": "https://registry.npmjs.org/sntp/-/sntp-0.2.4.tgz"
- }
+ "dev": true
},
"hoek": {
- "version": "https://registry.npmjs.org/hoek/-/hoek-0.9.1.tgz",
+ "version": "0.9.1",
+ "resolved": "https://registry.npmjs.org/hoek/-/hoek-0.9.1.tgz",
"integrity": "sha1-PTIkYrrfB3Fup+uFuviAec3c5QU=",
"dev": true
},
"http-signature": {
- "version": "https://registry.npmjs.org/http-signature/-/http-signature-0.10.1.tgz",
+ "version": "0.10.1",
+ "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-0.10.1.tgz",
"integrity": "sha1-T72sEyVZqoMjEh5UB3nAoBKyfmY=",
- "dev": true,
- "requires": {
- "asn1": "https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz",
- "assert-plus": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.5.tgz",
- "ctype": "https://registry.npmjs.org/ctype/-/ctype-0.5.3.tgz"
- }
+ "dev": true
},
"inquirer": {
- "version": "https://registry.npmjs.org/inquirer/-/inquirer-0.8.5.tgz",
+ "version": "0.8.5",
+ "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-0.8.5.tgz",
"integrity": "sha1-29dAz2yjtzEpamPOb22WGFHzNt8=",
- "dev": true,
- "requires": {
- "ansi-regex": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-1.1.1.tgz",
- "chalk": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "cli-width": "https://registry.npmjs.org/cli-width/-/cli-width-1.1.1.tgz",
- "figures": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz",
- "lodash": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz",
- "readline2": "https://registry.npmjs.org/readline2/-/readline2-0.1.1.tgz",
- "rx": "https://registry.npmjs.org/rx/-/rx-2.5.3.tgz",
- "through": "https://registry.npmjs.org/through/-/through-2.3.8.tgz"
- }
+ "dev": true
},
"lodash": {
- "version": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz",
+ "version": "3.10.1",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz",
"integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=",
"dev": true
},
"mime": {
- "version": "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz",
+ "version": "1.2.11",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz",
"integrity": "sha1-WCA+7Ybjpe8XrtK32evUfwpg3RA=",
"dev": true
},
"mime-types": {
- "version": "https://registry.npmjs.org/mime-types/-/mime-types-1.0.2.tgz",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-1.0.2.tgz",
"integrity": "sha1-mVrhOSq4r/y/yyZB3QVOlDwNXc4=",
"dev": true
},
"node-uuid": {
- "version": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.8.tgz",
+ "version": "1.4.8",
+ "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.8.tgz",
"integrity": "sha1-sEDrCSOWivq/jTL7HxfxFn/auQc=",
"dev": true
},
"oauth-sign": {
- "version": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.5.0.tgz",
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.5.0.tgz",
"integrity": "sha1-12f1FpMlYg6rLgh+8MRy53PbZGE=",
"dev": true
},
"qs": {
- "version": "https://registry.npmjs.org/qs/-/qs-2.3.3.tgz",
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-2.3.3.tgz",
"integrity": "sha1-6eha2+ddoLvkyOBHaghikPhjtAQ=",
"dev": true
},
"request": {
- "version": "https://registry.npmjs.org/request/-/request-2.49.0.tgz",
+ "version": "2.49.0",
+ "resolved": "https://registry.npmjs.org/request/-/request-2.49.0.tgz",
"integrity": "sha1-DU9jSNwzSAWbVT5Ntg/SR43mYqc=",
- "dev": true,
- "requires": {
- "aws-sign2": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.5.0.tgz",
- "bl": "https://registry.npmjs.org/bl/-/bl-0.9.5.tgz",
- "caseless": "https://registry.npmjs.org/caseless/-/caseless-0.8.0.tgz",
- "combined-stream": "https://registry.npmjs.org/combined-stream/-/combined-stream-0.0.7.tgz",
- "forever-agent": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.5.2.tgz",
- "form-data": "https://registry.npmjs.org/form-data/-/form-data-0.1.4.tgz",
- "hawk": "https://registry.npmjs.org/hawk/-/hawk-1.1.1.tgz",
- "http-signature": "https://registry.npmjs.org/http-signature/-/http-signature-0.10.1.tgz",
- "json-stringify-safe": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
- "mime-types": "https://registry.npmjs.org/mime-types/-/mime-types-1.0.2.tgz",
- "node-uuid": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.8.tgz",
- "oauth-sign": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.5.0.tgz",
- "qs": "https://registry.npmjs.org/qs/-/qs-2.3.3.tgz",
- "stringstream": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz",
- "tough-cookie": "2.3.3",
- "tunnel-agent": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz"
- }
+ "dev": true
},
"sntp": {
- "version": "https://registry.npmjs.org/sntp/-/sntp-0.2.4.tgz",
+ "version": "0.2.4",
+ "resolved": "https://registry.npmjs.org/sntp/-/sntp-0.2.4.tgz",
"integrity": "sha1-+4hfGLDzqtGJ+CSGJTa87ux1CQA=",
- "dev": true,
- "requires": {
- "hoek": "https://registry.npmjs.org/hoek/-/hoek-0.9.1.tgz"
- }
+ "dev": true
},
"supports-color": {
- "version": "https://registry.npmjs.org/supports-color/-/supports-color-1.3.1.tgz",
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-1.3.1.tgz",
"integrity": "sha1-FXWN8J2P87SswwdTn6vicJXhBC0=",
"dev": true
}
}
},
"webpack": {
- "version": "https://registry.npmjs.org/webpack/-/webpack-3.11.0.tgz",
- "integrity": "sha1-d9pFGx17SxF62vQaGpO1dC8k2JQ=",
- "dev": true,
- "requires": {
- "acorn": "5.4.1",
- "acorn-dynamic-import": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-2.0.2.tgz",
- "ajv": "6.1.1",
- "ajv-keywords": "3.1.0",
- "async": "https://registry.npmjs.org/async/-/async-2.6.0.tgz",
- "enhanced-resolve": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz",
- "escope": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz",
- "interpret": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz",
- "json-loader": "https://registry.npmjs.org/json-loader/-/json-loader-0.5.7.tgz",
- "json5": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
- "loader-runner": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.3.0.tgz",
- "loader-utils": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz",
- "memory-fs": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz",
- "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
- "node-libs-browser": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.1.0.tgz",
- "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "supports-color": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz",
- "tapable": "https://registry.npmjs.org/tapable/-/tapable-0.2.8.tgz",
- "uglifyjs-webpack-plugin": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-0.4.6.tgz",
- "watchpack": "1.4.0",
- "webpack-sources": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.1.0.tgz",
- "yargs": "https://registry.npmjs.org/yargs/-/yargs-8.0.2.tgz"
- },
+ "version": "3.11.0",
+ "resolved": "https://registry.npmjs.org/webpack/-/webpack-3.11.0.tgz",
+ "integrity": "sha512-3kOFejWqj5ISpJk4Qj/V7w98h9Vl52wak3CLiw/cDOfbVTq7FeoZ0SdoHHY9PYlHr50ZS42OfvzE2vB4nncKQg==",
+ "dev": true,
"dependencies": {
- "ajv": {
- "version": "6.1.1",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.1.1.tgz",
- "integrity": "sha1-l41Zf7wrfQ5aXD3esUmmgvKr+g4=",
- "dev": true,
- "requires": {
- "fast-deep-equal": "1.0.0",
- "fast-json-stable-stringify": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
- "json-schema-traverse": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz"
- }
- },
"ajv-keywords": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.1.0.tgz",
@@ -15577,801 +11006,606 @@
"dev": true
},
"ansi-regex": {
- "version": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
"integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
"dev": true
},
"async": {
- "version": "https://registry.npmjs.org/async/-/async-2.6.0.tgz",
- "integrity": "sha1-YaKau2/MAm/qd+VtHG7FOnlZUfQ=",
- "dev": true,
- "requires": {
- "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz"
- }
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/async/-/async-2.6.0.tgz",
+ "integrity": "sha512-xAfGg1/NTLBBKlHFmnd7PlmUW9KhVQIUuSrYem9xzFUZy13ScvtyGGejaae9iAVRiRq9+Cx7DPFaAAhCpyxyPw==",
+ "dev": true
},
"has-flag": {
- "version": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz",
"integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=",
"dev": true
},
"is-fullwidth-code-point": {
- "version": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
"integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
"dev": true
},
"load-json-file": {
- "version": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz",
"integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=",
- "dev": true,
- "requires": {
- "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
- "parse-json": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
- "pify": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
- "strip-bom": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz"
- }
+ "dev": true
},
"parse-json": {
- "version": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
"integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
- "dev": true,
- "requires": {
- "error-ex": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz"
- }
+ "dev": true
},
"path-type": {
- "version": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz",
"integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=",
- "dev": true,
- "requires": {
- "pify": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz"
- }
+ "dev": true
},
"pify": {
- "version": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
"integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
"dev": true
},
"read-pkg": {
- "version": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz",
"integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=",
- "dev": true,
- "requires": {
- "load-json-file": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz",
- "normalize-package-data": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz",
- "path-type": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz"
- }
+ "dev": true
},
"read-pkg-up": {
- "version": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz",
"integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=",
- "dev": true,
- "requires": {
- "find-up": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
- "read-pkg": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz"
- }
+ "dev": true
},
"source-map": {
- "version": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
"integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
"dev": true
},
"string-width": {
- "version": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
- "integrity": "sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4=",
- "dev": true,
- "requires": {
- "is-fullwidth-code-point": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
- "strip-ansi": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz"
- }
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
+ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
+ "dev": true
},
"strip-ansi": {
- "version": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
"integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
- "dev": true,
- "requires": {
- "ansi-regex": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz"
- }
+ "dev": true
},
"supports-color": {
- "version": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz",
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz",
"integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=",
- "dev": true,
- "requires": {
- "has-flag": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz"
- }
+ "dev": true
},
"yargs": {
- "version": "https://registry.npmjs.org/yargs/-/yargs-8.0.2.tgz",
+ "version": "8.0.2",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-8.0.2.tgz",
"integrity": "sha1-YpmpBVsc78lp/355wdkY3Osiw2A=",
- "dev": true,
- "requires": {
- "camelcase": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz",
- "cliui": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
- "decamelize": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
- "get-caller-file": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz",
- "os-locale": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz",
- "read-pkg-up": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz",
- "require-directory": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
- "require-main-filename": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz",
- "set-blocking": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
- "string-width": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
- "which-module": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
- "y18n": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz",
- "yargs-parser": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz"
- }
+ "dev": true
}
}
},
"webpack-core": {
- "version": "https://registry.npmjs.org/webpack-core/-/webpack-core-0.6.9.tgz",
+ "version": "0.6.9",
+ "resolved": "https://registry.npmjs.org/webpack-core/-/webpack-core-0.6.9.tgz",
"integrity": "sha1-/FcViMhVjad76e+23r3Fo7FyvcI=",
"dev": true,
- "requires": {
- "source-list-map": "https://registry.npmjs.org/source-list-map/-/source-list-map-0.1.8.tgz",
- "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz"
- },
"dependencies": {
"source-list-map": {
- "version": "https://registry.npmjs.org/source-list-map/-/source-list-map-0.1.8.tgz",
+ "version": "0.1.8",
+ "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-0.1.8.tgz",
"integrity": "sha1-xVCyq1Qn9rPyH1r+rYjE9Vh7IQY=",
"dev": true
},
"source-map": {
- "version": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz",
+ "version": "0.4.4",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz",
"integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=",
- "dev": true,
- "requires": {
- "amdefine": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz"
- }
+ "dev": true
}
}
},
"webpack-dev-middleware": {
- "version": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-1.12.2.tgz",
- "integrity": "sha1-+PwRIM47T8VoDO7LQ9d3lmshEF4=",
+ "version": "1.12.2",
+ "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-1.12.2.tgz",
+ "integrity": "sha512-FCrqPy1yy/sN6U/SaEZcHKRXGlqU0DUaEBL45jkUYoB8foVb6wCnbIJ1HKIx+qUFTW+3JpVcCJCxZ8VATL4e+A==",
"dev": true,
- "requires": {
- "memory-fs": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz",
- "mime": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
- "path-is-absolute": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
- "range-parser": "https://registry.npmjs.org/range-parser/-/range-parser-1.0.3.tgz",
- "time-stamp": "https://registry.npmjs.org/time-stamp/-/time-stamp-2.0.0.tgz"
- },
"dependencies": {
- "mime": {
- "version": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
- "integrity": "sha1-Ms2eXGRVO9WNGaVor0Uqz/BJgbE=",
- "dev": true
- },
"time-stamp": {
- "version": "https://registry.npmjs.org/time-stamp/-/time-stamp-2.0.0.tgz",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-2.0.0.tgz",
"integrity": "sha1-lcakRTDhW6jW9KPsuMOj+sRto1c=",
"dev": true
}
}
},
"webpack-sources": {
- "version": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.1.0.tgz",
- "integrity": "sha1-oQHrrlnWUHNU1x2AE5UKOot6WlQ=",
- "dev": true,
- "requires": {
- "source-list-map": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.0.tgz",
- "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz"
- }
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.1.0.tgz",
+ "integrity": "sha512-aqYp18kPphgoO5c/+NaUvEeACtZjMESmDChuD3NBciVpah3XpMEU9VAAtIaB1BsfJWWTSdv8Vv1m3T0aRk2dUw==",
+ "dev": true
},
"webpack-stream": {
- "version": "https://registry.npmjs.org/webpack-stream/-/webpack-stream-3.2.0.tgz",
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/webpack-stream/-/webpack-stream-3.2.0.tgz",
"integrity": "sha1-Oh0WD7EdQXJ7fObzL3IkZPmLIYY=",
"dev": true,
- "requires": {
- "gulp-util": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz",
- "lodash.clone": "https://registry.npmjs.org/lodash.clone/-/lodash.clone-4.5.0.tgz",
- "lodash.some": "https://registry.npmjs.org/lodash.some/-/lodash.some-4.6.0.tgz",
- "memory-fs": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.3.0.tgz",
- "through": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
- "vinyl": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz",
- "webpack": "https://registry.npmjs.org/webpack/-/webpack-1.15.0.tgz"
- },
"dependencies": {
"acorn": {
- "version": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz",
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz",
"integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=",
"dev": true
},
"anymatch": {
- "version": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz",
- "integrity": "sha1-VT3Lj5HjyImEXf26NMd3IbkLnXo=",
- "dev": true,
- "requires": {
- "micromatch": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz",
- "normalize-path": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz"
- }
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz",
+ "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==",
+ "dev": true
},
"arr-diff": {
- "version": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz",
"integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=",
- "dev": true,
- "requires": {
- "arr-flatten": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz"
- }
+ "dev": true
},
"array-unique": {
- "version": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz",
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz",
"integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=",
"dev": true
},
"braces": {
- "version": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz",
+ "version": "1.8.5",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz",
"integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=",
- "dev": true,
- "requires": {
- "expand-range": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz",
- "preserve": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz",
- "repeat-element": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz"
- }
+ "dev": true
},
"browserify-aes": {
- "version": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-0.4.0.tgz",
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-0.4.0.tgz",
"integrity": "sha1-BnFJtmjfMcS1hTPgLQHoBthgjiw=",
- "dev": true,
- "requires": {
- "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz"
- }
+ "dev": true
},
"browserify-zlib": {
- "version": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz",
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz",
"integrity": "sha1-uzX4pRn2AOD6a4SFJByXnQFB+y0=",
- "dev": true,
- "requires": {
- "pako": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz"
- }
- },
- "buffer": {
- "version": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz",
- "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=",
- "dev": true,
- "requires": {
- "base64-js": "1.2.1",
- "ieee754": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.8.tgz",
- "isarray": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz"
- }
+ "dev": true
},
"camelcase": {
- "version": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz",
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz",
"integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=",
"dev": true
},
"chokidar": {
- "version": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz",
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz",
"integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=",
- "dev": true,
- "requires": {
- "anymatch": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz",
- "async-each": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz",
- "fsevents": "https://registry.npmjs.org/fsevents/-/fsevents-1.1.3.tgz",
- "glob-parent": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
- "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "is-binary-path": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
- "is-glob": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
- "path-is-absolute": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
- "readdirp": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz"
- }
+ "dev": true
},
"cliui": {
- "version": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz",
"integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=",
- "dev": true,
- "requires": {
- "center-align": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz",
- "right-align": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz",
- "wordwrap": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz"
- }
+ "dev": true
},
"clone": {
- "version": "https://registry.npmjs.org/clone/-/clone-1.0.3.tgz",
- "integrity": "sha1-KY1+IjFmD0DAA8LtMUDezz9TCF8=",
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
+ "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=",
"dev": true
},
"clone-stats": {
- "version": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz",
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz",
"integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=",
"dev": true
},
"crypto-browserify": {
- "version": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.3.0.tgz",
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.3.0.tgz",
"integrity": "sha1-ufx1u0oO1h3PHNXa6W6zDJw+UGw=",
- "dev": true,
- "requires": {
- "browserify-aes": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-0.4.0.tgz",
- "pbkdf2-compat": "https://registry.npmjs.org/pbkdf2-compat/-/pbkdf2-compat-2.0.1.tgz",
- "ripemd160": "https://registry.npmjs.org/ripemd160/-/ripemd160-0.2.0.tgz",
- "sha.js": "https://registry.npmjs.org/sha.js/-/sha.js-2.2.6.tgz"
- }
+ "dev": true
},
"enhanced-resolve": {
- "version": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-0.9.1.tgz",
+ "version": "0.9.1",
+ "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-0.9.1.tgz",
"integrity": "sha1-TW5omzcl+GCQknzMhs2fFjW4ni4=",
"dev": true,
- "requires": {
- "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
- "memory-fs": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.2.0.tgz",
- "tapable": "https://registry.npmjs.org/tapable/-/tapable-0.1.10.tgz"
- },
"dependencies": {
"memory-fs": {
- "version": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.2.0.tgz",
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.2.0.tgz",
"integrity": "sha1-8rslNovBIeORwlIN6Slpyu4KApA=",
"dev": true
}
}
},
"expand-brackets": {
- "version": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz",
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz",
"integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=",
- "dev": true,
- "requires": {
- "is-posix-bracket": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz"
- }
+ "dev": true
},
"extglob": {
- "version": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz",
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz",
"integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=",
- "dev": true,
- "requires": {
- "is-extglob": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz"
- }
+ "dev": true
},
"glob-parent": {
- "version": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
"integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=",
- "dev": true,
- "requires": {
- "is-glob": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz"
- }
+ "dev": true
},
"has-flag": {
- "version": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
"integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
"dev": true
},
"https-browserify": {
- "version": "https://registry.npmjs.org/https-browserify/-/https-browserify-0.0.1.tgz",
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-0.0.1.tgz",
"integrity": "sha1-P5E2XKvmC3ftDruiS0VOPgnZWoI=",
"dev": true
},
"interpret": {
- "version": "https://registry.npmjs.org/interpret/-/interpret-0.6.6.tgz",
+ "version": "0.6.6",
+ "resolved": "https://registry.npmjs.org/interpret/-/interpret-0.6.6.tgz",
"integrity": "sha1-/s16GOfOXKar+5U+H4YhOknxYls=",
"dev": true
},
"is-extglob": {
- "version": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
"integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
"dev": true
},
"is-glob": {
- "version": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
"integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
- "dev": true,
- "requires": {
- "is-extglob": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz"
- }
+ "dev": true
},
"kind-of": {
- "version": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true,
- "requires": {
- "is-buffer": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz"
- }
+ "dev": true
},
"loader-utils": {
- "version": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz",
+ "version": "0.2.17",
+ "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz",
"integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=",
- "dev": true,
- "requires": {
- "big.js": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz",
- "emojis-list": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz",
- "json5": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
- "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz"
- }
+ "dev": true
},
"lodash.clone": {
- "version": "https://registry.npmjs.org/lodash.clone/-/lodash.clone-4.5.0.tgz",
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/lodash.clone/-/lodash.clone-4.5.0.tgz",
"integrity": "sha1-GVhwRQ9aExkkeN9Lw9I9LeoZB7Y=",
"dev": true
},
"memory-fs": {
- "version": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.3.0.tgz",
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.3.0.tgz",
"integrity": "sha1-e8xrYp46Q+hx1+Kaymrop/FcuyA=",
- "dev": true,
- "requires": {
- "errno": "0.1.6",
- "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.4.tgz"
- }
+ "dev": true
},
"micromatch": {
- "version": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz",
+ "version": "2.3.11",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz",
"integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=",
- "dev": true,
- "requires": {
- "arr-diff": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz",
- "array-unique": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz",
- "braces": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz",
- "expand-brackets": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz",
- "extglob": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz",
- "filename-regex": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz",
- "is-extglob": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
- "is-glob": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
- "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "normalize-path": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
- "object.omit": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz",
- "parse-glob": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz",
- "regex-cache": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz"
- }
+ "dev": true
},
"node-libs-browser": {
- "version": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-0.7.0.tgz",
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-0.7.0.tgz",
"integrity": "sha1-PicsCBnjCJNeJmdECNevDhSRuDs=",
- "dev": true,
- "requires": {
- "assert": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz",
- "browserify-zlib": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz",
- "buffer": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz",
- "console-browserify": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz",
- "constants-browserify": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz",
- "crypto-browserify": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.3.0.tgz",
- "domain-browser": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.1.7.tgz",
- "events": "https://registry.npmjs.org/events/-/events-1.1.1.tgz",
- "https-browserify": "https://registry.npmjs.org/https-browserify/-/https-browserify-0.0.1.tgz",
- "os-browserify": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.2.1.tgz",
- "path-browserify": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz",
- "process": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
- "punycode": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
- "querystring-es3": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz",
- "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.4.tgz",
- "stream-browserify": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz",
- "stream-http": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.0.tgz",
- "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
- "timers-browserify": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.6.tgz",
- "tty-browserify": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz",
- "url": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
- "util": "https://registry.npmjs.org/util/-/util-0.10.3.tgz",
- "vm-browserify": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz"
- }
+ "dev": true
},
"os-browserify": {
- "version": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.2.1.tgz",
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.2.1.tgz",
"integrity": "sha1-Y/xMzuXS13Y9Jrv4YBB45sLgBE8=",
"dev": true
},
"pako": {
- "version": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz",
+ "version": "0.2.9",
+ "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz",
"integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=",
"dev": true
},
"replace-ext": {
- "version": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz",
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz",
"integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=",
"dev": true
},
"ripemd160": {
- "version": "https://registry.npmjs.org/ripemd160/-/ripemd160-0.2.0.tgz",
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-0.2.0.tgz",
"integrity": "sha1-K/GYveFnys+lHAqSjoS2i74XH84=",
"dev": true
},
"sha.js": {
- "version": "https://registry.npmjs.org/sha.js/-/sha.js-2.2.6.tgz",
+ "version": "2.2.6",
+ "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.2.6.tgz",
"integrity": "sha1-F93t3F9yL7ZlAWWIlUYZd4ZzFbo=",
"dev": true
},
"source-map": {
- "version": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
"integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
"dev": true
},
"string_decoder": {
- "version": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "version": "0.10.31",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
"dev": true
},
"supports-color": {
- "version": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
"integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
- "dev": true,
- "requires": {
- "has-flag": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz"
- }
+ "dev": true
},
"tapable": {
- "version": "https://registry.npmjs.org/tapable/-/tapable-0.1.10.tgz",
+ "version": "0.1.10",
+ "resolved": "https://registry.npmjs.org/tapable/-/tapable-0.1.10.tgz",
"integrity": "sha1-KcNXB8K3DlDQdIK10gLo7URtr9Q=",
"dev": true
},
- "timers-browserify": {
- "version": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.6.tgz",
- "integrity": "sha1-JB52kn2coF9NlZgZAi9bNmS2S64=",
- "dev": true,
- "requires": {
- "setimmediate": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz"
- }
- },
- "tty-browserify": {
- "version": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz",
- "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=",
- "dev": true
- },
"uglify-js": {
- "version": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.7.5.tgz",
+ "version": "2.7.5",
+ "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.7.5.tgz",
"integrity": "sha1-RhLAx7qu4rp8SH3kkErhIgefLKg=",
"dev": true,
- "requires": {
- "async": "https://registry.npmjs.org/async/-/async-0.2.10.tgz",
- "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "uglify-to-browserify": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz",
- "yargs": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz"
- },
"dependencies": {
"async": {
- "version": "https://registry.npmjs.org/async/-/async-0.2.10.tgz",
+ "version": "0.2.10",
+ "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz",
"integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=",
"dev": true
}
}
},
"url": {
- "version": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
+ "version": "0.11.0",
+ "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
"integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=",
"dev": true,
- "requires": {
- "punycode": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
- "querystring": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz"
- },
"dependencies": {
"punycode": {
- "version": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
"integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=",
"dev": true
}
}
},
"vinyl": {
- "version": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz",
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz",
"integrity": "sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ=",
- "dev": true,
- "requires": {
- "clone": "https://registry.npmjs.org/clone/-/clone-1.0.3.tgz",
- "clone-stats": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz",
- "replace-ext": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz"
- }
+ "dev": true
},
"watchpack": {
- "version": "https://registry.npmjs.org/watchpack/-/watchpack-0.2.9.tgz",
+ "version": "0.2.9",
+ "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-0.2.9.tgz",
"integrity": "sha1-Yuqkq15bo1/fwBgnVibjwPXj+ws=",
"dev": true,
- "requires": {
- "async": "https://registry.npmjs.org/async/-/async-0.9.2.tgz",
- "chokidar": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz",
- "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz"
- },
"dependencies": {
"async": {
- "version": "https://registry.npmjs.org/async/-/async-0.9.2.tgz",
+ "version": "0.9.2",
+ "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz",
"integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=",
"dev": true
}
}
},
"webpack": {
- "version": "https://registry.npmjs.org/webpack/-/webpack-1.15.0.tgz",
+ "version": "1.15.0",
+ "resolved": "https://registry.npmjs.org/webpack/-/webpack-1.15.0.tgz",
"integrity": "sha1-T/MfU9sDM55VFkqdRo7gMklo/pg=",
- "dev": true,
- "requires": {
- "acorn": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz",
- "async": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
- "clone": "https://registry.npmjs.org/clone/-/clone-1.0.3.tgz",
- "enhanced-resolve": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-0.9.1.tgz",
- "interpret": "https://registry.npmjs.org/interpret/-/interpret-0.6.6.tgz",
- "loader-utils": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz",
- "memory-fs": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.3.0.tgz",
- "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
- "node-libs-browser": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-0.7.0.tgz",
- "optimist": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz",
- "supports-color": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
- "tapable": "https://registry.npmjs.org/tapable/-/tapable-0.1.10.tgz",
- "uglify-js": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.7.5.tgz",
- "watchpack": "https://registry.npmjs.org/watchpack/-/watchpack-0.2.9.tgz",
- "webpack-core": "https://registry.npmjs.org/webpack-core/-/webpack-core-0.6.9.tgz"
- }
+ "dev": true
},
"window-size": {
- "version": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz",
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz",
"integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=",
"dev": true
},
"wordwrap": {
- "version": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz",
+ "version": "0.0.2",
+ "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz",
"integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=",
"dev": true
},
"yargs": {
- "version": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz",
+ "version": "3.10.0",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz",
"integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=",
- "dev": true,
- "requires": {
- "camelcase": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz",
- "cliui": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz",
- "decamelize": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
- "window-size": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz"
- }
+ "dev": true
}
}
},
"websocket-driver": {
- "version": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.0.tgz",
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.0.tgz",
"integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=",
- "dev": true,
- "requires": {
- "http-parser-js": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.10.tgz",
- "websocket-extensions": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz"
- }
+ "dev": true
},
"websocket-extensions": {
- "version": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz",
- "integrity": "sha1-XS/yKXcAPsaHpLhwc9+7rBRszyk=",
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz",
+ "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==",
"dev": true
},
"wgxpath": {
- "version": "https://registry.npmjs.org/wgxpath/-/wgxpath-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/wgxpath/-/wgxpath-1.0.0.tgz",
"integrity": "sha1-7vikudVYzEla06mit1FZfs2a9pA=",
"dev": true
},
"when": {
- "version": "https://registry.npmjs.org/when/-/when-3.7.8.tgz",
+ "version": "3.7.8",
+ "resolved": "https://registry.npmjs.org/when/-/when-3.7.8.tgz",
"integrity": "sha1-xxMLan6gRpPoQs3J56Hyqjmjn4I=",
"dev": true,
"optional": true
},
"which": {
- "version": "https://registry.npmjs.org/which/-/which-1.3.0.tgz",
- "integrity": "sha1-/wS9/AEO5UfXgL7DjhrBwnd9JTo=",
- "dev": true,
- "requires": {
- "isexe": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz"
- }
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz",
+ "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==",
+ "dev": true
},
"which-module": {
- "version": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
"integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
"dev": true
},
"window-size": {
- "version": "https://registry.npmjs.org/window-size/-/window-size-0.2.0.tgz",
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.2.0.tgz",
"integrity": "sha1-tDFbtCFKPXBY6+7okuE/ok2YsHU=",
"dev": true
},
"wordwrap": {
- "version": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
"integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=",
"dev": true
},
"wrap-ansi": {
- "version": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
"integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
- "dev": true,
- "requires": {
- "string-width": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
- "strip-ansi": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz"
- }
+ "dev": true
},
"wrappy": {
- "version": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
"dev": true
},
"write": {
- "version": "https://registry.npmjs.org/write/-/write-0.2.1.tgz",
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz",
"integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=",
- "dev": true,
- "requires": {
- "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz"
- }
+ "dev": true
},
"ws": {
- "version": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz",
- "integrity": "sha1-8c+E/i1ekB686U767OeF8YeiKPI=",
- "dev": true,
- "requires": {
- "async-limiter": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz",
- "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz",
- "ultron": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz"
- }
+ "version": "3.3.3",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz",
+ "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==",
+ "dev": true
},
"x-is-function": {
- "version": "https://registry.npmjs.org/x-is-function/-/x-is-function-1.0.4.tgz",
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/x-is-function/-/x-is-function-1.0.4.tgz",
"integrity": "sha1-XSlNw9Joy90GJYDgxd93o5HR+h4=",
"dev": true
},
"x-is-string": {
- "version": "https://registry.npmjs.org/x-is-string/-/x-is-string-0.1.0.tgz",
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/x-is-string/-/x-is-string-0.1.0.tgz",
"integrity": "sha1-R0tQhlrzpJqcRlfwWs0UVFj3fYI=",
"dev": true
},
"xmlhttprequest-ssl": {
- "version": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz",
+ "version": "1.5.5",
+ "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz",
"integrity": "sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4=",
"dev": true
},
"xregexp": {
- "version": "https://registry.npmjs.org/xregexp/-/xregexp-2.0.0.tgz",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-2.0.0.tgz",
"integrity": "sha1-UqY+VsoLhKfzpfPWGHLxJq16WUM=",
"dev": true
},
"xtend": {
- "version": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz",
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz",
"integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68="
},
"y18n": {
- "version": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz",
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz",
"integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=",
"dev": true
},
"yallist": {
- "version": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
"integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
"dev": true
},
"yargs": {
- "version": "https://registry.npmjs.org/yargs/-/yargs-1.3.3.tgz",
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-1.3.3.tgz",
"integrity": "sha1-BU3oth8i7v23IHBZ6u+da4P7kxo=",
"dev": true
},
"yargs-parser": {
- "version": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz",
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz",
"integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=",
- "dev": true,
- "requires": {
- "camelcase": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz"
- }
+ "dev": true
},
"yeast": {
- "version": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz",
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz",
"integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=",
"dev": true
},
"zip-stream": {
- "version": "https://registry.npmjs.org/zip-stream/-/zip-stream-0.5.2.tgz",
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-0.5.2.tgz",
"integrity": "sha1-Mty8UG0Nq00hNyYlvX66rDwv/1Y=",
"dev": true,
- "requires": {
- "compress-commons": "https://registry.npmjs.org/compress-commons/-/compress-commons-0.2.9.tgz",
- "lodash": "https://registry.npmjs.org/lodash/-/lodash-3.2.0.tgz",
- "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz"
- },
"dependencies": {
"isarray": {
- "version": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
"integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
"dev": true
},
"lodash": {
- "version": "https://registry.npmjs.org/lodash/-/lodash-3.2.0.tgz",
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.2.0.tgz",
"integrity": "sha1-S/UKMkP5rrC6xBpV09WZBnWkYvs=",
"dev": true
},
"readable-stream": {
- "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "version": "1.0.34",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
"integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
- "dev": true,
- "requires": {
- "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
- "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
- "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
- }
+ "dev": true
},
"string_decoder": {
- "version": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "version": "0.10.31",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
"dev": true
}
diff --git a/package.json b/package.json
index 44c54b468f6..36374cd5f22 100644
--- a/package.json
+++ b/package.json
@@ -27,9 +27,7 @@
"ajv": "6.2.0",
"babel-core": "6.22.0",
"babel-loader": "^7.1.1",
- "babel-plugin-transform-es3-member-expression-literals": "6.22.0",
- "babel-plugin-transform-es3-property-literals": "6.22.0",
- "babel-preset-es2015": "6.22.0",
+ "babel-preset-env": "^1.6.1",
"block-loader": "^2.1.0",
"chai": "^3.3.0",
"coveralls": "^2.11.11",
diff --git a/webpack.conf.js b/webpack.conf.js
index 38f4e5dadd7..4b53aabef22 100644
--- a/webpack.conf.js
+++ b/webpack.conf.js
@@ -29,9 +29,6 @@ module.exports = {
use: [
{
loader: 'babel-loader',
- options: {
- presets: ['es2015']
- }
}
]
},
@@ -41,9 +38,6 @@ module.exports = {
use: [
{
loader: 'babel-loader',
- options: {
- presets: ['es2015']
- }
}
],
},
From 53fbc7dc6c573ada6ac4a760555876e34e28e819 Mon Sep 17 00:00:00 2001
From: John Salis
Date: Mon, 7 May 2018 09:53:33 -0400
Subject: [PATCH 126/171] Add GDPR support to Beachfront adapter (#2474)
* add GDPR consent data to the bid requests
* add GDPR consent data to the bid requests
---
modules/beachfrontBidAdapter.js | 32 +++++++++++++++----
.../spec/modules/beachfrontBidAdapter_spec.js | 32 +++++++++++++++++++
2 files changed, 57 insertions(+), 7 deletions(-)
diff --git a/modules/beachfrontBidAdapter.js b/modules/beachfrontBidAdapter.js
index 6f92bc0d976..4e528896e72 100644
--- a/modules/beachfrontBidAdapter.js
+++ b/modules/beachfrontBidAdapter.js
@@ -24,7 +24,7 @@ export const spec = {
return !!(bid && bid.params && bid.params.appId && bid.params.bidfloor);
},
- buildRequests(bids) {
+ buildRequests(bids, bidderRequest) {
let requests = [];
let videoBids = bids.filter(bid => isVideoBid(bid));
let bannerBids = bids.filter(bid => !isVideoBid(bid));
@@ -32,7 +32,7 @@ export const spec = {
requests.push({
method: 'POST',
url: VIDEO_ENDPOINT + bid.params.appId,
- data: createVideoRequestData(bid),
+ data: createVideoRequestData(bid, bidderRequest),
bidRequest: bid
});
});
@@ -40,7 +40,7 @@ export const spec = {
requests.push({
method: 'POST',
url: BANNER_ENDPOINT,
- data: createBannerRequestData(bannerBids),
+ data: createBannerRequestData(bannerBids, bidderRequest),
bidRequest: bannerBids
});
}
@@ -184,11 +184,11 @@ function getVideoParams(bid) {
}, {});
}
-function createVideoRequestData(bid) {
+function createVideoRequestData(bid, bidderRequest) {
let size = getFirstSize(bid);
let video = getVideoParams(bid);
let topLocation = utils.getTopWindowLocation();
- return {
+ let payload = {
isPrebid: true,
appId: bid.params.appId,
domain: document.location.hostname,
@@ -214,11 +214,21 @@ function createVideoRequestData(bid) {
js: 1,
geo: {}
},
+ regs: {},
+ user: {},
cur: ['USD']
};
+
+ if (bidderRequest && bidderRequest.gdprConsent) {
+ let { consentRequired, consentString } = bidderRequest.gdprConsent;
+ payload.regs.ext = { gdpr: consentRequired ? 1 : 0 };
+ payload.user.ext = { consent: consentString };
+ }
+
+ return payload;
}
-function createBannerRequestData(bids) {
+function createBannerRequestData(bids, bidderRequest) {
let topLocation = utils.getTopWindowLocation();
let referrer = utils.getTopWindowReferrer();
let slots = bids.map(bid => {
@@ -229,7 +239,7 @@ function createBannerRequestData(bids) {
sizes: getSizes(bid)
};
});
- return {
+ let payload = {
slots: slots,
page: topLocation.href,
domain: topLocation.hostname,
@@ -243,6 +253,14 @@ function createBannerRequestData(bids) {
adapterVersion: ADAPTER_VERSION,
adapterName: ADAPTER_NAME
};
+
+ if (bidderRequest && bidderRequest.gdprConsent) {
+ let { consentRequired, consentString } = bidderRequest.gdprConsent;
+ payload.gdpr = consentRequired ? 1 : 0;
+ payload.gdprConsent = consentString;
+ }
+
+ return payload;
}
registerBidder(spec);
diff --git a/test/spec/modules/beachfrontBidAdapter_spec.js b/test/spec/modules/beachfrontBidAdapter_spec.js
index 5a0345ee6e2..65bc0818a6c 100644
--- a/test/spec/modules/beachfrontBidAdapter_spec.js
+++ b/test/spec/modules/beachfrontBidAdapter_spec.js
@@ -166,6 +166,22 @@ describe('BeachfrontAdapter', () => {
const data = requests[0].data;
expect(data.imp[0].video).to.deep.contain({ mimes });
});
+
+ it('must add GDPR consent data to the request', () => {
+ const bidRequest = bidRequests[0];
+ bidRequest.mediaTypes = { video: {} };
+ const consentString = 'BOJ8RZsOJ8RZsABAB8AAAAAZ+A==';
+ const bidderRequest = {
+ gdprConsent: {
+ consentRequired: true,
+ consentString
+ }
+ };
+ const requests = spec.buildRequests([ bidRequest ], bidderRequest);
+ const data = requests[0].data;
+ expect(data.regs.ext.gdpr).to.equal(1);
+ expect(data.user.ext.consent).to.equal(consentString);
+ });
});
describe('for banner bids', () => {
@@ -265,6 +281,22 @@ describe('BeachfrontAdapter', () => {
const data = requests[0].data;
expect(data.slots[0].sizes).to.deep.contain({ w: width, h: height });
});
+
+ it('must add GDPR consent data to the request', () => {
+ const bidRequest = bidRequests[0];
+ bidRequest.mediaTypes = { banner: {} };
+ const consentString = 'BOJ8RZsOJ8RZsABAB8AAAAAZ+A==';
+ const bidderRequest = {
+ gdprConsent: {
+ consentRequired: true,
+ consentString
+ }
+ };
+ const requests = spec.buildRequests([ bidRequest ], bidderRequest);
+ const data = requests[0].data;
+ expect(data.gdpr).to.equal(1);
+ expect(data.gdprConsent).to.equal(consentString);
+ });
});
});
From a348d8fbed853b06cef43605bf7020ee59660b53 Mon Sep 17 00:00:00 2001
From: OneTagDevOps <38786435+OneTagDevOps@users.noreply.github.com>
Date: Mon, 7 May 2018 17:47:25 +0200
Subject: [PATCH 127/171] New Adapter onetagBidAdapter (#2461)
* Add New Adapter onetagBidAdapter
* Test for new adapter onetagBidAdapter
* Update onetagBidAdapter.js
* Update onetagBidAdapter_spec.js
---
modules/onetagBidAdapter.js | 170 +++++++++++++++++++++
modules/onetagBidAdapter.md | 34 +++++
test/spec/modules/onetagBidAdapter_spec.js | 129 ++++++++++++++++
3 files changed, 333 insertions(+)
create mode 100644 modules/onetagBidAdapter.js
create mode 100644 modules/onetagBidAdapter.md
create mode 100644 test/spec/modules/onetagBidAdapter_spec.js
diff --git a/modules/onetagBidAdapter.js b/modules/onetagBidAdapter.js
new file mode 100644
index 00000000000..96a85a6070d
--- /dev/null
+++ b/modules/onetagBidAdapter.js
@@ -0,0 +1,170 @@
+'use strict';
+
+const { registerBidder } = require('../src/adapters/bidderFactory');
+
+const ENDPOINT = 'https://onetag-sys.com/prebid-request';
+const BIDDER_CODE = 'onetag';
+const BANNER = 'banner';
+
+// =======
+// Object BidRequest
+//
+// .params
+// required .pubId: string
+// optional .type: "BANNER" | "VIDEO" | "NATIVE" --> only BANNER at present
+
+/**
+ * Determines whether or not the given bid request is valid.
+ *
+ * @param {BidRequest} bid The bid params to validate.
+ * @return boolean True if this is a valid bid, and false otherwise.
+ */
+function isBidRequestValid(bid) {
+ if (typeof bid === 'undefined' || bid.bidder !== BIDDER_CODE || typeof bid.params === 'undefined') {
+ return false;
+ }
+
+ if (typeof bid.params.pubId !== 'string' || bid.sizes === 'undefined' || bid.sizes.length === 0) {
+ return false;
+ }
+
+ return true;
+}
+
+/**
+ * Make a server request from the list of BidRequests.
+ *
+ * @param {validBidRequests[]} - an array of bids
+ * @return ServerRequest Info describing the request to the server.
+ */
+
+function buildRequests(validBidRequests) {
+ const bids = validBidRequests.map(requestsToBids);
+ const bidObject = {'bids': bids};
+ const pageInfo = getPageInfo();
+
+ const payload = Object.assign(bidObject, pageInfo);
+ const payloadString = JSON.stringify(payload);
+
+ return {
+ method: 'POST',
+ url: ENDPOINT,
+ data: payloadString
+ }
+}
+
+function interpretResponse(serverResponse, request) {
+ var body = serverResponse.body;
+ const bids = [];
+
+ if (typeof serverResponse === 'string') {
+ try {
+ body = JSON.parse(serverResponse);
+ } catch (e) {
+ return bids;
+ }
+ }
+
+ if (!body || (body.nobid && body.nobid === true)) {
+ return bids;
+ }
+
+ if (body.bids) {
+ body.bids.forEach(function(bid) {
+ bids.push({
+ requestId: bid.requestId,
+ cpm: bid.cpm,
+ width: bid.width,
+ height: bid.height,
+ creativeId: bid.creativeId,
+ dealId: bid.dealId ? bid.dealId : '',
+ currency: bid.currency,
+ netRevenue: false,
+ mediaType: bids.type ? bids.type : BANNER,
+ ad: bid.ad,
+ ttl: bid.ttl || 6000
+ });
+ });
+ }
+
+ return bids;
+}
+
+/**
+ * Returns information about the page needed by the server in an object to be converted in JSON
+ * @returns {{location: *, referrer: (*|string), masked: *, wWidth: (*|Number), wHeight: (*|Number), sWidth, sHeight, date: string, timeOffset: number}}
+ */
+function getPageInfo() {
+ var w, d, l, r, m, p, e, t, s;
+ for (w = window, d = w.document, l = d.location.href, r = d.referrer, m = 0, e = encodeURIComponent, t = new Date(), s = screen; w !== w.parent;) {
+ try {
+ p = w.parent; l = p.location.href; r = p.document.referrer; w = p;
+ } catch (e) {
+ m = top !== w.parent ? 2 : 1;
+ break
+ }
+ }
+
+ const params = {
+
+ location: e(l),
+ referrer: e(r) || '0',
+ masked: m,
+ wWidth: w.innerWidth,
+ wHeight: w.innerHeight,
+ sWidth: s.width,
+ sHeight: s.height,
+ date: t.toUTCString(),
+ timeOffset: t.getTimezoneOffset()
+ };
+
+ return params;
+}
+
+function requestsToBids(bid) {
+ const toRet = {};
+
+ const params = bid.params;
+
+ toRet['adUnitCode'] = bid.adUnitCode;
+ toRet['bidId'] = bid.bidId;
+ toRet['bidderRequestId'] = bid.bidderRequestId;
+ toRet['auctionId'] = bid.auctionId;
+ toRet['transactionId'] = bid.transactionId;
+ toRet['sizes'] = [];
+ const sizes = bid.sizes;
+ for (let i = 0, lenght = sizes.length; i < lenght; i++) {
+ const size = sizes[i];
+ toRet['sizes'].push({width: size[0], height: size[1]})
+ }
+
+ toRet['pubId'] = params.pubId;
+ if (params.type) {
+ toRet['type'] = params.type;
+ }
+
+ if (params.pubClick) {
+ toRet['click'] = params.pubClick;
+ }
+
+ if (params.dealId) {
+ toRet['dealId'] = params.dealId;
+ }
+
+ return toRet;
+}
+
+// Va bene così, questo file va aggiunto a prebidmaster
+export const spec = {
+
+ code: BIDDER_CODE,
+ supportedMediaTypes: [BANNER],
+
+ isBidRequestValid: isBidRequestValid,
+ buildRequests: buildRequests,
+ interpretResponse: interpretResponse,
+
+};
+
+// Starting point
+registerBidder(spec);
diff --git a/modules/onetagBidAdapter.md b/modules/onetagBidAdapter.md
new file mode 100644
index 00000000000..38872ad8280
--- /dev/null
+++ b/modules/onetagBidAdapter.md
@@ -0,0 +1,34 @@
+# Overview
+
+```
+Module Name: OneTag Bid Adapter
+Module Type: Bidder Adapter
+Maintainer: devops@onetag.com
+```
+
+# Description
+
+OneTag Bid Adapter supports only banner at present.
+
+# Test Parameters
+```
+ var adUnits = [
+ {
+ code: "test-div",
+ mediaTypes: {
+ banner: {
+ sizes: [[300, 250]]
+ }
+ },
+ bids: [
+ {
+ bidder: "onetag",
+ params: {
+ pubId: "your_publisher_id", // required
+ type: "banner" // optional. Default "banner"
+ },
+ }
+ ]
+ }];
+
+```
diff --git a/test/spec/modules/onetagBidAdapter_spec.js b/test/spec/modules/onetagBidAdapter_spec.js
new file mode 100644
index 00000000000..dfd3254fd75
--- /dev/null
+++ b/test/spec/modules/onetagBidAdapter_spec.js
@@ -0,0 +1,129 @@
+import { spec } from 'modules/onetagBidAdapter';
+import { expect } from 'chai';
+
+describe('onetag', () => {
+ let bid = {
+ 'bidder': 'onetag',
+ 'params': {
+ 'pubId': '386276e072',
+ },
+ 'adUnitCode': 'adunit-code',
+ 'sizes': [[300, 250]],
+ 'bidId': '30b31c1838de1e',
+ 'bidderRequestId': '22edbae2733bf6',
+ 'auctionId': '1d1a030790a475',
+ 'transactionId': 'qwerty123'
+ };
+
+ describe('isBidRequestValid', () => {
+ it('Should return true when required params are found', () => {
+ expect(spec.isBidRequestValid(bid)).to.be.true;
+ });
+ it('Should return false when pubId is not a string', () => {
+ bid.params.pubId = 30;
+ expect(spec.isBidRequestValid(bid)).to.be.false;
+ });
+ it('Should return false when pubId is undefined', () => {
+ bid.params.pubId = undefined;
+ expect(spec.isBidRequestValid(bid)).to.be.false;
+ });
+ it('Should return false when the sizes array is empty', () => {
+ bid.sizes = [];
+ expect(spec.isBidRequestValid(bid)).to.be.false;
+ });
+ });
+
+ describe('buildRequests', () => {
+ let serverRequest = spec.buildRequests([bid]);
+ it('Creates a ServerRequest object with method, URL and data', () => {
+ expect(serverRequest).to.exist;
+ expect(serverRequest.method).to.exist;
+ expect(serverRequest.url).to.exist;
+ expect(serverRequest.data).to.exist;
+ });
+ it('Returns POST method', () => {
+ expect(serverRequest.method).to.equal('POST');
+ });
+ it('Returns valid URL', () => {
+ expect(serverRequest.url).to.equal('https://onetag-sys.com/prebid-request');
+ });
+
+ const d = serverRequest.data;
+ try {
+ const data = JSON.parse(d);
+ it('Should contains all keys', () => {
+ expect(data).to.be.an('object');
+ expect(data).to.have.all.keys('location', 'masked', 'referrer', 'sHeight', 'sWidth', 'timeOffset', 'date', 'wHeight', 'wWidth', 'bids');
+ expect(data.location).to.be.a('string');
+ expect(data.masked).to.be.a('number');
+ expect(data.referrer).to.be.a('string');
+ expect(data.sHeight).to.be.a('number');
+ expect(data.sWidth).to.be.a('number');
+ expect(data.wWidth).to.be.a('number');
+ expect(data.wHeight).to.be.a('number');
+ expect(data.timeOffset).to.be.a('number');
+ expect(data.date).to.be.a('string');
+ expect(data.bids).to.be.an('array');
+
+ const bids = data['bids'];
+ for (let i = 0; i < bids.length; i++) {
+ const bid = bids[i];
+ expect(bid).to.have.all.keys('adUnitCode', 'auctionId', 'bidId', 'bidderRequestId', 'pubId', 'transactionId', 'sizes');
+ expect(bid.bidId).to.be.a('string');
+ expect(bid.pubId).to.be.a('string');
+ }
+ });
+ } catch (e) {
+ console.log('Error while parsing');
+ }
+ it('Returns empty data if no valid requests are passed', () => {
+ serverRequest = spec.buildRequests([]);
+ let dataString = serverRequest.data;
+ try {
+ let dataObj = JSON.parse(dataString);
+ expect(dataObj.bids).to.be.an('array').that.is.empty;
+ } catch (e) {
+ console.log('Error while parsing');
+ }
+ });
+ });
+ describe('interpretResponse', () => {
+ const resObject = {
+ body: {
+ nobid: false,
+ bids: [{
+ ad: 'Advertising
',
+ cpm: 13,
+ width: 300,
+ height: 250,
+ creativeId: '1820',
+ dealId: 'dishfo',
+ currency: 'USD',
+ requestId: 'sdiceobxcw'
+ }]
+ }
+ };
+ it('Returns an array of valid server responses if response object is valid', () => {
+ const serverResponses = spec.interpretResponse(resObject);
+
+ expect(serverResponses).to.be.an('array').that.is.not.empty;
+ for (let i = 0; i < serverResponses.length; i++) {
+ let dataItem = serverResponses[i];
+ expect(dataItem).to.have.all.keys('requestId', 'cpm', 'width', 'height', 'ad', 'ttl', 'creativeId', 'netRevenue', 'currency', 'mediaType', 'dealId');
+ expect(dataItem.requestId).to.be.a('string');
+ expect(dataItem.cpm).to.be.a('number');
+ expect(dataItem.width).to.be.a('number');
+ expect(dataItem.height).to.be.a('number');
+ expect(dataItem.ad).to.be.a('string');
+ expect(dataItem.ttl).to.be.a('number');
+ expect(dataItem.creativeId).to.be.a('string');
+ expect(dataItem.netRevenue).to.be.a('boolean');
+ expect(dataItem.currency).to.be.a('string');
+ }
+ it('Returns an empty array if invalid response is passed', () => {
+ const serverResponses = spec.interpretResponse('invalid_response');
+ expect(serverResponses).to.be.an('array').that.is.empty;
+ });
+ });
+ });
+});
From 95291857fe98ce8b6efc78db1c7e690f36c467c5 Mon Sep 17 00:00:00 2001
From: Rade Popovic <32302052+nanointeractive@users.noreply.github.com>
Date: Mon, 7 May 2018 17:54:01 +0200
Subject: [PATCH 128/171] New optional parameter - subId (#2495)
* nanointeractive bid adapter
* nanointeractive bid adapter
* - using utils.getParameterByName instead of utils.getTopWindowLocation().href
- bidderCode is removed
- Default ALG changed to 'ihr'
- added protocol to 'cors' param
* markdown file
* enabling localhost for bid requests
* Bugfix interpretResponse - added body; Removed unnecessary parameters; Adjusted tests;
* New feature - subId
* Fixed lint errors
---
modules/nanointeractiveBidAdapter.js | 6 +++++
modules/nanointeractiveBidAdapter.md | 26 +++++++++++++++----
.../modules/nanointeractiveBidAdapter_spec.js | 4 ++-
3 files changed, 30 insertions(+), 6 deletions(-)
diff --git a/modules/nanointeractiveBidAdapter.js b/modules/nanointeractiveBidAdapter.js
index 225859a4360..549695369c8 100644
--- a/modules/nanointeractiveBidAdapter.js
+++ b/modules/nanointeractiveBidAdapter.js
@@ -9,6 +9,7 @@ export const DATA_PARTNER_PIXEL_ID = 'pid';
export const NQ = 'nq';
export const NQ_NAME = 'name';
export const CATEGORY = 'category';
+export const SUB_ID = 'subId';
export const spec = {
@@ -43,6 +44,7 @@ function createSingleBidRequest(bid) {
return {
[DATA_PARTNER_PIXEL_ID]: bid.params[DATA_PARTNER_PIXEL_ID],
[NQ]: [createNqParam(bid), createCategoryParam(bid)],
+ [SUB_ID]: createSubIdParam(bid),
sizes: bid.sizes.map(value => value[0] + 'x' + value[1]),
bidId: bid.bidId,
cors: utils.getOrigin()
@@ -71,6 +73,10 @@ function createCategoryParam(bid) {
return bid.params[CATEGORY] || null;
}
+function createSubIdParam(bid) {
+ return bid.params[SUB_ID] || null;
+}
+
function isEngineResponseValid(response) {
return !!response.cpm && !!response.ad;
}
diff --git a/modules/nanointeractiveBidAdapter.md b/modules/nanointeractiveBidAdapter.md
index 0df49999492..0813a461493 100644
--- a/modules/nanointeractiveBidAdapter.md
+++ b/modules/nanointeractiveBidAdapter.md
@@ -8,7 +8,7 @@ Maintainer: rade@nanointeractive.com
# Description
-Connects to NanoInteractive search retargeting Ad Server for bids.
+Connects to Nano Interactive search retargeting Ad Server for bids.
Besides standard params, please provide, if exist, user search params.
@@ -20,7 +20,6 @@ Three examples calling the Ad Server.
**Third** is with the search query param name of the current url
-
# Test Parameters
```
var adUnits = [
@@ -31,7 +30,11 @@ var adUnits = [
bids: [{
bidder: 'nanointeractive',
params: {
- pid: '58bfec94eb0a1916fa380163'
+ // required
+ pid: '58bfec94eb0a1916fa380163',
+ // optional parameters
+ category: 'some category',
+ subId: '123'
}
}]
},
@@ -42,8 +45,12 @@ var adUnits = [
bids: [{
bidder: 'nanointeractive',
params: {
+ // required
pid: '58bfec94eb0a1916fa380163',
- nq: 'user search'
+ // optional parameters
+ nq: 'user search',
+ category: 'some category',
+ subId: '123'
}
}]
},
@@ -54,10 +61,19 @@ var adUnits = [
bids: [{
bidder: 'nanointeractive',
params: {
+ // required
pid: '58bfec94eb0a1916fa380163',
- name: 'search'
+ // optional parameters
+ name: 'search',
+ category: 'some category',
+ subId: '123'
}
}]
}
];
```
+
+### Requirements:
+To be able to get identification key (`pid`), you must register at
+`https://audiencemanager.de/public/data-partners-register`
+and follow further instructions.
\ No newline at end of file
diff --git a/test/spec/modules/nanointeractiveBidAdapter_spec.js b/test/spec/modules/nanointeractiveBidAdapter_spec.js
index cafe7bf2799..92b6fe8d797 100644
--- a/test/spec/modules/nanointeractiveBidAdapter_spec.js
+++ b/test/spec/modules/nanointeractiveBidAdapter_spec.js
@@ -2,7 +2,7 @@ import { expect } from 'chai';
import * as utils from 'src/utils';
import {
- BIDDER_CODE, CATEGORY, DATA_PARTNER_PIXEL_ID, ENGINE_BASE_URL, NQ, NQ_NAME,
+ BIDDER_CODE, CATEGORY, DATA_PARTNER_PIXEL_ID, ENGINE_BASE_URL, NQ, NQ_NAME, SUB_ID,
spec
} from '../../../modules/nanointeractiveBidAdapter';
@@ -23,6 +23,7 @@ describe('nanointeractive adapter tests', function () {
[NQ]: SEARCH_QUERY,
[NQ_NAME]: null,
[CATEGORY]: null,
+ [SUB_ID]: null,
}
})(),
placementCode: 'div-gpt-ad-1460505748561-0',
@@ -37,6 +38,7 @@ describe('nanointeractive adapter tests', function () {
const SINGLE_BID_REQUEST = {
[DATA_PARTNER_PIXEL_ID]: 'pid1',
[NQ]: [SEARCH_QUERY, null],
+ [SUB_ID]: null,
sizes: [WIDTH + 'x' + HEIGHT],
bidId: '24a1c9ec270973',
cors: 'http://localhost'
From 9bbd122b0cbe041ef04574d20d014df2acb874da Mon Sep 17 00:00:00 2001
From: jsnellbaker <31102355+jsnellbaker@users.noreply.github.com>
Date: Mon, 7 May 2018 16:00:50 -0400
Subject: [PATCH 129/171] add support to handle native js pixels for AN adapter
(#2487)
---
modules/appnexusBidAdapter.js | 1 +
src/native.js | 6 +++++-
src/utils.js | 34 +++++++++++++++++++++++++++++++++-
test/spec/native_spec.js | 8 ++++++++
4 files changed, 47 insertions(+), 2 deletions(-)
diff --git a/modules/appnexusBidAdapter.js b/modules/appnexusBidAdapter.js
index 82743974994..3f0bf3a4826 100644
--- a/modules/appnexusBidAdapter.js
+++ b/modules/appnexusBidAdapter.js
@@ -236,6 +236,7 @@ function newBid(serverBid, rtbBid, bidderRequest) {
clickUrl: nativeAd.link.url,
clickTrackers: nativeAd.link.click_trackers,
impressionTrackers: nativeAd.impression_trackers,
+ javascriptTrackers: nativeAd.javascript_trackers,
};
if (nativeAd.main_img) {
bid['native'].image = {
diff --git a/src/native.js b/src/native.js
index 6c8ac266471..3d2ec2fe688 100644
--- a/src/native.js
+++ b/src/native.js
@@ -1,4 +1,4 @@
-import { deepAccess, getBidRequest, logError, triggerPixel } from './utils';
+import { deepAccess, getBidRequest, logError, triggerPixel, insertHtmlIntoIframe } from './utils';
import includes from 'core-js/library/fn/array/includes';
export const nativeAdapters = [];
@@ -145,6 +145,10 @@ export function fireNativeTrackers(message, adObject) {
trackers = adObject['native'] && adObject['native'].clickTrackers;
} else {
trackers = adObject['native'] && adObject['native'].impressionTrackers;
+
+ if (adObject['native'] && adObject['native'].javascriptTrackers) {
+ insertHtmlIntoIframe(adObject['native'].javascriptTrackers);
+ }
}
(trackers || []).forEach(triggerPixel);
diff --git a/src/utils.js b/src/utils.js
index 169c578a356..cf977124dd1 100644
--- a/src/utils.js
+++ b/src/utils.js
@@ -519,6 +519,38 @@ exports.callBurl = function({ source, burl }) {
}
};
+/**
+ * Inserts an empty iframe with the specified `html`, primarily used for tracking purposes
+ * (though could be for other purposes)
+ * @param {string} htmlCode snippet of HTML code used for tracking purposes
+ */
+exports.insertHtmlIntoIframe = function(htmlCode) {
+ if (!htmlCode) {
+ return;
+ }
+
+ let iframe = document.createElement('iframe');
+ iframe.id = exports.getUniqueIdentifierStr();
+ iframe.width = 0;
+ iframe.height = 0;
+ iframe.hspace = '0';
+ iframe.vspace = '0';
+ iframe.marginWidth = '0';
+ iframe.marginHeight = '0';
+ iframe.style.display = 'none';
+ iframe.style.height = '0px';
+ iframe.style.width = '0px';
+ iframe.scrolling = 'no';
+ iframe.frameBorder = '0';
+ iframe.allowtransparency = 'true';
+
+ exports.insertElement(iframe, document, 'body');
+
+ iframe.contentWindow.document.open();
+ iframe.contentWindow.document.write(htmlCode);
+ iframe.contentWindow.document.close();
+}
+
/**
* Inserts empty iframe with the specified `url` for cookie sync
* @param {string} url URL to be requested
@@ -571,7 +603,7 @@ exports.createTrackPixelIframeHtml = function (url, encodeUri = true, sandbox =
allowtransparency="true"
marginheight="0" marginwidth="0"
width="0" hspace="0" vspace="0" height="0"
- style="height:0p;width:0p;display:none;"
+ style="height:0px;width:0px;display:none;"
scrolling="no"
src="${url}">
`;
diff --git a/test/spec/native_spec.js b/test/spec/native_spec.js
index fa57ceed5f5..653f858576f 100644
--- a/test/spec/native_spec.js
+++ b/test/spec/native_spec.js
@@ -11,18 +11,22 @@ const bid = {
clickUrl: 'https://www.link.example',
clickTrackers: ['https://tracker.example'],
impressionTrackers: ['https://impression.example'],
+ javascriptTrackers: ''
}
};
describe('native.js', () => {
let triggerPixelStub;
+ let insertHtmlIntoIframeStub;
beforeEach(() => {
triggerPixelStub = sinon.stub(utils, 'triggerPixel');
+ insertHtmlIntoIframeStub = sinon.stub(utils, 'insertHtmlIntoIframe');
});
afterEach(() => {
utils.triggerPixel.restore();
+ utils.insertHtmlIntoIframe.restore();
});
it('gets native targeting keys', () => {
@@ -36,6 +40,7 @@ describe('native.js', () => {
fireNativeTrackers({}, bid);
sinon.assert.calledOnce(triggerPixelStub);
sinon.assert.calledWith(triggerPixelStub, bid.native.impressionTrackers[0]);
+ sinon.assert.calledWith(insertHtmlIntoIframeStub, bid.native.javascriptTrackers);
});
it('fires click trackers', () => {
@@ -91,6 +96,7 @@ describe('validate native', () => {
},
clickUrl: 'http://prebid.org/dev-docs/show-native-ads.html',
impressionTrackers: ['http://my.imp.tracker/url'],
+ javascriptTrackers: '',
title: 'This is an example Prebid Native creative'
}
};
@@ -114,6 +120,7 @@ describe('validate native', () => {
},
clickUrl: 'http://prebid.org/dev-docs/show-native-ads.html',
impressionTrackers: ['http://my.imp.tracker/url'],
+ javascriptTrackers: '',
title: 'This is an example Prebid Native creative'
}
};
@@ -137,6 +144,7 @@ describe('validate native', () => {
},
clickUrl: 'http://prebid.org/dev-docs/show-native-ads.html',
impressionTrackers: ['http://my.imp.tracker/url'],
+ javascriptTrackers: '',
title: 'This is an example Prebid Native creative'
}
};
From 2dd6e1a1d052fc419e771a73e870686de764ef8d Mon Sep 17 00:00:00 2001
From: Adilet
Date: Tue, 8 May 2018 22:28:55 +0600
Subject: [PATCH 130/171] A4G Adapter GDPR support (#2501)
* A4G Adapter GDPR support
* Resolve formatting errors
---
modules/a4gBidAdapter.js | 25 +++++++++++++++++--------
test/spec/modules/a4gBidAdapter_spec.js | 20 ++++++++++++++++++++
2 files changed, 37 insertions(+), 8 deletions(-)
diff --git a/modules/a4gBidAdapter.js b/modules/a4gBidAdapter.js
index f961db718c7..d6c0fa0b303 100644
--- a/modules/a4gBidAdapter.js
+++ b/modules/a4gBidAdapter.js
@@ -22,7 +22,7 @@ export const spec = {
return bid.params && !!bid.params.zoneId;
},
- buildRequests: function(validBidRequests) {
+ buildRequests: function(validBidRequests, bidderRequest) {
let deliveryUrl = '';
const idParams = [];
const sizeParams = [];
@@ -41,16 +41,25 @@ export const spec = {
deliveryUrl = A4G_DEFAULT_BID_URL;
}
+ let data = {
+ [IFRAME_PARAM_NAME]: 0,
+ [LOCATION_PARAM_NAME]: utils.getTopWindowUrl(),
+ [SIZE_PARAM_NAME]: sizeParams.join(ARRAY_PARAM_SEPARATOR),
+ [ID_PARAM_NAME]: idParams.join(ARRAY_PARAM_SEPARATOR),
+ [ZONE_ID_PARAM_NAME]: zoneIds.join(ARRAY_PARAM_SEPARATOR)
+ };
+
+ if (bidderRequest && bidderRequest.gdprConsent) {
+ data.gdpr = {
+ applies: bidderRequest.gdprConsent.gdprApplies,
+ consent: bidderRequest.gdprConsent.consentString
+ };
+ }
+
return {
method: 'GET',
url: deliveryUrl,
- data: {
- [IFRAME_PARAM_NAME]: 0,
- [LOCATION_PARAM_NAME]: utils.getTopWindowUrl(),
- [SIZE_PARAM_NAME]: sizeParams.join(ARRAY_PARAM_SEPARATOR),
- [ID_PARAM_NAME]: idParams.join(ARRAY_PARAM_SEPARATOR),
- [ZONE_ID_PARAM_NAME]: zoneIds.join(ARRAY_PARAM_SEPARATOR)
- }
+ data: data
};
},
diff --git a/test/spec/modules/a4gBidAdapter_spec.js b/test/spec/modules/a4gBidAdapter_spec.js
index 30fcb2f8497..84346a1149f 100644
--- a/test/spec/modules/a4gBidAdapter_spec.js
+++ b/test/spec/modules/a4gBidAdapter_spec.js
@@ -77,6 +77,26 @@ describe('a4gAdapterTests', () => {
const request = spec.buildRequests(bidRequests);
expect(request.data.zoneId).to.equal('59304;59354');
});
+
+ it('bidRequest gdpr consent', () => {
+ const consentString = 'consentString';
+ const bidderRequest = {
+ bidderCode: 'a4g',
+ auctionId: '18fd8b8b0bd757',
+ bidderRequestId: '418b37f85e772c',
+ timeout: 3000,
+ gdprConsent: {
+ consentString: consentString,
+ gdprApplies: true
+ }
+ };
+
+ const request = spec.buildRequests(bidRequests, bidderRequest);
+
+ expect(request.data.gdpr).to.exist;
+ expect(request.data.gdpr.applies).to.exist.and.to.be.true;
+ expect(request.data.gdpr.consent).to.exist.and.to.equal(consentString);
+ });
});
describe('interpretResponse', () => {
From b1b969f1f72338a30ea5e86bbadd7a8931064e42 Mon Sep 17 00:00:00 2001
From: Oz Weiss
Date: Tue, 8 May 2018 19:34:56 +0300
Subject: [PATCH 131/171] support extra params (#2502)
---
modules/vidazooBidAdapter.js | 8 ++++++--
modules/vidazooBidAdapter.md | 6 +++++-
test/spec/modules/vidazooBidAdapter_spec.js | 14 +++++++++++---
3 files changed, 22 insertions(+), 6 deletions(-)
diff --git a/modules/vidazooBidAdapter.js b/modules/vidazooBidAdapter.js
index 411c18f5414..c0d25af9d65 100644
--- a/modules/vidazooBidAdapter.js
+++ b/modules/vidazooBidAdapter.js
@@ -21,11 +21,11 @@ function isBidRequestValid(bid) {
function buildRequest(bid, topWindowUrl, size) {
const {params, bidId} = bid;
- const {bidFloor, cId, pId} = params;
+ const {bidFloor, cId, pId, ext} = params;
// Prebid's util function returns AppNexus style sizes (i.e. 300x250)
const [width, height] = size.split('x');
- return {
+ const dto = {
method: 'GET',
url: `${URL}/prebid/${cId}`,
data: {
@@ -38,6 +38,10 @@ function buildRequest(bid, topWindowUrl, size) {
height
}
}
+
+ Object.entries(ext).forEach(entry => dto.data['ext.' + entry[0]] = entry[1]);
+
+ return dto;
}
function buildRequests(validBidRequests) {
diff --git a/modules/vidazooBidAdapter.md b/modules/vidazooBidAdapter.md
index 972a99a1445..1e9dc47dd51 100644
--- a/modules/vidazooBidAdapter.md
+++ b/modules/vidazooBidAdapter.md
@@ -22,7 +22,11 @@ var adUnits = [
params: {
cId: '5a1c419d95fce900044c334e',
pId: '59ac17c192832d0011283fe3',
- bidFloor: 0.0001
+ bidFloor: 0.0001,
+ ext: {
+ param1: 'loremipsum',
+ param2: 'dolorsitamet'
+ }
}
}
]
diff --git a/test/spec/modules/vidazooBidAdapter_spec.js b/test/spec/modules/vidazooBidAdapter_spec.js
index 1f154f0a379..d88e5a718ed 100644
--- a/test/spec/modules/vidazooBidAdapter_spec.js
+++ b/test/spec/modules/vidazooBidAdapter_spec.js
@@ -6,7 +6,11 @@ const BID = {
'params': {
'cId': '59db6b3b4ffaa70004f45cdc',
'pId': '59ac17c192832d0011283fe3',
- 'bidFloor': 0.1
+ 'bidFloor': 0.1,
+ 'ext': {
+ 'param1': 'loremipsum',
+ 'param2': 'dolorsitamet'
+ }
},
'placementCode': 'div-gpt-ad-1460505748561-0',
'transactionId': 'c881914b-a3b5-4ecf-ad9c-1c2f37c6aabf',
@@ -117,7 +121,9 @@ describe('VidazooBidAdapter', () => {
cb: 1000,
bidFloor: 0.1,
bidId: '2d52001cabd527',
- publisherId: '59ac17c192832d0011283fe3'
+ publisherId: '59ac17c192832d0011283fe3',
+ 'ext.param1': 'loremipsum',
+ 'ext.param2': 'dolorsitamet',
}
});
expect(requests[1]).to.deep.equal({
@@ -130,7 +136,9 @@ describe('VidazooBidAdapter', () => {
cb: 1000,
bidFloor: 0.1,
bidId: '2d52001cabd527',
- publisherId: '59ac17c192832d0011283fe3'
+ publisherId: '59ac17c192832d0011283fe3',
+ 'ext.param1': 'loremipsum',
+ 'ext.param2': 'dolorsitamet',
}
});
});
From e638efc6e6d4945a1150c86201e670158c7c1fdb Mon Sep 17 00:00:00 2001
From: ix-prebid-support <38486470+ix-prebid-support@users.noreply.github.com>
Date: Tue, 8 May 2018 12:41:03 -0400
Subject: [PATCH 132/171] IndexExchange Display Bid Adapter + GDPR Support
(#2496)
---
modules/ixBidAdapter.js | 300 ++++++++++++++++++
modules/ixBidAdapter.md | 277 +++++++++++++++++
test/spec/modules/ixBidAdapter_spec.js | 412 +++++++++++++++++++++++++
3 files changed, 989 insertions(+)
create mode 100644 modules/ixBidAdapter.js
create mode 100644 modules/ixBidAdapter.md
create mode 100644 test/spec/modules/ixBidAdapter_spec.js
diff --git a/modules/ixBidAdapter.js b/modules/ixBidAdapter.js
new file mode 100644
index 00000000000..3384bb8f41b
--- /dev/null
+++ b/modules/ixBidAdapter.js
@@ -0,0 +1,300 @@
+import * as utils from 'src/utils';
+import { BANNER } from 'src/mediaTypes';
+import { config } from 'src/config';
+import isArray from 'core-js/library/fn/array/is-array';
+import isInteger from 'core-js/library/fn/number/is-integer';
+import { registerBidder } from 'src/adapters/bidderFactory';
+
+const BIDDER_CODE = 'ix';
+const BANNER_SECURE_BID_URL = 'https://as-sec.casalemedia.com/cygnus';
+const BANNER_INSECURE_BID_URL = 'http://as.casalemedia.com/cygnus';
+const SUPPORTED_AD_TYPES = [BANNER];
+const ENDPOINT_VERSION = 7.2;
+const CENT_TO_DOLLAR_FACTOR = 100;
+const TIME_TO_LIVE = 60;
+const NET_REVENUE = true;
+
+// Always start by assuming the protocol is HTTPS. This way, it will work
+// whether the page protocol is HTTP or HTTPS. Then check if the page is
+// actually HTTP.If we can guarantee it is, then, and only then, set protocol to
+// HTTP.
+let isSecureWeb = true;
+if (utils.getTopWindowLocation().protocol.indexOf('https') !== 0) {
+ isSecureWeb = false;
+}
+const baseUrl = isSecureWeb ? BANNER_SECURE_BID_URL : BANNER_INSECURE_BID_URL;
+
+const PRICE_TO_DOLLAR_FACTOR = {
+ JPY: 1
+};
+
+/**
+ * Transform valid bid request config object to impression object that will be sent to ad server.
+ *
+ * @param {object} bid A valid bid request config object.
+ * @return {object} A impression object that will be sent to ad server.
+ */
+function bidToBannerImp(bid) {
+ const imp = {};
+
+ imp.id = bid.bidId;
+
+ imp.banner = {};
+ imp.banner.w = bid.params.size[0];
+ imp.banner.h = bid.params.size[1];
+ imp.banner.topframe = utils.inIframe() ? 0 : 1;
+
+ imp.ext = {};
+ imp.ext.sid = `${bid.params.size[0]}x${bid.params.size[1]}`;
+ imp.ext.siteID = bid.params.siteId;
+
+ if (bid.params.hasOwnProperty('bidFloor') && bid.params.hasOwnProperty('bidFloorCur')) {
+ imp.bidfloor = bid.params.bidFloor;
+ imp.bidfloorcur = bid.params.bidFloorCur;
+ }
+
+ return imp;
+}
+
+/**
+ * Parses a raw bid for the relevant information.
+ *
+ * @param {object} rawBid The bid to be parsed.
+ * @param {string} currency Global currency in bid response.
+ * @return {object} bid The parsed bid.
+ */
+function parseBid(rawBid, currency) {
+ const bid = {};
+
+ if (PRICE_TO_DOLLAR_FACTOR.hasOwnProperty(currency)) {
+ bid.cpm = rawBid.price / PRICE_TO_DOLLAR_FACTOR[currency];
+ } else {
+ bid.cpm = rawBid.price / CENT_TO_DOLLAR_FACTOR;
+ }
+
+ bid.requestId = rawBid.impid;
+ bid.width = rawBid.w;
+ bid.height = rawBid.h;
+ bid.ad = rawBid.adm;
+ bid.dealId = utils.deepAccess(rawBid, 'ext.dealid');
+ bid.ttl = TIME_TO_LIVE;
+ bid.netRevenue = NET_REVENUE;
+ bid.currency = currency;
+ bid.creativeId = rawBid.hasOwnProperty('crid') ? rawBid.crid : '-';
+
+ return bid;
+}
+
+/**
+ * Determines whether or not the given object is valid size format.
+ *
+ * @param {*} size The object to be validated.
+ * @return {boolean} True if this is a valid size format, and false otherwise.
+ */
+function isValidSize(size) {
+ return isArray(size) && size.length === 2 && isInteger(size[0]) && isInteger(size[1]);
+}
+
+/**
+ * Determines whether or not the given size object is an element of the size
+ * array.
+ *
+ * @param {array} sizeArray The size array.
+ * @param {object} size The size object.
+ * @return {boolean} True if the size object is an element of the size array, and false
+ * otherwise.
+ */
+function includesSize(sizeArray, size) {
+ if (isValidSize(sizeArray)) {
+ return sizeArray[0] === size[0] && sizeArray[1] === size[1];
+ }
+
+ for (let i = 0; i < sizeArray.length; i++) {
+ if (sizeArray[i][0] === size[0] && sizeArray[i][1] === size[1]) {
+ return true;
+ }
+ }
+
+ return false;
+}
+
+/**
+ * Determines whether or not the given bidFloor parameters are valid.
+ *
+ * @param {*} bidFloor The bidFloor parameter inside bid request config.
+ * @param {*} bidFloorCur The bidFloorCur parameter inside bid request config.
+ * @return {boolean} True if this is a valid biFfloor parameters format, and false
+ * otherwise.
+ */
+function isValidBidFloorParams(bidFloor, bidFloorCur) {
+ const curRegex = /^[A-Z]{3}$/;
+
+ return Boolean(typeof bidFloor === 'number' && typeof bidFloorCur === 'string' &&
+ bidFloorCur.match(curRegex));
+}
+
+export const spec = {
+
+ code: BIDDER_CODE,
+ supportedMediaTypes: SUPPORTED_AD_TYPES,
+
+ /**
+ * Determines whether or not the given bid request is valid.
+ *
+ * @param {object} bid The bid to validate.
+ * @return {boolean} True if this is a valid bid, and false otherwise.
+ */
+ isBidRequestValid: function (bid) {
+ if (!isValidSize(bid.params.size)) {
+ return false;
+ }
+
+ if (!includesSize(bid.sizes, bid.params.size)) {
+ return false;
+ }
+
+ if (typeof bid.params.siteId !== 'string') {
+ return false;
+ }
+
+ const hasBidFloor = bid.params.hasOwnProperty('bidFloor');
+ const hasBidFloorCur = bid.params.hasOwnProperty('bidFloorCur');
+
+ if (hasBidFloor || hasBidFloorCur) {
+ return hasBidFloor && hasBidFloorCur &&
+ isValidBidFloorParams(bid.params.bidFloor, bid.params.bidFloorCur);
+ }
+
+ return true;
+ },
+
+ /**
+ * Make a server request from the list of BidRequests.
+ *
+ * @param {array} validBidRequests A list of valid bid request config objects.
+ * @param {object} options A object contains bids and other info like gdprConsent.
+ * @return {object} Info describing the request to the server.
+ */
+ buildRequests: function (validBidRequests, options) {
+ const bannerImps = [];
+ let validBidRequest = null;
+ let bannerImp = null;
+
+ for (let i = 0; i < validBidRequests.length; i++) {
+ validBidRequest = validBidRequests[i];
+
+ // If the bid request is for banner, then transform the bid request based on banner format.
+ if (utils.deepAccess(validBidRequest, 'mediaTypes.banner') ||
+ validBidRequest.mediaType === 'banner') {
+ bannerImp = bidToBannerImp(validBidRequest);
+ bannerImps.push(bannerImp);
+ }
+ }
+
+ const r = {};
+
+ // Since bidderRequestId are the same for different bid request, just use the first one.
+ r.id = validBidRequests[0].bidderRequestId;
+
+ r.imp = bannerImps;
+ r.site = {};
+ r.site.page = utils.getTopWindowUrl();
+ r.site.ref = utils.getTopWindowReferrer();
+ r.ext = {};
+ r.ext.source = 'prebid';
+
+ // Apply GDPR information to the request if GDPR is enabled.
+ if (options && options.gdprConsent) {
+ const gdprConsent = options.gdprConsent;
+
+ if (gdprConsent.hasOwnProperty('gdprApplies')) {
+ r.regs = {
+ ext: {
+ gdpr: gdprConsent.gdprApplies ? 1 : 0
+ }
+ };
+ }
+
+ if (gdprConsent.hasOwnProperty('consentString')) {
+ r.user = {
+ ext: {
+ consent: gdprConsent.consentString || ''
+ }
+ };
+ }
+ }
+
+ const payload = {};
+
+ // Parse additional runtime configs.
+ const otherIxConfig = config.getConfig('ix');
+ if (otherIxConfig) {
+ // Append firstPartyData to r.site.page if firstPartyData exists.
+ if (typeof otherIxConfig.firstPartyData === 'object') {
+ const firstPartyData = otherIxConfig.firstPartyData;
+ let firstPartyString = '?';
+ for (const key in firstPartyData) {
+ if (firstPartyData.hasOwnProperty(key)) {
+ firstPartyString += `${encodeURIComponent(key)}=${encodeURIComponent(firstPartyData[key])}&`;
+ }
+ }
+ firstPartyString = firstPartyString.slice(0, -1);
+
+ r.site.page += firstPartyString;
+ }
+
+ // Create t in payload if timeout is configured.
+ if (typeof otherIxConfig.timeout === 'number') {
+ payload.t = otherIxConfig.timeout;
+ }
+ }
+
+ // Use the siteId in the first bid request as the main siteId.
+ payload.s = validBidRequests[0].params.siteId;
+
+ payload.v = ENDPOINT_VERSION;
+ payload.r = JSON.stringify(r);
+ payload.ac = 'j';
+ payload.sd = 1;
+
+ return {
+ method: 'GET',
+ url: baseUrl,
+ data: payload
+ };
+ },
+
+ /**
+ * Unpack the response from the server into a list of bids.
+ *
+ * @param {object} serverResponse A successful response from the server.
+ * @return {array} An array of bids which were nested inside the server.
+ */
+ interpretResponse: function (serverResponse) {
+ const bids = [];
+ let bid = null;
+
+ if (!serverResponse.hasOwnProperty('body') || !serverResponse.body.hasOwnProperty('seatbid')) {
+ return bids;
+ }
+
+ const responseBody = serverResponse.body;
+ const seatbid = responseBody.seatbid;
+ for (let i = 0; i < seatbid.length; i++) {
+ if (!seatbid[i].hasOwnProperty('bid')) {
+ continue;
+ }
+
+ // Transform rawBid in bid response to the format that will be accepted by prebid.
+ const innerBids = seatbid[i].bid;
+ for (let j = 0; j < innerBids.length; j++) {
+ bid = parseBid(innerBids[j], responseBody.cur);
+ bids.push(bid);
+ }
+ }
+
+ return bids;
+ }
+};
+
+registerBidder(spec);
diff --git a/modules/ixBidAdapter.md b/modules/ixBidAdapter.md
new file mode 100644
index 00000000000..75950432d54
--- /dev/null
+++ b/modules/ixBidAdapter.md
@@ -0,0 +1,277 @@
+Overview
+========
+
+```
+Module Name: Index Exchange Adapter
+Module Type: Bidder Adapter
+Maintainer: prebid.support@indexexchange.com
+```
+
+Description
+===========
+
+This module connects publishers to Index Exchange's (IX) network of demand
+sources through Prebid.js. This module is GDPR compliant.
+
+It is compatible with both the older ad unit format where the `sizes` and
+`mediaType` properties are placed at the top-level of the ad unit, and the newer
+format where this information is encapsulated within the `mediaTypes` object. We
+recommend that you use the newer format when possible as it will be better able
+to accommodate new feature additions.
+
+If a mix of properties from both formats are present within an ad unit, the
+newer format's properties will take precedence.
+
+Here are examples of both formats.
+
+##### Older Format
+```javascript
+var adUnits = [{
+ // ...
+
+ mediaType: 'banner',
+
+ sizes: [
+ [300, 250],
+ [300, 600]
+ ]
+
+ // ...
+}];
+```
+
+##### Newer Format
+```javascript
+var adUnits = [{
+ // ...
+
+ mediaTypes: {
+ banner: {
+ sizes: [
+ [300, 250],
+ [300, 600]
+ ]
+ }
+ }
+
+ // ...
+}];
+```
+
+### Supported Media Types
+
+| Type | Support
+| --- | ---
+| Banner | Fully supported for all IX approved sizes.
+| Video | Only in-stream supported.
+| Native | Not supported.
+
+# Bid Parameters
+
+Each of the IX-specific parameters provided under the `adUnits[].bids[].params`
+object are detailed here.
+
+### Banner
+
+| Key | Scope | Type | Description
+| --- | --- | --- | ---
+| siteId | Required | String | An IX-specific identifier that is associated with a specific size on this ad unit. This is similar to a placement ID or an ad unit ID that some other modules have.
Examples:
+| size | Required | Number[] | The single size associated with the site ID. It should be one of the sizes listed in the ad unit under `adUnits[].sizes` or `adUnits[].mediaTypes.banner.sizes`.
Examples:
`[300, 250]` `[300, 600]` `[728, 90]`
+| bidFloor | Optional1 | Number | The minimum bid required to participate in an auction for this ad unit. Assuming the bid floor currency that is set has a main unit (e.g. dollars, pounds) and a sub-unit (e.g. cents, pence), the bid floor should be in decimal-point format. If the currency only has main a unit (e.g. JPY), then the bid floor should be a whole number.
Examples:
10.26 USD => `bidFloor: 10.26` 13.41 GBP => `bidFloor: 13.41` 600 JPY => `bidFloor: 600` | N/A
+| bidFloorCur | Optional1 | String | The currency of the bid floor.
Examples:
+
+
+ 1 bidFloor
and bidFloorCur
must
+ both be set when a bid floor is being configured.
+
+
+Setup Guide
+===========
+
+Follow these steps to configure and add the IX module to your Prebid.js
+integration.
+
+The examples in this guide assume the following starting configuration:
+
+```javascript
+var adUnits = [{
+ code: 'banner-div-a',
+ mediaTypes: {
+ banner: {
+ sizes: [
+ [300, 250],
+ [300, 600]
+ ]
+ }
+ },
+ bids: []
+}];
+```
+
+##### 1. Add IX to the appropriate ad units
+
+For each size in an ad unit that IX will be bidding on, add one of the following
+bid objects under `adUnits[].bids`:
+
+```javascript
+{
+ bidder: 'ix',
+ params: {
+ siteId: '',
+ size: []
+ }
+}
+```
+
+Set `params.siteId` and `params.size` in each bid object to the values provided
+by your IX representative.
+
+**Example**
+```javascript
+var adUnits = [{
+ code: 'banner-div-a',
+ mediaTypes: {
+ banner: {
+ sizes: [
+ [300, 250],
+ [300, 600]
+ ]
+ }
+ },
+ bids: [{
+ bidder: 'ix',
+ params: {
+ siteId: '4622',
+ size: [300, 250]
+ }
+ }, {
+ bidder: 'ix',
+ params: {
+ siteId: '6242',
+ size: [300, 600]
+ }
+ }]
+}];
+```
+
+##### 2. Include `ixBidAdapter` in your build process
+
+When running the build command, include `ixBidAdapter` as a module.
+
+```
+gulp build --modules=ixBidAdapter,fooBidAdapter,bazBidAdapter
+```
+
+If a JSON file is being used to specify the bidder modules, add `"ixBidAdapter"`
+to the top-level array in that file.
+
+```json
+[
+ "ixBidAdapter",
+ "fooBidAdapter",
+ "bazBidAdapter"
+]
+```
+
+And then build.
+
+```
+gulp build --modules=bidderModules.json
+```
+
+Setting First Party Data (FPD)
+==============================
+
+FPD allows you to specify key-value pairs which will be passed as part of the
+query string to IX for use in Private Marketplace Deals which rely on query
+string targeting for activation. For example, if a user is viewing a
+news-related page, you can pass on that information by sending `category=news`.
+Then in the IX Private Marketplace setup screens you can create Deals which
+activate only on pages which contain `category=news`. Please reach out to your
+IX representative if you have any questions or need help setting this up.
+
+To include FPD in a bid request, it must be set before `pbjs.requestBids` is
+called. To set it, call `pbjs.setConfig` and provide it with a map of FPD keys
+to values as such:
+
+```javascript
+pbjs.setConfig({
+ ix: {
+ firstPartyData: {
+ '': '',
+ '': '',
+ // ...
+ }
+ }
+});
+```
+
+The values can be updated at any time by calling `pbjs.setConfig` again. The
+changes will be reflected in any proceeding bid requests.
+
+Setting a Server Side Timeout
+=============================
+
+Setting a server-side timeout allows you to control the max length of time the
+servers will wait on DSPs to respond before generating the final bid response
+and returning it to this module.
+
+This is distinctly different from the global bidder timeout that can be set in
+Prebid.js in the browser.
+
+To add a server-side timeout, it must be set before `pbjs.requestBids` is
+called. To set it, call `pbjs.setConfig` and provide it with a timeout value as
+such:
+
+```javascript
+pbjs.setConfig({
+ ix: {
+ timeout: 500
+ }
+});
+```
+
+The timeout value must be a positive whole number in milliseconds.
+
+Additional Information
+======================
+
+### Bid Request Limit
+
+If a single bid request to IX contains more than 20 impression requests (i.e.
+more than 20 objects in `bidRequest.imp`), only the first 20 will be accepted,
+the rest will be ignored.
+
+To avoid this situation, ensure that when `pbjs.requestBid` is invoked, that the
+number of bid objects (i.e. `adUnits[].bids`) with `adUnits[].bids[].bidder` set
+to `'ix'` across all ad units that bids are being requested for does not exceed
+20.
+
+### Time-To-Live (TTL)
+
+All bids received from IX have a TTL of 60 seconds, after which time they become
+invalid.
+
+If an invalid bid wins, and its associated ad is rendered, it will not count
+towards total impressions on IX's side.
+
+FAQs
+====
+
+### Why do I have to input size in `adUnits[].bids[].params` for IX when the size is already in the ad unit?
+
+There are two important reasons why we require it:
+
+1. An IX site ID maps to a single size, whereas an ad unit can have multiple
+sizes. To ensure that the right site ID is mapped to the correct size in the ad
+unit we require the size to be explicitly stated.
+
+2. An ad unit may have sizes that IX does not support. By explicitly stating the
+size, you can choose not to have IX bid on certain sizes that are invalid.
+
+### How do I view IX's bid request in the network?
+
+In your browser of choice, create a new tab and open the developer tools. In
+developer tools, select the network tab. Then, navigate to a page where IX is
+setup to bid. Now, in the network tab, search for requests to
+`casalemedia.com/cygnus`. These are the bid requests.
diff --git a/test/spec/modules/ixBidAdapter_spec.js b/test/spec/modules/ixBidAdapter_spec.js
new file mode 100644
index 00000000000..0e00a64aab4
--- /dev/null
+++ b/test/spec/modules/ixBidAdapter_spec.js
@@ -0,0 +1,412 @@
+import * as utils from 'src/utils';
+import { config } from 'src/config';
+import { expect } from 'chai';
+import { newBidder } from 'src/adapters/bidderFactory';
+import { spec } from 'modules/ixBidAdapter';
+
+describe('IndexexchangeAdapter', () => {
+ const IX_ENDPOINT = 'http://as.casalemedia.com/cygnus';
+ const BIDDER_VERSION = 7.2;
+
+ const DEFAULT_BANNER_VALID_BID = [
+ {
+ bidder: 'ix',
+ params: {
+ siteId: '123',
+ size: [300, 250]
+ },
+ sizes: [[300, 250], [300, 600]],
+ mediaTypes: {
+ banner: {
+ sizes: [[300, 250], [300, 600]]
+ }
+ },
+ adUnitCode: 'div-gpt-ad-1460505748561-0',
+ transactionId: '173f49a8-7549-4218-a23c-e7ba59b47229',
+ bidId: '1a2b3c4d',
+ bidderRequestId: '11a22b33c44d',
+ auctionId: '1aa2bb3cc4dd'
+ }
+ ];
+ const DEFAULT_BANNER_BID_RESPONSE = {
+ cur: 'USD',
+ id: '11a22b33c44d',
+ seatbid: [
+ {
+ bid: [
+ {
+ crid: '12345',
+ adomain: ['www.abc.com'],
+ adid: '14851455',
+ impid: '1a2b3c4d',
+ cid: '3051266',
+ price: 100,
+ w: 300,
+ h: 250,
+ id: '1',
+ ext: {
+ dspid: 50,
+ pricelevel: '_100',
+ advbrandid: 303325,
+ advbrand: 'OECTA'
+ },
+ adm: ' '
+ }
+ ],
+ seat: '3970'
+ }
+ ]
+ };
+
+ describe('inherited functions', () => {
+ it('should exists and is a function', () => {
+ const adapter = newBidder(spec);
+ expect(adapter.callBids).to.exist.and.to.be.a('function');
+ });
+ });
+
+ describe('isBidRequestValid', () => {
+ it('should return true when required params found for a banner ad', () => {
+ expect(spec.isBidRequestValid(DEFAULT_BANNER_VALID_BID[0])).to.equal(true);
+ });
+
+ it('should return true when optional params found for a banner ad', () => {
+ const bid = utils.deepClone(DEFAULT_BANNER_VALID_BID[0]);
+ bid.params.bidFloor = 50;
+ bid.params.bidFloorCur = 'USD';
+ expect(spec.isBidRequestValid(bid)).to.equal(true);
+ });
+
+ it('should return false when siteID is number', () => {
+ const bid = utils.deepClone(DEFAULT_BANNER_VALID_BID[0]);
+ bid.params.siteId = 123;
+ expect(spec.isBidRequestValid(bid)).to.equal(false);
+ });
+
+ it('should return false when siteID is missing', () => {
+ const bid = utils.deepClone(DEFAULT_BANNER_VALID_BID[0]);
+ delete bid.params.siteId;
+ expect(spec.isBidRequestValid(bid)).to.equal(false);
+ });
+
+ it('should return false when size is missing', () => {
+ const bid = utils.deepClone(DEFAULT_BANNER_VALID_BID[0]);
+ delete bid.params.size;
+ expect(spec.isBidRequestValid(bid)).to.equal(false);
+ });
+
+ it('should return false when size array is wrong length', () => {
+ const bid = utils.deepClone(DEFAULT_BANNER_VALID_BID[0]);
+ bid.params.size = [
+ 300,
+ 250,
+ 250
+ ];
+ expect(spec.isBidRequestValid(bid)).to.equal(false);
+ });
+
+ it('should return false when size array is array of strings', () => {
+ const bid = utils.deepClone(DEFAULT_BANNER_VALID_BID[0]);
+ bid.params.size = ['300', '250'];
+ expect(spec.isBidRequestValid(bid)).to.equal(false);
+ });
+
+ it('should return false when there is only bidFloor', () => {
+ const bid = utils.deepClone(DEFAULT_BANNER_VALID_BID[0]);
+ bid.params.bidFloor = 50;
+ expect(spec.isBidRequestValid(bid)).to.equal(false);
+ });
+
+ it('should return false when there is only bidFloorCur', () => {
+ const bid = utils.deepClone(DEFAULT_BANNER_VALID_BID[0]);
+ bid.params.bidFloorCur = 'USD';
+ expect(spec.isBidRequestValid(bid)).to.equal(false);
+ });
+
+ it('should return false when bidFloor is string', () => {
+ const bid = utils.deepClone(DEFAULT_BANNER_VALID_BID[0]);
+ bid.params.bidFloor = '50';
+ bid.params.bidFloorCur = 'USD';
+ expect(spec.isBidRequestValid(bid)).to.equal(false);
+ });
+
+ it('should return false when bidFloorCur is number', () => {
+ const bid = utils.deepClone(DEFAULT_BANNER_VALID_BID[0]);
+ bid.params.bidFloor = 50;
+ bid.params.bidFloorCur = 70;
+ expect(spec.isBidRequestValid(bid)).to.equal(false);
+ });
+ });
+
+ describe('buildRequestsBanner', () => {
+ const request = spec.buildRequests(DEFAULT_BANNER_VALID_BID);
+ const requestUrl = request.url;
+ const requestMethod = request.method;
+ const query = request.data;
+
+ it('request should be made to IX endpoint with GET method', () => {
+ expect(requestMethod).to.equal('GET');
+ expect(requestUrl).to.equal(IX_ENDPOINT);
+ });
+
+ it('query object (version, siteID and request) should be correct', () => {
+ expect(query.v).to.equal(BIDDER_VERSION);
+ expect(query.s).to.equal(DEFAULT_BANNER_VALID_BID[0].params.siteId);
+ expect(query.r).to.exist;
+ expect(query.ac).to.equal('j');
+ expect(query.sd).to.equal(1);
+ });
+
+ it('payload should have correct format and value', () => {
+ const payload = JSON.parse(query.r);
+
+ expect(payload.id).to.equal(DEFAULT_BANNER_VALID_BID[0].bidderRequestId);
+ expect(payload.site).to.exist;
+ expect(payload.site.page).to.exist;
+ expect(payload.site.page).to.contain('http');
+ expect(payload.site.ref).to.exist;
+ expect(payload.site.ref).to.be.a('string');
+ expect(payload.ext).to.exist;
+ expect(payload.ext.source).to.equal('prebid');
+ expect(payload.imp).to.exist;
+ expect(payload.imp).to.be.an('array');
+ expect(payload.imp).to.have.lengthOf(1);
+ });
+
+ it('impression should have correct format and value', () => {
+ const impression = JSON.parse(query.r).imp[0];
+ const sidValue = `${DEFAULT_BANNER_VALID_BID[0].params.size[0].toString()}x${DEFAULT_BANNER_VALID_BID[0].params.size[1].toString()}`;
+
+ expect(impression.id).to.equal(DEFAULT_BANNER_VALID_BID[0].bidId);
+ expect(impression.banner).to.exist;
+ expect(impression.banner.w).to.equal(DEFAULT_BANNER_VALID_BID[0].params.size[0]);
+ expect(impression.banner.h).to.equal(DEFAULT_BANNER_VALID_BID[0].params.size[1]);
+ expect(impression.banner.topframe).to.exist;
+ expect(impression.banner.topframe).to.be.oneOf([0, 1]);
+ expect(impression.ext).to.exist;
+ expect(impression.ext.siteID).to.equal(DEFAULT_BANNER_VALID_BID[0].params.siteId.toString());
+ expect(impression.ext.sid).to.equal(sidValue);
+ });
+
+ it('impression should have bidFloor and bidFloorCur if configured', () => {
+ const bid = utils.deepClone(DEFAULT_BANNER_VALID_BID[0]);
+ bid.params.bidFloor = 50;
+ bid.params.bidFloorCur = 'USD';
+ const requestBidFloor = spec.buildRequests([bid]);
+ const impression = JSON.parse(requestBidFloor.data.r).imp[0];
+
+ expect(impression.bidfloor).to.equal(bid.params.bidFloor);
+ expect(impression.bidfloorcur).to.equal(bid.params.bidFloorCur);
+ });
+
+ it('should add first party data to page url in bid request if it exists in config', () => {
+ config.setConfig({
+ ix: {
+ firstPartyData: {
+ ab: 123,
+ cd: '123#ab',
+ 'e/f': 456,
+ 'h?g': '456#cd'
+ }
+ }
+ });
+
+ const requestWithFirstPartyData = spec.buildRequests(DEFAULT_BANNER_VALID_BID);
+ const pageUrl = JSON.parse(requestWithFirstPartyData.data.r).site.page;
+ const expectedPageUrl = `${utils.getTopWindowUrl()}?ab=123&cd=123%23ab&e%2Ff=456&h%3Fg=456%23cd`;
+
+ expect(pageUrl).to.equal(expectedPageUrl);
+ });
+
+ it('should not set first party data if it is not an object', () => {
+ config.setConfig({
+ ix: {
+ firstPartyData: 500
+ }
+ });
+
+ const requestFirstPartyDataNumber = spec.buildRequests(DEFAULT_BANNER_VALID_BID);
+ const pageUrl = JSON.parse(requestFirstPartyDataNumber.data.r).site.page;
+
+ expect(pageUrl).to.equal(utils.getTopWindowUrl());
+ });
+
+ it('should not set first party or timeout if it is not present', () => {
+ config.setConfig({
+ ix: {}
+ });
+
+ const requestWithoutConfig = spec.buildRequests(DEFAULT_BANNER_VALID_BID);
+ const pageUrl = JSON.parse(requestWithoutConfig.data.r).site.page;
+
+ expect(pageUrl).to.equal(utils.getTopWindowUrl());
+ expect(requestWithoutConfig.data.t).to.be.undefined;
+ });
+
+ it('should not set first party or timeout if it is setConfig is not called', () => {
+ const requestWithoutConfig = spec.buildRequests(DEFAULT_BANNER_VALID_BID);
+ const pageUrl = JSON.parse(requestWithoutConfig.data.r).site.page;
+
+ expect(pageUrl).to.equal(utils.getTopWindowUrl());
+ expect(requestWithoutConfig.data.t).to.be.undefined;
+ });
+
+ it('should set timeout if publisher set it through setConfig', () => {
+ config.setConfig({
+ ix: {
+ timeout: 500
+ }
+ });
+ const requestWithTimeout = spec.buildRequests(DEFAULT_BANNER_VALID_BID);
+
+ expect(requestWithTimeout.data.t).to.equal(500);
+ });
+
+ it('should set timeout if timeout is a string', () => {
+ config.setConfig({
+ ix: {
+ timeout: '500'
+ }
+ });
+ const requestStringTimeout = spec.buildRequests(DEFAULT_BANNER_VALID_BID);
+
+ expect(requestStringTimeout.data.t).to.be.undefined;
+ });
+ });
+
+ describe('interpretResponseBanner', () => {
+ it('should get correct bid response', () => {
+ const expectedParse = [
+ {
+ requestId: '1a2b3c4d',
+ cpm: 1,
+ creativeId: '12345',
+ width: 300,
+ height: 250,
+ ad: ' ',
+ currency: 'USD',
+ ttl: 60,
+ netRevenue: true,
+ dealId: undefined
+ }
+ ];
+ const result = spec.interpretResponse({ body: DEFAULT_BANNER_BID_RESPONSE });
+ expect(result[0]).to.deep.equal(expectedParse[0]);
+ });
+
+ it('should set creativeId to default value if not provided', () => {
+ const bidResponse = utils.deepClone(DEFAULT_BANNER_BID_RESPONSE);
+ delete bidResponse.seatbid[0].bid[0].crid;
+ const expectedParse = [
+ {
+ requestId: '1a2b3c4d',
+ cpm: 1,
+ creativeId: '-',
+ width: 300,
+ height: 250,
+ ad: ' ',
+ currency: 'USD',
+ ttl: 60,
+ netRevenue: true,
+ dealId: undefined
+ }
+ ];
+ const result = spec.interpretResponse({ body: bidResponse });
+ expect(result[0]).to.deep.equal(expectedParse[0]);
+ });
+
+ it('should set Japanese price correctly', () => {
+ const bidResponse = utils.deepClone(DEFAULT_BANNER_BID_RESPONSE);
+ bidResponse.cur = 'JPY';
+ const expectedParse = [
+ {
+ requestId: '1a2b3c4d',
+ cpm: 100,
+ creativeId: '12345',
+ width: 300,
+ height: 250,
+ ad: ' ',
+ currency: 'JPY',
+ ttl: 60,
+ netRevenue: true,
+ dealId: undefined
+ }
+ ];
+ const result = spec.interpretResponse({ body: bidResponse });
+ expect(result[0]).to.deep.equal(expectedParse[0]);
+ });
+
+ it('should set dealId correctly', () => {
+ const bidResponse = utils.deepClone(DEFAULT_BANNER_BID_RESPONSE);
+ bidResponse.seatbid[0].bid[0].ext.dealid = 'deal';
+ const expectedParse = [
+ {
+ requestId: '1a2b3c4d',
+ cpm: 1,
+ creativeId: '12345',
+ width: 300,
+ height: 250,
+ ad: ' ',
+ currency: 'USD',
+ ttl: 60,
+ netRevenue: true,
+ dealId: 'deal'
+ }
+ ];
+ const result = spec.interpretResponse({ body: bidResponse });
+ expect(result[0]).to.deep.equal(expectedParse[0]);
+ });
+
+ it('bidrequest should have consent info if gdprApplies and consentString exist', () => {
+ const options = {
+ gdprConsent: {
+ gdprApplies: true,
+ consentString: '3huaa11=qu3198ae',
+ vendorData: {}
+ }
+ };
+ const validBidWithConsent = spec.buildRequests(DEFAULT_BANNER_VALID_BID, options);
+ const requestWithConsent = JSON.parse(validBidWithConsent.data.r);
+
+ expect(requestWithConsent.regs.ext.gdpr).to.equal(1);
+ expect(requestWithConsent.user.ext.consent).to.equal('3huaa11=qu3198ae');
+ });
+
+ it('bidrequest should not have consent field if consentString is undefined', () => {
+ const options = {
+ gdprConsent: {
+ gdprApplies: true,
+ vendorData: {}
+ }
+ };
+ const validBidWithConsent = spec.buildRequests(DEFAULT_BANNER_VALID_BID, options);
+ const requestWithConsent = JSON.parse(validBidWithConsent.data.r);
+
+ expect(requestWithConsent.regs.ext.gdpr).to.equal(1);
+ expect(requestWithConsent.user).to.be.undefined;
+ });
+
+ it('bidrequest should not have gdpr field if gdprApplies is undefined', () => {
+ const options = {
+ gdprConsent: {
+ consentString: '3huaa11=qu3198ae',
+ vendorData: {}
+ }
+ };
+ const validBidWithConsent = spec.buildRequests(DEFAULT_BANNER_VALID_BID, options);
+ const requestWithConsent = JSON.parse(validBidWithConsent.data.r);
+
+ expect(requestWithConsent.regs).to.be.undefined;
+ expect(requestWithConsent.user.ext.consent).to.equal('3huaa11=qu3198ae');
+ });
+
+ it('bidrequest should not have consent info if options.gdprConsent is undefined', () => {
+ const options = {};
+ const validBidWithConsent = spec.buildRequests(DEFAULT_BANNER_VALID_BID, options);
+ const requestWithConsent = JSON.parse(validBidWithConsent.data.r);
+
+ expect(requestWithConsent.regs).to.be.undefined;
+ expect(requestWithConsent.user).to.be.undefined;
+ });
+ });
+});
From ea91035c1e4962357e739c3cfe47a6040f307e57 Mon Sep 17 00:00:00 2001
From: Chris
Date: Tue, 8 May 2018 10:33:15 -0700
Subject: [PATCH 133/171] Sharethrough: GDPR compliance + getUserSyncs (#2503)
---
modules/sharethroughBidAdapter.js | 36 ++++++++++++----
.../modules/sharethroughBidAdapter_spec.js | 42 +++++++++++++++++++
2 files changed, 69 insertions(+), 9 deletions(-)
diff --git a/modules/sharethroughBidAdapter.js b/modules/sharethroughBidAdapter.js
index ce4c87be4d3..f8cb2c99400 100644
--- a/modules/sharethroughBidAdapter.js
+++ b/modules/sharethroughBidAdapter.js
@@ -7,23 +7,32 @@ const STR_ENDPOINT = document.location.protocol + '//btlr.sharethrough.com/heade
export const sharethroughAdapterSpec = {
code: BIDDER_CODE,
isBidRequestValid: bid => !!bid.params.pkey && bid.bidder === BIDDER_CODE,
- buildRequests: (bidRequests) => {
+ buildRequests: (bidRequests, bidderRequest) => {
return bidRequests.map(bid => {
+ let query = {
+ bidId: bid.bidId,
+ placement_key: bid.params.pkey,
+ hbVersion: '$prebid.version$',
+ strVersion: VERSION,
+ hbSource: 'prebid'
+ };
+
+ if (bidderRequest && bidderRequest.gdprConsent) {
+ query.consent_string = bidderRequest.gdprConsent.consentString;
+ query.consent_required = bidderRequest.gdprConsent.gdprApplies;
+ }
+
return {
method: 'GET',
url: STR_ENDPOINT,
- data: {
- bidId: bid.bidId,
- placement_key: bid.params.pkey,
- hbVersion: '$prebid.version$',
- strVersion: VERSION,
- hbSource: 'prebid'
- }
+ data: query
};
})
},
interpretResponse: ({ body }, req) => {
- if (!Object.keys(body).length) return [];
+ if (!body || !Object.keys(body).length || !body.creatives.length) {
+ return [];
+ }
const creative = body.creatives[0];
@@ -39,6 +48,15 @@ export const sharethroughAdapterSpec = {
ttl: 360,
ad: generateAd(body, req)
}];
+ },
+ getUserSyncs: (syncOptions, serverResponses) => {
+ const syncs = [];
+ if (syncOptions.pixelEnabled && serverResponses.length > 0) {
+ serverResponses[0].body.cookieSyncUrls.forEach(url => {
+ syncs.push({ type: 'image', url: url });
+ });
+ }
+ return syncs;
}
}
diff --git a/test/spec/modules/sharethroughBidAdapter_spec.js b/test/spec/modules/sharethroughBidAdapter_spec.js
index d7fa3f728ac..aa9477d2557 100644
--- a/test/spec/modules/sharethroughBidAdapter_spec.js
+++ b/test/spec/modules/sharethroughBidAdapter_spec.js
@@ -100,6 +100,14 @@ describe('sharethrough adapter spec', () => {
'http://btlr.sharethrough.com/header-bid/v1')
expect(bidRequests[0].method).to.eq('GET');
});
+
+ it('should add consent parameters if gdprConsent is present', () => {
+ const gdprConsent = { consentString: 'consent_string123', gdprApplies: true };
+ const fakeBidRequest = { gdprConsent: gdprConsent };
+ const bidRequest = spec.buildRequests(bidderRequest, fakeBidRequest)[0];
+ expect(bidRequest.data.consent_string).to.eq('consent_string123');
+ expect(bidRequest.data.consent_required).to.eq(true);
+ });
});
describe('.interpretResponse', () => {
@@ -117,6 +125,21 @@ describe('sharethrough adapter spec', () => {
});
});
+ it('returns a blank array if there are no creatives', () => {
+ const bidResponse = { body: { creatives: [] } };
+ expect(spec.interpretResponse(bidResponse, prebidRequest[0])).to.be.an('array').that.is.empty;
+ });
+
+ it('returns a blank array if body object is empty', () => {
+ const bidResponse = { body: {} };
+ expect(spec.interpretResponse(bidResponse, prebidRequest[0])).to.be.an('array').that.is.empty;
+ });
+
+ it('returns a blank array if body is null', () => {
+ const bidResponse = { body: null };
+ expect(spec.interpretResponse(bidResponse, prebidRequest[0])).to.be.an('array').that.is.empty;
+ });
+
it('correctly sends back a sfp script tag', () => {
const adMarkup = spec.interpretResponse(bidderResponse, prebidRequest[0])[0].ad;
let resp = null;
@@ -134,4 +157,23 @@ describe('sharethrough adapter spec', () => {
/window.top.document.getElementsByTagName\('body'\)\[0\].appendChild\(sfp_js\);/)
});
});
+
+ describe('.getUserSyncs', () => {
+ const cookieSyncs = ['cookieUrl1', 'cookieUrl2', 'cookieUrl3'];
+ const serverResponses = [{ body: { cookieSyncUrls: cookieSyncs } }];
+
+ it('returns an array of correctly formatted user syncs', () => {
+ const syncArray = spec.getUserSyncs({ pixelEnabled: true }, serverResponses);
+ expect(syncArray).to.deep.equal([
+ { type: 'image', url: 'cookieUrl1' },
+ { type: 'image', url: 'cookieUrl2' },
+ { type: 'image', url: 'cookieUrl3' }]
+ );
+ });
+
+ it('returns an empty array if pixels are not enabled', () => {
+ const syncArray = spec.getUserSyncs({ pixelEnabled: false }, serverResponses);
+ expect(syncArray).to.be.an('array').that.is.empty;
+ });
+ });
});
From a81ef7206782a14a0f6b3da474ff465cd2bbdf15 Mon Sep 17 00:00:00 2001
From: Jaimin Panchal
Date: Tue, 8 May 2018 17:13:52 -0400
Subject: [PATCH 134/171] bugfix (#2510)
---
modules/vidazooBidAdapter.js | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/modules/vidazooBidAdapter.js b/modules/vidazooBidAdapter.js
index c0d25af9d65..bcf8856e049 100644
--- a/modules/vidazooBidAdapter.js
+++ b/modules/vidazooBidAdapter.js
@@ -39,7 +39,9 @@ function buildRequest(bid, topWindowUrl, size) {
}
}
- Object.entries(ext).forEach(entry => dto.data['ext.' + entry[0]] = entry[1]);
+ utils._each(ext, (value, key) => {
+ dto.data['ext.' + key] = value;
+ });
return dto;
}
From 208960c29daa3c84cafeb0eb495c8bc284919ce5 Mon Sep 17 00:00:00 2001
From: Jaimin Panchal
Date: Tue, 8 May 2018 17:17:39 -0400
Subject: [PATCH 135/171] Prebid 1.10.0 Release
---
package.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/package.json b/package.json
index 36374cd5f22..fc249d17a84 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "prebid.js",
- "version": "1.10.0-pre",
+ "version": "1.10.0",
"description": "Header Bidding Management Library",
"main": "src/prebid.js",
"scripts": {
From eadfd86e5e9f5b77b2992d39acf5e278aaa748fb Mon Sep 17 00:00:00 2001
From: Jaimin Panchal
Date: Tue, 8 May 2018 17:26:00 -0400
Subject: [PATCH 136/171] Increment pre version
---
package.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/package.json b/package.json
index fc249d17a84..28cb310599e 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "prebid.js",
- "version": "1.10.0",
+ "version": "1.11.0-pre",
"description": "Header Bidding Management Library",
"main": "src/prebid.js",
"scripts": {
From 3d96d9ebbb5ba9a23feb7f14a87bbe0c6a10adc5 Mon Sep 17 00:00:00 2001
From: JonGoSonobi
Date: Thu, 10 May 2018 12:01:39 -0400
Subject: [PATCH 137/171] Sonobi Adapter - Added referrer param. Fixed timeout
error in userSync (#2497)
---
modules/sonobiBidAdapter.js | 27 ++++++++++++++--------
test/spec/modules/sonobiBidAdapter_spec.js | 6 +++++
2 files changed, 23 insertions(+), 10 deletions(-)
diff --git a/modules/sonobiBidAdapter.js b/modules/sonobiBidAdapter.js
index 438ab7f3a74..a8b5bd13e05 100644
--- a/modules/sonobiBidAdapter.js
+++ b/modules/sonobiBidAdapter.js
@@ -28,7 +28,7 @@ export const spec = {
const bids = validBidRequests.map(bid => {
let slotIdentifier = _validateSlot(bid);
if (/^[\/]?[\d]+[[\/].+[\/]?]?$/.test(slotIdentifier)) {
- slotIdentifier = slotIdentifier.charAt(0) === '/' ? slotIdentifier : '/' + slotIdentifier
+ slotIdentifier = slotIdentifier.charAt(0) === '/' ? slotIdentifier : '/' + slotIdentifier;
return {
[`${slotIdentifier}|${bid.bidId}`]: `${_validateSize(bid)}${_validateFloor(bid)}`
}
@@ -41,7 +41,7 @@ export const spec = {
}
});
- let data = {}
+ let data = {};
bids.forEach((bid) => { Object.assign(data, bid); });
const payload = {
@@ -57,6 +57,9 @@ export const spec = {
if (validBidRequests[0].params.hfa) {
payload.hfa = validBidRequests[0].params.hfa;
}
+ if (validBidRequests[0].params.referrer) {
+ payload.ref = validBidRequests[0].params.referrer;
+ }
// If there is no key_maker data, then dont make the request.
if (isEmpty(data)) {
@@ -132,17 +135,21 @@ export const spec = {
*/
getUserSyncs: (syncOptions, serverResponses) => {
const syncs = [];
- if (syncOptions.pixelEnabled && serverResponses[0].body.sbi_px) {
- serverResponses[0].body.sbi_px.forEach(pixel => {
- syncs.push({
- type: pixel.type,
- url: pixel.url
+ try {
+ if (syncOptions.pixelEnabled) {
+ serverResponses[0].body.sbi_px.forEach(pixel => {
+ syncs.push({
+ type: pixel.type,
+ url: pixel.url
+ });
});
- });
+ }
+ } catch (e) {
+ logError(e)
}
return syncs;
}
-}
+};
function _validateSize (bid) {
if (bid.params.sizes) {
@@ -171,7 +178,7 @@ const _creative = (mediaType) => (sbi_dc, sbi_aid) => {
}
const src = 'https://' + sbi_dc + 'apex.go.sonobi.com/sbi.js?aid=' + sbi_aid + '&as=null' + '&ref=' + getTopWindowLocation().host;
return '';
-}
+};
function _videoCreative(sbi_dc, sbi_aid) {
return `https://${sbi_dc}apex.go.sonobi.com/vast.xml?vid=${sbi_aid}&ref=${getTopWindowLocation().host}`
diff --git a/test/spec/modules/sonobiBidAdapter_spec.js b/test/spec/modules/sonobiBidAdapter_spec.js
index 791d07ba91a..431bf134349 100644
--- a/test/spec/modules/sonobiBidAdapter_spec.js
+++ b/test/spec/modules/sonobiBidAdapter_spec.js
@@ -107,6 +107,7 @@ describe('SonobiBidAdapter', () => {
'placement_id': '1a2b3c4d5e6f1a2b3c4d',
'sizes': [[300, 250], [300, 600]],
'floor': '1.25',
+ 'referrer': 'overrides_top_window_location'
},
'adUnitCode': 'adunit-code-1',
'sizes': [[300, 250], [300, 600]],
@@ -117,6 +118,7 @@ describe('SonobiBidAdapter', () => {
'params': {
'ad_unit': '/7780971/sparks_prebid_LB',
'sizes': [[300, 250], [300, 600]],
+ 'referrer': 'overrides_top_window_location'
},
'adUnitCode': 'adunit-code-2',
'sizes': [[120, 600], [300, 600], [160, 600]],
@@ -139,6 +141,7 @@ describe('SonobiBidAdapter', () => {
expect(bidRequests.data.pv).to.equal(bidRequestsPageViewID.data.pv)
expect(bidRequests.data.hfa).to.not.exist
expect(bidRequests.bidderRequests).to.eql(bidRequest);
+ expect(bidRequests.data.ref).to.equal('overrides_top_window_location');
expect(['mobile', 'tablet', 'desktop']).to.contain(bidRequests.data.vp);
})
@@ -281,6 +284,9 @@ describe('SonobiBidAdapter', () => {
url: 'https://pixel-test'
}]);
})
+ it('should return an empty array when sync is enabled but there are no bidResponses', () => {
+ expect(spec.getUserSyncs({ pixelEnabled: true }, [])).to.have.length(0);
+ })
it('should return an empty array when sync is enabled but no sync pixel returned', () => {
const pixel = Object.assign({}, bidResponse);
From 877a58c70fdf33077bad4b821364a4c413cfc733 Mon Sep 17 00:00:00 2001
From: Rich Snapp
Date: Fri, 11 May 2018 10:08:26 -0600
Subject: [PATCH 138/171] add support for latLong in rubicon adapter (#2508)
---
modules/rubiconBidAdapter.js | 16 ++++++++++++----
test/spec/modules/rubiconBidAdapter_spec.js | 7 +++++--
2 files changed, 17 insertions(+), 6 deletions(-)
diff --git a/modules/rubiconBidAdapter.js b/modules/rubiconBidAdapter.js
index bf2930e5684..d6a69fda625 100644
--- a/modules/rubiconBidAdapter.js
+++ b/modules/rubiconBidAdapter.js
@@ -206,7 +206,8 @@ export const spec = {
keywords,
visitor,
inventory,
- userId
+ userId,
+ latLong: [latitude, longitude] = [],
} = bidRequest.params;
// defaults
@@ -230,7 +231,9 @@ export const spec = {
'x_source.tid', bidRequest.transactionId,
'p_screen_res', _getScreenResolution(),
'kw', keywords,
- 'tk_user_key', userId
+ 'tk_user_key', userId,
+ 'p_geo.latitude', parseFloat(latitude).toFixed(4),
+ 'p_geo.longitude', parseFloat(longitude).toFixed(4)
];
if (gdprConsent) {
@@ -258,7 +261,7 @@ export const spec = {
data = data.reduce(
(memo, curr, index) =>
- index % 2 === 0 && data[index + 1] !== undefined
+ index % 2 === 0 && data[index + 1] !== undefined && !isNaN(data[index + 1])
? memo + curr + '=' + encodeURIComponent(data[index + 1]) + '&' : memo,
''
).slice(0, -1); // remove trailing &
@@ -287,7 +290,7 @@ export const spec = {
* @return {Bid[]} An array of bids which
*/
interpretResponse: function (responseObj, {bidRequest}) {
- responseObj = responseObj.body
+ responseObj = responseObj.body;
let ads = responseObj.ads;
// check overall response
@@ -472,4 +475,9 @@ export function resetUserSync() {
hasSynced = false;
}
+function isNaN(value) {
+ // eslint-disable-next-line no-self-compare
+ return value !== value;
+}
+
registerBidder(spec);
diff --git a/test/spec/modules/rubiconBidAdapter_spec.js b/test/spec/modules/rubiconBidAdapter_spec.js
index e6f4d873ca5..7dcb5e3bbe6 100644
--- a/test/spec/modules/rubiconBidAdapter_spec.js
+++ b/test/spec/modules/rubiconBidAdapter_spec.js
@@ -171,7 +171,8 @@ describe('the rubicon adapter', () => {
lastsearch: 'iphone'
},
position: 'atf',
- referrer: 'localhost'
+ referrer: 'localhost',
+ latLong: [40.7608, '111.8910']
},
adUnitCode: '/19968336/header-bid-tag-0',
code: 'div-1',
@@ -239,7 +240,9 @@ describe('the rubicon adapter', () => {
'tg_v.lastsearch': 'iphone',
'tg_i.rating': '5-star',
'tg_i.prodtype': 'tech',
- 'rf': 'localhost'
+ 'rf': 'localhost',
+ 'p_geo.latitude': '40.7608',
+ 'p_geo.longitude': '111.8910'
};
// test that all values above are both present and correct
From fdadd141667eba92b7c3c2df705222e7ea98b843 Mon Sep 17 00:00:00 2001
From: Jimmy Tu
Date: Fri, 11 May 2018 09:13:27 -0700
Subject: [PATCH 139/171] OpenX Adapter: GDPR Support (#2504)
---
modules/openxBidAdapter.js | 43 +++--
test/spec/modules/openxBidAdapter_spec.js | 181 ++++++++++++++++++++++
2 files changed, 212 insertions(+), 12 deletions(-)
diff --git a/modules/openxBidAdapter.js b/modules/openxBidAdapter.js
index b425b80149a..2f116323a42 100644
--- a/modules/openxBidAdapter.js
+++ b/modules/openxBidAdapter.js
@@ -21,7 +21,7 @@ export const spec = {
isBidRequestValid: function (bidRequest) {
return !!(bidRequest.params.unit && bidRequest.params.delDomain);
},
- buildRequests: function (bidRequests) {
+ buildRequests: function (bidRequests, bidderRequest) {
if (bidRequests.length === 0) {
return [];
}
@@ -31,12 +31,12 @@ export const spec = {
// build banner requests
if (bannerBids.length > 0) {
- requests.push(buildOXBannerRequest(bannerBids));
+ requests.push(buildOXBannerRequest(bannerBids, bidderRequest));
}
// build video requests
if (videoBids.length > 0) {
videoBids.forEach(videoBid => {
- requests.push(buildOXVideoRequest(videoBid))
+ requests.push(buildOXVideoRequest(videoBid, bidderRequest))
});
}
@@ -177,10 +177,11 @@ function getMediaTypeFromRequest(serverRequest) {
return /avjp$/.test(serverRequest.url) ? VIDEO : BANNER;
}
-function buildCommonQueryParamsFromBids(bids) {
+function buildCommonQueryParamsFromBids(bids, bidderRequest) {
const isInIframe = utils.inIframe();
+ let defaultParams;
- return {
+ defaultParams = {
ju: config.getConfig('pageUrl') || utils.getTopWindowUrl(),
jr: utils.getTopWindowReferrer(),
ch: document.charSet || document.characterSet,
@@ -190,12 +191,30 @@ function buildCommonQueryParamsFromBids(bids) {
tws: getViewportDimensions(isInIframe),
be: 1,
dddid: utils._map(bids, bid => bid.transactionId).join(','),
- nocache: new Date().getTime(),
+ nocache: new Date().getTime()
};
+
+ if (utils.deepAccess(bidderRequest, 'gdprConsent')) {
+ let gdprConsentConfig = bidderRequest.gdprConsent;
+
+ if (gdprConsentConfig.consentString !== undefined) {
+ defaultParams.gdpr_consent = gdprConsentConfig.consentString;
+ }
+
+ if (gdprConsentConfig.gdprApplies !== undefined) {
+ defaultParams.gdpr = gdprConsentConfig.gdprApplies ? 1 : 0;
+ }
+
+ if (config.getConfig('consentManagement.cmpApi') === 'iab') {
+ defaultParams.x_gdpr_f = 1;
+ }
+ }
+
+ return defaultParams;
}
-function buildOXBannerRequest(bids) {
- let queryParams = buildCommonQueryParamsFromBids(bids);
+function buildOXBannerRequest(bids, bidderRequest) {
+ let queryParams = buildCommonQueryParamsFromBids(bids, bidderRequest);
queryParams.auid = utils._map(bids, bid => bid.params.unit).join(',');
queryParams.aus = utils._map(bids, bid => utils.parseSizesInput(bid.sizes).join(',')).join('|');
@@ -240,9 +259,9 @@ function buildOXBannerRequest(bids) {
};
}
-function buildOXVideoRequest(bid) {
+function buildOXVideoRequest(bid, bidderRequest) {
let url = `//${bid.params.delDomain}/v/1.0/avjp`;
- let oxVideoParams = generateVideoParameters(bid);
+ let oxVideoParams = generateVideoParameters(bid, bidderRequest);
return {
method: 'GET',
url: url,
@@ -251,8 +270,8 @@ function buildOXVideoRequest(bid) {
};
}
-function generateVideoParameters(bid) {
- let queryParams = buildCommonQueryParamsFromBids([bid]);
+function generateVideoParameters(bid, bidderRequest) {
+ let queryParams = buildCommonQueryParamsFromBids([bid], bidderRequest);
let oxVideoConfig = utils.deepAccess(bid, 'params.video') || {};
let context = utils.deepAccess(bid, 'mediaTypes.video.context');
let playerSize = utils.deepAccess(bid, 'mediaTypes.video.playerSize');
diff --git a/test/spec/modules/openxBidAdapter_spec.js b/test/spec/modules/openxBidAdapter_spec.js
index e4a1c9a979d..3585987e045 100644
--- a/test/spec/modules/openxBidAdapter_spec.js
+++ b/test/spec/modules/openxBidAdapter_spec.js
@@ -2,6 +2,7 @@ import {expect} from 'chai';
import {spec, resetBoPixel} from 'modules/openxBidAdapter';
import {newBidder} from 'src/adapters/bidderFactory';
import {userSync} from 'src/userSync';
+import {config} from 'src/config';
import * as utils from 'src/utils';
const URLBASE = '/w/1.0/arj';
@@ -343,6 +344,186 @@ describe('OpenxAdapter', () => {
expect(dataParams.bc).to.exist;
expect(dataParams.bc).to.equal('hb_override');
});
+
+ it('should not send any consent management properties', function () {
+ const request = spec.buildRequests(bidRequestsWithMediaTypes);
+ expect(request[0].data.gdpr).to.equal(undefined);
+ expect(request[0].data.gdpr_consent).to.equal(undefined);
+ expect(request[0].data.x_gdpr_f).to.equal(undefined);
+ });
+
+ describe('when there is a consent management framework', () => {
+ let bidRequests;
+ let mockConfig;
+ let bidderRequest;
+ const IAB_CONSENT_FRAMEWORK_CODE = 1;
+
+ beforeEach(() => {
+ bidRequests = [{
+ bidder: 'openx',
+ params: {
+ unit: '12345678-banner',
+ delDomain: 'test-del-domain'
+ },
+ adUnitCode: 'adunit-code',
+ mediaTypes: {
+ banner: {
+ sizes: [[300, 250], [300, 600]]
+ }
+ },
+ bidId: 'test-bid-id',
+ bidderRequestId: 'test-bidder-request-id',
+ auctionId: 'test-auction-id'
+ }, {
+ 'bidder': 'openx',
+ 'mediaTypes': {
+ video: {
+ playerSize: [640, 480]
+ }
+ },
+ 'params': {
+ 'unit': '12345678-video',
+ 'delDomain': 'test-del-domain'
+ },
+ 'adUnitCode': 'adunit-code',
+
+ bidId: 'test-bid-id',
+ bidderRequestId: 'test-bidder-request-id',
+ auctionId: 'test-auction-id',
+ transactionId: '4008d88a-8137-410b-aa35-fbfdabcb478e'
+ }];
+ });
+
+ afterEach(function () {
+ config.getConfig.restore();
+ });
+
+ describe('when GDPR applies', function () {
+ beforeEach(function () {
+ bidderRequest = {
+ gdprConsent: {
+ consentString: 'test-gdpr-consent-string',
+ gdprApplies: true
+ }
+ };
+
+ mockConfig = {
+ consentManagement: {
+ cmpApi: 'iab',
+ timeout: 1111,
+ allowAuctionWithoutConsent: 'cancel'
+ }
+ };
+
+ sinon.stub(config, 'getConfig').callsFake((key) => {
+ return utils.deepAccess(mockConfig, key);
+ });
+ });
+
+ it('should send a signal to specify that GDPR applies to this request', function () {
+ const request = spec.buildRequests(bidRequests, bidderRequest);
+ expect(request[0].data.gdpr).to.equal(1);
+ expect(request[1].data.gdpr).to.equal(1);
+ });
+
+ it('should send the consent string', function () {
+ const request = spec.buildRequests(bidRequests, bidderRequest);
+ expect(request[0].data.gdpr_consent).to.equal(bidderRequest.gdprConsent.consentString);
+ expect(request[1].data.gdpr_consent).to.equal(bidderRequest.gdprConsent.consentString);
+ });
+
+ it('should send the consent management framework code', function () {
+ const request = spec.buildRequests(bidRequests, bidderRequest);
+ expect(request[0].data.x_gdpr_f).to.equal(IAB_CONSENT_FRAMEWORK_CODE);
+ expect(request[1].data.x_gdpr_f).to.equal(IAB_CONSENT_FRAMEWORK_CODE);
+ });
+ });
+
+ describe('when GDPR does not apply', function () {
+ beforeEach(function () {
+ bidderRequest = {
+ gdprConsent: {
+ consentString: 'test-gdpr-consent-string',
+ gdprApplies: false
+ }
+ };
+
+ mockConfig = {
+ consentManagement: {
+ cmpApi: 'iab',
+ timeout: 1111,
+ allowAuctionWithoutConsent: 'cancel'
+ }
+ };
+
+ sinon.stub(config, 'getConfig').callsFake((key) => {
+ return utils.deepAccess(mockConfig, key);
+ });
+ });
+
+ it('should not send a signal to specify that GDPR does not apply to this request', function () {
+ const request = spec.buildRequests(bidRequests, bidderRequest);
+ expect(request[0].data.gdpr).to.equal(0);
+ expect(request[1].data.gdpr).to.equal(0);
+ });
+
+ it('should send the consent string', function () {
+ const request = spec.buildRequests(bidRequests, bidderRequest);
+ expect(request[0].data.gdpr_consent).to.equal(bidderRequest.gdprConsent.consentString);
+ expect(request[1].data.gdpr_consent).to.equal(bidderRequest.gdprConsent.consentString);
+ });
+
+ it('should send the consent management framework code', function () {
+ const request = spec.buildRequests(bidRequests, bidderRequest);
+ expect(request[0].data.x_gdpr_f).to.equal(IAB_CONSENT_FRAMEWORK_CODE);
+ expect(request[1].data.x_gdpr_f).to.equal(IAB_CONSENT_FRAMEWORK_CODE);
+ });
+ });
+
+ describe('when GDPR consent has undefined data', function () {
+ beforeEach(function () {
+ bidderRequest = {
+ gdprConsent: {
+ consentString: 'test-gdpr-consent-string',
+ gdprApplies: true
+ }
+ };
+
+ mockConfig = {
+ consentManagement: {
+ cmpApi: 'iab',
+ timeout: 1111,
+ allowAuctionWithoutConsent: 'cancel'
+ }
+ };
+
+ sinon.stub(config, 'getConfig').callsFake((key) => {
+ return utils.deepAccess(mockConfig, key);
+ });
+ });
+
+ it('should not send a signal to specify whether GDPR applies to this request, when GDPR application is undefined', function () {
+ delete bidderRequest.gdprConsent.gdprApplies;
+ const request = spec.buildRequests(bidRequests, bidderRequest);
+ expect(request[0].data).to.not.have.property('gdpr');
+ expect(request[1].data).to.not.have.property('gdpr');
+ });
+
+ it('should not send the consent string, when consent string is undefined', function () {
+ delete bidderRequest.gdprConsent.consentString;
+ const request = spec.buildRequests(bidRequests, bidderRequest);
+ expect(request[0].data).to.not.have.property('gdpr_consent');
+ expect(request[1].data).to.not.have.property('gdpr_consent');
+ });
+
+ it('should not send the consent management framework code, when format is undefined', function () {
+ delete mockConfig.consentManagement.cmpApi;
+ const request = spec.buildRequests(bidRequests, bidderRequest);
+ expect(request[0].data).to.not.have.property('x_gdpr_f');
+ expect(request[1].data).to.not.have.property('x_gdpr_f');
+ });
+ });
+ });
});
describe('buildRequests for video', () => {
From 22497787bc57281f93aa2089509c240d1e371dd4 Mon Sep 17 00:00:00 2001
From: brainymisio
Date: Sat, 12 May 2018 02:15:44 +0900
Subject: [PATCH 140/171] Add new Adapter brainyBidAdapter (#2458)
---
modules/brainyBidAdapter.js | 131 +++++++++++++++++++++
modules/brainyBidAdapter.md | 31 +++++
test/spec/modules/brainyBidAdapter_spec.js | 80 +++++++++++++
3 files changed, 242 insertions(+)
create mode 100644 modules/brainyBidAdapter.js
create mode 100644 modules/brainyBidAdapter.md
create mode 100644 test/spec/modules/brainyBidAdapter_spec.js
diff --git a/modules/brainyBidAdapter.js b/modules/brainyBidAdapter.js
new file mode 100644
index 00000000000..e8beb20573f
--- /dev/null
+++ b/modules/brainyBidAdapter.js
@@ -0,0 +1,131 @@
+import * as utils from 'src/utils';
+import {registerBidder} from 'src/adapters/bidderFactory';
+import { BANNER } from 'src/mediaTypes';
+
+const BIDDER_CODE = 'brainy';
+const BASE_URL = '//proparm.co.jp/ssp/p/pbjs';
+
+/**
+ * Check if the browser supports flash
+ * 0 is return if it dosen't support flash
+ * @return {int} Flash version
+ */
+/**
+ * 接続元のブラウザがフラッシュに対応しているか判定
+ * 対応していなければ0を返す
+ * @return {int} フラッシュのバージョン
+ */
+function _getFlash() {
+ try {
+ var _mac = (navigator.userAgent.indexOf('Mac') != -1);
+ if (document.all) {
+ if (_mac) {
+ if (window['sample']) {
+ return ((window['sample'].FlashVersion() & 0xffff0000) >> 16);
+ }
+ } else {
+ var _axo = new ActiveXObject('ShockwaveFlash.ShockwaveFlash');
+ return Math.floor(_axo.FlashVersion() / 0x10000);
+ }
+ } else {
+ if (navigator.plugins && navigator.plugins['Shockwave Flash']) {
+ var info = navigator.plugins['Shockwave Flash'].description.split(' ');
+ var _v = parseInt(info[2]);
+ if (!isNaN(_v)) {
+ return _v;
+ }
+ }
+ }
+ } catch (e) {}
+ return 0;
+}
+
+export const spec = {
+ code: BIDDER_CODE,
+ supportedMediaTypes: [BANNER],
+
+ /**
+ * Check if the bid account ID and slotID is valid
+ * @param {object} bid the brainy bid to validate
+ * @return {boolean}
+ */
+ /**
+ * adUnits.bidに値が入っているかを判断する
+ * @param {object} bid 検証する入札リクエスト
+ * @return {boolean}
+ */
+ isBidRequestValid: function(bid) {
+ return !!(bid && bid.params && bid.params.accountID && bid.params.slotID);
+ },
+
+ /**
+ * Format the bid request object for our endpoint
+ * @param {BidRequest[]} bidRequests Array of brainy bidders
+ * @return object of parameters for Prebid AJAX request
+ */
+ /**
+ * 入札リクエストをbrainyに対応するように整形する
+ * @param {BidRequest[]} bidRequests 入札のための配列
+ * @return Prebid AJAX用に整形したオブジェクト
+ */
+ buildRequests: function(validBidRequests) {
+ var bidRequests = [];
+ for (var i = 0, len = validBidRequests.length; i < len; i++) {
+ var bid = validBidRequests[i];
+ var accountID = utils.getBidIdParameter('accountID', bid.params);
+ var slotID = utils.getBidIdParameter('slotID', bid.params);
+ var url = utils.getTopWindowUrl();
+ var flash = _getFlash();
+ var nocache = new Date().getTime() + Math.floor(Math.random() * 100000000);
+ var requestURL;
+
+ requestURL = '_aid=' + accountID + '&';
+ requestURL += '_slot=' + slotID + '&';
+ requestURL += '_url=' + url + '&';
+ requestURL += '_flash=' + flash + '&';
+ requestURL += '_nocache=' + nocache;
+
+ bidRequests.push({
+ method: 'GET',
+ url: BASE_URL,
+ data: requestURL,
+ bidRequest: bid
+ })
+ }
+ return bidRequests;
+ },
+
+ /**
+ * Format brainy responses as Prebid bid responses
+ * @param {String} brainyResponseObj A successful response from brainy.
+ * @param {object} request Object received from web page
+ * @return {object} An array of formatted bids.
+ */
+ /**
+ * brainySSPからのレスポンスを解釈するメソッド
+ * @param {String} brainyResponseObj SSPから受け取った文字列
+ * @param {object} request メディアから受け取ったオブジェクト
+ * @return {object} 分解、再格納したbidResponses
+ */
+ interpretResponse: function (brainyResponseObj, request) {
+ var bidResponses = [];
+ var bidRequest = request.bidRequest;
+ var responseBody = brainyResponseObj ? brainyResponseObj.body : {};
+
+ bidResponses.push({
+ requestId: bidRequest.bidId,
+ cpm: responseBody.cpm || 0,
+ width: responseBody.width,
+ height: responseBody.height,
+ creativeId: responseBody.adID,
+ currency: 'USD',
+ netRevenue: true,
+ ttl: 1000,
+ mediaType: BANNER,
+ ad: responseBody.src
+ });
+
+ return bidResponses;
+ }
+};
+registerBidder(spec);
diff --git a/modules/brainyBidAdapter.md b/modules/brainyBidAdapter.md
new file mode 100644
index 00000000000..0f8308f6cc3
--- /dev/null
+++ b/modules/brainyBidAdapter.md
@@ -0,0 +1,31 @@
+# Overview
+
+```
+Module Name: brainy Bid Adapter
+Module Type: Bidder Adapter
+Maintainer: support@mg.brainy-inc.co.jp
+```
+
+# Description
+This module connects to brainy's demand sources. It supports display, and rich media formats.
+brainy will provide ``accountID`` and ``slotID`` that are specific to your ad type.
+Please reach out to ``support@mg.brainy-inc.co.jp`` to set up an brainy account and above ids.
+Use bidder code ```brainy``` for all brainy traffic.
+
+
+# Test Parameters
+
+```
+ var adUnits = [{
+ code: 'test-div',
+ sizes: [[300, 250],
+ bids: [{
+ bidder: 'brainy',
+ params: {
+ accountID: "3481",
+ slotID: "5569"
+ }
+ }]
+ }
+ ];
+```
diff --git a/test/spec/modules/brainyBidAdapter_spec.js b/test/spec/modules/brainyBidAdapter_spec.js
new file mode 100644
index 00000000000..4f619323d7d
--- /dev/null
+++ b/test/spec/modules/brainyBidAdapter_spec.js
@@ -0,0 +1,80 @@
+import { expect } from 'chai';
+import { spec } from 'modules/brainyBidAdapter';
+
+const URL = '//proparm.co.jp/ssp/p/pbjs';
+const BIDDER_CODE = 'brainy';
+
+const validBidReq = {
+ bidder: BIDDER_CODE,
+ params: {
+ accountID: '12345',
+ slotID: '12345'
+ }
+};
+
+const invalidBidReq = {
+ bidder: BIDDER_CODE,
+ params: {
+ accountID: '',
+ slotID: ''
+ }
+};
+
+const bidReq = [{
+ bidder: BIDDER_CODE,
+ params: {
+ accountID: '12345',
+ slotID: '12345'
+ }
+}];
+
+const correctReq = {
+ accountID: '12345',
+ slotID: '12345'
+}
+
+const bidResponse = {
+ ad_id: '1036e9746c-d186-49ae-90cb-2796d0f9b223',
+ adm: ' ',
+ cpm: 100,
+ height: 250,
+ width: 300
+};
+
+describe('brainy Adapter', () => {
+ describe('request', () => {
+ it('should validate bid request', () => {
+ expect(spec.isBidRequestValid(validBidReq)).to.equal(true);
+ });
+ it('should not validate incorrect bid request', () => {
+ expect(spec.isBidRequestValid(invalidBidReq)).to.equal(false);
+ });
+ });
+ describe('build request', () => {
+ it('Verify bid request', () => {
+ const request = spec.buildRequests(bidReq);
+ expect(request[0].method).to.equal('GET');
+ expect(request[0].url).to.equal(URL);
+ expect(request[0].data).to.match(new RegExp(`${correctReq.accountID}`));
+ expect(request[0].data).to.match(new RegExp(`${correctReq.slotID}`));
+ });
+ });
+
+ describe('interpretResponse', () => {
+ it('should build bid array', () => {
+ const request = spec.buildRequests(bidReq);
+ const result = spec.interpretResponse({body: bidResponse}, request[0]);
+ expect(result.length).to.equal(1);
+ });
+
+ it('should have all relevant fields', () => {
+ const request = spec.buildRequests(bidReq);
+ const result = spec.interpretResponse({body: bidResponse}, request[0]);
+ const bid = result[0];
+
+ expect(bid.cpm).to.equal(bidResponse.cpm);
+ expect(bid.width).to.equal(bidResponse.width);
+ expect(bid.height).to.equal(bidResponse.height);
+ });
+ });
+});
From 1f2a7fb310007f5406cf1beb816a6ccf05e1b6c0 Mon Sep 17 00:00:00 2001
From: hdeodhar <35999856+hdeodhar@users.noreply.github.com>
Date: Mon, 14 May 2018 15:16:18 +0100
Subject: [PATCH 141/171] Add 1024x768 (size_id = 53) in sizeMap (#2527)
---
modules/rubiconBidAdapter.js | 1 +
1 file changed, 1 insertion(+)
diff --git a/modules/rubiconBidAdapter.js b/modules/rubiconBidAdapter.js
index d6a69fda625..fe8142b9061 100644
--- a/modules/rubiconBidAdapter.js
+++ b/modules/rubiconBidAdapter.js
@@ -37,6 +37,7 @@ var sizeMap = {
43: '320x50',
44: '300x50',
48: '300x300',
+ 53: '1024x768',
54: '300x1050',
55: '970x90',
57: '970x250',
From 119e590dbb2976f7f770612da174347da65dadc2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Dejan=20=C5=A0trbac?=
Date: Mon, 14 May 2018 20:22:05 +0200
Subject: [PATCH 142/171] Aardvark v1.0 (#2507)
* Aardvark v1.0 + Add GDPR support
* required modifications
* cover case where gdprConsent data is not present
* demo auction update
* ignore empty bids
* accept empty bids
---
modules/aardvarkBidAdapter.js | 159 +++++++++++
modules/aardvarkBidAdapter.md | 30 +++
test/spec/modules/aardvarkBidAdapter_spec.js | 264 +++++++++++++++++++
3 files changed, 453 insertions(+)
create mode 100644 modules/aardvarkBidAdapter.js
create mode 100644 modules/aardvarkBidAdapter.md
create mode 100644 test/spec/modules/aardvarkBidAdapter_spec.js
diff --git a/modules/aardvarkBidAdapter.js b/modules/aardvarkBidAdapter.js
new file mode 100644
index 00000000000..7d358864b35
--- /dev/null
+++ b/modules/aardvarkBidAdapter.js
@@ -0,0 +1,159 @@
+import * as utils from 'src/utils';
+import {registerBidder} from 'src/adapters/bidderFactory';
+
+const BIDDER_CODE = 'aardvark';
+const DEFAULT_ENDPOINT = 'bidder.rtk.io';
+const SYNC_ENDPOINT = 'sync.rtk.io';
+const AARDVARK_TTL = 300;
+const AARDVARK_CURRENCY = 'USD';
+
+let hasSynced = false;
+
+export function resetUserSync() {
+ hasSynced = false;
+}
+
+export const spec = {
+ code: BIDDER_CODE,
+
+ isBidRequestValid: function(bid) {
+ return ((typeof bid.params.ai === 'string') && !!bid.params.ai.length &&
+ (typeof bid.params.sc === 'string') && !!bid.params.sc.length);
+ },
+
+ buildRequests: function(validBidRequests, bidderRequest) {
+ var auctionCodes = [];
+ var requests = [];
+ var requestsMap = {};
+ var referer = utils.getTopWindowUrl();
+ var pageCategories = [];
+
+ if (window.top.rtkcategories && Array.isArray(window.top.rtkcategories)) {
+ pageCategories = window.top.rtkcategories;
+ }
+
+ utils._each(validBidRequests, function(b) {
+ var rMap = requestsMap[b.params.ai];
+ if (!rMap) {
+ rMap = {
+ shortCodes: [],
+ payload: {
+ version: 1,
+ jsonp: false,
+ rtkreferer: referer
+ },
+ endpoint: DEFAULT_ENDPOINT
+ };
+
+ if (pageCategories && pageCategories.length) {
+ rMap.payload.categories = pageCategories.slice(0);
+ }
+
+ if (b.params.categories && b.params.categories.length) {
+ rMap.payload.categories = rMap.payload.categories || []
+ utils._each(b.params.categories, function(cat) {
+ rMap.payload.categories.push(cat);
+ });
+ }
+
+ if (bidderRequest && bidderRequest.gdprConsent) {
+ rMap.payload.gdpr = false;
+ if (typeof bidderRequest.gdprConsent.gdprApplies === 'boolean') {
+ rMap.payload.gdpr = bidderRequest.gdprConsent.gdprApplies;
+ }
+ if (rMap.payload.gdpr) {
+ rMap.payload.consent = bidderRequest.gdprConsent.consentString;
+ }
+ }
+
+ requestsMap[b.params.ai] = rMap;
+ auctionCodes.push(b.params.ai);
+ }
+
+ rMap.shortCodes.push(b.params.sc);
+ rMap.payload[b.params.sc] = b.bidId;
+
+ if ((typeof b.params.host === 'string') && b.params.host.length &&
+ (b.params.host !== rMap.endpoint)) {
+ rMap.endpoint = b.params.host;
+ }
+ });
+
+ utils._each(auctionCodes, function(auctionId) {
+ var req = requestsMap[auctionId];
+ requests.push({
+ method: 'GET',
+ url: `//${req.endpoint}/${auctionId}/${req.shortCodes.join('_')}/aardvark`,
+ data: req.payload,
+ bidderRequest
+ });
+ });
+
+ return requests;
+ },
+
+ interpretResponse: function(serverResponse, bidRequest) {
+ var bidResponses = [];
+
+ if (!Array.isArray(serverResponse.body)) {
+ serverResponse.body = [serverResponse.body];
+ }
+
+ utils._each(serverResponse.body, function(rawBid) {
+ var bidResponse = {
+ requestId: rawBid.cid,
+ cpm: rawBid.cpm || 0,
+ width: rawBid.width || 0,
+ height: rawBid.height || 0,
+ currency: rawBid.currency ? rawBid.currency : AARDVARK_CURRENCY,
+ netRevenue: rawBid.netRevenue ? rawBid.netRevenue : true,
+ ttl: rawBid.ttl ? rawBid.ttl : AARDVARK_TTL,
+ creativeId: rawBid.creativeId || 0
+ };
+
+ if (rawBid.hasOwnProperty('dealId')) {
+ bidResponse.dealId = rawBid.dealId
+ }
+
+ switch (rawBid.media) {
+ case 'banner':
+ bidResponse.ad = rawBid.adm + utils.createTrackPixelHtml(decodeURIComponent(rawBid.nurl));
+ break;
+
+ default:
+ return utils.logError('bad Aardvark response (media)', rawBid);
+ }
+
+ bidResponses.push(bidResponse);
+ });
+
+ return bidResponses;
+ },
+
+ getUserSyncs: function(syncOptions, serverResponses, gdprConsent) {
+ const syncs = [];
+ var url = '//' + SYNC_ENDPOINT + '/cs';
+ var gdprApplies = false;
+ if (gdprConsent && (typeof gdprConsent.gdprApplies === 'boolean')) {
+ gdprApplies = gdprConsent.gdprApplies;
+ }
+
+ if (syncOptions.iframeEnabled) {
+ if (!hasSynced) {
+ hasSynced = true;
+ if (gdprApplies) {
+ url = url + '?g=1&c=' + encodeURIComponent(gdprConsent.consentString);
+ }
+ syncs.push({
+ type: 'iframe',
+ url: url
+ });
+ }
+ } else {
+ utils.logWarn('Aardvark: Please enable iframe based user sync.');
+ }
+ return syncs;
+ }
+};
+
+registerBidder(spec);
diff --git a/modules/aardvarkBidAdapter.md b/modules/aardvarkBidAdapter.md
new file mode 100644
index 00000000000..9f7a128b6f3
--- /dev/null
+++ b/modules/aardvarkBidAdapter.md
@@ -0,0 +1,30 @@
+# Overview
+
+**Module Name**: Aardvark Bidder Adapter
+**Module Type**: Bidder Adapter
+**Maintainer**: chris@rtk.io
+
+# Description
+
+Module that connects to a RTK.io Ad Units to fetch bids.
+
+# Test Parameters
+```
+ var adUnits = [{
+ mediaTypes: {
+ banner: {
+ sizes: [[300, 250]],
+ }
+ },
+ code: 'div-gpt-ad-1460505748561-0',
+
+ bids: [{
+ bidder: 'aardvark',
+ params: {
+ ai: '0000',
+ sc: '1234'
+ }
+ }]
+
+ }];
+```
diff --git a/test/spec/modules/aardvarkBidAdapter_spec.js b/test/spec/modules/aardvarkBidAdapter_spec.js
new file mode 100644
index 00000000000..d2b9cbc0fa8
--- /dev/null
+++ b/test/spec/modules/aardvarkBidAdapter_spec.js
@@ -0,0 +1,264 @@
+import { expect } from 'chai';
+import { spec } from 'modules/aardvarkBidAdapter';
+
+describe('aardvarkAdapterTest', () => {
+ describe('forming valid bidRequests', () => {
+ it('should accept valid bidRequests', () => {
+ expect(spec.isBidRequestValid({
+ bidder: 'aardvark',
+ params: {
+ ai: 'xiby',
+ sc: 'TdAx',
+ },
+ sizes: [[300, 250]]
+ })).to.equal(true);
+ });
+
+ it('should reject invalid bidRequests', () => {
+ expect(spec.isBidRequestValid({
+ bidder: 'aardvark',
+ params: {
+ ai: 'xiby',
+ },
+ sizes: [[300, 250]]
+ })).to.equal(false);
+ });
+ });
+
+ describe('executing network requests', () => {
+ const bidRequests = [{
+ bidder: 'aardvark',
+ params: {
+ ai: 'xiby',
+ sc: 'TdAx',
+ },
+ adUnitCode: 'aaa',
+ transactionId: '1b8389fe-615c-482d-9f1a-177fb8f7d5b0',
+ sizes: [300, 250],
+ bidId: '1abgs362e0x48a8',
+ bidderRequestId: '70deaff71c281d',
+ auctionId: '5c66da22-426a-4bac-b153-77360bef5337'
+ },
+ {
+ bidder: 'aardvark',
+ params: {
+ ai: 'xiby',
+ sc: 'RAZd',
+ host: 'adzone.pub.com'
+ },
+ adUnitCode: 'bbb',
+ transactionId: '193995b4-7122-4739-959b-2463282a138b',
+ sizes: [[800, 600]],
+ bidId: '22aidtbx5eabd9',
+ bidderRequestId: '70deaff71c281d',
+ auctionId: 'e97cafd0-ebfc-4f5c-b7c9-baa0fd335a4a'
+ }];
+
+ it('should use HTTP GET method', () => {
+ const requests = spec.buildRequests(bidRequests);
+ requests.forEach(function(requestItem) {
+ expect(requestItem.method).to.equal('GET');
+ });
+ });
+
+ it('should call the correct bidRequest url', () => {
+ const requests = spec.buildRequests(bidRequests);
+ expect(requests.length).to.equal(1);
+ expect(requests[0].url).to.match(new RegExp('^\/\/adzone.pub.com/xiby/TdAx_RAZd/aardvark\?'));
+ });
+
+ it('should have correct data', () => {
+ const requests = spec.buildRequests(bidRequests);
+ expect(requests.length).to.equal(1);
+ expect(requests[0].data.version).to.equal(1);
+ expect(requests[0].data.jsonp).to.equal(false);
+ expect(requests[0].data.TdAx).to.equal('1abgs362e0x48a8');
+ expect(requests[0].data.rtkreferer).to.not.be.undefined;
+ expect(requests[0].data.RAZd).to.equal('22aidtbx5eabd9');
+ });
+ });
+
+ describe('splitting multi-auction ad units into own requests', () => {
+ const bidRequests = [{
+ bidder: 'aardvark',
+ params: {
+ ai: 'Toby',
+ sc: 'TdAx',
+ categories: ['cat1', 'cat2']
+ },
+ adUnitCode: 'aaa',
+ transactionId: '1b8389fe-615c-482d-9f1a-177fb8f7d5b0',
+ sizes: [300, 250],
+ bidId: '1abgs362e0x48a8',
+ bidderRequestId: '70deaff71c281d',
+ auctionId: '5c66da22-426a-4bac-b153-77360bef5337'
+ },
+ {
+ bidder: 'aardvark',
+ params: {
+ ai: 'xiby',
+ sc: 'RAZd',
+ host: 'adzone.pub.com'
+ },
+ adUnitCode: 'bbb',
+ transactionId: '193995b4-7122-4739-959b-2463282a138b',
+ sizes: [[800, 600]],
+ bidId: '22aidtbx5eabd9',
+ bidderRequestId: '70deaff71c281d',
+ auctionId: 'e97cafd0-ebfc-4f5c-b7c9-baa0fd335a4a'
+ }];
+
+ it('should use HTTP GET method', () => {
+ const requests = spec.buildRequests(bidRequests);
+ requests.forEach(function(requestItem) {
+ expect(requestItem.method).to.equal('GET');
+ });
+ });
+
+ it('should call the correct bidRequest urls for each auction', () => {
+ const requests = spec.buildRequests(bidRequests);
+ expect(requests[0].url).to.match(new RegExp('^\/\/bidder.rtk.io/Toby/TdAx/aardvark\?'));
+ expect(requests[0].data.categories.length).to.equal(2);
+ expect(requests[1].url).to.match(new RegExp('^\/\/adzone.pub.com/xiby/RAZd/aardvark\?'));
+ });
+
+ it('should have correct data', () => {
+ const requests = spec.buildRequests(bidRequests);
+ expect(requests.length).to.equal(2);
+ expect(requests[0].data.version).to.equal(1);
+ expect(requests[0].data.jsonp).to.equal(false);
+ expect(requests[0].data.TdAx).to.equal('1abgs362e0x48a8');
+ expect(requests[0].data.rtkreferer).to.not.be.undefined;
+ expect(requests[0].data.RAZd).to.be.undefined;
+ expect(requests[1].data.version).to.equal(1);
+ expect(requests[1].data.jsonp).to.equal(false);
+ expect(requests[1].data.TdAx).to.be.undefined;
+ expect(requests[1].data.rtkreferer).to.not.be.undefined;
+ expect(requests[1].data.RAZd).to.equal('22aidtbx5eabd9');
+ });
+ });
+
+ describe('GDPR conformity', () => {
+ const bidRequests = [{
+ bidder: 'aardvark',
+ params: {
+ ai: 'xiby',
+ sc: 'TdAx',
+ },
+ adUnitCode: 'aaa',
+ transactionId: '1b8389fe-615c-482d-9f1a-177fb8f7d5b0',
+ sizes: [300, 250],
+ bidId: '1abgs362e0x48a8',
+ bidderRequestId: '70deaff71c281d',
+ auctionId: '5c66da22-426a-4bac-b153-77360bef5337'
+ }];
+
+ const bidderRequest = {
+ gdprConsent: {
+ consentString: 'awefasdfwefasdfasd',
+ gdprApplies: true
+ }
+ };
+
+ it('should transmit correct data', () => {
+ const requests = spec.buildRequests(bidRequests, bidderRequest);
+ expect(requests.length).to.equal(1);
+ expect(requests[0].data.gdpr).to.equal(true);
+ expect(requests[0].data.consent).to.equal('awefasdfwefasdfasd');
+ });
+ });
+
+ describe('GDPR absence conformity', () => {
+ const bidRequests = [{
+ bidder: 'aardvark',
+ params: {
+ ai: 'xiby',
+ sc: 'TdAx',
+ },
+ adUnitCode: 'aaa',
+ transactionId: '1b8389fe-615c-482d-9f1a-177fb8f7d5b0',
+ sizes: [300, 250],
+ bidId: '1abgs362e0x48a8',
+ bidderRequestId: '70deaff71c281d',
+ auctionId: '5c66da22-426a-4bac-b153-77360bef5337'
+ }];
+
+ const bidderRequest = {
+ gdprConsent: undefined
+ };
+
+ it('should transmit correct data', () => {
+ const requests = spec.buildRequests(bidRequests, bidderRequest);
+ expect(requests.length).to.equal(1);
+ expect(requests[0].data.gdpr).to.be.undefined;
+ expect(requests[0].data.consent).to.be.undefined;
+ });
+ });
+
+ describe('interpretResponse', () => {
+ it('should handle bid responses', () => {
+ const serverResponse = {
+ body: [
+ {
+ media: 'banner',
+ nurl: 'http://www.nurl.com/0',
+ cpm: 0.09,
+ width: 300,
+ height: 250,
+ cid: '22aidtbx5eabd9',
+ adm: '',
+ dealId: 'dealing',
+ ttl: 200,
+ },
+ {
+ media: 'banner',
+ nurl: 'http://www.nurl.com/1',
+ cpm: 0.19,
+ width: 300,
+ height: 250,
+ cid: '1abgs362e0x48a8',
+ adm: '',
+ ttl: 200,
+ }
+ ],
+ headers: {}
+ };
+
+ const result = spec.interpretResponse(serverResponse, {});
+ expect(result.length).to.equal(2);
+
+ expect(result[0].requestId).to.equal('22aidtbx5eabd9');
+ expect(result[0].cpm).to.equal(0.09);
+ expect(result[0].width).to.equal(300);
+ expect(result[0].height).to.equal(250);
+ expect(result[0].currency).to.equal('USD');
+ expect(result[0].ttl).to.equal(200);
+ expect(result[0].dealId).to.equal('dealing');
+ expect(result[0].ad).to.not.be.undefined;
+
+ expect(result[1].requestId).to.equal('1abgs362e0x48a8');
+ expect(result[1].cpm).to.equal(0.19);
+ expect(result[1].width).to.equal(300);
+ expect(result[1].height).to.equal(250);
+ expect(result[1].currency).to.equal('USD');
+ expect(result[1].ttl).to.equal(200);
+ expect(result[1].ad).to.not.be.undefined;
+ });
+
+ it('should handle nobid responses', () => {
+ var emptyResponse = [{
+ nurl: '',
+ cid: '9e5a09319e18f1',
+ media: 'banner',
+ error: 'No bids received for 9DgF',
+ adm: '',
+ id: '9DgF',
+ cpm: 0.00
+ }];
+
+ var result = spec.interpretResponse({ body: emptyResponse }, {});
+ expect(result.length).to.equal(1);
+ expect(result[0].cpm).to.equal(0.0);
+ });
+ });
+});
From c5a3d127b4b78ab7f6510d36f15db0dd8643e5eb Mon Sep 17 00:00:00 2001
From: Jaimin Panchal
Date: Mon, 14 May 2018 17:09:33 -0400
Subject: [PATCH 143/171] Show only summary and errors (#2514)
---
karma.conf.maker.js | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/karma.conf.maker.js b/karma.conf.maker.js
index 2ff1d7d0880..5d075b6929c 100644
--- a/karma.conf.maker.js
+++ b/karma.conf.maker.js
@@ -142,7 +142,8 @@ module.exports = function(codeCoverage, browserstack, watchMode, file) {
reporters: ['mocha'],
mochaReporter: {
- showDiff: true
+ showDiff: true,
+ output: 'minimal'
},
// Continuous Integration mode
From ab5ca4d9ffc3b67956a40e1396bd9cdf7f168caa Mon Sep 17 00:00:00 2001
From: Isaac Dettman
Date: Mon, 14 May 2018 14:49:16 -0700
Subject: [PATCH 144/171] added gdpr support to userSync in rubicon adapter
(#2531)
* added gdpr support to userSync in rubicon adapter
* added test for consentString
* added unit test for undefined consentString
* changed undefined test for consentString
* changed undefined test for consentString type of string
* added test for consentString type of number, obj, and null
---
modules/rubiconBidAdapter.js | 16 +++++-
test/spec/modules/rubiconBidAdapter_spec.js | 60 +++++++++++++++++++++
2 files changed, 74 insertions(+), 2 deletions(-)
diff --git a/modules/rubiconBidAdapter.js b/modules/rubiconBidAdapter.js
index fe8142b9061..f91c76d6afa 100644
--- a/modules/rubiconBidAdapter.js
+++ b/modules/rubiconBidAdapter.js
@@ -358,12 +358,24 @@ export const spec = {
return bids;
}, []);
},
- getUserSyncs: function (syncOptions) {
+ getUserSyncs: function (syncOptions, responses, gdprConsent) {
if (!hasSynced && syncOptions.iframeEnabled) {
+ // data is only assigned if params are available to pass to SYNC_ENDPOINT
+ let params = '';
+
+ if (gdprConsent && typeof gdprConsent.consentString === 'string') {
+ // add 'gdpr' only if 'gdprApplies' is defined
+ if (typeof gdprConsent.gdprApplies === 'boolean') {
+ params += `?gdpr=${Number(gdprConsent.gdprApplies)}&gdpr_consent=${gdprConsent.consentString}`;
+ } else {
+ params += `?gdpr_consent=${gdprConsent.consentString}`;
+ }
+ }
+
hasSynced = true;
return {
type: 'iframe',
- url: SYNC_ENDPOINT
+ url: SYNC_ENDPOINT + params
};
}
}
diff --git a/test/spec/modules/rubiconBidAdapter_spec.js b/test/spec/modules/rubiconBidAdapter_spec.js
index 7dcb5e3bbe6..20bd1f3b99c 100644
--- a/test/spec/modules/rubiconBidAdapter_spec.js
+++ b/test/spec/modules/rubiconBidAdapter_spec.js
@@ -1206,6 +1206,66 @@ describe('the rubicon adapter', () => {
syncs = spec.getUserSyncs();
expect(syncs).to.equal(undefined);
});
+
+ it('should pass gdpr params if consent is true', () => {
+ expect(spec.getUserSyncs({ iframeEnabled: true }, {}, {
+ gdprApplies: true, consentString: 'foo'
+ })).to.deep.equal({
+ type: 'iframe', url: `${emilyUrl}?gdpr=1&gdpr_consent=foo`
+ });
+ });
+
+ it('should pass gdpr params if consent is false', () => {
+ expect(spec.getUserSyncs({ iframeEnabled: true }, {}, {
+ gdprApplies: false, consentString: 'foo'
+ })).to.deep.equal({
+ type: 'iframe', url: `${emilyUrl}?gdpr=0&gdpr_consent=foo`
+ });
+ });
+
+ it('should pass gdpr param gdpr_consent only when gdprApplies is undefined', () => {
+ expect(spec.getUserSyncs({ iframeEnabled: true }, {}, {
+ consentString: 'foo'
+ })).to.deep.equal({
+ type: 'iframe', url: `${emilyUrl}?gdpr_consent=foo`
+ });
+ });
+
+ it('should pass no params if gdpr consentString is not defined', () => {
+ expect(spec.getUserSyncs({ iframeEnabled: true }, {}, {})).to.deep.equal({
+ type: 'iframe', url: `${emilyUrl}`
+ });
+ });
+
+ it('should pass no params if gdpr consentString is a number', () => {
+ expect(spec.getUserSyncs({ iframeEnabled: true }, {}, {
+ consentString: 0
+ })).to.deep.equal({
+ type: 'iframe', url: `${emilyUrl}`
+ });
+ });
+
+ it('should pass no params if gdpr consentString is null', () => {
+ expect(spec.getUserSyncs({ iframeEnabled: true }, {}, {
+ consentString: null
+ })).to.deep.equal({
+ type: 'iframe', url: `${emilyUrl}`
+ });
+ });
+
+ it('should pass no params if gdpr consentString is a object', () => {
+ expect(spec.getUserSyncs({ iframeEnabled: true }, {}, {
+ consentString: {}
+ })).to.deep.equal({
+ type: 'iframe', url: `${emilyUrl}`
+ });
+ });
+
+ it('should pass no params if gdpr is not defined', () => {
+ expect(spec.getUserSyncs({ iframeEnabled: true }, {}, undefined)).to.deep.equal({
+ type: 'iframe', url: `${emilyUrl}`
+ });
+ });
});
});
From 6785bc5be3a25d8bdfe47a3a20d4c221bab24806 Mon Sep 17 00:00:00 2001
From: harpere
Date: Mon, 14 May 2018 23:09:07 -0400
Subject: [PATCH 145/171] fixed bug when latitute/longitue are not provided
(#2533)
---
modules/rubiconBidAdapter.js | 4 +-
test/spec/modules/rubiconBidAdapter_spec.js | 62 ++++++++++++++++++++-
2 files changed, 63 insertions(+), 3 deletions(-)
diff --git a/modules/rubiconBidAdapter.js b/modules/rubiconBidAdapter.js
index f91c76d6afa..061440e7c0e 100644
--- a/modules/rubiconBidAdapter.js
+++ b/modules/rubiconBidAdapter.js
@@ -233,8 +233,8 @@ export const spec = {
'p_screen_res', _getScreenResolution(),
'kw', keywords,
'tk_user_key', userId,
- 'p_geo.latitude', parseFloat(latitude).toFixed(4),
- 'p_geo.longitude', parseFloat(longitude).toFixed(4)
+ 'p_geo.latitude', isNaN(parseFloat(latitude)) ? undefined : parseFloat(latitude).toFixed(4),
+ 'p_geo.longitude', isNaN(parseFloat(longitude)) ? undefined : parseFloat(longitude).toFixed(4)
];
if (gdprConsent) {
diff --git a/test/spec/modules/rubiconBidAdapter_spec.js b/test/spec/modules/rubiconBidAdapter_spec.js
index 20bd1f3b99c..f0ffee12806 100644
--- a/test/spec/modules/rubiconBidAdapter_spec.js
+++ b/test/spec/modules/rubiconBidAdapter_spec.js
@@ -172,7 +172,7 @@ describe('the rubicon adapter', () => {
},
position: 'atf',
referrer: 'localhost',
- latLong: [40.7608, '111.8910']
+ latLong: [40.7607823, '111.8910325']
},
adUnitCode: '/19968336/header-bid-tag-0',
code: 'div-1',
@@ -256,6 +256,66 @@ describe('the rubicon adapter', () => {
});
});
+ it('should make a well-formed request object without latLong', () => {
+ let expectedQuery = {
+ 'account_id': '14062',
+ 'site_id': '70608',
+ 'zone_id': '335918',
+ 'size_id': '15',
+ 'alt_size_ids': '43',
+ 'p_pos': 'atf',
+ 'rp_floor': '0.01',
+ 'rp_secure': /[01]/,
+ 'rand': '0.1',
+ 'tk_flint': INTEGRATION,
+ 'x_source.tid': 'd45dd707-a418-42ec-b8a7-b70a6c6fab0b',
+ 'p_screen_res': /\d+x\d+/,
+ 'tk_user_key': '12346',
+ 'kw': 'a,b,c',
+ 'tg_v.ucat': 'new',
+ 'tg_v.lastsearch': 'iphone',
+ 'tg_i.rating': '5-star',
+ 'tg_i.prodtype': 'tech',
+ 'rf': 'localhost',
+ 'p_geo.latitude': undefined,
+ 'p_geo.longitude': undefined
+ };
+
+ sandbox.stub(Math, 'random').callsFake(() => 0.1);
+
+ delete bidderRequest.bids[0].params.latLong;
+ [request] = spec.buildRequests(bidderRequest.bids, bidderRequest);
+ data = parseQuery(request.data);
+
+ expect(request.url).to.equal('//fastlane.rubiconproject.com/a/api/fastlane.json');
+
+ // test that all values above are both present and correct
+ Object.keys(expectedQuery).forEach(key => {
+ let value = expectedQuery[key];
+ if (value instanceof RegExp) {
+ expect(data[key]).to.match(value);
+ } else {
+ expect(data[key]).to.equal(value);
+ }
+ });
+
+ bidderRequest.bids[0].params.latLong = [];
+ let [request] = spec.buildRequests(bidderRequest.bids, bidderRequest);
+ let data = parseQuery(request.data);
+
+ expect(request.url).to.equal('//fastlane.rubiconproject.com/a/api/fastlane.json');
+
+ // test that all values above are both present and correct
+ Object.keys(expectedQuery).forEach(key => {
+ let value = expectedQuery[key];
+ if (value instanceof RegExp) {
+ expect(data[key]).to.match(value);
+ } else {
+ expect(data[key]).to.equal(value);
+ }
+ });
+ });
+
it('page_url should use params.referrer, config.getConfig("pageUrl"), utils.getTopWindowUrl() in that order', () => {
sandbox.stub(utils, 'getTopWindowUrl').callsFake(() => 'http://www.prebid.org');
From 2607bccd5b1ff48587ad0d12f9f9e6e8d2ebd76d Mon Sep 17 00:00:00 2001
From: Matt Kendall <1870166+mkendall07@users.noreply.github.com>
Date: Tue, 15 May 2018 08:39:20 -0400
Subject: [PATCH 146/171] change AppNexus endpoint to use ORTB (#2532)
---
modules/prebidServerBidAdapter.js | 4 ++--
test/spec/modules/prebidServerBidAdapter_spec.js | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/modules/prebidServerBidAdapter.js b/modules/prebidServerBidAdapter.js
index f499f5a0ae4..2fd9c18eb06 100644
--- a/modules/prebidServerBidAdapter.js
+++ b/modules/prebidServerBidAdapter.js
@@ -37,7 +37,7 @@ const availVendorDefaults = {
adapter: 'prebidServer',
cookieSet: false,
enabled: true,
- endpoint: '//prebid.adnxs.com/pbs/v1/auction',
+ endpoint: '//prebid.adnxs.com/pbs/v1/openrtb2/auction',
syncEndpoint: '//prebid.adnxs.com/pbs/v1/cookie_sync',
timeout: 1000
},
@@ -637,7 +637,7 @@ const OPEN_RTB_PROTOCOL = {
* const bids = protocol().interpretResponse(response, bidRequests, requestedBidders);
*/
const protocolAdapter = () => {
- const OPEN_RTB_PATH = 'openrtb2/auction';
+ const OPEN_RTB_PATH = '/openrtb2/';
const endpoint = (_s2sConfig && _s2sConfig.endpoint) || '';
const isOpenRtb = ~endpoint.indexOf(OPEN_RTB_PATH);
diff --git a/test/spec/modules/prebidServerBidAdapter_spec.js b/test/spec/modules/prebidServerBidAdapter_spec.js
index cdb3113c205..857105c3b40 100644
--- a/test/spec/modules/prebidServerBidAdapter_spec.js
+++ b/test/spec/modules/prebidServerBidAdapter_spec.js
@@ -982,7 +982,7 @@ describe('S2S Adapter', () => {
expect(vendorConfig.cookieSet).to.be.false;
expect(vendorConfig.cookieSetUrl).to.be.undefined;
expect(vendorConfig.enabled).to.be.true;
- expect(vendorConfig).to.have.property('endpoint', '//prebid.adnxs.com/pbs/v1/auction');
+ expect(vendorConfig).to.have.property('endpoint', '//prebid.adnxs.com/pbs/v1/openrtb2/auction');
expect(vendorConfig).to.have.property('syncEndpoint', '//prebid.adnxs.com/pbs/v1/cookie_sync');
expect(vendorConfig).to.have.property('timeout', 750);
});
From 735bf76b7d91723a7d2608184286cf0e7771207a Mon Sep 17 00:00:00 2001
From: Vedant Seta
Date: Tue, 15 May 2018 20:04:19 +0530
Subject: [PATCH 147/171] -GDPR support added in media net bidder (#2538)
---
modules/medianetBidAdapter.js | 22 +++---
test/spec/modules/medianetBidAdapter_spec.js | 71 +++++++++++++++++++-
2 files changed, 81 insertions(+), 12 deletions(-)
diff --git a/modules/medianetBidAdapter.js b/modules/medianetBidAdapter.js
index 8fe09ab74e6..08232231417 100644
--- a/modules/medianetBidAdapter.js
+++ b/modules/medianetBidAdapter.js
@@ -71,11 +71,16 @@ function getSize(size) {
}
}
-function configuredParams(params) {
- return {
+function extParams(params, gdpr) {
+ let ext = {
customer_id: params.cid,
prebid_version: $$PREBID_GLOBAL$$.version
+ };
+ ext.gdpr_applies = !!(gdpr && gdpr.gdprApplies);
+ if (ext.gdpr_applies) {
+ ext.gdpr_consent_string = gdpr.consentString || '';
}
+ return ext;
}
function slotParams(bidRequest) {
@@ -100,13 +105,13 @@ function slotParams(bidRequest) {
return params;
}
-function generatePayload(bidRequests, timeout) {
+function generatePayload(bidRequests, bidderRequests) {
return {
site: siteDetails(bidRequests[0].params.site),
- ext: configuredParams(bidRequests[0].params),
+ ext: extParams(bidRequests[0].params, bidderRequests.gdprConsent),
id: bidRequests[0].auctionId,
imp: bidRequests.map(request => slotParams(request)),
- tmax: timeout
+ tmax: bidderRequests.timeout || config.getConfig('bidderTimeout')
}
}
@@ -153,12 +158,11 @@ export const spec = {
* Make a server request from the list of BidRequests.
*
* @param {BidRequest[]} bidRequests A non-empty list of bid requests which should be sent to the Server.
+ * @param {BidderRequests} bidderRequests
* @return ServerRequest Info describing the request to the server.
*/
- buildRequests: function(bidRequests, auctionData) {
- let timeout = auctionData.timeout || config.getConfig('bidderTimeout');
- let payload = generatePayload(bidRequests, timeout);
-
+ buildRequests: function(bidRequests, bidderRequests) {
+ let payload = generatePayload(bidRequests, bidderRequests);
return {
method: 'POST',
url: BID_URL,
diff --git a/test/spec/modules/medianetBidAdapter_spec.js b/test/spec/modules/medianetBidAdapter_spec.js
index 520ec34fc7d..a10dcb2624d 100644
--- a/test/spec/modules/medianetBidAdapter_spec.js
+++ b/test/spec/modules/medianetBidAdapter_spec.js
@@ -80,7 +80,8 @@ let VALID_BID_REQUEST = [{
},
'ext': {
'customer_id': 'customer_id',
- 'prebid_version': $$PREBID_GLOBAL$$.version
+ 'prebid_version': $$PREBID_GLOBAL$$.version,
+ 'gdpr_applies': false,
},
'id': 'aafabfd0-28c0-4ac0-aa09-99689e88b81d',
'imp': [{
@@ -129,7 +130,8 @@ let VALID_BID_REQUEST = [{
},
'ext': {
'customer_id': 'customer_id',
- 'prebid_version': $$PREBID_GLOBAL$$.version
+ 'prebid_version': $$PREBID_GLOBAL$$.version,
+ 'gdpr_applies': false
},
'id': 'aafabfd0-28c0-4ac0-aa09-99689e88b81d',
'imp': [{
@@ -331,7 +333,64 @@ let VALID_BID_REQUEST = [{
'bidId': '3f97ca71b1e5c2',
'bidderRequestId': '1e9b1f07797c1c',
'auctionId': 'aafabfd0-28c0-4ac0-aa09-99689e88b81d'
- }];
+ }],
+ VALID_BIDDER_REQUEST_WITH_GDPR = {
+ 'gdprConsent': {
+ 'consentString': 'consentString',
+ 'gdprApplies': true,
+ },
+ 'timeout': 3000,
+ },
+ VALID_PAYLOAD_FOR_GDPR = {
+ 'site': {
+ 'domain': 'media.net',
+ 'page': 'http://media.net/prebidtest',
+ 'ref': 'http://media.net/prebidtest'
+ },
+ 'ext': {
+ 'customer_id': 'customer_id',
+ 'prebid_version': $$PREBID_GLOBAL$$.version,
+ 'gdpr_consent_string': 'consentString',
+ 'gdpr_applies': true,
+ },
+ 'id': 'aafabfd0-28c0-4ac0-aa09-99689e88b81d',
+ 'imp': [{
+ 'id': '28f8f8130a583e',
+ 'ext': {
+ 'dfp_id': 'div-gpt-ad-1460505748561-0'
+ },
+ 'banner': [{
+ 'w': 300,
+ 'h': 250
+ }],
+ 'all': {
+ 'cid': 'customer_id',
+ 'site': {
+ 'page': 'http://media.net/prebidtest',
+ 'domain': 'media.net',
+ 'ref': 'http://media.net/prebidtest'
+ }
+ }
+ }, {
+ 'id': '3f97ca71b1e5c2',
+ 'ext': {
+ 'dfp_id': 'div-gpt-ad-1460505748561-123'
+ },
+ 'banner': [{
+ 'w': 300,
+ 'h': 251
+ }],
+ 'all': {
+ 'cid': 'customer_id',
+ 'site': {
+ 'page': 'http://media.net/prebidtest',
+ 'domain': 'media.net',
+ 'ref': 'http://media.net/prebidtest'
+ }
+ }
+ }],
+ 'tmax': 3000,
+ };
describe('Media.net bid adapter', () => {
describe('isBidRequestValid', () => {
@@ -371,6 +430,12 @@ describe('Media.net bid adapter', () => {
let bidReq = spec.buildRequests(VALID_BID_REQUEST_INVALID_BIDFLOOR, VALID_AUCTIONDATA);
expect(JSON.parse(bidReq.data)).to.deep.equal(VALID_PAYLOAD_INVALID_BIDFLOOR);
});
+
+ it('should add gdpr to response ext', () => {
+ let bidReq = spec.buildRequests(VALID_BID_REQUEST, VALID_BIDDER_REQUEST_WITH_GDPR);
+ expect(JSON.parse(bidReq.data)).to.deep.equal(VALID_PAYLOAD_FOR_GDPR);
+ });
+
describe('build requests: when page meta-data is available', () => {
it('should pass canonical, twitter and fb paramters if available', () => {
let sandbox = sinon.sandbox.create();
From 6bfed30739f8c2e066101fbded3fe4f486a760f5 Mon Sep 17 00:00:00 2001
From: LifeStreet
Date: Tue, 15 May 2018 18:08:40 +0300
Subject: [PATCH 148/171] Lifestreet: gdpr and consent string parameters
(#2537)
* GDPR support for Lifestreet bid adapter
* removed trailing spaces
---
modules/lifestreetBidAdapter.js | 16 ++++++--
.../spec/modules/lifestreetBidAdapter_spec.js | 41 +++++++++++++++++++
2 files changed, 54 insertions(+), 3 deletions(-)
diff --git a/modules/lifestreetBidAdapter.js b/modules/lifestreetBidAdapter.js
index 919e83576d3..17aeeb56f2e 100644
--- a/modules/lifestreetBidAdapter.js
+++ b/modules/lifestreetBidAdapter.js
@@ -12,7 +12,7 @@ const urlTemplate = template`//ads.lfstmedia.com/gate/${'adapter'}/${'slot'}?adk
*
* @param {BidRequest} bid The bid params to use for formatting a request
*/
-function formatBidRequest(bid) {
+function formatBidRequest(bid, bidderRequest) {
let url = urlTemplate({
adapter: 'prebid',
slot: bid.params.slot,
@@ -28,6 +28,16 @@ function formatBidRequest(bid) {
hbver: ADAPTER_VERSION
});
+ if (bidderRequest && bidderRequest.gdprConsent) {
+ if (bidderRequest.gdprConsent.gdprApplies !== undefined) {
+ const gdpr = '&__gdpr=' + (bidderRequest.gdprConsent.gdprApplies ? '1' : '0');
+ url += gdpr;
+ }
+ if (bidderRequest.gdprConsent.consentString !== undefined) {
+ url += '&__consent=' + bidderRequest.gdprConsent.consentString;
+ }
+ }
+
return {
method: 'GET',
url: url,
@@ -95,9 +105,9 @@ export const spec = {
* @param {validBidRequests[]} - an array of bids
* @return ServerRequest Info describing the request to the server.
*/
- buildRequests: function(validBidRequests) {
+ buildRequests: function(validBidRequests, bidderRequest) {
return validBidRequests.map(bid => {
- return formatBidRequest(bid)
+ return formatBidRequest(bid, bidderRequest)
});
},
diff --git a/test/spec/modules/lifestreetBidAdapter_spec.js b/test/spec/modules/lifestreetBidAdapter_spec.js
index b47c5f949e2..2c48a0f1892 100644
--- a/test/spec/modules/lifestreetBidAdapter_spec.js
+++ b/test/spec/modules/lifestreetBidAdapter_spec.js
@@ -109,10 +109,51 @@ describe('LifestreetAdapter', () => {
it('should include gzip', () => {
expect(request.url).to.contain('__gz=1');
});
+ it('should not contain __gdpr parameter', () => {
+ expect(request.url).to.not.contain('__gdpr');
+ });
+ it('should not contain __concent parameter', () => {
+ expect(request.url).to.not.contain('__consent');
+ });
it('should contain the right version of adapter', () => {
expect(request.url).to.contain('__hbver=' + ADAPTER_VERSION);
});
+
+ it('should contain __gdpr and __consent parameters', () => {
+ const options = {
+ gdprConsent: {
+ gdprApplies: true,
+ consentString: 'test',
+ vendorData: {}
+ }
+ };
+ let [request] = spec.buildRequests(bidRequest.bids, options);
+ expect(request.url).to.contain('__gdpr=1');
+ expect(request.url).to.contain('__consent=test');
+ });
+ it('should contain __gdpr parameters', () => {
+ const options = {
+ gdprConsent: {
+ gdprApplies: true,
+ vendorData: {}
+ }
+ };
+ let [request] = spec.buildRequests(bidRequest.bids, options);
+ expect(request.url).to.contain('__gdpr=1');
+ expect(request.url).to.not.contain('__consent');
+ });
+ it('should contain __consent parameters', () => {
+ const options = {
+ gdprConsent: {
+ consentString: 'test',
+ vendorData: {}
+ }
+ };
+ let [request] = spec.buildRequests(bidRequest.bids, options);
+ expect(request.url).to.not.contain('__gdpr');
+ expect(request.url).to.contain('__consent=test');
+ });
});
describe('interpretResponse()', () => {
it('should return formatted bid response with required properties', () => {
From 3436a132a67922f5c81e2cf6d8248c2c8657f90e Mon Sep 17 00:00:00 2001
From: GeronimoGXOne <38340784+GeronimoGXOne@users.noreply.github.com>
Date: Tue, 15 May 2018 18:50:20 +0300
Subject: [PATCH 149/171] Create GXOne Bid Adapter and tests for it (#2540)
---
modules/gxoneBidAdapter.js | 141 +++++++++++
modules/gxoneBidAdapter.md | 40 +++
test/spec/modules/gxoneBidAdapter_spec.js | 293 ++++++++++++++++++++++
3 files changed, 474 insertions(+)
create mode 100644 modules/gxoneBidAdapter.js
create mode 100755 modules/gxoneBidAdapter.md
create mode 100644 test/spec/modules/gxoneBidAdapter_spec.js
diff --git a/modules/gxoneBidAdapter.js b/modules/gxoneBidAdapter.js
new file mode 100644
index 00000000000..77c5ae2b1b7
--- /dev/null
+++ b/modules/gxoneBidAdapter.js
@@ -0,0 +1,141 @@
+import * as utils from 'src/utils';
+import {registerBidder} from 'src/adapters/bidderFactory';
+const BIDDER_CODE = 'gxone';
+const ENDPOINT_URL = '//ads.gx1as.com/hb';
+const TIME_TO_LIVE = 360;
+const ADAPTER_SYNC_URL = '//ads.gx1as.com/push_sync';
+const LOG_ERROR_MESS = {
+ noAuid: 'Bid from response has no auid parameter - ',
+ noAdm: 'Bid from response has no adm parameter - ',
+ noBid: 'Array of bid objects is empty',
+ noPlacementCode: 'Can\'t find in requested bids the bid with auid - ',
+ emptyUids: 'Uids should be not empty',
+ emptySeatbid: 'Seatbid array from response has empty item',
+ emptyResponse: 'Response is empty',
+ hasEmptySeatbidArray: 'Response has empty seatbid array',
+ hasNoArrayOfBids: 'Seatbid from response has no array of bid objects - '
+};
+
+/**
+ * GXOne Bid Adapter.
+ * Contact: olivier@geronimo.co
+ *
+ */
+export const spec = {
+ code: BIDDER_CODE,
+
+ isBidRequestValid: function(bid) {
+ return !!bid.params.uid;
+ },
+
+ buildRequests: function(validBidRequests) {
+ const auids = [];
+ const bidsMap = {};
+ const bids = validBidRequests || [];
+ let priceType = 'net';
+ let reqId;
+
+ bids.forEach(bid => {
+ if (bid.params.priceType === 'gross') {
+ priceType = 'gross';
+ }
+ if (!bidsMap[bid.params.uid]) {
+ bidsMap[bid.params.uid] = [bid];
+ auids.push(bid.params.uid);
+ } else {
+ bidsMap[bid.params.uid].push(bid);
+ }
+ reqId = bid.bidderRequestId;
+ });
+
+ const payload = {
+ u: utils.getTopWindowUrl(),
+ pt: priceType,
+ auids: auids.join(','),
+ r: reqId,
+ };
+
+ return {
+ method: 'GET',
+ url: ENDPOINT_URL,
+ data: utils.parseQueryStringParameters(payload).replace(/\&$/, ''),
+ bidsMap: bidsMap,
+ };
+ },
+
+ interpretResponse: function(serverResponse, bidRequest) {
+ serverResponse = serverResponse && serverResponse.body
+ const bidResponses = [];
+ const bidsMap = bidRequest.bidsMap;
+ const priceType = bidRequest.data.pt;
+
+ let errorMessage;
+
+ if (!serverResponse) errorMessage = LOG_ERROR_MESS.emptyResponse;
+ else if (serverResponse.seatbid && !serverResponse.seatbid.length) {
+ errorMessage = LOG_ERROR_MESS.hasEmptySeatbidArray;
+ }
+
+ if (!errorMessage && serverResponse.seatbid) {
+ serverResponse.seatbid.forEach(respItem => {
+ _addBidResponse(_getBidFromResponse(respItem), bidsMap, priceType, bidResponses);
+ });
+ }
+ if (errorMessage) utils.logError(errorMessage);
+ return bidResponses;
+ },
+
+ getUserSyncs: function(syncOptions) {
+ if (syncOptions.pixelEnabled) {
+ return [{
+ type: 'image',
+ url: ADAPTER_SYNC_URL
+ }];
+ }
+ }
+}
+
+function _getBidFromResponse(respItem) {
+ if (!respItem) {
+ utils.logError(LOG_ERROR_MESS.emptySeatbid);
+ } else if (!respItem.bid) {
+ utils.logError(LOG_ERROR_MESS.hasNoArrayOfBids + JSON.stringify(respItem));
+ } else if (!respItem.bid[0]) {
+ utils.logError(LOG_ERROR_MESS.noBid);
+ }
+ return respItem && respItem.bid && respItem.bid[0];
+}
+
+function _addBidResponse(serverBid, bidsMap, priceType, bidResponses) {
+ if (!serverBid) return;
+ let errorMessage;
+ if (!serverBid.auid) errorMessage = LOG_ERROR_MESS.noAuid + JSON.stringify(serverBid);
+ if (!serverBid.adm) errorMessage = LOG_ERROR_MESS.noAdm + JSON.stringify(serverBid);
+ else {
+ const awaitingBids = bidsMap[serverBid.auid];
+ if (awaitingBids) {
+ awaitingBids.forEach(bid => {
+ const bidResponse = {
+ requestId: bid.bidId, // bid.bidderRequestId,
+ cpm: serverBid.price,
+ width: serverBid.w,
+ height: serverBid.h,
+ creativeId: serverBid.auid, // bid.bidId,
+ currency: 'USD',
+ netRevenue: priceType !== 'gross',
+ ttl: TIME_TO_LIVE,
+ ad: serverBid.adm,
+ dealId: serverBid.dealid
+ };
+ bidResponses.push(bidResponse);
+ });
+ } else {
+ errorMessage = LOG_ERROR_MESS.noPlacementCode + serverBid.auid;
+ }
+ }
+ if (errorMessage) {
+ utils.logError(errorMessage);
+ }
+}
+
+registerBidder(spec);
diff --git a/modules/gxoneBidAdapter.md b/modules/gxoneBidAdapter.md
new file mode 100755
index 00000000000..3168d297da3
--- /dev/null
+++ b/modules/gxoneBidAdapter.md
@@ -0,0 +1,40 @@
+# Overview
+
+Module Name: GXOne Bidder Adapter
+Module Type: Bidder Adapter
+Maintainer: olivier@geronimo.co
+
+# Description
+
+Module that connects to GXOne demand source to fetch bids.
+
+# Test Parameters
+```
+ var adUnits = [
+ {
+ code: 'test-div',
+ sizes: [[300, 250]],
+ bids: [
+ {
+ bidder: "gxone",
+ params: {
+ uid: '2',
+ priceType: 'gross' // by default is 'net'
+ }
+ }
+ ]
+ },{
+ code: 'test-div',
+ sizes: [[728, 90]],
+ bids: [
+ {
+ bidder: "gxone",
+ params: {
+ uid: 9,
+ priceType: 'gross'
+ }
+ }
+ ]
+ }
+ ];
+```
\ No newline at end of file
diff --git a/test/spec/modules/gxoneBidAdapter_spec.js b/test/spec/modules/gxoneBidAdapter_spec.js
new file mode 100644
index 00000000000..f34f4358490
--- /dev/null
+++ b/test/spec/modules/gxoneBidAdapter_spec.js
@@ -0,0 +1,293 @@
+import { expect } from 'chai';
+import { spec } from 'modules/gxoneBidAdapter';
+import { newBidder } from 'src/adapters/bidderFactory';
+
+describe('GXOne Adapter', function () {
+ const adapter = newBidder(spec);
+
+ describe('inherited functions', () => {
+ it('exists and is a function', () => {
+ expect(adapter.callBids).to.exist.and.to.be.a('function');
+ });
+ });
+
+ describe('isBidRequestValid', () => {
+ let bid = {
+ 'bidder': 'gxone',
+ 'params': {
+ 'uid': '4'
+ },
+ 'adUnitCode': 'adunit-code',
+ 'sizes': [[300, 250], [300, 600]],
+ 'bidId': '30b31c1838de1e',
+ 'bidderRequestId': '22edbae2733bf6',
+ 'auctionId': '1d1a030790a475',
+ };
+
+ it('should return true when required params found', () => {
+ expect(spec.isBidRequestValid(bid)).to.equal(true);
+ });
+
+ it('should return false when required params are not passed', () => {
+ let bid = Object.assign({}, bid);
+ delete bid.params;
+ bid.params = {
+ 'uid': 0
+ };
+ expect(spec.isBidRequestValid(bid)).to.equal(false);
+ });
+ });
+
+ describe('buildRequests', () => {
+ function parseRequest(url) {
+ const res = {};
+ url.split('&').forEach((it) => {
+ const couple = it.split('=');
+ res[couple[0]] = decodeURIComponent(couple[1]);
+ });
+ return res;
+ }
+ let bidRequests = [
+ {
+ 'bidder': 'gxone',
+ 'params': {
+ 'uid': '5'
+ },
+ 'adUnitCode': 'adunit-code-1',
+ 'sizes': [[300, 250], [300, 600]],
+ 'bidId': '30b31c1838de1e',
+ 'bidderRequestId': '22edbae2733bf6',
+ 'auctionId': '1d1a030790a475',
+ },
+ {
+ 'bidder': 'gxone',
+ 'params': {
+ 'uid': '5'
+ },
+ 'adUnitCode': 'adunit-code-2',
+ 'sizes': [[728, 90]],
+ 'bidId': '3150ccb55da321',
+ 'bidderRequestId': '22edbae2733bf6',
+ 'auctionId': '1d1a030790a475',
+ },
+ {
+ 'bidder': 'gxone',
+ 'params': {
+ 'uid': '6'
+ },
+ 'adUnitCode': 'adunit-code-1',
+ 'sizes': [[300, 250], [300, 600]],
+ 'bidId': '42dbe3a7168a6a',
+ 'bidderRequestId': '22edbae2733bf6',
+ 'auctionId': '1d1a030790a475',
+ }
+ ];
+
+ it('should attach valid params to the tag', () => {
+ const request = spec.buildRequests([bidRequests[0]]);
+ expect(request.data).to.be.an('string');
+ const payload = parseRequest(request.data);
+ expect(payload).to.have.property('u').that.is.a('string');
+ expect(payload).to.have.property('pt', 'net');
+ expect(payload).to.have.property('auids', '5');
+ });
+
+ it('auids must not be duplicated', () => {
+ const request = spec.buildRequests(bidRequests);
+ expect(request.data).to.be.an('string');
+ const payload = parseRequest(request.data);
+ expect(payload).to.have.property('u').that.is.a('string');
+ expect(payload).to.have.property('pt', 'net');
+ expect(payload).to.have.property('auids', '5,6');
+ });
+
+ it('pt parameter must be "gross" if params.priceType === "gross"', () => {
+ bidRequests[1].params.priceType = 'gross';
+ const request = spec.buildRequests(bidRequests);
+ expect(request.data).to.be.an('string');
+ const payload = parseRequest(request.data);
+ expect(payload).to.have.property('u').that.is.a('string');
+ expect(payload).to.have.property('pt', 'gross');
+ expect(payload).to.have.property('auids', '5,6');
+ delete bidRequests[1].params.priceType;
+ });
+
+ it('pt parameter must be "net" or "gross"', () => {
+ bidRequests[1].params.priceType = 'some';
+ const request = spec.buildRequests(bidRequests);
+ expect(request.data).to.be.an('string');
+ const payload = parseRequest(request.data);
+ expect(payload).to.have.property('u').that.is.a('string');
+ expect(payload).to.have.property('pt', 'net');
+ expect(payload).to.have.property('auids', '5,6');
+ delete bidRequests[1].params.priceType;
+ });
+ });
+
+ describe('interpretResponse', () => {
+ const responses = [
+ {'bid': [{'price': 1.15, 'adm': 'test content 1
', 'auid': 4, 'h': 250, 'w': 300}], 'seat': '1'},
+ {'bid': [{'price': 0.5, 'adm': 'test content 2
', 'auid': 5, 'h': 90, 'w': 728}], 'seat': '1'},
+ {'bid': [{'price': 0, 'auid': 6, 'h': 250, 'w': 300}], 'seat': '1'},
+ {'bid': [{'price': 0, 'adm': 'test content 4
', 'h': 250, 'w': 300}], 'seat': '1'},
+ undefined,
+ {'bid': [], 'seat': '1'},
+ {'seat': '1'},
+ ];
+
+ it('should get correct bid response', () => {
+ const bidRequests = [
+ {
+ 'bidder': 'gxone',
+ 'params': {
+ 'uid': '4'
+ },
+ 'adUnitCode': 'adunit-code-1',
+ 'sizes': [[300, 250], [300, 600]],
+ 'bidId': '659423fff799cb',
+ 'bidderRequestId': '5f2009617a7c0a',
+ 'auctionId': '1cbd2feafe5e8b',
+ }
+ ];
+ const request = spec.buildRequests(bidRequests);
+ const expectedResponse = [
+ {
+ 'requestId': '659423fff799cb',
+ 'cpm': 1.15,
+ 'creativeId': 4,
+ 'dealId': undefined,
+ 'width': 300,
+ 'height': 250,
+ 'ad': 'test content 1
',
+ 'currency': 'USD',
+ 'netRevenue': true,
+ 'ttl': 360,
+ }
+ ];
+
+ const result = spec.interpretResponse({'body': {'seatbid': [responses[0]]}}, request);
+ expect(result).to.deep.equal(expectedResponse);
+ });
+
+ it('should get correct multi bid response', () => {
+ const bidRequests = [
+ {
+ 'bidder': 'gxone',
+ 'params': {
+ 'uid': '4'
+ },
+ 'adUnitCode': 'adunit-code-1',
+ 'sizes': [[300, 250], [300, 600]],
+ 'bidId': '300bfeb0d71a5b',
+ 'bidderRequestId': '2c2bb1972df9a',
+ 'auctionId': '1fa09aee5c8c99',
+ },
+ {
+ 'bidder': 'gxone',
+ 'params': {
+ 'uid': '5'
+ },
+ 'adUnitCode': 'adunit-code-1',
+ 'sizes': [[300, 250], [300, 600]],
+ 'bidId': '4dff80cc4ee346',
+ 'bidderRequestId': '2c2bb1972df9a',
+ 'auctionId': '1fa09aee5c8c99',
+ },
+ {
+ 'bidder': 'gxone',
+ 'params': {
+ 'uid': '4'
+ },
+ 'adUnitCode': 'adunit-code-2',
+ 'sizes': [[728, 90]],
+ 'bidId': '5703af74d0472a',
+ 'bidderRequestId': '2c2bb1972df9a',
+ 'auctionId': '1fa09aee5c8c99',
+ }
+ ];
+ const request = spec.buildRequests(bidRequests);
+ const expectedResponse = [
+ {
+ 'requestId': '300bfeb0d71a5b',
+ 'cpm': 1.15,
+ 'creativeId': 4,
+ 'dealId': undefined,
+ 'width': 300,
+ 'height': 250,
+ 'ad': 'test content 1
',
+ 'currency': 'USD',
+ 'netRevenue': true,
+ 'ttl': 360,
+ },
+ {
+ 'requestId': '5703af74d0472a',
+ 'cpm': 1.15,
+ 'creativeId': 4,
+ 'dealId': undefined,
+ 'width': 300,
+ 'height': 250,
+ 'ad': 'test content 1
',
+ 'currency': 'USD',
+ 'netRevenue': true,
+ 'ttl': 360,
+ },
+ {
+ 'requestId': '4dff80cc4ee346',
+ 'cpm': 0.5,
+ 'creativeId': 5,
+ 'dealId': undefined,
+ 'width': 728,
+ 'height': 90,
+ 'ad': 'test content 2
',
+ 'currency': 'USD',
+ 'netRevenue': true,
+ 'ttl': 360,
+ }
+ ];
+
+ const result = spec.interpretResponse({'body': {'seatbid': [responses[0], responses[1]]}}, request);
+ expect(result).to.deep.equal(expectedResponse);
+ });
+
+ it('handles wrong and nobid responses', () => {
+ const bidRequests = [
+ {
+ 'bidder': 'gxone',
+ 'params': {
+ 'uid': '6'
+ },
+ 'adUnitCode': 'adunit-code-1',
+ 'sizes': [[300, 250], [300, 600]],
+ 'bidId': '300bfeb0d7190gf',
+ 'bidderRequestId': '2c2bb1972d23af',
+ 'auctionId': '1fa09aee5c84d34',
+ },
+ {
+ 'bidder': 'gxone',
+ 'params': {
+ 'uid': '7'
+ },
+ 'adUnitCode': 'adunit-code-1',
+ 'sizes': [[300, 250], [300, 600]],
+ 'bidId': '300bfeb0d71321',
+ 'bidderRequestId': '2c2bb1972d23af',
+ 'auctionId': '1fa09aee5c84d34',
+ },
+ {
+ 'bidder': 'gxone',
+ 'params': {
+ 'uid': '8'
+ },
+ 'adUnitCode': 'adunit-code-2',
+ 'sizes': [[728, 90]],
+ 'bidId': '300bfeb0d7183bb',
+ 'bidderRequestId': '2c2bb1972d23af',
+ 'auctionId': '1fa09aee5c84d34',
+ }
+ ];
+ const request = spec.buildRequests(bidRequests);
+ const result = spec.interpretResponse({'body': {'seatbid': responses.slice(2)}}, request);
+ expect(result.length).to.equal(0);
+ });
+ });
+});
From 27dca0fca2d746b929a4a25d25e9f4563efb9ad6 Mon Sep 17 00:00:00 2001
From: PubMatic-OpenWrap
Date: Tue, 15 May 2018 09:03:53 -0700
Subject: [PATCH 150/171] PubMatic Adapter: Bug fix to read all bids from
seatBid array (#2520)
* Support multiple bids for same adSize
* Add isArray check for seatbids
---
modules/pubmaticBidAdapter.js | 47 +++++++++++---------
test/spec/modules/pubmaticBidAdapter_spec.js | 29 ++++++++++++
2 files changed, 55 insertions(+), 21 deletions(-)
diff --git a/modules/pubmaticBidAdapter.js b/modules/pubmaticBidAdapter.js
index 14da2c45164..989ce180463 100644
--- a/modules/pubmaticBidAdapter.js
+++ b/modules/pubmaticBidAdapter.js
@@ -268,27 +268,32 @@ export const spec = {
interpretResponse: (response, request) => {
const bidResponses = [];
try {
- if (response.body && response.body.seatbid && response.body.seatbid[0] && response.body.seatbid[0].bid) {
- response.body.seatbid[0].bid.forEach(bid => {
- let newBid = {
- requestId: bid.impid,
- cpm: (parseFloat(bid.price) || 0).toFixed(2),
- width: bid.w,
- height: bid.h,
- creativeId: bid.crid || bid.id,
- dealId: bid.dealid,
- currency: CURRENCY,
- netRevenue: NET_REVENUE,
- ttl: 300,
- referrer: utils.getTopWindowUrl(),
- ad: bid.adm
- };
-
- if (bid.ext && bid.ext.deal_channel) {
- newBid['dealChannel'] = dealChannelValues[bid.ext.deal_channel] || null;
- }
-
- bidResponses.push(newBid);
+ if (response.body && response.body.seatbid && utils.isArray(response.body.seatbid)) {
+ // Supporting multiple bid responses for same adSize
+ response.body.seatbid.forEach(seatbidder => {
+ seatbidder.bid &&
+ utils.isArray(seatbidder.bid) &&
+ seatbidder.bid.forEach(bid => {
+ let newBid = {
+ requestId: bid.impid,
+ cpm: (parseFloat(bid.price) || 0).toFixed(2),
+ width: bid.w,
+ height: bid.h,
+ creativeId: bid.crid || bid.id,
+ dealId: bid.dealid,
+ currency: CURRENCY,
+ netRevenue: NET_REVENUE,
+ ttl: 300,
+ referrer: utils.getTopWindowUrl(),
+ ad: bid.adm
+ };
+
+ if (bid.ext && bid.ext.deal_channel) {
+ newBid['dealChannel'] = dealChannelValues[bid.ext.deal_channel] || null;
+ }
+
+ bidResponses.push(newBid);
+ });
});
}
} catch (error) {
diff --git a/test/spec/modules/pubmaticBidAdapter_spec.js b/test/spec/modules/pubmaticBidAdapter_spec.js
index 7ea10315a4e..09acbbe95a0 100644
--- a/test/spec/modules/pubmaticBidAdapter_spec.js
+++ b/test/spec/modules/pubmaticBidAdapter_spec.js
@@ -49,6 +49,18 @@ describe('PubMatic adapter', () => {
'deal_channel': 6
}
}]
+ }, {
+ 'bid': [{
+ 'id': '74858439-49D7-4169-BA5D-44A046315BEF',
+ 'impid': '22bddb28db77e',
+ 'price': 1.7,
+ 'adm': 'image3.pubmatic.com Layer based creative',
+ 'h': 250,
+ 'w': 300,
+ 'ext': {
+ 'deal_channel': 5
+ }
+ }]
}]
}
};
@@ -213,6 +225,22 @@ describe('PubMatic adapter', () => {
expect(response[0].ttl).to.equal(300);
expect(response[0].referrer).to.include(utils.getTopWindowUrl());
expect(response[0].ad).to.equal(bidResponses.body.seatbid[0].bid[0].adm);
+
+ expect(response[1].requestId).to.equal(bidResponses.body.seatbid[1].bid[0].impid);
+ expect(response[1].cpm).to.equal((bidResponses.body.seatbid[1].bid[0].price).toFixed(2));
+ expect(response[1].width).to.equal(bidResponses.body.seatbid[1].bid[0].w);
+ expect(response[1].height).to.equal(bidResponses.body.seatbid[1].bid[0].h);
+ if (bidResponses.body.seatbid[1].bid[0].crid) {
+ expect(response[1].creativeId).to.equal(bidResponses.body.seatbid[1].bid[0].crid);
+ } else {
+ expect(response[1].creativeId).to.equal(bidResponses.body.seatbid[1].bid[0].id);
+ }
+ expect(response[1].dealId).to.equal(bidResponses.body.seatbid[1].bid[0].dealid);
+ expect(response[1].currency).to.equal('USD');
+ expect(response[1].netRevenue).to.equal(false);
+ expect(response[1].ttl).to.equal(300);
+ expect(response[1].referrer).to.include(utils.getTopWindowUrl());
+ expect(response[1].ad).to.equal(bidResponses.body.seatbid[1].bid[0].adm);
});
it('should check for dealChannel value selection', () => {
@@ -220,6 +248,7 @@ describe('PubMatic adapter', () => {
let response = spec.interpretResponse(bidResponses, request);
expect(response).to.be.an('array').with.length.above(0);
expect(response[0].dealChannel).to.equal('PMPG');
+ expect(response[1].dealChannel).to.equal('PREF');
});
it('should check for unexpected dealChannel value selection', () => {
From 7848901f14969da0da6b0a359fd8cd75e4aece02 Mon Sep 17 00:00:00 2001
From: Kit Westneat
Date: Tue, 15 May 2018 12:33:22 -0400
Subject: [PATCH 151/171] fix getPreparedBidForAuction to look for renderer on
correct bid (#2505)
* add test for renderer on second bid in bidrequest
* fix getPreparedBidForAuction to look for renderer on correct bid
getPreparedBidForAuction was just looking on the first bid in the
bidder request regardless of whether or not it was for the given
ad unit.
---
src/auction.js | 4 ++--
test/spec/auctionmanager_spec.js | 29 +++++++++++++++++++++++++++++
2 files changed, 31 insertions(+), 2 deletions(-)
diff --git a/src/auction.js b/src/auction.js
index 8a23605bf0e..df87641b5fc 100644
--- a/src/auction.js
+++ b/src/auction.js
@@ -298,8 +298,8 @@ function getPreparedBidForAuction({adUnitCode, bid, bidRequest, auctionId}) {
events.emit(CONSTANTS.EVENTS.BID_ADJUSTMENT, bidObject);
// a publisher-defined renderer can be used to render bids
- const adUnitRenderer =
- bidRequest.bids && bidRequest.bids[0] && bidRequest.bids[0].renderer;
+ const bidReq = bidRequest.bids && bidRequest.bids.find(bid => bid.adUnitCode == adUnitCode);
+ const adUnitRenderer = bidReq && bidReq.renderer;
if (adUnitRenderer && adUnitRenderer.url) {
bidObject.renderer = Renderer.install({ url: adUnitRenderer.url });
diff --git a/test/spec/auctionmanager_spec.js b/test/spec/auctionmanager_spec.js
index ef50d2b6294..fff0150adb0 100644
--- a/test/spec/auctionmanager_spec.js
+++ b/test/spec/auctionmanager_spec.js
@@ -643,6 +643,35 @@ describe('auctionmanager.js', function () {
const addedBid = auction.getBidsReceived().pop();
assert.equal(addedBid.renderer.url, 'renderer.js');
});
+
+ it('bid for a regular unit and a video unit', function() {
+ let renderer = {
+ url: 'renderer.js',
+ render: (bid) => bid
+ };
+
+ // make sure that if the renderer is only on the second ad unit, prebid
+ // still correctly uses it
+ let bid = mockBid();
+ let bidRequests = [mockBidRequest(bid)];
+
+ bidRequests[0].bids[1] = Object.assign({
+ renderer,
+ bidId: utils.getUniqueIdentifierStr()
+ }, bidRequests[0].bids[0]);
+ bidRequests[0].bids[0].adUnitCode = ADUNIT_CODE1;
+
+ makeRequestsStub.returns(bidRequests);
+
+ // this should correspond with the second bid in the bidReq because of the ad unit code
+ bid.mediaType = 'video-outstream';
+ spec.interpretResponse.returns(bid);
+
+ auction.callBids();
+
+ const addedBid = auction.getBidsReceived().find(bid => bid.adUnitCode == ADUNIT_CODE);
+ assert.equal(addedBid.renderer.url, 'renderer.js');
+ });
});
describe('when auction timeout is 20', () => {
From b746bf11c732e784e62913189fdfcfe72db8f7bd Mon Sep 17 00:00:00 2001
From: Yuriy Tyukhnin
Date: Tue, 15 May 2018 18:48:20 +0200
Subject: [PATCH 152/171] Smart: GDPR support (#2528)
* adding gdpr support
* lint issues fix
* more lints
* taking the gdpr from bidderRequest
* removing useless comma
---
modules/smartadserverBidAdapter.js | 9 ++-
.../modules/smartadserverBidAdapter_spec.js | 63 +++++++++++++++++--
2 files changed, 67 insertions(+), 5 deletions(-)
diff --git a/modules/smartadserverBidAdapter.js b/modules/smartadserverBidAdapter.js
index 7db4747927a..0767a51e545 100644
--- a/modules/smartadserverBidAdapter.js
+++ b/modules/smartadserverBidAdapter.js
@@ -22,9 +22,10 @@ export const spec = {
* Make a server request from the list of BidRequests.
*
* @param {validBidRequests[]} - an array of bids
+ * @param {bidderRequest} - bidder request object
* @return ServerRequest Info describing the request to the server.
*/
- buildRequests: function (validBidRequests) {
+ buildRequests: function (validBidRequests, bidderRequest) {
// use bidderRequest.bids[] to get bidder-dependent request info
// if your bidder supports multiple currencies, use config.getConfig(currency)
@@ -53,6 +54,12 @@ export const spec = {
bidId: bid.bidId,
prebidVersion: '$prebid.version$'
};
+
+ if (bidderRequest && bidderRequest.gdprConsent) {
+ payload.gdpr_consent = bidderRequest.gdprConsent.consentString;
+ payload.gdpr = bidderRequest.gdprConsent.gdprApplies; // we're handling the undefined case server side
+ }
+
var payloadString = JSON.stringify(payload);
return {
method: 'POST',
diff --git a/test/spec/modules/smartadserverBidAdapter_spec.js b/test/spec/modules/smartadserverBidAdapter_spec.js
index 82c2098f234..57c070e9748 100644
--- a/test/spec/modules/smartadserverBidAdapter_spec.js
+++ b/test/spec/modules/smartadserverBidAdapter_spec.js
@@ -99,6 +99,51 @@ describe('Smart bid adapter tests', () => {
expect(requestContent).to.have.property('ckid').and.to.equal(42);
});
+ it('Verify build request with GDPR', () => {
+ config.setConfig({
+ 'currency': {
+ 'adServerCurrency': 'EUR'
+ },
+ consentManagement: {
+ cmp: 'iab',
+ consentRequired: true,
+ timeout: 1000,
+ allowAuctionWithoutConsent: true
+ }
+ });
+ const request = spec.buildRequests(DEFAULT_PARAMS_WO_OPTIONAL, {
+ gdprConsent: {
+ consentString: 'BOKAVy4OKAVy4ABAB8AAAAAZ+A==',
+ gdprApplies: true
+ }
+ });
+ const requestContent = JSON.parse(request[0].data);
+ expect(requestContent).to.have.property('gdpr').and.to.equal(true);
+ expect(requestContent).to.have.property('gdpr_consent').and.to.equal('BOKAVy4OKAVy4ABAB8AAAAAZ+A==');
+ });
+
+ it('Verify build request with GDPR without gdprApplies', () => {
+ config.setConfig({
+ 'currency': {
+ 'adServerCurrency': 'EUR'
+ },
+ consentManagement: {
+ cmp: 'iab',
+ consentRequired: true,
+ timeout: 1000,
+ allowAuctionWithoutConsent: true
+ }
+ });
+ const request = spec.buildRequests(DEFAULT_PARAMS_WO_OPTIONAL, {
+ gdprConsent: {
+ consentString: 'BOKAVy4OKAVy4ABAB8AAAAAZ+A=='
+ }
+ });
+ const requestContent = JSON.parse(request[0].data);
+ expect(requestContent).to.not.have.property('gdpr');
+ expect(requestContent).to.have.property('gdpr_consent').and.to.equal('BOKAVy4OKAVy4ABAB8AAAAAZ+A==');
+ });
+
it('Verify parse response', () => {
const request = spec.buildRequests(DEFAULT_PARAMS);
const bids = spec.interpretResponse(BID_RESPONSE, request[0]);
@@ -116,7 +161,11 @@ describe('Smart bid adapter tests', () => {
expect(bid.requestId).to.equal(DEFAULT_PARAMS[0].bidId);
expect(bid.referrer).to.equal(utils.getTopWindowUrl());
- expect(function() { spec.interpretResponse(BID_RESPONSE, {data: 'invalid Json'}) }).to.not.throw();
+ expect(function () {
+ spec.interpretResponse(BID_RESPONSE, {
+ data: 'invalid Json'
+ })
+ }).to.not.throw();
});
it('Verifies bidder code', () => {
@@ -187,15 +236,21 @@ describe('Smart bid adapter tests', () => {
});
it('Verifies user sync', () => {
- var syncs = spec.getUserSyncs({iframeEnabled: true}, [BID_RESPONSE]);
+ var syncs = spec.getUserSyncs({
+ iframeEnabled: true
+ }, [BID_RESPONSE]);
expect(syncs).to.have.lengthOf(1);
expect(syncs[0].type).to.equal('iframe');
expect(syncs[0].url).to.equal('http://awesome.fake.csync.url');
- syncs = spec.getUserSyncs({iframeEnabled: false}, [BID_RESPONSE]);
+ syncs = spec.getUserSyncs({
+ iframeEnabled: false
+ }, [BID_RESPONSE]);
expect(syncs).to.have.lengthOf(0);
- syncs = spec.getUserSyncs({iframeEnabled: true}, []);
+ syncs = spec.getUserSyncs({
+ iframeEnabled: true
+ }, []);
expect(syncs).to.have.lengthOf(0);
});
});
From 07e711cd2c0ecefc9f68d3d7abe6e58ecde7d0e0 Mon Sep 17 00:00:00 2001
From: jsnellbaker <31102355+jsnellbaker@users.noreply.github.com>
Date: Tue, 15 May 2018 12:54:36 -0400
Subject: [PATCH 153/171] add support for safeframe workflow and new utils
method to read adunit sizes (#2523)
---
modules/consentManagement.js | 34 ++++++++++-
src/utils.js | 29 ++++++++++
test/spec/modules/consentManagement_spec.js | 64 +++++++++++++++++++--
test/spec/utils_spec.js | 28 +++++++++
4 files changed, 147 insertions(+), 8 deletions(-)
diff --git a/modules/consentManagement.js b/modules/consentManagement.js
index c7b6ac4df92..09eb938f314 100644
--- a/modules/consentManagement.js
+++ b/modules/consentManagement.js
@@ -37,8 +37,9 @@ const cmpCallMap = {
* based on the appropriate result.
* @param {function(string)} cmpSuccess acts as a success callback when CMP returns a value; pass along consentObject (string) from CMP
* @param {function(string)} cmpError acts as an error callback while interacting with CMP; pass along an error message (string)
+ * @param {[objects]} adUnits used in the safeframe workflow to know what sizes to include in the $sf.ext.register call
*/
-function lookupIabConsent(cmpSuccess, cmpError) {
+function lookupIabConsent(cmpSuccess, cmpError, adUnits) {
let cmpCallbacks;
// check if the CMP is located on the same window level as the prebid code.
@@ -47,10 +48,37 @@ function lookupIabConsent(cmpSuccess, cmpError) {
// in this case, use the IAB's iframe locator sample code (which is slightly cutomized) to try to find the CMP and use postMessage() to communicate with the CMP.
if (utils.isFn(window.__cmp)) {
window.__cmp('getVendorConsents', null, cmpSuccess);
+ } else if (inASafeFrame() && typeof window.$sf.ext.cmp === 'function') {
+ callCmpWhileInSafeFrame();
} else {
callCmpWhileInIframe();
}
+ function inASafeFrame() {
+ return !!(window.$sf && window.$sf.ext);
+ }
+
+ function callCmpWhileInSafeFrame() {
+ function sfCallback(msgName, data) {
+ if (msgName === 'cmpReturn') {
+ cmpSuccess(data.vendorConsents);
+ }
+ }
+
+ // find sizes from adUnits object
+ let width = 1;
+ let height = 1;
+
+ if (Array.isArray(adUnits) && adUnits.length > 0) {
+ let sizes = utils.getAdUnitSizes(adUnits[0]);
+ width = sizes[0][0];
+ height = sizes[0][1];
+ }
+
+ window.$sf.ext.register(width, height, sfCallback);
+ window.$sf.ext.cmp('getVendorConsents');
+ }
+
function callCmpWhileInIframe() {
/**
* START OF STOCK CODE FROM IAB 1.1 CMP SPEC
@@ -134,6 +162,7 @@ export function requestBidsHook(config, fn) {
args = arguments;
nextFn = fn;
haveExited = false;
+ let adUnits = config.adUnits || $$PREBID_GLOBAL$$.adUnits;
// in case we already have consent (eg during bid refresh)
if (consentData) {
@@ -145,7 +174,7 @@ export function requestBidsHook(config, fn) {
return nextFn.apply(context, args);
}
- cmpCallMap[userCMP].call(this, processCmpData, cmpFailed);
+ cmpCallMap[userCMP].call(this, processCmpData, cmpFailed, adUnits);
// only let this code run if module is still active (ie if the callbacks used by CMPs haven't already finished)
if (!haveExited) {
@@ -245,6 +274,7 @@ function exitModule(errMsg) {
*/
export function resetConsentData() {
consentData = undefined;
+ gdprDataHandler.setConsentData(null);
}
/**
diff --git a/src/utils.js b/src/utils.js
index cf977124dd1..c595101bae1 100644
--- a/src/utils.js
+++ b/src/utils.js
@@ -107,6 +107,35 @@ exports.transformAdServerTargetingObj = function (targeting) {
}
};
+/**
+ * Read an adUnit object and return the sizes used in an [[728, 90]] format (even if they had [728, 90] defined)
+ * Preference is given to the `adUnit.mediaTypes.banner.sizes` object over the `adUnit.sizes`
+ * @param {object} adUnit one adUnit object from the normal list of adUnits
+ * @returns {array[array[number]]} array of arrays containing numeric sizes
+ */
+export function getAdUnitSizes(adUnit) {
+ if (!adUnit) {
+ return;
+ }
+
+ let sizes = [];
+ if (adUnit.mediaTypes && adUnit.mediaTypes.banner && Array.isArray(adUnit.mediaTypes.banner.sizes)) {
+ let bannerSizes = adUnit.mediaTypes.banner.sizes;
+ if (Array.isArray(bannerSizes[0])) {
+ sizes = bannerSizes;
+ } else {
+ sizes.push(bannerSizes);
+ }
+ } else if (Array.isArray(adUnit.sizes)) {
+ if (Array.isArray(adUnit.sizes[0])) {
+ sizes = adUnit.sizes;
+ } else {
+ sizes.push(adUnit.sizes);
+ }
+ }
+ return sizes;
+}
+
/**
* Parse a GPT-Style general size Array like `[[300, 250]]` or `"300x250,970x90"` into an array of sizes `["300x250"]` or '['300x250', '970x90']'
* @param {array[array|number]} sizeObj Input array or double array [300,250] or [[300,250], [728,90]]
diff --git a/test/spec/modules/consentManagement_spec.js b/test/spec/modules/consentManagement_spec.js
index 5974ac79324..a837a0cce8a 100644
--- a/test/spec/modules/consentManagement_spec.js
+++ b/test/spec/modules/consentManagement_spec.js
@@ -77,7 +77,7 @@ describe('consentManagement', function () {
utils.logWarn.restore();
config.resetConfig();
$$PREBID_GLOBAL$$.requestBids.removeHook(requestBidsHook);
- gdprDataHandler.consentData = null;
+ resetConsentData();
});
it('should return Warning message and return to hooked function', () => {
@@ -113,7 +113,7 @@ describe('consentManagement', function () {
$$PREBID_GLOBAL$$.requestBids.removeHook(requestBidsHook);
cmpStub.restore();
delete window.__cmp;
- gdprDataHandler.consentData = null;
+ resetConsentData();
});
it('should bypass CMP and simply use previously stored consentData', () => {
@@ -146,13 +146,66 @@ describe('consentManagement', function () {
});
});
+ describe('CMP workflow for safeframe page', () => {
+ let registerStub = sinon.stub();
+
+ beforeEach(() => {
+ didHookReturn = false;
+ window.$sf = {
+ ext: {
+ register: function() {},
+ cmp: function() {}
+ }
+ };
+ sinon.stub(utils, 'logError');
+ sinon.stub(utils, 'logWarn');
+ });
+
+ afterEach(() => {
+ delete window.$sf;
+ config.resetConfig();
+ $$PREBID_GLOBAL$$.requestBids.removeHook(requestBidsHook);
+ registerStub.restore();
+ utils.logError.restore();
+ utils.logWarn.restore();
+ resetConsentData();
+ });
+
+ it('should return the consent data from a safeframe callback', () => {
+ var testConsentData = {
+ data: {
+ msgName: 'cmpReturn',
+ vendorConsents: {
+ metadata: 'abc123def',
+ gdprApplies: true
+ }
+ }
+ };
+ registerStub = sinon.stub(window.$sf.ext, 'register').callsFake((...args) => {
+ args[2](testConsentData.data.msgName, testConsentData.data);
+ });
+
+ setConfig(goodConfigWithAllowAuction);
+ debugger; //eslint-disable-line
+ requestBidsHook({adUnits: [{ sizes: [[300, 250]] }]}, () => {
+ didHookReturn = true;
+ });
+ let consent = gdprDataHandler.getConsentData();
+
+ sinon.assert.notCalled(utils.logWarn);
+ sinon.assert.notCalled(utils.logError);
+ expect(didHookReturn).to.be.true;
+ expect(consent.consentString).to.equal('abc123def');
+ expect(consent.gdprApplies).to.be.true;
+ });
+ });
+
describe('CMP workflow for iframed page', () => {
let eventStub = sinon.stub();
let cmpStub = sinon.stub();
beforeEach(() => {
didHookReturn = false;
- resetConsentData();
window.__cmp = function() {};
sinon.stub(utils, 'logError');
sinon.stub(utils, 'logWarn');
@@ -166,7 +219,7 @@ describe('consentManagement', function () {
delete window.__cmp;
utils.logError.restore();
utils.logWarn.restore();
- gdprDataHandler.consentData = null;
+ resetConsentData();
});
it('should return the consent string from a postmessage + addEventListener response', () => {
@@ -210,7 +263,6 @@ describe('consentManagement', function () {
beforeEach(() => {
didHookReturn = false;
- resetConsentData();
sinon.stub(utils, 'logError');
sinon.stub(utils, 'logWarn');
window.__cmp = function() {};
@@ -223,7 +275,7 @@ describe('consentManagement', function () {
utils.logError.restore();
utils.logWarn.restore();
delete window.__cmp;
- gdprDataHandler.consentData = null;
+ resetConsentData();
});
it('performs lookup check and stores consentData for a valid existing user', () => {
diff --git a/test/spec/utils_spec.js b/test/spec/utils_spec.js
index 9218409c46c..6860605d343 100755
--- a/test/spec/utils_spec.js
+++ b/test/spec/utils_spec.js
@@ -789,4 +789,32 @@ describe('Utils', function () {
expect(test2).to.equal(var2);
});
});
+
+ describe('getAdUnitSizes', () => {
+ it('returns an empty response when adUnits is undefined', () => {
+ let sizes = utils.getAdUnitSizes();
+ expect(sizes).to.be.undefined;
+ });
+
+ it('returns an empty array when invalid data is present in adUnit object', () => {
+ let sizes = utils.getAdUnitSizes({ sizes: 300 });
+ expect(sizes).to.deep.equal([]);
+ });
+
+ it('retuns an array of arrays when reading from adUnit.sizes', () => {
+ let sizes = utils.getAdUnitSizes({ sizes: [300, 250] });
+ expect(sizes).to.deep.equal([[300, 250]]);
+
+ sizes = utils.getAdUnitSizes({ sizes: [[300, 250], [300, 600]] });
+ expect(sizes).to.deep.equal([[300, 250], [300, 600]]);
+ });
+
+ it('returns an array of arrays when reading from adUnit.mediaTypes.banner.sizes', () => {
+ let sizes = utils.getAdUnitSizes({ mediaTypes: { banner: { sizes: [300, 250] } } });
+ expect(sizes).to.deep.equal([[300, 250]]);
+
+ sizes = utils.getAdUnitSizes({ mediaTypes: { banner: { sizes: [[300, 250], [300, 600]] } } });
+ expect(sizes).to.deep.equal([[300, 250], [300, 600]]);
+ });
+ });
});
From e61024726b1b0e5523dd47f039702d7e475f6342 Mon Sep 17 00:00:00 2001
From: jsnellbaker <31102355+jsnellbaker@users.noreply.github.com>
Date: Tue, 15 May 2018 14:33:39 -0400
Subject: [PATCH 154/171] GDPR - add consent information to PBS cookie_sync
request (#2530)
* add consent information to cookie_sync request
* restructured unit tests and other minor changes
---
modules/prebidServerBidAdapter.js | 62 +++++++++----
.../modules/prebidServerBidAdapter_spec.js | 93 +++++++++++++------
2 files changed, 107 insertions(+), 48 deletions(-)
diff --git a/modules/prebidServerBidAdapter.js b/modules/prebidServerBidAdapter.js
index 2fd9c18eb06..58a95ea366e 100644
--- a/modules/prebidServerBidAdapter.js
+++ b/modules/prebidServerBidAdapter.js
@@ -96,36 +96,56 @@ function setS2sConfig(options) {
}
_s2sConfig = options;
- if (options.syncEndpoint) {
- queueSync(options.bidders);
- }
}
getConfig('s2sConfig', ({s2sConfig}) => setS2sConfig(s2sConfig));
+/**
+ * resets the _synced variable back to false, primiarily used for testing purposes
+*/
+export function resetSyncedStatus() {
+ _synced = false;
+}
+
/**
* @param {Array} bidderCodes list of bidders to request user syncs for.
*/
-function queueSync(bidderCodes) {
+function queueSync(bidderCodes, gdprConsent) {
if (_synced) {
return;
}
_synced = true;
- const payload = JSON.stringify({
+
+ const payload = {
uuid: utils.generateUUID(),
bidders: bidderCodes
- });
- ajax(_s2sConfig.syncEndpoint, (response) => {
- try {
- response = JSON.parse(response);
- response.bidder_status.forEach(bidder => doBidderSync(bidder.usersync.type, bidder.usersync.url, bidder.bidder));
- } catch (e) {
- utils.logError(e);
+ };
+
+ if (gdprConsent) {
+ // only populate gdpr field if we know CMP returned consent information (ie didn't timeout or have an error)
+ if (gdprConsent.consentString) {
+ payload.gdpr = (gdprConsent.gdprApplies) ? 1 : 0;
}
- },
- payload, {
- contentType: 'text/plain',
- withCredentials: true
- });
+ // attempt to populate gdpr_consent if we know gdprApplies or it may apply
+ if (gdprConsent.gdprApplies !== false) {
+ payload.gdpr_consent = gdprConsent.consentString;
+ }
+ }
+ const jsonPayload = JSON.stringify(payload);
+
+ ajax(_s2sConfig.syncEndpoint,
+ (response) => {
+ try {
+ response = JSON.parse(response);
+ response.bidder_status.forEach(bidder => doBidderSync(bidder.usersync.type, bidder.usersync.url, bidder.bidder));
+ } catch (e) {
+ utils.logError(e);
+ }
+ },
+ jsonPayload,
+ {
+ contentType: 'text/plain',
+ withCredentials: true
+ });
}
/**
@@ -348,9 +368,6 @@ const LEGACY_PROTOCOL = {
if (result.status === 'OK' || result.status === 'no_cookie') {
if (result.bidder_status) {
result.bidder_status.forEach(bidder => {
- if (bidder.no_cookie) {
- doBidderSync(bidder.usersync.type, bidder.usersync.url, bidder.bidder);
- }
if (bidder.error) {
utils.logWarn(`Prebid Server returned error: '${bidder.error}' for ${bidder.bidder}`);
}
@@ -666,6 +683,11 @@ export function PrebidServer() {
.reduce(utils.flatten)
.filter(utils.uniques);
+ if (_s2sConfig && _s2sConfig.syncEndpoint) {
+ let consent = (Array.isArray(bidRequests) && bidRequests.length > 0) ? bidRequests[0].gdprConsent : undefined;
+ queueSync(_s2sConfig.bidders, consent);
+ }
+
const request = protocolAdapter().buildRequest(s2sBidRequest, bidRequests, adUnitsWithSizes);
const requestJson = JSON.stringify(request);
diff --git a/test/spec/modules/prebidServerBidAdapter_spec.js b/test/spec/modules/prebidServerBidAdapter_spec.js
index 857105c3b40..9c25e0439b3 100644
--- a/test/spec/modules/prebidServerBidAdapter_spec.js
+++ b/test/spec/modules/prebidServerBidAdapter_spec.js
@@ -1,5 +1,5 @@
import { expect } from 'chai';
-import { PrebidServer as Adapter } from 'modules/prebidServerBidAdapter';
+import { PrebidServer as Adapter, resetSyncedStatus } from 'modules/prebidServerBidAdapter';
import adapterManager from 'src/adaptermanager';
import * as utils from 'src/utils';
import cookie from 'src/cookie';
@@ -375,6 +375,7 @@ describe('S2S Adapter', () => {
requests = [];
xhr.onCreate = request => requests.push(request);
config.resetConfig();
+ resetSyncedStatus();
});
afterEach(() => xhr.restore());
@@ -392,11 +393,11 @@ describe('S2S Adapter', () => {
expect(requestBid.ad_units[0].bids[0].params.member).to.exist.and.to.be.a('string');
});
- it('adds gdpr consent information to ortb2 request depending on module use', () => {
+ it('adds gdpr consent information to ortb2 request depending on presence of module', () => {
let ortb2Config = utils.deepClone(CONFIG);
ortb2Config.endpoint = 'https://prebid.adnxs.com/pbs/v1/openrtb2/auction'
- let consentConfig = { consentManagement: { cmp: 'iab' }, s2sConfig: ortb2Config };
+ let consentConfig = { consentManagement: { cmpApi: 'iab' }, s2sConfig: ortb2Config };
config.setConfig(consentConfig);
let gdprBidRequest = utils.deepClone(BID_REQUESTS);
@@ -424,6 +425,67 @@ describe('S2S Adapter', () => {
$$PREBID_GLOBAL$$.requestBids.removeHook(requestBidsHook);
});
+ it('check gdpr info gets added into cookie_sync request: have consent data', () => {
+ let cookieSyncConfig = utils.deepClone(CONFIG);
+ cookieSyncConfig.syncEndpoint = 'https://prebid.adnxs.com/pbs/v1/cookie_sync';
+
+ let consentConfig = { consentManagement: { cmpApi: 'iab' }, s2sConfig: cookieSyncConfig };
+ config.setConfig(consentConfig);
+
+ let gdprBidRequest = utils.deepClone(BID_REQUESTS);
+
+ gdprBidRequest[0].gdprConsent = {
+ consentString: 'abc123def',
+ gdprApplies: true
+ };
+
+ adapter.callBids(REQUEST, gdprBidRequest, addBidResponse, done, ajax);
+ let requestBid = JSON.parse(requests[0].requestBody);
+
+ expect(requestBid.gdpr).is.equal(1);
+ expect(requestBid.gdpr_consent).is.equal('abc123def');
+ });
+
+ it('check gdpr info gets added into cookie_sync request: have consent data but gdprApplies is false', () => {
+ let cookieSyncConfig = utils.deepClone(CONFIG);
+ cookieSyncConfig.syncEndpoint = 'https://prebid.adnxs.com/pbs/v1/cookie_sync';
+
+ let consentConfig = { consentManagement: { cmpApi: 'iab' }, s2sConfig: cookieSyncConfig };
+ config.setConfig(consentConfig);
+
+ let gdprBidRequest = utils.deepClone(BID_REQUESTS);
+ gdprBidRequest[0].gdprConsent = {
+ consentString: 'xyz789abcc',
+ gdprApplies: false
+ };
+
+ adapter.callBids(REQUEST, gdprBidRequest, addBidResponse, done, ajax);
+ let requestBid = JSON.parse(requests[0].requestBody);
+
+ expect(requestBid.gdpr).is.equal(0);
+ expect(requestBid.gdpr_consent).is.undefined;
+ });
+
+ it('checks gdpr info gets added to cookie_sync request: consent data unknown', () => {
+ let cookieSyncConfig = utils.deepClone(CONFIG);
+ cookieSyncConfig.syncEndpoint = 'https://prebid.adnxs.com/pbs/v1/cookie_sync';
+
+ let consentConfig = { consentManagement: { cmpApi: 'iab' }, s2sConfig: cookieSyncConfig };
+ config.setConfig(consentConfig);
+
+ let gdprBidRequest = utils.deepClone(BID_REQUESTS);
+ gdprBidRequest[0].gdprConsent = {
+ consentString: undefined,
+ gdprApplies: undefined
+ };
+
+ adapter.callBids(REQUEST, gdprBidRequest, addBidResponse, done, ajax);
+ let requestBid = JSON.parse(requests[0].requestBody);
+
+ expect(requestBid.gdpr).is.undefined;
+ expect(requestBid.gdpr_consent).is.undefined;
+ });
+
it('sets invalid cacheMarkup value to 0', () => {
const s2sConfig = Object.assign({}, CONFIG, {
cacheMarkup: 999
@@ -794,31 +856,6 @@ describe('S2S Adapter', () => {
expect(bid_request_passed).to.have.property('adId', '123');
});
- it('does cookie sync when no_cookie response', () => {
- server.respondWith(JSON.stringify(RESPONSE_NO_PBS_COOKIE));
-
- config.setConfig({s2sConfig: CONFIG});
- adapter.callBids(REQUEST, BID_REQUESTS, addBidResponse, done, ajax);
- server.respond();
-
- sinon.assert.calledOnce(utils.triggerPixel);
- sinon.assert.calledWith(utils.triggerPixel, 'https://pixel.rubiconproject.com/exchange/sync.php?p=prebid');
- sinon.assert.calledOnce(utils.insertUserSyncIframe);
- sinon.assert.calledWith(utils.insertUserSyncIframe, '//ads.pubmatic.com/AdServer/js/user_sync.html?predirect=https%3A%2F%2Fprebid.adnxs.com%2Fpbs%2Fv1%2Fsetuid%3Fbidder%3Dpubmatic%26uid%3D');
- });
-
- it('logs error when no_cookie response is missing type or url', () => {
- server.respondWith(JSON.stringify(RESPONSE_NO_PBS_COOKIE_ERROR));
-
- config.setConfig({s2sConfig: CONFIG});
- adapter.callBids(REQUEST, BID_REQUESTS, addBidResponse, done, ajax);
- server.respond();
-
- sinon.assert.notCalled(utils.triggerPixel);
- sinon.assert.notCalled(utils.insertUserSyncIframe);
- sinon.assert.calledTwice(utils.logError);
- });
-
it('does not call cookieSet cookie sync when no_cookie response && not opted in', () => {
server.respondWith(JSON.stringify(RESPONSE_NO_PBS_COOKIE));
From 103c015b3595383849184d8bb7b0f0be6289e5a1 Mon Sep 17 00:00:00 2001
From: jsnellbaker <31102355+jsnellbaker@users.noreply.github.com>
Date: Tue, 15 May 2018 14:34:10 -0400
Subject: [PATCH 155/171] replace find reference with imported version (#2542)
---
src/auction.js | 2 +-
test/spec/auctionmanager_spec.js | 3 ++-
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/src/auction.js b/src/auction.js
index df87641b5fc..654b6dbb189 100644
--- a/src/auction.js
+++ b/src/auction.js
@@ -298,7 +298,7 @@ function getPreparedBidForAuction({adUnitCode, bid, bidRequest, auctionId}) {
events.emit(CONSTANTS.EVENTS.BID_ADJUSTMENT, bidObject);
// a publisher-defined renderer can be used to render bids
- const bidReq = bidRequest.bids && bidRequest.bids.find(bid => bid.adUnitCode == adUnitCode);
+ const bidReq = bidRequest.bids && find(bidRequest.bids, bid => bid.adUnitCode == adUnitCode);
const adUnitRenderer = bidReq && bidReq.renderer;
if (adUnitRenderer && adUnitRenderer.url) {
diff --git a/test/spec/auctionmanager_spec.js b/test/spec/auctionmanager_spec.js
index fff0150adb0..6fbc48b3cdc 100644
--- a/test/spec/auctionmanager_spec.js
+++ b/test/spec/auctionmanager_spec.js
@@ -7,6 +7,7 @@ import { newBidder, registerBidder } from 'src/adapters/bidderFactory';
import { config } from 'src/config';
import * as store from 'src/videoCache';
import * as ajaxLib from 'src/ajax';
+import find from 'core-js/library/fn/array/find';
const adloader = require('../../src/adloader');
var assert = require('assert');
@@ -669,7 +670,7 @@ describe('auctionmanager.js', function () {
auction.callBids();
- const addedBid = auction.getBidsReceived().find(bid => bid.adUnitCode == ADUNIT_CODE);
+ const addedBid = find(auction.getBidsReceived(), bid => bid.adUnitCode == ADUNIT_CODE);
assert.equal(addedBid.renderer.url, 'renderer.js');
});
});
From 849fdf184c19b44e54b502a8e0873f6102f553dc Mon Sep 17 00:00:00 2001
From: Jason Snellbaker
Date: Tue, 15 May 2018 15:32:33 -0400
Subject: [PATCH 156/171] Prebid 1.11.0 release
---
package.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/package.json b/package.json
index 28cb310599e..e6f1e3a18b3 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "prebid.js",
- "version": "1.11.0-pre",
+ "version": "1.11.0",
"description": "Header Bidding Management Library",
"main": "src/prebid.js",
"scripts": {
From 3495970e955f3d84f0015ac1c8520f658584a46c Mon Sep 17 00:00:00 2001
From: vzhukovsky
Date: Thu, 17 May 2018 16:58:04 +0300
Subject: [PATCH 157/171] Added partners ids.
---
modules/aolPartnersIds.json | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/modules/aolPartnersIds.json b/modules/aolPartnersIds.json
index c83c78391a4..3ddecff8b2e 100644
--- a/modules/aolPartnersIds.json
+++ b/modules/aolPartnersIds.json
@@ -142,5 +142,9 @@
"fairtrade": 141,
"vuble": 142,
"contentignite": 143,
- "oneplanetonly": 144
+ "oneplanetonly": 144,
+ "ebdr": 145,
+ "lockerdome": 146,
+ "adtelligent": 147,
+ "clickforce": 148
}
From 350c0082834d26850572e8b7f8a8639fe63b12f4 Mon Sep 17 00:00:00 2001
From: vzhukovsky
Date: Thu, 17 May 2018 16:59:11 +0300
Subject: [PATCH 158/171] Added changelog entry.
---
CHANGELOG | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/CHANGELOG b/CHANGELOG
index f7a8ead176b..63eb2ea6898 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,8 @@
+AOL Prebid 2.7.0
+----------------
+Updated to Prebid 1.7.0
+
+
AOL Prebid 2.6.0
----------------
Updated to Prebid 1.6.0
From fd19ed50bb9d49dd5278a4e3a7b0c97f1ab29807 Mon Sep 17 00:00:00 2001
From: vzhukovsky
Date: Thu, 17 May 2018 17:27:11 +0300
Subject: [PATCH 159/171] Added partners ids.
---
modules/aolPartnersIds.json | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/modules/aolPartnersIds.json b/modules/aolPartnersIds.json
index 3ddecff8b2e..b992ed3905f 100644
--- a/modules/aolPartnersIds.json
+++ b/modules/aolPartnersIds.json
@@ -146,5 +146,11 @@
"ebdr": 145,
"lockerdome": 146,
"adtelligent": 147,
- "clickforce": 148
+ "clickforce": 148,
+ "madvertise": 149,
+ "lkqd": 150,
+ "sara": 151,
+ "rtbdemandadk": 152,
+ "visx": 153,
+ "unruly": 154
}
From f619c9d1d67f42bbd02a580f417dd78ea9dc6eb3 Mon Sep 17 00:00:00 2001
From: vzhukovsky
Date: Thu, 17 May 2018 17:28:19 +0300
Subject: [PATCH 160/171] Added changelog entry.
---
CHANGELOG | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/CHANGELOG b/CHANGELOG
index 63eb2ea6898..671a69a9892 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,8 @@
+AOL Prebid 2.8.0
+----------------
+Updated to Prebid 1.8.0
+
+
AOL Prebid 2.7.0
----------------
Updated to Prebid 1.7.0
From bfa2c95782fdf36e2d574d769372b636cc273f1a Mon Sep 17 00:00:00 2001
From: vzhukovsky
Date: Fri, 18 May 2018 12:27:20 +0300
Subject: [PATCH 161/171] Added partners ids.
---
modules/aolPartnersIds.json | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/modules/aolPartnersIds.json b/modules/aolPartnersIds.json
index b992ed3905f..b766b03b9ef 100644
--- a/modules/aolPartnersIds.json
+++ b/modules/aolPartnersIds.json
@@ -152,5 +152,8 @@
"sara": 151,
"rtbdemandadk": 152,
"visx": 153,
- "unruly": 154
+ "unruly": 154,
+ "dgads": 155,
+ "consumable": 156,
+ "admatic": 157
}
From f28e27182602e0f4a0b2a3c1a14d57533d667bf4 Mon Sep 17 00:00:00 2001
From: vzhukovsky
Date: Fri, 18 May 2018 12:44:08 +0300
Subject: [PATCH 162/171] Added passing GDPR flag when consent string is not
present.
---
modules/aolBidAdapter.js | 119 ++++++++++++++----------
test/spec/modules/aolBidAdapter_spec.js | 48 +++++++---
2 files changed, 104 insertions(+), 63 deletions(-)
diff --git a/modules/aolBidAdapter.js b/modules/aolBidAdapter.js
index a7da6f319ae..967014bc79c 100644
--- a/modules/aolBidAdapter.js
+++ b/modules/aolBidAdapter.js
@@ -31,7 +31,7 @@ const SYNC_TYPES = {
}
};
-const pubapiTemplate = template`//${'host'}/pubapi/3.0/${'network'}/${'placement'}/${'pageid'}/${'sizeid'}/ADTECH;v=2;cmd=bid;cors=yes;alias=${'alias'};misc=${'misc'}${'bidfloor'}${'keyValues'}${'consentData'}`;
+const pubapiTemplate = template`//${'host'}/pubapi/3.0/${'network'}/${'placement'}/${'pageid'}/${'sizeid'}/ADTECH;v=2;cmd=bid;cors=yes;alias=${'alias'};misc=${'misc'};${'dynamicParams'}`;
const nexageBaseApiTemplate = template`//${'host'}/bidRequest?`;
const nexageGetApiTemplate = template`dcn=${'dcn'}&pos=${'pos'}&cmd=bid${'dynamicParams'}`;
const MP_SERVER_MAP = {
@@ -48,6 +48,11 @@ $$PREBID_GLOBAL$$.aolGlobals = {
pixelsDropped: false
};
+const NUMERIC_VALUES = {
+ TRUE: 1,
+ FALSE: 0
+};
+
let showCpmAdjustmentWarning = (function() {
let showCpmWarning = true;
@@ -102,20 +107,6 @@ function parsePixelItems(pixels) {
return pixelsItems;
}
-function formatMarketplaceBidFloor(bidFloor) {
- return (typeof bidFloor !== 'undefined') ? `;bidfloor=${bidFloor.toString()}` : '';
-}
-
-function formatMarketplaceKeyValues(keyValues) {
- let formattedKeyValues = '';
-
- utils._each(keyValues, (value, key) => {
- formattedKeyValues += `;kv${key}=${encodeURIComponent(value)}`;
- });
-
- return formattedKeyValues;
-}
-
function _isMarketplaceBidder(bidder) {
return bidder === AOL_BIDDERS_CODES.AOL || bidder === AOL_BIDDERS_CODES.ONEDISPLAY;
}
@@ -220,21 +211,21 @@ export const spec = {
};
break;
- case AOL_ENDPOINTS.MOBILE.POST:
- bidRequest = {
- url: this.buildOneMobileBaseUrl(bid),
- method: 'POST',
- ttl: ONE_MOBILE_TTL,
- data: this.buildOpenRtbRequestData(bid, consentData),
-
- contentType: 'application/json',options: {
- customHeaders: {
- 'x-openrtb-version': '2.2'
+ case AOL_ENDPOINTS.MOBILE.POST:
+ bidRequest = {
+ url: this.buildOneMobileBaseUrl(bid),
+ method: 'POST',
+ ttl: ONE_MOBILE_TTL,
+ data: this.buildOpenRtbRequestData(bid, consentData),
+ contentType: 'application/json',
+ options: {
+ customHeaders: {
+ 'x-openrtb-version': '2.2'
+ }
}
- }
- };
- break;
- }
+ };
+ break;
+ }
bidRequest.bidderCode = bid.bidder;
bidRequest.bidId = bid.bidId;
@@ -269,10 +260,8 @@ export const spec = {
pageid: params.pageId || 0,
sizeid: params.sizeId || 0,
alias: params.alias || utils.getUniqueIdentifierStr(),
- misc: new Date().getTime(), // cache busting,
- bidfloor: formatMarketplaceBidFloor(params.bidFloor),
- keyValues: formatMarketplaceKeyValues(params.keyValues),
- consentData: this.formatMarketplaceConsentData(consentData)
+ misc: new Date().getTime(), // cache busting
+ dynamicParams: this.formatMarketplaceDynamicParams(params, consentData)
});
},
buildOneMobileGetUrl(bid, consentData) {
@@ -289,15 +278,29 @@ export const spec = {
host: bid.params.host || NEXAGE_SERVER
});
},
+ formatMarketplaceDynamicParams(params = {}, consentData) {
+ let queryParams = {};
+
+ if (params.bidFloor) {
+ queryParams.bidfloor = params.bidFloor;
+ }
+
+ Object.assign(queryParams, this.formatKeyValues(params.keyValues));
+ Object.assign(queryParams, this.formatConsentData(consentData));
+
+ let paramsFormatted = '';
+ utils._each(queryParams, (value, key) => {
+ paramsFormatted += `${key}=${encodeURIComponent(value)};`;
+ });
+
+ return paramsFormatted;
+ },
formatOneMobileDynamicParams(params = {}, consentData) {
if (this.isSecureProtocol()) {
- params.secure = 1;
+ params.secure = NUMERIC_VALUES.TRUE;
}
- if (this.isConsentRequired(consentData)) {
- params.euconsent = consentData.consentString;
- params.gdpr = 1;
- }
+ Object.assign(params, this.formatConsentData(consentData));
let paramsFormatted = '';
utils._each(params, (value, key) => {
@@ -313,27 +316,47 @@ export const spec = {
};
if (this.isConsentRequired(consentData)) {
- openRtbObject.user = {
- ext: {
- consent: consentData.consentString
- }
- };
openRtbObject.regs = {
ext: {
- gdpr: 1
+ gdpr: NUMERIC_VALUES.TRUE
}
};
+
+ if (consentData.consentString) {
+ openRtbObject.user = {
+ ext: {
+ consent: consentData.consentString
+ }
+ };
+ }
}
return openRtbObject;
},
isConsentRequired(consentData) {
- return !!(consentData && consentData.consentString && consentData.gdprApplies);
+ return !!(consentData && consentData.gdprApplies);
+ },
+ formatKeyValues(keyValues) {
+ let keyValuesHash = {};
+
+ utils._each(keyValues, (value, key) => {
+ keyValuesHash[`kv${key}`] = value;
+ });
+
+ return keyValuesHash;
},
- formatMarketplaceConsentData(consentData) {
- let consentRequired = this.isConsentRequired(consentData);
+ formatConsentData(consentData) {
+ let params = {};
+
+ if (this.isConsentRequired(consentData)) {
+ params.gdpr = NUMERIC_VALUES.TRUE;
+
+ if (consentData.consentString) {
+ params.euconsent = consentData.consentString;
+ }
+ }
- return consentRequired ? `;euconsent=${consentData.consentString};gdpr=1` : '';
+ return params;
},
_parseBidResponse(response, bidRequest) {
diff --git a/test/spec/modules/aolBidAdapter_spec.js b/test/spec/modules/aolBidAdapter_spec.js
index a6cf6de6f98..e0456af4eac 100644
--- a/test/spec/modules/aolBidAdapter_spec.js
+++ b/test/spec/modules/aolBidAdapter_spec.js
@@ -590,13 +590,13 @@ describe('AolAdapter', () => {
expect(spec.isConsentRequired(null)).to.be.false;
});
- it('should return false when gdprApplies equals true and consentString is not present', () => {
+ it('should return true when gdprApplies equals true and consentString is not present', () => {
let consentData = {
consentString: null,
gdprApplies: true
};
- expect(spec.isConsentRequired(consentData)).to.be.false;
+ expect(spec.isConsentRequired(consentData)).to.be.true;
});
it('should return false when consentString is present and gdprApplies equals false', () => {
@@ -618,28 +618,46 @@ describe('AolAdapter', () => {
});
});
- describe('formatMarketplaceConsentData()', () => {
- let consentRequiredStub;
+ describe('formatMarketplaceDynamicParams()', () => {
+ let formatConsentDataStub;
+ let formatKeyValuesStub;
beforeEach(() => {
- consentRequiredStub = sinon.stub(spec, 'isConsentRequired');
+ formatConsentDataStub = sinon.stub(spec, 'formatConsentData');
+ formatKeyValuesStub = sinon.stub(spec, 'formatKeyValues');
});
afterEach(() => {
- consentRequiredStub.restore();
+ formatConsentDataStub.restore();
+ formatKeyValuesStub.restore();
});
- it('should return empty string when consent is not required', () => {
- consentRequiredStub.returns(false);
- expect(spec.formatMarketplaceConsentData()).to.be.equal('');
+ it('should return empty string when params are not present', () => {
+ expect(spec.formatMarketplaceDynamicParams()).to.be.equal('');
});
- it('should return formatted consent data when consent is required', () => {
- consentRequiredStub.returns(true);
- let formattedConsentData = spec.formatMarketplaceConsentData({
- consentString: 'test-consent'
+ it('should return formatted params when formatConsentData returns data', () => {
+ formatConsentDataStub.returns({
+ euconsent: 'test-consent',
+ gdpr: 1
+ });
+ expect(spec.formatMarketplaceDynamicParams()).to.be.equal('euconsent=test-consent;gdpr=1;');
+ });
+
+ it('should return formatted params when formatKeyValues returns data', () => {
+ formatKeyValuesStub.returns({
+ param1: 'val1',
+ param2: 'val2',
+ param3: 'val3'
});
- expect(formattedConsentData).to.be.equal(';euconsent=test-consent;gdpr=1');
+ expect(spec.formatMarketplaceDynamicParams()).to.be.equal('param1=val1;param2=val2;param3=val3;');
+ });
+
+ it('should return formatted bid floor param when it is present', () => {
+ let params = {
+ bidFloor: 0.45
+ };
+ expect(spec.formatMarketplaceDynamicParams(params)).to.be.equal('bidfloor=0.45;');
});
});
@@ -675,7 +693,7 @@ describe('AolAdapter', () => {
consentString: 'test-consent'
};
consentRequiredStub.returns(true);
- expect(spec.formatOneMobileDynamicParams({}, consentData)).to.be.equal('&euconsent=test-consent&gdpr=1');
+ expect(spec.formatOneMobileDynamicParams({}, consentData)).to.be.equal('&gdpr=1&euconsent=test-consent');
});
it('should return formatted secure param when isSecureProtocol returns true', () => {
From 75ef9c15ea05c97c8b467f464c0997a6904b883b Mon Sep 17 00:00:00 2001
From: vzhukovsky
Date: Fri, 18 May 2018 12:44:40 +0300
Subject: [PATCH 163/171] Added changelog entry.
---
CHANGELOG | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/CHANGELOG b/CHANGELOG
index 671a69a9892..2b9c2b4e007 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,10 @@
+AOL Prebid 2.9.0
+----------------
+Updated to Prebid 1.9.0
+Added GDPR support for AOL adapter.
+Added passing GDPR flag when consent string is not present.
+
+
AOL Prebid 2.8.0
----------------
Updated to Prebid 1.8.0
From 5664a481a8b3f051944f6e04d7c9b7fcd37d2ac3 Mon Sep 17 00:00:00 2001
From: vzhukovsky
Date: Fri, 18 May 2018 13:50:41 +0300
Subject: [PATCH 164/171] Added partners ids.
---
modules/aolPartnersIds.json | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/modules/aolPartnersIds.json b/modules/aolPartnersIds.json
index b766b03b9ef..37138e740f2 100644
--- a/modules/aolPartnersIds.json
+++ b/modules/aolPartnersIds.json
@@ -155,5 +155,8 @@
"unruly": 154,
"dgads": 155,
"consumable": 156,
- "admatic": 157
+ "admatic": 157,
+ "oneVideo": 158,
+ "onetag": 159,
+ "ix": 160
}
From 2952e8d0ff464d156209463280641aedf69f749d Mon Sep 17 00:00:00 2001
From: vzhukovsky
Date: Fri, 18 May 2018 13:52:00 +0300
Subject: [PATCH 165/171] Added changelog entry.
---
CHANGELOG | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/CHANGELOG b/CHANGELOG
index 2b9c2b4e007..6585ebf40e6 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,8 @@
+AOL Prebid 2.10.0
+----------------
+Updated to Prebid 1.10.0
+
+
AOL Prebid 2.9.0
----------------
Updated to Prebid 1.9.0
From 7c63e860b6520da77d7ef5630225f830906889ef Mon Sep 17 00:00:00 2001
From: vzhukovsky
Date: Fri, 18 May 2018 13:58:09 +0300
Subject: [PATCH 166/171] Added partners ids.
---
modules/aolPartnersIds.json | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/modules/aolPartnersIds.json b/modules/aolPartnersIds.json
index 37138e740f2..99894d95574 100644
--- a/modules/aolPartnersIds.json
+++ b/modules/aolPartnersIds.json
@@ -158,5 +158,7 @@
"admatic": 157,
"oneVideo": 158,
"onetag": 159,
- "ix": 160
+ "ix": 160,
+ "brainy": 161,
+ "gxone": 162
}
From 4526dcd684b7019b2e69c57c0f0c587c40489196 Mon Sep 17 00:00:00 2001
From: vzhukovsky
Date: Fri, 18 May 2018 13:59:19 +0300
Subject: [PATCH 167/171] Added changelog entry.
---
CHANGELOG | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/CHANGELOG b/CHANGELOG
index 6585ebf40e6..bcf929d926b 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,8 @@
+AOL Prebid 2.11.0
+----------------
+Updated to Prebid 1.11.0
+
+
AOL Prebid 2.10.0
----------------
Updated to Prebid 1.10.0
From b8db721fa76e434de94f7308ce743a6e886cc7ba Mon Sep 17 00:00:00 2001
From: vzhukovsky
Date: Mon, 21 May 2018 12:14:03 +0300
Subject: [PATCH 168/171] Renamed browserstack key for screwdriver.
---
karma.conf.maker.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/karma.conf.maker.js b/karma.conf.maker.js
index 5a348a41780..930c4d9309d 100644
--- a/karma.conf.maker.js
+++ b/karma.conf.maker.js
@@ -86,7 +86,7 @@ function setBrowsers(karmaConf, browserstack) {
if (browserstack) {
karmaConf.browserStack = {
username: process.env.BROWSERSTACK_USERNAME,
- accessKey: process.env.BROWSERSTACK_ACCESS_KEY
+ accessKey: process.env.BROWSERSTACK_KEY
}
if (process.env.TRAVIS) {
karmaConf.browserStack.startTunnel = false;
From d1560b20fbebe8163508336286d74b49cac94071 Mon Sep 17 00:00:00 2001
From: vzhukovsky
Date: Mon, 21 May 2018 13:57:13 +0300
Subject: [PATCH 169/171] Updated package-lock.json.
---
package-lock.json | 6905 +++++++++++++++++++++++++++++++++++++++------
package.json | 10 +-
2 files changed, 6016 insertions(+), 899 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index bd684f6406b..ab2ee9c093f 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,20 @@
{
"name": "prebid.js",
- "version": "1.9.0-pre",
+ "version": "1.10.0",
"lockfileVersion": 1,
+ "requires": true,
"dependencies": {
"@gulp-sourcemaps/identity-map": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/@gulp-sourcemaps/identity-map/-/identity-map-1.0.1.tgz",
"integrity": "sha1-z6I7xYQPkQTOMqZedNt+epdLvuE=",
+ "requires": {
+ "acorn": "5.5.3",
+ "css": "2.2.1",
+ "normalize-path": "2.1.1",
+ "source-map": "0.5.7",
+ "through2": "2.0.3"
+ },
"dependencies": {
"source-map": {
"version": "0.5.7",
@@ -18,13 +26,30 @@
"@gulp-sourcemaps/map-sources": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/@gulp-sourcemaps/map-sources/-/map-sources-1.0.0.tgz",
- "integrity": "sha1-iQrnxdjId/bThIYCFazp1+yUW9o="
+ "integrity": "sha1-iQrnxdjId/bThIYCFazp1+yUW9o=",
+ "requires": {
+ "normalize-path": "2.1.1",
+ "through2": "2.0.3"
+ }
},
"@sinonjs/formatio": {
"version": "2.0.0",
"resolved": "http://registry.npmjs.org/@sinonjs/formatio/-/formatio-2.0.0.tgz",
"integrity": "sha512-ls6CAMA6/5gG+O/IdsBcblvnd8qcO/l1TYoNeAzp3wcISOxlPXQEus0mLcdwazEkWjaBdaJ3TaxmNgCLWwvWzg==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "samsam": "1.3.0"
+ }
+ },
+ "JSONStream": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.2.tgz",
+ "integrity": "sha1-wQI3G27Dp887hHygDCC7D85Mbeo=",
+ "dev": true,
+ "requires": {
+ "jsonparse": "1.3.1",
+ "through": "2.3.8"
+ }
},
"abbrev": {
"version": "1.0.9",
@@ -36,7 +61,11 @@
"version": "1.2.13",
"resolved": "https://registry.npmjs.org/accepts/-/accepts-1.2.13.tgz",
"integrity": "sha1-5fHzkoxtlf2WVYw27D2dDeSm7Oo=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "mime-types": "2.1.18",
+ "negotiator": "0.5.3"
+ }
},
"acorn": {
"version": "5.5.3",
@@ -48,6 +77,9 @@
"resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-2.0.2.tgz",
"integrity": "sha1-x1K9IQvvZ5UBtsbLf8hPj0cVjMQ=",
"dev": true,
+ "requires": {
+ "acorn": "4.0.13"
+ },
"dependencies": {
"acorn": {
"version": "4.0.13",
@@ -62,6 +94,9 @@
"resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz",
"integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=",
"dev": true,
+ "requires": {
+ "acorn": "3.3.0"
+ },
"dependencies": {
"acorn": {
"version": "3.3.0",
@@ -89,6 +124,10 @@
"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-2.1.1.tgz",
"integrity": "sha1-1t4Q1a9hMtW9aSQn1G/FOFOQlMc=",
"dev": true,
+ "requires": {
+ "extend": "3.0.1",
+ "semver": "5.0.3"
+ },
"dependencies": {
"semver": {
"version": "5.0.3",
@@ -102,7 +141,12 @@
"version": "6.2.0",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.2.0.tgz",
"integrity": "sha1-r6wpW7qgFSRJ5SJ0LkVHwa6TKNI=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "fast-deep-equal": "1.1.0",
+ "fast-json-stable-stringify": "2.0.0",
+ "json-schema-traverse": "0.3.1"
+ }
},
"ajv-keywords": {
"version": "2.1.1",
@@ -115,12 +159,20 @@
"resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz",
"integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=",
"dev": true,
+ "requires": {
+ "kind-of": "3.2.2",
+ "longest": "1.0.1",
+ "repeat-string": "1.6.1"
+ },
"dependencies": {
"kind-of": {
"version": "3.2.2",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "is-buffer": "1.1.6"
+ }
}
}
},
@@ -135,6 +187,13 @@
"integrity": "sha512-l9mCs6LbydtHqRniRwYkKdqxVa6XMz3Vw1fh+2gJaaVgTM6Jk3o8RccAKWKtlhT1US5sWrFh+KKxsVUALURSIA==",
"dev": true,
"optional": true,
+ "requires": {
+ "bitsyntax": "0.0.4",
+ "bluebird": "3.5.1",
+ "buffer-more-ints": "0.0.2",
+ "readable-stream": "1.1.14",
+ "safe-buffer": "5.1.1"
+ },
"dependencies": {
"isarray": {
"version": "0.0.1",
@@ -148,7 +207,13 @@
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
"integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
"dev": true,
- "optional": true
+ "optional": true,
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "0.0.1",
+ "string_decoder": "0.10.31"
+ }
},
"string_decoder": {
"version": "0.10.31",
@@ -163,7 +228,10 @@
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz",
"integrity": "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "ansi-wrap": "0.1.0"
+ }
},
"ansi-escapes": {
"version": "3.1.0",
@@ -175,7 +243,10 @@
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz",
"integrity": "sha1-KWLPVOyXksSFEKPetSRDaGHvclE=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "ansi-wrap": "0.1.0"
+ }
},
"ansi-html": {
"version": "0.0.7",
@@ -205,25 +276,45 @@
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
"integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "micromatch": "3.1.10",
+ "normalize-path": "2.1.1"
+ }
},
"append-buffer": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/append-buffer/-/append-buffer-1.0.2.tgz",
"integrity": "sha1-2CIM9GYIFSXv6lBhTz3mUU36WPE=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "buffer-equal": "1.0.0"
+ }
},
"append-transform": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/append-transform/-/append-transform-0.4.0.tgz",
"integrity": "sha1-126/jKlNJ24keja61EpLdKthGZE=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "default-require-extensions": "1.0.0"
+ }
},
"archiver": {
"version": "0.14.4",
"resolved": "https://registry.npmjs.org/archiver/-/archiver-0.14.4.tgz",
"integrity": "sha1-W53bn17hzu8hy487Ag5iQOy0MVw=",
"dev": true,
+ "requires": {
+ "async": "0.9.2",
+ "buffer-crc32": "0.2.13",
+ "glob": "4.3.5",
+ "lazystream": "0.1.0",
+ "lodash": "3.2.0",
+ "readable-stream": "1.0.34",
+ "tar-stream": "1.1.5",
+ "zip-stream": "0.5.2"
+ },
"dependencies": {
"async": {
"version": "0.9.2",
@@ -235,7 +326,13 @@
"version": "4.3.5",
"resolved": "https://registry.npmjs.org/glob/-/glob-4.3.5.tgz",
"integrity": "sha1-gPuwjKVA8jiszl0R0em8QedRc9M=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "inflight": "1.0.6",
+ "inherits": "2.0.3",
+ "minimatch": "2.0.10",
+ "once": "1.4.0"
+ }
},
"isarray": {
"version": "0.0.1",
@@ -247,7 +344,10 @@
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/lazystream/-/lazystream-0.1.0.tgz",
"integrity": "sha1-GyXWPHcqTCDwpe0KnXf0hLbhaSA=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "readable-stream": "1.0.34"
+ }
},
"lodash": {
"version": "3.2.0",
@@ -259,13 +359,22 @@
"version": "2.0.10",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz",
"integrity": "sha1-jQh8OcazjAAbl/ynzm0OHoCvusc=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "brace-expansion": "1.1.11"
+ }
},
"readable-stream": {
"version": "1.0.34",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
"integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "0.0.1",
+ "string_decoder": "0.10.31"
+ }
},
"string_decoder": {
"version": "0.10.31",
@@ -285,7 +394,10 @@
"version": "1.0.10",
"resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
"integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "sprintf-js": "1.0.3"
+ }
},
"arr-diff": {
"version": "4.0.0",
@@ -339,7 +451,10 @@
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
"integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "array-uniq": "1.0.3"
+ }
},
"array-uniq": {
"version": "1.0.3",
@@ -381,13 +496,21 @@
"version": "4.10.1",
"resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz",
"integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "bn.js": "4.11.8",
+ "inherits": "2.0.3",
+ "minimalistic-assert": "1.0.1"
+ }
},
"assert": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz",
"integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "util": "0.10.3"
+ }
},
"assert-plus": {
"version": "0.2.0",
@@ -460,20 +583,29 @@
"integrity": "sha1-LJ1jiy4ZGgjqHWzJiOrda6W9wFM=",
"dev": true,
"optional": true,
+ "requires": {
+ "follow-redirects": "1.0.0"
+ },
"dependencies": {
"debug": {
"version": "2.6.9",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"dev": true,
- "optional": true
+ "optional": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
},
"follow-redirects": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.0.0.tgz",
"integrity": "sha1-jjQpjL0uF28lTv/sdaHHjMhJ/Tc=",
"dev": true,
- "optional": true
+ "optional": true,
+ "requires": {
+ "debug": "2.6.9"
+ }
}
}
},
@@ -481,19 +613,48 @@
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz",
"integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "chalk": "1.1.3",
+ "esutils": "2.0.2",
+ "js-tokens": "3.0.2"
+ }
},
"babel-core": {
"version": "6.22.0",
"resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.22.0.tgz",
"integrity": "sha1-ZD3q61ILzSsGwR45lFyHfgIA0Sg=",
"dev": true,
+ "requires": {
+ "babel-code-frame": "6.26.0",
+ "babel-generator": "6.26.1",
+ "babel-helpers": "6.24.1",
+ "babel-messages": "6.23.0",
+ "babel-register": "6.26.0",
+ "babel-runtime": "6.26.0",
+ "babel-template": "6.26.0",
+ "babel-traverse": "6.26.0",
+ "babel-types": "6.26.0",
+ "babylon": "6.18.0",
+ "convert-source-map": "1.5.1",
+ "debug": "2.6.9",
+ "json5": "0.5.1",
+ "lodash": "4.17.5",
+ "minimatch": "3.0.4",
+ "path-is-absolute": "1.0.1",
+ "private": "0.1.8",
+ "slash": "1.0.0",
+ "source-map": "0.5.7"
+ },
"dependencies": {
"debug": {
"version": "2.6.9",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
},
"source-map": {
"version": "0.5.7",
@@ -508,6 +669,16 @@
"resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz",
"integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==",
"dev": true,
+ "requires": {
+ "babel-messages": "6.23.0",
+ "babel-runtime": "6.26.0",
+ "babel-types": "6.26.0",
+ "detect-indent": "4.0.0",
+ "jsesc": "1.3.0",
+ "lodash": "4.17.5",
+ "source-map": "0.5.7",
+ "trim-right": "1.0.1"
+ },
"dependencies": {
"source-map": {
"version": "0.5.7",
@@ -521,109 +692,201 @@
"version": "6.24.1",
"resolved": "https://registry.npmjs.org/babel-helper-bindify-decorators/-/babel-helper-bindify-decorators-6.24.1.tgz",
"integrity": "sha1-FMGeXxQte0fxmlJDHlKxzLxAozA=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.26.0",
+ "babel-traverse": "6.26.0",
+ "babel-types": "6.26.0"
+ }
},
"babel-helper-builder-binary-assignment-operator-visitor": {
"version": "6.24.1",
"resolved": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz",
"integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "babel-helper-explode-assignable-expression": "6.24.1",
+ "babel-runtime": "6.26.0",
+ "babel-types": "6.26.0"
+ }
},
"babel-helper-builder-react-jsx": {
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-helper-builder-react-jsx/-/babel-helper-builder-react-jsx-6.26.0.tgz",
"integrity": "sha1-Of+DE7dci2Xc7/HzHTg+D/KkCKA=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.26.0",
+ "babel-types": "6.26.0",
+ "esutils": "2.0.2"
+ }
},
"babel-helper-call-delegate": {
"version": "6.24.1",
"resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz",
"integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "babel-helper-hoist-variables": "6.24.1",
+ "babel-runtime": "6.26.0",
+ "babel-traverse": "6.26.0",
+ "babel-types": "6.26.0"
+ }
},
"babel-helper-define-map": {
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz",
"integrity": "sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "babel-helper-function-name": "6.24.1",
+ "babel-runtime": "6.26.0",
+ "babel-types": "6.26.0",
+ "lodash": "4.17.5"
+ }
},
"babel-helper-explode-assignable-expression": {
"version": "6.24.1",
"resolved": "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz",
"integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.26.0",
+ "babel-traverse": "6.26.0",
+ "babel-types": "6.26.0"
+ }
},
"babel-helper-explode-class": {
"version": "6.24.1",
"resolved": "https://registry.npmjs.org/babel-helper-explode-class/-/babel-helper-explode-class-6.24.1.tgz",
"integrity": "sha1-fcKjkQ3uAHBW4eMdZAztPVTqqes=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "babel-helper-bindify-decorators": "6.24.1",
+ "babel-runtime": "6.26.0",
+ "babel-traverse": "6.26.0",
+ "babel-types": "6.26.0"
+ }
},
"babel-helper-function-name": {
"version": "6.24.1",
"resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz",
"integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "babel-helper-get-function-arity": "6.24.1",
+ "babel-runtime": "6.26.0",
+ "babel-template": "6.26.0",
+ "babel-traverse": "6.26.0",
+ "babel-types": "6.26.0"
+ }
},
"babel-helper-get-function-arity": {
"version": "6.24.1",
"resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz",
"integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.26.0",
+ "babel-types": "6.26.0"
+ }
},
"babel-helper-hoist-variables": {
"version": "6.24.1",
"resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz",
"integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.26.0",
+ "babel-types": "6.26.0"
+ }
},
"babel-helper-optimise-call-expression": {
"version": "6.24.1",
"resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz",
"integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.26.0",
+ "babel-types": "6.26.0"
+ }
},
"babel-helper-regex": {
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz",
"integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.26.0",
+ "babel-types": "6.26.0",
+ "lodash": "4.17.5"
+ }
},
"babel-helper-remap-async-to-generator": {
"version": "6.24.1",
"resolved": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz",
"integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "babel-helper-function-name": "6.24.1",
+ "babel-runtime": "6.26.0",
+ "babel-template": "6.26.0",
+ "babel-traverse": "6.26.0",
+ "babel-types": "6.26.0"
+ }
},
"babel-helper-replace-supers": {
"version": "6.24.1",
"resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz",
"integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "babel-helper-optimise-call-expression": "6.24.1",
+ "babel-messages": "6.23.0",
+ "babel-runtime": "6.26.0",
+ "babel-template": "6.26.0",
+ "babel-traverse": "6.26.0",
+ "babel-types": "6.26.0"
+ }
},
"babel-helpers": {
"version": "6.24.1",
"resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz",
"integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.26.0",
+ "babel-template": "6.26.0"
+ }
},
"babel-loader": {
"version": "7.1.4",
"resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-7.1.4.tgz",
"integrity": "sha512-/hbyEvPzBJuGpk9o80R0ZyTej6heEOr59GoEUtn8qFKbnx4cJm9FWES6J/iv644sYgrtVw9JJQkjaLW/bqb5gw==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "find-cache-dir": "1.0.0",
+ "loader-utils": "1.1.0",
+ "mkdirp": "0.5.1"
+ }
},
"babel-messages": {
"version": "6.23.0",
"resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz",
"integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.26.0"
+ }
},
"babel-plugin-check-es2015-constants": {
"version": "6.22.0",
"resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz",
"integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.26.0"
+ }
},
"babel-plugin-syntax-async-functions": {
"version": "6.13.0",
@@ -713,312 +976,600 @@
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/babel-plugin-system-import-transformer/-/babel-plugin-system-import-transformer-3.1.0.tgz",
"integrity": "sha1-038Mro5h7zkGAggzHZMbXmMNfF8=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "babel-plugin-syntax-dynamic-import": "6.18.0"
+ }
},
"babel-plugin-transform-async-generator-functions": {
"version": "6.24.1",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-6.24.1.tgz",
"integrity": "sha1-8FiQAUX9PpkHpt3yjaWfIVJYpds=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "babel-helper-remap-async-to-generator": "6.24.1",
+ "babel-plugin-syntax-async-generators": "6.13.0",
+ "babel-runtime": "6.26.0"
+ }
},
"babel-plugin-transform-async-to-generator": {
"version": "6.24.1",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz",
"integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "babel-helper-remap-async-to-generator": "6.24.1",
+ "babel-plugin-syntax-async-functions": "6.13.0",
+ "babel-runtime": "6.26.0"
+ }
},
"babel-plugin-transform-class-constructor-call": {
"version": "6.24.1",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-class-constructor-call/-/babel-plugin-transform-class-constructor-call-6.24.1.tgz",
"integrity": "sha1-gNwoVQWsBn3LjWxl4vbxGrd2Xvk=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "babel-plugin-syntax-class-constructor-call": "6.18.0",
+ "babel-runtime": "6.26.0",
+ "babel-template": "6.26.0"
+ }
},
"babel-plugin-transform-class-properties": {
"version": "6.24.1",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz",
"integrity": "sha1-anl2PqYdM9NvN7YRqp3vgagbRqw=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "babel-helper-function-name": "6.24.1",
+ "babel-plugin-syntax-class-properties": "6.13.0",
+ "babel-runtime": "6.26.0",
+ "babel-template": "6.26.0"
+ }
},
"babel-plugin-transform-decorators": {
"version": "6.24.1",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-decorators/-/babel-plugin-transform-decorators-6.24.1.tgz",
"integrity": "sha1-eIAT2PjGtSIr33s0Q5Df13Vp4k0=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "babel-helper-explode-class": "6.24.1",
+ "babel-plugin-syntax-decorators": "6.13.0",
+ "babel-runtime": "6.26.0",
+ "babel-template": "6.26.0",
+ "babel-types": "6.26.0"
+ }
},
"babel-plugin-transform-decorators-legacy": {
"version": "1.3.4",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-decorators-legacy/-/babel-plugin-transform-decorators-legacy-1.3.4.tgz",
"integrity": "sha1-dBtY9sW86eYCfgiC2cmU8E82aSU=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "babel-plugin-syntax-decorators": "6.13.0",
+ "babel-runtime": "6.26.0",
+ "babel-template": "6.26.0"
+ }
},
"babel-plugin-transform-do-expressions": {
"version": "6.22.0",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-do-expressions/-/babel-plugin-transform-do-expressions-6.22.0.tgz",
"integrity": "sha1-KMyvkoEtlJws0SgfaQyP3EaK6bs=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "babel-plugin-syntax-do-expressions": "6.13.0",
+ "babel-runtime": "6.26.0"
+ }
},
"babel-plugin-transform-es2015-arrow-functions": {
"version": "6.22.0",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz",
"integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.26.0"
+ }
},
"babel-plugin-transform-es2015-block-scoped-functions": {
"version": "6.22.0",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz",
"integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.26.0"
+ }
},
"babel-plugin-transform-es2015-block-scoping": {
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz",
"integrity": "sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.26.0",
+ "babel-template": "6.26.0",
+ "babel-traverse": "6.26.0",
+ "babel-types": "6.26.0",
+ "lodash": "4.17.5"
+ }
},
"babel-plugin-transform-es2015-classes": {
"version": "6.24.1",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz",
"integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "babel-helper-define-map": "6.26.0",
+ "babel-helper-function-name": "6.24.1",
+ "babel-helper-optimise-call-expression": "6.24.1",
+ "babel-helper-replace-supers": "6.24.1",
+ "babel-messages": "6.23.0",
+ "babel-runtime": "6.26.0",
+ "babel-template": "6.26.0",
+ "babel-traverse": "6.26.0",
+ "babel-types": "6.26.0"
+ }
},
"babel-plugin-transform-es2015-computed-properties": {
"version": "6.24.1",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz",
"integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.26.0",
+ "babel-template": "6.26.0"
+ }
},
"babel-plugin-transform-es2015-destructuring": {
"version": "6.23.0",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz",
"integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.26.0"
+ }
},
"babel-plugin-transform-es2015-duplicate-keys": {
"version": "6.24.1",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz",
"integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.26.0",
+ "babel-types": "6.26.0"
+ }
},
"babel-plugin-transform-es2015-for-of": {
"version": "6.23.0",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz",
"integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.26.0"
+ }
},
"babel-plugin-transform-es2015-function-name": {
"version": "6.24.1",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz",
"integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "babel-helper-function-name": "6.24.1",
+ "babel-runtime": "6.26.0",
+ "babel-types": "6.26.0"
+ }
},
"babel-plugin-transform-es2015-literals": {
"version": "6.22.0",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz",
"integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.26.0"
+ }
},
"babel-plugin-transform-es2015-modules-amd": {
"version": "6.24.1",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz",
"integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "babel-plugin-transform-es2015-modules-commonjs": "6.26.0",
+ "babel-runtime": "6.26.0",
+ "babel-template": "6.26.0"
+ }
},
"babel-plugin-transform-es2015-modules-commonjs": {
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.0.tgz",
"integrity": "sha1-DYOUApt9xqvhqX7xgeAHWN0uXYo=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "babel-plugin-transform-strict-mode": "6.24.1",
+ "babel-runtime": "6.26.0",
+ "babel-template": "6.26.0",
+ "babel-types": "6.26.0"
+ }
},
"babel-plugin-transform-es2015-modules-systemjs": {
"version": "6.24.1",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz",
"integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "babel-helper-hoist-variables": "6.24.1",
+ "babel-runtime": "6.26.0",
+ "babel-template": "6.26.0"
+ }
},
"babel-plugin-transform-es2015-modules-umd": {
"version": "6.24.1",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz",
"integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "babel-plugin-transform-es2015-modules-amd": "6.24.1",
+ "babel-runtime": "6.26.0",
+ "babel-template": "6.26.0"
+ }
},
"babel-plugin-transform-es2015-object-super": {
"version": "6.24.1",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz",
"integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "babel-helper-replace-supers": "6.24.1",
+ "babel-runtime": "6.26.0"
+ }
},
"babel-plugin-transform-es2015-parameters": {
"version": "6.24.1",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz",
"integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "babel-helper-call-delegate": "6.24.1",
+ "babel-helper-get-function-arity": "6.24.1",
+ "babel-runtime": "6.26.0",
+ "babel-template": "6.26.0",
+ "babel-traverse": "6.26.0",
+ "babel-types": "6.26.0"
+ }
},
"babel-plugin-transform-es2015-shorthand-properties": {
"version": "6.24.1",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz",
"integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.26.0",
+ "babel-types": "6.26.0"
+ }
},
"babel-plugin-transform-es2015-spread": {
"version": "6.22.0",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz",
"integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.26.0"
+ }
},
"babel-plugin-transform-es2015-sticky-regex": {
"version": "6.24.1",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz",
"integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "babel-helper-regex": "6.26.0",
+ "babel-runtime": "6.26.0",
+ "babel-types": "6.26.0"
+ }
},
"babel-plugin-transform-es2015-template-literals": {
"version": "6.22.0",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz",
"integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.26.0"
+ }
},
"babel-plugin-transform-es2015-typeof-symbol": {
"version": "6.23.0",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz",
"integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.26.0"
+ }
},
"babel-plugin-transform-es2015-unicode-regex": {
"version": "6.24.1",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz",
"integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "babel-helper-regex": "6.26.0",
+ "babel-runtime": "6.26.0",
+ "regexpu-core": "2.0.0"
+ }
},
"babel-plugin-transform-exponentiation-operator": {
"version": "6.24.1",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz",
"integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "babel-helper-builder-binary-assignment-operator-visitor": "6.24.1",
+ "babel-plugin-syntax-exponentiation-operator": "6.13.0",
+ "babel-runtime": "6.26.0"
+ }
},
"babel-plugin-transform-export-extensions": {
"version": "6.22.0",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-export-extensions/-/babel-plugin-transform-export-extensions-6.22.0.tgz",
"integrity": "sha1-U3OLR+deghhYnuqUbLvTkQm75lM=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "babel-plugin-syntax-export-extensions": "6.13.0",
+ "babel-runtime": "6.26.0"
+ }
},
"babel-plugin-transform-flow-strip-types": {
"version": "6.22.0",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.22.0.tgz",
"integrity": "sha1-hMtnKTXUNxT9wyvOhFaNh0Qc988=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "babel-plugin-syntax-flow": "6.18.0",
+ "babel-runtime": "6.26.0"
+ }
},
"babel-plugin-transform-function-bind": {
"version": "6.22.0",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-function-bind/-/babel-plugin-transform-function-bind-6.22.0.tgz",
"integrity": "sha1-xvuOlqwpajELjPjqQBRiQH3fapc=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "babel-plugin-syntax-function-bind": "6.13.0",
+ "babel-runtime": "6.26.0"
+ }
},
"babel-plugin-transform-object-assign": {
"version": "6.22.0",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-object-assign/-/babel-plugin-transform-object-assign-6.22.0.tgz",
- "integrity": "sha1-+Z0vZvGgsNSY40bFNZaEdAyqILo="
+ "integrity": "sha1-+Z0vZvGgsNSY40bFNZaEdAyqILo=",
+ "requires": {
+ "babel-runtime": "6.26.0"
+ }
},
"babel-plugin-transform-object-rest-spread": {
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz",
"integrity": "sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "babel-plugin-syntax-object-rest-spread": "6.13.0",
+ "babel-runtime": "6.26.0"
+ }
},
"babel-plugin-transform-react-display-name": {
"version": "6.25.0",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-react-display-name/-/babel-plugin-transform-react-display-name-6.25.0.tgz",
"integrity": "sha1-Z+K/Hx6ck6sI25Z5LgU5K/LMKNE=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.26.0"
+ }
},
"babel-plugin-transform-react-jsx": {
"version": "6.24.1",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx/-/babel-plugin-transform-react-jsx-6.24.1.tgz",
"integrity": "sha1-hAoCjn30YN/DotKfDA2R9jduZqM=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "babel-helper-builder-react-jsx": "6.26.0",
+ "babel-plugin-syntax-jsx": "6.18.0",
+ "babel-runtime": "6.26.0"
+ }
},
"babel-plugin-transform-react-jsx-self": {
"version": "6.22.0",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-self/-/babel-plugin-transform-react-jsx-self-6.22.0.tgz",
"integrity": "sha1-322AqdomEqEh5t3XVYvL7PBuY24=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "babel-plugin-syntax-jsx": "6.18.0",
+ "babel-runtime": "6.26.0"
+ }
},
"babel-plugin-transform-react-jsx-source": {
"version": "6.22.0",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-source/-/babel-plugin-transform-react-jsx-source-6.22.0.tgz",
"integrity": "sha1-ZqwSFT9c0tF7PBkmj0vwGX9E7NY=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "babel-plugin-syntax-jsx": "6.18.0",
+ "babel-runtime": "6.26.0"
+ }
},
"babel-plugin-transform-regenerator": {
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz",
"integrity": "sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "regenerator-transform": "0.10.1"
+ }
},
"babel-plugin-transform-strict-mode": {
"version": "6.24.1",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz",
"integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.26.0",
+ "babel-types": "6.26.0"
+ }
},
"babel-preset-env": {
"version": "1.6.1",
"resolved": "https://registry.npmjs.org/babel-preset-env/-/babel-preset-env-1.6.1.tgz",
"integrity": "sha512-W6VIyA6Ch9ePMI7VptNn2wBM6dbG0eSz25HEiL40nQXCsXGTGZSTZu1Iap+cj3Q0S5a7T9+529l/5Bkvd+afNA==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "babel-plugin-check-es2015-constants": "6.22.0",
+ "babel-plugin-syntax-trailing-function-commas": "6.22.0",
+ "babel-plugin-transform-async-to-generator": "6.24.1",
+ "babel-plugin-transform-es2015-arrow-functions": "6.22.0",
+ "babel-plugin-transform-es2015-block-scoped-functions": "6.22.0",
+ "babel-plugin-transform-es2015-block-scoping": "6.26.0",
+ "babel-plugin-transform-es2015-classes": "6.24.1",
+ "babel-plugin-transform-es2015-computed-properties": "6.24.1",
+ "babel-plugin-transform-es2015-destructuring": "6.23.0",
+ "babel-plugin-transform-es2015-duplicate-keys": "6.24.1",
+ "babel-plugin-transform-es2015-for-of": "6.23.0",
+ "babel-plugin-transform-es2015-function-name": "6.24.1",
+ "babel-plugin-transform-es2015-literals": "6.22.0",
+ "babel-plugin-transform-es2015-modules-amd": "6.24.1",
+ "babel-plugin-transform-es2015-modules-commonjs": "6.26.0",
+ "babel-plugin-transform-es2015-modules-systemjs": "6.24.1",
+ "babel-plugin-transform-es2015-modules-umd": "6.24.1",
+ "babel-plugin-transform-es2015-object-super": "6.24.1",
+ "babel-plugin-transform-es2015-parameters": "6.24.1",
+ "babel-plugin-transform-es2015-shorthand-properties": "6.24.1",
+ "babel-plugin-transform-es2015-spread": "6.22.0",
+ "babel-plugin-transform-es2015-sticky-regex": "6.24.1",
+ "babel-plugin-transform-es2015-template-literals": "6.22.0",
+ "babel-plugin-transform-es2015-typeof-symbol": "6.23.0",
+ "babel-plugin-transform-es2015-unicode-regex": "6.24.1",
+ "babel-plugin-transform-exponentiation-operator": "6.24.1",
+ "babel-plugin-transform-regenerator": "6.26.0",
+ "browserslist": "2.11.3",
+ "invariant": "2.2.4",
+ "semver": "5.5.0"
+ }
},
"babel-preset-flow": {
"version": "6.23.0",
"resolved": "https://registry.npmjs.org/babel-preset-flow/-/babel-preset-flow-6.23.0.tgz",
"integrity": "sha1-5xIYiHCFrpoktb5Baa/7WZgWxJ0=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "babel-plugin-transform-flow-strip-types": "6.22.0"
+ }
},
"babel-preset-react": {
"version": "6.24.1",
"resolved": "https://registry.npmjs.org/babel-preset-react/-/babel-preset-react-6.24.1.tgz",
"integrity": "sha1-umnfrqRfw+xjm2pOzqbhdwLJE4A=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "babel-plugin-syntax-jsx": "6.18.0",
+ "babel-plugin-transform-react-display-name": "6.25.0",
+ "babel-plugin-transform-react-jsx": "6.24.1",
+ "babel-plugin-transform-react-jsx-self": "6.22.0",
+ "babel-plugin-transform-react-jsx-source": "6.22.0",
+ "babel-preset-flow": "6.23.0"
+ }
},
"babel-preset-stage-0": {
"version": "6.24.1",
"resolved": "https://registry.npmjs.org/babel-preset-stage-0/-/babel-preset-stage-0-6.24.1.tgz",
"integrity": "sha1-VkLRUEL5E4TX5a+LyIsduVsDnmo=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "babel-plugin-transform-do-expressions": "6.22.0",
+ "babel-plugin-transform-function-bind": "6.22.0",
+ "babel-preset-stage-1": "6.24.1"
+ }
},
"babel-preset-stage-1": {
"version": "6.24.1",
"resolved": "https://registry.npmjs.org/babel-preset-stage-1/-/babel-preset-stage-1-6.24.1.tgz",
"integrity": "sha1-dpLNfc1oSZB+auSgqFWJz7niv7A=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "babel-plugin-transform-class-constructor-call": "6.24.1",
+ "babel-plugin-transform-export-extensions": "6.22.0",
+ "babel-preset-stage-2": "6.24.1"
+ }
},
"babel-preset-stage-2": {
"version": "6.24.1",
"resolved": "https://registry.npmjs.org/babel-preset-stage-2/-/babel-preset-stage-2-6.24.1.tgz",
"integrity": "sha1-2eKWD7PXEYfw5k7sYrwHdnIZvcE=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "babel-plugin-syntax-dynamic-import": "6.18.0",
+ "babel-plugin-transform-class-properties": "6.24.1",
+ "babel-plugin-transform-decorators": "6.24.1",
+ "babel-preset-stage-3": "6.24.1"
+ }
},
"babel-preset-stage-3": {
"version": "6.24.1",
"resolved": "https://registry.npmjs.org/babel-preset-stage-3/-/babel-preset-stage-3-6.24.1.tgz",
"integrity": "sha1-g2raCp56f6N8sTj7kyb4eTSkg5U=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "babel-plugin-syntax-trailing-function-commas": "6.22.0",
+ "babel-plugin-transform-async-generator-functions": "6.24.1",
+ "babel-plugin-transform-async-to-generator": "6.24.1",
+ "babel-plugin-transform-exponentiation-operator": "6.24.1",
+ "babel-plugin-transform-object-rest-spread": "6.26.0"
+ }
},
"babel-register": {
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz",
"integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=",
"dev": true,
+ "requires": {
+ "babel-core": "6.26.0",
+ "babel-runtime": "6.26.0",
+ "core-js": "2.5.5",
+ "home-or-tmp": "2.0.0",
+ "lodash": "4.17.5",
+ "mkdirp": "0.5.1",
+ "source-map-support": "0.4.18"
+ },
"dependencies": {
"babel-core": {
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.0.tgz",
"integrity": "sha1-rzL3izGm/O8RnIew/Y2XU/A6C7g=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "babel-code-frame": "6.26.0",
+ "babel-generator": "6.26.1",
+ "babel-helpers": "6.24.1",
+ "babel-messages": "6.23.0",
+ "babel-register": "6.26.0",
+ "babel-runtime": "6.26.0",
+ "babel-template": "6.26.0",
+ "babel-traverse": "6.26.0",
+ "babel-types": "6.26.0",
+ "babylon": "6.18.0",
+ "convert-source-map": "1.5.1",
+ "debug": "2.6.9",
+ "json5": "0.5.1",
+ "lodash": "4.17.5",
+ "minimatch": "3.0.4",
+ "path-is-absolute": "1.0.1",
+ "private": "0.1.8",
+ "slash": "1.0.0",
+ "source-map": "0.5.7"
+ }
},
"debug": {
"version": "2.6.9",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
},
"source-map": {
"version": "0.5.7",
@@ -1031,25 +1582,50 @@
"babel-runtime": {
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
- "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4="
+ "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
+ "requires": {
+ "core-js": "2.5.5",
+ "regenerator-runtime": "0.11.1"
+ }
},
"babel-template": {
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz",
"integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.26.0",
+ "babel-traverse": "6.26.0",
+ "babel-types": "6.26.0",
+ "babylon": "6.18.0",
+ "lodash": "4.17.5"
+ }
},
"babel-traverse": {
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz",
"integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=",
"dev": true,
+ "requires": {
+ "babel-code-frame": "6.26.0",
+ "babel-messages": "6.23.0",
+ "babel-runtime": "6.26.0",
+ "babel-types": "6.26.0",
+ "babylon": "6.18.0",
+ "debug": "2.6.9",
+ "globals": "9.18.0",
+ "invariant": "2.2.4",
+ "lodash": "4.17.5"
+ },
"dependencies": {
"debug": {
"version": "2.6.9",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
}
}
},
@@ -1057,7 +1633,13 @@
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz",
"integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.26.0",
+ "esutils": "2.0.2",
+ "lodash": "4.17.5",
+ "to-fast-properties": "1.0.3"
+ }
},
"babelify": {
"version": "8.0.0",
@@ -1094,30 +1676,53 @@
"resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
"integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
"dev": true,
+ "requires": {
+ "cache-base": "1.0.1",
+ "class-utils": "0.3.6",
+ "component-emitter": "1.2.1",
+ "define-property": "1.0.0",
+ "isobject": "3.0.1",
+ "mixin-deep": "1.3.1",
+ "pascalcase": "0.1.1"
+ },
"dependencies": {
"define-property": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
"integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "is-descriptor": "1.0.2"
+ }
},
"is-accessor-descriptor": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
"integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "kind-of": "6.0.2"
+ }
},
"is-data-descriptor": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
"integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "kind-of": "6.0.2"
+ }
},
"is-descriptor": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
"integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "1.0.0",
+ "is-data-descriptor": "1.0.0",
+ "kind-of": "6.0.2"
+ }
}
}
},
@@ -1168,7 +1773,10 @@
"resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz",
"integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=",
"dev": true,
- "optional": true
+ "optional": true,
+ "requires": {
+ "tweetnacl": "0.14.5"
+ }
},
"beeper": {
"version": "1.1.1",
@@ -1180,7 +1788,10 @@
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz",
"integrity": "sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "callsite": "1.0.0"
+ }
},
"big.js": {
"version": "3.2.0",
@@ -1192,7 +1803,11 @@
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/binary/-/binary-0.3.0.tgz",
"integrity": "sha1-n2BVO8XOjDOG87VTz/R0Yq3sqnk=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "buffers": "0.1.1",
+ "chainsaw": "0.1.0"
+ }
},
"binary-extensions": {
"version": "1.11.0",
@@ -1211,13 +1826,19 @@
"resolved": "https://registry.npmjs.org/bitsyntax/-/bitsyntax-0.0.4.tgz",
"integrity": "sha1-6xDMb4K4xJDj6FaY8H6D1G4MuoI=",
"dev": true,
- "optional": true
+ "optional": true,
+ "requires": {
+ "buffer-more-ints": "0.0.2"
+ }
},
"bl": {
"version": "0.9.5",
"resolved": "https://registry.npmjs.org/bl/-/bl-0.9.5.tgz",
"integrity": "sha1-wGt5evCF6gC8Unr8jvzxHeIjIFQ=",
"dev": true,
+ "requires": {
+ "readable-stream": "1.0.34"
+ },
"dependencies": {
"isarray": {
"version": "0.0.1",
@@ -1229,7 +1850,13 @@
"version": "1.0.34",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
"integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "0.0.1",
+ "string_decoder": "0.10.31"
+ }
},
"string_decoder": {
"version": "0.10.31",
@@ -1267,13 +1894,31 @@
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/body/-/body-5.1.0.tgz",
"integrity": "sha1-5LoM5BCkaTYyM2dgnstOZVMSUGk=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "continuable-cache": "0.3.1",
+ "error": "7.0.2",
+ "raw-body": "1.1.7",
+ "safe-json-parse": "1.0.1"
+ }
},
"body-parser": {
"version": "1.13.3",
"resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.13.3.tgz",
"integrity": "sha1-wIzzMMM1jhUQFqBXRvE/ApyX+pc=",
"dev": true,
+ "requires": {
+ "bytes": "2.1.0",
+ "content-type": "1.0.4",
+ "debug": "2.2.0",
+ "depd": "1.0.1",
+ "http-errors": "1.3.1",
+ "iconv-lite": "0.4.11",
+ "on-finished": "2.3.0",
+ "qs": "4.0.0",
+ "raw-body": "2.1.7",
+ "type-is": "1.6.16"
+ },
"dependencies": {
"bytes": {
"version": "2.1.0",
@@ -1285,7 +1930,10 @@
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
"integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "ms": "0.7.1"
+ }
},
"ms": {
"version": "0.7.1",
@@ -1304,6 +1952,11 @@
"resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.1.7.tgz",
"integrity": "sha1-rf6s4uT7MJgFgBTQjActzFl1h3Q=",
"dev": true,
+ "requires": {
+ "bytes": "2.4.0",
+ "iconv-lite": "0.4.13",
+ "unpipe": "1.0.0"
+ },
"dependencies": {
"bytes": {
"version": "2.4.0",
@@ -1325,25 +1978,47 @@
"version": "2.10.1",
"resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz",
"integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "hoek": "2.16.3"
+ }
},
"brace-expansion": {
"version": "1.1.11",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "balanced-match": "1.0.0",
+ "concat-map": "0.0.1"
+ }
},
"braces": {
"version": "2.3.2",
"resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
"integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
"dev": true,
+ "requires": {
+ "arr-flatten": "1.1.0",
+ "array-unique": "0.3.2",
+ "extend-shallow": "2.0.1",
+ "fill-range": "4.0.0",
+ "isobject": "3.0.1",
+ "repeat-element": "1.1.2",
+ "snapdragon": "0.8.2",
+ "snapdragon-node": "2.1.1",
+ "split-string": "3.1.0",
+ "to-regex": "3.0.2"
+ },
"dependencies": {
"extend-shallow": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "is-extendable": "0.1.1"
+ }
}
}
},
@@ -1358,6 +2033,9 @@
"resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.2.tgz",
"integrity": "sha1-j/CbCixCFxihBRwmCzLkj0QpOM4=",
"dev": true,
+ "requires": {
+ "resolve": "1.1.7"
+ },
"dependencies": {
"resolve": {
"version": "1.1.7",
@@ -1377,61 +2055,111 @@
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz",
"integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "buffer-xor": "1.0.3",
+ "cipher-base": "1.0.4",
+ "create-hash": "1.2.0",
+ "evp_bytestokey": "1.0.3",
+ "inherits": "2.0.3",
+ "safe-buffer": "5.1.1"
+ }
},
"browserify-cipher": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz",
"integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "browserify-aes": "1.2.0",
+ "browserify-des": "1.0.1",
+ "evp_bytestokey": "1.0.3"
+ }
},
"browserify-des": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.1.tgz",
"integrity": "sha512-zy0Cobe3hhgpiOM32Tj7KQ3Vl91m0njwsjzZQK1L+JDf11dzP9qIvjreVinsvXrgfjhStXwUWAEpB9D7Gwmayw==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "cipher-base": "1.0.4",
+ "des.js": "1.0.0",
+ "inherits": "2.0.3"
+ }
},
"browserify-rsa": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz",
"integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "bn.js": "4.11.8",
+ "randombytes": "2.0.6"
+ }
},
"browserify-sign": {
"version": "4.0.4",
"resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz",
"integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "bn.js": "4.11.8",
+ "browserify-rsa": "4.0.1",
+ "create-hash": "1.2.0",
+ "create-hmac": "1.1.7",
+ "elliptic": "6.4.0",
+ "inherits": "2.0.3",
+ "parse-asn1": "5.1.1"
+ }
},
"browserify-zlib": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz",
"integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "pako": "1.0.6"
+ }
},
"browserslist": {
"version": "2.11.3",
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-2.11.3.tgz",
"integrity": "sha512-yWu5cXT7Av6mVwzWc8lMsJMHWn4xyjSuGYi4IozbVTLUOEYPSagUB8kiMDUHA1fS3zjr8nkxkn9jdvug4BBRmA==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "caniuse-lite": "1.0.30000830",
+ "electron-to-chromium": "1.3.42"
+ }
},
"browserstack": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/browserstack/-/browserstack-1.5.0.tgz",
"integrity": "sha1-tWVCWtYu1ywQgqHrl51TE8fUdU8=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "https-proxy-agent": "1.0.0"
+ }
},
"browserstacktunnel-wrapper": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/browserstacktunnel-wrapper/-/browserstacktunnel-wrapper-2.0.2.tgz",
"integrity": "sha512-7w7HYA00qjBtuQH0c5rqW7RbWPHyRROqTZofwNp5G0sKc2fYChsTfbHz3ul8Yd+ffkQvR81m+iPjEB004P6kxQ==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "https-proxy-agent": "1.0.0",
+ "unzip": "0.1.11"
+ }
},
"buffer": {
"version": "4.9.1",
"resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz",
"integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "base64-js": "1.3.0",
+ "ieee754": "1.1.11",
+ "isarray": "1.0.0"
+ }
},
"buffer-crc32": {
"version": "0.2.13",
@@ -1480,7 +2208,16 @@
"resolved": "https://registry.npmjs.org/buildmail/-/buildmail-4.0.1.tgz",
"integrity": "sha1-h393OLeHKYccmhBeO4N9K+EaenI=",
"dev": true,
- "optional": true
+ "optional": true,
+ "requires": {
+ "addressparser": "1.0.1",
+ "libbase64": "0.1.0",
+ "libmime": "3.0.0",
+ "libqp": "1.1.0",
+ "nodemailer-fetch": "1.6.0",
+ "nodemailer-shared": "1.1.0",
+ "punycode": "1.4.1"
+ }
},
"builtin-modules": {
"version": "1.1.1",
@@ -1504,13 +2241,27 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
"integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "collection-visit": "1.0.0",
+ "component-emitter": "1.2.1",
+ "get-value": "2.0.6",
+ "has-value": "1.0.0",
+ "isobject": "3.0.1",
+ "set-value": "2.0.0",
+ "to-object-path": "0.3.0",
+ "union-value": "1.0.0",
+ "unset-value": "1.0.0"
+ }
},
"caller-path": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz",
"integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "callsites": "0.2.0"
+ }
},
"callsite": {
"version": "1.0.0",
@@ -1535,6 +2286,10 @@
"resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz",
"integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=",
"dev": true,
+ "requires": {
+ "camelcase": "2.1.1",
+ "map-obj": "1.0.1"
+ },
"dependencies": {
"camelcase": {
"version": "2.1.1",
@@ -1566,19 +2321,32 @@
"version": "0.1.3",
"resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz",
"integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "align-text": "0.1.4",
+ "lazy-cache": "1.0.4"
+ }
},
"chai": {
"version": "3.5.0",
"resolved": "https://registry.npmjs.org/chai/-/chai-3.5.0.tgz",
"integrity": "sha1-TQJjewZ/6Vi9v906QOxW/vc3Mkc=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "assertion-error": "1.1.0",
+ "deep-eql": "0.1.3",
+ "type-detect": "1.0.0"
+ }
},
"chai-nightwatch": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/chai-nightwatch/-/chai-nightwatch-0.1.1.tgz",
"integrity": "sha1-HKVt52jTwIaP5/wvTTLC/olOa+k=",
"dev": true,
+ "requires": {
+ "assertion-error": "1.0.0",
+ "deep-eql": "0.1.3"
+ },
"dependencies": {
"assertion-error": {
"version": "1.0.0",
@@ -1592,13 +2360,23 @@
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/chainsaw/-/chainsaw-0.1.0.tgz",
"integrity": "sha1-XqtQsor+WAdNDVgpE4iCi15fvJg=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "traverse": "0.3.9"
+ }
},
"chalk": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
"integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "ansi-styles": "2.2.1",
+ "escape-string-regexp": "1.0.5",
+ "has-ansi": "2.0.0",
+ "strip-ansi": "3.0.1",
+ "supports-color": "2.0.0"
+ }
},
"character-entities": {
"version": "1.2.2",
@@ -1634,13 +2412,31 @@
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.3.tgz",
"integrity": "sha512-zW8iXYZtXMx4kux/nuZVXjkLP+CyIK5Al5FHnj1OgTKGZfp4Oy6/ymtMSKFv3GD8DviEmUPmJg9eFdJ/JzudMg==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "anymatch": "2.0.0",
+ "async-each": "1.0.1",
+ "braces": "2.3.2",
+ "fsevents": "1.2.2",
+ "glob-parent": "3.1.0",
+ "inherits": "2.0.3",
+ "is-binary-path": "1.0.1",
+ "is-glob": "4.0.0",
+ "normalize-path": "2.1.1",
+ "path-is-absolute": "1.0.1",
+ "readdirp": "2.1.0",
+ "upath": "1.0.4"
+ }
},
"cipher-base": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz",
"integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "inherits": "2.0.3",
+ "safe-buffer": "5.1.1"
+ }
},
"circular-json": {
"version": "0.3.3",
@@ -1653,12 +2449,21 @@
"resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
"integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
"dev": true,
+ "requires": {
+ "arr-union": "3.1.0",
+ "define-property": "0.2.5",
+ "isobject": "3.0.1",
+ "static-extend": "0.1.2"
+ },
"dependencies": {
"define-property": {
"version": "0.2.5",
"resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "is-descriptor": "0.1.6"
+ }
}
}
},
@@ -1666,7 +2471,10 @@
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz",
"integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "restore-cursor": "2.0.0"
+ }
},
"cli-width": {
"version": "2.2.0",
@@ -1678,7 +2486,12 @@
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
"integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "string-width": "1.0.2",
+ "strip-ansi": "3.0.1",
+ "wrap-ansi": "2.1.0"
+ }
},
"clone": {
"version": "2.1.2",
@@ -1702,7 +2515,12 @@
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.2.tgz",
"integrity": "sha512-Bq6+4t+lbM8vhTs/Bef5c5AdEMtapp/iFb6+s4/Hh9MVTt8OLKH7ZOOZSCT+Ys7hsHvqv0GuMPJ1lnQJVHvxpg==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "inherits": "2.0.3",
+ "process-nextick-args": "2.0.0",
+ "readable-stream": "2.3.6"
+ }
},
"co": {
"version": "4.6.0",
@@ -1726,13 +2544,20 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
"integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "map-visit": "1.0.0",
+ "object-visit": "1.0.1"
+ }
},
"color-convert": {
"version": "1.9.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz",
"integrity": "sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "color-name": "1.1.3"
+ }
},
"color-name": {
"version": "1.1.3",
@@ -1756,19 +2581,28 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/combine-lists/-/combine-lists-1.0.1.tgz",
"integrity": "sha1-RYwH4J4NkA/Ci3Cj/sLazR0st/Y=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "lodash": "4.17.5"
+ }
},
"combined-stream": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz",
"integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "delayed-stream": "1.0.0"
+ }
},
"comma-separated-tokens": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-1.0.5.tgz",
"integrity": "sha512-Cg90/fcK93n0ecgYTAz1jaA3zvnQ0ExlmKY1rdbyHqAx6BHxwoJc+J7HDu0iuQ7ixEs1qaa+WyQ6oeuBpYP1iA==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "trim": "0.0.1"
+ }
},
"commander": {
"version": "2.15.1",
@@ -1811,6 +2645,12 @@
"resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-0.2.9.tgz",
"integrity": "sha1-Qi2SdDDAGr0GzUVbbfwEy0z4ADw=",
"dev": true,
+ "requires": {
+ "buffer-crc32": "0.2.13",
+ "crc32-stream": "0.3.4",
+ "node-int64": "0.3.3",
+ "readable-stream": "1.0.34"
+ },
"dependencies": {
"isarray": {
"version": "0.0.1",
@@ -1822,7 +2662,13 @@
"version": "1.0.34",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
"integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "0.0.1",
+ "string_decoder": "0.10.31"
+ }
},
"string_decoder": {
"version": "0.10.31",
@@ -1836,13 +2682,24 @@
"version": "2.0.13",
"resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.13.tgz",
"integrity": "sha1-DRAgq5JLL9tNYnmHXH1tq6a6p6k=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "mime-db": "1.33.0"
+ }
},
"compression": {
"version": "1.5.2",
"resolved": "http://registry.npmjs.org/compression/-/compression-1.5.2.tgz",
"integrity": "sha1-sDuNhub4rSloPLqN+R3cb/x3s5U=",
"dev": true,
+ "requires": {
+ "accepts": "1.2.13",
+ "bytes": "2.1.0",
+ "compressible": "2.0.13",
+ "debug": "2.2.0",
+ "on-headers": "1.0.1",
+ "vary": "1.0.1"
+ },
"dependencies": {
"bytes": {
"version": "2.1.0",
@@ -1854,7 +2711,10 @@
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
"integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "ms": "0.7.1"
+ }
},
"ms": {
"version": "0.7.1",
@@ -1874,19 +2734,61 @@
"version": "1.6.2",
"resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
"integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "buffer-from": "1.0.0",
+ "inherits": "2.0.3",
+ "readable-stream": "2.3.6",
+ "typedarray": "0.0.6"
+ }
},
"concat-with-sourcemaps": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/concat-with-sourcemaps/-/concat-with-sourcemaps-1.0.5.tgz",
"integrity": "sha512-YtnS0VEY+e2Khzsey/6mra9EoM6h/5gxaC0e3mcHpA5yfDxafhygytNmcJWodvUgyXzSiL5MSkPO6bQGgfliHw==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "source-map": "0.6.1"
+ }
},
"connect": {
"version": "2.30.2",
"resolved": "https://registry.npmjs.org/connect/-/connect-2.30.2.tgz",
"integrity": "sha1-jam8vooFTT0xjXTf7JA7XDmhtgk=",
"dev": true,
+ "requires": {
+ "basic-auth-connect": "1.0.0",
+ "body-parser": "1.13.3",
+ "bytes": "2.1.0",
+ "compression": "1.5.2",
+ "connect-timeout": "1.6.2",
+ "content-type": "1.0.4",
+ "cookie": "0.1.3",
+ "cookie-parser": "1.3.5",
+ "cookie-signature": "1.0.6",
+ "csurf": "1.8.3",
+ "debug": "2.2.0",
+ "depd": "1.0.1",
+ "errorhandler": "1.4.3",
+ "express-session": "1.11.3",
+ "finalhandler": "0.4.0",
+ "fresh": "0.3.0",
+ "http-errors": "1.3.1",
+ "method-override": "2.3.10",
+ "morgan": "1.6.1",
+ "multiparty": "3.3.2",
+ "on-headers": "1.0.1",
+ "parseurl": "1.3.2",
+ "pause": "0.1.0",
+ "qs": "4.0.0",
+ "response-time": "2.3.2",
+ "serve-favicon": "2.3.2",
+ "serve-index": "1.7.3",
+ "serve-static": "1.10.3",
+ "type-is": "1.6.16",
+ "utils-merge": "1.0.0",
+ "vhost": "3.0.2"
+ },
"dependencies": {
"bytes": {
"version": "2.1.0",
@@ -1898,7 +2800,10 @@
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
"integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "ms": "0.7.1"
+ }
},
"ms": {
"version": "0.7.1",
@@ -1925,12 +2830,21 @@
"resolved": "https://registry.npmjs.org/connect-timeout/-/connect-timeout-1.6.2.tgz",
"integrity": "sha1-3ppexh4zoStu2qt7XwYumMWZuI4=",
"dev": true,
+ "requires": {
+ "debug": "2.2.0",
+ "http-errors": "1.3.1",
+ "ms": "0.7.1",
+ "on-headers": "1.0.1"
+ },
"dependencies": {
"debug": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
"integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "ms": "0.7.1"
+ }
},
"ms": {
"version": "0.7.1",
@@ -1944,7 +2858,10 @@
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz",
"integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "date-now": "0.1.4"
+ }
},
"constants-browserify": {
"version": "1.0.0",
@@ -1985,7 +2902,11 @@
"version": "1.3.5",
"resolved": "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.3.5.tgz",
"integrity": "sha1-nXVVcPtdF4kHcSJ6AjFNm+fPg1Y=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "cookie": "0.1.3",
+ "cookie-signature": "1.0.6"
+ }
},
"cookie-signature": {
"version": "1.0.6",
@@ -2014,6 +2935,13 @@
"resolved": "https://registry.npmjs.org/coveralls/-/coveralls-2.13.3.tgz",
"integrity": "sha512-iiAmn+l1XqRwNLXhW8Rs5qHZRFMYp9ZIPjEOVRpC/c4so6Y/f4/lFi0FfR5B9cCqgyhkJ5cZmbvcVRfP8MHchw==",
"dev": true,
+ "requires": {
+ "js-yaml": "3.6.1",
+ "lcov-parse": "0.0.10",
+ "log-driver": "1.2.5",
+ "minimist": "1.2.0",
+ "request": "2.79.0"
+ },
"dependencies": {
"minimist": {
"version": "1.2.0",
@@ -2034,6 +2962,10 @@
"resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-0.3.4.tgz",
"integrity": "sha1-c7wltF+sHbZjIjGnv86JJ+nwZVI=",
"dev": true,
+ "requires": {
+ "buffer-crc32": "0.2.13",
+ "readable-stream": "1.0.34"
+ },
"dependencies": {
"isarray": {
"version": "0.0.1",
@@ -2045,7 +2977,13 @@
"version": "1.0.34",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
"integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "0.0.1",
+ "string_decoder": "0.10.31"
+ }
},
"string_decoder": {
"version": "0.10.31",
@@ -2059,53 +2997,107 @@
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.1.tgz",
"integrity": "sha512-iZvCCg8XqHQZ1ioNBTzXS/cQSkqkqcPs8xSX4upNB+DAk9Ht3uzQf2J32uAHNCne8LDmKr29AgZrEs4oIrwLuQ==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "bn.js": "4.11.8",
+ "elliptic": "6.4.0"
+ }
},
"create-hash": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz",
"integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "cipher-base": "1.0.4",
+ "inherits": "2.0.3",
+ "md5.js": "1.3.4",
+ "ripemd160": "2.0.2",
+ "sha.js": "2.4.11"
+ }
},
"create-hmac": {
"version": "1.1.7",
"resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz",
"integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "cipher-base": "1.0.4",
+ "create-hash": "1.2.0",
+ "inherits": "2.0.3",
+ "ripemd160": "2.0.2",
+ "safe-buffer": "5.1.1",
+ "sha.js": "2.4.11"
+ }
},
"cross-spawn": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz",
"integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "lru-cache": "4.1.2",
+ "shebang-command": "1.2.0",
+ "which": "1.3.0"
+ }
},
"cryptiles": {
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz",
"integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "boom": "2.10.1"
+ }
},
"crypto-browserify": {
"version": "3.12.0",
"resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz",
"integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "browserify-cipher": "1.0.1",
+ "browserify-sign": "4.0.4",
+ "create-ecdh": "4.0.1",
+ "create-hash": "1.2.0",
+ "create-hmac": "1.1.7",
+ "diffie-hellman": "5.0.3",
+ "inherits": "2.0.3",
+ "pbkdf2": "3.0.16",
+ "public-encrypt": "4.0.2",
+ "randombytes": "2.0.6",
+ "randomfill": "1.0.4"
+ }
},
"csrf": {
"version": "3.0.6",
"resolved": "https://registry.npmjs.org/csrf/-/csrf-3.0.6.tgz",
"integrity": "sha1-thEg3c7q/JHnbtUxO7XAsmZ7cQo=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "rndm": "1.2.0",
+ "tsscmp": "1.0.5",
+ "uid-safe": "2.1.4"
+ }
},
"css": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/css/-/css-2.2.1.tgz",
"integrity": "sha1-c6TIHehdtmTU7mdPfUcIXjstVdw=",
+ "requires": {
+ "inherits": "2.0.3",
+ "source-map": "0.1.43",
+ "source-map-resolve": "0.3.1",
+ "urix": "0.1.0"
+ },
"dependencies": {
"source-map": {
"version": "0.1.43",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz",
- "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y="
+ "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=",
+ "requires": {
+ "amdefine": "1.0.1"
+ }
}
}
},
@@ -2115,20 +3107,34 @@
"integrity": "sha1-LhqgDOfjDvLGp6SzAKCAp8l54Nw=",
"dev": true,
"optional": true,
+ "requires": {
+ "csso": "1.3.12",
+ "loader-utils": "0.2.17",
+ "source-map": "0.1.43"
+ },
"dependencies": {
"loader-utils": {
"version": "0.2.17",
"resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz",
"integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=",
"dev": true,
- "optional": true
+ "optional": true,
+ "requires": {
+ "big.js": "3.2.0",
+ "emojis-list": "2.1.0",
+ "json5": "0.5.1",
+ "object-assign": "4.1.1"
+ }
},
"source-map": {
"version": "0.1.43",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz",
"integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=",
"dev": true,
- "optional": true
+ "optional": true,
+ "requires": {
+ "amdefine": "1.0.1"
+ }
}
}
},
@@ -2136,7 +3142,10 @@
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/css-parse/-/css-parse-2.0.0.tgz",
"integrity": "sha1-pGjuZnwW2BzPBcWMONKpfHgNv9Q=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "css": "2.2.1"
+ }
},
"css-value": {
"version": "0.0.1",
@@ -2155,7 +3164,13 @@
"version": "1.8.3",
"resolved": "https://registry.npmjs.org/csurf/-/csurf-1.8.3.tgz",
"integrity": "sha1-I/KhO/HY/OHQyZZYg5RELLqGpWo=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "cookie": "0.1.3",
+ "cookie-signature": "1.0.6",
+ "csrf": "3.0.6",
+ "http-errors": "1.3.1"
+ }
},
"ctype": {
"version": "0.5.3",
@@ -2167,7 +3182,10 @@
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz",
"integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "array-find-index": "1.0.2"
+ }
},
"custom-event": {
"version": "1.0.1",
@@ -2178,17 +3196,26 @@
"d": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz",
- "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8="
+ "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=",
+ "requires": {
+ "es5-ext": "0.10.42"
+ }
},
"dargs": {
"version": "github:christian-bromann/dargs#7d6d4164a7c4106dbd14ef39ed8d95b7b5e9b770",
- "dev": true
+ "dev": true,
+ "requires": {
+ "number-is-nan": "1.0.1"
+ }
},
"dashdash": {
"version": "1.14.1",
"resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
"integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
"dev": true,
+ "requires": {
+ "assert-plus": "1.0.0"
+ },
"dependencies": {
"assert-plus": {
"version": "1.0.0",
@@ -2225,12 +3252,20 @@
"debug": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
- "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g=="
+ "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
+ "requires": {
+ "ms": "2.0.0"
+ }
},
"debug-fabulous": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/debug-fabulous/-/debug-fabulous-1.1.0.tgz",
- "integrity": "sha512-GZqvGIgKNlUnHUPQhepnUZFIMoi3dgZKQBzKDeL2g7oJF9SNAji/AAu36dusFUas0O+pae74lNeoIPHqXWDkLg=="
+ "integrity": "sha512-GZqvGIgKNlUnHUPQhepnUZFIMoi3dgZKQBzKDeL2g7oJF9SNAji/AAu36dusFUas0O+pae74lNeoIPHqXWDkLg==",
+ "requires": {
+ "debug": "3.1.0",
+ "memoizee": "0.4.12",
+ "object-assign": "4.1.1"
+ }
},
"decamelize": {
"version": "1.2.0",
@@ -2238,17 +3273,14 @@
"integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
"dev": true
},
- "decode-uri-component": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
- "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
- "dev": true
- },
"deep-eql": {
"version": "0.1.3",
"resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-0.1.3.tgz",
"integrity": "sha1-71WKyrjeJSBs1xOQbXTlaTDrafI=",
"dev": true,
+ "requires": {
+ "type-detect": "0.1.1"
+ },
"dependencies": {
"type-detect": {
"version": "0.1.1",
@@ -2275,12 +3307,18 @@
"resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-1.0.0.tgz",
"integrity": "sha1-836hXT4T/9m0N9M+GnW1+5eHTLg=",
"dev": true,
+ "requires": {
+ "strip-bom": "2.0.0"
+ },
"dependencies": {
"strip-bom": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
"integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "is-utf8": "0.2.1"
+ }
}
}
},
@@ -2289,6 +3327,9 @@
"resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz",
"integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=",
"dev": true,
+ "requires": {
+ "clone": "1.0.4"
+ },
"dependencies": {
"clone": {
"version": "1.0.4",
@@ -2302,31 +3343,50 @@
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz",
"integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "foreach": "2.0.5",
+ "object-keys": "1.0.11"
+ }
},
"define-property": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
"integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
"dev": true,
+ "requires": {
+ "is-descriptor": "1.0.2",
+ "isobject": "3.0.1"
+ },
"dependencies": {
"is-accessor-descriptor": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
"integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "kind-of": "6.0.2"
+ }
},
"is-data-descriptor": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
"integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "kind-of": "6.0.2"
+ }
},
"is-descriptor": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
"integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "1.0.0",
+ "is-data-descriptor": "1.0.0",
+ "kind-of": "6.0.2"
+ }
}
}
},
@@ -2341,6 +3401,11 @@
"resolved": "https://registry.npmjs.org/degenerator/-/degenerator-1.0.4.tgz",
"integrity": "sha1-/PSQo37OJmRk2cxDGrmMWBnO0JU=",
"dev": true,
+ "requires": {
+ "ast-types": "0.11.3",
+ "escodegen": "1.8.1",
+ "esprima": "3.1.3"
+ },
"dependencies": {
"esprima": {
"version": "3.1.3",
@@ -2355,6 +3420,15 @@
"resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz",
"integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=",
"dev": true,
+ "requires": {
+ "globby": "5.0.0",
+ "is-path-cwd": "1.0.0",
+ "is-path-in-cwd": "1.0.1",
+ "object-assign": "4.1.1",
+ "pify": "2.3.0",
+ "pinkie-promise": "2.0.1",
+ "rimraf": "2.6.2"
+ },
"dependencies": {
"pify": {
"version": "2.3.0",
@@ -2386,7 +3460,11 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz",
"integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "inherits": "2.0.3",
+ "minimalistic-assert": "1.0.1"
+ }
},
"destroy": {
"version": "1.0.4",
@@ -2398,7 +3476,10 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/detab/-/detab-2.0.1.tgz",
"integrity": "sha512-/hhdqdQc5thGrqzjyO/pz76lDZ5GSuAs6goxOaKTsvPk7HNnzAyFN5lyHgqpX4/s1i66K8qMGj+VhA9504x7DQ==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "repeat-string": "1.6.1"
+ }
},
"detect-file": {
"version": "1.0.0",
@@ -2410,7 +3491,10 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz",
"integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "repeating": "2.0.1"
+ }
},
"detect-newline": {
"version": "2.1.0",
@@ -2421,7 +3505,11 @@
"version": "4.7.1",
"resolved": "https://registry.npmjs.org/detective/-/detective-4.7.1.tgz",
"integrity": "sha512-H6PmeeUcZloWtdt4DAkFyzFL94arpHr3NOwwmVILFiy+9Qd4JTxxXrzfyGk/lmct2qVGBwTSwSXagqu2BxmWig==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "acorn": "5.5.3",
+ "defined": "1.0.0"
+ }
},
"di": {
"version": "0.0.1",
@@ -2439,31 +3527,99 @@
"version": "5.0.3",
"resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz",
"integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "bn.js": "4.11.8",
+ "miller-rabin": "4.0.1",
+ "randombytes": "2.0.6"
+ }
},
"disparity": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/disparity/-/disparity-2.0.0.tgz",
"integrity": "sha1-V92stHMkrl9Y0swNqIbbTOnutxg=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "ansi-styles": "2.2.1",
+ "diff": "1.4.0"
+ }
},
"doctrine": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz",
"integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "esutils": "2.0.2",
+ "isarray": "1.0.0"
+ }
},
"doctrine-temporary-fork": {
"version": "2.0.0-alpha-allowarrayindex",
"resolved": "https://registry.npmjs.org/doctrine-temporary-fork/-/doctrine-temporary-fork-2.0.0-alpha-allowarrayindex.tgz",
"integrity": "sha1-QAFahn6yfnWybIKLcVJPE3+J+fA=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "esutils": "2.0.2",
+ "isarray": "1.0.0"
+ }
},
"documentation": {
"version": "5.5.0",
"resolved": "https://registry.npmjs.org/documentation/-/documentation-5.5.0.tgz",
"integrity": "sha512-Aod3HOI+8zMhwWztDlECRsDfJ8SFu4oADvipOLq3gnWKy4Cpg2oF5AWT+U6PcX85KuguDI6c+q+2YwYEx99B/A==",
"dev": true,
+ "requires": {
+ "ansi-html": "0.0.7",
+ "babel-core": "6.26.0",
+ "babel-generator": "6.26.1",
+ "babel-plugin-system-import-transformer": "3.1.0",
+ "babel-plugin-transform-decorators-legacy": "1.3.4",
+ "babel-preset-env": "1.6.1",
+ "babel-preset-react": "6.24.1",
+ "babel-preset-stage-0": "6.24.1",
+ "babel-traverse": "6.26.0",
+ "babel-types": "6.26.0",
+ "babelify": "8.0.0",
+ "babylon": "6.18.0",
+ "chalk": "2.4.0",
+ "chokidar": "2.0.3",
+ "concat-stream": "1.6.2",
+ "disparity": "2.0.0",
+ "doctrine-temporary-fork": "2.0.0-alpha-allowarrayindex",
+ "get-port": "3.2.0",
+ "git-url-parse": "8.3.1",
+ "github-slugger": "1.2.0",
+ "glob": "7.1.2",
+ "globals-docs": "2.4.0",
+ "highlight.js": "9.12.0",
+ "js-yaml": "3.11.0",
+ "lodash": "4.17.5",
+ "mdast-util-inject": "1.1.0",
+ "micromatch": "3.1.10",
+ "mime": "1.6.0",
+ "module-deps-sortable": "4.0.6",
+ "parse-filepath": "1.0.2",
+ "pify": "3.0.0",
+ "read-pkg-up": "3.0.0",
+ "remark": "9.0.0",
+ "remark-html": "7.0.0",
+ "remark-reference-links": "4.0.1",
+ "remark-toc": "5.0.0",
+ "remote-origin-url": "0.4.0",
+ "shelljs": "0.8.1",
+ "stream-array": "1.1.2",
+ "strip-json-comments": "2.0.1",
+ "tiny-lr": "1.1.1",
+ "unist-builder": "1.0.2",
+ "unist-util-visit": "1.3.0",
+ "vfile": "2.3.0",
+ "vfile-reporter": "4.0.0",
+ "vfile-sort": "2.1.0",
+ "vinyl": "2.1.0",
+ "vinyl-fs": "3.0.2",
+ "yargs": "9.0.1"
+ },
"dependencies": {
"ansi-regex": {
"version": "3.0.0",
@@ -2475,25 +3631,57 @@
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "color-convert": "1.9.1"
+ }
},
"babel-core": {
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.0.tgz",
"integrity": "sha1-rzL3izGm/O8RnIew/Y2XU/A6C7g=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "babel-code-frame": "6.26.0",
+ "babel-generator": "6.26.1",
+ "babel-helpers": "6.24.1",
+ "babel-messages": "6.23.0",
+ "babel-register": "6.26.0",
+ "babel-runtime": "6.26.0",
+ "babel-template": "6.26.0",
+ "babel-traverse": "6.26.0",
+ "babel-types": "6.26.0",
+ "babylon": "6.18.0",
+ "convert-source-map": "1.5.1",
+ "debug": "2.6.9",
+ "json5": "0.5.1",
+ "lodash": "4.17.5",
+ "minimatch": "3.0.4",
+ "path-is-absolute": "1.0.1",
+ "private": "0.1.8",
+ "slash": "1.0.0",
+ "source-map": "0.5.7"
+ }
},
"chalk": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.0.tgz",
"integrity": "sha512-Wr/w0f4o9LuE7K53cD0qmbAMM+2XNLzR29vFn5hqko4sxGlUsyy363NvmyGIyk5tpe9cjTr9SJYbysEyPkRnFw==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "ansi-styles": "3.2.1",
+ "escape-string-regexp": "1.0.5",
+ "supports-color": "5.4.0"
+ }
},
"debug": {
"version": "2.6.9",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
},
"esprima": {
"version": "4.0.0",
@@ -2511,13 +3699,23 @@
"version": "3.11.0",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.11.0.tgz",
"integrity": "sha512-saJstZWv7oNeOyBh3+Dx1qWzhW0+e6/8eDzo7p5rDFqxntSztloLtuKu+Ejhtq82jsilwOIZYsCz+lIjthg1Hw==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "argparse": "1.0.10",
+ "esprima": "4.0.0"
+ }
},
"load-json-file": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz",
"integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=",
"dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11",
+ "parse-json": "2.2.0",
+ "pify": "2.3.0",
+ "strip-bom": "3.0.0"
+ },
"dependencies": {
"pify": {
"version": "2.3.0",
@@ -2531,13 +3729,19 @@
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
"integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "error-ex": "1.3.1"
+ }
},
"path-type": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz",
"integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=",
"dev": true,
+ "requires": {
+ "pify": "2.3.0"
+ },
"dependencies": {
"pify": {
"version": "2.3.0",
@@ -2551,7 +3755,12 @@
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz",
"integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "load-json-file": "2.0.0",
+ "normalize-package-data": "2.4.0",
+ "path-type": "2.0.0"
+ }
},
"source-map": {
"version": "0.5.7",
@@ -2563,31 +3772,60 @@
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
"integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "is-fullwidth-code-point": "2.0.0",
+ "strip-ansi": "4.0.0"
+ }
},
"strip-ansi": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
"integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "ansi-regex": "3.0.0"
+ }
},
"supports-color": {
"version": "5.4.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
"integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "has-flag": "3.0.0"
+ }
},
"yargs": {
"version": "9.0.1",
"resolved": "https://registry.npmjs.org/yargs/-/yargs-9.0.1.tgz",
"integrity": "sha1-UqzCP+7Kw0BCB47njAwAf1CF20w=",
"dev": true,
+ "requires": {
+ "camelcase": "4.1.0",
+ "cliui": "3.2.0",
+ "decamelize": "1.2.0",
+ "get-caller-file": "1.0.2",
+ "os-locale": "2.1.0",
+ "read-pkg-up": "2.0.0",
+ "require-directory": "2.1.1",
+ "require-main-filename": "1.0.1",
+ "set-blocking": "2.0.0",
+ "string-width": "2.1.1",
+ "which-module": "2.0.0",
+ "y18n": "3.2.1",
+ "yargs-parser": "7.0.0"
+ },
"dependencies": {
"read-pkg-up": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz",
"integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "find-up": "2.1.0",
+ "read-pkg": "2.0.0"
+ }
}
}
}
@@ -2597,7 +3835,13 @@
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz",
"integrity": "sha1-ViromZ9Evl6jB29UGdzVnrQ6yVs=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "custom-event": "1.0.1",
+ "ent": "2.2.0",
+ "extend": "3.0.1",
+ "void-elements": "2.0.1"
+ }
},
"domain-browser": {
"version": "1.2.0",
@@ -2622,20 +3866,32 @@
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz",
"integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "readable-stream": "2.3.6"
+ }
},
"duplexify": {
"version": "3.5.4",
"resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.5.4.tgz",
"integrity": "sha512-JzYSLYMhoVVBe8+mbHQ4KgpvHpm0DZpJuL8PY93Vyv1fW7jYJ90LoXa1di/CVbJM+TgMs91rbDapE/RNIfnJsA==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "end-of-stream": "1.4.1",
+ "inherits": "2.0.3",
+ "readable-stream": "2.3.6",
+ "stream-shift": "1.0.0"
+ }
},
"ecc-jsbn": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz",
"integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=",
"dev": true,
- "optional": true
+ "optional": true,
+ "requires": {
+ "jsbn": "0.1.1"
+ }
},
"ee-first": {
"version": "1.1.1",
@@ -2659,7 +3915,16 @@
"version": "6.4.0",
"resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.0.tgz",
"integrity": "sha1-ysmvh2LIWDYYcAPI3+GT5eLq5d8=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "bn.js": "4.11.8",
+ "brorand": "1.1.0",
+ "hash.js": "1.1.3",
+ "hmac-drbg": "1.0.1",
+ "inherits": "2.0.3",
+ "minimalistic-assert": "1.0.1",
+ "minimalistic-crypto-utils": "1.0.1"
+ }
},
"emoji-regex": {
"version": "6.1.1",
@@ -2683,19 +3948,35 @@
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz",
"integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "once": "1.4.0"
+ }
},
"engine.io": {
"version": "3.1.5",
"resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.1.5.tgz",
"integrity": "sha512-D06ivJkYxyRrcEe0bTpNnBQNgP9d3xog+qZlLbui8EsMr/DouQpf5o9FzJnWYHEYE0YsFHllUv2R1dkgYZXHcA==",
"dev": true,
+ "requires": {
+ "accepts": "1.3.5",
+ "base64id": "1.0.0",
+ "cookie": "0.3.1",
+ "debug": "3.1.0",
+ "engine.io-parser": "2.1.2",
+ "uws": "9.14.0",
+ "ws": "3.3.3"
+ },
"dependencies": {
"accepts": {
"version": "1.3.5",
"resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz",
"integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "mime-types": "2.1.18",
+ "negotiator": "0.6.1"
+ }
},
"cookie": {
"version": "0.3.1",
@@ -2715,19 +3996,45 @@
"version": "3.1.6",
"resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.1.6.tgz",
"integrity": "sha512-hnuHsFluXnsKOndS4Hv6SvUrgdYx1pk2NqfaDMW+GWdgfU3+/V25Cj7I8a0x92idSpa5PIhJRKxPvp9mnoLsfg==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "component-emitter": "1.2.1",
+ "component-inherit": "0.0.3",
+ "debug": "3.1.0",
+ "engine.io-parser": "2.1.2",
+ "has-cors": "1.1.0",
+ "indexof": "0.0.1",
+ "parseqs": "0.0.5",
+ "parseuri": "0.0.5",
+ "ws": "3.3.3",
+ "xmlhttprequest-ssl": "1.5.5",
+ "yeast": "0.1.2"
+ }
},
"engine.io-parser": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.1.2.tgz",
"integrity": "sha512-dInLFzr80RijZ1rGpx1+56/uFoH7/7InhH3kZt+Ms6hT8tNx3NGW/WNSA/f8As1WkOfkuyb3tnRyuXGxusclMw==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "after": "0.8.2",
+ "arraybuffer.slice": "0.0.7",
+ "base64-arraybuffer": "0.1.5",
+ "blob": "0.0.4",
+ "has-binary2": "1.0.2"
+ }
},
"enhanced-resolve": {
"version": "3.4.1",
"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz",
"integrity": "sha1-BCHjOf1xQZs9oT0Smzl5BAIwR24=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11",
+ "memory-fs": "0.4.1",
+ "object-assign": "4.1.1",
+ "tapable": "0.2.8"
+ }
},
"ent": {
"version": "2.2.0",
@@ -2739,31 +4046,49 @@
"version": "0.1.7",
"resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz",
"integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "prr": "1.0.1"
+ }
},
"error": {
"version": "7.0.2",
"resolved": "https://registry.npmjs.org/error/-/error-7.0.2.tgz",
"integrity": "sha1-pfdf/02ZJhJt2sDqXcOOaJFTywI=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "string-template": "0.2.1",
+ "xtend": "4.0.1"
+ }
},
"error-ex": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz",
"integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "is-arrayish": "0.2.1"
+ }
},
"errorhandler": {
"version": "1.4.3",
"resolved": "https://registry.npmjs.org/errorhandler/-/errorhandler-1.4.3.tgz",
"integrity": "sha1-t7cO2PNZ6duICS8tIMD4MUIK2D8=",
"dev": true,
+ "requires": {
+ "accepts": "1.3.5",
+ "escape-html": "1.0.3"
+ },
"dependencies": {
"accepts": {
"version": "1.3.5",
"resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz",
"integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "mime-types": "2.1.18",
+ "negotiator": "0.6.1"
+ }
},
"negotiator": {
"version": "0.6.1",
@@ -2776,7 +4101,12 @@
"es5-ext": {
"version": "0.10.42",
"resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.42.tgz",
- "integrity": "sha512-AJxO1rmPe1bDEfSR6TJ/FgMFYuTBhR5R57KW58iCkYACMyFbrkqVyzXSurYoScDGvgyMpk7uRF/lPUPPTmsRSA=="
+ "integrity": "sha512-AJxO1rmPe1bDEfSR6TJ/FgMFYuTBhR5R57KW58iCkYACMyFbrkqVyzXSurYoScDGvgyMpk7uRF/lPUPPTmsRSA==",
+ "requires": {
+ "es6-iterator": "2.0.3",
+ "es6-symbol": "3.1.1",
+ "next-tick": "1.0.0"
+ }
},
"es5-shim": {
"version": "4.5.10",
@@ -2787,29 +4117,59 @@
"es6-iterator": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz",
- "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c="
+ "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=",
+ "requires": {
+ "d": "1.0.0",
+ "es5-ext": "0.10.42",
+ "es6-symbol": "3.1.1"
+ }
},
"es6-map": {
"version": "0.1.5",
"resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz",
"integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "d": "1.0.0",
+ "es5-ext": "0.10.42",
+ "es6-iterator": "2.0.3",
+ "es6-set": "0.1.5",
+ "es6-symbol": "3.1.1",
+ "event-emitter": "0.3.5"
+ }
},
"es6-set": {
"version": "0.1.5",
"resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz",
"integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "d": "1.0.0",
+ "es5-ext": "0.10.42",
+ "es6-iterator": "2.0.3",
+ "es6-symbol": "3.1.1",
+ "event-emitter": "0.3.5"
+ }
},
"es6-symbol": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz",
- "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc="
+ "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=",
+ "requires": {
+ "d": "1.0.0",
+ "es5-ext": "0.10.42"
+ }
},
"es6-weak-map": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz",
- "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8="
+ "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=",
+ "requires": {
+ "d": "1.0.0",
+ "es5-ext": "0.10.42",
+ "es6-iterator": "2.0.3",
+ "es6-symbol": "3.1.1"
+ }
},
"escape-html": {
"version": "1.0.3",
@@ -2828,6 +4188,13 @@
"resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz",
"integrity": "sha1-WltTr0aTEQvrsIZ6o0MN07cKEBg=",
"dev": true,
+ "requires": {
+ "esprima": "2.7.3",
+ "estraverse": "1.9.3",
+ "esutils": "2.0.2",
+ "optionator": "0.8.2",
+ "source-map": "0.2.0"
+ },
"dependencies": {
"estraverse": {
"version": "1.9.3",
@@ -2840,7 +4207,10 @@
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz",
"integrity": "sha1-2rc/vPwrqBm03gO9b26qSBZLP50=",
"dev": true,
- "optional": true
+ "optional": true,
+ "requires": {
+ "amdefine": "1.0.1"
+ }
}
}
},
@@ -2848,19 +4218,71 @@
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz",
"integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "es6-map": "0.1.5",
+ "es6-weak-map": "2.0.2",
+ "esrecurse": "4.2.1",
+ "estraverse": "4.2.0"
+ }
},
"eslint": {
"version": "4.19.1",
"resolved": "https://registry.npmjs.org/eslint/-/eslint-4.19.1.tgz",
"integrity": "sha512-bT3/1x1EbZB7phzYu7vCr1v3ONuzDtX8WjuM9c0iYxe+cq+pwcKEoQjl7zd3RpC6YOLgnSy3cTN58M2jcoPDIQ==",
"dev": true,
+ "requires": {
+ "ajv": "5.5.2",
+ "babel-code-frame": "6.26.0",
+ "chalk": "2.4.0",
+ "concat-stream": "1.6.2",
+ "cross-spawn": "5.1.0",
+ "debug": "3.1.0",
+ "doctrine": "2.1.0",
+ "eslint-scope": "3.7.1",
+ "eslint-visitor-keys": "1.0.0",
+ "espree": "3.5.4",
+ "esquery": "1.0.1",
+ "esutils": "2.0.2",
+ "file-entry-cache": "2.0.0",
+ "functional-red-black-tree": "1.0.1",
+ "glob": "7.1.2",
+ "globals": "11.4.0",
+ "ignore": "3.3.7",
+ "imurmurhash": "0.1.4",
+ "inquirer": "3.3.0",
+ "is-resolvable": "1.1.0",
+ "js-yaml": "3.11.0",
+ "json-stable-stringify-without-jsonify": "1.0.1",
+ "levn": "0.3.0",
+ "lodash": "4.17.5",
+ "minimatch": "3.0.4",
+ "mkdirp": "0.5.1",
+ "natural-compare": "1.4.0",
+ "optionator": "0.8.2",
+ "path-is-inside": "1.0.2",
+ "pluralize": "7.0.0",
+ "progress": "2.0.0",
+ "regexpp": "1.1.0",
+ "require-uncached": "1.0.3",
+ "semver": "5.5.0",
+ "strip-ansi": "4.0.0",
+ "strip-json-comments": "2.0.1",
+ "table": "4.0.2",
+ "text-table": "0.2.0"
+ },
"dependencies": {
"ajv": {
"version": "5.5.2",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz",
"integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "co": "4.6.0",
+ "fast-deep-equal": "1.1.0",
+ "fast-json-stable-stringify": "2.0.0",
+ "json-schema-traverse": "0.3.1"
+ }
},
"ansi-regex": {
"version": "3.0.0",
@@ -2872,19 +4294,30 @@
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "color-convert": "1.9.1"
+ }
},
"chalk": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.0.tgz",
"integrity": "sha512-Wr/w0f4o9LuE7K53cD0qmbAMM+2XNLzR29vFn5hqko4sxGlUsyy363NvmyGIyk5tpe9cjTr9SJYbysEyPkRnFw==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "ansi-styles": "3.2.1",
+ "escape-string-regexp": "1.0.5",
+ "supports-color": "5.4.0"
+ }
},
"doctrine": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
"integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "esutils": "2.0.2"
+ }
},
"esprima": {
"version": "4.0.0",
@@ -2902,19 +4335,29 @@
"version": "3.11.0",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.11.0.tgz",
"integrity": "sha512-saJstZWv7oNeOyBh3+Dx1qWzhW0+e6/8eDzo7p5rDFqxntSztloLtuKu+Ejhtq82jsilwOIZYsCz+lIjthg1Hw==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "argparse": "1.0.10",
+ "esprima": "4.0.0"
+ }
},
"strip-ansi": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
"integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "ansi-regex": "3.0.0"
+ }
},
"supports-color": {
"version": "5.4.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
"integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "has-flag": "3.0.0"
+ }
}
}
},
@@ -2929,12 +4372,19 @@
"resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz",
"integrity": "sha512-sfmTqJfPSizWu4aymbPr4Iidp5yKm8yDkHp+Ir3YiTHiiDfxh69mOUsmiqW6RZ9zRXFaF64GtYmN7e+8GHBv6Q==",
"dev": true,
+ "requires": {
+ "debug": "2.6.9",
+ "resolve": "1.7.1"
+ },
"dependencies": {
"debug": {
"version": "2.6.9",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
}
}
},
@@ -2943,30 +4393,47 @@
"resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.2.0.tgz",
"integrity": "sha1-snA2LNiLGkitMIl2zn+lTphBF0Y=",
"dev": true,
+ "requires": {
+ "debug": "2.6.9",
+ "pkg-dir": "1.0.0"
+ },
"dependencies": {
"debug": {
"version": "2.6.9",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
},
"find-up": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
"integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "path-exists": "2.1.0",
+ "pinkie-promise": "2.0.1"
+ }
},
"path-exists": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
"integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "pinkie-promise": "2.0.1"
+ }
},
"pkg-dir": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz",
"integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "find-up": "1.1.2"
+ }
}
}
},
@@ -2975,30 +4442,57 @@
"resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.11.0.tgz",
"integrity": "sha1-Fa7qN6Z0mdhI6OmBgG1GJ7VQOBY=",
"dev": true,
+ "requires": {
+ "contains-path": "0.1.0",
+ "debug": "2.6.9",
+ "doctrine": "1.5.0",
+ "eslint-import-resolver-node": "0.3.2",
+ "eslint-module-utils": "2.2.0",
+ "has": "1.0.1",
+ "lodash": "4.17.5",
+ "minimatch": "3.0.4",
+ "read-pkg-up": "2.0.0",
+ "resolve": "1.7.1"
+ },
"dependencies": {
"debug": {
"version": "2.6.9",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
},
"load-json-file": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz",
"integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11",
+ "parse-json": "2.2.0",
+ "pify": "2.3.0",
+ "strip-bom": "3.0.0"
+ }
},
"parse-json": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
"integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "error-ex": "1.3.1"
+ }
},
"path-type": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz",
"integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "pify": "2.3.0"
+ }
},
"pify": {
"version": "2.3.0",
@@ -3010,13 +4504,22 @@
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz",
"integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "load-json-file": "2.0.0",
+ "normalize-package-data": "2.4.0",
+ "path-type": "2.0.0"
+ }
},
"read-pkg-up": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz",
"integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "find-up": "2.1.0",
+ "read-pkg": "2.0.0"
+ }
}
}
},
@@ -3025,6 +4528,12 @@
"resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-5.2.1.tgz",
"integrity": "sha512-xhPXrh0Vl/b7870uEbaumb2Q+LxaEcOQ3kS1jtIXanBAwpMre1l5q/l2l/hESYJGEFKuI78bp6Uw50hlpr7B+g==",
"dev": true,
+ "requires": {
+ "ignore": "3.3.7",
+ "minimatch": "3.0.4",
+ "resolve": "1.7.1",
+ "semver": "5.3.0"
+ },
"dependencies": {
"semver": {
"version": "5.3.0",
@@ -3050,7 +4559,11 @@
"version": "3.7.1",
"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.1.tgz",
"integrity": "sha1-PWPD7f2gLgbgGkUq2IyqzHzctug=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "esrecurse": "4.2.1",
+ "estraverse": "4.2.0"
+ }
},
"eslint-visitor-keys": {
"version": "1.0.0",
@@ -3062,7 +4575,11 @@
"version": "3.5.4",
"resolved": "https://registry.npmjs.org/espree/-/espree-3.5.4.tgz",
"integrity": "sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "acorn": "5.5.3",
+ "acorn-jsx": "3.0.1"
+ }
},
"esprima": {
"version": "2.7.3",
@@ -3074,13 +4591,19 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz",
"integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "estraverse": "4.2.0"
+ }
},
"esrecurse": {
"version": "4.2.1",
"resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz",
"integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "estraverse": "4.2.0"
+ }
},
"estraverse": {
"version": "4.2.0",
@@ -3109,13 +4632,26 @@
"event-emitter": {
"version": "0.3.5",
"resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz",
- "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk="
+ "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=",
+ "requires": {
+ "d": "1.0.0",
+ "es5-ext": "0.10.42"
+ }
},
"event-stream": {
"version": "3.3.4",
"resolved": "http://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz",
"integrity": "sha1-SrTJoPWlTbkzi0w02Gv86PSzVXE=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "duplexer": "0.1.1",
+ "from": "0.1.7",
+ "map-stream": "0.1.0",
+ "pause-stream": "0.0.11",
+ "split": "0.3.3",
+ "stream-combiner": "0.0.4",
+ "through": "2.3.8"
+ }
},
"eventemitter3": {
"version": "3.0.1",
@@ -3133,19 +4669,37 @@
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz",
"integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "md5.js": "1.3.4",
+ "safe-buffer": "5.1.1"
+ }
},
"execa": {
"version": "0.7.0",
"resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz",
"integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "cross-spawn": "5.1.0",
+ "get-stream": "3.0.0",
+ "is-stream": "1.1.0",
+ "npm-run-path": "2.0.2",
+ "p-finally": "1.0.0",
+ "signal-exit": "3.0.2",
+ "strip-eof": "1.0.0"
+ }
},
"expand-braces": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/expand-braces/-/expand-braces-0.1.2.tgz",
"integrity": "sha1-SIsdHSRRyz06axks/AMPRMWFX+o=",
"dev": true,
+ "requires": {
+ "array-slice": "0.2.3",
+ "array-unique": "0.2.1",
+ "braces": "0.1.5"
+ },
"dependencies": {
"array-slice": {
"version": "0.2.3",
@@ -3163,13 +4717,20 @@
"version": "0.1.5",
"resolved": "https://registry.npmjs.org/braces/-/braces-0.1.5.tgz",
"integrity": "sha1-wIVxEIUpHYt1/ddOqw+FlygHEeY=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "expand-range": "0.1.1"
+ }
},
"expand-range": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/expand-range/-/expand-range-0.1.1.tgz",
"integrity": "sha1-TLjtoJk8pW+k9B/ELzy7TMrf8EQ=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "is-number": "0.1.1",
+ "repeat-string": "0.2.2"
+ }
},
"is-number": {
"version": "0.1.1",
@@ -3190,24 +4751,42 @@
"resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
"integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
"dev": true,
+ "requires": {
+ "debug": "2.6.9",
+ "define-property": "0.2.5",
+ "extend-shallow": "2.0.1",
+ "posix-character-classes": "0.1.1",
+ "regex-not": "1.0.2",
+ "snapdragon": "0.8.2",
+ "to-regex": "3.0.2"
+ },
"dependencies": {
"debug": {
"version": "2.6.9",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
},
"define-property": {
"version": "0.2.5",
"resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "is-descriptor": "0.1.6"
+ }
},
"extend-shallow": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "is-extendable": "0.1.1"
+ }
}
}
},
@@ -3216,30 +4795,49 @@
"resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz",
"integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=",
"dev": true,
+ "requires": {
+ "fill-range": "2.2.3"
+ },
"dependencies": {
"fill-range": {
"version": "2.2.3",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz",
"integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "is-number": "2.1.0",
+ "isobject": "2.1.0",
+ "randomatic": "1.1.7",
+ "repeat-element": "1.1.2",
+ "repeat-string": "1.6.1"
+ }
},
"is-number": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz",
"integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "kind-of": "3.2.2"
+ }
},
"isobject": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
"integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "isarray": "1.0.0"
+ }
},
"kind-of": {
"version": "3.2.2",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "is-buffer": "1.1.6"
+ }
}
}
},
@@ -3247,19 +4845,36 @@
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz",
"integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "homedir-polyfill": "1.0.1"
+ }
},
"express-session": {
"version": "1.11.3",
"resolved": "https://registry.npmjs.org/express-session/-/express-session-1.11.3.tgz",
"integrity": "sha1-XMmPP1/4Ttg1+Ry/CqvQxxB0AK8=",
"dev": true,
+ "requires": {
+ "cookie": "0.1.3",
+ "cookie-signature": "1.0.6",
+ "crc": "3.3.0",
+ "debug": "2.2.0",
+ "depd": "1.0.1",
+ "on-headers": "1.0.1",
+ "parseurl": "1.3.2",
+ "uid-safe": "2.0.0",
+ "utils-merge": "1.0.0"
+ },
"dependencies": {
"debug": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
"integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "ms": "0.7.1"
+ }
},
"ms": {
"version": "0.7.1",
@@ -3271,7 +4886,10 @@
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.0.0.tgz",
"integrity": "sha1-p/PGymSh9qXQTsDvPkw9U2cxcTc=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "base64-url": "1.2.1"
+ }
}
}
},
@@ -3286,12 +4904,19 @@
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
"integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
"dev": true,
+ "requires": {
+ "assign-symbols": "1.0.0",
+ "is-extendable": "1.0.1"
+ },
"dependencies": {
"is-extendable": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
"integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "is-plain-object": "2.0.4"
+ }
}
}
},
@@ -3300,12 +4925,20 @@
"resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz",
"integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==",
"dev": true,
+ "requires": {
+ "chardet": "0.4.2",
+ "iconv-lite": "0.4.21",
+ "tmp": "0.0.33"
+ },
"dependencies": {
"iconv-lite": {
"version": "0.4.21",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.21.tgz",
"integrity": "sha512-En5V9za5mBt2oUA03WGD3TwDv0MKAruqsuxstbMUZaj9W9k/m1CV/9py3l0L5kw9Bln8fdHQmzHSYtvpvTLpKw==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "safer-buffer": "2.1.2"
+ }
}
}
},
@@ -3314,36 +4947,63 @@
"resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
"integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
"dev": true,
+ "requires": {
+ "array-unique": "0.3.2",
+ "define-property": "1.0.0",
+ "expand-brackets": "2.1.4",
+ "extend-shallow": "2.0.1",
+ "fragment-cache": "0.2.1",
+ "regex-not": "1.0.2",
+ "snapdragon": "0.8.2",
+ "to-regex": "3.0.2"
+ },
"dependencies": {
"define-property": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
"integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "is-descriptor": "1.0.2"
+ }
},
"extend-shallow": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "is-extendable": "0.1.1"
+ }
},
"is-accessor-descriptor": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
"integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "kind-of": "6.0.2"
+ }
},
"is-data-descriptor": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
"integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "kind-of": "6.0.2"
+ }
},
"is-descriptor": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
"integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "1.0.0",
+ "is-data-descriptor": "1.0.0",
+ "kind-of": "6.0.2"
+ }
}
}
},
@@ -3363,7 +5023,12 @@
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.2.tgz",
"integrity": "sha1-9BEl49hPLn2JpD0G2VjI94vha+E=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "ansi-gray": "0.1.1",
+ "color-support": "1.1.3",
+ "time-stamp": "1.1.0"
+ }
},
"fast-deep-equal": {
"version": "1.1.0",
@@ -3387,19 +5052,29 @@
"version": "0.10.0",
"resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz",
"integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "websocket-driver": "0.7.0"
+ }
},
"figures": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz",
"integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "escape-string-regexp": "1.0.5"
+ }
},
"file-entry-cache": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz",
"integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "flat-cache": "1.3.0",
+ "object-assign": "4.1.1"
+ }
},
"file-loader": {
"version": "0.8.5",
@@ -3407,13 +5082,22 @@
"integrity": "sha1-knXQMf54DyfUf19K8CvUNxPMFRs=",
"dev": true,
"optional": true,
+ "requires": {
+ "loader-utils": "0.2.17"
+ },
"dependencies": {
"loader-utils": {
"version": "0.2.17",
"resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz",
"integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=",
"dev": true,
- "optional": true
+ "optional": true,
+ "requires": {
+ "big.js": "3.2.0",
+ "emojis-list": "2.1.0",
+ "json5": "0.5.1",
+ "object-assign": "4.1.1"
+ }
}
}
},
@@ -3433,25 +5117,42 @@
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/fileset/-/fileset-2.0.3.tgz",
"integrity": "sha1-jnVIqW08wjJ+5eZ0FocjozO7oqA=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "glob": "7.1.2",
+ "minimatch": "3.0.4"
+ }
},
"fill-keys": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/fill-keys/-/fill-keys-1.0.2.tgz",
"integrity": "sha1-mo+jb06K1jTjv2tPPIiCVRRS6yA=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "is-object": "1.0.1",
+ "merge-descriptors": "1.0.1"
+ }
},
"fill-range": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
"integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
"dev": true,
+ "requires": {
+ "extend-shallow": "2.0.1",
+ "is-number": "3.0.0",
+ "repeat-string": "1.6.1",
+ "to-regex-range": "2.1.1"
+ },
"dependencies": {
"extend-shallow": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "is-extendable": "0.1.1"
+ }
}
}
},
@@ -3460,12 +5161,21 @@
"resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-0.4.0.tgz",
"integrity": "sha1-llpS2ejQXSuFdUhUH7ibU6JJfZs=",
"dev": true,
+ "requires": {
+ "debug": "2.2.0",
+ "escape-html": "1.0.2",
+ "on-finished": "2.3.0",
+ "unpipe": "1.0.0"
+ },
"dependencies": {
"debug": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
"integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "ms": "0.7.1"
+ }
},
"escape-html": {
"version": "1.0.2",
@@ -3485,7 +5195,12 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz",
"integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "commondir": "1.0.1",
+ "make-dir": "1.2.0",
+ "pkg-dir": "2.0.0"
+ }
},
"find-index": {
"version": "0.1.1",
@@ -3497,19 +5212,31 @@
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
"integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "locate-path": "2.0.0"
+ }
},
"findup-sync": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz",
"integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=",
"dev": true,
+ "requires": {
+ "detect-file": "1.0.0",
+ "is-glob": "3.1.0",
+ "micromatch": "3.1.10",
+ "resolve-dir": "1.0.1"
+ },
"dependencies": {
"is-glob": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
"integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "is-extglob": "2.1.1"
+ }
}
}
},
@@ -3517,7 +5244,14 @@
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/fined/-/fined-1.1.0.tgz",
"integrity": "sha1-s33IRLdqL15wgeiE98CuNE8VNHY=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "expand-tilde": "2.0.2",
+ "is-plain-object": "2.0.4",
+ "object.defaults": "1.1.0",
+ "object.pick": "1.3.0",
+ "parse-filepath": "1.0.2"
+ }
},
"first-chunk-stream": {
"version": "1.0.0",
@@ -3535,19 +5269,32 @@
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.0.tgz",
"integrity": "sha1-0wMLMrOBVPTjt+nHCfSQ9++XxIE=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "circular-json": "0.3.3",
+ "del": "2.2.2",
+ "graceful-fs": "4.1.11",
+ "write": "0.2.1"
+ }
},
"flush-write-stream": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.0.3.tgz",
"integrity": "sha512-calZMC10u0FMUqoiunI2AiGIIUtUIvifNwkHhNupZH4cbNnW1Itkoh/Nf5HFYmDrwWPjrUxpkZT0KhuCq0jmGw==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "inherits": "2.0.3",
+ "readable-stream": "2.3.6"
+ }
},
"follow-redirects": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.4.1.tgz",
"integrity": "sha512-uxYePVPogtya1ktGnAAXOacnbIuRMB4dkvqeNz2qTtTQsuzSfbDolV+wMMKxAmCx0bLgAKLbBOkjItMbbkR1vg==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "debug": "3.1.0"
+ }
},
"for-in": {
"version": "1.0.2",
@@ -3559,7 +5306,10 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz",
"integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "for-in": "1.0.2"
+ }
},
"foreach": {
"version": "2.0.5",
@@ -3589,13 +5339,21 @@
"version": "2.1.4",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz",
"integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "asynckit": "0.4.0",
+ "combined-stream": "1.0.6",
+ "mime-types": "2.1.18"
+ }
},
"fragment-cache": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
"integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "map-cache": "0.2.2"
+ }
},
"fresh": {
"version": "0.3.0",
@@ -3613,13 +5371,22 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/fs-access/-/fs-access-1.0.1.tgz",
"integrity": "sha1-1qh/JiJxzv6+wwxVNAf7mV2od3o=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "null-check": "1.0.0"
+ }
},
"fs-extra": {
"version": "0.6.4",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.6.4.tgz",
"integrity": "sha1-9G8MdbeEH40gCzNIzU1pHVoJnRU=",
"dev": true,
+ "requires": {
+ "jsonfile": "1.0.1",
+ "mkdirp": "0.3.5",
+ "ncp": "0.4.2",
+ "rimraf": "2.2.8"
+ },
"dependencies": {
"mkdirp": {
"version": "0.3.5",
@@ -3639,13 +5406,22 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz",
"integrity": "sha1-C3gV/DIBxqaeFNuYzgmMFpNSWes=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11",
+ "through2": "2.0.3"
+ }
},
"fs.extra": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/fs.extra/-/fs.extra-1.3.2.tgz",
"integrity": "sha1-3QI/kwE77iRTHxszUUw3sg/ZM0k=",
"dev": true,
+ "requires": {
+ "fs-extra": "0.6.4",
+ "mkdirp": "0.3.5",
+ "walk": "2.3.13"
+ },
"dependencies": {
"mkdirp": {
"version": "0.3.5",
@@ -3667,6 +5443,10 @@
"integrity": "sha512-iownA+hC4uHFp+7gwP/y5SzaiUo7m2vpa0dhpzw8YuKtiZsz7cIXsFbXpLEeBM6WuCQyw1MH4RRe6XI8GFUctQ==",
"dev": true,
"optional": true,
+ "requires": {
+ "nan": "2.10.0",
+ "node-pre-gyp": "0.9.1"
+ },
"dependencies": {
"abbrev": {
"version": "1.1.1",
@@ -3689,7 +5469,11 @@
"version": "1.1.4",
"bundled": true,
"dev": true,
- "optional": true
+ "optional": true,
+ "requires": {
+ "delegates": "1.0.0",
+ "readable-stream": "2.3.6"
+ }
},
"balanced-match": {
"version": "1.0.0",
@@ -3699,7 +5483,11 @@
"brace-expansion": {
"version": "1.1.11",
"bundled": true,
- "dev": true
+ "dev": true,
+ "requires": {
+ "balanced-match": "1.0.0",
+ "concat-map": "0.0.1"
+ }
},
"chownr": {
"version": "1.0.1",
@@ -3732,7 +5520,10 @@
"version": "2.6.9",
"bundled": true,
"dev": true,
- "optional": true
+ "optional": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
},
"deep-extend": {
"version": "0.4.2",
@@ -3756,7 +5547,10 @@
"version": "1.2.5",
"bundled": true,
"dev": true,
- "optional": true
+ "optional": true,
+ "requires": {
+ "minipass": "2.2.4"
+ }
},
"fs.realpath": {
"version": "1.0.0",
@@ -3768,13 +5562,31 @@
"version": "2.7.4",
"bundled": true,
"dev": true,
- "optional": true
+ "optional": true,
+ "requires": {
+ "aproba": "1.2.0",
+ "console-control-strings": "1.1.0",
+ "has-unicode": "2.0.1",
+ "object-assign": "4.1.1",
+ "signal-exit": "3.0.2",
+ "string-width": "1.0.2",
+ "strip-ansi": "3.0.1",
+ "wide-align": "1.1.2"
+ }
},
"glob": {
"version": "7.1.2",
"bundled": true,
"dev": true,
- "optional": true
+ "optional": true,
+ "requires": {
+ "fs.realpath": "1.0.0",
+ "inflight": "1.0.6",
+ "inherits": "2.0.3",
+ "minimatch": "3.0.4",
+ "once": "1.4.0",
+ "path-is-absolute": "1.0.1"
+ }
},
"has-unicode": {
"version": "2.0.1",
@@ -3786,19 +5598,29 @@
"version": "0.4.21",
"bundled": true,
"dev": true,
- "optional": true
+ "optional": true,
+ "requires": {
+ "safer-buffer": "2.1.2"
+ }
},
"ignore-walk": {
"version": "3.0.1",
"bundled": true,
"dev": true,
- "optional": true
+ "optional": true,
+ "requires": {
+ "minimatch": "3.0.4"
+ }
},
"inflight": {
"version": "1.0.6",
"bundled": true,
"dev": true,
- "optional": true
+ "optional": true,
+ "requires": {
+ "once": "1.4.0",
+ "wrappy": "1.0.2"
+ }
},
"inherits": {
"version": "2.0.3",
@@ -3814,7 +5636,10 @@
"is-fullwidth-code-point": {
"version": "1.0.0",
"bundled": true,
- "dev": true
+ "dev": true,
+ "requires": {
+ "number-is-nan": "1.0.1"
+ }
},
"isarray": {
"version": "1.0.0",
@@ -3825,7 +5650,10 @@
"minimatch": {
"version": "3.0.4",
"bundled": true,
- "dev": true
+ "dev": true,
+ "requires": {
+ "brace-expansion": "1.1.11"
+ }
},
"minimist": {
"version": "0.0.8",
@@ -3835,18 +5663,28 @@
"minipass": {
"version": "2.2.4",
"bundled": true,
- "dev": true
+ "dev": true,
+ "requires": {
+ "safe-buffer": "5.1.1",
+ "yallist": "3.0.2"
+ }
},
"minizlib": {
"version": "1.1.0",
"bundled": true,
"dev": true,
- "optional": true
+ "optional": true,
+ "requires": {
+ "minipass": "2.2.4"
+ }
},
"mkdirp": {
"version": "0.5.1",
"bundled": true,
- "dev": true
+ "dev": true,
+ "requires": {
+ "minimist": "0.0.8"
+ }
},
"ms": {
"version": "2.0.0",
@@ -3858,19 +5696,40 @@
"version": "2.2.0",
"bundled": true,
"dev": true,
- "optional": true
+ "optional": true,
+ "requires": {
+ "debug": "2.6.9",
+ "iconv-lite": "0.4.21",
+ "sax": "1.2.4"
+ }
},
"node-pre-gyp": {
"version": "0.9.1",
"bundled": true,
"dev": true,
- "optional": true
+ "optional": true,
+ "requires": {
+ "detect-libc": "1.0.3",
+ "mkdirp": "0.5.1",
+ "needle": "2.2.0",
+ "nopt": "4.0.1",
+ "npm-packlist": "1.1.10",
+ "npmlog": "4.1.2",
+ "rc": "1.2.6",
+ "rimraf": "2.6.2",
+ "semver": "5.5.0",
+ "tar": "4.4.1"
+ }
},
"nopt": {
"version": "4.0.1",
"bundled": true,
"dev": true,
- "optional": true
+ "optional": true,
+ "requires": {
+ "abbrev": "1.1.1",
+ "osenv": "0.1.5"
+ }
},
"npm-bundled": {
"version": "1.0.3",
@@ -3882,13 +5741,23 @@
"version": "1.1.10",
"bundled": true,
"dev": true,
- "optional": true
+ "optional": true,
+ "requires": {
+ "ignore-walk": "3.0.1",
+ "npm-bundled": "1.0.3"
+ }
},
"npmlog": {
"version": "4.1.2",
"bundled": true,
"dev": true,
- "optional": true
+ "optional": true,
+ "requires": {
+ "are-we-there-yet": "1.1.4",
+ "console-control-strings": "1.1.0",
+ "gauge": "2.7.4",
+ "set-blocking": "2.0.0"
+ }
},
"number-is-nan": {
"version": "1.0.1",
@@ -3904,7 +5773,10 @@
"once": {
"version": "1.4.0",
"bundled": true,
- "dev": true
+ "dev": true,
+ "requires": {
+ "wrappy": "1.0.2"
+ }
},
"os-homedir": {
"version": "1.0.2",
@@ -3922,7 +5794,11 @@
"version": "0.1.5",
"bundled": true,
"dev": true,
- "optional": true
+ "optional": true,
+ "requires": {
+ "os-homedir": "1.0.2",
+ "os-tmpdir": "1.0.2"
+ }
},
"path-is-absolute": {
"version": "1.0.1",
@@ -3941,6 +5817,12 @@
"bundled": true,
"dev": true,
"optional": true,
+ "requires": {
+ "deep-extend": "0.4.2",
+ "ini": "1.3.5",
+ "minimist": "1.2.0",
+ "strip-json-comments": "2.0.1"
+ },
"dependencies": {
"minimist": {
"version": "1.2.0",
@@ -3954,13 +5836,25 @@
"version": "2.3.6",
"bundled": true,
"dev": true,
- "optional": true
+ "optional": true,
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "1.0.0",
+ "process-nextick-args": "2.0.0",
+ "safe-buffer": "5.1.1",
+ "string_decoder": "1.1.1",
+ "util-deprecate": "1.0.2"
+ }
},
"rimraf": {
"version": "2.6.2",
"bundled": true,
"dev": true,
- "optional": true
+ "optional": true,
+ "requires": {
+ "glob": "7.1.2"
+ }
},
"safe-buffer": {
"version": "5.1.1",
@@ -3997,21 +5891,32 @@
"dev": true,
"optional": true
},
- "string_decoder": {
- "version": "1.1.1",
+ "string-width": {
+ "version": "1.0.2",
"bundled": true,
"dev": true,
- "optional": true
+ "requires": {
+ "code-point-at": "1.1.0",
+ "is-fullwidth-code-point": "1.0.0",
+ "strip-ansi": "3.0.1"
+ }
},
- "string-width": {
- "version": "1.0.2",
+ "string_decoder": {
+ "version": "1.1.1",
"bundled": true,
- "dev": true
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "safe-buffer": "5.1.1"
+ }
},
"strip-ansi": {
"version": "3.0.1",
"bundled": true,
- "dev": true
+ "dev": true,
+ "requires": {
+ "ansi-regex": "2.1.1"
+ }
},
"strip-json-comments": {
"version": "2.0.1",
@@ -4023,7 +5928,16 @@
"version": "4.4.1",
"bundled": true,
"dev": true,
- "optional": true
+ "optional": true,
+ "requires": {
+ "chownr": "1.0.1",
+ "fs-minipass": "1.2.5",
+ "minipass": "2.2.4",
+ "minizlib": "1.1.0",
+ "mkdirp": "0.5.1",
+ "safe-buffer": "5.1.1",
+ "yallist": "3.0.2"
+ }
},
"util-deprecate": {
"version": "1.0.2",
@@ -4035,7 +5949,10 @@
"version": "1.1.2",
"bundled": true,
"dev": true,
- "optional": true
+ "optional": true,
+ "requires": {
+ "string-width": "1.0.2"
+ }
},
"wrappy": {
"version": "1.0.2",
@@ -4054,12 +5971,21 @@
"resolved": "https://registry.npmjs.org/fstream/-/fstream-0.1.31.tgz",
"integrity": "sha1-czfwWPu7vvqMn1YaKMqwhJICyYg=",
"dev": true,
+ "requires": {
+ "graceful-fs": "3.0.11",
+ "inherits": "2.0.3",
+ "mkdirp": "0.5.1",
+ "rimraf": "2.6.2"
+ },
"dependencies": {
"graceful-fs": {
"version": "3.0.11",
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.11.tgz",
"integrity": "sha1-dhPHeKGv6mLyXGMKCG1/Osu92Bg=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "natives": "1.1.3"
+ }
}
}
},
@@ -4068,6 +5994,10 @@
"resolved": "https://registry.npmjs.org/ftp/-/ftp-0.3.10.tgz",
"integrity": "sha1-kZfYYa2BQvPmPVqDv+TFn3MwiF0=",
"dev": true,
+ "requires": {
+ "readable-stream": "1.1.14",
+ "xregexp": "2.0.0"
+ },
"dependencies": {
"isarray": {
"version": "0.0.1",
@@ -4079,7 +6009,13 @@
"version": "1.1.14",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
"integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "0.0.1",
+ "string_decoder": "0.10.31"
+ }
},
"string_decoder": {
"version": "0.10.31",
@@ -4105,7 +6041,10 @@
"version": "0.5.2",
"resolved": "https://registry.npmjs.org/gaze/-/gaze-0.5.2.tgz",
"integrity": "sha1-QLcJU30k0dRXZ9takIaJ3+aaxE8=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "globule": "0.1.0"
+ }
},
"generate-function": {
"version": "2.0.0",
@@ -4117,7 +6056,10 @@
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz",
"integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "is-property": "1.0.2"
+ }
},
"get-caller-file": {
"version": "1.0.2",
@@ -4148,12 +6090,23 @@
"resolved": "https://registry.npmjs.org/get-uri/-/get-uri-2.0.1.tgz",
"integrity": "sha512-7aelVrYqCLuVjq2kEKRTH8fXPTC0xKTkM+G7UlFkEwCXY3sFbSxvY375JoFowOAYbkaU47SrBvOefUlLZZ+6QA==",
"dev": true,
+ "requires": {
+ "data-uri-to-buffer": "1.2.0",
+ "debug": "2.6.9",
+ "extend": "3.0.1",
+ "file-uri-to-path": "1.0.0",
+ "ftp": "0.3.10",
+ "readable-stream": "2.3.6"
+ },
"dependencies": {
"debug": {
"version": "2.6.9",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
}
}
},
@@ -4168,6 +6121,9 @@
"resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
"integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
"dev": true,
+ "requires": {
+ "assert-plus": "1.0.0"
+ },
"dependencies": {
"assert-plus": {
"version": "1.0.0",
@@ -4181,37 +6137,63 @@
"version": "2.0.10",
"resolved": "https://registry.npmjs.org/git-up/-/git-up-2.0.10.tgz",
"integrity": "sha512-2v4UN3qV2RGypD9QpmUjpk+4+RlYpW8GFuiZqQnKmvei08HsFPd0RfbDvEhnE4wBvnYs8ORVtYpOFuuCEmBVBw==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "is-ssh": "1.3.0",
+ "parse-url": "1.3.11"
+ }
},
"git-url-parse": {
"version": "8.3.1",
"resolved": "https://registry.npmjs.org/git-url-parse/-/git-url-parse-8.3.1.tgz",
"integrity": "sha512-r/FxXIdfgdSO+V2zl4ZK1JGYkHT9nqVRSzom5WsYPLg3XzeBeKPl3R/6X9E9ZJRx/sE/dXwXtfl+Zp7YL8ktWQ==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "git-up": "2.0.10",
+ "parse-domain": "2.0.0"
+ }
},
"github-slugger": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-1.2.0.tgz",
"integrity": "sha512-wIaa75k1vZhyPm9yWrD08A5Xnx/V+RmzGrpjQuLemGKSb77Qukiaei58Bogrl/LZSADDfPzKJX8jhLs4CRTl7Q==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "emoji-regex": "6.1.1"
+ }
},
"glob": {
"version": "7.1.2",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
"integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "fs.realpath": "1.0.0",
+ "inflight": "1.0.6",
+ "inherits": "2.0.3",
+ "minimatch": "3.0.4",
+ "once": "1.4.0",
+ "path-is-absolute": "1.0.1"
+ }
},
"glob-base": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz",
"integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=",
"dev": true,
+ "requires": {
+ "glob-parent": "2.0.0",
+ "is-glob": "2.0.1"
+ },
"dependencies": {
"glob-parent": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
"integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "is-glob": "2.0.1"
+ }
},
"is-extglob": {
"version": "1.0.0",
@@ -4223,7 +6205,10 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
"integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "is-extglob": "1.0.0"
+ }
}
}
},
@@ -4232,12 +6217,19 @@
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
"integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
"dev": true,
+ "requires": {
+ "is-glob": "3.1.0",
+ "path-dirname": "1.0.2"
+ },
"dependencies": {
"is-glob": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
"integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "is-extglob": "2.1.1"
+ }
}
}
},
@@ -4245,31 +6237,61 @@
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-6.1.0.tgz",
"integrity": "sha1-cEXJlBOz65SIjYOrRtC0BMx73eQ=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "extend": "3.0.1",
+ "glob": "7.1.2",
+ "glob-parent": "3.1.0",
+ "is-negated-glob": "1.0.0",
+ "ordered-read-streams": "1.0.1",
+ "pumpify": "1.4.0",
+ "readable-stream": "2.3.6",
+ "remove-trailing-separator": "1.1.0",
+ "to-absolute-glob": "2.0.2",
+ "unique-stream": "2.2.1"
+ }
},
"glob-watcher": {
"version": "0.0.6",
"resolved": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-0.0.6.tgz",
"integrity": "sha1-uVtKjfdLOcgymLDAXJeLTZo7cQs=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "gaze": "0.5.2"
+ }
},
"glob2base": {
"version": "0.0.12",
"resolved": "https://registry.npmjs.org/glob2base/-/glob2base-0.0.12.tgz",
"integrity": "sha1-nUGbPijxLoOjYhZKJ3BVkiycDVY=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "find-index": "0.1.1"
+ }
},
"global-modules": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz",
"integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "global-prefix": "1.0.2",
+ "is-windows": "1.0.2",
+ "resolve-dir": "1.0.1"
+ }
},
"global-prefix": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz",
"integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "expand-tilde": "2.0.2",
+ "homedir-polyfill": "1.0.1",
+ "ini": "1.3.5",
+ "is-windows": "1.0.2",
+ "which": "1.3.0"
+ }
},
"globals": {
"version": "9.18.0",
@@ -4288,6 +6310,14 @@
"resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz",
"integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=",
"dev": true,
+ "requires": {
+ "array-union": "1.0.2",
+ "arrify": "1.0.1",
+ "glob": "7.1.2",
+ "object-assign": "4.1.1",
+ "pify": "2.3.0",
+ "pinkie-promise": "2.0.1"
+ },
"dependencies": {
"pify": {
"version": "2.3.0",
@@ -4302,12 +6332,22 @@
"resolved": "https://registry.npmjs.org/globule/-/globule-0.1.0.tgz",
"integrity": "sha1-2cjt3h2nnRJaFRt5UzuXhnY0auU=",
"dev": true,
+ "requires": {
+ "glob": "3.1.21",
+ "lodash": "1.0.2",
+ "minimatch": "0.2.14"
+ },
"dependencies": {
"glob": {
"version": "3.1.21",
"resolved": "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz",
"integrity": "sha1-0p4KBV3qUTj00H7UDomC6DwgZs0=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "graceful-fs": "1.2.3",
+ "inherits": "1.0.2",
+ "minimatch": "0.2.14"
+ }
},
"graceful-fs": {
"version": "1.2.3",
@@ -4337,7 +6377,11 @@
"version": "0.2.14",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz",
"integrity": "sha1-x054BXT2PG+aCQ6Q775u9TpqdWo=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "lru-cache": "2.7.3",
+ "sigmund": "1.0.1"
+ }
}
}
},
@@ -4345,7 +6389,10 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.1.tgz",
"integrity": "sha512-ynYqXLoluBKf9XGR1gA59yEJisIL7YHEH4xr3ZziHB5/yl4qWfaK8Js9jGe6gBGCSCKVqiyO30WnRZADvemUNw==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "sparkles": "1.0.0"
+ }
},
"graceful-fs": {
"version": "4.1.11",
@@ -4369,6 +6416,21 @@
"resolved": "https://registry.npmjs.org/gulp/-/gulp-3.9.1.tgz",
"integrity": "sha1-VxzkWSjdQK9lFPxAEYZgFsE4RbQ=",
"dev": true,
+ "requires": {
+ "archy": "1.0.0",
+ "chalk": "1.1.3",
+ "deprecated": "0.0.1",
+ "gulp-util": "3.0.8",
+ "interpret": "1.1.0",
+ "liftoff": "2.5.0",
+ "minimist": "1.2.0",
+ "orchestrator": "0.3.8",
+ "pretty-hrtime": "1.0.3",
+ "semver": "4.3.6",
+ "tildify": "1.2.0",
+ "v8flags": "2.1.1",
+ "vinyl-fs": "0.3.14"
+ },
"dependencies": {
"clone": {
"version": "0.2.0",
@@ -4386,19 +6448,36 @@
"version": "4.5.3",
"resolved": "https://registry.npmjs.org/glob/-/glob-4.5.3.tgz",
"integrity": "sha1-xstz0yJsHv7wTePFbQEvAzd+4V8=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "inflight": "1.0.6",
+ "inherits": "2.0.3",
+ "minimatch": "2.0.10",
+ "once": "1.4.0"
+ }
},
"glob-stream": {
"version": "3.1.18",
"resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-3.1.18.tgz",
"integrity": "sha1-kXCl8St5Awb9/lmPMT+PeVT9FDs=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "glob": "4.5.3",
+ "glob2base": "0.0.12",
+ "minimatch": "2.0.10",
+ "ordered-read-streams": "0.1.0",
+ "through2": "0.6.5",
+ "unique-stream": "1.0.0"
+ }
},
"graceful-fs": {
"version": "3.0.11",
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.11.tgz",
"integrity": "sha1-dhPHeKGv6mLyXGMKCG1/Osu92Bg=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "natives": "1.1.3"
+ }
},
"isarray": {
"version": "0.0.1",
@@ -4410,7 +6489,10 @@
"version": "2.0.10",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz",
"integrity": "sha1-jQh8OcazjAAbl/ynzm0OHoCvusc=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "brace-expansion": "1.1.11"
+ }
},
"minimist": {
"version": "1.2.0",
@@ -4428,7 +6510,13 @@
"version": "1.0.34",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
"integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "0.0.1",
+ "string_decoder": "0.10.31"
+ }
},
"semver": {
"version": "4.3.6",
@@ -4446,13 +6534,21 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-1.0.0.tgz",
"integrity": "sha1-hbiGLzhEtabV7IRnqTWYFzo295Q=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "first-chunk-stream": "1.0.0",
+ "is-utf8": "0.2.1"
+ }
},
"through2": {
"version": "0.6.5",
"resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
"integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "readable-stream": "1.0.34",
+ "xtend": "4.0.1"
+ }
},
"unique-stream": {
"version": "1.0.0",
@@ -4464,13 +6560,27 @@
"version": "0.4.6",
"resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz",
"integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "clone": "0.2.0",
+ "clone-stats": "0.0.1"
+ }
},
"vinyl-fs": {
"version": "0.3.14",
"resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-0.3.14.tgz",
"integrity": "sha1-mmhRzhysHBzqX+hsCTHWIMLPqeY=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "defaults": "1.0.3",
+ "glob-stream": "3.1.18",
+ "glob-watcher": "0.0.6",
+ "graceful-fs": "3.0.11",
+ "mkdirp": "0.5.1",
+ "strip-bom": "1.0.0",
+ "through2": "0.6.5",
+ "vinyl": "0.4.6"
+ }
}
}
},
@@ -4479,18 +6589,50 @@
"resolved": "https://registry.npmjs.org/gulp-babel/-/gulp-babel-6.1.3.tgz",
"integrity": "sha512-tm15R3rt4gO59WXCuqrwf4QXJM9VIJC+0J2NPYSC6xZn+cZRD5y5RPGAiHaDxCJq7Rz5BDljlrk3cEjWADF+wQ==",
"dev": true,
+ "requires": {
+ "babel-core": "6.26.0",
+ "object-assign": "4.1.1",
+ "plugin-error": "1.0.1",
+ "replace-ext": "0.0.1",
+ "through2": "2.0.3",
+ "vinyl-sourcemaps-apply": "0.2.1"
+ },
"dependencies": {
"babel-core": {
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.0.tgz",
"integrity": "sha1-rzL3izGm/O8RnIew/Y2XU/A6C7g=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "babel-code-frame": "6.26.0",
+ "babel-generator": "6.26.1",
+ "babel-helpers": "6.24.1",
+ "babel-messages": "6.23.0",
+ "babel-register": "6.26.0",
+ "babel-runtime": "6.26.0",
+ "babel-template": "6.26.0",
+ "babel-traverse": "6.26.0",
+ "babel-types": "6.26.0",
+ "babylon": "6.18.0",
+ "convert-source-map": "1.5.1",
+ "debug": "2.6.9",
+ "json5": "0.5.1",
+ "lodash": "4.17.5",
+ "minimatch": "3.0.4",
+ "path-is-absolute": "1.0.1",
+ "private": "0.1.8",
+ "slash": "1.0.0",
+ "source-map": "0.5.7"
+ }
},
"debug": {
"version": "2.6.9",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
},
"replace-ext": {
"version": "0.0.1",
@@ -4511,6 +6653,11 @@
"resolved": "https://registry.npmjs.org/gulp-clean/-/gulp-clean-0.3.2.tgz",
"integrity": "sha1-o0fUc6zqQBgvk1WHpFGUFnGSgQI=",
"dev": true,
+ "requires": {
+ "gulp-util": "2.2.20",
+ "rimraf": "2.6.2",
+ "through2": "0.4.2"
+ },
"dependencies": {
"ansi-regex": {
"version": "0.2.1",
@@ -4528,7 +6675,14 @@
"version": "0.5.1",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-0.5.1.tgz",
"integrity": "sha1-Zjs6ZItotV0EaQ1JFnqoN4WPIXQ=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "ansi-styles": "1.1.0",
+ "escape-string-regexp": "1.0.5",
+ "has-ansi": "0.1.0",
+ "strip-ansi": "0.3.0",
+ "supports-color": "0.2.0"
+ }
},
"clone-stats": {
"version": "0.0.1",
@@ -4540,19 +6694,37 @@
"version": "1.0.12",
"resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz",
"integrity": "sha1-nxJLZ1lMk3/3BpMuSmQsyo27/uk=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "get-stdin": "4.0.1",
+ "meow": "3.7.0"
+ }
},
"gulp-util": {
"version": "2.2.20",
"resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-2.2.20.tgz",
"integrity": "sha1-1xRuVyiRC9jwR6awseVJvCLb1kw=",
"dev": true,
+ "requires": {
+ "chalk": "0.5.1",
+ "dateformat": "1.0.12",
+ "lodash._reinterpolate": "2.4.1",
+ "lodash.template": "2.4.1",
+ "minimist": "0.2.0",
+ "multipipe": "0.1.2",
+ "through2": "0.5.1",
+ "vinyl": "0.2.3"
+ },
"dependencies": {
"through2": {
"version": "0.5.1",
"resolved": "https://registry.npmjs.org/through2/-/through2-0.5.1.tgz",
"integrity": "sha1-390BLrnHAOIyP9M084rGIqs3Lac=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "readable-stream": "1.0.34",
+ "xtend": "3.0.0"
+ }
}
}
},
@@ -4560,7 +6732,10 @@
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-0.1.0.tgz",
"integrity": "sha1-hPJlqujA5qiKEtcCKJS3VoiUxi4=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "ansi-regex": "0.2.1"
+ }
},
"isarray": {
"version": "0.0.1",
@@ -4578,25 +6753,48 @@
"version": "2.4.1",
"resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-2.4.1.tgz",
"integrity": "sha1-LOEsXghNsKV92l5dHu659dF1o7Q=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "lodash._escapehtmlchar": "2.4.1",
+ "lodash._reunescapedhtml": "2.4.1",
+ "lodash.keys": "2.4.1"
+ }
},
"lodash.keys": {
"version": "2.4.1",
"resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz",
"integrity": "sha1-SN6kbfj/djKxDXBrissmWR4rNyc=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "lodash._isnative": "2.4.1",
+ "lodash._shimkeys": "2.4.1",
+ "lodash.isobject": "2.4.1"
+ }
},
"lodash.template": {
"version": "2.4.1",
"resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-2.4.1.tgz",
"integrity": "sha1-nmEQB+32KRKal0qzxIuBez4c8g0=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "lodash._escapestringchar": "2.4.1",
+ "lodash._reinterpolate": "2.4.1",
+ "lodash.defaults": "2.4.1",
+ "lodash.escape": "2.4.1",
+ "lodash.keys": "2.4.1",
+ "lodash.templatesettings": "2.4.1",
+ "lodash.values": "2.4.1"
+ }
},
"lodash.templatesettings": {
"version": "2.4.1",
"resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-2.4.1.tgz",
"integrity": "sha1-6nbHXRHrhtTb6JqDiTu4YZKaxpk=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "lodash._reinterpolate": "2.4.1",
+ "lodash.escape": "2.4.1"
+ }
},
"minimist": {
"version": "0.2.0",
@@ -4614,7 +6812,13 @@
"version": "1.0.34",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
"integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "0.0.1",
+ "string_decoder": "0.10.31"
+ }
},
"string_decoder": {
"version": "0.10.31",
@@ -4626,7 +6830,10 @@
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz",
"integrity": "sha1-JfSOoiynkYfzF0pNuHWTR7sSYiA=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "ansi-regex": "0.2.1"
+ }
},
"supports-color": {
"version": "0.2.0",
@@ -4639,12 +6846,19 @@
"resolved": "https://registry.npmjs.org/through2/-/through2-0.4.2.tgz",
"integrity": "sha1-2/WGYDEVHsg1K7bE22SiKSqEC5s=",
"dev": true,
+ "requires": {
+ "readable-stream": "1.0.34",
+ "xtend": "2.1.2"
+ },
"dependencies": {
"xtend": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz",
"integrity": "sha1-bv7MKk2tjmlixJAbM3znuoe10os=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "object-keys": "0.4.0"
+ }
}
}
},
@@ -4652,7 +6866,10 @@
"version": "0.2.3",
"resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.2.3.tgz",
"integrity": "sha1-vKk4IJWC7FpJrVOKAPofEl5RMlI=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "clone-stats": "0.0.1"
+ }
},
"xtend": {
"version": "3.0.0",
@@ -4666,19 +6883,43 @@
"version": "2.6.1",
"resolved": "https://registry.npmjs.org/gulp-concat/-/gulp-concat-2.6.1.tgz",
"integrity": "sha1-Yz0WyV2IUEYorQJmVmPO5aR5M1M=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "concat-with-sourcemaps": "1.0.5",
+ "through2": "2.0.3",
+ "vinyl": "2.1.0"
+ }
},
"gulp-connect": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/gulp-connect/-/gulp-connect-5.0.0.tgz",
"integrity": "sha1-8v3zBq6RFGg2jCKF8teC8T7dr04=",
"dev": true,
+ "requires": {
+ "connect": "2.30.2",
+ "connect-livereload": "0.5.4",
+ "event-stream": "3.3.4",
+ "gulp-util": "3.0.8",
+ "tiny-lr": "0.2.1"
+ },
"dependencies": {
"body-parser": {
"version": "1.14.2",
"resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.14.2.tgz",
"integrity": "sha1-EBXLH+LEQ4WCWVgdtTMy+NDPUPk=",
"dev": true,
+ "requires": {
+ "bytes": "2.2.0",
+ "content-type": "1.0.4",
+ "debug": "2.2.0",
+ "depd": "1.1.2",
+ "http-errors": "1.3.1",
+ "iconv-lite": "0.4.13",
+ "on-finished": "2.3.0",
+ "qs": "5.2.0",
+ "raw-body": "2.1.7",
+ "type-is": "1.6.16"
+ },
"dependencies": {
"qs": {
"version": "5.2.0",
@@ -4698,7 +6939,10 @@
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
"integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "ms": "0.7.1"
+ }
},
"depd": {
"version": "1.1.2",
@@ -4729,6 +6973,11 @@
"resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.1.7.tgz",
"integrity": "sha1-rf6s4uT7MJgFgBTQjActzFl1h3Q=",
"dev": true,
+ "requires": {
+ "bytes": "2.4.0",
+ "iconv-lite": "0.4.13",
+ "unpipe": "1.0.0"
+ },
"dependencies": {
"bytes": {
"version": "2.4.0",
@@ -4742,7 +6991,15 @@
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/tiny-lr/-/tiny-lr-0.2.1.tgz",
"integrity": "sha1-s/26gC5dVqM8L28QeUsy5Hescp0=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "body-parser": "1.14.2",
+ "debug": "2.2.0",
+ "faye-websocket": "0.10.0",
+ "livereload-js": "2.3.0",
+ "parseurl": "1.3.2",
+ "qs": "5.1.0"
+ }
}
}
},
@@ -4750,37 +7007,65 @@
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/gulp-documentation/-/gulp-documentation-3.2.1.tgz",
"integrity": "sha1-r1JKv9cuI+cVXwCyoYoHo2QqjdU=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "through2": "2.0.3",
+ "vinyl": "2.1.0"
+ }
},
"gulp-eslint": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/gulp-eslint/-/gulp-eslint-4.0.2.tgz",
"integrity": "sha512-fcFUQzFsN6dJ6KZlG+qPOEkqfcevRUXgztkYCvhNvJeSvOicC8ucutN4qR/ID8LmNZx9YPIkBzazTNnVvbh8wg==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "eslint": "4.19.1",
+ "fancy-log": "1.3.2",
+ "plugin-error": "1.0.1"
+ }
},
"gulp-footer": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/gulp-footer/-/gulp-footer-1.1.2.tgz",
"integrity": "sha512-G6Z8DNNeIhq1KU++7kZnbuwbvCubkUMOVADOt+0qTHSIqjy2OPo1W4bu4n1aE9JGZncuRTvVQrYecGx2uazlpg==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "event-stream": "3.3.4",
+ "lodash._reescape": "3.0.0",
+ "lodash._reevaluate": "3.0.0",
+ "lodash._reinterpolate": "3.0.0",
+ "lodash.template": "3.6.2"
+ }
},
"gulp-header": {
"version": "1.8.12",
"resolved": "https://registry.npmjs.org/gulp-header/-/gulp-header-1.8.12.tgz",
"integrity": "sha512-lh9HLdb53sC7XIZOYzTXM4lFuXElv3EVkSDhsd7DoJBj7hm+Ni7D3qYbb+Rr8DuM8nRanBvkVO9d7askreXGnQ==",
"dev": true,
+ "requires": {
+ "concat-with-sourcemaps": "1.0.5",
+ "lodash.template": "4.4.0",
+ "through2": "2.0.3"
+ },
"dependencies": {
"lodash.template": {
"version": "4.4.0",
"resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.4.0.tgz",
"integrity": "sha1-5zoDhcg1VZF0bgILmWecaQ5o+6A=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "lodash._reinterpolate": "3.0.0",
+ "lodash.templatesettings": "4.1.0"
+ }
},
"lodash.templatesettings": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.1.0.tgz",
"integrity": "sha1-K01OlbpEDZFf8IvImeRVNmZxMxY=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "lodash._reinterpolate": "3.0.0"
+ }
}
}
},
@@ -4788,13 +7073,21 @@
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/gulp-if/-/gulp-if-2.0.2.tgz",
"integrity": "sha1-pJe351cwBQQcqivIt92jyARE1ik=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "gulp-match": "1.0.3",
+ "ternary-stream": "2.0.1",
+ "through2": "2.0.3"
+ }
},
"gulp-js-escape": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/gulp-js-escape/-/gulp-js-escape-1.0.1.tgz",
"integrity": "sha1-HNRF+9AJ4Np2lZoDp/SbNWav+Gg=",
"dev": true,
+ "requires": {
+ "through2": "0.6.5"
+ },
"dependencies": {
"isarray": {
"version": "0.0.1",
@@ -4806,7 +7099,13 @@
"version": "1.0.34",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
"integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "0.0.1",
+ "string_decoder": "0.10.31"
+ }
},
"string_decoder": {
"version": "0.10.31",
@@ -4818,7 +7117,11 @@
"version": "0.6.5",
"resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
"integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "readable-stream": "1.0.34",
+ "xtend": "4.0.1"
+ }
}
}
},
@@ -4826,13 +7129,22 @@
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/gulp-match/-/gulp-match-1.0.3.tgz",
"integrity": "sha1-kcfA1/Kb7NZgbVfYCn+Hdqh6uo4=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "minimatch": "3.0.4"
+ }
},
"gulp-optimize-js": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/gulp-optimize-js/-/gulp-optimize-js-1.1.0.tgz",
"integrity": "sha1-X9FcaLNvbh5zh3hPhXhDX3VpYkU=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "gulp-util": "3.0.8",
+ "lodash": "4.17.5",
+ "optimize-js": "1.0.3",
+ "through2": "2.0.3"
+ }
},
"gulp-rename": {
"version": "1.2.2",
@@ -4845,12 +7157,26 @@
"resolved": "https://registry.npmjs.org/gulp-replace/-/gulp-replace-0.4.0.tgz",
"integrity": "sha1-4ivJwD6dBRsyiBzFib0+jE5UFoo=",
"dev": true,
+ "requires": {
+ "event-stream": "3.0.20",
+ "istextorbinary": "1.0.2",
+ "replacestream": "0.1.3"
+ },
"dependencies": {
"event-stream": {
"version": "3.0.20",
"resolved": "http://registry.npmjs.org/event-stream/-/event-stream-3.0.20.tgz",
"integrity": "sha1-A4u7LqnqkDhbJvvBhU0LU58qvqM=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "duplexer": "0.1.1",
+ "from": "0.1.7",
+ "map-stream": "0.0.7",
+ "pause-stream": "0.0.11",
+ "split": "0.2.10",
+ "stream-combiner": "0.0.4",
+ "through": "2.3.8"
+ }
},
"map-stream": {
"version": "0.0.7",
@@ -4862,7 +7188,10 @@
"version": "0.2.10",
"resolved": "https://registry.npmjs.org/split/-/split-0.2.10.tgz",
"integrity": "sha1-Zwl8YB1pfOE2j0GPBs0gHPBSGlc=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "through": "2.3.8"
+ }
}
}
},
@@ -4870,25 +7199,46 @@
"version": "0.5.2",
"resolved": "https://registry.npmjs.org/gulp-shell/-/gulp-shell-0.5.2.tgz",
"integrity": "sha1-pJWcoGUa0ce7/nCy0K27tOGuqY0=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "async": "1.5.2",
+ "gulp-util": "3.0.8",
+ "lodash": "4.17.5",
+ "through2": "2.0.3"
+ }
},
"gulp-sourcemaps": {
"version": "2.6.4",
"resolved": "https://registry.npmjs.org/gulp-sourcemaps/-/gulp-sourcemaps-2.6.4.tgz",
- "integrity": "sha1-y7IAhFCxvM5s0jv5gze+dRv24wo="
+ "integrity": "sha1-y7IAhFCxvM5s0jv5gze+dRv24wo=",
+ "requires": {
+ "@gulp-sourcemaps/identity-map": "1.0.1",
+ "@gulp-sourcemaps/map-sources": "1.0.0",
+ "acorn": "5.5.3",
+ "convert-source-map": "1.5.1",
+ "css": "2.2.1",
+ "debug-fabulous": "1.1.0",
+ "detect-newline": "2.1.0",
+ "graceful-fs": "4.1.11",
+ "source-map": "0.6.1",
+ "strip-bom-string": "1.0.0",
+ "through2": "2.0.3"
+ }
},
"gulp-uglify": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/gulp-uglify/-/gulp-uglify-3.0.0.tgz",
- "integrity": "sha1-DfAzHXKg0wLj434QlIXd3zPG0co=",
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/gulp-uglify/-/gulp-uglify-2.1.2.tgz",
+ "integrity": "sha1-bbhbHQ7mPRgFhZK2WGSdZcLsRUE=",
"dev": true,
- "dependencies": {
- "uglify-js": {
- "version": "3.3.22",
- "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.3.22.tgz",
- "integrity": "sha512-tqw96rL6/BG+7LM5VItdhDjTQmL5zG/I0b2RqWytlgeHe2eydZHuBHdA9vuGpCDhH/ZskNGcqDhivoR2xt8RIw==",
- "dev": true
- }
+ "requires": {
+ "gulplog": "1.0.0",
+ "has-gulplog": "0.1.0",
+ "lodash": "4.17.5",
+ "make-error-cause": "1.2.2",
+ "through2": "2.0.3",
+ "uglify-js": "2.8.29",
+ "uglify-save-license": "0.4.1",
+ "vinyl-sourcemaps-apply": "0.2.1"
}
},
"gulp-util": {
@@ -4896,6 +7246,26 @@
"resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz",
"integrity": "sha1-AFTh50RQLifATBh8PsxQXdVLu08=",
"dev": true,
+ "requires": {
+ "array-differ": "1.0.0",
+ "array-uniq": "1.0.3",
+ "beeper": "1.1.1",
+ "chalk": "1.1.3",
+ "dateformat": "2.2.0",
+ "fancy-log": "1.3.2",
+ "gulplog": "1.0.0",
+ "has-gulplog": "0.1.0",
+ "lodash._reescape": "3.0.0",
+ "lodash._reevaluate": "3.0.0",
+ "lodash._reinterpolate": "3.0.0",
+ "lodash.template": "3.6.2",
+ "minimist": "1.2.0",
+ "multipipe": "0.1.2",
+ "object-assign": "3.0.0",
+ "replace-ext": "0.0.1",
+ "through2": "2.0.3",
+ "vinyl": "0.5.3"
+ },
"dependencies": {
"clone": {
"version": "1.0.4",
@@ -4931,7 +7301,12 @@
"version": "0.5.3",
"resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.5.3.tgz",
"integrity": "sha1-sEVbOPxeDPMNQyUTLkYZcMIJHN4=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "clone": "1.0.4",
+ "clone-stats": "0.0.1",
+ "replace-ext": "0.0.1"
+ }
}
}
},
@@ -4940,6 +7315,13 @@
"resolved": "https://registry.npmjs.org/gulp-webdriver/-/gulp-webdriver-1.0.3.tgz",
"integrity": "sha1-mM6Bz5rganoZB7htEPaThvQ4Oi0=",
"dev": true,
+ "requires": {
+ "dargs": "github:christian-bromann/dargs#7d6d4164a7c4106dbd14ef39ed8d95b7b5e9b770",
+ "deepmerge": "0.2.10",
+ "gulp-util": "3.0.8",
+ "through2": "0.6.5",
+ "webdriverio": "3.4.0"
+ },
"dependencies": {
"isarray": {
"version": "0.0.1",
@@ -4951,7 +7333,13 @@
"version": "1.0.34",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
"integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "0.0.1",
+ "string_decoder": "0.10.31"
+ }
},
"string_decoder": {
"version": "0.10.31",
@@ -4963,7 +7351,11 @@
"version": "0.6.5",
"resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
"integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "readable-stream": "1.0.34",
+ "xtend": "4.0.1"
+ }
}
}
},
@@ -4971,19 +7363,31 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz",
"integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "glogg": "1.0.1"
+ }
},
"handlebars": {
"version": "4.0.11",
"resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.11.tgz",
"integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=",
"dev": true,
+ "requires": {
+ "async": "1.5.2",
+ "optimist": "0.6.1",
+ "source-map": "0.4.4",
+ "uglify-js": "2.8.29"
+ },
"dependencies": {
"source-map": {
"version": "0.4.4",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz",
"integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "amdefine": "1.0.1"
+ }
}
}
},
@@ -4991,25 +7395,40 @@
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz",
"integrity": "sha1-zcvAgYgmWtEZtqWnyKtw7s+10n0=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "chalk": "1.1.3",
+ "commander": "2.15.1",
+ "is-my-json-valid": "2.17.2",
+ "pinkie-promise": "2.0.1"
+ }
},
"has": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/has/-/has-1.0.1.tgz",
"integrity": "sha1-hGFzP1OLCDfJNh45qauelwTcLyg=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "function-bind": "1.1.1"
+ }
},
"has-ansi": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
"integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "ansi-regex": "2.1.1"
+ }
},
"has-binary2": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.2.tgz",
"integrity": "sha1-6D26SfC5vk0CbSc2U1DZ8D9Uvpg=",
"dev": true,
+ "requires": {
+ "isarray": "2.0.1"
+ },
"dependencies": {
"isarray": {
"version": "2.0.1",
@@ -5035,7 +7454,10 @@
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz",
"integrity": "sha1-ZBTIKRNpfaUVkDl9r7EvIpZ4Ec4=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "sparkles": "1.0.0"
+ }
},
"has-symbols": {
"version": "1.0.0",
@@ -5047,19 +7469,31 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
"integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "get-value": "2.0.6",
+ "has-values": "1.0.0",
+ "isobject": "3.0.1"
+ }
},
"has-values": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
"integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
"dev": true,
+ "requires": {
+ "is-number": "3.0.0",
+ "kind-of": "4.0.0"
+ },
"dependencies": {
"kind-of": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
"integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "is-buffer": "1.1.6"
+ }
}
}
},
@@ -5067,13 +7501,21 @@
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz",
"integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "inherits": "2.0.3",
+ "safe-buffer": "5.1.1"
+ }
},
"hash.js": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz",
"integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "inherits": "2.0.3",
+ "minimalistic-assert": "1.0.1"
+ }
},
"hast-util-is-element": {
"version": "1.0.0",
@@ -5085,13 +7527,29 @@
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/hast-util-sanitize/-/hast-util-sanitize-1.1.2.tgz",
"integrity": "sha1-0QvWdXoh5ZwTq8iuNTDdO219Z54=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "xtend": "4.0.1"
+ }
},
"hast-util-to-html": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-3.1.0.tgz",
"integrity": "sha1-iCyZhJ5AEw6ZHAQuRW1FPZXDbP8=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "ccount": "1.0.3",
+ "comma-separated-tokens": "1.0.5",
+ "hast-util-is-element": "1.0.0",
+ "hast-util-whitespace": "1.0.0",
+ "html-void-elements": "1.0.3",
+ "kebab-case": "1.0.0",
+ "property-information": "3.2.0",
+ "space-separated-tokens": "1.1.2",
+ "stringify-entities": "1.3.1",
+ "unist-util-is": "2.1.1",
+ "xtend": "4.0.1"
+ }
},
"hast-util-whitespace": {
"version": "1.0.0",
@@ -5103,7 +7561,13 @@
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz",
"integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "boom": "2.10.1",
+ "cryptiles": "2.0.5",
+ "hoek": "2.16.3",
+ "sntp": "1.0.9"
+ }
},
"highlight.js": {
"version": "9.12.0",
@@ -5116,13 +7580,22 @@
"resolved": "https://registry.npmjs.org/hipchat-notifier/-/hipchat-notifier-1.1.0.tgz",
"integrity": "sha1-ttJJdVQ3wZEII2d5nTupoPI7Ix4=",
"dev": true,
- "optional": true
+ "optional": true,
+ "requires": {
+ "lodash": "4.17.5",
+ "request": "2.79.0"
+ }
},
"hmac-drbg": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz",
"integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "hash.js": "1.1.3",
+ "minimalistic-assert": "1.0.1",
+ "minimalistic-crypto-utils": "1.0.1"
+ }
},
"hoek": {
"version": "2.16.3",
@@ -5134,13 +7607,20 @@
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz",
"integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "os-homedir": "1.0.2",
+ "os-tmpdir": "1.0.2"
+ }
},
"homedir-polyfill": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz",
"integrity": "sha1-TCu8inWJmP7r9e1oWA921GdotLw=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "parse-passwd": "1.0.0"
+ }
},
"hosted-git-info": {
"version": "2.6.0",
@@ -5158,7 +7638,11 @@
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.3.1.tgz",
"integrity": "sha1-GX4izevUGYWF6GlO9nhhl7ke2UI=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "inherits": "2.0.3",
+ "statuses": "1.5.0"
+ }
},
"http-parser-js": {
"version": "0.4.11",
@@ -5170,19 +7654,32 @@
"version": "1.17.0",
"resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.17.0.tgz",
"integrity": "sha512-Taqn+3nNvYRfJ3bGvKfBSRwy1v6eePlm3oc/aWVxZp57DQr5Eq3xhKJi7Z4hZpS8PC3H4qI+Yly5EmFacGuA/g==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "eventemitter3": "3.0.1",
+ "follow-redirects": "1.4.1",
+ "requires-port": "1.0.0"
+ }
},
"http-proxy-agent": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-1.0.0.tgz",
"integrity": "sha1-zBzjjkU7+YSg93AtLdWcc9CBKEo=",
"dev": true,
+ "requires": {
+ "agent-base": "2.1.1",
+ "debug": "2.6.9",
+ "extend": "3.0.1"
+ },
"dependencies": {
"debug": {
"version": "2.6.9",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
}
}
},
@@ -5190,13 +7687,22 @@
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz",
"integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "assert-plus": "0.2.0",
+ "jsprim": "1.4.1",
+ "sshpk": "1.14.1"
+ }
},
"httpntlm": {
"version": "1.6.1",
"resolved": "https://registry.npmjs.org/httpntlm/-/httpntlm-1.6.1.tgz",
"integrity": "sha1-rQFScUOi6Hc8+uapb1hla7UqNLI=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "httpreq": "0.4.24",
+ "underscore": "1.7.0"
+ }
},
"httpreq": {
"version": "0.4.24",
@@ -5215,12 +7721,20 @@
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-1.0.0.tgz",
"integrity": "sha1-NffabEjOTdv6JkiRrFk+5f+GceY=",
"dev": true,
+ "requires": {
+ "agent-base": "2.1.1",
+ "debug": "2.6.9",
+ "extend": "3.0.1"
+ },
"dependencies": {
"debug": {
"version": "2.6.9",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
}
}
},
@@ -5258,7 +7772,10 @@
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz",
"integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "repeating": "2.0.1"
+ }
},
"indexof": {
"version": "0.0.1",
@@ -5277,7 +7794,11 @@
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
"integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "once": "1.4.0",
+ "wrappy": "1.0.2"
+ }
},
"inherits": {
"version": "2.0.3",
@@ -5295,6 +7816,22 @@
"resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz",
"integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==",
"dev": true,
+ "requires": {
+ "ansi-escapes": "3.1.0",
+ "chalk": "2.4.0",
+ "cli-cursor": "2.1.0",
+ "cli-width": "2.2.0",
+ "external-editor": "2.2.0",
+ "figures": "2.0.0",
+ "lodash": "4.17.5",
+ "mute-stream": "0.0.7",
+ "run-async": "2.3.0",
+ "rx-lite": "4.0.8",
+ "rx-lite-aggregates": "4.0.8",
+ "string-width": "2.1.1",
+ "strip-ansi": "4.0.0",
+ "through": "2.3.8"
+ },
"dependencies": {
"ansi-regex": {
"version": "3.0.0",
@@ -5306,13 +7843,21 @@
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "color-convert": "1.9.1"
+ }
},
"chalk": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.0.tgz",
"integrity": "sha512-Wr/w0f4o9LuE7K53cD0qmbAMM+2XNLzR29vFn5hqko4sxGlUsyy363NvmyGIyk5tpe9cjTr9SJYbysEyPkRnFw==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "ansi-styles": "3.2.1",
+ "escape-string-regexp": "1.0.5",
+ "supports-color": "5.4.0"
+ }
},
"is-fullwidth-code-point": {
"version": "2.0.0",
@@ -5324,19 +7869,29 @@
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
"integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "is-fullwidth-code-point": "2.0.0",
+ "strip-ansi": "4.0.0"
+ }
},
"strip-ansi": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
"integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "ansi-regex": "3.0.0"
+ }
},
"supports-color": {
"version": "5.4.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
"integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "has-flag": "3.0.0"
+ }
}
}
},
@@ -5350,7 +7905,10 @@
"version": "2.2.4",
"resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
"integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "loose-envify": "1.3.1"
+ }
},
"invert-kv": {
"version": "1.0.0",
@@ -5368,19 +7926,29 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz",
"integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "is-relative": "1.0.0",
+ "is-windows": "1.0.2"
+ }
},
"is-accessor-descriptor": {
"version": "0.1.6",
"resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
"integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
"dev": true,
+ "requires": {
+ "kind-of": "3.2.2"
+ },
"dependencies": {
"kind-of": {
"version": "3.2.2",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "is-buffer": "1.1.6"
+ }
}
}
},
@@ -5400,7 +7968,11 @@
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.2.tgz",
"integrity": "sha512-pyfU/0kHdISIgslFfZN9nfY1Gk3MquQgUm1mJTjdkEPpkAKNWuBTSqFwewOpR7N351VkErCiyV71zX7mlQQqsg==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "is-alphabetical": "1.0.2",
+ "is-decimal": "1.0.2"
+ }
},
"is-arrayish": {
"version": "0.2.1",
@@ -5412,7 +7984,10 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
"integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "binary-extensions": "1.11.0"
+ }
},
"is-buffer": {
"version": "1.1.6",
@@ -5424,19 +7999,28 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz",
"integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "builtin-modules": "1.1.1"
+ }
},
"is-data-descriptor": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
"integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
"dev": true,
+ "requires": {
+ "kind-of": "3.2.2"
+ },
"dependencies": {
"kind-of": {
"version": "3.2.2",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "is-buffer": "1.1.6"
+ }
}
}
},
@@ -5451,6 +8035,11 @@
"resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
"integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
"dev": true,
+ "requires": {
+ "is-accessor-descriptor": "0.1.6",
+ "is-data-descriptor": "0.1.4",
+ "kind-of": "5.1.0"
+ },
"dependencies": {
"kind-of": {
"version": "5.1.0",
@@ -5470,7 +8059,10 @@
"version": "0.1.3",
"resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz",
"integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "is-primitive": "2.0.0"
+ }
},
"is-extendable": {
"version": "0.1.1",
@@ -5488,13 +8080,19 @@
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz",
"integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "number-is-nan": "1.0.1"
+ }
},
"is-fullwidth-code-point": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
"integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "number-is-nan": "1.0.1"
+ }
},
"is-generator": {
"version": "1.0.3",
@@ -5506,7 +8104,10 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz",
"integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "is-extglob": "2.1.1"
+ }
},
"is-hexadecimal": {
"version": "1.0.2",
@@ -5524,7 +8125,14 @@
"version": "2.17.2",
"resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.17.2.tgz",
"integrity": "sha512-IBhBslgngMQN8DDSppmgDv7RNrlFotuuDsKcrCP3+HbFaVivIBU7u9oiiErw8sH4ynx3+gOGQ3q2otkgiSi6kg==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "generate-function": "2.0.0",
+ "generate-object-property": "1.2.0",
+ "is-my-ip-valid": "1.0.0",
+ "jsonpointer": "4.0.1",
+ "xtend": "4.0.1"
+ }
},
"is-negated-glob": {
"version": "1.0.0",
@@ -5537,12 +8145,18 @@
"resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
"integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
"dev": true,
+ "requires": {
+ "kind-of": "3.2.2"
+ },
"dependencies": {
"kind-of": {
"version": "3.2.2",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "is-buffer": "1.1.6"
+ }
}
}
},
@@ -5557,6 +8171,9 @@
"resolved": "https://registry.npmjs.org/is-odd/-/is-odd-2.0.0.tgz",
"integrity": "sha512-OTiixgpZAT1M4NHgS5IguFp/Vz2VI3U7Goh4/HA1adtwyLtSBrxYlcSYkhpAE07s4fKEcjrFxyvtQBND4vFQyQ==",
"dev": true,
+ "requires": {
+ "is-number": "4.0.0"
+ },
"dependencies": {
"is-number": {
"version": "4.0.0",
@@ -5576,13 +8193,19 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz",
"integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "is-path-inside": "1.0.1"
+ }
},
"is-path-inside": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz",
"integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "path-is-inside": "1.0.2"
+ }
},
"is-plain-obj": {
"version": "1.1.0",
@@ -5594,7 +8217,10 @@
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
"integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "isobject": "3.0.1"
+ }
},
"is-posix-bracket": {
"version": "0.1.1",
@@ -5623,7 +8249,10 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz",
"integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "is-unc-path": "1.0.0"
+ }
},
"is-resolvable": {
"version": "1.1.0",
@@ -5635,7 +8264,10 @@
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/is-ssh/-/is-ssh-1.3.0.tgz",
"integrity": "sha1-6+oRaaJhTaOSpjdANmw84EnY3/Y=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "protocols": "1.4.6"
+ }
},
"is-stream": {
"version": "1.1.0",
@@ -5653,7 +8285,10 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz",
"integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "unc-path-regex": "0.1.2"
+ }
},
"is-utf8": {
"version": "0.2.1",
@@ -5719,12 +8354,35 @@
"resolved": "https://registry.npmjs.org/istanbul/-/istanbul-0.4.5.tgz",
"integrity": "sha1-ZcfXPUxNqE1POsMQuRj7C4Azczs=",
"dev": true,
+ "requires": {
+ "abbrev": "1.0.9",
+ "async": "1.5.2",
+ "escodegen": "1.8.1",
+ "esprima": "2.7.3",
+ "glob": "5.0.15",
+ "handlebars": "4.0.11",
+ "js-yaml": "3.6.1",
+ "mkdirp": "0.5.1",
+ "nopt": "3.0.6",
+ "once": "1.4.0",
+ "resolve": "1.1.7",
+ "supports-color": "3.2.3",
+ "which": "1.3.0",
+ "wordwrap": "1.0.0"
+ },
"dependencies": {
"glob": {
"version": "5.0.15",
"resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
"integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "inflight": "1.0.6",
+ "inherits": "2.0.3",
+ "minimatch": "3.0.4",
+ "once": "1.4.0",
+ "path-is-absolute": "1.0.1"
+ }
},
"has-flag": {
"version": "1.0.0",
@@ -5742,7 +8400,10 @@
"version": "3.2.3",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
"integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "has-flag": "1.0.0"
+ }
}
}
},
@@ -5751,12 +8412,29 @@
"resolved": "https://registry.npmjs.org/istanbul-api/-/istanbul-api-1.3.1.tgz",
"integrity": "sha512-duj6AlLcsWNwUpfyfHt0nWIeRiZpuShnP40YTxOGQgtaN8fd6JYSxsvxUphTDy8V5MfDXo4s/xVCIIvVCO808g==",
"dev": true,
+ "requires": {
+ "async": "2.6.0",
+ "compare-versions": "3.1.0",
+ "fileset": "2.0.3",
+ "istanbul-lib-coverage": "1.2.0",
+ "istanbul-lib-hook": "1.2.0",
+ "istanbul-lib-instrument": "1.10.1",
+ "istanbul-lib-report": "1.1.4",
+ "istanbul-lib-source-maps": "1.2.4",
+ "istanbul-reports": "1.3.0",
+ "js-yaml": "3.11.0",
+ "mkdirp": "0.5.1",
+ "once": "1.4.0"
+ },
"dependencies": {
"async": {
"version": "2.6.0",
"resolved": "https://registry.npmjs.org/async/-/async-2.6.0.tgz",
"integrity": "sha512-xAfGg1/NTLBBKlHFmnd7PlmUW9KhVQIUuSrYem9xzFUZy13ScvtyGGejaae9iAVRiRq9+Cx7DPFaAAhCpyxyPw==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "lodash": "4.17.5"
+ }
},
"esprima": {
"version": "4.0.0",
@@ -5768,7 +8446,11 @@
"version": "3.11.0",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.11.0.tgz",
"integrity": "sha512-saJstZWv7oNeOyBh3+Dx1qWzhW0+e6/8eDzo7p5rDFqxntSztloLtuKu+Ejhtq82jsilwOIZYsCz+lIjthg1Hw==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "argparse": "1.0.10",
+ "esprima": "4.0.0"
+ }
}
}
},
@@ -5776,7 +8458,13 @@
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/istanbul-instrumenter-loader/-/istanbul-instrumenter-loader-3.0.1.tgz",
"integrity": "sha512-a5SPObZgS0jB/ixaKSMdn6n/gXSrK2S6q/UfRJBT3e6gQmVjwZROTODQsYW5ZNwOu78hG62Y3fWlebaVOL0C+w==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "convert-source-map": "1.5.1",
+ "istanbul-lib-instrument": "1.10.1",
+ "loader-utils": "1.1.0",
+ "schema-utils": "0.3.0"
+ }
},
"istanbul-lib-coverage": {
"version": "1.2.0",
@@ -5788,19 +8476,37 @@
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-1.2.0.tgz",
"integrity": "sha512-p3En6/oGkFQV55Up8ZPC2oLxvgSxD8CzA0yBrhRZSh3pfv3OFj9aSGVC0yoerAi/O4u7jUVnOGVX1eVFM+0tmQ==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "append-transform": "0.4.0"
+ }
},
"istanbul-lib-instrument": {
"version": "1.10.1",
"resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.10.1.tgz",
"integrity": "sha512-1dYuzkOCbuR5GRJqySuZdsmsNKPL3PTuyPevQfoCXJePT9C8y1ga75neU+Tuy9+yS3G/dgx8wgOmp2KLpgdoeQ==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "babel-generator": "6.26.1",
+ "babel-template": "6.26.0",
+ "babel-traverse": "6.26.0",
+ "babel-types": "6.26.0",
+ "babylon": "6.18.0",
+ "istanbul-lib-coverage": "1.2.0",
+ "semver": "5.5.0"
+ }
},
"istanbul-lib-report": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-1.1.4.tgz",
"integrity": "sha512-Azqvq5tT0U09nrncK3q82e/Zjkxa4tkFZv7E6VcqP0QCPn6oNljDPfrZEC/umNXds2t7b8sRJfs6Kmpzt8m2kA==",
"dev": true,
+ "requires": {
+ "istanbul-lib-coverage": "1.2.0",
+ "mkdirp": "0.5.1",
+ "path-parse": "1.0.5",
+ "supports-color": "3.2.3"
+ },
"dependencies": {
"has-flag": {
"version": "1.0.0",
@@ -5812,7 +8518,10 @@
"version": "3.2.3",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
"integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "has-flag": "1.0.0"
+ }
}
}
},
@@ -5821,6 +8530,13 @@
"resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.4.tgz",
"integrity": "sha512-UzuK0g1wyQijiaYQxj/CdNycFhAd2TLtO2obKQMTZrZ1jzEMRY3rvpASEKkaxbRR6brvdovfA03znPa/pXcejg==",
"dev": true,
+ "requires": {
+ "debug": "3.1.0",
+ "istanbul-lib-coverage": "1.2.0",
+ "mkdirp": "0.5.1",
+ "rimraf": "2.6.2",
+ "source-map": "0.5.7"
+ },
"dependencies": {
"source-map": {
"version": "0.5.7",
@@ -5834,19 +8550,30 @@
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-1.3.0.tgz",
"integrity": "sha512-y2Z2IMqE1gefWUaVjrBm0mSKvUkaBy9Vqz8iwr/r40Y9hBbIteH5wqHG/9DLTfJ9xUnUT2j7A3+VVJ6EaYBllA==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "handlebars": "4.0.11"
+ }
},
"istextorbinary": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/istextorbinary/-/istextorbinary-1.0.2.tgz",
"integrity": "sha1-rOGTVNGpoBc+/rEITOD4ewrX3s8=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "binaryextensions": "1.0.1",
+ "textextensions": "1.0.2"
+ }
},
"jade": {
"version": "0.26.3",
"resolved": "https://registry.npmjs.org/jade/-/jade-0.26.3.tgz",
"integrity": "sha1-jxDXl32NefL2/4YqgbBRPMslaGw=",
"dev": true,
+ "requires": {
+ "commander": "0.6.1",
+ "mkdirp": "0.3.0"
+ },
"dependencies": {
"commander": {
"version": "0.6.1",
@@ -5872,7 +8599,11 @@
"version": "3.6.1",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.6.1.tgz",
"integrity": "sha1-bl/mfYsgXOTSL60Ft3geja3MSzA=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "argparse": "1.0.10",
+ "esprima": "2.7.3"
+ }
},
"jsbn": {
"version": "0.1.1",
@@ -5915,7 +8646,10 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz",
"integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "jsonify": "0.0.0"
+ }
},
"json-stable-stringify-without-jsonify": {
"version": "1.0.1",
@@ -5965,17 +8699,17 @@
"integrity": "sha1-T9kss04OnbPInIYi7PUfm5eMbLk=",
"dev": true
},
- "JSONStream": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.2.tgz",
- "integrity": "sha1-wQI3G27Dp887hHygDCC7D85Mbeo=",
- "dev": true
- },
"jsprim": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
"integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
"dev": true,
+ "requires": {
+ "assert-plus": "1.0.0",
+ "extsprintf": "1.3.0",
+ "json-schema": "0.2.3",
+ "verror": "1.10.0"
+ },
"dependencies": {
"assert-plus": {
"version": "1.0.0",
@@ -6001,18 +8735,54 @@
"resolved": "https://registry.npmjs.org/karma/-/karma-2.0.2.tgz",
"integrity": "sha1-TS25QChQpmVR+nhLAWT7CCTtjEs=",
"dev": true,
+ "requires": {
+ "bluebird": "3.5.1",
+ "body-parser": "1.18.2",
+ "chokidar": "1.7.0",
+ "colors": "1.2.1",
+ "combine-lists": "1.0.1",
+ "connect": "3.6.6",
+ "core-js": "2.5.5",
+ "di": "0.0.1",
+ "dom-serialize": "2.2.1",
+ "expand-braces": "0.1.2",
+ "glob": "7.1.2",
+ "graceful-fs": "4.1.11",
+ "http-proxy": "1.17.0",
+ "isbinaryfile": "3.0.2",
+ "lodash": "4.17.5",
+ "log4js": "2.5.3",
+ "mime": "1.6.0",
+ "minimatch": "3.0.4",
+ "optimist": "0.6.1",
+ "qjobs": "1.2.0",
+ "range-parser": "1.2.0",
+ "rimraf": "2.6.2",
+ "safe-buffer": "5.1.1",
+ "socket.io": "2.0.4",
+ "source-map": "0.6.1",
+ "tmp": "0.0.33",
+ "useragent": "2.2.1"
+ },
"dependencies": {
"anymatch": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz",
"integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "micromatch": "2.3.11",
+ "normalize-path": "2.1.1"
+ }
},
"arr-diff": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz",
"integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "arr-flatten": "1.1.0"
+ }
},
"array-unique": {
"version": "0.2.1",
@@ -6024,13 +8794,30 @@
"version": "1.18.2",
"resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.2.tgz",
"integrity": "sha1-h2eKGdhLR9hZuDGZvVm84iKxBFQ=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "bytes": "3.0.0",
+ "content-type": "1.0.4",
+ "debug": "2.6.9",
+ "depd": "1.1.2",
+ "http-errors": "1.6.3",
+ "iconv-lite": "0.4.19",
+ "on-finished": "2.3.0",
+ "qs": "6.5.1",
+ "raw-body": "2.3.2",
+ "type-is": "1.6.16"
+ }
},
"braces": {
"version": "1.8.5",
"resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz",
"integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "expand-range": "1.8.2",
+ "preserve": "0.2.0",
+ "repeat-element": "1.1.2"
+ }
},
"bytes": {
"version": "3.0.0",
@@ -6042,19 +8829,39 @@
"version": "1.7.0",
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz",
"integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "anymatch": "1.3.2",
+ "async-each": "1.0.1",
+ "fsevents": "1.2.2",
+ "glob-parent": "2.0.0",
+ "inherits": "2.0.3",
+ "is-binary-path": "1.0.1",
+ "is-glob": "2.0.1",
+ "path-is-absolute": "1.0.1",
+ "readdirp": "2.1.0"
+ }
},
"connect": {
"version": "3.6.6",
"resolved": "https://registry.npmjs.org/connect/-/connect-3.6.6.tgz",
"integrity": "sha1-Ce/2xVr3I24TcTWnJXSFi2eG9SQ=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "debug": "2.6.9",
+ "finalhandler": "1.1.0",
+ "parseurl": "1.3.2",
+ "utils-merge": "1.0.1"
+ }
},
"debug": {
"version": "2.6.9",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
},
"depd": {
"version": "1.1.2",
@@ -6066,19 +8873,34 @@
"version": "0.1.5",
"resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz",
"integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "is-posix-bracket": "0.1.1"
+ }
},
"extglob": {
"version": "0.3.2",
"resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz",
"integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "is-extglob": "1.0.0"
+ }
},
"finalhandler": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.0.tgz",
"integrity": "sha1-zgtoVbRYU+eRsvzGgARtiCU91/U=",
"dev": true,
+ "requires": {
+ "debug": "2.6.9",
+ "encodeurl": "1.0.2",
+ "escape-html": "1.0.3",
+ "on-finished": "2.3.0",
+ "parseurl": "1.3.2",
+ "statuses": "1.3.1",
+ "unpipe": "1.0.0"
+ },
"dependencies": {
"statuses": {
"version": "1.3.1",
@@ -6092,13 +8914,30 @@
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
"integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "is-glob": "2.0.1"
+ }
},
"http-errors": {
"version": "1.6.3",
"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz",
"integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "depd": "1.1.2",
+ "inherits": "2.0.3",
+ "setprototypeof": "1.1.0",
+ "statuses": "1.5.0"
+ },
+ "dependencies": {
+ "setprototypeof": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz",
+ "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==",
+ "dev": true
+ }
+ }
},
"iconv-lite": {
"version": "0.4.19",
@@ -6116,19 +8955,40 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
"integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "is-extglob": "1.0.0"
+ }
},
"kind-of": {
"version": "3.2.2",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "is-buffer": "1.1.6"
+ }
},
"micromatch": {
"version": "2.3.11",
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz",
"integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "arr-diff": "2.0.0",
+ "array-unique": "0.2.1",
+ "braces": "1.8.5",
+ "expand-brackets": "0.1.5",
+ "extglob": "0.3.2",
+ "filename-regex": "2.0.1",
+ "is-extglob": "1.0.0",
+ "is-glob": "2.0.1",
+ "kind-of": "3.2.2",
+ "normalize-path": "2.1.1",
+ "object.omit": "2.0.1",
+ "parse-glob": "3.0.4",
+ "regex-cache": "0.4.4"
+ }
},
"qs": {
"version": "6.5.1",
@@ -6147,6 +9007,12 @@
"resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.2.tgz",
"integrity": "sha1-vNYMd9Prk83gBQKVw/N5OJvIj4k=",
"dev": true,
+ "requires": {
+ "bytes": "3.0.0",
+ "http-errors": "1.6.2",
+ "iconv-lite": "0.4.19",
+ "unpipe": "1.0.0"
+ },
"dependencies": {
"depd": {
"version": "1.1.1",
@@ -6158,7 +9024,13 @@
"version": "1.6.2",
"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz",
"integrity": "sha1-CgAsyFcHGSp+eUbO7cERVfYOxzY=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "depd": "1.1.1",
+ "inherits": "2.0.3",
+ "setprototypeof": "1.0.3",
+ "statuses": "1.5.0"
+ }
},
"setprototypeof": {
"version": "1.0.3",
@@ -6180,13 +9052,21 @@
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/karma-babel-preprocessor/-/karma-babel-preprocessor-6.0.1.tgz",
"integrity": "sha1-euHT5klQ2+EfQht0BAqwj7WmbCE=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "babel-core": "6.22.0"
+ }
},
"karma-browserstack-launcher": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/karma-browserstack-launcher/-/karma-browserstack-launcher-1.3.0.tgz",
"integrity": "sha512-LrPf5sU/GISkEElWyoy06J8x0c8BcOjjOwf61Wqu6M0aWQu0Eoqm9yh3xON64/ByST/CEr0GsWiREQ/EIEMd4Q==",
"dev": true,
+ "requires": {
+ "browserstack": "1.5.0",
+ "browserstacktunnel-wrapper": "2.0.2",
+ "q": "1.5.1"
+ },
"dependencies": {
"q": {
"version": "1.5.1",
@@ -6206,19 +9086,30 @@
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-2.2.0.tgz",
"integrity": "sha512-uf/ZVpAabDBPvdPdveyk1EPgbnloPvFFGgmRhYLTDH7gEB4nZdSBk8yTU47w1g/drLSx5uMOkjKk7IWKfWg/+w==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "fs-access": "1.0.1",
+ "which": "1.3.0"
+ }
},
"karma-coverage-istanbul-reporter": {
"version": "1.4.2",
"resolved": "https://registry.npmjs.org/karma-coverage-istanbul-reporter/-/karma-coverage-istanbul-reporter-1.4.2.tgz",
"integrity": "sha512-sQHexslLF+QHzaKfK8+onTYMyvSwv+p5cDayVxhpEELGa3z0QuB+l0IMsicIkkBNMOJKQaqueiRoW7iuo7lsog==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "istanbul-api": "1.3.1",
+ "minimatch": "3.0.4"
+ }
},
"karma-es5-shim": {
"version": "0.0.4",
"resolved": "https://registry.npmjs.org/karma-es5-shim/-/karma-es5-shim-0.0.4.tgz",
"integrity": "sha1-zdADM8znfC5M4D46yT8vjs0fuVI=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "es5-shim": "4.5.10"
+ }
},
"karma-firefox-launcher": {
"version": "1.1.0",
@@ -6230,13 +9121,29 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/karma-ie-launcher/-/karma-ie-launcher-1.0.0.tgz",
"integrity": "sha1-SXmGhCxJAZA0bNifVJTKmDDG1Zw=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "lodash": "4.17.5"
+ }
+ },
+ "karma-junit-reporter": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/karma-junit-reporter/-/karma-junit-reporter-1.2.0.tgz",
+ "integrity": "sha1-T5xAzt+xo5X4rvh2q/lhiZF8Y5Y=",
+ "dev": true,
+ "requires": {
+ "path-is-absolute": "1.0.1",
+ "xmlbuilder": "8.2.2"
+ }
},
"karma-mocha": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/karma-mocha/-/karma-mocha-1.3.0.tgz",
"integrity": "sha1-7qrH/8DiAetjxGdEDStpx883eL8=",
"dev": true,
+ "requires": {
+ "minimist": "1.2.0"
+ },
"dependencies": {
"minimist": {
"version": "1.2.0",
@@ -6246,44 +9153,6 @@
}
}
},
- "karma-mocha-reporter": {
- "version": "2.2.5",
- "resolved": "https://registry.npmjs.org/karma-mocha-reporter/-/karma-mocha-reporter-2.2.5.tgz",
- "integrity": "sha1-FRIAlejtgZGG5HoLAS8810GJVWA=",
- "dev": true,
- "dependencies": {
- "ansi-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
- "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
- "dev": true
- },
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true
- },
- "chalk": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.0.tgz",
- "integrity": "sha512-Wr/w0f4o9LuE7K53cD0qmbAMM+2XNLzR29vFn5hqko4sxGlUsyy363NvmyGIyk5tpe9cjTr9SJYbysEyPkRnFw==",
- "dev": true
- },
- "strip-ansi": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
- "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
- "dev": true
- },
- "supports-color": {
- "version": "5.4.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
- "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
- "dev": true
- }
- }
- },
"karma-opera-launcher": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/karma-opera-launcher/-/karma-opera-launcher-1.0.0.tgz",
@@ -6318,25 +9187,42 @@
"version": "0.3.7",
"resolved": "https://registry.npmjs.org/karma-sourcemap-loader/-/karma-sourcemap-loader-0.3.7.tgz",
"integrity": "sha1-kTIsd/jxPUb+0GKwQuEAnUxFBdg=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11"
+ }
},
"karma-spec-reporter": {
"version": "0.0.31",
"resolved": "https://registry.npmjs.org/karma-spec-reporter/-/karma-spec-reporter-0.0.31.tgz",
"integrity": "sha1-SDDccUihVcfXoYbmMjOaDYD63sM=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "colors": "1.2.1"
+ }
},
"karma-webpack": {
"version": "2.0.13",
"resolved": "https://registry.npmjs.org/karma-webpack/-/karma-webpack-2.0.13.tgz",
"integrity": "sha512-2cyII34jfrAabbI2+4Rk4j95Nazl98FvZQhgSiqKUDarT317rxfv/EdzZ60CyATN4PQxJdO5ucR5bOOXkEVrXw==",
"dev": true,
+ "requires": {
+ "async": "2.6.0",
+ "babel-runtime": "6.26.0",
+ "loader-utils": "1.1.0",
+ "lodash": "4.17.5",
+ "source-map": "0.5.7",
+ "webpack-dev-middleware": "1.12.2"
+ },
"dependencies": {
"async": {
"version": "2.6.0",
"resolved": "https://registry.npmjs.org/async/-/async-2.6.0.tgz",
"integrity": "sha512-xAfGg1/NTLBBKlHFmnd7PlmUW9KhVQIUuSrYem9xzFUZy13ScvtyGGejaae9iAVRiRq9+Cx7DPFaAAhCpyxyPw==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "lodash": "4.17.5"
+ }
},
"source-map": {
"version": "0.5.7",
@@ -6368,13 +9254,19 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz",
"integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "readable-stream": "2.3.6"
+ }
},
"lcid": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz",
"integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "invert-kv": "1.0.0"
+ }
},
"lcov-parse": {
"version": "0.0.10",
@@ -6386,13 +9278,20 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/lead/-/lead-1.0.0.tgz",
"integrity": "sha1-bxT5mje+Op3XhPVJVpDlkDRm7kI=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "flush-write-stream": "1.0.3"
+ }
},
"levn": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
"integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "prelude-ls": "1.1.2",
+ "type-check": "0.3.2"
+ }
},
"libbase64": {
"version": "0.1.0",
@@ -6405,6 +9304,11 @@
"resolved": "https://registry.npmjs.org/libmime/-/libmime-3.0.0.tgz",
"integrity": "sha1-UaGp50SOy9Ms2lRCFnW7IbwJPaY=",
"dev": true,
+ "requires": {
+ "iconv-lite": "0.4.15",
+ "libbase64": "0.1.0",
+ "libqp": "1.1.0"
+ },
"dependencies": {
"iconv-lite": {
"version": "0.4.15",
@@ -6424,7 +9328,17 @@
"version": "2.5.0",
"resolved": "https://registry.npmjs.org/liftoff/-/liftoff-2.5.0.tgz",
"integrity": "sha1-IAkpG7Mc6oYbvxCnwVooyvdcMew=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "extend": "3.0.1",
+ "findup-sync": "2.0.0",
+ "fined": "1.1.0",
+ "flagged-respawn": "1.0.0",
+ "is-plain-object": "2.0.4",
+ "object.map": "1.0.1",
+ "rechoir": "0.6.2",
+ "resolve": "1.7.1"
+ }
},
"livereload-js": {
"version": "2.3.0",
@@ -6436,7 +9350,13 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz",
"integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11",
+ "parse-json": "4.0.0",
+ "pify": "3.0.0",
+ "strip-bom": "3.0.0"
+ }
},
"loader-runner": {
"version": "2.3.0",
@@ -6448,19 +9368,34 @@
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz",
"integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "big.js": "3.2.0",
+ "emojis-list": "2.1.0",
+ "json5": "0.5.1"
+ }
},
"localtunnel": {
"version": "1.9.0",
"resolved": "https://registry.npmjs.org/localtunnel/-/localtunnel-1.9.0.tgz",
"integrity": "sha512-wCIiIHJ8kKIcWkTQE3m1VRABvsH2ZuOkiOpZUofUCf6Q42v3VIZ+Q0YfX1Z4sYDRj0muiKL1bLvz1FeoxsPO0w==",
"dev": true,
+ "requires": {
+ "axios": "0.17.1",
+ "debug": "2.6.8",
+ "openurl": "1.1.1",
+ "yargs": "6.6.0"
+ },
"dependencies": {
"axios": {
"version": "0.17.1",
"resolved": "https://registry.npmjs.org/axios/-/axios-0.17.1.tgz",
"integrity": "sha1-LY4+XQvb1zJ/kbyBT1xXZg+Bgk0=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "follow-redirects": "1.4.1",
+ "is-buffer": "1.1.6"
+ }
},
"camelcase": {
"version": "3.0.0",
@@ -6472,43 +9407,71 @@
"version": "2.6.8",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz",
"integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
},
"find-up": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
"integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "path-exists": "2.1.0",
+ "pinkie-promise": "2.0.1"
+ }
},
"load-json-file": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
"integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11",
+ "parse-json": "2.2.0",
+ "pify": "2.3.0",
+ "pinkie-promise": "2.0.1",
+ "strip-bom": "2.0.0"
+ }
},
"os-locale": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz",
"integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "lcid": "1.0.0"
+ }
},
"parse-json": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
"integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "error-ex": "1.3.1"
+ }
},
"path-exists": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
"integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "pinkie-promise": "2.0.1"
+ }
},
"path-type": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz",
"integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11",
+ "pify": "2.3.0",
+ "pinkie-promise": "2.0.1"
+ }
},
"pify": {
"version": "2.3.0",
@@ -6520,19 +9483,31 @@
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz",
"integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "load-json-file": "1.1.0",
+ "normalize-package-data": "2.4.0",
+ "path-type": "1.1.0"
+ }
},
"read-pkg-up": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz",
"integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "find-up": "1.1.2",
+ "read-pkg": "1.1.0"
+ }
},
"strip-bom": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
"integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "is-utf8": "0.2.1"
+ }
},
"which-module": {
"version": "1.0.0",
@@ -6544,13 +9519,31 @@
"version": "6.6.0",
"resolved": "https://registry.npmjs.org/yargs/-/yargs-6.6.0.tgz",
"integrity": "sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "camelcase": "3.0.0",
+ "cliui": "3.2.0",
+ "decamelize": "1.2.0",
+ "get-caller-file": "1.0.2",
+ "os-locale": "1.4.0",
+ "read-pkg-up": "1.0.1",
+ "require-directory": "2.1.1",
+ "require-main-filename": "1.0.1",
+ "set-blocking": "2.0.0",
+ "string-width": "1.0.2",
+ "which-module": "1.0.0",
+ "y18n": "3.2.1",
+ "yargs-parser": "4.2.1"
+ }
},
"yargs-parser": {
"version": "4.2.1",
"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-4.2.1.tgz",
"integrity": "sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "camelcase": "3.0.0"
+ }
}
}
},
@@ -6558,7 +9551,11 @@
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
"integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "p-locate": "2.0.0",
+ "path-exists": "3.0.0"
+ }
},
"lodash": {
"version": "4.17.5",
@@ -6582,13 +9579,25 @@
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz",
"integrity": "sha1-jDigmVAPIVrQnlnxci/QxSv+Ck4=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "lodash._basecopy": "3.0.1",
+ "lodash.keys": "3.1.2"
+ }
},
"lodash._baseclone": {
"version": "3.3.0",
"resolved": "https://registry.npmjs.org/lodash._baseclone/-/lodash._baseclone-3.3.0.tgz",
"integrity": "sha1-MDUZv2OT/n5C802LYw73eU41Qrc=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "lodash._arraycopy": "3.0.0",
+ "lodash._arrayeach": "3.0.0",
+ "lodash._baseassign": "3.2.0",
+ "lodash._basefor": "3.0.3",
+ "lodash.isarray": "3.0.4",
+ "lodash.keys": "3.1.2"
+ }
},
"lodash._basecopy": {
"version": "3.0.1",
@@ -6630,7 +9639,10 @@
"version": "2.4.1",
"resolved": "https://registry.npmjs.org/lodash._escapehtmlchar/-/lodash._escapehtmlchar-2.4.1.tgz",
"integrity": "sha1-32fDu2t+jh6DGrSL+geVuSr+iZ0=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "lodash._htmlescapes": "2.4.1"
+ }
},
"lodash._escapestringchar": {
"version": "2.4.1",
@@ -6691,12 +9703,21 @@
"resolved": "https://registry.npmjs.org/lodash._reunescapedhtml/-/lodash._reunescapedhtml-2.4.1.tgz",
"integrity": "sha1-dHxPxAED6zu4oJduVx96JlnpO6c=",
"dev": true,
+ "requires": {
+ "lodash._htmlescapes": "2.4.1",
+ "lodash.keys": "2.4.1"
+ },
"dependencies": {
"lodash.keys": {
"version": "2.4.1",
"resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz",
"integrity": "sha1-SN6kbfj/djKxDXBrissmWR4rNyc=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "lodash._isnative": "2.4.1",
+ "lodash._shimkeys": "2.4.1",
+ "lodash.isobject": "2.4.1"
+ }
}
}
},
@@ -6710,7 +9731,10 @@
"version": "2.4.1",
"resolved": "https://registry.npmjs.org/lodash._shimkeys/-/lodash._shimkeys-2.4.1.tgz",
"integrity": "sha1-bpzJZm/wgfC1psl4uD4kLmlJ0gM=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "lodash._objecttypes": "2.4.1"
+ }
},
"lodash._stack": {
"version": "4.1.3",
@@ -6728,25 +9752,44 @@
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/lodash.clone/-/lodash.clone-3.0.3.tgz",
"integrity": "sha1-hGiMc9MrWpDKJWFpY/GJJSqZcEM=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "lodash._baseclone": "3.3.0",
+ "lodash._bindcallback": "3.0.1",
+ "lodash._isiterateecall": "3.0.9"
+ }
},
"lodash.create": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/lodash.create/-/lodash.create-3.1.1.tgz",
"integrity": "sha1-1/KEnw29p+BGgruM1yqwIkYd6+c=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "lodash._baseassign": "3.2.0",
+ "lodash._basecreate": "3.0.3",
+ "lodash._isiterateecall": "3.0.9"
+ }
},
"lodash.defaults": {
"version": "2.4.1",
"resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-2.4.1.tgz",
"integrity": "sha1-p+iIXwXmiFEUS24SqPNngCa8TFQ=",
"dev": true,
+ "requires": {
+ "lodash._objecttypes": "2.4.1",
+ "lodash.keys": "2.4.1"
+ },
"dependencies": {
"lodash.keys": {
"version": "2.4.1",
"resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz",
"integrity": "sha1-SN6kbfj/djKxDXBrissmWR4rNyc=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "lodash._isnative": "2.4.1",
+ "lodash._shimkeys": "2.4.1",
+ "lodash.isobject": "2.4.1"
+ }
}
}
},
@@ -6755,6 +9798,14 @@
"resolved": "https://registry.npmjs.org/lodash.defaultsdeep/-/lodash.defaultsdeep-4.3.2.tgz",
"integrity": "sha1-bBpYbmxWR7DmTi15gUG4g2FYvoo=",
"dev": true,
+ "requires": {
+ "lodash._baseclone": "4.5.7",
+ "lodash._stack": "4.1.3",
+ "lodash.isplainobject": "4.0.6",
+ "lodash.keysin": "4.2.0",
+ "lodash.mergewith": "4.6.1",
+ "lodash.rest": "4.0.5"
+ },
"dependencies": {
"lodash._baseclone": {
"version": "4.5.7",
@@ -6768,7 +9819,10 @@
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz",
"integrity": "sha1-mV7g3BjBtIzJLv+ucaEKq1tIdpg=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "lodash._root": "3.0.1"
+ }
},
"lodash.get": {
"version": "4.4.2",
@@ -6792,7 +9846,10 @@
"version": "2.4.1",
"resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz",
"integrity": "sha1-Wi5H/mmVPx7mMafrof5k0tBlWPU=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "lodash._objecttypes": "2.4.1"
+ }
},
"lodash.isplainobject": {
"version": "4.0.6",
@@ -6804,7 +9861,12 @@
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz",
"integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "lodash._getnative": "3.9.1",
+ "lodash.isarguments": "3.1.0",
+ "lodash.isarray": "3.0.4"
+ }
},
"lodash.keysin": {
"version": "4.2.0",
@@ -6840,25 +9902,48 @@
"version": "3.6.2",
"resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz",
"integrity": "sha1-+M3sxhaaJVvpCYrosMU9N4kx0U8=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "lodash._basecopy": "3.0.1",
+ "lodash._basetostring": "3.0.1",
+ "lodash._basevalues": "3.0.0",
+ "lodash._isiterateecall": "3.0.9",
+ "lodash._reinterpolate": "3.0.0",
+ "lodash.escape": "3.2.0",
+ "lodash.keys": "3.1.2",
+ "lodash.restparam": "3.6.1",
+ "lodash.templatesettings": "3.1.1"
+ }
},
"lodash.templatesettings": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz",
"integrity": "sha1-+zB4RHU7Zrnxr6VOJix0UwfbqOU=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "lodash._reinterpolate": "3.0.0",
+ "lodash.escape": "3.2.0"
+ }
},
"lodash.values": {
"version": "2.4.1",
"resolved": "https://registry.npmjs.org/lodash.values/-/lodash.values-2.4.1.tgz",
"integrity": "sha1-q/UUQ2s8twUAFieXjLzzCxKA7qQ=",
"dev": true,
+ "requires": {
+ "lodash.keys": "2.4.1"
+ },
"dependencies": {
"lodash.keys": {
"version": "2.4.1",
"resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz",
"integrity": "sha1-SN6kbfj/djKxDXBrissmWR4rNyc=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "lodash._isnative": "2.4.1",
+ "lodash._shimkeys": "2.4.1",
+ "lodash.isobject": "2.4.1"
+ }
}
}
},
@@ -6868,37 +9953,26 @@
"integrity": "sha1-euTsJXMC/XkNVXyxDJcQDYV7AFY=",
"dev": true
},
- "log-symbols": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz",
- "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==",
- "dev": true,
- "dependencies": {
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true
- },
- "chalk": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.0.tgz",
- "integrity": "sha512-Wr/w0f4o9LuE7K53cD0qmbAMM+2XNLzR29vFn5hqko4sxGlUsyy363NvmyGIyk5tpe9cjTr9SJYbysEyPkRnFw==",
- "dev": true
- },
- "supports-color": {
- "version": "5.4.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
- "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
- "dev": true
- }
- }
- },
"log4js": {
"version": "2.5.3",
"resolved": "https://registry.npmjs.org/log4js/-/log4js-2.5.3.tgz",
"integrity": "sha512-YL/qpTxYtK0iWWbuKCrevDZz5lh+OjyHHD+mICqpjnYGKdNRBvPeh/1uYjkKUemT1CSO4wwLOwphWMpKAnD9kw==",
"dev": true,
+ "requires": {
+ "amqplib": "0.5.2",
+ "axios": "0.15.3",
+ "circular-json": "0.5.3",
+ "date-format": "1.2.0",
+ "debug": "3.1.0",
+ "hipchat-notifier": "1.1.0",
+ "loggly": "1.1.1",
+ "mailgun-js": "0.7.15",
+ "nodemailer": "2.7.2",
+ "redis": "2.8.0",
+ "semver": "5.5.0",
+ "slack-node": "0.2.0",
+ "streamroller": "0.7.0"
+ },
"dependencies": {
"circular-json": {
"version": "0.5.3",
@@ -6914,20 +9988,33 @@
"integrity": "sha1-Cg/B0/o6XsRP3HuJe+uipGlc6+4=",
"dev": true,
"optional": true,
+ "requires": {
+ "json-stringify-safe": "5.0.1",
+ "request": "2.75.0",
+ "timespan": "2.3.0"
+ },
"dependencies": {
"bl": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/bl/-/bl-1.1.2.tgz",
"integrity": "sha1-/cqHGplxOqANGeO7ukHER4emU5g=",
"dev": true,
- "optional": true
+ "optional": true,
+ "requires": {
+ "readable-stream": "2.0.6"
+ }
},
"form-data": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-2.0.0.tgz",
"integrity": "sha1-bwrrrcxdoWwT4ezBETfYX5uIOyU=",
"dev": true,
- "optional": true
+ "optional": true,
+ "requires": {
+ "asynckit": "0.4.0",
+ "combined-stream": "1.0.6",
+ "mime-types": "2.1.18"
+ }
},
"node-uuid": {
"version": "1.4.8",
@@ -6955,14 +10042,45 @@
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz",
"integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=",
"dev": true,
- "optional": true
+ "optional": true,
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "1.0.0",
+ "process-nextick-args": "1.0.7",
+ "string_decoder": "0.10.31",
+ "util-deprecate": "1.0.2"
+ }
},
"request": {
"version": "2.75.0",
"resolved": "https://registry.npmjs.org/request/-/request-2.75.0.tgz",
"integrity": "sha1-0rgmiihtoT6qXQGt9dGMyQ9lfZM=",
"dev": true,
- "optional": true
+ "optional": true,
+ "requires": {
+ "aws-sign2": "0.6.0",
+ "aws4": "1.7.0",
+ "bl": "1.1.2",
+ "caseless": "0.11.0",
+ "combined-stream": "1.0.6",
+ "extend": "3.0.1",
+ "forever-agent": "0.6.1",
+ "form-data": "2.0.0",
+ "har-validator": "2.0.6",
+ "hawk": "3.1.3",
+ "http-signature": "1.1.1",
+ "is-typedarray": "1.0.0",
+ "isstream": "0.1.2",
+ "json-stringify-safe": "5.0.1",
+ "mime-types": "2.1.18",
+ "node-uuid": "1.4.8",
+ "oauth-sign": "0.8.2",
+ "qs": "6.2.3",
+ "stringstream": "0.0.5",
+ "tough-cookie": "2.3.4",
+ "tunnel-agent": "0.4.3"
+ }
},
"string_decoder": {
"version": "0.10.31",
@@ -6995,37 +10113,58 @@
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz",
"integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "js-tokens": "3.0.2"
+ }
},
"loud-rejection": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz",
"integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "currently-unhandled": "0.4.1",
+ "signal-exit": "3.0.2"
+ }
},
"lru-cache": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.2.tgz",
"integrity": "sha512-wgeVXhrDwAWnIF/yZARsFnMBtdFXOg1b8RIrhilp+0iDYN4mdQcNZElDZ0e4B64BhaxeQ5zN7PMyvu7we1kPeQ==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "pseudomap": "1.0.2",
+ "yallist": "2.1.2"
+ }
},
"lru-queue": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz",
- "integrity": "sha1-Jzi9nw089PhEkMVzbEhpmsYyzaM="
+ "integrity": "sha1-Jzi9nw089PhEkMVzbEhpmsYyzaM=",
+ "requires": {
+ "es5-ext": "0.10.42"
+ }
},
"magic-string": {
"version": "0.16.0",
"resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.16.0.tgz",
"integrity": "sha1-lw67DacZMwEoX7GqZQ85vdgetFo=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "vlq": "0.2.3"
+ }
},
"mailcomposer": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/mailcomposer/-/mailcomposer-4.0.1.tgz",
"integrity": "sha1-DhxEsqB890DuF9wUm6AJ8Zyt/rQ=",
"dev": true,
- "optional": true
+ "optional": true,
+ "requires": {
+ "buildmail": "4.0.1",
+ "libmime": "3.0.0"
+ }
},
"mailgun-js": {
"version": "0.7.15",
@@ -7033,20 +10172,37 @@
"integrity": "sha1-7jZqINrGTDwVwD1sGz4O15UlKrs=",
"dev": true,
"optional": true,
+ "requires": {
+ "async": "2.1.5",
+ "debug": "2.2.0",
+ "form-data": "2.1.4",
+ "inflection": "1.10.0",
+ "is-stream": "1.1.0",
+ "path-proxy": "1.0.0",
+ "proxy-agent": "2.0.0",
+ "q": "1.4.1",
+ "tsscmp": "1.0.5"
+ },
"dependencies": {
"async": {
"version": "2.1.5",
"resolved": "https://registry.npmjs.org/async/-/async-2.1.5.tgz",
"integrity": "sha1-5YfGhYCZSsZ/xW/4bTrFa9voELw=",
"dev": true,
- "optional": true
+ "optional": true,
+ "requires": {
+ "lodash": "4.17.5"
+ }
},
"debug": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
"integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
"dev": true,
- "optional": true
+ "optional": true,
+ "requires": {
+ "ms": "0.7.1"
+ }
},
"ms": {
"version": "0.7.1",
@@ -7068,7 +10224,10 @@
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.2.0.tgz",
"integrity": "sha512-aNUAa4UMg/UougV25bbrU4ZaaKNjJ/3/xnvg/twpmKROPdKZPZ9wGgI0opdZzO8q/zUFawoUuixuOv33eZ61Iw==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "pify": "3.0.0"
+ }
},
"make-error": {
"version": "1.3.4",
@@ -7080,13 +10239,19 @@
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/make-error-cause/-/make-error-cause-1.2.2.tgz",
"integrity": "sha1-3wOI/NCzeBbf8KX7gQiTl3fcvJ0=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "make-error": "1.3.4"
+ }
},
"make-iterator": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz",
"integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "kind-of": "6.0.2"
+ }
},
"map-cache": {
"version": "0.2.2",
@@ -7110,7 +10275,10 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
"integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "object-visit": "1.0.1"
+ }
},
"markdown-escapes": {
"version": "1.0.2",
@@ -7129,6 +10297,10 @@
"resolved": "https://registry.npmjs.org/match-stream/-/match-stream-0.0.2.tgz",
"integrity": "sha1-mesFAJOzTf+t5CG5rAtBCpz6F88=",
"dev": true,
+ "requires": {
+ "buffers": "0.1.1",
+ "readable-stream": "1.0.34"
+ },
"dependencies": {
"isarray": {
"version": "0.0.1",
@@ -7140,7 +10312,13 @@
"version": "1.0.34",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
"integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "0.0.1",
+ "string_decoder": "0.10.31"
+ }
},
"string_decoder": {
"version": "0.10.31",
@@ -7154,31 +10332,58 @@
"version": "1.3.4",
"resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.4.tgz",
"integrity": "sha1-6b296UogpawYsENA/Fdk1bCdkB0=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "hash-base": "3.0.4",
+ "inherits": "2.0.3"
+ }
},
"mdast-util-compact": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/mdast-util-compact/-/mdast-util-compact-1.0.1.tgz",
"integrity": "sha1-zbX4TitqLTEU3zO9BdnLMuPECDo=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "unist-util-modify-children": "1.1.1",
+ "unist-util-visit": "1.3.0"
+ }
},
"mdast-util-definitions": {
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-1.2.2.tgz",
"integrity": "sha512-9NloPSwaB9f1PKcGqaScfqRf6zKOEjTIXVIbPOmgWI/JKxznlgVXC5C+8qgl3AjYg2vJBRgLYfLICaNiac89iA==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "unist-util-visit": "1.3.0"
+ }
},
"mdast-util-inject": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/mdast-util-inject/-/mdast-util-inject-1.1.0.tgz",
"integrity": "sha1-2wa4tYW+lZotzS+H9HK6m3VvNnU=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "mdast-util-to-string": "1.0.4"
+ }
},
"mdast-util-to-hast": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-3.0.0.tgz",
"integrity": "sha512-zvEXH2AUevWfKuBqtEPNcDUPI8UC6yIVvgEgNi1v1dLnzb5Pfm+PZjnZn0FhW1WmHcrGMX059MAoqicEauzjcw==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "collapse-white-space": "1.0.4",
+ "detab": "2.0.1",
+ "mdast-util-definitions": "1.2.2",
+ "mdurl": "1.0.1",
+ "trim": "0.0.1",
+ "trim-lines": "1.1.1",
+ "unist-builder": "1.0.2",
+ "unist-util-generated": "1.1.1",
+ "unist-util-position": "3.0.0",
+ "unist-util-visit": "1.3.0",
+ "xtend": "4.0.1"
+ }
},
"mdast-util-to-string": {
"version": "1.0.4",
@@ -7190,7 +10395,12 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/mdast-util-toc/-/mdast-util-toc-2.0.1.tgz",
"integrity": "sha1-sdLLI7+wH4Evp7Vb/+iwqL7fbyE=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "github-slugger": "1.2.0",
+ "mdast-util-to-string": "1.0.4",
+ "unist-util-visit": "1.3.0"
+ }
},
"mdurl": {
"version": "1.0.1",
@@ -7208,36 +10418,76 @@
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz",
"integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "mimic-fn": "1.2.0"
+ }
},
"memoizee": {
"version": "0.4.12",
"resolved": "https://registry.npmjs.org/memoizee/-/memoizee-0.4.12.tgz",
- "integrity": "sha512-sprBu6nwxBWBvBOh5v2jcsGqiGLlL2xr2dLub3vR8dnE8YB17omwtm/0NSHl8jjNbcsJd5GMWJAnTSVe/O0Wfg=="
+ "integrity": "sha512-sprBu6nwxBWBvBOh5v2jcsGqiGLlL2xr2dLub3vR8dnE8YB17omwtm/0NSHl8jjNbcsJd5GMWJAnTSVe/O0Wfg==",
+ "requires": {
+ "d": "1.0.0",
+ "es5-ext": "0.10.42",
+ "es6-weak-map": "2.0.2",
+ "event-emitter": "0.3.5",
+ "is-promise": "2.1.0",
+ "lru-queue": "0.1.0",
+ "next-tick": "1.0.0",
+ "timers-ext": "0.1.5"
+ }
},
"memory-fs": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz",
"integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "errno": "0.1.7",
+ "readable-stream": "2.3.6"
+ }
},
"meow": {
"version": "3.7.0",
"resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz",
"integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=",
"dev": true,
+ "requires": {
+ "camelcase-keys": "2.1.0",
+ "decamelize": "1.2.0",
+ "loud-rejection": "1.6.0",
+ "map-obj": "1.0.1",
+ "minimist": "1.2.0",
+ "normalize-package-data": "2.4.0",
+ "object-assign": "4.1.1",
+ "read-pkg-up": "1.0.1",
+ "redent": "1.0.0",
+ "trim-newlines": "1.0.0"
+ },
"dependencies": {
"find-up": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
"integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "path-exists": "2.1.0",
+ "pinkie-promise": "2.0.1"
+ }
},
"load-json-file": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
"integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11",
+ "parse-json": "2.2.0",
+ "pify": "2.3.0",
+ "pinkie-promise": "2.0.1",
+ "strip-bom": "2.0.0"
+ }
},
"minimist": {
"version": "1.2.0",
@@ -7249,19 +10499,30 @@
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
"integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "error-ex": "1.3.1"
+ }
},
"path-exists": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
"integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "pinkie-promise": "2.0.1"
+ }
},
"path-type": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz",
"integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11",
+ "pify": "2.3.0",
+ "pinkie-promise": "2.0.1"
+ }
},
"pify": {
"version": "2.3.0",
@@ -7273,19 +10534,31 @@
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz",
"integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "load-json-file": "1.1.0",
+ "normalize-package-data": "2.4.0",
+ "path-type": "1.1.0"
+ }
},
"read-pkg-up": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz",
"integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "find-up": "1.1.2",
+ "read-pkg": "1.1.0"
+ }
},
"strip-bom": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
"integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "is-utf8": "0.2.1"
+ }
}
}
},
@@ -7299,19 +10572,31 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz",
"integrity": "sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "readable-stream": "2.3.6"
+ }
},
"method-override": {
"version": "2.3.10",
"resolved": "https://registry.npmjs.org/method-override/-/method-override-2.3.10.tgz",
"integrity": "sha1-49r41d7hDdLc59SuiNYrvud0drQ=",
"dev": true,
+ "requires": {
+ "debug": "2.6.9",
+ "methods": "1.1.2",
+ "parseurl": "1.3.2",
+ "vary": "1.1.2"
+ },
"dependencies": {
"debug": {
"version": "2.6.9",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
},
"vary": {
"version": "1.1.2",
@@ -7331,13 +10616,32 @@
"version": "3.1.10",
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
"integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "arr-diff": "4.0.0",
+ "array-unique": "0.3.2",
+ "braces": "2.3.2",
+ "define-property": "2.0.2",
+ "extend-shallow": "3.0.2",
+ "extglob": "2.0.4",
+ "fragment-cache": "0.2.1",
+ "kind-of": "6.0.2",
+ "nanomatch": "1.2.9",
+ "object.pick": "1.3.0",
+ "regex-not": "1.0.2",
+ "snapdragon": "0.8.2",
+ "to-regex": "3.0.2"
+ }
},
"miller-rabin": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz",
"integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "bn.js": "4.11.8",
+ "brorand": "1.1.0"
+ }
},
"mime": {
"version": "1.6.0",
@@ -7355,7 +10659,10 @@
"version": "2.1.18",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz",
"integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "mime-db": "1.33.0"
+ }
},
"mimic-fn": {
"version": "1.2.0",
@@ -7379,7 +10686,10 @@
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "brace-expansion": "1.1.11"
+ }
},
"minimist": {
"version": "0.0.8",
@@ -7392,12 +10702,19 @@
"resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz",
"integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==",
"dev": true,
+ "requires": {
+ "for-in": "1.0.2",
+ "is-extendable": "1.0.1"
+ },
"dependencies": {
"is-extendable": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
"integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "is-plain-object": "2.0.4"
+ }
}
}
},
@@ -7405,7 +10722,10 @@
"version": "0.5.1",
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
"integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "minimist": "0.0.8"
+ }
},
"mkpath": {
"version": "1.0.0",
@@ -7418,6 +10738,17 @@
"resolved": "https://registry.npmjs.org/mocha/-/mocha-2.2.5.tgz",
"integrity": "sha1-07cqT+SeyUOTU/GsiT28Qw2ZMUA=",
"dev": true,
+ "requires": {
+ "commander": "2.3.0",
+ "debug": "2.0.0",
+ "diff": "1.4.0",
+ "escape-string-regexp": "1.0.2",
+ "glob": "3.2.3",
+ "growl": "1.8.1",
+ "jade": "0.26.3",
+ "mkdirp": "0.5.0",
+ "supports-color": "1.2.1"
+ },
"dependencies": {
"commander": {
"version": "2.3.0",
@@ -7429,7 +10760,10 @@
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.0.0.tgz",
"integrity": "sha1-ib2d9nMrUSVrxnBTQrugLtEhMe8=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "ms": "0.6.2"
+ }
},
"escape-string-regexp": {
"version": "1.0.2",
@@ -7441,7 +10775,12 @@
"version": "3.2.3",
"resolved": "https://registry.npmjs.org/glob/-/glob-3.2.3.tgz",
"integrity": "sha1-4xPusknHr/qlxHUoaw4RW1mDlGc=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "graceful-fs": "2.0.3",
+ "inherits": "2.0.3",
+ "minimatch": "0.2.14"
+ }
},
"graceful-fs": {
"version": "2.0.3",
@@ -7459,13 +10798,20 @@
"version": "0.2.14",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz",
"integrity": "sha1-x054BXT2PG+aCQ6Q775u9TpqdWo=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "lru-cache": "2.7.3",
+ "sigmund": "1.0.1"
+ }
},
"mkdirp": {
"version": "0.5.0",
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.0.tgz",
"integrity": "sha1-HXMHam35hs2TROFecfzAWkyavxI=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "minimist": "0.0.8"
+ }
},
"ms": {
"version": "0.6.2",
@@ -7486,24 +10832,51 @@
"resolved": "https://registry.npmjs.org/mocha-nightwatch/-/mocha-nightwatch-3.2.2.tgz",
"integrity": "sha1-kby5s73gV912d8eBJeSR5Y1mZHw=",
"dev": true,
+ "requires": {
+ "browser-stdout": "1.3.0",
+ "commander": "2.9.0",
+ "debug": "2.2.0",
+ "diff": "1.4.0",
+ "escape-string-regexp": "1.0.5",
+ "glob": "7.0.5",
+ "growl": "1.9.2",
+ "json3": "3.3.2",
+ "lodash.create": "3.1.1",
+ "mkdirp": "0.5.1",
+ "supports-color": "3.1.2"
+ },
"dependencies": {
"commander": {
"version": "2.9.0",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz",
"integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "graceful-readlink": "1.0.1"
+ }
},
"debug": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
"integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "ms": "0.7.1"
+ }
},
"glob": {
"version": "7.0.5",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.0.5.tgz",
"integrity": "sha1-tCAqaQmbu00pKnwblbZoK2fr3JU=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "fs.realpath": "1.0.0",
+ "inflight": "1.0.6",
+ "inherits": "2.0.3",
+ "minimatch": "3.0.4",
+ "once": "1.4.0",
+ "path-is-absolute": "1.0.1"
+ }
},
"growl": {
"version": "1.9.2",
@@ -7527,7 +10900,10 @@
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.1.2.tgz",
"integrity": "sha1-cqJiiU2dQIuVbKBf83su2KbiotU=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "has-flag": "1.0.0"
+ }
}
}
},
@@ -7536,6 +10912,10 @@
"resolved": "https://registry.npmjs.org/mock-fs/-/mock-fs-3.12.1.tgz",
"integrity": "sha1-/yeCTNarJjp+sFoRUjnUHTYx9fg=",
"dev": true,
+ "requires": {
+ "rewire": "2.5.2",
+ "semver": "5.3.0"
+ },
"dependencies": {
"semver": {
"version": "5.3.0",
@@ -7550,18 +10930,47 @@
"resolved": "https://registry.npmjs.org/module-deps-sortable/-/module-deps-sortable-4.0.6.tgz",
"integrity": "sha1-ElGkuixEqS32mJvQKdoSGk8hCbA=",
"dev": true,
+ "requires": {
+ "JSONStream": "1.3.2",
+ "browser-resolve": "1.11.2",
+ "concat-stream": "1.5.2",
+ "defined": "1.0.0",
+ "detective": "4.7.1",
+ "duplexer2": "0.1.4",
+ "inherits": "2.0.3",
+ "parents": "1.0.1",
+ "readable-stream": "2.3.6",
+ "resolve": "1.7.1",
+ "stream-combiner2": "1.1.1",
+ "subarg": "1.0.0",
+ "through2": "2.0.3",
+ "xtend": "4.0.1"
+ },
"dependencies": {
"concat-stream": {
"version": "1.5.2",
"resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.2.tgz",
"integrity": "sha1-cIl4Yk2FavQaWnQd790mHadSwmY=",
"dev": true,
+ "requires": {
+ "inherits": "2.0.3",
+ "readable-stream": "2.0.6",
+ "typedarray": "0.0.6"
+ },
"dependencies": {
"readable-stream": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz",
"integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "1.0.0",
+ "process-nextick-args": "1.0.7",
+ "string_decoder": "0.10.31",
+ "util-deprecate": "1.0.2"
+ }
}
}
},
@@ -7590,12 +10999,22 @@
"resolved": "https://registry.npmjs.org/morgan/-/morgan-1.6.1.tgz",
"integrity": "sha1-X9gYOYxoGcuiinzWZk8pL+HAu/I=",
"dev": true,
+ "requires": {
+ "basic-auth": "1.0.4",
+ "debug": "2.2.0",
+ "depd": "1.0.1",
+ "on-finished": "2.3.0",
+ "on-headers": "1.0.1"
+ },
"dependencies": {
"debug": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
"integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "ms": "0.7.1"
+ }
},
"ms": {
"version": "0.7.1",
@@ -7615,6 +11034,10 @@
"resolved": "https://registry.npmjs.org/multiparty/-/multiparty-3.3.2.tgz",
"integrity": "sha1-Nd5oBNwZZD5SSfPT473GyM4wHT8=",
"dev": true,
+ "requires": {
+ "readable-stream": "1.1.14",
+ "stream-counter": "0.2.0"
+ },
"dependencies": {
"isarray": {
"version": "0.0.1",
@@ -7626,7 +11049,13 @@
"version": "1.1.14",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
"integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "0.0.1",
+ "string_decoder": "0.10.31"
+ }
},
"string_decoder": {
"version": "0.10.31",
@@ -7641,12 +11070,18 @@
"resolved": "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz",
"integrity": "sha1-Ko8t33Du1WTf8tV/HhoTfZ8FB4s=",
"dev": true,
+ "requires": {
+ "duplexer2": "0.0.2"
+ },
"dependencies": {
"duplexer2": {
"version": "0.0.2",
"resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz",
"integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "readable-stream": "1.1.14"
+ }
},
"isarray": {
"version": "0.0.1",
@@ -7658,7 +11093,13 @@
"version": "1.1.14",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
"integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "0.0.1",
+ "string_decoder": "0.10.31"
+ }
},
"string_decoder": {
"version": "0.10.31",
@@ -7685,7 +11126,21 @@
"version": "1.2.9",
"resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.9.tgz",
"integrity": "sha512-n8R9bS8yQ6eSXaV6jHUpKzD8gLsin02w1HSFiegwrs9E098Ylhw5jdyKPaYqvHknHaSCKTPp7C8dGCQ0q9koXA==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "arr-diff": "4.0.0",
+ "array-unique": "0.3.2",
+ "define-property": "2.0.2",
+ "extend-shallow": "3.0.2",
+ "fragment-cache": "0.2.1",
+ "is-odd": "2.0.0",
+ "is-windows": "1.0.2",
+ "kind-of": "6.0.2",
+ "object.pick": "1.3.0",
+ "regex-not": "1.0.2",
+ "snapdragon": "0.8.2",
+ "to-regex": "3.0.2"
+ }
},
"natives": {
"version": "1.1.3",
@@ -7733,6 +11188,18 @@
"resolved": "https://registry.npmjs.org/nightwatch/-/nightwatch-0.9.20.tgz",
"integrity": "sha1-FW0XzQWMvDH0OrGOkV9+wpf7U+A=",
"dev": true,
+ "requires": {
+ "chai-nightwatch": "0.1.1",
+ "ejs": "2.5.7",
+ "lodash.clone": "3.0.3",
+ "lodash.defaultsdeep": "4.3.2",
+ "minimatch": "3.0.3",
+ "mkpath": "1.0.0",
+ "mocha-nightwatch": "3.2.2",
+ "optimist": "0.6.1",
+ "proxy-agent": "2.0.0",
+ "q": "1.4.1"
+ },
"dependencies": {
"ejs": {
"version": "2.5.7",
@@ -7744,7 +11211,10 @@
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz",
"integrity": "sha1-Kk5AkLlrLbBqnX3wEFWmKnfJt3Q=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "brace-expansion": "1.1.11"
+ }
},
"q": {
"version": "1.4.1",
@@ -7758,7 +11228,14 @@
"version": "1.3.3",
"resolved": "https://registry.npmjs.org/nise/-/nise-1.3.3.tgz",
"integrity": "sha512-v1J/FLUB9PfGqZLGDBhQqODkbLotP0WtLo9R4EJY2PPu5f5Xg4o0rA8FDlmrjFSv9vBBKcfnOSpfYYuu5RTHqg==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "@sinonjs/formatio": "2.0.0",
+ "just-extend": "1.1.27",
+ "lolex": "2.3.2",
+ "path-to-regexp": "1.7.0",
+ "text-encoding": "0.6.4"
+ }
},
"node-int64": {
"version": "0.3.3",
@@ -7771,12 +11248,41 @@
"resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.1.0.tgz",
"integrity": "sha512-5AzFzdoIMb89hBGMZglEegffzgRg+ZFoUmisQ8HI4j1KDdpx13J0taNp2y9xPbur6W61gepGDDotGBVQ7mfUCg==",
"dev": true,
+ "requires": {
+ "assert": "1.4.1",
+ "browserify-zlib": "0.2.0",
+ "buffer": "4.9.1",
+ "console-browserify": "1.1.0",
+ "constants-browserify": "1.0.0",
+ "crypto-browserify": "3.12.0",
+ "domain-browser": "1.2.0",
+ "events": "1.1.1",
+ "https-browserify": "1.0.0",
+ "os-browserify": "0.3.0",
+ "path-browserify": "0.0.0",
+ "process": "0.11.10",
+ "punycode": "1.4.1",
+ "querystring-es3": "0.2.1",
+ "readable-stream": "2.3.6",
+ "stream-browserify": "2.0.1",
+ "stream-http": "2.8.1",
+ "string_decoder": "1.1.1",
+ "timers-browserify": "2.0.10",
+ "tty-browserify": "0.0.0",
+ "url": "0.11.0",
+ "util": "0.10.3",
+ "vm-browserify": "0.0.4"
+ },
"dependencies": {
"url": {
"version": "0.11.0",
"resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
"integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=",
"dev": true,
+ "requires": {
+ "punycode": "1.3.2",
+ "querystring": "0.2.0"
+ },
"dependencies": {
"punycode": {
"version": "1.3.2",
@@ -7794,6 +11300,15 @@
"integrity": "sha1-8kLmSa7q45tsftdA73sGHEBNMPk=",
"dev": true,
"optional": true,
+ "requires": {
+ "libmime": "3.0.0",
+ "mailcomposer": "4.0.1",
+ "nodemailer-direct-transport": "3.3.2",
+ "nodemailer-shared": "1.1.0",
+ "nodemailer-smtp-pool": "2.8.2",
+ "nodemailer-smtp-transport": "2.7.2",
+ "socks": "1.1.9"
+ },
"dependencies": {
"ip": {
"version": "1.1.5",
@@ -7807,7 +11322,11 @@
"resolved": "https://registry.npmjs.org/socks/-/socks-1.1.9.tgz",
"integrity": "sha1-Yo1+TQSRJDVEWsC25Fk3bLPm1pE=",
"dev": true,
- "optional": true
+ "optional": true,
+ "requires": {
+ "ip": "1.1.5",
+ "smart-buffer": "1.1.15"
+ }
}
}
},
@@ -7816,7 +11335,11 @@
"resolved": "https://registry.npmjs.org/nodemailer-direct-transport/-/nodemailer-direct-transport-3.3.2.tgz",
"integrity": "sha1-6W+vuQNYVglH5WkBfZfmBzilCoY=",
"dev": true,
- "optional": true
+ "optional": true,
+ "requires": {
+ "nodemailer-shared": "1.1.0",
+ "smtp-connection": "2.12.0"
+ }
},
"nodemailer-fetch": {
"version": "1.6.0",
@@ -7828,21 +11351,34 @@
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/nodemailer-shared/-/nodemailer-shared-1.1.0.tgz",
"integrity": "sha1-z1mU4v0mjQD1zw+nZ6CBae2wfsA=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "nodemailer-fetch": "1.6.0"
+ }
},
"nodemailer-smtp-pool": {
"version": "2.8.2",
"resolved": "https://registry.npmjs.org/nodemailer-smtp-pool/-/nodemailer-smtp-pool-2.8.2.tgz",
"integrity": "sha1-LrlNbPhXgLG0clzoU7nL1ejajHI=",
"dev": true,
- "optional": true
+ "optional": true,
+ "requires": {
+ "nodemailer-shared": "1.1.0",
+ "nodemailer-wellknown": "0.1.10",
+ "smtp-connection": "2.12.0"
+ }
},
"nodemailer-smtp-transport": {
"version": "2.7.2",
"resolved": "https://registry.npmjs.org/nodemailer-smtp-transport/-/nodemailer-smtp-transport-2.7.2.tgz",
"integrity": "sha1-A9ccdjFPFKx9vHvwM6am0W1n+3c=",
"dev": true,
- "optional": true
+ "optional": true,
+ "requires": {
+ "nodemailer-shared": "1.1.0",
+ "nodemailer-wellknown": "0.1.10",
+ "smtp-connection": "2.12.0"
+ }
},
"nodemailer-wellknown": {
"version": "0.1.10",
@@ -7854,30 +11390,48 @@
"version": "3.0.6",
"resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
"integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "abbrev": "1.0.9"
+ }
},
"normalize-package-data": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz",
"integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "hosted-git-info": "2.6.0",
+ "is-builtin-module": "1.0.0",
+ "semver": "5.5.0",
+ "validate-npm-package-license": "3.0.3"
+ }
},
"normalize-path": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
- "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk="
+ "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
+ "requires": {
+ "remove-trailing-separator": "1.1.0"
+ }
},
"now-and-later": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/now-and-later/-/now-and-later-2.0.0.tgz",
"integrity": "sha1-vGHLtFbXnLMiB85HygUTb/Ln1u4=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "once": "1.4.0"
+ }
},
"npm-run-path": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
"integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "path-key": "2.0.1"
+ }
},
"null-check": {
"version": "1.0.0",
@@ -7913,18 +11467,29 @@
"resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
"integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
"dev": true,
+ "requires": {
+ "copy-descriptor": "0.1.1",
+ "define-property": "0.2.5",
+ "kind-of": "3.2.2"
+ },
"dependencies": {
"define-property": {
"version": "0.2.5",
"resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "is-descriptor": "0.1.6"
+ }
},
"kind-of": {
"version": "3.2.2",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "is-buffer": "1.1.6"
+ }
}
}
},
@@ -7938,37 +11503,63 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
"integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "isobject": "3.0.1"
+ }
},
"object.assign": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz",
"integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "define-properties": "1.1.2",
+ "function-bind": "1.1.1",
+ "has-symbols": "1.0.0",
+ "object-keys": "1.0.11"
+ }
},
"object.defaults": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz",
"integrity": "sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "array-each": "1.0.1",
+ "array-slice": "1.1.0",
+ "for-own": "1.0.0",
+ "isobject": "3.0.1"
+ }
},
"object.map": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz",
"integrity": "sha1-z4Plncj8wK1fQlDh94s7gb2AHTc=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "for-own": "1.0.0",
+ "make-iterator": "1.0.1"
+ }
},
"object.omit": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz",
"integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=",
"dev": true,
+ "requires": {
+ "for-own": "0.1.5",
+ "is-extendable": "0.1.1"
+ },
"dependencies": {
"for-own": {
"version": "0.1.5",
"resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz",
"integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "for-in": "1.0.2"
+ }
}
}
},
@@ -7976,13 +11567,19 @@
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
"integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "isobject": "3.0.1"
+ }
},
"on-finished": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
"integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "ee-first": "1.1.1"
+ }
},
"on-headers": {
"version": "1.0.1",
@@ -7994,13 +11591,19 @@
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
"integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "wrappy": "1.0.2"
+ }
},
"onetime": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz",
"integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "mimic-fn": "1.2.0"
+ }
},
"open": {
"version": "0.0.5",
@@ -8019,6 +11622,10 @@
"resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz",
"integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=",
"dev": true,
+ "requires": {
+ "minimist": "0.0.8",
+ "wordwrap": "0.0.3"
+ },
"dependencies": {
"wordwrap": {
"version": "0.0.3",
@@ -8033,6 +11640,13 @@
"resolved": "https://registry.npmjs.org/optimize-js/-/optimize-js-1.0.3.tgz",
"integrity": "sha1-QyavhlfEpf8y2vcmYxdU9yq3/bw=",
"dev": true,
+ "requires": {
+ "acorn": "3.3.0",
+ "concat-stream": "1.6.2",
+ "estree-walker": "0.3.1",
+ "magic-string": "0.16.0",
+ "yargs": "4.8.1"
+ },
"dependencies": {
"acorn": {
"version": "3.3.0",
@@ -8050,37 +11664,62 @@
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
"integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "path-exists": "2.1.0",
+ "pinkie-promise": "2.0.1"
+ }
},
"load-json-file": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
"integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11",
+ "parse-json": "2.2.0",
+ "pify": "2.3.0",
+ "pinkie-promise": "2.0.1",
+ "strip-bom": "2.0.0"
+ }
},
"os-locale": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz",
"integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "lcid": "1.0.0"
+ }
},
"parse-json": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
"integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "error-ex": "1.3.1"
+ }
},
"path-exists": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
"integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "pinkie-promise": "2.0.1"
+ }
},
"path-type": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz",
"integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11",
+ "pify": "2.3.0",
+ "pinkie-promise": "2.0.1"
+ }
},
"pify": {
"version": "2.3.0",
@@ -8092,19 +11731,31 @@
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz",
"integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "load-json-file": "1.1.0",
+ "normalize-package-data": "2.4.0",
+ "path-type": "1.1.0"
+ }
},
"read-pkg-up": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz",
"integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "find-up": "1.1.2",
+ "read-pkg": "1.1.0"
+ }
},
"strip-bom": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
"integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "is-utf8": "0.2.1"
+ }
},
"which-module": {
"version": "1.0.0",
@@ -8116,13 +11767,33 @@
"version": "4.8.1",
"resolved": "https://registry.npmjs.org/yargs/-/yargs-4.8.1.tgz",
"integrity": "sha1-wMQpJMpKqmsObaFznfshZDn53cA=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "cliui": "3.2.0",
+ "decamelize": "1.2.0",
+ "get-caller-file": "1.0.2",
+ "lodash.assign": "4.2.0",
+ "os-locale": "1.4.0",
+ "read-pkg-up": "1.0.1",
+ "require-directory": "2.1.1",
+ "require-main-filename": "1.0.1",
+ "set-blocking": "2.0.0",
+ "string-width": "1.0.2",
+ "which-module": "1.0.0",
+ "window-size": "0.2.0",
+ "y18n": "3.2.1",
+ "yargs-parser": "2.4.1"
+ }
},
"yargs-parser": {
"version": "2.4.1",
"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-2.4.1.tgz",
"integrity": "sha1-hVaN488VD/SfpRgl8DqMiA3cxcQ=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "camelcase": "3.0.0",
+ "lodash.assign": "4.2.0"
+ }
}
}
},
@@ -8130,25 +11801,44 @@
"version": "0.8.2",
"resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz",
"integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "deep-is": "0.1.3",
+ "fast-levenshtein": "2.0.6",
+ "levn": "0.3.0",
+ "prelude-ls": "1.1.2",
+ "type-check": "0.3.2",
+ "wordwrap": "1.0.0"
+ }
},
"orchestrator": {
"version": "0.3.8",
"resolved": "https://registry.npmjs.org/orchestrator/-/orchestrator-0.3.8.tgz",
"integrity": "sha1-FOfp4nZPcxX7rBhOUGx6pt+UrX4=",
"dev": true,
+ "requires": {
+ "end-of-stream": "0.1.5",
+ "sequencify": "0.0.7",
+ "stream-consume": "0.1.1"
+ },
"dependencies": {
"end-of-stream": {
"version": "0.1.5",
"resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-0.1.5.tgz",
"integrity": "sha1-jhdyBsPICDfYVjLouTWd/osvbq8=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "once": "1.3.3"
+ }
},
"once": {
"version": "1.3.3",
"resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz",
"integrity": "sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "wrappy": "1.0.2"
+ }
}
}
},
@@ -8156,7 +11846,10 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz",
"integrity": "sha1-d8DLN8QVJdZBZtmQ/61+xqDhNj4=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "readable-stream": "2.3.6"
+ }
},
"os-browserify": {
"version": "0.3.0",
@@ -8174,7 +11867,12 @@
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz",
"integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "execa": "0.7.0",
+ "lcid": "1.0.0",
+ "mem": "1.1.0"
+ }
},
"os-tmpdir": {
"version": "1.0.2",
@@ -8198,13 +11896,19 @@
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.2.0.tgz",
"integrity": "sha512-Y/OtIaXtUPr4/YpMv1pCL5L5ed0rumAaAeBSj12F+bSlMdys7i8oQF/GUJmfpTS/QoaRrS/k6pma29haJpsMng==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "p-try": "1.0.0"
+ }
},
"p-locate": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
"integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "p-limit": "1.2.0"
+ }
},
"p-try": {
"version": "1.0.0",
@@ -8217,6 +11921,17 @@
"resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-1.1.0.tgz",
"integrity": "sha512-QBELCWyLYPgE2Gj+4wUEiMscHrQ8nRPBzYItQNOHWavwBt25ohZHQC4qnd5IszdVVrFbLsQ+dPkm6eqdjJAmwQ==",
"dev": true,
+ "requires": {
+ "agent-base": "2.1.1",
+ "debug": "2.6.9",
+ "extend": "3.0.1",
+ "get-uri": "2.0.1",
+ "http-proxy-agent": "1.0.0",
+ "https-proxy-agent": "1.0.0",
+ "pac-resolver": "2.0.0",
+ "raw-body": "2.3.2",
+ "socks-proxy-agent": "2.1.1"
+ },
"dependencies": {
"bytes": {
"version": "3.0.0",
@@ -8228,7 +11943,10 @@
"version": "2.6.9",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
},
"depd": {
"version": "1.1.1",
@@ -8240,7 +11958,13 @@
"version": "1.6.2",
"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz",
"integrity": "sha1-CgAsyFcHGSp+eUbO7cERVfYOxzY=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "depd": "1.1.1",
+ "inherits": "2.0.3",
+ "setprototypeof": "1.0.3",
+ "statuses": "1.5.0"
+ }
},
"iconv-lite": {
"version": "0.4.19",
@@ -8252,7 +11976,13 @@
"version": "2.3.2",
"resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.2.tgz",
"integrity": "sha1-vNYMd9Prk83gBQKVw/N5OJvIj4k=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "bytes": "3.0.0",
+ "http-errors": "1.6.2",
+ "iconv-lite": "0.4.19",
+ "unpipe": "1.0.0"
+ }
},
"setprototypeof": {
"version": "1.0.3",
@@ -8267,6 +11997,13 @@
"resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-2.0.0.tgz",
"integrity": "sha1-mbiNLxk/ve78HJpSnB8yYKtSd80=",
"dev": true,
+ "requires": {
+ "co": "3.0.6",
+ "degenerator": "1.0.4",
+ "ip": "1.0.1",
+ "netmask": "1.0.6",
+ "thunkify": "2.1.2"
+ },
"dependencies": {
"co": {
"version": "3.0.6",
@@ -8286,13 +12023,23 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/parents/-/parents-1.0.1.tgz",
"integrity": "sha1-/t1NK/GTp3dF/nHjcdc8MwfZx1E=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "path-platform": "0.11.15"
+ }
},
"parse-asn1": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.1.tgz",
"integrity": "sha512-KPx7flKXg775zZpnp9SxJlz00gTd4BmJ2yJufSc44gMCRrRQ7NSzAcSJQfifuOLgW6bEi+ftrALtsgALeB2Adw==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "asn1.js": "4.10.1",
+ "browserify-aes": "1.2.0",
+ "create-hash": "1.2.0",
+ "evp_bytestokey": "1.0.3",
+ "pbkdf2": "3.0.16"
+ }
},
"parse-domain": {
"version": "2.0.0",
@@ -8304,25 +12051,47 @@
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-1.1.1.tgz",
"integrity": "sha1-gRLYhHExnyerrk1klksSL+ThuJA=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "character-entities": "1.2.2",
+ "character-entities-legacy": "1.1.2",
+ "character-reference-invalid": "1.1.2",
+ "is-alphanumerical": "1.0.2",
+ "is-decimal": "1.0.2",
+ "is-hexadecimal": "1.0.2"
+ }
},
"parse-filepath": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz",
"integrity": "sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "is-absolute": "1.0.0",
+ "map-cache": "0.2.2",
+ "path-root": "0.1.1"
+ }
},
"parse-git-config": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/parse-git-config/-/parse-git-config-0.2.0.tgz",
"integrity": "sha1-Jygz/dFf6hRvt10zbSNrljtv9wY=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "ini": "1.3.5"
+ }
},
"parse-glob": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz",
"integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=",
"dev": true,
+ "requires": {
+ "glob-base": "0.3.0",
+ "is-dotfile": "1.0.3",
+ "is-extglob": "1.0.0",
+ "is-glob": "2.0.1"
+ },
"dependencies": {
"is-extglob": {
"version": "1.0.0",
@@ -8334,7 +12103,10 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
"integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "is-extglob": "1.0.0"
+ }
}
}
},
@@ -8342,7 +12114,11 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
"integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "error-ex": "1.3.1",
+ "json-parse-better-errors": "1.0.2"
+ }
},
"parse-passwd": {
"version": "1.0.0",
@@ -8354,19 +12130,29 @@
"version": "1.3.11",
"resolved": "https://registry.npmjs.org/parse-url/-/parse-url-1.3.11.tgz",
"integrity": "sha1-V8FUKKuKiSsfQ4aWRccR0OFEtVQ=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "is-ssh": "1.3.0",
+ "protocols": "1.4.6"
+ }
},
"parseqs": {
"version": "0.0.5",
"resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz",
"integrity": "sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "better-assert": "1.0.2"
+ }
},
"parseuri": {
"version": "0.0.5",
"resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz",
"integrity": "sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "better-assert": "1.0.2"
+ }
},
"parseurl": {
"version": "1.3.2",
@@ -8434,6 +12220,9 @@
"integrity": "sha1-GOijaFn8nS8aU7SN7hOFQ8Ag3l4=",
"dev": true,
"optional": true,
+ "requires": {
+ "inflection": "1.3.8"
+ },
"dependencies": {
"inflection": {
"version": "1.3.8",
@@ -8448,7 +12237,10 @@
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz",
"integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "path-root-regex": "0.1.2"
+ }
},
"path-root-regex": {
"version": "0.1.2",
@@ -8461,6 +12253,9 @@
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.7.0.tgz",
"integrity": "sha1-Wf3g9DW62suhA6hOnTvGTpa5k30=",
"dev": true,
+ "requires": {
+ "isarray": "0.0.1"
+ },
"dependencies": {
"isarray": {
"version": "0.0.1",
@@ -8474,7 +12269,10 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz",
"integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "pify": "3.0.0"
+ }
},
"pause": {
"version": "0.1.0",
@@ -8486,13 +12284,23 @@
"version": "0.0.11",
"resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz",
"integrity": "sha1-/lo0sMvOErWqaitAPuLnO2AvFEU=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "through": "2.3.8"
+ }
},
"pbkdf2": {
"version": "3.0.16",
"resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.16.tgz",
"integrity": "sha512-y4CXP3thSxqf7c0qmOF+9UeOTrifiVTIM+u7NWlq+PRsHbr7r7dpCmvzrZxa96JJUNi0Y5w9VqG5ZNeCVMoDcA==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "create-hash": "1.2.0",
+ "create-hmac": "1.1.7",
+ "ripemd160": "2.0.2",
+ "safe-buffer": "5.1.1",
+ "sha.js": "2.4.11"
+ }
},
"pbkdf2-compat": {
"version": "2.0.1",
@@ -8516,19 +12324,31 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
"integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "pinkie": "2.0.4"
+ }
},
"pkg-dir": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz",
"integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "find-up": "2.1.0"
+ }
},
"plugin-error": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-1.0.1.tgz",
"integrity": "sha512-L1zP0dk7vGweZME2i+EeakvUNqSrdiI3F91TwEoYiGrAfUXmVv6fJIq4g82PAXxNsWOp0J7ZqQy/3Szz0ajTxA==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "ansi-colors": "1.1.0",
+ "arr-diff": "4.0.0",
+ "arr-union": "3.1.0",
+ "extend-shallow": "3.0.2"
+ }
},
"pluralize": {
"version": "7.0.0",
@@ -8600,12 +12420,25 @@
"resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-2.0.0.tgz",
"integrity": "sha1-V+tTR6qAXXTsaByyVknbo5yTNJk=",
"dev": true,
+ "requires": {
+ "agent-base": "2.1.1",
+ "debug": "2.6.9",
+ "extend": "3.0.1",
+ "http-proxy-agent": "1.0.0",
+ "https-proxy-agent": "1.0.0",
+ "lru-cache": "2.6.5",
+ "pac-proxy-agent": "1.1.0",
+ "socks-proxy-agent": "2.1.1"
+ },
"dependencies": {
"debug": {
"version": "2.6.9",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
},
"lru-cache": {
"version": "2.6.5",
@@ -8620,6 +12453,11 @@
"resolved": "https://registry.npmjs.org/proxyquire/-/proxyquire-1.8.0.tgz",
"integrity": "sha1-AtUUpb7ZhvBMuyCTrxZ0FTX3ntw=",
"dev": true,
+ "requires": {
+ "fill-keys": "1.0.2",
+ "module-not-found-error": "1.0.1",
+ "resolve": "1.1.7"
+ },
"dependencies": {
"resolve": {
"version": "1.1.7",
@@ -8645,13 +12483,26 @@
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.2.tgz",
"integrity": "sha512-4kJ5Esocg8X3h8YgJsKAuoesBgB7mqH3eowiDzMUPKiRDDE7E/BqqZD1hnTByIaAFiwAw246YEltSq7tdrOH0Q==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "bn.js": "4.11.8",
+ "browserify-rsa": "4.0.1",
+ "create-hash": "1.2.0",
+ "parse-asn1": "5.1.1",
+ "randombytes": "2.0.6"
+ }
},
"pullstream": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/pullstream/-/pullstream-0.4.1.tgz",
"integrity": "sha1-1vs79a7Wl+gxFQ6xACwlo/iuExQ=",
"dev": true,
+ "requires": {
+ "over": "0.0.5",
+ "readable-stream": "1.0.34",
+ "setimmediate": "1.0.5",
+ "slice-stream": "1.0.0"
+ },
"dependencies": {
"isarray": {
"version": "0.0.1",
@@ -8663,7 +12514,13 @@
"version": "1.0.34",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
"integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "0.0.1",
+ "string_decoder": "0.10.31"
+ }
},
"string_decoder": {
"version": "0.10.31",
@@ -8677,13 +12534,22 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz",
"integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "end-of-stream": "1.4.1",
+ "once": "1.4.0"
+ }
},
"pumpify": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.4.0.tgz",
"integrity": "sha512-2kmNR9ry+Pf45opRVirpNuIFotsxUGLaYqxIwuR77AYrYRMuFCz9eryHBS52L360O+NcR383CL4QYlMKPq4zYA==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "duplexify": "3.5.4",
+ "inherits": "2.0.3",
+ "pump": "2.0.1"
+ }
},
"punycode": {
"version": "1.4.1",
@@ -8738,12 +12604,19 @@
"resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz",
"integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==",
"dev": true,
+ "requires": {
+ "is-number": "3.0.0",
+ "kind-of": "4.0.0"
+ },
"dependencies": {
"kind-of": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
"integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "is-buffer": "1.1.6"
+ }
}
}
},
@@ -8751,13 +12624,20 @@
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz",
"integrity": "sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "safe-buffer": "5.1.1"
+ }
},
"randomfill": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz",
"integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "randombytes": "2.0.6",
+ "safe-buffer": "5.1.1"
+ }
},
"range-parser": {
"version": "1.0.3",
@@ -8770,6 +12650,10 @@
"resolved": "https://registry.npmjs.org/raw-body/-/raw-body-1.1.7.tgz",
"integrity": "sha1-HQJ8K/oRasxmI7yo8AAWVyqH1CU=",
"dev": true,
+ "requires": {
+ "bytes": "1.0.0",
+ "string_decoder": "0.10.31"
+ },
"dependencies": {
"string_decoder": {
"version": "0.10.31",
@@ -8783,30 +12667,58 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz",
"integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "load-json-file": "4.0.0",
+ "normalize-package-data": "2.4.0",
+ "path-type": "3.0.0"
+ }
},
"read-pkg-up": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz",
"integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "find-up": "2.1.0",
+ "read-pkg": "3.0.0"
+ }
},
"readable-stream": {
"version": "2.3.6",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
- "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw=="
+ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "1.0.0",
+ "process-nextick-args": "2.0.0",
+ "safe-buffer": "5.1.1",
+ "string_decoder": "1.1.1",
+ "util-deprecate": "1.0.2"
+ }
},
"readdirp": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz",
"integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11",
+ "minimatch": "3.0.4",
+ "readable-stream": "2.3.6",
+ "set-immediate-shim": "1.0.1"
+ }
},
"readline2": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/readline2/-/readline2-0.1.1.tgz",
"integrity": "sha1-mUQ7pug7gw7zBRv9fcJBqCco1Wg=",
"dev": true,
+ "requires": {
+ "mute-stream": "0.0.4",
+ "strip-ansi": "2.0.1"
+ },
"dependencies": {
"ansi-regex": {
"version": "1.1.1",
@@ -8824,7 +12736,10 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-2.0.1.tgz",
"integrity": "sha1-32LBqpTtLxFOHQ8h/R1QSCt5pg4=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "ansi-regex": "1.1.1"
+ }
}
}
},
@@ -8832,20 +12747,32 @@
"version": "0.6.2",
"resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz",
"integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "resolve": "1.7.1"
+ }
},
"redent": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz",
"integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "indent-string": "2.1.0",
+ "strip-indent": "1.0.1"
+ }
},
"redis": {
"version": "2.8.0",
"resolved": "https://registry.npmjs.org/redis/-/redis-2.8.0.tgz",
"integrity": "sha512-M1OkonEQwtRmZv4tEWF2VgpG0JWJ8Fv1PhlgT5+B+uNq2cA3Rt1Yt/ryoR+vQNOQcIEgdCdfH0jr3bDpihAw1A==",
"dev": true,
- "optional": true
+ "optional": true,
+ "requires": {
+ "double-ended-queue": "2.1.0-0",
+ "redis-commands": "1.3.5",
+ "redis-parser": "2.6.0"
+ }
},
"redis-commands": {
"version": "1.3.5",
@@ -8876,19 +12803,31 @@
"version": "0.10.1",
"resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz",
"integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.26.0",
+ "babel-types": "6.26.0",
+ "private": "0.1.8"
+ }
},
"regex-cache": {
"version": "0.4.4",
"resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz",
"integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "is-equal-shallow": "0.1.3"
+ }
},
"regex-not": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
"integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "extend-shallow": "3.0.2",
+ "safe-regex": "1.1.0"
+ }
},
"regexpp": {
"version": "1.1.0",
@@ -8900,7 +12839,12 @@
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz",
"integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "regenerate": "1.3.3",
+ "regjsgen": "0.2.0",
+ "regjsparser": "0.1.5"
+ }
},
"regjsgen": {
"version": "0.2.0",
@@ -8913,6 +12857,9 @@
"resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz",
"integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=",
"dev": true,
+ "requires": {
+ "jsesc": "0.5.0"
+ },
"dependencies": {
"jsesc": {
"version": "0.5.0",
@@ -8926,61 +12873,129 @@
"version": "9.0.0",
"resolved": "https://registry.npmjs.org/remark/-/remark-9.0.0.tgz",
"integrity": "sha512-amw8rGdD5lHbMEakiEsllmkdBP+/KpjW/PRK6NSGPZKCQowh0BT4IWXDAkRMyG3SB9dKPXWMviFjNusXzXNn3A==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "remark-parse": "5.0.0",
+ "remark-stringify": "5.0.0",
+ "unified": "6.1.6"
+ }
},
"remark-html": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/remark-html/-/remark-html-7.0.0.tgz",
"integrity": "sha512-jqRzkZXCkM12gIY2ibMLTW41m7rfanliMTVQCFTezHJFsbH00YaTox/BX4gU+f/zCdzfhFJONtebFByvpMv37w==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "hast-util-sanitize": "1.1.2",
+ "hast-util-to-html": "3.1.0",
+ "mdast-util-to-hast": "3.0.0",
+ "xtend": "4.0.1"
+ }
},
"remark-parse": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-5.0.0.tgz",
"integrity": "sha512-b3iXszZLH1TLoyUzrATcTQUZrwNl1rE70rVdSruJFlDaJ9z5aMkhrG43Pp68OgfHndL/ADz6V69Zow8cTQu+JA==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "collapse-white-space": "1.0.4",
+ "is-alphabetical": "1.0.2",
+ "is-decimal": "1.0.2",
+ "is-whitespace-character": "1.0.2",
+ "is-word-character": "1.0.1",
+ "markdown-escapes": "1.0.2",
+ "parse-entities": "1.1.1",
+ "repeat-string": "1.6.1",
+ "state-toggle": "1.0.1",
+ "trim": "0.0.1",
+ "trim-trailing-lines": "1.1.0",
+ "unherit": "1.1.0",
+ "unist-util-remove-position": "1.1.1",
+ "vfile-location": "2.0.2",
+ "xtend": "4.0.1"
+ }
},
"remark-reference-links": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/remark-reference-links/-/remark-reference-links-4.0.1.tgz",
"integrity": "sha1-AhrtHFXBh9cSs8dtAFe/UQ0wC6c=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "unist-util-visit": "1.3.0"
+ }
},
"remark-slug": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/remark-slug/-/remark-slug-5.0.0.tgz",
"integrity": "sha512-bRFK90ia6iooqC5KH6e9nEIL3OwRbTPU6ed2fm/fa66uofKdmRcsmRVMwND3pXLbvH2F022cETYlE7YlVs7LNQ==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "github-slugger": "1.2.0",
+ "mdast-util-to-string": "1.0.4",
+ "unist-util-visit": "1.3.0"
+ }
},
"remark-stringify": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-5.0.0.tgz",
"integrity": "sha512-Ws5MdA69ftqQ/yhRF9XhVV29mhxbfGhbz0Rx5bQH+oJcNhhSM6nCu1EpLod+DjrFGrU0BMPs+czVmJZU7xiS7w==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "ccount": "1.0.3",
+ "is-alphanumeric": "1.0.0",
+ "is-decimal": "1.0.2",
+ "is-whitespace-character": "1.0.2",
+ "longest-streak": "2.0.2",
+ "markdown-escapes": "1.0.2",
+ "markdown-table": "1.1.2",
+ "mdast-util-compact": "1.0.1",
+ "parse-entities": "1.1.1",
+ "repeat-string": "1.6.1",
+ "state-toggle": "1.0.1",
+ "stringify-entities": "1.3.1",
+ "unherit": "1.1.0",
+ "xtend": "4.0.1"
+ }
},
"remark-toc": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/remark-toc/-/remark-toc-5.0.0.tgz",
"integrity": "sha512-j2A/fpio1nzNRJtY6nVaFUCtXNfFPxaj6I5UHFsFgo4xKmc0VokRRIzGqz4Vfs7u+dPrHjnoHkImu1Dia0jDSQ==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "mdast-util-toc": "2.0.1",
+ "remark-slug": "5.0.0"
+ }
},
"remote-origin-url": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/remote-origin-url/-/remote-origin-url-0.4.0.tgz",
"integrity": "sha1-TT4pAvNOLTfRwmPYdxC3frQIajA=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "parse-git-config": "0.2.0"
+ }
},
"remove-bom-buffer": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz",
"integrity": "sha512-8v2rWhaakv18qcvNeli2mZ/TMTL2nEyAKRvzo1WtnZBl15SHyEhrCu2/xKlJyUFKHiHgfXIyuY6g2dObJJycXQ==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "is-buffer": "1.1.6",
+ "is-utf8": "0.2.1"
+ }
},
"remove-bom-stream": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/remove-bom-stream/-/remove-bom-stream-1.2.0.tgz",
"integrity": "sha1-BfGlk/FuQuH7kOv1nejlaVJflSM=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "remove-bom-buffer": "3.0.0",
+ "safe-buffer": "5.1.1",
+ "through2": "2.0.3"
+ }
},
"remove-trailing-separator": {
"version": "1.1.0",
@@ -9003,7 +13018,10 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz",
"integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "is-finite": "1.0.2"
+ }
},
"replace-ext": {
"version": "1.0.0",
@@ -9015,20 +13033,51 @@
"version": "0.1.3",
"resolved": "https://registry.npmjs.org/replacestream/-/replacestream-0.1.3.tgz",
"integrity": "sha1-4BjTo3ckYAzNDABZkNiiG3tU/zQ=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "through": "2.3.8"
+ }
},
"request": {
"version": "2.79.0",
"resolved": "https://registry.npmjs.org/request/-/request-2.79.0.tgz",
"integrity": "sha1-Tf5b9r6LjNw3/Pk+BLZVd3InEN4=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "aws-sign2": "0.6.0",
+ "aws4": "1.7.0",
+ "caseless": "0.11.0",
+ "combined-stream": "1.0.6",
+ "extend": "3.0.1",
+ "forever-agent": "0.6.1",
+ "form-data": "2.1.4",
+ "har-validator": "2.0.6",
+ "hawk": "3.1.3",
+ "http-signature": "1.1.1",
+ "is-typedarray": "1.0.0",
+ "isstream": "0.1.2",
+ "json-stringify-safe": "5.0.1",
+ "mime-types": "2.1.18",
+ "oauth-sign": "0.8.2",
+ "qs": "6.3.2",
+ "stringstream": "0.0.5",
+ "tough-cookie": "2.3.4",
+ "tunnel-agent": "0.4.3",
+ "uuid": "3.2.1"
+ }
},
"requestretry": {
"version": "1.13.0",
"resolved": "https://registry.npmjs.org/requestretry/-/requestretry-1.13.0.tgz",
"integrity": "sha512-Lmh9qMvnQXADGAQxsXHP4rbgO6pffCfuR8XUBdP9aitJcLQJxhp7YZK4xAVYXnPJ5E52mwrfiKQtKonPL8xsmg==",
"dev": true,
- "optional": true
+ "optional": true,
+ "requires": {
+ "extend": "3.0.1",
+ "lodash": "4.17.5",
+ "request": "2.79.0",
+ "when": "3.7.8"
+ }
},
"require-directory": {
"version": "2.1.1",
@@ -9046,7 +13095,11 @@
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz",
"integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "caller-path": "0.1.0",
+ "resolve-from": "1.0.1"
+ }
},
"requirejs": {
"version": "2.3.5",
@@ -9064,13 +13117,20 @@
"version": "1.7.1",
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.7.1.tgz",
"integrity": "sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "path-parse": "1.0.5"
+ }
},
"resolve-dir": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz",
"integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "expand-tilde": "2.0.2",
+ "global-modules": "1.0.0"
+ }
},
"resolve-from": {
"version": "1.0.1",
@@ -9082,7 +13142,10 @@
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/resolve-options/-/resolve-options-1.1.0.tgz",
"integrity": "sha1-MrueOcBtZzONyTeMDW1gdFZq0TE=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "value-or-function": "3.0.0"
+ }
},
"resolve-url": {
"version": "0.2.1",
@@ -9094,6 +13157,10 @@
"resolved": "https://registry.npmjs.org/response-time/-/response-time-2.3.2.tgz",
"integrity": "sha1-/6cbq5UtYvfB1Jt0NDVfvGjf/Fo=",
"dev": true,
+ "requires": {
+ "depd": "1.1.2",
+ "on-headers": "1.0.1"
+ },
"dependencies": {
"depd": {
"version": "1.1.2",
@@ -9107,7 +13174,11 @@
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz",
"integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "onetime": "2.0.1",
+ "signal-exit": "3.0.2"
+ }
},
"ret": {
"version": "0.1.15",
@@ -9131,19 +13202,29 @@
"version": "0.1.3",
"resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz",
"integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "align-text": "0.1.4"
+ }
},
"rimraf": {
"version": "2.6.2",
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz",
"integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "glob": "7.1.2"
+ }
},
"ripemd160": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz",
"integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "hash-base": "3.0.4",
+ "inherits": "2.0.3"
+ }
},
"rndm": {
"version": "1.2.0",
@@ -9155,7 +13236,10 @@
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz",
"integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "is-promise": "2.1.0"
+ }
},
"rx": {
"version": "2.5.3",
@@ -9173,7 +13257,10 @@
"version": "4.0.8",
"resolved": "https://registry.npmjs.org/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz",
"integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "rx-lite": "4.0.8"
+ }
},
"safe-buffer": {
"version": "5.1.1",
@@ -9190,7 +13277,10 @@
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
"integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "ret": "0.1.15"
+ }
},
"safer-buffer": {
"version": "2.1.2",
@@ -9209,12 +13299,21 @@
"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.3.0.tgz",
"integrity": "sha1-9YdyIs4+kx7a4DnxfrNxbnE3+M8=",
"dev": true,
+ "requires": {
+ "ajv": "5.5.2"
+ },
"dependencies": {
"ajv": {
"version": "5.5.2",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz",
"integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "co": "4.6.0",
+ "fast-deep-equal": "1.1.0",
+ "fast-json-stable-stringify": "2.0.0",
+ "json-schema-traverse": "0.3.1"
+ }
}
}
},
@@ -9229,12 +13328,29 @@
"resolved": "https://registry.npmjs.org/send/-/send-0.13.2.tgz",
"integrity": "sha1-dl52B8gFVFK7pvCwUllTUJhgNt4=",
"dev": true,
+ "requires": {
+ "debug": "2.2.0",
+ "depd": "1.1.2",
+ "destroy": "1.0.4",
+ "escape-html": "1.0.3",
+ "etag": "1.7.0",
+ "fresh": "0.3.0",
+ "http-errors": "1.3.1",
+ "mime": "1.3.4",
+ "ms": "0.7.1",
+ "on-finished": "2.3.0",
+ "range-parser": "1.0.3",
+ "statuses": "1.2.1"
+ },
"dependencies": {
"debug": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
"integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "ms": "0.7.1"
+ }
},
"depd": {
"version": "1.1.2",
@@ -9273,6 +13389,12 @@
"resolved": "https://registry.npmjs.org/serve-favicon/-/serve-favicon-2.3.2.tgz",
"integrity": "sha1-3UGeJo3gEqtysxnTN/IQUBP5OB8=",
"dev": true,
+ "requires": {
+ "etag": "1.7.0",
+ "fresh": "0.3.0",
+ "ms": "0.7.2",
+ "parseurl": "1.3.2"
+ },
"dependencies": {
"ms": {
"version": "0.7.2",
@@ -9287,12 +13409,24 @@
"resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.7.3.tgz",
"integrity": "sha1-egV/xu4o3GP2RWbl+lexEahq7NI=",
"dev": true,
+ "requires": {
+ "accepts": "1.2.13",
+ "batch": "0.5.3",
+ "debug": "2.2.0",
+ "escape-html": "1.0.3",
+ "http-errors": "1.3.1",
+ "mime-types": "2.1.18",
+ "parseurl": "1.3.2"
+ },
"dependencies": {
"debug": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
"integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "ms": "0.7.1"
+ }
},
"ms": {
"version": "0.7.1",
@@ -9306,7 +13440,12 @@
"version": "1.10.3",
"resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.10.3.tgz",
"integrity": "sha1-zlpuzTEB/tXsCYJ9rCKpwpv7BTU=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "escape-html": "1.0.3",
+ "parseurl": "1.3.2",
+ "send": "0.13.2"
+ }
},
"set-blocking": {
"version": "2.0.0",
@@ -9325,12 +13464,21 @@
"resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz",
"integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==",
"dev": true,
+ "requires": {
+ "extend-shallow": "2.0.1",
+ "is-extendable": "0.1.1",
+ "is-plain-object": "2.0.4",
+ "split-string": "3.1.0"
+ },
"dependencies": {
"extend-shallow": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "is-extendable": "0.1.1"
+ }
}
}
},
@@ -9340,23 +13488,24 @@
"integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=",
"dev": true
},
- "setprototypeof": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz",
- "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==",
- "dev": true
- },
"sha.js": {
"version": "2.4.11",
"resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
"integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "inherits": "2.0.3",
+ "safe-buffer": "5.1.1"
+ }
},
"shebang-command": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
"integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "shebang-regex": "1.0.0"
+ }
},
"shebang-regex": {
"version": "1.0.0",
@@ -9368,7 +13517,12 @@
"version": "0.8.1",
"resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.1.tgz",
"integrity": "sha512-YA/iYtZpzFe5HyWVGrb02FjPxc4EMCfpoU/Phg9fQoyMC72u9598OUBrsU8IrtwAKG0tO8IYaqbaLIw+k3IRGA==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "glob": "7.1.2",
+ "interpret": "1.1.0",
+ "rechoir": "0.6.2"
+ }
},
"sigmund": {
"version": "1.0.1",
@@ -9387,6 +13541,15 @@
"resolved": "https://registry.npmjs.org/sinon/-/sinon-4.5.0.tgz",
"integrity": "sha512-trdx+mB0VBBgoYucy6a9L7/jfQOmvGeaKZT4OOJ+lPAtI8623xyGr8wLiE4eojzBS8G9yXbhx42GHUOVLr4X2w==",
"dev": true,
+ "requires": {
+ "@sinonjs/formatio": "2.0.0",
+ "diff": "3.5.0",
+ "lodash.get": "4.4.2",
+ "lolex": "2.3.2",
+ "nise": "1.3.3",
+ "supports-color": "5.4.0",
+ "type-detect": "4.0.8"
+ },
"dependencies": {
"diff": {
"version": "3.5.0",
@@ -9398,7 +13561,10 @@
"version": "5.4.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
"integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "has-flag": "3.0.0"
+ }
},
"type-detect": {
"version": "4.0.8",
@@ -9413,7 +13579,10 @@
"resolved": "https://registry.npmjs.org/slack-node/-/slack-node-0.2.0.tgz",
"integrity": "sha1-3kuN3aqLeT9h29KTgQT9q/N9+jA=",
"dev": true,
- "optional": true
+ "optional": true,
+ "requires": {
+ "requestretry": "1.13.0"
+ }
},
"slash": {
"version": "1.0.0",
@@ -9426,6 +13595,9 @@
"resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz",
"integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==",
"dev": true,
+ "requires": {
+ "is-fullwidth-code-point": "2.0.0"
+ },
"dependencies": {
"is-fullwidth-code-point": {
"version": "2.0.0",
@@ -9440,6 +13612,9 @@
"resolved": "https://registry.npmjs.org/slice-stream/-/slice-stream-1.0.0.tgz",
"integrity": "sha1-WzO9ZvATsaf4ZGCwPUY97DmtPqA=",
"dev": true,
+ "requires": {
+ "readable-stream": "1.0.34"
+ },
"dependencies": {
"isarray": {
"version": "0.0.1",
@@ -9451,7 +13626,13 @@
"version": "1.0.34",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
"integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "0.0.1",
+ "string_decoder": "0.10.31"
+ }
},
"string_decoder": {
"version": "0.10.31",
@@ -9471,13 +13652,27 @@
"version": "2.12.0",
"resolved": "https://registry.npmjs.org/smtp-connection/-/smtp-connection-2.12.0.tgz",
"integrity": "sha1-1275EnyyPCJZ7bHoNJwujV4tdME=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "httpntlm": "1.6.1",
+ "nodemailer-shared": "1.1.0"
+ }
},
"snapdragon": {
"version": "0.8.2",
"resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
"integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
"dev": true,
+ "requires": {
+ "base": "0.11.2",
+ "debug": "2.6.9",
+ "define-property": "0.2.5",
+ "extend-shallow": "2.0.1",
+ "map-cache": "0.2.2",
+ "source-map": "0.5.7",
+ "source-map-resolve": "0.5.1",
+ "use": "3.1.0"
+ },
"dependencies": {
"atob": {
"version": "2.1.0",
@@ -9489,19 +13684,28 @@
"version": "2.6.9",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
},
"define-property": {
"version": "0.2.5",
"resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "is-descriptor": "0.1.6"
+ }
},
"extend-shallow": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "is-extendable": "0.1.1"
+ }
},
"source-map": {
"version": "0.5.7",
@@ -9513,7 +13717,22 @@
"version": "0.5.1",
"resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.1.tgz",
"integrity": "sha512-0KW2wvzfxm8NCTb30z0LMNyPqWCdDGE2viwzUaucqJdkTRXtZiSY3I+2A6nVAjmdOy0I4gU8DwnVVGsk9jvP2A==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "atob": "2.1.0",
+ "decode-uri-component": "0.2.0",
+ "resolve-url": "0.2.1",
+ "source-map-url": "0.4.0",
+ "urix": "0.1.0"
+ },
+ "dependencies": {
+ "decode-uri-component": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
+ "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
+ "dev": true
+ }
+ }
},
"source-map-url": {
"version": "0.4.0",
@@ -9528,30 +13747,49 @@
"resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
"integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
"dev": true,
+ "requires": {
+ "define-property": "1.0.0",
+ "isobject": "3.0.1",
+ "snapdragon-util": "3.0.1"
+ },
"dependencies": {
"define-property": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
"integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "is-descriptor": "1.0.2"
+ }
},
"is-accessor-descriptor": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
"integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "kind-of": "6.0.2"
+ }
},
"is-data-descriptor": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
"integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "kind-of": "6.0.2"
+ }
},
"is-descriptor": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
"integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "1.0.0",
+ "is-data-descriptor": "1.0.0",
+ "kind-of": "6.0.2"
+ }
}
}
},
@@ -9560,12 +13798,18 @@
"resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
"integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
"dev": true,
+ "requires": {
+ "kind-of": "3.2.2"
+ },
"dependencies": {
"kind-of": {
"version": "3.2.2",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "is-buffer": "1.1.6"
+ }
}
}
},
@@ -9573,19 +13817,32 @@
"version": "1.0.9",
"resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz",
"integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "hoek": "2.16.3"
+ }
},
"socket.io": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.0.4.tgz",
"integrity": "sha1-waRZDO/4fs8TxyZS8Eb3FrKeYBQ=",
"dev": true,
+ "requires": {
+ "debug": "2.6.9",
+ "engine.io": "3.1.5",
+ "socket.io-adapter": "1.1.1",
+ "socket.io-client": "2.0.4",
+ "socket.io-parser": "3.1.3"
+ },
"dependencies": {
"debug": {
"version": "2.6.9",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
}
}
},
@@ -9600,12 +13857,30 @@
"resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.0.4.tgz",
"integrity": "sha1-CRilUkBtxeVAs4Dc2Xr8SmQzL44=",
"dev": true,
+ "requires": {
+ "backo2": "1.0.2",
+ "base64-arraybuffer": "0.1.5",
+ "component-bind": "1.0.0",
+ "component-emitter": "1.2.1",
+ "debug": "2.6.9",
+ "engine.io-client": "3.1.6",
+ "has-cors": "1.1.0",
+ "indexof": "0.0.1",
+ "object-component": "0.0.3",
+ "parseqs": "0.0.5",
+ "parseuri": "0.0.5",
+ "socket.io-parser": "3.1.3",
+ "to-array": "0.1.4"
+ },
"dependencies": {
"debug": {
"version": "2.6.9",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
}
}
},
@@ -9614,6 +13889,12 @@
"resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.1.3.tgz",
"integrity": "sha512-g0a2HPqLguqAczs3dMECuA1RgoGFPyvDqcbaDEdCWY9g59kdUAz3YRmaJBNKXflrHNwB7Q12Gkf/0CZXfdHR7g==",
"dev": true,
+ "requires": {
+ "component-emitter": "1.2.1",
+ "debug": "3.1.0",
+ "has-binary2": "1.0.2",
+ "isarray": "2.0.1"
+ },
"dependencies": {
"isarray": {
"version": "2.0.1",
@@ -9628,6 +13909,10 @@
"resolved": "https://registry.npmjs.org/socks/-/socks-1.1.10.tgz",
"integrity": "sha1-W4t/x8jzQcU+0FbpKbe/Tei6e1o=",
"dev": true,
+ "requires": {
+ "ip": "1.1.5",
+ "smart-buffer": "1.1.15"
+ },
"dependencies": {
"ip": {
"version": "1.1.5",
@@ -9641,7 +13926,12 @@
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-2.1.1.tgz",
"integrity": "sha512-sFtmYqdUK5dAMh85H0LEVFUCO7OhJJe1/z2x/Z6mxp3s7/QPf1RkZmpZy+BpuU0bEjcV9npqKjq9Y3kwFUjnxw==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "agent-base": "2.1.1",
+ "extend": "3.0.1",
+ "socks": "1.1.10"
+ }
},
"source-list-map": {
"version": "2.0.0",
@@ -9657,13 +13947,22 @@
"source-map-resolve": {
"version": "0.3.1",
"resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.3.1.tgz",
- "integrity": "sha1-YQ9hIqRFuN1RU1oqcbeD38Ekh2E="
+ "integrity": "sha1-YQ9hIqRFuN1RU1oqcbeD38Ekh2E=",
+ "requires": {
+ "atob": "1.1.3",
+ "resolve-url": "0.2.1",
+ "source-map-url": "0.3.0",
+ "urix": "0.1.0"
+ }
},
"source-map-support": {
"version": "0.4.18",
"resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz",
"integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==",
"dev": true,
+ "requires": {
+ "source-map": "0.5.7"
+ },
"dependencies": {
"source-map": {
"version": "0.5.7",
@@ -9682,7 +13981,10 @@
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-1.1.2.tgz",
"integrity": "sha512-G3jprCEw+xFEs0ORweLmblJ3XLymGGr6hxZYTYZjIlvDti9vOBUjRQa1Rzjt012aRrocKstHwdNi+F7HguPsEA==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "trim": "0.0.1"
+ }
},
"sparkles": {
"version": "1.0.0",
@@ -9694,7 +13996,11 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz",
"integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "spdx-expression-parse": "3.0.0",
+ "spdx-license-ids": "3.0.0"
+ }
},
"spdx-exceptions": {
"version": "2.1.0",
@@ -9706,7 +14012,11 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz",
"integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "spdx-exceptions": "2.1.0",
+ "spdx-license-ids": "3.0.0"
+ }
},
"spdx-license-ids": {
"version": "3.0.0",
@@ -9718,13 +14028,19 @@
"version": "0.3.3",
"resolved": "https://registry.npmjs.org/split/-/split-0.3.3.tgz",
"integrity": "sha1-zQ7qXmOiEd//frDwkcQTPi0N0o8=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "through": "2.3.8"
+ }
},
"split-string": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
"integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "extend-shallow": "3.0.2"
+ }
},
"sprintf-js": {
"version": "1.0.3",
@@ -9737,6 +14053,16 @@
"resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.1.tgz",
"integrity": "sha1-Ew9Zde3a2WPx1W+SuaxsUfqfg+s=",
"dev": true,
+ "requires": {
+ "asn1": "0.2.3",
+ "assert-plus": "1.0.0",
+ "bcrypt-pbkdf": "1.0.1",
+ "dashdash": "1.14.1",
+ "ecc-jsbn": "0.1.1",
+ "getpass": "0.1.7",
+ "jsbn": "0.1.1",
+ "tweetnacl": "0.14.5"
+ },
"dependencies": {
"assert-plus": {
"version": "1.0.0",
@@ -9757,12 +14083,19 @@
"resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
"integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
"dev": true,
+ "requires": {
+ "define-property": "0.2.5",
+ "object-copy": "0.1.0"
+ },
"dependencies": {
"define-property": {
"version": "0.2.5",
"resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "is-descriptor": "0.1.6"
+ }
}
}
},
@@ -9777,6 +14110,9 @@
"resolved": "https://registry.npmjs.org/stream-array/-/stream-array-1.1.2.tgz",
"integrity": "sha1-nl9zRfITfDDuO0mLkRToC1K7frU=",
"dev": true,
+ "requires": {
+ "readable-stream": "2.1.5"
+ },
"dependencies": {
"process-nextick-args": {
"version": "1.0.7",
@@ -9788,7 +14124,16 @@
"version": "2.1.5",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.1.5.tgz",
"integrity": "sha1-ZvqLcg4UOLNkaB8q0aY8YYRIydA=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "buffer-shims": "1.0.0",
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "1.0.0",
+ "process-nextick-args": "1.0.7",
+ "string_decoder": "0.10.31",
+ "util-deprecate": "1.0.2"
+ }
},
"string_decoder": {
"version": "0.10.31",
@@ -9802,19 +14147,30 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz",
"integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "inherits": "2.0.3",
+ "readable-stream": "2.3.6"
+ }
},
"stream-combiner": {
"version": "0.0.4",
"resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz",
"integrity": "sha1-TV5DPBhSYd3mI8o/RMWGvPXErRQ=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "duplexer": "0.1.1"
+ }
},
"stream-combiner2": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz",
"integrity": "sha1-+02KFCDqNidk4hrUeAOXvry0HL4=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "duplexer2": "0.1.4",
+ "readable-stream": "2.3.6"
+ }
},
"stream-consume": {
"version": "0.1.1",
@@ -9827,6 +14183,9 @@
"resolved": "https://registry.npmjs.org/stream-counter/-/stream-counter-0.2.0.tgz",
"integrity": "sha1-3tJmVWMZyLDiIoErnPOyb6fZR94=",
"dev": true,
+ "requires": {
+ "readable-stream": "1.1.14"
+ },
"dependencies": {
"isarray": {
"version": "0.0.1",
@@ -9838,7 +14197,13 @@
"version": "1.1.14",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
"integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "0.0.1",
+ "string_decoder": "0.10.31"
+ }
},
"string_decoder": {
"version": "0.10.31",
@@ -9852,7 +14217,14 @@
"version": "2.8.1",
"resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.1.tgz",
"integrity": "sha512-cQ0jo17BLca2r0GfRdZKYAGLU6JRoIWxqSOakUMuKOT6MOK7AAlE856L33QuDmAy/eeOrhLee3dZKX0Uadu93A==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "builtin-status-codes": "3.0.0",
+ "inherits": "2.0.3",
+ "readable-stream": "2.3.6",
+ "to-arraybuffer": "1.0.1",
+ "xtend": "4.0.1"
+ }
},
"stream-shift": {
"version": "1.0.0",
@@ -9864,18 +14236,26 @@
"version": "0.7.0",
"resolved": "https://registry.npmjs.org/streamroller/-/streamroller-0.7.0.tgz",
"integrity": "sha512-WREzfy0r0zUqp3lGO096wRuUp7ho1X6uo/7DJfTlEi0Iv/4gT7YHqXDjKC2ioVGBZtE8QzsQD9nx1nIuoZ57jQ==",
- "dev": true
- },
- "string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg=="
+ "dev": true,
+ "requires": {
+ "date-format": "1.2.0",
+ "debug": "3.1.0",
+ "mkdirp": "0.5.1",
+ "readable-stream": "2.3.6"
+ }
},
"string-replace-webpack-plugin": {
"version": "0.1.3",
"resolved": "https://registry.npmjs.org/string-replace-webpack-plugin/-/string-replace-webpack-plugin-0.1.3.tgz",
"integrity": "sha1-c8ZX51nWbP6Arh4M8JGqJW0OcVw=",
"dev": true,
+ "requires": {
+ "async": "0.2.10",
+ "css-loader": "0.9.1",
+ "file-loader": "0.8.5",
+ "loader-utils": "0.2.17",
+ "style-loader": "0.8.3"
+ },
"dependencies": {
"async": {
"version": "0.2.10",
@@ -9887,7 +14267,13 @@
"version": "0.2.17",
"resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz",
"integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "big.js": "3.2.0",
+ "emojis-list": "2.1.0",
+ "json5": "0.5.1",
+ "object-assign": "4.1.1"
+ }
}
}
},
@@ -9901,13 +14287,32 @@
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
"integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "code-point-at": "1.1.0",
+ "is-fullwidth-code-point": "1.0.0",
+ "strip-ansi": "3.0.1"
+ }
+ },
+ "string_decoder": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "requires": {
+ "safe-buffer": "5.1.1"
+ }
},
"stringify-entities": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-1.3.1.tgz",
"integrity": "sha1-sVDsLXKsTBtfMktR+2soyc3/BYw=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "character-entities-html4": "1.1.2",
+ "character-entities-legacy": "1.1.2",
+ "is-alphanumerical": "1.0.2",
+ "is-hexadecimal": "1.0.2"
+ }
},
"stringstream": {
"version": "0.0.5",
@@ -9919,7 +14324,10 @@
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
"integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "ansi-regex": "2.1.1"
+ }
},
"strip-bom": {
"version": "3.0.0",
@@ -9942,7 +14350,10 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz",
"integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "get-stdin": "4.0.1"
+ }
},
"strip-json-comments": {
"version": "2.0.1",
@@ -9956,13 +14367,22 @@
"integrity": "sha1-9Pkut9tjdodI8VBlzWcA9aHIU1c=",
"dev": true,
"optional": true,
+ "requires": {
+ "loader-utils": "0.2.17"
+ },
"dependencies": {
"loader-utils": {
"version": "0.2.17",
"resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz",
"integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=",
"dev": true,
- "optional": true
+ "optional": true,
+ "requires": {
+ "big.js": "3.2.0",
+ "emojis-list": "2.1.0",
+ "json5": "0.5.1",
+ "object-assign": "4.1.1"
+ }
}
}
},
@@ -9971,6 +14391,9 @@
"resolved": "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz",
"integrity": "sha1-9izxdYHplrSPyWVpn1TAauJouNI=",
"dev": true,
+ "requires": {
+ "minimist": "1.2.0"
+ },
"dependencies": {
"minimist": {
"version": "1.2.0",
@@ -9991,12 +14414,26 @@
"resolved": "https://registry.npmjs.org/table/-/table-4.0.2.tgz",
"integrity": "sha512-UUkEAPdSGxtRpiV9ozJ5cMTtYiqz7Ni1OGqLXRCynrvzdtR1p+cfOWe2RJLwvUG8hNanaSRjecIqwOjqeatDsA==",
"dev": true,
+ "requires": {
+ "ajv": "5.5.2",
+ "ajv-keywords": "2.1.1",
+ "chalk": "2.4.0",
+ "lodash": "4.17.5",
+ "slice-ansi": "1.0.0",
+ "string-width": "2.1.1"
+ },
"dependencies": {
"ajv": {
"version": "5.5.2",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz",
"integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "co": "4.6.0",
+ "fast-deep-equal": "1.1.0",
+ "fast-json-stable-stringify": "2.0.0",
+ "json-schema-traverse": "0.3.1"
+ }
},
"ansi-regex": {
"version": "3.0.0",
@@ -10008,13 +14445,21 @@
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "color-convert": "1.9.1"
+ }
},
"chalk": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.0.tgz",
"integrity": "sha512-Wr/w0f4o9LuE7K53cD0qmbAMM+2XNLzR29vFn5hqko4sxGlUsyy363NvmyGIyk5tpe9cjTr9SJYbysEyPkRnFw==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "ansi-styles": "3.2.1",
+ "escape-string-regexp": "1.0.5",
+ "supports-color": "5.4.0"
+ }
},
"is-fullwidth-code-point": {
"version": "2.0.0",
@@ -10026,19 +14471,29 @@
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
"integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "is-fullwidth-code-point": "2.0.0",
+ "strip-ansi": "4.0.0"
+ }
},
"strip-ansi": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
"integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "ansi-regex": "3.0.0"
+ }
},
"supports-color": {
"version": "5.4.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
"integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "has-flag": "3.0.0"
+ }
}
}
},
@@ -10053,6 +14508,12 @@
"resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.1.5.tgz",
"integrity": "sha1-vpIYwTDCACnhB7D5Z/sj3gV50Tw=",
"dev": true,
+ "requires": {
+ "bl": "0.9.5",
+ "end-of-stream": "1.4.1",
+ "readable-stream": "1.0.34",
+ "xtend": "4.0.1"
+ },
"dependencies": {
"isarray": {
"version": "0.0.1",
@@ -10064,7 +14525,13 @@
"version": "1.0.34",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
"integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "0.0.1",
+ "string_decoder": "0.10.31"
+ }
},
"string_decoder": {
"version": "0.10.31",
@@ -10078,7 +14545,13 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/ternary-stream/-/ternary-stream-2.0.1.tgz",
"integrity": "sha1-Bk5Im0tb9gumpre8fy9cJ07Pgmk=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "duplexify": "3.5.4",
+ "fork-stream": "0.0.4",
+ "merge-stream": "1.0.1",
+ "through2": "2.0.3"
+ }
},
"text-encoding": {
"version": "0.6.4",
@@ -10107,13 +14580,21 @@
"through2": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
- "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4="
+ "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=",
+ "requires": {
+ "readable-stream": "2.3.6",
+ "xtend": "4.0.1"
+ }
},
"through2-filter": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/through2-filter/-/through2-filter-2.0.0.tgz",
"integrity": "sha1-YLxVoNrLdghdsfna6Zq0P4PWIuw=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "through2": "2.0.3",
+ "xtend": "4.0.1"
+ }
},
"thunkify": {
"version": "2.1.2",
@@ -10125,7 +14606,10 @@
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/tildify/-/tildify-1.2.0.tgz",
"integrity": "sha1-3OwD9V3Km3qj5bBPIYF+tW5jWIo=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "os-homedir": "1.0.2"
+ }
},
"time-stamp": {
"version": "1.1.0",
@@ -10137,12 +14621,19 @@
"version": "2.0.10",
"resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.10.tgz",
"integrity": "sha512-YvC1SV1XdOUaL6gx5CoGroT3Gu49pK9+TZ38ErPldOWW4j49GI1HKs9DV+KGq/w6y+LZ72W1c8cKz2vzY+qpzg==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "setimmediate": "1.0.5"
+ }
},
"timers-ext": {
"version": "0.1.5",
"resolved": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.5.tgz",
- "integrity": "sha512-tsEStd7kmACHENhsUPaxb8Jf8/+GZZxyNFQbZD07HQOyooOa6At1rQqjffgvg7n+dxscQa9cjjMdWhJtsP2sxg=="
+ "integrity": "sha512-tsEStd7kmACHENhsUPaxb8Jf8/+GZZxyNFQbZD07HQOyooOa6At1rQqjffgvg7n+dxscQa9cjjMdWhJtsP2sxg==",
+ "requires": {
+ "es5-ext": "0.10.42",
+ "next-tick": "1.0.0"
+ }
},
"timespan": {
"version": "2.3.0",
@@ -10156,6 +14647,14 @@
"resolved": "https://registry.npmjs.org/tiny-lr/-/tiny-lr-1.1.1.tgz",
"integrity": "sha512-44yhA3tsaRoMOjQQ+5v5mVdqef+kH6Qze9jTpqtVufgYjYt08zyZAwNwwVBj3i1rJMnR52IxOW0LK0vBzgAkuA==",
"dev": true,
+ "requires": {
+ "body": "5.1.0",
+ "debug": "3.1.0",
+ "faye-websocket": "0.10.0",
+ "livereload-js": "2.3.0",
+ "object-assign": "4.1.1",
+ "qs": "6.5.1"
+ },
"dependencies": {
"qs": {
"version": "6.5.1",
@@ -10169,13 +14668,20 @@
"version": "0.0.33",
"resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
"integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "os-tmpdir": "1.0.2"
+ }
},
"to-absolute-glob": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz",
"integrity": "sha1-GGX0PZ50sIItufFFt4z/fQ98hJs=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "is-absolute": "1.0.0",
+ "is-negated-glob": "1.0.0"
+ }
},
"to-array": {
"version": "0.1.4",
@@ -10200,12 +14706,18 @@
"resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
"integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
"dev": true,
+ "requires": {
+ "kind-of": "3.2.2"
+ },
"dependencies": {
"kind-of": {
"version": "3.2.2",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "is-buffer": "1.1.6"
+ }
}
}
},
@@ -10213,25 +14725,41 @@
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
"integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "define-property": "2.0.2",
+ "extend-shallow": "3.0.2",
+ "regex-not": "1.0.2",
+ "safe-regex": "1.1.0"
+ }
},
"to-regex-range": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
"integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "is-number": "3.0.0",
+ "repeat-string": "1.6.1"
+ }
},
"to-through": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/to-through/-/to-through-2.0.0.tgz",
"integrity": "sha1-/JKtq6ByZHvAtn1rA2ZKoZUJOvY=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "through2": "2.0.3"
+ }
},
"tough-cookie": {
"version": "2.3.4",
"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz",
"integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "punycode": "1.4.1"
+ }
},
"traverse": {
"version": "0.3.9",
@@ -10304,7 +14832,10 @@
"version": "0.3.2",
"resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
"integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "prelude-ls": "1.1.2"
+ }
},
"type-detect": {
"version": "1.0.0",
@@ -10316,7 +14847,11 @@
"version": "1.6.16",
"resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz",
"integrity": "sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "media-typer": "0.3.0",
+ "mime-types": "2.1.18"
+ }
},
"typedarray": {
"version": "0.0.6",
@@ -10329,6 +14864,11 @@
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz",
"integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=",
"dev": true,
+ "requires": {
+ "source-map": "0.5.7",
+ "uglify-to-browserify": "1.0.2",
+ "yargs": "3.10.0"
+ },
"dependencies": {
"camelcase": {
"version": "1.2.1",
@@ -10340,7 +14880,12 @@
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz",
"integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "center-align": "0.1.3",
+ "right-align": "0.1.3",
+ "wordwrap": "0.0.2"
+ }
},
"source-map": {
"version": "0.5.7",
@@ -10364,10 +14909,22 @@
"version": "3.10.0",
"resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz",
"integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "camelcase": "1.2.1",
+ "cliui": "2.1.0",
+ "decamelize": "1.2.0",
+ "window-size": "0.1.0"
+ }
}
}
},
+ "uglify-save-license": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/uglify-save-license/-/uglify-save-license-0.4.1.tgz",
+ "integrity": "sha1-lXJsF8xv0XHDYX479NjYKqjEzOE=",
+ "dev": true
+ },
"uglify-to-browserify": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz",
@@ -10379,6 +14936,11 @@
"resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-0.4.6.tgz",
"integrity": "sha1-uVH0q7a9YX5m9j64kUmOORdj4wk=",
"dev": true,
+ "requires": {
+ "source-map": "0.5.7",
+ "uglify-js": "2.8.29",
+ "webpack-sources": "1.1.0"
+ },
"dependencies": {
"source-map": {
"version": "0.5.7",
@@ -10392,7 +14954,10 @@
"version": "2.1.4",
"resolved": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.4.tgz",
"integrity": "sha1-Otbzg2jG1MjHXsF2I/t5qh0HHYE=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "random-bytes": "1.0.0"
+ }
},
"ultron": {
"version": "1.1.1",
@@ -10416,31 +14981,59 @@
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/unherit/-/unherit-1.1.0.tgz",
"integrity": "sha1-a5qu379z3xdWrZ4xbdmBiFhAzX0=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "inherits": "2.0.3",
+ "xtend": "4.0.1"
+ }
},
"unified": {
"version": "6.1.6",
"resolved": "https://registry.npmjs.org/unified/-/unified-6.1.6.tgz",
"integrity": "sha512-pW2f82bCIo2ifuIGYcV12fL96kMMYgw7JKVEgh7ODlrM9rj6vXSY3BV+H6lCcv1ksxynFf582hwWLnA1qRFy4w==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "bail": "1.0.3",
+ "extend": "3.0.1",
+ "is-plain-obj": "1.1.0",
+ "trough": "1.0.2",
+ "vfile": "2.3.0",
+ "x-is-function": "1.0.4",
+ "x-is-string": "0.1.0"
+ }
},
"union-value": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz",
"integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=",
"dev": true,
+ "requires": {
+ "arr-union": "3.1.0",
+ "get-value": "2.0.6",
+ "is-extendable": "0.1.1",
+ "set-value": "0.4.3"
+ },
"dependencies": {
"extend-shallow": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "is-extendable": "0.1.1"
+ }
},
"set-value": {
"version": "0.4.3",
"resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz",
"integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "extend-shallow": "2.0.1",
+ "is-extendable": "0.1.1",
+ "is-plain-object": "2.0.4",
+ "to-object-path": "0.3.0"
+ }
}
}
},
@@ -10448,13 +15041,20 @@
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.2.1.tgz",
"integrity": "sha1-WqADz76Uxf+GbE59ZouxxNuts2k=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "json-stable-stringify": "1.0.1",
+ "through2-filter": "2.0.0"
+ }
},
"unist-builder": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/unist-builder/-/unist-builder-1.0.2.tgz",
"integrity": "sha1-jDuZA+9kvPsRfdfPal2Y/Bs7J7Y=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "object-assign": "4.1.1"
+ }
},
"unist-util-generated": {
"version": "1.1.1",
@@ -10472,7 +15072,10 @@
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/unist-util-modify-children/-/unist-util-modify-children-1.1.1.tgz",
"integrity": "sha1-ZtfmpEnm9nIguXarPLi166w55R0=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "array-iterate": "1.1.2"
+ }
},
"unist-util-position": {
"version": "3.0.0",
@@ -10484,7 +15087,10 @@
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-1.1.1.tgz",
"integrity": "sha1-WoXBVV/BugwQG4ZwfRXlD6TIcbs=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "unist-util-visit": "1.3.0"
+ }
},
"unist-util-stringify-position": {
"version": "1.1.1",
@@ -10496,7 +15102,10 @@
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-1.3.0.tgz",
"integrity": "sha512-9ntYcxPFtl44gnwXrQKZ5bMqXMY0ZHzUpqMFiU4zcc8mmf/jzYm8GhYgezuUlX4cJIM1zIDYaO6fG/fI+L6iiQ==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "unist-util-is": "2.1.1"
+ }
},
"unpipe": {
"version": "1.0.0",
@@ -10509,18 +15118,30 @@
"resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
"integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
"dev": true,
+ "requires": {
+ "has-value": "0.3.1",
+ "isobject": "3.0.1"
+ },
"dependencies": {
"has-value": {
"version": "0.3.1",
"resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
"integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
"dev": true,
+ "requires": {
+ "get-value": "2.0.6",
+ "has-values": "0.1.4",
+ "isobject": "2.1.0"
+ },
"dependencies": {
"isobject": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
"integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "isarray": "1.0.0"
+ }
}
}
},
@@ -10537,6 +15158,14 @@
"resolved": "https://registry.npmjs.org/unzip/-/unzip-0.1.11.tgz",
"integrity": "sha1-iXScY7BY19kNYZ+GuYqhU107l/A=",
"dev": true,
+ "requires": {
+ "binary": "0.3.0",
+ "fstream": "0.1.31",
+ "match-stream": "0.0.2",
+ "pullstream": "0.4.1",
+ "readable-stream": "1.0.34",
+ "setimmediate": "1.0.5"
+ },
"dependencies": {
"isarray": {
"version": "0.0.1",
@@ -10548,7 +15177,13 @@
"version": "1.0.34",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
"integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "0.0.1",
+ "string_decoder": "0.10.31"
+ }
},
"string_decoder": {
"version": "0.10.31",
@@ -10574,6 +15209,10 @@
"resolved": "https://registry.npmjs.org/url/-/url-0.10.3.tgz",
"integrity": "sha1-Ah5NnHcF8hu/N9A861h2dAJ3TGQ=",
"dev": true,
+ "requires": {
+ "punycode": "1.3.2",
+ "querystring": "0.2.0"
+ },
"dependencies": {
"punycode": {
"version": "1.3.2",
@@ -10588,6 +15227,10 @@
"resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.0.tgz",
"integrity": "sha512-ERuGxDiQ6Xw/agN4tuoCRbmwRuZP0cJ1lJxJubXr5Q/5cDa78+Dc4wfvtxzhzhkm5VvmW6Mf8EVj9SPGN4l8Lg==",
"dev": true,
+ "requires": {
+ "querystringify": "2.0.0",
+ "requires-port": "1.0.0"
+ },
"dependencies": {
"querystringify": {
"version": "2.0.0",
@@ -10601,7 +15244,10 @@
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/use/-/use-3.1.0.tgz",
"integrity": "sha512-6UJEQM/L+mzC3ZJNM56Q4DFGLX/evKGRg15UJHGB9X5j5Z3AFbgZvjUh2yq/UJUY4U5dh7Fal++XbNg1uzpRAw==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "kind-of": "6.0.2"
+ }
},
"user-home": {
"version": "1.1.1",
@@ -10614,6 +15260,10 @@
"resolved": "https://registry.npmjs.org/useragent/-/useragent-2.2.1.tgz",
"integrity": "sha1-z1k+9PLRdYdei7ZY6pLhik/QbY4=",
"dev": true,
+ "requires": {
+ "lru-cache": "2.2.4",
+ "tmp": "0.0.33"
+ },
"dependencies": {
"lru-cache": {
"version": "2.2.4",
@@ -10628,6 +15278,9 @@
"resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz",
"integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=",
"dev": true,
+ "requires": {
+ "inherits": "2.0.1"
+ },
"dependencies": {
"inherits": {
"version": "2.0.1",
@@ -10665,13 +15318,20 @@
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/v8flags/-/v8flags-2.1.1.tgz",
"integrity": "sha1-qrGh+jDUX4jdMhFIh1rALAtV5bQ=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "user-home": "1.1.1"
+ }
},
"validate-npm-package-license": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz",
"integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "spdx-correct": "3.0.0",
+ "spdx-expression-parse": "3.0.0"
+ }
},
"value-or-function": {
"version": "3.0.0",
@@ -10690,6 +15350,11 @@
"resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
"integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
"dev": true,
+ "requires": {
+ "assert-plus": "1.0.0",
+ "core-util-is": "1.0.2",
+ "extsprintf": "1.3.0"
+ },
"dependencies": {
"assert-plus": {
"version": "1.0.0",
@@ -10703,7 +15368,13 @@
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/vfile/-/vfile-2.3.0.tgz",
"integrity": "sha512-ASt4mBUHcTpMKD/l5Q+WJXNtshlWxOogYyGYYrg4lt/vuRjC1EFQtlAofL5VmtVNIZJzWYFJjzGWZ0Gw8pzW1w==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "is-buffer": "1.1.6",
+ "replace-ext": "1.0.0",
+ "unist-util-stringify-position": "1.1.1",
+ "vfile-message": "1.0.0"
+ }
},
"vfile-location": {
"version": "2.0.2",
@@ -10715,13 +15386,23 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-1.0.0.tgz",
"integrity": "sha512-HPREhzTOB/sNDc9/Mxf8w0FmHnThg5CRSJdR9VRFkD2riqYWs+fuXlj5z8mIpv2LrD7uU41+oPWFOL4Mjlf+dw==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "unist-util-stringify-position": "1.1.1"
+ }
},
"vfile-reporter": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/vfile-reporter/-/vfile-reporter-4.0.0.tgz",
"integrity": "sha1-6m8K4TQvSEFXOYXgX5QXNvJ96do=",
"dev": true,
+ "requires": {
+ "repeat-string": "1.6.1",
+ "string-width": "1.0.2",
+ "supports-color": "4.5.0",
+ "unist-util-stringify-position": "1.1.1",
+ "vfile-statistics": "1.1.0"
+ },
"dependencies": {
"has-flag": {
"version": "2.0.0",
@@ -10733,7 +15414,10 @@
"version": "4.5.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz",
"integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "has-flag": "2.0.0"
+ }
}
}
},
@@ -10759,25 +15443,64 @@
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.1.0.tgz",
"integrity": "sha1-Ah+cLPlR1rk5lDyJ617lrdT9kkw=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "clone": "2.1.2",
+ "clone-buffer": "1.0.0",
+ "clone-stats": "1.0.0",
+ "cloneable-readable": "1.1.2",
+ "remove-trailing-separator": "1.1.0",
+ "replace-ext": "1.0.0"
+ }
},
"vinyl-fs": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-3.0.2.tgz",
"integrity": "sha512-AUSFda1OukBwuLPBTbyuO4IRWgfXmqC4UTW0f8xrCa8Hkv9oyIU+NSqBlgfOLZRoUt7cHdo75hKQghCywpIyIw==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "fs-mkdirp-stream": "1.0.0",
+ "glob-stream": "6.1.0",
+ "graceful-fs": "4.1.11",
+ "is-valid-glob": "1.0.0",
+ "lazystream": "1.0.0",
+ "lead": "1.0.0",
+ "object.assign": "4.1.0",
+ "pumpify": "1.4.0",
+ "readable-stream": "2.3.6",
+ "remove-bom-buffer": "3.0.0",
+ "remove-bom-stream": "1.2.0",
+ "resolve-options": "1.1.0",
+ "through2": "2.0.3",
+ "to-through": "2.0.0",
+ "value-or-function": "3.0.0",
+ "vinyl": "2.1.0",
+ "vinyl-sourcemap": "1.1.0"
+ }
},
"vinyl-sourcemap": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/vinyl-sourcemap/-/vinyl-sourcemap-1.1.0.tgz",
"integrity": "sha1-kqgAWTo4cDqM2xHYswCtS+Y7PhY=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "append-buffer": "1.0.2",
+ "convert-source-map": "1.5.1",
+ "graceful-fs": "4.1.11",
+ "normalize-path": "2.1.1",
+ "now-and-later": "2.0.0",
+ "remove-bom-buffer": "3.0.0",
+ "vinyl": "2.1.0"
+ }
},
"vinyl-sourcemaps-apply": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz",
"integrity": "sha1-q2VJ1h0XLCsbh75cUI0jnI74dwU=",
"dev": true,
+ "requires": {
+ "source-map": "0.5.7"
+ },
"dependencies": {
"source-map": {
"version": "0.5.7",
@@ -10797,7 +15520,10 @@
"version": "0.0.4",
"resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz",
"integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "indexof": "0.0.1"
+ }
},
"void-elements": {
"version": "2.0.1",
@@ -10809,19 +15535,46 @@
"version": "2.3.13",
"resolved": "https://registry.npmjs.org/walk/-/walk-2.3.13.tgz",
"integrity": "sha512-78SMe7To9U7kqVhSoGho3GfspA089ZDBIj2f8jElg2hi6lUCoagtDJ8sSMFNlpAh5Ib8Jt1gQ6Y7gh9mzHtFng==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "foreachasync": "3.0.0"
+ }
},
"watchpack": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.5.0.tgz",
"integrity": "sha512-RSlipNQB1u48cq0wH/BNfCu1tD/cJ8ydFIkNYhp9o+3d+8unClkIovpW5qpFPgmL9OE48wfAnlZydXByWP82AA==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "chokidar": "2.0.3",
+ "graceful-fs": "4.1.11",
+ "neo-async": "2.5.1"
+ }
},
"webdriverio": {
"version": "3.4.0",
"resolved": "https://registry.npmjs.org/webdriverio/-/webdriverio-3.4.0.tgz",
"integrity": "sha1-2dTTwxNm8FPhCvZEsOqtXoc6t7U=",
"dev": true,
+ "requires": {
+ "archiver": "0.14.4",
+ "array.from": "0.2.0",
+ "co": "4.6.0",
+ "css-parse": "2.0.0",
+ "css-value": "0.0.1",
+ "deepmerge": "0.2.10",
+ "ejs": "2.5.9",
+ "glob": "5.0.15",
+ "inquirer": "0.8.5",
+ "is-generator": "1.0.3",
+ "optimist": "0.6.1",
+ "q": "1.3.0",
+ "request": "2.49.0",
+ "rgb2hex": "0.1.0",
+ "supports-color": "1.3.1",
+ "url": "0.10.3",
+ "wgxpath": "1.0.0"
+ },
"dependencies": {
"ansi-regex": {
"version": "1.1.1",
@@ -10857,7 +15610,10 @@
"version": "0.4.2",
"resolved": "https://registry.npmjs.org/boom/-/boom-0.4.2.tgz",
"integrity": "sha1-emNune1O/O+xnO9JR6PGffrukRs=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "hoek": "0.9.1"
+ }
},
"caseless": {
"version": "0.8.0",
@@ -10875,13 +15631,19 @@
"version": "0.0.7",
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-0.0.7.tgz",
"integrity": "sha1-ATfmV7qlp1QcV6w3rF/AfXO03B8=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "delayed-stream": "0.0.5"
+ }
},
"cryptiles": {
"version": "0.2.2",
"resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-0.2.2.tgz",
"integrity": "sha1-7ZH/HxetE9N0gohZT4pIoNJvMlw=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "boom": "0.4.2"
+ }
},
"delayed-stream": {
"version": "0.0.5",
@@ -10893,7 +15655,11 @@
"version": "1.7.0",
"resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz",
"integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "escape-string-regexp": "1.0.5",
+ "object-assign": "4.1.1"
+ }
},
"forever-agent": {
"version": "0.5.2",
@@ -10905,19 +15671,37 @@
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-0.1.4.tgz",
"integrity": "sha1-kavXiKupcCsaq/qLwBAxoqyeOxI=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "async": "0.9.2",
+ "combined-stream": "0.0.7",
+ "mime": "1.2.11"
+ }
},
"glob": {
"version": "5.0.15",
"resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
"integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "inflight": "1.0.6",
+ "inherits": "2.0.3",
+ "minimatch": "3.0.4",
+ "once": "1.4.0",
+ "path-is-absolute": "1.0.1"
+ }
},
"hawk": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/hawk/-/hawk-1.1.1.tgz",
"integrity": "sha1-h81JH5tG5OKurKM1QWdmiF0tHtk=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "boom": "0.4.2",
+ "cryptiles": "0.2.2",
+ "hoek": "0.9.1",
+ "sntp": "0.2.4"
+ }
},
"hoek": {
"version": "0.9.1",
@@ -10929,13 +15713,28 @@
"version": "0.10.1",
"resolved": "https://registry.npmjs.org/http-signature/-/http-signature-0.10.1.tgz",
"integrity": "sha1-T72sEyVZqoMjEh5UB3nAoBKyfmY=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "asn1": "0.1.11",
+ "assert-plus": "0.1.5",
+ "ctype": "0.5.3"
+ }
},
"inquirer": {
"version": "0.8.5",
"resolved": "https://registry.npmjs.org/inquirer/-/inquirer-0.8.5.tgz",
"integrity": "sha1-29dAz2yjtzEpamPOb22WGFHzNt8=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "ansi-regex": "1.1.1",
+ "chalk": "1.1.3",
+ "cli-width": "1.1.1",
+ "figures": "1.7.0",
+ "lodash": "3.10.1",
+ "readline2": "0.1.1",
+ "rx": "2.5.3",
+ "through": "2.3.8"
+ }
},
"lodash": {
"version": "3.10.1",
@@ -10977,13 +15776,34 @@
"version": "2.49.0",
"resolved": "https://registry.npmjs.org/request/-/request-2.49.0.tgz",
"integrity": "sha1-DU9jSNwzSAWbVT5Ntg/SR43mYqc=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "aws-sign2": "0.5.0",
+ "bl": "0.9.5",
+ "caseless": "0.8.0",
+ "combined-stream": "0.0.7",
+ "forever-agent": "0.5.2",
+ "form-data": "0.1.4",
+ "hawk": "1.1.1",
+ "http-signature": "0.10.1",
+ "json-stringify-safe": "5.0.1",
+ "mime-types": "1.0.2",
+ "node-uuid": "1.4.8",
+ "oauth-sign": "0.5.0",
+ "qs": "2.3.3",
+ "stringstream": "0.0.5",
+ "tough-cookie": "2.3.4",
+ "tunnel-agent": "0.4.3"
+ }
},
"sntp": {
"version": "0.2.4",
"resolved": "https://registry.npmjs.org/sntp/-/sntp-0.2.4.tgz",
"integrity": "sha1-+4hfGLDzqtGJ+CSGJTa87ux1CQA=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "hoek": "0.9.1"
+ }
},
"supports-color": {
"version": "1.3.1",
@@ -10998,6 +15818,30 @@
"resolved": "https://registry.npmjs.org/webpack/-/webpack-3.11.0.tgz",
"integrity": "sha512-3kOFejWqj5ISpJk4Qj/V7w98h9Vl52wak3CLiw/cDOfbVTq7FeoZ0SdoHHY9PYlHr50ZS42OfvzE2vB4nncKQg==",
"dev": true,
+ "requires": {
+ "acorn": "5.5.3",
+ "acorn-dynamic-import": "2.0.2",
+ "ajv": "6.2.0",
+ "ajv-keywords": "3.1.0",
+ "async": "2.6.0",
+ "enhanced-resolve": "3.4.1",
+ "escope": "3.6.0",
+ "interpret": "1.1.0",
+ "json-loader": "0.5.7",
+ "json5": "0.5.1",
+ "loader-runner": "2.3.0",
+ "loader-utils": "1.1.0",
+ "memory-fs": "0.4.1",
+ "mkdirp": "0.5.1",
+ "node-libs-browser": "2.1.0",
+ "source-map": "0.5.7",
+ "supports-color": "4.5.0",
+ "tapable": "0.2.8",
+ "uglifyjs-webpack-plugin": "0.4.6",
+ "watchpack": "1.5.0",
+ "webpack-sources": "1.1.0",
+ "yargs": "8.0.2"
+ },
"dependencies": {
"ajv-keywords": {
"version": "3.1.0",
@@ -11015,7 +15859,10 @@
"version": "2.6.0",
"resolved": "https://registry.npmjs.org/async/-/async-2.6.0.tgz",
"integrity": "sha512-xAfGg1/NTLBBKlHFmnd7PlmUW9KhVQIUuSrYem9xzFUZy13ScvtyGGejaae9iAVRiRq9+Cx7DPFaAAhCpyxyPw==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "lodash": "4.17.5"
+ }
},
"has-flag": {
"version": "2.0.0",
@@ -11033,19 +15880,31 @@
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz",
"integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11",
+ "parse-json": "2.2.0",
+ "pify": "2.3.0",
+ "strip-bom": "3.0.0"
+ }
},
"parse-json": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
"integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "error-ex": "1.3.1"
+ }
},
"path-type": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz",
"integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "pify": "2.3.0"
+ }
},
"pify": {
"version": "2.3.0",
@@ -11057,13 +15916,22 @@
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz",
"integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "load-json-file": "2.0.0",
+ "normalize-package-data": "2.4.0",
+ "path-type": "2.0.0"
+ }
},
"read-pkg-up": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz",
"integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "find-up": "2.1.0",
+ "read-pkg": "2.0.0"
+ }
},
"source-map": {
"version": "0.5.7",
@@ -11075,25 +15943,50 @@
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
"integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "is-fullwidth-code-point": "2.0.0",
+ "strip-ansi": "4.0.0"
+ }
},
"strip-ansi": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
"integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "ansi-regex": "3.0.0"
+ }
},
"supports-color": {
"version": "4.5.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz",
"integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "has-flag": "2.0.0"
+ }
},
"yargs": {
"version": "8.0.2",
"resolved": "https://registry.npmjs.org/yargs/-/yargs-8.0.2.tgz",
"integrity": "sha1-YpmpBVsc78lp/355wdkY3Osiw2A=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "camelcase": "4.1.0",
+ "cliui": "3.2.0",
+ "decamelize": "1.2.0",
+ "get-caller-file": "1.0.2",
+ "os-locale": "2.1.0",
+ "read-pkg-up": "2.0.0",
+ "require-directory": "2.1.1",
+ "require-main-filename": "1.0.1",
+ "set-blocking": "2.0.0",
+ "string-width": "2.1.1",
+ "which-module": "2.0.0",
+ "y18n": "3.2.1",
+ "yargs-parser": "7.0.0"
+ }
}
}
},
@@ -11102,6 +15995,10 @@
"resolved": "https://registry.npmjs.org/webpack-core/-/webpack-core-0.6.9.tgz",
"integrity": "sha1-/FcViMhVjad76e+23r3Fo7FyvcI=",
"dev": true,
+ "requires": {
+ "source-list-map": "0.1.8",
+ "source-map": "0.4.4"
+ },
"dependencies": {
"source-list-map": {
"version": "0.1.8",
@@ -11113,7 +16010,10 @@
"version": "0.4.4",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz",
"integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "amdefine": "1.0.1"
+ }
}
}
},
@@ -11122,6 +16022,13 @@
"resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-1.12.2.tgz",
"integrity": "sha512-FCrqPy1yy/sN6U/SaEZcHKRXGlqU0DUaEBL45jkUYoB8foVb6wCnbIJ1HKIx+qUFTW+3JpVcCJCxZ8VATL4e+A==",
"dev": true,
+ "requires": {
+ "memory-fs": "0.4.1",
+ "mime": "1.6.0",
+ "path-is-absolute": "1.0.1",
+ "range-parser": "1.0.3",
+ "time-stamp": "2.0.0"
+ },
"dependencies": {
"time-stamp": {
"version": "2.0.0",
@@ -11135,13 +16042,26 @@
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.1.0.tgz",
"integrity": "sha512-aqYp18kPphgoO5c/+NaUvEeACtZjMESmDChuD3NBciVpah3XpMEU9VAAtIaB1BsfJWWTSdv8Vv1m3T0aRk2dUw==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "source-list-map": "2.0.0",
+ "source-map": "0.6.1"
+ }
},
"webpack-stream": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/webpack-stream/-/webpack-stream-3.2.0.tgz",
"integrity": "sha1-Oh0WD7EdQXJ7fObzL3IkZPmLIYY=",
"dev": true,
+ "requires": {
+ "gulp-util": "3.0.8",
+ "lodash.clone": "4.5.0",
+ "lodash.some": "4.6.0",
+ "memory-fs": "0.3.0",
+ "through": "2.3.8",
+ "vinyl": "1.2.0",
+ "webpack": "1.15.0"
+ },
"dependencies": {
"acorn": {
"version": "3.3.0",
@@ -11153,13 +16073,20 @@
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz",
"integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "micromatch": "2.3.11",
+ "normalize-path": "2.1.1"
+ }
},
"arr-diff": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz",
"integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "arr-flatten": "1.1.0"
+ }
},
"array-unique": {
"version": "0.2.1",
@@ -11171,19 +16098,30 @@
"version": "1.8.5",
"resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz",
"integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "expand-range": "1.8.2",
+ "preserve": "0.2.0",
+ "repeat-element": "1.1.2"
+ }
},
"browserify-aes": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-0.4.0.tgz",
"integrity": "sha1-BnFJtmjfMcS1hTPgLQHoBthgjiw=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "inherits": "2.0.3"
+ }
},
"browserify-zlib": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz",
"integrity": "sha1-uzX4pRn2AOD6a4SFJByXnQFB+y0=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "pako": "0.2.9"
+ }
},
"camelcase": {
"version": "1.2.1",
@@ -11195,13 +16133,29 @@
"version": "1.7.0",
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz",
"integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "anymatch": "1.3.2",
+ "async-each": "1.0.1",
+ "fsevents": "1.2.2",
+ "glob-parent": "2.0.0",
+ "inherits": "2.0.3",
+ "is-binary-path": "1.0.1",
+ "is-glob": "2.0.1",
+ "path-is-absolute": "1.0.1",
+ "readdirp": "2.1.0"
+ }
},
"cliui": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz",
"integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "center-align": "0.1.3",
+ "right-align": "0.1.3",
+ "wordwrap": "0.0.2"
+ }
},
"clone": {
"version": "1.0.4",
@@ -11219,13 +16173,24 @@
"version": "3.3.0",
"resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.3.0.tgz",
"integrity": "sha1-ufx1u0oO1h3PHNXa6W6zDJw+UGw=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "browserify-aes": "0.4.0",
+ "pbkdf2-compat": "2.0.1",
+ "ripemd160": "0.2.0",
+ "sha.js": "2.2.6"
+ }
},
"enhanced-resolve": {
"version": "0.9.1",
"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-0.9.1.tgz",
"integrity": "sha1-TW5omzcl+GCQknzMhs2fFjW4ni4=",
"dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11",
+ "memory-fs": "0.2.0",
+ "tapable": "0.1.10"
+ },
"dependencies": {
"memory-fs": {
"version": "0.2.0",
@@ -11239,19 +16204,28 @@
"version": "0.1.5",
"resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz",
"integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "is-posix-bracket": "0.1.1"
+ }
},
"extglob": {
"version": "0.3.2",
"resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz",
"integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "is-extglob": "1.0.0"
+ }
},
"glob-parent": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
"integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "is-glob": "2.0.1"
+ }
},
"has-flag": {
"version": "1.0.0",
@@ -11281,19 +16255,31 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
"integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "is-extglob": "1.0.0"
+ }
},
"kind-of": {
"version": "3.2.2",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "is-buffer": "1.1.6"
+ }
},
"loader-utils": {
"version": "0.2.17",
"resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz",
"integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "big.js": "3.2.0",
+ "emojis-list": "2.1.0",
+ "json5": "0.5.1",
+ "object-assign": "4.1.1"
+ }
},
"lodash.clone": {
"version": "4.5.0",
@@ -11305,19 +16291,63 @@
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.3.0.tgz",
"integrity": "sha1-e8xrYp46Q+hx1+Kaymrop/FcuyA=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "errno": "0.1.7",
+ "readable-stream": "2.3.6"
+ }
},
"micromatch": {
"version": "2.3.11",
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz",
"integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "arr-diff": "2.0.0",
+ "array-unique": "0.2.1",
+ "braces": "1.8.5",
+ "expand-brackets": "0.1.5",
+ "extglob": "0.3.2",
+ "filename-regex": "2.0.1",
+ "is-extglob": "1.0.0",
+ "is-glob": "2.0.1",
+ "kind-of": "3.2.2",
+ "normalize-path": "2.1.1",
+ "object.omit": "2.0.1",
+ "parse-glob": "3.0.4",
+ "regex-cache": "0.4.4"
+ }
},
"node-libs-browser": {
"version": "0.7.0",
"resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-0.7.0.tgz",
"integrity": "sha1-PicsCBnjCJNeJmdECNevDhSRuDs=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "assert": "1.4.1",
+ "browserify-zlib": "0.1.4",
+ "buffer": "4.9.1",
+ "console-browserify": "1.1.0",
+ "constants-browserify": "1.0.0",
+ "crypto-browserify": "3.3.0",
+ "domain-browser": "1.2.0",
+ "events": "1.1.1",
+ "https-browserify": "0.0.1",
+ "os-browserify": "0.2.1",
+ "path-browserify": "0.0.0",
+ "process": "0.11.10",
+ "punycode": "1.4.1",
+ "querystring-es3": "0.2.1",
+ "readable-stream": "2.3.6",
+ "stream-browserify": "2.0.1",
+ "stream-http": "2.8.1",
+ "string_decoder": "0.10.31",
+ "timers-browserify": "2.0.10",
+ "tty-browserify": "0.0.0",
+ "url": "0.11.0",
+ "util": "0.10.3",
+ "vm-browserify": "0.0.4"
+ }
},
"os-browserify": {
"version": "0.2.1",
@@ -11365,7 +16395,10 @@
"version": "3.2.3",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
"integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "has-flag": "1.0.0"
+ }
},
"tapable": {
"version": "0.1.10",
@@ -11378,6 +16411,12 @@
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.7.5.tgz",
"integrity": "sha1-RhLAx7qu4rp8SH3kkErhIgefLKg=",
"dev": true,
+ "requires": {
+ "async": "0.2.10",
+ "source-map": "0.5.7",
+ "uglify-to-browserify": "1.0.2",
+ "yargs": "3.10.0"
+ },
"dependencies": {
"async": {
"version": "0.2.10",
@@ -11392,6 +16431,10 @@
"resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
"integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=",
"dev": true,
+ "requires": {
+ "punycode": "1.3.2",
+ "querystring": "0.2.0"
+ },
"dependencies": {
"punycode": {
"version": "1.3.2",
@@ -11405,13 +16448,23 @@
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz",
"integrity": "sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "clone": "1.0.4",
+ "clone-stats": "0.0.1",
+ "replace-ext": "0.0.1"
+ }
},
"watchpack": {
"version": "0.2.9",
"resolved": "https://registry.npmjs.org/watchpack/-/watchpack-0.2.9.tgz",
"integrity": "sha1-Yuqkq15bo1/fwBgnVibjwPXj+ws=",
"dev": true,
+ "requires": {
+ "async": "0.9.2",
+ "chokidar": "1.7.0",
+ "graceful-fs": "4.1.11"
+ },
"dependencies": {
"async": {
"version": "0.9.2",
@@ -11425,7 +16478,24 @@
"version": "1.15.0",
"resolved": "https://registry.npmjs.org/webpack/-/webpack-1.15.0.tgz",
"integrity": "sha1-T/MfU9sDM55VFkqdRo7gMklo/pg=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "acorn": "3.3.0",
+ "async": "1.5.2",
+ "clone": "1.0.4",
+ "enhanced-resolve": "0.9.1",
+ "interpret": "0.6.6",
+ "loader-utils": "0.2.17",
+ "memory-fs": "0.3.0",
+ "mkdirp": "0.5.1",
+ "node-libs-browser": "0.7.0",
+ "optimist": "0.6.1",
+ "supports-color": "3.2.3",
+ "tapable": "0.1.10",
+ "uglify-js": "2.7.5",
+ "watchpack": "0.2.9",
+ "webpack-core": "0.6.9"
+ }
},
"window-size": {
"version": "0.1.0",
@@ -11443,7 +16513,13 @@
"version": "3.10.0",
"resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz",
"integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "camelcase": "1.2.1",
+ "cliui": "2.1.0",
+ "decamelize": "1.2.0",
+ "window-size": "0.1.0"
+ }
}
}
},
@@ -11451,7 +16527,11 @@
"version": "0.7.0",
"resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.0.tgz",
"integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "http-parser-js": "0.4.11",
+ "websocket-extensions": "0.1.3"
+ }
},
"websocket-extensions": {
"version": "0.1.3",
@@ -11476,7 +16556,10 @@
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz",
"integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "isexe": "2.0.0"
+ }
},
"which-module": {
"version": "2.0.0",
@@ -11500,7 +16583,11 @@
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
"integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "string-width": "1.0.2",
+ "strip-ansi": "3.0.1"
+ }
},
"wrappy": {
"version": "1.0.2",
@@ -11512,13 +16599,21 @@
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz",
"integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "mkdirp": "0.5.1"
+ }
},
"ws": {
"version": "3.3.3",
"resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz",
"integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "async-limiter": "1.0.0",
+ "safe-buffer": "5.1.1",
+ "ultron": "1.1.1"
+ }
},
"x-is-function": {
"version": "1.0.4",
@@ -11532,6 +16627,12 @@
"integrity": "sha1-R0tQhlrzpJqcRlfwWs0UVFj3fYI=",
"dev": true
},
+ "xmlbuilder": {
+ "version": "8.2.2",
+ "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-8.2.2.tgz",
+ "integrity": "sha1-aSSGc0ELS6QuGmE2VR0pIjNap3M=",
+ "dev": true
+ },
"xmlhttprequest-ssl": {
"version": "1.5.5",
"resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz",
@@ -11571,7 +16672,10 @@
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz",
"integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "camelcase": "4.1.0"
+ }
},
"yeast": {
"version": "0.1.2",
@@ -11584,6 +16688,11 @@
"resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-0.5.2.tgz",
"integrity": "sha1-Mty8UG0Nq00hNyYlvX66rDwv/1Y=",
"dev": true,
+ "requires": {
+ "compress-commons": "0.2.9",
+ "lodash": "3.2.0",
+ "readable-stream": "1.0.34"
+ },
"dependencies": {
"isarray": {
"version": "0.0.1",
@@ -11601,7 +16710,13 @@
"version": "1.0.34",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
"integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "0.0.1",
+ "string_decoder": "0.10.31"
+ }
},
"string_decoder": {
"version": "0.10.31",
diff --git a/package.json b/package.json
index 5f767e847c4..6edb6b518f8 100644
--- a/package.json
+++ b/package.json
@@ -19,10 +19,12 @@
],
"globalVarName": "pbjs",
"author": "the prebid.js contributors",
- "contributors": [{
- "name": "AOL Platforms",
- "url": "http://www.aolplatforms.com/"
- }],
+ "contributors": [
+ {
+ "name": "AOL Platforms",
+ "url": "http://www.aolplatforms.com/"
+ }
+ ],
"license": "Apache-2.0",
"engines": {
"node": ">=4.0"
From 5261b7c0d1ae50aae332b925ff9607b46fee775b Mon Sep 17 00:00:00 2001
From: vzhukovsky
Date: Mon, 21 May 2018 16:14:44 +0300
Subject: [PATCH 170/171] Added passing consent string without GDPR applies
flag.
---
CHANGELOG | 3 +-
modules/aolAnalyticsAdapter.js | 44 ++++++++++++-------
modules/consentManagement.js | 2 +-
test/spec/modules/aolAnalyticsAdapter_spec.js | 41 +++++++++++++++++
4 files changed, 73 insertions(+), 17 deletions(-)
diff --git a/CHANGELOG b/CHANGELOG
index bcf929d926b..33e86f40244 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,6 +1,8 @@
AOL Prebid 2.11.0
----------------
Updated to Prebid 1.11.0
+Added GDPR support fo AOL analytics adapter.
+Added passing GDPR flag when consent string is not present.
AOL Prebid 2.10.0
@@ -12,7 +14,6 @@ AOL Prebid 2.9.0
----------------
Updated to Prebid 1.9.0
Added GDPR support for AOL adapter.
-Added passing GDPR flag when consent string is not present.
AOL Prebid 2.8.0
diff --git a/modules/aolAnalyticsAdapter.js b/modules/aolAnalyticsAdapter.js
index a44897fe001..f2f9442bc79 100644
--- a/modules/aolAnalyticsAdapter.js
+++ b/modules/aolAnalyticsAdapter.js
@@ -10,7 +10,7 @@ import adapter from 'src/AnalyticsAdapter';
import BIDDERS_IDS_MAP from 'modules/aolPartnersIds';
import * as utils from 'src/utils';
import events from 'src/events';
-import adaptermanager from 'src/adaptermanager';
+import { registerAnalyticsAdapter, gdprDataHandler } from 'src/adaptermanager';
import { auctionManager } from 'src/auctionManager';
const AUCTION_END = CONSTANTS.EVENTS.AUCTION_END;
@@ -33,7 +33,7 @@ const EVENTS = {
WIN: 2
};
-let baseSchemaTemplate = template`${'protocol'}://${'host'}/hbevent/${'tagversion'}/${'network'}/${'placement'}/${'site'}/${'eventid'}/hbeventts=${'hbeventts'};cors=yes`;
+let baseSchemaTemplate = template`${'protocol'}://${'host'}/hbevent/${'tagversion'}/${'network'}/${'placement'}/${'site'}/${'eventid'}/hbeventts=${'hbeventts'};cors=yes${'consentData'}`;
let auctionSchemaTemplate = template`;pubadid=${'pubadid'};hbauctionid=${'hbauctionid'};hbwinner=${'hbwinner'};hbprice=${'hbprice'}${'hbcur'}${'pubapi'};hbwinbidid=${'hbwinbidid'}`;
let winSchemaTemplate = template`;hbauctioneventts=${'hbauctioneventts'};pubadid=${'pubadid'};hbauctionid=${'hbauctionid'};hbwinner=${'hbwinner'};pubcpm=${'pubcpm'}${'hbdealid'};hbbidid=${'hbbidid'}`;
let bidderSchemaTemplate = template`;hbbidder=${'hbbidder'};hbbid=${'hbbid'};hbstatus=${'hbstatus'};hbtime=${'hbtime'}${'hbdealid'};hbbidid=${'hbbidid'}`;
@@ -169,7 +169,8 @@ let aolAnalyticsAdapter = Object.assign(adapter({
placement: aolParams.placement,
site: aolParams.pageId || 0,
eventid: eventId,
- hbeventts: Math.floor(Date.now() / 1000) // Unix timestamp in seconds.
+ hbeventts: Math.floor(Date.now() / 1000), // Unix timestamp in seconds.
+ consentData: this.formatConsentData()
};
},
@@ -210,29 +211,42 @@ let aolAnalyticsAdapter = Object.assign(adapter({
};
},
- buildEventUrl(event, adUnit) {
- let baseSchema, url;
+ formatConsentData() {
+ let consentData = gdprDataHandler.getConsentData();
- switch (event) {
- case EVENTS.AUCTION:
+ if (consentData && consentData.gdprApplies) {
+ let formattedData = ';gdpr=1';
+
+ if (consentData.consentString) {
+ formattedData += `;euconsent=${consentData.consentString}`
+ }
+
+ return formattedData;
+ }
- baseSchema = this.getBaseSchema(EVENTS.AUCTION, adUnit);
+ return '';
+ },
+
+ buildEventUrl(eventId, adUnit) {
+ let baseSchema = this.getBaseSchema(eventId, adUnit);
+ let url = baseSchemaTemplate(baseSchema);
+
+ switch (eventId) {
+ case EVENTS.AUCTION:
let auctionSchema = this.getAuctionSchema(adUnit);
adUnit.auctionParams = {
hbauctioneventts: baseSchema.hbeventts,
hbauctionid: auctionSchema.hbauctionid
};
- url = baseSchemaTemplate(baseSchema) + auctionSchemaTemplate(auctionSchema);
+ url += auctionSchemaTemplate(auctionSchema);
adUnit.bids.forEach(bid => {
- url = url + bidderSchemaTemplate(this.getBidderSchema(bid));
+ url += bidderSchemaTemplate(this.getBidderSchema(bid));
});
return url;
case EVENTS.WIN:
-
- baseSchema = this.getBaseSchema(EVENTS.WIN, adUnit);
let winSchema = this.getWinSchema(adUnit);
- url = baseSchemaTemplate(baseSchema) + winSchemaTemplate(winSchema);
+ url += winSchemaTemplate(winSchema);
return url;
}
},
@@ -261,7 +275,7 @@ function template(strings, ...keys) {
let dict = values[values.length - 1] || {};
let result = [strings[0]];
keys.forEach(function(key, i) {
- let value = Number.isInteger(key) ? values[key] : dict[key];
+ let value = utils.isInteger(key) ? values[key] : dict[key];
result.push(value, strings[i + 1]);
});
return result.join('');
@@ -348,7 +362,7 @@ function addAolParams(adUnit, adUnitsConf, bidsReceived) {
return adUnit;
}
-adaptermanager.registerAnalyticsAdapter({
+registerAnalyticsAdapter({
adapter: aolAnalyticsAdapter,
code: AOL_BIDDERS_CODES.aol
});
diff --git a/modules/consentManagement.js b/modules/consentManagement.js
index 09eb938f314..1a8a561d973 100644
--- a/modules/consentManagement.js
+++ b/modules/consentManagement.js
@@ -193,7 +193,7 @@ export function requestBidsHook(config, fn) {
* @param {object} consentObject required; object returned by CMP that contains user's consent choices
*/
function processCmpData(consentObject) {
- if (!utils.isPlainObject(consentObject) || !utils.isStr(consentObject.metadata) || consentObject.metadata === '') {
+ if (!utils.isPlainObject(consentObject)) {
cmpFailed(`CMP returned unexpected value during lookup process; returned value was (${consentObject}).`);
} else {
clearTimeout(timer);
diff --git a/test/spec/modules/aolAnalyticsAdapter_spec.js b/test/spec/modules/aolAnalyticsAdapter_spec.js
index fdb0306b459..653bfbb7905 100644
--- a/test/spec/modules/aolAnalyticsAdapter_spec.js
+++ b/test/spec/modules/aolAnalyticsAdapter_spec.js
@@ -15,6 +15,7 @@ import {
} from 'test/fixtures/fixturesAnalytics';
import * as utils from 'src/utils';
import aolAnalytics from 'modules/aolAnalyticsAdapter';
+import { gdprDataHandler } from 'src/adaptermanager';
const AUCTION_END = CONSTANTS.EVENTS.AUCTION_END;
const BID_WON = CONSTANTS.EVENTS.BID_WON;
@@ -1429,4 +1430,44 @@ describe('AOL analytics adapter', () => {
expect(aolAnalytics.formatAdIdWithExtension(adUnit)).to.equal(`${adUnit.code}-123legalSYMBOls|%:.-_&$56789EnD`);
});
});
+
+ describe('formatConsentData()', () => {
+ let getConsentDataStub;
+ beforeEach(() => {
+ getConsentDataStub = sinon.stub(gdprDataHandler, 'getConsentData')
+ });
+
+ afterEach(() => {
+ getConsentDataStub.restore();
+ });
+
+ it('should return empty string when consentData object is not present', () => {
+ getConsentDataStub.returns(null);
+ expect(aolAnalytics.formatConsentData()).to.equal('');
+ });
+
+ it('should return only formatted gdpr flag when gdprApplies equals true and consentString is not present', () => {
+ getConsentDataStub.returns({
+ consentString: null,
+ gdprApplies: true
+ });
+ expect(aolAnalytics.formatConsentData()).to.equal(';gdpr=1');
+ });
+
+ it('should return empty string when gdprApplies is present and consentRequired equals false', () => {
+ getConsentDataStub.returns({
+ consentString: 'consent-string',
+ gdprApplies: false
+ });
+ expect(aolAnalytics.formatConsentData()).to.equal('');
+ });
+
+ it('should return formatted string when gdprApplies is present and consentRequired equals true', () => {
+ getConsentDataStub.returns({
+ consentString: 'consent-test',
+ gdprApplies: true
+ });
+ expect(aolAnalytics.formatConsentData()).to.equal(';gdpr=1;euconsent=consent-test');
+ });
+ });
});
From befc4ea94c61748562ed407697176299d4ea693e Mon Sep 17 00:00:00 2001
From: vzhukovsky
Date: Tue, 22 May 2018 14:00:06 +0300
Subject: [PATCH 171/171] Removed unused mocha reporter.
---
karma.conf.maker.js | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/karma.conf.maker.js b/karma.conf.maker.js
index f91f870a420..ca9b75d76d1 100644
--- a/karma.conf.maker.js
+++ b/karma.conf.maker.js
@@ -39,8 +39,7 @@ function newPluginsArray(browserstack) {
'karma-sourcemap-loader',
'karma-spec-reporter',
'karma-junit-reporter',
- 'karma-webpack',
- 'karma-mocha-reporter'
+ 'karma-webpack'
];
if (browserstack) {
plugins.push('karma-browserstack-launcher');