Commit 7fcee1a9 authored by Ben Galloway's avatar Ben Galloway

Initial full working version of library

parents
{
"presets": [
[
"env",
{
"targets": {
"node": "current"
}
}
]
],
"plugins": ["transform-object-rest-spread"]
}
# Project specifics
test*
# https://github.com/github/gitignore
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
# Runtime data
pids
*.pid
*.seed
*.pid.lock
# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov
# Coverage directory used by tools like istanbul
coverage
# nyc test coverage
.nyc_output
# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
.grunt
# Bower dependency directory (https://bower.io/)
bower_components
# node-waf configuration
.lock-wscript
# Compiled binary addons (https://nodejs.org/api/addons.html)
build/Release
# Dependency directories
node_modules/
jspm_packages/
# TypeScript v1 declaration files
typings/
# Optional npm cache directory
.npm
# Optional eslint cache
.eslintcache
# Optional REPL history
.node_repl_history
# Output of 'npm pack'
*.tgz
# Yarn Integrity file
.yarn-integrity
# dotenv environment variables file
.env
# next.js build output
.next
\ No newline at end of file
# Gamma in JS
A library of async JavaScript functions that make the corresponding calls to the GSC Gamma API.
## Installation
Via the command line:
```bash
yarn add git+ssh://git@gscgit:utils/gamma-in-js.git
```
or directly in `package.json`:
```json
"dependencies": {
"gamma-in-js": "git+ssh://git@gscgit:utils/gamma-in-js.git"
}
```
## Config
Set an environment variable `GAMMA_ENV=live` to use the LIVE Gamma database. Anything else will send requests to TEST Gamma.
This library uses the `debug` module to provide debug logs. To turn this on, set an environment variable `DEBUG=gammajs`.
## Usage
```javascript
// Simple example
import { gammaResourceViewListLoad } from "gamma-in-js";
(async () => {
const resourceViews = await gammaResourceViewListLoad();
console.log(resourceViews);
})();
```
### Example input format
All methods accept an object of parameters, e.g. for the call above,
```javascript
gammaResourceViewListLoad({
ResID: "Web - Special Events",
});
```
More complex nested objects are also parsed - for example, to make this call to the Gamma API:
```xml
<?xml version="1.0" encoding="utf-8"?>
<XMLRequest xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Description>BookingAllSave</Description>
<Item xsi:type="BookingList">
<Bookings>
<anyType xsi:type="Booking">
<UD1Field>Booking 1 Test UD1</UD1Field>
<Source>Booking 1 Test Source</Source>
<BookedOn>11/05/2018</BookedOn>
<BookedBy>Web</BookedBy>
<BookDate>01/06/2018</BookDate>
<GiftAid>F</GiftAid>
<Notes>Some notes for booking 1</Notes>
<Category>General</Category>
<Products>
<ProductList>
<anyType xsi:type="Product">
<Qty>1</Qty>
<Ccode>50000015</Ccode>
<Description>Science Passport Student - Renewal</Description>
<SellPrice>24</SellPrice>
<Adults>1</Adults>
<Children>0</Children>
</anyType>
</ProductList>
</Products>
<Customer>
<Email>test@booking.com</Email>
<CustType></CustType>
<CCODE></CCODE>
<Title>Dr</Title>
<First>Booking</First>
<Middle></Middle>
<Last>Test</Last>
<PCode>G51 1EA</PCode>
<Interests>
<anyType xsi:type="ContactInterest">
<InterestID>1</InterestID>
<Description>Interest 1</Description>
</anyType>
</Interests>
</Customer>
<Resource xsi:type="Resource">
<isEvent>false</isEvent>
<RESNAME>Test Resource</RESNAME>
<EVENTNAME></EVENTNAME>
<EventDetails>
<EventCode></EventCode>
<EventName></EventName>
<EventTime></EventTime>
<EventBooking></EventBooking>
<EventDate></EventDate>
</EventDetails>
<RESTYPE>Resource Type</RESTYPE>
<Adults>6</Adults>
<Children>0</Children>
<StartTime>09:00</StartTime>
<EndTime>10:00</EndTime>
<ID>001</ID>
<Capacity>50</Capacity>
<ProductMapID>123</ProductMapID>
<ResDate>15/06/2017</ResDate>
<RESNOTES>Resource Notes</RESNOTES>
<LONGDESCRIPTION>Long Description of Resource</LONGDESCRIPTION>
<IMAGELINK></IMAGELINK>
<MINPERBOOKING>1</MINPERBOOKING>
<MAXPERBOOKING>2</MAXPERBOOKING>
<AdditionalInfo>Additional info</AdditionalInfo>
<ValidDays>ALL</ValidDays>
<MoreInfoLink></MoreInfoLink>
<ResCategory>2</ResCategory>
<ProductList>
<ProductList></ProductList>
</ProductList>
</Resource>
<NoAdults>1</NoAdults>
<NoChildren>2</NoChildren>
<VerifiedOn></VerifiedOn>
<LeaderName>Booking Test</LeaderName>
<LeaderTelNo>0141 420 5000</LeaderTelNo>
<BookingStatus>Confirmed</BookingStatus>
</anyType>
</Bookings>
<PaymentItem>
<PayMethod>D</PayMethod>
<SwipedData></SwipedData>
<CardIssueNumber></CardIssueNumber>
<CardExpiryDate></CardExpiryDate>
<CardStartDate></CardStartDate>
<CardNumber></CardNumber>
<CustPresent>3</CustPresent>
<Tendered>10</Tendered>
<CardType>D</CardType>
<CardHolder></CardHolder>
<CVNNumber></CVNNumber>
<PayerAuthDetails>
<PayerAuthRequestID></PayerAuthRequestID>
<AuthenticationStatus></AuthenticationStatus>
<AuthenticationCertificate></AuthenticationCertificate>
<AuthenticationCAVV></AuthenticationCAVV>
<AuthenticationECI></AuthenticationECI>
<AuthenticationTime></AuthenticationTime>
<ATSData></ATSData>
<Enrolled></Enrolled>
</PayerAuthDetails>
<IsDeposit>false</IsDeposit>
</PaymentItem>
</Item>
</XMLRequest>
```
you might use the following JavaScript:
```javascript
import { gammaBookingAllSave } from "gamma-in-js";
const testBookingItem = {
GammaInputType: "Booking",
UD1Field: "Booking 1 Test UD1",
Source: "Booking 1 Test Source",
BookedOn: "11/05/2018",
BookedBy: "Web",
BookDate: "01/06/2018",
GiftAid: "F",
Notes: "Some notes for booking 1",
Category: "General",
Products: {
ProductList: {
anyType: [
{
GammaInputType: "Product",
Qty: "1",
Ccode: "50000015",
Description: "Science Passport Student - Renewal",
SellPrice: "24",
Adults: "1",
Children: "0",
},
],
},
},
Customer: {
Email: "test@booking.com",
CustType: "",
CCODE: "",
Title: "Dr",
First: "Booking",
Middle: "",
Last: "Test",
PCode: "G51 1EA",
Interests: {
anyType: [
{
GammaInputType: "ContactInterest",
InterestID: "1",
Description: "Interest 1",
},
],
},
},
Resource: {
GammaInputType: "Resource",
isEvent: "false",
RESNAME: "Test Resource",
EVENTNAME: "",
EventDetails: {
EventCode: "",
EventName: "",
EventTime: "",
EventBooking: "",
EventDate: "",
},
RESTYPE: "Resource Type",
Adults: "6",
Children: "0",
StartTime: "09:00",
EndTime: "10:00",
ID: "001",
Capacity: "50",
ProductMapID: "123",
ResDate: "15/06/2017",
RESNOTES: "Resource Notes",
LONGDESCRIPTION: "Long Description of Resource",
IMAGELINK: "",
MINPERBOOKING: "1",
MAXPERBOOKING: "2",
AdditionalInfo: "Additional info",
ValidDays: "ALL",
MoreInfoLink: "",
ResCategory: "2",
ProductList: {
ProductList: "",
},
},
NoAdults: "1",
NoChildren: "2",
VerifiedOn: "",
LeaderName: "Booking Test",
LeaderTelNo: "0141 420 5000",
BookingStatus: "Confirmed",
};
const paymentItem = {
PayMethod: "D",
SwipedData: "",
CardIssueNumber: "",
CardExpiryDate: "",
CardStartDate: "",
CardNumber: "",
CustPresent: "3",
Tendered: "10",
CardType: "",
CardHolder: "",
CVNNumber: "",
PayerAuthDetails: {
PayerAuthRequestID: "",
AuthenticationStatus: "",
AuthenticationCertificate: "",
AuthenticationCAVV: "",
AuthenticationECI: "",
AuthenticationTime: "",
ATSData: "",
Enrolled: "",
},
IsDeposit: "false",
};
gammaBookingAllSave({
Bookings: {
anyType: [testBookingItem],
},
PaymentItem: paymentItem,
});
```
Note the use of array fields with a key of `anyType` to produce the corresponding XML list. This is not always necessary; sometimes you want a list of fields named with another property - check the Gamma docs to be sure.
No input validation is performed because the documentation and calls are just not consistent enough - for example, some calls will return 'Unsupported' if a tag (marked Optional in the docs) is not included as an empty tag; other calls will return a value just fine if the tag is omitted entirely.
If the Gamma API throws an error, an error will also be thrown from the JavaScript method, giving the details.
## TODO
* **Endpoints** - a small refactor of `config.js` will be required when the multi-endpoint API architecture is introduced. It is already partly set up to handle this.
## Methods List
See the full Gamma documentation in the `docs/` directory for complete details of each call and its expected input parameters.
### Availability methods
All of these methods are non-destructive, i.e. they do not push any data into Gamma.
* `gammaAllContactInterests`
* `gammaBookingETicketExportRequest`
* `gammaBookingStatusUpdateCheck`
* `gammaContactInterests`
* `gammaCustomerLoad`
* `gammaEventEditList`
* `gammaEventListLoad`
* `gammaEventsOnlyListLoad`
* `gammaGetBookingHistory`
* `gammaGetBookingStatusList`
* `gammaGetTourList`
* `gammaProductListLoad`
* `gammaProductMapListLoad`
* `gammaRedeemedBookings`
* `gammaResourceDatesListLoad`
* `gammaResourceListByViewByDateLoad`
* `gammaResourceListByViewLoad`
* `gammaResourceListLoad`
* `gammaResourceViewListLoad`
* `gammaViewResourcesLoad`
* `gammaVoucherDiscountCheck`
* `gammaVoucherListLoad`
#### Methods from the docs that are unavailable in this library
The following availability methods seem to be unsupported by the Gamma API. They are not made available on the export:
* `ResourceDatesNotAvailable`
* `ResourceListByViewByDateLoadLight`
### Bookings methods
All of these methods **are** destructive - i.e. if called correctly they push new data into Gamma or remove existing data from Gamma. They therefore require correspondingly more care in their use.
* `gammaAmendBooking`
* `gammaBookingAllSave`
* `gammaCancelBookingRequest`
* `gammaRemoveContactInterests`
* `gammaSaveCustomerDetails`
* `gammaUpdateBooking`
* `gammaUpdateBookingStatus`
### Reservation methods
These methods are not destructive but do cause some side-effects. They have a separate endpoint as they can be called live/in real time by the website.
* `gammaBookAvailableSpacesRequest`
* `gammaCancelBookAvailableSpaces`
* `gammaReserveXTSeats`
* `gammaCancelSeats`
### Membership methods
These are methods which relate purely to memberships. There are some which are destructive:
* `gammaChangeMemberDetails`
* `gammaMembershipPurchase`
* `gammaMembershipCancellation`
and some which are not:
* `gammaMembershipSubscriptionsLoad`
* `gammaModifiedMembers`
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
var _soapAsPromised = require("soap-as-promised");
var _soapAsPromised2 = _interopRequireDefault(_soapAsPromised);
var _util = require("./util");
var _config = require("./config");
var _config2 = _interopRequireDefault(_config);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
const callGamma = async (methodSpecs, callParamsObject) => {
try {
const endpoint = _config2.default.endpoints[methodSpecs.endpoint];
const client = await _soapAsPromised2.default.createClient(endpoint);
const callDetails = (0, _util.getXml)(callParamsObject, methodSpecs);
_config2.default.debug(callDetails);
const rawResponse = await client.ReceiveData({ value: callDetails });
_config2.default.debug(rawResponse.ReceiveDataResult);
const response = (0, _util.parseResponse)(rawResponse, methodSpecs);
_config2.default.debug(JSON.stringify(response, null, 2));
if (response.hasOwnProperty("Message")) throw new ReferenceError(response.Message);
return response;
} catch (error) {
throw new Error(`The response from the Gamma server could not be parsed correctly. The error was "${error}"`);
}
};
exports.default = callGamma;
\ No newline at end of file
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
var _debug = require("debug");
var _debug2 = _interopRequireDefault(_debug);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
const liveEndpoint = "https://gscticketserver.gsc.org.uk:5729/GDXMLWebService/GDXMLWebService.asmx?WSDL";
const testEndpoint = "https://gscticketserver.gsc.org.uk:5729/GDXMLWebServiceTEST/GDXMLWebService.asmx?WSDL";
const activeEndpoint = process.env.GAMMA_ENV === "live" ? liveEndpoint : testEndpoint;
const config = {
endpoints: {
reservation: activeEndpoint,
bookings: activeEndpoint,
availability: activeEndpoint,
membership: activeEndpoint
},
debug: (0, _debug2.default)("gammajs")
};
exports.default = config;
\ No newline at end of file
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.gammaModifiedMembers = exports.gammaMembershipSubscriptionsLoad = exports.gammaMembershipCancellation = exports.gammaMembershipPurchase = exports.gammaChangeMemberDetails = exports.gammaCancelSeats = exports.gammaReserveXTSeats = exports.gammaCancelBookAvailableSpaces = exports.gammaBookAvailableSpacesRequest = exports.gammaUpdateBookingStatus = exports.gammaUpdateBooking = exports.gammaSaveCustomerDetails = exports.gammaRemoveContactInterests = exports.gammaCancelBookingRequest = exports.gammaBookingAllSave = exports.gammaAmendBooking = exports.gammaVoucherListLoad = exports.gammaVoucherDiscountCheck = exports.gammaViewResourcesLoad = exports.gammaResourceViewListLoad = exports.gammaResourceListLoad = exports.gammaResourceListByViewLoad = exports.gammaResourceListByViewByDateLoad = exports.gammaResourceDatesListLoad = exports.gammaRedeemedBookings = exports.gammaProductMapListLoad = exports.gammaProductListLoad = exports.gammaGetTourList = exports.gammaGetBookingStatusList = exports.gammaGetBookingHistory = exports.gammaEventsOnlyListLoad = exports.gammaEventListLoad = exports.gammaEventEditList = exports.gammaCustomerLoad = exports.gammaContactInterests = exports.gammaBookingStatusUpdateCheck = exports.gammaBookingETicketExportRequest = exports.gammaAllContactInterests = undefined;
var _methods = require("./methods");
var _methods2 = _interopRequireDefault(_methods);
var _callGamma = require("./callGamma");
var _callGamma2 = _interopRequireDefault(_callGamma);
var _config = require("./config");
var _config2 = _interopRequireDefault(_config);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
// Individual exports
const create = methodName => {
const methodSpecArray = _methods2.default.filter(methodObject => methodObject.name === methodName);
if (methodSpecArray.length !== 1) {
throw new ReferenceError(`Cannot uniquely determine a Gamma method called ${methodName}`);
}
const methodSpecObject = methodSpecArray[0];
return (callParams = {}) => {
_config2.default.debug(`Method called: ${JSON.stringify(methodSpecObject)}`);
return (0, _callGamma2.default)(methodSpecObject, callParams);
};
};
// Availability methods
const gammaAllContactInterests = exports.gammaAllContactInterests = create("AllContactInterests");
const gammaBookingETicketExportRequest = exports.gammaBookingETicketExportRequest = create("BookingETicketExportRequest");
const gammaBookingStatusUpdateCheck = exports.gammaBookingStatusUpdateCheck = create("BookingStatusUpdateCheck");
const gammaContactInterests = exports.gammaContactInterests = create("ContactInterests");
const gammaCustomerLoad = exports.gammaCustomerLoad = create("CustomerLoad");
const gammaEventEditList = exports.gammaEventEditList = create("EventEditList");
const gammaEventListLoad = exports.gammaEventListLoad = create("EventListLoad");
const gammaEventsOnlyListLoad = exports.gammaEventsOnlyListLoad = create("EventsOnlyListLoad");
const gammaGetBookingHistory = exports.gammaGetBookingHistory = create("GetBookingHistory");
const gammaGetBookingStatusList = exports.gammaGetBookingStatusList = create("GetBookingStatusList");
const gammaGetTourList = exports.gammaGetTourList = create("GetTourList");
const gammaProductListLoad = exports.gammaProductListLoad = create("ProductListLoad");
const gammaProductMapListLoad = exports.gammaProductMapListLoad = create("ProductMapListLoad");
const gammaRedeemedBookings = exports.gammaRedeemedBookings = create("RedeemedBookings");
const gammaResourceDatesListLoad = exports.gammaResourceDatesListLoad = create("ResourceDatesListLoad");
const gammaResourceListByViewByDateLoad = exports.gammaResourceListByViewByDateLoad = create("ResourceListByViewByDateLoad");
const gammaResourceListByViewLoad = exports.gammaResourceListByViewLoad = create("ResourceListByViewLoad");
const gammaResourceListLoad = exports.gammaResourceListLoad = create("ResourceListLoad");
const gammaResourceViewListLoad = exports.gammaResourceViewListLoad = create("ResourceViewListLoad");
const gammaViewResourcesLoad = exports.gammaViewResourcesLoad = create("ViewResourcesLoad");
const gammaVoucherDiscountCheck = exports.gammaVoucherDiscountCheck = create("VoucherDiscountCheck");
const gammaVoucherListLoad = exports.gammaVoucherListLoad = create("VoucherListLoad");
// These methods seem to be unsupported by the Gamma API (based on testing in May 2018).
// They are not made available individually here, to discourage their use.
//export const gammaResourceDatesNotAvailable = create("ResourceDatesNotAvailable");
//export const gammaResourceListByViewByDateLoadLight = create("ResourceListByViewByDateLoadLight");
// Bookings methods
const gammaAmendBooking = exports.gammaAmendBooking = create("AmendBooking");
const gammaBookingAllSave = exports.gammaBookingAllSave = create("BookingAllSave");
const gammaCancelBookingRequest = exports.gammaCancelBookingRequest = create("CancelBookingRequest");
const gammaRemoveContactInterests = exports.gammaRemoveContactInterests = create("RemoveContactInterests");
const gammaSaveCustomerDetails = exports.gammaSaveCustomerDetails = create("SaveCustomerDetails");
const gammaUpdateBooking = exports.gammaUpdateBooking = create("UpdateBooking");
const gammaUpdateBookingStatus = exports.gammaUpdateBookingStatus = create("UpdateBookingStatus");
// Reservation methods
const gammaBookAvailableSpacesRequest = exports.gammaBookAvailableSpacesRequest = create("BookAvailableSpacesRequest");
const gammaCancelBookAvailableSpaces = exports.gammaCancelBookAvailableSpaces = create("CancelBookAvailableSpaces");
const gammaReserveXTSeats = exports.gammaReserveXTSeats = create("ReserveXTSeats");
const gammaCancelSeats = exports.gammaCancelSeats = create("CancelSeats");
// Membership methods
const gammaChangeMemberDetails = exports.gammaChangeMemberDetails = create("ChangeMemberDetails");
const gammaMembershipPurchase = exports.gammaMembershipPurchase = create("MembershipPurchase");
const gammaMembershipCancellation = exports.gammaMembershipCancellation = create("MembershipCancellation");
const gammaMembershipSubscriptionsLoad = exports.gammaMembershipSubscriptionsLoad = create("MembershipSubscriptionsLoad");
const gammaModifiedMembers = exports.gammaModifiedMembers = create("ModifiedMembers");
\ No newline at end of file
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
const availabilityMethods = [{
name: "AllContactInterests",
type: "XMLAllContactInterestRequest",
responseWrapper: "XMLAllContactInterestsResponse",
returnType: false,
endpoint: "availability",
inputFormat: {}
}, {
name: "BookingETicketExportRequest",
type: "XMLBookingETicketExportRequest",
responseWrapper: "BookingTicketExportList",
returnType: "BookingticketList",
endpoint: "availability",
inputFormat: {
BookedDate: "Mandatory"
}
}, {
name: "BookingStatusUpdateCheck",
type: "XMLBookingStatusUpdateCheckRequest",
responseWrapper: "XMLBookingStatusUpdateCheckResponse",
returnType: false,
endpoint: "availability",
inputFormat: {
CheckDate: "Mandatory"
}
}, {
name: "ContactInterests",
type: "XMLContactInterestRequest",
responseWrapper: "XMLContactInterestsResponse",
returnType: false,
endpoint: "availability",
inputFormat: {
myContactID: "Mandatory"
}
}, {
name: "CustomerLoad",
type: "XMLCustomerRequest",
responseWrapper: "XMLCustomer",
returnType: false,
endpoint: "availability",
inputFormat: {
ID: "Optional",
Email: "Recommended",
Postcode: "Recommended",
Lastname: "Recommended",
Password: "Optional",
MemberNumber: "Optional"
}
}, {
name: "EventEditList",
type: "XMLEventRequest",
responseWrapper: "ResourceList",
returnType: "ResList",
endpoint: "availability",
inputFormat: {
ResView: "Mandatory",
RangeStartDate: "Recommended",
RangeEndDate: "Recommended"
}
}, {
name: "EventListLoad",
type: "XMLEventRequest",
responseWrapper: "ResourceList",
returnType: "ResList",
endpoint: "availability",
inputFormat: {
ResViewID: "Mandatory",
RangeStartDate: "Recommended",
RangeEndDate: "Recommended"
}
}, {
name: "EventsOnlyListLoad",
type: "XMLEventsOnlyRequest",
responseWrapper: "ResourceList",
returnType: "ResList",
endpoint: "availability",
inputFormat: {
RangeStartDate: "Recommended",
RangeEndDate: "Recommended",
ResView: "Recommended",
EventCode: "Optional",
ShowProductMap: "Optional"
}
}, {
name: "GetBookingHistory",
type: "XMLGetBookingHistoryRequest",
responseWrapper: "XMLGetBookingHistoryResponse",
returnType: false,
endpoint: "availability",
inputFormat: {
CustomerCode: "Mandatory",
VisitStartDate: "Recommended",
VisitEndDate: "Recommended",
Source: "Optional",
Status: "Optional"
}
}, {
name: "GetBookingStatusList",
type: "XMLGetBookingStatusListRequest",
responseWrapper: "XMLGetBookingStatusListResponse",
returnType: false,
endpoint: "availability",
inputFormat: {}
}, {
name: "GetTourList",
type: "XMLTourListRequest",
responseWrapper: "XMLTourListResponse",
returnType: false,
endpoint: "availability",
inputFormat: {
TourCode: "Mandatory"
}
}, {
name: "ProductListLoad",
type: "XMLProductRequest",
responseWrapper: "ProductList",
returnType: "ProductList",
endpoint: "availability",
inputFormat: {
CategoryCode: "Mandatory",
ProdCode: "Optional",
ProductTitle: "Optional",
VisitDate: "Optional",
RequestImages: "Optional",
CustomerCode: "Optional"
}
}, {
name: "ProductMapListLoad",
type: "XMLProductMapRequest",
responseWrapper: "XMLProductMaps",
returnType: "ProductMapList",
endpoint: "availability",
inputFormat: {
MapID: "Optional"
}
}, {
name: "RedeemedBookings",
type: "XMLRedeemedBookingsRequest",
responseWrapper: "XMLRedeemedBookingsResponse",
returnType: false,
endpoint: "availability",
inputFormat: {
RangeStartDate: "Mandatory",
RangeEndDate: "Mandatory",
ResView: "Mandatory"
}
}, {
name: "ResourceDatesListLoad",
type: "XMLResourceDatesRequest",
responseWrapper: "XMLResourceDatesResponse",
returnType: "DateList",
endpoint: "availability",
inputFormat: {
RangeStartDate: "Mandatory",
RangeEndDate: "Mandatory",
EventCode: "Mandatory"
}
}, {
name: "ResourceDatesNotAvailable",
// UNSUPPORTED?
type: "XMLResourceDatesNotAvailableRequest",
responseWrapper: "DateList",
returnType: "DateList",
endpoint: "availability",
inputFormat: {
ResStartDate: "Mandatory",
ResEndDate: "Mandatory",
ResViewID: "Recommended",
EventCode: "Optional",
Visitors: "Optional"
}
}, {
name: "ResourceListByViewByDateLoad",
type: "XMLResourceByViewRangeRequest",
responseWrapper: "ResourceList",
returnType: "ResList",
endpoint: "availability",
inputFormat: {
ResStartDate: "Mandatory",
ResEndDate: "Mandatory",
ResCode: "Optional",
ResView: "Mandatory",
EventCode: "Optional",
ShowProductMap: "Optional"
}
}, {
name: "ResourceListByViewByDateLoadLight",
// UNSUPPORTED?
type: "XMLResourceByViewLightRequest",
responseWrapper: "DateList",
returnType: "DateList",
endpoint: "availability",
inputFormat: {
ResSelectedDate: "Mandatory",
ResViewID: "Mandatory",
EventCode: "Optional",
Visitors: "Optional",
ShowProductMap: "Optional"
}
}, {
name: "ResourceListByViewLoad",
type: "XMLResourceByViewRequest",
responseWrapper: "ResourceList",
returnType: "ResList",
endpoint: "availability",
inputFormat: {
ResDate: "Recommended",
ResCode: "Optional",
ResView: "Mandatory",
ShowProductMap: "Optional"
}
}, {
name: "ResourceListLoad",
type: "XMLResourceRequest",
responseWrapper: "ResourceList",
returnType: "ResList",
endpoint: "availability",
inputFormat: {
ResDate: "Recommended",
ResCode: "Optional",
ShowProductMap: "Optional"
}
}, {
name: "ResourceViewListLoad",
type: "XMLResourceViewsRequest",
responseWrapper: "XMLResourceViews",
returnType: "ResourceViewList",
endpoint: "availability",
inputFormat: {
ResID: "Optional"
}
}, {
name: "ViewResourcesLoad",
type: "XMLViewResources",
responseWrapper: "ResourceList",
returnType: "ResList",
endpoint: "availability",
inputFormat: {
ResView: "Mandatory",
ShowProductMap: "Optional"
}
}, {
name: "VoucherDiscountCheck",
type: "XMLVoucherDiscountCheck",
responseWrapper: "XMLVoucherDiscountCheckResponse",
returnType: false,
endpoint: "availability",
inputFormat: {
VoucherCode: "Mandatory",
Products: "SEE DOCS",
VoucherVisitDate: "Optional"
}
}, {
name: "VoucherListLoad",
type: "XMLVoucherListRequest",
responseWrapper: "VoucherList",
returnType: "VoucherList",
endpoint: "availability",
inputFormat: {
VouchCode: "Optional"
}
}];
exports.default = availabilityMethods;
\ No newline at end of file
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
const bookingsMethods = [{
name: "AmendBooking",
type: "XMLAmendBookingRequest",
responseWrapper: "XMLAmendBookingResponse",
returnType: false,
endpoint: "bookings",
inputFormat: {
BookingList: {
Bookings: "SEE DOCS",
PaymentItem: "SEE DOCS"
}
}
}, {
name: "BookingAllSave",
type: "BookingList",
responseWrapper: "XMLSaveBookResponseList",
returnType: "SavedBookingList",
endpoint: "bookings",
inputFormat: {
Bookings: "SEE DOCS",
PaymentItem: "SEE DOCS"
}
}, {
name: "CancelBookingRequest",
type: "XMLCancelBookingRequest",
responseWrapper: "XMLCancelBookingResponse",
returnType: false,
endpoint: "bookings",
inputFormat: {
BookingRef: "Mandatory",
mPayment: "SEE DOCS"
}
}, {
name: "RemoveContactInterests",
type: "XMLRemoveContactInterestRequest",
responseWrapper: "XMLRemoveContactInterestResponse",
returnType: false,
endpoint: "bookings",
inputFormat: {
ContactID: "Mandatory",
Interests: "SEE DOCS"
}
}, {
name: "SaveCustomerDetails",
type: "Customer",
responseWrapper: "XMLCustomer",
returnType: false,
endpoint: "bookings",
inputFormat: {
Email: "Mandatory",
CCODE: "Optional",
Title: "Recommended",
First: "Mandatory",
Middle: "Optional",
Last: "Mandatory",
HouseNo: "Recommended",
Add1: "Recommended",
Add2: "Optional",
Add3: "Optional",
Add4: "Optional",
City: "Recommended",
County: "Recommended",
PCode: "Recommended",
Country: "Recommended",
TelNo: "Recommended",
EvTelNo: "Optional",
MailingList: "Optional",
Password: "Recommended",
ConsentMail: "Mandatory",
ConsentPhone: "Mandatory",
ConsentSMS: "Mandatory",
ConsentEmail: "Mandatory"
}
}, {
name: "UpdateBooking",
type: "XMLUpdateBookingRequest",
responseWrapper: "XMLUpdateBookingResponse",
returnType: false,
endpoint: "bookings",
inputFormat: {
BookingRef: "Mandatory",
Customer: "SEE DOCS",
Products: "SEE DOCS",
UDFList: "SEE DOCS",
PaymentItem: "SEE DOCS"
}
}, {
name: "UpdateBookingStatus",
type: "XMLUpdateBookingStatusRequest",
responseWrapper: "XMLUpdateBookingStatusResponse",
returnType: false,
endpoint: "bookings",
inputFormat: {
BookingRef: "Mandatory",
BookingStatus: {
ID: "Mandatory",
BookingStatus: "Recommended"
}
}
}];
exports.default = bookingsMethods;
\ No newline at end of file
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
var _reservationMethods = require("./reservation-methods");
var _reservationMethods2 = _interopRequireDefault(_reservationMethods);
var _bookingsMethods = require("./bookings-methods");
var _bookingsMethods2 = _interopRequireDefault(_bookingsMethods);
var _availabilityMethods = require("./availability-methods");
var _availabilityMethods2 = _interopRequireDefault(_availabilityMethods);
var _membershipMethods = require("./membership-methods");
var _membershipMethods2 = _interopRequireDefault(_membershipMethods);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
const gammaMethods = [..._reservationMethods2.default, ..._bookingsMethods2.default, ..._availabilityMethods2.default, ..._membershipMethods2.default];
exports.default = gammaMethods;
\ No newline at end of file
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
const membershipMethods = [{
// Change Member Details (Batch)
name: "ChangeMemberDetails",
type: "XMLChangeMemberDetailsRequest",
responseWrapper: "XMLChangeMemberDetailsResponse",
returnType: false,
endpoint: "membership",
inputFormat: {
Members: "SEE DOCS"
}
}, {
// Create Membership / Update Membership
name: "MembershipPurchase",
type: "XMLMembershipPurchaseRequest",
responseWrapper: "XMLMembershipPurchaseResponse",
returnType: false,
endpoint: "membership",
inputFormat: {
MemberNumber: "Mandatory",
GiftAid: "Mandatory",
Customer: "SEE DOCS",
Products: "SEE DOCS",
Joints: "SEE DOCS",
PaymentItem: "SEE DOCS"
}
}, {
name: "MembershipCancellation",
type: "XMLMembershipCancellationRequest",
responseWrapper: "XMLMembershipCancellationResponse",
returnType: false,
endpoint: "membership",
inputFormat: {
MembershipNumber: "Recommended",
PersonRef: "Recommended",
MembershipType: "Recommended",
MemberName: "Optional",
Joints: "SEE DOCS"
}
}, {
// Membership Load
name: "MembershipSubscriptionsLoad",
type: "XMLMemberRequest",
responseWrapper: "MembershipList",
returnType: "MembershipList",
endpoint: "membership",
inputFormat: {
Email: "Recommended",
MemberNumber: "Recommended",
ID: "Recommended"
}
}, {
name: "ModifiedMembers",
type: "XMLModifiedMembersRequest",
responseWrapper: "XMLModifiedMembersResponse",
returnType: false,
endpoint: "membership",
inputFormat: {
StartDate: "Mandatory",
EndDate: "Mandatory"
}
}];
exports.default = membershipMethods;
\ No newline at end of file
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
const reservationMethods = [{
name: "BookAvailableSpacesRequest",
type: "XMLBookAvailableSpacesRequest",
responseWrapper: "XMLBookAvailableSpacesResponse",
returnType: false,
endpoint: "reservation",
inputFormat: {
VisitDate: "Mandatory",
ResID: "Mandatory",
SessionID: "Mandatory",
VisitorQty: "Mandatory"
}
}, {
name: "CancelBookAvailableSpaces",
type: "XMLCancelBookAvailableSpacesRequest",
responseWrapper: "XMLItemSaveResponse",
returnType: false,
endpoint: "reservation",
inputFormat: {
ID: "Mandatory",
ResID: "Optional",
VisitDate: "Optional",
VisitorQty: "Optional"
}
}, {
name: "ReserveXTSeats",
type: "XMLXTSeatReserveRequest",
responseWrapper: "XMLXTSeatReserveResponse",
returnType: false,
endpoint: "reservation",
inputFormat: {
Seats: "SEE DOCS",
EventResID: "Mandatory"
}
}, {
name: "CancelSeats",
type: "XMLCancelSeatRequest",
responseWrapper: "XMLCancelSeatResponse",
returnType: false,
endpoint: "reservation",
inputFormat: {
Seats: "SEE DOCS"
}
}];
exports.default = reservationMethods;
\ No newline at end of file
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.parseResponse = exports.getXml = undefined;
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; // Utility parsing and wrapping functions for calls to Gamma
var _xmlJs = require("xml-js");
var _xmlJs2 = _interopRequireDefault(_xmlJs);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
// INPUT WRAPPERS
const parseInputField = (fieldContents, fieldKey) => {
if (fieldKey === "GammaInputType" || fieldKey === "GammaResponseType") return { _attributes: { "xsi:type": fieldContents } };
if (fieldContents.constructor === Object) return { [fieldKey]: sanitise(fieldContents) };
if (Array.isArray(fieldContents)) {
const arrayOfParsedObjects = fieldContents.map(singleInputObject => {
return sanitise(singleInputObject);
});
return { [fieldKey]: arrayOfParsedObjects };
}
return { [fieldKey]: fieldContents };
};
const sanitise = callObject => {
const sanitised = Object.keys(callObject).reduce((distilledObject, key) => {
return _extends({}, distilledObject, parseInputField(callObject[key], key));
}, {});
return sanitised;
};
const getXml = exports.getXml = (callObject, method) => {
const sanitisedCallObject = sanitise(callObject);
const fullCall = {
_declaration: { _attributes: { version: "1.0", encoding: "utf-8" } },
XMLRequest: {
_attributes: {
"xmlns:xsd": "http://www.w3.org/2001/XMLSchema",
"xmlns:xsi": "http://www.w3.org/2001/XMLSchema-instance"
},
Description: { _text: method.name },
Item: _extends({ _attributes: { "xsi:type": method.type }, _text: "" }, sanitisedCallObject)
}
};
const xmlInner = _xmlJs2.default.js2xml(fullCall, { compact: true, spaces: 2, fullTagEmptyElement: true });
const xmlWrapped = _xmlJs2.default.js2xml({ _cdata: xmlInner }, { compact: true, spaces: 2, fullTagEmptyElement: true });
return xmlWrapped;
};
// OUTPUT PARSERS
const parseResponseField = (fieldContents, fieldKey, methodSpecs) => {
if (fieldContents.constructor === Object && Object.keys(fieldContents).length === 0) return { [fieldKey]: "" };
if (methodSpecs.returnType === false && fieldKey === "_attributes" && fieldContents.hasOwnProperty("xmlns:xsi") && fieldContents.hasOwnProperty("xmlns:xsd")) return { GammaResponseType: methodSpecs.responseWrapper };
if (fieldKey === "_attributes" && fieldContents.hasOwnProperty("xsi:type")) return { GammaResponseType: fieldContents["xsi:type"] };
if (fieldContents.hasOwnProperty("_text")) return { [fieldKey]: fieldContents["_text"] };
if (fieldContents.hasOwnProperty("anyType")) return { [fieldKey]: processAnyType(fieldContents.anyType, methodSpecs) };
if (fieldContents.hasOwnProperty(fieldKey)) return { [fieldKey]: parseResponseField(fieldContents[fieldKey], fieldKey) };
if (fieldContents.constructor === Object && Object.keys(fieldContents).length !== 0) {
const formattedContents = Object.keys(fieldContents).reduce((distilledObject, key) => {
return _extends({}, distilledObject, parseResponseField(fieldContents[key], key, methodSpecs));
}, {});
return { [fieldKey]: formattedContents };
}
return { [fieldKey]: fieldContents };
};
const processAnyType = (anyType, methodSpecs) => {
// A single <anyType></anyType> response needs converted for the array operations to work
const anyTypeArray = Array.isArray(anyType) ? anyType : new Array(anyType);
const reduced = anyTypeArray.map(verboseObject => {
const keys = Object.keys(verboseObject);
const distilled = keys.reduce((distilledObject, key) => {
return _extends({}, distilledObject, parseResponseField(verboseObject[key], key, methodSpecs));
}, {});
return distilled;
});
return reduced;
};
const parseResponse = exports.parseResponse = (rawResult, methodSpecs) => {
const jsResponse = _xmlJs2.default.xml2js(rawResult.ReceiveDataResult, { compact: true });
if (jsResponse.hasOwnProperty("LPUnsupported")) return { Message: `The Gamma server responded: ${jsResponse.LPUnsupported.MessageResponse._text}` };
const checkableExtraction = methodSpecs.returnType ? jsResponse[methodSpecs.responseWrapper][methodSpecs.returnType] : jsResponse[methodSpecs.responseWrapper];
if (Object.keys(checkableExtraction).length === 0 && checkableExtraction.constructor === Object) return {}; // Empty response from Gamma
const anyType = methodSpecs.returnType ? checkableExtraction.anyType : checkableExtraction;
return processAnyType(anyType, methodSpecs);
};
\ No newline at end of file
{
"name": "gamma-in-js",
"version": "1.0.0",
"description": "A JavaScript library for wrapping Gamma SOAP API calls",
"main": "dist/index.js",
"author": "Ben Galloway <ben.galloway@gsc.org.uk>",
"license": "MIT",
"private": true,
"files": [
"dist"
],
"scripts": {
"build": "babel src --out-dir dist"
},
"dependencies": {
"debug": "^3.1.0",
"soap-as-promised": "^1.23.0",
"xml-js": "^1.6.2"
},
"devDependencies": {
"babel-cli": "^6.26.0",
"babel-plugin-transform-object-rest-spread": "^6.26.0",
"babel-preset-env": "^1.6.1"
}
}
import soap from "soap-as-promised";
import { getXml, parseResponse } from "./util";
import config from "./config";
const callGamma = async (methodSpecs, callParamsObject) => {
try {
const endpoint = config.endpoints[methodSpecs.endpoint];
const client = await soap.createClient(endpoint);
const callDetails = getXml(callParamsObject, methodSpecs);
config.debug(callDetails);
const rawResponse = await client.ReceiveData({ value: callDetails });
config.debug(rawResponse.ReceiveDataResult);
const response = parseResponse(rawResponse, methodSpecs);
config.debug(JSON.stringify(response, null, 2));
if (response.hasOwnProperty("Message")) throw new ReferenceError(response.Message);
return response;
} catch (error) {
throw new Error(`The response from the Gamma server could not be parsed correctly. The error was "${error}"`);
}
};
export default callGamma;
import debug from "debug";
const liveEndpoint = "https://gscticketserver.gsc.org.uk:5729/GDXMLWebService/GDXMLWebService.asmx?WSDL";
const testEndpoint = "https://gscticketserver.gsc.org.uk:5729/GDXMLWebServiceTEST/GDXMLWebService.asmx?WSDL";
const activeEndpoint = process.env.GAMMA_ENV === "live" ? liveEndpoint : testEndpoint;
const config = {
endpoints: {
reservation: activeEndpoint,
bookings: activeEndpoint,
availability: activeEndpoint,
membership: activeEndpoint,
},
debug: debug("gammajs"),
};
export default config;
import gammaMethods from "./methods";
import callGamma from "./callGamma";
import config from "./config";
// Individual exports
const create = (methodName) => {
const methodSpecArray = gammaMethods.filter((methodObject) => methodObject.name === methodName);
if (methodSpecArray.length !== 1) {
throw new ReferenceError(`Cannot uniquely determine a Gamma method called ${methodName}`);
}
const methodSpecObject = methodSpecArray[0];
return (callParams = {}) => {
config.debug(`Method called: ${JSON.stringify(methodSpecObject)}`);
return callGamma(methodSpecObject, callParams);
};
};
// Availability methods
export const gammaAllContactInterests = create("AllContactInterests");
export const gammaBookingETicketExportRequest = create("BookingETicketExportRequest");
export const gammaBookingStatusUpdateCheck = create("BookingStatusUpdateCheck");
export const gammaContactInterests = create("ContactInterests");
export const gammaCustomerLoad = create("CustomerLoad");
export const gammaEventEditList = create("EventEditList");
export const gammaEventListLoad = create("EventListLoad");
export const gammaEventsOnlyListLoad = create("EventsOnlyListLoad");
export const gammaGetBookingHistory = create("GetBookingHistory");
export const gammaGetBookingStatusList = create("GetBookingStatusList");
export const gammaGetTourList = create("GetTourList");
export const gammaProductListLoad = create("ProductListLoad");
export const gammaProductMapListLoad = create("ProductMapListLoad");
export const gammaRedeemedBookings = create("RedeemedBookings");
export const gammaResourceDatesListLoad = create("ResourceDatesListLoad");
export const gammaResourceListByViewByDateLoad = create("ResourceListByViewByDateLoad");
export const gammaResourceListByViewLoad = create("ResourceListByViewLoad");
export const gammaResourceListLoad = create("ResourceListLoad");
export const gammaResourceViewListLoad = create("ResourceViewListLoad");
export const gammaViewResourcesLoad = create("ViewResourcesLoad");
export const gammaVoucherDiscountCheck = create("VoucherDiscountCheck");
export const gammaVoucherListLoad = create("VoucherListLoad");
// These methods seem to be unsupported by the Gamma API (based on testing in May 2018).
// They are not made available individually here, to discourage their use.
//export const gammaResourceDatesNotAvailable = create("ResourceDatesNotAvailable");
//export const gammaResourceListByViewByDateLoadLight = create("ResourceListByViewByDateLoadLight");
// Bookings methods
export const gammaAmendBooking = create("AmendBooking");
export const gammaBookingAllSave = create("BookingAllSave");
export const gammaCancelBookingRequest = create("CancelBookingRequest");
export const gammaRemoveContactInterests = create("RemoveContactInterests");
export const gammaSaveCustomerDetails = create("SaveCustomerDetails");
export const gammaUpdateBooking = create("UpdateBooking");
export const gammaUpdateBookingStatus = create("UpdateBookingStatus");
// Reservation methods
export const gammaBookAvailableSpacesRequest = create("BookAvailableSpacesRequest");
export const gammaCancelBookAvailableSpaces = create("CancelBookAvailableSpaces");
export const gammaReserveXTSeats = create("ReserveXTSeats");
export const gammaCancelSeats = create("CancelSeats");
// Membership methods
export const gammaChangeMemberDetails = create("ChangeMemberDetails");
export const gammaMembershipPurchase = create("MembershipPurchase");
export const gammaMembershipCancellation = create("MembershipCancellation");
export const gammaMembershipSubscriptionsLoad = create("MembershipSubscriptionsLoad");
export const gammaModifiedMembers = create("ModifiedMembers");
const availabilityMethods = [
{
name: "AllContactInterests",
type: "XMLAllContactInterestRequest",
responseWrapper: "XMLAllContactInterestsResponse",
returnType: false,
endpoint: "availability",
inputFormat: {},
},
{
name: "BookingETicketExportRequest",
type: "XMLBookingETicketExportRequest",
responseWrapper: "BookingTicketExportList",
returnType: "BookingticketList",
endpoint: "availability",
inputFormat: {
BookedDate: "Mandatory",
},
},
{
name: "BookingStatusUpdateCheck",
type: "XMLBookingStatusUpdateCheckRequest",
responseWrapper: "XMLBookingStatusUpdateCheckResponse",
returnType: false,
endpoint: "availability",
inputFormat: {
CheckDate: "Mandatory",
},
},
{
name: "ContactInterests",
type: "XMLContactInterestRequest",
responseWrapper: "XMLContactInterestsResponse",
returnType: false,
endpoint: "availability",
inputFormat: {
myContactID: "Mandatory",
},
},
{
name: "CustomerLoad",
type: "XMLCustomerRequest",
responseWrapper: "XMLCustomer",
returnType: false,
endpoint: "availability",
inputFormat: {
ID: "Optional",
Email: "Recommended",
Postcode: "Recommended",
Lastname: "Recommended",
Password: "Optional",
MemberNumber: "Optional",
},
},
{
name: "EventEditList",
type: "XMLEventRequest",
responseWrapper: "ResourceList",
returnType: "ResList",
endpoint: "availability",
inputFormat: {
ResView: "Mandatory",
RangeStartDate: "Recommended",
RangeEndDate: "Recommended",
},
},
{
name: "EventListLoad",
type: "XMLEventRequest",
responseWrapper: "ResourceList",
returnType: "ResList",
endpoint: "availability",
inputFormat: {
ResViewID: "Mandatory",
RangeStartDate: "Recommended",
RangeEndDate: "Recommended",
},
},
{
name: "EventsOnlyListLoad",
type: "XMLEventsOnlyRequest",
responseWrapper: "ResourceList",
returnType: "ResList",
endpoint: "availability",
inputFormat: {
RangeStartDate: "Recommended",
RangeEndDate: "Recommended",
ResView: "Recommended",
EventCode: "Optional",
ShowProductMap: "Optional",
},
},
{
name: "GetBookingHistory",
type: "XMLGetBookingHistoryRequest",
responseWrapper: "XMLGetBookingHistoryResponse",
returnType: false,
endpoint: "availability",
inputFormat: {
CustomerCode: "Mandatory",
VisitStartDate: "Recommended",
VisitEndDate: "Recommended",
Source: "Optional",
Status: "Optional",
},
},
{
name: "GetBookingStatusList",
type: "XMLGetBookingStatusListRequest",
responseWrapper: "XMLGetBookingStatusListResponse",
returnType: false,
endpoint: "availability",
inputFormat: {},
},
{
name: "GetTourList",
type: "XMLTourListRequest",
responseWrapper: "XMLTourListResponse",
returnType: false,
endpoint: "availability",
inputFormat: {
TourCode: "Mandatory",
},
},
{
name: "ProductListLoad",
type: "XMLProductRequest",
responseWrapper: "ProductList",
returnType: "ProductList",
endpoint: "availability",
inputFormat: {
CategoryCode: "Mandatory",
ProdCode: "Optional",
ProductTitle: "Optional",
VisitDate: "Optional",
RequestImages: "Optional",
CustomerCode: "Optional",
},
},
{
name: "ProductMapListLoad",
type: "XMLProductMapRequest",
responseWrapper: "XMLProductMaps",
returnType: "ProductMapList",
endpoint: "availability",
inputFormat: {
MapID: "Optional",
},
},
{
name: "RedeemedBookings",
type: "XMLRedeemedBookingsRequest",
responseWrapper: "XMLRedeemedBookingsResponse",
returnType: false,
endpoint: "availability",
inputFormat: {
RangeStartDate: "Mandatory",
RangeEndDate: "Mandatory",
ResView: "Mandatory",
},
},
{
name: "ResourceDatesListLoad",
type: "XMLResourceDatesRequest",
responseWrapper: "XMLResourceDatesResponse",
returnType: "DateList",
endpoint: "availability",
inputFormat: {
RangeStartDate: "Mandatory",
RangeEndDate: "Mandatory",
EventCode: "Mandatory",
},
},
{
name: "ResourceDatesNotAvailable",
// UNSUPPORTED?
type: "XMLResourceDatesNotAvailableRequest",
responseWrapper: "DateList",
returnType: "DateList",
endpoint: "availability",
inputFormat: {
ResStartDate: "Mandatory",
ResEndDate: "Mandatory",
ResViewID: "Recommended",
EventCode: "Optional",
Visitors: "Optional",
},
},
{
name: "ResourceListByViewByDateLoad",
type: "XMLResourceByViewRangeRequest",
responseWrapper: "ResourceList",
returnType: "ResList",
endpoint: "availability",
inputFormat: {
ResStartDate: "Mandatory",
ResEndDate: "Mandatory",
ResCode: "Optional",
ResView: "Mandatory",
EventCode: "Optional",
ShowProductMap: "Optional",
},
},
{
name: "ResourceListByViewByDateLoadLight",
// UNSUPPORTED?
type: "XMLResourceByViewLightRequest",
responseWrapper: "DateList",
returnType: "DateList",
endpoint: "availability",
inputFormat: {
ResSelectedDate: "Mandatory",
ResViewID: "Mandatory",
EventCode: "Optional",
Visitors: "Optional",
ShowProductMap: "Optional",
},
},
{
name: "ResourceListByViewLoad",
type: "XMLResourceByViewRequest",
responseWrapper: "ResourceList",
returnType: "ResList",
endpoint: "availability",
inputFormat: {
ResDate: "Recommended",
ResCode: "Optional",
ResView: "Mandatory",
ShowProductMap: "Optional",
},
},
{
name: "ResourceListLoad",
type: "XMLResourceRequest",
responseWrapper: "ResourceList",
returnType: "ResList",
endpoint: "availability",
inputFormat: {
ResDate: "Recommended",
ResCode: "Optional",
ShowProductMap: "Optional",
},
},
{
name: "ResourceViewListLoad",
type: "XMLResourceViewsRequest",
responseWrapper: "XMLResourceViews",
returnType: "ResourceViewList",
endpoint: "availability",
inputFormat: {
ResID: "Optional",
},
},
{
name: "ViewResourcesLoad",
type: "XMLViewResources",
responseWrapper: "ResourceList",
returnType: "ResList",
endpoint: "availability",
inputFormat: {
ResView: "Mandatory",
ShowProductMap: "Optional",
},
},
{
name: "VoucherDiscountCheck",
type: "XMLVoucherDiscountCheck",
responseWrapper: "XMLVoucherDiscountCheckResponse",
returnType: false,
endpoint: "availability",
inputFormat: {
VoucherCode: "Mandatory",
Products: "SEE DOCS",
VoucherVisitDate: "Optional",
},
},
{
name: "VoucherListLoad",
type: "XMLVoucherListRequest",
responseWrapper: "VoucherList",
returnType: "VoucherList",
endpoint: "availability",
inputFormat: {
VouchCode: "Optional",
},
},
];
export default availabilityMethods;
const bookingsMethods = [
{
name: "AmendBooking",
type: "XMLAmendBookingRequest",
responseWrapper: "XMLAmendBookingResponse",
returnType: false,
endpoint: "bookings",
inputFormat: {
BookingList: {
Bookings: "SEE DOCS",
PaymentItem: "SEE DOCS",
},
},
},
{
name: "BookingAllSave",
type: "BookingList",
responseWrapper: "XMLSaveBookResponseList",
returnType: "SavedBookingList",
endpoint: "bookings",
inputFormat: {
Bookings: "SEE DOCS",
PaymentItem: "SEE DOCS",
},
},
{
name: "CancelBookingRequest",
type: "XMLCancelBookingRequest",
responseWrapper: "XMLCancelBookingResponse",
returnType: false,
endpoint: "bookings",
inputFormat: {
BookingRef: "Mandatory",
mPayment: "SEE DOCS",
},
},
{
name: "RemoveContactInterests",
type: "XMLRemoveContactInterestRequest",
responseWrapper: "XMLRemoveContactInterestResponse",
returnType: false,
endpoint: "bookings",
inputFormat: {
ContactID: "Mandatory",
Interests: "SEE DOCS",
},
},
{
name: "SaveCustomerDetails",
type: "Customer",
responseWrapper: "XMLCustomer",
returnType: false,
endpoint: "bookings",
inputFormat: {
Email: "Mandatory",
CCODE: "Optional",
Title: "Recommended",
First: "Mandatory",
Middle: "Optional",
Last: "Mandatory",
HouseNo: "Recommended",
Add1: "Recommended",
Add2: "Optional",
Add3: "Optional",
Add4: "Optional",
City: "Recommended",
County: "Recommended",
PCode: "Recommended",
Country: "Recommended",
TelNo: "Recommended",
EvTelNo: "Optional",
MailingList: "Optional",
Password: "Recommended",
ConsentMail: "Mandatory",
ConsentPhone: "Mandatory",
ConsentSMS: "Mandatory",
ConsentEmail: "Mandatory",
},
},
{
name: "UpdateBooking",
type: "XMLUpdateBookingRequest",
responseWrapper: "XMLUpdateBookingResponse",
returnType: false,
endpoint: "bookings",
inputFormat: {
BookingRef: "Mandatory",
Customer: "SEE DOCS",
Products: "SEE DOCS",
UDFList: "SEE DOCS",
PaymentItem: "SEE DOCS",
},
},
{
name: "UpdateBookingStatus",
type: "XMLUpdateBookingStatusRequest",
responseWrapper: "XMLUpdateBookingStatusResponse",
returnType: false,
endpoint: "bookings",
inputFormat: {
BookingRef: "Mandatory",
BookingStatus: {
ID: "Mandatory",
BookingStatus: "Recommended",
},
},
},
];
export default bookingsMethods;
import reservationMethods from "./reservation-methods";
import bookingsMethods from "./bookings-methods";
import availabilityMethods from "./availability-methods";
import membershipMethods from "./membership-methods";
const gammaMethods = [...reservationMethods, ...bookingsMethods, ...availabilityMethods, ...membershipMethods];
export default gammaMethods;
const membershipMethods = [
{
// Change Member Details (Batch)
name: "ChangeMemberDetails",
type: "XMLChangeMemberDetailsRequest",
responseWrapper: "XMLChangeMemberDetailsResponse",
returnType: false,
endpoint: "membership",
inputFormat: {
Members: "SEE DOCS",
},
},
{
// Create Membership / Update Membership
name: "MembershipPurchase",
type: "XMLMembershipPurchaseRequest",
responseWrapper: "XMLMembershipPurchaseResponse",
returnType: false,
endpoint: "membership",
inputFormat: {
MemberNumber: "Mandatory",
GiftAid: "Mandatory",
Customer: "SEE DOCS",
Products: "SEE DOCS",
Joints: "SEE DOCS",
PaymentItem: "SEE DOCS",
},
},
{
name: "MembershipCancellation",
type: "XMLMembershipCancellationRequest",
responseWrapper: "XMLMembershipCancellationResponse",
returnType: false,
endpoint: "membership",
inputFormat: {
MembershipNumber: "Recommended",
PersonRef: "Recommended",
MembershipType: "Recommended",
MemberName: "Optional",
Joints: "SEE DOCS",
},
},
{
// Membership Load
name: "MembershipSubscriptionsLoad",
type: "XMLMemberRequest",
responseWrapper: "MembershipList",
returnType: "MembershipList",
endpoint: "membership",
inputFormat: {
Email: "Recommended",
MemberNumber: "Recommended",
ID: "Recommended",
},
},
{
name: "ModifiedMembers",
type: "XMLModifiedMembersRequest",
responseWrapper: "XMLModifiedMembersResponse",
returnType: false,
endpoint: "membership",
inputFormat: {
StartDate: "Mandatory",
EndDate: "Mandatory",
},
},
/*
{
name: "CreateCustomer",
alias: "bookings.SaveCustomerDetails",
},
{
name: "CustomerLoad",
alias: "availability.CustomerLoad",
},
{
name: "ProductListLoad",
alias: "availability.ProductListLoad",
},
{
name: "UpdateCustomer",
alias: "bookings.SaveCustomerDetails",
},
{
name: "VoucherDiscountCheck",
alias: "availability.VoucherDiscountCheck",
},
*/
];
export default membershipMethods;
const reservationMethods = [
{
name: "BookAvailableSpacesRequest",
type: "XMLBookAvailableSpacesRequest",
responseWrapper: "XMLBookAvailableSpacesResponse",
returnType: false,
endpoint: "reservation",
inputFormat: {
VisitDate: "Mandatory",
ResID: "Mandatory",
SessionID: "Mandatory",
VisitorQty: "Mandatory",
},
},
{
name: "CancelBookAvailableSpaces",
type: "XMLCancelBookAvailableSpacesRequest",
responseWrapper: "XMLItemSaveResponse",
returnType: false,
endpoint: "reservation",
inputFormat: {
ID: "Mandatory",
ResID: "Optional",
VisitDate: "Optional",
VisitorQty: "Optional",
},
},
{
name: "ReserveXTSeats",
type: "XMLXTSeatReserveRequest",
responseWrapper: "XMLXTSeatReserveResponse",
returnType: false,
endpoint: "reservation",
inputFormat: {
Seats: "SEE DOCS",
EventResID: "Mandatory",
},
},
{
name: "CancelSeats",
type: "XMLCancelSeatRequest",
responseWrapper: "XMLCancelSeatResponse",
returnType: false,
endpoint: "reservation",
inputFormat: {
Seats: "SEE DOCS",
},
},
];
export default reservationMethods;
// Utility parsing and wrapping functions for calls to Gamma
import convert from "xml-js";
// INPUT WRAPPERS
const parseInputField = (fieldContents, fieldKey) => {
if (fieldKey === "GammaInputType" || fieldKey === "GammaResponseType")
return { _attributes: { "xsi:type": fieldContents } };
if (fieldContents.constructor === Object) return { [fieldKey]: sanitise(fieldContents) };
if (Array.isArray(fieldContents)) {
const arrayOfParsedObjects = fieldContents.map((singleInputObject) => {
return sanitise(singleInputObject);
});
return { [fieldKey]: arrayOfParsedObjects };
}
return { [fieldKey]: fieldContents };
};
const sanitise = (callObject) => {
const sanitised = Object.keys(callObject).reduce((distilledObject, key) => {
return { ...distilledObject, ...parseInputField(callObject[key], key) };
}, {});
return sanitised;
};
export const getXml = (callObject, method) => {
const sanitisedCallObject = sanitise(callObject);
const fullCall = {
_declaration: { _attributes: { version: "1.0", encoding: "utf-8" } },
XMLRequest: {
_attributes: {
"xmlns:xsd": "http://www.w3.org/2001/XMLSchema",
"xmlns:xsi": "http://www.w3.org/2001/XMLSchema-instance",
},
Description: { _text: method.name },
Item: { _attributes: { "xsi:type": method.type }, _text: "", ...sanitisedCallObject },
},
};
const xmlInner = convert.js2xml(fullCall, { compact: true, spaces: 2, fullTagEmptyElement: true });
const xmlWrapped = convert.js2xml({ _cdata: xmlInner }, { compact: true, spaces: 2, fullTagEmptyElement: true });
return xmlWrapped;
};
// OUTPUT PARSERS
const parseResponseField = (fieldContents, fieldKey, methodSpecs) => {
if (fieldContents.constructor === Object && Object.keys(fieldContents).length === 0) return { [fieldKey]: "" };
if (
methodSpecs.returnType === false &&
fieldKey === "_attributes" &&
fieldContents.hasOwnProperty("xmlns:xsi") &&
fieldContents.hasOwnProperty("xmlns:xsd")
)
return { GammaResponseType: methodSpecs.responseWrapper };
if (fieldKey === "_attributes" && fieldContents.hasOwnProperty("xsi:type"))
return { GammaResponseType: fieldContents["xsi:type"] };
if (fieldContents.hasOwnProperty("_text")) return { [fieldKey]: fieldContents["_text"] };
if (fieldContents.hasOwnProperty("anyType"))
return { [fieldKey]: processAnyType(fieldContents.anyType, methodSpecs) };
if (fieldContents.hasOwnProperty(fieldKey))
return { [fieldKey]: parseResponseField(fieldContents[fieldKey], fieldKey) };
if (fieldContents.constructor === Object && Object.keys(fieldContents).length !== 0) {
const formattedContents = Object.keys(fieldContents).reduce((distilledObject, key) => {
return { ...distilledObject, ...parseResponseField(fieldContents[key], key, methodSpecs) };
}, {});
return { [fieldKey]: formattedContents };
}
return { [fieldKey]: fieldContents };
};
const processAnyType = (anyType, methodSpecs) => {
// A single <anyType></anyType> response needs converted for the array operations to work
const anyTypeArray = Array.isArray(anyType) ? anyType : new Array(anyType);
const reduced = anyTypeArray.map((verboseObject) => {
const keys = Object.keys(verboseObject);
const distilled = keys.reduce((distilledObject, key) => {
return { ...distilledObject, ...parseResponseField(verboseObject[key], key, methodSpecs) };
}, {});
return distilled;
});
return reduced;
};
export const parseResponse = (rawResult, methodSpecs) => {
const jsResponse = convert.xml2js(rawResult.ReceiveDataResult, { compact: true });
if (jsResponse.hasOwnProperty("LPUnsupported"))
return { Message: `The Gamma server responded: ${jsResponse.LPUnsupported.MessageResponse._text}` };
const checkableExtraction = methodSpecs.returnType
? jsResponse[methodSpecs.responseWrapper][methodSpecs.returnType]
: jsResponse[methodSpecs.responseWrapper];
if (Object.keys(checkableExtraction).length === 0 && checkableExtraction.constructor === Object) return {}; // Empty response from Gamma
const anyType = methodSpecs.returnType ? checkableExtraction.anyType : checkableExtraction;
return processAnyType(anyType, methodSpecs);
};
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
# yarn lockfile v1
abbrev@1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8"
ajv@^5.1.0:
version "5.5.2"
resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.5.2.tgz#73b5eeca3fab653e3d3f9422b341ad42205dc965"
dependencies:
co "^4.6.0"
fast-deep-equal "^1.0.0"
fast-json-stable-stringify "^2.0.0"
json-schema-traverse "^0.3.0"
ansi-regex@^2.0.0:
version "2.1.1"
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
ansi-styles@^2.2.1:
version "2.2.1"
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
anymatch@^1.3.0:
version "1.3.2"
resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.2.tgz#553dcb8f91e3c889845dfdba34c77721b90b9d7a"
dependencies:
micromatch "^2.1.5"
normalize-path "^2.0.0"
aproba@^1.0.3:
version "1.2.0"
resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a"
are-we-there-yet@~1.1.2:
version "1.1.4"
resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz#bb5dca382bb94f05e15194373d16fd3ba1ca110d"
dependencies:
delegates "^1.0.0"
readable-stream "^2.0.6"
arr-diff@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf"
dependencies:
arr-flatten "^1.0.1"
arr-flatten@^1.0.1:
version "1.1.0"
resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1"
array-unique@^0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53"
asn1@~0.2.3:
version "0.2.3"
resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86"
assert-plus@1.0.0, assert-plus@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"
async-each@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d"
asynckit@^0.4.0:
version "0.4.0"
resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
aws-sign2@~0.7.0:
version "0.7.0"
resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8"
aws4@^1.6.0:
version "1.7.0"
resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.7.0.tgz#d4d0e9b9dbfca77bf08eeb0a8a471550fe39e289"
babel-cli@^6.26.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-cli/-/babel-cli-6.26.0.tgz#502ab54874d7db88ad00b887a06383ce03d002f1"
dependencies:
babel-core "^6.26.0"
babel-polyfill "^6.26.0"
babel-register "^6.26.0"
babel-runtime "^6.26.0"
commander "^2.11.0"
convert-source-map "^1.5.0"
fs-readdir-recursive "^1.0.0"
glob "^7.1.2"
lodash "^4.17.4"
output-file-sync "^1.1.2"
path-is-absolute "^1.0.1"
slash "^1.0.0"
source-map "^0.5.6"
v8flags "^2.1.1"
optionalDependencies:
chokidar "^1.6.1"
babel-code-frame@^6.26.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b"
dependencies:
chalk "^1.1.3"
esutils "^2.0.2"
js-tokens "^3.0.2"
babel-core@^6.26.0:
version "6.26.3"
resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.3.tgz#b2e2f09e342d0f0c88e2f02e067794125e75c207"
dependencies:
babel-code-frame "^6.26.0"
babel-generator "^6.26.0"
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.4"
minimatch "^3.0.4"
path-is-absolute "^1.0.1"
private "^0.1.8"
slash "^1.0.0"
source-map "^0.5.7"
babel-generator@^6.26.0:
version "6.26.1"
resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.26.1.tgz#1844408d3b8f0d35a404ea7ac180f087a601bd90"
dependencies:
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.4"
source-map "^0.5.7"
trim-right "^1.0.1"
babel-helper-builder-binary-assignment-operator-visitor@^6.24.1:
version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz#cce4517ada356f4220bcae8a02c2b346f9a56664"
dependencies:
babel-helper-explode-assignable-expression "^6.24.1"
babel-runtime "^6.22.0"
babel-types "^6.24.1"
babel-helper-call-delegate@^6.24.1:
version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz#ece6aacddc76e41c3461f88bfc575bd0daa2df8d"
dependencies:
babel-helper-hoist-variables "^6.24.1"
babel-runtime "^6.22.0"
babel-traverse "^6.24.1"
babel-types "^6.24.1"
babel-helper-define-map@^6.24.1:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz#a5f56dab41a25f97ecb498c7ebaca9819f95be5f"
dependencies:
babel-helper-function-name "^6.24.1"
babel-runtime "^6.26.0"
babel-types "^6.26.0"
lodash "^4.17.4"
babel-helper-explode-assignable-expression@^6.24.1:
version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz#f25b82cf7dc10433c55f70592d5746400ac22caa"
dependencies:
babel-runtime "^6.22.0"
babel-traverse "^6.24.1"
babel-types "^6.24.1"
babel-helper-function-name@^6.24.1:
version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz#d3475b8c03ed98242a25b48351ab18399d3580a9"
dependencies:
babel-helper-get-function-arity "^6.24.1"
babel-runtime "^6.22.0"
babel-template "^6.24.1"
babel-traverse "^6.24.1"
babel-types "^6.24.1"
babel-helper-get-function-arity@^6.24.1:
version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz#8f7782aa93407c41d3aa50908f89b031b1b6853d"
dependencies:
babel-runtime "^6.22.0"
babel-types "^6.24.1"
babel-helper-hoist-variables@^6.24.1:
version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz#1ecb27689c9d25513eadbc9914a73f5408be7a76"
dependencies:
babel-runtime "^6.22.0"
babel-types "^6.24.1"
babel-helper-optimise-call-expression@^6.24.1:
version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz#f7a13427ba9f73f8f4fa993c54a97882d1244257"
dependencies:
babel-runtime "^6.22.0"
babel-types "^6.24.1"
babel-helper-regex@^6.24.1:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz#325c59f902f82f24b74faceed0363954f6495e72"
dependencies:
babel-runtime "^6.26.0"
babel-types "^6.26.0"
lodash "^4.17.4"
babel-helper-remap-async-to-generator@^6.24.1:
version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz#5ec581827ad723fecdd381f1c928390676e4551b"
dependencies:
babel-helper-function-name "^6.24.1"
babel-runtime "^6.22.0"
babel-template "^6.24.1"
babel-traverse "^6.24.1"
babel-types "^6.24.1"
babel-helper-replace-supers@^6.24.1:
version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz#bf6dbfe43938d17369a213ca8a8bf74b6a90ab1a"
dependencies:
babel-helper-optimise-call-expression "^6.24.1"
babel-messages "^6.23.0"
babel-runtime "^6.22.0"
babel-template "^6.24.1"
babel-traverse "^6.24.1"
babel-types "^6.24.1"
babel-helpers@^6.24.1:
version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.24.1.tgz#3471de9caec388e5c850e597e58a26ddf37602b2"
dependencies:
babel-runtime "^6.22.0"
babel-template "^6.24.1"
babel-messages@^6.23.0:
version "6.23.0"
resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e"
dependencies:
babel-runtime "^6.22.0"
babel-plugin-check-es2015-constants@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz#35157b101426fd2ffd3da3f75c7d1e91835bbf8a"
dependencies:
babel-runtime "^6.22.0"
babel-plugin-syntax-async-functions@^6.8.0:
version "6.13.0"
resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz#cad9cad1191b5ad634bf30ae0872391e0647be95"
babel-plugin-syntax-exponentiation-operator@^6.8.0:
version "6.13.0"
resolved "https://registry.yarnpkg.com/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz#9ee7e8337290da95288201a6a57f4170317830de"
babel-plugin-syntax-object-rest-spread@^6.8.0:
version "6.13.0"
resolved "https://registry.yarnpkg.com/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz#fd6536f2bce13836ffa3a5458c4903a597bb3bf5"
babel-plugin-syntax-trailing-function-commas@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz#ba0360937f8d06e40180a43fe0d5616fff532cf3"
babel-plugin-transform-async-to-generator@^6.22.0:
version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz#6536e378aff6cb1d5517ac0e40eb3e9fc8d08761"
dependencies:
babel-helper-remap-async-to-generator "^6.24.1"
babel-plugin-syntax-async-functions "^6.8.0"
babel-runtime "^6.22.0"
babel-plugin-transform-es2015-arrow-functions@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz#452692cb711d5f79dc7f85e440ce41b9f244d221"
dependencies:
babel-runtime "^6.22.0"
babel-plugin-transform-es2015-block-scoped-functions@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz#bbc51b49f964d70cb8d8e0b94e820246ce3a6141"
dependencies:
babel-runtime "^6.22.0"
babel-plugin-transform-es2015-block-scoping@^6.23.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz#d70f5299c1308d05c12f463813b0a09e73b1895f"
dependencies:
babel-runtime "^6.26.0"
babel-template "^6.26.0"
babel-traverse "^6.26.0"
babel-types "^6.26.0"
lodash "^4.17.4"
babel-plugin-transform-es2015-classes@^6.23.0:
version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz#5a4c58a50c9c9461e564b4b2a3bfabc97a2584db"
dependencies:
babel-helper-define-map "^6.24.1"
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.22.0"
babel-template "^6.24.1"
babel-traverse "^6.24.1"
babel-types "^6.24.1"
babel-plugin-transform-es2015-computed-properties@^6.22.0:
version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz#6fe2a8d16895d5634f4cd999b6d3480a308159b3"
dependencies:
babel-runtime "^6.22.0"
babel-template "^6.24.1"
babel-plugin-transform-es2015-destructuring@^6.23.0:
version "6.23.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz#997bb1f1ab967f682d2b0876fe358d60e765c56d"
dependencies:
babel-runtime "^6.22.0"
babel-plugin-transform-es2015-duplicate-keys@^6.22.0:
version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz#73eb3d310ca969e3ef9ec91c53741a6f1576423e"
dependencies:
babel-runtime "^6.22.0"
babel-types "^6.24.1"
babel-plugin-transform-es2015-for-of@^6.23.0:
version "6.23.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz#f47c95b2b613df1d3ecc2fdb7573623c75248691"
dependencies:
babel-runtime "^6.22.0"
babel-plugin-transform-es2015-function-name@^6.22.0:
version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz#834c89853bc36b1af0f3a4c5dbaa94fd8eacaa8b"
dependencies:
babel-helper-function-name "^6.24.1"
babel-runtime "^6.22.0"
babel-types "^6.24.1"
babel-plugin-transform-es2015-literals@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz#4f54a02d6cd66cf915280019a31d31925377ca2e"
dependencies:
babel-runtime "^6.22.0"
babel-plugin-transform-es2015-modules-amd@^6.22.0, babel-plugin-transform-es2015-modules-amd@^6.24.1:
version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz#3b3e54017239842d6d19c3011c4bd2f00a00d154"
dependencies:
babel-plugin-transform-es2015-modules-commonjs "^6.24.1"
babel-runtime "^6.22.0"
babel-template "^6.24.1"
babel-plugin-transform-es2015-modules-commonjs@^6.23.0, babel-plugin-transform-es2015-modules-commonjs@^6.24.1:
version "6.26.2"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz#58a793863a9e7ca870bdc5a881117ffac27db6f3"
dependencies:
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@^6.23.0:
version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz#ff89a142b9119a906195f5f106ecf305d9407d23"
dependencies:
babel-helper-hoist-variables "^6.24.1"
babel-runtime "^6.22.0"
babel-template "^6.24.1"
babel-plugin-transform-es2015-modules-umd@^6.23.0:
version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz#ac997e6285cd18ed6176adb607d602344ad38468"
dependencies:
babel-plugin-transform-es2015-modules-amd "^6.24.1"
babel-runtime "^6.22.0"
babel-template "^6.24.1"
babel-plugin-transform-es2015-object-super@^6.22.0:
version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz#24cef69ae21cb83a7f8603dad021f572eb278f8d"
dependencies:
babel-helper-replace-supers "^6.24.1"
babel-runtime "^6.22.0"
babel-plugin-transform-es2015-parameters@^6.23.0:
version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz#57ac351ab49caf14a97cd13b09f66fdf0a625f2b"
dependencies:
babel-helper-call-delegate "^6.24.1"
babel-helper-get-function-arity "^6.24.1"
babel-runtime "^6.22.0"
babel-template "^6.24.1"
babel-traverse "^6.24.1"
babel-types "^6.24.1"
babel-plugin-transform-es2015-shorthand-properties@^6.22.0:
version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz#24f875d6721c87661bbd99a4622e51f14de38aa0"
dependencies:
babel-runtime "^6.22.0"
babel-types "^6.24.1"
babel-plugin-transform-es2015-spread@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz#d6d68a99f89aedc4536c81a542e8dd9f1746f8d1"
dependencies:
babel-runtime "^6.22.0"
babel-plugin-transform-es2015-sticky-regex@^6.22.0:
version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz#00c1cdb1aca71112cdf0cf6126c2ed6b457ccdbc"
dependencies:
babel-helper-regex "^6.24.1"
babel-runtime "^6.22.0"
babel-types "^6.24.1"
babel-plugin-transform-es2015-template-literals@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz#a84b3450f7e9f8f1f6839d6d687da84bb1236d8d"
dependencies:
babel-runtime "^6.22.0"
babel-plugin-transform-es2015-typeof-symbol@^6.23.0:
version "6.23.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz#dec09f1cddff94b52ac73d505c84df59dcceb372"
dependencies:
babel-runtime "^6.22.0"
babel-plugin-transform-es2015-unicode-regex@^6.22.0:
version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz#d38b12f42ea7323f729387f18a7c5ae1faeb35e9"
dependencies:
babel-helper-regex "^6.24.1"
babel-runtime "^6.22.0"
regexpu-core "^2.0.0"
babel-plugin-transform-exponentiation-operator@^6.22.0:
version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz#2ab0c9c7f3098fa48907772bb813fe41e8de3a0e"
dependencies:
babel-helper-builder-binary-assignment-operator-visitor "^6.24.1"
babel-plugin-syntax-exponentiation-operator "^6.8.0"
babel-runtime "^6.22.0"
babel-plugin-transform-object-rest-spread@^6.26.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz#0f36692d50fef6b7e2d4b3ac1478137a963b7b06"
dependencies:
babel-plugin-syntax-object-rest-spread "^6.8.0"
babel-runtime "^6.26.0"
babel-plugin-transform-regenerator@^6.22.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz#e0703696fbde27f0a3efcacf8b4dca2f7b3a8f2f"
dependencies:
regenerator-transform "^0.10.0"
babel-plugin-transform-strict-mode@^6.24.1:
version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz#d5faf7aa578a65bbe591cf5edae04a0c67020758"
dependencies:
babel-runtime "^6.22.0"
babel-types "^6.24.1"
babel-polyfill@^6.26.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-polyfill/-/babel-polyfill-6.26.0.tgz#379937abc67d7895970adc621f284cd966cf2153"
dependencies:
babel-runtime "^6.26.0"
core-js "^2.5.0"
regenerator-runtime "^0.10.5"
babel-preset-env@^1.6.1:
version "1.6.1"
resolved "https://registry.yarnpkg.com/babel-preset-env/-/babel-preset-env-1.6.1.tgz#a18b564cc9b9afdf4aae57ae3c1b0d99188e6f48"
dependencies:
babel-plugin-check-es2015-constants "^6.22.0"
babel-plugin-syntax-trailing-function-commas "^6.22.0"
babel-plugin-transform-async-to-generator "^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.23.0"
babel-plugin-transform-es2015-classes "^6.23.0"
babel-plugin-transform-es2015-computed-properties "^6.22.0"
babel-plugin-transform-es2015-destructuring "^6.23.0"
babel-plugin-transform-es2015-duplicate-keys "^6.22.0"
babel-plugin-transform-es2015-for-of "^6.23.0"
babel-plugin-transform-es2015-function-name "^6.22.0"
babel-plugin-transform-es2015-literals "^6.22.0"
babel-plugin-transform-es2015-modules-amd "^6.22.0"
babel-plugin-transform-es2015-modules-commonjs "^6.23.0"
babel-plugin-transform-es2015-modules-systemjs "^6.23.0"
babel-plugin-transform-es2015-modules-umd "^6.23.0"
babel-plugin-transform-es2015-object-super "^6.22.0"
babel-plugin-transform-es2015-parameters "^6.23.0"
babel-plugin-transform-es2015-shorthand-properties "^6.22.0"
babel-plugin-transform-es2015-spread "^6.22.0"
babel-plugin-transform-es2015-sticky-regex "^6.22.0"
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.22.0"
babel-plugin-transform-exponentiation-operator "^6.22.0"
babel-plugin-transform-regenerator "^6.22.0"
browserslist "^2.1.2"
invariant "^2.2.2"
semver "^5.3.0"
babel-register@^6.26.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.26.0.tgz#6ed021173e2fcb486d7acb45c6009a856f647071"
dependencies:
babel-core "^6.26.0"
babel-runtime "^6.26.0"
core-js "^2.5.0"
home-or-tmp "^2.0.0"
lodash "^4.17.4"
mkdirp "^0.5.1"
source-map-support "^0.4.15"
babel-runtime@^6.18.0, babel-runtime@^6.22.0, babel-runtime@^6.26.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe"
dependencies:
core-js "^2.4.0"
regenerator-runtime "^0.11.0"
babel-template@^6.24.1, babel-template@^6.26.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.26.0.tgz#de03e2d16396b069f46dd9fff8521fb1a0e35e02"
dependencies:
babel-runtime "^6.26.0"
babel-traverse "^6.26.0"
babel-types "^6.26.0"
babylon "^6.18.0"
lodash "^4.17.4"
babel-traverse@^6.24.1, babel-traverse@^6.26.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee"
dependencies:
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.8"
globals "^9.18.0"
invariant "^2.2.2"
lodash "^4.17.4"
babel-types@^6.19.0, babel-types@^6.24.1, babel-types@^6.26.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497"
dependencies:
babel-runtime "^6.26.0"
esutils "^2.0.2"
lodash "^4.17.4"
to-fast-properties "^1.0.3"
babylon@^6.18.0:
version "6.18.0"
resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3"
balanced-match@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
bcrypt-pbkdf@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz#63bc5dcb61331b92bc05fd528953c33462a06f8d"
dependencies:
tweetnacl "^0.14.3"
binary-extensions@^1.0.0:
version "1.11.0"
resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.11.0.tgz#46aa1751fb6a2f93ee5e689bb1087d4b14c6c205"
bluebird@^3.5.0:
version "3.5.1"
resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.1.tgz#d9551f9de98f1fcda1e683d17ee91a0602ee2eb9"
boom@4.x.x:
version "4.3.1"
resolved "https://registry.yarnpkg.com/boom/-/boom-4.3.1.tgz#4f8a3005cb4a7e3889f749030fd25b96e01d2e31"
dependencies:
hoek "4.x.x"
boom@5.x.x:
version "5.2.0"
resolved "https://registry.yarnpkg.com/boom/-/boom-5.2.0.tgz#5dd9da6ee3a5f302077436290cb717d3f4a54e02"
dependencies:
hoek "4.x.x"
brace-expansion@^1.1.7:
version "1.1.11"
resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
dependencies:
balanced-match "^1.0.0"
concat-map "0.0.1"
braces@^1.8.2:
version "1.8.5"
resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7"
dependencies:
expand-range "^1.8.1"
preserve "^0.2.0"
repeat-element "^1.1.2"
browserslist@^2.1.2:
version "2.11.3"
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-2.11.3.tgz#fe36167aed1bbcde4827ebfe71347a2cc70b99b2"
dependencies:
caniuse-lite "^1.0.30000792"
electron-to-chromium "^1.3.30"
buffer-from@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.0.0.tgz#4cb8832d23612589b0406e9e2956c17f06fdf531"
caniuse-lite@^1.0.30000792:
version "1.0.30000830"
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000830.tgz#cb96b8a2dd3cbfe04acea2af3c4e894249095328"
caseless@~0.12.0:
version "0.12.0"
resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
chalk@^1.1.3:
version "1.1.3"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
dependencies:
ansi-styles "^2.2.1"
escape-string-regexp "^1.0.2"
has-ansi "^2.0.0"
strip-ansi "^3.0.0"
supports-color "^2.0.0"
chokidar@^1.6.1:
version "1.7.0"
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468"
dependencies:
anymatch "^1.3.0"
async-each "^1.0.0"
glob-parent "^2.0.0"
inherits "^2.0.1"
is-binary-path "^1.0.0"
is-glob "^2.0.0"
path-is-absolute "^1.0.0"
readdirp "^2.0.0"
optionalDependencies:
fsevents "^1.0.0"
chownr@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.0.1.tgz#e2a75042a9551908bebd25b8523d5f9769d79181"
co@^4.6.0:
version "4.6.0"
resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184"
code-point-at@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77"
combined-stream@1.0.6, combined-stream@~1.0.5:
version "1.0.6"
resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.6.tgz#723e7df6e801ac5613113a7e445a9b69cb632818"
dependencies:
delayed-stream "~1.0.0"
commander@^2.11.0:
version "2.15.1"
resolved "https://registry.yarnpkg.com/commander/-/commander-2.15.1.tgz#df46e867d0fc2aec66a34662b406a9ccafff5b0f"
concat-map@0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
concat-stream@^1.5.1:
version "1.6.2"
resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34"
dependencies:
buffer-from "^1.0.0"
inherits "^2.0.3"
readable-stream "^2.2.2"
typedarray "^0.0.6"
console-control-strings@^1.0.0, console-control-strings@~1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e"
convert-source-map@^1.5.0, convert-source-map@^1.5.1:
version "1.5.1"
resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.1.tgz#b8278097b9bc229365de5c62cf5fcaed8b5599e5"
core-js@^2.4.0, core-js@^2.5.0:
version "2.5.5"
resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.5.tgz#b14dde936c640c0579a6b50cabcc132dd6127e3b"
core-util-is@1.0.2, core-util-is@~1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
cryptiles@3.x.x:
version "3.1.2"
resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-3.1.2.tgz#a89fbb220f5ce25ec56e8c4aa8a4fd7b5b0d29fe"
dependencies:
boom "5.x.x"
dashdash@^1.12.0:
version "1.14.1"
resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0"
dependencies:
assert-plus "^1.0.0"
debug@2.6.9, debug@^2.1.2, debug@^2.6.8, debug@^2.6.9:
version "2.6.9"
resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
dependencies:
ms "2.0.0"
debug@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261"
dependencies:
ms "2.0.0"
deep-extend@~0.4.0:
version "0.4.2"
resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.2.tgz#48b699c27e334bf89f10892be432f6e4c7d34a7f"
delayed-stream@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
delegates@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a"
depd@~1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9"
destroy@~1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80"
detect-indent@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208"
dependencies:
repeating "^2.0.0"
detect-libc@^1.0.2:
version "1.0.3"
resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b"
ecc-jsbn@~0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505"
dependencies:
jsbn "~0.1.0"
ee-first@1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
ejs@~2.5.5:
version "2.5.9"
resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.5.9.tgz#7ba254582a560d267437109a68354112475b0ce5"
electron-to-chromium@^1.3.30:
version "1.3.44"
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.44.tgz#ef6b150a60d523082388cadad88085ecd2fd4684"
encodeurl@~1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59"
escape-html@~1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
escape-string-regexp@^1.0.2:
version "1.0.5"
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
esutils@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b"
etag@~1.8.1:
version "1.8.1"
resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887"
expand-brackets@^0.1.4:
version "0.1.5"
resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b"
dependencies:
is-posix-bracket "^0.1.0"
expand-range@^1.8.1:
version "1.8.2"
resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337"
dependencies:
fill-range "^2.1.0"
extend@~3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444"
extglob@^0.3.1:
version "0.3.2"
resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1"
dependencies:
is-extglob "^1.0.0"
extsprintf@1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05"
extsprintf@^1.2.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f"
fast-deep-equal@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz#c053477817c86b51daa853c81e059b733d023614"
fast-json-stable-stringify@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2"
filename-regex@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26"
fill-range@^2.1.0:
version "2.2.3"
resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.3.tgz#50b77dfd7e469bc7492470963699fe7a8485a723"
dependencies:
is-number "^2.1.0"
isobject "^2.0.0"
randomatic "^1.1.3"
repeat-element "^1.1.2"
repeat-string "^1.5.2"
finalhandler@^1.0.3:
version "1.1.1"
resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.1.tgz#eebf4ed840079c83f4249038c9d703008301b105"
dependencies:
debug "2.6.9"
encodeurl "~1.0.2"
escape-html "~1.0.3"
on-finished "~2.3.0"
parseurl "~1.3.2"
statuses "~1.4.0"
unpipe "~1.0.0"
first-chunk-stream@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/first-chunk-stream/-/first-chunk-stream-0.1.0.tgz#755d3ec14d49a86e3d2fcc08beead5c0ca2b9c0a"
for-in@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80"
for-own@^0.1.4:
version "0.1.5"
resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce"
dependencies:
for-in "^1.0.1"
forever-agent@~0.6.1:
version "0.6.1"
resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
form-data@~2.3.1:
version "2.3.2"
resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.2.tgz#4970498be604c20c005d4f5c23aecd21d6b49099"
dependencies:
asynckit "^0.4.0"
combined-stream "1.0.6"
mime-types "^2.1.12"
fresh@0.5.2:
version "0.5.2"
resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7"
fs-minipass@^1.2.5:
version "1.2.5"
resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.5.tgz#06c277218454ec288df77ada54a03b8702aacb9d"
dependencies:
minipass "^2.2.1"
fs-readdir-recursive@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz#e32fc030a2ccee44a6b5371308da54be0b397d27"
fs.realpath@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
fsevents@^1.0.0:
version "1.2.2"
resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.2.tgz#4f598f0f69b273188ef4a62ca4e9e08ace314bbf"
dependencies:
nan "^2.9.2"
node-pre-gyp "^0.9.0"
gauge@~2.7.3:
version "2.7.4"
resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7"
dependencies:
aproba "^1.0.3"
console-control-strings "^1.0.0"
has-unicode "^2.0.0"
object-assign "^4.1.0"
signal-exit "^3.0.0"
string-width "^1.0.1"
strip-ansi "^3.0.1"
wide-align "^1.1.0"
getpass@^0.1.1:
version "0.1.7"
resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa"
dependencies:
assert-plus "^1.0.0"
glob-base@^0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4"
dependencies:
glob-parent "^2.0.0"
is-glob "^2.0.0"
glob-parent@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28"
dependencies:
is-glob "^2.0.0"
glob@^7.0.5, glob@^7.1.2:
version "7.1.2"
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15"
dependencies:
fs.realpath "^1.0.0"
inflight "^1.0.4"
inherits "2"
minimatch "^3.0.4"
once "^1.3.0"
path-is-absolute "^1.0.0"
globals@^9.18.0:
version "9.18.0"
resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a"
graceful-fs@^4.1.2, graceful-fs@^4.1.4:
version "4.1.11"
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658"
har-schema@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92"
har-validator@~5.0.3:
version "5.0.3"
resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.0.3.tgz#ba402c266194f15956ef15e0fcf242993f6a7dfd"
dependencies:
ajv "^5.1.0"
har-schema "^2.0.0"
has-ansi@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91"
dependencies:
ansi-regex "^2.0.0"
has-unicode@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9"
hawk@~6.0.2:
version "6.0.2"
resolved "https://registry.yarnpkg.com/hawk/-/hawk-6.0.2.tgz#af4d914eb065f9b5ce4d9d11c1cb2126eecc3038"
dependencies:
boom "4.x.x"
cryptiles "3.x.x"
hoek "4.x.x"
sntp "2.x.x"
hoek@4.x.x:
version "4.2.1"
resolved "https://registry.yarnpkg.com/hoek/-/hoek-4.2.1.tgz#9634502aa12c445dd5a7c5734b572bb8738aacbb"
home-or-tmp@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8"
dependencies:
os-homedir "^1.0.0"
os-tmpdir "^1.0.1"
http-errors@~1.6.2:
version "1.6.3"
resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d"
dependencies:
depd "~1.1.2"
inherits "2.0.3"
setprototypeof "1.1.0"
statuses ">= 1.4.0 < 2"
http-signature@~1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1"
dependencies:
assert-plus "^1.0.0"
jsprim "^1.2.2"
sshpk "^1.7.0"
iconv-lite@^0.4.4:
version "0.4.21"
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.21.tgz#c47f8733d02171189ebc4a400f3218d348094798"
dependencies:
safer-buffer "^2.1.0"
ignore-walk@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.1.tgz#a83e62e7d272ac0e3b551aaa82831a19b69f82f8"
dependencies:
minimatch "^3.0.4"
inflight@^1.0.4:
version "1.0.6"
resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
dependencies:
once "^1.3.0"
wrappy "1"
inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.3:
version "2.0.3"
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
ini@~1.3.0:
version "1.3.5"
resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927"
invariant@^2.2.2:
version "2.2.4"
resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6"
dependencies:
loose-envify "^1.0.0"
is-binary-path@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898"
dependencies:
binary-extensions "^1.0.0"
is-buffer@^1.1.5:
version "1.1.6"
resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be"
is-dotfile@^1.0.0:
version "1.0.3"
resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1"
is-equal-shallow@^0.1.3:
version "0.1.3"
resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534"
dependencies:
is-primitive "^2.0.0"
is-extendable@^0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89"
is-extglob@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0"
is-finite@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa"
dependencies:
number-is-nan "^1.0.0"
is-fullwidth-code-point@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb"
dependencies:
number-is-nan "^1.0.0"
is-glob@^2.0.0, is-glob@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863"
dependencies:
is-extglob "^1.0.0"
is-number@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f"
dependencies:
kind-of "^3.0.2"
is-number@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195"
dependencies:
kind-of "^3.0.2"
is-posix-bracket@^0.1.0:
version "0.1.1"
resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4"
is-primitive@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575"
is-typedarray@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
is-utf8@^0.2.0:
version "0.2.1"
resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72"
isarray@1.0.0, isarray@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
isobject@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89"
dependencies:
isarray "1.0.0"
isstream@~0.1.2:
version "0.1.2"
resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
js-tokens@^3.0.0, js-tokens@^3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b"
jsbn@~0.1.0:
version "0.1.1"
resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"
jsesc@^1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b"
jsesc@~0.5.0:
version "0.5.0"
resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d"
json-schema-traverse@^0.3.0:
version "0.3.1"
resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340"
json-schema@0.2.3:
version "0.2.3"
resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13"
json-stringify-safe@~5.0.1:
version "5.0.1"
resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
json5@^0.5.1:
version "0.5.1"
resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821"
jsprim@^1.2.2:
version "1.4.1"
resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2"
dependencies:
assert-plus "1.0.0"
extsprintf "1.3.0"
json-schema "0.2.3"
verror "1.10.0"
kind-of@^3.0.2:
version "3.2.2"
resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64"
dependencies:
is-buffer "^1.1.5"
kind-of@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57"
dependencies:
is-buffer "^1.1.5"
lodash@^3.10.1:
version "3.10.1"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6"
lodash@^4.17.4:
version "4.17.10"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.10.tgz#1b7793cf7259ea38fb3661d4d38b3260af8ae4e7"
loose-envify@^1.0.0:
version "1.3.1"
resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848"
dependencies:
js-tokens "^3.0.0"
micromatch@^2.1.5:
version "2.3.11"
resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565"
dependencies:
arr-diff "^2.0.0"
array-unique "^0.2.1"
braces "^1.8.2"
expand-brackets "^0.1.4"
extglob "^0.3.1"
filename-regex "^2.0.0"
is-extglob "^1.0.0"
is-glob "^2.0.1"
kind-of "^3.0.2"
normalize-path "^2.0.1"
object.omit "^2.0.0"
parse-glob "^3.0.4"
regex-cache "^0.4.2"
mime-db@~1.33.0:
version "1.33.0"
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.33.0.tgz#a3492050a5cb9b63450541e39d9788d2272783db"
mime-types@^2.1.12, mime-types@~2.1.17:
version "2.1.18"
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.18.tgz#6f323f60a83d11146f831ff11fd66e2fe5503bb8"
dependencies:
mime-db "~1.33.0"
mime@1.4.1:
version "1.4.1"
resolved "https://registry.yarnpkg.com/mime/-/mime-1.4.1.tgz#121f9ebc49e3766f311a76e1fa1c8003c4b03aa6"
minimatch@^3.0.2, minimatch@^3.0.4:
version "3.0.4"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
dependencies:
brace-expansion "^1.1.7"
minimist@0.0.8:
version "0.0.8"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
minimist@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
minipass@^2.2.1, minipass@^2.2.4:
version "2.2.4"
resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.2.4.tgz#03c824d84551ec38a8d1bb5bc350a5a30a354a40"
dependencies:
safe-buffer "^5.1.1"
yallist "^3.0.0"
minizlib@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.1.0.tgz#11e13658ce46bc3a70a267aac58359d1e0c29ceb"
dependencies:
minipass "^2.2.1"
mkdirp@^0.5.0, mkdirp@^0.5.1:
version "0.5.1"
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903"
dependencies:
minimist "0.0.8"
ms@2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
nan@^2.9.2:
version "2.10.0"
resolved "https://registry.yarnpkg.com/nan/-/nan-2.10.0.tgz#96d0cd610ebd58d4b4de9cc0c6828cda99c7548f"
needle@^2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/needle/-/needle-2.2.0.tgz#f14efc69cee1024b72c8b21c7bdf94a731dc12fa"
dependencies:
debug "^2.1.2"
iconv-lite "^0.4.4"
sax "^1.2.4"
node-pre-gyp@^0.9.0:
version "0.9.1"
resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.9.1.tgz#f11c07516dd92f87199dbc7e1838eab7cd56c9e0"
dependencies:
detect-libc "^1.0.2"
mkdirp "^0.5.1"
needle "^2.2.0"
nopt "^4.0.1"
npm-packlist "^1.1.6"
npmlog "^4.0.2"
rc "^1.1.7"
rimraf "^2.6.1"
semver "^5.3.0"
tar "^4"
nopt@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d"
dependencies:
abbrev "1"
osenv "^0.1.4"
normalize-path@^2.0.0, normalize-path@^2.0.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9"
dependencies:
remove-trailing-separator "^1.0.1"
npm-bundled@^1.0.1:
version "1.0.3"
resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.3.tgz#7e71703d973af3370a9591bafe3a63aca0be2308"
npm-packlist@^1.1.6:
version "1.1.10"
resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.1.10.tgz#1039db9e985727e464df066f4cf0ab6ef85c398a"
dependencies:
ignore-walk "^3.0.1"
npm-bundled "^1.0.1"
npmlog@^4.0.2:
version "4.1.2"
resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b"
dependencies:
are-we-there-yet "~1.1.2"
console-control-strings "~1.1.0"
gauge "~2.7.3"
set-blocking "~2.0.0"
number-is-nan@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d"
oauth-sign@~0.8.2:
version "0.8.2"
resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43"
object-assign@^4.1.0:
version "4.1.1"
resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
object.omit@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa"
dependencies:
for-own "^0.1.4"
is-extendable "^0.1.1"
on-finished@~2.3.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947"
dependencies:
ee-first "1.1.1"
once@^1.3.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
dependencies:
wrappy "1"
os-homedir@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3"
os-tmpdir@^1.0.0, os-tmpdir@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
osenv@^0.1.4:
version "0.1.5"
resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410"
dependencies:
os-homedir "^1.0.0"
os-tmpdir "^1.0.0"
output-file-sync@^1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/output-file-sync/-/output-file-sync-1.1.2.tgz#d0a33eefe61a205facb90092e826598d5245ce76"
dependencies:
graceful-fs "^4.1.4"
mkdirp "^0.5.1"
object-assign "^4.1.0"
parse-glob@^3.0.4:
version "3.0.4"
resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c"
dependencies:
glob-base "^0.3.0"
is-dotfile "^1.0.0"
is-extglob "^1.0.0"
is-glob "^2.0.0"
parseurl@~1.3.2:
version "1.3.2"
resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.2.tgz#fc289d4ed8993119460c156253262cdc8de65bf3"
path-is-absolute@^1.0.0, path-is-absolute@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
performance-now@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"
preserve@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b"
private@^0.1.6, private@^0.1.8:
version "0.1.8"
resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff"
process-nextick-args@~2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa"
punycode@^1.4.1:
version "1.4.1"
resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e"
qs@~6.5.1:
version "6.5.1"
resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.1.tgz#349cdf6eef89ec45c12d7d5eb3fc0c870343a6d8"
randomatic@^1.1.3:
version "1.1.7"
resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.7.tgz#c7abe9cc8b87c0baa876b19fde83fd464797e38c"
dependencies:
is-number "^3.0.0"
kind-of "^4.0.0"
range-parser@~1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e"
rc@^1.1.7:
version "1.2.6"
resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.6.tgz#eb18989c6d4f4f162c399f79ddd29f3835568092"
dependencies:
deep-extend "~0.4.0"
ini "~1.3.0"
minimist "^1.2.0"
strip-json-comments "~2.0.1"
readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.2.2:
version "2.3.6"
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf"
dependencies:
core-util-is "~1.0.0"
inherits "~2.0.3"
isarray "~1.0.0"
process-nextick-args "~2.0.0"
safe-buffer "~5.1.1"
string_decoder "~1.1.1"
util-deprecate "~1.0.1"
readdirp@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78"
dependencies:
graceful-fs "^4.1.2"
minimatch "^3.0.2"
readable-stream "^2.0.2"
set-immediate-shim "^1.0.1"
regenerate@^1.2.1:
version "1.3.3"
resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.3.3.tgz#0c336d3980553d755c39b586ae3b20aa49c82b7f"
regenerator-runtime@^0.10.5:
version "0.10.5"
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz#336c3efc1220adcedda2c9fab67b5a7955a33658"
regenerator-runtime@^0.11.0:
version "0.11.1"
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9"
regenerator-transform@^0.10.0:
version "0.10.1"
resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.10.1.tgz#1e4996837231da8b7f3cf4114d71b5691a0680dd"
dependencies:
babel-runtime "^6.18.0"
babel-types "^6.19.0"
private "^0.1.6"
regex-cache@^0.4.2:
version "0.4.4"
resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.4.tgz#75bdc58a2a1496cec48a12835bc54c8d562336dd"
dependencies:
is-equal-shallow "^0.1.3"
regexpu-core@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-2.0.0.tgz#49d038837b8dcf8bfa5b9a42139938e6ea2ae240"
dependencies:
regenerate "^1.2.1"
regjsgen "^0.2.0"
regjsparser "^0.1.4"
regjsgen@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7"
regjsparser@^0.1.4:
version "0.1.5"
resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c"
dependencies:
jsesc "~0.5.0"
remove-trailing-separator@^1.0.1:
version "1.1.0"
resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef"
repeat-element@^1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a"
repeat-string@^1.5.2:
version "1.6.1"
resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637"
repeating@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda"
dependencies:
is-finite "^1.0.0"
request@>=2.9.0:
version "2.85.0"
resolved "https://registry.yarnpkg.com/request/-/request-2.85.0.tgz#5a03615a47c61420b3eb99b7dba204f83603e1fa"
dependencies:
aws-sign2 "~0.7.0"
aws4 "^1.6.0"
caseless "~0.12.0"
combined-stream "~1.0.5"
extend "~3.0.1"
forever-agent "~0.6.1"
form-data "~2.3.1"
har-validator "~5.0.3"
hawk "~6.0.2"
http-signature "~1.2.0"
is-typedarray "~1.0.0"
isstream "~0.1.2"
json-stringify-safe "~5.0.1"
mime-types "~2.1.17"
oauth-sign "~0.8.2"
performance-now "^2.1.0"
qs "~6.5.1"
safe-buffer "^5.1.1"
stringstream "~0.0.5"
tough-cookie "~2.3.3"
tunnel-agent "^0.6.0"
uuid "^3.1.0"
rimraf@^2.6.1:
version "2.6.2"
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36"
dependencies:
glob "^7.0.5"
safe-buffer@^5.0.1, safe-buffer@^5.1.1, safe-buffer@~5.1.0, safe-buffer@~5.1.1:
version "5.1.2"
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
safer-buffer@^2.1.0:
version "2.1.2"
resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
sax@>=0.6, sax@^1.2.4:
version "1.2.4"
resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9"
selectn@^0.9.6:
version "0.9.6"
resolved "https://registry.yarnpkg.com/selectn/-/selectn-0.9.6.tgz#bd873a556d18f96d8515fc91503ec6ff398ff9a2"
semver@^5.3.0:
version "5.5.0"
resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab"
send@0.16.2:
version "0.16.2"
resolved "https://registry.yarnpkg.com/send/-/send-0.16.2.tgz#6ecca1e0f8c156d141597559848df64730a6bbc1"
dependencies:
debug "2.6.9"
depd "~1.1.2"
destroy "~1.0.4"
encodeurl "~1.0.2"
escape-html "~1.0.3"
etag "~1.8.1"
fresh "0.5.2"
http-errors "~1.6.2"
mime "1.4.1"
ms "2.0.0"
on-finished "~2.3.0"
range-parser "~1.2.0"
statuses "~1.4.0"
serve-static@^1.11.1:
version "1.13.2"
resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.13.2.tgz#095e8472fd5b46237db50ce486a43f4b86c6cec1"
dependencies:
encodeurl "~1.0.2"
escape-html "~1.0.3"
parseurl "~1.3.2"
send "0.16.2"
set-blocking@~2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
set-immediate-shim@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61"
setprototypeof@1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656"
signal-exit@^3.0.0:
version "3.0.2"
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d"
slash@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55"
sntp@2.x.x:
version "2.1.0"
resolved "https://registry.yarnpkg.com/sntp/-/sntp-2.1.0.tgz#2c6cec14fedc2222739caf9b5c3d85d1cc5a2cc8"
dependencies:
hoek "4.x.x"
soap-as-promised@^1.23.0:
version "1.23.0"
resolved "https://registry.yarnpkg.com/soap-as-promised/-/soap-as-promised-1.23.0.tgz#f07dcf0a489b10d24772eae9dad397cd05ab73de"
dependencies:
soap "^0.23.0"
soap@^0.23.0:
version "0.23.0"
resolved "https://registry.yarnpkg.com/soap/-/soap-0.23.0.tgz#2d8f22bef979ded90c0b4d7a5b3ce23d1ed1e52f"
dependencies:
bluebird "^3.5.0"
concat-stream "^1.5.1"
debug "^2.6.9"
ejs "~2.5.5"
finalhandler "^1.0.3"
lodash "^3.10.1"
request ">=2.9.0"
sax ">=0.6"
selectn "^0.9.6"
serve-static "^1.11.1"
strip-bom "~0.3.1"
uuid "^3.1.0"
xml-crypto "~0.8.0"
source-map-support@^0.4.15:
version "0.4.18"
resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.18.tgz#0286a6de8be42641338594e97ccea75f0a2c585f"
dependencies:
source-map "^0.5.6"
source-map@^0.5.6, source-map@^0.5.7:
version "0.5.7"
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
sshpk@^1.7.0:
version "1.14.1"
resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.14.1.tgz#130f5975eddad963f1d56f92b9ac6c51fa9f83eb"
dependencies:
asn1 "~0.2.3"
assert-plus "^1.0.0"
dashdash "^1.12.0"
getpass "^0.1.1"
optionalDependencies:
bcrypt-pbkdf "^1.0.0"
ecc-jsbn "~0.1.1"
jsbn "~0.1.0"
tweetnacl "~0.14.0"
"statuses@>= 1.4.0 < 2":
version "1.5.0"
resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c"
statuses@~1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.4.0.tgz#bb73d446da2796106efcc1b601a253d6c46bd087"
string-width@^1.0.1, string-width@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3"
dependencies:
code-point-at "^1.0.0"
is-fullwidth-code-point "^1.0.0"
strip-ansi "^3.0.0"
string_decoder@~1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8"
dependencies:
safe-buffer "~5.1.0"
stringstream@~0.0.5:
version "0.0.5"
resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878"
strip-ansi@^3.0.0, strip-ansi@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"
dependencies:
ansi-regex "^2.0.0"
strip-bom@~0.3.1:
version "0.3.1"
resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-0.3.1.tgz#9e8a39eff456ff9abc2f059f5f2225bb0f3f7ca5"
dependencies:
first-chunk-stream "^0.1.0"
is-utf8 "^0.2.0"
strip-json-comments@~2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
supports-color@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
tar@^4:
version "4.4.1"
resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.1.tgz#b25d5a8470c976fd7a9a8a350f42c59e9fa81749"
dependencies:
chownr "^1.0.1"
fs-minipass "^1.2.5"
minipass "^2.2.4"
minizlib "^1.1.0"
mkdirp "^0.5.0"
safe-buffer "^5.1.1"
yallist "^3.0.2"
to-fast-properties@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47"
tough-cookie@~2.3.3:
version "2.3.4"
resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.4.tgz#ec60cee38ac675063ffc97a5c18970578ee83655"
dependencies:
punycode "^1.4.1"
trim-right@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003"
tunnel-agent@^0.6.0:
version "0.6.0"
resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd"
dependencies:
safe-buffer "^5.0.1"
tweetnacl@^0.14.3, tweetnacl@~0.14.0:
version "0.14.5"
resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"
typedarray@^0.0.6:
version "0.0.6"
resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
unpipe@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec"
user-home@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/user-home/-/user-home-1.1.1.tgz#2b5be23a32b63a7c9deb8d0f28d485724a3df190"
util-deprecate@~1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
uuid@^3.1.0:
version "3.2.1"
resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.2.1.tgz#12c528bb9d58d0b9265d9a2f6f0fe8be17ff1f14"
v8flags@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-2.1.1.tgz#aab1a1fa30d45f88dd321148875ac02c0b55e5b4"
dependencies:
user-home "^1.1.1"
verror@1.10.0:
version "1.10.0"
resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400"
dependencies:
assert-plus "^1.0.0"
core-util-is "1.0.2"
extsprintf "^1.2.0"
wide-align@^1.1.0:
version "1.1.2"
resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.2.tgz#571e0f1b0604636ebc0dfc21b0339bbe31341710"
dependencies:
string-width "^1.0.2"
wrappy@1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
xml-crypto@~0.8.0:
version "0.8.5"
resolved "https://registry.yarnpkg.com/xml-crypto/-/xml-crypto-0.8.5.tgz#2bbcfb3eb33f3a82a218b822bf672b6b1c20e538"
dependencies:
xmldom "=0.1.19"
xpath.js ">=0.0.3"
xml-js@^1.6.2:
version "1.6.2"
resolved "https://registry.yarnpkg.com/xml-js/-/xml-js-1.6.2.tgz#4c4cb8413998f73701a202a1b8b2f17c985a72c5"
dependencies:
sax "^1.2.4"
xmldom@=0.1.19:
version "0.1.19"
resolved "https://registry.yarnpkg.com/xmldom/-/xmldom-0.1.19.tgz#631fc07776efd84118bf25171b37ed4d075a0abc"
xpath.js@>=0.0.3:
version "1.1.0"
resolved "https://registry.yarnpkg.com/xpath.js/-/xpath.js-1.1.0.tgz#3816a44ed4bb352091083d002a383dd5104a5ff1"
yallist@^3.0.0, yallist@^3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.2.tgz#8452b4bb7e83c7c188d8041c1a837c773d6d8bb9"
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment