diff --git a/.docs.js b/.docs.js new file mode 100644 index 00000000..a0afb558 --- /dev/null +++ b/.docs.js @@ -0,0 +1,11 @@ +'use strict'; + +/** + * Meta file for bootstrapping jsdoc + */ + +/** + * @global + * @class Promise + * @see http://bluebirdjs.com/docs/api-reference.html + */ diff --git a/.gitignore b/.gitignore index 3fa76337..cd25b7ff 100644 --- a/.gitignore +++ b/.gitignore @@ -12,7 +12,6 @@ bower_components # Testing/Coverage/Lint out -doc dist coverage .dockerignore diff --git a/.jsdocrc b/.jsdoc.json similarity index 100% rename from .jsdocrc rename to .jsdoc.json diff --git a/README.md b/README.md index 4ae57e6e..aa9d771e 100644 --- a/README.md +++ b/README.md @@ -38,75 +38,65 @@ const express = require('express'); const app = express(); +const port = 4000; + const client = new smartcar.AuthClient({ - clientId: '...', - clientSecret: '...', - redirectUri: '...', + clientId: 'SMARTCAR_CLIENT_ID', + clientSecret: 'SMARTCAR_SECRET', + redirectUri: 'YOUR_CALLBACK_URI', scope: ['read_vehicle_info'], }); // Redirect to OEM login page -app.get('/oemlogin', function(req, res, next){ +app.get('/mock/login', function(req, res) { // get a link to the 'MOCK' oem login page - const link = client.getAuthUrl('mock', {state: 'TODO define better'}) + const link = client.getAuthUrl('mock', {state: 'MY_STATE_PARAM'}); // redirect to the link - res.redirect(auth); -}); - -// Handle the redirectUri -app.get('/home', handleAuthCode, function(req, res, next) { - res.redirect('/data'); + res.redirect(link); }); -const handleAuthCode = function(req, res, next) { +// Handle Smartcar callback with auth code +app.get('/callback', function(req, res, next) { + let access; if (req.query.error) { // the user denied your requested permissions return next(new Error(req.query.error)); } - client.exchangeCode(req.query.code) - .then(/* save tokens to database */) - .then(next); -} - -// Main app endpoint -app.get('/data', function(req, res, next){ - - let access ; - - // load a fresh access - getAccess() - .then(function(_access){ - access = _access; - // get the user's vehicles - return smartcar.getVehicles(access.access_token); - }) - .then(function(res){ - // get the first vehicle - const vehicle = new smartcar.Vehicle(res.vehicles[0], access.access_token); - return vehicle.info(); - }) - .then(function(data){ - // do something with the data! - }); + // exchange auth code for access token + return client.exchangeCode(req.query.code) + .then(function(_access) { + // in a production app you'll want to store this in some kind of persistent storage + access = _access; + // get the user's vehicles + return smartcar.getVehicles(access.access_token); + }) + .then(function(res) { + // instantiate frist vehicle in vehicle list + const vehicle = new smartcar.Vehicle(res.vehicles[0], access.access_token); + // get identifying information about a vehicle + return vehicle.info(); + }) + .then(function(data) { + /* Example: + * { + * "id": "36ab27d0-fd9d-4455-823a-ce30af709ffc", + * "make": "TESLA", + * "model": "Model S", + * "year": 2014 + * } + */ + console.log(data); + + // json response will be sent to the user + res.json(data); + }); }); -const getAccess = function() { - return loadAccessFromSafePlace().then(function(access){ - - if (smartcar.expired(access)) { - return client.exchangeToken(access.refresh_token).tap(saveAccess); - } else { - return access; - } - - }); -} - -app.listen(4000); +app.listen(port, () => console.log(`Listening on port ${port}`)); ``` [ci-url]: https://travis-ci.com/smartcar/node-sdk diff --git a/doc/index.md b/doc/index.md new file mode 100644 index 00000000..dc269337 --- /dev/null +++ b/doc/index.md @@ -0,0 +1,1193 @@ +# Smartcar Node SDK + +Smartcar Node SDK documentation. + + +## Modules + +
Object
Promise
](#Promise)
+ * [.expired(access)](#module_smartcar.expired) ⇒ Boolean
+
+
+
+### smartcar.errors
+**Kind**: static property of [smartcar
](#module_smartcar)
+**See**: modules
+
+
+### smartcar.Vehicle
+**Kind**: static property of [smartcar
](#module_smartcar)
+**See**: Vehicle
+
+
+### smartcar.AuthClient
+**Kind**: static property of [smartcar
](#module_smartcar)
+**See**: AuthClient
+
+
+### smartcar.getVehicles ⇒ [Promise
](#Promise)
+Return list of the user's vehicles.
+
+**Kind**: static property of [smartcar
](#module_smartcar)
+
+| Param | Type | Description |
+| --- | --- | --- |
+| token | String
| access token |
+| [paging] | Object
| |
+| [paging.limit] | Number
| number of vehicles to return |
+| [paging.offset] | Number
| index to start vehicle list |
+
+
+
+### smartcar.expired(access) ⇒ Boolean
+Check if an access object's access token is expired.
+
+**Kind**: static method of [smartcar
](#module_smartcar)
+**Returns**: Boolean
- true if expired, false if not expired
+
+| Param | Type | Description |
+| --- | --- | --- |
+| access | [Access
](#Access) \| String
| access object or expiration to be checked |
+
+
+
+## errors
+
+* [errors](#module_errors)
+ * [.SmartcarError(message)](#module_errors.SmartcarError) ⇐ Error
+ * [.ValidationError(message)](#module_errors.ValidationError) ⇐ SmartcarError
+ * [.AuthenticationError(message)](#module_errors.AuthenticationError) ⇐ SmartcarError
+ * [.PermissionError(message)](#module_errors.PermissionError) ⇐ SmartcarError
+ * [.ResourceNotFoundError(message)](#module_errors.ResourceNotFoundError) ⇐ SmartcarError
+ * [.VehicleStateError(message)](#module_errors.VehicleStateError) ⇐ SmartcarError
+ * [.RateLimitingError(message)](#module_errors.RateLimitingError) ⇐ SmartcarError
+ * [.MonthlyLimitExceeded(message)](#module_errors.MonthlyLimitExceeded) ⇐ SmartcarError
+ * [.ServerError(message)](#module_errors.ServerError) ⇐ SmartcarError
+ * [.NotCapableError(message)](#module_errors.NotCapableError) ⇐ SmartcarError
+ * [.GatewayTimeoutError(message)](#module_errors.GatewayTimeoutError)
+
+
+
+### errors.SmartcarError(message) ⇐ Error
+Superclass for all sdk errors.
+
+**Kind**: static method of [errors
](#module_errors)
+**Extends**: Error
+
+| Param | Description |
+| --- | --- |
+| message | an error description to set |
+
+
+
+### errors.ValidationError(message) ⇐ SmartcarError
+Error thrown by request validation.
+
+**Kind**: static method of [errors
](#module_errors)
+**Extends**: SmartcarError
+
+| Param | Description |
+| --- | --- |
+| message | an error description to set |
+
+
+
+### errors.AuthenticationError(message) ⇐ SmartcarError
+Error thrown by an invalid or expired token.
+
+**Kind**: static method of [errors
](#module_errors)
+**Extends**: SmartcarError
+
+| Param | Description |
+| --- | --- |
+| message | an error description to set |
+
+
+
+### errors.PermissionError(message) ⇐ SmartcarError
+Error thrown due to insufficient permissions.
+
+**Kind**: static method of [errors
](#module_errors)
+**Extends**: SmartcarError
+
+| Param | Description |
+| --- | --- |
+| message | an error description to set |
+
+
+
+### errors.ResourceNotFoundError(message) ⇐ SmartcarError
+Error thrown when the requested resource is not found.
+
+**Kind**: static method of [errors
](#module_errors)
+**Extends**: SmartcarError
+
+| Param | Description |
+| --- | --- |
+| message | an error description to set |
+
+
+
+### errors.VehicleStateError(message) ⇐ SmartcarError
+Error thrown when the vehicle is not capable of performing the request in
+the current vehicle state.
+
+**Kind**: static method of [errors
](#module_errors)
+**Extends**: SmartcarError
+
+| Param | Description |
+| --- | --- |
+| message | an error description to set |
+
+
+
+### errors.RateLimitingError(message) ⇐ SmartcarError
+Error thrown when an application makes too many requests and is throttled.
+
+**Kind**: static method of [errors
](#module_errors)
+**Extends**: SmartcarError
+
+| Param | Description |
+| --- | --- |
+| message | an error description to set |
+
+
+
+### errors.MonthlyLimitExceeded(message) ⇐ SmartcarError
+Error thrown when an application requests more resources than it's allowed
+limit, e.g., gone over their allotted monthly request limit.
+
+**Kind**: static method of [errors
](#module_errors)
+**Extends**: SmartcarError
+
+| Param | Description |
+| --- | --- |
+| message | an error description to set |
+
+
+
+### errors.ServerError(message) ⇐ SmartcarError
+Error thrown when the server throws an unexpected error.
+
+**Kind**: static method of [errors
](#module_errors)
+**Extends**: SmartcarError
+
+| Param | Description |
+| --- | --- |
+| message | an error description to set |
+
+
+
+### errors.NotCapableError(message) ⇐ SmartcarError
+Error thrown when vehicle is not capable of performing the method.
+
+**Kind**: static method of [errors
](#module_errors)
+**Extends**: SmartcarError
+
+| Param | Description |
+| --- | --- |
+| message | an error description to set |
+
+
+
+### errors.GatewayTimeoutError(message)
+**Kind**: static method of [errors
](#module_errors)
+
+| Param | Description |
+| --- | --- |
+| message | an error description to set |
+
+
+
+## Promise
+**Kind**: global class
+**See**: http://bluebirdjs.com/docs/api-reference.html
+
+
+## AuthClient
+**Kind**: global class
+
+* [AuthClient](#AuthClient)
+ * [new AuthClient(options)](#new_AuthClient_new)
+ * [.getAuthUrl(make, [options])](#AuthClient+getAuthUrl) ⇒ String
+ * [.exchangeCode(code)](#AuthClient+exchangeCode) ⇒ [Promise.<Access>
](#Access)
+ * [.exchangeToken(token)](#AuthClient+exchangeToken) ⇒ [Promise.<Access>
](#Access)
+
+
+
+### new AuthClient(options)
+Create a Smartcar OAuth client for your application.
+
+
+| Param | Type | Description |
+| --- | --- | --- |
+| options | Object
| |
+| options.clientId | String
| The application's client id |
+| options.clientSecret | String
| The application's client secret |
+| options.redirectUri | String
| one of the application's preregistered redirect URIs |
+| [options.scope] | Array.<String>
| list of permissions to request from user |
+
+
+
+### authClient.getAuthUrl(make, [options]) ⇒ String
+Generate the OAuth authorization URL for a given vehicle make.
+
+By default users are not shown the permission dialog if they have already
+approved the set of scopes for this application. The application can elect
+to always display the permissions dialog to the user by setting
+approval_prompt to `force`.
+
+**Kind**: instance method of [AuthClient
](#AuthClient)
+**Returns**: String
- OAuth authorization URL to redirect user to
+
+| Param | Type | Default | Description |
+| --- | --- | --- | --- |
+| make | String
| | the vehicle make to generate the URL for |
+| [options] | Object
| | |
+| [options.state] | String
| | extra application state to pass along |
+| [options.approvalPrompt] | Boolean
| auto
| see 2nd paragraph above |
+
+
+
+### authClient.exchangeCode(code) ⇒ [Promise.<Access>
](#Access)
+Exchange an authorization code for an access object.
+
+**Kind**: instance method of [AuthClient
](#AuthClient)
+
+| Param | Type | Description |
+| --- | --- | --- |
+| code | String
| authorization code to exchange |
+
+
+
+### authClient.exchangeToken(token) ⇒ [Promise.<Access>
](#Access)
+Exchange a refresh token for a new access object.
+
+**Kind**: instance method of [AuthClient
](#AuthClient)
+
+| Param | Type | Description |
+| --- | --- | --- |
+| token | String
| refresh token to exchange |
+
+
+
+## Vehicle
+**Kind**: global class
+
+* [Vehicle](#Vehicle)
+ * [new Vehicle(id, token, [unitSystem])](#new_Vehicle_new)
+ * [.setUnitSystem(unitSystem)](#Vehicle+setUnitSystem)
+ * [.disconnect()](#Vehicle+disconnect) ⇒ [Promise
](#Promise)
+ * [.permissions()](#Vehicle+permissions) ⇒ [Promise
](#Promise)
+ * [.info()](#Vehicle+info) ⇒ [Promise
](#Promise)
+ * [.accelerometer()](#Vehicle+accelerometer) ⇒ [Promise
](#Promise)
+ * [.airbags()](#Vehicle+airbags) ⇒ [Promise
](#Promise)
+ * [.barometer()](#Vehicle+barometer) ⇒ [Promise
](#Promise)
+ * [.battery()](#Vehicle+battery) ⇒ [Promise
](#Promise)
+ * [.charge()](#Vehicle+charge) ⇒ [Promise
](#Promise)
+ * [.chargeAmmeter()](#Vehicle+chargeAmmeter) ⇒ [Promise
](#Promise)
+ * [.chargeLimit()](#Vehicle+chargeLimit) ⇒ [Promise
](#Promise)
+ * [.chargeSchedule()](#Vehicle+chargeSchedule) ⇒ [Promise
](#Promise)
+ * [.chargeVoltmeter()](#Vehicle+chargeVoltmeter) ⇒ [Promise
](#Promise)
+ * [.climate()](#Vehicle+climate) ⇒ [Promise
](#Promise)
+ * [.collisionSensor()](#Vehicle+collisionSensor) ⇒ [Promise
](#Promise)
+ * [.compass()](#Vehicle+compass) ⇒ [Promise
](#Promise)
+ * [.cruiseControl()](#Vehicle+cruiseControl) ⇒ [Promise
](#Promise)
+ * [.dimensions()](#Vehicle+dimensions) ⇒ [Promise
](#Promise)
+ * [.doors()](#Vehicle+doors) ⇒ [Promise
](#Promise)
+ * [.childSafetyLocks()](#Vehicle+childSafetyLocks) ⇒ [Promise
](#Promise)
+ * [.driveMode()](#Vehicle+driveMode) ⇒ [Promise
](#Promise)
+ * [.engine()](#Vehicle+engine) ⇒ [Promise
](#Promise)
+ * [.engineCoolant()](#Vehicle+engineCoolant) ⇒ [Promise
](#Promise)
+ * [.engineHood()](#Vehicle+engineHood) ⇒ [Promise
](#Promise)
+ * [.engineOil()](#Vehicle+engineOil) ⇒ [Promise
](#Promise)
+ * [.engineThrottle()](#Vehicle+engineThrottle) ⇒ [Promise
](#Promise)
+ * [.fuel()](#Vehicle+fuel) ⇒ [Promise
](#Promise)
+ * [.gyroscope()](#Vehicle+gyroscope) ⇒ [Promise
](#Promise)
+ * [.ignition()](#Vehicle+ignition) ⇒ [Promise
](#Promise)
+ * [.hazardLight()](#Vehicle+hazardLight) ⇒ [Promise
](#Promise)
+ * [.headlights()](#Vehicle+headlights) ⇒ [Promise
](#Promise)
+ * [.interiorLights()](#Vehicle+interiorLights) ⇒ [Promise
](#Promise)
+ * [.turnIndicator()](#Vehicle+turnIndicator) ⇒ [Promise
](#Promise)
+ * [.location()](#Vehicle+location) ⇒ [Promise
](#Promise)
+ * [.sideviewMirrors()](#Vehicle+sideviewMirrors) ⇒ [Promise
](#Promise)
+ * [.odometer()](#Vehicle+odometer) ⇒ [Promise
](#Promise)
+ * [.tripOdometers()](#Vehicle+tripOdometers) ⇒ [Promise
](#Promise)
+ * [.acceleratorPedal()](#Vehicle+acceleratorPedal) ⇒ [Promise
](#Promise)
+ * [.brakePedal()](#Vehicle+brakePedal) ⇒ [Promise
](#Promise)
+ * [.rainSensor()](#Vehicle+rainSensor) ⇒ [Promise
](#Promise)
+ * [.seats()](#Vehicle+seats) ⇒ [Promise
](#Promise)
+ * [.security()](#Vehicle+security) ⇒ [Promise
](#Promise)
+ * [.sliBattery()](#Vehicle+sliBattery) ⇒ [Promise
](#Promise)
+ * [.speedometer()](#Vehicle+speedometer) ⇒ [Promise
](#Promise)
+ * [.steeringWheel()](#Vehicle+steeringWheel) ⇒ [Promise
](#Promise)
+ * [.sunroof()](#Vehicle+sunroof) ⇒ [Promise
](#Promise)
+ * [.tachometer()](#Vehicle+tachometer) ⇒ [Promise
](#Promise)
+ * [.interiorThermistor()](#Vehicle+interiorThermistor) ⇒ [Promise
](#Promise)
+ * [.exteriorThermistor()](#Vehicle+exteriorThermistor) ⇒ [Promise
](#Promise)
+ * [.tires()](#Vehicle+tires) ⇒ [Promise
](#Promise)
+ * [.transmission()](#Vehicle+transmission) ⇒ [Promise
](#Promise)
+ * [.transmissionFluid()](#Vehicle+transmissionFluid) ⇒ [Promise
](#Promise)
+ * [.frontTrunk()](#Vehicle+frontTrunk) ⇒ [Promise
](#Promise)
+ * [.rearTrunk()](#Vehicle+rearTrunk) ⇒ [Promise
](#Promise)
+ * [.vin()](#Vehicle+vin) ⇒ [Promise
](#Promise)
+ * [.washerFluid()](#Vehicle+washerFluid) ⇒ [Promise
](#Promise)
+ * [.wheels()](#Vehicle+wheels) ⇒ [Promise
](#Promise)
+ * [.wheelSpeeds()](#Vehicle+wheelSpeeds) ⇒ [Promise
](#Promise)
+ * [.windows()](#Vehicle+windows) ⇒ [Promise
](#Promise)
+ * [.startCharging()](#Vehicle+startCharging) ⇒ [Promise
](#Promise)
+ * [.stopCharging()](#Vehicle+stopCharging) ⇒ [Promise
](#Promise)
+ * [.enableChargeLimit([limit])](#Vehicle+enableChargeLimit) ⇒ [Promise
](#Promise)
+ * [.disableChargeLimit()](#Vehicle+disableChargeLimit) ⇒ [Promise
](#Promise)
+ * [.enableChargeSchedule(startTime)](#Vehicle+enableChargeSchedule) ⇒ [Promise
](#Promise)
+ * [.disableChargeSchedule()](#Vehicle+disableChargeSchedule) ⇒ [Promise
](#Promise)
+ * [.activateChildSafetyLocks(childSafetyLocksArr)](#Vehicle+activateChildSafetyLocks) ⇒ [Promise
](#Promise)
+ * [.disableChildSafetyLocks(childSafetyLocksArr)](#Vehicle+disableChildSafetyLocks) ⇒ [Promise
](#Promise)
+ * [.startClimate(temperature)](#Vehicle+startClimate) ⇒ [Promise
](#Promise)
+ * [.stopClimate()](#Vehicle+stopClimate) ⇒ [Promise
](#Promise)
+ * [.openEngineHood()](#Vehicle+openEngineHood) ⇒ [Promise
](#Promise)
+ * [.closeEngineHood()](#Vehicle+closeEngineHood) ⇒ [Promise
](#Promise)
+ * [.honkHorn()](#Vehicle+honkHorn) ⇒ [Promise
](#Promise)
+ * [.startIgnition()](#Vehicle+startIgnition) ⇒ [Promise
](#Promise)
+ * [.setIgnitionOn()](#Vehicle+setIgnitionOn) ⇒ [Promise
](#Promise)
+ * [.setIgnitionAccessory()](#Vehicle+setIgnitionAccessory) ⇒ [Promise
](#Promise)
+ * [.setIgnitionOff()](#Vehicle+setIgnitionOff) ⇒ [Promise
](#Promise)
+ * [.flashHeadlights(type)](#Vehicle+flashHeadlights) ⇒ [Promise
](#Promise)
+ * [.tiltSideviewMirrors(mirrorsArr)](#Vehicle+tiltSideviewMirrors) ⇒ [Promise
](#Promise)
+ * [.startPanic()](#Vehicle+startPanic) ⇒ [Promise
](#Promise)
+ * [.stopPanic()](#Vehicle+stopPanic) ⇒ [Promise
](#Promise)
+ * [.openChargePort()](#Vehicle+openChargePort) ⇒ [Promise
](#Promise)
+ * [.closeChargePort()](#Vehicle+closeChargePort) ⇒ [Promise
](#Promise)
+ * [.openFuelPort()](#Vehicle+openFuelPort) ⇒ [Promise
](#Promise)
+ * [.closeFuelPort()](#Vehicle+closeFuelPort) ⇒ [Promise
](#Promise)
+ * [.lock()](#Vehicle+lock) ⇒ [Promise
](#Promise)
+ * [.unlock()](#Vehicle+unlock) ⇒ [Promise
](#Promise)
+ * [.openSunroof(percentOpen)](#Vehicle+openSunroof) ⇒ [Promise
](#Promise)
+ * [.ventSunroof()](#Vehicle+ventSunroof) ⇒ [Promise
](#Promise)
+ * [.closeSunroof()](#Vehicle+closeSunroof) ⇒ [Promise
](#Promise)
+ * [.openFrontTrunk()](#Vehicle+openFrontTrunk) ⇒ [Promise
](#Promise)
+ * [.closeFrontTrunk()](#Vehicle+closeFrontTrunk) ⇒ [Promise
](#Promise)
+ * [.openRearTrunk()](#Vehicle+openRearTrunk) ⇒ [Promise
](#Promise)
+ * [.closeRearTrunk()](#Vehicle+closeRearTrunk) ⇒ [Promise
](#Promise)
+ * [.openWindows(windowsArr)](#Vehicle+openWindows) ⇒ [Promise
](#Promise)
+ * [.closeWindows(windowsArr)](#Vehicle+closeWindows) ⇒ [Promise
](#Promise)
+ * [.lockWindows(windowsArr)](#Vehicle+lockWindows) ⇒ [Promise
](#Promise)
+ * [.unlockWindows(windowsArr)](#Vehicle+unlockWindows) ⇒ [Promise
](#Promise)
+
+
+
+### new Vehicle(id, token, [unitSystem])
+Initializes a new Vehicle to use for making requests to the Smartcar API.
+
+
+| Param | Type | Default | Description |
+| --- | --- | --- | --- |
+| id | String
| | the vehicle's unique identifier |
+| token | String
| | a valid access token |
+| [unitSystem] | String
| metric
| the unit system to use for vehicle data (metric/imperial) |
+
+
+
+### vehicle.setUnitSystem(unitSystem)
+Update the unit system to use in requests to the Smartcar API.
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+
+| Param | Type | Description |
+| --- | --- | --- |
+| unitSystem | String
| the unit system to use (metric/imperial) |
+
+
+
+### vehicle.disconnect() ⇒ [Promise
](#Promise)
+Disconnect this vehicle from the connected application.
+
+Note: Calling this method will invalidate your access token and you will
+have to have the user reauthorize the vehicle to your application if
+you wish to make requests to it
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - // TODO document return type more throughly
+
+
+### vehicle.permissions() ⇒ [Promise
](#Promise)
+Fetch the list of permissions that this application has been granted for
+this vehicle.
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - // TODO document return type more throughly
+
+
+### vehicle.info() ⇒ [Promise
](#Promise)
+GET Vehicle.info
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A promise for info on the vehicle's info
+
+
+### vehicle.accelerometer() ⇒ [Promise
](#Promise)
+GET Vehicle.accelerometer
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A promise for info on the vehicle's accelerometer
+
+
+### vehicle.airbags() ⇒ [Promise
](#Promise)
+GET Vehicle.airbags
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A promise for info on the vehicle's airbags
+
+
+### vehicle.barometer() ⇒ [Promise
](#Promise)
+GET Vehicle.barometer
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A promise for info on the vehicle's barometer
+
+
+### vehicle.battery() ⇒ [Promise
](#Promise)
+GET Vehicle.battery
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A promise for info on the vehicle's battery
+
+
+### vehicle.charge() ⇒ [Promise
](#Promise)
+GET Vehicle.charge
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A promise for info on the vehicle's charge
+
+
+### vehicle.chargeAmmeter() ⇒ [Promise
](#Promise)
+GET Vehicle.chargeAmmeter
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A promise for info on the vehicle's charge ammeter
+
+
+### vehicle.chargeLimit() ⇒ [Promise
](#Promise)
+GET Vehicle.chargeLimit
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A promise for info on the vehicle's chargeLimit
+
+
+### vehicle.chargeSchedule() ⇒ [Promise
](#Promise)
+GET Vehicle.chargeSchedule
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A promise for info on the vehicle's chargeSchedule
+
+
+### vehicle.chargeVoltmeter() ⇒ [Promise
](#Promise)
+GET Vehicle.chargeVoltmeter
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A promise for info on the vehicle's charge voltmeter
+
+
+### vehicle.climate() ⇒ [Promise
](#Promise)
+GET Vehicle.climate
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A promise for info on the vehicle's climate
+
+
+### vehicle.collisionSensor() ⇒ [Promise
](#Promise)
+GET Vehicle.collisionSensor
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A promise for info on the vehicle's collisionSensor
+
+
+### vehicle.compass() ⇒ [Promise
](#Promise)
+GET Vehicle.compass
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A promise for info on the vehicle's compass
+
+
+### vehicle.cruiseControl() ⇒ [Promise
](#Promise)
+GET Vehicle.cruiseControl
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A promise for info on the vehicle's cruiseControl
+
+
+### vehicle.dimensions() ⇒ [Promise
](#Promise)
+GET Vehicle.dimensions
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A promise for info on the vehicle's dimensions
+
+
+### vehicle.doors() ⇒ [Promise
](#Promise)
+GET Vehicle.doors
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A promise for info on the vehicle's doors
+
+
+### vehicle.childSafetyLocks() ⇒ [Promise
](#Promise)
+GET Vehicle.childSafetyLocks
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A promise for info on the vehicle's childSafetyLocks
+
+
+### vehicle.driveMode() ⇒ [Promise
](#Promise)
+GET Vehicle.driveMode
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A promise for info on the vehicle's driveMode
+
+
+### vehicle.engine() ⇒ [Promise
](#Promise)
+GET Vehicle.engine
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A promise for info on the vehicle's engine
+
+
+### vehicle.engineCoolant() ⇒ [Promise
](#Promise)
+GET Vehicle.engineCoolant
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A promise for info on the vehicle's engineCoolant
+
+
+### vehicle.engineHood() ⇒ [Promise
](#Promise)
+GET Vehicle.engineHood
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A promise for info on the vehicle's engineHood
+
+
+### vehicle.engineOil() ⇒ [Promise
](#Promise)
+GET Vehicle.engineOil
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A promise for info on the vehicle's engineOil
+
+
+### vehicle.engineThrottle() ⇒ [Promise
](#Promise)
+GET Vehicle.engineThrottle
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A promise for info on the vehicle's engineThrottle
+
+
+### vehicle.fuel() ⇒ [Promise
](#Promise)
+GET Vehicle.fuel
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A promise for info on the vehicle's fuel
+
+
+### vehicle.gyroscope() ⇒ [Promise
](#Promise)
+GET Vehicle.gyroscope
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A promise for info on the vehicle's gyroscope
+
+
+### vehicle.ignition() ⇒ [Promise
](#Promise)
+GET Vehicle.ignition
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A promise for info on the vehicle's ignition
+
+
+### vehicle.hazardLight() ⇒ [Promise
](#Promise)
+GET Vehicle.hazardLight
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A promise for info on the vehicle's hazardLight
+
+
+### vehicle.headlights() ⇒ [Promise
](#Promise)
+GET Vehicle.headlights
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A promise for info on the vehicle's headlights
+
+
+### vehicle.interiorLights() ⇒ [Promise
](#Promise)
+GET Vehicle.interiorLights
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A promise for info on the vehicle's interiorLights
+
+
+### vehicle.turnIndicator() ⇒ [Promise
](#Promise)
+GET Vehicle.turnIndicator
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A promise for info on the vehicle's turnIndicator
+
+
+### vehicle.location() ⇒ [Promise
](#Promise)
+GET Vehicle.location
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A promise for info on the vehicle's location
+
+
+### vehicle.sideviewMirrors() ⇒ [Promise
](#Promise)
+GET Vehicle.sideviewMirrors
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A promise for info on the vehicle's sideviewMirrors
+
+
+### vehicle.odometer() ⇒ [Promise
](#Promise)
+GET Vehicle.odometer
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A promise for info on the vehicle's odometer
+
+
+### vehicle.tripOdometers() ⇒ [Promise
](#Promise)
+GET Vehicle.tripOdometers
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A promise for info on the vehicle's tripOdometers
+
+
+### vehicle.acceleratorPedal() ⇒ [Promise
](#Promise)
+GET Vehicle.acceleratorPedal
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A promise for info on the vehicle's acceleratorPedal
+
+
+### vehicle.brakePedal() ⇒ [Promise
](#Promise)
+GET Vehicle.brakePedal
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A promise for info on the vehicle's brakePedal
+
+
+### vehicle.rainSensor() ⇒ [Promise
](#Promise)
+GET Vehicle.rainSensor
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A promise for info on the vehicle's rainSensor
+
+
+### vehicle.seats() ⇒ [Promise
](#Promise)
+GET Vehicle.seats
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A promise for info on the vehicle's seats
+
+
+### vehicle.security() ⇒ [Promise
](#Promise)
+GET Vehicle.security
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A promise for info on the vehicle's security
+
+
+### vehicle.sliBattery() ⇒ [Promise
](#Promise)
+GET Vehicle.sliBattery
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A promise for info on the vehicle's sliBattery
+
+
+### vehicle.speedometer() ⇒ [Promise
](#Promise)
+GET Vehicle.speedometer
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A promise for info on the vehicle's speedometer
+
+
+### vehicle.steeringWheel() ⇒ [Promise
](#Promise)
+GET Vehicle.steeringWheel
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A promise for info on the vehicle's steeringWheel
+
+
+### vehicle.sunroof() ⇒ [Promise
](#Promise)
+GET Vehicle.sunroof
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A promise for info on the vehicle's sunroof
+
+
+### vehicle.tachometer() ⇒ [Promise
](#Promise)
+GET Vehicle.tachometer
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A promise for info on the vehicle's tachometer
+
+
+### vehicle.interiorThermistor() ⇒ [Promise
](#Promise)
+GET Vehicle.interiorThermistor
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A promise for info on the vehicle's interiorThermistor
+
+
+### vehicle.exteriorThermistor() ⇒ [Promise
](#Promise)
+GET Vehicle.exteriorThermistor
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A promise for info on the vehicle's exteriorThermistor
+
+
+### vehicle.tires() ⇒ [Promise
](#Promise)
+GET Vehicle.tires
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A promise for info on the vehicle's tires
+
+
+### vehicle.transmission() ⇒ [Promise
](#Promise)
+GET Vehicle.transmission
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A promise for info on the vehicle's transmission
+
+
+### vehicle.transmissionFluid() ⇒ [Promise
](#Promise)
+GET Vehicle.transmissionFluid
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A promise for info on the vehicle's transmissionFluid
+
+
+### vehicle.frontTrunk() ⇒ [Promise
](#Promise)
+GET Vehicle.frontTrunk
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A promise for info on the vehicle's frontTrunk
+
+
+### vehicle.rearTrunk() ⇒ [Promise
](#Promise)
+GET Vehicle.rearTrunk
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A promise for info on the vehicle's rearTrunk
+
+
+### vehicle.vin() ⇒ [Promise
](#Promise)
+GET Vehicle.vin
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A promise for info on the vehicle's vin
+
+
+### vehicle.washerFluid() ⇒ [Promise
](#Promise)
+GET Vehicle.washerFluid
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A promise for info on the vehicle's washerFluid
+
+
+### vehicle.wheels() ⇒ [Promise
](#Promise)
+GET Vehicle.wheels
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A promise for info on the vehicle's wheels
+
+
+### vehicle.wheelSpeeds() ⇒ [Promise
](#Promise)
+GET Vehicle.wheelSpeeds
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A promise for info on the vehicle's wheelSpeeds
+
+
+### vehicle.windows() ⇒ [Promise
](#Promise)
+GET Vehicle.windows
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A promise for info on the vehicle's windows
+
+
+### vehicle.startCharging() ⇒ [Promise
](#Promise)
+POST Vehicle.startCharging
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A success or failure response
+
+
+### vehicle.stopCharging() ⇒ [Promise
](#Promise)
+POST Vehicle.stopCharging
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A success or failure response
+
+
+### vehicle.enableChargeLimit([limit]) ⇒ [Promise
](#Promise)
+POST Vehicle.enableChargeLimit
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A success or failure response
+
+| Param | Type | Description |
+| --- | --- | --- |
+| [limit] | Float
| override the previously set limit, must be between 0 - 1 |
+
+
+
+### vehicle.disableChargeLimit() ⇒ [Promise
](#Promise)
+POST Vehicle.disableChargeLimit
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A success or failure response
+
+
+### vehicle.enableChargeSchedule(startTime) ⇒ [Promise
](#Promise)
+POST Vehicle.enableChargeSchedule
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A success or failure response
+
+| Param | Type | Description |
+| --- | --- | --- |
+| startTime | String
| the datetime string representing when to start charging, i.e, '11:11' |
+
+
+
+### vehicle.disableChargeSchedule() ⇒ [Promise
](#Promise)
+POST Vehicle.disableChargeSchedule
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A success or failure response
+
+
+### vehicle.activateChildSafetyLocks(childSafetyLocksArr) ⇒ [Promise
](#Promise)
+POST Vehicle.activateChildSafetyLocks
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A success or failure response
+
+| Param | Type | Description |
+| --- | --- | --- |
+| childSafetyLocksArr | Array
| array of child safety lock objects, i.e, [{location: 'BACK_LEFT'}] |
+
+
+
+### vehicle.disableChildSafetyLocks(childSafetyLocksArr) ⇒ [Promise
](#Promise)
+POST Vehicle.disableChildSafetyLocks
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A success or failure response
+
+| Param | Type | Description |
+| --- | --- | --- |
+| childSafetyLocksArr | Array
| array of child safety lock objects, i.e, [{location: 'BACK_LEFT'}] |
+
+
+
+### vehicle.startClimate(temperature) ⇒ [Promise
](#Promise)
+POST Vehicle.startClimate
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A success or failure response
+
+| Param | Type | Description |
+| --- | --- | --- |
+| temperature | Number
| the temperature to set the car to |
+
+
+
+### vehicle.stopClimate() ⇒ [Promise
](#Promise)
+POST Vehicle.stopClimate
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A success or failure response
+
+
+### vehicle.openEngineHood() ⇒ [Promise
](#Promise)
+POST Vehicle.openEngineHood
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A success or failure response
+
+
+### vehicle.closeEngineHood() ⇒ [Promise
](#Promise)
+POST Vehicle.closeEngineHood
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A success or failure response
+
+
+### vehicle.honkHorn() ⇒ [Promise
](#Promise)
+POST Vehicle.honkHorn
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A success or failure response
+
+
+### vehicle.startIgnition() ⇒ [Promise
](#Promise)
+POST Vehicle.startIgnition
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A success or failure response
+
+
+### vehicle.setIgnitionOn() ⇒ [Promise
](#Promise)
+POST Vehicle.setIgnitionOn
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A success or failure response
+
+
+### vehicle.setIgnitionAccessory() ⇒ [Promise
](#Promise)
+POST Vehicle.setIgnitionAccessory
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A success or failure response
+
+
+### vehicle.setIgnitionOff() ⇒ [Promise
](#Promise)
+POST Vehicle.setIgnitionOff
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A success or failure response
+
+
+### vehicle.flashHeadlights(type) ⇒ [Promise
](#Promise)
+POST Vehicle.flashHeadlights
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A success or failure response
+
+| Param | Type | Description |
+| --- | --- | --- |
+| type | String
| the type of headlight to perform the action on, i.e 'HIGH_BEAM' |
+
+
+
+### vehicle.tiltSideviewMirrors(mirrorsArr) ⇒ [Promise
](#Promise)
+POST Vehicle.tiltSideviewMirrors
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A success or failure response
+
+| Param | Type | Description |
+| --- | --- | --- |
+| mirrorsArr | Array
| array of mirror objects to perform action on, i.e [{location: 'LEFT'}] |
+
+
+
+### vehicle.startPanic() ⇒ [Promise
](#Promise)
+POST Vehicle.startPanic
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A success or failure response
+
+
+### vehicle.stopPanic() ⇒ [Promise
](#Promise)
+POST Vehicle.stopPanic
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A success or failure response
+
+
+### vehicle.openChargePort() ⇒ [Promise
](#Promise)
+POST Vehicle.openChargePort
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A success or failure response
+
+
+### vehicle.closeChargePort() ⇒ [Promise
](#Promise)
+POST Vehicle.closeChargePort
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A success or failure response
+
+
+### vehicle.openFuelPort() ⇒ [Promise
](#Promise)
+POST Vehicle.openFuelPort
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A success or failure response
+
+
+### vehicle.closeFuelPort() ⇒ [Promise
](#Promise)
+POST Vehicle.closeFuelPort
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A success or failure response
+
+
+### vehicle.lock() ⇒ [Promise
](#Promise)
+POST Vehicle.lock
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A success or failure response
+
+
+### vehicle.unlock() ⇒ [Promise
](#Promise)
+POST Vehicle.unlock
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A success or failure response
+
+
+### vehicle.openSunroof(percentOpen) ⇒ [Promise
](#Promise)
+POST Vehicle.openSunroof
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A success or failure response
+
+| Param | Type | Description |
+| --- | --- | --- |
+| percentOpen | Number
| max: 1, min: 0 |
+
+
+
+### vehicle.ventSunroof() ⇒ [Promise
](#Promise)
+POST Vehicle.ventSunroof
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A success or failure response
+
+
+### vehicle.closeSunroof() ⇒ [Promise
](#Promise)
+POST Vehicle.closeSunroof
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A success or failure response
+
+
+### vehicle.openFrontTrunk() ⇒ [Promise
](#Promise)
+POST Vehicle.openFrontTrunk
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A success or failure response
+
+
+### vehicle.closeFrontTrunk() ⇒ [Promise
](#Promise)
+POST Vehicle.closeFrontTrunk
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A success or failure response
+
+
+### vehicle.openRearTrunk() ⇒ [Promise
](#Promise)
+POST Vehicle.openRearTrunk
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A success or failure response
+
+
+### vehicle.closeRearTrunk() ⇒ [Promise
](#Promise)
+POST Vehicle.closeRearTrunk
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A success or failure response
+
+
+### vehicle.openWindows(windowsArr) ⇒ [Promise
](#Promise)
+POST Vehicle.openWindows
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A success or failure response
+
+| Param | Type | Description |
+| --- | --- | --- |
+| windowsArr | Array
| array of window objects to perform action upon, i.e [{location: 'BACK_LEFT'}, {location: 'FRONT_RIGHT'}] |
+
+
+
+### vehicle.closeWindows(windowsArr) ⇒ [Promise
](#Promise)
+POST Vehicle.closeWindows
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A success or failure response
+
+| Param | Type | Description |
+| --- | --- | --- |
+| windowsArr | Array
| array of window objects to perform action upon, i.e [{location: 'BACK_LEFT'}, {location: 'FRONT_RIGHT'}] |
+
+
+
+### vehicle.lockWindows(windowsArr) ⇒ [Promise
](#Promise)
+POST Vehicle.lockWindows
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A success or failure response
+
+| Param | Type | Description |
+| --- | --- | --- |
+| windowsArr | Array
| array of window objects to perform action upon, i.e [{location: 'BACK_LEFT'}, {location: 'FRONT_RIGHT'}] |
+
+
+
+### vehicle.unlockWindows(windowsArr) ⇒ [Promise
](#Promise)
+POST Vehicle.unlockWindows
+
+**Kind**: instance method of [Vehicle
](#Vehicle)
+**Returns**: [Promise
](#Promise) - A success or failure response
+
+| Param | Type | Description |
+| --- | --- | --- |
+| windowsArr | Array
| array of window objects to perform action upon, i.e [{location: 'BACK_LEFT'}, {location: 'FRONT_RIGHT'}] |
+
+
+
+## Access : Object
+**Kind**: global typedef
+**Properties**
+
+| Name | Type | Description |
+| --- | --- | --- |
+| tokenType | String
| Always set to `Bearer` |
+| expiresIn | Number
| Number of seconds the access token is valid |
+| expiration | String
| ISO 8601 Datetime string which represents when the token expires |
+| accessToken | String
| A token to be used for requests to the Smartcar API |
+| refreshToken | String
| A token which is used to renew access when the current access token expires, expires in 60 days |
+
+**Example**
+```js
+{
+ "tokenType": "Bearer",
+ "expiresIn": 3600,
+ "expiration": "2017-05-26T01:21:27.070Z",
+ "accessToken": "88704225-9f6c-4919-93e7-e0cec71317ce",
+ "refreshToken": "60a9e801-6d26-4d88-926e-5c7f9fc13486",
+}
+```
diff --git a/index.js b/index.js
index 9752d8f9..0f1d5051 100644
--- a/index.js
+++ b/index.js
@@ -6,9 +6,13 @@ const _ = require('lodash');
const util = require('./lib/util');
/* eslint-disable global-require */
+/** @exports smartcar */
const smartcar = {
+ /** @see modules */
errors: require('./lib/errors'),
+ /** @see Vehicle */
Vehicle: require('./lib/vehicle'),
+ /** @see AuthClient*/
AuthClient: require('./lib/auth-client'),
};
/* eslint-enable global-require */
diff --git a/lib/auth-client.js b/lib/auth-client.js
index 129665e9..ddd20123 100644
--- a/lib/auth-client.js
+++ b/lib/auth-client.js
@@ -5,6 +5,8 @@ const qs = require('querystring');
const util = require('./util');
const config = require('./config');
+/** @exports AuthClient*/
+
/**
* @type {Object}
* @typedef Access
diff --git a/lib/errors.js b/lib/errors.js
index c70c3785..c78a0bd4 100644
--- a/lib/errors.js
+++ b/lib/errors.js
@@ -6,8 +6,15 @@ const append = function(message) {
return message ? `: ${message}` : '';
};
+/** @exports errors */
const errors = {};
+/**
+ * Superclass for all sdk errors.
+ *
+ * @extends Error
+ * @param message - an error description to set
+ */
errors.SmartcarError = function(message) {
this.name = 'smartcar_error';
this.message = message ? String(message) : 'Unexpected server error';
@@ -15,6 +22,12 @@ errors.SmartcarError = function(message) {
};
util.inherits(errors.SmartcarError, Error);
+/**
+ * Error thrown by request validation.
+ *
+ * @extends SmartcarError
+ * @param message - an error description to set
+ */
errors.ValidationError = function(message) {
this.name = 'validation_error';
this.statusCode = 400;
@@ -23,6 +36,12 @@ errors.ValidationError = function(message) {
};
util.inherits(errors.ValidationError, errors.SmartcarError);
+/**
+ * Error thrown by an invalid or expired token.
+ *
+ * @extends SmartcarError
+ * @param message - an error description to set
+ */
errors.AuthenticationError = function(message) {
this.name = 'authentication_error';
this.statusCode = 401;
@@ -32,6 +51,12 @@ errors.AuthenticationError = function(message) {
};
util.inherits(errors.AuthenticationError, errors.SmartcarError);
+/**
+ * Error thrown due to insufficient permissions.
+ *
+ * @extends SmartcarError
+ * @param message - an error description to set
+ */
errors.PermissionError = function(message) {
this.name = 'permission_error';
this.statusCode = 403;
@@ -41,6 +66,12 @@ errors.PermissionError = function(message) {
};
util.inherits(errors.PermissionError, errors.SmartcarError);
+/**
+ * Error thrown when the requested resource is not found.
+ *
+ * @extends SmartcarError
+ * @param message - an error description to set
+ */
errors.ResourceNotFoundError = function(message) {
this.name = 'resource_not_found_error';
this.statusCode = 404;
@@ -50,6 +81,13 @@ errors.ResourceNotFoundError = function(message) {
};
util.inherits(errors.ResourceNotFoundError, errors.SmartcarError);
+/**
+ * Error thrown when the vehicle is not capable of performing the request in
+ * the current vehicle state.
+ *
+ * @extends SmartcarError
+ * @param message - an error description to set
+ */
errors.VehicleStateError = function(message) {
this.name = 'vehicle_state_error';
this.statusCode = 409;
@@ -59,6 +97,12 @@ errors.VehicleStateError = function(message) {
};
util.inherits(errors.VehicleStateError, errors.SmartcarError);
+/**
+ * Error thrown when an application makes too many requests and is throttled.
+ *
+ * @extends SmartcarError
+ * @param message - an error description to set
+ */
errors.RateLimitingError = function(message) {
this.name = 'rate_limiting_error';
this.statusCode = 429;
@@ -69,6 +113,13 @@ errors.RateLimitingError = function(message) {
};
util.inherits(errors.RateLimitingError, errors.SmartcarError);
+/**
+ * Error thrown when an application requests more resources than its allowed
+ * limit, e.g., gone over their allotted monthly request limit.
+ *
+ * @extends SmartcarError
+ * @param message - an error description to set
+ */
errors.MonthlyLimitExceeded = function(message) {
this.name = 'monthly_limit_exceeded';
this.statusCode = 430;
@@ -79,6 +130,12 @@ errors.MonthlyLimitExceeded = function(message) {
};
util.inherits(errors.MonthlyLimitExceeded, errors.SmartcarError);
+/**
+ * Error thrown when the server throws an unexpected error.
+ *
+ * @extends SmartcarError
+ * @param message - an error description to set
+ */
errors.ServerError = function(message) {
this.name = 'server_error';
this.statusCode = 500;
@@ -87,6 +144,12 @@ errors.ServerError = function(message) {
};
util.inherits(errors.ServerError, errors.SmartcarError);
+/**
+ * Error thrown when vehicle is not capable of performing the method.
+ *
+ * @extends SmartcarError
+ * @param message - an error description to set
+ */
errors.NotCapableError = function(message) {
this.name = 'not_capable_error';
this.statusCode = 501;
@@ -96,6 +159,11 @@ errors.NotCapableError = function(message) {
};
util.inherits(errors.NotCapableError, errors.SmartcarError);
+/**
+ * Error thrown when gateway to Smartcar times out
+ *
+ * @param message - an error description to set
+ */
errors.GatewayTimeoutError = function(message) {
this.name = 'smartcar_gateway_timeout_error';
this.message = message || 'ELB threw a 504.';
diff --git a/lib/vehicle.js b/lib/vehicle.js
index 314e9089..24fe68a7 100644
--- a/lib/vehicle.js
+++ b/lib/vehicle.js
@@ -4,6 +4,8 @@ const _ = require('lodash');
const util = require('./util');
+/** @exports Vehicle */
+
/**
* Initializes a new Vehicle to use for making requests to the Smartcar API.
*
diff --git a/package-lock.json b/package-lock.json
index 09e08031..5b812624 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -386,6 +386,26 @@
"string-width": "2.1.1"
}
},
+ "ansi-escape-sequences": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-escape-sequences/-/ansi-escape-sequences-3.0.0.tgz",
+ "integrity": "sha1-HBg5S2r5t2/5pjUJ+kl2af0s5T4=",
+ "dev": true,
+ "requires": {
+ "array-back": "1.0.4"
+ },
+ "dependencies": {
+ "array-back": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/array-back/-/array-back-1.0.4.tgz",
+ "integrity": "sha1-ZEun8JX3/898Q7Xw3DnTwfA8Bjs=",
+ "dev": true,
+ "requires": {
+ "typical": "2.6.1"
+ }
+ }
+ }
+ },
"ansi-escapes": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.0.0.tgz",
@@ -477,6 +497,15 @@
"integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
"dev": true
},
+ "array-back": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/array-back/-/array-back-2.0.0.tgz",
+ "integrity": "sha512-eJv4pLLufP3g5kcZry0j6WXpIbzYw9GUB4mVJZno9wfwiBxbizTnHCw3VJb07cBihbFX48Y7oSrW9y+gt4glyw==",
+ "dev": true,
+ "requires": {
+ "typical": "2.6.1"
+ }
+ },
"array-differ": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz",
@@ -1260,6 +1289,17 @@
"integrity": "sha1-y5T662HIaWRR2zZTThQi+U8K7og=",
"dev": true
},
+ "cache-point": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/cache-point/-/cache-point-0.4.1.tgz",
+ "integrity": "sha512-4TgWfe9SF+bUy5cCql8gWHqKNrviufNwSYxLjf2utB0pY4+bdcuFwMmY1hDB+67Gz/L1vmhFNhePAjJTFBtV+Q==",
+ "dev": true,
+ "requires": {
+ "array-back": "2.0.0",
+ "fs-then-native": "2.0.0",
+ "mkdirp2": "1.0.3"
+ }
+ },
"caching-transform": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-1.0.1.tgz",
@@ -1363,6 +1403,15 @@
"resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
"integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw="
},
+ "catharsis": {
+ "version": "0.8.9",
+ "resolved": "https://registry.npmjs.org/catharsis/-/catharsis-0.8.9.tgz",
+ "integrity": "sha1-mMyJDKZS3S7w5ws3klMQ/56Q/Is=",
+ "dev": true,
+ "requires": {
+ "underscore-contrib": "0.3.0"
+ }
+ },
"center-align": {
"version": "0.1.3",
"resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz",
@@ -1548,6 +1597,16 @@
"integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
"dev": true
},
+ "collect-all": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/collect-all/-/collect-all-1.0.3.tgz",
+ "integrity": "sha512-0y0rBgoX8IzIjBAUnO73SEtSb4Mhk3IoceWJq5zZSxb9mWORhWH8xLYo4EDSOE1jRBk1LhmfjqWFFt10h/+MEA==",
+ "dev": true,
+ "requires": {
+ "stream-connect": "1.0.2",
+ "stream-via": "1.0.4"
+ }
+ },
"color-convert": {
"version": "1.9.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz",
@@ -1577,6 +1636,64 @@
"delayed-stream": "1.0.0"
}
},
+ "command-line-args": {
+ "version": "4.0.7",
+ "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-4.0.7.tgz",
+ "integrity": "sha512-aUdPvQRAyBvQd2n7jXcsMDz68ckBJELXNzBybCHOibUWEg0mWTnaYCSRU8h9R+aNRSvDihJtssSRCiDRpLaezA==",
+ "dev": true,
+ "requires": {
+ "array-back": "2.0.0",
+ "find-replace": "1.0.3",
+ "typical": "2.6.1"
+ }
+ },
+ "command-line-tool": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/command-line-tool/-/command-line-tool-0.7.0.tgz",
+ "integrity": "sha1-yoB5KuIGnPfKpWLAy8LNEYERIqA=",
+ "dev": true,
+ "requires": {
+ "ansi-escape-sequences": "3.0.0",
+ "array-back": "1.0.4",
+ "command-line-args": "4.0.7",
+ "command-line-usage": "4.1.0",
+ "typical": "2.6.1"
+ },
+ "dependencies": {
+ "array-back": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/array-back/-/array-back-1.0.4.tgz",
+ "integrity": "sha1-ZEun8JX3/898Q7Xw3DnTwfA8Bjs=",
+ "dev": true,
+ "requires": {
+ "typical": "2.6.1"
+ }
+ }
+ }
+ },
+ "command-line-usage": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-4.1.0.tgz",
+ "integrity": "sha512-MxS8Ad995KpdAC0Jopo/ovGIroV/m0KHwzKfXxKag6FHOkGsH8/lv5yjgablcRxCJJC0oJeUMuO/gmaq+Wq46g==",
+ "dev": true,
+ "requires": {
+ "ansi-escape-sequences": "4.0.0",
+ "array-back": "2.0.0",
+ "table-layout": "0.4.2",
+ "typical": "2.6.1"
+ },
+ "dependencies": {
+ "ansi-escape-sequences": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-escape-sequences/-/ansi-escape-sequences-4.0.0.tgz",
+ "integrity": "sha512-v+0wW9Wezwsyb0uF4aBVCjmSqit3Ru7PZFziGF0o2KwTvN2zWfTi3BRLq9EkJFdg3eBbyERXGTntVpBxH1J68Q==",
+ "dev": true,
+ "requires": {
+ "array-back": "2.0.0"
+ }
+ }
+ }
+ },
"commander": {
"version": "2.14.1",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.14.1.tgz",
@@ -1589,6 +1706,12 @@
"integrity": "sha1-zVL28HEuC6q5fW+XModPIvR3UsA=",
"dev": true
},
+ "common-sequence": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/common-sequence/-/common-sequence-1.0.2.tgz",
+ "integrity": "sha1-MOB/P49vf5s97oVPILLTnu4Ibeg=",
+ "dev": true
+ },
"commondir": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
@@ -1673,6 +1796,23 @@
"proto-list": "1.2.4"
}
},
+ "config-master": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/config-master/-/config-master-3.1.0.tgz",
+ "integrity": "sha1-ZnZjWQUFooO/JqSE1oSJ10xUhdo=",
+ "dev": true,
+ "requires": {
+ "walk-back": "2.0.1"
+ },
+ "dependencies": {
+ "walk-back": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/walk-back/-/walk-back-2.0.1.tgz",
+ "integrity": "sha1-VU4qnYdPrEeoywBr9EwvDEmYoKQ=",
+ "dev": true
+ }
+ }
+ },
"configstore": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.1.tgz",
@@ -2302,6 +2442,38 @@
}
}
},
+ "dmd": {
+ "version": "3.0.11",
+ "resolved": "https://registry.npmjs.org/dmd/-/dmd-3.0.11.tgz",
+ "integrity": "sha512-Naq/y7ME1dG8e4u0IJ2jA/G2gtbm4ZQzAG0LldwE1BCUrVWzR9VY5ayvXYSd+p9fdh5ojxayABbelDRM32xIhg==",
+ "dev": true,
+ "requires": {
+ "array-back": "2.0.0",
+ "cache-point": "0.4.1",
+ "common-sequence": "1.0.2",
+ "file-set": "2.0.0",
+ "handlebars": "4.0.11",
+ "marked": "0.3.17",
+ "object-get": "2.1.0",
+ "reduce-flatten": "1.0.1",
+ "reduce-unique": "1.0.0",
+ "reduce-without": "1.0.1",
+ "test-value": "3.0.0",
+ "walk-back": "3.0.0"
+ },
+ "dependencies": {
+ "test-value": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/test-value/-/test-value-3.0.0.tgz",
+ "integrity": "sha512-sVACdAWcZkSU9x7AOmJo5TqE+GyNJknHaHsMrR6ZnhjVlVN9Yx6FjHrsKZ3BjIpPCT68zYesPWkakrNupwfOTQ==",
+ "dev": true,
+ "requires": {
+ "array-back": "2.0.0",
+ "typical": "2.6.1"
+ }
+ }
+ }
+ },
"doctrine": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
@@ -2654,6 +2826,16 @@
"object-assign": "4.1.1"
}
},
+ "file-set": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/file-set/-/file-set-2.0.0.tgz",
+ "integrity": "sha512-cCWXfw+nrYoIoUVmEF7Xsw91lGWuObtSnTEZ7AmdvZou1A/6Xx237HfxdQyC/ayKRvQSMbNOBwg62OjN5JxbXw==",
+ "dev": true,
+ "requires": {
+ "array-back": "2.0.0",
+ "glob": "7.1.2"
+ }
+ },
"filename-regex": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz",
@@ -2684,6 +2866,27 @@
"pkg-dir": "2.0.0"
}
},
+ "find-replace": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-1.0.3.tgz",
+ "integrity": "sha1-uI5zZNLZyVlVnziMZmcNYTBEH6A=",
+ "dev": true,
+ "requires": {
+ "array-back": "1.0.4",
+ "test-value": "2.1.0"
+ },
+ "dependencies": {
+ "array-back": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/array-back/-/array-back-1.0.4.tgz",
+ "integrity": "sha1-ZEun8JX3/898Q7Xw3DnTwfA8Bjs=",
+ "dev": true,
+ "requires": {
+ "typical": "2.6.1"
+ }
+ }
+ }
+ },
"find-up": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
@@ -2762,6 +2965,12 @@
"universalify": "0.1.1"
}
},
+ "fs-then-native": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/fs-then-native/-/fs-then-native-2.0.0.tgz",
+ "integrity": "sha1-GaEk2U2QwiyOBF8ujdbr6jbUjGc=",
+ "dev": true
+ },
"fs.realpath": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
@@ -4505,12 +4714,147 @@
"esprima": "4.0.0"
}
},
+ "js2xmlparser": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/js2xmlparser/-/js2xmlparser-1.0.0.tgz",
+ "integrity": "sha1-WhcPLo1kds5FQF4EgjJCUTeC/jA=",
+ "dev": true
+ },
"jsbn": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
"integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
"optional": true
},
+ "jsdoc-75lb": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/jsdoc-75lb/-/jsdoc-75lb-3.6.0.tgz",
+ "integrity": "sha1-qAcRlSi0AJzLyrSbdSL2P+xs0L0=",
+ "dev": true,
+ "requires": {
+ "bluebird": "3.4.7",
+ "catharsis": "0.8.9",
+ "escape-string-regexp": "1.0.5",
+ "espree": "3.1.7",
+ "js2xmlparser": "1.0.0",
+ "klaw": "1.3.1",
+ "marked": "0.3.17",
+ "mkdirp": "0.5.1",
+ "requizzle": "0.2.1",
+ "strip-json-comments": "2.0.1",
+ "taffydb": "2.6.2",
+ "underscore": "1.8.3"
+ },
+ "dependencies": {
+ "acorn": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz",
+ "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=",
+ "dev": true
+ },
+ "bluebird": {
+ "version": "3.4.7",
+ "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.4.7.tgz",
+ "integrity": "sha1-9y12C+Cbf3bQjtj66Ysomo0F+rM=",
+ "dev": true
+ },
+ "espree": {
+ "version": "3.1.7",
+ "resolved": "https://registry.npmjs.org/espree/-/espree-3.1.7.tgz",
+ "integrity": "sha1-/V3ux2qXpRIKnNOnyxF3oJI7EdI=",
+ "dev": true,
+ "requires": {
+ "acorn": "3.3.0",
+ "acorn-jsx": "3.0.1"
+ }
+ }
+ }
+ },
+ "jsdoc-api": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/jsdoc-api/-/jsdoc-api-3.0.0.tgz",
+ "integrity": "sha1-DVJwAjX4Zb1Ki61evB77Vi/IrSo=",
+ "dev": true,
+ "requires": {
+ "array-back": "1.0.4",
+ "cache-point": "0.4.1",
+ "collect-all": "1.0.3",
+ "file-set": "1.1.1",
+ "fs-then-native": "2.0.0",
+ "jsdoc-75lb": "3.6.0",
+ "object-to-spawn-args": "1.1.1",
+ "temp-path": "1.0.0",
+ "walk-back": "2.0.1"
+ },
+ "dependencies": {
+ "array-back": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/array-back/-/array-back-1.0.4.tgz",
+ "integrity": "sha1-ZEun8JX3/898Q7Xw3DnTwfA8Bjs=",
+ "dev": true,
+ "requires": {
+ "typical": "2.6.1"
+ }
+ },
+ "file-set": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/file-set/-/file-set-1.1.1.tgz",
+ "integrity": "sha1-0+xwwIDsjxjyBLod4QZ4DJBWkms=",
+ "dev": true,
+ "requires": {
+ "array-back": "1.0.4",
+ "glob": "7.1.2"
+ }
+ },
+ "walk-back": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/walk-back/-/walk-back-2.0.1.tgz",
+ "integrity": "sha1-VU4qnYdPrEeoywBr9EwvDEmYoKQ=",
+ "dev": true
+ }
+ }
+ },
+ "jsdoc-parse": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/jsdoc-parse/-/jsdoc-parse-3.0.1.tgz",
+ "integrity": "sha512-btZLp4wYl90vcAfgk4hoGQbO17iBVrhh3LJRMKZNtZgniO3F8H2CjxXld0owBIB1XxN+j3bAcWZnZKMnSj3iMA==",
+ "dev": true,
+ "requires": {
+ "array-back": "2.0.0",
+ "lodash.omit": "4.5.0",
+ "lodash.pick": "4.4.0",
+ "reduce-extract": "1.0.0",
+ "sort-array": "2.0.0",
+ "test-value": "3.0.0"
+ },
+ "dependencies": {
+ "test-value": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/test-value/-/test-value-3.0.0.tgz",
+ "integrity": "sha512-sVACdAWcZkSU9x7AOmJo5TqE+GyNJknHaHsMrR6ZnhjVlVN9Yx6FjHrsKZ3BjIpPCT68zYesPWkakrNupwfOTQ==",
+ "dev": true,
+ "requires": {
+ "array-back": "2.0.0",
+ "typical": "2.6.1"
+ }
+ }
+ }
+ },
+ "jsdoc-to-markdown": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/jsdoc-to-markdown/-/jsdoc-to-markdown-3.0.4.tgz",
+ "integrity": "sha512-NDD+dpLiF9SYJXFcYPutKi/K8pRtIHHmVyQJzUArYQCoVhNISKeIVK5Pe78mi7K5s16/Nk7EviN2xxlJJ+S5Bw==",
+ "dev": true,
+ "requires": {
+ "array-back": "2.0.0",
+ "command-line-tool": "0.7.0",
+ "config-master": "3.1.0",
+ "dmd": "3.0.11",
+ "jsdoc-api": "3.0.0",
+ "jsdoc-parse": "3.0.1",
+ "walk-back": "3.0.0"
+ }
+ },
"jsesc": {
"version": "0.5.0",
"resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
@@ -4585,6 +4929,15 @@
"is-buffer": "1.1.6"
}
},
+ "klaw": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz",
+ "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11"
+ }
+ },
"last-line-stream": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/last-line-stream/-/last-line-stream-1.0.0.tgz",
@@ -4701,6 +5054,24 @@
"integrity": "sha512-AOYza4+Hf5z1/0Hztxpm2/xiPZgi/cjMqdnKTUWTBSKchJlxXXuUSxCCl8rJlf4g6yww/j6mA8nC8Hw/EZWxKQ==",
"dev": true
},
+ "lodash.omit": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/lodash.omit/-/lodash.omit-4.5.0.tgz",
+ "integrity": "sha1-brGa5aHuHdnfC5aeZs4Lf6MLXmA=",
+ "dev": true
+ },
+ "lodash.padend": {
+ "version": "4.6.1",
+ "resolved": "https://registry.npmjs.org/lodash.padend/-/lodash.padend-4.6.1.tgz",
+ "integrity": "sha1-U8y6BH0G4VjTEfRdpiX05J5vFm4=",
+ "dev": true
+ },
+ "lodash.pick": {
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz",
+ "integrity": "sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM=",
+ "dev": true
+ },
"lodash.toarray": {
"version": "4.4.0",
"resolved": "https://registry.npmjs.org/lodash.toarray/-/lodash.toarray-4.4.0.tgz",
@@ -5044,6 +5415,12 @@
"minimist": "0.0.8"
}
},
+ "mkdirp2": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/mkdirp2/-/mkdirp2-1.0.3.tgz",
+ "integrity": "sha1-zI3YJl8fBuLY9bELblL04FC+0hs=",
+ "dev": true
+ },
"modify-values": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/modify-values/-/modify-values-1.0.0.tgz",
@@ -5237,9 +5614,9 @@
"dev": true
},
"nyc": {
- "version": "11.5.0",
- "resolved": "https://registry.npmjs.org/nyc/-/nyc-11.5.0.tgz",
- "integrity": "sha512-xIYK189By0YiM5/T4TviHu3J7bV7lCj5WYJfyZK3z03QgAaQ60WcLaJuXf0zhKoI6PBnUR92ZpSwBICCrgSBGg==",
+ "version": "11.4.1",
+ "resolved": "https://registry.npmjs.org/nyc/-/nyc-11.4.1.tgz",
+ "integrity": "sha512-5eCZpvaksFVjP2rt1r60cfXmt3MUtsQDw8bAzNqNEr4WLvUMLgiVENMf/B9bE9YAX0mGVvaGA3v9IS9ekNqB1Q==",
"dev": true,
"requires": {
"archy": "1.0.0",
@@ -5252,29 +5629,28 @@
"find-up": "2.1.0",
"foreground-child": "1.5.6",
"glob": "7.1.2",
- "istanbul-lib-coverage": "1.1.2",
+ "istanbul-lib-coverage": "1.1.1",
"istanbul-lib-hook": "1.1.0",
- "istanbul-lib-instrument": "1.9.2",
- "istanbul-lib-report": "1.1.3",
- "istanbul-lib-source-maps": "1.2.3",
- "istanbul-reports": "1.1.4",
+ "istanbul-lib-instrument": "1.9.1",
+ "istanbul-lib-report": "1.1.2",
+ "istanbul-lib-source-maps": "1.2.2",
+ "istanbul-reports": "1.1.3",
"md5-hex": "1.3.0",
- "merge-source-map": "1.1.0",
+ "merge-source-map": "1.0.4",
"micromatch": "2.3.11",
"mkdirp": "0.5.1",
"resolve-from": "2.0.0",
"rimraf": "2.6.2",
"signal-exit": "3.0.2",
"spawn-wrap": "1.4.2",
- "test-exclude": "4.2.0",
- "yargs": "10.1.2",
- "yargs-parser": "8.1.0"
+ "test-exclude": "4.1.1",
+ "yargs": "10.0.3",
+ "yargs-parser": "8.0.0"
},
"dependencies": {
"align-text": {
"version": "0.1.4",
- "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz",
- "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=",
+ "bundled": true,
"dev": true,
"requires": {
"kind-of": "3.2.2",
@@ -5284,26 +5660,22 @@
},
"amdefine": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
- "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=",
+ "bundled": true,
"dev": true
},
"ansi-regex": {
"version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
- "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+ "bundled": true,
"dev": true
},
"ansi-styles": {
"version": "2.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
- "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+ "bundled": true,
"dev": true
},
"append-transform": {
"version": "0.4.0",
- "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-0.4.0.tgz",
- "integrity": "sha1-126/jKlNJ24keja61EpLdKthGZE=",
+ "bundled": true,
"dev": true,
"requires": {
"default-require-extensions": "1.0.0"
@@ -5311,14 +5683,12 @@
},
"archy": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz",
- "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=",
+ "bundled": true,
"dev": true
},
"arr-diff": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz",
- "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=",
+ "bundled": true,
"dev": true,
"requires": {
"arr-flatten": "1.1.0"
@@ -5326,32 +5696,27 @@
},
"arr-flatten": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
- "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
+ "bundled": true,
"dev": true
},
"array-unique": {
"version": "0.2.1",
- "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz",
- "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=",
+ "bundled": true,
"dev": true
},
"arrify": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
- "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
+ "bundled": true,
"dev": true
},
"async": {
"version": "1.5.2",
- "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
- "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=",
+ "bundled": true,
"dev": true
},
"babel-code-frame": {
"version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz",
- "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=",
+ "bundled": true,
"dev": true,
"requires": {
"chalk": "1.1.3",
@@ -5360,9 +5725,8 @@
}
},
"babel-generator": {
- "version": "6.26.1",
- "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz",
- "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==",
+ "version": "6.26.0",
+ "bundled": true,
"dev": true,
"requires": {
"babel-messages": "6.23.0",
@@ -5370,15 +5734,14 @@
"babel-types": "6.26.0",
"detect-indent": "4.0.0",
"jsesc": "1.3.0",
- "lodash": "4.17.5",
+ "lodash": "4.17.4",
"source-map": "0.5.7",
"trim-right": "1.0.1"
}
},
"babel-messages": {
"version": "6.23.0",
- "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz",
- "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=",
+ "bundled": true,
"dev": true,
"requires": {
"babel-runtime": "6.26.0"
@@ -5386,8 +5749,7 @@
},
"babel-runtime": {
"version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
- "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
+ "bundled": true,
"dev": true,
"requires": {
"core-js": "2.5.3",
@@ -5396,21 +5758,19 @@
},
"babel-template": {
"version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz",
- "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=",
+ "bundled": true,
"dev": true,
"requires": {
"babel-runtime": "6.26.0",
"babel-traverse": "6.26.0",
"babel-types": "6.26.0",
"babylon": "6.18.0",
- "lodash": "4.17.5"
+ "lodash": "4.17.4"
}
},
"babel-traverse": {
"version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz",
- "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=",
+ "bundled": true,
"dev": true,
"requires": {
"babel-code-frame": "6.26.0",
@@ -5421,37 +5781,33 @@
"debug": "2.6.9",
"globals": "9.18.0",
"invariant": "2.2.2",
- "lodash": "4.17.5"
+ "lodash": "4.17.4"
}
},
"babel-types": {
"version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz",
- "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=",
+ "bundled": true,
"dev": true,
"requires": {
"babel-runtime": "6.26.0",
"esutils": "2.0.2",
- "lodash": "4.17.5",
+ "lodash": "4.17.4",
"to-fast-properties": "1.0.3"
}
},
"babylon": {
"version": "6.18.0",
- "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz",
- "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==",
+ "bundled": true,
"dev": true
},
"balanced-match": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
- "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
+ "bundled": true,
"dev": true
},
"brace-expansion": {
- "version": "1.1.11",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
- "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "version": "1.1.8",
+ "bundled": true,
"dev": true,
"requires": {
"balanced-match": "1.0.0",
@@ -5460,8 +5816,7 @@
},
"braces": {
"version": "1.8.5",
- "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz",
- "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=",
+ "bundled": true,
"dev": true,
"requires": {
"expand-range": "1.8.2",
@@ -5471,14 +5826,12 @@
},
"builtin-modules": {
"version": "1.1.1",
- "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz",
- "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=",
+ "bundled": true,
"dev": true
},
"caching-transform": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-1.0.1.tgz",
- "integrity": "sha1-bb2y8g+Nj7znnz6U6dF0Lc31wKE=",
+ "bundled": true,
"dev": true,
"requires": {
"md5-hex": "1.3.0",
@@ -5488,15 +5841,13 @@
},
"camelcase": {
"version": "1.2.1",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz",
- "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=",
+ "bundled": true,
"dev": true,
"optional": true
},
"center-align": {
"version": "0.1.3",
- "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz",
- "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=",
+ "bundled": true,
"dev": true,
"optional": true,
"requires": {
@@ -5506,8 +5857,7 @@
},
"chalk": {
"version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "bundled": true,
"dev": true,
"requires": {
"ansi-styles": "2.2.1",
@@ -5519,8 +5869,7 @@
},
"cliui": {
"version": "2.1.0",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz",
- "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=",
+ "bundled": true,
"dev": true,
"optional": true,
"requires": {
@@ -5531,8 +5880,7 @@
"dependencies": {
"wordwrap": {
"version": "0.0.2",
- "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz",
- "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=",
+ "bundled": true,
"dev": true,
"optional": true
}
@@ -5540,38 +5888,32 @@
},
"code-point-at": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
- "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
+ "bundled": true,
"dev": true
},
"commondir": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
- "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=",
+ "bundled": true,
"dev": true
},
"concat-map": {
"version": "0.0.1",
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
+ "bundled": true,
"dev": true
},
"convert-source-map": {
"version": "1.5.1",
- "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz",
- "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=",
+ "bundled": true,
"dev": true
},
"core-js": {
"version": "2.5.3",
- "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.3.tgz",
- "integrity": "sha1-isw4NFgk8W2DZbfJtCWRaOjtYD4=",
+ "bundled": true,
"dev": true
},
"cross-spawn": {
"version": "4.0.2",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz",
- "integrity": "sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE=",
+ "bundled": true,
"dev": true,
"requires": {
"lru-cache": "4.1.1",
@@ -5580,8 +5922,7 @@
},
"debug": {
"version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "bundled": true,
"dev": true,
"requires": {
"ms": "2.0.0"
@@ -5589,20 +5930,17 @@
},
"debug-log": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/debug-log/-/debug-log-1.0.1.tgz",
- "integrity": "sha1-IwdjLUwEOCuN+KMvcLiVBG1SdF8=",
+ "bundled": true,
"dev": true
},
"decamelize": {
"version": "1.2.0",
- "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
- "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
+ "bundled": true,
"dev": true
},
"default-require-extensions": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-1.0.0.tgz",
- "integrity": "sha1-836hXT4T/9m0N9M+GnW1+5eHTLg=",
+ "bundled": true,
"dev": true,
"requires": {
"strip-bom": "2.0.0"
@@ -5610,8 +5948,7 @@
},
"detect-indent": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz",
- "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=",
+ "bundled": true,
"dev": true,
"requires": {
"repeating": "2.0.1"
@@ -5619,8 +5956,7 @@
},
"error-ex": {
"version": "1.3.1",
- "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz",
- "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=",
+ "bundled": true,
"dev": true,
"requires": {
"is-arrayish": "0.2.1"
@@ -5628,20 +5964,17 @@
},
"escape-string-regexp": {
"version": "1.0.5",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
+ "bundled": true,
"dev": true
},
"esutils": {
"version": "2.0.2",
- "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
- "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=",
+ "bundled": true,
"dev": true
},
"execa": {
"version": "0.7.0",
- "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz",
- "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=",
+ "bundled": true,
"dev": true,
"requires": {
"cross-spawn": "5.1.0",
@@ -5655,8 +5988,7 @@
"dependencies": {
"cross-spawn": {
"version": "5.1.0",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz",
- "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=",
+ "bundled": true,
"dev": true,
"requires": {
"lru-cache": "4.1.1",
@@ -5668,8 +6000,7 @@
},
"expand-brackets": {
"version": "0.1.5",
- "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz",
- "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=",
+ "bundled": true,
"dev": true,
"requires": {
"is-posix-bracket": "0.1.1"
@@ -5677,8 +6008,7 @@
},
"expand-range": {
"version": "1.8.2",
- "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz",
- "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=",
+ "bundled": true,
"dev": true,
"requires": {
"fill-range": "2.2.3"
@@ -5686,8 +6016,7 @@
},
"extglob": {
"version": "0.3.2",
- "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz",
- "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=",
+ "bundled": true,
"dev": true,
"requires": {
"is-extglob": "1.0.0"
@@ -5695,14 +6024,12 @@
},
"filename-regex": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz",
- "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=",
+ "bundled": true,
"dev": true
},
"fill-range": {
"version": "2.2.3",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz",
- "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=",
+ "bundled": true,
"dev": true,
"requires": {
"is-number": "2.1.0",
@@ -5714,8 +6041,7 @@
},
"find-cache-dir": {
"version": "0.1.1",
- "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-0.1.1.tgz",
- "integrity": "sha1-yN765XyKUqinhPnjHFfHQumToLk=",
+ "bundled": true,
"dev": true,
"requires": {
"commondir": "1.0.1",
@@ -5725,8 +6051,7 @@
},
"find-up": {
"version": "2.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
- "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
+ "bundled": true,
"dev": true,
"requires": {
"locate-path": "2.0.0"
@@ -5734,14 +6059,12 @@
},
"for-in": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
- "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
+ "bundled": true,
"dev": true
},
"for-own": {
"version": "0.1.5",
- "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz",
- "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=",
+ "bundled": true,
"dev": true,
"requires": {
"for-in": "1.0.2"
@@ -5749,8 +6072,7 @@
},
"foreground-child": {
"version": "1.5.6",
- "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-1.5.6.tgz",
- "integrity": "sha1-T9ca0t/elnibmApcCilZN8svXOk=",
+ "bundled": true,
"dev": true,
"requires": {
"cross-spawn": "4.0.2",
@@ -5759,26 +6081,22 @@
},
"fs.realpath": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
- "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
+ "bundled": true,
"dev": true
},
"get-caller-file": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz",
- "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=",
+ "bundled": true,
"dev": true
},
"get-stream": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz",
- "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=",
+ "bundled": true,
"dev": true
},
"glob": {
"version": "7.1.2",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
- "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
+ "bundled": true,
"dev": true,
"requires": {
"fs.realpath": "1.0.0",
@@ -5791,8 +6109,7 @@
},
"glob-base": {
"version": "0.3.0",
- "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz",
- "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=",
+ "bundled": true,
"dev": true,
"requires": {
"glob-parent": "2.0.0",
@@ -5801,8 +6118,7 @@
},
"glob-parent": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
- "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=",
+ "bundled": true,
"dev": true,
"requires": {
"is-glob": "2.0.1"
@@ -5810,20 +6126,17 @@
},
"globals": {
"version": "9.18.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz",
- "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==",
+ "bundled": true,
"dev": true
},
"graceful-fs": {
"version": "4.1.11",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
- "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
+ "bundled": true,
"dev": true
},
"handlebars": {
"version": "4.0.11",
- "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.11.tgz",
- "integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=",
+ "bundled": true,
"dev": true,
"requires": {
"async": "1.5.2",
@@ -5834,8 +6147,7 @@
"dependencies": {
"source-map": {
"version": "0.4.4",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz",
- "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=",
+ "bundled": true,
"dev": true,
"requires": {
"amdefine": "1.0.1"
@@ -5845,8 +6157,7 @@
},
"has-ansi": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
- "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
+ "bundled": true,
"dev": true,
"requires": {
"ansi-regex": "2.1.1"
@@ -5854,26 +6165,22 @@
},
"has-flag": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
- "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
+ "bundled": true,
"dev": true
},
"hosted-git-info": {
"version": "2.5.0",
- "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.5.0.tgz",
- "integrity": "sha512-pNgbURSuab90KbTqvRPsseaTxOJCZBD0a7t+haSN33piP9cCM4l0CqdzAif2hUqm716UovKB2ROmiabGAKVXyg==",
+ "bundled": true,
"dev": true
},
"imurmurhash": {
"version": "0.1.4",
- "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
- "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
+ "bundled": true,
"dev": true
},
"inflight": {
"version": "1.0.6",
- "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
- "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
+ "bundled": true,
"dev": true,
"requires": {
"once": "1.4.0",
@@ -5882,14 +6189,12 @@
},
"inherits": {
"version": "2.0.3",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
+ "bundled": true,
"dev": true
},
"invariant": {
"version": "2.2.2",
- "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz",
- "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=",
+ "bundled": true,
"dev": true,
"requires": {
"loose-envify": "1.3.1"
@@ -5897,26 +6202,22 @@
},
"invert-kv": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz",
- "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=",
+ "bundled": true,
"dev": true
},
"is-arrayish": {
"version": "0.2.1",
- "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
- "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
+ "bundled": true,
"dev": true
},
"is-buffer": {
"version": "1.1.6",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
- "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
+ "bundled": true,
"dev": true
},
"is-builtin-module": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz",
- "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=",
+ "bundled": true,
"dev": true,
"requires": {
"builtin-modules": "1.1.1"
@@ -5924,14 +6225,12 @@
},
"is-dotfile": {
"version": "1.0.3",
- "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz",
- "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=",
+ "bundled": true,
"dev": true
},
"is-equal-shallow": {
"version": "0.1.3",
- "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz",
- "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=",
+ "bundled": true,
"dev": true,
"requires": {
"is-primitive": "2.0.0"
@@ -5939,35 +6238,33 @@
},
"is-extendable": {
"version": "0.1.1",
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
- "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
+ "bundled": true,
"dev": true
},
"is-extglob": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
- "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
+ "bundled": true,
"dev": true
},
"is-finite": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz",
- "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=",
+ "bundled": true,
"dev": true,
"requires": {
"number-is-nan": "1.0.1"
}
},
"is-fullwidth-code-point": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
- "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
- "dev": true
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "number-is-nan": "1.0.1"
+ }
},
"is-glob": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
- "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
+ "bundled": true,
"dev": true,
"requires": {
"is-extglob": "1.0.0"
@@ -5975,8 +6272,7 @@
},
"is-number": {
"version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz",
- "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=",
+ "bundled": true,
"dev": true,
"requires": {
"kind-of": "3.2.2"
@@ -5984,86 +6280,75 @@
},
"is-posix-bracket": {
"version": "0.1.1",
- "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz",
- "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=",
+ "bundled": true,
"dev": true
},
"is-primitive": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz",
- "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=",
+ "bundled": true,
"dev": true
},
"is-stream": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
- "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
+ "bundled": true,
"dev": true
},
"is-utf8": {
"version": "0.2.1",
- "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz",
- "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=",
+ "bundled": true,
"dev": true
},
"isarray": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "bundled": true,
"dev": true
},
"isexe": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
- "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
+ "bundled": true,
"dev": true
},
"isobject": {
"version": "2.1.0",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
- "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
+ "bundled": true,
"dev": true,
"requires": {
"isarray": "1.0.0"
}
},
"istanbul-lib-coverage": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.1.2.tgz",
- "integrity": "sha512-tZYA0v5A7qBSsOzcebJJ/z3lk3oSzH62puG78DbBA1+zupipX2CakDyiPV3pOb8He+jBwVimuwB0dTnh38hX0w==",
+ "version": "1.1.1",
+ "bundled": true,
"dev": true
},
"istanbul-lib-hook": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-1.1.0.tgz",
- "integrity": "sha512-U3qEgwVDUerZ0bt8cfl3dSP3S6opBoOtk3ROO5f2EfBr/SRiD9FQqzwaZBqFORu8W7O0EXpai+k7kxHK13beRg==",
+ "bundled": true,
"dev": true,
"requires": {
"append-transform": "0.4.0"
}
},
"istanbul-lib-instrument": {
- "version": "1.9.2",
- "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.9.2.tgz",
- "integrity": "sha512-nz8t4HQ2206a/3AXi+NHFWEa844DMpPsgbcUteJbt1j8LX1xg56H9rOMnhvcvVvPbW60qAIyrSk44H8ZDqaSSA==",
+ "version": "1.9.1",
+ "bundled": true,
"dev": true,
"requires": {
- "babel-generator": "6.26.1",
+ "babel-generator": "6.26.0",
"babel-template": "6.26.0",
"babel-traverse": "6.26.0",
"babel-types": "6.26.0",
"babylon": "6.18.0",
- "istanbul-lib-coverage": "1.1.2",
- "semver": "5.5.0"
+ "istanbul-lib-coverage": "1.1.1",
+ "semver": "5.4.1"
}
},
"istanbul-lib-report": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-1.1.3.tgz",
- "integrity": "sha512-D4jVbMDtT2dPmloPJS/rmeP626N5Pr3Rp+SovrPn1+zPChGHcggd/0sL29jnbm4oK9W0wHjCRsdch9oLd7cm6g==",
+ "version": "1.1.2",
+ "bundled": true,
"dev": true,
"requires": {
- "istanbul-lib-coverage": "1.1.2",
+ "istanbul-lib-coverage": "1.1.1",
"mkdirp": "0.5.1",
"path-parse": "1.0.5",
"supports-color": "3.2.3"
@@ -6071,8 +6356,7 @@
"dependencies": {
"supports-color": {
"version": "3.2.3",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
- "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "bundled": true,
"dev": true,
"requires": {
"has-flag": "1.0.0"
@@ -6081,13 +6365,12 @@
}
},
"istanbul-lib-source-maps": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.3.tgz",
- "integrity": "sha512-fDa0hwU/5sDXwAklXgAoCJCOsFsBplVQ6WBldz5UwaqOzmDhUK4nfuR7/G//G2lERlblUNJB8P6e8cXq3a7MlA==",
+ "version": "1.2.2",
+ "bundled": true,
"dev": true,
"requires": {
"debug": "3.1.0",
- "istanbul-lib-coverage": "1.1.2",
+ "istanbul-lib-coverage": "1.1.1",
"mkdirp": "0.5.1",
"rimraf": "2.6.2",
"source-map": "0.5.7"
@@ -6095,8 +6378,7 @@
"dependencies": {
"debug": {
"version": "3.1.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
- "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
+ "bundled": true,
"dev": true,
"requires": {
"ms": "2.0.0"
@@ -6105,9 +6387,8 @@
}
},
"istanbul-reports": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-1.1.4.tgz",
- "integrity": "sha512-DfSTVOTkuO+kRmbO8Gk650Wqm1WRGr6lrdi2EwDK1vxpS71vdlLd613EpzOKdIFioB5f/scJTjeWBnvd1FWejg==",
+ "version": "1.1.3",
+ "bundled": true,
"dev": true,
"requires": {
"handlebars": "4.0.11"
@@ -6115,20 +6396,17 @@
},
"js-tokens": {
"version": "3.0.2",
- "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz",
- "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=",
+ "bundled": true,
"dev": true
},
"jsesc": {
"version": "1.3.0",
- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz",
- "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=",
+ "bundled": true,
"dev": true
},
"kind-of": {
"version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "bundled": true,
"dev": true,
"requires": {
"is-buffer": "1.1.6"
@@ -6136,15 +6414,13 @@
},
"lazy-cache": {
"version": "1.0.4",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz",
- "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=",
+ "bundled": true,
"dev": true,
"optional": true
},
"lcid": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz",
- "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=",
+ "bundled": true,
"dev": true,
"requires": {
"invert-kv": "1.0.0"
@@ -6152,8 +6428,7 @@
},
"load-json-file": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
- "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
+ "bundled": true,
"dev": true,
"requires": {
"graceful-fs": "4.1.11",
@@ -6165,8 +6440,7 @@
},
"locate-path": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
- "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
+ "bundled": true,
"dev": true,
"requires": {
"p-locate": "2.0.0",
@@ -6175,28 +6449,24 @@
"dependencies": {
"path-exists": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
- "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
+ "bundled": true,
"dev": true
}
}
},
"lodash": {
- "version": "4.17.5",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz",
- "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==",
+ "version": "4.17.4",
+ "bundled": true,
"dev": true
},
"longest": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz",
- "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=",
+ "bundled": true,
"dev": true
},
"loose-envify": {
"version": "1.3.1",
- "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz",
- "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=",
+ "bundled": true,
"dev": true,
"requires": {
"js-tokens": "3.0.2"
@@ -6204,8 +6474,7 @@
},
"lru-cache": {
"version": "4.1.1",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz",
- "integrity": "sha512-q4spe4KTfsAS1SUHLO0wz8Qiyf1+vMIAgpRYioFYDMNqKfHQbg+AVDH3i4fvpl71/P1L0dBl+fQi+P37UYf0ew==",
+ "bundled": true,
"dev": true,
"requires": {
"pseudomap": "1.0.2",
@@ -6214,8 +6483,7 @@
},
"md5-hex": {
"version": "1.3.0",
- "resolved": "https://registry.npmjs.org/md5-hex/-/md5-hex-1.3.0.tgz",
- "integrity": "sha1-0sSv6YPENwZiF5uMrRRSGRNQRsQ=",
+ "bundled": true,
"dev": true,
"requires": {
"md5-o-matic": "0.1.1"
@@ -6223,40 +6491,28 @@
},
"md5-o-matic": {
"version": "0.1.1",
- "resolved": "https://registry.npmjs.org/md5-o-matic/-/md5-o-matic-0.1.1.tgz",
- "integrity": "sha1-givM1l4RfFFPqxdrJZRdVBAKA8M=",
+ "bundled": true,
"dev": true
},
"mem": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz",
- "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=",
+ "bundled": true,
"dev": true,
"requires": {
- "mimic-fn": "1.2.0"
+ "mimic-fn": "1.1.0"
}
},
"merge-source-map": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz",
- "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==",
+ "version": "1.0.4",
+ "bundled": true,
"dev": true,
"requires": {
- "source-map": "0.6.1"
- },
- "dependencies": {
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true
- }
+ "source-map": "0.5.7"
}
},
"micromatch": {
"version": "2.3.11",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz",
- "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=",
+ "bundled": true,
"dev": true,
"requires": {
"arr-diff": "2.0.0",
@@ -6275,30 +6531,26 @@
}
},
"mimic-fn": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz",
- "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==",
+ "version": "1.1.0",
+ "bundled": true,
"dev": true
},
"minimatch": {
"version": "3.0.4",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
- "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+ "bundled": true,
"dev": true,
"requires": {
- "brace-expansion": "1.1.11"
+ "brace-expansion": "1.1.8"
}
},
"minimist": {
"version": "0.0.8",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
- "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
+ "bundled": true,
"dev": true
},
"mkdirp": {
"version": "0.5.1",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
- "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
+ "bundled": true,
"dev": true,
"requires": {
"minimist": "0.0.8"
@@ -6306,26 +6558,23 @@
},
"ms": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+ "bundled": true,
"dev": true
},
"normalize-package-data": {
"version": "2.4.0",
- "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz",
- "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==",
+ "bundled": true,
"dev": true,
"requires": {
"hosted-git-info": "2.5.0",
"is-builtin-module": "1.0.0",
- "semver": "5.5.0",
+ "semver": "5.4.1",
"validate-npm-package-license": "3.0.1"
}
},
"normalize-path": {
"version": "2.1.1",
- "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
- "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
+ "bundled": true,
"dev": true,
"requires": {
"remove-trailing-separator": "1.1.0"
@@ -6333,8 +6582,7 @@
},
"npm-run-path": {
"version": "2.0.2",
- "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
- "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
+ "bundled": true,
"dev": true,
"requires": {
"path-key": "2.0.1"
@@ -6342,20 +6590,17 @@
},
"number-is-nan": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
- "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
+ "bundled": true,
"dev": true
},
"object-assign": {
"version": "4.1.1",
- "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
- "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
+ "bundled": true,
"dev": true
},
"object.omit": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz",
- "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=",
+ "bundled": true,
"dev": true,
"requires": {
"for-own": "0.1.5",
@@ -6364,8 +6609,7 @@
},
"once": {
"version": "1.4.0",
- "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
- "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
+ "bundled": true,
"dev": true,
"requires": {
"wrappy": "1.0.2"
@@ -6373,8 +6617,7 @@
},
"optimist": {
"version": "0.6.1",
- "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz",
- "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=",
+ "bundled": true,
"dev": true,
"requires": {
"minimist": "0.0.8",
@@ -6383,14 +6626,12 @@
},
"os-homedir": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
- "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
+ "bundled": true,
"dev": true
},
"os-locale": {
"version": "2.1.0",
- "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz",
- "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==",
+ "bundled": true,
"dev": true,
"requires": {
"execa": "0.7.0",
@@ -6400,38 +6641,25 @@
},
"p-finally": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
- "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
+ "bundled": true,
"dev": true
},
"p-limit": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.2.0.tgz",
- "integrity": "sha512-Y/OtIaXtUPr4/YpMv1pCL5L5ed0rumAaAeBSj12F+bSlMdys7i8oQF/GUJmfpTS/QoaRrS/k6pma29haJpsMng==",
- "dev": true,
- "requires": {
- "p-try": "1.0.0"
- }
+ "version": "1.1.0",
+ "bundled": true,
+ "dev": true
},
"p-locate": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
- "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
+ "bundled": true,
"dev": true,
"requires": {
- "p-limit": "1.2.0"
+ "p-limit": "1.1.0"
}
},
- "p-try": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
- "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=",
- "dev": true
- },
"parse-glob": {
"version": "3.0.4",
- "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz",
- "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=",
+ "bundled": true,
"dev": true,
"requires": {
"glob-base": "0.3.0",
@@ -6442,8 +6670,7 @@
},
"parse-json": {
"version": "2.2.0",
- "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
- "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
+ "bundled": true,
"dev": true,
"requires": {
"error-ex": "1.3.1"
@@ -6451,8 +6678,7 @@
},
"path-exists": {
"version": "2.1.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
- "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
+ "bundled": true,
"dev": true,
"requires": {
"pinkie-promise": "2.0.1"
@@ -6460,26 +6686,22 @@
},
"path-is-absolute": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
- "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
+ "bundled": true,
"dev": true
},
"path-key": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
- "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
+ "bundled": true,
"dev": true
},
"path-parse": {
"version": "1.0.5",
- "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz",
- "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=",
+ "bundled": true,
"dev": true
},
"path-type": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz",
- "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=",
+ "bundled": true,
"dev": true,
"requires": {
"graceful-fs": "4.1.11",
@@ -6489,20 +6711,17 @@
},
"pify": {
"version": "2.3.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
- "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
+ "bundled": true,
"dev": true
},
"pinkie": {
"version": "2.0.4",
- "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
- "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=",
+ "bundled": true,
"dev": true
},
"pinkie-promise": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
- "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
+ "bundled": true,
"dev": true,
"requires": {
"pinkie": "2.0.4"
@@ -6510,8 +6729,7 @@
},
"pkg-dir": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz",
- "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=",
+ "bundled": true,
"dev": true,
"requires": {
"find-up": "1.1.2"
@@ -6519,8 +6737,7 @@
"dependencies": {
"find-up": {
"version": "1.1.2",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
- "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
+ "bundled": true,
"dev": true,
"requires": {
"path-exists": "2.1.0",
@@ -6531,20 +6748,17 @@
},
"preserve": {
"version": "0.2.0",
- "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz",
- "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=",
+ "bundled": true,
"dev": true
},
"pseudomap": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
- "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=",
+ "bundled": true,
"dev": true
},
"randomatic": {
"version": "1.1.7",
- "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz",
- "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==",
+ "bundled": true,
"dev": true,
"requires": {
"is-number": "3.0.0",
@@ -6553,8 +6767,7 @@
"dependencies": {
"is-number": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
- "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+ "bundled": true,
"dev": true,
"requires": {
"kind-of": "3.2.2"
@@ -6562,8 +6775,7 @@
"dependencies": {
"kind-of": {
"version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "bundled": true,
"dev": true,
"requires": {
"is-buffer": "1.1.6"
@@ -6573,8 +6785,7 @@
},
"kind-of": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
- "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
+ "bundled": true,
"dev": true,
"requires": {
"is-buffer": "1.1.6"
@@ -6584,8 +6795,7 @@
},
"read-pkg": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz",
- "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=",
+ "bundled": true,
"dev": true,
"requires": {
"load-json-file": "1.1.0",
@@ -6595,8 +6805,7 @@
},
"read-pkg-up": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz",
- "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=",
+ "bundled": true,
"dev": true,
"requires": {
"find-up": "1.1.2",
@@ -6605,8 +6814,7 @@
"dependencies": {
"find-up": {
"version": "1.1.2",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
- "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
+ "bundled": true,
"dev": true,
"requires": {
"path-exists": "2.1.0",
@@ -6617,14 +6825,12 @@
},
"regenerator-runtime": {
"version": "0.11.1",
- "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz",
- "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==",
+ "bundled": true,
"dev": true
},
"regex-cache": {
"version": "0.4.4",
- "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz",
- "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==",
+ "bundled": true,
"dev": true,
"requires": {
"is-equal-shallow": "0.1.3"
@@ -6632,26 +6838,22 @@
},
"remove-trailing-separator": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
- "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=",
+ "bundled": true,
"dev": true
},
"repeat-element": {
"version": "1.1.2",
- "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz",
- "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=",
+ "bundled": true,
"dev": true
},
"repeat-string": {
"version": "1.6.1",
- "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
- "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
+ "bundled": true,
"dev": true
},
"repeating": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz",
- "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=",
+ "bundled": true,
"dev": true,
"requires": {
"is-finite": "1.0.2"
@@ -6659,26 +6861,22 @@
},
"require-directory": {
"version": "2.1.1",
- "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
- "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
+ "bundled": true,
"dev": true
},
"require-main-filename": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz",
- "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=",
+ "bundled": true,
"dev": true
},
"resolve-from": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz",
- "integrity": "sha1-lICrIOlP+h2egKgEx+oUdhGWa1c=",
+ "bundled": true,
"dev": true
},
"right-align": {
"version": "0.1.3",
- "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz",
- "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=",
+ "bundled": true,
"dev": true,
"optional": true,
"requires": {
@@ -6687,29 +6885,25 @@
},
"rimraf": {
"version": "2.6.2",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz",
- "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==",
+ "bundled": true,
"dev": true,
"requires": {
"glob": "7.1.2"
}
},
"semver": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz",
- "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==",
+ "version": "5.4.1",
+ "bundled": true,
"dev": true
},
"set-blocking": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
- "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
+ "bundled": true,
"dev": true
},
"shebang-command": {
"version": "1.2.0",
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
- "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
+ "bundled": true,
"dev": true,
"requires": {
"shebang-regex": "1.0.0"
@@ -6717,32 +6911,27 @@
},
"shebang-regex": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
- "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
+ "bundled": true,
"dev": true
},
"signal-exit": {
"version": "3.0.2",
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
- "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
+ "bundled": true,
"dev": true
},
"slide": {
"version": "1.1.6",
- "resolved": "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz",
- "integrity": "sha1-VusCfWW00tzmyy4tMsTUr8nh1wc=",
+ "bundled": true,
"dev": true
},
"source-map": {
"version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "bundled": true,
"dev": true
},
"spawn-wrap": {
"version": "1.4.2",
- "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-1.4.2.tgz",
- "integrity": "sha512-vMwR3OmmDhnxCVxM8M+xO/FtIp6Ju/mNaDfCMMW7FDcLRTPFWUswec4LXJHTJE2hwTI9O0YBfygu4DalFl7Ylg==",
+ "bundled": true,
"dev": true,
"requires": {
"foreground-child": "1.5.6",
@@ -6755,8 +6944,7 @@
},
"spdx-correct": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz",
- "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=",
+ "bundled": true,
"dev": true,
"requires": {
"spdx-license-ids": "1.2.2"
@@ -6764,20 +6952,17 @@
},
"spdx-expression-parse": {
"version": "1.0.4",
- "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz",
- "integrity": "sha1-m98vIOH0DtRH++JzJmGR/O1RYmw=",
+ "bundled": true,
"dev": true
},
"spdx-license-ids": {
"version": "1.2.2",
- "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz",
- "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=",
+ "bundled": true,
"dev": true
},
"string-width": {
"version": "2.1.1",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
- "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
+ "bundled": true,
"dev": true,
"requires": {
"is-fullwidth-code-point": "2.0.0",
@@ -6786,14 +6971,17 @@
"dependencies": {
"ansi-regex": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
- "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
+ "bundled": true,
+ "dev": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "2.0.0",
+ "bundled": true,
"dev": true
},
"strip-ansi": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
- "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+ "bundled": true,
"dev": true,
"requires": {
"ansi-regex": "3.0.0"
@@ -6803,8 +6991,7 @@
},
"strip-ansi": {
"version": "3.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
- "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "bundled": true,
"dev": true,
"requires": {
"ansi-regex": "2.1.1"
@@ -6812,8 +6999,7 @@
},
"strip-bom": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
- "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
+ "bundled": true,
"dev": true,
"requires": {
"is-utf8": "0.2.1"
@@ -6821,20 +7007,17 @@
},
"strip-eof": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
- "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
+ "bundled": true,
"dev": true
},
"supports-color": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+ "bundled": true,
"dev": true
},
"test-exclude": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-4.2.0.tgz",
- "integrity": "sha512-8hMFzjxbPv6xSlwGhXSvOMJ/vTy3bkng+2pxmf6E1z6VF7I9nIyNfvHtaw+NBPgvz647gADBbMSbwLfZYppT/w==",
+ "version": "4.1.1",
+ "bundled": true,
"dev": true,
"requires": {
"arrify": "1.0.1",
@@ -6846,20 +7029,17 @@
},
"to-fast-properties": {
"version": "1.0.3",
- "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz",
- "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=",
+ "bundled": true,
"dev": true
},
"trim-right": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz",
- "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=",
+ "bundled": true,
"dev": true
},
"uglify-js": {
"version": "2.8.29",
- "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz",
- "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=",
+ "bundled": true,
"dev": true,
"optional": true,
"requires": {
@@ -6870,8 +7050,7 @@
"dependencies": {
"yargs": {
"version": "3.10.0",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz",
- "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=",
+ "bundled": true,
"dev": true,
"optional": true,
"requires": {
@@ -6885,15 +7064,13 @@
},
"uglify-to-browserify": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz",
- "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=",
+ "bundled": true,
"dev": true,
"optional": true
},
"validate-npm-package-license": {
"version": "3.0.1",
- "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz",
- "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=",
+ "bundled": true,
"dev": true,
"requires": {
"spdx-correct": "1.0.2",
@@ -6902,8 +7079,7 @@
},
"which": {
"version": "1.3.0",
- "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz",
- "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==",
+ "bundled": true,
"dev": true,
"requires": {
"isexe": "2.0.0"
@@ -6911,46 +7087,32 @@
},
"which-module": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
- "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
+ "bundled": true,
"dev": true
},
"window-size": {
"version": "0.1.0",
- "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz",
- "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=",
+ "bundled": true,
"dev": true,
"optional": true
},
"wordwrap": {
"version": "0.0.3",
- "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz",
- "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=",
+ "bundled": true,
"dev": true
},
"wrap-ansi": {
"version": "2.1.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
- "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
+ "bundled": true,
"dev": true,
"requires": {
"string-width": "1.0.2",
"strip-ansi": "3.0.1"
},
"dependencies": {
- "is-fullwidth-code-point": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
- "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
- "dev": true,
- "requires": {
- "number-is-nan": "1.0.1"
- }
- },
"string-width": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
- "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+ "bundled": true,
"dev": true,
"requires": {
"code-point-at": "1.1.0",
@@ -6962,14 +7124,12 @@
},
"wrappy": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
- "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
+ "bundled": true,
"dev": true
},
"write-file-atomic": {
"version": "1.3.4",
- "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.3.4.tgz",
- "integrity": "sha1-+Aek8LHZ6ROuekgRLmzDrxmRtF8=",
+ "bundled": true,
"dev": true,
"requires": {
"graceful-fs": "4.1.11",
@@ -6979,23 +7139,20 @@
},
"y18n": {
"version": "3.2.1",
- "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz",
- "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=",
+ "bundled": true,
"dev": true
},
"yallist": {
"version": "2.1.2",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
- "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
+ "bundled": true,
"dev": true
},
"yargs": {
- "version": "10.1.2",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-10.1.2.tgz",
- "integrity": "sha512-ivSoxqBGYOqQVruxD35+EyCFDYNEFL/Uo6FcOnz+9xZdZzK0Zzw4r4KhbrME1Oo2gOggwJod2MnsdamSG7H9ig==",
+ "version": "10.0.3",
+ "bundled": true,
"dev": true,
"requires": {
- "cliui": "4.0.0",
+ "cliui": "3.2.0",
"decamelize": "1.2.0",
"find-up": "2.1.0",
"get-caller-file": "1.0.2",
@@ -7006,41 +7163,36 @@
"string-width": "2.1.1",
"which-module": "2.0.0",
"y18n": "3.2.1",
- "yargs-parser": "8.1.0"
+ "yargs-parser": "8.0.0"
},
"dependencies": {
- "ansi-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
- "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
- "dev": true
- },
"cliui": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.0.0.tgz",
- "integrity": "sha512-nY3W5Gu2racvdDk//ELReY+dHjb9PlIcVDFXP72nVIhq2Gy3LuVXYwJoPVudwQnv1shtohpgkdCKT2YaKY0CKw==",
+ "version": "3.2.0",
+ "bundled": true,
"dev": true,
"requires": {
- "string-width": "2.1.1",
- "strip-ansi": "4.0.0",
+ "string-width": "1.0.2",
+ "strip-ansi": "3.0.1",
"wrap-ansi": "2.1.0"
- }
- },
- "strip-ansi": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
- "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
- "dev": true,
- "requires": {
- "ansi-regex": "3.0.0"
+ },
+ "dependencies": {
+ "string-width": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "code-point-at": "1.1.0",
+ "is-fullwidth-code-point": "1.0.0",
+ "strip-ansi": "3.0.1"
+ }
+ }
}
}
}
},
"yargs-parser": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-8.1.0.tgz",
- "integrity": "sha512-yP+6QqN8BmrgW2ggLtTbdrOyBNSI7zBa4IykmiV5R1wl1JWNxQvWhMfMdmzIYtKU7oP3OOInY/tl2ov3BDjnJQ==",
+ "version": "8.0.0",
+ "bundled": true,
"dev": true,
"requires": {
"camelcase": "4.1.0"
@@ -7048,8 +7200,7 @@
"dependencies": {
"camelcase": {
"version": "4.1.0",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz",
- "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=",
+ "bundled": true,
"dev": true
}
}
@@ -7067,6 +7218,18 @@
"integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
"dev": true
},
+ "object-get": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/object-get/-/object-get-2.1.0.tgz",
+ "integrity": "sha1-ciu9tgA576R8rTxtws5RqFwCxa4=",
+ "dev": true
+ },
+ "object-to-spawn-args": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/object-to-spawn-args/-/object-to-spawn-args-1.1.1.tgz",
+ "integrity": "sha1-d9qIJ/Bz0BHJ4bFz+JV4FHAkZ4U=",
+ "dev": true
+ },
"object.omit": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz",
@@ -7686,6 +7849,57 @@
}
}
},
+ "reduce-extract": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/reduce-extract/-/reduce-extract-1.0.0.tgz",
+ "integrity": "sha1-Z/I4W+2mUGG19fQxJmLosIDKFSU=",
+ "dev": true,
+ "requires": {
+ "test-value": "1.1.0"
+ },
+ "dependencies": {
+ "array-back": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/array-back/-/array-back-1.0.4.tgz",
+ "integrity": "sha1-ZEun8JX3/898Q7Xw3DnTwfA8Bjs=",
+ "dev": true,
+ "requires": {
+ "typical": "2.6.1"
+ }
+ },
+ "test-value": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/test-value/-/test-value-1.1.0.tgz",
+ "integrity": "sha1-oJE29y7AQ9J8iTcHwrFZv6196T8=",
+ "dev": true,
+ "requires": {
+ "array-back": "1.0.4",
+ "typical": "2.6.1"
+ }
+ }
+ }
+ },
+ "reduce-flatten": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/reduce-flatten/-/reduce-flatten-1.0.1.tgz",
+ "integrity": "sha1-JYx479FT3fk8tWEjf2EYTzaW4yc=",
+ "dev": true
+ },
+ "reduce-unique": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/reduce-unique/-/reduce-unique-1.0.0.tgz",
+ "integrity": "sha1-flhrz4ek4ytter2Cd/rWzeyfSAM=",
+ "dev": true
+ },
+ "reduce-without": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/reduce-without/-/reduce-without-1.0.1.tgz",
+ "integrity": "sha1-aK0OrRGFXJo31OglbBW7+Hly/Iw=",
+ "dev": true,
+ "requires": {
+ "test-value": "2.1.0"
+ }
+ },
"regenerate": {
"version": "1.3.3",
"resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.3.3.tgz",
@@ -7866,6 +8080,23 @@
}
}
},
+ "requizzle": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/requizzle/-/requizzle-0.2.1.tgz",
+ "integrity": "sha1-aUPDUwxNmn5G8c3dUcFY/GcM294=",
+ "dev": true,
+ "requires": {
+ "underscore": "1.6.0"
+ },
+ "dependencies": {
+ "underscore": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz",
+ "integrity": "sha1-izixDKze9jM3uLJOT/htRa6lKag=",
+ "dev": true
+ }
+ }
+ },
"resolve-cwd": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz",
@@ -8141,6 +8372,28 @@
"hoek": "4.2.1"
}
},
+ "sort-array": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/sort-array/-/sort-array-2.0.0.tgz",
+ "integrity": "sha1-OKnG2if9fRR7QuYFVPKBGHtN9HI=",
+ "dev": true,
+ "requires": {
+ "array-back": "1.0.4",
+ "object-get": "2.1.0",
+ "typical": "2.6.1"
+ },
+ "dependencies": {
+ "array-back": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/array-back/-/array-back-1.0.4.tgz",
+ "integrity": "sha1-ZEun8JX3/898Q7Xw3DnTwfA8Bjs=",
+ "dev": true,
+ "requires": {
+ "typical": "2.6.1"
+ }
+ }
+ }
+ },
"sort-keys": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz",
@@ -8280,6 +8533,32 @@
"readable-stream": "2.3.4"
}
},
+ "stream-connect": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/stream-connect/-/stream-connect-1.0.2.tgz",
+ "integrity": "sha1-GLyB8u2zW4tdmoAJIAqYUxRCipc=",
+ "dev": true,
+ "requires": {
+ "array-back": "1.0.4"
+ },
+ "dependencies": {
+ "array-back": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/array-back/-/array-back-1.0.4.tgz",
+ "integrity": "sha1-ZEun8JX3/898Q7Xw3DnTwfA8Bjs=",
+ "dev": true,
+ "requires": {
+ "typical": "2.6.1"
+ }
+ }
+ }
+ },
+ "stream-via": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/stream-via/-/stream-via-1.0.4.tgz",
+ "integrity": "sha512-DBp0lSvX5G9KGRDTkR/R+a29H+Wk2xItOF+MpZLLNDWbEV9tGPnqLPxHEYjmiz8xGtJHRIqmI+hCjmNzqoA4nQ==",
+ "dev": true
+ },
"strict-uri-encode": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz",
@@ -8426,6 +8705,39 @@
}
}
},
+ "table-layout": {
+ "version": "0.4.2",
+ "resolved": "https://registry.npmjs.org/table-layout/-/table-layout-0.4.2.tgz",
+ "integrity": "sha512-tygyl5+eSHj4chpq5Zfy6cpc7MOUBClAW9ozghFH7hg9bAUzShOYn+/vUzTRkKOSLJWKfgYtP2tAU2c0oAD8eg==",
+ "dev": true,
+ "requires": {
+ "array-back": "2.0.0",
+ "deep-extend": "0.5.0",
+ "lodash.padend": "4.6.1",
+ "typical": "2.6.1",
+ "wordwrapjs": "3.0.0"
+ },
+ "dependencies": {
+ "deep-extend": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.5.0.tgz",
+ "integrity": "sha1-bvSgmwX5iw41jW2T1Mo8rsZnKAM=",
+ "dev": true
+ }
+ }
+ },
+ "taffydb": {
+ "version": "2.6.2",
+ "resolved": "https://registry.npmjs.org/taffydb/-/taffydb-2.6.2.tgz",
+ "integrity": "sha1-fLy2S1oUG2ou/CxdLGe04VCyomg=",
+ "dev": true
+ },
+ "temp-path": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/temp-path/-/temp-path-1.0.0.tgz",
+ "integrity": "sha1-JLFUOXOrRCiW2a02fdnL2/r+kYs=",
+ "dev": true
+ },
"term-size": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz",
@@ -8435,6 +8747,27 @@
"execa": "0.7.0"
}
},
+ "test-value": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/test-value/-/test-value-2.1.0.tgz",
+ "integrity": "sha1-Edpv9nDzRxpztiXKTz/c97t0gpE=",
+ "dev": true,
+ "requires": {
+ "array-back": "1.0.4",
+ "typical": "2.6.1"
+ },
+ "dependencies": {
+ "array-back": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/array-back/-/array-back-1.0.4.tgz",
+ "integrity": "sha1-ZEun8JX3/898Q7Xw3DnTwfA8Bjs=",
+ "dev": true,
+ "requires": {
+ "typical": "2.6.1"
+ }
+ }
+ }
+ },
"text-extensions": {
"version": "1.7.0",
"resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-1.7.0.tgz",
@@ -8557,6 +8890,12 @@
"integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
"dev": true
},
+ "typical": {
+ "version": "2.6.1",
+ "resolved": "https://registry.npmjs.org/typical/-/typical-2.6.1.tgz",
+ "integrity": "sha1-XAgOXWYcu+OCWdLnCjxyU+hziB0=",
+ "dev": true
+ },
"uglify-js": {
"version": "2.8.29",
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz",
@@ -8582,6 +8921,29 @@
"integrity": "sha1-SDEm4Rd03y9xuLY53NeZw3YWK4I=",
"dev": true
},
+ "underscore": {
+ "version": "1.8.3",
+ "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz",
+ "integrity": "sha1-Tz+1OxBuYJf8+ctBCfKl6b36UCI=",
+ "dev": true
+ },
+ "underscore-contrib": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/underscore-contrib/-/underscore-contrib-0.3.0.tgz",
+ "integrity": "sha1-ZltmwkeD+PorGMn4y7Dix9SMJsc=",
+ "dev": true,
+ "requires": {
+ "underscore": "1.6.0"
+ },
+ "dependencies": {
+ "underscore": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz",
+ "integrity": "sha1-izixDKze9jM3uLJOT/htRa6lKag=",
+ "dev": true
+ }
+ }
+ },
"unique-string": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz",
@@ -8692,6 +9054,12 @@
"extsprintf": "1.3.0"
}
},
+ "walk-back": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/walk-back/-/walk-back-3.0.0.tgz",
+ "integrity": "sha1-I1h4ejXakQMtrV6S+AsSNw2HlcU=",
+ "dev": true
+ },
"well-known-symbols": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/well-known-symbols/-/well-known-symbols-1.0.0.tgz",
@@ -8773,6 +9141,16 @@
"integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=",
"dev": true
},
+ "wordwrapjs": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-3.0.0.tgz",
+ "integrity": "sha512-mO8XtqyPvykVCsrwj5MlOVWvSnCdT+C+QVbm6blradR7JExAhbkZ7hZ9A+9NUtwzSqrlUo9a67ws0EiILrvRpw==",
+ "dev": true,
+ "requires": {
+ "reduce-flatten": "1.0.1",
+ "typical": "2.6.1"
+ }
+ },
"wrappy": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
diff --git a/package.json b/package.json
index 6b9fc8be..ec7ec9bf 100644
--- a/package.json
+++ b/package.json
@@ -30,8 +30,9 @@
"lint": "eslint . --cache",
"cover": "nyc npm test -s",
"cover:integration": "nyc npm test:integration -s",
- "jsdoc": "jsdoc -c .jsdocrc .",
- "release": "semantic-release"
+ "release": "semantic-release",
+ "jsdoc": "jsdoc -c .jsdoc.json .",
+ "docs": "mkdir -p doc && jsdoc2md --example-lang js --template readme.hbs --files .docs.js index.js lib/* | sed 's/[ \t]*$//' > doc/index.md"
},
"dependencies": {
"bluebird": "^3.5.1",
@@ -44,6 +45,7 @@
"cross-env": "^5.1.3",
"eslint": "^4.18.1",
"eslint-config-smartcar": "^2.0.0",
+ "jsdoc-to-markdown": "^3.0.0",
"nock": "^9.1.9",
"nyc": "^11.4.1",
"semantic-release": "^12.4.1"
diff --git a/readme.hbs b/readme.hbs
new file mode 100644
index 00000000..2899beff
--- /dev/null
+++ b/readme.hbs
@@ -0,0 +1,14 @@
+# Smartcar Node SDK
+
+Smartcar Node SDK documentation.
+
+{{#indexChildren ~}}
+ * [{{{name}}}]
+ {{~#if (regexp-test see ":") ~}}
+ (#module_{{{name}}})
+ {{else ~}}
+ (#{{{name}}})
+ {{/if}}
+{{/indexChildren}}
+
+{{>main}}