├── .gitignore ├── helpers ├── pair.js ├── errors.js ├── serviceManagerTypes.js ├── catchDelayCancelError.js ├── checkForUpdates.js ├── delayForDuration.js ├── requestPairingCode.js ├── sendCommand.js ├── devices.js └── serviceManager.js ├── accessories ├── index.js ├── accessory.js ├── pairSwitch.js └── switch.js ├── index.js ├── .release-it.json ├── test ├── helpers │ ├── hexCheck.js │ ├── setup.js │ ├── fakeDevice.js │ └── fakeServiceManager.js ├── generalAccessories.test.js └── switch.test.js ├── defaultSwitches.json ├── package.json ├── README.md ├── config-sample.json ├── platform.js ├── LICENSE └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- 1 | /.DS_Store 2 | /node_modules 3 | /.node-persist 4 | -------------------------------------------------------------------------------- /helpers/pair.js: -------------------------------------------------------------------------------- 1 | const { scan } = require('node-appletv'); 2 | 3 | const start = () => { 4 | return scan(); 5 | } -------------------------------------------------------------------------------- /helpers/errors.js: -------------------------------------------------------------------------------- 1 | const errors = { 2 | TIMEOUT_CANCELLATION: 'Timeout Cancelled' 3 | }; 4 | 5 | module.exports = errors; -------------------------------------------------------------------------------- /accessories/index.js: -------------------------------------------------------------------------------- 1 | const PairSwitch = require('./pairSwitch'); 2 | const Switch = require('./switch'); 3 | 4 | module.exports = { 5 | PairSwitch, 6 | Switch 7 | } 8 | -------------------------------------------------------------------------------- /helpers/serviceManagerTypes.js: -------------------------------------------------------------------------------- 1 | const FakeServiceManager = require('../test/helpers/fakeServiceManager') 2 | const ServiceManager = require('./serviceManager') 3 | 4 | module.exports = { 5 | ServiceManager, 6 | FakeServiceManager 7 | } -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | const AppleTVPlatform = require('./platform') 2 | 3 | module.exports = (homebridge) => { 4 | global.Service = homebridge.hap.Service; 5 | global.Characteristic = homebridge.hap.Characteristic; 6 | 7 | AppleTVPlatform.setHomebridge(homebridge); 8 | 9 | homebridge.registerPlatform("homebridge-apple-tv", "AppleTV", AppleTVPlatform); 10 | } -------------------------------------------------------------------------------- /.release-it.json: -------------------------------------------------------------------------------- 1 | { 2 | "verbose": false, 3 | "src": { 4 | "tagName": "%s", 5 | "tagAnnotation": "v%s" 6 | }, 7 | "github": { 8 | "release": true, 9 | "releaseName": "v%s" 10 | }, 11 | "changelogCommand": "echo \"### Features\n\n\n### Bug Fixes\"; git log --pretty=format:\"- %s (%h)\" [REV_RANGE]", 12 | "non-interactive": true 13 | } 14 | -------------------------------------------------------------------------------- /helpers/catchDelayCancelError.js: -------------------------------------------------------------------------------- 1 | const { TIMEOUT_CANCELLATION } = require('./errors') 2 | 3 | const catchDelayCancelError = async (originalMethod) => { 4 | 5 | let result 6 | 7 | try { 8 | result = await originalMethod() 9 | } catch (err) { 10 | if (err.message !== TIMEOUT_CANCELLATION) throw err 11 | } 12 | 13 | return result 14 | } 15 | 16 | module.exports = catchDelayCancelError 17 | -------------------------------------------------------------------------------- /test/helpers/hexCheck.js: -------------------------------------------------------------------------------- 1 | const { expect } = require('chai'); 2 | 3 | const hexCheck = ({ device, codes, count }) => { 4 | codes = codes || []; 5 | 6 | // Check hex codes were sent 7 | const hasSentCodes = device.hasSentCodes(codes); 8 | expect(hasSentCodes).to.equal(true); 9 | 10 | if (count !== undefined) { 11 | // Check the number of sent codes 12 | const sentHexCodeCount = device.getSentHexCodeCount(); 13 | expect(sentHexCodeCount).to.equal(count); 14 | } 15 | } 16 | 17 | module.exports = hexCheck; 18 | -------------------------------------------------------------------------------- /helpers/checkForUpdates.js: -------------------------------------------------------------------------------- 1 | const versionCheck = require('github-version-checker'); 2 | const pkg = require('../package.json'); 3 | 4 | const options = { 5 | repo: 'lprhodes/homebridge-apple-tv', 6 | currentVersion: pkg.version, 7 | includePreReleases: false 8 | }; 9 | 10 | 11 | const checkForUpdates = () => { 12 | versionCheck (options, (update, error) => { 13 | // if (error) throw error; 14 | if (update) { 15 | console.log(`\x1b[32m[UPDATE AVAILABLE] \x1b[0mVersion ${update.tag_name} of homebridge-apple-tv is available. The release notes can be found here: \x1b[4mhttps://github.com/lprhodes/homebridge-apple-tv/releases/\x1b[0m`); 16 | } 17 | }); 18 | } 19 | 20 | module.exports = checkForUpdates; -------------------------------------------------------------------------------- /helpers/delayForDuration.js: -------------------------------------------------------------------------------- 1 | const { TIMEOUT_CANCELLATION } = require('./errors') 2 | 3 | function delayForDuration(duration) { 4 | let timerID, endTimer, timer; 5 | 6 | const promiseFunc = function (resolve, reject) { 7 | endTimer = reject; 8 | 9 | timerID = setTimeout(() => { 10 | resolve('Timeout Complete'); 11 | this.isCancelled = true; 12 | }, duration * 1000); 13 | } 14 | 15 | class Timer extends Promise { 16 | 17 | cancel () { 18 | if (this.isCancelled) return; 19 | 20 | clearTimeout(timerID); 21 | this.isCancelled = true; 22 | 23 | endTimer(new Error(TIMEOUT_CANCELLATION)); 24 | } 25 | } 26 | 27 | timer = new Timer(promiseFunc); 28 | timer.isCancelled = false; 29 | 30 | return timer; 31 | } 32 | 33 | module.exports = delayForDuration; 34 | -------------------------------------------------------------------------------- /defaultSwitches.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "name": "Menu", 4 | "command": "menu" 5 | }, 6 | { 7 | "name": "TV/Home", 8 | "command": "tv" 9 | }, 10 | { 11 | "name": "Mic/Siri", 12 | "command": "mic" 13 | }, 14 | { 15 | "name": "Play", 16 | "command": "play" 17 | }, 18 | { 19 | "name": "Pause", 20 | "command": "pause" 21 | }, 22 | { 23 | "name": "Up", 24 | "command": "up" 25 | }, 26 | { 27 | "name": "Down", 28 | "command": "down" 29 | }, 30 | { 31 | "name": "Left", 32 | "command": "left" 33 | }, 34 | { 35 | "name": "Right", 36 | "command": "right" 37 | }, 38 | { 39 | "name": "Select", 40 | "command": "select" 41 | }, 42 | { 43 | "name": "Sleep", 44 | "command": "sleep" 45 | } 46 | ] -------------------------------------------------------------------------------- /test/helpers/setup.js: -------------------------------------------------------------------------------- 1 | const hap = require('hap-nodejs'); 2 | 3 | const AppleTVPlatform = require('../../platform'); 4 | const FakeDevice = require('./fakeDevice') 5 | 6 | global.Service = hap.Service; 7 | global.Characteristic = hap.Characteristic; 8 | 9 | const log = (message, more) => { 10 | if (more) { 11 | // console.log(message, more) 12 | } else { 13 | // console.log(message) 14 | } 15 | }; 16 | 17 | const setup = (config) => { 18 | const platform = new AppleTVPlatform(log, config); 19 | 20 | const device = new FakeDevice() 21 | addDevice(device) 22 | 23 | return { platform, device } 24 | } 25 | 26 | const getAccessories = (config, replacementLog) => { 27 | const { platform, device } = setup(config) 28 | 29 | const accessoriesPromise = new Promise((resolve, reject) => { 30 | platform.accessories(resolve); 31 | }) 32 | 33 | return accessoriesPromise 34 | } 35 | 36 | module.exports = { log, setup, getAccessories } -------------------------------------------------------------------------------- /helpers/requestPairingCode.js: -------------------------------------------------------------------------------- 1 | const prompt = require('prompt'); 2 | prompt.message = '\x1b[35m[INFO]\x1b[0m'; 3 | prompt.delimiter = ' '; 4 | prompt.colors = false; 5 | prompt.logger = console; 6 | 7 | const requestPairingCode = (log) => { 8 | return new Promise((resolve, reject) => { 9 | console.log(''); 10 | console.log(''); 11 | 12 | prompt.start(); 13 | 14 | prompt.get({ 15 | properties: { 16 | pairingCode: { 17 | description: 'Type the Apple TV pairing code then press enter/return.', 18 | message:'Invalid pairing code', 19 | required: true 20 | } 21 | } 22 | }, (err, result) => { 23 | log(`\x1b[35m[INFO]\x1b[0m Attempting to pair to the Apple TV with the code ${result.pairingCode}.`) 24 | resolve(result); 25 | prompt.stop(); 26 | }); 27 | 28 | console.log(''); 29 | console.log(''); 30 | }); 31 | 32 | } 33 | 34 | module.exports = requestPairingCode; -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "homebridge-apple-tv", 3 | "version": "1.0.2", 4 | "description": "Apple TV plugin for homebridge: https://github.com/nfarina/homebridge", 5 | "license": "ISC", 6 | "scripts": { 7 | "release": "release-it" 8 | }, 9 | "keywords": [ 10 | "homebridge-plugin", 11 | "apple tv" 12 | ], 13 | "engines": { 14 | "node": ">=7.6.0", 15 | "homebridge": ">=0.2.0" 16 | }, 17 | "author": { 18 | "name": "lprhodes" 19 | }, 20 | "repository": { 21 | "type": "git", 22 | "url": "git@github.com:lprhodes/homebridge-apple-tv.git" 23 | }, 24 | "dependencies": { 25 | "chai": "^4.1.2", 26 | "github-version-checker": "^1.2.0", 27 | "homebridge-platform-helper": "1.1.3", 28 | "node-appletv": "^1.0.5", 29 | "prompt": "^1.0.0", 30 | "uuid": "^3.2.1" 31 | }, 32 | "devDependencies": { 33 | "hap-nodejs": "^0.4.41", 34 | "mocha": "^5.0.1", 35 | "release-it": "^7.2.1" 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Homebridge Apple TV 2 | 3 | ## Introduction 4 | Welcome to the Apple TV plugin for [Homebridge](https://github.com/nfarina/homebridge). 5 | 6 | This plugin allows you to control your Apple TV with HomeKit using the Home app and Siri. 7 | 8 | 9 | ## Like this plugin? 10 | 11 | If you like this plugin and want to show your support then please star the Github repo, or better yet; buy me a drink using [Paypal](https://paypal.me/lprhodes) or [crypto currency](https://goo.gl/bEn1RW). 12 | 13 | Working on open source projects like this is full-time for me so every bit helps. 14 | 15 | Thank you, sincerely! 16 | 17 | ## Newsletter 18 | 19 | You can keep informed about HomeKit, homebridge and homebridge plugins by subscribing to my [Works with](http://workswith.io) newsletter. 20 | 21 | ## Documentation 22 | 23 | Full documentation can be found [here](https://lprhodes.github.io/homebridge-apple-tv-slate/). 24 | 25 | ## Thanks 26 | Thanks to @edc1591 (https://github.com/edc1591/node-appletv) who saved me a lot of time by creating a node module for controlling the Apple TV. -------------------------------------------------------------------------------- /test/helpers/fakeDevice.js: -------------------------------------------------------------------------------- 1 | const uuid = require('uuid') 2 | 3 | class FakeDevice { 4 | 5 | constructor () { 6 | const identifier = uuid.v4() 7 | 8 | this.host = { 9 | address: identifier, 10 | macAddress: identifier 11 | }; 12 | 13 | this.callbacks = {}; 14 | 15 | this.isUnitTestDevice = true; 16 | 17 | this.resetSentHexCodes(); 18 | } 19 | 20 | resetSentHexCodes () { 21 | this.sentHexCodes = [] 22 | } 23 | 24 | getSentHexCodeCount () { 25 | return this.sentHexCodes.length 26 | } 27 | 28 | hasSentCode (hexCode) { 29 | return (this.sentHexCodes.indexOf(hexCode) > -1); 30 | } 31 | 32 | hasSentCodes (hexCodes) { 33 | let hasSentCodes = true 34 | 35 | hexCodes.forEach((hexCode) => { 36 | if (this.sentHexCodes.indexOf(hexCode) === -1) hasSentCodes = false 37 | }) 38 | 39 | return hasSentCodes 40 | } 41 | 42 | sendData (hexBufferData, debug, originalHexString) { 43 | if (!hexBufferData) throw new Error('Missing HEX Data') 44 | 45 | this.sentHexCodes.push(originalHexString) 46 | } 47 | 48 | on (type, callback) { 49 | this.callbacks[type] = callback; 50 | } 51 | 52 | sendFakeOnCallback (type, value) { 53 | const callback = this.callbacks[type]; 54 | 55 | if(callback) callback(value); 56 | } 57 | 58 | checkTemperature () { 59 | 60 | } 61 | } 62 | 63 | module.exports = FakeDevice -------------------------------------------------------------------------------- /config-sample.json: -------------------------------------------------------------------------------- 1 | { 2 | "bridge":{ 3 | "name":"Homebridge", 4 | "username":"CD:22:3D:E3:CE:30", 5 | "port":51826, 6 | "pin":"031-45-154" 7 | }, 8 | "description":"Homebridge", 9 | "accessories":[ 10 | 11 | ], 12 | "platforms":[ 13 | { 14 | "platform":"AppleTV", 15 | "name":"Apple TV", 16 | "devices": [ ], 17 | "accessories": [ 18 | { 19 | "deviceID": "lounge", 20 | "name": "Up", 21 | "command": "up" 22 | }, 23 | { 24 | "deviceID": "lounge", 25 | "name": "Down", 26 | "command": "down" 27 | }, 28 | { 29 | "deviceID": "lounge", 30 | "name": "Left", 31 | "command": "left" 32 | }, 33 | { 34 | "deviceID": "lounge", 35 | "name": "Right", 36 | "command": "right" 37 | }, 38 | { 39 | "deviceID": "lounge", 40 | "name": "Select", 41 | "command": "select" 42 | }, 43 | { 44 | "deviceID": "lounge", 45 | "name": "Up Next", 46 | "command": [ 47 | { 48 | "command": "menu", 49 | "repeat": 7, 50 | "interval": 0.3, 51 | "pause": 1 52 | }, 53 | { 54 | "command": "tv", 55 | "pause": 3 56 | }, 57 | "select" 58 | ] 59 | } 60 | ] 61 | } 62 | ] 63 | } 64 | -------------------------------------------------------------------------------- /test/generalAccessories.test.js: -------------------------------------------------------------------------------- 1 | const { expect } = require('chai'); 2 | 3 | const { getAccessories } = require('./helpers/setup') 4 | 5 | const log = () => { 6 | return null 7 | } 8 | 9 | // disableLogs 10 | describe('disableLogs', () => { 11 | 12 | it('disableLogs true returns empty function', async () => { 13 | const config = { 14 | isUnitTest: true, 15 | hideScanFrequencyButton: true, 16 | disableLogs: true, 17 | hideLearnButton: true, 18 | accessories: [ 19 | { 20 | name: 'Test', 21 | type: 'switch', 22 | disableLogs: true 23 | } 24 | ] 25 | }; 26 | 27 | const accessories = await getAccessories(config, log); 28 | 29 | const logFunctionAsString = accessories[0].log.toString(); 30 | const isEmptyFunction = logFunctionAsString === '() => {}'; 31 | 32 | expect(isEmptyFunction).to.equal(true); 33 | }); 34 | 35 | it('disableLogs false returns useful function', async () => { 36 | const config = { 37 | isUnitTest: true, 38 | hideScanFrequencyButton: true, 39 | hideLearnButton: true, 40 | accessories: [ 41 | { 42 | name: 'Test', 43 | type: 'switch', 44 | } 45 | ] 46 | }; 47 | 48 | const accessories = await getAccessories(config, log); 49 | 50 | const logFunctionAsString = accessories[0].log.toString(); 51 | const isEmptyFunction = logFunctionAsString === '() => {}'; 52 | 53 | expect(isEmptyFunction).to.equal(false); 54 | }); 55 | }) 56 | -------------------------------------------------------------------------------- /helpers/sendCommand.js: -------------------------------------------------------------------------------- 1 | const { assert } = require('chai') 2 | 3 | module.exports = ({ device, command, log, name, debug }) => { 4 | assert(command, `\x1b[31m[CONFIG ERROR]: \x1b[0m${name} (\x1b[33mcommand\x1b[0m is missing)`); 5 | 6 | log(`${name} sendCommand (\x1b[33m${command}\x1b[0m)`); 7 | 8 | switch (command) { 9 | case "up": 10 | return device.sendKeyPressAndRelease(1, 0x8C); 11 | case "down": 12 | return device.sendKeyPressAndRelease(1, 0x8D); 13 | case "left": 14 | return device.sendKeyPressAndRelease(1, 0x8B); 15 | case "right": 16 | return device.sendKeyPressAndRelease(1, 0x8A); 17 | case "menu": 18 | return device.sendKeyPressAndRelease(1, 0x86); 19 | case "play": 20 | return device.sendKeyPressAndRelease(12, 0xB0); 21 | case "pause": 22 | return device.sendKeyPressAndRelease(12, 0xB1); 23 | case "next": 24 | return device.sendKeyPressAndRelease(12, 0xB5); 25 | case "previous": 26 | return device.sendKeyPressAndRelease(12, 0xB6); 27 | case "sleep": 28 | case "suspend": 29 | case "wake": 30 | return device.sendKeyPressAndRelease(1, 0x82); 31 | case "stop": 32 | return device.sendKeyPressAndRelease(12, 0xB7); 33 | case "select": 34 | return device.sendKeyPressAndRelease(1, 0x89); 35 | case "top_menu": 36 | case "tv": 37 | return device.sendKeyPressAndRelease(12, 0x60); 38 | case "siri": 39 | case "mic": 40 | return device.sendKeyPressAndRelease(12, 0x04); 41 | default: { 42 | log(`\x1b[31m[ERROR]: \x1b[0m${name} sendCommand (\x1b[33m${command}\x1b[0m is not a valid command)`); 43 | } 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /test/helpers/fakeServiceManager.js: -------------------------------------------------------------------------------- 1 | const assert = require('assert') 2 | const ServiceManager = require('../../helpers/serviceManager') 3 | 4 | class FakeServiceManager extends ServiceManager { 5 | 6 | constructor (name, serviceType, log) { 7 | super(name, serviceType, log) 8 | 9 | this.service = new FakeService(name, log); 10 | this.hasRecordedSetCharacteristic = false 11 | } 12 | 13 | clearRecordedSetCharacteristic () { 14 | this.hasRecordedSetCharacteristic = false 15 | } 16 | 17 | setCharacteristic (characteristic, value) { 18 | this.hasRecordedSetCharacteristic = true 19 | 20 | super.setCharacteristic(characteristic, value) 21 | } 22 | } 23 | 24 | class FakeService { 25 | 26 | constructor (name, log) { 27 | this.log = log 28 | this.name = name 29 | this.characteristics = {} 30 | } 31 | 32 | setCharacteristic (type, value) { 33 | let characteristic = this.characteristics[type] 34 | 35 | if (characteristic) characteristic.set(value); 36 | } 37 | 38 | getCharacteristic (type) { 39 | let characteristic = this.characteristics[type] 40 | 41 | if (!characteristic) { 42 | characteristic = new FakeCharacteristic(type, this.name, this.log) 43 | this.characteristics[type] = characteristic 44 | } 45 | 46 | return characteristic 47 | } 48 | } 49 | 50 | class FakeCharacteristic { 51 | 52 | constructor (type, serviceName, log) { 53 | this.log = log 54 | this.type = type 55 | this.serviceName = serviceName 56 | } 57 | 58 | get () { 59 | return this.getMethod(() => { 60 | this.log('Fake Get Callback Received') 61 | }) 62 | } 63 | 64 | set (value) { 65 | this.log('Set Fake Value Received') 66 | 67 | return this.setMethod(value, (err, value) => { 68 | if (err) return this.log(err.message) 69 | 70 | this.log('Fake Set Callback Received: ', value) 71 | }) 72 | } 73 | 74 | on (getSet, method) { 75 | if (getSet === 'get') this.getMethod = method 76 | if (getSet === 'set') this.setMethod = method 77 | } 78 | 79 | getValue () { 80 | return new Promise((resolve, reject) => { 81 | this.getMethod((error, value) => { 82 | if (error) return reject(error) 83 | 84 | resolve(value) 85 | }) 86 | }) 87 | } 88 | 89 | setProps () { 90 | 91 | } 92 | } 93 | 94 | module.exports = FakeServiceManager -------------------------------------------------------------------------------- /helpers/devices.js: -------------------------------------------------------------------------------- 1 | const { scan, parseCredentials } = require('node-appletv'); 2 | 3 | const discoverDevices = async (log) => { 4 | const devices = await scan(); 5 | 6 | devices.forEach((device) => { 7 | if (device.service.addresses.length > 0) { 8 | const addresses = device.service.addresses.filter(address => address.includes('.')); 9 | device.address = addresses[0]; 10 | } 11 | 12 | discoveredDevices[device.uid] = device; 13 | }) 14 | 15 | return devices; 16 | } 17 | 18 | const discoveredDevices = {}; 19 | const connectedDevices = {}; 20 | 21 | const connectToDevices = async (config, log) => { 22 | let { devices } = config; 23 | 24 | if (!devices) devices = []; 25 | if (devices && !Array.isArray(devices)) return log('\x1b[31m[CONFIG ERROR]\x1b[0m The \x1b[33mdevices\x1b[0m config option should be wrapped in square brackes: \x1b[33m[{ "configID": "lounge", "name": "ATV Lounge", "uid": "2E7BB26D-2B5C-4FD0-B7EB-3F1F8B1AA1E1", "credentials": "cr3d3nt14l$..." }]\x1b[0m.') 26 | 27 | for (let i = 0; i < devices.length; i++) { 28 | const configDevice = devices[i]; 29 | const { id, name, credentials } = configDevice; 30 | 31 | const uid = credentials.split(':')[0]; 32 | const pairingData = credentials.split(':')[1]; 33 | // TODO: Add uid verification here. 34 | 35 | const device = discoveredDevices[uid]; 36 | 37 | if (!device) continue; 38 | 39 | device.name = name; 40 | device.deviceID = id; 41 | 42 | log(`\x1b[35m[INFO]\x1b[0m Connecting to "${device.name}"`); 43 | try { 44 | const parsedCredentials = parseCredentials(credentials); 45 | connectedDevices[id] = await device.openConnection(parsedCredentials); 46 | log(`\x1b[35m[INFO]\x1b[0m Connected to "${device.name}"`); 47 | 48 | } catch (err) { 49 | log(`\x1b[31m[ERROR]\x1b[0m Could not connect to "${device.name}". Try removing the device from the \x1b[33mdevices\x1b[0m config then restarted hombridge and re-pair.`); 50 | } 51 | } 52 | } 53 | 54 | const getDevice = (deviceID) => { 55 | return connectedDevices[deviceID] 56 | } 57 | 58 | const disconnectDevices = () => { 59 | Object.keys(connectedDevices).forEach((deviceID) => { 60 | const device = connectedDevices[deviceID]; 61 | device.closeConnection(); 62 | }) 63 | 64 | console.log(`Disconnected Apple TV's`); 65 | } 66 | 67 | module.exports = { getDevice, discoverDevices, connectToDevices, disconnectDevices }; -------------------------------------------------------------------------------- /helpers/serviceManager.js: -------------------------------------------------------------------------------- 1 | const assert = require('assert') 2 | 3 | class ServiceManager { 4 | 5 | constructor (name, serviceType, log) { 6 | assert(name, 'ServiceManager requireds a "name" to be provided.') 7 | assert(serviceType, 'ServiceManager requires the "type" to be provided.') 8 | assert(log, 'ServiceManager requires "log" to be provided.') 9 | 10 | this.log = log 11 | 12 | this.service = new serviceType(name); 13 | this.characteristics = {} 14 | 15 | this.addNameCharacteristic() 16 | } 17 | 18 | setCharacteristic (characteristic, value) { 19 | this.service.setCharacteristic(characteristic, value); 20 | } 21 | 22 | getCharacteristic (characteristic) { 23 | return this.service.getCharacteristic(characteristic) 24 | } 25 | 26 | refreshCharacteristicUI (characteristic) { 27 | this.getCharacteristic(characteristic).getValue(); 28 | } 29 | 30 | // Convenience 31 | 32 | addCharacteristic ({ name, type, getSet, method, bind, props }) { 33 | this.characteristics[name] = type 34 | 35 | 36 | if (props) { 37 | props.propertyName = name 38 | 39 | assert('A value for `bind` is required if you are setting `props`') 40 | this.getCharacteristic(type).on(getSet, method.bind(bind, props)); 41 | } else { 42 | const boundMethod = bind ? method.bind(bind) : method 43 | this.getCharacteristic(type).on(getSet, boundMethod); 44 | } 45 | } 46 | 47 | addGetCharacteristic ({ name, type, method, bind, props }) { 48 | this.addCharacteristic({ name, type, getSet: 'get', method, bind, props }) 49 | } 50 | 51 | addSetCharacteristic ({ name, type, method, bind, props }) { 52 | this.addCharacteristic({ name, type, getSet: 'set', method, bind, props }) 53 | } 54 | 55 | addToggleCharacteristic ({ name, type, getMethod, setMethod, bind, props }) { 56 | this.addGetCharacteristic({ name, type, method: getMethod, bind, props }) 57 | this.addSetCharacteristic({ name, type, method: setMethod, bind, props }) 58 | } 59 | 60 | getCharacteristicTypeForName (name) { 61 | return this.characteristics[name] 62 | } 63 | 64 | // Name Characteristic 65 | 66 | addNameCharacteristic () { 67 | this.addCharacteristic({ name: 'name', type: Characteristic.Name, method: this.getName }); 68 | } 69 | 70 | getName (callback) { 71 | const { name } = this 72 | 73 | this.log(`${name} getName: ${name}`); 74 | 75 | callback(null, name); 76 | } 77 | } 78 | 79 | module.exports = ServiceManager -------------------------------------------------------------------------------- /accessories/accessory.js: -------------------------------------------------------------------------------- 1 | const uuid = require('uuid'); 2 | 3 | const { HomebridgeAccessory } = require('homebridge-platform-helper'); 4 | 5 | const sendCommand = require('../helpers/sendCommand'); 6 | const delayForDuration = require('../helpers/delayForDuration'); 7 | const catchDelayCancelError = require('../helpers/catchDelayCancelError'); 8 | 9 | class AppleTVAccessory extends HomebridgeAccessory { 10 | 11 | constructor (log, config = {}, serviceManagerType) { 12 | if (!config.name) config.name = "Unknown Accessory" 13 | 14 | super(log, config, serviceManagerType); 15 | if (config.debug) this.debug = true 16 | 17 | this.manufacturer = 'Apple'; 18 | this.model = 'Apple TV'; 19 | this.serialNumber = uuid.v4(); 20 | } 21 | 22 | reset () { 23 | // Clear Multi-command timeouts 24 | if (this.intervalTimeoutPromise) { 25 | this.intervalTimeoutPromise.cancel(); 26 | this.intervalTimeoutPromise = null; 27 | } 28 | 29 | if (this.pauseTimeoutPromise) { 30 | this.pauseTimeoutPromise.cancel(); 31 | this.pauseTimeoutPromise = null; 32 | } 33 | } 34 | 35 | async performSend (command) { 36 | const { debug, device, config, log, name } = this; 37 | 38 | if (typeof command === 'string') { 39 | sendCommand({ device, command, log, name, debug }); 40 | 41 | return; 42 | } 43 | 44 | await catchDelayCancelError(async () => { 45 | // Itterate through each command config in the array 46 | for (let index = 0; index < command.length; index++) { 47 | let pause; 48 | const currentCommand = command[index]; 49 | 50 | if (typeof currentCommand === 'string') { 51 | sendCommand({ device, command: currentCommand, log, name, debug }); 52 | } else { 53 | await this.performRepeatSend(currentCommand); 54 | 55 | pause = currentCommand.pause; 56 | } 57 | 58 | if (!pause) pause = 0.5; 59 | this.pauseTimeoutPromise = delayForDuration(pause); 60 | await this.pauseTimeoutPromise; 61 | } 62 | }); 63 | } 64 | 65 | async performRepeatSend (parentData) { 66 | const { host, log, name, debug } = this; 67 | let { command, interval, repeat } = parentData; 68 | 69 | repeat = repeat || 1 70 | if (repeat > 1) interval = interval || 0.5; 71 | 72 | // Itterate through each command config in the array 73 | for (let index = 0; index < repeat; index++) { 74 | await this.performSend(command); 75 | 76 | if (interval && index < repeat - 1) { 77 | this.intervalTimeoutPromise = delayForDuration(interval); 78 | await this.intervalTimeoutPromise; 79 | } 80 | } 81 | } 82 | } 83 | 84 | module.exports = AppleTVAccessory; 85 | -------------------------------------------------------------------------------- /accessories/pairSwitch.js: -------------------------------------------------------------------------------- 1 | const ServiceManager = require('../helpers/serviceManager'); 2 | const ServiceManagerTypes = require('../helpers/serviceManagerTypes'); 3 | 4 | const HomebridgePlatformAccessory = require('./accessory'); 5 | const requestPairingCode = require('../helpers/requestPairingCode'); 6 | 7 | class PairSwitchAccessory extends HomebridgePlatformAccessory { 8 | 9 | constructor (log, appleTV, serviceManagerType) { 10 | const config = {}; 11 | config.name = `Pair ${appleTV.name}` || 'Pair Apple TV'; 12 | config.persistState = false; 13 | 14 | super(log, config, serviceManagerType); 15 | 16 | this.appleTV = appleTV; 17 | } 18 | 19 | async togglePairing (props, on, callback) { 20 | const { config, log, serviceManager } = this; 21 | 22 | const turnOffCallback = () => { 23 | serviceManager.setCharacteristic(Characteristic.On, false); 24 | } 25 | 26 | callback(); 27 | 28 | if (on) { 29 | let connection; 30 | let connectedAppleTV; 31 | 32 | try { 33 | connection = await this.appleTV.openConnection(); 34 | 35 | const pairCallback = await connection.pair(); 36 | 37 | const { pairingCode } = await requestPairingCode(log); 38 | 39 | connectedAppleTV = await pairCallback(pairingCode); 40 | 41 | log('\x1b[32m[SUCCESS]: \x1b[0m Pairing was successful!'); 42 | log('Add the following to the \x1b[33mdevices\x1b[0m array in the config then restart homebridge:'); 43 | console.log('\x1b[33m{\x1b[0m'); 44 | console.log('\x1b[33m "id": "lounge",\x1b[0m'); 45 | console.log('\x1b[33m "name": "Lounge Apple TV",\x1b[0m'); 46 | console.log(`\x1b[33m "credentials": "${connectedAppleTV.credentials.toString()}"\x1b[0m`); 47 | console.log('\x1b[33m}\x1b[0m'); 48 | 49 | connectedAppleTV.closeConnection(); 50 | } catch (err) { 51 | log(`\x1b[31m[ERROR]: \x1b[0m${err.message}`) 52 | log(err.stack) 53 | 54 | if (connectedAppleTV) { 55 | connectedAppleTV.closeConnection(); 56 | } else { 57 | connection.closeConnection(); 58 | } 59 | 60 | return; 61 | } 62 | } 63 | } 64 | 65 | setupServiceManager () { 66 | const { data, name, config, serviceManagerType } = this; 67 | const { on, off } = data || { }; 68 | 69 | this.serviceManager = new ServiceManagerTypes[serviceManagerType](name, Service.Switch, this.log); 70 | 71 | this.serviceManager.addToggleCharacteristic({ 72 | name: 'switchState', 73 | type: Characteristic.On, 74 | getMethod: this.getCharacteristicValue, 75 | setMethod: this.togglePairing.bind(this), 76 | bind: this, 77 | props: { 78 | 79 | }, 80 | bind: this 81 | }) 82 | } 83 | } 84 | 85 | module.exports = PairSwitchAccessory 86 | -------------------------------------------------------------------------------- /test/switch.test.js: -------------------------------------------------------------------------------- 1 | const { expect } = require('chai'); 2 | 3 | const { log, setup } = require('./helpers/setup') 4 | const FakeServiceManager = require('./helpers/fakeServiceManager') 5 | 6 | const delayForDuration = require('../helpers/delayForDuration') 7 | 8 | const { Switch } = require('../accessories') 9 | 10 | const data = { 11 | on: 'ON', 12 | off: 'OFF' 13 | } 14 | 15 | // TODO: Check cancellation of timeouts 16 | 17 | describe('switchAccessory', () => { 18 | 19 | // Switch Turn On 20 | it('turns on', async () => { 21 | const { device } = setup(); 22 | 23 | const config = { 24 | data, 25 | persistState: false, 26 | host: device.host.address 27 | } 28 | 29 | 30 | const switchAccessory = new Switch(null, config, 'FakeServiceManager') 31 | switchAccessory.serviceManager.setCharacteristic(Characteristic.On, true) 32 | 33 | expect(switchAccessory.state.switchState).to.equal(true); 34 | 35 | // Check hex code was sent 36 | const hasSentCode = device.hasSentCode('ON'); 37 | expect(hasSentCode).to.equal(true); 38 | 39 | // Check that only one code has been sent 40 | const sentHexCodeCount = device.getSentHexCodeCount(); 41 | expect(sentHexCodeCount).to.equal(1); 42 | }); 43 | 44 | 45 | // Switch Turn On then Off 46 | it('turns off', async () => { 47 | const { device } = setup(); 48 | 49 | const config = { 50 | data, 51 | persistState: false, 52 | host: device.host.address 53 | } 54 | 55 | const switchAccessory = new Switch(null, config, 'FakeServiceManager') 56 | 57 | // Turn On Switch 58 | switchAccessory.serviceManager.setCharacteristic(Characteristic.On, true) 59 | expect(switchAccessory.state.switchState).to.equal(true); 60 | 61 | // Turn Off Switch 62 | switchAccessory.serviceManager.setCharacteristic(Characteristic.On, false) 63 | expect(switchAccessory.state.switchState).to.equal(false); 64 | 65 | // Check hex code was sent 66 | const hasSentCodes = device.hasSentCodes([ 'ON', 'OFF' ]); 67 | expect(hasSentCodes).to.equal(true); 68 | 69 | // Check that only one code has been sent 70 | const sentHexCodeCount = device.getSentHexCodeCount(); 71 | expect(sentHexCodeCount).to.equal(2); 72 | }); 73 | 74 | 75 | // Auto Off 76 | it('"enableAutoOff": true, "onDuration": 1', async () => { 77 | const { device } = setup(); 78 | 79 | const config = { 80 | data, 81 | persistState: false, 82 | host: device.host.address, 83 | enableAutoOff: true, 84 | onDuration: 1 85 | } 86 | 87 | const switchAccessory = new Switch(null, config, 'FakeServiceManager') 88 | 89 | 90 | // Turn On Switch 91 | switchAccessory.serviceManager.setCharacteristic(Characteristic.On, true) 92 | expect(switchAccessory.state.switchState).to.equal(true); 93 | 94 | await delayForDuration(0.4) 95 | // Expecting on after 0.4s total 96 | expect(switchAccessory.state.switchState).to.equal(true); 97 | 98 | await delayForDuration(0.7) 99 | // Expecting off after 1.1s total 100 | expect(switchAccessory.state.switchState).to.equal(false); 101 | }).timeout(4000); 102 | 103 | 104 | // Auto On 105 | it('"enableAutoOn": true, "offDuration": 1', async () => { 106 | const { device } = setup(); 107 | 108 | const config = { 109 | data, 110 | persistState: false, 111 | host: device.host.address, 112 | enableAutoOn: true, 113 | offDuration: 1 114 | } 115 | 116 | const switchAccessory = new Switch(null, config, 'FakeServiceManager') 117 | 118 | // Turn On Switch 119 | switchAccessory.serviceManager.setCharacteristic(Characteristic.On, true) 120 | expect(switchAccessory.state.switchState).to.equal(true); 121 | 122 | // Turn Off Switch 123 | switchAccessory.serviceManager.setCharacteristic(Characteristic.On, false) 124 | expect(switchAccessory.state.switchState).to.equal(false); 125 | 126 | await delayForDuration(0.4) 127 | // Expecting off after 0.4s total 128 | expect(switchAccessory.state.switchState).to.equal(false); 129 | 130 | await delayForDuration(0.7) 131 | // Expecting on after 1.1s total 132 | expect(switchAccessory.state.switchState).to.equal(true); 133 | }).timeout(4000); 134 | }) -------------------------------------------------------------------------------- /accessories/switch.js: -------------------------------------------------------------------------------- 1 | const ServiceManagerTypes = require('../helpers/serviceManagerTypes'); 2 | const delayForDuration = require('../helpers/delayForDuration'); 3 | const catchDelayCancelError = require('../helpers/catchDelayCancelError'); 4 | const { getDevice } = require('../helpers/devices'); 5 | const AppleTVAccessory = require('./accessory'); 6 | 7 | class SwitchAccessory extends AppleTVAccessory { 8 | 9 | constructor (log, config, serviceManagerType) { 10 | const { deviceID, name } = config; 11 | 12 | let ignoreAccessory = false; 13 | 14 | if (!deviceID) { 15 | log(`\x1b[31m[CONFIG ERROR]\x1b[0m Each accessory should include a \x1b[33mdeviceID\x1b[0m.`); 16 | 17 | ignoreAccessory = true; 18 | } 19 | 20 | const device = getDevice(deviceID); 21 | 22 | if (device) { 23 | if (!name ) config.name = device.name; 24 | } else { 25 | log(`\x1b[31m[CONFIG ERROR]\x1b[0m ${name + '; ' || ''}No connected device could be found with a \x1b[33mdeviceID\x1b[0m of "${deviceID}".`); 26 | 27 | ignoreAccessory = true; 28 | } 29 | 30 | config.persistState = false; 31 | 32 | super(log, config, serviceManagerType); 33 | 34 | this.device = device; 35 | this.ignoreAccessory = ignoreAccessory; 36 | } 37 | 38 | setDefaults () { 39 | const { config } = this; 40 | 41 | config.offDuration = config.offDuration || 0.1; 42 | config.onDuration = config.onDuration || 0.1; 43 | config.enableAutoOn = config.enableAutoOn || false; 44 | if (config.enableAutoOff === undefined) config.enableAutoOff = true; 45 | 46 | this.state.switchState = false; 47 | } 48 | 49 | reset () { 50 | super.reset(); 51 | 52 | // Clear Timeouts 53 | if (this.delayTimeoutPromise) { 54 | this.delayTimeoutPromise.cancel(); 55 | this.delayTimeoutPromise = null; 56 | } 57 | 58 | if (this.autoOffTimeoutPromise) { 59 | this.autoOffTimeoutPromise.cancel(); 60 | this.autoOffTimeoutPromise = null; 61 | } 62 | 63 | if (this.autoOnTimeoutPromise) { 64 | this.autoOnTimeoutPromise.cancel(); 65 | this.autoOnTimeoutPromise = null 66 | } 67 | } 68 | 69 | checkAutoOnOff () { 70 | this.reset(); 71 | this.checkAutoOn(); 72 | this.checkAutoOff(); 73 | } 74 | 75 | async setSwitchState (command) { 76 | this.reset(); 77 | 78 | if (command) await this.performSend(command); 79 | 80 | this.checkAutoOnOff(); 81 | } 82 | 83 | async checkAutoOff () { 84 | await catchDelayCancelError(async () => { 85 | const { config, log, name, state, serviceManager } = this; 86 | let { disableAutomaticOff, enableAutoOff, onDuration } = config; 87 | 88 | if (state.switchState && enableAutoOff) { 89 | log(`${name} setSwitchState: (automatically turn off in ${onDuration} seconds)`); 90 | 91 | this.autoOffTimeoutPromise = delayForDuration(onDuration); 92 | await this.autoOffTimeoutPromise; 93 | 94 | serviceManager.setCharacteristic(Characteristic.On, false); 95 | } 96 | }); 97 | } 98 | 99 | async checkAutoOn () { 100 | await catchDelayCancelError(async () => { 101 | const { config, log, name, state, serviceManager } = this; 102 | let { disableAutomaticOn, enableAutoOn, offDuration } = config; 103 | 104 | if (!state.switchState && enableAutoOn) { 105 | log(`${name} setSwitchState: (automatically turn on in ${offDuration} seconds)`); 106 | 107 | this.autoOnTimeoutPromise = delayForDuration(offDuration); 108 | await this.autoOnTimeoutPromise; 109 | 110 | serviceManager.setCharacteristic(Characteristic.On, true); 111 | } 112 | }); 113 | } 114 | 115 | setupServiceManager () { 116 | const { name, config, serviceManagerType } = this; 117 | const { command } = config; 118 | const { on, off } = command || { }; 119 | 120 | this.serviceManager = new ServiceManagerTypes[serviceManagerType](name, Service.Switch, this.log); 121 | 122 | this.serviceManager.addToggleCharacteristic({ 123 | name: 'switchState', 124 | type: Characteristic.On, 125 | getMethod: this.getCharacteristicValue, 126 | setMethod: this.setCharacteristicValue, 127 | bind: this, 128 | props: { 129 | defaultValue: false, 130 | onData: on || command, 131 | offData: off || undefined, 132 | setValuePromise: this.setSwitchState.bind(this) 133 | } 134 | }); 135 | } 136 | } 137 | 138 | module.exports = SwitchAccessory; -------------------------------------------------------------------------------- /platform.js: -------------------------------------------------------------------------------- 1 | const { HomebridgePlatform } = require('homebridge-platform-helper'); 2 | 3 | const npmPackage = require('./package.json'); 4 | const Accessory = require('./accessories'); 5 | const checkForUpdates = require('./helpers/checkForUpdates'); 6 | const { discoverDevices, connectToDevices, disconnectDevices } = require('./helpers/devices'); 7 | 8 | let homebridgeRef 9 | 10 | const AppleTVPlatform = class extends HomebridgePlatform { 11 | 12 | constructor (log, config = {}) { 13 | super(log, config, homebridgeRef); 14 | 15 | if (!config.devices) config.devices = []; 16 | } 17 | 18 | async addAccessories (accessories) { 19 | const { config, log } = this; 20 | 21 | this.showMessage(); 22 | setTimeout(checkForUpdates, 1800); 23 | 24 | if (!config.accessories) config.accessories = [] 25 | 26 | // Discover Apple TV's 27 | log(`\x1b[35m[INFO]\x1b[0m Automatically discovering Apple TV's`) 28 | 29 | const devices = await discoverDevices(log); 30 | 31 | devices.forEach((appleTV) => { 32 | log(`\x1b[35m[INFO]\x1b[0m Discovered Apple TV (${appleTV.name}) at ${appleTV.address}`) 33 | 34 | // Add a PairSwitch accessory unless hidden 35 | if (config.showPairSwitches !== false) { 36 | const pairAccessory = new Accessory.PairSwitch(log, appleTV); 37 | accessories.push(pairAccessory); 38 | 39 | log(`\x1b[35m[INFO]\x1b[0m Added pair switch for Apple TV (${appleTV.name}) at ${appleTV.address}`) 40 | } 41 | 42 | }); 43 | 44 | await connectToDevices(config, log); 45 | 46 | config.devices.forEach((device) => { 47 | // Add default switches 48 | if (config.showDefaultSwitches === true) { 49 | const defaultSwitches = require('./defaultSwitches.json'); 50 | 51 | defaultSwitches.forEach((accessory) => { 52 | accessory.deviceID = device.id; 53 | 54 | if (config.defaultSwitchesIncludeATVName !== false) { 55 | accessory.name = `${accessory.name} (${device.name})`; 56 | } 57 | 58 | const switchAccessory = new Accessory.Switch(log, accessory); 59 | console.log('switchAccessory', switchAccessory) 60 | accessories.push(switchAccessory); 61 | }) 62 | 63 | log(`\x1b[35m[INFO]\x1b[0m Added default switches for Apple TV (${device.name}). `) 64 | } 65 | }); 66 | 67 | // Itterate through the config accessories 68 | config.accessories.forEach((accessory) => { 69 | const switchAccessory = new Accessory.Switch(log, accessory); 70 | if (!switchAccessory.ignoreAccessory) accessories.push(switchAccessory); 71 | }) 72 | } 73 | 74 | showMessage () { 75 | const { config, log } = this; 76 | 77 | if (config && (config.hideWelcomeMessage || config.isUnitTest)) { 78 | log(`\x1b[35m[INFO]\x1b[0m Running Homebridge Apple TV Plugin version \x1b[32m${npmPackage.version}\x1b[0m`) 79 | 80 | return 81 | } 82 | 83 | setTimeout(() => { 84 | log('') 85 | log(`**************************************************************************************************************`) 86 | log(`** Welcome to version \x1b[32m${npmPackage.version}\x1b[0m of the \x1b[34mHomebridge Apple TV Plugin\x1b[0m!`) 87 | log('** ') 88 | log(`** Find out what's in the latest release here: \x1b[4mhttps://github.com/lprhodes/homebridge-apple-tv/releases\x1b[0m`) 89 | log(`** `) 90 | log(`** If you like this plugin then please star it on GitHub or better yet`) 91 | log(`** buy me a drink using Paypal \x1b[4mhttps://paypal.me/lprhodes\x1b[0m or crypto \x1b[4mhttps://goo.gl/bEn1RW\x1b[0m.`) 92 | log(`** `) 93 | log(`** Keep up to date with this plugin along with everything HomeKit and homebridge`) 94 | log(`** by signing up to my newsletter at \x1b[4mhttp://workswith.io\x1b[0m`) 95 | log(`**`) 96 | log(`** You can disable this message by adding "hideWelcomeMessage": true to the config (see config-sample.json).`) 97 | log(`**`) 98 | log(`**************************************************************************************************************`) 99 | log('') 100 | }, 6500) 101 | } 102 | } 103 | 104 | AppleTVPlatform.setHomebridge = (homebridge) => { 105 | homebridgeRef = homebridge 106 | } 107 | 108 | module.exports = AppleTVPlatform 109 | 110 | process.stdin.resume();//so the program will not close instantly 111 | 112 | function exitHandler(options, err) { 113 | disconnectDevices(); 114 | } 115 | 116 | //do something when app is closing 117 | process.on('exit', exitHandler.bind(null,{cleanup:true})); 118 | 119 | //catches ctrl+c event 120 | process.on('SIGINT', exitHandler.bind(null, {exit:true})); 121 | 122 | // catches "kill pid" (for example: nodemon restart) 123 | process.on('SIGUSR1', exitHandler.bind(null, {exit:true})); 124 | process.on('SIGUSR2', exitHandler.bind(null, {exit:true})); -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Apache License 2 | Version 2.0, January 2004 3 | http://www.apache.org/licenses/ 4 | 5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 6 | 7 | 1. Definitions. 8 | 9 | "License" shall mean the terms and conditions for use, reproduction, 10 | and distribution as defined by Sections 1 through 9 of this document. 11 | 12 | "Licensor" shall mean the copyright owner or entity authorized by 13 | the copyright owner that is granting the License. 14 | 15 | "Legal Entity" shall mean the union of the acting entity and all 16 | other entities that control, are controlled by, or are under common 17 | control with that entity. For the purposes of this definition, 18 | "control" means (i) the power, direct or indirect, to cause the 19 | direction or management of such entity, whether by contract or 20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 21 | outstanding shares, or (iii) beneficial ownership of such entity. 22 | 23 | "You" (or "Your") shall mean an individual or Legal Entity 24 | exercising permissions granted by this License. 25 | 26 | "Source" form shall mean the preferred form for making modifications, 27 | including but not limited to software source code, documentation 28 | source, and configuration files. 29 | 30 | "Object" form shall mean any form resulting from mechanical 31 | transformation or translation of a Source form, including but 32 | not limited to compiled object code, generated documentation, 33 | and conversions to other media types. 34 | 35 | "Work" shall mean the work of authorship, whether in Source or 36 | Object form, made available under the License, as indicated by a 37 | copyright notice that is included in or attached to the work 38 | (an example is provided in the Appendix below). 39 | 40 | "Derivative Works" shall mean any work, whether in Source or Object 41 | form, that is based on (or derived from) the Work and for which the 42 | editorial revisions, annotations, elaborations, or other modifications 43 | represent, as a whole, an original work of authorship. For the purposes 44 | of this License, Derivative Works shall not include works that remain 45 | separable from, or merely link (or bind by name) to the interfaces of, 46 | the Work and Derivative Works thereof. 47 | 48 | "Contribution" shall mean any work of authorship, including 49 | the original version of the Work and any modifications or additions 50 | to that Work or Derivative Works thereof, that is intentionally 51 | submitted to Licensor for inclusion in the Work by the copyright owner 52 | or by an individual or Legal Entity authorized to submit on behalf of 53 | the copyright owner. For the purposes of this definition, "submitted" 54 | means any form of electronic, verbal, or written communication sent 55 | to the Licensor or its representatives, including but not limited to 56 | communication on electronic mailing lists, source code control systems, 57 | and issue tracking systems that are managed by, or on behalf of, the 58 | Licensor for the purpose of discussing and improving the Work, but 59 | excluding communication that is conspicuously marked or otherwise 60 | designated in writing by the copyright owner as "Not a Contribution." 61 | 62 | "Contributor" shall mean Licensor and any individual or Legal Entity 63 | on behalf of whom a Contribution has been received by Licensor and 64 | subsequently incorporated within the Work. 65 | 66 | 2. Grant of Copyright License. Subject to the terms and conditions of 67 | this License, each Contributor hereby grants to You a perpetual, 68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 69 | copyright license to reproduce, prepare Derivative Works of, 70 | publicly display, publicly perform, sublicense, and distribute the 71 | Work and such Derivative Works in Source or Object form. 72 | 73 | 3. Grant of Patent License. Subject to the terms and conditions of 74 | this License, each Contributor hereby grants to You a perpetual, 75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 76 | (except as stated in this section) patent license to make, have made, 77 | use, offer to sell, sell, import, and otherwise transfer the Work, 78 | where such license applies only to those patent claims licensable 79 | by such Contributor that are necessarily infringed by their 80 | Contribution(s) alone or by combination of their Contribution(s) 81 | with the Work to which such Contribution(s) was submitted. If You 82 | institute patent litigation against any entity (including a 83 | cross-claim or counterclaim in a lawsuit) alleging that the Work 84 | or a Contribution incorporated within the Work constitutes direct 85 | or contributory patent infringement, then any patent licenses 86 | granted to You under this License for that Work shall terminate 87 | as of the date such litigation is filed. 88 | 89 | 4. Redistribution. You may reproduce and distribute copies of the 90 | Work or Derivative Works thereof in any medium, with or without 91 | modifications, and in Source or Object form, provided that You 92 | meet the following conditions: 93 | 94 | (a) You must give any other recipients of the Work or 95 | Derivative Works a copy of this License; and 96 | 97 | (b) You must cause any modified files to carry prominent notices 98 | stating that You changed the files; and 99 | 100 | (c) You must retain, in the Source form of any Derivative Works 101 | that You distribute, all copyright, patent, trademark, and 102 | attribution notices from the Source form of the Work, 103 | excluding those notices that do not pertain to any part of 104 | the Derivative Works; and 105 | 106 | (d) If the Work includes a "NOTICE" text file as part of its 107 | distribution, then any Derivative Works that You distribute must 108 | include a readable copy of the attribution notices contained 109 | within such NOTICE file, excluding those notices that do not 110 | pertain to any part of the Derivative Works, in at least one 111 | of the following places: within a NOTICE text file distributed 112 | as part of the Derivative Works; within the Source form or 113 | documentation, if provided along with the Derivative Works; or, 114 | within a display generated by the Derivative Works, if and 115 | wherever such third-party notices normally appear. The contents 116 | of the NOTICE file are for informational purposes only and 117 | do not modify the License. You may add Your own attribution 118 | notices within Derivative Works that You distribute, alongside 119 | or as an addendum to the NOTICE text from the Work, provided 120 | that such additional attribution notices cannot be construed 121 | as modifying the License. 122 | 123 | You may add Your own copyright statement to Your modifications and 124 | may provide additional or different license terms and conditions 125 | for use, reproduction, or distribution of Your modifications, or 126 | for any such Derivative Works as a whole, provided Your use, 127 | reproduction, and distribution of the Work otherwise complies with 128 | the conditions stated in this License. 129 | 130 | 5. Submission of Contributions. Unless You explicitly state otherwise, 131 | any Contribution intentionally submitted for inclusion in the Work 132 | by You to the Licensor shall be under the terms and conditions of 133 | this License, without any additional terms or conditions. 134 | Notwithstanding the above, nothing herein shall supersede or modify 135 | the terms of any separate license agreement you may have executed 136 | with Licensor regarding such Contributions. 137 | 138 | 6. Trademarks. This License does not grant permission to use the trade 139 | names, trademarks, service marks, or product names of the Licensor, 140 | except as required for reasonable and customary use in describing the 141 | origin of the Work and reproducing the content of the NOTICE file. 142 | 143 | 7. Disclaimer of Warranty. Unless required by applicable law or 144 | agreed to in writing, Licensor provides the Work (and each 145 | Contributor provides its Contributions) on an "AS IS" BASIS, 146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 147 | implied, including, without limitation, any warranties or conditions 148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 149 | PARTICULAR PURPOSE. You are solely responsible for determining the 150 | appropriateness of using or redistributing the Work and assume any 151 | risks associated with Your exercise of permissions under this License. 152 | 153 | 8. Limitation of Liability. In no event and under no legal theory, 154 | whether in tort (including negligence), contract, or otherwise, 155 | unless required by applicable law (such as deliberate and grossly 156 | negligent acts) or agreed to in writing, shall any Contributor be 157 | liable to You for damages, including any direct, indirect, special, 158 | incidental, or consequential damages of any character arising as a 159 | result of this License or out of the use or inability to use the 160 | Work (including but not limited to damages for loss of goodwill, 161 | work stoppage, computer failure or malfunction, or any and all 162 | other commercial damages or losses), even if such Contributor 163 | has been advised of the possibility of such damages. 164 | 165 | 9. Accepting Warranty or Additional Liability. While redistributing 166 | the Work or Derivative Works thereof, You may choose to offer, 167 | and charge a fee for, acceptance of support, warranty, indemnity, 168 | or other liability obligations and/or rights consistent with this 169 | License. However, in accepting such obligations, You may act only 170 | on Your own behalf and on Your sole responsibility, not on behalf 171 | of any other Contributor, and only if You agree to indemnify, 172 | defend, and hold each Contributor harmless for any liability 173 | incurred by, or claims asserted against, such Contributor by reason 174 | of your accepting any such warranty or additional liability. 175 | 176 | END OF TERMS AND CONDITIONS -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@mrmlnc/readdir-enhanced@^2.2.1": 6 | version "2.2.1" 7 | resolved "https://registry.yarnpkg.com/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz#524af240d1a360527b730475ecfa1344aa540dde" 8 | dependencies: 9 | call-me-maybe "^1.0.1" 10 | glob-to-regexp "^0.3.0" 11 | 12 | "@octokit/rest@14.0.9": 13 | version "14.0.9" 14 | resolved "https://registry.yarnpkg.com/@octokit/rest/-/rest-14.0.9.tgz#d5e0a00dcb78901dd7b2ef852acfc0aea7c479ef" 15 | dependencies: 16 | before-after-hook "^1.1.0" 17 | debug "^3.1.0" 18 | is-array-buffer "^1.0.0" 19 | is-stream "^1.1.0" 20 | lodash "^4.17.4" 21 | url-template "^2.0.8" 22 | 23 | "@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2": 24 | version "1.1.2" 25 | resolved "https://registry.yarnpkg.com/@protobufjs/aspromise/-/aspromise-1.1.2.tgz#9b8b0cc663d669a7d8f6f5d0893a14d348f30fbf" 26 | 27 | "@protobufjs/base64@^1.1.2": 28 | version "1.1.2" 29 | resolved "https://registry.yarnpkg.com/@protobufjs/base64/-/base64-1.1.2.tgz#4c85730e59b9a1f1f349047dbf24296034bb2735" 30 | 31 | "@protobufjs/codegen@^2.0.4": 32 | version "2.0.4" 33 | resolved "https://registry.yarnpkg.com/@protobufjs/codegen/-/codegen-2.0.4.tgz#7ef37f0d010fb028ad1ad59722e506d9262815cb" 34 | 35 | "@protobufjs/eventemitter@^1.1.0": 36 | version "1.1.0" 37 | resolved "https://registry.yarnpkg.com/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz#355cbc98bafad5978f9ed095f397621f1d066b70" 38 | 39 | "@protobufjs/fetch@^1.1.0": 40 | version "1.1.0" 41 | resolved "https://registry.yarnpkg.com/@protobufjs/fetch/-/fetch-1.1.0.tgz#ba99fb598614af65700c1619ff06d454b0d84c45" 42 | dependencies: 43 | "@protobufjs/aspromise" "^1.1.1" 44 | "@protobufjs/inquire" "^1.1.0" 45 | 46 | "@protobufjs/float@^1.0.2": 47 | version "1.0.2" 48 | resolved "https://registry.yarnpkg.com/@protobufjs/float/-/float-1.0.2.tgz#5e9e1abdcb73fc0a7cb8b291df78c8cbd97b87d1" 49 | 50 | "@protobufjs/inquire@^1.1.0": 51 | version "1.1.0" 52 | resolved "https://registry.yarnpkg.com/@protobufjs/inquire/-/inquire-1.1.0.tgz#ff200e3e7cf2429e2dcafc1140828e8cc638f089" 53 | 54 | "@protobufjs/path@^1.1.2": 55 | version "1.1.2" 56 | resolved "https://registry.yarnpkg.com/@protobufjs/path/-/path-1.1.2.tgz#6cc2b20c5c9ad6ad0dccfd21ca7673d8d7fbf68d" 57 | 58 | "@protobufjs/pool@^1.1.0": 59 | version "1.1.0" 60 | resolved "https://registry.yarnpkg.com/@protobufjs/pool/-/pool-1.1.0.tgz#09fd15f2d6d3abfa9b65bc366506d6ad7846ff54" 61 | 62 | "@protobufjs/utf8@^1.1.0": 63 | version "1.1.0" 64 | resolved "https://registry.yarnpkg.com/@protobufjs/utf8/-/utf8-1.1.0.tgz#a777360b5b39a1a2e5106f8e858f2fd2d060c570" 65 | 66 | "@sindresorhus/is@^0.7.0": 67 | version "0.7.0" 68 | resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.7.0.tgz#9a06f4f137ee84d7df0460c1fdb1135ffa6c50fd" 69 | 70 | "@types/long@^3.0.32": 71 | version "3.0.32" 72 | resolved "https://registry.yarnpkg.com/@types/long/-/long-3.0.32.tgz#f4e5af31e9e9b196d8e5fca8a5e2e20aa3d60b69" 73 | 74 | "@types/node@^8.9.4": 75 | version "8.10.0" 76 | resolved "https://registry.yarnpkg.com/@types/node/-/node-8.10.0.tgz#f5d649cc49af8ed6507d15dc6e9b43fe8b927540" 77 | 78 | JSONStream@^1.0.4: 79 | version "1.3.2" 80 | resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.2.tgz#c102371b6ec3a7cf3b847ca00c20bb0fce4c6dea" 81 | dependencies: 82 | jsonparse "^1.2.0" 83 | through ">=2.2.7 <3" 84 | 85 | align-text@^0.1.1, align-text@^0.1.3: 86 | version "0.1.4" 87 | resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117" 88 | dependencies: 89 | kind-of "^3.0.2" 90 | longest "^1.0.1" 91 | repeat-string "^1.5.2" 92 | 93 | amdefine@>=0.0.4: 94 | version "1.0.1" 95 | resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" 96 | 97 | ansi-align@^2.0.0: 98 | version "2.0.0" 99 | resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-2.0.0.tgz#c36aeccba563b89ceb556f3690f0b1d9e3547f7f" 100 | dependencies: 101 | string-width "^2.0.0" 102 | 103 | ansi-escapes@^1.1.0: 104 | version "1.4.0" 105 | resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e" 106 | 107 | ansi-escapes@^3.0.0: 108 | version "3.0.0" 109 | resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.0.0.tgz#ec3e8b4e9f8064fc02c3ac9b65f1c275bda8ef92" 110 | 111 | ansi-regex@^2.0.0: 112 | version "2.1.1" 113 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" 114 | 115 | ansi-regex@^3.0.0: 116 | version "3.0.0" 117 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" 118 | 119 | ansi-styles@^2.2.1: 120 | version "2.2.1" 121 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" 122 | 123 | ansi-styles@^3.2.1: 124 | version "3.2.1" 125 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" 126 | dependencies: 127 | color-convert "^1.9.0" 128 | 129 | ansi@^0.3.0, ansi@~0.3.1: 130 | version "0.3.1" 131 | resolved "https://registry.yarnpkg.com/ansi/-/ansi-0.3.1.tgz#0c42d4fb17160d5a9af1e484bace1c66922c1b21" 132 | 133 | are-we-there-yet@~1.1.2: 134 | version "1.1.4" 135 | resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz#bb5dca382bb94f05e15194373d16fd3ba1ca110d" 136 | dependencies: 137 | delegates "^1.0.0" 138 | readable-stream "^2.0.6" 139 | 140 | arr-diff@^4.0.0: 141 | version "4.0.0" 142 | resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" 143 | 144 | arr-flatten@^1.1.0: 145 | version "1.1.0" 146 | resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" 147 | 148 | arr-union@^3.1.0: 149 | version "3.1.0" 150 | resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" 151 | 152 | array-find-index@^1.0.1: 153 | version "1.0.2" 154 | resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" 155 | 156 | array-ify@^1.0.0: 157 | version "1.0.0" 158 | resolved "https://registry.yarnpkg.com/array-ify/-/array-ify-1.0.0.tgz#9e528762b4a9066ad163a6962a364418e9626ece" 159 | 160 | array-union@^1.0.1: 161 | version "1.0.2" 162 | resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" 163 | dependencies: 164 | array-uniq "^1.0.1" 165 | 166 | array-uniq@^1.0.1: 167 | version "1.0.3" 168 | resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" 169 | 170 | array-unique@^0.3.2: 171 | version "0.3.2" 172 | resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" 173 | 174 | arrify@^1.0.1: 175 | version "1.0.1" 176 | resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" 177 | 178 | assertion-error@^1.0.1: 179 | version "1.1.0" 180 | resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b" 181 | 182 | assign-symbols@^1.0.0: 183 | version "1.0.0" 184 | resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" 185 | 186 | async-limiter@~1.0.0: 187 | version "1.0.0" 188 | resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.0.tgz#78faed8c3d074ab81f22b4e985d79e8738f720f8" 189 | 190 | async-retry@1.2.1: 191 | version "1.2.1" 192 | resolved "https://registry.yarnpkg.com/async-retry/-/async-retry-1.2.1.tgz#308c6c4e1d91e63397a4676290334ae9bda7bcb1" 193 | dependencies: 194 | retry "0.10.1" 195 | 196 | async@^1.4.0: 197 | version "1.5.2" 198 | resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" 199 | 200 | async@~0.9.0: 201 | version "0.9.2" 202 | resolved "https://registry.yarnpkg.com/async/-/async-0.9.2.tgz#aea74d5e61c1f899613bf64bda66d4c78f2fd17d" 203 | 204 | async@~1.0.0: 205 | version "1.0.0" 206 | resolved "https://registry.yarnpkg.com/async/-/async-1.0.0.tgz#f8fc04ca3a13784ade9e1641af98578cfbd647a9" 207 | 208 | atob@^2.0.0: 209 | version "2.0.3" 210 | resolved "https://registry.yarnpkg.com/atob/-/atob-2.0.3.tgz#19c7a760473774468f20b2d2d03372ad7d4cbf5d" 211 | 212 | babel-code-frame@^6.26.0: 213 | version "6.26.0" 214 | resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" 215 | dependencies: 216 | chalk "^1.1.3" 217 | esutils "^2.0.2" 218 | js-tokens "^3.0.2" 219 | 220 | babel-core@^6.26.0: 221 | version "6.26.0" 222 | resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.0.tgz#af32f78b31a6fcef119c87b0fd8d9753f03a0bb8" 223 | dependencies: 224 | babel-code-frame "^6.26.0" 225 | babel-generator "^6.26.0" 226 | babel-helpers "^6.24.1" 227 | babel-messages "^6.23.0" 228 | babel-register "^6.26.0" 229 | babel-runtime "^6.26.0" 230 | babel-template "^6.26.0" 231 | babel-traverse "^6.26.0" 232 | babel-types "^6.26.0" 233 | babylon "^6.18.0" 234 | convert-source-map "^1.5.0" 235 | debug "^2.6.8" 236 | json5 "^0.5.1" 237 | lodash "^4.17.4" 238 | minimatch "^3.0.4" 239 | path-is-absolute "^1.0.1" 240 | private "^0.1.7" 241 | slash "^1.0.0" 242 | source-map "^0.5.6" 243 | 244 | babel-generator@^6.26.0: 245 | version "6.26.1" 246 | resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.26.1.tgz#1844408d3b8f0d35a404ea7ac180f087a601bd90" 247 | dependencies: 248 | babel-messages "^6.23.0" 249 | babel-runtime "^6.26.0" 250 | babel-types "^6.26.0" 251 | detect-indent "^4.0.0" 252 | jsesc "^1.3.0" 253 | lodash "^4.17.4" 254 | source-map "^0.5.7" 255 | trim-right "^1.0.1" 256 | 257 | babel-helper-builder-binary-assignment-operator-visitor@^6.24.1: 258 | version "6.24.1" 259 | resolved "https://registry.yarnpkg.com/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz#cce4517ada356f4220bcae8a02c2b346f9a56664" 260 | dependencies: 261 | babel-helper-explode-assignable-expression "^6.24.1" 262 | babel-runtime "^6.22.0" 263 | babel-types "^6.24.1" 264 | 265 | babel-helper-call-delegate@^6.24.1: 266 | version "6.24.1" 267 | resolved "https://registry.yarnpkg.com/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz#ece6aacddc76e41c3461f88bfc575bd0daa2df8d" 268 | dependencies: 269 | babel-helper-hoist-variables "^6.24.1" 270 | babel-runtime "^6.22.0" 271 | babel-traverse "^6.24.1" 272 | babel-types "^6.24.1" 273 | 274 | babel-helper-define-map@^6.24.1: 275 | version "6.26.0" 276 | resolved "https://registry.yarnpkg.com/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz#a5f56dab41a25f97ecb498c7ebaca9819f95be5f" 277 | dependencies: 278 | babel-helper-function-name "^6.24.1" 279 | babel-runtime "^6.26.0" 280 | babel-types "^6.26.0" 281 | lodash "^4.17.4" 282 | 283 | babel-helper-explode-assignable-expression@^6.24.1: 284 | version "6.24.1" 285 | resolved "https://registry.yarnpkg.com/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz#f25b82cf7dc10433c55f70592d5746400ac22caa" 286 | dependencies: 287 | babel-runtime "^6.22.0" 288 | babel-traverse "^6.24.1" 289 | babel-types "^6.24.1" 290 | 291 | babel-helper-function-name@^6.24.1: 292 | version "6.24.1" 293 | resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz#d3475b8c03ed98242a25b48351ab18399d3580a9" 294 | dependencies: 295 | babel-helper-get-function-arity "^6.24.1" 296 | babel-runtime "^6.22.0" 297 | babel-template "^6.24.1" 298 | babel-traverse "^6.24.1" 299 | babel-types "^6.24.1" 300 | 301 | babel-helper-get-function-arity@^6.24.1: 302 | version "6.24.1" 303 | resolved "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz#8f7782aa93407c41d3aa50908f89b031b1b6853d" 304 | dependencies: 305 | babel-runtime "^6.22.0" 306 | babel-types "^6.24.1" 307 | 308 | babel-helper-hoist-variables@^6.24.1: 309 | version "6.24.1" 310 | resolved "https://registry.yarnpkg.com/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz#1ecb27689c9d25513eadbc9914a73f5408be7a76" 311 | dependencies: 312 | babel-runtime "^6.22.0" 313 | babel-types "^6.24.1" 314 | 315 | babel-helper-optimise-call-expression@^6.24.1: 316 | version "6.24.1" 317 | resolved "https://registry.yarnpkg.com/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz#f7a13427ba9f73f8f4fa993c54a97882d1244257" 318 | dependencies: 319 | babel-runtime "^6.22.0" 320 | babel-types "^6.24.1" 321 | 322 | babel-helper-regex@^6.24.1: 323 | version "6.26.0" 324 | resolved "https://registry.yarnpkg.com/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz#325c59f902f82f24b74faceed0363954f6495e72" 325 | dependencies: 326 | babel-runtime "^6.26.0" 327 | babel-types "^6.26.0" 328 | lodash "^4.17.4" 329 | 330 | babel-helper-remap-async-to-generator@^6.24.1: 331 | version "6.24.1" 332 | resolved "https://registry.yarnpkg.com/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz#5ec581827ad723fecdd381f1c928390676e4551b" 333 | dependencies: 334 | babel-helper-function-name "^6.24.1" 335 | babel-runtime "^6.22.0" 336 | babel-template "^6.24.1" 337 | babel-traverse "^6.24.1" 338 | babel-types "^6.24.1" 339 | 340 | babel-helper-replace-supers@^6.24.1: 341 | version "6.24.1" 342 | resolved "https://registry.yarnpkg.com/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz#bf6dbfe43938d17369a213ca8a8bf74b6a90ab1a" 343 | dependencies: 344 | babel-helper-optimise-call-expression "^6.24.1" 345 | babel-messages "^6.23.0" 346 | babel-runtime "^6.22.0" 347 | babel-template "^6.24.1" 348 | babel-traverse "^6.24.1" 349 | babel-types "^6.24.1" 350 | 351 | babel-helpers@^6.24.1: 352 | version "6.24.1" 353 | resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.24.1.tgz#3471de9caec388e5c850e597e58a26ddf37602b2" 354 | dependencies: 355 | babel-runtime "^6.22.0" 356 | babel-template "^6.24.1" 357 | 358 | babel-messages@^6.23.0: 359 | version "6.23.0" 360 | resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e" 361 | dependencies: 362 | babel-runtime "^6.22.0" 363 | 364 | babel-plugin-check-es2015-constants@^6.22.0: 365 | version "6.22.0" 366 | resolved "https://registry.yarnpkg.com/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz#35157b101426fd2ffd3da3f75c7d1e91835bbf8a" 367 | dependencies: 368 | babel-runtime "^6.22.0" 369 | 370 | babel-plugin-syntax-async-functions@^6.8.0: 371 | version "6.13.0" 372 | resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz#cad9cad1191b5ad634bf30ae0872391e0647be95" 373 | 374 | babel-plugin-syntax-exponentiation-operator@^6.8.0: 375 | version "6.13.0" 376 | resolved "https://registry.yarnpkg.com/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz#9ee7e8337290da95288201a6a57f4170317830de" 377 | 378 | babel-plugin-syntax-trailing-function-commas@^6.22.0: 379 | version "6.22.0" 380 | resolved "https://registry.yarnpkg.com/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz#ba0360937f8d06e40180a43fe0d5616fff532cf3" 381 | 382 | babel-plugin-transform-async-to-generator@^6.22.0: 383 | version "6.24.1" 384 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz#6536e378aff6cb1d5517ac0e40eb3e9fc8d08761" 385 | dependencies: 386 | babel-helper-remap-async-to-generator "^6.24.1" 387 | babel-plugin-syntax-async-functions "^6.8.0" 388 | babel-runtime "^6.22.0" 389 | 390 | babel-plugin-transform-es2015-arrow-functions@^6.22.0: 391 | version "6.22.0" 392 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz#452692cb711d5f79dc7f85e440ce41b9f244d221" 393 | dependencies: 394 | babel-runtime "^6.22.0" 395 | 396 | babel-plugin-transform-es2015-block-scoped-functions@^6.22.0: 397 | version "6.22.0" 398 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz#bbc51b49f964d70cb8d8e0b94e820246ce3a6141" 399 | dependencies: 400 | babel-runtime "^6.22.0" 401 | 402 | babel-plugin-transform-es2015-block-scoping@^6.23.0: 403 | version "6.26.0" 404 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz#d70f5299c1308d05c12f463813b0a09e73b1895f" 405 | dependencies: 406 | babel-runtime "^6.26.0" 407 | babel-template "^6.26.0" 408 | babel-traverse "^6.26.0" 409 | babel-types "^6.26.0" 410 | lodash "^4.17.4" 411 | 412 | babel-plugin-transform-es2015-classes@^6.23.0: 413 | version "6.24.1" 414 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz#5a4c58a50c9c9461e564b4b2a3bfabc97a2584db" 415 | dependencies: 416 | babel-helper-define-map "^6.24.1" 417 | babel-helper-function-name "^6.24.1" 418 | babel-helper-optimise-call-expression "^6.24.1" 419 | babel-helper-replace-supers "^6.24.1" 420 | babel-messages "^6.23.0" 421 | babel-runtime "^6.22.0" 422 | babel-template "^6.24.1" 423 | babel-traverse "^6.24.1" 424 | babel-types "^6.24.1" 425 | 426 | babel-plugin-transform-es2015-computed-properties@^6.22.0: 427 | version "6.24.1" 428 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz#6fe2a8d16895d5634f4cd999b6d3480a308159b3" 429 | dependencies: 430 | babel-runtime "^6.22.0" 431 | babel-template "^6.24.1" 432 | 433 | babel-plugin-transform-es2015-destructuring@^6.23.0: 434 | version "6.23.0" 435 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz#997bb1f1ab967f682d2b0876fe358d60e765c56d" 436 | dependencies: 437 | babel-runtime "^6.22.0" 438 | 439 | babel-plugin-transform-es2015-duplicate-keys@^6.22.0: 440 | version "6.24.1" 441 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz#73eb3d310ca969e3ef9ec91c53741a6f1576423e" 442 | dependencies: 443 | babel-runtime "^6.22.0" 444 | babel-types "^6.24.1" 445 | 446 | babel-plugin-transform-es2015-for-of@^6.23.0: 447 | version "6.23.0" 448 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz#f47c95b2b613df1d3ecc2fdb7573623c75248691" 449 | dependencies: 450 | babel-runtime "^6.22.0" 451 | 452 | babel-plugin-transform-es2015-function-name@^6.22.0: 453 | version "6.24.1" 454 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz#834c89853bc36b1af0f3a4c5dbaa94fd8eacaa8b" 455 | dependencies: 456 | babel-helper-function-name "^6.24.1" 457 | babel-runtime "^6.22.0" 458 | babel-types "^6.24.1" 459 | 460 | babel-plugin-transform-es2015-literals@^6.22.0: 461 | version "6.22.0" 462 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz#4f54a02d6cd66cf915280019a31d31925377ca2e" 463 | dependencies: 464 | babel-runtime "^6.22.0" 465 | 466 | babel-plugin-transform-es2015-modules-amd@^6.22.0, babel-plugin-transform-es2015-modules-amd@^6.24.1: 467 | version "6.24.1" 468 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz#3b3e54017239842d6d19c3011c4bd2f00a00d154" 469 | dependencies: 470 | babel-plugin-transform-es2015-modules-commonjs "^6.24.1" 471 | babel-runtime "^6.22.0" 472 | babel-template "^6.24.1" 473 | 474 | babel-plugin-transform-es2015-modules-commonjs@^6.23.0, babel-plugin-transform-es2015-modules-commonjs@^6.24.1: 475 | version "6.26.0" 476 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.0.tgz#0d8394029b7dc6abe1a97ef181e00758dd2e5d8a" 477 | dependencies: 478 | babel-plugin-transform-strict-mode "^6.24.1" 479 | babel-runtime "^6.26.0" 480 | babel-template "^6.26.0" 481 | babel-types "^6.26.0" 482 | 483 | babel-plugin-transform-es2015-modules-systemjs@^6.23.0: 484 | version "6.24.1" 485 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz#ff89a142b9119a906195f5f106ecf305d9407d23" 486 | dependencies: 487 | babel-helper-hoist-variables "^6.24.1" 488 | babel-runtime "^6.22.0" 489 | babel-template "^6.24.1" 490 | 491 | babel-plugin-transform-es2015-modules-umd@^6.23.0: 492 | version "6.24.1" 493 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz#ac997e6285cd18ed6176adb607d602344ad38468" 494 | dependencies: 495 | babel-plugin-transform-es2015-modules-amd "^6.24.1" 496 | babel-runtime "^6.22.0" 497 | babel-template "^6.24.1" 498 | 499 | babel-plugin-transform-es2015-object-super@^6.22.0: 500 | version "6.24.1" 501 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz#24cef69ae21cb83a7f8603dad021f572eb278f8d" 502 | dependencies: 503 | babel-helper-replace-supers "^6.24.1" 504 | babel-runtime "^6.22.0" 505 | 506 | babel-plugin-transform-es2015-parameters@^6.23.0: 507 | version "6.24.1" 508 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz#57ac351ab49caf14a97cd13b09f66fdf0a625f2b" 509 | dependencies: 510 | babel-helper-call-delegate "^6.24.1" 511 | babel-helper-get-function-arity "^6.24.1" 512 | babel-runtime "^6.22.0" 513 | babel-template "^6.24.1" 514 | babel-traverse "^6.24.1" 515 | babel-types "^6.24.1" 516 | 517 | babel-plugin-transform-es2015-shorthand-properties@^6.22.0: 518 | version "6.24.1" 519 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz#24f875d6721c87661bbd99a4622e51f14de38aa0" 520 | dependencies: 521 | babel-runtime "^6.22.0" 522 | babel-types "^6.24.1" 523 | 524 | babel-plugin-transform-es2015-spread@^6.22.0: 525 | version "6.22.0" 526 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz#d6d68a99f89aedc4536c81a542e8dd9f1746f8d1" 527 | dependencies: 528 | babel-runtime "^6.22.0" 529 | 530 | babel-plugin-transform-es2015-sticky-regex@^6.22.0: 531 | version "6.24.1" 532 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz#00c1cdb1aca71112cdf0cf6126c2ed6b457ccdbc" 533 | dependencies: 534 | babel-helper-regex "^6.24.1" 535 | babel-runtime "^6.22.0" 536 | babel-types "^6.24.1" 537 | 538 | babel-plugin-transform-es2015-template-literals@^6.22.0: 539 | version "6.22.0" 540 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz#a84b3450f7e9f8f1f6839d6d687da84bb1236d8d" 541 | dependencies: 542 | babel-runtime "^6.22.0" 543 | 544 | babel-plugin-transform-es2015-typeof-symbol@^6.23.0: 545 | version "6.23.0" 546 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz#dec09f1cddff94b52ac73d505c84df59dcceb372" 547 | dependencies: 548 | babel-runtime "^6.22.0" 549 | 550 | babel-plugin-transform-es2015-unicode-regex@^6.22.0: 551 | version "6.24.1" 552 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz#d38b12f42ea7323f729387f18a7c5ae1faeb35e9" 553 | dependencies: 554 | babel-helper-regex "^6.24.1" 555 | babel-runtime "^6.22.0" 556 | regexpu-core "^2.0.0" 557 | 558 | babel-plugin-transform-exponentiation-operator@^6.22.0: 559 | version "6.24.1" 560 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz#2ab0c9c7f3098fa48907772bb813fe41e8de3a0e" 561 | dependencies: 562 | babel-helper-builder-binary-assignment-operator-visitor "^6.24.1" 563 | babel-plugin-syntax-exponentiation-operator "^6.8.0" 564 | babel-runtime "^6.22.0" 565 | 566 | babel-plugin-transform-regenerator@^6.22.0: 567 | version "6.26.0" 568 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz#e0703696fbde27f0a3efcacf8b4dca2f7b3a8f2f" 569 | dependencies: 570 | regenerator-transform "^0.10.0" 571 | 572 | babel-plugin-transform-strict-mode@^6.24.1: 573 | version "6.24.1" 574 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz#d5faf7aa578a65bbe591cf5edae04a0c67020758" 575 | dependencies: 576 | babel-runtime "^6.22.0" 577 | babel-types "^6.24.1" 578 | 579 | babel-preset-env@1.6.1: 580 | version "1.6.1" 581 | resolved "https://registry.yarnpkg.com/babel-preset-env/-/babel-preset-env-1.6.1.tgz#a18b564cc9b9afdf4aae57ae3c1b0d99188e6f48" 582 | dependencies: 583 | babel-plugin-check-es2015-constants "^6.22.0" 584 | babel-plugin-syntax-trailing-function-commas "^6.22.0" 585 | babel-plugin-transform-async-to-generator "^6.22.0" 586 | babel-plugin-transform-es2015-arrow-functions "^6.22.0" 587 | babel-plugin-transform-es2015-block-scoped-functions "^6.22.0" 588 | babel-plugin-transform-es2015-block-scoping "^6.23.0" 589 | babel-plugin-transform-es2015-classes "^6.23.0" 590 | babel-plugin-transform-es2015-computed-properties "^6.22.0" 591 | babel-plugin-transform-es2015-destructuring "^6.23.0" 592 | babel-plugin-transform-es2015-duplicate-keys "^6.22.0" 593 | babel-plugin-transform-es2015-for-of "^6.23.0" 594 | babel-plugin-transform-es2015-function-name "^6.22.0" 595 | babel-plugin-transform-es2015-literals "^6.22.0" 596 | babel-plugin-transform-es2015-modules-amd "^6.22.0" 597 | babel-plugin-transform-es2015-modules-commonjs "^6.23.0" 598 | babel-plugin-transform-es2015-modules-systemjs "^6.23.0" 599 | babel-plugin-transform-es2015-modules-umd "^6.23.0" 600 | babel-plugin-transform-es2015-object-super "^6.22.0" 601 | babel-plugin-transform-es2015-parameters "^6.23.0" 602 | babel-plugin-transform-es2015-shorthand-properties "^6.22.0" 603 | babel-plugin-transform-es2015-spread "^6.22.0" 604 | babel-plugin-transform-es2015-sticky-regex "^6.22.0" 605 | babel-plugin-transform-es2015-template-literals "^6.22.0" 606 | babel-plugin-transform-es2015-typeof-symbol "^6.23.0" 607 | babel-plugin-transform-es2015-unicode-regex "^6.22.0" 608 | babel-plugin-transform-exponentiation-operator "^6.22.0" 609 | babel-plugin-transform-regenerator "^6.22.0" 610 | browserslist "^2.1.2" 611 | invariant "^2.2.2" 612 | semver "^5.3.0" 613 | 614 | babel-register@6.26.0, babel-register@^6.26.0: 615 | version "6.26.0" 616 | resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.26.0.tgz#6ed021173e2fcb486d7acb45c6009a856f647071" 617 | dependencies: 618 | babel-core "^6.26.0" 619 | babel-runtime "^6.26.0" 620 | core-js "^2.5.0" 621 | home-or-tmp "^2.0.0" 622 | lodash "^4.17.4" 623 | mkdirp "^0.5.1" 624 | source-map-support "^0.4.15" 625 | 626 | babel-runtime@^6.18.0, babel-runtime@^6.22.0, babel-runtime@^6.26.0: 627 | version "6.26.0" 628 | resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" 629 | dependencies: 630 | core-js "^2.4.0" 631 | regenerator-runtime "^0.11.0" 632 | 633 | babel-template@^6.24.1, babel-template@^6.26.0: 634 | version "6.26.0" 635 | resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.26.0.tgz#de03e2d16396b069f46dd9fff8521fb1a0e35e02" 636 | dependencies: 637 | babel-runtime "^6.26.0" 638 | babel-traverse "^6.26.0" 639 | babel-types "^6.26.0" 640 | babylon "^6.18.0" 641 | lodash "^4.17.4" 642 | 643 | babel-traverse@^6.24.1, babel-traverse@^6.26.0: 644 | version "6.26.0" 645 | resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee" 646 | dependencies: 647 | babel-code-frame "^6.26.0" 648 | babel-messages "^6.23.0" 649 | babel-runtime "^6.26.0" 650 | babel-types "^6.26.0" 651 | babylon "^6.18.0" 652 | debug "^2.6.8" 653 | globals "^9.18.0" 654 | invariant "^2.2.2" 655 | lodash "^4.17.4" 656 | 657 | babel-types@^6.19.0, babel-types@^6.24.1, babel-types@^6.26.0: 658 | version "6.26.0" 659 | resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497" 660 | dependencies: 661 | babel-runtime "^6.26.0" 662 | esutils "^2.0.2" 663 | lodash "^4.17.4" 664 | to-fast-properties "^1.0.3" 665 | 666 | babylon@^6.18.0: 667 | version "6.18.0" 668 | resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" 669 | 670 | balanced-match@^1.0.0: 671 | version "1.0.0" 672 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" 673 | 674 | base@^0.11.1: 675 | version "0.11.2" 676 | resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" 677 | dependencies: 678 | cache-base "^1.0.1" 679 | class-utils "^0.3.5" 680 | component-emitter "^1.2.1" 681 | define-property "^1.0.0" 682 | isobject "^3.0.1" 683 | mixin-deep "^1.2.0" 684 | pascalcase "^0.1.1" 685 | 686 | before-after-hook@^1.1.0: 687 | version "1.1.0" 688 | resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-1.1.0.tgz#83165e15a59460d13702cb8febd6a1807896db5a" 689 | 690 | bindings@^1.2.1: 691 | version "1.3.0" 692 | resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.3.0.tgz#b346f6ecf6a95f5a815c5839fc7cdb22502f1ed7" 693 | 694 | bindings@~1.2.1: 695 | version "1.2.1" 696 | resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.2.1.tgz#14ad6113812d2d37d72e67b4cacb4bb726505f11" 697 | 698 | bl@^1.2.1: 699 | version "1.2.2" 700 | resolved "https://registry.yarnpkg.com/bl/-/bl-1.2.2.tgz#a160911717103c07410cef63ef51b397c025af9c" 701 | dependencies: 702 | readable-stream "^2.3.5" 703 | safe-buffer "^5.1.1" 704 | 705 | bluebird@^3.4.7, bluebird@^3.5.0: 706 | version "3.5.1" 707 | resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.1.tgz#d9551f9de98f1fcda1e683d17ee91a0602ee2eb9" 708 | 709 | boxen@^1.2.1: 710 | version "1.3.0" 711 | resolved "https://registry.yarnpkg.com/boxen/-/boxen-1.3.0.tgz#55c6c39a8ba58d9c61ad22cd877532deb665a20b" 712 | dependencies: 713 | ansi-align "^2.0.0" 714 | camelcase "^4.0.0" 715 | chalk "^2.0.1" 716 | cli-boxes "^1.0.0" 717 | string-width "^2.0.0" 718 | term-size "^1.2.0" 719 | widest-line "^2.0.0" 720 | 721 | brace-expansion@^1.1.7: 722 | version "1.1.11" 723 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" 724 | dependencies: 725 | balanced-match "^1.0.0" 726 | concat-map "0.0.1" 727 | 728 | braces@^2.3.1: 729 | version "2.3.1" 730 | resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.1.tgz#7086c913b4e5a08dbe37ac0ee6a2500c4ba691bb" 731 | dependencies: 732 | arr-flatten "^1.1.0" 733 | array-unique "^0.3.2" 734 | define-property "^1.0.0" 735 | extend-shallow "^2.0.1" 736 | fill-range "^4.0.0" 737 | isobject "^3.0.1" 738 | kind-of "^6.0.2" 739 | repeat-element "^1.1.2" 740 | snapdragon "^0.8.1" 741 | snapdragon-node "^2.0.1" 742 | split-string "^3.0.2" 743 | to-regex "^3.0.1" 744 | 745 | browser-stdout@1.3.1: 746 | version "1.3.1" 747 | resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" 748 | 749 | browserslist@^2.1.2: 750 | version "2.11.3" 751 | resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-2.11.3.tgz#fe36167aed1bbcde4827ebfe71347a2cc70b99b2" 752 | dependencies: 753 | caniuse-lite "^1.0.30000792" 754 | electron-to-chromium "^1.3.30" 755 | 756 | buffer-from@^1.0.0: 757 | version "1.0.0" 758 | resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.0.0.tgz#4cb8832d23612589b0406e9e2956c17f06fdf531" 759 | 760 | buffer-shims@^1.0.0: 761 | version "1.0.0" 762 | resolved "https://registry.yarnpkg.com/buffer-shims/-/buffer-shims-1.0.0.tgz#9978ce317388c649ad8793028c3477ef044a8b51" 763 | 764 | builtin-modules@^1.0.0: 765 | version "1.1.1" 766 | resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" 767 | 768 | bump-file@1.0.0: 769 | version "1.0.0" 770 | resolved "https://registry.yarnpkg.com/bump-file/-/bump-file-1.0.0.tgz#892880ef8af84c8df8d94cc2829ef18811503247" 771 | dependencies: 772 | detect-indent "5.0.0" 773 | semver "5.4.1" 774 | 775 | cache-base@^1.0.1: 776 | version "1.0.1" 777 | resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" 778 | dependencies: 779 | collection-visit "^1.0.0" 780 | component-emitter "^1.2.1" 781 | get-value "^2.0.6" 782 | has-value "^1.0.0" 783 | isobject "^3.0.1" 784 | set-value "^2.0.0" 785 | to-object-path "^0.3.0" 786 | union-value "^1.0.0" 787 | unset-value "^1.0.0" 788 | 789 | cacheable-request@^2.1.1: 790 | version "2.1.4" 791 | resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-2.1.4.tgz#0d808801b6342ad33c91df9d0b44dc09b91e5c3d" 792 | dependencies: 793 | clone-response "1.0.2" 794 | get-stream "3.0.0" 795 | http-cache-semantics "3.8.1" 796 | keyv "3.0.0" 797 | lowercase-keys "1.0.0" 798 | normalize-url "2.0.1" 799 | responselike "1.0.2" 800 | 801 | call-me-maybe@^1.0.1: 802 | version "1.0.1" 803 | resolved "https://registry.yarnpkg.com/call-me-maybe/-/call-me-maybe-1.0.1.tgz#26d208ea89e37b5cbde60250a15f031c16a4d66b" 804 | 805 | callback-stream@^1.0.2: 806 | version "1.1.0" 807 | resolved "https://registry.yarnpkg.com/callback-stream/-/callback-stream-1.1.0.tgz#4701a51266f06e06eaa71fc17233822d875f4908" 808 | dependencies: 809 | inherits "^2.0.1" 810 | readable-stream "> 1.0.0 < 3.0.0" 811 | 812 | camelcase-keys@^2.0.0: 813 | version "2.1.0" 814 | resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" 815 | dependencies: 816 | camelcase "^2.0.0" 817 | map-obj "^1.0.0" 818 | 819 | camelcase-keys@^4.0.0: 820 | version "4.2.0" 821 | resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-4.2.0.tgz#a2aa5fb1af688758259c32c141426d78923b9b77" 822 | dependencies: 823 | camelcase "^4.1.0" 824 | map-obj "^2.0.0" 825 | quick-lru "^1.0.0" 826 | 827 | camelcase@^1.0.2: 828 | version "1.2.1" 829 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39" 830 | 831 | camelcase@^2.0.0: 832 | version "2.1.1" 833 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" 834 | 835 | camelcase@^4.0.0, camelcase@^4.1.0: 836 | version "4.1.0" 837 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" 838 | 839 | caniuse-lite@^1.0.30000792: 840 | version "1.0.30000819" 841 | resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000819.tgz#aabee5fd15a080febab6ae5d30c9ea15f4c6d4e2" 842 | 843 | caporal@^0.10.0: 844 | version "0.10.0" 845 | resolved "https://registry.yarnpkg.com/caporal/-/caporal-0.10.0.tgz#2ddfbe5ede26d2bd356f042f564ff57803cdabc9" 846 | dependencies: 847 | bluebird "^3.4.7" 848 | chalk "^1.1.3" 849 | cli-table2 "^0.2.0" 850 | fast-levenshtein "^2.0.6" 851 | lodash.camelcase "^4.3.0" 852 | lodash.kebabcase "^4.1.1" 853 | lodash.merge "^4.6.0" 854 | micromist "^1.0.1" 855 | prettyjson "^1.2.1" 856 | tabtab "^2.2.2" 857 | winston "^2.3.1" 858 | 859 | capture-stack-trace@^1.0.0: 860 | version "1.0.0" 861 | resolved "https://registry.yarnpkg.com/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz#4a6fa07399c26bba47f0b2496b4d0fb408c5550d" 862 | 863 | center-align@^0.1.1: 864 | version "0.1.3" 865 | resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad" 866 | dependencies: 867 | align-text "^0.1.3" 868 | lazy-cache "^1.0.3" 869 | 870 | chai@^4.1.2: 871 | version "4.1.2" 872 | resolved "https://registry.yarnpkg.com/chai/-/chai-4.1.2.tgz#0f64584ba642f0f2ace2806279f4f06ca23ad73c" 873 | dependencies: 874 | assertion-error "^1.0.1" 875 | check-error "^1.0.1" 876 | deep-eql "^3.0.0" 877 | get-func-name "^2.0.0" 878 | pathval "^1.0.0" 879 | type-detect "^4.0.0" 880 | 881 | chalk@2.3.2, chalk@^2.0.0, chalk@^2.0.1, chalk@^2.3.1: 882 | version "2.3.2" 883 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.3.2.tgz#250dc96b07491bfd601e648d66ddf5f60c7a5c65" 884 | dependencies: 885 | ansi-styles "^3.2.1" 886 | escape-string-regexp "^1.0.5" 887 | supports-color "^5.3.0" 888 | 889 | chalk@^1.0.0, chalk@^1.1.3: 890 | version "1.1.3" 891 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" 892 | dependencies: 893 | ansi-styles "^2.2.1" 894 | escape-string-regexp "^1.0.2" 895 | has-ansi "^2.0.0" 896 | strip-ansi "^3.0.0" 897 | supports-color "^2.0.0" 898 | 899 | chardet@^0.4.0: 900 | version "0.4.2" 901 | resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.4.2.tgz#b5473b33dc97c424e5d98dc87d55d4d8a29c8bf2" 902 | 903 | check-error@^1.0.1: 904 | version "1.0.2" 905 | resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82" 906 | 907 | ci-info@^1.0.0: 908 | version "1.1.3" 909 | resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.1.3.tgz#710193264bb05c77b8c90d02f5aaf22216a667b2" 910 | 911 | class-utils@^0.3.5: 912 | version "0.3.6" 913 | resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" 914 | dependencies: 915 | arr-union "^3.1.0" 916 | define-property "^0.2.5" 917 | isobject "^3.0.0" 918 | static-extend "^0.1.1" 919 | 920 | cli-boxes@^1.0.0: 921 | version "1.0.0" 922 | resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-1.0.0.tgz#4fa917c3e59c94a004cd61f8ee509da651687143" 923 | 924 | cli-cursor@^1.0.1: 925 | version "1.0.2" 926 | resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987" 927 | dependencies: 928 | restore-cursor "^1.0.1" 929 | 930 | cli-cursor@^2.1.0: 931 | version "2.1.0" 932 | resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" 933 | dependencies: 934 | restore-cursor "^2.0.0" 935 | 936 | cli-spinners@^1.1.0: 937 | version "1.1.0" 938 | resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-1.1.0.tgz#f1847b168844d917a671eb9d147e3df497c90d06" 939 | 940 | cli-table2@^0.2.0: 941 | version "0.2.0" 942 | resolved "https://registry.yarnpkg.com/cli-table2/-/cli-table2-0.2.0.tgz#2d1ef7f218a0e786e214540562d4bd177fe32d97" 943 | dependencies: 944 | lodash "^3.10.1" 945 | string-width "^1.0.1" 946 | optionalDependencies: 947 | colors "^1.1.2" 948 | 949 | cli-width@^2.0.0: 950 | version "2.2.0" 951 | resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639" 952 | 953 | cliui@^2.1.0: 954 | version "2.1.0" 955 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1" 956 | dependencies: 957 | center-align "^0.1.1" 958 | right-align "^0.1.1" 959 | wordwrap "0.0.2" 960 | 961 | clone-response@1.0.2: 962 | version "1.0.2" 963 | resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.2.tgz#d1dc973920314df67fbeb94223b4ee350239e96b" 964 | dependencies: 965 | mimic-response "^1.0.0" 966 | 967 | clone@^1.0.2: 968 | version "1.0.4" 969 | resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" 970 | 971 | code-point-at@^1.0.0: 972 | version "1.1.0" 973 | resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" 974 | 975 | coffeescript@^1.12.7: 976 | version "1.12.7" 977 | resolved "https://registry.yarnpkg.com/coffeescript/-/coffeescript-1.12.7.tgz#e57ee4c4867cf7f606bfc4a0f2d550c0981ddd27" 978 | 979 | collection-visit@^1.0.0: 980 | version "1.0.0" 981 | resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" 982 | dependencies: 983 | map-visit "^1.0.0" 984 | object-visit "^1.0.0" 985 | 986 | color-convert@^1.9.0: 987 | version "1.9.1" 988 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.1.tgz#c1261107aeb2f294ebffec9ed9ecad529a6097ed" 989 | dependencies: 990 | color-name "^1.1.1" 991 | 992 | color-name@^1.1.1: 993 | version "1.1.3" 994 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" 995 | 996 | colors@1.0.x: 997 | version "1.0.3" 998 | resolved "https://registry.yarnpkg.com/colors/-/colors-1.0.3.tgz#0433f44d809680fdeb60ed260f1b0c262e82a40b" 999 | 1000 | colors@^1.1.2: 1001 | version "1.2.1" 1002 | resolved "https://registry.yarnpkg.com/colors/-/colors-1.2.1.tgz#f4a3d302976aaf042356ba1ade3b1a2c62d9d794" 1003 | 1004 | commander@2.11.0: 1005 | version "2.11.0" 1006 | resolved "https://registry.yarnpkg.com/commander/-/commander-2.11.0.tgz#157152fd1e7a6c8d98a5b715cf376df928004563" 1007 | 1008 | commist@^1.0.0: 1009 | version "1.0.0" 1010 | resolved "https://registry.yarnpkg.com/commist/-/commist-1.0.0.tgz#c0c352501cf6f52e9124e3ef89c9806e2022ebef" 1011 | dependencies: 1012 | leven "^1.0.0" 1013 | minimist "^1.1.0" 1014 | 1015 | compare-func@^1.3.1: 1016 | version "1.3.2" 1017 | resolved "https://registry.yarnpkg.com/compare-func/-/compare-func-1.3.2.tgz#99dd0ba457e1f9bc722b12c08ec33eeab31fa648" 1018 | dependencies: 1019 | array-ify "^1.0.0" 1020 | dot-prop "^3.0.0" 1021 | 1022 | component-emitter@^1.2.1: 1023 | version "1.2.1" 1024 | resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6" 1025 | 1026 | concat-map@0.0.1: 1027 | version "0.0.1" 1028 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 1029 | 1030 | concat-stream@^1.4.7, concat-stream@^1.6.0, concat-stream@^1.6.2: 1031 | version "1.6.2" 1032 | resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" 1033 | dependencies: 1034 | buffer-from "^1.0.0" 1035 | inherits "^2.0.3" 1036 | readable-stream "^2.2.2" 1037 | typedarray "^0.0.6" 1038 | 1039 | configstore@^3.0.0: 1040 | version "3.1.1" 1041 | resolved "https://registry.yarnpkg.com/configstore/-/configstore-3.1.1.tgz#094ee662ab83fad9917678de114faaea8fcdca90" 1042 | dependencies: 1043 | dot-prop "^4.1.0" 1044 | graceful-fs "^4.1.2" 1045 | make-dir "^1.0.0" 1046 | unique-string "^1.0.0" 1047 | write-file-atomic "^2.0.0" 1048 | xdg-basedir "^3.0.0" 1049 | 1050 | conventional-changelog-angular@^1.6.6: 1051 | version "1.6.6" 1052 | resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-1.6.6.tgz#b27f2b315c16d0a1f23eb181309d0e6a4698ea0f" 1053 | dependencies: 1054 | compare-func "^1.3.1" 1055 | q "^1.5.1" 1056 | 1057 | conventional-changelog-atom@^0.2.4: 1058 | version "0.2.5" 1059 | resolved "https://registry.yarnpkg.com/conventional-changelog-atom/-/conventional-changelog-atom-0.2.5.tgz#456fb0245965cb41b38dbc558829aaeadf678ed2" 1060 | dependencies: 1061 | q "^1.5.1" 1062 | 1063 | conventional-changelog-codemirror@^0.3.4: 1064 | version "0.3.5" 1065 | resolved "https://registry.yarnpkg.com/conventional-changelog-codemirror/-/conventional-changelog-codemirror-0.3.5.tgz#3e82f128912c86c1e1e0f1dab5ce745d0c2a78a8" 1066 | dependencies: 1067 | q "^1.5.1" 1068 | 1069 | conventional-changelog-core@^2.0.5: 1070 | version "2.0.6" 1071 | resolved "https://registry.yarnpkg.com/conventional-changelog-core/-/conventional-changelog-core-2.0.6.tgz#a750621cfb943c9c990c95d5ae8f18fc35be38fa" 1072 | dependencies: 1073 | conventional-changelog-writer "^3.0.5" 1074 | conventional-commits-parser "^2.1.6" 1075 | dateformat "^3.0.0" 1076 | get-pkg-repo "^1.0.0" 1077 | git-raw-commits "^1.3.5" 1078 | git-remote-origin-url "^2.0.0" 1079 | git-semver-tags "^1.3.5" 1080 | lodash "^4.2.1" 1081 | normalize-package-data "^2.3.5" 1082 | q "^1.5.1" 1083 | read-pkg "^1.1.0" 1084 | read-pkg-up "^1.0.1" 1085 | through2 "^2.0.0" 1086 | 1087 | conventional-changelog-ember@^0.3.6: 1088 | version "0.3.7" 1089 | resolved "https://registry.yarnpkg.com/conventional-changelog-ember/-/conventional-changelog-ember-0.3.7.tgz#096a14794e054fc08dde055364e98aaee8b1a8c4" 1090 | dependencies: 1091 | q "^1.5.1" 1092 | 1093 | conventional-changelog-eslint@^1.0.5: 1094 | version "1.0.6" 1095 | resolved "https://registry.yarnpkg.com/conventional-changelog-eslint/-/conventional-changelog-eslint-1.0.6.tgz#e9060f450ec8d63c671e54bd471e0502ee19183f" 1096 | dependencies: 1097 | q "^1.5.1" 1098 | 1099 | conventional-changelog-express@^0.3.4: 1100 | version "0.3.5" 1101 | resolved "https://registry.yarnpkg.com/conventional-changelog-express/-/conventional-changelog-express-0.3.5.tgz#b01b9f9a8f2d4e37bbafec7cc7d9c0b0570f6b26" 1102 | dependencies: 1103 | q "^1.5.1" 1104 | 1105 | conventional-changelog-jquery@^0.1.0: 1106 | version "0.1.0" 1107 | resolved "https://registry.yarnpkg.com/conventional-changelog-jquery/-/conventional-changelog-jquery-0.1.0.tgz#0208397162e3846986e71273b6c79c5b5f80f510" 1108 | dependencies: 1109 | q "^1.4.1" 1110 | 1111 | conventional-changelog-jscs@^0.1.0: 1112 | version "0.1.0" 1113 | resolved "https://registry.yarnpkg.com/conventional-changelog-jscs/-/conventional-changelog-jscs-0.1.0.tgz#0479eb443cc7d72c58bf0bcf0ef1d444a92f0e5c" 1114 | dependencies: 1115 | q "^1.4.1" 1116 | 1117 | conventional-changelog-jshint@^0.3.4: 1118 | version "0.3.5" 1119 | resolved "https://registry.yarnpkg.com/conventional-changelog-jshint/-/conventional-changelog-jshint-0.3.5.tgz#ae9fadbeb9b05cd305e665efd0df54dfb19a00f9" 1120 | dependencies: 1121 | compare-func "^1.3.1" 1122 | q "^1.5.1" 1123 | 1124 | conventional-changelog-preset-loader@^1.1.6: 1125 | version "1.1.7" 1126 | resolved "https://registry.yarnpkg.com/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-1.1.7.tgz#58a7ef85f980ca17f1373dc222ff449606222fb6" 1127 | 1128 | conventional-changelog-writer@^3.0.5: 1129 | version "3.0.5" 1130 | resolved "https://registry.yarnpkg.com/conventional-changelog-writer/-/conventional-changelog-writer-3.0.5.tgz#d7ce157209c55057a2487e645193a2e6b9027943" 1131 | dependencies: 1132 | compare-func "^1.3.1" 1133 | conventional-commits-filter "^1.1.6" 1134 | dateformat "^3.0.0" 1135 | handlebars "^4.0.2" 1136 | json-stringify-safe "^5.0.1" 1137 | lodash "^4.2.1" 1138 | meow "^4.0.0" 1139 | semver "^5.5.0" 1140 | split "^1.0.0" 1141 | through2 "^2.0.0" 1142 | 1143 | conventional-changelog@1.1.18: 1144 | version "1.1.18" 1145 | resolved "https://registry.yarnpkg.com/conventional-changelog/-/conventional-changelog-1.1.18.tgz#ffe28798e4ddef5f6e2f74398e8248bcb233360b" 1146 | dependencies: 1147 | conventional-changelog-angular "^1.6.6" 1148 | conventional-changelog-atom "^0.2.4" 1149 | conventional-changelog-codemirror "^0.3.4" 1150 | conventional-changelog-core "^2.0.5" 1151 | conventional-changelog-ember "^0.3.6" 1152 | conventional-changelog-eslint "^1.0.5" 1153 | conventional-changelog-express "^0.3.4" 1154 | conventional-changelog-jquery "^0.1.0" 1155 | conventional-changelog-jscs "^0.1.0" 1156 | conventional-changelog-jshint "^0.3.4" 1157 | conventional-changelog-preset-loader "^1.1.6" 1158 | 1159 | conventional-commits-filter@^1.1.5, conventional-commits-filter@^1.1.6: 1160 | version "1.1.6" 1161 | resolved "https://registry.yarnpkg.com/conventional-commits-filter/-/conventional-commits-filter-1.1.6.tgz#4389cd8e58fe89750c0b5fb58f1d7f0cc8ad3831" 1162 | dependencies: 1163 | is-subset "^0.1.1" 1164 | modify-values "^1.0.0" 1165 | 1166 | conventional-commits-parser@^2.1.5, conventional-commits-parser@^2.1.6: 1167 | version "2.1.6" 1168 | resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-2.1.6.tgz#e594bbd8342d3e6758aa0344ca074719d69a7dc0" 1169 | dependencies: 1170 | JSONStream "^1.0.4" 1171 | is-text-path "^1.0.0" 1172 | lodash "^4.2.1" 1173 | meow "^4.0.0" 1174 | split2 "^2.0.0" 1175 | through2 "^2.0.0" 1176 | trim-off-newlines "^1.0.0" 1177 | 1178 | conventional-recommended-bump@2.0.6: 1179 | version "2.0.6" 1180 | resolved "https://registry.yarnpkg.com/conventional-recommended-bump/-/conventional-recommended-bump-2.0.6.tgz#ba21d51b191fa1eb1fdff34ef9bc831443fb66d4" 1181 | dependencies: 1182 | concat-stream "^1.6.0" 1183 | conventional-changelog-preset-loader "^1.1.6" 1184 | conventional-commits-filter "^1.1.5" 1185 | conventional-commits-parser "^2.1.5" 1186 | git-raw-commits "^1.3.4" 1187 | git-semver-tags "^1.3.4" 1188 | meow "^4.0.0" 1189 | q "^1.5.1" 1190 | 1191 | convert-source-map@^1.5.0: 1192 | version "1.5.1" 1193 | resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.1.tgz#b8278097b9bc229365de5c62cf5fcaed8b5599e5" 1194 | 1195 | copy-descriptor@^0.1.0: 1196 | version "0.1.1" 1197 | resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" 1198 | 1199 | core-js@^2.4.0, core-js@^2.5.0: 1200 | version "2.5.3" 1201 | resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.3.tgz#8acc38345824f16d8365b7c9b4259168e8ed603e" 1202 | 1203 | core-util-is@~1.0.0: 1204 | version "1.0.2" 1205 | resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" 1206 | 1207 | cp-file@^5.0.0: 1208 | version "5.0.0" 1209 | resolved "https://registry.yarnpkg.com/cp-file/-/cp-file-5.0.0.tgz#bc700fd30ca32d24d46c7fb02b992e435fc5a978" 1210 | dependencies: 1211 | graceful-fs "^4.1.2" 1212 | make-dir "^1.0.0" 1213 | nested-error-stacks "^2.0.0" 1214 | pify "^3.0.0" 1215 | safe-buffer "^5.0.1" 1216 | 1217 | cpy@6.0.0: 1218 | version "6.0.0" 1219 | resolved "https://registry.yarnpkg.com/cpy/-/cpy-6.0.0.tgz#0b6888e037bb5a7b02a62249551316208a523253" 1220 | dependencies: 1221 | arrify "^1.0.1" 1222 | cp-file "^5.0.0" 1223 | globby "^6.0.0" 1224 | nested-error-stacks "^2.0.0" 1225 | 1226 | create-error-class@^3.0.0: 1227 | version "3.0.2" 1228 | resolved "https://registry.yarnpkg.com/create-error-class/-/create-error-class-3.0.2.tgz#06be7abef947a3f14a30fd610671d401bca8b7b6" 1229 | dependencies: 1230 | capture-stack-trace "^1.0.0" 1231 | 1232 | cross-spawn@^5.0.1: 1233 | version "5.1.0" 1234 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" 1235 | dependencies: 1236 | lru-cache "^4.0.1" 1237 | shebang-command "^1.2.0" 1238 | which "^1.2.9" 1239 | 1240 | crypto-random-string@^1.0.0: 1241 | version "1.0.0" 1242 | resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-1.0.0.tgz#a230f64f568310e1498009940790ec99545bca7e" 1243 | 1244 | currently-unhandled@^0.4.1: 1245 | version "0.4.1" 1246 | resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" 1247 | dependencies: 1248 | array-find-index "^1.0.1" 1249 | 1250 | curve25519-n2@^1.1.2, curve25519-n2@^1.1.3: 1251 | version "1.1.3" 1252 | resolved "https://registry.yarnpkg.com/curve25519-n2/-/curve25519-n2-1.1.3.tgz#4cb0588ecfb7dbbc0bfb32d0a00463296ee6efe2" 1253 | dependencies: 1254 | bindings "~1.2.1" 1255 | nan "^2.0.9" 1256 | 1257 | cycle@1.0.x: 1258 | version "1.0.3" 1259 | resolved "https://registry.yarnpkg.com/cycle/-/cycle-1.0.3.tgz#21e80b2be8580f98b468f379430662b046c34ad2" 1260 | 1261 | dargs@^4.0.1: 1262 | version "4.1.0" 1263 | resolved "https://registry.yarnpkg.com/dargs/-/dargs-4.1.0.tgz#03a9dbb4b5c2f139bf14ae53f0b8a2a6a86f4e17" 1264 | dependencies: 1265 | number-is-nan "^1.0.0" 1266 | 1267 | dateformat@^3.0.0: 1268 | version "3.0.3" 1269 | resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae" 1270 | 1271 | debug@3.1.0, debug@^3.1.0: 1272 | version "3.1.0" 1273 | resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" 1274 | dependencies: 1275 | ms "2.0.0" 1276 | 1277 | debug@^2.2.0, debug@^2.3.3, debug@^2.6.8: 1278 | version "2.6.9" 1279 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" 1280 | dependencies: 1281 | ms "2.0.0" 1282 | 1283 | decamelize-keys@^1.0.0: 1284 | version "1.1.0" 1285 | resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.0.tgz#d171a87933252807eb3cb61dc1c1445d078df2d9" 1286 | dependencies: 1287 | decamelize "^1.1.0" 1288 | map-obj "^1.0.0" 1289 | 1290 | decamelize@^1.0.0, decamelize@^1.1.0, decamelize@^1.1.2: 1291 | version "1.2.0" 1292 | resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" 1293 | 1294 | decimal.js@^7.2.3: 1295 | version "7.5.1" 1296 | resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-7.5.1.tgz#cf4cf5eeb9faa24fc4ee6af361faebb7bfcca2ce" 1297 | 1298 | decode-uri-component@^0.2.0: 1299 | version "0.2.0" 1300 | resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" 1301 | 1302 | decompress-response@^3.2.0, decompress-response@^3.3.0: 1303 | version "3.3.0" 1304 | resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3" 1305 | dependencies: 1306 | mimic-response "^1.0.0" 1307 | 1308 | deep-eql@^3.0.0: 1309 | version "3.0.1" 1310 | resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-3.0.1.tgz#dfc9404400ad1c8fe023e7da1df1c147c4b444df" 1311 | dependencies: 1312 | type-detect "^4.0.0" 1313 | 1314 | deep-equal@~0.2.1: 1315 | version "0.2.2" 1316 | resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-0.2.2.tgz#84b745896f34c684e98f2ce0e42abaf43bba017d" 1317 | 1318 | deep-extend@~0.4.0: 1319 | version "0.4.2" 1320 | resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.2.tgz#48b699c27e334bf89f10892be432f6e4c7d34a7f" 1321 | 1322 | defaults@^1.0.3: 1323 | version "1.0.3" 1324 | resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d" 1325 | dependencies: 1326 | clone "^1.0.2" 1327 | 1328 | define-property@^0.2.5: 1329 | version "0.2.5" 1330 | resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" 1331 | dependencies: 1332 | is-descriptor "^0.1.0" 1333 | 1334 | define-property@^1.0.0: 1335 | version "1.0.0" 1336 | resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" 1337 | dependencies: 1338 | is-descriptor "^1.0.0" 1339 | 1340 | define-property@^2.0.2: 1341 | version "2.0.2" 1342 | resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" 1343 | dependencies: 1344 | is-descriptor "^1.0.2" 1345 | isobject "^3.0.1" 1346 | 1347 | delegates@^1.0.0: 1348 | version "1.0.0" 1349 | resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" 1350 | 1351 | detect-indent@5.0.0: 1352 | version "5.0.0" 1353 | resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-5.0.0.tgz#3871cc0a6a002e8c3e5b3cf7f336264675f06b9d" 1354 | 1355 | detect-indent@^4.0.0: 1356 | version "4.0.0" 1357 | resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208" 1358 | dependencies: 1359 | repeating "^2.0.0" 1360 | 1361 | diff@3.5.0: 1362 | version "3.5.0" 1363 | resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" 1364 | 1365 | dir-glob@^2.0.0: 1366 | version "2.0.0" 1367 | resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-2.0.0.tgz#0b205d2b6aef98238ca286598a8204d29d0a0034" 1368 | dependencies: 1369 | arrify "^1.0.1" 1370 | path-type "^3.0.0" 1371 | 1372 | dot-prop@^3.0.0: 1373 | version "3.0.0" 1374 | resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-3.0.0.tgz#1b708af094a49c9a0e7dbcad790aba539dac1177" 1375 | dependencies: 1376 | is-obj "^1.0.0" 1377 | 1378 | dot-prop@^4.1.0: 1379 | version "4.2.0" 1380 | resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.0.tgz#1f19e0c2e1aa0e32797c49799f2837ac6af69c57" 1381 | dependencies: 1382 | is-obj "^1.0.0" 1383 | 1384 | duplexer3@^0.1.4: 1385 | version "0.1.4" 1386 | resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" 1387 | 1388 | duplexify@^3.5.1, duplexify@^3.5.3: 1389 | version "3.5.4" 1390 | resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.5.4.tgz#4bb46c1796eabebeec4ca9a2e66b808cb7a3d8b4" 1391 | dependencies: 1392 | end-of-stream "^1.0.0" 1393 | inherits "^2.0.1" 1394 | readable-stream "^2.0.0" 1395 | stream-shift "^1.0.0" 1396 | 1397 | ed25519@0.0.4, ed25519@^0.0.4: 1398 | version "0.0.4" 1399 | resolved "https://registry.yarnpkg.com/ed25519/-/ed25519-0.0.4.tgz#e56218ace2fc903d259593aef0b2a9639f475beb" 1400 | dependencies: 1401 | bindings "^1.2.1" 1402 | nan "^2.0.9" 1403 | 1404 | electron-to-chromium@^1.3.30: 1405 | version "1.3.40" 1406 | resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.40.tgz#1fbd6d97befd72b8a6f921dc38d22413d2f6fddf" 1407 | 1408 | end-of-stream@^1.0.0, end-of-stream@^1.1.0, end-of-stream@^1.4.1: 1409 | version "1.4.1" 1410 | resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43" 1411 | dependencies: 1412 | once "^1.4.0" 1413 | 1414 | error-ex@^1.2.0, error-ex@^1.3.1: 1415 | version "1.3.1" 1416 | resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.1.tgz#f855a86ce61adc4e8621c3cda21e7a7612c3a8dc" 1417 | dependencies: 1418 | is-arrayish "^0.2.1" 1419 | 1420 | escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: 1421 | version "1.0.5" 1422 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 1423 | 1424 | esutils@^2.0.2: 1425 | version "2.0.2" 1426 | resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" 1427 | 1428 | execa@^0.7.0: 1429 | version "0.7.0" 1430 | resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777" 1431 | dependencies: 1432 | cross-spawn "^5.0.1" 1433 | get-stream "^3.0.0" 1434 | is-stream "^1.1.0" 1435 | npm-run-path "^2.0.0" 1436 | p-finally "^1.0.0" 1437 | signal-exit "^3.0.0" 1438 | strip-eof "^1.0.0" 1439 | 1440 | exit-hook@^1.0.0: 1441 | version "1.1.1" 1442 | resolved "https://registry.yarnpkg.com/exit-hook/-/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8" 1443 | 1444 | expand-brackets@^2.1.4: 1445 | version "2.1.4" 1446 | resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" 1447 | dependencies: 1448 | debug "^2.3.3" 1449 | define-property "^0.2.5" 1450 | extend-shallow "^2.0.1" 1451 | posix-character-classes "^0.1.0" 1452 | regex-not "^1.0.0" 1453 | snapdragon "^0.8.1" 1454 | to-regex "^3.0.1" 1455 | 1456 | extend-shallow@^2.0.1: 1457 | version "2.0.1" 1458 | resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" 1459 | dependencies: 1460 | is-extendable "^0.1.0" 1461 | 1462 | extend-shallow@^3.0.0, extend-shallow@^3.0.2: 1463 | version "3.0.2" 1464 | resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" 1465 | dependencies: 1466 | assign-symbols "^1.0.0" 1467 | is-extendable "^1.0.1" 1468 | 1469 | extend@^3.0.0: 1470 | version "3.0.1" 1471 | resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444" 1472 | 1473 | external-editor@^1.1.0: 1474 | version "1.1.1" 1475 | resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-1.1.1.tgz#12d7b0db850f7ff7e7081baf4005700060c4600b" 1476 | dependencies: 1477 | extend "^3.0.0" 1478 | spawn-sync "^1.0.15" 1479 | tmp "^0.0.29" 1480 | 1481 | external-editor@^2.1.0: 1482 | version "2.1.0" 1483 | resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-2.1.0.tgz#3d026a21b7f95b5726387d4200ac160d372c3b48" 1484 | dependencies: 1485 | chardet "^0.4.0" 1486 | iconv-lite "^0.4.17" 1487 | tmp "^0.0.33" 1488 | 1489 | extglob@^2.0.4: 1490 | version "2.0.4" 1491 | resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" 1492 | dependencies: 1493 | array-unique "^0.3.2" 1494 | define-property "^1.0.0" 1495 | expand-brackets "^2.1.4" 1496 | extend-shallow "^2.0.1" 1497 | fragment-cache "^0.2.1" 1498 | regex-not "^1.0.0" 1499 | snapdragon "^0.8.1" 1500 | to-regex "^3.0.1" 1501 | 1502 | eyes@0.1.x: 1503 | version "0.1.8" 1504 | resolved "https://registry.yarnpkg.com/eyes/-/eyes-0.1.8.tgz#62cf120234c683785d902348a800ef3e0cc20bc0" 1505 | 1506 | fast-glob@^2.0.2: 1507 | version "2.2.0" 1508 | resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-2.2.0.tgz#e9d032a69b86bef46fc03d935408f02fb211d9fc" 1509 | dependencies: 1510 | "@mrmlnc/readdir-enhanced" "^2.2.1" 1511 | glob-parent "^3.1.0" 1512 | is-glob "^4.0.0" 1513 | merge2 "^1.2.1" 1514 | micromatch "^3.1.8" 1515 | 1516 | fast-levenshtein@^2.0.6: 1517 | version "2.0.6" 1518 | resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" 1519 | 1520 | fast-srp-hap@^1.0.1: 1521 | version "1.0.1" 1522 | resolved "https://registry.yarnpkg.com/fast-srp-hap/-/fast-srp-hap-1.0.1.tgz#377124d196bc6a5157aae5b37bf5fa35bb4ad2d9" 1523 | 1524 | figures@^1.3.5: 1525 | version "1.7.0" 1526 | resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e" 1527 | dependencies: 1528 | escape-string-regexp "^1.0.5" 1529 | object-assign "^4.1.0" 1530 | 1531 | figures@^2.0.0: 1532 | version "2.0.0" 1533 | resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" 1534 | dependencies: 1535 | escape-string-regexp "^1.0.5" 1536 | 1537 | fill-range@^4.0.0: 1538 | version "4.0.0" 1539 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" 1540 | dependencies: 1541 | extend-shallow "^2.0.1" 1542 | is-number "^3.0.0" 1543 | repeat-string "^1.6.1" 1544 | to-regex-range "^2.1.0" 1545 | 1546 | find-up@^1.0.0: 1547 | version "1.1.2" 1548 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" 1549 | dependencies: 1550 | path-exists "^2.0.0" 1551 | pinkie-promise "^2.0.0" 1552 | 1553 | find-up@^2.0.0: 1554 | version "2.1.0" 1555 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" 1556 | dependencies: 1557 | locate-path "^2.0.0" 1558 | 1559 | for-in@^1.0.2: 1560 | version "1.0.2" 1561 | resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" 1562 | 1563 | fragment-cache@^0.2.1: 1564 | version "0.2.1" 1565 | resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" 1566 | dependencies: 1567 | map-cache "^0.2.2" 1568 | 1569 | from2@^2.1.1: 1570 | version "2.3.0" 1571 | resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af" 1572 | dependencies: 1573 | inherits "^2.0.1" 1574 | readable-stream "^2.0.0" 1575 | 1576 | fs.realpath@^1.0.0: 1577 | version "1.0.0" 1578 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 1579 | 1580 | gauge@~1.2.5: 1581 | version "1.2.7" 1582 | resolved "https://registry.yarnpkg.com/gauge/-/gauge-1.2.7.tgz#e9cec5483d3d4ee0ef44b60a7d99e4935e136d93" 1583 | dependencies: 1584 | ansi "^0.3.0" 1585 | has-unicode "^2.0.0" 1586 | lodash.pad "^4.1.0" 1587 | lodash.padend "^4.1.0" 1588 | lodash.padstart "^4.1.0" 1589 | 1590 | get-func-name@^2.0.0: 1591 | version "2.0.0" 1592 | resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.0.tgz#ead774abee72e20409433a066366023dd6887a41" 1593 | 1594 | get-pkg-repo@^1.0.0: 1595 | version "1.4.0" 1596 | resolved "https://registry.yarnpkg.com/get-pkg-repo/-/get-pkg-repo-1.4.0.tgz#c73b489c06d80cc5536c2c853f9e05232056972d" 1597 | dependencies: 1598 | hosted-git-info "^2.1.4" 1599 | meow "^3.3.0" 1600 | normalize-package-data "^2.3.0" 1601 | parse-github-repo-url "^1.3.0" 1602 | through2 "^2.0.0" 1603 | 1604 | get-stdin@^4.0.1: 1605 | version "4.0.1" 1606 | resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" 1607 | 1608 | get-stream@3.0.0, get-stream@^3.0.0: 1609 | version "3.0.0" 1610 | resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" 1611 | 1612 | get-value@^2.0.3, get-value@^2.0.6: 1613 | version "2.0.6" 1614 | resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" 1615 | 1616 | git-raw-commits@^1.3.4, git-raw-commits@^1.3.5: 1617 | version "1.3.5" 1618 | resolved "https://registry.yarnpkg.com/git-raw-commits/-/git-raw-commits-1.3.5.tgz#0951ae8dc80e5cee8ef54934db4ef65a6d161c60" 1619 | dependencies: 1620 | dargs "^4.0.1" 1621 | lodash.template "^4.0.2" 1622 | meow "^4.0.0" 1623 | split2 "^2.0.0" 1624 | through2 "^2.0.0" 1625 | 1626 | git-remote-origin-url@^2.0.0: 1627 | version "2.0.0" 1628 | resolved "https://registry.yarnpkg.com/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz#5282659dae2107145a11126112ad3216ec5fa65f" 1629 | dependencies: 1630 | gitconfiglocal "^1.0.0" 1631 | pify "^2.3.0" 1632 | 1633 | git-semver-tags@^1.3.4, git-semver-tags@^1.3.5: 1634 | version "1.3.5" 1635 | resolved "https://registry.yarnpkg.com/git-semver-tags/-/git-semver-tags-1.3.5.tgz#b803e8ee36c09e8cec3e9441f5bac292fd163c18" 1636 | dependencies: 1637 | meow "^4.0.0" 1638 | semver "^5.5.0" 1639 | 1640 | gitconfiglocal@^1.0.0: 1641 | version "1.0.0" 1642 | resolved "https://registry.yarnpkg.com/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz#41d045f3851a5ea88f03f24ca1c6178114464b9b" 1643 | dependencies: 1644 | ini "^1.3.2" 1645 | 1646 | github-version-checker@^1.2.0: 1647 | version "1.2.0" 1648 | resolved "https://registry.yarnpkg.com/github-version-checker/-/github-version-checker-1.2.0.tgz#25d9170ae90794186f0da679c2cfa67dbd440e72" 1649 | dependencies: 1650 | chalk "^1.1.3" 1651 | coffeescript "^1.12.7" 1652 | got "^7.1.0" 1653 | semver "^5.4.1" 1654 | 1655 | glob-parent@^3.1.0: 1656 | version "3.1.0" 1657 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" 1658 | dependencies: 1659 | is-glob "^3.1.0" 1660 | path-dirname "^1.0.0" 1661 | 1662 | glob-stream@^6.1.0: 1663 | version "6.1.0" 1664 | resolved "https://registry.yarnpkg.com/glob-stream/-/glob-stream-6.1.0.tgz#7045c99413b3eb94888d83ab46d0b404cc7bdde4" 1665 | dependencies: 1666 | extend "^3.0.0" 1667 | glob "^7.1.1" 1668 | glob-parent "^3.1.0" 1669 | is-negated-glob "^1.0.0" 1670 | ordered-read-streams "^1.0.0" 1671 | pumpify "^1.3.5" 1672 | readable-stream "^2.1.5" 1673 | remove-trailing-separator "^1.0.1" 1674 | to-absolute-glob "^2.0.0" 1675 | unique-stream "^2.0.2" 1676 | 1677 | glob-to-regexp@^0.3.0: 1678 | version "0.3.0" 1679 | resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab" 1680 | 1681 | glob@7.1.2, glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2: 1682 | version "7.1.2" 1683 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" 1684 | dependencies: 1685 | fs.realpath "^1.0.0" 1686 | inflight "^1.0.4" 1687 | inherits "2" 1688 | minimatch "^3.0.4" 1689 | once "^1.3.0" 1690 | path-is-absolute "^1.0.0" 1691 | 1692 | global-dirs@^0.1.0: 1693 | version "0.1.1" 1694 | resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-0.1.1.tgz#b319c0dd4607f353f3be9cca4c72fc148c49f445" 1695 | dependencies: 1696 | ini "^1.3.4" 1697 | 1698 | globals@^9.18.0: 1699 | version "9.18.0" 1700 | resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a" 1701 | 1702 | globby@8.0.1: 1703 | version "8.0.1" 1704 | resolved "https://registry.yarnpkg.com/globby/-/globby-8.0.1.tgz#b5ad48b8aa80b35b814fc1281ecc851f1d2b5b50" 1705 | dependencies: 1706 | array-union "^1.0.1" 1707 | dir-glob "^2.0.0" 1708 | fast-glob "^2.0.2" 1709 | glob "^7.1.2" 1710 | ignore "^3.3.5" 1711 | pify "^3.0.0" 1712 | slash "^1.0.0" 1713 | 1714 | globby@^6.0.0: 1715 | version "6.1.0" 1716 | resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" 1717 | dependencies: 1718 | array-union "^1.0.1" 1719 | glob "^7.0.3" 1720 | object-assign "^4.0.1" 1721 | pify "^2.0.0" 1722 | pinkie-promise "^2.0.0" 1723 | 1724 | got@8.2.0: 1725 | version "8.2.0" 1726 | resolved "https://registry.yarnpkg.com/got/-/got-8.2.0.tgz#0d11a071d05046348a2f5c0a5fa047fb687fdfc6" 1727 | dependencies: 1728 | "@sindresorhus/is" "^0.7.0" 1729 | cacheable-request "^2.1.1" 1730 | decompress-response "^3.3.0" 1731 | duplexer3 "^0.1.4" 1732 | get-stream "^3.0.0" 1733 | into-stream "^3.1.0" 1734 | is-retry-allowed "^1.1.0" 1735 | isurl "^1.0.0-alpha5" 1736 | lowercase-keys "^1.0.0" 1737 | mimic-response "^1.0.0" 1738 | p-cancelable "^0.3.0" 1739 | p-timeout "^2.0.1" 1740 | pify "^3.0.0" 1741 | safe-buffer "^5.1.1" 1742 | timed-out "^4.0.1" 1743 | url-parse-lax "^3.0.0" 1744 | url-to-options "^1.0.1" 1745 | 1746 | got@^6.7.1: 1747 | version "6.7.1" 1748 | resolved "https://registry.yarnpkg.com/got/-/got-6.7.1.tgz#240cd05785a9a18e561dc1b44b41c763ef1e8db0" 1749 | dependencies: 1750 | create-error-class "^3.0.0" 1751 | duplexer3 "^0.1.4" 1752 | get-stream "^3.0.0" 1753 | is-redirect "^1.0.0" 1754 | is-retry-allowed "^1.0.0" 1755 | is-stream "^1.0.0" 1756 | lowercase-keys "^1.0.0" 1757 | safe-buffer "^5.0.1" 1758 | timed-out "^4.0.0" 1759 | unzip-response "^2.0.1" 1760 | url-parse-lax "^1.0.0" 1761 | 1762 | got@^7.1.0: 1763 | version "7.1.0" 1764 | resolved "https://registry.yarnpkg.com/got/-/got-7.1.0.tgz#05450fd84094e6bbea56f451a43a9c289166385a" 1765 | dependencies: 1766 | decompress-response "^3.2.0" 1767 | duplexer3 "^0.1.4" 1768 | get-stream "^3.0.0" 1769 | is-plain-obj "^1.1.0" 1770 | is-retry-allowed "^1.0.0" 1771 | is-stream "^1.0.0" 1772 | isurl "^1.0.0-alpha5" 1773 | lowercase-keys "^1.0.0" 1774 | p-cancelable "^0.3.0" 1775 | p-timeout "^1.1.1" 1776 | safe-buffer "^5.0.1" 1777 | timed-out "^4.0.0" 1778 | url-parse-lax "^1.0.0" 1779 | url-to-options "^1.0.1" 1780 | 1781 | graceful-fs@^4.1.11, graceful-fs@^4.1.2: 1782 | version "4.1.11" 1783 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" 1784 | 1785 | growl@1.10.3: 1786 | version "1.10.3" 1787 | resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.3.tgz#1926ba90cf3edfe2adb4927f5880bc22c66c790f" 1788 | 1789 | handlebars@^4.0.2: 1790 | version "4.0.11" 1791 | resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.0.11.tgz#630a35dfe0294bc281edae6ffc5d329fc7982dcc" 1792 | dependencies: 1793 | async "^1.4.0" 1794 | optimist "^0.6.1" 1795 | source-map "^0.4.4" 1796 | optionalDependencies: 1797 | uglify-js "^2.6" 1798 | 1799 | hap-nodejs@^0.4.41: 1800 | version "0.4.41" 1801 | resolved "https://registry.yarnpkg.com/hap-nodejs/-/hap-nodejs-0.4.41.tgz#af0dc07fbc5e0d48998cbcf38717adea077336b2" 1802 | dependencies: 1803 | buffer-shims "^1.0.0" 1804 | curve25519-n2 "^1.1.2" 1805 | debug "^2.2.0" 1806 | decimal.js "^7.2.3" 1807 | ed25519 "^0.0.4" 1808 | fast-srp-hap "^1.0.1" 1809 | ip "^1.1.3" 1810 | mdns "^2.3.3" 1811 | node-persist "^0.0.11" 1812 | 1813 | has-ansi@^2.0.0: 1814 | version "2.0.0" 1815 | resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" 1816 | dependencies: 1817 | ansi-regex "^2.0.0" 1818 | 1819 | has-flag@^2.0.0: 1820 | version "2.0.0" 1821 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51" 1822 | 1823 | has-flag@^3.0.0: 1824 | version "3.0.0" 1825 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" 1826 | 1827 | has-symbol-support-x@^1.4.1: 1828 | version "1.4.2" 1829 | resolved "https://registry.yarnpkg.com/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz#1409f98bc00247da45da67cee0a36f282ff26455" 1830 | 1831 | has-to-string-tag-x@^1.2.0: 1832 | version "1.4.1" 1833 | resolved "https://registry.yarnpkg.com/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz#a045ab383d7b4b2012a00148ab0aa5f290044d4d" 1834 | dependencies: 1835 | has-symbol-support-x "^1.4.1" 1836 | 1837 | has-unicode@^2.0.0: 1838 | version "2.0.1" 1839 | resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" 1840 | 1841 | has-value@^0.3.1: 1842 | version "0.3.1" 1843 | resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" 1844 | dependencies: 1845 | get-value "^2.0.3" 1846 | has-values "^0.1.4" 1847 | isobject "^2.0.0" 1848 | 1849 | has-value@^1.0.0: 1850 | version "1.0.0" 1851 | resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" 1852 | dependencies: 1853 | get-value "^2.0.6" 1854 | has-values "^1.0.0" 1855 | isobject "^3.0.0" 1856 | 1857 | has-values@^0.1.4: 1858 | version "0.1.4" 1859 | resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" 1860 | 1861 | has-values@^1.0.0: 1862 | version "1.0.0" 1863 | resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" 1864 | dependencies: 1865 | is-number "^3.0.0" 1866 | kind-of "^4.0.0" 1867 | 1868 | he@1.1.1: 1869 | version "1.1.1" 1870 | resolved "https://registry.yarnpkg.com/he/-/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd" 1871 | 1872 | help-me@^1.0.1: 1873 | version "1.1.0" 1874 | resolved "https://registry.yarnpkg.com/help-me/-/help-me-1.1.0.tgz#8f2d508d0600b4a456da2f086556e7e5c056a3c6" 1875 | dependencies: 1876 | callback-stream "^1.0.2" 1877 | glob-stream "^6.1.0" 1878 | through2 "^2.0.1" 1879 | xtend "^4.0.0" 1880 | 1881 | home-or-tmp@^2.0.0: 1882 | version "2.0.0" 1883 | resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8" 1884 | dependencies: 1885 | os-homedir "^1.0.0" 1886 | os-tmpdir "^1.0.1" 1887 | 1888 | homebridge-platform-helper@1.1.3: 1889 | version "1.1.3" 1890 | resolved "https://registry.yarnpkg.com/homebridge-platform-helper/-/homebridge-platform-helper-1.1.3.tgz#292996200d1d0603ac42fb98dd2e1a5b45bdc5a8" 1891 | dependencies: 1892 | mqtt "^2.17.0" 1893 | node-persist "^2.0.10" 1894 | semver "^5.3.0" 1895 | uuid "^3.2.1" 1896 | 1897 | hosted-git-info@^2.1.4: 1898 | version "2.6.0" 1899 | resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.6.0.tgz#23235b29ab230c576aab0d4f13fc046b0b038222" 1900 | 1901 | http-cache-semantics@3.8.1: 1902 | version "3.8.1" 1903 | resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz#39b0e16add9b605bf0a9ef3d9daaf4843b4cacd2" 1904 | 1905 | i@0.3.x: 1906 | version "0.3.6" 1907 | resolved "https://registry.yarnpkg.com/i/-/i-0.3.6.tgz#d96c92732076f072711b6b10fd7d4f65ad8ee23d" 1908 | 1909 | iconv-lite@^0.4.17: 1910 | version "0.4.19" 1911 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b" 1912 | 1913 | ignore@^3.3.5: 1914 | version "3.3.7" 1915 | resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.7.tgz#612289bfb3c220e186a58118618d5be8c1bab021" 1916 | 1917 | import-lazy@^2.1.0: 1918 | version "2.1.0" 1919 | resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43" 1920 | 1921 | imurmurhash@^0.1.4: 1922 | version "0.1.4" 1923 | resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" 1924 | 1925 | indent-string@^2.1.0: 1926 | version "2.1.0" 1927 | resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" 1928 | dependencies: 1929 | repeating "^2.0.0" 1930 | 1931 | indent-string@^3.0.0: 1932 | version "3.2.0" 1933 | resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-3.2.0.tgz#4a5fd6d27cc332f37e5419a504dbb837105c9289" 1934 | 1935 | inflight@^1.0.4: 1936 | version "1.0.6" 1937 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 1938 | dependencies: 1939 | once "^1.3.0" 1940 | wrappy "1" 1941 | 1942 | inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.1, inherits@~2.0.3: 1943 | version "2.0.3" 1944 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" 1945 | 1946 | ini@^1.3.2, ini@^1.3.4, ini@~1.3.0: 1947 | version "1.3.5" 1948 | resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" 1949 | 1950 | inquirer@5.1.0, inquirer@^5.1.0: 1951 | version "5.1.0" 1952 | resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-5.1.0.tgz#19da508931892328abbbdd4c477f1efc65abfd67" 1953 | dependencies: 1954 | ansi-escapes "^3.0.0" 1955 | chalk "^2.0.0" 1956 | cli-cursor "^2.1.0" 1957 | cli-width "^2.0.0" 1958 | external-editor "^2.1.0" 1959 | figures "^2.0.0" 1960 | lodash "^4.3.0" 1961 | mute-stream "0.0.7" 1962 | run-async "^2.2.0" 1963 | rxjs "^5.5.2" 1964 | string-width "^2.1.0" 1965 | strip-ansi "^4.0.0" 1966 | through "^2.3.6" 1967 | 1968 | inquirer@^1.0.2: 1969 | version "1.2.3" 1970 | resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-1.2.3.tgz#4dec6f32f37ef7bb0b2ed3f1d1a5c3f545074918" 1971 | dependencies: 1972 | ansi-escapes "^1.1.0" 1973 | chalk "^1.0.0" 1974 | cli-cursor "^1.0.1" 1975 | cli-width "^2.0.0" 1976 | external-editor "^1.1.0" 1977 | figures "^1.3.5" 1978 | lodash "^4.3.0" 1979 | mute-stream "0.0.6" 1980 | pinkie-promise "^2.0.0" 1981 | run-async "^2.2.0" 1982 | rx "^4.1.0" 1983 | string-width "^1.0.1" 1984 | strip-ansi "^3.0.0" 1985 | through "^2.3.6" 1986 | 1987 | interpret@^1.0.0: 1988 | version "1.1.0" 1989 | resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.1.0.tgz#7ed1b1410c6a0e0f78cf95d3b8440c63f78b8614" 1990 | 1991 | into-stream@^3.1.0: 1992 | version "3.1.0" 1993 | resolved "https://registry.yarnpkg.com/into-stream/-/into-stream-3.1.0.tgz#96fb0a936c12babd6ff1752a17d05616abd094c6" 1994 | dependencies: 1995 | from2 "^2.1.1" 1996 | p-is-promise "^1.1.0" 1997 | 1998 | invariant@^2.2.2: 1999 | version "2.2.4" 2000 | resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" 2001 | dependencies: 2002 | loose-envify "^1.0.0" 2003 | 2004 | ip@^1.1.3: 2005 | version "1.1.5" 2006 | resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" 2007 | 2008 | is-absolute@^0.2.6: 2009 | version "0.2.6" 2010 | resolved "https://registry.yarnpkg.com/is-absolute/-/is-absolute-0.2.6.tgz#20de69f3db942ef2d87b9c2da36f172235b1b5eb" 2011 | dependencies: 2012 | is-relative "^0.2.1" 2013 | is-windows "^0.2.0" 2014 | 2015 | is-absolute@^1.0.0: 2016 | version "1.0.0" 2017 | resolved "https://registry.yarnpkg.com/is-absolute/-/is-absolute-1.0.0.tgz#395e1ae84b11f26ad1795e73c17378e48a301576" 2018 | dependencies: 2019 | is-relative "^1.0.0" 2020 | is-windows "^1.0.1" 2021 | 2022 | is-accessor-descriptor@^0.1.6: 2023 | version "0.1.6" 2024 | resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" 2025 | dependencies: 2026 | kind-of "^3.0.2" 2027 | 2028 | is-accessor-descriptor@^1.0.0: 2029 | version "1.0.0" 2030 | resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" 2031 | dependencies: 2032 | kind-of "^6.0.0" 2033 | 2034 | is-array-buffer@^1.0.0: 2035 | version "1.0.0" 2036 | resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-1.0.0.tgz#f32497a0509d109423f472003f98bab6a8ea34cb" 2037 | 2038 | is-arrayish@^0.2.1: 2039 | version "0.2.1" 2040 | resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" 2041 | 2042 | is-buffer@^1.1.5: 2043 | version "1.1.6" 2044 | resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" 2045 | 2046 | is-builtin-module@^1.0.0: 2047 | version "1.0.0" 2048 | resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe" 2049 | dependencies: 2050 | builtin-modules "^1.0.0" 2051 | 2052 | is-ci@1.1.0: 2053 | version "1.1.0" 2054 | resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.1.0.tgz#247e4162e7860cebbdaf30b774d6b0ac7dcfe7a5" 2055 | dependencies: 2056 | ci-info "^1.0.0" 2057 | 2058 | is-data-descriptor@^0.1.4: 2059 | version "0.1.4" 2060 | resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" 2061 | dependencies: 2062 | kind-of "^3.0.2" 2063 | 2064 | is-data-descriptor@^1.0.0: 2065 | version "1.0.0" 2066 | resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" 2067 | dependencies: 2068 | kind-of "^6.0.0" 2069 | 2070 | is-descriptor@^0.1.0: 2071 | version "0.1.6" 2072 | resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" 2073 | dependencies: 2074 | is-accessor-descriptor "^0.1.6" 2075 | is-data-descriptor "^0.1.4" 2076 | kind-of "^5.0.0" 2077 | 2078 | is-descriptor@^1.0.0, is-descriptor@^1.0.2: 2079 | version "1.0.2" 2080 | resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" 2081 | dependencies: 2082 | is-accessor-descriptor "^1.0.0" 2083 | is-data-descriptor "^1.0.0" 2084 | kind-of "^6.0.2" 2085 | 2086 | is-extendable@^0.1.0, is-extendable@^0.1.1: 2087 | version "0.1.1" 2088 | resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" 2089 | 2090 | is-extendable@^1.0.1: 2091 | version "1.0.1" 2092 | resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" 2093 | dependencies: 2094 | is-plain-object "^2.0.4" 2095 | 2096 | is-extglob@^2.1.0, is-extglob@^2.1.1: 2097 | version "2.1.1" 2098 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" 2099 | 2100 | is-finite@^1.0.0: 2101 | version "1.0.2" 2102 | resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" 2103 | dependencies: 2104 | number-is-nan "^1.0.0" 2105 | 2106 | is-fullwidth-code-point@^1.0.0: 2107 | version "1.0.0" 2108 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" 2109 | dependencies: 2110 | number-is-nan "^1.0.0" 2111 | 2112 | is-fullwidth-code-point@^2.0.0: 2113 | version "2.0.0" 2114 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" 2115 | 2116 | is-glob@^3.1.0: 2117 | version "3.1.0" 2118 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" 2119 | dependencies: 2120 | is-extglob "^2.1.0" 2121 | 2122 | is-glob@^4.0.0: 2123 | version "4.0.0" 2124 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.0.tgz#9521c76845cc2610a85203ddf080a958c2ffabc0" 2125 | dependencies: 2126 | is-extglob "^2.1.1" 2127 | 2128 | is-installed-globally@^0.1.0: 2129 | version "0.1.0" 2130 | resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.1.0.tgz#0dfd98f5a9111716dd535dda6492f67bf3d25a80" 2131 | dependencies: 2132 | global-dirs "^0.1.0" 2133 | is-path-inside "^1.0.0" 2134 | 2135 | is-negated-glob@^1.0.0: 2136 | version "1.0.0" 2137 | resolved "https://registry.yarnpkg.com/is-negated-glob/-/is-negated-glob-1.0.0.tgz#6910bca5da8c95e784b5751b976cf5a10fee36d2" 2138 | 2139 | is-npm@^1.0.0: 2140 | version "1.0.0" 2141 | resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-1.0.0.tgz#f2fb63a65e4905b406c86072765a1a4dc793b9f4" 2142 | 2143 | is-number@^3.0.0: 2144 | version "3.0.0" 2145 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" 2146 | dependencies: 2147 | kind-of "^3.0.2" 2148 | 2149 | is-number@^4.0.0: 2150 | version "4.0.0" 2151 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-4.0.0.tgz#0026e37f5454d73e356dfe6564699867c6a7f0ff" 2152 | 2153 | is-obj@^1.0.0: 2154 | version "1.0.1" 2155 | resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" 2156 | 2157 | is-object@^1.0.1: 2158 | version "1.0.1" 2159 | resolved "https://registry.yarnpkg.com/is-object/-/is-object-1.0.1.tgz#8952688c5ec2ffd6b03ecc85e769e02903083470" 2160 | 2161 | is-odd@^2.0.0: 2162 | version "2.0.0" 2163 | resolved "https://registry.yarnpkg.com/is-odd/-/is-odd-2.0.0.tgz#7646624671fd7ea558ccd9a2795182f2958f1b24" 2164 | dependencies: 2165 | is-number "^4.0.0" 2166 | 2167 | is-path-inside@^1.0.0: 2168 | version "1.0.1" 2169 | resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.1.tgz#8ef5b7de50437a3fdca6b4e865ef7aa55cb48036" 2170 | dependencies: 2171 | path-is-inside "^1.0.1" 2172 | 2173 | is-plain-obj@^1.0.0, is-plain-obj@^1.1.0: 2174 | version "1.1.0" 2175 | resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" 2176 | 2177 | is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4: 2178 | version "2.0.4" 2179 | resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" 2180 | dependencies: 2181 | isobject "^3.0.1" 2182 | 2183 | is-promise@^2.1.0: 2184 | version "2.1.0" 2185 | resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" 2186 | 2187 | is-redirect@^1.0.0: 2188 | version "1.0.0" 2189 | resolved "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24" 2190 | 2191 | is-relative@^0.2.1: 2192 | version "0.2.1" 2193 | resolved "https://registry.yarnpkg.com/is-relative/-/is-relative-0.2.1.tgz#d27f4c7d516d175fb610db84bbeef23c3bc97aa5" 2194 | dependencies: 2195 | is-unc-path "^0.1.1" 2196 | 2197 | is-relative@^1.0.0: 2198 | version "1.0.0" 2199 | resolved "https://registry.yarnpkg.com/is-relative/-/is-relative-1.0.0.tgz#a1bb6935ce8c5dba1e8b9754b9b2dcc020e2260d" 2200 | dependencies: 2201 | is-unc-path "^1.0.0" 2202 | 2203 | is-retry-allowed@^1.0.0, is-retry-allowed@^1.1.0: 2204 | version "1.1.0" 2205 | resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz#11a060568b67339444033d0125a61a20d564fb34" 2206 | 2207 | is-stream@^1.0.0, is-stream@^1.1.0: 2208 | version "1.1.0" 2209 | resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" 2210 | 2211 | is-subset@^0.1.1: 2212 | version "0.1.1" 2213 | resolved "https://registry.yarnpkg.com/is-subset/-/is-subset-0.1.1.tgz#8a59117d932de1de00f245fcdd39ce43f1e939a6" 2214 | 2215 | is-text-path@^1.0.0: 2216 | version "1.0.1" 2217 | resolved "https://registry.yarnpkg.com/is-text-path/-/is-text-path-1.0.1.tgz#4e1aa0fb51bfbcb3e92688001397202c1775b66e" 2218 | dependencies: 2219 | text-extensions "^1.0.0" 2220 | 2221 | is-unc-path@^0.1.1: 2222 | version "0.1.2" 2223 | resolved "https://registry.yarnpkg.com/is-unc-path/-/is-unc-path-0.1.2.tgz#6ab053a72573c10250ff416a3814c35178af39b9" 2224 | dependencies: 2225 | unc-path-regex "^0.1.0" 2226 | 2227 | is-unc-path@^1.0.0: 2228 | version "1.0.0" 2229 | resolved "https://registry.yarnpkg.com/is-unc-path/-/is-unc-path-1.0.0.tgz#d731e8898ed090a12c352ad2eaed5095ad322c9d" 2230 | dependencies: 2231 | unc-path-regex "^0.1.2" 2232 | 2233 | is-utf8@^0.2.0: 2234 | version "0.2.1" 2235 | resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" 2236 | 2237 | is-windows@^0.2.0: 2238 | version "0.2.0" 2239 | resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-0.2.0.tgz#de1aa6d63ea29dd248737b69f1ff8b8002d2108c" 2240 | 2241 | is-windows@^1.0.1, is-windows@^1.0.2: 2242 | version "1.0.2" 2243 | resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" 2244 | 2245 | isarray@1.0.0, isarray@~1.0.0: 2246 | version "1.0.0" 2247 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" 2248 | 2249 | isexe@^2.0.0: 2250 | version "2.0.0" 2251 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" 2252 | 2253 | isobject@^2.0.0: 2254 | version "2.1.0" 2255 | resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" 2256 | dependencies: 2257 | isarray "1.0.0" 2258 | 2259 | isobject@^3.0.0, isobject@^3.0.1: 2260 | version "3.0.1" 2261 | resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" 2262 | 2263 | isstream@0.1.x: 2264 | version "0.1.2" 2265 | resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" 2266 | 2267 | isurl@^1.0.0-alpha5: 2268 | version "1.0.0" 2269 | resolved "https://registry.yarnpkg.com/isurl/-/isurl-1.0.0.tgz#b27f4f49f3cdaa3ea44a0a5b7f3462e6edc39d67" 2270 | dependencies: 2271 | has-to-string-tag-x "^1.2.0" 2272 | is-object "^1.0.1" 2273 | 2274 | js-tokens@^3.0.0, js-tokens@^3.0.2: 2275 | version "3.0.2" 2276 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" 2277 | 2278 | jsesc@^1.3.0: 2279 | version "1.3.0" 2280 | resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" 2281 | 2282 | jsesc@~0.5.0: 2283 | version "0.5.0" 2284 | resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" 2285 | 2286 | json-buffer@3.0.0: 2287 | version "3.0.0" 2288 | resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898" 2289 | 2290 | json-parse-better-errors@^1.0.1: 2291 | version "1.0.1" 2292 | resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.1.tgz#50183cd1b2d25275de069e9e71b467ac9eab973a" 2293 | 2294 | json-stable-stringify@^1.0.0: 2295 | version "1.0.1" 2296 | resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" 2297 | dependencies: 2298 | jsonify "~0.0.0" 2299 | 2300 | json-stringify-safe@^5.0.1: 2301 | version "5.0.1" 2302 | resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" 2303 | 2304 | json5@^0.5.1: 2305 | version "0.5.1" 2306 | resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" 2307 | 2308 | jsonify@~0.0.0: 2309 | version "0.0.0" 2310 | resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" 2311 | 2312 | jsonparse@^1.2.0: 2313 | version "1.3.1" 2314 | resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" 2315 | 2316 | keyv@3.0.0: 2317 | version "3.0.0" 2318 | resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.0.0.tgz#44923ba39e68b12a7cec7df6c3268c031f2ef373" 2319 | dependencies: 2320 | json-buffer "3.0.0" 2321 | 2322 | kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: 2323 | version "3.2.2" 2324 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" 2325 | dependencies: 2326 | is-buffer "^1.1.5" 2327 | 2328 | kind-of@^4.0.0: 2329 | version "4.0.0" 2330 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" 2331 | dependencies: 2332 | is-buffer "^1.1.5" 2333 | 2334 | kind-of@^5.0.0: 2335 | version "5.1.0" 2336 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" 2337 | 2338 | kind-of@^6.0.0, kind-of@^6.0.2: 2339 | version "6.0.2" 2340 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051" 2341 | 2342 | latest-version@^3.0.0: 2343 | version "3.1.0" 2344 | resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-3.1.0.tgz#a205383fea322b33b5ae3b18abee0dc2f356ee15" 2345 | dependencies: 2346 | package-json "^4.0.0" 2347 | 2348 | lazy-cache@^1.0.3: 2349 | version "1.0.4" 2350 | resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" 2351 | 2352 | leven@^1.0.0: 2353 | version "1.0.2" 2354 | resolved "https://registry.yarnpkg.com/leven/-/leven-1.0.2.tgz#9144b6eebca5f1d0680169f1a6770dcea60b75c3" 2355 | 2356 | load-json-file@^1.0.0: 2357 | version "1.1.0" 2358 | resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" 2359 | dependencies: 2360 | graceful-fs "^4.1.2" 2361 | parse-json "^2.2.0" 2362 | pify "^2.0.0" 2363 | pinkie-promise "^2.0.0" 2364 | strip-bom "^2.0.0" 2365 | 2366 | load-json-file@^4.0.0: 2367 | version "4.0.0" 2368 | resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" 2369 | dependencies: 2370 | graceful-fs "^4.1.2" 2371 | parse-json "^4.0.0" 2372 | pify "^3.0.0" 2373 | strip-bom "^3.0.0" 2374 | 2375 | locate-path@^2.0.0: 2376 | version "2.0.0" 2377 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" 2378 | dependencies: 2379 | p-locate "^2.0.0" 2380 | path-exists "^3.0.0" 2381 | 2382 | lodash._reinterpolate@~3.0.0: 2383 | version "3.0.0" 2384 | resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" 2385 | 2386 | lodash.camelcase@^4.3.0: 2387 | version "4.3.0" 2388 | resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" 2389 | 2390 | lodash.difference@^4.5.0: 2391 | version "4.5.0" 2392 | resolved "https://registry.yarnpkg.com/lodash.difference/-/lodash.difference-4.5.0.tgz#9ccb4e505d486b91651345772885a2df27fd017c" 2393 | 2394 | lodash.kebabcase@^4.1.1: 2395 | version "4.1.1" 2396 | resolved "https://registry.yarnpkg.com/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz#8489b1cb0d29ff88195cceca448ff6d6cc295c36" 2397 | 2398 | lodash.merge@^4.6.0: 2399 | version "4.6.1" 2400 | resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.1.tgz#adc25d9cb99b9391c59624f379fbba60d7111d54" 2401 | 2402 | lodash.pad@^4.1.0: 2403 | version "4.5.1" 2404 | resolved "https://registry.yarnpkg.com/lodash.pad/-/lodash.pad-4.5.1.tgz#4330949a833a7c8da22cc20f6a26c4d59debba70" 2405 | 2406 | lodash.padend@^4.1.0: 2407 | version "4.6.1" 2408 | resolved "https://registry.yarnpkg.com/lodash.padend/-/lodash.padend-4.6.1.tgz#53ccba047d06e158d311f45da625f4e49e6f166e" 2409 | 2410 | lodash.padstart@^4.1.0: 2411 | version "4.6.1" 2412 | resolved "https://registry.yarnpkg.com/lodash.padstart/-/lodash.padstart-4.6.1.tgz#d2e3eebff0d9d39ad50f5cbd1b52a7bce6bb611b" 2413 | 2414 | lodash.template@^4.0.2: 2415 | version "4.4.0" 2416 | resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.4.0.tgz#e73a0385c8355591746e020b99679c690e68fba0" 2417 | dependencies: 2418 | lodash._reinterpolate "~3.0.0" 2419 | lodash.templatesettings "^4.0.0" 2420 | 2421 | lodash.templatesettings@^4.0.0: 2422 | version "4.1.0" 2423 | resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-4.1.0.tgz#2b4d4e95ba440d915ff08bc899e4553666713316" 2424 | dependencies: 2425 | lodash._reinterpolate "~3.0.0" 2426 | 2427 | lodash.uniq@^4.5.0: 2428 | version "4.5.0" 2429 | resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" 2430 | 2431 | lodash@4.17.5, lodash@^4.17.4, lodash@^4.2.1, lodash@^4.3.0: 2432 | version "4.17.5" 2433 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.5.tgz#99a92d65c0272debe8c96b6057bc8fbfa3bed511" 2434 | 2435 | lodash@^3.10.1: 2436 | version "3.10.1" 2437 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6" 2438 | 2439 | log-symbols@^2.2.0: 2440 | version "2.2.0" 2441 | resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-2.2.0.tgz#5740e1c5d6f0dfda4ad9323b5332107ef6b4c40a" 2442 | dependencies: 2443 | chalk "^2.0.1" 2444 | 2445 | long@^4.0.0: 2446 | version "4.0.0" 2447 | resolved "https://registry.yarnpkg.com/long/-/long-4.0.0.tgz#9a7b71cfb7d361a194ea555241c92f7468d5bf28" 2448 | 2449 | longest@^1.0.1: 2450 | version "1.0.1" 2451 | resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" 2452 | 2453 | loose-envify@^1.0.0: 2454 | version "1.3.1" 2455 | resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848" 2456 | dependencies: 2457 | js-tokens "^3.0.0" 2458 | 2459 | loud-rejection@^1.0.0: 2460 | version "1.6.0" 2461 | resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" 2462 | dependencies: 2463 | currently-unhandled "^0.4.1" 2464 | signal-exit "^3.0.0" 2465 | 2466 | lower-case@^1.1.1: 2467 | version "1.1.4" 2468 | resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac" 2469 | 2470 | lowercase-keys@1.0.0: 2471 | version "1.0.0" 2472 | resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.0.tgz#4e3366b39e7f5457e35f1324bdf6f88d0bfc7306" 2473 | 2474 | lowercase-keys@^1.0.0: 2475 | version "1.0.1" 2476 | resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f" 2477 | 2478 | lru-cache@^4.0.1: 2479 | version "4.1.2" 2480 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.2.tgz#45234b2e6e2f2b33da125624c4664929a0224c3f" 2481 | dependencies: 2482 | pseudomap "^1.0.2" 2483 | yallist "^2.1.2" 2484 | 2485 | macos-release@^1.0.0: 2486 | version "1.1.0" 2487 | resolved "https://registry.yarnpkg.com/macos-release/-/macos-release-1.1.0.tgz#831945e29365b470aa8724b0ab36c8f8959d10fb" 2488 | 2489 | make-dir@^1.0.0: 2490 | version "1.2.0" 2491 | resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.2.0.tgz#6d6a49eead4aae296c53bbf3a1a008bd6c89469b" 2492 | dependencies: 2493 | pify "^3.0.0" 2494 | 2495 | map-cache@^0.2.2: 2496 | version "0.2.2" 2497 | resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" 2498 | 2499 | map-obj@^1.0.0, map-obj@^1.0.1: 2500 | version "1.0.1" 2501 | resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" 2502 | 2503 | map-obj@^2.0.0: 2504 | version "2.0.0" 2505 | resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-2.0.0.tgz#a65cd29087a92598b8791257a523e021222ac1f9" 2506 | 2507 | map-visit@^1.0.0: 2508 | version "1.0.0" 2509 | resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" 2510 | dependencies: 2511 | object-visit "^1.0.0" 2512 | 2513 | mdns@^2.3.3: 2514 | version "2.3.4" 2515 | resolved "https://registry.yarnpkg.com/mdns/-/mdns-2.3.4.tgz#650380ac76089430cf6c8981a945dbd27d02f5b7" 2516 | dependencies: 2517 | bindings "~1.2.1" 2518 | nan "~2.3.0" 2519 | 2520 | meow@^3.3.0: 2521 | version "3.7.0" 2522 | resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" 2523 | dependencies: 2524 | camelcase-keys "^2.0.0" 2525 | decamelize "^1.1.2" 2526 | loud-rejection "^1.0.0" 2527 | map-obj "^1.0.1" 2528 | minimist "^1.1.3" 2529 | normalize-package-data "^2.3.4" 2530 | object-assign "^4.0.1" 2531 | read-pkg-up "^1.0.1" 2532 | redent "^1.0.0" 2533 | trim-newlines "^1.0.0" 2534 | 2535 | meow@^4.0.0: 2536 | version "4.0.0" 2537 | resolved "https://registry.yarnpkg.com/meow/-/meow-4.0.0.tgz#fd5855dd008db5b92c552082db1c307cba20b29d" 2538 | dependencies: 2539 | camelcase-keys "^4.0.0" 2540 | decamelize-keys "^1.0.0" 2541 | loud-rejection "^1.0.0" 2542 | minimist "^1.1.3" 2543 | minimist-options "^3.0.1" 2544 | normalize-package-data "^2.3.4" 2545 | read-pkg-up "^3.0.0" 2546 | redent "^2.0.0" 2547 | trim-newlines "^2.0.0" 2548 | 2549 | merge2@^1.2.1: 2550 | version "1.2.1" 2551 | resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.2.1.tgz#271d2516ff52d4af7f7b710b8bf3e16e183fef66" 2552 | 2553 | micromatch@^3.1.8: 2554 | version "3.1.10" 2555 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" 2556 | dependencies: 2557 | arr-diff "^4.0.0" 2558 | array-unique "^0.3.2" 2559 | braces "^2.3.1" 2560 | define-property "^2.0.2" 2561 | extend-shallow "^3.0.2" 2562 | extglob "^2.0.4" 2563 | fragment-cache "^0.2.1" 2564 | kind-of "^6.0.2" 2565 | nanomatch "^1.2.9" 2566 | object.pick "^1.3.0" 2567 | regex-not "^1.0.0" 2568 | snapdragon "^0.8.1" 2569 | to-regex "^3.0.2" 2570 | 2571 | micromist@^1.0.1: 2572 | version "1.0.2" 2573 | resolved "https://registry.yarnpkg.com/micromist/-/micromist-1.0.2.tgz#41f84949a04c30cdc60a394d0cb06aaa08b86364" 2574 | dependencies: 2575 | lodash.camelcase "^4.3.0" 2576 | 2577 | mime-db@~1.33.0: 2578 | version "1.33.0" 2579 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.33.0.tgz#a3492050a5cb9b63450541e39d9788d2272783db" 2580 | 2581 | mime-types@2.1.18: 2582 | version "2.1.18" 2583 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.18.tgz#6f323f60a83d11146f831ff11fd66e2fe5503bb8" 2584 | dependencies: 2585 | mime-db "~1.33.0" 2586 | 2587 | mimic-fn@^1.0.0: 2588 | version "1.2.0" 2589 | resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" 2590 | 2591 | mimic-response@^1.0.0: 2592 | version "1.0.0" 2593 | resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.0.tgz#df3d3652a73fded6b9b0b24146e6fd052353458e" 2594 | 2595 | minimatch@^3.0.4: 2596 | version "3.0.4" 2597 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" 2598 | dependencies: 2599 | brace-expansion "^1.1.7" 2600 | 2601 | minimist-options@^3.0.1: 2602 | version "3.0.2" 2603 | resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-3.0.2.tgz#fba4c8191339e13ecf4d61beb03f070103f3d954" 2604 | dependencies: 2605 | arrify "^1.0.1" 2606 | is-plain-obj "^1.1.0" 2607 | 2608 | minimist@0.0.8: 2609 | version "0.0.8" 2610 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" 2611 | 2612 | minimist@^1.1.0, minimist@^1.1.3, minimist@^1.2.0: 2613 | version "1.2.0" 2614 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" 2615 | 2616 | minimist@~0.0.1: 2617 | version "0.0.10" 2618 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" 2619 | 2620 | mixin-deep@^1.2.0: 2621 | version "1.3.1" 2622 | resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.1.tgz#a49e7268dce1a0d9698e45326c5626df3543d0fe" 2623 | dependencies: 2624 | for-in "^1.0.2" 2625 | is-extendable "^1.0.1" 2626 | 2627 | mkdirp@0.5.1, mkdirp@0.x.x, mkdirp@^0.5.1, mkdirp@~0.5.1: 2628 | version "0.5.1" 2629 | resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" 2630 | dependencies: 2631 | minimist "0.0.8" 2632 | 2633 | mocha@^5.0.1: 2634 | version "5.0.5" 2635 | resolved "https://registry.yarnpkg.com/mocha/-/mocha-5.0.5.tgz#e228e3386b9387a4710007a641f127b00be44b52" 2636 | dependencies: 2637 | browser-stdout "1.3.1" 2638 | commander "2.11.0" 2639 | debug "3.1.0" 2640 | diff "3.5.0" 2641 | escape-string-regexp "1.0.5" 2642 | glob "7.1.2" 2643 | growl "1.10.3" 2644 | he "1.1.1" 2645 | mkdirp "0.5.1" 2646 | supports-color "4.4.0" 2647 | 2648 | modify-values@^1.0.0: 2649 | version "1.0.1" 2650 | resolved "https://registry.yarnpkg.com/modify-values/-/modify-values-1.0.1.tgz#b3939fa605546474e3e3e3c63d64bd43b4ee6022" 2651 | 2652 | mqtt-packet@^5.5.0: 2653 | version "5.5.0" 2654 | resolved "https://registry.yarnpkg.com/mqtt-packet/-/mqtt-packet-5.5.0.tgz#7f53244ba49fdecf795e950c14a9432dbf33bc63" 2655 | dependencies: 2656 | bl "^1.2.1" 2657 | inherits "^2.0.3" 2658 | process-nextick-args "^2.0.0" 2659 | safe-buffer "^5.1.0" 2660 | 2661 | mqtt@^2.17.0: 2662 | version "2.17.0" 2663 | resolved "https://registry.yarnpkg.com/mqtt/-/mqtt-2.17.0.tgz#5630718a6bfe297e768ea1966df5b55fb0eb414b" 2664 | dependencies: 2665 | commist "^1.0.0" 2666 | concat-stream "^1.6.2" 2667 | end-of-stream "^1.4.1" 2668 | help-me "^1.0.1" 2669 | inherits "^2.0.3" 2670 | minimist "^1.2.0" 2671 | mqtt-packet "^5.5.0" 2672 | pump "^3.0.0" 2673 | readable-stream "^2.3.5" 2674 | reinterval "^1.1.0" 2675 | split2 "^2.1.1" 2676 | websocket-stream "^5.1.2" 2677 | xtend "^4.0.1" 2678 | 2679 | ms@2.0.0: 2680 | version "2.0.0" 2681 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" 2682 | 2683 | mute-stream@0.0.6: 2684 | version "0.0.6" 2685 | resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.6.tgz#48962b19e169fd1dfc240b3f1e7317627bbc47db" 2686 | 2687 | mute-stream@0.0.7, mute-stream@~0.0.4: 2688 | version "0.0.7" 2689 | resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" 2690 | 2691 | nan@^2.0.9, nan@^2.8.0: 2692 | version "2.10.0" 2693 | resolved "https://registry.yarnpkg.com/nan/-/nan-2.10.0.tgz#96d0cd610ebd58d4b4de9cc0c6828cda99c7548f" 2694 | 2695 | nan@~2.3.0: 2696 | version "2.3.5" 2697 | resolved "https://registry.yarnpkg.com/nan/-/nan-2.3.5.tgz#822a0dc266290ce4cd3a12282ca3e7e364668a08" 2698 | 2699 | nanomatch@^1.2.9: 2700 | version "1.2.9" 2701 | resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.9.tgz#879f7150cb2dab7a471259066c104eee6e0fa7c2" 2702 | dependencies: 2703 | arr-diff "^4.0.0" 2704 | array-unique "^0.3.2" 2705 | define-property "^2.0.2" 2706 | extend-shallow "^3.0.2" 2707 | fragment-cache "^0.2.1" 2708 | is-odd "^2.0.0" 2709 | is-windows "^1.0.2" 2710 | kind-of "^6.0.2" 2711 | object.pick "^1.3.0" 2712 | regex-not "^1.0.0" 2713 | snapdragon "^0.8.1" 2714 | to-regex "^3.0.1" 2715 | 2716 | ncp@1.0.x: 2717 | version "1.0.1" 2718 | resolved "https://registry.yarnpkg.com/ncp/-/ncp-1.0.1.tgz#d15367e5cb87432ba117d2bf80fdf45aecfb4246" 2719 | 2720 | nested-error-stacks@^2.0.0: 2721 | version "2.0.0" 2722 | resolved "https://registry.yarnpkg.com/nested-error-stacks/-/nested-error-stacks-2.0.0.tgz#98b2ffaefb4610fa3936f1e71435d30700de2840" 2723 | dependencies: 2724 | inherits "~2.0.1" 2725 | 2726 | no-case@^2.2.0: 2727 | version "2.3.2" 2728 | resolved "https://registry.yarnpkg.com/no-case/-/no-case-2.3.2.tgz#60b813396be39b3f1288a4c1ed5d1e7d28b464ac" 2729 | dependencies: 2730 | lower-case "^1.1.1" 2731 | 2732 | node-appletv@^1.0.5: 2733 | version "1.0.5" 2734 | resolved "https://registry.yarnpkg.com/node-appletv/-/node-appletv-1.0.5.tgz#1fcbd21ce698d4992594a8154dd3cfcdc443ab23" 2735 | dependencies: 2736 | camelcase "^4.1.0" 2737 | caporal "^0.10.0" 2738 | curve25519-n2 "^1.1.3" 2739 | ed25519 "0.0.4" 2740 | fast-srp-hap "^1.0.1" 2741 | inquirer "^5.1.0" 2742 | mdns "^2.3.3" 2743 | ora "^2.0.0" 2744 | protobufjs "^6.8.4" 2745 | snake-case "^2.1.0" 2746 | sodium "^2.0.3" 2747 | uuid "^3.2.1" 2748 | varint "^5.0.0" 2749 | 2750 | node-persist@^0.0.11: 2751 | version "0.0.11" 2752 | resolved "https://registry.yarnpkg.com/node-persist/-/node-persist-0.0.11.tgz#d66eba3ebef620f079530fa7b13076a906665874" 2753 | dependencies: 2754 | mkdirp "~0.5.1" 2755 | q "~1.1.1" 2756 | 2757 | node-persist@^2.0.10: 2758 | version "2.1.0" 2759 | resolved "https://registry.yarnpkg.com/node-persist/-/node-persist-2.1.0.tgz#e652bbf3885a04dad6a353d74176177c83914707" 2760 | dependencies: 2761 | is-absolute "^0.2.6" 2762 | mkdirp "~0.5.1" 2763 | q "~1.1.1" 2764 | 2765 | normalize-package-data@^2.3.0, normalize-package-data@^2.3.2, normalize-package-data@^2.3.4, normalize-package-data@^2.3.5: 2766 | version "2.4.0" 2767 | resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.4.0.tgz#12f95a307d58352075a04907b84ac8be98ac012f" 2768 | dependencies: 2769 | hosted-git-info "^2.1.4" 2770 | is-builtin-module "^1.0.0" 2771 | semver "2 || 3 || 4 || 5" 2772 | validate-npm-package-license "^3.0.1" 2773 | 2774 | normalize-url@2.0.1: 2775 | version "2.0.1" 2776 | resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-2.0.1.tgz#835a9da1551fa26f70e92329069a23aa6574d7e6" 2777 | dependencies: 2778 | prepend-http "^2.0.0" 2779 | query-string "^5.0.1" 2780 | sort-keys "^2.0.0" 2781 | 2782 | npm-run-path@^2.0.0: 2783 | version "2.0.2" 2784 | resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" 2785 | dependencies: 2786 | path-key "^2.0.0" 2787 | 2788 | npmlog@^2.0.3: 2789 | version "2.0.4" 2790 | resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-2.0.4.tgz#98b52530f2514ca90d09ec5b22c8846722375692" 2791 | dependencies: 2792 | ansi "~0.3.1" 2793 | are-we-there-yet "~1.1.2" 2794 | gauge "~1.2.5" 2795 | 2796 | number-is-nan@^1.0.0: 2797 | version "1.0.1" 2798 | resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" 2799 | 2800 | object-assign@^4.0.1, object-assign@^4.1.0: 2801 | version "4.1.1" 2802 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" 2803 | 2804 | object-copy@^0.1.0: 2805 | version "0.1.0" 2806 | resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" 2807 | dependencies: 2808 | copy-descriptor "^0.1.0" 2809 | define-property "^0.2.5" 2810 | kind-of "^3.0.3" 2811 | 2812 | object-visit@^1.0.0: 2813 | version "1.0.1" 2814 | resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" 2815 | dependencies: 2816 | isobject "^3.0.0" 2817 | 2818 | object.pick@^1.3.0: 2819 | version "1.3.0" 2820 | resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" 2821 | dependencies: 2822 | isobject "^3.0.1" 2823 | 2824 | once@^1.3.0, once@^1.3.1, once@^1.4.0: 2825 | version "1.4.0" 2826 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 2827 | dependencies: 2828 | wrappy "1" 2829 | 2830 | onetime@^1.0.0: 2831 | version "1.1.0" 2832 | resolved "http://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789" 2833 | 2834 | onetime@^2.0.0: 2835 | version "2.0.1" 2836 | resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" 2837 | dependencies: 2838 | mimic-fn "^1.0.0" 2839 | 2840 | optimist@^0.6.1: 2841 | version "0.6.1" 2842 | resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" 2843 | dependencies: 2844 | minimist "~0.0.1" 2845 | wordwrap "~0.0.2" 2846 | 2847 | ora@2.0.0, ora@^2.0.0: 2848 | version "2.0.0" 2849 | resolved "https://registry.yarnpkg.com/ora/-/ora-2.0.0.tgz#8ec3a37fa7bffb54a3a0c188a1f6798e7e1827cd" 2850 | dependencies: 2851 | chalk "^2.3.1" 2852 | cli-cursor "^2.1.0" 2853 | cli-spinners "^1.1.0" 2854 | log-symbols "^2.2.0" 2855 | strip-ansi "^4.0.0" 2856 | wcwidth "^1.0.1" 2857 | 2858 | ordered-read-streams@^1.0.0: 2859 | version "1.0.1" 2860 | resolved "https://registry.yarnpkg.com/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz#77c0cb37c41525d64166d990ffad7ec6a0e1363e" 2861 | dependencies: 2862 | readable-stream "^2.0.1" 2863 | 2864 | os-homedir@^1.0.0: 2865 | version "1.0.2" 2866 | resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" 2867 | 2868 | os-name@2.0.1: 2869 | version "2.0.1" 2870 | resolved "https://registry.yarnpkg.com/os-name/-/os-name-2.0.1.tgz#b9a386361c17ae3a21736ef0599405c9a8c5dc5e" 2871 | dependencies: 2872 | macos-release "^1.0.0" 2873 | win-release "^1.0.0" 2874 | 2875 | os-shim@^0.1.2: 2876 | version "0.1.3" 2877 | resolved "https://registry.yarnpkg.com/os-shim/-/os-shim-0.1.3.tgz#6b62c3791cf7909ea35ed46e17658bb417cb3917" 2878 | 2879 | os-tmpdir@^1.0.1, os-tmpdir@~1.0.1, os-tmpdir@~1.0.2: 2880 | version "1.0.2" 2881 | resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" 2882 | 2883 | p-cancelable@^0.3.0: 2884 | version "0.3.0" 2885 | resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-0.3.0.tgz#b9e123800bcebb7ac13a479be195b507b98d30fa" 2886 | 2887 | p-finally@^1.0.0: 2888 | version "1.0.0" 2889 | resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" 2890 | 2891 | p-is-promise@^1.1.0: 2892 | version "1.1.0" 2893 | resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-1.1.0.tgz#9c9456989e9f6588017b0434d56097675c3da05e" 2894 | 2895 | p-limit@^1.1.0: 2896 | version "1.2.0" 2897 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.2.0.tgz#0e92b6bedcb59f022c13d0f1949dc82d15909f1c" 2898 | dependencies: 2899 | p-try "^1.0.0" 2900 | 2901 | p-locate@^2.0.0: 2902 | version "2.0.0" 2903 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" 2904 | dependencies: 2905 | p-limit "^1.1.0" 2906 | 2907 | p-timeout@^1.1.1: 2908 | version "1.2.1" 2909 | resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-1.2.1.tgz#5eb3b353b7fce99f101a1038880bb054ebbea386" 2910 | dependencies: 2911 | p-finally "^1.0.0" 2912 | 2913 | p-timeout@^2.0.1: 2914 | version "2.0.1" 2915 | resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-2.0.1.tgz#d8dd1979595d2dc0139e1fe46b8b646cb3cdf038" 2916 | dependencies: 2917 | p-finally "^1.0.0" 2918 | 2919 | p-try@^1.0.0: 2920 | version "1.0.0" 2921 | resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" 2922 | 2923 | package-json@^4.0.0: 2924 | version "4.0.1" 2925 | resolved "https://registry.yarnpkg.com/package-json/-/package-json-4.0.1.tgz#8869a0401253661c4c4ca3da6c2121ed555f5eed" 2926 | dependencies: 2927 | got "^6.7.1" 2928 | registry-auth-token "^3.0.1" 2929 | registry-url "^3.0.3" 2930 | semver "^5.1.0" 2931 | 2932 | parse-github-repo-url@^1.3.0: 2933 | version "1.4.1" 2934 | resolved "https://registry.yarnpkg.com/parse-github-repo-url/-/parse-github-repo-url-1.4.1.tgz#9e7d8bb252a6cb6ba42595060b7bf6df3dbc1f50" 2935 | 2936 | parse-json@^2.2.0: 2937 | version "2.2.0" 2938 | resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" 2939 | dependencies: 2940 | error-ex "^1.2.0" 2941 | 2942 | parse-json@^4.0.0: 2943 | version "4.0.0" 2944 | resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" 2945 | dependencies: 2946 | error-ex "^1.3.1" 2947 | json-parse-better-errors "^1.0.1" 2948 | 2949 | parse-repo@1.0.4: 2950 | version "1.0.4" 2951 | resolved "https://registry.yarnpkg.com/parse-repo/-/parse-repo-1.0.4.tgz#74b91d2cb8675d11b99976a0065f6ce17fa1bcc8" 2952 | 2953 | pascalcase@^0.1.1: 2954 | version "0.1.1" 2955 | resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" 2956 | 2957 | path-dirname@^1.0.0: 2958 | version "1.0.2" 2959 | resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" 2960 | 2961 | path-exists@^2.0.0: 2962 | version "2.1.0" 2963 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" 2964 | dependencies: 2965 | pinkie-promise "^2.0.0" 2966 | 2967 | path-exists@^3.0.0: 2968 | version "3.0.0" 2969 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" 2970 | 2971 | path-is-absolute@^1.0.0, path-is-absolute@^1.0.1: 2972 | version "1.0.1" 2973 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 2974 | 2975 | path-is-inside@^1.0.1: 2976 | version "1.0.2" 2977 | resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" 2978 | 2979 | path-key@^2.0.0: 2980 | version "2.0.1" 2981 | resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" 2982 | 2983 | path-parse@^1.0.5: 2984 | version "1.0.5" 2985 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1" 2986 | 2987 | path-type@^1.0.0: 2988 | version "1.1.0" 2989 | resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" 2990 | dependencies: 2991 | graceful-fs "^4.1.2" 2992 | pify "^2.0.0" 2993 | pinkie-promise "^2.0.0" 2994 | 2995 | path-type@^3.0.0: 2996 | version "3.0.0" 2997 | resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" 2998 | dependencies: 2999 | pify "^3.0.0" 3000 | 3001 | pathval@^1.0.0: 3002 | version "1.1.0" 3003 | resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.0.tgz#b942e6d4bde653005ef6b71361def8727d0645e0" 3004 | 3005 | pify@^2.0.0, pify@^2.3.0: 3006 | version "2.3.0" 3007 | resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" 3008 | 3009 | pify@^3.0.0: 3010 | version "3.0.0" 3011 | resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" 3012 | 3013 | pinkie-promise@^2.0.0: 3014 | version "2.0.1" 3015 | resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" 3016 | dependencies: 3017 | pinkie "^2.0.0" 3018 | 3019 | pinkie@^2.0.0: 3020 | version "2.0.4" 3021 | resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" 3022 | 3023 | pkginfo@0.3.x: 3024 | version "0.3.1" 3025 | resolved "https://registry.yarnpkg.com/pkginfo/-/pkginfo-0.3.1.tgz#5b29f6a81f70717142e09e765bbeab97b4f81e21" 3026 | 3027 | pkginfo@0.x.x: 3028 | version "0.4.1" 3029 | resolved "https://registry.yarnpkg.com/pkginfo/-/pkginfo-0.4.1.tgz#b5418ef0439de5425fc4995042dced14fb2a84ff" 3030 | 3031 | posix-character-classes@^0.1.0: 3032 | version "0.1.1" 3033 | resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" 3034 | 3035 | prepend-http@^1.0.1: 3036 | version "1.0.4" 3037 | resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" 3038 | 3039 | prepend-http@^2.0.0: 3040 | version "2.0.0" 3041 | resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897" 3042 | 3043 | prettyjson@^1.2.1: 3044 | version "1.2.1" 3045 | resolved "https://registry.yarnpkg.com/prettyjson/-/prettyjson-1.2.1.tgz#fcffab41d19cab4dfae5e575e64246619b12d289" 3046 | dependencies: 3047 | colors "^1.1.2" 3048 | minimist "^1.2.0" 3049 | 3050 | private@^0.1.6, private@^0.1.7: 3051 | version "0.1.8" 3052 | resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" 3053 | 3054 | process-nextick-args@^2.0.0, process-nextick-args@~2.0.0: 3055 | version "2.0.0" 3056 | resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa" 3057 | 3058 | prompt@^1.0.0: 3059 | version "1.0.0" 3060 | resolved "https://registry.yarnpkg.com/prompt/-/prompt-1.0.0.tgz#8e57123c396ab988897fb327fd3aedc3e735e4fe" 3061 | dependencies: 3062 | colors "^1.1.2" 3063 | pkginfo "0.x.x" 3064 | read "1.0.x" 3065 | revalidator "0.1.x" 3066 | utile "0.3.x" 3067 | winston "2.1.x" 3068 | 3069 | protobufjs@^6.8.4: 3070 | version "6.8.6" 3071 | resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-6.8.6.tgz#ce3cf4fff9625b62966c455fc4c15e4331a11ca2" 3072 | dependencies: 3073 | "@protobufjs/aspromise" "^1.1.2" 3074 | "@protobufjs/base64" "^1.1.2" 3075 | "@protobufjs/codegen" "^2.0.4" 3076 | "@protobufjs/eventemitter" "^1.1.0" 3077 | "@protobufjs/fetch" "^1.1.0" 3078 | "@protobufjs/float" "^1.0.2" 3079 | "@protobufjs/inquire" "^1.1.0" 3080 | "@protobufjs/path" "^1.1.2" 3081 | "@protobufjs/pool" "^1.1.0" 3082 | "@protobufjs/utf8" "^1.1.0" 3083 | "@types/long" "^3.0.32" 3084 | "@types/node" "^8.9.4" 3085 | long "^4.0.0" 3086 | 3087 | pseudomap@^1.0.2: 3088 | version "1.0.2" 3089 | resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" 3090 | 3091 | pump@^2.0.0: 3092 | version "2.0.1" 3093 | resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" 3094 | dependencies: 3095 | end-of-stream "^1.1.0" 3096 | once "^1.3.1" 3097 | 3098 | pump@^3.0.0: 3099 | version "3.0.0" 3100 | resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" 3101 | dependencies: 3102 | end-of-stream "^1.1.0" 3103 | once "^1.3.1" 3104 | 3105 | pumpify@^1.3.5: 3106 | version "1.4.0" 3107 | resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.4.0.tgz#80b7c5df7e24153d03f0e7ac8a05a5d068bd07fb" 3108 | dependencies: 3109 | duplexify "^3.5.3" 3110 | inherits "^2.0.3" 3111 | pump "^2.0.0" 3112 | 3113 | q@^1.4.1, q@^1.5.1: 3114 | version "1.5.1" 3115 | resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" 3116 | 3117 | q@~1.1.1: 3118 | version "1.1.2" 3119 | resolved "https://registry.yarnpkg.com/q/-/q-1.1.2.tgz#6357e291206701d99f197ab84e57e8ad196f2a89" 3120 | 3121 | query-string@^5.0.1: 3122 | version "5.1.1" 3123 | resolved "https://registry.yarnpkg.com/query-string/-/query-string-5.1.1.tgz#a78c012b71c17e05f2e3fa2319dd330682efb3cb" 3124 | dependencies: 3125 | decode-uri-component "^0.2.0" 3126 | object-assign "^4.1.0" 3127 | strict-uri-encode "^1.0.0" 3128 | 3129 | quick-lru@^1.0.0: 3130 | version "1.1.0" 3131 | resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-1.1.0.tgz#4360b17c61136ad38078397ff11416e186dcfbb8" 3132 | 3133 | rc@^1.0.1, rc@^1.1.6: 3134 | version "1.2.6" 3135 | resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.6.tgz#eb18989c6d4f4f162c399f79ddd29f3835568092" 3136 | dependencies: 3137 | deep-extend "~0.4.0" 3138 | ini "~1.3.0" 3139 | minimist "^1.2.0" 3140 | strip-json-comments "~2.0.1" 3141 | 3142 | read-pkg-up@^1.0.1: 3143 | version "1.0.1" 3144 | resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" 3145 | dependencies: 3146 | find-up "^1.0.0" 3147 | read-pkg "^1.0.0" 3148 | 3149 | read-pkg-up@^3.0.0: 3150 | version "3.0.0" 3151 | resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-3.0.0.tgz#3ed496685dba0f8fe118d0691dc51f4a1ff96f07" 3152 | dependencies: 3153 | find-up "^2.0.0" 3154 | read-pkg "^3.0.0" 3155 | 3156 | read-pkg@^1.0.0, read-pkg@^1.1.0: 3157 | version "1.1.0" 3158 | resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" 3159 | dependencies: 3160 | load-json-file "^1.0.0" 3161 | normalize-package-data "^2.3.2" 3162 | path-type "^1.0.0" 3163 | 3164 | read-pkg@^3.0.0: 3165 | version "3.0.0" 3166 | resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" 3167 | dependencies: 3168 | load-json-file "^4.0.0" 3169 | normalize-package-data "^2.3.2" 3170 | path-type "^3.0.0" 3171 | 3172 | read@1.0.x: 3173 | version "1.0.7" 3174 | resolved "https://registry.yarnpkg.com/read/-/read-1.0.7.tgz#b3da19bd052431a97671d44a42634adf710b40c4" 3175 | dependencies: 3176 | mute-stream "~0.0.4" 3177 | 3178 | "readable-stream@> 1.0.0 < 3.0.0", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.5: 3179 | version "2.3.5" 3180 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.5.tgz#b4f85003a938cbb6ecbce2a124fb1012bd1a838d" 3181 | dependencies: 3182 | core-util-is "~1.0.0" 3183 | inherits "~2.0.3" 3184 | isarray "~1.0.0" 3185 | process-nextick-args "~2.0.0" 3186 | safe-buffer "~5.1.1" 3187 | string_decoder "~1.0.3" 3188 | util-deprecate "~1.0.1" 3189 | 3190 | rechoir@^0.6.2: 3191 | version "0.6.2" 3192 | resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" 3193 | dependencies: 3194 | resolve "^1.1.6" 3195 | 3196 | redent@^1.0.0: 3197 | version "1.0.0" 3198 | resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" 3199 | dependencies: 3200 | indent-string "^2.1.0" 3201 | strip-indent "^1.0.1" 3202 | 3203 | redent@^2.0.0: 3204 | version "2.0.0" 3205 | resolved "https://registry.yarnpkg.com/redent/-/redent-2.0.0.tgz#c1b2007b42d57eb1389079b3c8333639d5e1ccaa" 3206 | dependencies: 3207 | indent-string "^3.0.0" 3208 | strip-indent "^2.0.0" 3209 | 3210 | regenerate@^1.2.1: 3211 | version "1.3.3" 3212 | resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.3.3.tgz#0c336d3980553d755c39b586ae3b20aa49c82b7f" 3213 | 3214 | regenerator-runtime@^0.11.0: 3215 | version "0.11.1" 3216 | resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" 3217 | 3218 | regenerator-transform@^0.10.0: 3219 | version "0.10.1" 3220 | resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.10.1.tgz#1e4996837231da8b7f3cf4114d71b5691a0680dd" 3221 | dependencies: 3222 | babel-runtime "^6.18.0" 3223 | babel-types "^6.19.0" 3224 | private "^0.1.6" 3225 | 3226 | regex-not@^1.0.0, regex-not@^1.0.2: 3227 | version "1.0.2" 3228 | resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" 3229 | dependencies: 3230 | extend-shallow "^3.0.2" 3231 | safe-regex "^1.1.0" 3232 | 3233 | regexpu-core@^2.0.0: 3234 | version "2.0.0" 3235 | resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-2.0.0.tgz#49d038837b8dcf8bfa5b9a42139938e6ea2ae240" 3236 | dependencies: 3237 | regenerate "^1.2.1" 3238 | regjsgen "^0.2.0" 3239 | regjsparser "^0.1.4" 3240 | 3241 | registry-auth-token@^3.0.1: 3242 | version "3.3.2" 3243 | resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-3.3.2.tgz#851fd49038eecb586911115af845260eec983f20" 3244 | dependencies: 3245 | rc "^1.1.6" 3246 | safe-buffer "^5.0.1" 3247 | 3248 | registry-url@^3.0.3: 3249 | version "3.1.0" 3250 | resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-3.1.0.tgz#3d4ef870f73dde1d77f0cf9a381432444e174942" 3251 | dependencies: 3252 | rc "^1.0.1" 3253 | 3254 | regjsgen@^0.2.0: 3255 | version "0.2.0" 3256 | resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7" 3257 | 3258 | regjsparser@^0.1.4: 3259 | version "0.1.5" 3260 | resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c" 3261 | dependencies: 3262 | jsesc "~0.5.0" 3263 | 3264 | reinterval@^1.1.0: 3265 | version "1.1.0" 3266 | resolved "https://registry.yarnpkg.com/reinterval/-/reinterval-1.1.0.tgz#3361ecfa3ca6c18283380dd0bb9546f390f5ece7" 3267 | 3268 | release-it@^7.2.1: 3269 | version "7.2.1" 3270 | resolved "https://registry.yarnpkg.com/release-it/-/release-it-7.2.1.tgz#31f050cd40920a3af4cb3c9c0de62c7866d0282a" 3271 | dependencies: 3272 | "@octokit/rest" "14.0.9" 3273 | async-retry "1.2.1" 3274 | babel-preset-env "1.6.1" 3275 | babel-register "6.26.0" 3276 | bump-file "1.0.0" 3277 | chalk "2.3.2" 3278 | conventional-changelog "1.1.18" 3279 | conventional-recommended-bump "2.0.6" 3280 | cpy "6.0.0" 3281 | debug "3.1.0" 3282 | globby "8.0.1" 3283 | got "8.2.0" 3284 | inquirer "5.1.0" 3285 | is-ci "1.1.0" 3286 | lodash "4.17.5" 3287 | mime-types "2.1.18" 3288 | ora "2.0.0" 3289 | os-name "2.0.1" 3290 | parse-repo "1.0.4" 3291 | semver "5.5.0" 3292 | shelljs "0.8.1" 3293 | supports-color "5.3.0" 3294 | tmp-promise "1.0.4" 3295 | update-notifier "2.3.0" 3296 | uuid "3.2.1" 3297 | window-size "1.1.0" 3298 | yargs-parser "9.0.2" 3299 | 3300 | remove-trailing-separator@^1.0.1: 3301 | version "1.1.0" 3302 | resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" 3303 | 3304 | repeat-element@^1.1.2: 3305 | version "1.1.2" 3306 | resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a" 3307 | 3308 | repeat-string@^1.5.2, repeat-string@^1.6.1: 3309 | version "1.6.1" 3310 | resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" 3311 | 3312 | repeating@^2.0.0: 3313 | version "2.0.1" 3314 | resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" 3315 | dependencies: 3316 | is-finite "^1.0.0" 3317 | 3318 | resolve-url@^0.2.1: 3319 | version "0.2.1" 3320 | resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" 3321 | 3322 | resolve@^1.1.6: 3323 | version "1.6.0" 3324 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.6.0.tgz#0fbd21278b27b4004481c395349e7aba60a9ff5c" 3325 | dependencies: 3326 | path-parse "^1.0.5" 3327 | 3328 | responselike@1.0.2: 3329 | version "1.0.2" 3330 | resolved "https://registry.yarnpkg.com/responselike/-/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7" 3331 | dependencies: 3332 | lowercase-keys "^1.0.0" 3333 | 3334 | restore-cursor@^1.0.1: 3335 | version "1.0.1" 3336 | resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541" 3337 | dependencies: 3338 | exit-hook "^1.0.0" 3339 | onetime "^1.0.0" 3340 | 3341 | restore-cursor@^2.0.0: 3342 | version "2.0.0" 3343 | resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" 3344 | dependencies: 3345 | onetime "^2.0.0" 3346 | signal-exit "^3.0.2" 3347 | 3348 | ret@~0.1.10: 3349 | version "0.1.15" 3350 | resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" 3351 | 3352 | retry@0.10.1: 3353 | version "0.10.1" 3354 | resolved "https://registry.yarnpkg.com/retry/-/retry-0.10.1.tgz#e76388d217992c252750241d3d3956fed98d8ff4" 3355 | 3356 | revalidator@0.1.x: 3357 | version "0.1.8" 3358 | resolved "https://registry.yarnpkg.com/revalidator/-/revalidator-0.1.8.tgz#fece61bfa0c1b52a206bd6b18198184bdd523a3b" 3359 | 3360 | right-align@^0.1.1: 3361 | version "0.1.3" 3362 | resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef" 3363 | dependencies: 3364 | align-text "^0.1.1" 3365 | 3366 | rimraf@2.x.x: 3367 | version "2.6.2" 3368 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36" 3369 | dependencies: 3370 | glob "^7.0.5" 3371 | 3372 | run-async@^2.2.0: 3373 | version "2.3.0" 3374 | resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0" 3375 | dependencies: 3376 | is-promise "^2.1.0" 3377 | 3378 | rx@^4.1.0: 3379 | version "4.1.0" 3380 | resolved "https://registry.yarnpkg.com/rx/-/rx-4.1.0.tgz#a5f13ff79ef3b740fe30aa803fb09f98805d4782" 3381 | 3382 | rxjs@^5.5.2: 3383 | version "5.5.7" 3384 | resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-5.5.7.tgz#afb3d1642b069b2fbf203903d6501d1acb4cda27" 3385 | dependencies: 3386 | symbol-observable "1.0.1" 3387 | 3388 | safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@~5.1.0, safe-buffer@~5.1.1: 3389 | version "5.1.1" 3390 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853" 3391 | 3392 | safe-regex@^1.1.0: 3393 | version "1.1.0" 3394 | resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" 3395 | dependencies: 3396 | ret "~0.1.10" 3397 | 3398 | semver-diff@^2.0.0: 3399 | version "2.1.0" 3400 | resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-2.1.0.tgz#4bbb8437c8d37e4b0cf1a68fd726ec6d645d6d36" 3401 | dependencies: 3402 | semver "^5.0.3" 3403 | 3404 | "semver@2 || 3 || 4 || 5", semver@5.5.0, semver@^5.0.1, semver@^5.0.3, semver@^5.1.0, semver@^5.3.0, semver@^5.4.1, semver@^5.5.0: 3405 | version "5.5.0" 3406 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab" 3407 | 3408 | semver@5.4.1: 3409 | version "5.4.1" 3410 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.4.1.tgz#e059c09d8571f0540823733433505d3a2f00b18e" 3411 | 3412 | set-value@^0.4.3: 3413 | version "0.4.3" 3414 | resolved "https://registry.yarnpkg.com/set-value/-/set-value-0.4.3.tgz#7db08f9d3d22dc7f78e53af3c3bf4666ecdfccf1" 3415 | dependencies: 3416 | extend-shallow "^2.0.1" 3417 | is-extendable "^0.1.1" 3418 | is-plain-object "^2.0.1" 3419 | to-object-path "^0.3.0" 3420 | 3421 | set-value@^2.0.0: 3422 | version "2.0.0" 3423 | resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.0.tgz#71ae4a88f0feefbbf52d1ea604f3fb315ebb6274" 3424 | dependencies: 3425 | extend-shallow "^2.0.1" 3426 | is-extendable "^0.1.1" 3427 | is-plain-object "^2.0.3" 3428 | split-string "^3.0.1" 3429 | 3430 | shebang-command@^1.2.0: 3431 | version "1.2.0" 3432 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" 3433 | dependencies: 3434 | shebang-regex "^1.0.0" 3435 | 3436 | shebang-regex@^1.0.0: 3437 | version "1.0.0" 3438 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" 3439 | 3440 | shelljs@0.8.1: 3441 | version "0.8.1" 3442 | resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.1.tgz#729e038c413a2254c4078b95ed46e0397154a9f1" 3443 | dependencies: 3444 | glob "^7.0.0" 3445 | interpret "^1.0.0" 3446 | rechoir "^0.6.2" 3447 | 3448 | signal-exit@^3.0.0, signal-exit@^3.0.2: 3449 | version "3.0.2" 3450 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" 3451 | 3452 | slash@^1.0.0: 3453 | version "1.0.0" 3454 | resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" 3455 | 3456 | snake-case@^2.1.0: 3457 | version "2.1.0" 3458 | resolved "https://registry.yarnpkg.com/snake-case/-/snake-case-2.1.0.tgz#41bdb1b73f30ec66a04d4e2cad1b76387d4d6d9f" 3459 | dependencies: 3460 | no-case "^2.2.0" 3461 | 3462 | snapdragon-node@^2.0.1: 3463 | version "2.1.1" 3464 | resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" 3465 | dependencies: 3466 | define-property "^1.0.0" 3467 | isobject "^3.0.0" 3468 | snapdragon-util "^3.0.1" 3469 | 3470 | snapdragon-util@^3.0.1: 3471 | version "3.0.1" 3472 | resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" 3473 | dependencies: 3474 | kind-of "^3.2.0" 3475 | 3476 | snapdragon@^0.8.1: 3477 | version "0.8.2" 3478 | resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" 3479 | dependencies: 3480 | base "^0.11.1" 3481 | debug "^2.2.0" 3482 | define-property "^0.2.5" 3483 | extend-shallow "^2.0.1" 3484 | map-cache "^0.2.2" 3485 | source-map "^0.5.6" 3486 | source-map-resolve "^0.5.0" 3487 | use "^3.1.0" 3488 | 3489 | sodium@^2.0.3: 3490 | version "2.0.3" 3491 | resolved "https://registry.yarnpkg.com/sodium/-/sodium-2.0.3.tgz#4f489e9a3be75395d168a0341dde8b401432ddf6" 3492 | dependencies: 3493 | nan "^2.8.0" 3494 | 3495 | sort-keys@^2.0.0: 3496 | version "2.0.0" 3497 | resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-2.0.0.tgz#658535584861ec97d730d6cf41822e1f56684128" 3498 | dependencies: 3499 | is-plain-obj "^1.0.0" 3500 | 3501 | source-map-resolve@^0.5.0: 3502 | version "0.5.1" 3503 | resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.1.tgz#7ad0f593f2281598e854df80f19aae4b92d7a11a" 3504 | dependencies: 3505 | atob "^2.0.0" 3506 | decode-uri-component "^0.2.0" 3507 | resolve-url "^0.2.1" 3508 | source-map-url "^0.4.0" 3509 | urix "^0.1.0" 3510 | 3511 | source-map-support@^0.4.15: 3512 | version "0.4.18" 3513 | resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.18.tgz#0286a6de8be42641338594e97ccea75f0a2c585f" 3514 | dependencies: 3515 | source-map "^0.5.6" 3516 | 3517 | source-map-url@^0.4.0: 3518 | version "0.4.0" 3519 | resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" 3520 | 3521 | source-map@^0.4.4: 3522 | version "0.4.4" 3523 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" 3524 | dependencies: 3525 | amdefine ">=0.0.4" 3526 | 3527 | source-map@^0.5.6, source-map@^0.5.7, source-map@~0.5.1: 3528 | version "0.5.7" 3529 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" 3530 | 3531 | spawn-sync@^1.0.15: 3532 | version "1.0.15" 3533 | resolved "https://registry.yarnpkg.com/spawn-sync/-/spawn-sync-1.0.15.tgz#b00799557eb7fb0c8376c29d44e8a1ea67e57476" 3534 | dependencies: 3535 | concat-stream "^1.4.7" 3536 | os-shim "^0.1.2" 3537 | 3538 | spdx-correct@^3.0.0: 3539 | version "3.0.0" 3540 | resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.0.0.tgz#05a5b4d7153a195bc92c3c425b69f3b2a9524c82" 3541 | dependencies: 3542 | spdx-expression-parse "^3.0.0" 3543 | spdx-license-ids "^3.0.0" 3544 | 3545 | spdx-exceptions@^2.1.0: 3546 | version "2.1.0" 3547 | resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz#2c7ae61056c714a5b9b9b2b2af7d311ef5c78fe9" 3548 | 3549 | spdx-expression-parse@^3.0.0: 3550 | version "3.0.0" 3551 | resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz#99e119b7a5da00e05491c9fa338b7904823b41d0" 3552 | dependencies: 3553 | spdx-exceptions "^2.1.0" 3554 | spdx-license-ids "^3.0.0" 3555 | 3556 | spdx-license-ids@^3.0.0: 3557 | version "3.0.0" 3558 | resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz#7a7cd28470cc6d3a1cfe6d66886f6bc430d3ac87" 3559 | 3560 | split-string@^3.0.1, split-string@^3.0.2: 3561 | version "3.1.0" 3562 | resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" 3563 | dependencies: 3564 | extend-shallow "^3.0.0" 3565 | 3566 | split2@^2.0.0, split2@^2.1.1: 3567 | version "2.2.0" 3568 | resolved "https://registry.yarnpkg.com/split2/-/split2-2.2.0.tgz#186b2575bcf83e85b7d18465756238ee4ee42493" 3569 | dependencies: 3570 | through2 "^2.0.2" 3571 | 3572 | split@^1.0.0: 3573 | version "1.0.1" 3574 | resolved "https://registry.yarnpkg.com/split/-/split-1.0.1.tgz#605bd9be303aa59fb35f9229fbea0ddec9ea07d9" 3575 | dependencies: 3576 | through "2" 3577 | 3578 | stack-trace@0.0.x: 3579 | version "0.0.10" 3580 | resolved "https://registry.yarnpkg.com/stack-trace/-/stack-trace-0.0.10.tgz#547c70b347e8d32b4e108ea1a2a159e5fdde19c0" 3581 | 3582 | static-extend@^0.1.1: 3583 | version "0.1.2" 3584 | resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" 3585 | dependencies: 3586 | define-property "^0.2.5" 3587 | object-copy "^0.1.0" 3588 | 3589 | stream-shift@^1.0.0: 3590 | version "1.0.0" 3591 | resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.0.tgz#d5c752825e5367e786f78e18e445ea223a155952" 3592 | 3593 | strict-uri-encode@^1.0.0: 3594 | version "1.1.0" 3595 | resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" 3596 | 3597 | string-width@^1.0.1: 3598 | version "1.0.2" 3599 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" 3600 | dependencies: 3601 | code-point-at "^1.0.0" 3602 | is-fullwidth-code-point "^1.0.0" 3603 | strip-ansi "^3.0.0" 3604 | 3605 | string-width@^2.0.0, string-width@^2.1.0, string-width@^2.1.1: 3606 | version "2.1.1" 3607 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" 3608 | dependencies: 3609 | is-fullwidth-code-point "^2.0.0" 3610 | strip-ansi "^4.0.0" 3611 | 3612 | string_decoder@~1.0.3: 3613 | version "1.0.3" 3614 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.3.tgz#0fc67d7c141825de94282dd536bec6b9bce860ab" 3615 | dependencies: 3616 | safe-buffer "~5.1.0" 3617 | 3618 | strip-ansi@^3.0.0: 3619 | version "3.0.1" 3620 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" 3621 | dependencies: 3622 | ansi-regex "^2.0.0" 3623 | 3624 | strip-ansi@^4.0.0: 3625 | version "4.0.0" 3626 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" 3627 | dependencies: 3628 | ansi-regex "^3.0.0" 3629 | 3630 | strip-bom@^2.0.0: 3631 | version "2.0.0" 3632 | resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" 3633 | dependencies: 3634 | is-utf8 "^0.2.0" 3635 | 3636 | strip-bom@^3.0.0: 3637 | version "3.0.0" 3638 | resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" 3639 | 3640 | strip-eof@^1.0.0: 3641 | version "1.0.0" 3642 | resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" 3643 | 3644 | strip-indent@^1.0.1: 3645 | version "1.0.1" 3646 | resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2" 3647 | dependencies: 3648 | get-stdin "^4.0.1" 3649 | 3650 | strip-indent@^2.0.0: 3651 | version "2.0.0" 3652 | resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-2.0.0.tgz#5ef8db295d01e6ed6cbf7aab96998d7822527b68" 3653 | 3654 | strip-json-comments@~2.0.1: 3655 | version "2.0.1" 3656 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" 3657 | 3658 | supports-color@4.4.0: 3659 | version "4.4.0" 3660 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-4.4.0.tgz#883f7ddabc165142b2a61427f3352ded195d1a3e" 3661 | dependencies: 3662 | has-flag "^2.0.0" 3663 | 3664 | supports-color@5.3.0, supports-color@^5.3.0: 3665 | version "5.3.0" 3666 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.3.0.tgz#5b24ac15db80fa927cf5227a4a33fd3c4c7676c0" 3667 | dependencies: 3668 | has-flag "^3.0.0" 3669 | 3670 | supports-color@^2.0.0: 3671 | version "2.0.0" 3672 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" 3673 | 3674 | symbol-observable@1.0.1: 3675 | version "1.0.1" 3676 | resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.0.1.tgz#8340fc4702c3122df5d22288f88283f513d3fdd4" 3677 | 3678 | tabtab@^2.2.2: 3679 | version "2.2.2" 3680 | resolved "https://registry.yarnpkg.com/tabtab/-/tabtab-2.2.2.tgz#7a047f143b010b4cbd31f857e82961512cbf4e14" 3681 | dependencies: 3682 | debug "^2.2.0" 3683 | inquirer "^1.0.2" 3684 | lodash.difference "^4.5.0" 3685 | lodash.uniq "^4.5.0" 3686 | minimist "^1.2.0" 3687 | mkdirp "^0.5.1" 3688 | npmlog "^2.0.3" 3689 | object-assign "^4.1.0" 3690 | 3691 | term-size@^1.2.0: 3692 | version "1.2.0" 3693 | resolved "https://registry.yarnpkg.com/term-size/-/term-size-1.2.0.tgz#458b83887f288fc56d6fffbfad262e26638efa69" 3694 | dependencies: 3695 | execa "^0.7.0" 3696 | 3697 | text-extensions@^1.0.0: 3698 | version "1.7.0" 3699 | resolved "https://registry.yarnpkg.com/text-extensions/-/text-extensions-1.7.0.tgz#faaaba2625ed746d568a23e4d0aacd9bf08a8b39" 3700 | 3701 | through2-filter@^2.0.0: 3702 | version "2.0.0" 3703 | resolved "https://registry.yarnpkg.com/through2-filter/-/through2-filter-2.0.0.tgz#60bc55a0dacb76085db1f9dae99ab43f83d622ec" 3704 | dependencies: 3705 | through2 "~2.0.0" 3706 | xtend "~4.0.0" 3707 | 3708 | through2@^2.0.0, through2@^2.0.1, through2@^2.0.2, through2@~2.0.0: 3709 | version "2.0.3" 3710 | resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be" 3711 | dependencies: 3712 | readable-stream "^2.1.5" 3713 | xtend "~4.0.1" 3714 | 3715 | through@2, "through@>=2.2.7 <3", through@^2.3.6: 3716 | version "2.3.8" 3717 | resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" 3718 | 3719 | timed-out@^4.0.0, timed-out@^4.0.1: 3720 | version "4.0.1" 3721 | resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f" 3722 | 3723 | tmp-promise@1.0.4: 3724 | version "1.0.4" 3725 | resolved "https://registry.yarnpkg.com/tmp-promise/-/tmp-promise-1.0.4.tgz#cfe2131b78392992e756d8692a059dc4b48be7ac" 3726 | dependencies: 3727 | bluebird "^3.5.0" 3728 | tmp "0.0.33" 3729 | 3730 | tmp@0.0.33, tmp@^0.0.33: 3731 | version "0.0.33" 3732 | resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" 3733 | dependencies: 3734 | os-tmpdir "~1.0.2" 3735 | 3736 | tmp@^0.0.29: 3737 | version "0.0.29" 3738 | resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.29.tgz#f25125ff0dd9da3ccb0c2dd371ee1288bb9128c0" 3739 | dependencies: 3740 | os-tmpdir "~1.0.1" 3741 | 3742 | to-absolute-glob@^2.0.0: 3743 | version "2.0.2" 3744 | resolved "https://registry.yarnpkg.com/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz#1865f43d9e74b0822db9f145b78cff7d0f7c849b" 3745 | dependencies: 3746 | is-absolute "^1.0.0" 3747 | is-negated-glob "^1.0.0" 3748 | 3749 | to-fast-properties@^1.0.3: 3750 | version "1.0.3" 3751 | resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47" 3752 | 3753 | to-object-path@^0.3.0: 3754 | version "0.3.0" 3755 | resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" 3756 | dependencies: 3757 | kind-of "^3.0.2" 3758 | 3759 | to-regex-range@^2.1.0: 3760 | version "2.1.1" 3761 | resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" 3762 | dependencies: 3763 | is-number "^3.0.0" 3764 | repeat-string "^1.6.1" 3765 | 3766 | to-regex@^3.0.1, to-regex@^3.0.2: 3767 | version "3.0.2" 3768 | resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" 3769 | dependencies: 3770 | define-property "^2.0.2" 3771 | extend-shallow "^3.0.2" 3772 | regex-not "^1.0.2" 3773 | safe-regex "^1.1.0" 3774 | 3775 | trim-newlines@^1.0.0: 3776 | version "1.0.0" 3777 | resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" 3778 | 3779 | trim-newlines@^2.0.0: 3780 | version "2.0.0" 3781 | resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-2.0.0.tgz#b403d0b91be50c331dfc4b82eeceb22c3de16d20" 3782 | 3783 | trim-off-newlines@^1.0.0: 3784 | version "1.0.1" 3785 | resolved "https://registry.yarnpkg.com/trim-off-newlines/-/trim-off-newlines-1.0.1.tgz#9f9ba9d9efa8764c387698bcbfeb2c848f11adb3" 3786 | 3787 | trim-right@^1.0.1: 3788 | version "1.0.1" 3789 | resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" 3790 | 3791 | type-detect@^4.0.0: 3792 | version "4.0.8" 3793 | resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" 3794 | 3795 | typedarray@^0.0.6: 3796 | version "0.0.6" 3797 | resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" 3798 | 3799 | uglify-js@^2.6: 3800 | version "2.8.29" 3801 | resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.29.tgz#29c5733148057bb4e1f75df35b7a9cb72e6a59dd" 3802 | dependencies: 3803 | source-map "~0.5.1" 3804 | yargs "~3.10.0" 3805 | optionalDependencies: 3806 | uglify-to-browserify "~1.0.0" 3807 | 3808 | uglify-to-browserify@~1.0.0: 3809 | version "1.0.2" 3810 | resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7" 3811 | 3812 | ultron@~1.1.0: 3813 | version "1.1.1" 3814 | resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.1.1.tgz#9fe1536a10a664a65266a1e3ccf85fd36302bc9c" 3815 | 3816 | unc-path-regex@^0.1.0, unc-path-regex@^0.1.2: 3817 | version "0.1.2" 3818 | resolved "https://registry.yarnpkg.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa" 3819 | 3820 | union-value@^1.0.0: 3821 | version "1.0.0" 3822 | resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.0.tgz#5c71c34cb5bad5dcebe3ea0cd08207ba5aa1aea4" 3823 | dependencies: 3824 | arr-union "^3.1.0" 3825 | get-value "^2.0.6" 3826 | is-extendable "^0.1.1" 3827 | set-value "^0.4.3" 3828 | 3829 | unique-stream@^2.0.2: 3830 | version "2.2.1" 3831 | resolved "https://registry.yarnpkg.com/unique-stream/-/unique-stream-2.2.1.tgz#5aa003cfbe94c5ff866c4e7d668bb1c4dbadb369" 3832 | dependencies: 3833 | json-stable-stringify "^1.0.0" 3834 | through2-filter "^2.0.0" 3835 | 3836 | unique-string@^1.0.0: 3837 | version "1.0.0" 3838 | resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-1.0.0.tgz#9e1057cca851abb93398f8b33ae187b99caec11a" 3839 | dependencies: 3840 | crypto-random-string "^1.0.0" 3841 | 3842 | unset-value@^1.0.0: 3843 | version "1.0.0" 3844 | resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" 3845 | dependencies: 3846 | has-value "^0.3.1" 3847 | isobject "^3.0.0" 3848 | 3849 | unzip-response@^2.0.1: 3850 | version "2.0.1" 3851 | resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-2.0.1.tgz#d2f0f737d16b0615e72a6935ed04214572d56f97" 3852 | 3853 | update-notifier@2.3.0: 3854 | version "2.3.0" 3855 | resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-2.3.0.tgz#4e8827a6bb915140ab093559d7014e3ebb837451" 3856 | dependencies: 3857 | boxen "^1.2.1" 3858 | chalk "^2.0.1" 3859 | configstore "^3.0.0" 3860 | import-lazy "^2.1.0" 3861 | is-installed-globally "^0.1.0" 3862 | is-npm "^1.0.0" 3863 | latest-version "^3.0.0" 3864 | semver-diff "^2.0.0" 3865 | xdg-basedir "^3.0.0" 3866 | 3867 | urix@^0.1.0: 3868 | version "0.1.0" 3869 | resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" 3870 | 3871 | url-parse-lax@^1.0.0: 3872 | version "1.0.0" 3873 | resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-1.0.0.tgz#7af8f303645e9bd79a272e7a14ac68bc0609da73" 3874 | dependencies: 3875 | prepend-http "^1.0.1" 3876 | 3877 | url-parse-lax@^3.0.0: 3878 | version "3.0.0" 3879 | resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-3.0.0.tgz#16b5cafc07dbe3676c1b1999177823d6503acb0c" 3880 | dependencies: 3881 | prepend-http "^2.0.0" 3882 | 3883 | url-template@^2.0.8: 3884 | version "2.0.8" 3885 | resolved "https://registry.yarnpkg.com/url-template/-/url-template-2.0.8.tgz#fc565a3cccbff7730c775f5641f9555791439f21" 3886 | 3887 | url-to-options@^1.0.1: 3888 | version "1.0.1" 3889 | resolved "https://registry.yarnpkg.com/url-to-options/-/url-to-options-1.0.1.tgz#1505a03a289a48cbd7a434efbaeec5055f5633a9" 3890 | 3891 | use@^3.1.0: 3892 | version "3.1.0" 3893 | resolved "https://registry.yarnpkg.com/use/-/use-3.1.0.tgz#14716bf03fdfefd03040aef58d8b4b85f3a7c544" 3894 | dependencies: 3895 | kind-of "^6.0.2" 3896 | 3897 | util-deprecate@~1.0.1: 3898 | version "1.0.2" 3899 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" 3900 | 3901 | utile@0.3.x: 3902 | version "0.3.0" 3903 | resolved "https://registry.yarnpkg.com/utile/-/utile-0.3.0.tgz#1352c340eb820e4d8ddba039a4fbfaa32ed4ef3a" 3904 | dependencies: 3905 | async "~0.9.0" 3906 | deep-equal "~0.2.1" 3907 | i "0.3.x" 3908 | mkdirp "0.x.x" 3909 | ncp "1.0.x" 3910 | rimraf "2.x.x" 3911 | 3912 | uuid@3.2.1, uuid@^3.2.1: 3913 | version "3.2.1" 3914 | resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.2.1.tgz#12c528bb9d58d0b9265d9a2f6f0fe8be17ff1f14" 3915 | 3916 | validate-npm-package-license@^3.0.1: 3917 | version "3.0.3" 3918 | resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz#81643bcbef1bdfecd4623793dc4648948ba98338" 3919 | dependencies: 3920 | spdx-correct "^3.0.0" 3921 | spdx-expression-parse "^3.0.0" 3922 | 3923 | varint@^5.0.0: 3924 | version "5.0.0" 3925 | resolved "https://registry.yarnpkg.com/varint/-/varint-5.0.0.tgz#d826b89f7490732fabc0c0ed693ed475dcb29ebf" 3926 | 3927 | wcwidth@^1.0.1: 3928 | version "1.0.1" 3929 | resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" 3930 | dependencies: 3931 | defaults "^1.0.3" 3932 | 3933 | websocket-stream@^5.1.2: 3934 | version "5.1.2" 3935 | resolved "https://registry.yarnpkg.com/websocket-stream/-/websocket-stream-5.1.2.tgz#1c31c627bcdf34f1a9bdacc9daa15bfa4816d9ad" 3936 | dependencies: 3937 | duplexify "^3.5.1" 3938 | inherits "^2.0.1" 3939 | readable-stream "^2.3.3" 3940 | safe-buffer "^5.1.1" 3941 | ws "^3.2.0" 3942 | xtend "^4.0.0" 3943 | 3944 | which@^1.2.9: 3945 | version "1.3.0" 3946 | resolved "https://registry.yarnpkg.com/which/-/which-1.3.0.tgz#ff04bdfc010ee547d780bec38e1ac1c2777d253a" 3947 | dependencies: 3948 | isexe "^2.0.0" 3949 | 3950 | widest-line@^2.0.0: 3951 | version "2.0.0" 3952 | resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-2.0.0.tgz#0142a4e8a243f8882c0233aa0e0281aa76152273" 3953 | dependencies: 3954 | string-width "^2.1.1" 3955 | 3956 | win-release@^1.0.0: 3957 | version "1.1.1" 3958 | resolved "https://registry.yarnpkg.com/win-release/-/win-release-1.1.1.tgz#5fa55e02be7ca934edfc12665632e849b72e5209" 3959 | dependencies: 3960 | semver "^5.0.1" 3961 | 3962 | window-size@0.1.0: 3963 | version "0.1.0" 3964 | resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d" 3965 | 3966 | window-size@1.1.0: 3967 | version "1.1.0" 3968 | resolved "https://registry.yarnpkg.com/window-size/-/window-size-1.1.0.tgz#3b402d3244f35561db2c9761ad9d1e5286b07a2d" 3969 | dependencies: 3970 | define-property "^1.0.0" 3971 | is-number "^3.0.0" 3972 | 3973 | winston@2.1.x: 3974 | version "2.1.1" 3975 | resolved "https://registry.yarnpkg.com/winston/-/winston-2.1.1.tgz#3c9349d196207fd1bdff9d4bc43ef72510e3a12e" 3976 | dependencies: 3977 | async "~1.0.0" 3978 | colors "1.0.x" 3979 | cycle "1.0.x" 3980 | eyes "0.1.x" 3981 | isstream "0.1.x" 3982 | pkginfo "0.3.x" 3983 | stack-trace "0.0.x" 3984 | 3985 | winston@^2.3.1: 3986 | version "2.4.1" 3987 | resolved "https://registry.yarnpkg.com/winston/-/winston-2.4.1.tgz#a3a9265105564263c6785b4583b8c8aca26fded6" 3988 | dependencies: 3989 | async "~1.0.0" 3990 | colors "1.0.x" 3991 | cycle "1.0.x" 3992 | eyes "0.1.x" 3993 | isstream "0.1.x" 3994 | stack-trace "0.0.x" 3995 | 3996 | wordwrap@0.0.2: 3997 | version "0.0.2" 3998 | resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" 3999 | 4000 | wordwrap@~0.0.2: 4001 | version "0.0.3" 4002 | resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" 4003 | 4004 | wrappy@1: 4005 | version "1.0.2" 4006 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 4007 | 4008 | write-file-atomic@^2.0.0: 4009 | version "2.3.0" 4010 | resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.3.0.tgz#1ff61575c2e2a4e8e510d6fa4e243cce183999ab" 4011 | dependencies: 4012 | graceful-fs "^4.1.11" 4013 | imurmurhash "^0.1.4" 4014 | signal-exit "^3.0.2" 4015 | 4016 | ws@^3.2.0: 4017 | version "3.3.3" 4018 | resolved "https://registry.yarnpkg.com/ws/-/ws-3.3.3.tgz#f1cf84fe2d5e901ebce94efaece785f187a228f2" 4019 | dependencies: 4020 | async-limiter "~1.0.0" 4021 | safe-buffer "~5.1.0" 4022 | ultron "~1.1.0" 4023 | 4024 | xdg-basedir@^3.0.0: 4025 | version "3.0.0" 4026 | resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-3.0.0.tgz#496b2cc109eca8dbacfe2dc72b603c17c5870ad4" 4027 | 4028 | xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.0, xtend@~4.0.1: 4029 | version "4.0.1" 4030 | resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" 4031 | 4032 | yallist@^2.1.2: 4033 | version "2.1.2" 4034 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" 4035 | 4036 | yargs-parser@9.0.2: 4037 | version "9.0.2" 4038 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-9.0.2.tgz#9ccf6a43460fe4ed40a9bb68f48d43b8a68cc077" 4039 | dependencies: 4040 | camelcase "^4.1.0" 4041 | 4042 | yargs@~3.10.0: 4043 | version "3.10.0" 4044 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1" 4045 | dependencies: 4046 | camelcase "^1.0.2" 4047 | cliui "^2.1.0" 4048 | decamelize "^1.0.0" 4049 | window-size "0.1.0" 4050 | --------------------------------------------------------------------------------