From 643e57bbda3a3cc8c1c74b501db4a9e4dda24db9 Mon Sep 17 00:00:00 2001 From: benjaminJ Date: Tue, 3 Jan 2017 13:55:06 +0100 Subject: [PATCH 01/21] Init vscode extension --- .DS_Store | Bin 0 -> 6148 bytes .gitignore | 21 ++++++++++++ .vscode/launch.json | 28 ++++++++++++++++ .vscode/settings.json | 10 ++++++ .vscode/tasks.json | 30 +++++++++++++++++ .vscodeignore | 9 +++++ README.md | 65 ++++++++++++++++++++++++++++++++++++ package.json | 43 ++++++++++++++++++++++++ src/extension.ts | 29 ++++++++++++++++ test/extension.test.ts | 22 ++++++++++++ test/index.ts | 22 ++++++++++++ tsconfig.json | 16 +++++++++ vsc-extension-quickstart.md | 33 ++++++++++++++++++ 13 files changed, 328 insertions(+) create mode 100644 .DS_Store create mode 100644 .gitignore create mode 100644 .vscode/launch.json create mode 100644 .vscode/settings.json create mode 100644 .vscode/tasks.json create mode 100644 .vscodeignore create mode 100644 README.md create mode 100644 package.json create mode 100644 src/extension.ts create mode 100644 test/extension.test.ts create mode 100644 test/index.ts create mode 100644 tsconfig.json create mode 100644 vsc-extension-quickstart.md diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..161acf89fec048dc1b95c6da8adf4709a896b357 GIT binary patch literal 6148 zcmeHK%}(1u5dJo?L`WNnVKi;xqN-`^|?Z)BJ>^vNb$W@2C&+IW4yeMoe&u z>%p|_=Z-lhe)sCvUii^>f^4xjlw z5kt;DlD(%gztmoyzf<*IUzuM`IdTIB7+@cL9FeJhEsv~2*8Zq#e~SxzWliU_6O5Tv zR+S^G#<^#ykD6-SCXSh5mv7{dxPu=URU;aoY7tG&yTnrCSIsLTmt%U?-dXdk=GUQL z;4;HE&(504o4;$3+xix|%=6P{%Q(}itQlQg;)ZSEgEf$o8SRSIMYpwC`DpSg4Dier zX}t+())+7bjDZ&hWPgaMf{9`g&~F_y{t7^h*zJXF`C*WlSTRv70&;}nLMSnWI=y1J z5YGNs{Sw6@UY(W8aXY_#M>?$6{#^6U8DRdnooJ;At>p J4E$9F{s8sIpnw1X literal 0 HcmV?d00001 diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..d0c541d4 --- /dev/null +++ b/.gitignore @@ -0,0 +1,21 @@ +# See http://help.github.com/ignore-files/ for more about ignoring files. + +# compiled output +/dist +/tmp + +# dependencies +/node_modules +/bower_components + +# misc +.DS_Store +/.sass-cache +/connect.lock +/coverage/* +/libpeerconnection.log +npm-debug.log +testem.log + +.env* +out \ No newline at end of file diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 00000000..c77b2adf --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,28 @@ +// A launch configuration that compiles the extension and then opens it inside a new window +{ + "version": "0.1.0", + "configurations": [ + { + "name": "Launch Extension", + "type": "extensionHost", + "request": "launch", + "runtimeExecutable": "${execPath}", + "args": ["--extensionDevelopmentPath=${workspaceRoot}" ], + "stopOnEntry": false, + "sourceMaps": true, + "outDir": "${workspaceRoot}/out/src", + "preLaunchTask": "npm" + }, + { + "name": "Launch Tests", + "type": "extensionHost", + "request": "launch", + "runtimeExecutable": "${execPath}", + "args": ["--extensionDevelopmentPath=${workspaceRoot}", "--extensionTestsPath=${workspaceRoot}/out/test" ], + "stopOnEntry": false, + "sourceMaps": true, + "outDir": "${workspaceRoot}/out/test", + "preLaunchTask": "npm" + } + ] +} diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 00000000..7877e3fc --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,10 @@ +// Place your settings in this file to overwrite default and user settings. +{ + "files.exclude": { + "out": false // set this to true to hide the "out" folder with the compiled JS files + }, + "search.exclude": { + "out": true // set this to false to include "out" folder in search results + }, + "typescript.tsdk": "./node_modules/typescript/lib" // we want to use the TS server from our node_modules folder to control its version +} \ No newline at end of file diff --git a/.vscode/tasks.json b/.vscode/tasks.json new file mode 100644 index 00000000..fb7f662e --- /dev/null +++ b/.vscode/tasks.json @@ -0,0 +1,30 @@ +// Available variables which can be used inside of strings. +// ${workspaceRoot}: the root folder of the team +// ${file}: the current opened file +// ${fileBasename}: the current opened file's basename +// ${fileDirname}: the current opened file's dirname +// ${fileExtname}: the current opened file's extension +// ${cwd}: the current working directory of the spawned process + +// A task runner that calls a custom npm script that compiles the extension. +{ + "version": "0.1.0", + + // we want to run npm + "command": "npm", + + // the command is a shell script + "isShellCommand": true, + + // show the output window only if unrecognized errors occur. + "showOutput": "silent", + + // we run the custom script "compile" as defined in package.json + "args": ["run", "compile", "--loglevel", "silent"], + + // The tsc compiler is started in watching mode + "isWatching": true, + + // use the standard tsc in watch mode problem matcher to find compile problems in the output. + "problemMatcher": "$tsc-watch" +} \ No newline at end of file diff --git a/.vscodeignore b/.vscodeignore new file mode 100644 index 00000000..5ff3c193 --- /dev/null +++ b/.vscodeignore @@ -0,0 +1,9 @@ +.vscode/** +.vscode-test/** +out/test/** +test/** +src/** +**/*.map +.gitignore +tsconfig.json +vsc-extension-quickstart.md diff --git a/README.md b/README.md new file mode 100644 index 00000000..1925d824 --- /dev/null +++ b/README.md @@ -0,0 +1,65 @@ +# b README + +This is the README for your extension "b". After writing up a brief description, we recommend including the following sections. + +## Features + +Describe specific features of your extension including screenshots of your extension in action. Image paths are relative to this README file. + +For example if there is an image subfolder under your extension project workspace: + +\!\[feature X\]\(images/feature-x.png\) + +> Tip: Many popular extensions utilize animations. This is an excellent way to show off your extension! We recommend short, focused animations that are easy to follow. + +## Requirements + +If you have any requirements or dependencies, add a section describing those and how to install and configure them. + +## Extension Settings + +Include if your extension adds any VS Code settings through the `contributes.configuration` extension point. + +For example: + +This extension contributes the following settings: + +* `myExtension.enable`: enable/disable this extension +* `myExtension.thing`: set to `blah` to do something + +## Known Issues + +Calling out known issues can help limit users opening duplicate issues against your extension. + +## Release Notes + +Users appreciate release notes as you update your extension. + +### 1.0.0 + +Initial release of ... + +### 1.0.1 + +Fixed issue #. + +### 1.1.0 + +Added features X, Y, and Z. + +----------------------------------------------------------------------------------------------------------- + +## Working with Markdown + +**Note:** You can author your README using Visual Studio Code. Here are some useful editor keyboard shortcuts: + +* Split the editor (`Cmd+\` on OSX or `Ctrl+\` on Windows and Linux) +* Toggle preview (`Shift+CMD+V` on OSX or `Shift+Ctrl+V` on Windows and Linux) +* Press `Ctrl+Space` (Windows, Linux) or `Cmd+Space` (OSX) to see a list of Markdown snippets + +### For more information + +* [Visual Studio Code's Markdown Support](http://code.visualstudio.com/docs/languages/markdown) +* [Markdown Syntax Reference](https://help.github.com/articles/markdown-basics/) + +**Enjoy!** \ No newline at end of file diff --git a/package.json b/package.json new file mode 100644 index 00000000..3559fde6 --- /dev/null +++ b/package.json @@ -0,0 +1,43 @@ +{ + "name": "colorize", + "displayName": "colorize", + "description": "A simple extension to help visualize css colors.", + "version": "0.0.1", + "publisher": "KamiKillertO", + "license": "Apache-2.0", + "engines": { + "vscode": "^1.5.0" + }, + "categories": [ + "Other" + ], + "keywords": [ + "hsl", + "rgb", + "color", + "css", + "hexa" + ], + "activationEvents": [ + "onCommand:extension.sayHello" + ], + "main": "./out/src/extension", + "contributes": { + "commands": [{ + "command": "extension.sayHello", + "title": "Hello World" + }] + }, + "scripts": { + "vscode:prepublish": "tsc -p ./", + "compile": "tsc -watch -p ./", + "postinstall": "node ./node_modules/vscode/bin/install" + }, + "devDependencies": { + "typescript": "^2.0.3", + "vscode": "^1.0.0", + "mocha": "^2.3.3", + "@types/node": "^6.0.40", + "@types/mocha": "^2.2.32" + } +} \ No newline at end of file diff --git a/src/extension.ts b/src/extension.ts new file mode 100644 index 00000000..df9df56d --- /dev/null +++ b/src/extension.ts @@ -0,0 +1,29 @@ +'use strict'; +// The module 'vscode' contains the VS Code extensibility API +// Import the module and reference it with the alias vscode in your code below +import * as vscode from 'vscode'; + +// this method is called when your extension is activated +// your extension is activated the very first time the command is executed +export function activate(context: vscode.ExtensionContext) { + + // Use the console to output diagnostic information (console.log) and errors (console.error) + // This line of code will only be executed once when your extension is activated + console.log('Congratulations, your extension "b" is now active!'); + + // The command has been defined in the package.json file + // Now provide the implementation of the command with registerCommand + // The commandId parameter must match the command field in package.json + let disposable = vscode.commands.registerCommand('extension.sayHello', () => { + // The code you place here will be executed every time your command is executed + + // Display a message box to the user + vscode.window.showInformationMessage('Hello World!'); + }); + + context.subscriptions.push(disposable); +} + +// this method is called when your extension is deactivated +export function deactivate() { +} \ No newline at end of file diff --git a/test/extension.test.ts b/test/extension.test.ts new file mode 100644 index 00000000..5c4a4da3 --- /dev/null +++ b/test/extension.test.ts @@ -0,0 +1,22 @@ +// +// Note: This example test is leveraging the Mocha test framework. +// Please refer to their documentation on https://mochajs.org/ for help. +// + +// The module 'assert' provides assertion methods from node +import * as assert from 'assert'; + +// You can import and use all API from the 'vscode' module +// as well as import your extension to test it +import * as vscode from 'vscode'; +import * as myExtension from '../src/extension'; + +// Defines a Mocha test suite to group tests of similar kind together +suite("Extension Tests", () => { + + // Defines a Mocha unit test + test("Something 1", () => { + assert.equal(-1, [1, 2, 3].indexOf(5)); + assert.equal(-1, [1, 2, 3].indexOf(0)); + }); +}); \ No newline at end of file diff --git a/test/index.ts b/test/index.ts new file mode 100644 index 00000000..50bae456 --- /dev/null +++ b/test/index.ts @@ -0,0 +1,22 @@ +// +// PLEASE DO NOT MODIFY / DELETE UNLESS YOU KNOW WHAT YOU ARE DOING +// +// This file is providing the test runner to use when running extension tests. +// By default the test runner in use is Mocha based. +// +// You can provide your own test runner if you want to override it by exporting +// a function run(testRoot: string, clb: (error:Error) => void) that the extension +// host can call to run the tests. The test runner is expected to use console.log +// to report the results back to the caller. When the tests are finished, return +// a possible error to the callback or null if none. + +var testRunner = require('vscode/lib/testrunner'); + +// You can directly control Mocha options by uncommenting the following lines +// See https://github.com/mochajs/mocha/wiki/Using-mocha-programmatically#set-options for more info +testRunner.configure({ + ui: 'tdd', // the TDD UI is being used in extension.test.ts (suite, test, etc.) + useColors: true // colored output from test results +}); + +module.exports = testRunner; \ No newline at end of file diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 00000000..11282c9a --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,16 @@ +{ + "compilerOptions": { + "module": "commonjs", + "target": "es6", + "outDir": "out", + "lib": [ + "es6" + ], + "sourceMap": true, + "rootDir": "." + }, + "exclude": [ + "node_modules", + ".vscode-test" + ] +} \ No newline at end of file diff --git a/vsc-extension-quickstart.md b/vsc-extension-quickstart.md new file mode 100644 index 00000000..6cdea2b5 --- /dev/null +++ b/vsc-extension-quickstart.md @@ -0,0 +1,33 @@ +# Welcome to your first VS Code Extension + +## What's in the folder +* This folder contains all of the files necessary for your extension +* `package.json` - this is the manifest file in which you declare your extension and command. +The sample plugin registers a command and defines its title and command name. With this information +VS Code can show the command in the command palette. It doesn’t yet need to load the plugin. +* `src/extension.ts` - this is the main file where you will provide the implementation of your command. +The file exports one function, `activate`, which is called the very first time your extension is +activated (in this case by executing the command). Inside the `activate` function we call `registerCommand`. +We pass the function containing the implementation of the command as the second parameter to +`registerCommand`. + +## Get up and running straight away +* press `F5` to open a new window with your extension loaded +* run your command from the command palette by pressing (`Ctrl+Shift+P` or `Cmd+Shift+P` on Mac) and typing `Hello World` +* set breakpoints in your code inside `src/extension.ts` to debug your extension +* find output from your extension in the debug console + +## Make changes +* you can relaunch the extension from the debug toolbar after changing code in `src/extension.ts` +* you can also reload (`Ctrl+R` or `Cmd+R` on Mac) the VS Code window with your extension to load your changes + +## Explore the API +* you can open the full set of our API when you open the file `node_modules/vscode/vscode.d.ts` + +## Run tests +* open the debug viewlet (`Ctrl+Shift+D` or `Cmd+Shift+D` on Mac) and from the launch configuration dropdown pick `Launch Tests` +* press `F5` to run the tests in a new window with your extension loaded +* see the output of the test result in the debug console +* make changes to `test/extension.test.ts` or create new test files inside the `test` folder + * by convention, the test runner will only consider files matching the name pattern `**.test.ts` + * you can create folders inside the `test` folder to structure your tests any way you want \ No newline at end of file From ea22e68e821705d2b1ccf22c33335f73edfa42c5 Mon Sep 17 00:00:00 2001 From: benjaminJ Date: Tue, 3 Jan 2017 14:08:23 +0100 Subject: [PATCH 02/21] CI integration + add yarn and ava packages --- .travis.yml | 20 + package.json | 89 +- yarn.lock | 3786 ++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 3853 insertions(+), 42 deletions(-) create mode 100644 .travis.yml create mode 100644 yarn.lock diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 00000000..807e9b51 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,20 @@ +sudo: false + +os: + - osx + - linux + +before_install: + - if [ $TRAVIS_OS_NAME == "linux" ]; then + export CXX="g++-4.9" CC="gcc-4.9" DISPLAY=:99.0; + sh -e /etc/init.d/xvfb start; + sleep 3; + fi + +install: + - npm install -g yarn + - yarn + - npm run vscode:prepublish + +script: + - npm test --silent \ No newline at end of file diff --git a/package.json b/package.json index 3559fde6..8a431bf9 100644 --- a/package.json +++ b/package.json @@ -1,43 +1,48 @@ { - "name": "colorize", - "displayName": "colorize", - "description": "A simple extension to help visualize css colors.", - "version": "0.0.1", - "publisher": "KamiKillertO", - "license": "Apache-2.0", - "engines": { - "vscode": "^1.5.0" - }, - "categories": [ - "Other" - ], - "keywords": [ - "hsl", - "rgb", - "color", - "css", - "hexa" - ], - "activationEvents": [ - "onCommand:extension.sayHello" - ], - "main": "./out/src/extension", - "contributes": { - "commands": [{ - "command": "extension.sayHello", - "title": "Hello World" - }] - }, - "scripts": { - "vscode:prepublish": "tsc -p ./", - "compile": "tsc -watch -p ./", - "postinstall": "node ./node_modules/vscode/bin/install" - }, - "devDependencies": { - "typescript": "^2.0.3", - "vscode": "^1.0.0", - "mocha": "^2.3.3", - "@types/node": "^6.0.40", - "@types/mocha": "^2.2.32" - } -} \ No newline at end of file + "name": "colorize", + "displayName": "colorize", + "description": "A simple extension to help visualize css colors.", + "version": "0.0.1", + "publisher": "KamiKillertO", + "license": "Apache-2.0", + "engines": { + "vscode": "^1.5.0" + }, + "categories": [ + "Other" + ], + "keywords": [ + "hsl", + "rgb", + "color", + "css", + "hexa" + ], + "activationEvents": [ + "onCommand:extension.sayHello" + ], + "main": "./out/src/extension", + "contributes": { + "commands": [ + { + "command": "extension.sayHello", + "title": "Hello World" + } + ] + }, + "scripts": { + "vscode:prepublish": "tsc -p ./", + "compile": "tsc -watch -p ./", + "postinstall": "node ./node_modules/vscode/bin/install", + "test": "node ./node_modules/vscode/bin/test" + }, + "devDependencies": { + "@types/mocha": "^2.2.32", + "@types/node": "^6.0.40", + "ava": "0.17.0", + "mocha": "^2.3.3", + "node-pre-gyp": "0.6.32", + "typescript": "^2.0.3", + "vscode": "^1.0.0" + } +} diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 00000000..7cffac72 --- /dev/null +++ b/yarn.lock @@ -0,0 +1,3786 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@types/mocha@^2.2.32": + version "2.2.35" + resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-2.2.35.tgz#dd3150b62a6de73368109308515c3aa86f81f1ec" + +"@types/node@^6.0.40": + version "6.0.55" + resolved "https://registry.yarnpkg.com/@types/node/-/node-6.0.55.tgz#e5cb679a43561f42afd1bd6d58d3992ec8f31720" + +abbrev@1: + version "1.0.9" + resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.0.9.tgz#91b4792588a7738c25f35dd6f63752a2f8776135" + +amdefine@>=0.0.4: + version "1.0.1" + resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" + +ansi-align@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-1.1.0.tgz#2f0c1658829739add5ebb15e6b0c6e3423f016ba" + dependencies: + string-width "^1.0.1" + +ansi-regex@^0.2.0, ansi-regex@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-0.2.1.tgz#0d8e946967a3d8143f93e24e298525fc1b2235f9" + +ansi-regex@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.0.0.tgz#c5061b6e0ef8a81775e50f5d66151bf6bf371107" + +ansi-styles@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-1.1.0.tgz#eaecbf66cd706882760b2f4691582b8f55d7a7de" + +ansi-styles@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" + +ansi-styles@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-1.0.0.tgz#cb102df1c56f5123eab8b67cd7b98027a0279178" + +anymatch@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.0.tgz#a3e52fa39168c825ff57b0248126ce5a8ff95507" + dependencies: + arrify "^1.0.0" + micromatch "^2.1.5" + +aproba@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.0.4.tgz#2713680775e7614c8ba186c065d4e2e52d1072c0" + +are-we-there-yet@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.2.tgz#80e470e95a084794fe1899262c5667c6e88de1b3" + dependencies: + delegates "^1.0.0" + readable-stream "^2.0.0 || ^1.1.13" + +arr-diff@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" + dependencies: + arr-flatten "^1.0.1" + +arr-exclude@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/arr-exclude/-/arr-exclude-1.0.0.tgz#dfc7c2e552a270723ccda04cf3128c8cbfe5c631" + +arr-flatten@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.0.1.tgz#e5ffe54d45e19f32f216e91eb99c8ce892bb604b" + +array-differ@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-1.0.0.tgz#eff52e3758249d33be402b8bb8e564bb2b5d4031" + +array-find-index@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" + +array-union@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" + dependencies: + array-uniq "^1.0.1" + +array-uniq@^1.0.1, array-uniq@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" + +array-unique@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" + +arrify@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" + +asn1@0.1.11: + version "0.1.11" + resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.1.11.tgz#559be18376d08a4ec4dbe80877d27818639b2df7" + +asn1@~0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86" + +assert-plus@^0.1.5: + version "0.1.5" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.1.5.tgz#ee74009413002d84cec7219c6ac811812e723160" + +assert-plus@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234" + +assert-plus@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + +async-each@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" + +async@^2.0.1: + version "2.1.4" + resolved "https://registry.yarnpkg.com/async/-/async-2.1.4.tgz#2d2160c7788032e4dd6cbe2502f1f9a2c8f6cde4" + dependencies: + lodash "^4.14.0" + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + +auto-bind@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/auto-bind/-/auto-bind-0.1.0.tgz#7a29efc8c2388d3d578e02fc2df531c81ffc1ee1" + +ava-files@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/ava-files/-/ava-files-0.2.0.tgz#c7b8b6e2e0cea63b57a6e27e0db145c7c19cfe20" + dependencies: + auto-bind "^0.1.0" + bluebird "^3.4.1" + globby "^6.0.0" + ignore-by-default "^1.0.1" + lodash.flatten "^4.2.0" + multimatch "^2.1.0" + slash "^1.0.0" + +ava-init@^0.1.0: + version "0.1.6" + resolved "https://registry.yarnpkg.com/ava-init/-/ava-init-0.1.6.tgz#ef19ed0b24b6bf359dad6fbadf1a05d836395c91" + dependencies: + arr-exclude "^1.0.0" + cross-spawn "^4.0.0" + pinkie-promise "^2.0.0" + read-pkg-up "^1.0.1" + the-argv "^1.0.0" + write-pkg "^1.0.0" + +ava@0.17.0: + version "0.17.0" + resolved "https://registry.yarnpkg.com/ava/-/ava-0.17.0.tgz#359e2a89616801ef03929c3cf10a9d4f8e451d02" + dependencies: + arr-flatten "^1.0.1" + array-union "^1.0.1" + array-uniq "^1.0.2" + arrify "^1.0.0" + auto-bind "^0.1.0" + ava-files "^0.2.0" + ava-init "^0.1.0" + babel-code-frame "^6.16.0" + babel-core "^6.17.0" + babel-plugin-ava-throws-helper "^0.1.0" + babel-plugin-detective "^2.0.0" + babel-plugin-espower "^2.3.1" + babel-plugin-transform-runtime "^6.15.0" + babel-preset-es2015 "^6.16.0" + babel-preset-es2015-node4 "^2.1.0" + babel-preset-stage-2 "^6.17.0" + babel-runtime "^6.11.6" + bluebird "^3.0.0" + caching-transform "^1.0.0" + chalk "^1.0.0" + chokidar "^1.4.2" + clean-yaml-object "^0.1.0" + cli-cursor "^1.0.2" + cli-spinners "^0.1.2" + cli-truncate "^0.2.0" + co-with-promise "^4.6.0" + common-path-prefix "^1.0.0" + convert-source-map "^1.2.0" + core-assert "^0.2.0" + currently-unhandled "^0.4.1" + debug "^2.2.0" + empower-core "^0.6.1" + figures "^1.4.0" + find-cache-dir "^0.1.1" + fn-name "^2.0.0" + get-port "^2.1.0" + has-flag "^2.0.0" + ignore-by-default "^1.0.0" + is-ci "^1.0.7" + is-generator-fn "^1.0.0" + is-obj "^1.0.0" + is-observable "^0.2.0" + is-promise "^2.1.0" + last-line-stream "^1.0.0" + lodash.debounce "^4.0.3" + lodash.difference "^4.3.0" + lodash.isequal "^4.4.0" + loud-rejection "^1.2.0" + matcher "^0.1.1" + max-timeout "^1.0.0" + md5-hex "^1.2.0" + meow "^3.7.0" + ms "^0.7.1" + object-assign "^4.0.1" + observable-to-promise "^0.4.0" + option-chain "^0.1.0" + package-hash "^1.1.0" + pkg-conf "^1.0.1" + plur "^2.0.0" + power-assert-context-formatter "^1.0.4" + power-assert-renderer-assertion "^1.0.1" + power-assert-renderer-succinct "^1.0.1" + pretty-ms "^2.0.0" + repeating "^2.0.0" + require-precompiled "^0.1.0" + resolve-cwd "^1.0.0" + semver "^5.3.0" + set-immediate-shim "^1.0.1" + source-map-support "^0.4.0" + stack-utils "^0.4.0" + strip-ansi "^3.0.1" + strip-bom "^2.0.0" + time-require "^0.1.2" + unique-temp-dir "^1.0.0" + update-notifier "^1.0.0" + +aws-sign2@~0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.5.0.tgz#c57103f7a17fc037f02d7c2e64b602ea223f7d63" + +aws-sign2@~0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f" + +aws4@^1.2.1: + version "1.5.0" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.5.0.tgz#0a29ffb79c31c9e712eeb087e8e7a64b4a56d755" + +babel-code-frame@^6.16.0, babel-code-frame@^6.20.0: + version "6.20.0" + resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.20.0.tgz#b968f839090f9a8bc6d41938fb96cb84f7387b26" + dependencies: + chalk "^1.1.0" + esutils "^2.0.2" + js-tokens "^2.0.0" + +babel-core@^6.17.0, babel-core@^6.18.0: + version "6.21.0" + resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.21.0.tgz#75525480c21c803f826ef3867d22c19f080a3724" + dependencies: + babel-code-frame "^6.20.0" + babel-generator "^6.21.0" + babel-helpers "^6.16.0" + babel-messages "^6.8.0" + babel-register "^6.18.0" + babel-runtime "^6.20.0" + babel-template "^6.16.0" + babel-traverse "^6.21.0" + babel-types "^6.21.0" + babylon "^6.11.0" + convert-source-map "^1.1.0" + debug "^2.1.1" + json5 "^0.5.0" + lodash "^4.2.0" + minimatch "^3.0.2" + path-is-absolute "^1.0.0" + private "^0.1.6" + slash "^1.0.0" + source-map "^0.5.0" + +babel-generator@^6.1.0, babel-generator@^6.21.0: + version "6.21.0" + resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.21.0.tgz#605f1269c489a1c75deeca7ea16d43d4656c8494" + dependencies: + babel-messages "^6.8.0" + babel-runtime "^6.20.0" + babel-types "^6.21.0" + detect-indent "^4.0.0" + jsesc "^1.3.0" + lodash "^4.2.0" + source-map "^0.5.0" + +babel-helper-bindify-decorators@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-helper-bindify-decorators/-/babel-helper-bindify-decorators-6.18.0.tgz#fc00c573676a6e702fffa00019580892ec8780a5" + dependencies: + babel-runtime "^6.0.0" + babel-traverse "^6.18.0" + babel-types "^6.18.0" + +babel-helper-builder-binary-assignment-operator-visitor@^6.8.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.18.0.tgz#8ae814989f7a53682152e3401a04fabd0bb333a6" + dependencies: + babel-helper-explode-assignable-expression "^6.18.0" + babel-runtime "^6.0.0" + babel-types "^6.18.0" + +babel-helper-call-delegate@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-helper-call-delegate/-/babel-helper-call-delegate-6.18.0.tgz#05b14aafa430884b034097ef29e9f067ea4133bd" + dependencies: + babel-helper-hoist-variables "^6.18.0" + babel-runtime "^6.0.0" + babel-traverse "^6.18.0" + babel-types "^6.18.0" + +babel-helper-define-map@^6.18.0, babel-helper-define-map@^6.8.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-helper-define-map/-/babel-helper-define-map-6.18.0.tgz#8d6c85dc7fbb4c19be3de40474d18e97c3676ec2" + dependencies: + babel-helper-function-name "^6.18.0" + babel-runtime "^6.9.0" + babel-types "^6.18.0" + lodash "^4.2.0" + +babel-helper-explode-assignable-expression@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.18.0.tgz#14b8e8c2d03ad735d4b20f1840b24cd1f65239fe" + dependencies: + babel-runtime "^6.0.0" + babel-traverse "^6.18.0" + babel-types "^6.18.0" + +babel-helper-explode-class@^6.8.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-helper-explode-class/-/babel-helper-explode-class-6.18.0.tgz#c44f76f4fa23b9c5d607cbac5d4115e7a76f62cb" + dependencies: + babel-helper-bindify-decorators "^6.18.0" + babel-runtime "^6.0.0" + babel-traverse "^6.18.0" + babel-types "^6.18.0" + +babel-helper-function-name@^6.18.0, babel-helper-function-name@^6.8.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.18.0.tgz#68ec71aeba1f3e28b2a6f0730190b754a9bf30e6" + dependencies: + babel-helper-get-function-arity "^6.18.0" + babel-runtime "^6.0.0" + babel-template "^6.8.0" + babel-traverse "^6.18.0" + babel-types "^6.18.0" + +babel-helper-get-function-arity@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.18.0.tgz#a5b19695fd3f9cdfc328398b47dafcd7094f9f24" + dependencies: + babel-runtime "^6.0.0" + babel-types "^6.18.0" + +babel-helper-hoist-variables@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.18.0.tgz#a835b5ab8b46d6de9babefae4d98ea41e866b82a" + dependencies: + babel-runtime "^6.0.0" + babel-types "^6.18.0" + +babel-helper-optimise-call-expression@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.18.0.tgz#9261d0299ee1a4f08a6dd28b7b7c777348fd8f0f" + dependencies: + babel-runtime "^6.0.0" + babel-types "^6.18.0" + +babel-helper-regex@^6.8.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-helper-regex/-/babel-helper-regex-6.18.0.tgz#ae0ebfd77de86cb2f1af258e2cc20b5fe893ecc6" + dependencies: + babel-runtime "^6.9.0" + babel-types "^6.18.0" + lodash "^4.2.0" + +babel-helper-remap-async-to-generator@^6.16.0, babel-helper-remap-async-to-generator@^6.16.2: + version "6.20.3" + resolved "https://registry.yarnpkg.com/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.20.3.tgz#9dd3b396f13e35ef63e538098500adc24c63c4e7" + dependencies: + babel-helper-function-name "^6.18.0" + babel-runtime "^6.20.0" + babel-template "^6.16.0" + babel-traverse "^6.20.0" + babel-types "^6.20.0" + +babel-helper-replace-supers@^6.18.0, babel-helper-replace-supers@^6.8.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-helper-replace-supers/-/babel-helper-replace-supers-6.18.0.tgz#28ec69877be4144dbd64f4cc3a337e89f29a924e" + dependencies: + babel-helper-optimise-call-expression "^6.18.0" + babel-messages "^6.8.0" + babel-runtime "^6.0.0" + babel-template "^6.16.0" + babel-traverse "^6.18.0" + babel-types "^6.18.0" + +babel-helpers@^6.16.0: + version "6.16.0" + resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.16.0.tgz#1095ec10d99279460553e67eb3eee9973d3867e3" + dependencies: + babel-runtime "^6.0.0" + babel-template "^6.16.0" + +babel-messages@^6.8.0: + version "6.8.0" + resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.8.0.tgz#bf504736ca967e6d65ef0adb5a2a5f947c8e0eb9" + dependencies: + babel-runtime "^6.0.0" + +babel-plugin-ava-throws-helper@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/babel-plugin-ava-throws-helper/-/babel-plugin-ava-throws-helper-0.1.0.tgz#951107708a12208026bf8ca4cef18a87bc9b0cfe" + dependencies: + babel-template "^6.7.0" + babel-types "^6.7.2" + +babel-plugin-check-es2015-constants@^6.3.13: + version "6.8.0" + resolved "https://registry.yarnpkg.com/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.8.0.tgz#dbf024c32ed37bfda8dee1e76da02386a8d26fe7" + dependencies: + babel-runtime "^6.0.0" + +babel-plugin-detective@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/babel-plugin-detective/-/babel-plugin-detective-2.0.0.tgz#6e642e83c22a335279754ebe2d754d2635f49f13" + +babel-plugin-espower@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/babel-plugin-espower/-/babel-plugin-espower-2.3.1.tgz#d15e904bc9949b14ac233b7965c2a5dc7a19a6a9" + dependencies: + babel-generator "^6.1.0" + babylon "^6.1.0" + call-matcher "^1.0.0" + core-js "^2.0.0" + espower-location-detector "^0.1.1" + espurify "^1.6.0" + estraverse "^4.1.1" + +babel-plugin-syntax-async-functions@^6.8.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz#cad9cad1191b5ad634bf30ae0872391e0647be95" + +babel-plugin-syntax-async-generators@^6.5.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-generators/-/babel-plugin-syntax-async-generators-6.13.0.tgz#6bc963ebb16eccbae6b92b596eb7f35c342a8b9a" + +babel-plugin-syntax-class-properties@^6.8.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz#d7eb23b79a317f8543962c505b827c7d6cac27de" + +babel-plugin-syntax-decorators@^6.13.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz#312563b4dbde3cc806cee3e416cceeaddd11ac0b" + +babel-plugin-syntax-dynamic-import@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz#8d6a26229c83745a9982a441051572caa179b1da" + +babel-plugin-syntax-exponentiation-operator@^6.8.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz#9ee7e8337290da95288201a6a57f4170317830de" + +babel-plugin-syntax-object-rest-spread@^6.8.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz#fd6536f2bce13836ffa3a5458c4903a597bb3bf5" + +babel-plugin-syntax-trailing-function-commas@^6.3.13: + version "6.20.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.20.0.tgz#442835e19179f45b87e92d477d70b9f1f18b5c4f" + +babel-plugin-transform-async-generator-functions@^6.17.0: + version "6.17.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-6.17.0.tgz#d0b5a2b2f0940f2b245fa20a00519ed7bc6cae54" + dependencies: + babel-helper-remap-async-to-generator "^6.16.2" + babel-plugin-syntax-async-generators "^6.5.0" + babel-runtime "^6.0.0" + +babel-plugin-transform-async-to-generator@^6.16.0: + version "6.16.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.16.0.tgz#19ec36cb1486b59f9f468adfa42ce13908ca2999" + dependencies: + babel-helper-remap-async-to-generator "^6.16.0" + babel-plugin-syntax-async-functions "^6.8.0" + babel-runtime "^6.0.0" + +babel-plugin-transform-class-properties@^6.18.0: + version "6.19.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.19.0.tgz#1274b349abaadc835164e2004f4a2444a2788d5f" + dependencies: + babel-helper-function-name "^6.18.0" + babel-plugin-syntax-class-properties "^6.8.0" + babel-runtime "^6.9.1" + babel-template "^6.15.0" + +babel-plugin-transform-decorators@^6.13.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-decorators/-/babel-plugin-transform-decorators-6.13.0.tgz#82d65c1470ae83e2d13eebecb0a1c2476d62da9d" + dependencies: + babel-helper-define-map "^6.8.0" + babel-helper-explode-class "^6.8.0" + babel-plugin-syntax-decorators "^6.13.0" + babel-runtime "^6.0.0" + babel-template "^6.8.0" + babel-types "^6.13.0" + +babel-plugin-transform-es2015-arrow-functions@^6.3.13: + version "6.8.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.8.0.tgz#5b63afc3181bdc9a8c4d481b5a4f3f7d7fef3d9d" + dependencies: + babel-runtime "^6.0.0" + +babel-plugin-transform-es2015-block-scoped-functions@^6.3.13: + version "6.8.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.8.0.tgz#ed95d629c4b5a71ae29682b998f70d9833eb366d" + dependencies: + babel-runtime "^6.0.0" + +babel-plugin-transform-es2015-block-scoping@^6.18.0: + version "6.21.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.21.0.tgz#e840687f922e70fb2c42bb13501838c174a115ed" + dependencies: + babel-runtime "^6.20.0" + babel-template "^6.15.0" + babel-traverse "^6.21.0" + babel-types "^6.21.0" + lodash "^4.2.0" + +babel-plugin-transform-es2015-classes@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.18.0.tgz#ffe7a17321bf83e494dcda0ae3fc72df48ffd1d9" + dependencies: + babel-helper-define-map "^6.18.0" + babel-helper-function-name "^6.18.0" + babel-helper-optimise-call-expression "^6.18.0" + babel-helper-replace-supers "^6.18.0" + babel-messages "^6.8.0" + babel-runtime "^6.9.0" + babel-template "^6.14.0" + babel-traverse "^6.18.0" + babel-types "^6.18.0" + +babel-plugin-transform-es2015-computed-properties@^6.3.13: + version "6.8.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.8.0.tgz#f51010fd61b3bd7b6b60a5fdfd307bb7a5279870" + dependencies: + babel-helper-define-map "^6.8.0" + babel-runtime "^6.0.0" + babel-template "^6.8.0" + +babel-plugin-transform-es2015-destructuring@^6.18.0, babel-plugin-transform-es2015-destructuring@^6.6.5: + version "6.19.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.19.0.tgz#ff1d911c4b3f4cab621bd66702a869acd1900533" + dependencies: + babel-runtime "^6.9.0" + +babel-plugin-transform-es2015-duplicate-keys@^6.6.0: + version "6.8.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.8.0.tgz#fd8f7f7171fc108cc1c70c3164b9f15a81c25f7d" + dependencies: + babel-runtime "^6.0.0" + babel-types "^6.8.0" + +babel-plugin-transform-es2015-for-of@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.18.0.tgz#4c517504db64bf8cfc119a6b8f177211f2028a70" + dependencies: + babel-runtime "^6.0.0" + +babel-plugin-transform-es2015-function-name@^6.5.0, babel-plugin-transform-es2015-function-name@^6.9.0: + version "6.9.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.9.0.tgz#8c135b17dbd064e5bba56ec511baaee2fca82719" + dependencies: + babel-helper-function-name "^6.8.0" + babel-runtime "^6.9.0" + babel-types "^6.9.0" + +babel-plugin-transform-es2015-literals@^6.3.13: + version "6.8.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.8.0.tgz#50aa2e5c7958fc2ab25d74ec117e0cc98f046468" + dependencies: + babel-runtime "^6.0.0" + +babel-plugin-transform-es2015-modules-amd@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.18.0.tgz#49a054cbb762bdf9ae2d8a807076cfade6141e40" + dependencies: + babel-plugin-transform-es2015-modules-commonjs "^6.18.0" + babel-runtime "^6.0.0" + babel-template "^6.8.0" + +babel-plugin-transform-es2015-modules-commonjs@^6.18.0, babel-plugin-transform-es2015-modules-commonjs@^6.7.4: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.18.0.tgz#c15ae5bb11b32a0abdcc98a5837baa4ee8d67bcc" + dependencies: + babel-plugin-transform-strict-mode "^6.18.0" + babel-runtime "^6.0.0" + babel-template "^6.16.0" + babel-types "^6.18.0" + +babel-plugin-transform-es2015-modules-systemjs@^6.18.0: + version "6.19.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.19.0.tgz#50438136eba74527efa00a5b0fefaf1dc4071da6" + dependencies: + babel-helper-hoist-variables "^6.18.0" + babel-runtime "^6.11.6" + babel-template "^6.14.0" + +babel-plugin-transform-es2015-modules-umd@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.18.0.tgz#23351770ece5c1f8e83ed67cb1d7992884491e50" + dependencies: + babel-plugin-transform-es2015-modules-amd "^6.18.0" + babel-runtime "^6.0.0" + babel-template "^6.8.0" + +babel-plugin-transform-es2015-object-super@^6.3.13: + version "6.8.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.8.0.tgz#1b858740a5a4400887c23dcff6f4d56eea4a24c5" + dependencies: + babel-helper-replace-supers "^6.8.0" + babel-runtime "^6.0.0" + +babel-plugin-transform-es2015-parameters@^6.18.0, babel-plugin-transform-es2015-parameters@^6.7.0: + version "6.21.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.21.0.tgz#46a655e6864ef984091448cdf024d87b60b2a7d8" + dependencies: + babel-helper-call-delegate "^6.18.0" + babel-helper-get-function-arity "^6.18.0" + babel-runtime "^6.9.0" + babel-template "^6.16.0" + babel-traverse "^6.21.0" + babel-types "^6.21.0" + +babel-plugin-transform-es2015-shorthand-properties@^6.18.0, babel-plugin-transform-es2015-shorthand-properties@^6.5.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.18.0.tgz#e2ede3b7df47bf980151926534d1dd0cbea58f43" + dependencies: + babel-runtime "^6.0.0" + babel-types "^6.18.0" + +babel-plugin-transform-es2015-spread@^6.3.13, babel-plugin-transform-es2015-spread@^6.6.5: + version "6.8.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.8.0.tgz#0217f737e3b821fa5a669f187c6ed59205f05e9c" + dependencies: + babel-runtime "^6.0.0" + +babel-plugin-transform-es2015-sticky-regex@^6.3.13, babel-plugin-transform-es2015-sticky-regex@^6.5.0: + version "6.8.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.8.0.tgz#e73d300a440a35d5c64f5c2a344dc236e3df47be" + dependencies: + babel-helper-regex "^6.8.0" + babel-runtime "^6.0.0" + babel-types "^6.8.0" + +babel-plugin-transform-es2015-template-literals@^6.6.0: + version "6.8.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.8.0.tgz#86eb876d0a2c635da4ec048b4f7de9dfc897e66b" + dependencies: + babel-runtime "^6.0.0" + +babel-plugin-transform-es2015-typeof-symbol@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.18.0.tgz#0b14c48629c90ff47a0650077f6aa699bee35798" + dependencies: + babel-runtime "^6.0.0" + +babel-plugin-transform-es2015-unicode-regex@^6.3.13, babel-plugin-transform-es2015-unicode-regex@^6.5.0: + version "6.11.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.11.0.tgz#6298ceabaad88d50a3f4f392d8de997260f6ef2c" + dependencies: + babel-helper-regex "^6.8.0" + babel-runtime "^6.0.0" + regexpu-core "^2.0.0" + +babel-plugin-transform-exponentiation-operator@^6.3.13: + version "6.8.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.8.0.tgz#db25742e9339eade676ca9acec46f955599a68a4" + dependencies: + babel-helper-builder-binary-assignment-operator-visitor "^6.8.0" + babel-plugin-syntax-exponentiation-operator "^6.8.0" + babel-runtime "^6.0.0" + +babel-plugin-transform-object-rest-spread@^6.16.0: + version "6.20.2" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.20.2.tgz#e816c55bba77b14c16365d87e2ae48c8fd18fc2e" + dependencies: + babel-plugin-syntax-object-rest-spread "^6.8.0" + babel-runtime "^6.20.0" + +babel-plugin-transform-regenerator@^6.16.0: + version "6.21.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.21.0.tgz#75d0c7e7f84f379358f508451c68a2c5fa5a9703" + dependencies: + regenerator-transform "0.9.8" + +babel-plugin-transform-runtime@^6.15.0: + version "6.15.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-runtime/-/babel-plugin-transform-runtime-6.15.0.tgz#3d75b4d949ad81af157570273846fb59aeb0d57c" + dependencies: + babel-runtime "^6.9.0" + +babel-plugin-transform-strict-mode@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.18.0.tgz#df7cf2991fe046f44163dcd110d5ca43bc652b9d" + dependencies: + babel-runtime "^6.0.0" + babel-types "^6.18.0" + +babel-preset-es2015-node4@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/babel-preset-es2015-node4/-/babel-preset-es2015-node4-2.1.1.tgz#e31f290859b58619c8cfa241d1b0bc900f941cdb" + dependencies: + babel-plugin-transform-es2015-destructuring "^6.6.5" + babel-plugin-transform-es2015-function-name "^6.5.0" + babel-plugin-transform-es2015-modules-commonjs "^6.7.4" + babel-plugin-transform-es2015-parameters "^6.7.0" + babel-plugin-transform-es2015-shorthand-properties "^6.5.0" + babel-plugin-transform-es2015-spread "^6.6.5" + babel-plugin-transform-es2015-sticky-regex "^6.5.0" + babel-plugin-transform-es2015-unicode-regex "^6.5.0" + +babel-preset-es2015@^6.16.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-preset-es2015/-/babel-preset-es2015-6.18.0.tgz#b8c70df84ec948c43dcf2bf770e988eb7da88312" + dependencies: + babel-plugin-check-es2015-constants "^6.3.13" + babel-plugin-transform-es2015-arrow-functions "^6.3.13" + babel-plugin-transform-es2015-block-scoped-functions "^6.3.13" + babel-plugin-transform-es2015-block-scoping "^6.18.0" + babel-plugin-transform-es2015-classes "^6.18.0" + babel-plugin-transform-es2015-computed-properties "^6.3.13" + babel-plugin-transform-es2015-destructuring "^6.18.0" + babel-plugin-transform-es2015-duplicate-keys "^6.6.0" + babel-plugin-transform-es2015-for-of "^6.18.0" + babel-plugin-transform-es2015-function-name "^6.9.0" + babel-plugin-transform-es2015-literals "^6.3.13" + babel-plugin-transform-es2015-modules-amd "^6.18.0" + babel-plugin-transform-es2015-modules-commonjs "^6.18.0" + babel-plugin-transform-es2015-modules-systemjs "^6.18.0" + babel-plugin-transform-es2015-modules-umd "^6.18.0" + babel-plugin-transform-es2015-object-super "^6.3.13" + babel-plugin-transform-es2015-parameters "^6.18.0" + babel-plugin-transform-es2015-shorthand-properties "^6.18.0" + babel-plugin-transform-es2015-spread "^6.3.13" + babel-plugin-transform-es2015-sticky-regex "^6.3.13" + babel-plugin-transform-es2015-template-literals "^6.6.0" + babel-plugin-transform-es2015-typeof-symbol "^6.18.0" + babel-plugin-transform-es2015-unicode-regex "^6.3.13" + babel-plugin-transform-regenerator "^6.16.0" + +babel-preset-stage-2@^6.17.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-preset-stage-2/-/babel-preset-stage-2-6.18.0.tgz#9eb7bf9a8e91c68260d5ba7500493caaada4b5b5" + dependencies: + babel-plugin-syntax-dynamic-import "^6.18.0" + babel-plugin-transform-class-properties "^6.18.0" + babel-plugin-transform-decorators "^6.13.0" + babel-preset-stage-3 "^6.17.0" + +babel-preset-stage-3@^6.17.0: + version "6.17.0" + resolved "https://registry.yarnpkg.com/babel-preset-stage-3/-/babel-preset-stage-3-6.17.0.tgz#b6638e46db6e91e3f889013d8ce143917c685e39" + dependencies: + babel-plugin-syntax-trailing-function-commas "^6.3.13" + babel-plugin-transform-async-generator-functions "^6.17.0" + babel-plugin-transform-async-to-generator "^6.16.0" + babel-plugin-transform-exponentiation-operator "^6.3.13" + babel-plugin-transform-object-rest-spread "^6.16.0" + +babel-register@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.18.0.tgz#892e2e03865078dd90ad2c715111ec4449b32a68" + dependencies: + babel-core "^6.18.0" + babel-runtime "^6.11.6" + core-js "^2.4.0" + home-or-tmp "^2.0.0" + lodash "^4.2.0" + mkdirp "^0.5.1" + source-map-support "^0.4.2" + +babel-runtime@^6.0.0, babel-runtime@^6.11.6, babel-runtime@^6.18.0, babel-runtime@^6.20.0, babel-runtime@^6.9.0, babel-runtime@^6.9.1: + version "6.20.0" + resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.20.0.tgz#87300bdcf4cd770f09bf0048c64204e17806d16f" + dependencies: + core-js "^2.4.0" + regenerator-runtime "^0.10.0" + +babel-template@^6.14.0, babel-template@^6.15.0, babel-template@^6.16.0, babel-template@^6.7.0, babel-template@^6.8.0: + version "6.16.0" + resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.16.0.tgz#e149dd1a9f03a35f817ddbc4d0481988e7ebc8ca" + dependencies: + babel-runtime "^6.9.0" + babel-traverse "^6.16.0" + babel-types "^6.16.0" + babylon "^6.11.0" + lodash "^4.2.0" + +babel-traverse@^6.16.0, babel-traverse@^6.18.0, babel-traverse@^6.20.0, babel-traverse@^6.21.0: + version "6.21.0" + resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.21.0.tgz#69c6365804f1a4f69eb1213f85b00a818b8c21ad" + dependencies: + babel-code-frame "^6.20.0" + babel-messages "^6.8.0" + babel-runtime "^6.20.0" + babel-types "^6.21.0" + babylon "^6.11.0" + debug "^2.2.0" + globals "^9.0.0" + invariant "^2.2.0" + lodash "^4.2.0" + +babel-types@^6.13.0, babel-types@^6.16.0, babel-types@^6.18.0, babel-types@^6.19.0, babel-types@^6.20.0, babel-types@^6.21.0, babel-types@^6.7.2, babel-types@^6.8.0, babel-types@^6.9.0: + version "6.21.0" + resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.21.0.tgz#314b92168891ef6d3806b7f7a917fdf87c11a4b2" + dependencies: + babel-runtime "^6.20.0" + esutils "^2.0.2" + lodash "^4.2.0" + to-fast-properties "^1.0.1" + +babylon@^6.1.0, babylon@^6.11.0: + version "6.14.1" + resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.14.1.tgz#956275fab72753ad9b3435d7afe58f8bf0a29815" + +balanced-match@^0.4.1: + version "0.4.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838" + +bcrypt-pbkdf@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.0.tgz#3ca76b85241c7170bf7d9703e7b9aa74630040d4" + dependencies: + tweetnacl "^0.14.3" + +beeper@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/beeper/-/beeper-1.1.1.tgz#e6d5ea8c5dad001304a70b22638447f69cb2f809" + +binary-extensions@^1.0.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.8.0.tgz#48ec8d16df4377eae5fa5884682480af4d95c774" + +bl@~0.9.0: + version "0.9.5" + resolved "https://registry.yarnpkg.com/bl/-/bl-0.9.5.tgz#c06b797af085ea00bc527afc8efcf11de2232054" + dependencies: + readable-stream "~1.0.26" + +block-stream@*: + version "0.0.9" + resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" + dependencies: + inherits "~2.0.0" + +bluebird@^2.9.30: + version "2.11.0" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-2.11.0.tgz#534b9033c022c9579c56ba3b3e5a5caafbb650e1" + +bluebird@^3.0.0, bluebird@^3.4.1: + version "3.4.7" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.4.7.tgz#f72d760be09b7f76d08ed8fae98b289a8d05fab3" + +boom@2.x.x: + version "2.10.1" + resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f" + dependencies: + hoek "2.x.x" + +boxen@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/boxen/-/boxen-0.6.0.tgz#8364d4248ac34ff0ef1b2f2bf49a6c60ce0d81b6" + dependencies: + ansi-align "^1.1.0" + camelcase "^2.1.0" + chalk "^1.1.1" + cli-boxes "^1.0.0" + filled-array "^1.0.0" + object-assign "^4.0.1" + repeating "^2.0.0" + string-width "^1.0.1" + widest-line "^1.0.0" + +brace-expansion@^1.0.0: + version "1.1.6" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.6.tgz#7197d7eaa9b87e648390ea61fc66c84427420df9" + dependencies: + balanced-match "^0.4.1" + concat-map "0.0.1" + +braces@^1.8.2: + version "1.8.5" + resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7" + dependencies: + expand-range "^1.8.1" + preserve "^0.2.0" + repeat-element "^1.1.2" + +buf-compare@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/buf-compare/-/buf-compare-1.0.1.tgz#fef28da8b8113a0a0db4430b0b6467b69730b34a" + +buffer-crc32@~0.2.3: + version "0.2.13" + resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" + +buffer-shims@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/buffer-shims/-/buffer-shims-1.0.0.tgz#9978ce317388c649ad8793028c3477ef044a8b51" + +builtin-modules@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" + +caching-transform@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/caching-transform/-/caching-transform-1.0.1.tgz#6dbdb2f20f8d8fbce79f3e94e9d1742dcdf5c0a1" + dependencies: + md5-hex "^1.2.0" + mkdirp "^0.5.1" + write-file-atomic "^1.1.4" + +call-matcher@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/call-matcher/-/call-matcher-1.0.1.tgz#5134d077984f712a54dad3cbf62de28dce416ca8" + dependencies: + core-js "^2.0.0" + deep-equal "^1.0.0" + espurify "^1.6.0" + estraverse "^4.0.0" + +call-signature@0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/call-signature/-/call-signature-0.0.2.tgz#a84abc825a55ef4cb2b028bd74e205a65b9a4996" + +camelcase-keys@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" + dependencies: + camelcase "^2.0.0" + map-obj "^1.0.0" + +camelcase@^2.0.0, camelcase@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" + +capture-stack-trace@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz#4a6fa07399c26bba47f0b2496b4d0fb408c5550d" + +caseless@~0.10.0: + version "0.10.0" + resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.10.0.tgz#ed6b2719adcd1fd18f58dc081c0f1a5b43963909" + +caseless@~0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.11.0.tgz#715b96ea9841593cc33067923f5ec60ebda4f7d7" + +chalk@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-0.4.0.tgz#5199a3ddcd0c1efe23bc08c1b027b06176e0c64f" + dependencies: + ansi-styles "~1.0.0" + has-color "~0.1.0" + strip-ansi "~0.1.0" + +chalk@^0.5.0: + version "0.5.1" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-0.5.1.tgz#663b3a648b68b55d04690d49167aa837858f2174" + dependencies: + ansi-styles "^1.1.0" + escape-string-regexp "^1.0.0" + has-ansi "^0.1.0" + strip-ansi "^0.3.0" + supports-color "^0.2.0" + +chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1: + version "1.1.3" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" + dependencies: + ansi-styles "^2.2.1" + escape-string-regexp "^1.0.2" + has-ansi "^2.0.0" + strip-ansi "^3.0.0" + supports-color "^2.0.0" + +chokidar@^1.4.2: + version "1.6.1" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.6.1.tgz#2f4447ab5e96e50fb3d789fd90d4c72e0e4c70c2" + dependencies: + anymatch "^1.3.0" + async-each "^1.0.0" + glob-parent "^2.0.0" + inherits "^2.0.1" + is-binary-path "^1.0.0" + is-glob "^2.0.0" + path-is-absolute "^1.0.0" + readdirp "^2.0.0" + optionalDependencies: + fsevents "^1.0.0" + +ci-info@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.0.0.tgz#dc5285f2b4e251821683681c381c3388f46ec534" + +clean-yaml-object@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/clean-yaml-object/-/clean-yaml-object-0.1.0.tgz#63fb110dc2ce1a84dc21f6d9334876d010ae8b68" + +cli-boxes@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-1.0.0.tgz#4fa917c3e59c94a004cd61f8ee509da651687143" + +cli-cursor@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987" + dependencies: + restore-cursor "^1.0.1" + +cli-spinners@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-0.1.2.tgz#bb764d88e185fb9e1e6a2a1f19772318f605e31c" + +cli-truncate@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-0.2.1.tgz#9f15cfbb0705005369216c626ac7d05ab90dd574" + dependencies: + slice-ansi "0.0.4" + string-width "^1.0.1" + +clone-stats@^0.0.1, clone-stats@~0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-0.0.1.tgz#b88f94a82cf38b8791d58046ea4029ad88ca99d1" + +clone@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/clone/-/clone-0.2.0.tgz#c6126a90ad4f72dbf5acdb243cc37724fe93fc1f" + +clone@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.2.tgz#260b7a99ebb1edfe247538175f783243cb19d149" + +co-with-promise@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/co-with-promise/-/co-with-promise-4.6.0.tgz#413e7db6f5893a60b942cf492c4bec93db415ab7" + dependencies: + pinkie-promise "^1.0.0" + +code-point-at@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" + +combined-stream@^1.0.5, combined-stream@~1.0.1, combined-stream@~1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009" + dependencies: + delayed-stream "~1.0.0" + +commander@0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-0.6.1.tgz#fa68a14f6a945d54dbbe50d8cdb3320e9e3b1a06" + +commander@2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.3.0.tgz#fd430e889832ec353b9acd1de217c11cb3eef873" + +commander@^2.8.1, commander@^2.9.0: + version "2.9.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" + dependencies: + graceful-readlink ">= 1.0.0" + +common-path-prefix@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/common-path-prefix/-/common-path-prefix-1.0.0.tgz#cd52f6f0712e0baab97d6f9732874f22f47752c0" + +commondir@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + +configstore@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/configstore/-/configstore-2.1.0.tgz#737a3a7036e9886102aa6099e47bb33ab1aba1a1" + dependencies: + dot-prop "^3.0.0" + graceful-fs "^4.1.2" + mkdirp "^0.5.0" + object-assign "^4.0.1" + os-tmpdir "^1.0.0" + osenv "^0.1.0" + uuid "^2.0.1" + write-file-atomic "^1.1.2" + xdg-basedir "^2.0.0" + +console-control-strings@^1.0.0, console-control-strings@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" + +convert-source-map@^1.1.0, convert-source-map@^1.1.1, convert-source-map@^1.2.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.3.0.tgz#e9f3e9c6e2728efc2676696a70eb382f73106a67" + +core-assert@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/core-assert/-/core-assert-0.2.1.tgz#f85e2cf9bfed28f773cc8b3fa5c5b69bdc02fe3f" + dependencies: + buf-compare "^1.0.0" + is-error "^2.2.0" + +core-js@^2.0.0, core-js@^2.4.0: + version "2.4.1" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.4.1.tgz#4de911e667b0eae9124e34254b53aea6fc618d3e" + +core-util-is@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + +create-error-class@^3.0.1: + version "3.0.2" + resolved "https://registry.yarnpkg.com/create-error-class/-/create-error-class-3.0.2.tgz#06be7abef947a3f14a30fd610671d401bca8b7b6" + dependencies: + capture-stack-trace "^1.0.0" + +cross-spawn@^4.0.0: + version "4.0.2" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-4.0.2.tgz#7b9247621c23adfdd3856004a823cbe397424d41" + dependencies: + lru-cache "^4.0.1" + which "^1.2.9" + +cryptiles@2.x.x: + version "2.0.5" + resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8" + dependencies: + boom "2.x.x" + +ctype@0.5.3: + version "0.5.3" + resolved "https://registry.yarnpkg.com/ctype/-/ctype-0.5.3.tgz#82c18c2461f74114ef16c135224ad0b9144ca12f" + +currently-unhandled@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" + dependencies: + array-find-index "^1.0.1" + +dashdash@^1.12.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + dependencies: + assert-plus "^1.0.0" + +date-time@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/date-time/-/date-time-0.1.1.tgz#ed2f6d93d9790ce2fd66d5b5ff3edd5bbcbf3b07" + +dateformat@^1.0.7-1.2.3: + version "1.0.12" + resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-1.0.12.tgz#9f124b67594c937ff706932e4a642cca8dbbfee9" + dependencies: + get-stdin "^4.0.1" + meow "^3.3.0" + +dateformat@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-2.0.0.tgz#2743e3abb5c3fc2462e527dca445e04e9f4dee17" + +debug@2.2.0, debug@~2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da" + dependencies: + ms "0.7.1" + +debug@^2.1.1, debug@^2.2.0: + version "2.6.0" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.0.tgz#bc596bcabe7617f11d9fa15361eded5608b8499b" + dependencies: + ms "0.7.2" + +decamelize@^1.1.2: + version "1.2.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + +deep-assign@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/deep-assign/-/deep-assign-1.0.0.tgz#b092743be8427dc621ea0067cdec7e70dd19f37b" + dependencies: + is-obj "^1.0.0" + +deep-equal@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5" + +deep-extend@~0.4.0: + version "0.4.1" + resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.1.tgz#efe4113d08085f4e6f9687759810f807469e2253" + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + +delegates@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" + +detect-indent@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208" + dependencies: + repeating "^2.0.0" + +diff@1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/diff/-/diff-1.4.0.tgz#7f28d2eb9ee7b15a97efd89ce63dcfdaa3ccbabf" + +dot-prop@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-3.0.0.tgz#1b708af094a49c9a0e7dbcad790aba539dac1177" + dependencies: + is-obj "^1.0.0" + +duplexer2@0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.0.2.tgz#c614dcf67e2fb14995a91711e5a617e8a60a31db" + dependencies: + readable-stream "~1.1.9" + +duplexer2@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.1.4.tgz#8b12dab878c0d69e3e7891051662a32fc6bddcc1" + dependencies: + readable-stream "^2.0.2" + +duplexer@~0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1" + +duplexify@^3.2.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.5.0.tgz#1aa773002e1578457e9d9d4a50b0ccaaebcbd604" + dependencies: + end-of-stream "1.0.0" + inherits "^2.0.1" + readable-stream "^2.0.0" + stream-shift "^1.0.0" + +eastasianwidth@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.1.1.tgz#44d656de9da415694467335365fb3147b8572b7c" + +ecc-jsbn@~0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505" + dependencies: + jsbn "~0.1.0" + +empower-core@^0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/empower-core/-/empower-core-0.6.1.tgz#6c187f502fcef7554d57933396aac655483772b1" + dependencies: + call-signature "0.0.2" + core-js "^2.0.0" + +end-of-stream@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.0.0.tgz#d4596e702734a93e40e9af864319eabd99ff2f0e" + dependencies: + once "~1.3.0" + +error-ex@^1.2.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.0.tgz#e67b43f3e82c96ea3a584ffee0b9fc3325d802d9" + dependencies: + is-arrayish "^0.2.1" + +escape-string-regexp@1.0.2, escape-string-regexp@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.2.tgz#4dbc2fe674e71949caf3fb2695ce7f2dc1d9a8d1" + +escape-string-regexp@^1.0.0, escape-string-regexp@^1.0.4, escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + +espower-location-detector@^0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/espower-location-detector/-/espower-location-detector-0.1.2.tgz#d43be738af3e0b18197eeb5c22b95512dee6b83c" + dependencies: + is-url "^1.2.1" + path-is-absolute "^1.0.0" + source-map "^0.5.0" + xtend "^4.0.0" + +espurify@^1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/espurify/-/espurify-1.6.0.tgz#6cb993582d9422bd6f2d4b258aadb14833f394f0" + dependencies: + core-js "^2.0.0" + +estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1: + version "4.2.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" + +esutils@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" + +event-stream@^3.3.1: + version "3.3.4" + resolved "https://registry.yarnpkg.com/event-stream/-/event-stream-3.3.4.tgz#4ab4c9a0f5a54db9338b4c34d86bfce8f4b35571" + dependencies: + duplexer "~0.1.1" + from "~0" + map-stream "~0.1.0" + pause-stream "0.0.11" + split "0.3" + stream-combiner "~0.0.4" + through "~2.3.1" + +event-stream@~3.1.5: + version "3.1.7" + resolved "https://registry.yarnpkg.com/event-stream/-/event-stream-3.1.7.tgz#b4c540012d0fe1498420f3d8946008db6393c37a" + dependencies: + duplexer "~0.1.1" + from "~0" + map-stream "~0.1.0" + pause-stream "0.0.11" + split "0.2" + stream-combiner "~0.0.4" + through "~2.3.1" + +exit-hook@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/exit-hook/-/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8" + +expand-brackets@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" + dependencies: + is-posix-bracket "^0.1.0" + +expand-range@^1.8.1: + version "1.8.2" + resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337" + dependencies: + fill-range "^2.1.0" + +extend-shallow@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" + dependencies: + is-extendable "^0.1.0" + +extend@^3.0.0, extend@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.0.tgz#5a474353b9f3353ddd8176dfd37b91c83a46f1d4" + +extend@~2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/extend/-/extend-2.0.1.tgz#1ee8010689e7395ff9448241c98652bc759a8260" + +extglob@^0.3.1: + version "0.3.2" + resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1" + dependencies: + is-extglob "^1.0.0" + +extsprintf@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.0.2.tgz#e1080e0658e300b06294990cc70e1502235fd550" + +fancy-log@^1.1.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/fancy-log/-/fancy-log-1.3.0.tgz#45be17d02bb9917d60ccffd4995c999e6c8c9948" + dependencies: + chalk "^1.1.1" + time-stamp "^1.0.0" + +fd-slicer@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.0.1.tgz#8b5bcbd9ec327c5041bf9ab023fd6750f1177e65" + dependencies: + pend "~1.2.0" + +figures@^1.4.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e" + dependencies: + escape-string-regexp "^1.0.5" + object-assign "^4.1.0" + +filename-regex@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.0.tgz#996e3e80479b98b9897f15a8a58b3d084e926775" + +fill-range@^2.1.0: + version "2.2.3" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.3.tgz#50b77dfd7e469bc7492470963699fe7a8485a723" + dependencies: + is-number "^2.1.0" + isobject "^2.0.0" + randomatic "^1.1.3" + repeat-element "^1.1.2" + repeat-string "^1.5.2" + +filled-array@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/filled-array/-/filled-array-1.1.0.tgz#c3c4f6c663b923459a9aa29912d2d031f1507f84" + +find-cache-dir@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-0.1.1.tgz#c8defae57c8a52a8a784f9e31c57c742e993a0b9" + dependencies: + commondir "^1.0.1" + mkdirp "^0.5.1" + pkg-dir "^1.0.0" + +find-up@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" + dependencies: + path-exists "^2.0.0" + pinkie-promise "^2.0.0" + +first-chunk-stream@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz#59bfb50cd905f60d7c394cd3d9acaab4e6ad934e" + +fn-name@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/fn-name/-/fn-name-2.0.1.tgz#5214d7537a4d06a4a301c0cc262feb84188002e7" + +for-in@^0.1.5: + version "0.1.6" + resolved "https://registry.yarnpkg.com/for-in/-/for-in-0.1.6.tgz#c9f96e89bfad18a545af5ec3ed352a1d9e5b4dc8" + +for-own@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.4.tgz#0149b41a39088c7515f51ebe1c1386d45f935072" + dependencies: + for-in "^0.1.5" + +forever-agent@~0.6.0, forever-agent@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + +form-data@~1.0.0-rc1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-1.0.1.tgz#ae315db9a4907fa065502304a66d7733475ee37c" + dependencies: + async "^2.0.1" + combined-stream "^1.0.5" + mime-types "^2.1.11" + +form-data@~2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.2.tgz#89c3534008b97eada4cbb157d58f6f5df025eae4" + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.5" + mime-types "^2.1.12" + +from@~0: + version "0.1.3" + resolved "https://registry.yarnpkg.com/from/-/from-0.1.3.tgz#ef63ac2062ac32acf7862e0d40b44b896f22f3bc" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + +fsevents@^1.0.0: + version "1.0.15" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.0.15.tgz#fa63f590f3c2ad91275e4972a6cea545fb0aae44" + dependencies: + nan "^2.3.0" + node-pre-gyp "^0.6.29" + +fstream-ignore@~1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/fstream-ignore/-/fstream-ignore-1.0.5.tgz#9c31dae34767018fe1d249b24dada67d092da105" + dependencies: + fstream "^1.0.0" + inherits "2" + minimatch "^3.0.0" + +fstream@^1.0.0, fstream@^1.0.2, fstream@~1.0.10: + version "1.0.10" + resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.10.tgz#604e8a92fe26ffd9f6fae30399d4984e1ab22822" + dependencies: + graceful-fs "^4.1.2" + inherits "~2.0.0" + mkdirp ">=0.5 0" + rimraf "2" + +gauge@~2.7.1: + version "2.7.2" + resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.2.tgz#15cecc31b02d05345a5d6b0e171cdb3ad2307774" + dependencies: + aproba "^1.0.3" + console-control-strings "^1.0.0" + has-unicode "^2.0.0" + object-assign "^4.1.0" + signal-exit "^3.0.0" + string-width "^1.0.1" + strip-ansi "^3.0.1" + supports-color "^0.2.0" + wide-align "^1.1.0" + +generate-function@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/generate-function/-/generate-function-2.0.0.tgz#6858fe7c0969b7d4e9093337647ac79f60dfbe74" + +generate-object-property@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/generate-object-property/-/generate-object-property-1.2.0.tgz#9c0e1c40308ce804f4783618b937fa88f99d50d0" + dependencies: + is-property "^1.0.0" + +get-port@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/get-port/-/get-port-2.1.0.tgz#8783f9dcebd1eea495a334e1a6a251e78887ab1a" + dependencies: + pinkie-promise "^2.0.0" + +get-stdin@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" + +getpass@^0.1.1: + version "0.1.6" + resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.6.tgz#283ffd9fc1256840875311c1b60e8c40187110e6" + dependencies: + assert-plus "^1.0.0" + +glob-base@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" + dependencies: + glob-parent "^2.0.0" + is-glob "^2.0.0" + +glob-parent@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28" + dependencies: + is-glob "^2.0.0" + +glob-parent@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" + dependencies: + is-glob "^3.1.0" + path-dirname "^1.0.0" + +glob-stream@^5.3.2: + version "5.3.5" + resolved "https://registry.yarnpkg.com/glob-stream/-/glob-stream-5.3.5.tgz#a55665a9a8ccdc41915a87c701e32d4e016fad22" + dependencies: + extend "^3.0.0" + glob "^5.0.3" + glob-parent "^3.0.0" + micromatch "^2.3.7" + ordered-read-streams "^0.3.0" + through2 "^0.6.0" + to-absolute-glob "^0.1.1" + unique-stream "^2.0.2" + +glob@3.2.11: + version "3.2.11" + resolved "https://registry.yarnpkg.com/glob/-/glob-3.2.11.tgz#4a973f635b9190f715d10987d5c00fd2815ebe3d" + dependencies: + inherits "2" + minimatch "0.3" + +glob@^5.0.15, glob@^5.0.3: + version "5.0.15" + resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1" + dependencies: + inflight "^1.0.4" + inherits "2" + minimatch "2 || 3" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob@^7.0.3, glob@^7.0.5: + version "7.1.1" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8" + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.2" + once "^1.3.0" + path-is-absolute "^1.0.0" + +globals@^9.0.0: + version "9.14.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-9.14.0.tgz#8859936af0038741263053b39d0e76ca241e4034" + +globby@^6.0.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" + dependencies: + array-union "^1.0.1" + glob "^7.0.3" + object-assign "^4.0.1" + pify "^2.0.0" + pinkie-promise "^2.0.0" + +glogg@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/glogg/-/glogg-1.0.0.tgz#7fe0f199f57ac906cf512feead8f90ee4a284fc5" + dependencies: + sparkles "^1.0.0" + +got@^5.0.0: + version "5.7.1" + resolved "https://registry.yarnpkg.com/got/-/got-5.7.1.tgz#5f81635a61e4a6589f180569ea4e381680a51f35" + dependencies: + create-error-class "^3.0.1" + duplexer2 "^0.1.4" + is-redirect "^1.0.0" + is-retry-allowed "^1.0.0" + is-stream "^1.0.0" + lowercase-keys "^1.0.0" + node-status-codes "^1.0.0" + object-assign "^4.0.1" + parse-json "^2.1.0" + pinkie-promise "^2.0.0" + read-all-stream "^3.0.0" + readable-stream "^2.0.5" + timed-out "^3.0.0" + unzip-response "^1.0.2" + url-parse-lax "^1.0.0" + +graceful-fs@^4.0.0, graceful-fs@^4.1.2: + version "4.1.11" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" + +"graceful-readlink@>= 1.0.0": + version "1.0.1" + resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" + +growl@1.9.2: + version "1.9.2" + resolved "https://registry.yarnpkg.com/growl/-/growl-1.9.2.tgz#0ea7743715db8d8de2c5ede1775e1b45ac85c02f" + +gulp-chmod@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/gulp-chmod/-/gulp-chmod-1.3.0.tgz#8bb6e8c11895dcbf9b42520c874347a5022bcb0d" + dependencies: + deep-assign "^1.0.0" + stat-mode "^0.2.0" + through2 "^2.0.0" + +gulp-filter@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/gulp-filter/-/gulp-filter-4.0.0.tgz#395f58a256c559cdb9e0d157f1caaf5248a38dcb" + dependencies: + gulp-util "^3.0.6" + multimatch "^2.0.0" + streamfilter "^1.0.5" + +gulp-gunzip@0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/gulp-gunzip/-/gulp-gunzip-0.0.3.tgz#7b6e07b0f58fd3d42515c48ead5a63df0572f62f" + dependencies: + through2 "~0.6.5" + vinyl "~0.4.6" + +gulp-remote-src@^0.4.0: + version "0.4.1" + resolved "https://registry.yarnpkg.com/gulp-remote-src/-/gulp-remote-src-0.4.1.tgz#6c36004e57228c9df02fbea9727a8616baf87355" + dependencies: + event-stream "~3.1.5" + node.extend "~1.1.2" + request "~2.58.0" + through2 "~0.5.1" + vinyl "~0.2.3" + +gulp-sourcemaps@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/gulp-sourcemaps/-/gulp-sourcemaps-1.6.0.tgz#b86ff349d801ceb56e1d9e7dc7bbcb4b7dee600c" + dependencies: + convert-source-map "^1.1.1" + graceful-fs "^4.1.2" + strip-bom "^2.0.0" + through2 "^2.0.0" + vinyl "^1.0.0" + +gulp-symdest@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/gulp-symdest/-/gulp-symdest-1.1.0.tgz#c165320732d192ce56fd94271ffa123234bf2ae0" + dependencies: + event-stream "^3.3.1" + mkdirp "^0.5.1" + queue "^3.1.0" + vinyl-fs "^2.4.3" + +gulp-untar@0.0.5: + version "0.0.5" + resolved "https://registry.yarnpkg.com/gulp-untar/-/gulp-untar-0.0.5.tgz#8d97c31e1e20d3d10167873b1ea95a7ee78654a9" + dependencies: + event-stream "~3.1.5" + gulp-util "~2.2.14" + streamifier "~0.1.0" + tar "^1.0.3" + through2 "~0.4.1" + +gulp-util@^3.0.6: + version "3.0.8" + resolved "https://registry.yarnpkg.com/gulp-util/-/gulp-util-3.0.8.tgz#0054e1e744502e27c04c187c3ecc505dd54bbb4f" + dependencies: + array-differ "^1.0.0" + array-uniq "^1.0.2" + beeper "^1.0.0" + chalk "^1.0.0" + dateformat "^2.0.0" + fancy-log "^1.1.0" + gulplog "^1.0.0" + has-gulplog "^0.1.0" + lodash._reescape "^3.0.0" + lodash._reevaluate "^3.0.0" + lodash._reinterpolate "^3.0.0" + lodash.template "^3.0.0" + minimist "^1.1.0" + multipipe "^0.1.2" + object-assign "^3.0.0" + replace-ext "0.0.1" + through2 "^2.0.0" + vinyl "^0.5.0" + +gulp-util@~2.2.14: + version "2.2.20" + resolved "https://registry.yarnpkg.com/gulp-util/-/gulp-util-2.2.20.tgz#d7146e5728910bd8f047a6b0b1e549bc22dbd64c" + dependencies: + chalk "^0.5.0" + dateformat "^1.0.7-1.2.3" + lodash._reinterpolate "^2.4.1" + lodash.template "^2.4.1" + minimist "^0.2.0" + multipipe "^0.1.0" + through2 "^0.5.0" + vinyl "^0.2.1" + +gulp-vinyl-zip@^1.1.2: + version "1.4.0" + resolved "https://registry.yarnpkg.com/gulp-vinyl-zip/-/gulp-vinyl-zip-1.4.0.tgz#56382f2ccb57231bb0478c78737ccd572973bee1" + dependencies: + event-stream "^3.3.1" + queue "^3.0.10" + through2 "^0.6.3" + vinyl "^0.4.6" + vinyl-fs "^2.0.0" + yauzl "^2.2.1" + yazl "^2.2.1" + +gulplog@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/gulplog/-/gulplog-1.0.0.tgz#e28c4d45d05ecbbed818363ce8f9c5926229ffe5" + dependencies: + glogg "^1.0.0" + +har-validator@^1.6.1: + version "1.8.0" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-1.8.0.tgz#d83842b0eb4c435960aeb108a067a3aa94c0eeb2" + dependencies: + bluebird "^2.9.30" + chalk "^1.0.0" + commander "^2.8.1" + is-my-json-valid "^2.12.0" + +har-validator@~2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-2.0.6.tgz#cdcbc08188265ad119b6a5a7c8ab70eecfb5d27d" + dependencies: + chalk "^1.1.1" + commander "^2.9.0" + is-my-json-valid "^2.12.4" + pinkie-promise "^2.0.0" + +has-ansi@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-0.1.0.tgz#84f265aae8c0e6a88a12d7022894b7568894c62e" + dependencies: + ansi-regex "^0.2.0" + +has-ansi@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" + dependencies: + ansi-regex "^2.0.0" + +has-color@~0.1.0: + version "0.1.7" + resolved "https://registry.yarnpkg.com/has-color/-/has-color-0.1.7.tgz#67144a5260c34fc3cca677d041daf52fe7b78b2f" + +has-flag@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51" + +has-gulplog@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/has-gulplog/-/has-gulplog-0.1.0.tgz#6414c82913697da51590397dafb12f22967811ce" + dependencies: + sparkles "^1.0.0" + +has-unicode@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" + +hawk@~2.3.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/hawk/-/hawk-2.3.1.tgz#1e731ce39447fa1d0f6d707f7bceebec0fd1ec1f" + dependencies: + boom "2.x.x" + cryptiles "2.x.x" + hoek "2.x.x" + sntp "1.x.x" + +hawk@~3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4" + dependencies: + boom "2.x.x" + cryptiles "2.x.x" + hoek "2.x.x" + sntp "1.x.x" + +hoek@2.x.x: + version "2.16.3" + resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed" + +home-or-tmp@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8" + dependencies: + os-homedir "^1.0.0" + os-tmpdir "^1.0.1" + +hosted-git-info@^2.1.4: + version "2.1.5" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.1.5.tgz#0ba81d90da2e25ab34a332e6ec77936e1598118b" + +http-signature@~0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-0.11.0.tgz#1796cf67a001ad5cd6849dca0991485f09089fe6" + dependencies: + asn1 "0.1.11" + assert-plus "^0.1.5" + ctype "0.5.3" + +http-signature@~1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf" + dependencies: + assert-plus "^0.2.0" + jsprim "^1.2.2" + sshpk "^1.7.0" + +ignore-by-default@^1.0.0, ignore-by-default@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/ignore-by-default/-/ignore-by-default-1.0.1.tgz#48ca6d72f6c6a3af00a9ad4ae6876be3889e2b09" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + +indent-string@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" + dependencies: + repeating "^2.0.0" + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@^2.0.1, inherits@~2.0.0, inherits@~2.0.1: + version "2.0.3" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + +ini@~1.3.0: + version "1.3.4" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e" + +invariant@^2.2.0: + version "2.2.2" + resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.2.tgz#9e1f56ac0acdb6bf303306f338be3b204ae60360" + dependencies: + loose-envify "^1.0.0" + +irregular-plurals@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/irregular-plurals/-/irregular-plurals-1.2.0.tgz#38f299834ba8c00c30be9c554e137269752ff3ac" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + +is-binary-path@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" + dependencies: + binary-extensions "^1.0.0" + +is-buffer@^1.0.2: + version "1.1.4" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.4.tgz#cfc86ccd5dc5a52fa80489111c6920c457e2d98b" + +is-builtin-module@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe" + dependencies: + builtin-modules "^1.0.0" + +is-ci@^1.0.7: + version "1.0.10" + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.0.10.tgz#f739336b2632365061a9d48270cd56ae3369318e" + dependencies: + ci-info "^1.0.0" + +is-dotfile@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.2.tgz#2c132383f39199f8edc268ca01b9b007d205cc4d" + +is-equal-shallow@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534" + dependencies: + is-primitive "^2.0.0" + +is-error@^2.2.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/is-error/-/is-error-2.2.1.tgz#684a96d84076577c98f4cdb40c6d26a5123bf19c" + +is-extendable@^0.1.0, is-extendable@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + +is-extglob@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" + +is-extglob@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + +is-finite@^1.0.0, is-finite@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" + dependencies: + number-is-nan "^1.0.0" + +is-fullwidth-code-point@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" + dependencies: + number-is-nan "^1.0.0" + +is-generator-fn@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-1.0.0.tgz#969d49e1bb3329f6bb7f09089be26578b2ddd46a" + +is-glob@^2.0.0, is-glob@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" + dependencies: + is-extglob "^1.0.0" + +is-glob@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" + dependencies: + is-extglob "^2.1.0" + +is-my-json-valid@^2.12.0, is-my-json-valid@^2.12.4: + version "2.15.0" + resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.15.0.tgz#936edda3ca3c211fd98f3b2d3e08da43f7b2915b" + dependencies: + generate-function "^2.0.0" + generate-object-property "^1.1.0" + jsonpointer "^4.0.0" + xtend "^4.0.0" + +is-npm@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-1.0.0.tgz#f2fb63a65e4905b406c86072765a1a4dc793b9f4" + +is-number@^2.0.2, is-number@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" + dependencies: + kind-of "^3.0.2" + +is-obj@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" + +is-observable@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/is-observable/-/is-observable-0.2.0.tgz#b361311d83c6e5d726cabf5e250b0237106f5ae2" + dependencies: + symbol-observable "^0.2.2" + +is-plain-obj@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" + +is-posix-bracket@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" + +is-primitive@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" + +is-promise@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" + +is-property@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84" + +is-redirect@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24" + +is-retry-allowed@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz#11a060568b67339444033d0125a61a20d564fb34" + +is-stream@^1.0.0, is-stream@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + +is-typedarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + +is-url@^1.2.1: + version "1.2.2" + resolved "https://registry.yarnpkg.com/is-url/-/is-url-1.2.2.tgz#498905a593bf47cc2d9e7f738372bbf7696c7f26" + +is-utf8@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" + +is-valid-glob@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/is-valid-glob/-/is-valid-glob-0.3.0.tgz#d4b55c69f51886f9b65c70d6c2622d37e29f48fe" + +is@^3.1.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/is/-/is-3.2.0.tgz#a362e3daf7df3fd8b7114115d624c5b7e1cb90f7" + +isarray@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" + +isarray@1.0.0, isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + +isexe@^1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-1.1.2.tgz#36f3e22e60750920f5e7241a476a8c6a42275ad0" + +isobject@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" + dependencies: + isarray "1.0.0" + +isstream@~0.1.1, isstream@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + +jade@0.26.3: + version "0.26.3" + resolved "https://registry.yarnpkg.com/jade/-/jade-0.26.3.tgz#8f10d7977d8d79f2f6ff862a81b0513ccb25686c" + dependencies: + commander "0.6.1" + mkdirp "0.3.0" + +jodid25519@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/jodid25519/-/jodid25519-1.0.2.tgz#06d4912255093419477d425633606e0e90782967" + dependencies: + jsbn "~0.1.0" + +js-tokens@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-2.0.0.tgz#79903f5563ee778cc1162e6dcf1a0027c97f9cb5" + +jsbn@~0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.0.tgz#650987da0dd74f4ebf5a11377a2aa2d273e97dfd" + +jsesc@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" + +jsesc@~0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" + +json-schema@0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" + +json-stable-stringify@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" + dependencies: + jsonify "~0.0.0" + +json-stringify-safe@~5.0.0, json-stringify-safe@~5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + +json5@^0.5.0: + version "0.5.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" + +jsonify@~0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" + +jsonpointer@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.1.tgz#4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9" + +jsprim@^1.2.2: + version "1.3.1" + resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.3.1.tgz#2a7256f70412a29ee3670aaca625994c4dcff252" + dependencies: + extsprintf "1.0.2" + json-schema "0.2.3" + verror "1.3.6" + +kind-of@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.1.0.tgz#475d698a5e49ff5e53d14e3e732429dc8bf4cf47" + dependencies: + is-buffer "^1.0.2" + +last-line-stream@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/last-line-stream/-/last-line-stream-1.0.0.tgz#d1b64d69f86ff24af2d04883a2ceee14520a5600" + dependencies: + through2 "^2.0.0" + +latest-version@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-2.0.0.tgz#56f8d6139620847b8017f8f1f4d78e211324168b" + dependencies: + package-json "^2.0.0" + +lazy-req@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/lazy-req/-/lazy-req-1.1.0.tgz#bdaebead30f8d824039ce0ce149d4daa07ba1fac" + +lazystream@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/lazystream/-/lazystream-1.0.0.tgz#f6995fe0f820392f61396be89462407bb77168e4" + dependencies: + readable-stream "^2.0.5" + +load-json-file@^1.0.0, load-json-file@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" + dependencies: + graceful-fs "^4.1.2" + parse-json "^2.2.0" + pify "^2.0.0" + pinkie-promise "^2.0.0" + strip-bom "^2.0.0" + +lodash._basecopy@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz#8da0e6a876cf344c0ad8a54882111dd3c5c7ca36" + +lodash._basetostring@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz#d1861d877f824a52f669832dcaf3ee15566a07d5" + +lodash._basevalues@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz#5b775762802bde3d3297503e26300820fdf661b7" + +lodash._escapehtmlchar@~2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/lodash._escapehtmlchar/-/lodash._escapehtmlchar-2.4.1.tgz#df67c3bb6b7e8e1e831ab48bfa0795b92afe899d" + dependencies: + lodash._htmlescapes "~2.4.1" + +lodash._escapestringchar@~2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/lodash._escapestringchar/-/lodash._escapestringchar-2.4.1.tgz#ecfe22618a2ade50bfeea43937e51df66f0edb72" + +lodash._getnative@^3.0.0: + version "3.9.1" + resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5" + +lodash._htmlescapes@~2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/lodash._htmlescapes/-/lodash._htmlescapes-2.4.1.tgz#32d14bf0844b6de6f8b62a051b4f67c228b624cb" + +lodash._isiterateecall@^3.0.0: + version "3.0.9" + resolved "https://registry.yarnpkg.com/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz#5203ad7ba425fae842460e696db9cf3e6aac057c" + +lodash._isnative@~2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/lodash._isnative/-/lodash._isnative-2.4.1.tgz#3ea6404b784a7be836c7b57580e1cdf79b14832c" + +lodash._objecttypes@~2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz#7c0b7f69d98a1f76529f890b0cdb1b4dfec11c11" + +lodash._reescape@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/lodash._reescape/-/lodash._reescape-3.0.0.tgz#2b1d6f5dfe07c8a355753e5f27fac7f1cde1616a" + +lodash._reevaluate@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz#58bc74c40664953ae0b124d806996daca431e2ed" + +lodash._reinterpolate@^2.4.1, lodash._reinterpolate@~2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-2.4.1.tgz#4f1227aa5a8711fc632f5b07a1f4607aab8b3222" + +lodash._reinterpolate@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" + +lodash._reunescapedhtml@~2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/lodash._reunescapedhtml/-/lodash._reunescapedhtml-2.4.1.tgz#747c4fc40103eb3bb8a0976e571f7a2659e93ba7" + dependencies: + lodash._htmlescapes "~2.4.1" + lodash.keys "~2.4.1" + +lodash._root@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/lodash._root/-/lodash._root-3.0.1.tgz#fba1c4524c19ee9a5f8136b4609f017cf4ded692" + +lodash._shimkeys@~2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/lodash._shimkeys/-/lodash._shimkeys-2.4.1.tgz#6e9cc9666ff081f0b5a6c978b83e242e6949d203" + dependencies: + lodash._objecttypes "~2.4.1" + +lodash.debounce@^4.0.3: + version "4.0.8" + resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" + +lodash.defaults@~2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-2.4.1.tgz#a7e8885f05e68851144b6e12a8f3678026bc4c54" + dependencies: + lodash._objecttypes "~2.4.1" + lodash.keys "~2.4.1" + +lodash.difference@^4.3.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.difference/-/lodash.difference-4.5.0.tgz#9ccb4e505d486b91651345772885a2df27fd017c" + +lodash.escape@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/lodash.escape/-/lodash.escape-3.2.0.tgz#995ee0dc18c1b48cc92effae71a10aab5b487698" + dependencies: + lodash._root "^3.0.0" + +lodash.escape@~2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/lodash.escape/-/lodash.escape-2.4.1.tgz#2ce12c5e084db0a57dda5e5d1eeeb9f5d175a3b4" + dependencies: + lodash._escapehtmlchar "~2.4.1" + lodash._reunescapedhtml "~2.4.1" + lodash.keys "~2.4.1" + +lodash.flatten@^4.2.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz#f31c22225a9632d2bbf8e4addbef240aa765a61f" + +lodash.isarguments@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a" + +lodash.isarray@^3.0.0: + version "3.0.4" + resolved "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55" + +lodash.isequal@^4.0.0, lodash.isequal@^4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.4.0.tgz#6295768e98e14dc15ce8d362ef6340db82852031" + +lodash.isobject@~2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/lodash.isobject/-/lodash.isobject-2.4.1.tgz#5a2e47fe69953f1ee631a7eba1fe64d2d06558f5" + dependencies: + lodash._objecttypes "~2.4.1" + +lodash.keys@^3.0.0: + version "3.1.2" + resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-3.1.2.tgz#4dbc0472b156be50a0b286855d1bd0b0c656098a" + dependencies: + lodash._getnative "^3.0.0" + lodash.isarguments "^3.0.0" + lodash.isarray "^3.0.0" + +lodash.keys@~2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-2.4.1.tgz#48dea46df8ff7632b10d706b8acb26591e2b3727" + dependencies: + lodash._isnative "~2.4.1" + lodash._shimkeys "~2.4.1" + lodash.isobject "~2.4.1" + +lodash.restparam@^3.0.0: + version "3.6.1" + resolved "https://registry.yarnpkg.com/lodash.restparam/-/lodash.restparam-3.6.1.tgz#936a4e309ef330a7645ed4145986c85ae5b20805" + +lodash.template@^2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-2.4.1.tgz#9e611007edf629129a974ab3c48b817b3e1cf20d" + dependencies: + lodash._escapestringchar "~2.4.1" + lodash._reinterpolate "~2.4.1" + lodash.defaults "~2.4.1" + lodash.escape "~2.4.1" + lodash.keys "~2.4.1" + lodash.templatesettings "~2.4.1" + lodash.values "~2.4.1" + +lodash.template@^3.0.0: + version "3.6.2" + resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-3.6.2.tgz#f8cdecc6169a255be9098ae8b0c53d378931d14f" + dependencies: + lodash._basecopy "^3.0.0" + lodash._basetostring "^3.0.0" + lodash._basevalues "^3.0.0" + lodash._isiterateecall "^3.0.0" + lodash._reinterpolate "^3.0.0" + lodash.escape "^3.0.0" + lodash.keys "^3.0.0" + lodash.restparam "^3.0.0" + lodash.templatesettings "^3.0.0" + +lodash.templatesettings@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz#fb307844753b66b9f1afa54e262c745307dba8e5" + dependencies: + lodash._reinterpolate "^3.0.0" + lodash.escape "^3.0.0" + +lodash.templatesettings@~2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-2.4.1.tgz#ea76c75d11eb86d4dbe89a83893bb861929ac699" + dependencies: + lodash._reinterpolate "~2.4.1" + lodash.escape "~2.4.1" + +lodash.values@~2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/lodash.values/-/lodash.values-2.4.1.tgz#abf514436b3cb705001627978cbcf30b1280eea4" + dependencies: + lodash.keys "~2.4.1" + +lodash@^4.14.0, lodash@^4.2.0: + version "4.17.4" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" + +loose-envify@^1.0.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.0.tgz#6b26248c42f6d4fa4b0d8542f78edfcde35642a8" + dependencies: + js-tokens "^2.0.0" + +loud-rejection@^1.0.0, loud-rejection@^1.2.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" + dependencies: + currently-unhandled "^0.4.1" + signal-exit "^3.0.0" + +lowercase-keys@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.0.tgz#4e3366b39e7f5457e35f1324bdf6f88d0bfc7306" + +lru-cache@2: + version "2.7.3" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-2.7.3.tgz#6d4524e8b955f95d4f5b58851ce21dd72fb4e952" + +lru-cache@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.0.2.tgz#1d17679c069cda5d040991a09dbc2c0db377e55e" + dependencies: + pseudomap "^1.0.1" + yallist "^2.0.0" + +map-obj@^1.0.0, map-obj@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" + +map-stream@~0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/map-stream/-/map-stream-0.1.0.tgz#e56aa94c4c8055a16404a0674b78f215f7c8e194" + +matcher@^0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/matcher/-/matcher-0.1.2.tgz#ef20cbde64c24c50cc61af5b83ee0b1b8ff00101" + dependencies: + escape-string-regexp "^1.0.4" + +max-timeout@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/max-timeout/-/max-timeout-1.0.0.tgz#b68f69a2f99e0b476fd4cb23e2059ca750715e1f" + +md5-hex@^1.2.0, md5-hex@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/md5-hex/-/md5-hex-1.3.0.tgz#d2c4afe983c4370662179b8cad145219135046c4" + dependencies: + md5-o-matic "^0.1.1" + +md5-o-matic@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/md5-o-matic/-/md5-o-matic-0.1.1.tgz#822bccd65e117c514fab176b25945d54100a03c3" + +meow@^3.3.0, meow@^3.7.0: + version "3.7.0" + resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" + dependencies: + camelcase-keys "^2.0.0" + decamelize "^1.1.2" + loud-rejection "^1.0.0" + map-obj "^1.0.1" + minimist "^1.1.3" + normalize-package-data "^2.3.4" + object-assign "^4.0.1" + read-pkg-up "^1.0.1" + redent "^1.0.0" + trim-newlines "^1.0.0" + +merge-stream@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-1.0.1.tgz#4041202d508a342ba00174008df0c251b8c135e1" + dependencies: + readable-stream "^2.0.1" + +micromatch@^2.1.5, micromatch@^2.3.7: + version "2.3.11" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" + dependencies: + arr-diff "^2.0.0" + array-unique "^0.2.1" + braces "^1.8.2" + expand-brackets "^0.1.4" + extglob "^0.3.1" + filename-regex "^2.0.0" + is-extglob "^1.0.0" + is-glob "^2.0.1" + kind-of "^3.0.2" + normalize-path "^2.0.1" + object.omit "^2.0.0" + parse-glob "^3.0.4" + regex-cache "^0.4.2" + +mime-db@~1.12.0: + version "1.12.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.12.0.tgz#3d0c63180f458eb10d325aaa37d7c58ae312e9d7" + +mime-db@~1.25.0: + version "1.25.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.25.0.tgz#c18dbd7c73a5dbf6f44a024dc0d165a1e7b1c392" + +mime-types@^2.1.11, mime-types@^2.1.12, mime-types@~2.1.7: + version "2.1.13" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.13.tgz#e07aaa9c6c6b9a7ca3012c69003ad25a39e92a88" + dependencies: + mime-db "~1.25.0" + +mime-types@~2.0.1: + version "2.0.14" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.0.14.tgz#310e159db23e077f8bb22b748dabfa4957140aa6" + dependencies: + mime-db "~1.12.0" + +minimatch@0.3: + version "0.3.0" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-0.3.0.tgz#275d8edaac4f1bb3326472089e7949c8394699dd" + dependencies: + lru-cache "2" + sigmund "~1.0.0" + +"minimatch@2 || 3", minimatch@^3.0.0, minimatch@^3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.3.tgz#2a4e4090b96b2db06a9d7df01055a62a77c9b774" + dependencies: + brace-expansion "^1.0.0" + +minimist@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" + +minimist@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.2.0.tgz#4dffe525dae2b864c66c2e23c6271d7afdecefce" + +minimist@^1.1.0, minimist@^1.1.3, minimist@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" + +mkdirp@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.3.0.tgz#1bbf5ab1ba827af23575143490426455f481fe1e" + +mkdirp@0.5.1, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" + dependencies: + minimist "0.0.8" + +mocha@^2.3.3: + version "2.5.3" + resolved "https://registry.yarnpkg.com/mocha/-/mocha-2.5.3.tgz#161be5bdeb496771eb9b35745050b622b5aefc58" + dependencies: + commander "2.3.0" + debug "2.2.0" + diff "1.4.0" + escape-string-regexp "1.0.2" + glob "3.2.11" + growl "1.9.2" + jade "0.26.3" + mkdirp "0.5.1" + supports-color "1.2.0" + to-iso-string "0.0.2" + +ms@0.7.1: + version "0.7.1" + resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098" + +ms@0.7.2, ms@^0.7.1: + version "0.7.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.2.tgz#ae25cf2512b3885a1d95d7f037868d8431124765" + +multimatch@^2.0.0, multimatch@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/multimatch/-/multimatch-2.1.0.tgz#9c7906a22fb4c02919e2f5f75161b4cdbd4b2a2b" + dependencies: + array-differ "^1.0.0" + array-union "^1.0.1" + arrify "^1.0.0" + minimatch "^3.0.0" + +multipipe@^0.1.0, multipipe@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/multipipe/-/multipipe-0.1.2.tgz#2a8f2ddf70eed564dff2d57f1e1a137d9f05078b" + dependencies: + duplexer2 "0.0.2" + +nan@^2.3.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.5.0.tgz#aa8f1e34531d807e9e27755b234b4a6ec0c152a8" + +node-pre-gyp@0.6.32, node-pre-gyp@^0.6.29: + version "0.6.32" + resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.32.tgz#fc452b376e7319b3d255f5f34853ef6fd8fe1fd5" + dependencies: + mkdirp "~0.5.1" + nopt "~3.0.6" + npmlog "^4.0.1" + rc "~1.1.6" + request "^2.79.0" + rimraf "~2.5.4" + semver "~5.3.0" + tar "~2.2.1" + tar-pack "~3.3.0" + +node-status-codes@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/node-status-codes/-/node-status-codes-1.0.0.tgz#5ae5541d024645d32a58fcddc9ceecea7ae3ac2f" + +node-uuid@~1.4.0: + version "1.4.7" + resolved "https://registry.yarnpkg.com/node-uuid/-/node-uuid-1.4.7.tgz#6da5a17668c4b3dd59623bda11cf7fa4c1f60a6f" + +node.extend@~1.1.2: + version "1.1.6" + resolved "https://registry.yarnpkg.com/node.extend/-/node.extend-1.1.6.tgz#a7b882c82d6c93a4863a5504bd5de8ec86258b96" + dependencies: + is "^3.1.0" + +nopt@~3.0.6: + version "3.0.6" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" + dependencies: + abbrev "1" + +normalize-package-data@^2.3.2, normalize-package-data@^2.3.4: + version "2.3.5" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.3.5.tgz#8d924f142960e1777e7ffe170543631cc7cb02df" + dependencies: + hosted-git-info "^2.1.4" + is-builtin-module "^1.0.0" + semver "2 || 3 || 4 || 5" + validate-npm-package-license "^3.0.1" + +normalize-path@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.0.1.tgz#47886ac1662760d4261b7d979d241709d3ce3f7a" + +npmlog@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.0.2.tgz#d03950e0e78ce1527ba26d2a7592e9348ac3e75f" + dependencies: + are-we-there-yet "~1.1.2" + console-control-strings "~1.1.0" + gauge "~2.7.1" + set-blocking "~2.0.0" + +number-is-nan@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" + +oauth-sign@~0.8.0, oauth-sign@~0.8.1: + version "0.8.2" + resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" + +object-assign@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-3.0.0.tgz#9bedd5ca0897949bca47e7ff408062d549f587f2" + +object-assign@^4.0.0, object-assign@^4.0.1, object-assign@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.0.tgz#7a3b3d0e98063d43f4c03f2e8ae6cd51a86883a0" + +object-keys@~0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-0.4.0.tgz#28a6aae7428dd2c3a92f3d95f21335dd204e0336" + +object.omit@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" + dependencies: + for-own "^0.1.4" + is-extendable "^0.1.1" + +observable-to-promise@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/observable-to-promise/-/observable-to-promise-0.4.0.tgz#28afe71645308f2d41d71f47ad3fece1a377e52b" + dependencies: + is-observable "^0.2.0" + symbol-observable "^0.2.2" + +once@^1.3.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + dependencies: + wrappy "1" + +once@~1.3.0, once@~1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/once/-/once-1.3.3.tgz#b2e261557ce4c314ec8304f3fa82663e4297ca20" + dependencies: + wrappy "1" + +onetime@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789" + +option-chain@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/option-chain/-/option-chain-0.1.1.tgz#e9b811e006f1c0f54802f28295bfc8970f8dcfbd" + dependencies: + object-assign "^4.0.1" + +ordered-read-streams@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/ordered-read-streams/-/ordered-read-streams-0.3.0.tgz#7137e69b3298bb342247a1bbee3881c80e2fd78b" + dependencies: + is-stream "^1.0.1" + readable-stream "^2.0.1" + +os-homedir@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" + +os-tmpdir@^1.0.0, os-tmpdir@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" + +osenv@^0.1.0: + version "0.1.4" + resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.4.tgz#42fe6d5953df06c8064be6f176c3d05aaaa34644" + dependencies: + os-homedir "^1.0.0" + os-tmpdir "^1.0.0" + +package-hash@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/package-hash/-/package-hash-1.2.0.tgz#003e56cd57b736a6ed6114cc2b81542672770e44" + dependencies: + md5-hex "^1.3.0" + +package-json@^2.0.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/package-json/-/package-json-2.4.0.tgz#0d15bd67d1cbbddbb2ca222ff2edb86bcb31a8bb" + dependencies: + got "^5.0.0" + registry-auth-token "^3.0.1" + registry-url "^3.0.3" + semver "^5.1.0" + +parse-glob@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" + dependencies: + glob-base "^0.3.0" + is-dotfile "^1.0.0" + is-extglob "^1.0.0" + is-glob "^2.0.0" + +parse-json@^2.1.0, parse-json@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" + dependencies: + error-ex "^1.2.0" + +parse-ms@^0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/parse-ms/-/parse-ms-0.1.2.tgz#dd3fa25ed6c2efc7bdde12ad9b46c163aa29224e" + +parse-ms@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parse-ms/-/parse-ms-1.0.1.tgz#56346d4749d78f23430ca0c713850aef91aa361d" + +path-dirname@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" + +path-exists@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" + dependencies: + pinkie-promise "^2.0.0" + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + +path-type@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" + dependencies: + graceful-fs "^4.1.2" + pify "^2.0.0" + pinkie-promise "^2.0.0" + +pause-stream@0.0.11: + version "0.0.11" + resolved "https://registry.yarnpkg.com/pause-stream/-/pause-stream-0.0.11.tgz#fe5a34b0cbce12b5aa6a2b403ee2e73b602f1445" + dependencies: + through "~2.3" + +pend@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" + +pify@^2.0.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + +pinkie-promise@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-1.0.0.tgz#d1da67f5482563bb7cf57f286ae2822ecfbf3670" + dependencies: + pinkie "^1.0.0" + +pinkie-promise@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" + dependencies: + pinkie "^2.0.0" + +pinkie@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-1.0.0.tgz#5a47f28ba1015d0201bda7bf0f358e47bec8c7e4" + +pinkie@^2.0.0: + version "2.0.4" + resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" + +pkg-conf@^1.0.1: + version "1.1.3" + resolved "https://registry.yarnpkg.com/pkg-conf/-/pkg-conf-1.1.3.tgz#378e56d6fd13e88bfb6f4a25df7a83faabddba5b" + dependencies: + find-up "^1.0.0" + load-json-file "^1.1.0" + object-assign "^4.0.1" + symbol "^0.2.1" + +pkg-dir@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-1.0.0.tgz#7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4" + dependencies: + find-up "^1.0.0" + +plur@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/plur/-/plur-1.0.0.tgz#db85c6814f5e5e5a3b49efc28d604fec62975156" + +plur@^2.0.0: + version "2.1.2" + resolved "https://registry.yarnpkg.com/plur/-/plur-2.1.2.tgz#7482452c1a0f508e3e344eaec312c91c29dc655a" + dependencies: + irregular-plurals "^1.0.0" + +power-assert-context-formatter@^1.0.4: + version "1.1.1" + resolved "https://registry.yarnpkg.com/power-assert-context-formatter/-/power-assert-context-formatter-1.1.1.tgz#edba352d3ed8a603114d667265acce60d689ccdf" + dependencies: + core-js "^2.0.0" + power-assert-context-traversal "^1.1.1" + +power-assert-context-traversal@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/power-assert-context-traversal/-/power-assert-context-traversal-1.1.1.tgz#88cabca0d13b6359f07d3d3e8afa699264577ed9" + dependencies: + core-js "^2.0.0" + estraverse "^4.1.0" + +power-assert-renderer-assertion@^1.0.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/power-assert-renderer-assertion/-/power-assert-renderer-assertion-1.1.1.tgz#cbfc0e77e0086a8f96af3f1d8e67b9ee7e28ce98" + dependencies: + power-assert-renderer-base "^1.1.1" + power-assert-util-string-width "^1.1.1" + +power-assert-renderer-base@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/power-assert-renderer-base/-/power-assert-renderer-base-1.1.1.tgz#96a650c6fd05ee1bc1f66b54ad61442c8b3f63eb" + +power-assert-renderer-diagram@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/power-assert-renderer-diagram/-/power-assert-renderer-diagram-1.1.1.tgz#7e0c82cc08a84b155e51b5ae94f59709778a65fb" + dependencies: + core-js "^2.0.0" + power-assert-renderer-base "^1.1.1" + power-assert-util-string-width "^1.1.1" + stringifier "^1.3.0" + +power-assert-renderer-succinct@^1.0.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/power-assert-renderer-succinct/-/power-assert-renderer-succinct-1.1.1.tgz#c2a468b23822abd6f80e2aba5322347b09df476e" + dependencies: + core-js "^2.0.0" + power-assert-renderer-diagram "^1.1.1" + +power-assert-util-string-width@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/power-assert-util-string-width/-/power-assert-util-string-width-1.1.1.tgz#be659eb7937fdd2e6c9a77268daaf64bd5b7c592" + dependencies: + eastasianwidth "^0.1.1" + +prepend-http@^1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" + +preserve@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" + +pretty-ms@^0.2.1: + version "0.2.2" + resolved "https://registry.yarnpkg.com/pretty-ms/-/pretty-ms-0.2.2.tgz#da879a682ff33a37011046f13d627f67c73b84f6" + dependencies: + parse-ms "^0.1.0" + +pretty-ms@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/pretty-ms/-/pretty-ms-2.1.0.tgz#4257c256df3fb0b451d6affaab021884126981dc" + dependencies: + is-finite "^1.0.1" + parse-ms "^1.0.0" + plur "^1.0.0" + +private@^0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/private/-/private-0.1.6.tgz#55c6a976d0f9bafb9924851350fe47b9b5fbb7c1" + +process-nextick-args@~1.0.6: + version "1.0.7" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" + +pseudomap@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" + +punycode@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" + +qs@~3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-3.1.0.tgz#d0e9ae745233a12dc43fb4f3055bba446261153c" + +qs@~6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.3.0.tgz#f403b264f23bc01228c74131b407f18d5ea5d442" + +queue@^3.0.10, queue@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/queue/-/queue-3.1.0.tgz#6c49d01f009e2256788789f2bffac6b8b9990585" + dependencies: + inherits "~2.0.0" + +randomatic@^1.1.3: + version "1.1.6" + resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.6.tgz#110dcabff397e9dcff7c0789ccc0a49adf1ec5bb" + dependencies: + is-number "^2.0.2" + kind-of "^3.0.2" + +rc@^1.0.1, rc@^1.1.6, rc@~1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/rc/-/rc-1.1.6.tgz#43651b76b6ae53b5c802f1151fa3fc3b059969c9" + dependencies: + deep-extend "~0.4.0" + ini "~1.3.0" + minimist "^1.2.0" + strip-json-comments "~1.0.4" + +read-all-stream@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/read-all-stream/-/read-all-stream-3.1.0.tgz#35c3e177f2078ef789ee4bfafa4373074eaef4fa" + dependencies: + pinkie-promise "^2.0.0" + readable-stream "^2.0.0" + +read-pkg-up@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" + dependencies: + find-up "^1.0.0" + read-pkg "^1.0.0" + +read-pkg@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" + dependencies: + load-json-file "^1.0.0" + normalize-package-data "^2.3.2" + path-type "^1.0.0" + +"readable-stream@>=1.0.33-1 <1.1.0-0", readable-stream@~1.0.17, readable-stream@~1.0.26: + version "1.0.34" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "0.0.1" + string_decoder "~0.10.x" + +readable-stream@^2.0.0, "readable-stream@^2.0.0 || ^1.1.13", readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.4, readable-stream@^2.0.5, readable-stream@^2.1.5: + version "2.2.2" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.2.2.tgz#a9e6fec3c7dda85f8bb1b3ba7028604556fc825e" + dependencies: + buffer-shims "^1.0.0" + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "~1.0.0" + process-nextick-args "~1.0.6" + string_decoder "~0.10.x" + util-deprecate "~1.0.1" + +readable-stream@~1.1.9: + version "1.1.14" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "0.0.1" + string_decoder "~0.10.x" + +readable-stream@~2.1.4: + version "2.1.5" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.1.5.tgz#66fa8b720e1438b364681f2ad1a63c618448c9d0" + dependencies: + buffer-shims "^1.0.0" + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "~1.0.0" + process-nextick-args "~1.0.6" + string_decoder "~0.10.x" + util-deprecate "~1.0.1" + +readdirp@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78" + dependencies: + graceful-fs "^4.1.2" + minimatch "^3.0.2" + readable-stream "^2.0.2" + set-immediate-shim "^1.0.1" + +redent@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" + dependencies: + indent-string "^2.1.0" + strip-indent "^1.0.1" + +regenerate@^1.2.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.3.2.tgz#d1941c67bad437e1be76433add5b385f95b19260" + +regenerator-runtime@^0.10.0: + version "0.10.1" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.1.tgz#257f41961ce44558b18f7814af48c17559f9faeb" + +regenerator-transform@0.9.8: + version "0.9.8" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.9.8.tgz#0f88bb2bc03932ddb7b6b7312e68078f01026d6c" + dependencies: + babel-runtime "^6.18.0" + babel-types "^6.19.0" + private "^0.1.6" + +regex-cache@^0.4.2: + version "0.4.3" + resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.3.tgz#9b1a6c35d4d0dfcef5711ae651e8e9d3d7114145" + dependencies: + is-equal-shallow "^0.1.3" + is-primitive "^2.0.0" + +regexpu-core@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-2.0.0.tgz#49d038837b8dcf8bfa5b9a42139938e6ea2ae240" + dependencies: + regenerate "^1.2.1" + regjsgen "^0.2.0" + regjsparser "^0.1.4" + +registry-auth-token@^3.0.1: + version "3.1.0" + resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-3.1.0.tgz#997c08256e0c7999837b90e944db39d8a790276b" + dependencies: + rc "^1.1.6" + +registry-url@^3.0.3: + version "3.1.0" + resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-3.1.0.tgz#3d4ef870f73dde1d77f0cf9a381432444e174942" + dependencies: + rc "^1.0.1" + +regjsgen@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7" + +regjsparser@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c" + dependencies: + jsesc "~0.5.0" + +repeat-element@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a" + +repeat-string@^1.5.2: + version "1.6.1" + resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + +repeating@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" + dependencies: + is-finite "^1.0.0" + +replace-ext@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-0.0.1.tgz#29bbd92078a739f0bcce2b4ee41e837953522924" + +request@^2.67.0, request@^2.79.0: + version "2.79.0" + resolved "https://registry.yarnpkg.com/request/-/request-2.79.0.tgz#4dfe5bf6be8b8cdc37fcf93e04b65577722710de" + dependencies: + aws-sign2 "~0.6.0" + aws4 "^1.2.1" + caseless "~0.11.0" + combined-stream "~1.0.5" + extend "~3.0.0" + forever-agent "~0.6.1" + form-data "~2.1.1" + har-validator "~2.0.6" + hawk "~3.1.3" + http-signature "~1.1.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.7" + oauth-sign "~0.8.1" + qs "~6.3.0" + stringstream "~0.0.4" + tough-cookie "~2.3.0" + tunnel-agent "~0.4.1" + uuid "^3.0.0" + +request@~2.58.0: + version "2.58.0" + resolved "https://registry.yarnpkg.com/request/-/request-2.58.0.tgz#b5f49c0b94aab7fad388612a1fb6ad03b6cc1580" + dependencies: + aws-sign2 "~0.5.0" + bl "~0.9.0" + caseless "~0.10.0" + combined-stream "~1.0.1" + extend "~2.0.1" + forever-agent "~0.6.0" + form-data "~1.0.0-rc1" + har-validator "^1.6.1" + hawk "~2.3.0" + http-signature "~0.11.0" + isstream "~0.1.1" + json-stringify-safe "~5.0.0" + mime-types "~2.0.1" + node-uuid "~1.4.0" + oauth-sign "~0.8.0" + qs "~3.1.0" + stringstream "~0.0.4" + tough-cookie ">=0.12.0" + tunnel-agent "~0.4.0" + +require-precompiled@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/require-precompiled/-/require-precompiled-0.1.0.tgz#5a1b52eb70ebed43eb982e974c85ab59571e56fa" + +resolve-cwd@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-1.0.0.tgz#4eaeea41ed040d1702457df64a42b2b07d246f9f" + dependencies: + resolve-from "^2.0.0" + +resolve-from@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-2.0.0.tgz#9480ab20e94ffa1d9e80a804c7ea147611966b57" + +restore-cursor@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541" + dependencies: + exit-hook "^1.0.0" + onetime "^1.0.0" + +rimraf@2, rimraf@~2.5.1, rimraf@~2.5.4: + version "2.5.4" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.5.4.tgz#96800093cbf1a0c86bd95b4625467535c29dfa04" + dependencies: + glob "^7.0.5" + +semver-diff@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-2.1.0.tgz#4bbb8437c8d37e4b0cf1a68fd726ec6d645d6d36" + dependencies: + semver "^5.0.3" + +"semver@2 || 3 || 4 || 5", semver@^5.0.3, semver@^5.1.0, semver@^5.3.0, semver@~5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" + +set-blocking@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + +set-immediate-shim@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61" + +sigmund@~1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/sigmund/-/sigmund-1.0.1.tgz#3ff21f198cad2175f9f3b781853fd94d0d19b590" + +signal-exit@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" + +slash@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" + +slice-ansi@0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35" + +slide@^1.1.5: + version "1.1.6" + resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707" + +sntp@1.x.x: + version "1.0.9" + resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198" + dependencies: + hoek "2.x.x" + +sort-keys@^1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad" + dependencies: + is-plain-obj "^1.0.0" + +source-map-support@^0.3.2: + version "0.3.3" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.3.3.tgz#34900977d5ba3f07c7757ee72e73bb1a9b53754f" + dependencies: + source-map "0.1.32" + +source-map-support@^0.4.0, source-map-support@^0.4.2: + version "0.4.8" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.8.tgz#4871918d8a3af07289182e974e32844327b2e98b" + dependencies: + source-map "^0.5.3" + +source-map@0.1.32: + version "0.1.32" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.1.32.tgz#c8b6c167797ba4740a8ea33252162ff08591b266" + dependencies: + amdefine ">=0.0.4" + +source-map@^0.5.0, source-map@^0.5.3: + version "0.5.6" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" + +sparkles@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/sparkles/-/sparkles-1.0.0.tgz#1acbbfb592436d10bbe8f785b7cc6f82815012c3" + +spdx-correct@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-1.0.2.tgz#4b3073d933ff51f3912f03ac5519498a4150db40" + dependencies: + spdx-license-ids "^1.0.2" + +spdx-expression-parse@~1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz#9bdf2f20e1f40ed447fbe273266191fced51626c" + +spdx-license-ids@^1.0.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57" + +split@0.2: + version "0.2.10" + resolved "https://registry.yarnpkg.com/split/-/split-0.2.10.tgz#67097c601d697ce1368f418f06cd201cf0521a57" + dependencies: + through "2" + +split@0.3: + version "0.3.3" + resolved "https://registry.yarnpkg.com/split/-/split-0.3.3.tgz#cd0eea5e63a211dfff7eb0f091c4133e2d0dd28f" + dependencies: + through "2" + +sshpk@^1.7.0: + version "1.10.1" + resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.10.1.tgz#30e1a5d329244974a1af61511339d595af6638b0" + dependencies: + asn1 "~0.2.3" + assert-plus "^1.0.0" + dashdash "^1.12.0" + getpass "^0.1.1" + optionalDependencies: + bcrypt-pbkdf "^1.0.0" + ecc-jsbn "~0.1.1" + jodid25519 "^1.0.0" + jsbn "~0.1.0" + tweetnacl "~0.14.0" + +stack-utils@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-0.4.0.tgz#940cb82fccfa84e8ff2f3fdf293fe78016beccd1" + +stat-mode@^0.2.0: + version "0.2.2" + resolved "https://registry.yarnpkg.com/stat-mode/-/stat-mode-0.2.2.tgz#e6c80b623123d7d80cf132ce538f346289072502" + +stream-combiner@~0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/stream-combiner/-/stream-combiner-0.0.4.tgz#4d5e433c185261dde623ca3f44c586bcf5c4ad14" + dependencies: + duplexer "~0.1.1" + +stream-shift@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.0.tgz#d5c752825e5367e786f78e18e445ea223a155952" + +streamfilter@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/streamfilter/-/streamfilter-1.0.5.tgz#87507111beb8e298451717b511cfed8f002abf53" + dependencies: + readable-stream "^2.0.2" + +streamifier@~0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/streamifier/-/streamifier-0.1.1.tgz#97e98d8fa4d105d62a2691d1dc07e820db8dfc4f" + +string-width@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" + dependencies: + code-point-at "^1.0.0" + is-fullwidth-code-point "^1.0.0" + strip-ansi "^3.0.0" + +string_decoder@~0.10.x: + version "0.10.31" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" + +stringifier@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/stringifier/-/stringifier-1.3.0.tgz#def18342f6933db0f2dbfc9aa02175b448c17959" + dependencies: + core-js "^2.0.0" + traverse "^0.6.6" + type-name "^2.0.1" + +stringstream@~0.0.4: + version "0.0.5" + resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878" + +strip-ansi@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-0.3.0.tgz#25f48ea22ca79187f3174a4db8759347bb126220" + dependencies: + ansi-regex "^0.2.1" + +strip-ansi@^3.0.0, strip-ansi@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" + dependencies: + ansi-regex "^2.0.0" + +strip-ansi@~0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-0.1.1.tgz#39e8a98d044d150660abe4a6808acf70bb7bc991" + +strip-bom-stream@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/strip-bom-stream/-/strip-bom-stream-1.0.0.tgz#e7144398577d51a6bed0fa1994fa05f43fd988ee" + dependencies: + first-chunk-stream "^1.0.0" + strip-bom "^2.0.0" + +strip-bom@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" + dependencies: + is-utf8 "^0.2.0" + +strip-indent@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2" + dependencies: + get-stdin "^4.0.1" + +strip-json-comments@~1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-1.0.4.tgz#1e15fbcac97d3ee99bf2d73b4c656b082bbafb91" + +supports-color@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-1.2.0.tgz#ff1ed1e61169d06b3cf2d588e188b18d8847e17e" + +supports-color@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-0.2.0.tgz#d92de2694eb3f67323973d7ae3d8b55b4c22190a" + +supports-color@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" + +symbol-observable@^0.2.2: + version "0.2.4" + resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-0.2.4.tgz#95a83db26186d6af7e7a18dbd9760a2f86d08f40" + +symbol@^0.2.1: + version "0.2.3" + resolved "https://registry.yarnpkg.com/symbol/-/symbol-0.2.3.tgz#3b9873b8a901e47c6efe21526a3ac372ef28bbc7" + +tar-pack@~3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/tar-pack/-/tar-pack-3.3.0.tgz#30931816418f55afc4d21775afdd6720cee45dae" + dependencies: + debug "~2.2.0" + fstream "~1.0.10" + fstream-ignore "~1.0.5" + once "~1.3.3" + readable-stream "~2.1.4" + rimraf "~2.5.1" + tar "~2.2.1" + uid-number "~0.0.6" + +tar@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/tar/-/tar-1.0.3.tgz#15bcdab244fa4add44e4244a0176edb8aa9a2b44" + dependencies: + block-stream "*" + fstream "^1.0.2" + inherits "2" + +tar@~2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1" + dependencies: + block-stream "*" + fstream "^1.0.2" + inherits "2" + +text-table@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + +the-argv@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/the-argv/-/the-argv-1.0.0.tgz#0084705005730dd84db755253c931ae398db9522" + +through2-filter@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/through2-filter/-/through2-filter-2.0.0.tgz#60bc55a0dacb76085db1f9dae99ab43f83d622ec" + dependencies: + through2 "~2.0.0" + xtend "~4.0.0" + +through2@^0.5.0, through2@~0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/through2/-/through2-0.5.1.tgz#dfdd012eb9c700e2323fd334f38ac622ab372da7" + dependencies: + readable-stream "~1.0.17" + xtend "~3.0.0" + +through2@^0.6.0, through2@^0.6.1, through2@^0.6.3, through2@~0.6.5: + version "0.6.5" + resolved "https://registry.yarnpkg.com/through2/-/through2-0.6.5.tgz#41ab9c67b29d57209071410e1d7a7a968cd3ad48" + dependencies: + readable-stream ">=1.0.33-1 <1.1.0-0" + xtend ">=4.0.0 <4.1.0-0" + +through2@^2.0.0, through2@~2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be" + dependencies: + readable-stream "^2.1.5" + xtend "~4.0.1" + +through2@~0.4.1: + version "0.4.2" + resolved "https://registry.yarnpkg.com/through2/-/through2-0.4.2.tgz#dbf5866031151ec8352bb6c4db64a2292a840b9b" + dependencies: + readable-stream "~1.0.17" + xtend "~2.1.1" + +through@2, through@~2.3, through@~2.3.1: + version "2.3.8" + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + +time-require@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/time-require/-/time-require-0.1.2.tgz#f9e12cb370fc2605e11404582ba54ef5ca2b2d98" + dependencies: + chalk "^0.4.0" + date-time "^0.1.1" + pretty-ms "^0.2.1" + text-table "^0.2.0" + +time-stamp@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/time-stamp/-/time-stamp-1.0.1.tgz#9f4bd23559c9365966f3302dbba2b07c6b99b151" + +timed-out@^3.0.0: + version "3.1.3" + resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-3.1.3.tgz#95860bfcc5c76c277f8f8326fd0f5b2e20eba217" + +to-absolute-glob@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/to-absolute-glob/-/to-absolute-glob-0.1.1.tgz#1cdfa472a9ef50c239ee66999b662ca0eb39937f" + dependencies: + extend-shallow "^2.0.1" + +to-fast-properties@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.2.tgz#f3f5c0c3ba7299a7ef99427e44633257ade43320" + +to-iso-string@0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/to-iso-string/-/to-iso-string-0.0.2.tgz#4dc19e664dfccbe25bd8db508b00c6da158255d1" + +tough-cookie@>=0.12.0, tough-cookie@~2.3.0: + version "2.3.2" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.2.tgz#f081f76e4c85720e6c37a5faced737150d84072a" + dependencies: + punycode "^1.4.1" + +traverse@^0.6.6: + version "0.6.6" + resolved "https://registry.yarnpkg.com/traverse/-/traverse-0.6.6.tgz#cbdf560fd7b9af632502fed40f918c157ea97137" + +trim-newlines@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" + +tunnel-agent@~0.4.0, tunnel-agent@~0.4.1: + version "0.4.3" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.4.3.tgz#6373db76909fe570e08d73583365ed828a74eeeb" + +tweetnacl@^0.14.3, tweetnacl@~0.14.0: + version "0.14.5" + resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" + +type-name@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/type-name/-/type-name-2.0.2.tgz#efe7d4123d8ac52afff7f40c7e4dec5266008fb4" + +typescript@^2.0.3: + version "2.1.4" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.1.4.tgz#b53b69fb841126acb1dd4b397d21daba87572251" + +uid-number@~0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81" + +uid2@0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/uid2/-/uid2-0.0.3.tgz#483126e11774df2f71b8b639dcd799c376162b82" + +unique-stream@^2.0.2: + version "2.2.1" + resolved "https://registry.yarnpkg.com/unique-stream/-/unique-stream-2.2.1.tgz#5aa003cfbe94c5ff866c4e7d668bb1c4dbadb369" + dependencies: + json-stable-stringify "^1.0.0" + through2-filter "^2.0.0" + +unique-temp-dir@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unique-temp-dir/-/unique-temp-dir-1.0.0.tgz#6dce95b2681ca003eebfb304a415f9cbabcc5385" + dependencies: + mkdirp "^0.5.1" + os-tmpdir "^1.0.1" + uid2 "0.0.3" + +unzip-response@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-1.0.2.tgz#b984f0877fc0a89c2c773cc1ef7b5b232b5b06fe" + +update-notifier@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-1.0.3.tgz#8f92c515482bd6831b7c93013e70f87552c7cf5a" + dependencies: + boxen "^0.6.0" + chalk "^1.0.0" + configstore "^2.0.0" + is-npm "^1.0.0" + latest-version "^2.0.0" + lazy-req "^1.1.0" + semver-diff "^2.0.0" + xdg-basedir "^2.0.0" + +url-parse-lax@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-1.0.0.tgz#7af8f303645e9bd79a272e7a14ac68bc0609da73" + dependencies: + prepend-http "^1.0.1" + +util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + +uuid@^2.0.1: + version "2.0.3" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.3.tgz#67e2e863797215530dff318e5bf9dcebfd47b21a" + +uuid@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.0.1.tgz#6544bba2dfda8c1cf17e629a3a305e2bb1fee6c1" + +vali-date@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/vali-date/-/vali-date-1.0.0.tgz#1b904a59609fb328ef078138420934f6b86709a6" + +validate-npm-package-license@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz#2804babe712ad3379459acfbe24746ab2c303fbc" + dependencies: + spdx-correct "~1.0.0" + spdx-expression-parse "~1.0.0" + +verror@1.3.6: + version "1.3.6" + resolved "https://registry.yarnpkg.com/verror/-/verror-1.3.6.tgz#cff5df12946d297d2baaefaa2689e25be01c005c" + dependencies: + extsprintf "1.0.2" + +vinyl-fs@^2.0.0, vinyl-fs@^2.4.3: + version "2.4.4" + resolved "https://registry.yarnpkg.com/vinyl-fs/-/vinyl-fs-2.4.4.tgz#be6ff3270cb55dfd7d3063640de81f25d7532239" + dependencies: + duplexify "^3.2.0" + glob-stream "^5.3.2" + graceful-fs "^4.0.0" + gulp-sourcemaps "1.6.0" + is-valid-glob "^0.3.0" + lazystream "^1.0.0" + lodash.isequal "^4.0.0" + merge-stream "^1.0.0" + mkdirp "^0.5.0" + object-assign "^4.0.0" + readable-stream "^2.0.4" + strip-bom "^2.0.0" + strip-bom-stream "^1.0.0" + through2 "^2.0.0" + through2-filter "^2.0.0" + vali-date "^1.0.0" + vinyl "^1.0.0" + +vinyl-source-stream@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/vinyl-source-stream/-/vinyl-source-stream-1.1.0.tgz#44cbe5108205279deb0c5653c094a2887938b1ab" + dependencies: + through2 "^0.6.1" + vinyl "^0.4.3" + +vinyl@^0.2.1, vinyl@~0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-0.2.3.tgz#bca938209582ec5a49ad538a00fa1f125e513252" + dependencies: + clone-stats "~0.0.1" + +vinyl@^0.4.3, vinyl@^0.4.6, vinyl@~0.4.6: + version "0.4.6" + resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-0.4.6.tgz#2f356c87a550a255461f36bbeb2a5ba8bf784847" + dependencies: + clone "^0.2.0" + clone-stats "^0.0.1" + +vinyl@^0.5.0: + version "0.5.3" + resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-0.5.3.tgz#b0455b38fc5e0cf30d4325132e461970c2091cde" + dependencies: + clone "^1.0.0" + clone-stats "^0.0.1" + replace-ext "0.0.1" + +vinyl@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-1.2.0.tgz#5c88036cf565e5df05558bfc911f8656df218884" + dependencies: + clone "^1.0.0" + clone-stats "^0.0.1" + replace-ext "0.0.1" + +vscode@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/vscode/-/vscode-1.0.3.tgz#92e93f412082a73000ec8be86bb32d65d56de46b" + dependencies: + glob "^5.0.15" + gulp-chmod "^1.3.0" + gulp-filter "^4.0.0" + gulp-gunzip "0.0.3" + gulp-remote-src "^0.4.0" + gulp-symdest "^1.0.0" + gulp-untar "0.0.5" + gulp-vinyl-zip "^1.1.2" + mocha "^2.3.3" + request "^2.67.0" + semver "^5.1.0" + source-map-support "^0.3.2" + vinyl-source-stream "^1.1.0" + +which@^1.2.9: + version "1.2.12" + resolved "https://registry.yarnpkg.com/which/-/which-1.2.12.tgz#de67b5e450269f194909ef23ece4ebe416fa1192" + dependencies: + isexe "^1.1.1" + +wide-align@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.0.tgz#40edde802a71fea1f070da3e62dcda2e7add96ad" + dependencies: + string-width "^1.0.1" + +widest-line@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-1.0.0.tgz#0c09c85c2a94683d0d7eaf8ee097d564bf0e105c" + dependencies: + string-width "^1.0.1" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + +write-file-atomic@^1.1.2, write-file-atomic@^1.1.4: + version "1.2.0" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-1.2.0.tgz#14c66d4e4cb3ca0565c28cf3b7a6f3e4d5938fab" + dependencies: + graceful-fs "^4.1.2" + imurmurhash "^0.1.4" + slide "^1.1.5" + +write-json-file@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/write-json-file/-/write-json-file-1.2.0.tgz#2d5dfe96abc3c889057c93971aa4005efb548134" + dependencies: + graceful-fs "^4.1.2" + mkdirp "^0.5.1" + object-assign "^4.0.1" + pify "^2.0.0" + pinkie-promise "^2.0.0" + sort-keys "^1.1.1" + write-file-atomic "^1.1.2" + +write-pkg@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/write-pkg/-/write-pkg-1.0.0.tgz#aeb8aa9d4d788e1d893dfb0854968b543a919f57" + dependencies: + write-json-file "^1.1.0" + +xdg-basedir@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-2.0.0.tgz#edbc903cc385fc04523d966a335504b5504d1bd2" + dependencies: + os-homedir "^1.0.0" + +"xtend@>=4.0.0 <4.1.0-0", xtend@^4.0.0, xtend@~4.0.0, xtend@~4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" + +xtend@~2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-2.1.2.tgz#6efecc2a4dad8e6962c4901b337ce7ba87b5d28b" + dependencies: + object-keys "~0.4.0" + +xtend@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-3.0.0.tgz#5cce7407baf642cba7becda568111c493f59665a" + +yallist@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.0.0.tgz#306c543835f09ee1a4cb23b7bce9ab341c91cdd4" + +yauzl@^2.2.1: + version "2.7.0" + resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.7.0.tgz#e21d847868b496fc29eaec23ee87fdd33e9b2bce" + dependencies: + buffer-crc32 "~0.2.3" + fd-slicer "~1.0.1" + +yazl@^2.2.1: + version "2.4.2" + resolved "https://registry.yarnpkg.com/yazl/-/yazl-2.4.2.tgz#14cb19083e1e25a70092c1588aabe0f4e4dd4d88" + dependencies: + buffer-crc32 "~0.2.3" From 2f34cdecbdccb3854c6224038631b92513322d34 Mon Sep 17 00:00:00 2001 From: benjaminJ Date: Tue, 3 Jan 2017 14:11:27 +0100 Subject: [PATCH 03/21] Use node v4 --- .travis.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.travis.yml b/.travis.yml index 807e9b51..9c029e72 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,6 +4,9 @@ os: - osx - linux +node_js: + - "4" + before_install: - if [ $TRAVIS_OS_NAME == "linux" ]; then export CXX="g++-4.9" CC="gcc-4.9" DISPLAY=:99.0; From 51813e3cc6b9fbf39a7a7b4b9a4d407aad89a635 Mon Sep 17 00:00:00 2001 From: benjaminJ Date: Tue, 3 Jan 2017 14:13:49 +0100 Subject: [PATCH 04/21] set language --- .travis.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index 9c029e72..4ceccdd8 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,12 +1,13 @@ sudo: false -os: - - osx - - linux +language: node_js node_js: - "4" +os: + - osx + - linux before_install: - if [ $TRAVIS_OS_NAME == "linux" ]; then export CXX="g++-4.9" CC="gcc-4.9" DISPLAY=:99.0; From c9a32e67bec7710ea61e35253b507f7e71582162 Mon Sep 17 00:00:00 2001 From: benjaminJ Date: Tue, 3 Jan 2017 14:20:53 +0100 Subject: [PATCH 05/21] Add yarn cache --- .travis.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 4ceccdd8..d3f58df4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,7 +4,10 @@ language: node_js node_js: - "4" - +cache: + yarn: true + directories: + - node_modules os: - osx - linux From 25bf9a4007b1956f8db8da06d38512571536a436 Mon Sep 17 00:00:00 2001 From: benjaminJ Date: Tue, 3 Jan 2017 14:25:42 +0100 Subject: [PATCH 06/21] Appveyor CI integration --- appveyor.yml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 appveyor.yml diff --git a/appveyor.yml b/appveyor.yml new file mode 100644 index 00000000..cee739b5 --- /dev/null +++ b/appveyor.yml @@ -0,0 +1,18 @@ +environment: + ELECTRON_RUN_AS_NODE: 1 + VSCODE_BUILD_VERBOSE: true + +platform: + - x86 + - x64 + +install: + - ps: Install-Product node 4 + - yarn + +test_script: + - node --version + - yarn --version + - npm run vscode:prepublish +# - .\scripts\test.bat +# - .\scripts\test-integration.bat \ No newline at end of file From 657cccd41f698c3c53e3fea73b6b0900aea0882b Mon Sep 17 00:00:00 2001 From: benjaminJ Date: Tue, 3 Jan 2017 14:28:51 +0100 Subject: [PATCH 07/21] remove appveyor build --- appveyor.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/appveyor.yml b/appveyor.yml index cee739b5..cb2cfb30 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -15,4 +15,7 @@ test_script: - yarn --version - npm run vscode:prepublish # - .\scripts\test.bat -# - .\scripts\test-integration.bat \ No newline at end of file +# - .\scripts\test-integration.bat + +# Don't actually build. +build: off \ No newline at end of file From b53d52af05844991883fb4e05a3e8a842049f222 Mon Sep 17 00:00:00 2001 From: benjaminJ Date: Tue, 3 Jan 2017 14:31:11 +0100 Subject: [PATCH 08/21] Run tests on appveyor --- appveyor.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/appveyor.yml b/appveyor.yml index cb2cfb30..21930f88 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -10,10 +10,14 @@ install: - ps: Install-Product node 4 - yarn +cache: + - "%LOCALAPPDATA%\\Yarn" + test_script: - node --version - yarn --version - npm run vscode:prepublish + - npm test --silent # - .\scripts\test.bat # - .\scripts\test-integration.bat From 7e22f17c132d65049d2258bbd373b8a332c45ee2 Mon Sep 17 00:00:00 2001 From: benjaminJ Date: Fri, 13 Jan 2017 13:00:33 +0100 Subject: [PATCH 09/21] Upgrade dependencies + add linting --- .editorconfig | 12 ++++ .gitignore | 3 +- package.json | 18 +++-- tslint.json | 102 ++++++++++++++++++++++++++ yarn.lock | 194 +++++++++++++++++++++++++++++++++++++++++--------- 5 files changed, 289 insertions(+), 40 deletions(-) create mode 100644 .editorconfig create mode 100644 tslint.json diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 00000000..2dce7f0d --- /dev/null +++ b/.editorconfig @@ -0,0 +1,12 @@ +root = true + +[*] +indent_style = space +indent_size = 2 +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = false +insert_final_newline = true + +[*.md] +trim_trailing_whitespace = false diff --git a/.gitignore b/.gitignore index d0c541d4..31491b96 100644 --- a/.gitignore +++ b/.gitignore @@ -18,4 +18,5 @@ npm-debug.log testem.log .env* -out \ No newline at end of file +.vscode-test + diff --git a/package.json b/package.json index 8a431bf9..411540dc 100644 --- a/package.json +++ b/package.json @@ -32,17 +32,21 @@ }, "scripts": { "vscode:prepublish": "tsc -p ./", - "compile": "tsc -watch -p ./", + "compile": "tsc -p ./", + "watch": "tsc -watch -p ./", "postinstall": "node ./node_modules/vscode/bin/install", - "test": "node ./node_modules/vscode/bin/test" + "lint": "node ./node_modules/tslint/lib/tslint-cli.js -c tslint.json --project tsconfig.json", + "test": "mocha ./out/test --recursive" }, "devDependencies": { - "@types/mocha": "^2.2.32", + "@types/chai": "3.4.34", + "@types/mocha": "2.2.35", "@types/node": "^6.0.40", - "ava": "0.17.0", - "mocha": "^2.3.3", + "chai": "3.5.0", + "mocha": "3.2.0", "node-pre-gyp": "0.6.32", - "typescript": "^2.0.3", - "vscode": "^1.0.0" + "tslint": "4.2.0", + "typescript": "2.1.4", + "vscode": "1.0.3" } } diff --git a/tslint.json b/tslint.json new file mode 100644 index 00000000..c7839ba9 --- /dev/null +++ b/tslint.json @@ -0,0 +1,102 @@ +{ + "jsRules": { + "class-name": true, + "comment-format": [ + true, + "check-space" + ], + "indent": [ + true, + "spaces" + ], + "no-duplicate-variable": true, + "no-eval": true, + "no-trailing-whitespace": true, + "no-unsafe-finally": true, + "one-line": [ + true, + "check-open-brace", + "check-whitespace" + ], + "quotemark": [ + true, + "double" + ], + "semicolon": [ + true, + "always" + ], + "triple-equals": [ + true, + "allow-null-check" + ], + "variable-name": [ + true, + "ban-keywords" + ], + "whitespace": [ + true, + "check-branch", + "check-decl", + "check-operator", + "check-separator", + "check-type" + ] + }, + "rules": { + "class-name": true, + "comment-format": [ + true, + "check-space" + ], + "indent": [ + true, + "spaces" + ], + "curly": true, + "no-eval": true, + "no-internal-module": true, + "no-trailing-whitespace": true, + "no-unsafe-finally": true, + "no-var-keyword": true, + "one-line": [ + true, + "check-open-brace", + "check-whitespace" + ], + "quotemark": [ + true, + "simple" + ], + "semicolon": [ + true, + "always" + ], + "triple-equals": [ + true, + "allow-null-check" + ], + "typedef-whitespace": [ + true, + { + "call-signature": "nospace", + "index-signature": "nospace", + "parameter": "nospace", + "property-declaration": "nospace", + "variable-declaration": "nospace" + } + ], + "variable-name": [ + true, + "ban-keywords" + ], + "whitespace": [ + true, + "check-branch", + "check-decl", + "check-operator", + "check-separator", + "check-type" + ] + } +} diff --git a/yarn.lock b/yarn.lock index 7cffac72..a1caaa08 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,7 +2,11 @@ # yarn lockfile v1 -"@types/mocha@^2.2.32": +"@types/chai@3.4.34": + version "3.4.34" + resolved "https://registry.yarnpkg.com/@types/chai/-/chai-3.4.34.tgz#d5335792823bb09cddd5e38c3d211b709183854d" + +"@types/mocha@2.2.35": version "2.2.35" resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-2.2.35.tgz#dd3150b62a6de73368109308515c3aa86f81f1ec" @@ -122,6 +126,10 @@ assert-plus@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" +assertion-error@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.0.2.tgz#13ca515d86206da0bac66e834dd397d87581094c" + async-each@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" @@ -913,6 +921,10 @@ braces@^1.8.2: preserve "^0.2.0" repeat-element "^1.1.2" +browser-stdout@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.0.tgz#f351d32969d32fa5d7a5567154263d928ae3bd1f" + buf-compare@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/buf-compare/-/buf-compare-1.0.1.tgz#fef28da8b8113a0a0db4430b0b6467b69730b34a" @@ -973,6 +985,14 @@ caseless@~0.11.0: version "0.11.0" resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.11.0.tgz#715b96ea9841593cc33067923f5ec60ebda4f7d7" +chai@3.5.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/chai/-/chai-3.5.0.tgz#4d02637b067fe958bdbfdd3a40ec56fef7373247" + dependencies: + assertion-error "^1.0.1" + deep-eql "^0.1.3" + type-detect "^1.0.0" + chalk@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/chalk/-/chalk-0.4.0.tgz#5199a3ddcd0c1efe23bc08c1b027b06176e0c64f" @@ -1067,6 +1087,10 @@ code-point-at@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" +colors@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63" + combined-stream@^1.0.5, combined-stream@~1.0.1, combined-stream@~1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009" @@ -1081,7 +1105,7 @@ commander@2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.3.0.tgz#fd430e889832ec353b9acd1de217c11cb3eef873" -commander@^2.8.1, commander@^2.9.0: +commander@2.9.0, commander@^2.8.1, commander@^2.9.0: version "2.9.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" dependencies: @@ -1208,6 +1232,12 @@ deep-assign@^1.0.0: dependencies: is-obj "^1.0.0" +deep-eql@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-0.1.3.tgz#ef558acab8de25206cd713906d74e56930eb69f2" + dependencies: + type-detect "0.1.1" + deep-equal@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5" @@ -1234,6 +1264,10 @@ diff@1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/diff/-/diff-1.4.0.tgz#7f28d2eb9ee7b15a97efd89ce63dcfdaa3ccbabf" +diff@^3.0.1: + version "3.2.0" + resolved "https://registry.yarnpkg.com/diff/-/diff-3.2.0.tgz#c9ce393a4b7cbd0b058a725c93df299027868ff9" + dot-prop@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-3.0.0.tgz#1b708af094a49c9a0e7dbcad790aba539dac1177" @@ -1298,7 +1332,7 @@ escape-string-regexp@1.0.2, escape-string-regexp@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.2.tgz#4dbc2fe674e71949caf3fb2695ce7f2dc1d9a8d1" -escape-string-regexp@^1.0.0, escape-string-regexp@^1.0.4, escape-string-regexp@^1.0.5: +escape-string-regexp@1.0.5, escape-string-regexp@^1.0.0, escape-string-regexp@^1.0.4, escape-string-regexp@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" @@ -1442,6 +1476,12 @@ find-up@^1.0.0: path-exists "^2.0.0" pinkie-promise "^2.0.0" +findup-sync@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-0.3.0.tgz#37930aa5d816b777c03445e1966cc6790a4c0b16" + dependencies: + glob "~5.0.0" + first-chunk-stream@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz#59bfb50cd905f60d7c394cd3d9acaab4e6ad934e" @@ -1592,7 +1632,18 @@ glob@3.2.11: inherits "2" minimatch "0.3" -glob@^5.0.15, glob@^5.0.3: +glob@7.0.5: + version "7.0.5" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.0.5.tgz#b4202a69099bbb4d292a7c1b95b6682b67ebdc95" + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.2" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob@^5.0.15, glob@^5.0.3, glob@~5.0.0: version "5.0.15" resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1" dependencies: @@ -1602,7 +1653,7 @@ glob@^5.0.15, glob@^5.0.3: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^7.0.3, glob@^7.0.5: +glob@^7.0.3, glob@^7.0.5, glob@^7.1.1: version "7.1.1" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8" dependencies: @@ -1815,6 +1866,10 @@ has-color@~0.1.0: version "0.1.7" resolved "https://registry.yarnpkg.com/has-color/-/has-color-0.1.7.tgz#67144a5260c34fc3cca677d041daf52fe7b78b2f" +has-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" + has-flag@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51" @@ -2143,6 +2198,10 @@ json-stringify-safe@~5.0.0, json-stringify-safe@~5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" +json3@3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.2.tgz#3c0434743df93e2f5c42aee7b19bcb483575f4e1" + json5@^0.5.0: version "0.5.1" resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" @@ -2201,10 +2260,21 @@ load-json-file@^1.0.0, load-json-file@^1.1.0: pinkie-promise "^2.0.0" strip-bom "^2.0.0" +lodash._baseassign@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz#8c38a099500f215ad09e59f1722fd0c52bfe0a4e" + dependencies: + lodash._basecopy "^3.0.0" + lodash.keys "^3.0.0" + lodash._basecopy@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz#8da0e6a876cf344c0ad8a54882111dd3c5c7ca36" +lodash._basecreate@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/lodash._basecreate/-/lodash._basecreate-3.0.3.tgz#1bc661614daa7fc311b7d03bf16806a0213cf821" + lodash._basetostring@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz#d1861d877f824a52f669832dcaf3ee15566a07d5" @@ -2276,6 +2346,14 @@ lodash._shimkeys@~2.4.1: dependencies: lodash._objecttypes "~2.4.1" +lodash.create@3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/lodash.create/-/lodash.create-3.1.1.tgz#d7f2849f0dbda7e04682bb8cd72ab022461debe7" + dependencies: + lodash._baseassign "^3.0.0" + lodash._basecreate "^3.0.0" + lodash._isiterateecall "^3.0.0" + lodash.debounce@^4.0.3: version "4.0.8" resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" @@ -2525,7 +2603,7 @@ minimatch@0.3: dependencies: brace-expansion "^1.0.0" -minimist@0.0.8: +minimist@0.0.8, minimist@~0.0.1: version "0.0.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" @@ -2547,6 +2625,22 @@ mkdirp@0.5.1, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.1: dependencies: minimist "0.0.8" +mocha@3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/mocha/-/mocha-3.2.0.tgz#7dc4f45e5088075171a68896814e6ae9eb7a85e3" + dependencies: + browser-stdout "1.3.0" + commander "2.9.0" + debug "2.2.0" + diff "1.4.0" + escape-string-regexp "1.0.5" + glob "7.0.5" + growl "1.9.2" + json3 "3.3.2" + lodash.create "3.1.1" + mkdirp "0.5.1" + supports-color "3.1.2" + mocha@^2.3.3: version "2.5.3" resolved "https://registry.yarnpkg.com/mocha/-/mocha-2.5.3.tgz#161be5bdeb496771eb9b35745050b622b5aefc58" @@ -2679,13 +2773,7 @@ observable-to-promise@^0.4.0: is-observable "^0.2.0" symbol-observable "^0.2.2" -once@^1.3.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - dependencies: - wrappy "1" - -once@~1.3.0, once@~1.3.3: +once@^1.3.0, once@~1.3.0, once@~1.3.3: version "1.3.3" resolved "https://registry.yarnpkg.com/once/-/once-1.3.3.tgz#b2e261557ce4c314ec8304f3fa82663e4297ca20" dependencies: @@ -2695,6 +2783,13 @@ onetime@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789" +optimist@~0.6.0: + version "0.6.1" + resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" + dependencies: + minimist "~0.0.1" + wordwrap "~0.0.2" + option-chain@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/option-chain/-/option-chain-0.1.1.tgz#e9b811e006f1c0f54802f28295bfc8970f8dcfbd" @@ -2988,9 +3083,9 @@ read-pkg@^1.0.0: isarray "0.0.1" string_decoder "~0.10.x" -readable-stream@^2.0.0, "readable-stream@^2.0.0 || ^1.1.13", readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.4, readable-stream@^2.0.5, readable-stream@^2.1.5: - version "2.2.2" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.2.2.tgz#a9e6fec3c7dda85f8bb1b3ba7028604556fc825e" +readable-stream@^2.0.0, "readable-stream@^2.0.0 || ^1.1.13", readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.4, readable-stream@^2.0.5, readable-stream@^2.1.5, readable-stream@~2.1.4: + version "2.1.5" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.1.5.tgz#66fa8b720e1438b364681f2ad1a63c618448c9d0" dependencies: buffer-shims "^1.0.0" core-util-is "~1.0.0" @@ -3009,18 +3104,6 @@ readable-stream@~1.1.9: isarray "0.0.1" string_decoder "~0.10.x" -readable-stream@~2.1.4: - version "2.1.5" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.1.5.tgz#66fa8b720e1438b364681f2ad1a63c618448c9d0" - dependencies: - buffer-shims "^1.0.0" - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "~1.0.0" - process-nextick-args "~1.0.6" - string_decoder "~0.10.x" - util-deprecate "~1.0.1" - readdirp@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78" @@ -3171,6 +3254,10 @@ resolve-from@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-2.0.0.tgz#9480ab20e94ffa1d9e80a804c7ea147611966b57" +resolve@^1.1.7: + version "1.2.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.2.0.tgz#9589c3f2f6149d1417a40becc1663db6ec6bc26c" + restore-cursor@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541" @@ -3286,6 +3373,10 @@ split@0.3: dependencies: through "2" +sprintf-js@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + sshpk@^1.7.0: version "1.10.1" resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.10.1.tgz#30e1a5d329244974a1af61511339d595af6638b0" @@ -3396,6 +3487,12 @@ supports-color@1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-1.2.0.tgz#ff1ed1e61169d06b3cf2d588e188b18d8847e17e" +supports-color@3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.1.2.tgz#72a262894d9d408b956ca05ff37b2ed8a6e2a2d5" + dependencies: + has-flag "^1.0.0" + supports-color@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-0.2.0.tgz#d92de2694eb3f67323973d7ae3d8b55b4c22190a" @@ -3533,6 +3630,20 @@ trim-newlines@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" +tslint@4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/tslint/-/tslint-4.2.0.tgz#b9f5c5b871b784ab2f4809e704ade42d62f523ad" + dependencies: + babel-code-frame "^6.20.0" + colors "^1.1.2" + diff "^3.0.1" + findup-sync "~0.3.0" + glob "^7.1.1" + optimist "~0.6.0" + resolve "^1.1.7" + underscore.string "^3.3.4" + update-notifier "^1.0.2" + tunnel-agent@~0.4.0, tunnel-agent@~0.4.1: version "0.4.3" resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.4.3.tgz#6373db76909fe570e08d73583365ed828a74eeeb" @@ -3541,11 +3652,19 @@ tweetnacl@^0.14.3, tweetnacl@~0.14.0: version "0.14.5" resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" +type-detect@0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-0.1.1.tgz#0ba5ec2a885640e470ea4e8505971900dac58822" + +type-detect@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-1.0.0.tgz#762217cc06db258ec48908a1298e8b95121e8ea2" + type-name@^2.0.1: version "2.0.2" resolved "https://registry.yarnpkg.com/type-name/-/type-name-2.0.2.tgz#efe7d4123d8ac52afff7f40c7e4dec5266008fb4" -typescript@^2.0.3: +typescript@2.1.4: version "2.1.4" resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.1.4.tgz#b53b69fb841126acb1dd4b397d21daba87572251" @@ -3557,6 +3676,13 @@ uid2@0.0.3: version "0.0.3" resolved "https://registry.yarnpkg.com/uid2/-/uid2-0.0.3.tgz#483126e11774df2f71b8b639dcd799c376162b82" +underscore.string@^3.3.4: + version "3.3.4" + resolved "https://registry.yarnpkg.com/underscore.string/-/underscore.string-3.3.4.tgz#2c2a3f9f83e64762fdc45e6ceac65142864213db" + dependencies: + sprintf-js "^1.0.3" + util-deprecate "^1.0.2" + unique-stream@^2.0.2: version "2.2.1" resolved "https://registry.yarnpkg.com/unique-stream/-/unique-stream-2.2.1.tgz#5aa003cfbe94c5ff866c4e7d668bb1c4dbadb369" @@ -3576,7 +3702,7 @@ unzip-response@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-1.0.2.tgz#b984f0877fc0a89c2c773cc1ef7b5b232b5b06fe" -update-notifier@^1.0.0: +update-notifier@^1.0.0, update-notifier@^1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-1.0.3.tgz#8f92c515482bd6831b7c93013e70f87552c7cf5a" dependencies: @@ -3595,7 +3721,7 @@ url-parse-lax@^1.0.0: dependencies: prepend-http "^1.0.1" -util-deprecate@~1.0.1: +util-deprecate@^1.0.2, util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" @@ -3682,7 +3808,7 @@ vinyl@^1.0.0: clone-stats "^0.0.1" replace-ext "0.0.1" -vscode@^1.0.0: +vscode@1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/vscode/-/vscode-1.0.3.tgz#92e93f412082a73000ec8be86bb32d65d56de46b" dependencies: @@ -3718,6 +3844,10 @@ widest-line@^1.0.0: dependencies: string-width "^1.0.1" +wordwrap@~0.0.2: + version "0.0.3" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" + wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" From 51d9dd27766e89dd106052c228b652efd33d8818 Mon Sep 17 00:00:00 2001 From: benjaminJ Date: Fri, 13 Jan 2017 13:02:19 +0100 Subject: [PATCH 10/21] Upgrade node to 6 for CI --- .travis.yml | 4 ++-- appveyor.yml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index d3f58df4..d36cac3a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,7 +3,7 @@ sudo: false language: node_js node_js: - - "4" + - "6" cache: yarn: true directories: @@ -24,4 +24,4 @@ install: - npm run vscode:prepublish script: - - npm test --silent \ No newline at end of file + - npm test --silent diff --git a/appveyor.yml b/appveyor.yml index 21930f88..d7192cf9 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -7,7 +7,7 @@ platform: - x64 install: - - ps: Install-Product node 4 + - ps: Install-Product node 6 - yarn cache: @@ -22,4 +22,4 @@ test_script: # - .\scripts\test-integration.bat # Don't actually build. -build: off \ No newline at end of file +build: off From 92b0f6b9c7b53ea733159e9c2fcb4beb5d58a3f4 Mon Sep 17 00:00:00 2001 From: benjaminJ Date: Fri, 13 Jan 2017 13:05:33 +0100 Subject: [PATCH 11/21] Fix tests --- test/extension.test.ts | 14 ++++---------- test/index.ts | 22 ---------------------- 2 files changed, 4 insertions(+), 32 deletions(-) delete mode 100644 test/index.ts diff --git a/test/extension.test.ts b/test/extension.test.ts index 5c4a4da3..872b484c 100644 --- a/test/extension.test.ts +++ b/test/extension.test.ts @@ -1,10 +1,4 @@ -// -// Note: This example test is leveraging the Mocha test framework. -// Please refer to their documentation on https://mochajs.org/ for help. -// - -// The module 'assert' provides assertion methods from node -import * as assert from 'assert'; +import { assert } from 'chai'; // You can import and use all API from the 'vscode' module // as well as import your extension to test it @@ -12,11 +6,11 @@ import * as vscode from 'vscode'; import * as myExtension from '../src/extension'; // Defines a Mocha test suite to group tests of similar kind together -suite("Extension Tests", () => { +describe("Extension Tests", () => { // Defines a Mocha unit test - test("Something 1", () => { + it("Something 1", () => { assert.equal(-1, [1, 2, 3].indexOf(5)); assert.equal(-1, [1, 2, 3].indexOf(0)); }); -}); \ No newline at end of file +}); diff --git a/test/index.ts b/test/index.ts deleted file mode 100644 index 50bae456..00000000 --- a/test/index.ts +++ /dev/null @@ -1,22 +0,0 @@ -// -// PLEASE DO NOT MODIFY / DELETE UNLESS YOU KNOW WHAT YOU ARE DOING -// -// This file is providing the test runner to use when running extension tests. -// By default the test runner in use is Mocha based. -// -// You can provide your own test runner if you want to override it by exporting -// a function run(testRoot: string, clb: (error:Error) => void) that the extension -// host can call to run the tests. The test runner is expected to use console.log -// to report the results back to the caller. When the tests are finished, return -// a possible error to the callback or null if none. - -var testRunner = require('vscode/lib/testrunner'); - -// You can directly control Mocha options by uncommenting the following lines -// See https://github.com/mochajs/mocha/wiki/Using-mocha-programmatically#set-options for more info -testRunner.configure({ - ui: 'tdd', // the TDD UI is being used in extension.test.ts (suite, test, etc.) - useColors: true // colored output from test results -}); - -module.exports = testRunner; \ No newline at end of file From 3b74ab9b6586ad0589ac07d9de8c2e2e54d829fc Mon Sep 17 00:00:00 2001 From: benjaminJ Date: Fri, 13 Jan 2017 13:15:11 +0100 Subject: [PATCH 12/21] Create tests testing the regex matching css HEXA color --- test/extension.test.ts | 62 +++++++++++++++++++++++++++++++++++------- 1 file changed, 52 insertions(+), 10 deletions(-) diff --git a/test/extension.test.ts b/test/extension.test.ts index 872b484c..03789e5e 100644 --- a/test/extension.test.ts +++ b/test/extension.test.ts @@ -2,15 +2,57 @@ import { assert } from 'chai'; // You can import and use all API from the 'vscode' module // as well as import your extension to test it -import * as vscode from 'vscode'; -import * as myExtension from '../src/extension'; +import { HEXA_COLOR } from '../src/color-regex'; // Defines a Mocha test suite to group tests of similar kind together -describe("Extension Tests", () => { - - // Defines a Mocha unit test - it("Something 1", () => { - assert.equal(-1, [1, 2, 3].indexOf(5)); - assert.equal(-1, [1, 2, 3].indexOf(0)); - }); -}); + describe("Test CSS hexa shorthand color Regex", () => { + it('Should match color with only integer', function() { + assert.ok('#000'.match(HEXA_COLOR)); + }); + it('Should match color with letters and integers', function() { + assert.ok('#f0a'.match(HEXA_COLOR)); + }); + it('Should match color with only letters', function() { + assert.ok('#fff'.match(HEXA_COLOR)); + }); + it('Regex should not care about the case', function() { + assert.ok('#Abc'.match(HEXA_COLOR)); + }); + it('Should match with different characters at the end', function() { + assert.ok('#Abc'.match(HEXA_COLOR)); + assert.ok('#Abc '.match(HEXA_COLOR)); + assert.ok('#Abc,'.match(HEXA_COLOR)); + assert.ok('#Abc;'.match(HEXA_COLOR)); + assert.ok('#Abc\n'.match(HEXA_COLOR)); + }); + it('Should not match', function() { + assert.notOk('#AbG'.match(HEXA_COLOR)); + assert.notOk('#AbcG'.match(HEXA_COLOR)); + assert.notOk('#Ab'.match(HEXA_COLOR)); + }); + }); + describe("Test CSS hexa color Regex", () => { + it('Should match color with only integer', function() { + assert.ok('#000000'.match(HEXA_COLOR)); + }); + it('Should match color with letters and integers', function() { + assert.ok('#f0f0f0'.match(HEXA_COLOR)); + }); + it('Should match color with only letters', function() { + assert.ok('#ffffff'.match(HEXA_COLOR)); + }); + it('Regex should not care about the case', function() { + assert.ok('#Abc012'.match(HEXA_COLOR)); + }); + it('Should match with different characters at the end', function() { + assert.ok('#ffffff '.match(HEXA_COLOR)); + assert.ok('#ffffff,'.match(HEXA_COLOR)); + assert.ok('#ffffff;'.match(HEXA_COLOR)); + assert.ok('#ffffff\n'.match(HEXA_COLOR)); + }); + it('Should not match', function() { + assert.notOk('#fffffg'.match(HEXA_COLOR)); + assert.notOk('#ffffffg'.match(HEXA_COLOR)); + assert.notOk('#fffff'.match(HEXA_COLOR)); + }); + }); From 054ad0b00c4472ec2d4ba4537fd13dc48aa2946f Mon Sep 17 00:00:00 2001 From: benjaminJ Date: Fri, 13 Jan 2017 13:16:08 +0100 Subject: [PATCH 13/21] Create css hexa color regex --- src/color-regex.ts | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 src/color-regex.ts diff --git a/src/color-regex.ts b/src/color-regex.ts new file mode 100644 index 00000000..b50f73cb --- /dev/null +++ b/src/color-regex.ts @@ -0,0 +1,12 @@ +'use strict'; + +// const COLOR_REGEX = /(#(?:[\da-f]{3}){1,2}|rgb\((?:\d{1,3},\s*){2}\d{1,3}\)|rgba\((?:\d{1,3},\s*){3}\d*\.?\d+\)|hsl\(\d{1,3}(?:,\s*\d{1,3}%){2}\)|hsla\(\d{1,3}(?:,\s*\d{1,3}%){2},\s*\d*\.?\d+\))/gi +// const HEXA_COLOR = /#(?:[\da-f]{3}($| |,|;)){1}|(?:(#(?:[\da-f]{3}){2})(\t|$| |,|;))/gi + + +/** + * Utils object for color manipulation + */ +export const HEXA_COLOR = /(#[\da-f]{3}|#[\da-f]{6})($|,| |;|\n)/gi; + +export default { HEXA_COLOR }; From 838685022e374b83b67ebbf76d4bda0dc6c99163 Mon Sep 17 00:00:00 2001 From: benjaminJ Date: Fri, 13 Jan 2017 18:45:56 +0100 Subject: [PATCH 14/21] Create color-util with getRGB and luminace functions --- src/color-util.ts | 35 ++++++++++++++++++++++ test/extension.test.ts | 68 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 103 insertions(+) create mode 100644 src/color-util.ts diff --git a/src/color-util.ts b/src/color-util.ts new file mode 100644 index 00000000..f05a6c84 --- /dev/null +++ b/src/color-util.ts @@ -0,0 +1,35 @@ +import { HEXA_COLOR } from './color-regex'; + +const ColorUtil = { + getRGB(color: string): number[] { + let rgb: any[] = []; + if (color.match(HEXA_COLOR)) { + rgb = /#(.+)/gi.exec(color); + if (rgb[1].length === 3) { + return rgb[1].split('').map(_ => parseInt(_ + _, 16)); + } + rgb = rgb[1].split('').map(_ => parseInt(_, 16)); + return [16 * rgb[0] + rgb[1], 16 * rgb[2] + rgb[3], 16 * rgb[4] + rgb[5]]; + } + return []; + }, + + luminance(color: string): number { + let rgb = this.getRGB(color); + if (!rgb) { + return null; + } + rgb = rgb.map(_ => { + _ = _ / 255; + if (_ < 0.03928) { + _ = _ / 12.92; + } else { + _ = (_ + .055) / 1.055; + _ = Math.pow(_, 2.4); + } + return _; + }); + return 0.2126 * rgb[0] + 0.7152 * rgb[1] + 0.0722 * rgb[2]; + } +}; +export default ColorUtil; diff --git a/test/extension.test.ts b/test/extension.test.ts index 03789e5e..689e4e27 100644 --- a/test/extension.test.ts +++ b/test/extension.test.ts @@ -3,6 +3,7 @@ import { assert } from 'chai'; // You can import and use all API from the 'vscode' module // as well as import your extension to test it import { HEXA_COLOR } from '../src/color-regex'; +import ColorUtil from '../src/color-util'; // Defines a Mocha test suite to group tests of similar kind together describe("Test CSS hexa shorthand color Regex", () => { @@ -56,3 +57,70 @@ import { HEXA_COLOR } from '../src/color-regex'; assert.notOk('#fffff'.match(HEXA_COLOR)); }); }); +describe("Test CSS hexa shorthand color Regex", () => { + it('Should match color with only integer', function () { + assert.ok('#000'.match(HEXA_COLOR)); + }); + it('Should match color with letters and integers', function () { + assert.ok('#f0a'.match(HEXA_COLOR)); + }); + it('Should match color with only letters', function () { + assert.ok('#fff'.match(HEXA_COLOR)); + }); + it('Regex should not care about the case', function () { + assert.ok('#Abc'.match(HEXA_COLOR)); + }); + it('Should match with different characters at the end', function () { + assert.ok('#Abc'.match(HEXA_COLOR)); + assert.ok('#Abc '.match(HEXA_COLOR)); + assert.ok('#Abc,'.match(HEXA_COLOR)); + assert.ok('#Abc;'.match(HEXA_COLOR)); + assert.ok('#Abc\n'.match(HEXA_COLOR)); + }); + it('Should not match', function () { + assert.notOk('#AbG'.match(HEXA_COLOR)); + assert.notOk('#AbcG'.match(HEXA_COLOR)); + assert.notOk('#Ab'.match(HEXA_COLOR)); + }); +}); +describe("Test CSS hexa color Regex", () => { + it('Should match color with only integer', () => { + assert.ok('#000000'.match(HEXA_COLOR)); + }); + it('Should match color with letters and integers', () => { + assert.ok('#f0f0f0'.match(HEXA_COLOR)); + }); + it('Should match color with only letters', () => { + assert.ok('#ffffff'.match(HEXA_COLOR)); + }); + it('Regex should not care about the case', () => { + assert.ok('#Abc012'.match(HEXA_COLOR)); + }); + it('Should match with different characters at the end', () => { + assert.ok('#ffffff '.match(HEXA_COLOR)); + assert.ok('#ffffff,'.match(HEXA_COLOR)); + assert.ok('#ffffff;'.match(HEXA_COLOR)); + assert.ok('#ffffff\n'.match(HEXA_COLOR)); + }); + it('Should not match', () => { + assert.notOk('#fffffg'.match(HEXA_COLOR)); + assert.notOk('#ffffffg'.match(HEXA_COLOR)); + assert.notOk('#fffff'.match(HEXA_COLOR)); + }); +}); + +describe('Test utility fonction', () => { + it('Should return the rgb value of a color', () => { + assert.deepEqual(ColorUtil.getRGB('#fff'), [255, 255, 255], 'Should return rgb values for CSS hexa shorthand color'); + assert.deepEqual(ColorUtil.getRGB('#ffffff'), [255, 255, 255], 'Should return rgb values for CSS hexa color'); + }); + it('Should return the color luminance', () => { + assert.equal(ColorUtil.luminance('#fff'), 1, 'Should be "1" for #fff'); + assert.equal(ColorUtil.luminance('#ffffff'), 1, 'Should be "1" for #ffffff'); + assert.equal(ColorUtil.luminance('#000'), 0, 'Should be "0" for #000'); + assert.equal(ColorUtil.luminance('#000000'), 0, 'Should be "0" for #000000'); + + assert.equal(ColorUtil.luminance('#ccc').toFixed(1), 0.6 , 'Should be around "0.6" for #ccc'); + + }); +}); From e24f3d840a38570794c1e2bc7af003e58f798842 Mon Sep 17 00:00:00 2001 From: benjaminJ Date: Sun, 15 Jan 2017 17:52:37 +0100 Subject: [PATCH 15/21] Change the tests command --- package.json | 2 +- test/index.ts | 22 + yarn.lock | 1476 ++----------------------------------------------- 3 files changed, 75 insertions(+), 1425 deletions(-) create mode 100644 test/index.ts diff --git a/package.json b/package.json index 411540dc..25986200 100644 --- a/package.json +++ b/package.json @@ -36,7 +36,7 @@ "watch": "tsc -watch -p ./", "postinstall": "node ./node_modules/vscode/bin/install", "lint": "node ./node_modules/tslint/lib/tslint-cli.js -c tslint.json --project tsconfig.json", - "test": "mocha ./out/test --recursive" + "test": "node ./node_modules/vscode/bin/test" }, "devDependencies": { "@types/chai": "3.4.34", diff --git a/test/index.ts b/test/index.ts new file mode 100644 index 00000000..931c9cdf --- /dev/null +++ b/test/index.ts @@ -0,0 +1,22 @@ +// +// PLEASE DO NOT MODIFY / DELETE UNLESS YOU KNOW WHAT YOU ARE DOING +// +// This file is providing the test runner to use when running extension tests. +// By default the test runner in use is Mocha based. +// +// You can provide your own test runner if you want to override it by exporting +// a function run(testRoot: string, clb: (error:Error) => void) that the extension +// host can call to run the tests. The test runner is expected to use console.log +// to report the results back to the caller. When the tests are finished, return +// a possible error to the callback or null if none. + +var testRunner = require('vscode/lib/testrunner'); + +// You can directly control Mocha options by uncommenting the following lines +// See https://github.com/mochajs/mocha/wiki/Using-mocha-programmatically#set-options for more info +testRunner.configure({ + // ui: 'tdd', // the TDD UI is being used in extension.test.ts (suite, test, etc.) + useColors: true // colored output from test results +}); + +module.exports = testRunner; diff --git a/yarn.lock b/yarn.lock index a1caaa08..6c03b49e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6,13 +6,13 @@ version "3.4.34" resolved "https://registry.yarnpkg.com/@types/chai/-/chai-3.4.34.tgz#d5335792823bb09cddd5e38c3d211b709183854d" -"@types/mocha@2.2.35": - version "2.2.35" - resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-2.2.35.tgz#dd3150b62a6de73368109308515c3aa86f81f1ec" +"@types/mocha@2.2.37": + version "2.2.37" + resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-2.2.37.tgz#8e0d5327ffa0734999c1010967853de917f3a38e" -"@types/node@^6.0.40": - version "6.0.55" - resolved "https://registry.yarnpkg.com/@types/node/-/node-6.0.55.tgz#e5cb679a43561f42afd1bd6d58d3992ec8f31720" +"@types/node@6.0.50": + version "6.0.50" + resolved "https://registry.yarnpkg.com/@types/node/-/node-6.0.50.tgz#211c61ef6e0c79c466e9755a75d50496aaf94bea" abbrev@1: version "1.0.9" @@ -33,8 +33,8 @@ ansi-regex@^0.2.0, ansi-regex@^0.2.1: resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-0.2.1.tgz#0d8e946967a3d8143f93e24e298525fc1b2235f9" ansi-regex@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.0.0.tgz#c5061b6e0ef8a81775e50f5d66151bf6bf371107" + version "2.1.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" ansi-styles@^1.1.0: version "1.1.0" @@ -44,17 +44,6 @@ ansi-styles@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" -ansi-styles@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-1.0.0.tgz#cb102df1c56f5123eab8b67cd7b98027a0279178" - -anymatch@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.0.tgz#a3e52fa39168c825ff57b0248126ce5a8ff95507" - dependencies: - arrify "^1.0.0" - micromatch "^2.1.5" - aproba@^1.0.3: version "1.0.4" resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.0.4.tgz#2713680775e7614c8ba186c065d4e2e52d1072c0" @@ -72,10 +61,6 @@ arr-diff@^2.0.0: dependencies: arr-flatten "^1.0.1" -arr-exclude@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/arr-exclude/-/arr-exclude-1.0.0.tgz#dfc7c2e552a270723ccda04cf3128c8cbfe5c631" - arr-flatten@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.0.1.tgz#e5ffe54d45e19f32f216e91eb99c8ce892bb604b" @@ -130,10 +115,6 @@ assertion-error@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.0.2.tgz#13ca515d86206da0bac66e834dd397d87581094c" -async-each@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" - async@^2.0.1: version "2.1.4" resolved "https://registry.yarnpkg.com/async/-/async-2.1.4.tgz#2d2160c7788032e4dd6cbe2502f1f9a2c8f6cde4" @@ -144,113 +125,6 @@ asynckit@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" -auto-bind@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/auto-bind/-/auto-bind-0.1.0.tgz#7a29efc8c2388d3d578e02fc2df531c81ffc1ee1" - -ava-files@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/ava-files/-/ava-files-0.2.0.tgz#c7b8b6e2e0cea63b57a6e27e0db145c7c19cfe20" - dependencies: - auto-bind "^0.1.0" - bluebird "^3.4.1" - globby "^6.0.0" - ignore-by-default "^1.0.1" - lodash.flatten "^4.2.0" - multimatch "^2.1.0" - slash "^1.0.0" - -ava-init@^0.1.0: - version "0.1.6" - resolved "https://registry.yarnpkg.com/ava-init/-/ava-init-0.1.6.tgz#ef19ed0b24b6bf359dad6fbadf1a05d836395c91" - dependencies: - arr-exclude "^1.0.0" - cross-spawn "^4.0.0" - pinkie-promise "^2.0.0" - read-pkg-up "^1.0.1" - the-argv "^1.0.0" - write-pkg "^1.0.0" - -ava@0.17.0: - version "0.17.0" - resolved "https://registry.yarnpkg.com/ava/-/ava-0.17.0.tgz#359e2a89616801ef03929c3cf10a9d4f8e451d02" - dependencies: - arr-flatten "^1.0.1" - array-union "^1.0.1" - array-uniq "^1.0.2" - arrify "^1.0.0" - auto-bind "^0.1.0" - ava-files "^0.2.0" - ava-init "^0.1.0" - babel-code-frame "^6.16.0" - babel-core "^6.17.0" - babel-plugin-ava-throws-helper "^0.1.0" - babel-plugin-detective "^2.0.0" - babel-plugin-espower "^2.3.1" - babel-plugin-transform-runtime "^6.15.0" - babel-preset-es2015 "^6.16.0" - babel-preset-es2015-node4 "^2.1.0" - babel-preset-stage-2 "^6.17.0" - babel-runtime "^6.11.6" - bluebird "^3.0.0" - caching-transform "^1.0.0" - chalk "^1.0.0" - chokidar "^1.4.2" - clean-yaml-object "^0.1.0" - cli-cursor "^1.0.2" - cli-spinners "^0.1.2" - cli-truncate "^0.2.0" - co-with-promise "^4.6.0" - common-path-prefix "^1.0.0" - convert-source-map "^1.2.0" - core-assert "^0.2.0" - currently-unhandled "^0.4.1" - debug "^2.2.0" - empower-core "^0.6.1" - figures "^1.4.0" - find-cache-dir "^0.1.1" - fn-name "^2.0.0" - get-port "^2.1.0" - has-flag "^2.0.0" - ignore-by-default "^1.0.0" - is-ci "^1.0.7" - is-generator-fn "^1.0.0" - is-obj "^1.0.0" - is-observable "^0.2.0" - is-promise "^2.1.0" - last-line-stream "^1.0.0" - lodash.debounce "^4.0.3" - lodash.difference "^4.3.0" - lodash.isequal "^4.4.0" - loud-rejection "^1.2.0" - matcher "^0.1.1" - max-timeout "^1.0.0" - md5-hex "^1.2.0" - meow "^3.7.0" - ms "^0.7.1" - object-assign "^4.0.1" - observable-to-promise "^0.4.0" - option-chain "^0.1.0" - package-hash "^1.1.0" - pkg-conf "^1.0.1" - plur "^2.0.0" - power-assert-context-formatter "^1.0.4" - power-assert-renderer-assertion "^1.0.1" - power-assert-renderer-succinct "^1.0.1" - pretty-ms "^2.0.0" - repeating "^2.0.0" - require-precompiled "^0.1.0" - resolve-cwd "^1.0.0" - semver "^5.3.0" - set-immediate-shim "^1.0.1" - source-map-support "^0.4.0" - stack-utils "^0.4.0" - strip-ansi "^3.0.1" - strip-bom "^2.0.0" - time-require "^0.1.2" - unique-temp-dir "^1.0.0" - update-notifier "^1.0.0" - aws-sign2@~0.5.0: version "0.5.0" resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.5.0.tgz#c57103f7a17fc037f02d7c2e64b602ea223f7d63" @@ -263,7 +137,7 @@ aws4@^1.2.1: version "1.5.0" resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.5.0.tgz#0a29ffb79c31c9e712eeb087e8e7a64b4a56d755" -babel-code-frame@^6.16.0, babel-code-frame@^6.20.0: +babel-code-frame@^6.20.0: version "6.20.0" resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.20.0.tgz#b968f839090f9a8bc6d41938fb96cb84f7387b26" dependencies: @@ -271,583 +145,6 @@ babel-code-frame@^6.16.0, babel-code-frame@^6.20.0: esutils "^2.0.2" js-tokens "^2.0.0" -babel-core@^6.17.0, babel-core@^6.18.0: - version "6.21.0" - resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.21.0.tgz#75525480c21c803f826ef3867d22c19f080a3724" - dependencies: - babel-code-frame "^6.20.0" - babel-generator "^6.21.0" - babel-helpers "^6.16.0" - babel-messages "^6.8.0" - babel-register "^6.18.0" - babel-runtime "^6.20.0" - babel-template "^6.16.0" - babel-traverse "^6.21.0" - babel-types "^6.21.0" - babylon "^6.11.0" - convert-source-map "^1.1.0" - debug "^2.1.1" - json5 "^0.5.0" - lodash "^4.2.0" - minimatch "^3.0.2" - path-is-absolute "^1.0.0" - private "^0.1.6" - slash "^1.0.0" - source-map "^0.5.0" - -babel-generator@^6.1.0, babel-generator@^6.21.0: - version "6.21.0" - resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.21.0.tgz#605f1269c489a1c75deeca7ea16d43d4656c8494" - dependencies: - babel-messages "^6.8.0" - babel-runtime "^6.20.0" - babel-types "^6.21.0" - detect-indent "^4.0.0" - jsesc "^1.3.0" - lodash "^4.2.0" - source-map "^0.5.0" - -babel-helper-bindify-decorators@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-helper-bindify-decorators/-/babel-helper-bindify-decorators-6.18.0.tgz#fc00c573676a6e702fffa00019580892ec8780a5" - dependencies: - babel-runtime "^6.0.0" - babel-traverse "^6.18.0" - babel-types "^6.18.0" - -babel-helper-builder-binary-assignment-operator-visitor@^6.8.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.18.0.tgz#8ae814989f7a53682152e3401a04fabd0bb333a6" - dependencies: - babel-helper-explode-assignable-expression "^6.18.0" - babel-runtime "^6.0.0" - babel-types "^6.18.0" - -babel-helper-call-delegate@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-helper-call-delegate/-/babel-helper-call-delegate-6.18.0.tgz#05b14aafa430884b034097ef29e9f067ea4133bd" - dependencies: - babel-helper-hoist-variables "^6.18.0" - babel-runtime "^6.0.0" - babel-traverse "^6.18.0" - babel-types "^6.18.0" - -babel-helper-define-map@^6.18.0, babel-helper-define-map@^6.8.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-helper-define-map/-/babel-helper-define-map-6.18.0.tgz#8d6c85dc7fbb4c19be3de40474d18e97c3676ec2" - dependencies: - babel-helper-function-name "^6.18.0" - babel-runtime "^6.9.0" - babel-types "^6.18.0" - lodash "^4.2.0" - -babel-helper-explode-assignable-expression@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.18.0.tgz#14b8e8c2d03ad735d4b20f1840b24cd1f65239fe" - dependencies: - babel-runtime "^6.0.0" - babel-traverse "^6.18.0" - babel-types "^6.18.0" - -babel-helper-explode-class@^6.8.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-helper-explode-class/-/babel-helper-explode-class-6.18.0.tgz#c44f76f4fa23b9c5d607cbac5d4115e7a76f62cb" - dependencies: - babel-helper-bindify-decorators "^6.18.0" - babel-runtime "^6.0.0" - babel-traverse "^6.18.0" - babel-types "^6.18.0" - -babel-helper-function-name@^6.18.0, babel-helper-function-name@^6.8.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.18.0.tgz#68ec71aeba1f3e28b2a6f0730190b754a9bf30e6" - dependencies: - babel-helper-get-function-arity "^6.18.0" - babel-runtime "^6.0.0" - babel-template "^6.8.0" - babel-traverse "^6.18.0" - babel-types "^6.18.0" - -babel-helper-get-function-arity@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.18.0.tgz#a5b19695fd3f9cdfc328398b47dafcd7094f9f24" - dependencies: - babel-runtime "^6.0.0" - babel-types "^6.18.0" - -babel-helper-hoist-variables@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.18.0.tgz#a835b5ab8b46d6de9babefae4d98ea41e866b82a" - dependencies: - babel-runtime "^6.0.0" - babel-types "^6.18.0" - -babel-helper-optimise-call-expression@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.18.0.tgz#9261d0299ee1a4f08a6dd28b7b7c777348fd8f0f" - dependencies: - babel-runtime "^6.0.0" - babel-types "^6.18.0" - -babel-helper-regex@^6.8.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-helper-regex/-/babel-helper-regex-6.18.0.tgz#ae0ebfd77de86cb2f1af258e2cc20b5fe893ecc6" - dependencies: - babel-runtime "^6.9.0" - babel-types "^6.18.0" - lodash "^4.2.0" - -babel-helper-remap-async-to-generator@^6.16.0, babel-helper-remap-async-to-generator@^6.16.2: - version "6.20.3" - resolved "https://registry.yarnpkg.com/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.20.3.tgz#9dd3b396f13e35ef63e538098500adc24c63c4e7" - dependencies: - babel-helper-function-name "^6.18.0" - babel-runtime "^6.20.0" - babel-template "^6.16.0" - babel-traverse "^6.20.0" - babel-types "^6.20.0" - -babel-helper-replace-supers@^6.18.0, babel-helper-replace-supers@^6.8.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-helper-replace-supers/-/babel-helper-replace-supers-6.18.0.tgz#28ec69877be4144dbd64f4cc3a337e89f29a924e" - dependencies: - babel-helper-optimise-call-expression "^6.18.0" - babel-messages "^6.8.0" - babel-runtime "^6.0.0" - babel-template "^6.16.0" - babel-traverse "^6.18.0" - babel-types "^6.18.0" - -babel-helpers@^6.16.0: - version "6.16.0" - resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.16.0.tgz#1095ec10d99279460553e67eb3eee9973d3867e3" - dependencies: - babel-runtime "^6.0.0" - babel-template "^6.16.0" - -babel-messages@^6.8.0: - version "6.8.0" - resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.8.0.tgz#bf504736ca967e6d65ef0adb5a2a5f947c8e0eb9" - dependencies: - babel-runtime "^6.0.0" - -babel-plugin-ava-throws-helper@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/babel-plugin-ava-throws-helper/-/babel-plugin-ava-throws-helper-0.1.0.tgz#951107708a12208026bf8ca4cef18a87bc9b0cfe" - dependencies: - babel-template "^6.7.0" - babel-types "^6.7.2" - -babel-plugin-check-es2015-constants@^6.3.13: - version "6.8.0" - resolved "https://registry.yarnpkg.com/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.8.0.tgz#dbf024c32ed37bfda8dee1e76da02386a8d26fe7" - dependencies: - babel-runtime "^6.0.0" - -babel-plugin-detective@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/babel-plugin-detective/-/babel-plugin-detective-2.0.0.tgz#6e642e83c22a335279754ebe2d754d2635f49f13" - -babel-plugin-espower@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/babel-plugin-espower/-/babel-plugin-espower-2.3.1.tgz#d15e904bc9949b14ac233b7965c2a5dc7a19a6a9" - dependencies: - babel-generator "^6.1.0" - babylon "^6.1.0" - call-matcher "^1.0.0" - core-js "^2.0.0" - espower-location-detector "^0.1.1" - espurify "^1.6.0" - estraverse "^4.1.1" - -babel-plugin-syntax-async-functions@^6.8.0: - version "6.13.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz#cad9cad1191b5ad634bf30ae0872391e0647be95" - -babel-plugin-syntax-async-generators@^6.5.0: - version "6.13.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-generators/-/babel-plugin-syntax-async-generators-6.13.0.tgz#6bc963ebb16eccbae6b92b596eb7f35c342a8b9a" - -babel-plugin-syntax-class-properties@^6.8.0: - version "6.13.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz#d7eb23b79a317f8543962c505b827c7d6cac27de" - -babel-plugin-syntax-decorators@^6.13.0: - version "6.13.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz#312563b4dbde3cc806cee3e416cceeaddd11ac0b" - -babel-plugin-syntax-dynamic-import@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz#8d6a26229c83745a9982a441051572caa179b1da" - -babel-plugin-syntax-exponentiation-operator@^6.8.0: - version "6.13.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz#9ee7e8337290da95288201a6a57f4170317830de" - -babel-plugin-syntax-object-rest-spread@^6.8.0: - version "6.13.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz#fd6536f2bce13836ffa3a5458c4903a597bb3bf5" - -babel-plugin-syntax-trailing-function-commas@^6.3.13: - version "6.20.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.20.0.tgz#442835e19179f45b87e92d477d70b9f1f18b5c4f" - -babel-plugin-transform-async-generator-functions@^6.17.0: - version "6.17.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-6.17.0.tgz#d0b5a2b2f0940f2b245fa20a00519ed7bc6cae54" - dependencies: - babel-helper-remap-async-to-generator "^6.16.2" - babel-plugin-syntax-async-generators "^6.5.0" - babel-runtime "^6.0.0" - -babel-plugin-transform-async-to-generator@^6.16.0: - version "6.16.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.16.0.tgz#19ec36cb1486b59f9f468adfa42ce13908ca2999" - dependencies: - babel-helper-remap-async-to-generator "^6.16.0" - babel-plugin-syntax-async-functions "^6.8.0" - babel-runtime "^6.0.0" - -babel-plugin-transform-class-properties@^6.18.0: - version "6.19.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.19.0.tgz#1274b349abaadc835164e2004f4a2444a2788d5f" - dependencies: - babel-helper-function-name "^6.18.0" - babel-plugin-syntax-class-properties "^6.8.0" - babel-runtime "^6.9.1" - babel-template "^6.15.0" - -babel-plugin-transform-decorators@^6.13.0: - version "6.13.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-decorators/-/babel-plugin-transform-decorators-6.13.0.tgz#82d65c1470ae83e2d13eebecb0a1c2476d62da9d" - dependencies: - babel-helper-define-map "^6.8.0" - babel-helper-explode-class "^6.8.0" - babel-plugin-syntax-decorators "^6.13.0" - babel-runtime "^6.0.0" - babel-template "^6.8.0" - babel-types "^6.13.0" - -babel-plugin-transform-es2015-arrow-functions@^6.3.13: - version "6.8.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.8.0.tgz#5b63afc3181bdc9a8c4d481b5a4f3f7d7fef3d9d" - dependencies: - babel-runtime "^6.0.0" - -babel-plugin-transform-es2015-block-scoped-functions@^6.3.13: - version "6.8.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.8.0.tgz#ed95d629c4b5a71ae29682b998f70d9833eb366d" - dependencies: - babel-runtime "^6.0.0" - -babel-plugin-transform-es2015-block-scoping@^6.18.0: - version "6.21.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.21.0.tgz#e840687f922e70fb2c42bb13501838c174a115ed" - dependencies: - babel-runtime "^6.20.0" - babel-template "^6.15.0" - babel-traverse "^6.21.0" - babel-types "^6.21.0" - lodash "^4.2.0" - -babel-plugin-transform-es2015-classes@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.18.0.tgz#ffe7a17321bf83e494dcda0ae3fc72df48ffd1d9" - dependencies: - babel-helper-define-map "^6.18.0" - babel-helper-function-name "^6.18.0" - babel-helper-optimise-call-expression "^6.18.0" - babel-helper-replace-supers "^6.18.0" - babel-messages "^6.8.0" - babel-runtime "^6.9.0" - babel-template "^6.14.0" - babel-traverse "^6.18.0" - babel-types "^6.18.0" - -babel-plugin-transform-es2015-computed-properties@^6.3.13: - version "6.8.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.8.0.tgz#f51010fd61b3bd7b6b60a5fdfd307bb7a5279870" - dependencies: - babel-helper-define-map "^6.8.0" - babel-runtime "^6.0.0" - babel-template "^6.8.0" - -babel-plugin-transform-es2015-destructuring@^6.18.0, babel-plugin-transform-es2015-destructuring@^6.6.5: - version "6.19.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.19.0.tgz#ff1d911c4b3f4cab621bd66702a869acd1900533" - dependencies: - babel-runtime "^6.9.0" - -babel-plugin-transform-es2015-duplicate-keys@^6.6.0: - version "6.8.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.8.0.tgz#fd8f7f7171fc108cc1c70c3164b9f15a81c25f7d" - dependencies: - babel-runtime "^6.0.0" - babel-types "^6.8.0" - -babel-plugin-transform-es2015-for-of@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.18.0.tgz#4c517504db64bf8cfc119a6b8f177211f2028a70" - dependencies: - babel-runtime "^6.0.0" - -babel-plugin-transform-es2015-function-name@^6.5.0, babel-plugin-transform-es2015-function-name@^6.9.0: - version "6.9.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.9.0.tgz#8c135b17dbd064e5bba56ec511baaee2fca82719" - dependencies: - babel-helper-function-name "^6.8.0" - babel-runtime "^6.9.0" - babel-types "^6.9.0" - -babel-plugin-transform-es2015-literals@^6.3.13: - version "6.8.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.8.0.tgz#50aa2e5c7958fc2ab25d74ec117e0cc98f046468" - dependencies: - babel-runtime "^6.0.0" - -babel-plugin-transform-es2015-modules-amd@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.18.0.tgz#49a054cbb762bdf9ae2d8a807076cfade6141e40" - dependencies: - babel-plugin-transform-es2015-modules-commonjs "^6.18.0" - babel-runtime "^6.0.0" - babel-template "^6.8.0" - -babel-plugin-transform-es2015-modules-commonjs@^6.18.0, babel-plugin-transform-es2015-modules-commonjs@^6.7.4: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.18.0.tgz#c15ae5bb11b32a0abdcc98a5837baa4ee8d67bcc" - dependencies: - babel-plugin-transform-strict-mode "^6.18.0" - babel-runtime "^6.0.0" - babel-template "^6.16.0" - babel-types "^6.18.0" - -babel-plugin-transform-es2015-modules-systemjs@^6.18.0: - version "6.19.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.19.0.tgz#50438136eba74527efa00a5b0fefaf1dc4071da6" - dependencies: - babel-helper-hoist-variables "^6.18.0" - babel-runtime "^6.11.6" - babel-template "^6.14.0" - -babel-plugin-transform-es2015-modules-umd@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.18.0.tgz#23351770ece5c1f8e83ed67cb1d7992884491e50" - dependencies: - babel-plugin-transform-es2015-modules-amd "^6.18.0" - babel-runtime "^6.0.0" - babel-template "^6.8.0" - -babel-plugin-transform-es2015-object-super@^6.3.13: - version "6.8.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.8.0.tgz#1b858740a5a4400887c23dcff6f4d56eea4a24c5" - dependencies: - babel-helper-replace-supers "^6.8.0" - babel-runtime "^6.0.0" - -babel-plugin-transform-es2015-parameters@^6.18.0, babel-plugin-transform-es2015-parameters@^6.7.0: - version "6.21.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.21.0.tgz#46a655e6864ef984091448cdf024d87b60b2a7d8" - dependencies: - babel-helper-call-delegate "^6.18.0" - babel-helper-get-function-arity "^6.18.0" - babel-runtime "^6.9.0" - babel-template "^6.16.0" - babel-traverse "^6.21.0" - babel-types "^6.21.0" - -babel-plugin-transform-es2015-shorthand-properties@^6.18.0, babel-plugin-transform-es2015-shorthand-properties@^6.5.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.18.0.tgz#e2ede3b7df47bf980151926534d1dd0cbea58f43" - dependencies: - babel-runtime "^6.0.0" - babel-types "^6.18.0" - -babel-plugin-transform-es2015-spread@^6.3.13, babel-plugin-transform-es2015-spread@^6.6.5: - version "6.8.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.8.0.tgz#0217f737e3b821fa5a669f187c6ed59205f05e9c" - dependencies: - babel-runtime "^6.0.0" - -babel-plugin-transform-es2015-sticky-regex@^6.3.13, babel-plugin-transform-es2015-sticky-regex@^6.5.0: - version "6.8.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.8.0.tgz#e73d300a440a35d5c64f5c2a344dc236e3df47be" - dependencies: - babel-helper-regex "^6.8.0" - babel-runtime "^6.0.0" - babel-types "^6.8.0" - -babel-plugin-transform-es2015-template-literals@^6.6.0: - version "6.8.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.8.0.tgz#86eb876d0a2c635da4ec048b4f7de9dfc897e66b" - dependencies: - babel-runtime "^6.0.0" - -babel-plugin-transform-es2015-typeof-symbol@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.18.0.tgz#0b14c48629c90ff47a0650077f6aa699bee35798" - dependencies: - babel-runtime "^6.0.0" - -babel-plugin-transform-es2015-unicode-regex@^6.3.13, babel-plugin-transform-es2015-unicode-regex@^6.5.0: - version "6.11.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.11.0.tgz#6298ceabaad88d50a3f4f392d8de997260f6ef2c" - dependencies: - babel-helper-regex "^6.8.0" - babel-runtime "^6.0.0" - regexpu-core "^2.0.0" - -babel-plugin-transform-exponentiation-operator@^6.3.13: - version "6.8.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.8.0.tgz#db25742e9339eade676ca9acec46f955599a68a4" - dependencies: - babel-helper-builder-binary-assignment-operator-visitor "^6.8.0" - babel-plugin-syntax-exponentiation-operator "^6.8.0" - babel-runtime "^6.0.0" - -babel-plugin-transform-object-rest-spread@^6.16.0: - version "6.20.2" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.20.2.tgz#e816c55bba77b14c16365d87e2ae48c8fd18fc2e" - dependencies: - babel-plugin-syntax-object-rest-spread "^6.8.0" - babel-runtime "^6.20.0" - -babel-plugin-transform-regenerator@^6.16.0: - version "6.21.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.21.0.tgz#75d0c7e7f84f379358f508451c68a2c5fa5a9703" - dependencies: - regenerator-transform "0.9.8" - -babel-plugin-transform-runtime@^6.15.0: - version "6.15.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-runtime/-/babel-plugin-transform-runtime-6.15.0.tgz#3d75b4d949ad81af157570273846fb59aeb0d57c" - dependencies: - babel-runtime "^6.9.0" - -babel-plugin-transform-strict-mode@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.18.0.tgz#df7cf2991fe046f44163dcd110d5ca43bc652b9d" - dependencies: - babel-runtime "^6.0.0" - babel-types "^6.18.0" - -babel-preset-es2015-node4@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/babel-preset-es2015-node4/-/babel-preset-es2015-node4-2.1.1.tgz#e31f290859b58619c8cfa241d1b0bc900f941cdb" - dependencies: - babel-plugin-transform-es2015-destructuring "^6.6.5" - babel-plugin-transform-es2015-function-name "^6.5.0" - babel-plugin-transform-es2015-modules-commonjs "^6.7.4" - babel-plugin-transform-es2015-parameters "^6.7.0" - babel-plugin-transform-es2015-shorthand-properties "^6.5.0" - babel-plugin-transform-es2015-spread "^6.6.5" - babel-plugin-transform-es2015-sticky-regex "^6.5.0" - babel-plugin-transform-es2015-unicode-regex "^6.5.0" - -babel-preset-es2015@^6.16.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-preset-es2015/-/babel-preset-es2015-6.18.0.tgz#b8c70df84ec948c43dcf2bf770e988eb7da88312" - dependencies: - babel-plugin-check-es2015-constants "^6.3.13" - babel-plugin-transform-es2015-arrow-functions "^6.3.13" - babel-plugin-transform-es2015-block-scoped-functions "^6.3.13" - babel-plugin-transform-es2015-block-scoping "^6.18.0" - babel-plugin-transform-es2015-classes "^6.18.0" - babel-plugin-transform-es2015-computed-properties "^6.3.13" - babel-plugin-transform-es2015-destructuring "^6.18.0" - babel-plugin-transform-es2015-duplicate-keys "^6.6.0" - babel-plugin-transform-es2015-for-of "^6.18.0" - babel-plugin-transform-es2015-function-name "^6.9.0" - babel-plugin-transform-es2015-literals "^6.3.13" - babel-plugin-transform-es2015-modules-amd "^6.18.0" - babel-plugin-transform-es2015-modules-commonjs "^6.18.0" - babel-plugin-transform-es2015-modules-systemjs "^6.18.0" - babel-plugin-transform-es2015-modules-umd "^6.18.0" - babel-plugin-transform-es2015-object-super "^6.3.13" - babel-plugin-transform-es2015-parameters "^6.18.0" - babel-plugin-transform-es2015-shorthand-properties "^6.18.0" - babel-plugin-transform-es2015-spread "^6.3.13" - babel-plugin-transform-es2015-sticky-regex "^6.3.13" - babel-plugin-transform-es2015-template-literals "^6.6.0" - babel-plugin-transform-es2015-typeof-symbol "^6.18.0" - babel-plugin-transform-es2015-unicode-regex "^6.3.13" - babel-plugin-transform-regenerator "^6.16.0" - -babel-preset-stage-2@^6.17.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-preset-stage-2/-/babel-preset-stage-2-6.18.0.tgz#9eb7bf9a8e91c68260d5ba7500493caaada4b5b5" - dependencies: - babel-plugin-syntax-dynamic-import "^6.18.0" - babel-plugin-transform-class-properties "^6.18.0" - babel-plugin-transform-decorators "^6.13.0" - babel-preset-stage-3 "^6.17.0" - -babel-preset-stage-3@^6.17.0: - version "6.17.0" - resolved "https://registry.yarnpkg.com/babel-preset-stage-3/-/babel-preset-stage-3-6.17.0.tgz#b6638e46db6e91e3f889013d8ce143917c685e39" - dependencies: - babel-plugin-syntax-trailing-function-commas "^6.3.13" - babel-plugin-transform-async-generator-functions "^6.17.0" - babel-plugin-transform-async-to-generator "^6.16.0" - babel-plugin-transform-exponentiation-operator "^6.3.13" - babel-plugin-transform-object-rest-spread "^6.16.0" - -babel-register@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.18.0.tgz#892e2e03865078dd90ad2c715111ec4449b32a68" - dependencies: - babel-core "^6.18.0" - babel-runtime "^6.11.6" - core-js "^2.4.0" - home-or-tmp "^2.0.0" - lodash "^4.2.0" - mkdirp "^0.5.1" - source-map-support "^0.4.2" - -babel-runtime@^6.0.0, babel-runtime@^6.11.6, babel-runtime@^6.18.0, babel-runtime@^6.20.0, babel-runtime@^6.9.0, babel-runtime@^6.9.1: - version "6.20.0" - resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.20.0.tgz#87300bdcf4cd770f09bf0048c64204e17806d16f" - dependencies: - core-js "^2.4.0" - regenerator-runtime "^0.10.0" - -babel-template@^6.14.0, babel-template@^6.15.0, babel-template@^6.16.0, babel-template@^6.7.0, babel-template@^6.8.0: - version "6.16.0" - resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.16.0.tgz#e149dd1a9f03a35f817ddbc4d0481988e7ebc8ca" - dependencies: - babel-runtime "^6.9.0" - babel-traverse "^6.16.0" - babel-types "^6.16.0" - babylon "^6.11.0" - lodash "^4.2.0" - -babel-traverse@^6.16.0, babel-traverse@^6.18.0, babel-traverse@^6.20.0, babel-traverse@^6.21.0: - version "6.21.0" - resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.21.0.tgz#69c6365804f1a4f69eb1213f85b00a818b8c21ad" - dependencies: - babel-code-frame "^6.20.0" - babel-messages "^6.8.0" - babel-runtime "^6.20.0" - babel-types "^6.21.0" - babylon "^6.11.0" - debug "^2.2.0" - globals "^9.0.0" - invariant "^2.2.0" - lodash "^4.2.0" - -babel-types@^6.13.0, babel-types@^6.16.0, babel-types@^6.18.0, babel-types@^6.19.0, babel-types@^6.20.0, babel-types@^6.21.0, babel-types@^6.7.2, babel-types@^6.8.0, babel-types@^6.9.0: - version "6.21.0" - resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.21.0.tgz#314b92168891ef6d3806b7f7a917fdf87c11a4b2" - dependencies: - babel-runtime "^6.20.0" - esutils "^2.0.2" - lodash "^4.2.0" - to-fast-properties "^1.0.1" - -babylon@^6.1.0, babylon@^6.11.0: - version "6.14.1" - resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.14.1.tgz#956275fab72753ad9b3435d7afe58f8bf0a29815" - balanced-match@^0.4.1: version "0.4.2" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838" @@ -862,10 +159,6 @@ beeper@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/beeper/-/beeper-1.1.1.tgz#e6d5ea8c5dad001304a70b22638447f69cb2f809" -binary-extensions@^1.0.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.8.0.tgz#48ec8d16df4377eae5fa5884682480af4d95c774" - bl@~0.9.0: version "0.9.5" resolved "https://registry.yarnpkg.com/bl/-/bl-0.9.5.tgz#c06b797af085ea00bc527afc8efcf11de2232054" @@ -882,10 +175,6 @@ bluebird@^2.9.30: version "2.11.0" resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-2.11.0.tgz#534b9033c022c9579c56ba3b3e5a5caafbb650e1" -bluebird@^3.0.0, bluebird@^3.4.1: - version "3.4.7" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.4.7.tgz#f72d760be09b7f76d08ed8fae98b289a8d05fab3" - boom@2.x.x: version "2.10.1" resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f" @@ -925,10 +214,6 @@ browser-stdout@1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.0.tgz#f351d32969d32fa5d7a5567154263d928ae3bd1f" -buf-compare@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/buf-compare/-/buf-compare-1.0.1.tgz#fef28da8b8113a0a0db4430b0b6467b69730b34a" - buffer-crc32@~0.2.3: version "0.2.13" resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" @@ -941,27 +226,6 @@ builtin-modules@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" -caching-transform@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/caching-transform/-/caching-transform-1.0.1.tgz#6dbdb2f20f8d8fbce79f3e94e9d1742dcdf5c0a1" - dependencies: - md5-hex "^1.2.0" - mkdirp "^0.5.1" - write-file-atomic "^1.1.4" - -call-matcher@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/call-matcher/-/call-matcher-1.0.1.tgz#5134d077984f712a54dad3cbf62de28dce416ca8" - dependencies: - core-js "^2.0.0" - deep-equal "^1.0.0" - espurify "^1.6.0" - estraverse "^4.0.0" - -call-signature@0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/call-signature/-/call-signature-0.0.2.tgz#a84abc825a55ef4cb2b028bd74e205a65b9a4996" - camelcase-keys@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" @@ -993,14 +257,6 @@ chai@3.5.0: deep-eql "^0.1.3" type-detect "^1.0.0" -chalk@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-0.4.0.tgz#5199a3ddcd0c1efe23bc08c1b027b06176e0c64f" - dependencies: - ansi-styles "~1.0.0" - has-color "~0.1.0" - strip-ansi "~0.1.0" - chalk@^0.5.0: version "0.5.1" resolved "https://registry.yarnpkg.com/chalk/-/chalk-0.5.1.tgz#663b3a648b68b55d04690d49167aa837858f2174" @@ -1021,50 +277,10 @@ chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1: strip-ansi "^3.0.0" supports-color "^2.0.0" -chokidar@^1.4.2: - version "1.6.1" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.6.1.tgz#2f4447ab5e96e50fb3d789fd90d4c72e0e4c70c2" - dependencies: - anymatch "^1.3.0" - async-each "^1.0.0" - glob-parent "^2.0.0" - inherits "^2.0.1" - is-binary-path "^1.0.0" - is-glob "^2.0.0" - path-is-absolute "^1.0.0" - readdirp "^2.0.0" - optionalDependencies: - fsevents "^1.0.0" - -ci-info@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.0.0.tgz#dc5285f2b4e251821683681c381c3388f46ec534" - -clean-yaml-object@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/clean-yaml-object/-/clean-yaml-object-0.1.0.tgz#63fb110dc2ce1a84dc21f6d9334876d010ae8b68" - cli-boxes@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-1.0.0.tgz#4fa917c3e59c94a004cd61f8ee509da651687143" -cli-cursor@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987" - dependencies: - restore-cursor "^1.0.1" - -cli-spinners@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-0.1.2.tgz#bb764d88e185fb9e1e6a2a1f19772318f605e31c" - -cli-truncate@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-0.2.1.tgz#9f15cfbb0705005369216c626ac7d05ab90dd574" - dependencies: - slice-ansi "0.0.4" - string-width "^1.0.1" - clone-stats@^0.0.1, clone-stats@~0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-0.0.1.tgz#b88f94a82cf38b8791d58046ea4029ad88ca99d1" @@ -1077,12 +293,6 @@ clone@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.2.tgz#260b7a99ebb1edfe247538175f783243cb19d149" -co-with-promise@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/co-with-promise/-/co-with-promise-4.6.0.tgz#413e7db6f5893a60b942cf492c4bec93db415ab7" - dependencies: - pinkie-promise "^1.0.0" - code-point-at@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" @@ -1111,14 +321,6 @@ commander@2.9.0, commander@^2.8.1, commander@^2.9.0: dependencies: graceful-readlink ">= 1.0.0" -common-path-prefix@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/common-path-prefix/-/common-path-prefix-1.0.0.tgz#cd52f6f0712e0baab97d6f9732874f22f47752c0" - -commondir@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" - concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" @@ -1141,21 +343,10 @@ console-control-strings@^1.0.0, console-control-strings@~1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" -convert-source-map@^1.1.0, convert-source-map@^1.1.1, convert-source-map@^1.2.0: +convert-source-map@^1.1.1: version "1.3.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.3.0.tgz#e9f3e9c6e2728efc2676696a70eb382f73106a67" -core-assert@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/core-assert/-/core-assert-0.2.1.tgz#f85e2cf9bfed28f773cc8b3fa5c5b69bdc02fe3f" - dependencies: - buf-compare "^1.0.0" - is-error "^2.2.0" - -core-js@^2.0.0, core-js@^2.4.0: - version "2.4.1" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.4.1.tgz#4de911e667b0eae9124e34254b53aea6fc618d3e" - core-util-is@~1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" @@ -1166,13 +357,6 @@ create-error-class@^3.0.1: dependencies: capture-stack-trace "^1.0.0" -cross-spawn@^4.0.0: - version "4.0.2" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-4.0.2.tgz#7b9247621c23adfdd3856004a823cbe397424d41" - dependencies: - lru-cache "^4.0.1" - which "^1.2.9" - cryptiles@2.x.x: version "2.0.5" resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8" @@ -1195,10 +379,6 @@ dashdash@^1.12.0: dependencies: assert-plus "^1.0.0" -date-time@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/date-time/-/date-time-0.1.1.tgz#ed2f6d93d9790ce2fd66d5b5ff3edd5bbcbf3b07" - dateformat@^1.0.7-1.2.3: version "1.0.12" resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-1.0.12.tgz#9f124b67594c937ff706932e4a642cca8dbbfee9" @@ -1216,12 +396,6 @@ debug@2.2.0, debug@~2.2.0: dependencies: ms "0.7.1" -debug@^2.1.1, debug@^2.2.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.0.tgz#bc596bcabe7617f11d9fa15361eded5608b8499b" - dependencies: - ms "0.7.2" - decamelize@^1.1.2: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" @@ -1238,10 +412,6 @@ deep-eql@^0.1.3: dependencies: type-detect "0.1.1" -deep-equal@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5" - deep-extend@~0.4.0: version "0.4.1" resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.1.tgz#efe4113d08085f4e6f9687759810f807469e2253" @@ -1254,12 +424,6 @@ delegates@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" -detect-indent@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208" - dependencies: - repeating "^2.0.0" - diff@1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/diff/-/diff-1.4.0.tgz#7f28d2eb9ee7b15a97efd89ce63dcfdaa3ccbabf" @@ -1299,23 +463,12 @@ duplexify@^3.2.0: readable-stream "^2.0.0" stream-shift "^1.0.0" -eastasianwidth@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.1.1.tgz#44d656de9da415694467335365fb3147b8572b7c" - ecc-jsbn@~0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505" dependencies: jsbn "~0.1.0" -empower-core@^0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/empower-core/-/empower-core-0.6.1.tgz#6c187f502fcef7554d57933396aac655483772b1" - dependencies: - call-signature "0.0.2" - core-js "^2.0.0" - end-of-stream@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.0.0.tgz#d4596e702734a93e40e9af864319eabd99ff2f0e" @@ -1328,33 +481,14 @@ error-ex@^1.2.0: dependencies: is-arrayish "^0.2.1" -escape-string-regexp@1.0.2, escape-string-regexp@^1.0.2: +escape-string-regexp@1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.2.tgz#4dbc2fe674e71949caf3fb2695ce7f2dc1d9a8d1" -escape-string-regexp@1.0.5, escape-string-regexp@^1.0.0, escape-string-regexp@^1.0.4, escape-string-regexp@^1.0.5: +escape-string-regexp@1.0.5, escape-string-regexp@^1.0.0, escape-string-regexp@^1.0.2: version "1.0.5" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" -espower-location-detector@^0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/espower-location-detector/-/espower-location-detector-0.1.2.tgz#d43be738af3e0b18197eeb5c22b95512dee6b83c" - dependencies: - is-url "^1.2.1" - path-is-absolute "^1.0.0" - source-map "^0.5.0" - xtend "^4.0.0" - -espurify@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/espurify/-/espurify-1.6.0.tgz#6cb993582d9422bd6f2d4b258aadb14833f394f0" - dependencies: - core-js "^2.0.0" - -estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1: - version "4.2.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" - esutils@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" @@ -1383,10 +517,6 @@ event-stream@~3.1.5: stream-combiner "~0.0.4" through "~2.3.1" -exit-hook@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/exit-hook/-/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8" - expand-brackets@^0.1.4: version "0.1.5" resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" @@ -1436,13 +566,6 @@ fd-slicer@~1.0.1: dependencies: pend "~1.2.0" -figures@^1.4.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e" - dependencies: - escape-string-regexp "^1.0.5" - object-assign "^4.1.0" - filename-regex@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.0.tgz#996e3e80479b98b9897f15a8a58b3d084e926775" @@ -1461,14 +584,6 @@ filled-array@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/filled-array/-/filled-array-1.1.0.tgz#c3c4f6c663b923459a9aa29912d2d031f1507f84" -find-cache-dir@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-0.1.1.tgz#c8defae57c8a52a8a784f9e31c57c742e993a0b9" - dependencies: - commondir "^1.0.1" - mkdirp "^0.5.1" - pkg-dir "^1.0.0" - find-up@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" @@ -1486,10 +601,6 @@ first-chunk-stream@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz#59bfb50cd905f60d7c394cd3d9acaab4e6ad934e" -fn-name@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/fn-name/-/fn-name-2.0.1.tgz#5214d7537a4d06a4a301c0cc262feb84188002e7" - for-in@^0.1.5: version "0.1.6" resolved "https://registry.yarnpkg.com/for-in/-/for-in-0.1.6.tgz#c9f96e89bfad18a545af5ec3ed352a1d9e5b4dc8" @@ -1528,13 +639,6 @@ fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" -fsevents@^1.0.0: - version "1.0.15" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.0.15.tgz#fa63f590f3c2ad91275e4972a6cea545fb0aae44" - dependencies: - nan "^2.3.0" - node-pre-gyp "^0.6.29" - fstream-ignore@~1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/fstream-ignore/-/fstream-ignore-1.0.5.tgz#9c31dae34767018fe1d249b24dada67d092da105" @@ -1576,12 +680,6 @@ generate-object-property@^1.1.0: dependencies: is-property "^1.0.0" -get-port@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/get-port/-/get-port-2.1.0.tgz#8783f9dcebd1eea495a334e1a6a251e78887ab1a" - dependencies: - pinkie-promise "^2.0.0" - get-stdin@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" @@ -1632,7 +730,7 @@ glob@3.2.11: inherits "2" minimatch "0.3" -glob@7.0.5: +glob@7.0.5, glob@^7.0.5: version "7.0.5" resolved "https://registry.yarnpkg.com/glob/-/glob-7.0.5.tgz#b4202a69099bbb4d292a7c1b95b6682b67ebdc95" dependencies: @@ -1653,7 +751,7 @@ glob@^5.0.15, glob@^5.0.3, glob@~5.0.0: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^7.0.3, glob@^7.0.5, glob@^7.1.1: +glob@^7.1.1: version "7.1.1" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8" dependencies: @@ -1664,20 +762,6 @@ glob@^7.0.3, glob@^7.0.5, glob@^7.1.1: once "^1.3.0" path-is-absolute "^1.0.0" -globals@^9.0.0: - version "9.14.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-9.14.0.tgz#8859936af0038741263053b39d0e76ca241e4034" - -globby@^6.0.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" - dependencies: - array-union "^1.0.1" - glob "^7.0.3" - object-assign "^4.0.1" - pify "^2.0.0" - pinkie-promise "^2.0.0" - glogg@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/glogg/-/glogg-1.0.0.tgz#7fe0f199f57ac906cf512feead8f90ee4a284fc5" @@ -1704,7 +788,7 @@ got@^5.0.0: unzip-response "^1.0.2" url-parse-lax "^1.0.0" -graceful-fs@^4.0.0, graceful-fs@^4.1.2: +graceful-fs@^4.0.0, graceful-fs@^4.1.11, graceful-fs@^4.1.2: version "4.1.11" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" @@ -1862,18 +946,10 @@ has-ansi@^2.0.0: dependencies: ansi-regex "^2.0.0" -has-color@~0.1.0: - version "0.1.7" - resolved "https://registry.yarnpkg.com/has-color/-/has-color-0.1.7.tgz#67144a5260c34fc3cca677d041daf52fe7b78b2f" - has-flag@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" -has-flag@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51" - has-gulplog@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/has-gulplog/-/has-gulplog-0.1.0.tgz#6414c82913697da51590397dafb12f22967811ce" @@ -1906,13 +982,6 @@ hoek@2.x.x: version "2.16.3" resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed" -home-or-tmp@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8" - dependencies: - os-homedir "^1.0.0" - os-tmpdir "^1.0.1" - hosted-git-info@^2.1.4: version "2.1.5" resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.1.5.tgz#0ba81d90da2e25ab34a332e6ec77936e1598118b" @@ -1933,10 +1002,6 @@ http-signature@~1.1.0: jsprim "^1.2.2" sshpk "^1.7.0" -ignore-by-default@^1.0.0, ignore-by-default@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/ignore-by-default/-/ignore-by-default-1.0.1.tgz#48ca6d72f6c6a3af00a9ad4ae6876be3889e2b09" - imurmurhash@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" @@ -1962,26 +1027,10 @@ ini@~1.3.0: version "1.3.4" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e" -invariant@^2.2.0: - version "2.2.2" - resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.2.tgz#9e1f56ac0acdb6bf303306f338be3b204ae60360" - dependencies: - loose-envify "^1.0.0" - -irregular-plurals@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/irregular-plurals/-/irregular-plurals-1.2.0.tgz#38f299834ba8c00c30be9c554e137269752ff3ac" - is-arrayish@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" -is-binary-path@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" - dependencies: - binary-extensions "^1.0.0" - is-buffer@^1.0.2: version "1.1.4" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.4.tgz#cfc86ccd5dc5a52fa80489111c6920c457e2d98b" @@ -1992,12 +1041,6 @@ is-builtin-module@^1.0.0: dependencies: builtin-modules "^1.0.0" -is-ci@^1.0.7: - version "1.0.10" - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.0.10.tgz#f739336b2632365061a9d48270cd56ae3369318e" - dependencies: - ci-info "^1.0.0" - is-dotfile@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.2.tgz#2c132383f39199f8edc268ca01b9b007d205cc4d" @@ -2008,10 +1051,6 @@ is-equal-shallow@^0.1.3: dependencies: is-primitive "^2.0.0" -is-error@^2.2.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/is-error/-/is-error-2.2.1.tgz#684a96d84076577c98f4cdb40c6d26a5123bf19c" - is-extendable@^0.1.0, is-extendable@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" @@ -2024,7 +1063,7 @@ is-extglob@^2.1.0: version "2.1.1" resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" -is-finite@^1.0.0, is-finite@^1.0.1: +is-finite@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" dependencies: @@ -2036,10 +1075,6 @@ is-fullwidth-code-point@^1.0.0: dependencies: number-is-nan "^1.0.0" -is-generator-fn@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-1.0.0.tgz#969d49e1bb3329f6bb7f09089be26578b2ddd46a" - is-glob@^2.0.0, is-glob@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" @@ -2075,16 +1110,6 @@ is-obj@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" -is-observable@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/is-observable/-/is-observable-0.2.0.tgz#b361311d83c6e5d726cabf5e250b0237106f5ae2" - dependencies: - symbol-observable "^0.2.2" - -is-plain-obj@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" - is-posix-bracket@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" @@ -2093,10 +1118,6 @@ is-primitive@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" -is-promise@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" - is-property@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84" @@ -2117,10 +1138,6 @@ is-typedarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" -is-url@^1.2.1: - version "1.2.2" - resolved "https://registry.yarnpkg.com/is-url/-/is-url-1.2.2.tgz#498905a593bf47cc2d9e7f738372bbf7696c7f26" - is-utf8@^0.2.0: version "0.2.1" resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" @@ -2141,10 +1158,6 @@ isarray@1.0.0, isarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" -isexe@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-1.1.2.tgz#36f3e22e60750920f5e7241a476a8c6a42275ad0" - isobject@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" @@ -2176,14 +1189,6 @@ jsbn@~0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.0.tgz#650987da0dd74f4ebf5a11377a2aa2d273e97dfd" -jsesc@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" - -jsesc@~0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" - json-schema@0.2.3: version "0.2.3" resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" @@ -2202,10 +1207,6 @@ json3@3.3.2: version "3.3.2" resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.2.tgz#3c0434743df93e2f5c42aee7b19bcb483575f4e1" -json5@^0.5.0: - version "0.5.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" - jsonify@~0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" @@ -2228,12 +1229,6 @@ kind-of@^3.0.2: dependencies: is-buffer "^1.0.2" -last-line-stream@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/last-line-stream/-/last-line-stream-1.0.0.tgz#d1b64d69f86ff24af2d04883a2ceee14520a5600" - dependencies: - through2 "^2.0.0" - latest-version@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-2.0.0.tgz#56f8d6139620847b8017f8f1f4d78e211324168b" @@ -2250,7 +1245,7 @@ lazystream@^1.0.0: dependencies: readable-stream "^2.0.5" -load-json-file@^1.0.0, load-json-file@^1.1.0: +load-json-file@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" dependencies: @@ -2354,10 +1349,6 @@ lodash.create@3.1.1: lodash._basecreate "^3.0.0" lodash._isiterateecall "^3.0.0" -lodash.debounce@^4.0.3: - version "4.0.8" - resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" - lodash.defaults@~2.4.1: version "2.4.1" resolved "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-2.4.1.tgz#a7e8885f05e68851144b6e12a8f3678026bc4c54" @@ -2365,10 +1356,6 @@ lodash.defaults@~2.4.1: lodash._objecttypes "~2.4.1" lodash.keys "~2.4.1" -lodash.difference@^4.3.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.difference/-/lodash.difference-4.5.0.tgz#9ccb4e505d486b91651345772885a2df27fd017c" - lodash.escape@^3.0.0: version "3.2.0" resolved "https://registry.yarnpkg.com/lodash.escape/-/lodash.escape-3.2.0.tgz#995ee0dc18c1b48cc92effae71a10aab5b487698" @@ -2383,10 +1370,6 @@ lodash.escape@~2.4.1: lodash._reunescapedhtml "~2.4.1" lodash.keys "~2.4.1" -lodash.flatten@^4.2.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz#f31c22225a9632d2bbf8e4addbef240aa765a61f" - lodash.isarguments@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a" @@ -2395,9 +1378,9 @@ lodash.isarray@^3.0.0: version "3.0.4" resolved "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55" -lodash.isequal@^4.0.0, lodash.isequal@^4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.4.0.tgz#6295768e98e14dc15ce8d362ef6340db82852031" +lodash.isequal@^4.0.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" lodash.isobject@~2.4.1: version "2.4.1" @@ -2471,17 +1454,11 @@ lodash.values@~2.4.1: dependencies: lodash.keys "~2.4.1" -lodash@^4.14.0, lodash@^4.2.0: +lodash@^4.14.0: version "4.17.4" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" -loose-envify@^1.0.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.0.tgz#6b26248c42f6d4fa4b0d8542f78edfcde35642a8" - dependencies: - js-tokens "^2.0.0" - -loud-rejection@^1.0.0, loud-rejection@^1.2.0: +loud-rejection@^1.0.0: version "1.6.0" resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" dependencies: @@ -2496,13 +1473,6 @@ lru-cache@2: version "2.7.3" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-2.7.3.tgz#6d4524e8b955f95d4f5b58851ce21dd72fb4e952" -lru-cache@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.0.2.tgz#1d17679c069cda5d040991a09dbc2c0db377e55e" - dependencies: - pseudomap "^1.0.1" - yallist "^2.0.0" - map-obj@^1.0.0, map-obj@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" @@ -2511,27 +1481,7 @@ map-stream@~0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/map-stream/-/map-stream-0.1.0.tgz#e56aa94c4c8055a16404a0674b78f215f7c8e194" -matcher@^0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/matcher/-/matcher-0.1.2.tgz#ef20cbde64c24c50cc61af5b83ee0b1b8ff00101" - dependencies: - escape-string-regexp "^1.0.4" - -max-timeout@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/max-timeout/-/max-timeout-1.0.0.tgz#b68f69a2f99e0b476fd4cb23e2059ca750715e1f" - -md5-hex@^1.2.0, md5-hex@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/md5-hex/-/md5-hex-1.3.0.tgz#d2c4afe983c4370662179b8cad145219135046c4" - dependencies: - md5-o-matic "^0.1.1" - -md5-o-matic@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/md5-o-matic/-/md5-o-matic-0.1.1.tgz#822bccd65e117c514fab176b25945d54100a03c3" - -meow@^3.3.0, meow@^3.7.0: +meow@^3.3.0: version "3.7.0" resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" dependencies: @@ -2552,7 +1502,7 @@ merge-stream@^1.0.0: dependencies: readable-stream "^2.0.1" -micromatch@^2.1.5, micromatch@^2.3.7: +micromatch@^2.3.7: version "2.3.11" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" dependencies: @@ -2574,15 +1524,15 @@ mime-db@~1.12.0: version "1.12.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.12.0.tgz#3d0c63180f458eb10d325aaa37d7c58ae312e9d7" -mime-db@~1.25.0: - version "1.25.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.25.0.tgz#c18dbd7c73a5dbf6f44a024dc0d165a1e7b1c392" +mime-db@~1.26.0: + version "1.26.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.26.0.tgz#eaffcd0e4fc6935cf8134da246e2e6c35305adff" mime-types@^2.1.11, mime-types@^2.1.12, mime-types@~2.1.7: - version "2.1.13" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.13.tgz#e07aaa9c6c6b9a7ca3012c69003ad25a39e92a88" + version "2.1.14" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.14.tgz#f7ef7d97583fcaf3b7d282b6f8b5679dab1e94ee" dependencies: - mime-db "~1.25.0" + mime-db "~1.26.0" mime-types@~2.0.1: version "2.0.14" @@ -2660,11 +1610,7 @@ ms@0.7.1: version "0.7.1" resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098" -ms@0.7.2, ms@^0.7.1: - version "0.7.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.2.tgz#ae25cf2512b3885a1d95d7f037868d8431124765" - -multimatch@^2.0.0, multimatch@^2.1.0: +multimatch@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/multimatch/-/multimatch-2.1.0.tgz#9c7906a22fb4c02919e2f5f75161b4cdbd4b2a2b" dependencies: @@ -2679,11 +1625,7 @@ multipipe@^0.1.0, multipipe@^0.1.2: dependencies: duplexer2 "0.0.2" -nan@^2.3.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.5.0.tgz#aa8f1e34531d807e9e27755b234b4a6ec0c152a8" - -node-pre-gyp@0.6.32, node-pre-gyp@^0.6.29: +node-pre-gyp@0.6.32: version "0.6.32" resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.32.tgz#fc452b376e7319b3d255f5f34853ef6fd8fe1fd5" dependencies: @@ -2766,23 +1708,18 @@ object.omit@^2.0.0: for-own "^0.1.4" is-extendable "^0.1.1" -observable-to-promise@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/observable-to-promise/-/observable-to-promise-0.4.0.tgz#28afe71645308f2d41d71f47ad3fece1a377e52b" +once@^1.3.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" dependencies: - is-observable "^0.2.0" - symbol-observable "^0.2.2" + wrappy "1" -once@^1.3.0, once@~1.3.0, once@~1.3.3: +once@~1.3.0, once@~1.3.3: version "1.3.3" resolved "https://registry.yarnpkg.com/once/-/once-1.3.3.tgz#b2e261557ce4c314ec8304f3fa82663e4297ca20" dependencies: wrappy "1" -onetime@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789" - optimist@~0.6.0: version "0.6.1" resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" @@ -2790,12 +1727,6 @@ optimist@~0.6.0: minimist "~0.0.1" wordwrap "~0.0.2" -option-chain@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/option-chain/-/option-chain-0.1.1.tgz#e9b811e006f1c0f54802f28295bfc8970f8dcfbd" - dependencies: - object-assign "^4.0.1" - ordered-read-streams@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/ordered-read-streams/-/ordered-read-streams-0.3.0.tgz#7137e69b3298bb342247a1bbee3881c80e2fd78b" @@ -2807,7 +1738,7 @@ os-homedir@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" -os-tmpdir@^1.0.0, os-tmpdir@^1.0.1: +os-tmpdir@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" @@ -2818,12 +1749,6 @@ osenv@^0.1.0: os-homedir "^1.0.0" os-tmpdir "^1.0.0" -package-hash@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/package-hash/-/package-hash-1.2.0.tgz#003e56cd57b736a6ed6114cc2b81542672770e44" - dependencies: - md5-hex "^1.3.0" - package-json@^2.0.0: version "2.4.0" resolved "https://registry.yarnpkg.com/package-json/-/package-json-2.4.0.tgz#0d15bd67d1cbbddbb2ca222ff2edb86bcb31a8bb" @@ -2848,14 +1773,6 @@ parse-json@^2.1.0, parse-json@^2.2.0: dependencies: error-ex "^1.2.0" -parse-ms@^0.1.0: - version "0.1.2" - resolved "https://registry.yarnpkg.com/parse-ms/-/parse-ms-0.1.2.tgz#dd3fa25ed6c2efc7bdde12ad9b46c163aa29224e" - -parse-ms@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/parse-ms/-/parse-ms-1.0.1.tgz#56346d4749d78f23430ca0c713850aef91aa361d" - path-dirname@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" @@ -2892,98 +1809,16 @@ pify@^2.0.0: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" -pinkie-promise@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-1.0.0.tgz#d1da67f5482563bb7cf57f286ae2822ecfbf3670" - dependencies: - pinkie "^1.0.0" - pinkie-promise@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" dependencies: pinkie "^2.0.0" -pinkie@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-1.0.0.tgz#5a47f28ba1015d0201bda7bf0f358e47bec8c7e4" - pinkie@^2.0.0: version "2.0.4" resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" -pkg-conf@^1.0.1: - version "1.1.3" - resolved "https://registry.yarnpkg.com/pkg-conf/-/pkg-conf-1.1.3.tgz#378e56d6fd13e88bfb6f4a25df7a83faabddba5b" - dependencies: - find-up "^1.0.0" - load-json-file "^1.1.0" - object-assign "^4.0.1" - symbol "^0.2.1" - -pkg-dir@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-1.0.0.tgz#7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4" - dependencies: - find-up "^1.0.0" - -plur@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/plur/-/plur-1.0.0.tgz#db85c6814f5e5e5a3b49efc28d604fec62975156" - -plur@^2.0.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/plur/-/plur-2.1.2.tgz#7482452c1a0f508e3e344eaec312c91c29dc655a" - dependencies: - irregular-plurals "^1.0.0" - -power-assert-context-formatter@^1.0.4: - version "1.1.1" - resolved "https://registry.yarnpkg.com/power-assert-context-formatter/-/power-assert-context-formatter-1.1.1.tgz#edba352d3ed8a603114d667265acce60d689ccdf" - dependencies: - core-js "^2.0.0" - power-assert-context-traversal "^1.1.1" - -power-assert-context-traversal@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/power-assert-context-traversal/-/power-assert-context-traversal-1.1.1.tgz#88cabca0d13b6359f07d3d3e8afa699264577ed9" - dependencies: - core-js "^2.0.0" - estraverse "^4.1.0" - -power-assert-renderer-assertion@^1.0.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/power-assert-renderer-assertion/-/power-assert-renderer-assertion-1.1.1.tgz#cbfc0e77e0086a8f96af3f1d8e67b9ee7e28ce98" - dependencies: - power-assert-renderer-base "^1.1.1" - power-assert-util-string-width "^1.1.1" - -power-assert-renderer-base@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/power-assert-renderer-base/-/power-assert-renderer-base-1.1.1.tgz#96a650c6fd05ee1bc1f66b54ad61442c8b3f63eb" - -power-assert-renderer-diagram@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/power-assert-renderer-diagram/-/power-assert-renderer-diagram-1.1.1.tgz#7e0c82cc08a84b155e51b5ae94f59709778a65fb" - dependencies: - core-js "^2.0.0" - power-assert-renderer-base "^1.1.1" - power-assert-util-string-width "^1.1.1" - stringifier "^1.3.0" - -power-assert-renderer-succinct@^1.0.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/power-assert-renderer-succinct/-/power-assert-renderer-succinct-1.1.1.tgz#c2a468b23822abd6f80e2aba5322347b09df476e" - dependencies: - core-js "^2.0.0" - power-assert-renderer-diagram "^1.1.1" - -power-assert-util-string-width@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/power-assert-util-string-width/-/power-assert-util-string-width-1.1.1.tgz#be659eb7937fdd2e6c9a77268daaf64bd5b7c592" - dependencies: - eastasianwidth "^0.1.1" - prepend-http@^1.0.1: version "1.0.4" resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" @@ -2992,32 +1827,10 @@ preserve@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" -pretty-ms@^0.2.1: - version "0.2.2" - resolved "https://registry.yarnpkg.com/pretty-ms/-/pretty-ms-0.2.2.tgz#da879a682ff33a37011046f13d627f67c73b84f6" - dependencies: - parse-ms "^0.1.0" - -pretty-ms@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/pretty-ms/-/pretty-ms-2.1.0.tgz#4257c256df3fb0b451d6affaab021884126981dc" - dependencies: - is-finite "^1.0.1" - parse-ms "^1.0.0" - plur "^1.0.0" - -private@^0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/private/-/private-0.1.6.tgz#55c6a976d0f9bafb9924851350fe47b9b5fbb7c1" - process-nextick-args@~1.0.6: version "1.0.7" resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" -pseudomap@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" - punycode@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" @@ -3104,15 +1917,6 @@ readable-stream@~1.1.9: isarray "0.0.1" string_decoder "~0.10.x" -readdirp@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78" - dependencies: - graceful-fs "^4.1.2" - minimatch "^3.0.2" - readable-stream "^2.0.2" - set-immediate-shim "^1.0.1" - redent@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" @@ -3120,22 +1924,6 @@ redent@^1.0.0: indent-string "^2.1.0" strip-indent "^1.0.1" -regenerate@^1.2.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.3.2.tgz#d1941c67bad437e1be76433add5b385f95b19260" - -regenerator-runtime@^0.10.0: - version "0.10.1" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.1.tgz#257f41961ce44558b18f7814af48c17559f9faeb" - -regenerator-transform@0.9.8: - version "0.9.8" - resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.9.8.tgz#0f88bb2bc03932ddb7b6b7312e68078f01026d6c" - dependencies: - babel-runtime "^6.18.0" - babel-types "^6.19.0" - private "^0.1.6" - regex-cache@^0.4.2: version "0.4.3" resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.3.tgz#9b1a6c35d4d0dfcef5711ae651e8e9d3d7114145" @@ -3143,14 +1931,6 @@ regex-cache@^0.4.2: is-equal-shallow "^0.1.3" is-primitive "^2.0.0" -regexpu-core@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-2.0.0.tgz#49d038837b8dcf8bfa5b9a42139938e6ea2ae240" - dependencies: - regenerate "^1.2.1" - regjsgen "^0.2.0" - regjsparser "^0.1.4" - registry-auth-token@^3.0.1: version "3.1.0" resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-3.1.0.tgz#997c08256e0c7999837b90e944db39d8a790276b" @@ -3163,16 +1943,6 @@ registry-url@^3.0.3: dependencies: rc "^1.0.1" -regjsgen@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7" - -regjsparser@^0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c" - dependencies: - jsesc "~0.5.0" - repeat-element@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a" @@ -3240,31 +2010,10 @@ request@~2.58.0: tough-cookie ">=0.12.0" tunnel-agent "~0.4.0" -require-precompiled@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/require-precompiled/-/require-precompiled-0.1.0.tgz#5a1b52eb70ebed43eb982e974c85ab59571e56fa" - -resolve-cwd@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-1.0.0.tgz#4eaeea41ed040d1702457df64a42b2b07d246f9f" - dependencies: - resolve-from "^2.0.0" - -resolve-from@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-2.0.0.tgz#9480ab20e94ffa1d9e80a804c7ea147611966b57" - resolve@^1.1.7: version "1.2.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.2.0.tgz#9589c3f2f6149d1417a40becc1663db6ec6bc26c" -restore-cursor@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541" - dependencies: - exit-hook "^1.0.0" - onetime "^1.0.0" - rimraf@2, rimraf@~2.5.1, rimraf@~2.5.4: version "2.5.4" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.5.4.tgz#96800093cbf1a0c86bd95b4625467535c29dfa04" @@ -3277,7 +2026,7 @@ semver-diff@^2.0.0: dependencies: semver "^5.0.3" -"semver@2 || 3 || 4 || 5", semver@^5.0.3, semver@^5.1.0, semver@^5.3.0, semver@~5.3.0: +"semver@2 || 3 || 4 || 5", semver@^5.0.3, semver@^5.1.0, semver@~5.3.0: version "5.3.0" resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" @@ -3285,10 +2034,6 @@ set-blocking@~2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" -set-immediate-shim@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61" - sigmund@~1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/sigmund/-/sigmund-1.0.1.tgz#3ff21f198cad2175f9f3b781853fd94d0d19b590" @@ -3297,14 +2042,6 @@ signal-exit@^3.0.0: version "3.0.2" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" -slash@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" - -slice-ansi@0.0.4: - version "0.0.4" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35" - slide@^1.1.5: version "1.1.6" resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707" @@ -3315,34 +2052,18 @@ sntp@1.x.x: dependencies: hoek "2.x.x" -sort-keys@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad" - dependencies: - is-plain-obj "^1.0.0" - source-map-support@^0.3.2: version "0.3.3" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.3.3.tgz#34900977d5ba3f07c7757ee72e73bb1a9b53754f" dependencies: source-map "0.1.32" -source-map-support@^0.4.0, source-map-support@^0.4.2: - version "0.4.8" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.8.tgz#4871918d8a3af07289182e974e32844327b2e98b" - dependencies: - source-map "^0.5.3" - source-map@0.1.32: version "0.1.32" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.1.32.tgz#c8b6c167797ba4740a8ea33252162ff08591b266" dependencies: amdefine ">=0.0.4" -source-map@^0.5.0, source-map@^0.5.3: - version "0.5.6" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" - sparkles@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/sparkles/-/sparkles-1.0.0.tgz#1acbbfb592436d10bbe8f785b7cc6f82815012c3" @@ -3378,8 +2099,8 @@ sprintf-js@^1.0.3: resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" sshpk@^1.7.0: - version "1.10.1" - resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.10.1.tgz#30e1a5d329244974a1af61511339d595af6638b0" + version "1.10.2" + resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.10.2.tgz#d5a804ce22695515638e798dbe23273de070a5fa" dependencies: asn1 "~0.2.3" assert-plus "^1.0.0" @@ -3392,10 +2113,6 @@ sshpk@^1.7.0: jsbn "~0.1.0" tweetnacl "~0.14.0" -stack-utils@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-0.4.0.tgz#940cb82fccfa84e8ff2f3fdf293fe78016beccd1" - stat-mode@^0.2.0: version "0.2.2" resolved "https://registry.yarnpkg.com/stat-mode/-/stat-mode-0.2.2.tgz#e6c80b623123d7d80cf132ce538f346289072502" @@ -3432,14 +2149,6 @@ string_decoder@~0.10.x: version "0.10.31" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" -stringifier@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/stringifier/-/stringifier-1.3.0.tgz#def18342f6933db0f2dbfc9aa02175b448c17959" - dependencies: - core-js "^2.0.0" - traverse "^0.6.6" - type-name "^2.0.1" - stringstream@~0.0.4: version "0.0.5" resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878" @@ -3456,10 +2165,6 @@ strip-ansi@^3.0.0, strip-ansi@^3.0.1: dependencies: ansi-regex "^2.0.0" -strip-ansi@~0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-0.1.1.tgz#39e8a98d044d150660abe4a6808acf70bb7bc991" - strip-bom-stream@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/strip-bom-stream/-/strip-bom-stream-1.0.0.tgz#e7144398577d51a6bed0fa1994fa05f43fd988ee" @@ -3501,14 +2206,6 @@ supports-color@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" -symbol-observable@^0.2.2: - version "0.2.4" - resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-0.2.4.tgz#95a83db26186d6af7e7a18dbd9760a2f86d08f40" - -symbol@^0.2.1: - version "0.2.3" - resolved "https://registry.yarnpkg.com/symbol/-/symbol-0.2.3.tgz#3b9873b8a901e47c6efe21526a3ac372ef28bbc7" - tar-pack@~3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/tar-pack/-/tar-pack-3.3.0.tgz#30931816418f55afc4d21775afdd6720cee45dae" @@ -3538,14 +2235,6 @@ tar@~2.2.1: fstream "^1.0.2" inherits "2" -text-table@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" - -the-argv@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/the-argv/-/the-argv-1.0.0.tgz#0084705005730dd84db755253c931ae398db9522" - through2-filter@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/through2-filter/-/through2-filter-2.0.0.tgz#60bc55a0dacb76085db1f9dae99ab43f83d622ec" @@ -3585,15 +2274,6 @@ through@2, through@~2.3, through@~2.3.1: version "2.3.8" resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" -time-require@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/time-require/-/time-require-0.1.2.tgz#f9e12cb370fc2605e11404582ba54ef5ca2b2d98" - dependencies: - chalk "^0.4.0" - date-time "^0.1.1" - pretty-ms "^0.2.1" - text-table "^0.2.0" - time-stamp@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/time-stamp/-/time-stamp-1.0.1.tgz#9f4bd23559c9365966f3302dbba2b07c6b99b151" @@ -3608,10 +2288,6 @@ to-absolute-glob@^0.1.1: dependencies: extend-shallow "^2.0.1" -to-fast-properties@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.2.tgz#f3f5c0c3ba7299a7ef99427e44633257ade43320" - to-iso-string@0.0.2: version "0.0.2" resolved "https://registry.yarnpkg.com/to-iso-string/-/to-iso-string-0.0.2.tgz#4dc19e664dfccbe25bd8db508b00c6da158255d1" @@ -3622,17 +2298,13 @@ tough-cookie@>=0.12.0, tough-cookie@~2.3.0: dependencies: punycode "^1.4.1" -traverse@^0.6.6: - version "0.6.6" - resolved "https://registry.yarnpkg.com/traverse/-/traverse-0.6.6.tgz#cbdf560fd7b9af632502fed40f918c157ea97137" - trim-newlines@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" -tslint@4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/tslint/-/tslint-4.2.0.tgz#b9f5c5b871b784ab2f4809e704ade42d62f523ad" +tslint@4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/tslint/-/tslint-4.3.1.tgz#28f679c53ca4b273688bcb6fcf0dde7ff1bb2169" dependencies: babel-code-frame "^6.20.0" colors "^1.1.2" @@ -3660,22 +2332,14 @@ type-detect@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-1.0.0.tgz#762217cc06db258ec48908a1298e8b95121e8ea2" -type-name@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/type-name/-/type-name-2.0.2.tgz#efe7d4123d8ac52afff7f40c7e4dec5266008fb4" - -typescript@2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.1.4.tgz#b53b69fb841126acb1dd4b397d21daba87572251" +typescript@2.1.5: + version "2.1.5" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.1.5.tgz#6fe9479e00e01855247cea216e7561bafcdbcd4a" uid-number@~0.0.6: version "0.0.6" resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81" -uid2@0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/uid2/-/uid2-0.0.3.tgz#483126e11774df2f71b8b639dcd799c376162b82" - underscore.string@^3.3.4: version "3.3.4" resolved "https://registry.yarnpkg.com/underscore.string/-/underscore.string-3.3.4.tgz#2c2a3f9f83e64762fdc45e6ceac65142864213db" @@ -3690,19 +2354,11 @@ unique-stream@^2.0.2: json-stable-stringify "^1.0.0" through2-filter "^2.0.0" -unique-temp-dir@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unique-temp-dir/-/unique-temp-dir-1.0.0.tgz#6dce95b2681ca003eebfb304a415f9cbabcc5385" - dependencies: - mkdirp "^0.5.1" - os-tmpdir "^1.0.1" - uid2 "0.0.3" - unzip-response@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-1.0.2.tgz#b984f0877fc0a89c2c773cc1ef7b5b232b5b06fe" -update-notifier@^1.0.0, update-notifier@^1.0.2: +update-notifier@^1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-1.0.3.tgz#8f92c515482bd6831b7c93013e70f87552c7cf5a" dependencies: @@ -3826,12 +2482,6 @@ vscode@1.0.3: source-map-support "^0.3.2" vinyl-source-stream "^1.1.0" -which@^1.2.9: - version "1.2.12" - resolved "https://registry.yarnpkg.com/which/-/which-1.2.12.tgz#de67b5e450269f194909ef23ece4ebe416fa1192" - dependencies: - isexe "^1.1.1" - wide-align@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.0.tgz#40edde802a71fea1f070da3e62dcda2e7add96ad" @@ -3852,32 +2502,14 @@ wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" -write-file-atomic@^1.1.2, write-file-atomic@^1.1.4: - version "1.2.0" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-1.2.0.tgz#14c66d4e4cb3ca0565c28cf3b7a6f3e4d5938fab" +write-file-atomic@^1.1.2: + version "1.3.1" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-1.3.1.tgz#7d45ba32316328dd1ec7d90f60ebc0d845bb759a" dependencies: - graceful-fs "^4.1.2" + graceful-fs "^4.1.11" imurmurhash "^0.1.4" slide "^1.1.5" -write-json-file@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/write-json-file/-/write-json-file-1.2.0.tgz#2d5dfe96abc3c889057c93971aa4005efb548134" - dependencies: - graceful-fs "^4.1.2" - mkdirp "^0.5.1" - object-assign "^4.0.1" - pify "^2.0.0" - pinkie-promise "^2.0.0" - sort-keys "^1.1.1" - write-file-atomic "^1.1.2" - -write-pkg@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/write-pkg/-/write-pkg-1.0.0.tgz#aeb8aa9d4d788e1d893dfb0854968b543a919f57" - dependencies: - write-json-file "^1.1.0" - xdg-basedir@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-2.0.0.tgz#edbc903cc385fc04523d966a335504b5504d1bd2" @@ -3898,10 +2530,6 @@ xtend@~3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/xtend/-/xtend-3.0.0.tgz#5cce7407baf642cba7becda568111c493f59665a" -yallist@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.0.0.tgz#306c543835f09ee1a4cb23b7bce9ab341c91cdd4" - yauzl@^2.2.1: version "2.7.0" resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.7.0.tgz#e21d847868b496fc29eaec23ee87fdd33e9b2bce" From 5f9d5e784a5f25e8b37ac6b0d0df137b8d7ba490 Mon Sep 17 00:00:00 2001 From: benjaminJ Date: Sun, 15 Jan 2017 18:01:32 +0100 Subject: [PATCH 16/21] Generate decorations for css hexa color --- src/extension.ts | 148 ++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 133 insertions(+), 15 deletions(-) diff --git a/src/extension.ts b/src/extension.ts index df9df56d..58794c7e 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -1,29 +1,147 @@ 'use strict'; // The module 'vscode' contains the VS Code extensibility API // Import the module and reference it with the alias vscode in your code below -import * as vscode from 'vscode'; +import { + commands, + window, + workspace, + ExtensionContext, + OverviewRulerLane, + TextEditor, + DecorationOptions, + Range, + TextEditorDecorationType, + TextDocument, + TextLine, + Position +} from 'vscode'; + +import { HEXA_COLOR } from './color-regex'; +import ColorUtil from './color-util'; // this method is called when your extension is activated // your extension is activated the very first time the command is executed -export function activate(context: vscode.ExtensionContext) { - // Use the console to output diagnostic information (console.log) and errors (console.error) - // This line of code will only be executed once when your extension is activated - console.log('Congratulations, your extension "b" is now active!'); +let decorations: ColorDecoration[] = []; + +export function activate(context: ExtensionContext) { + let timeout = null; + let editor = window.activeTextEditor; + + function triggerUpdateDecorations(/*range*/) { + if (timeout) { + clearTimeout(timeout); + } + + timeout = setTimeout(updateDecorations, 500); + } - // The command has been defined in the package.json file - // Now provide the implementation of the command with registerCommand - // The commandId parameter must match the command field in package.json - let disposable = vscode.commands.registerCommand('extension.sayHello', () => { - // The code you place here will be executed every time your command is executed + function updateDecorations( /*editor: TextEditor, editedRange: Range*/) { + if (!editor) { + return; + } - // Display a message box to the user - vscode.window.showInformationMessage('Hello World!'); + let disposed = decorations.filter(decoration => { + decoration.checkDecoration(editor) + return decoration.disposed; }); - context.subscriptions.push(disposable); + let text = window.activeTextEditor.document.getText(); + let match = null; + let start = 0; + while (match = HEXA_COLOR.exec(text)) { + let startPos = editor.document.positionAt(start + match.index); + let endPos = editor.document.positionAt(start + match.index + match[1].length); + start += match.index + match[1].length; + text = text.substr(match.index + match[1].length); + let alreadyIn = decorations.find(decoration => decoration.textPosition.start.isEqual(startPos) && decoration.textPosition.end.isEqual(endPos)); + if (alreadyIn) { + continue; + } + let range = new Range(startPos, endPos); + + let decoration = generateDecorator(match[1]); + decorations.push(new ColorDecoration(range, decoration, HEXA_COLOR, match[1])); + editor.setDecorations(decoration, [range]); + } + } + + if (editor) { + triggerUpdateDecorations(); + } + window.onDidChangeActiveTextEditor(newEditor => { + editor = newEditor; + if (editor) { + triggerUpdateDecorations(); + } + }, null, context.subscriptions); + + workspace.onDidChangeTextDocument(event => { + if (editor && event.document === editor.document) { + triggerUpdateDecorations(/*event.contentChanges*/); + } + }, null, context.subscriptions); +} + + +function generateDecorator(color: string): TextEditorDecorationType { + let textColor = null; + let luminance = ColorUtil.luminance(color); + if (luminance < 0.7) { + textColor = '#fff'; + } else { + textColor = '#000'; + } + let backgroundDecorationType = window.createTextEditorDecorationType({ + borderWidth: "1px", + borderStyle: "solid", + borderColor: color, + backgroundColor: color, + color: textColor + }); + return backgroundDecorationType; } // this method is called when your extension is deactivated -export function deactivate() { -} \ No newline at end of file +export function deactivate() { } + + +class ColorDecoration { + public textPosition: Range; + private _decoration: TextEditorDecorationType; + private _matcher: RegExp; + private _match: string; + public disposed: boolean = false; + + public constructor(textPosition: Range, decoration: TextEditorDecorationType, matcher: RegExp, match: string) { + this.textPosition = textPosition; + this._decoration = decoration; + this._matcher = matcher; + this._match = match; + } + public checkDecoration(editor: TextEditor): void { + let character_after = editor.document.lineAt(this.textPosition.start.line).text.substring(this.textPosition.end.character, this.textPosition.end.character + 1) + let text = editor.document.lineAt(this.textPosition.start.line).text.substring(this.textPosition.start.character, this.textPosition.end.character + 1); + if (!this._matcher.test(text) || character_after === "") { + this._decoration.dispose(); + this.disposed = true; + return; + } + if (text === this._match) { + return; + } + this._match = text; + this._updateDecoration(editor); + return; + } + + private _updateDecoration(editor) { + this._decoration.dispose(); + let decoration = generateDecorator(this._match); + this._decoration = decoration; + editor.setDecorations(this._decoration, [{ range: this.textPosition }]); + } + public dispose(): void { + this._decoration.dispose(); + } +} From ed2ef96a1f0caec283062561a4e8758c51b138c8 Mon Sep 17 00:00:00 2001 From: benjaminJ Date: Sun, 15 Jan 2017 18:02:00 +0100 Subject: [PATCH 17/21] Call yarn instead of npm --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index d36cac3a..356db114 100644 --- a/.travis.yml +++ b/.travis.yml @@ -21,7 +21,7 @@ before_install: install: - npm install -g yarn - yarn - - npm run vscode:prepublish + - yarn run vscode:prepublish script: - - npm test --silent + - yarn test --silent From c3a116a0d8243aab2a5d741f92e935cb27092c79 Mon Sep 17 00:00:00 2001 From: benjaminJ Date: Sun, 15 Jan 2017 18:02:49 +0100 Subject: [PATCH 18/21] Code styles improvement --- src/color-regex.ts | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/color-regex.ts b/src/color-regex.ts index b50f73cb..adf7de4c 100644 --- a/src/color-regex.ts +++ b/src/color-regex.ts @@ -1,12 +1,14 @@ -'use strict'; - +'use strict'; + // const COLOR_REGEX = /(#(?:[\da-f]{3}){1,2}|rgb\((?:\d{1,3},\s*){2}\d{1,3}\)|rgba\((?:\d{1,3},\s*){3}\d*\.?\d+\)|hsl\(\d{1,3}(?:,\s*\d{1,3}%){2}\)|hsla\(\d{1,3}(?:,\s*\d{1,3}%){2},\s*\d*\.?\d+\))/gi // const HEXA_COLOR = /#(?:[\da-f]{3}($| |,|;)){1}|(?:(#(?:[\da-f]{3}){2})(\t|$| |,|;))/gi - - + + /** * Utils object for color manipulation - */ + */ export const HEXA_COLOR = /(#[\da-f]{3}|#[\da-f]{6})($|,| |;|\n)/gi; - -export default { HEXA_COLOR }; + +export default { + HEXA_COLOR +}; From 21c8352effd8e0f53bb44053a3fd144391f3de49 Mon Sep 17 00:00:00 2001 From: benjaminJ Date: Sun, 15 Jan 2017 19:15:08 +0100 Subject: [PATCH 19/21] Prepare extension publish --- logo.png | Bin 0 -> 3867 bytes package.json | 45 ++++++++++++++++++++++++++++++--------------- 2 files changed, 30 insertions(+), 15 deletions(-) create mode 100644 logo.png diff --git a/logo.png b/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..644cde05c0c07cc01421dfd8fb9d560fe82fa213 GIT binary patch literal 3867 zcmds4={pn-7oD+=eK1nLB#}K^2-&w}36V8pE2NY)`P>9`VT7r0N^mbYhd+vBK`{y)8F2! z=V21Ss{i`f9RleU`nJV7mNDq}R4N7o);e2NT(MUqLw9tqM3aK2~zO!5h}On>fVgmMlR6>T z;sEu|`NBIU&WUq~eQZGO@dnSeMdo9P1FOSGR!I4D;8b|fGlrcFEThIzf-!q1m2+@t zD0hEK@2rldIX~Btx|$=waaed76sg&szOjhk^-bbjEU+z#rG@b>^ch_?0J|>Yr#@8y zGOu^`nt`@ggu5u-mOCl=`W%fe5d1tYf_jocp$*+qc32Pt`Zybii%V%XUbBr|R!8I-_-P=)zcn z{G(+wR^grPb7Aj&v6*TYov{KWGAX^#WxRr+f+Lbrw;c`eWa|7PL(Y20{4O1A6dcUi zw4jiKKMi+nnssRMWLsO~KOA|l5F4v>O?h8qgYZIBe!TF??82A3vE3?Mt^*cPr5>DR zWgev;y`C@(4m7X6y|E;CMVAnfVD0$A$jK^yRMvAA9$3|wEvkcRO8K^#$HPayXWWA1 zQ5P7!LH-x3k+#fu~x7Rp%NKa@@e$bnSFf)W+E#8WzV(Oz1;hSCEiSt6P^ps; z9jxNV47I2eCHfc51w`VLL6ae32My|TE3ceWJ*0hPP3~RT%RQ^b#bQY*DbM{XJ7p`g zLWKgC>x5Q&QRQG{r+X( z1fVVk>H0Af4jry`=Q18|A2J7Ja-Sm`Dx@Euu(>Db z`-x|t{^-T5P2bjYY6z?G0xX?rN6fg-M=o8t^}^AtKlS<7cE7~7t&7k#w$w~H&V)qk zmEG?7v_`6~?yKMP4c#q03lUVI$&Vwya90-w@>j~A?Z>rSsV`}tWDOVJT*(b$aQDwEY3JlUMteJ&|kX_q#yT9L$1E321N6eI&)-923`LM$E2)g;->F z2wf)vG4^FHqPoLiklDC(2e0C_03mEHYPN+}M*;y4R8{(`==qb?ItHI`l8NyJ0VKn( zIM+yVTy}%0pYw`&0Xs!zU(3S-6M3n$ROug&W{bmjJ&*+VUX7C&{$*M z!T|H-nOP=2F;iW=&ch0xOOtIF`wHr*F>m{1AtseYr%jmwh&PiSolY3!Xt8peU zcRHATptXP&AJ3U#utEmcIwQXY0~mnrlq?XsnirfJy7p5v7>0c4J@@-bFxU8 za7pyzX%-}Mp*v;WB)qH)fd(D$p1uSnFboD;okf4d70Y>gdMhIivt(Asb&r(eSvDVMS2=4T_oU7C5ESxtf}8$_al>kjbtN^5NDL<)QCL2y<$?62+*tjT$V;; zOh$wYBmB>)r2u!qK-!&2@%qI+SR-g0#?4^+`^O^W(fcR`7XN{bljNvd5;tO3&gUus z1g6K0UWnQ4=ESKf_T}MwQ&!#W(nrHlo(e@p*M=hlipxQIJu3M6l$;!iQRKZJKffxP z)4fi+Efqg~uj~HLHOTVV9=&@$jh6LOU_gk1 zQoP4d!gh{XRMGsd3Tk<6Kdn5us8*O?BwA}IDGQ77Xiky4i{up)EwBUydWHe8YQi)9TRlH{mc#Z^^FnqOUjf6brpZF zNO^HNeue##pyZZT`x#*e7*+NdH- z^8IZ)eC4D``yzImV5YqZ@8F)m5i$UAej0VVFEJ$-P$N2b&#ju932|{*h8isD!Cm_u zC>!Zhq~)tqni~x_*qm~S4cgkZHkpoXz2C(j6M7x7WFWVDL`gd{m)`M#i?H}B1Z_F7 zQWvP9nZ}@LA}+8oOIg*?-=BqU8?Qb)fsHt>bI(~uQ@1vXsaR-=g7`#PW^sKih(37?N>0d$5L!>D)wAp->`Y4yX#NT?A~v3g z#%?Hc)Fe)sL;NB?=%kgA%f?LezL(J-+q%k4TI?00uGiBq6>Qu8C_wSyeDN$198_?M zPRvt2o$AN^PtSK^EDkq+ekbj3=hSHv4$j5P$MhfUYAC;D9Yv}@O)sTv2KcKDnLGcC z*$WpPBli6odV~}P)s#b|4^B(v>JL|%?69(5^owY!TP8d9{pIYYpfVDxubWhUlzH|R zX_vybt+N~O8V+{fo;Jm8-FvVvyA@OM@E3|Zt{_gX^(~^SBD3ShL_b6a# zrn_p!#P!OTD)(?|>&sCM^%4x^T5n?`%`ss@VXm;c_@?k_hgyd9@H4(ocpSc9{@FXZ z!L~CQ)C~*fhbP<#6k9YthEP^Gd^G_31b9k|Nkgj|_a5!}?dU-9R^qdt?f`OWC$~qi z1z$Wn$IxE(`Ty3k0wISlFay;m@xl&cXDNT9z*!?bKBrPxN7F7fsA-$B?i)l`F%5rS z6O{s(Ftd#>PeuqMB;7JYOt^KlY|F6^801B(cg-c~2KoozXC(p3V{PUo4FN~?xf530 zUGFi2>SZ9ItJ2nvQgk^ywqYM3z@LviOiT>{);&_&?}ZVO)n?w6AXgLnUq~y4^t4P# t89tyH%cpkhB*1Rn&9bup!)536Mdf=wfzRWG|At-fF1w< literal 0 HcmV?d00001 diff --git a/package.json b/package.json index 25986200..ca5818c1 100644 --- a/package.json +++ b/package.json @@ -1,10 +1,11 @@ { - "name": "colorize", + "name": "vscode_colorize", "displayName": "colorize", - "description": "A simple extension to help visualize css colors.", - "version": "0.0.1", + "description": "A vscode extension to help visualize css colors in files.", + "version": "0.1.0", "publisher": "KamiKillertO", "license": "Apache-2.0", + "icon": "logo.png", "engines": { "vscode": "^1.5.0" }, @@ -14,21 +15,35 @@ "keywords": [ "hsl", "rgb", + "rgba", "color", "css", - "hexa" + "hexa", + "sass", + "scss", + "less" ], + "galleryBanner": { + "color": "#87CEFA", + "theme": "dark" + }, "activationEvents": [ - "onCommand:extension.sayHello" + "onLanguage:css", + "onLanguage:sass", + "onLanguage:scss", + "onLanguage:less" ], "main": "./out/src/extension", "contributes": { - "commands": [ - { - "command": "extension.sayHello", - "title": "Hello World" - } - ] + "commands": [] + }, + "bugs": { + "url": "https://github.com/KamiKillertO/vscode_colorize/issues" + }, + "homepage": "https://github.com/KamiKillertO/vscode_colorize", + "repository": { + "type": "git", + "url": "https://github.com/KamiKillertO/vscode_colorize.git" }, "scripts": { "vscode:prepublish": "tsc -p ./", @@ -40,13 +55,13 @@ }, "devDependencies": { "@types/chai": "3.4.34", - "@types/mocha": "2.2.35", - "@types/node": "^6.0.40", + "@types/mocha": "2.2.37", + "@types/node": "6.0.50", "chai": "3.5.0", "mocha": "3.2.0", "node-pre-gyp": "0.6.32", - "tslint": "4.2.0", - "typescript": "2.1.4", + "tslint": "4.3.1", + "typescript": "2.1.5", "vscode": "1.0.3" } } From 1da494e175b69c01f71d80751a100769aab12718 Mon Sep 17 00:00:00 2001 From: benjaminJ Date: Tue, 17 Jan 2017 12:59:01 +0100 Subject: [PATCH 20/21] Move assets in a separate folder --- README.md | 62 ++++++++++-------------------------- assets/demo.gif | Bin 0 -> 280361 bytes logo.png => assets/logo.png | Bin assets/logo.svg | 18 +++++++++++ 4 files changed, 35 insertions(+), 45 deletions(-) create mode 100644 assets/demo.gif rename logo.png => assets/logo.png (100%) create mode 100644 assets/logo.svg diff --git a/README.md b/README.md index 1925d824..fc778030 100644 --- a/README.md +++ b/README.md @@ -1,31 +1,19 @@ -# b README +# Colorize README -This is the README for your extension "b". After writing up a brief description, we recommend including the following sections. +Colorize will scan your css files looking for colors and generate a background for each of them. +The background is generated from the color. -## Features - -Describe specific features of your extension including screenshots of your extension in action. Image paths are relative to this README file. - -For example if there is an image subfolder under your extension project workspace: - -\!\[feature X\]\(images/feature-x.png\) +![](assets/demo.gif) -> Tip: Many popular extensions utilize animations. This is an excellent way to show off your extension! We recommend short, focused animations that are easy to follow. - -## Requirements - -If you have any requirements or dependencies, add a section describing those and how to install and configure them. - -## Extension Settings +## Features -Include if your extension adds any VS Code settings through the `contributes.configuration` extension point. +Generate background for css hexa color -For example: + ## Known Issues @@ -33,33 +21,17 @@ Calling out known issues can help limit users opening duplicate issues against y ## Release Notes -Users appreciate release notes as you update your extension. - -### 1.0.0 - -Initial release of ... - -### 1.0.1 - -Fixed issue #. - -### 1.1.0 - -Added features X, Y, and Z. - ------------------------------------------------------------------------------------------------------------ +### Latest 0.1.0 (2017.01.16) -## Working with Markdown +- First Release +- Add support for css hexa colors -**Note:** You can author your README using Visual Studio Code. Here are some useful editor keyboard shortcuts: +See [CHANGELOG](CHANGELOG.md) for more information. -* Split the editor (`Cmd+\` on OSX or `Ctrl+\` on Windows and Linux) -* Toggle preview (`Shift+CMD+V` on OSX or `Shift+Ctrl+V` on Windows and Linux) -* Press `Ctrl+Space` (Windows, Linux) or `Cmd+Space` (OSX) to see a list of Markdown snippets +## Roadmap -### For more information +These depend on the feedback and user requests. -* [Visual Studio Code's Markdown Support](http://code.visualstudio.com/docs/languages/markdown) -* [Markdown Syntax Reference](https://help.github.com/articles/markdown-basics/) +## Contributing -**Enjoy!** \ No newline at end of file +Bugs, feature requests and more, in [GitHub Issues](https://github.com/KamiKillertO/vscode_colorize/issues). diff --git a/assets/demo.gif b/assets/demo.gif new file mode 100644 index 0000000000000000000000000000000000000000..1ebf9be8cf589d6fbc755f034481930e7579aacc GIT binary patch literal 280361 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 + + + + + + + + + + + + + + + + #colorize + \ No newline at end of file From 1be7dd9becf01d0ab28f346d4feb8804eb947aa0 Mon Sep 17 00:00:00 2001 From: benjaminJ Date: Tue, 17 Jan 2017 14:44:58 +0100 Subject: [PATCH 21/21] Fix style issues and package errors before pushing release --- README.md | 2 +- package.json | 4 +- src/extension.ts | 25 +++++----- test/extension.test.ts | 108 ++++++++++++++++++++--------------------- test/index.ts | 16 +++--- 5 files changed, 79 insertions(+), 76 deletions(-) diff --git a/README.md b/README.md index fc778030..64719342 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ Calling out known issues can help limit users opening duplicate issues against y ## Release Notes -### Latest 0.1.0 (2017.01.16) +### Latest 0.1.0 (2017.01.17) - First Release - Add support for css hexa colors diff --git a/package.json b/package.json index ca5818c1..ed2ff21f 100644 --- a/package.json +++ b/package.json @@ -1,11 +1,11 @@ { - "name": "vscode_colorize", + "name": "vscode-colorize", "displayName": "colorize", "description": "A vscode extension to help visualize css colors in files.", "version": "0.1.0", "publisher": "KamiKillertO", "license": "Apache-2.0", - "icon": "logo.png", + "icon": "assets/logo.png", "engines": { "vscode": "^1.5.0" }, diff --git a/src/extension.ts b/src/extension.ts index 58794c7e..88924261 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -28,7 +28,7 @@ export function activate(context: ExtensionContext) { let timeout = null; let editor = window.activeTextEditor; - function triggerUpdateDecorations(/*range*/) { + function triggerUpdateDecorations( /*range*/ ) { if (timeout) { clearTimeout(timeout); } @@ -36,14 +36,15 @@ export function activate(context: ExtensionContext) { timeout = setTimeout(updateDecorations, 500); } - function updateDecorations( /*editor: TextEditor, editedRange: Range*/) { + function updateDecorations( /*editor: TextEditor, editedRange: Range*/ ) { if (!editor) { return; } - let disposed = decorations.filter(decoration => { - decoration.checkDecoration(editor) - return decoration.disposed; + + let disposed = decorations.filter(decoration => { + decoration.checkDecoration(editor); + return decoration.disposed; }); let text = window.activeTextEditor.document.getText(); @@ -56,7 +57,7 @@ export function activate(context: ExtensionContext) { text = text.substr(match.index + match[1].length); let alreadyIn = decorations.find(decoration => decoration.textPosition.start.isEqual(startPos) && decoration.textPosition.end.isEqual(endPos)); if (alreadyIn) { - continue; + continue; } let range = new Range(startPos, endPos); @@ -78,7 +79,7 @@ export function activate(context: ExtensionContext) { workspace.onDidChangeTextDocument(event => { if (editor && event.document === editor.document) { - triggerUpdateDecorations(/*event.contentChanges*/); + triggerUpdateDecorations( /*event.contentChanges*/ ); } }, null, context.subscriptions); } @@ -87,7 +88,7 @@ export function activate(context: ExtensionContext) { function generateDecorator(color: string): TextEditorDecorationType { let textColor = null; let luminance = ColorUtil.luminance(color); - if (luminance < 0.7) { + if (luminance < 0.7) { textColor = '#fff'; } else { textColor = '#000'; @@ -103,7 +104,7 @@ function generateDecorator(color: string): TextEditorDecorationType { } // this method is called when your extension is deactivated -export function deactivate() { } +export function deactivate() {} class ColorDecoration { @@ -120,7 +121,7 @@ class ColorDecoration { this._match = match; } public checkDecoration(editor: TextEditor): void { - let character_after = editor.document.lineAt(this.textPosition.start.line).text.substring(this.textPosition.end.character, this.textPosition.end.character + 1) + let character_after = editor.document.lineAt(this.textPosition.start.line).text.substring(this.textPosition.end.character, this.textPosition.end.character + 1); let text = editor.document.lineAt(this.textPosition.start.line).text.substring(this.textPosition.start.character, this.textPosition.end.character + 1); if (!this._matcher.test(text) || character_after === "") { this._decoration.dispose(); @@ -139,7 +140,9 @@ class ColorDecoration { this._decoration.dispose(); let decoration = generateDecorator(this._match); this._decoration = decoration; - editor.setDecorations(this._decoration, [{ range: this.textPosition }]); + editor.setDecorations(this._decoration, [{ + range: this.textPosition + }]); } public dispose(): void { this._decoration.dispose(); diff --git a/test/extension.test.ts b/test/extension.test.ts index 689e4e27..05ad6b6f 100644 --- a/test/extension.test.ts +++ b/test/extension.test.ts @@ -2,61 +2,61 @@ import { assert } from 'chai'; // You can import and use all API from the 'vscode' module // as well as import your extension to test it -import { HEXA_COLOR } from '../src/color-regex'; +import { HEXA_COLOR } from '../src/color-regex'; import ColorUtil from '../src/color-util'; // Defines a Mocha test suite to group tests of similar kind together - describe("Test CSS hexa shorthand color Regex", () => { - it('Should match color with only integer', function() { - assert.ok('#000'.match(HEXA_COLOR)); - }); - it('Should match color with letters and integers', function() { - assert.ok('#f0a'.match(HEXA_COLOR)); - }); - it('Should match color with only letters', function() { - assert.ok('#fff'.match(HEXA_COLOR)); - }); - it('Regex should not care about the case', function() { - assert.ok('#Abc'.match(HEXA_COLOR)); - }); - it('Should match with different characters at the end', function() { - assert.ok('#Abc'.match(HEXA_COLOR)); - assert.ok('#Abc '.match(HEXA_COLOR)); - assert.ok('#Abc,'.match(HEXA_COLOR)); - assert.ok('#Abc;'.match(HEXA_COLOR)); - assert.ok('#Abc\n'.match(HEXA_COLOR)); - }); - it('Should not match', function() { - assert.notOk('#AbG'.match(HEXA_COLOR)); - assert.notOk('#AbcG'.match(HEXA_COLOR)); - assert.notOk('#Ab'.match(HEXA_COLOR)); - }); - }); - describe("Test CSS hexa color Regex", () => { - it('Should match color with only integer', function() { - assert.ok('#000000'.match(HEXA_COLOR)); - }); - it('Should match color with letters and integers', function() { - assert.ok('#f0f0f0'.match(HEXA_COLOR)); - }); - it('Should match color with only letters', function() { - assert.ok('#ffffff'.match(HEXA_COLOR)); - }); - it('Regex should not care about the case', function() { - assert.ok('#Abc012'.match(HEXA_COLOR)); - }); - it('Should match with different characters at the end', function() { - assert.ok('#ffffff '.match(HEXA_COLOR)); - assert.ok('#ffffff,'.match(HEXA_COLOR)); - assert.ok('#ffffff;'.match(HEXA_COLOR)); - assert.ok('#ffffff\n'.match(HEXA_COLOR)); - }); - it('Should not match', function() { - assert.notOk('#fffffg'.match(HEXA_COLOR)); - assert.notOk('#ffffffg'.match(HEXA_COLOR)); - assert.notOk('#fffff'.match(HEXA_COLOR)); - }); - }); +describe("Test CSS hexa shorthand color Regex", () => { + it('Should match color with only integer', function () { + assert.ok('#000'.match(HEXA_COLOR)); + }); + it('Should match color with letters and integers', function () { + assert.ok('#f0a'.match(HEXA_COLOR)); + }); + it('Should match color with only letters', function () { + assert.ok('#fff'.match(HEXA_COLOR)); + }); + it('Regex should not care about the case', function () { + assert.ok('#Abc'.match(HEXA_COLOR)); + }); + it('Should match with different characters at the end', function () { + assert.ok('#Abc'.match(HEXA_COLOR)); + assert.ok('#Abc '.match(HEXA_COLOR)); + assert.ok('#Abc,'.match(HEXA_COLOR)); + assert.ok('#Abc;'.match(HEXA_COLOR)); + assert.ok('#Abc\n'.match(HEXA_COLOR)); + }); + it('Should not match', function () { + assert.notOk('#AbG'.match(HEXA_COLOR)); + assert.notOk('#AbcG'.match(HEXA_COLOR)); + assert.notOk('#Ab'.match(HEXA_COLOR)); + }); +}); +describe("Test CSS hexa color Regex", () => { + it('Should match color with only integer', function () { + assert.ok('#000000'.match(HEXA_COLOR)); + }); + it('Should match color with letters and integers', function () { + assert.ok('#f0f0f0'.match(HEXA_COLOR)); + }); + it('Should match color with only letters', function () { + assert.ok('#ffffff'.match(HEXA_COLOR)); + }); + it('Regex should not care about the case', function () { + assert.ok('#Abc012'.match(HEXA_COLOR)); + }); + it('Should match with different characters at the end', function () { + assert.ok('#ffffff '.match(HEXA_COLOR)); + assert.ok('#ffffff,'.match(HEXA_COLOR)); + assert.ok('#ffffff;'.match(HEXA_COLOR)); + assert.ok('#ffffff\n'.match(HEXA_COLOR)); + }); + it('Should not match', function () { + assert.notOk('#fffffg'.match(HEXA_COLOR)); + assert.notOk('#ffffffg'.match(HEXA_COLOR)); + assert.notOk('#fffff'.match(HEXA_COLOR)); + }); +}); describe("Test CSS hexa shorthand color Regex", () => { it('Should match color with only integer', function () { assert.ok('#000'.match(HEXA_COLOR)); @@ -120,7 +120,7 @@ describe('Test utility fonction', () => { assert.equal(ColorUtil.luminance('#000'), 0, 'Should be "0" for #000'); assert.equal(ColorUtil.luminance('#000000'), 0, 'Should be "0" for #000000'); - assert.equal(ColorUtil.luminance('#ccc').toFixed(1), 0.6 , 'Should be around "0.6" for #ccc'); - + assert.equal(ColorUtil.luminance('#ccc').toFixed(1), 0.6, 'Should be around "0.6" for #ccc'); + }); }); diff --git a/test/index.ts b/test/index.ts index 931c9cdf..1403e866 100644 --- a/test/index.ts +++ b/test/index.ts @@ -9,14 +9,14 @@ // host can call to run the tests. The test runner is expected to use console.log // to report the results back to the caller. When the tests are finished, return // a possible error to the callback or null if none. - -var testRunner = require('vscode/lib/testrunner'); - + +let testRunner = require('vscode/lib/testrunner'); + // You can directly control Mocha options by uncommenting the following lines // See https://github.com/mochajs/mocha/wiki/Using-mocha-programmatically#set-options for more info -testRunner.configure({ - // ui: 'tdd', // the TDD UI is being used in extension.test.ts (suite, test, etc.) - useColors: true // colored output from test results -}); - +testRunner.configure({ + // ui: 'tdd', // the TDD UI is being used in extension.test.ts (suite, test, etc.) + useColors: true // colored output from test results +}); + module.exports = testRunner;