Fixed failing samples

Updated uuid/webpack packages
Added froze on objects publicly exposed
Removed remaining while loops for actions/events processing
This commit is contained in:
Nicolas Dextraze 2017-04-16 12:51:17 -07:00
parent 56c2dee6d6
commit f7c13634cc
23 changed files with 363 additions and 411 deletions

View File

@ -45,11 +45,12 @@
"@types/node": "^6.0.47", "@types/node": "^6.0.47",
"long": "^3.2", "long": "^3.2",
"protobufjs": "^5.0", "protobufjs": "^5.0",
"uuid": "^2.0" "uuid": "^3.0.1",
"uuid-parse": "^1.0.0"
}, },
"devDependencies": { "devDependencies": {
"jsdoc": "^3.4.2", "jsdoc": "^3.4.2",
"nodeunit": "^0.10.2", "nodeunit": "^0.11.0",
"webpack": "^2.2.1" "webpack": "^2.4.1"
} }
} }

View File

@ -2,7 +2,7 @@ var esClient = require('../src/client'); // When running in 'eventstore-nod
// var esClient = require('eventstore-node'); // Otherwise // var esClient = require('eventstore-node'); // Otherwise
var uuid = require('uuid'); var uuid = require('uuid');
var esConnection = esClient.createConnection({}, {"hostname": "localhost", "port": 1113}); var esConnection = esClient.createConnection({}, {"host": "localhost", "port": 1113});
esConnection.connect(); esConnection.connect();
esConnection.once('connected', function (tcpEndPoint) { esConnection.once('connected', function (tcpEndPoint) {
console.log('Connected to eventstore at ' + tcpEndPoint.host + ":" + tcpEndPoint.port); console.log('Connected to eventstore at ' + tcpEndPoint.host + ":" + tcpEndPoint.port);

View File

@ -6,7 +6,7 @@ var esClient = require('../src/client'); // When running in 'eventstore-no
const credentialsForAllEventsStream = new esClient.UserCredentials("admin", "changeit"); const credentialsForAllEventsStream = new esClient.UserCredentials("admin", "changeit");
const resolveLinkTos = false; const resolveLinkTos = false;
var esConnection = esClient.createConnection({}, {"hostname": "localhost", "port": 1113}); var esConnection = esClient.createConnection({}, {"host": "localhost", "port": 1113});
esConnection.connect(); esConnection.connect();
esConnection.once('connected', function (tcpEndPoint) { esConnection.once('connected', function (tcpEndPoint) {
console.log('Connected to eventstore at ' + tcpEndPoint.host + ":" + tcpEndPoint.port); console.log('Connected to eventstore at ' + tcpEndPoint.host + ":" + tcpEndPoint.port);

View File

@ -6,7 +6,7 @@ var esClient = require('../src/client'); // When running in 'eventstore-no
const credentialsForAllEventsStream = new esClient.UserCredentials("admin", "changeit"); const credentialsForAllEventsStream = new esClient.UserCredentials("admin", "changeit");
var esConnection = esClient.createConnection({}, {"hostname": "localhost", "port": 1113}); var esConnection = esClient.createConnection({}, {"host": "localhost", "port": 1113});
esConnection.connect(); esConnection.connect();
esConnection.once('connected', function (tcpEndPoint) { esConnection.once('connected', function (tcpEndPoint) {
console.log('Connected to eventstore at ' + tcpEndPoint.host + ":" + tcpEndPoint.port); console.log('Connected to eventstore at ' + tcpEndPoint.host + ":" + tcpEndPoint.port);

View File

@ -6,10 +6,12 @@ const expectedVersion = {
noStream: -1, noStream: -1,
emptyStream: -1 emptyStream: -1
}; };
Object.freeze(expectedVersion);
const positions = { const positions = {
start: new results.Position(0, 0), start: new results.Position(0, 0),
end: new results.Position(-1, -1) end: new results.Position(-1, -1)
}; };
Object.freeze(positions);
/** /**
* Create an EventData object from JavaScript event/metadata that will be serialized as json * Create an EventData object from JavaScript event/metadata that will be serialized as json

View File

@ -1,5 +1,5 @@
var util = require('util'); var util = require('util');
var uuid = require('uuid'); var uuidParse = require('uuid-parse');
var TcpCommand = require('../systemData/tcpCommand'); var TcpCommand = require('../systemData/tcpCommand');
var InspectionDecision = require('../systemData/inspectionDecision'); var InspectionDecision = require('../systemData/inspectionDecision');
@ -26,7 +26,7 @@ util.inherits(AppendToStreamOperation, OperationBase);
AppendToStreamOperation.prototype._createRequestDto = function() { AppendToStreamOperation.prototype._createRequestDto = function() {
var dtos = this._events.map(function(ev) { var dtos = this._events.map(function(ev) {
var eventId = new Buffer(uuid.parse(ev.eventId)); var eventId = new Buffer(uuidParse.parse(ev.eventId));
return new ClientMessage.NewEvent({ return new ClientMessage.NewEvent({
event_id: eventId, event_type: ev.type, event_id: eventId, event_type: ev.type,
data_content_type: ev.isJson ? 1 : 0, metadata_content_type: 0, data_content_type: ev.isJson ? 1 : 0, metadata_content_type: 0,

View File

@ -1,5 +1,5 @@
var util = require('util'); var util = require('util');
var uuid = require('uuid'); var uuidParse = require('uuid-parse');
var SubscriptionOperation = require('./subscriptionOperation'); var SubscriptionOperation = require('./subscriptionOperation');
var ClientMessage = require('../messages/clientMessage'); var ClientMessage = require('../messages/clientMessage');
@ -88,7 +88,7 @@ ConnectToPersistentSubscriptionOperation.prototype.notifyEventsProcessed = funct
var dto = new ClientMessage.PersistentSubscriptionAckEvents({ var dto = new ClientMessage.PersistentSubscriptionAckEvents({
subscription_id: this._subscriptionId, subscription_id: this._subscriptionId,
processed_event_ids: processedEvents.map(function (x) { processed_event_ids: processedEvents.map(function (x) {
return new Buffer(uuid.parse(x)); return new Buffer(uuidParse.parse(x));
}) })
}); });
@ -106,7 +106,7 @@ ConnectToPersistentSubscriptionOperation.prototype.notifyEventsFailed = function
ensure.notNull(reason, "reason"); ensure.notNull(reason, "reason");
var dto = new ClientMessage.PersistentSubscriptionNakEvents( var dto = new ClientMessage.PersistentSubscriptionNakEvents(
this._subscriptionId, this._subscriptionId,
processedEvents.map(function(x) { return new Buffer(uuid.parse(x)); }), processedEvents.map(function(x) { return new Buffer(uuidParse.parse(x)); }),
reason, reason,
action); action);

View File

@ -244,21 +244,20 @@ SubscriptionOperation.prototype._executeAction = function(action) {
}; };
SubscriptionOperation.prototype._executeActions = function() { SubscriptionOperation.prototype._executeActions = function() {
//TODO: possible blocking loop for node.js
var action = this._actionQueue.shift(); var action = this._actionQueue.shift();
while (action) if (!action) {
{ this._actionExecuting = false;
try return;
{
action();
}
catch (err)
{
this._log.error(err, "Exception during executing user callback: %s.", err.message);
}
action = this._actionQueue.shift();
} }
this._actionExecuting = false; try
{
action();
}
catch (err)
{
this._log.error(err, "Exception during executing user callback: %s.", err.message);
}
setImmediate(this._executeActions.bind(this));
}; };
SubscriptionOperation.prototype.toString = function() { SubscriptionOperation.prototype.toString = function() {

View File

@ -1,5 +1,5 @@
var util = require('util'); var util = require('util');
var uuid = require('uuid'); var uuidParse = require('uuid-parse');
var TcpCommand = require('../systemData/tcpCommand'); var TcpCommand = require('../systemData/tcpCommand');
var InspectionDecision = require('../systemData/inspectionDecision'); var InspectionDecision = require('../systemData/inspectionDecision');
@ -22,7 +22,7 @@ util.inherits(TransactionalWriteOperation, OperationBase);
TransactionalWriteOperation.prototype._createRequestDto = function() { TransactionalWriteOperation.prototype._createRequestDto = function() {
var dtos = this._events.map(function(ev) { var dtos = this._events.map(function(ev) {
var eventId = new Buffer(uuid.parse(ev.eventId)); var eventId = new Buffer(uuidParse.parse(ev.eventId));
return new ClientMessage.NewEvent({ return new ClientMessage.NewEvent({
event_id: eventId, event_type: ev.type, event_id: eventId, event_type: ev.type,
data_content_type: ev.isJson ? 1 : 0, metadata_content_type: 0, data_content_type: ev.isJson ? 1 : 0, metadata_content_type: 0,

View File

@ -12,5 +12,6 @@ const SystemMetadata = {
userStreamAcl: '$userStreamAcl', userStreamAcl: '$userStreamAcl',
systemStreamAcl: '$systemStreamAcl' systemStreamAcl: '$systemStreamAcl'
}; };
Object.freeze(SystemMetadata);
module.exports = SystemMetadata; module.exports = SystemMetadata;

View File

@ -8,11 +8,13 @@ function AccessDeniedError(action, streamOrTransactionId) {
if (typeof streamOrTransactionId === 'string') { if (typeof streamOrTransactionId === 'string') {
this.message = util.format("%s access denied for stream '%s'.", action, streamOrTransactionId); this.message = util.format("%s access denied for stream '%s'.", action, streamOrTransactionId);
this.stream = streamOrTransactionId; this.stream = streamOrTransactionId;
Object.freeze(this);
return; return;
} }
if (Long.isLong(streamOrTransactionId)) { if (Long.isLong(streamOrTransactionId)) {
this.message = util.format("%s access denied for transaction %s.", action, streamOrTransactionId); this.message = util.format("%s access denied for transaction %s.", action, streamOrTransactionId);
this.transactionId = streamOrTransactionId; this.transactionId = streamOrTransactionId;
Object.freeze(this);
return; return;
} }
throw new TypeError("second argument must be a stream name or transaction Id."); throw new TypeError("second argument must be a stream name or transaction Id.");

View File

@ -7,11 +7,13 @@ function StreamDeletedError(streamOrTransactionId) {
if (typeof streamOrTransactionId === 'string') { if (typeof streamOrTransactionId === 'string') {
this.message = util.format("Event stream '%s' is deleted.", streamOrTransactionId); this.message = util.format("Event stream '%s' is deleted.", streamOrTransactionId);
this.stream = streamOrTransactionId; this.stream = streamOrTransactionId;
Object.freeze(this);
return; return;
} }
if (Long.isLong(streamOrTransactionId)) { if (Long.isLong(streamOrTransactionId)) {
this.message = util.format("Stream is deleted for transaction %s.", streamOrTransactionId); this.message = util.format("Stream is deleted for transaction %s.", streamOrTransactionId);
this.transactionId = streamOrTransactionId; this.transactionId = streamOrTransactionId;
Object.freeze(this);
return; return;
} }
throw new TypeError("second argument must be a stream name or transaction Id."); throw new TypeError("second argument must be a stream name or transaction Id.");

View File

@ -9,11 +9,13 @@ function WrongExpectedVersionError(action, streamOrTransactionId, expectedVersio
this.message = util.format("%s failed due to WrongExpectedVersion. Stream: %s Expected version: %d.", action, streamOrTransactionId, expectedVersion); this.message = util.format("%s failed due to WrongExpectedVersion. Stream: %s Expected version: %d.", action, streamOrTransactionId, expectedVersion);
this.stream = streamOrTransactionId; this.stream = streamOrTransactionId;
this.expectedVersion = expectedVersion; this.expectedVersion = expectedVersion;
Object.freeze(this);
return; return;
} }
if (Long.isLong(streamOrTransactionId)) { if (Long.isLong(streamOrTransactionId)) {
this.message = util.format("%s transaction failed due to WrongExpectedVersion. Transaction Id: %s.", action, streamOrTransactionId); this.message = util.format("%s transaction failed due to WrongExpectedVersion. Transaction Id: %s.", action, streamOrTransactionId);
this.transactionId = streamOrTransactionId; this.transactionId = streamOrTransactionId;
Object.freeze(this);
return; return;
} }
throw new TypeError("second argument must be a stream name or a transaction Id."); throw new TypeError("second argument must be a stream name or a transaction Id.");

View File

@ -1,13 +1,9 @@
var uuid = require('uuid'); var uuid = require('uuid');
const uuidRegex = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
function isValidId(id) { function isValidId(id) {
if (typeof id !== 'string') return false; if (typeof id !== 'string') return false;
var buf = uuid.parse(id); return uuidRegex.test(id);
var valid = false;
for(var i=0;i<buf.length;i++)
if (buf[i] !== 0)
valid = true;
return valid;
} }
/** /**
@ -32,6 +28,7 @@ function EventData(eventId, type, isJson, data, metadata) {
this.isJson = isJson || false; this.isJson = isJson || false;
this.data = data || new Buffer(0); this.data = data || new Buffer(0);
this.metadata = metadata || new Buffer(0); this.metadata = metadata || new Buffer(0);
Object.freeze(this);
} }
module.exports = EventData; module.exports = EventData;

View File

@ -209,26 +209,25 @@ EventStoreCatchUpSubscription.prototype._ensureProcessingPushQueue = function()
EventStoreCatchUpSubscription.prototype._processLiveQueue = function() { EventStoreCatchUpSubscription.prototype._processLiveQueue = function() {
var ev = this._liveQueue.shift(); var ev = this._liveQueue.shift();
//TODO: possible blocking while, use when if (!ev) {
while(ev) { this._isProcessing = false;
if (ev instanceof DropSubscriptionEvent) { return;
if (!this._dropData) this._dropData = {reason: SubscriptionDropReason.Unknown, error: new Error("Drop reason not specified.")};
this._dropSubscription(this._dropData.reason, this._dropData.error);
this._isProcessing = false;
return;
}
try {
this._tryProcess(ev);
}
catch(err) {
this._dropSubscription(SubscriptionDropReason.EventHandlerException, err);
return;
}
ev = this._liveQueue.shift();
} }
if (ev instanceof DropSubscriptionEvent) {
this._isProcessing = false; if (!this._dropData) this._dropData = {reason: SubscriptionDropReason.Unknown, error: new Error("Drop reason not specified.")};
this._dropSubscription(this._dropData.reason, this._dropData.error);
this._isProcessing = false;
return;
}
try {
this._tryProcess(ev);
}
catch(err) {
this._dropSubscription(SubscriptionDropReason.EventHandlerException, err);
this._isProcessing = false;
return;
}
setImmediate(this._processLiveQueue.bind(this));
}; };
EventStoreCatchUpSubscription.prototype._dropSubscription = function(reason, error) { EventStoreCatchUpSubscription.prototype._dropSubscription = function(reason, error) {

View File

@ -111,42 +111,43 @@ EventStorePersistentSubscriptionBase.prototype._enqueue = function(resolvedEvent
}; };
EventStorePersistentSubscriptionBase.prototype._processQueue = function() { EventStorePersistentSubscriptionBase.prototype._processQueue = function() {
//do var ev = this._queue.shift();
//{ if (!ev) {
var e = this._queue.shift();
while (e)
{
if (e instanceof DropSubscriptionEvent) // drop subscription artificial ResolvedEvent
{
if (this._dropData === null) throw new Error("Drop reason not specified.");
this._dropSubscription(this._dropData.reason, this._dropData.error);
return;
}
if (this._dropData !== null)
{
this._dropSubscription(this._dropData.reason, this._dropData.error);
return;
}
try
{
this._eventAppeared(this, e);
if(this._autoAck)
this._subscription.notifyEventsProcessed([e.originalEvent.eventId]);
if (this._verbose)
this._log.debug("Persistent Subscription to %s: processed event (%s, %d, %s @ %d).",
this._streamId, e.originalEvent.eventStreamId, e.originalEvent.eventNumber, e.originalEvent.eventType,
e.originalEventNumber);
}
catch (err)
{
//TODO GFY should we autonak here?
this._dropSubscription(SubscriptionDropReason.EventHandlerException, err);
return;
}
e = this._queue.shift();
}
this._isProcessing = false; this._isProcessing = false;
//} while (_queue.Count > 0 && Interlocked.CompareExchange(ref _isProcessing, 1, 0) === 0); return;
}
if (ev instanceof DropSubscriptionEvent) // drop subscription artificial ResolvedEvent
{
if (this._dropData === null) throw new Error("Drop reason not specified.");
this._dropSubscription(this._dropData.reason, this._dropData.error);
this._isProcessing = false;
return;
}
if (this._dropData !== null)
{
this._dropSubscription(this._dropData.reason, this._dropData.error);
this._isProcessing = false;
return;
}
try
{
this._eventAppeared(this, ev);
if(this._autoAck)
this._subscription.notifyEventsProcessed([ev.originalEvent.eventId]);
if (this._verbose)
this._log.debug("Persistent Subscription to %s: processed event (%s, %d, %s @ %d).",
this._streamId, ev.originalEvent.eventStreamId, ev.originalEvent.eventNumber, ev.originalEvent.eventType,
ev.originalEventNumber);
}
catch (err)
{
//TODO GFY should we autonak here?
this._dropSubscription(SubscriptionDropReason.EventHandlerException, err);
this._isProcessing = false;
return;
}
setImmediate(this._processQueue.bind(this));
}; };
EventStorePersistentSubscriptionBase.prototype._dropSubscription = function(reason, error) { EventStorePersistentSubscriptionBase.prototype._dropSubscription = function(reason, error) {

View File

@ -1,13 +1,6 @@
module.exports = function GossipSeed(endPoint, hostName) { module.exports = function GossipSeed(endPoint, hostName) {
if (typeof endPoint !== 'object' || !endPoint.host || !endPoint.port) throw new TypeError('endPoint must be have host and port properties.'); if (typeof endPoint !== 'object' || !endPoint.host || !endPoint.port) throw new TypeError('endPoint must be have host and port properties.');
Object.defineProperties(this, { this.endPoint = endPoint;
endPoint: { this.hostName = hostName;
enumerable: true, Object.freeze(this);
value: endPoint
},
hostName: {
enumerable: true,
value: hostName
}
});
}; };

View File

@ -1,5 +1,5 @@
var util = require('util'); var util = require('util');
var uuid = require('uuid'); var uuidParse = require('uuid-parse');
var Long = require('long'); var Long = require('long');
var ensure = require('./common/utils/ensure'); var ensure = require('./common/utils/ensure');
@ -14,17 +14,9 @@ var ensure = require('./common/utils/ensure');
function Position(commitPosition, preparePosition) { function Position(commitPosition, preparePosition) {
ensure.notNull(commitPosition, "commitPosition"); ensure.notNull(commitPosition, "commitPosition");
ensure.notNull(preparePosition, "preparePosition"); ensure.notNull(preparePosition, "preparePosition");
commitPosition = Long.fromValue(commitPosition); this.commitPosition = Long.fromValue(commitPosition);
preparePosition = Long.fromValue(preparePosition); this.preparePosition = Long.fromValue(preparePosition);
Object.freeze(this);
Object.defineProperties(this, {
commitPosition: {
enumerable: true, value: commitPosition
},
preparePosition: {
enumerable: true, value: preparePosition
}
});
} }
Position.prototype.compareTo = function(other) { Position.prototype.compareTo = function(other) {
@ -46,6 +38,7 @@ const EventReadStatus = {
NoStream: 'noStream', NoStream: 'noStream',
StreamDeleted: 'streamDeleted' StreamDeleted: 'streamDeleted'
}; };
Object.freeze(EventReadStatus);
/** /**
* @param {object} ev * @param {object} ev
@ -60,18 +53,16 @@ const EventReadStatus = {
* @property {boolean} isJson * @property {boolean} isJson
*/ */
function RecordedEvent(ev) { function RecordedEvent(ev) {
Object.defineProperties(this, { this.eventStreamId = ev.event_stream_id;
eventStreamId: {enumerable: true, value: ev.event_stream_id}, this.eventId = uuidParse.unparse(ev.event_id.buffer, ev.event_id.offset);
eventId: {enumerable: true, value: uuid.unparse(ev.event_id.buffer, ev.event_id.offset)}, this.eventNumber = ev.event_number;
eventNumber: {enumerable: true, value: ev.event_number}, this.eventType = ev.event_type;
eventType: {enumerable: true, value: ev.event_type}, this.created = new Date(ev.created_epoch ? ev.created_epoch.toNumber() : 0);
//Javascript doesn't have .Net precision for time, so we use created_epoch for created this.createdEpoch = ev.created_epoch ? ev.created_epoch.toNumber() : 0;
created: {enumerable: true, value: new Date(ev.created_epoch ? ev.created_epoch.toNumber() : 0)}, this.data = ev.data ? ev.data.toBuffer() : new Buffer(0);
createdEpoch: {enumerable: true, value: ev.created_epoch ? ev.created_epoch.toNumber() : 0}, this.metadata = ev.metadata ? ev.metadata.toBuffer() : new Buffer(0);
data: {enumerable: true, value: ev.data ? ev.data.toBuffer() : new Buffer(0)}, this.isJson = ev.data_content_type === 1;
metadata: {enumerable: true, value: ev.metadata ? ev.metadata.toBuffer() : new Buffer(0)}, Object.freeze(this);
isJson: {enumerable: true, value: ev.data_content_type === 1}
});
} }
/** /**
@ -86,44 +77,14 @@ function RecordedEvent(ev) {
* @property {number} originalEventNumber * @property {number} originalEventNumber
*/ */
function ResolvedEvent(ev) { function ResolvedEvent(ev) {
Object.defineProperties(this, { this.event = ev.event === null ? null : new RecordedEvent(ev.event);
event: { this.link = ev.link === null ? null : new RecordedEvent(ev.link);
enumerable: true, this.originalEvent = this.link || this.event;
value: ev.event === null ? null : new RecordedEvent(ev.event) this.isResolved = this.link !== null && this.event !== null;
}, this.originalPosition = (ev.commit_position && ev.prepare_position) ? new Position(ev.commit_position, ev.prepare_position) : null;
link: { this.originalStreamId = this.originalEvent && this.originalEvent.eventStreamId;
enumerable: true, this.originalEventNumber = this.originalEvent && this.originalEvent.eventNumber;
value: ev.link === null ? null : new RecordedEvent(ev.link) Object.freeze(this);
},
originalEvent: {
enumerable: true,
get: function() {
return this.link || this.event;
}
},
isResolved: {
enumerable: true,
get: function() {
return this.link !== null && this.event !== null;
}
},
originalPosition: {
enumerable: true,
value: (ev.commit_position && ev.prepare_position) ? new Position(ev.commit_position, ev.prepare_position) : null
},
originalStreamId: {
enumerable: true,
get: function() {
return this.originalEvent.eventStreamId;
}
},
originalEventNumber: {
enumerable: true,
get: function() {
return this.originalEvent.eventNumber;
}
}
});
} }
/** /**
@ -139,14 +100,11 @@ function ResolvedEvent(ev) {
* @property {ResolvedEvent} event * @property {ResolvedEvent} event
*/ */
function EventReadResult(status, stream, eventNumber, event) { function EventReadResult(status, stream, eventNumber, event) {
Object.defineProperties(this, { this.status = status;
status: {enumerable: true, value: status}, this.stream = stream;
stream: {enumerable: true, value: stream}, this.eventNumber = eventNumber;
eventNumber: {enumerable: true, value: eventNumber}, this.event = status === EventReadStatus.Success ? new ResolvedEvent(event) : null;
event: { Object.freeze(this);
enumerable: true, value: status === EventReadStatus.Success ? new ResolvedEvent(event) : null
}
});
} }
/** /**
@ -157,14 +115,9 @@ function EventReadResult(status, stream, eventNumber, event) {
* @property {Position} logPosition * @property {Position} logPosition
*/ */
function WriteResult(nextExpectedVersion, logPosition) { function WriteResult(nextExpectedVersion, logPosition) {
Object.defineProperties(this, { this.nextExpectedVersion = nextExpectedVersion;
nextExpectedVersion: { this.logPosition = logPosition;
enumerable: true, value: nextExpectedVersion Object.freeze(this);
},
logPosition: {
enumerable: true, value: logPosition
}
});
} }
/** /**
@ -189,32 +142,15 @@ function WriteResult(nextExpectedVersion, logPosition) {
function StreamEventsSlice( function StreamEventsSlice(
status, stream, fromEventNumber, readDirection, events, nextEventNumber, lastEventNumber, isEndOfStream status, stream, fromEventNumber, readDirection, events, nextEventNumber, lastEventNumber, isEndOfStream
) { ) {
Object.defineProperties(this, { this.status = status;
status: { this.stream = stream;
enumerable: true, value: status this.fromEventNumber = fromEventNumber;
}, this.readDirection = readDirection;
stream: { this.events = events ? events.map(function(ev) { return new ResolvedEvent(ev); }) : [];
enumerable: true, value: stream this.nextEventNumber = nextEventNumber;
}, this.lastEventNumber = lastEventNumber;
fromEventNumber: { this.isEndOfStream = isEndOfStream;
enumerable: true, value: fromEventNumber Object.freeze(this);
},
readDirection: {
enumerable: true, value: readDirection
},
events: {
enumerable: true, value: events ? events.map(function(ev) { return new ResolvedEvent(ev); }) : []
},
nextEventNumber: {
enumerable: true, value: nextEventNumber
},
lastEventNumber: {
enumerable: true, value: lastEventNumber
},
isEndOfStream: {
enumerable: true, value: isEndOfStream
}
})
} }
/** /**
@ -229,23 +165,12 @@ function StreamEventsSlice(
* @property {ResolvedEvent[]} events * @property {ResolvedEvent[]} events
*/ */
function AllEventsSlice(readDirection, fromPosition, nextPosition, events) { function AllEventsSlice(readDirection, fromPosition, nextPosition, events) {
Object.defineProperties(this, { this.readDirection = readDirection;
readDirection: { this.fromPosition = fromPosition;
enumerable: true, value: readDirection this.nextPosition = nextPosition;
}, this.events = events ? events.map(function(ev){ return new ResolvedEvent(ev); }) : [];
fromPosition: { this.isEndOfStream = events === null || events.length === 0;
enumerable: true, value: fromPosition Object.freeze(this);
},
nextPosition: {
enumerable: true, value: nextPosition
},
events: {
enumerable: true, value: events ? events.map(function(ev){ return new ResolvedEvent(ev); }) : []
},
isEndOfStream: {
enumerable: true, value: events === null || events.length === 0
}
});
} }
/** /**
@ -254,11 +179,8 @@ function AllEventsSlice(readDirection, fromPosition, nextPosition, events) {
* @property {Position} logPosition * @property {Position} logPosition
*/ */
function DeleteResult(logPosition) { function DeleteResult(logPosition) {
Object.defineProperties(this, { this.logPosition = logPosition;
logPosition: { Object.freeze(this);
enumerable: true, value: logPosition
}
});
} }
/** /**
@ -274,12 +196,11 @@ function DeleteResult(logPosition) {
*/ */
function RawStreamMetadataResult(stream, isStreamDeleted, metastreamVersion, streamMetadata) { function RawStreamMetadataResult(stream, isStreamDeleted, metastreamVersion, streamMetadata) {
ensure.notNullOrEmpty(stream); ensure.notNullOrEmpty(stream);
Object.defineProperties(this, { this.stream = stream;
stream: {enumerable: true, value: stream}, this.isStreamDeleted = isStreamDeleted;
isStreamDeleted: {enumerable: true, value: isStreamDeleted}, this.metastreamVersion = metastreamVersion;
metastreamVersion: {enumerable: true, value: metastreamVersion}, this.streamMetadata = streamMetadata;
streamMetadata: {enumerable: true, value: streamMetadata} Object.freeze(this);
});
} }
const PersistentSubscriptionCreateStatus = { const PersistentSubscriptionCreateStatus = {
@ -287,6 +208,7 @@ const PersistentSubscriptionCreateStatus = {
NotFound: 'notFound', NotFound: 'notFound',
Failure: 'failure' Failure: 'failure'
}; };
Object.freeze(PersistentSubscriptionCreateStatus);
/** /**
* @param {string} status * @param {string} status
@ -294,9 +216,8 @@ const PersistentSubscriptionCreateStatus = {
* @property {string} status * @property {string} status
*/ */
function PersistentSubscriptionCreateResult(status) { function PersistentSubscriptionCreateResult(status) {
Object.defineProperties(this, { this.status = status;
status: {enumerable: true, value: status} Object.freeze(this);
});
} }
const PersistentSubscriptionUpdateStatus = { const PersistentSubscriptionUpdateStatus = {
@ -305,6 +226,7 @@ const PersistentSubscriptionUpdateStatus = {
Failure: 'failure', Failure: 'failure',
AccessDenied: 'accessDenied' AccessDenied: 'accessDenied'
}; };
Object.freeze(PersistentSubscriptionUpdateStatus);
/** /**
* @param {string} status * @param {string} status
@ -312,15 +234,15 @@ const PersistentSubscriptionUpdateStatus = {
* @property {string} status * @property {string} status
*/ */
function PersistentSubscriptionUpdateResult(status) { function PersistentSubscriptionUpdateResult(status) {
Object.defineProperties(this, { this.status = status;
status: {enumerable: true, value: status} Object.freeze(this);
});
} }
const PersistentSubscriptionDeleteStatus = { const PersistentSubscriptionDeleteStatus = {
Success: 'success', Success: 'success',
Failure: 'failure' Failure: 'failure'
}; };
Object.freeze(PersistentSubscriptionDeleteStatus);
/** /**
* @param {string} status * @param {string} status
@ -328,9 +250,8 @@ const PersistentSubscriptionDeleteStatus = {
* @property {string} status * @property {string} status
*/ */
function PersistentSubscriptionDeleteResult(status) { function PersistentSubscriptionDeleteResult(status) {
Object.defineProperties(this, { this.status = status;
status: {enumerable: true, value: status} Object.freeze(this);
});
} }
// Exports Constructors // Exports Constructors

View File

@ -3,5 +3,6 @@ const SliceReadStatus = {
StreamNotFound: 'streamNotFound', StreamNotFound: 'streamNotFound',
StreamDeleted: 'streamDeleted' StreamDeleted: 'streamDeleted'
}; };
Object.freeze(SliceReadStatus);
module.exports = SliceReadStatus; module.exports = SliceReadStatus;

View File

@ -3,5 +3,6 @@ const SystemConsumerStrategies = {
RoundRobin: 'RoundRobin', RoundRobin: 'RoundRobin',
Pinned: 'Pinned' Pinned: 'Pinned'
}; };
Object.freeze(SystemConsumerStrategies);
module.exports = SystemConsumerStrategies; module.exports = SystemConsumerStrategies;

View File

@ -1,4 +1,4 @@
var uuid = require('uuid'); var uuidParse = require('uuid-parse');
var createBufferSegment = require('../common/bufferSegment'); var createBufferSegment = require('../common/bufferSegment');
var TcpFlags = require('./tcpFlags'); var TcpFlags = require('./tcpFlags');
@ -25,7 +25,7 @@ TcpPackage.fromBufferSegment = function(data) {
var command = data.buffer[data.offset + CommandOffset]; var command = data.buffer[data.offset + CommandOffset];
var flags = data.buffer[data.offset + FlagsOffset]; var flags = data.buffer[data.offset + FlagsOffset];
var correlationId = uuid.unparse(data.buffer, data.offset + CorrelationOffset); var correlationId = uuidParse.unparse(data.buffer, data.offset + CorrelationOffset);
var headerSize = MandatorySize; var headerSize = MandatorySize;
var login = null, pass = null; var login = null, pass = null;
@ -57,7 +57,7 @@ TcpPackage.prototype.asBuffer = function() {
var res = new Buffer(MandatorySize + 2 + loginBytes.length + passwordBytes.length + (this.data ? this.data.count : 0)); var res = new Buffer(MandatorySize + 2 + loginBytes.length + passwordBytes.length + (this.data ? this.data.count : 0));
res[CommandOffset] = this.command; res[CommandOffset] = this.command;
res[FlagsOffset] = this.flags; res[FlagsOffset] = this.flags;
uuid.parse(this.correlationId, res, CorrelationOffset); uuidParse.parse(this.correlationId, res, CorrelationOffset);
res[AuthOffset] = loginBytes.length; res[AuthOffset] = loginBytes.length;
loginBytes.copy(res, AuthOffset + 1); loginBytes.copy(res, AuthOffset + 1);
@ -72,7 +72,7 @@ TcpPackage.prototype.asBuffer = function() {
var res = new Buffer(MandatorySize + (this.data ? this.data.count : 0)); var res = new Buffer(MandatorySize + (this.data ? this.data.count : 0));
res[CommandOffset] = this.command; res[CommandOffset] = this.command;
res[FlagsOffset] = this.flags; res[FlagsOffset] = this.flags;
uuid.parse(this.correlationId, res, CorrelationOffset); uuidParse.parse(this.correlationId, res, CorrelationOffset);
if (this.data) if (this.data)
this.data.copyTo(res, AuthOffset); this.data.copyTo(res, AuthOffset);
return res; return res;

View File

@ -10,11 +10,9 @@ var ensure = require('../common/utils/ensure');
function UserCredentials(username, password) { function UserCredentials(username, password) {
ensure.notNullOrEmpty(username, 'username'); ensure.notNullOrEmpty(username, 'username');
ensure.notNullOrEmpty(password, 'password'); ensure.notNullOrEmpty(password, 'password');
this.username = username;
Object.defineProperties(this, { this.password = password;
username: {enumerable: true, value: username}, Object.freeze(this);
password: {enumerable: true, value: password}
});
} }
module.exports = UserCredentials; module.exports = UserCredentials;

362
yarn.lock
View File

@ -30,10 +30,14 @@ acorn@^3.0.4, acorn@^3.3.0:
version "3.3.0" version "3.3.0"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a" resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a"
acorn@^4.0.3, acorn@^4.0.4: acorn@^4.0.3:
version "4.0.11" version "4.0.11"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.11.tgz#edcda3bd937e7556410d42ed5860f67399c794c0" resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.11.tgz#edcda3bd937e7556410d42ed5860f67399c794c0"
acorn@^5.0.0:
version "5.0.3"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.0.3.tgz#c460df08491463f028ccb82eab3730bf01087b3d"
ajv-keywords@^1.1.1: ajv-keywords@^1.1.1:
version "1.5.1" version "1.5.1"
resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-1.5.1.tgz#314dd0a4b3368fad3dfcdc54ede6171b886daf3c" resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-1.5.1.tgz#314dd0a4b3368fad3dfcdc54ede6171b886daf3c"
@ -82,6 +86,10 @@ aproba@^1.0.3:
version "1.1.1" version "1.1.1"
resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.1.1.tgz#95d3600f07710aa0e9298c726ad5ecf2eacbabab" resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.1.1.tgz#95d3600f07710aa0e9298c726ad5ecf2eacbabab"
archy@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40"
are-we-there-yet@~1.1.2: are-we-there-yet@~1.1.2:
version "1.1.2" version "1.1.2"
resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.2.tgz#80e470e95a084794fe1899262c5667c6e88de1b3" resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.2.tgz#80e470e95a084794fe1899262c5667c6e88de1b3"
@ -150,7 +158,7 @@ async-each@^1.0.0:
version "1.0.1" version "1.0.1"
resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d"
async@^1.4.0, async@^1.4.2: async@^1.4.0:
version "1.5.2" version "1.5.2"
resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a"
@ -160,10 +168,6 @@ async@^2.1.2:
dependencies: dependencies:
lodash "^4.14.0" lodash "^4.14.0"
async@~0.2.6:
version "0.2.10"
resolved "https://registry.yarnpkg.com/async/-/async-0.2.10.tgz#b6bbe0b0674b9d719708ca38de8c237cb526c3d1"
asynckit@^0.4.0: asynckit@^0.4.0:
version "0.4.0" version "0.4.0"
resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
@ -269,6 +273,10 @@ binary-extensions@^1.0.0:
version "1.8.0" version "1.8.0"
resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.8.0.tgz#48ec8d16df4377eae5fa5884682480af4d95c774" resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.8.0.tgz#48ec8d16df4377eae5fa5884682480af4d95c774"
bind-obj-methods@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/bind-obj-methods/-/bind-obj-methods-1.0.0.tgz#4f5979cac15793adf70e488161e463e209ca509c"
block-stream@*: block-stream@*:
version "0.0.9" version "0.0.9"
resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a"
@ -610,13 +618,11 @@ date-now@^0.1.4:
version "0.1.4" version "0.1.4"
resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b" resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b"
debug@^2.1.3, debug@^2.2.0: debug-log@^1.0.1:
version "2.6.1" version "1.0.1"
resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.1.tgz#79855090ba2c4e3115cc7d8769491d58f0491351" resolved "https://registry.yarnpkg.com/debug-log/-/debug-log-1.0.1.tgz#2307632d4c04382b8df8a32f70b895046d52745f"
dependencies:
ms "0.7.2"
debug@~2.2.0: debug@^2.1.3, debug@^2.2.0, debug@~2.2.0:
version "2.2.0" version "2.2.0"
resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da" resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da"
dependencies: dependencies:
@ -683,6 +689,10 @@ ecc-jsbn@~0.1.1:
dependencies: dependencies:
jsbn "~0.1.0" jsbn "~0.1.0"
ejs@^2.5.2:
version "2.5.6"
resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.5.6.tgz#479636bfa3fe3b1debd52087f0acb204b4f19c88"
elliptic@^6.0.0: elliptic@^6.0.0:
version "6.4.0" version "6.4.0"
resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.4.0.tgz#cac9af8762c85836187003c8dfe193e5e2eae5df" resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.4.0.tgz#cac9af8762c85836187003c8dfe193e5e2eae5df"
@ -822,7 +832,7 @@ for-own@^0.1.4:
dependencies: dependencies:
for-in "^0.1.5" for-in "^0.1.5"
foreground-child@^1.3.3, foreground-child@^1.5.3, foreground-child@^1.5.6: foreground-child@^1.3.3, foreground-child@^1.5.3:
version "1.5.6" version "1.5.6"
resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-1.5.6.tgz#4fd71ad2dfde96789b980a5c0a295937cb2f5ce9" resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-1.5.6.tgz#4fd71ad2dfde96789b980a5c0a295937cb2f5ce9"
dependencies: dependencies:
@ -841,6 +851,10 @@ form-data@~2.1.1:
combined-stream "^1.0.5" combined-stream "^1.0.5"
mime-types "^2.1.12" mime-types "^2.1.12"
fs-exists-cached@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/fs-exists-cached/-/fs-exists-cached-1.0.0.tgz#cf25554ca050dc49ae6656b41de42258989dcbce"
fs.realpath@^1.0.0: fs.realpath@^1.0.0:
version "1.0.0" version "1.0.0"
resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
@ -869,6 +883,10 @@ fstream@^1.0.0, fstream@^1.0.2, fstream@~1.0.10:
mkdirp ">=0.5 0" mkdirp ">=0.5 0"
rimraf "2" rimraf "2"
function-loop@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/function-loop/-/function-loop-1.0.1.tgz#8076bb305e8e6a3cceee2920765f330d190f340c"
gauge@~2.7.1: gauge@~2.7.1:
version "2.7.3" version "2.7.3"
resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.3.tgz#1c23855f962f17b3ad3d0dc7443f304542edfe09" resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.3.tgz#1c23855f962f17b3ad3d0dc7443f304542edfe09"
@ -915,7 +933,7 @@ glob-parent@^2.0.0:
dependencies: dependencies:
is-glob "^2.0.0" is-glob "^2.0.0"
glob@^7.0.0, glob@^7.0.3, glob@^7.0.5: glob@^7.0.0, glob@^7.0.5, glob@^7.0.6:
version "7.1.1" version "7.1.1"
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8"
dependencies: dependencies:
@ -1168,51 +1186,49 @@ isstream@~0.1.2:
version "0.1.2" version "0.1.2"
resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
istanbul-lib-coverage@^1.0.0, istanbul-lib-coverage@^1.0.0-alpha, istanbul-lib-coverage@^1.0.0-alpha.0, istanbul-lib-coverage@^1.0.0-alpha.4: istanbul-lib-coverage@^1.0.2:
version "1.0.1" version "1.0.2"
resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-1.0.1.tgz#f263efb519c051c5f1f3343034fc40e7b43ff212" resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-1.0.2.tgz#87a0c015b6910651cb3b184814dfb339337e25e1"
istanbul-lib-hook@^1.0.0-alpha.4: istanbul-lib-hook@^1.0.5:
version "1.0.0" version "1.0.5"
resolved "https://registry.yarnpkg.com/istanbul-lib-hook/-/istanbul-lib-hook-1.0.0.tgz#fc5367ee27f59268e8f060b0c7aaf051d9c425c5" resolved "https://registry.yarnpkg.com/istanbul-lib-hook/-/istanbul-lib-hook-1.0.5.tgz#6ca3d16d60c5f4082da39f7c5cd38ea8a772b88e"
dependencies: dependencies:
append-transform "^0.4.0" append-transform "^0.4.0"
istanbul-lib-instrument@^1.1.0-alpha.3: istanbul-lib-instrument@^1.7.0:
version "1.4.2" version "1.7.0"
resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-1.4.2.tgz#0e2fdfac93c1dabf2e31578637dc78a19089f43e" resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-1.7.0.tgz#b8e0dc25709bb44e17336ab47b7bb5c97c23f659"
dependencies: dependencies:
babel-generator "^6.18.0" babel-generator "^6.18.0"
babel-template "^6.16.0" babel-template "^6.16.0"
babel-traverse "^6.18.0" babel-traverse "^6.18.0"
babel-types "^6.18.0" babel-types "^6.18.0"
babylon "^6.13.0" babylon "^6.13.0"
istanbul-lib-coverage "^1.0.0" istanbul-lib-coverage "^1.0.2"
semver "^5.3.0" semver "^5.3.0"
istanbul-lib-report@^1.0.0-alpha.3: istanbul-lib-report@^1.0.0:
version "1.0.0-alpha.3" version "1.0.0"
resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-1.0.0-alpha.3.tgz#32d5f6ec7f33ca3a602209e278b2e6ff143498af" resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-1.0.0.tgz#d83dac7f26566b521585569367fe84ccfc7aaecb"
dependencies: dependencies:
async "^1.4.2" istanbul-lib-coverage "^1.0.2"
istanbul-lib-coverage "^1.0.0-alpha"
mkdirp "^0.5.1" mkdirp "^0.5.1"
path-parse "^1.0.5" path-parse "^1.0.5"
rimraf "^2.4.3"
supports-color "^3.1.2" supports-color "^3.1.2"
istanbul-lib-source-maps@^1.0.0-alpha.10: istanbul-lib-source-maps@^1.1.1:
version "1.1.0" version "1.1.1"
resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.1.0.tgz#9d429218f35b823560ea300a96ff0c3bbdab785f" resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.1.1.tgz#f8c8c2e8f2160d1d91526d97e5bd63b2079af71c"
dependencies: dependencies:
istanbul-lib-coverage "^1.0.0-alpha.0" istanbul-lib-coverage "^1.0.2"
mkdirp "^0.5.1" mkdirp "^0.5.1"
rimraf "^2.4.4" rimraf "^2.4.4"
source-map "^0.5.3" source-map "^0.5.3"
istanbul-reports@^1.0.0-alpha.8: istanbul-reports@^1.0.2:
version "1.0.1" version "1.0.2"
resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-1.0.1.tgz#9a17176bc4a6cbebdae52b2f15961d52fa623fbc" resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-1.0.2.tgz#4e8366abe6fa746cc1cd6633f108de12cc6ac6fa"
dependencies: dependencies:
handlebars "^4.0.3" handlebars "^4.0.3"
@ -1287,7 +1303,7 @@ json-stringify-safe@~5.0.1:
version "5.0.1" version "5.0.1"
resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
json5@^0.5.0: json5@^0.5.0, json5@^0.5.1:
version "0.5.1" version "0.5.1"
resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821"
@ -1356,10 +1372,6 @@ loader-utils@^0.2.16:
json5 "^0.5.0" json5 "^0.5.0"
object-assign "^4.0.1" object-assign "^4.0.1"
lodash.assign@^4.0.3, lodash.assign@^4.0.6, lodash.assign@^4.0.9:
version "4.2.0"
resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-4.2.0.tgz#0d99f3ccd7a6d261d19bdaeb9245005d285808e7"
lodash@^4.14.0, lodash@^4.2.0: lodash@^4.14.0, lodash@^4.2.0:
version "4.17.4" version "4.17.4"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae"
@ -1410,7 +1422,13 @@ memory-fs@^0.4.0, memory-fs@~0.4.1:
errno "^0.1.3" errno "^0.1.3"
readable-stream "^2.0.1" readable-stream "^2.0.1"
micromatch@^2.1.5, micromatch@^2.3.11, micromatch@^2.3.8: merge-source-map@^1.0.2:
version "1.0.3"
resolved "https://registry.yarnpkg.com/merge-source-map/-/merge-source-map-1.0.3.tgz#da1415f2722a5119db07b14c4f973410863a2abf"
dependencies:
source-map "^0.5.3"
micromatch@^2.1.5, micromatch@^2.3.11:
version "2.3.11" version "2.3.11"
resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565"
dependencies: dependencies:
@ -1477,10 +1495,6 @@ ms@0.7.1:
version "0.7.1" version "0.7.1"
resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098" resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098"
ms@0.7.2:
version "0.7.2"
resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.2.tgz#ae25cf2512b3885a1d95d7f037868d8431124765"
nan@^2.3.0: nan@^2.3.0:
version "2.5.1" version "2.5.1"
resolved "https://registry.yarnpkg.com/nan/-/nan-2.5.1.tgz#d5b01691253326a97a2bbee9e61c55d8d60351e2" resolved "https://registry.yarnpkg.com/nan/-/nan-2.5.1.tgz#d5b01691253326a97a2bbee9e61c55d8d60351e2"
@ -1527,11 +1541,12 @@ node-pre-gyp@^0.6.29:
tar "~2.2.1" tar "~2.2.1"
tar-pack "~3.3.0" tar-pack "~3.3.0"
nodeunit@^0.10.2: nodeunit@^0.11.0:
version "0.10.2" version "0.11.0"
resolved "https://registry.yarnpkg.com/nodeunit/-/nodeunit-0.10.2.tgz#884201312e473a976420cf345476cc8debc4749f" resolved "https://registry.yarnpkg.com/nodeunit/-/nodeunit-0.11.0.tgz#5f57579e2a7f3286fd04937bfd5665070c4e015c"
dependencies: dependencies:
tap "^7.0.0" ejs "^2.5.2"
tap "^10.0.2"
nopt@~3.0.6: nopt@~3.0.6:
version "3.0.6" version "3.0.6"
@ -1565,35 +1580,37 @@ number-is-nan@^1.0.0:
version "1.0.1" version "1.0.1"
resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d"
nyc@^7.1.0: nyc@^10.0.0:
version "7.1.0" version "10.2.0"
resolved "https://registry.yarnpkg.com/nyc/-/nyc-7.1.0.tgz#8e14971f3a15d1abbec7ac610ef54cb889e9ffb4" resolved "https://registry.yarnpkg.com/nyc/-/nyc-10.2.0.tgz#facd90240600c9aa4dd81ea99c2fb6a85c53de0c"
dependencies: dependencies:
archy "^1.0.0"
arrify "^1.0.1" arrify "^1.0.1"
caching-transform "^1.0.0" caching-transform "^1.0.0"
convert-source-map "^1.3.0" convert-source-map "^1.3.0"
debug-log "^1.0.1"
default-require-extensions "^1.0.0" default-require-extensions "^1.0.0"
find-cache-dir "^0.1.1" find-cache-dir "^0.1.1"
find-up "^1.1.2" find-up "^1.1.2"
foreground-child "^1.5.3" foreground-child "^1.5.3"
glob "^7.0.3" glob "^7.0.6"
istanbul-lib-coverage "^1.0.0-alpha.4" istanbul-lib-coverage "^1.0.2"
istanbul-lib-hook "^1.0.0-alpha.4" istanbul-lib-hook "^1.0.5"
istanbul-lib-instrument "^1.1.0-alpha.3" istanbul-lib-instrument "^1.7.0"
istanbul-lib-report "^1.0.0-alpha.3" istanbul-lib-report "^1.0.0"
istanbul-lib-source-maps "^1.0.0-alpha.10" istanbul-lib-source-maps "^1.1.1"
istanbul-reports "^1.0.0-alpha.8" istanbul-reports "^1.0.2"
md5-hex "^1.2.0" md5-hex "^1.2.0"
merge-source-map "^1.0.2"
micromatch "^2.3.11" micromatch "^2.3.11"
mkdirp "^0.5.0" mkdirp "^0.5.0"
pkg-up "^1.0.0"
resolve-from "^2.0.0" resolve-from "^2.0.0"
rimraf "^2.5.4" rimraf "^2.5.4"
signal-exit "^3.0.0" signal-exit "^3.0.1"
spawn-wrap "^1.2.4" spawn-wrap "1.2.4"
test-exclude "^1.1.0" test-exclude "^4.0.0"
yargs "^4.8.1" yargs "^7.0.2"
yargs-parser "^2.4.1" yargs-parser "^4.0.2"
oauth-sign@~0.8.1: oauth-sign@~0.8.1:
version "0.8.2" version "0.8.2"
@ -1655,6 +1672,14 @@ os-locale@^1.4.0:
dependencies: dependencies:
lcid "^1.0.0" lcid "^1.0.0"
own-or-env@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/own-or-env/-/own-or-env-1.0.0.tgz#9ef920fc81e2e63cf59d41101258368cf4fca4fb"
own-or@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/own-or/-/own-or-1.0.0.tgz#4e877fbeda9a2ec8000fbc0bcae39645ee8bf8dc"
pako@~0.2.0: pako@~0.2.0:
version "0.2.9" version "0.2.9"
resolved "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75" resolved "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75"
@ -1736,12 +1761,6 @@ pkg-dir@^1.0.0:
dependencies: dependencies:
find-up "^1.0.0" find-up "^1.0.0"
pkg-up@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-1.0.0.tgz#3e08fb461525c4421624a33b9f7e6d0af5b05a26"
dependencies:
find-up "^1.0.0"
preserve@^0.2.0: preserve@^0.2.0:
version "0.2.0" version "0.2.0"
resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b"
@ -1943,7 +1962,7 @@ right-align@^0.1.1:
dependencies: dependencies:
align-text "^0.1.1" align-text "^0.1.1"
rimraf@2, rimraf@^2.3.3, rimraf@^2.4.3, rimraf@^2.4.4, rimraf@^2.5.4, rimraf@~2.5.1, rimraf@~2.5.4: rimraf@2, rimraf@^2.3.3, rimraf@^2.4.4, rimraf@^2.5.4, rimraf@~2.5.1, rimraf@~2.5.4:
version "2.5.4" version "2.5.4"
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.5.4.tgz#96800093cbf1a0c86bd95b4625467535c29dfa04" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.5.4.tgz#96800093cbf1a0c86bd95b4625467535c29dfa04"
dependencies: dependencies:
@ -1979,7 +1998,7 @@ signal-exit@^2.0.0:
version "2.1.2" version "2.1.2"
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-2.1.2.tgz#375879b1f92ebc3b334480d038dc546a6d558564" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-2.1.2.tgz#375879b1f92ebc3b334480d038dc546a6d558564"
signal-exit@^3.0.0: signal-exit@^3.0.0, signal-exit@^3.0.1:
version "3.0.2" version "3.0.2"
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d"
@ -1993,9 +2012,15 @@ sntp@1.x.x:
dependencies: dependencies:
hoek "2.x.x" hoek "2.x.x"
source-list-map@~0.1.7: source-list-map@^1.1.1:
version "0.1.8" version "1.1.1"
resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-0.1.8.tgz#c550b2ab5427f6b3f21f5afead88c4f5587b2106" resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-1.1.1.tgz#1a33ac210ca144d1e561f906ebccab5669ff4cb4"
source-map-support@^0.4.3:
version "0.4.14"
resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.14.tgz#9d4463772598b86271b4f523f6c1f4e02a7d6aef"
dependencies:
source-map "^0.5.6"
source-map@^0.4.4: source-map@^0.4.4:
version "0.4.4" version "0.4.4"
@ -2003,15 +2028,15 @@ source-map@^0.4.4:
dependencies: dependencies:
amdefine ">=0.0.4" amdefine ">=0.0.4"
source-map@^0.5.0, source-map@^0.5.3, source-map@~0.5.1, source-map@~0.5.3: source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6, source-map@~0.5.1, source-map@~0.5.3:
version "0.5.6" version "0.5.6"
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412"
spawn-wrap@^1.2.4: spawn-wrap@1.2.4:
version "1.3.4" version "1.2.4"
resolved "https://registry.yarnpkg.com/spawn-wrap/-/spawn-wrap-1.3.4.tgz#5d133070fef81cd26d8259acaa07fc1a86fd45dc" resolved "https://registry.yarnpkg.com/spawn-wrap/-/spawn-wrap-1.2.4.tgz#920eb211a769c093eebfbd5b0e7a5d2e68ab2e40"
dependencies: dependencies:
foreground-child "^1.5.6" foreground-child "^1.3.3"
mkdirp "^0.5.0" mkdirp "^0.5.0"
os-homedir "^1.0.1" os-homedir "^1.0.1"
rimraf "^2.3.3" rimraf "^2.3.3"
@ -2051,9 +2076,9 @@ sshpk@^1.7.0:
jsbn "~0.1.0" jsbn "~0.1.0"
tweetnacl "~0.14.0" tweetnacl "~0.14.0"
stack-utils@^0.4.0: stack-utils@^1.0.0:
version "0.4.0" version "1.0.0"
resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-0.4.0.tgz#940cb82fccfa84e8ff2f3fdf293fe78016beccd1" resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.0.tgz#2392cd8ddbd222492ed6c047960f7414b46c0f83"
stream-browserify@^2.0.1: stream-browserify@^2.0.1:
version "2.0.1" version "2.0.1"
@ -2118,9 +2143,9 @@ taffydb@2.6.2:
version "2.6.2" version "2.6.2"
resolved "https://registry.yarnpkg.com/taffydb/-/taffydb-2.6.2.tgz#7cbcb64b5a141b6a2efc2c5d2c67b4e150b2a268" resolved "https://registry.yarnpkg.com/taffydb/-/taffydb-2.6.2.tgz#7cbcb64b5a141b6a2efc2c5d2c67b4e150b2a268"
tap-mocha-reporter@^2.0.0: tap-mocha-reporter@^3.0.1:
version "2.0.1" version "3.0.3"
resolved "https://registry.yarnpkg.com/tap-mocha-reporter/-/tap-mocha-reporter-2.0.1.tgz#c70316173d6e3a16c58e1ba92d5d6cd8de58a12e" resolved "https://registry.yarnpkg.com/tap-mocha-reporter/-/tap-mocha-reporter-3.0.3.tgz#e5917fad3d9a70957f9b7c736e793beb87d7daf1"
dependencies: dependencies:
color-support "^1.1.0" color-support "^1.1.0"
debug "^2.1.3" debug "^2.1.3"
@ -2128,43 +2153,51 @@ tap-mocha-reporter@^2.0.0:
escape-string-regexp "^1.0.3" escape-string-regexp "^1.0.3"
glob "^7.0.5" glob "^7.0.5"
js-yaml "^3.3.1" js-yaml "^3.3.1"
tap-parser "^2.0.0" tap-parser "^5.1.0"
unicode-length "^1.0.0" unicode-length "^1.0.0"
optionalDependencies: optionalDependencies:
readable-stream "^2.1.5" readable-stream "^2.1.5"
tap-parser@^2.0.0, tap-parser@^2.2.0: tap-parser@^5.1.0, tap-parser@^5.3.1:
version "2.2.3" version "5.3.3"
resolved "https://registry.yarnpkg.com/tap-parser/-/tap-parser-2.2.3.tgz#ade6e96e37bfd38ce0f162da067f34034f068b01" resolved "https://registry.yarnpkg.com/tap-parser/-/tap-parser-5.3.3.tgz#53ec8a90f275d6fff43f169e56a679502a741185"
dependencies: dependencies:
events-to-array "^1.0.1" events-to-array "^1.0.1"
js-yaml "^3.2.7" js-yaml "^3.2.7"
optionalDependencies: optionalDependencies:
readable-stream "^2" readable-stream "^2"
tap@^7.0.0: tap@^10.0.2:
version "7.1.2" version "10.3.2"
resolved "https://registry.yarnpkg.com/tap/-/tap-7.1.2.tgz#dfac3ecf14ac8547bbad25bbd16cf2c3743f65cf" resolved "https://registry.yarnpkg.com/tap/-/tap-10.3.2.tgz#77982f08368d8b1803a3b0ab5fc300e1817f31e7"
dependencies: dependencies:
bind-obj-methods "^1.0.0"
bluebird "^3.3.1" bluebird "^3.3.1"
clean-yaml-object "^0.1.0" clean-yaml-object "^0.1.0"
color-support "^1.1.0" color-support "^1.1.0"
coveralls "^2.11.2" coveralls "^2.11.2"
deeper "^2.1.0" deeper "^2.1.0"
foreground-child "^1.3.3" foreground-child "^1.3.3"
fs-exists-cached "^1.0.0"
function-loop "^1.0.1"
glob "^7.0.0" glob "^7.0.0"
isexe "^1.0.0" isexe "^1.0.0"
js-yaml "^3.3.1" js-yaml "^3.3.1"
nyc "^7.1.0" nyc "^10.0.0"
only-shallow "^1.0.2" only-shallow "^1.0.2"
opener "^1.4.1" opener "^1.4.1"
os-homedir "1.0.1" os-homedir "1.0.1"
own-or "^1.0.0"
own-or-env "^1.0.0"
readable-stream "^2.0.2" readable-stream "^2.0.2"
signal-exit "^3.0.0" signal-exit "^3.0.0"
stack-utils "^0.4.0" source-map-support "^0.4.3"
tap-mocha-reporter "^2.0.0" stack-utils "^1.0.0"
tap-parser "^2.2.0" tap-mocha-reporter "^3.0.1"
tmatch "^2.0.1" tap-parser "^5.3.1"
tmatch "^3.0.0"
trivial-deferred "^1.0.1"
yapool "^1.0.0"
tapable@^0.2.5, tapable@~0.2.5: tapable@^0.2.5, tapable@~0.2.5:
version "0.2.6" version "0.2.6"
@ -2191,13 +2224,13 @@ tar@~2.2.1:
fstream "^1.0.2" fstream "^1.0.2"
inherits "2" inherits "2"
test-exclude@^1.1.0: test-exclude@^4.0.0:
version "1.1.0" version "4.0.3"
resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-1.1.0.tgz#f5ddd718927b12fd02f270a0aa939ceb6eea4151" resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-4.0.3.tgz#86a13ce3effcc60e6c90403cf31a27a60ac6c4e7"
dependencies: dependencies:
arrify "^1.0.1" arrify "^1.0.1"
lodash.assign "^4.0.9" micromatch "^2.3.11"
micromatch "^2.3.8" object-assign "^4.1.0"
read-pkg-up "^1.0.1" read-pkg-up "^1.0.1"
require-main-filename "^1.0.1" require-main-filename "^1.0.1"
@ -2207,9 +2240,9 @@ timers-browserify@^2.0.2:
dependencies: dependencies:
setimmediate "^1.0.4" setimmediate "^1.0.4"
tmatch@^2.0.1: tmatch@^3.0.0:
version "2.0.1" version "3.0.0"
resolved "https://registry.yarnpkg.com/tmatch/-/tmatch-2.0.1.tgz#0c56246f33f30da1b8d3d72895abaf16660f38cf" resolved "https://registry.yarnpkg.com/tmatch/-/tmatch-3.0.0.tgz#7d2071dedbbc587f194acda3067bd0747b670991"
to-arraybuffer@^1.0.0: to-arraybuffer@^1.0.0:
version "1.0.1" version "1.0.1"
@ -2229,6 +2262,10 @@ trim-right@^1.0.1:
version "1.0.1" version "1.0.1"
resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003"
trivial-deferred@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/trivial-deferred/-/trivial-deferred-1.0.1.tgz#376d4d29d951d6368a6f7a0ae85c2f4d5e0658f3"
tty-browserify@0.0.0: tty-browserify@0.0.0:
version "0.0.0" version "0.0.0"
resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6"
@ -2241,14 +2278,14 @@ tweetnacl@^0.14.3, tweetnacl@~0.14.0:
version "0.14.5" version "0.14.5"
resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"
uglify-js@^2.6, uglify-js@^2.7.5: uglify-js@^2.6, uglify-js@^2.8.5:
version "2.7.5" version "2.8.22"
resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.7.5.tgz#4612c0c7baaee2ba7c487de4904ae122079f2ca8" resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.22.tgz#d54934778a8da14903fa29a326fb24c0ab51a1a0"
dependencies: dependencies:
async "~0.2.6"
source-map "~0.5.1" source-map "~0.5.1"
uglify-to-browserify "~1.0.0"
yargs "~3.10.0" yargs "~3.10.0"
optionalDependencies:
uglify-to-browserify "~1.0.0"
uglify-to-browserify@~1.0.0: uglify-to-browserify@~1.0.0:
version "1.0.2" version "1.0.2"
@ -2296,11 +2333,11 @@ util@0.10.3, util@^0.10.3:
dependencies: dependencies:
inherits "2.0.1" inherits "2.0.1"
uuid@^2.0: uuid-parse@^1.0.0:
version "2.0.3" version "1.0.0"
resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.3.tgz#67e2e863797215530dff318e5bf9dcebfd47b21a" resolved "https://registry.yarnpkg.com/uuid-parse/-/uuid-parse-1.0.0.tgz#f4657717624b0e4b88af36f98d89589a5bbee569"
uuid@^3.0.0: uuid@^3.0.0, uuid@^3.0.1:
version "3.0.1" version "3.0.1"
resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.0.1.tgz#6544bba2dfda8c1cf17e629a3a305e2bb1fee6c1" resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.0.1.tgz#6544bba2dfda8c1cf17e629a3a305e2bb1fee6c1"
@ -2323,7 +2360,7 @@ vm-browserify@0.0.4:
dependencies: dependencies:
indexof "0.0.1" indexof "0.0.1"
watchpack@^1.2.0: watchpack@^1.3.1:
version "1.3.1" version "1.3.1"
resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.3.1.tgz#7d8693907b28ce6013e7f3610aa2a1acf07dad87" resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.3.1.tgz#7d8693907b28ce6013e7f3610aa2a1acf07dad87"
dependencies: dependencies:
@ -2331,18 +2368,18 @@ watchpack@^1.2.0:
chokidar "^1.4.3" chokidar "^1.4.3"
graceful-fs "^4.1.2" graceful-fs "^4.1.2"
webpack-sources@^0.1.4: webpack-sources@^0.2.3:
version "0.1.5" version "0.2.3"
resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-0.1.5.tgz#aa1f3abf0f0d74db7111c40e500b84f966640750" resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-0.2.3.tgz#17c62bfaf13c707f9d02c479e0dcdde8380697fb"
dependencies: dependencies:
source-list-map "~0.1.7" source-list-map "^1.1.1"
source-map "~0.5.3" source-map "~0.5.3"
webpack@^2.2.1: webpack@^2.4.1:
version "2.2.1" version "2.4.1"
resolved "https://registry.yarnpkg.com/webpack/-/webpack-2.2.1.tgz#7bb1d72ae2087dd1a4af526afec15eed17dda475" resolved "https://registry.yarnpkg.com/webpack/-/webpack-2.4.1.tgz#15a91dbe34966d8a4b99c7d656efd92a2e5a6f6a"
dependencies: dependencies:
acorn "^4.0.4" acorn "^5.0.0"
acorn-dynamic-import "^2.0.0" acorn-dynamic-import "^2.0.0"
ajv "^4.7.0" ajv "^4.7.0"
ajv-keywords "^1.1.1" ajv-keywords "^1.1.1"
@ -2350,6 +2387,7 @@ webpack@^2.2.1:
enhanced-resolve "^3.0.0" enhanced-resolve "^3.0.0"
interpret "^1.0.0" interpret "^1.0.0"
json-loader "^0.5.4" json-loader "^0.5.4"
json5 "^0.5.1"
loader-runner "^2.3.0" loader-runner "^2.3.0"
loader-utils "^0.2.16" loader-utils "^0.2.16"
memory-fs "~0.4.1" memory-fs "~0.4.1"
@ -2358,9 +2396,9 @@ webpack@^2.2.1:
source-map "^0.5.3" source-map "^0.5.3"
supports-color "^3.1.0" supports-color "^3.1.0"
tapable "~0.2.5" tapable "~0.2.5"
uglify-js "^2.7.5" uglify-js "^2.8.5"
watchpack "^1.2.0" watchpack "^1.3.1"
webpack-sources "^0.1.4" webpack-sources "^0.2.3"
yargs "^6.0.0" yargs "^6.0.0"
which-module@^1.0.0: which-module@^1.0.0:
@ -2387,18 +2425,10 @@ window-size@^0.1.4:
version "0.1.4" version "0.1.4"
resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.4.tgz#f8e1aa1ee5a53ec5bf151ffa09742a6ad7697876" resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.4.tgz#f8e1aa1ee5a53ec5bf151ffa09742a6ad7697876"
window-size@^0.2.0: wordwrap@0.0.2, wordwrap@~0.0.2:
version "0.2.0"
resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.2.0.tgz#b4315bb4214a3d7058ebeee892e13fa24d98b075"
wordwrap@0.0.2:
version "0.0.2" version "0.0.2"
resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f"
wordwrap@~0.0.2:
version "0.0.3"
resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107"
wrap-ansi@^2.0.0: wrap-ansi@^2.0.0:
version "2.1.0" version "2.1.0"
resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85"
@ -2430,19 +2460,22 @@ yallist@^2.0.0:
version "2.0.0" version "2.0.0"
resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.0.0.tgz#306c543835f09ee1a4cb23b7bce9ab341c91cdd4" resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.0.0.tgz#306c543835f09ee1a4cb23b7bce9ab341c91cdd4"
yargs-parser@^2.4.1: yapool@^1.0.0:
version "2.4.1" version "1.0.0"
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-2.4.1.tgz#85568de3cf150ff49fa51825f03a8c880ddcc5c4" resolved "https://registry.yarnpkg.com/yapool/-/yapool-1.0.0.tgz#f693f29a315b50d9a9da2646a7a6645c96985b6a"
dependencies:
camelcase "^3.0.0"
lodash.assign "^4.0.6"
yargs-parser@^4.2.0: yargs-parser@^4.0.2, yargs-parser@^4.2.0:
version "4.2.1" version "4.2.1"
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-4.2.1.tgz#29cceac0dc4f03c6c87b4a9f217dd18c9f74871c" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-4.2.1.tgz#29cceac0dc4f03c6c87b4a9f217dd18c9f74871c"
dependencies: dependencies:
camelcase "^3.0.0" camelcase "^3.0.0"
yargs-parser@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-5.0.0.tgz#275ecf0d7ffe05c77e64e7c86e4cd94bf0e1228a"
dependencies:
camelcase "^3.0.0"
yargs@^3.10.0: yargs@^3.10.0:
version "3.32.0" version "3.32.0"
resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.32.0.tgz#03088e9ebf9e756b69751611d2a5ef591482c995" resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.32.0.tgz#03088e9ebf9e756b69751611d2a5ef591482c995"
@ -2455,25 +2488,6 @@ yargs@^3.10.0:
window-size "^0.1.4" window-size "^0.1.4"
y18n "^3.2.0" y18n "^3.2.0"
yargs@^4.8.1:
version "4.8.1"
resolved "https://registry.yarnpkg.com/yargs/-/yargs-4.8.1.tgz#c0c42924ca4aaa6b0e6da1739dfb216439f9ddc0"
dependencies:
cliui "^3.2.0"
decamelize "^1.1.1"
get-caller-file "^1.0.1"
lodash.assign "^4.0.3"
os-locale "^1.4.0"
read-pkg-up "^1.0.1"
require-directory "^2.1.1"
require-main-filename "^1.0.1"
set-blocking "^2.0.0"
string-width "^1.0.1"
which-module "^1.0.0"
window-size "^0.2.0"
y18n "^3.2.1"
yargs-parser "^2.4.1"
yargs@^6.0.0: yargs@^6.0.0:
version "6.6.0" version "6.6.0"
resolved "https://registry.yarnpkg.com/yargs/-/yargs-6.6.0.tgz#782ec21ef403345f830a808ca3d513af56065208" resolved "https://registry.yarnpkg.com/yargs/-/yargs-6.6.0.tgz#782ec21ef403345f830a808ca3d513af56065208"
@ -2492,6 +2506,24 @@ yargs@^6.0.0:
y18n "^3.2.1" y18n "^3.2.1"
yargs-parser "^4.2.0" yargs-parser "^4.2.0"
yargs@^7.0.2:
version "7.1.0"
resolved "https://registry.yarnpkg.com/yargs/-/yargs-7.1.0.tgz#6ba318eb16961727f5d284f8ea003e8d6154d0c8"
dependencies:
camelcase "^3.0.0"
cliui "^3.2.0"
decamelize "^1.1.1"
get-caller-file "^1.0.1"
os-locale "^1.4.0"
read-pkg-up "^1.0.1"
require-directory "^2.1.1"
require-main-filename "^1.0.1"
set-blocking "^2.0.0"
string-width "^1.0.2"
which-module "^1.0.0"
y18n "^3.2.1"
yargs-parser "^5.0.0"
yargs@~3.10.0: yargs@~3.10.0:
version "3.10.0" version "3.10.0"
resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1" resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1"