Skip to content

Instantly share code, notes, and snippets.

@renoirb
Forked from anonymous/index.html
Last active February 13, 2017 02:25
Show Gist options
  • Save renoirb/1ad73fa788bfd5c5c9131410839f0828 to your computer and use it in GitHub Desktop.
Save renoirb/1ad73fa788bfd5c5c9131410839f0828 to your computer and use it in GitHub Desktop.
Use JavaScript to fill a print form // source http://jsbin.com/kegajep
{
"plugins": [
"transform-es2015-typeof-symbol",
"transform-es2015-spread",
"transform-es5-property-mutators",
"check-es2015-constants",
"transform-es2015-block-scoping",
"transform-es2015-arrow-functions",
"transform-es2015-for-of",
"transform-es2015-template-literals",
"transform-es2015-parameters",
"transform-async-generator-functions",
["transform-runtime", {
"helpers": false,
"polyfill": false,
"regenerator": false
}],
["transform-es2015-classes", {
"loose": true
}]
]
}
.vagrant/
node_modules/
wkhtmltopdf.pdf
wkhtmltopdf.es6
.DS_Store

Render an HTML file into PDF

Requirements

  • XVfb and wkhtmltopdf 0.12.2 with Qt
  • Transpile ES2015+ into ES5 (pre ECMAScript 2015 a.k.a. "ES6")

Install

Transpile ECMAScript 2016+ (a.k.a. ES6) into ES5

Install requirements and use npm test to regenerate

yarn install
npm test

Which will transpile wkhtmltopdf.es6 into wkhtmltopdf.js.

Run within existing infrastructure

You first need wkhtmltopdf at version 0.12 patched with Qt, if you get the following, you'll be fine;

wkhtmltopdf -V
wkhtmltopdf 0.12.2.1 (with patched qt)

Then, assuming we have wkhtmltopdf.js transpiled with the following files available;

  • jsbin.kegajep.css
  • viewoverflowhandler.js
  • wkhtmltopdf.html
  • wkhtmltopdf.js

Then run with JavaScript enabled

wkhtmltopdf --javascript-delay 2000 --debug-javascript --enable-javascript ./wkhtmltopdf.html ./wkhtmltopdf.pdf

Inside a Vagrant VM

If you don't have wkhtmltopdf you can use the provided Vagrantfile to have one for testing.

Clone this Gist

git clone [email protected]:1ad73fa788bfd5c5c9131410839f0828.git javascript-wkhtmltopdf-renderer
cd javascript-wkhtmltopdf-renderer

Transpile

Install requirements and use npm test to regenerate

yarn install
npm test

Which will transpile wkhtmltopdf.es6 into wkhtmltopdf.js.

Ubuntu Linux 14.04 LTS

Use Vagrantfile

vagrant up

Which is roughly only the following commands:

sudo add-apt-repository ppa:ecometrica/servers
sudo apt-get update
sudo apt-get install -y wkhtmltopdf xvfb

See if its OK

From within the VM...

wkhtmltopdf -V
wkhtmltopdf 0.12.2.1 (with patched qt)

Render

cd /data
./render.sh
Loading page (1/2)
Printing pages (2/2)
Done

And you should get a PDF file called wkhtmltopdf.pdf

@import "https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css";
@page {
size: auto; /* auto is the initial value */
margin: 5mm;
}
@media print {
body > section:first-child {
break-after: always;
page-break-after: always;
}
}
@media screen {
body > section {
width: 700px;
margin: 10px auto;
}
}
* {
box-sizing: border-box;
}
caption {
text-align: center;
font-weight: bold;
font-size: 1.2em;
color: #000;
padding: 3px;
}
.doc-head {
overflow: hidden;
font-size: smaller;
}
.doc-head:first-child {
border-bottom: 2px solid #000 !important;
}
table {
width: 100%;
font-size: 0.8em;
border-bottom: 1px solid #ddd;
table-layout: fixed;
}
.limit-leftovers {
font-size: 0.8em;
}
.leftover-element + .leftover-element {
margin-top: 30px;
}
.table>tbody+tbody {
border-top: 0;
}
table th {
font-weight: 600;
}
table > tbody:nth-child(0n+3) > tr > td {
width: calc(100%/2);
/*background-color: pink;*/
}
table > tbody > tr > td {
border-top: 0 !important;
}
table > * > tr > th:not(:first-child),
table > * > tr > td:not(:first-child) {
border-left: 1px solid #ddd;
}
th[data-field-number]:before {
content: attr(data-field-number) ".";
font-weight: normal;
padding-right: 3px;
}
.limit {
overflow: hidden;
text-overflow: clip;
}
.limit-colorize .limit.limit-cover-alpha {
background-color: blue;
}
.limit-colorize .limit.limit-cover-bravo {
background-color: red;
}
.limit-colorize .limit.limit-cover-charlie {
background-color: yellow;
}
.limit-colorize .limit.limit-cover-delta {
background-color: green;
}
.limit-cover-alpha {
max-height: 380px;
}
.limit-cover-bravo {
max-height: 100px;
}
.limit-cover-charlie {
max-height: 152px;
}
.limit-cover-delta {
max-height: 49px;
}
(function(w,d){
'use strict';
var lipsum = [];
lipsum.push('Lorem ipsum dolor sit amet, consectetur adipiscing elit.');
lipsum.push('Curabitur egestas odio a volutpat accumsan. Nullam consectetur nibh pulvinar pellentesque eleifend.');
lipsum.push('Nam nec varius erat. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Aenean tincidunt elit eu nunc sodales venenatis.');
lipsum.push('Donec dictum ornare dolor vel posuere.');
lipsum.push('Vivamus pellentesque, dui at malesuada interdum, lorem tortor hendrerit elit, eu consectetur risus tellus ut dolor. Integer nec tellus nisi. Sed pulvinar bibendum mauris et pulvinar. Vivamus sollicitudin elit sed iaculis cursus. Quisque vulputate tellus eros, eget tempus ex egestas id. Integer malesuada auctor pulvinar. Pellentesque et libero tellus.');
lipsum.push('Etiam efficitur risus sed commodo posuere. Etiam nisl lacus, pulvinar ac finibus non, vestibulum eu est. Pulvinar at eleifend vel, porttitor ac diam. Praesent vel laoreet enim.');
lipsum.push('Vestibulum consectetur justo sed nisi tempor, sed finibus erat feugiat.');
lipsum.push('Nulla risus magna, malesuada quis luctus et, lacinia vel metus.');
lipsum.push('Nullam quis pharetra sapien.');
lipsum.push('Morbi id eros venenatis tortor eleifend vestibulum quis ut massa.');
lipsum.push('Morbi bibendum lobortis turpis, vel auctor diam. Morbi massa massa, feugiat vitae pharetra non, ullamcorper quis mi.');
lipsum.push('Sed placerat sed nulla sit amet laoreet. Ut eros ex, bibendum vitae dapibus at, auctor a magna.');
lipsum.push('Nullam non ligula eget elit finibus tempus et sed ante. Nulla varius tellus nec varius tincidunt. Vivamus a velit vitae nibh porta vestibulum.');
lipsum.push('Vestibulum pharetra metus eget dui condimentum, nec ultricies erat ornare. Etiam porttitor turpis vel varius malesuada.');
lipsum.push('Maecenas luctus elit erat, ut dictum eros facilisis sed. Nunc aliquam orci nec gravida mattis. Etiam imperdiet maximus risus. Phasellus porta nisi ut mauris sollicitudin tincidunt.');
lipsum.push('Etiam sagittis tristique turpis lacinia efficitur. Sed molestie arcu quam, in dictum magna sodales sed. Quisque tempus turpis et tempus ultrices. Fusce non nunc dapibus, placerat dui ut, pellentesque eros. Quisque semper libero non dui rhoncus, sed iaculis nisi blandit. Morbi sodales, sem nec dignissim interdum, purus risus egestas velit, eget suscipit ipsum risus ac mauris. Ut dui elit, mollis et aliquet et, consequat et nunc. Etiam et ex non tellus blandit ullamcorper. Vivamus a mollis nulla.');
lipsum.push('Nulla egestas rutrum elit, at laoreet eros ornare ac. Vestibulum ultricies sed felis eu pharetra. Maecenas sollicitudin volutpat tellus ut varius.');
lipsum.push('Suspendisse finibus, erat sed pharetra rhoncus, dolor quam auctor libero, vitae mattis mi sapien sed nibh. Integer vehicula libero risus, non accumsan est congue ac. Ut felis purus, vestibulum in diam quis, lacinia sodales ipsum. Integer quis maximus purus. Donec eu quam vitae quam luctus faucibus. Duis iaculis nunc nec mauris dictum molestie. Suspendisse suscipit est erat, vitae suscipit mi ultricies a. Ut aliquet eget turpis vitae imperdiet. Maecenas nisl enim, rhoncus at lorem ultricies, elementum accumsan enim. Quisque ligula nunc, viverra vel tempor eget, consectetur ac elit.');
function randomLipsumIndexes(n, list){
let o = [];
while(n-- && n > -1) {
o.push(Math.floor(Math.random() * list.length));
}
return o;
}
function sentences(n) {
let o = [];
for(const s of randomLipsumIndexes(n, lipsum)) {
o.push(lipsum[s]);
}
let dto = o.map(s => `<p>${s}</p>`).join(' ');
return `<div class=wrap>${dto}</div>`;
}
function words(n) {
let out = [],
i = randomLipsumIndexes(1, lipsum),
w = lipsum[i].split(' '),
s = randomLipsumIndexes(n, w);
for(const r of s) {
out.push(w[r]);
}
return `<p>${out.join(' ')}</p>`;
}
function makeDate(minusDaysAgo) {
let d = parseInt(minusDaysAgo)||0,
dateObj = new Date();
if (isNaN(d)) {
return dateObj;
}
return new Date(dateObj.setDate(dateObj.getDate() - d));
}
function someNumbers(n){
let o = [];
while(n-- && n > -1) {
o.push(Math.floor(Math.random() * n));
}
return Number(o.join(''));
}
function populateSentences(where, n = 4) {
let p = d.querySelector(where)
p.innerHTML = sentences(n);
return p;
}
function populateWords(where, n = 4) {
let p = d.querySelector(where)
p.innerHTML = words(n);
return p;
}
function colorizeToggler() {
let b = d.querySelector('body'),
className = b.className;
if (className.includes('limit-colorize')) {
b.className = "";
} else {
b.className = 'limit-colorize';
}
}
// Fill data in some way
d.querySelector('#f1').textContent = 'John Doe';
d.querySelector('#f2').textContent = makeDate().toISOString().split('.')[0].split('T')[0];
d.querySelector('#f3').textContent = `Foo`;
d.querySelector('#f4').textContent = `Bar`;
d.querySelector('#f5').textContent = someNumbers(10);
d.querySelector('#f6').textContent = someNumbers(8);
d.querySelector('#f8').textContent = makeDate(6840).toISOString().split('T')[0];
d.querySelector('#f9').textContent = `M`;
populateSentences('#f7', 7);
populateSentences('#f10', 8);
populateWords('#f11', 8);
populateSentences('#f11a', 3);
d.querySelector('#f11b').textContent = makeDate(120).toISOString().split('T')[0];
populateWords('#f12', 6);
populateSentences('#f12a', 2);
d.querySelector('#f12b').textContent = makeDate(300).toISOString().split('T')[0];
populateWords('#f13', 3);
populateSentences('#f13a', 1);
d.querySelector('#f13b').textContent = makeDate(1300).toISOString().split('T')[0];
populateSentences('#f14', 9);
populateSentences('#f15', 3);
populateWords('#f16', 3);
populateWords('#f17', 5);
populateWords('#f18', 1);
populateWords('#f19', 1);
populateWords('#f20', 1);
let pass = {};
pass.populate = {words: populateWords, sentences: populateSentences, numbers: someNumbers};
pass.colorize = colorizeToggler;
w.demo = pass;
w.onload = function (eventObj) {
let doc = eventObj.currentTarget.document,
fields = doc.querySelectorAll('th[id]');
for(const field of fields) {
let idNbr = (/^f\d+/.test(field.id)) ? /\d+/.exec(field.id) : null;
if (idNbr) {
field.dataset.fieldNumber = idNbr;
}
}
};
})(window, document);
/**
* ViewOverflowHandler prototype
* may differ from original https://gist.github.com/renoirb/5dc793d986857a75437ba82405d294d1
*
* Use from the browser:
* List elements that has overflow:
* demo.fields.forEach((e, idx) => { console.log(idx, e.selector, e.overflows); });
*
* Manage items that has overflows
* demo.fields.forEach((e, idx) => { if (e.overflows) e.shorten(); });
*
* Which ones had been shortened
* demo.fields.forEach((e, idx) => { if(e.shortened) console.log(idx, e.shortened); });
*
* How many times had a field been shortened?
* demo.fields.forEach((e, i) => { console.log(i, e.identifier, e.shortenCount); });
**/
'use strict';
class ViewOverflowHandler {
constructor(selector) {
let nodeList = document.querySelectorAll(selector);
if (nodeList.length > 1) {
const msg = `Selector '${selector}' expected exactly one match, but found ${nodeList.length}`;
throw new Error(msg);
}
this.shortenCount = 0;
this.shortened = false;
this.moved = false;
this.selector = selector;
this.identifier = selector.replace('#', '');
this.$el = document.querySelector(selector);
this.stash = document.createDocumentFragment();
this.title = document.querySelector(`#${this.identifier}-header`).textContent;
this.shorten();
}
get childNodes() {
return document.querySelectorAll(`${this.selector} > div > *`)
}
shorten() {
this.shortenCount++;
let length = this.childNodes.length,
lastIndex = length - 1;
if(this.overflows) {
//console.log(this.identifier, 'was overflowing');
this.stash.appendChild(this.childNodes[lastIndex]||document.createElement('p'));
this.shortened = true;
this.shorten();
}
}
get overflows() {
//console.log([this.$el.childNodes[0].nextElementSibling])
let parentHeight = this.$el.offsetHeight,
childHeight = this.$el.firstChild.clientHeight;
//console.log({parentHeight, childHeight});
return parentHeight < childHeight;
}
move() {
if (this.moved) {
return;
let error = `We should not be moving contents twice`;
throw new Error(error);
}
let fragment = document.createDocumentFragment(),
placeholder = document.createElement('div');
placeholder.className = "leftover-element";
placeholder.innerHTML = `<strong>${this.identifier}. ${this.title}</strong>`;
fragment
.appendChild(placeholder)
.appendChild(this.stash);
this.moved = true;
return fragment;
}
}
(function (w) {
w.demo.fields = [];
w.demo.fragments = []
for(const field of window.document.querySelectorAll('.field-value')) {
w.demo.fields.push(new ViewOverflowHandler(`#${field.id}`));
}
w.demo.fields.forEach((e, idx) => { if (e.overflows) e.shorten(); });
w.demo.fields.forEach((e, idx) => { if (e.shortened) w.demo.fragments.push(e.move()); });
if (w.demo.fragments.length > 0) {
var out = document.createDocumentFragment()
w.demo.fragments.forEach(e => out.appendChild(e));
document.querySelector('#leftovers').textContent = '';
document.querySelector('#leftovers').appendChild(out);
}
})(window);
{
"name": "javascript-wkhtmltopdf-renderer",
"version": "1.0.0",
"private": true,
"description": "Just a transpiler to ES5. Use JavaScript to render data. Plz.",
"scripts": {
"test": "cat jsbin.kegajep.js jsbin.xeheyey.js > wkhtmltopdf.es6 ; node_modules/.bin/babel wkhtmltopdf.es6 > wkhtmltopdf.js"
},
"author": "Renoir Boulanger <[email protected]>",
"license": "UNLICENSED",
"devDependencies": {
"babel": "^6.5.2",
"babel-cli": "^6.22.2",
"babel-plugin-check-es2015-constants": "^6.22.0",
"babel-plugin-transform-async-generator-functions": "^6.22.0",
"babel-plugin-transform-es2015-arrow-functions": "^6.22.0",
"babel-plugin-transform-es2015-block-scoping": "^6.22.0",
"babel-plugin-transform-es2015-classes": "^6.22.0",
"babel-plugin-transform-es2015-for-of": "^6.22.0",
"babel-plugin-transform-es2015-parameters": "^6.22.0",
"babel-plugin-transform-es2015-spread": "^6.22.0",
"babel-plugin-transform-es2015-template-literals": "^6.22.0",
"babel-plugin-transform-es2015-typeof-symbol": "^6.22.0",
"babel-plugin-transform-es5-property-mutators": "^6.22.0",
"babel-plugin-transform-runtime": "^6.22.0"
}
}
#!/usr/bin/env sh
/data/wkhtmltopdf/bin/wkhtmltopdf --javascript-delay 2000 --debug-javascript --enable-javascript ./wkhtmltopdf.html ./wkhtmltopdf.pdf
#!/usr/bin/env sh
command -v wkhtmltopdf >/dev/null 2>&1 || { echo "I require wkhtmltopdf but it's not installed. Aborting." >&2; exit 1; }
command -v xvfb-run >/dev/null 2>&1 || { echo "I require XVfb but it's not installed. Aborting." >&2; exit 1; }
exec xvfb-run -a -s "-screen 2 640x480x16" wkhtmltopdf --javascript-delay 2000 --debug-javascript --enable-javascript ./wkhtmltopdf.html ./wkhtmltopdf.pdf
# Define VM memory usage through environment variables
MEMORY = ENV.fetch("VAGRANT_MEMORY", "1024")
Vagrant.configure(2) do |config|
config.vm.box = "trusty-cloud"
config.vm.box_url = "https://cloud-images.ubuntu.com/vagrant/trusty/current/trusty-server-cloudimg-amd64-vagrant-disk1.box"
config.ssh.forward_agent = true
config.ssh.forward_x11 = true
# ref: https://github.com/mitchellh/vagrant/issues/1673
config.vm.provision "fix-no-tty", type: "shell" do |s|
s.privileged = false
s.inline = "sudo sed -i '/tty/!s/mesg n/tty -s \\&\\& mesg n/' /root/.profile"
end
config.vm.network "private_network", type: "dhcp"
if Vagrant.has_plugin?("vagrant-cachier")
# Configure cached packages to be shared between instances of the same base box.
# More info on http://fgrehm.viewdocs.io/vagrant-cachier/usage
config.cache.scope = :box
config.cache.enable :apt
end
config.vm.synced_folder ".", "/data"
config.vm.provider "virtualbox" do |v|
v.name = config.vm.hostname
# ref: http://www.virtualbox.org/manual/ch08.html
v.customize ["modifyvm", :id, "--memory", MEMORY]
v.customize ["modifyvm", :id, "--description", "Vagrant VM in " + File.dirname(__FILE__) ]
v.customize ["modifyvm", :id, "--ostype", "Ubuntu_64"]
v.customize ["modifyvm", :id, "--pae", "on"]
end
config.vm.provision "vagrant specific", run: "always", type: "shell" do |s|
s.inline = "sudo add-apt-repository ppa:ecometrica/servers && sudo apt-get update && sudo apt-get install -y wkhtmltopdf xvfb"
end
end
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="robots" content="noindex" />
<meta name="viewport" content="width=device-width" />
<title>Use JavaScript to fill a print form</title>
<!-- Make all ECMAScript 2015 into ES5 and we'll remove this TODO -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/babel-polyfill/6.22.0/polyfill.js"></script>
<!-- Those things should be brought in explicitly -->
<link rel=stylesheet href=https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css />
<link rel=stylesheet href=jsbin.kegajep.css />
</head>
<body>
<section>
<div class=doc-head>
<div class=pull-left>Lorem ipsum dolor sit amet, consectetur<br/>Elit curabitur egestas odio a volutpat</div>
<div class=pull-right>Nullam consectetur<br/>Odio A. No. 1111-2222</div>
</div>
<table class=table>
<caption>ETIAM EFFICITUR RISUS SED COMODO POSUERE</caption>
<tbody>
<tr>
<th id="f1-header">Suspendisse potenti</th>
<th id="f2-header">Pellentesque varius Date</th>
<th id="f3-header">Elit imperdiet laoreet</th>
<th id="f4-header">Vivamus a pulvinar</th>
<th id="f5-header" colspan=2>Finibus enim No.</th>
</tr>
<tr>
<td><output id=f1 class="field-value limit limit-cover-delta"></output></td>
<td><output id=f2 class="field-value limit limit-cover-delta"></output></td>
<td><output id=f3 class="field-value limit limit-cover-delta"></output></td>
<td><output id=f4 class="field-value limit limit-cover-delta"></output></td>
<td colspan=2><output id=f5 class="field-value limit limit-cover-delta"></output></td>
</tr>
</tbody>
<tbody>
<tr>
<th id="f6-header" colspan=3>Pellentesque Name and Address</th>
<th id="f7-header" colspan=3>Pellentesque eget’s Name, Address and Telephone Number</th>
</tr>
<tr>
<td colspan=3><output id=f6 class="field-value limit limit-cover-delta"></output></td>
<td colspan=3><address id=f7 class="field-value limit limit-cover-delta"></address></td>
</tr>
</tbody>
<tbody>
<tr>
<th id="f8-header" colspan=3>Date of Birth</th>
<th id="f9-header" colspan=1>Sex</th>
<th id="f10-header" colspan=2>Risus maximus, feugiat dictum nunc.</th>
</tr>
<tr>
<td colspan=3><output id=f8 class="field-value"></output></td>
<td colspan=1><div id=f9 class="field-value"></div></td>
<td colspan=2 rowspan=7><div id=f10 class="field-value limit limit-cover-alpha"></div></td>
</tr>
<tr>
<th id="f11-header">ABC</th>
<th id="f11a-header" colspan=2>Nam fringilla velit mattis</th>
<th id="f11b-header">Date</th>
</tr>
<tr>
<td><div id=f11 class="field-value limit limit-cover-bravo"></div></td>
<td colspan=2><div id=f11a class="field-value limit limit-cover-bravo"></div></td>
<td><div id=f11b class="field-value limit limit-cover-delta"></div></td>
</tr>
<tr>
<th id="f12-header">123</th>
<th id="f12a-header" colspan=2>Aenean iaculis</th>
<th id="f12b-header">Date</th>
</tr>
<tr>
<td><div id=f12 class="field-value limit limit-cover-bravo"></div></td>
<td colspan=2><div id=f12a class="field-value limit limit-cover-bravo"></div></td>
<td><div id=f12b class="field-value limit limit-cover-delta"></div></td>
</tr>
<tr>
<th id="f13-header">DO RE MI</th>
<th id="f13a-header" colspan=2>Sed ultricies sed lectus</th>
<th id="f13b-header">Date</th>
</tr>
<tr>
<td><div id=f13 class="field-value limit limit-cover-bravo"></div></td>
<td colspan=2><div id=f13a class="field-value limit limit-cover-bravo"></div></td>
<td><div id=f13b class="field-value limit limit-cover-delta"></div></td>
</tr>
</tbody>
<tbody>
<tr>
<th id="f14-header" colspan=4> Quisque vel erat dignissim</th>
<th id="f15-header" colspan=2>Aliquam a enim ultrice</th>
</tr>
<tr>
<td colspan=4><div id=f14 class="field-value limit limit-cover-charlie"></div></td>
<td colspan=2><div id=f15 class="field-value limit limit-cover-charlie"></div></td>
</tr>
</tbody>
</table>
</section>
<section class=doc-break>
<table class=table>
<caption>ETIAM EFFICITUR RISUS SED COMODO POSUERE</caption>
<tbody>
<tr>
<th id="f16-header">Suspendisse potenti</th>
<th id="f17-header">Pellentesque varius Date</th>
<th id="f18-header">Elit imperdiet laoreet</th>
<th id="f19-header">Vivamus a pulvinar</th>
<th id="f20-header" colspan=2>Finibus enim No.</th>
</tr>
<tr>
<td><div id=f16 class="field-value limit limit-cover-delta"></div></td>
<td><div id=f17 class="field-value limit limit-cover-delta"></div></td>
<td><div id=f18 class="field-value limit limit-cover-delta"></div></td>
<td><div id=f19 class="field-value limit limit-cover-delta"></div></td>
<td colspan=2><div id=f20 class="field-value limit limit-cover-delta"></div></td>
</tr>
</tbody>
</table>
<div id=leftovers class="limit limit-leftovers">
Left blank on purpose
</div>
</section>
<!--script src="wkhtmltopdf.js"></script-->
<script src="jsbin.kegajep.js"></script>
<script src="jsbin.xeheyey.js"></script>
</body>
</html>
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
(function (w, d) {
'use strict';
var lipsum = [];
lipsum.push('Lorem ipsum dolor sit amet, consectetur adipiscing elit.');
lipsum.push('Curabitur egestas odio a volutpat accumsan. Nullam consectetur nibh pulvinar pellentesque eleifend.');
lipsum.push('Nam nec varius erat. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Aenean tincidunt elit eu nunc sodales venenatis.');
lipsum.push('Donec dictum ornare dolor vel posuere.');
lipsum.push('Vivamus pellentesque, dui at malesuada interdum, lorem tortor hendrerit elit, eu consectetur risus tellus ut dolor. Integer nec tellus nisi. Sed pulvinar bibendum mauris et pulvinar. Vivamus sollicitudin elit sed iaculis cursus. Quisque vulputate tellus eros, eget tempus ex egestas id. Integer malesuada auctor pulvinar. Pellentesque et libero tellus.');
lipsum.push('Etiam efficitur risus sed commodo posuere. Etiam nisl lacus, pulvinar ac finibus non, vestibulum eu est. Pulvinar at eleifend vel, porttitor ac diam. Praesent vel laoreet enim.');
lipsum.push('Vestibulum consectetur justo sed nisi tempor, sed finibus erat feugiat.');
lipsum.push('Nulla risus magna, malesuada quis luctus et, lacinia vel metus.');
lipsum.push('Nullam quis pharetra sapien.');
lipsum.push('Morbi id eros venenatis tortor eleifend vestibulum quis ut massa.');
lipsum.push('Morbi bibendum lobortis turpis, vel auctor diam. Morbi massa massa, feugiat vitae pharetra non, ullamcorper quis mi.');
lipsum.push('Sed placerat sed nulla sit amet laoreet. Ut eros ex, bibendum vitae dapibus at, auctor a magna.');
lipsum.push('Nullam non ligula eget elit finibus tempus et sed ante. Nulla varius tellus nec varius tincidunt. Vivamus a velit vitae nibh porta vestibulum.');
lipsum.push('Vestibulum pharetra metus eget dui condimentum, nec ultricies erat ornare. Etiam porttitor turpis vel varius malesuada.');
lipsum.push('Maecenas luctus elit erat, ut dictum eros facilisis sed. Nunc aliquam orci nec gravida mattis. Etiam imperdiet maximus risus. Phasellus porta nisi ut mauris sollicitudin tincidunt.');
lipsum.push('Etiam sagittis tristique turpis lacinia efficitur. Sed molestie arcu quam, in dictum magna sodales sed. Quisque tempus turpis et tempus ultrices. Fusce non nunc dapibus, placerat dui ut, pellentesque eros. Quisque semper libero non dui rhoncus, sed iaculis nisi blandit. Morbi sodales, sem nec dignissim interdum, purus risus egestas velit, eget suscipit ipsum risus ac mauris. Ut dui elit, mollis et aliquet et, consequat et nunc. Etiam et ex non tellus blandit ullamcorper. Vivamus a mollis nulla.');
lipsum.push('Nulla egestas rutrum elit, at laoreet eros ornare ac. Vestibulum ultricies sed felis eu pharetra. Maecenas sollicitudin volutpat tellus ut varius.');
lipsum.push('Suspendisse finibus, erat sed pharetra rhoncus, dolor quam auctor libero, vitae mattis mi sapien sed nibh. Integer vehicula libero risus, non accumsan est congue ac. Ut felis purus, vestibulum in diam quis, lacinia sodales ipsum. Integer quis maximus purus. Donec eu quam vitae quam luctus faucibus. Duis iaculis nunc nec mauris dictum molestie. Suspendisse suscipit est erat, vitae suscipit mi ultricies a. Ut aliquet eget turpis vitae imperdiet. Maecenas nisl enim, rhoncus at lorem ultricies, elementum accumsan enim. Quisque ligula nunc, viverra vel tempor eget, consectetur ac elit.');
function randomLipsumIndexes(n, list) {
var o = [];
while (n-- && n > -1) {
o.push(Math.floor(Math.random() * list.length));
}
return o;
}
function sentences(n) {
var o = [];
var _iteratorNormalCompletion = true;
var _didIteratorError = false;
var _iteratorError = undefined;
try {
for (var _iterator = randomLipsumIndexes(n, lipsum)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
var s = _step.value;
o.push(lipsum[s]);
}
} catch (err) {
_didIteratorError = true;
_iteratorError = err;
} finally {
try {
if (!_iteratorNormalCompletion && _iterator.return) {
_iterator.return();
}
} finally {
if (_didIteratorError) {
throw _iteratorError;
}
}
}
var dto = o.map(function (s) {
return '<p>' + s + '</p>';
}).join(' ');
return '<div class=wrap>' + dto + '</div>';
}
function words(n) {
var out = [],
i = randomLipsumIndexes(1, lipsum),
w = lipsum[i].split(' '),
s = randomLipsumIndexes(n, w);
var _iteratorNormalCompletion2 = true;
var _didIteratorError2 = false;
var _iteratorError2 = undefined;
try {
for (var _iterator2 = s[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
var r = _step2.value;
out.push(w[r]);
}
} catch (err) {
_didIteratorError2 = true;
_iteratorError2 = err;
} finally {
try {
if (!_iteratorNormalCompletion2 && _iterator2.return) {
_iterator2.return();
}
} finally {
if (_didIteratorError2) {
throw _iteratorError2;
}
}
}
return '<p>' + out.join(' ') + '</p>';
}
function makeDate(minusDaysAgo) {
var d = parseInt(minusDaysAgo) || 0,
dateObj = new Date();
if (isNaN(d)) {
return dateObj;
}
return new Date(dateObj.setDate(dateObj.getDate() - d));
}
function someNumbers(n) {
var o = [];
while (n-- && n > -1) {
o.push(Math.floor(Math.random() * n));
}
return Number(o.join(''));
}
function populateSentences(where) {
var n = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 4;
var p = d.querySelector(where);
p.innerHTML = sentences(n);
return p;
}
function populateWords(where) {
var n = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 4;
var p = d.querySelector(where);
p.innerHTML = words(n);
return p;
}
function colorizeToggler() {
var b = d.querySelector('body'),
className = b.className;
if (className.includes('limit-colorize')) {
b.className = "";
} else {
b.className = 'limit-colorize';
}
}
// Fill data in some way
d.querySelector('#f1').textContent = 'John Doe';
d.querySelector('#f2').textContent = makeDate().toISOString().split('.')[0].split('T')[0];
d.querySelector('#f3').textContent = 'Foo';
d.querySelector('#f4').textContent = 'Bar';
d.querySelector('#f5').textContent = someNumbers(10);
d.querySelector('#f6').textContent = someNumbers(8);
d.querySelector('#f8').textContent = makeDate(6840).toISOString().split('T')[0];
d.querySelector('#f9').textContent = 'M';
populateSentences('#f7', 7);
populateSentences('#f10', 8);
populateWords('#f11', 8);
populateSentences('#f11a', 3);
d.querySelector('#f11b').textContent = makeDate(120).toISOString().split('T')[0];
populateWords('#f12', 6);
populateSentences('#f12a', 2);
d.querySelector('#f12b').textContent = makeDate(300).toISOString().split('T')[0];
populateWords('#f13', 3);
populateSentences('#f13a', 1);
d.querySelector('#f13b').textContent = makeDate(1300).toISOString().split('T')[0];
populateSentences('#f14', 9);
populateSentences('#f15', 3);
populateWords('#f16', 3);
populateWords('#f17', 5);
populateWords('#f18', 1);
populateWords('#f19', 1);
populateWords('#f20', 1);
var pass = {};
pass.populate = { words: populateWords, sentences: populateSentences, numbers: someNumbers };
pass.colorize = colorizeToggler;
w.demo = pass;
w.onload = function (eventObj) {
var doc = eventObj.currentTarget.document,
fields = doc.querySelectorAll('th[id]');
var _iteratorNormalCompletion3 = true;
var _didIteratorError3 = false;
var _iteratorError3 = undefined;
try {
for (var _iterator3 = fields[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {
var field = _step3.value;
var idNbr = /^f\d+/.test(field.id) ? /\d+/.exec(field.id) : null;
if (idNbr) {
field.dataset.fieldNumber = idNbr;
}
}
} catch (err) {
_didIteratorError3 = true;
_iteratorError3 = err;
} finally {
try {
if (!_iteratorNormalCompletion3 && _iterator3.return) {
_iterator3.return();
}
} finally {
if (_didIteratorError3) {
throw _iteratorError3;
}
}
}
};
})(window, document);
/**
* ViewOverflowHandler prototype
* may differ from original https://gist.github.com/renoirb/5dc793d986857a75437ba82405d294d1
*
* Use from the browser:
* List elements that has overflow:
* demo.fields.forEach((e, idx) => { console.log(idx, e.selector, e.overflows); });
*
* Manage items that has overflows
* demo.fields.forEach((e, idx) => { if (e.overflows) e.shorten(); });
*
* Which ones had been shortened
* demo.fields.forEach((e, idx) => { if(e.shortened) console.log(idx, e.shortened); });
*
* How many times had a field been shortened?
* demo.fields.forEach((e, i) => { console.log(i, e.identifier, e.shortenCount); });
**/
'use strict';
var ViewOverflowHandler = function () {
function ViewOverflowHandler(selector) {
_classCallCheck(this, ViewOverflowHandler);
var nodeList = document.querySelectorAll(selector);
if (nodeList.length > 1) {
var msg = 'Selector \'' + selector + '\' expected exactly one match, but found ' + nodeList.length;
throw new Error(msg);
}
this.shortenCount = 0;
this.shortened = false;
this.moved = false;
this.selector = selector;
this.identifier = selector.replace('#', '');
this.$el = document.querySelector(selector);
this.stash = document.createDocumentFragment();
this.title = document.querySelector('#' + this.identifier + '-header').textContent;
this.shorten();
}
ViewOverflowHandler.prototype.shorten = function shorten() {
this.shortenCount++;
var length = this.childNodes.length,
lastIndex = length - 1;
if (this.overflows) {
//console.log(this.identifier, 'was overflowing');
this.stash.appendChild(this.childNodes[lastIndex] || document.createElement('p'));
this.shortened = true;
this.shorten();
}
};
ViewOverflowHandler.prototype.move = function move() {
if (this.moved) {
return;
var error = 'We should not be moving contents twice';
throw new Error(error);
}
var fragment = document.createDocumentFragment(),
placeholder = document.createElement('div');
placeholder.className = "leftover-element";
placeholder.innerHTML = '<strong>' + this.identifier + '. ' + this.title + '</strong>';
fragment.appendChild(placeholder).appendChild(this.stash);
this.moved = true;
return fragment;
};
_createClass(ViewOverflowHandler, [{
key: 'childNodes',
get: function () {
return document.querySelectorAll(this.selector + ' > div > *');
}
}, {
key: 'overflows',
get: function () {
//console.log([this.$el.childNodes[0].nextElementSibling])
var parentHeight = this.$el.offsetHeight,
childHeight = this.$el.firstChild.clientHeight;
//console.log({parentHeight, childHeight});
return parentHeight < childHeight;
}
}]);
return ViewOverflowHandler;
}();
(function (w) {
w.demo.fields = [];
w.demo.fragments = [];
var _iteratorNormalCompletion4 = true;
var _didIteratorError4 = false;
var _iteratorError4 = undefined;
try {
for (var _iterator4 = window.document.querySelectorAll('.field-value')[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {
var field = _step4.value;
w.demo.fields.push(new ViewOverflowHandler('#' + field.id));
}
} catch (err) {
_didIteratorError4 = true;
_iteratorError4 = err;
} finally {
try {
if (!_iteratorNormalCompletion4 && _iterator4.return) {
_iterator4.return();
}
} finally {
if (_didIteratorError4) {
throw _iteratorError4;
}
}
}
w.demo.fields.forEach(function (e, idx) {
if (e.overflows) e.shorten();
});
w.demo.fields.forEach(function (e, idx) {
if (e.shortened) w.demo.fragments.push(e.move());
});
if (w.demo.fragments.length > 0) {
var out = document.createDocumentFragment();
w.demo.fragments.forEach(function (e) {
return out.appendChild(e);
});
document.querySelector('#leftovers').textContent = '';
document.querySelector('#leftovers').appendChild(out);
}
})(window);
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
# yarn lockfile v1
abbrev@1:
version "1.0.9"
resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.0.9.tgz#91b4792588a7738c25f35dd6f63752a2f8776135"
ansi-regex@^2.0.0:
version "2.1.1"
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
ansi-styles@^2.2.1:
version "2.2.1"
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
anymatch@^1.3.0:
version "1.3.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.1.1"
resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.1.1.tgz#95d3600f07710aa0e9298c726ad5ecf2eacbabab"
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-flatten@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.0.1.tgz#e5ffe54d45e19f32f216e91eb99c8ce892bb604b"
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.2.3:
version "0.2.3"
resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86"
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"
asynckit@^0.4.0:
version "0.4.0"
resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
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.6.0"
resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e"
babel-cli@^6.22.2:
version "6.22.2"
resolved "https://registry.yarnpkg.com/babel-cli/-/babel-cli-6.22.2.tgz#3f814c8acf52759082b8fedd9627f938936ab559"
dependencies:
babel-core "^6.22.1"
babel-polyfill "^6.22.0"
babel-register "^6.22.0"
babel-runtime "^6.22.0"
commander "^2.8.1"
convert-source-map "^1.1.0"
fs-readdir-recursive "^1.0.0"
glob "^7.0.0"
lodash "^4.2.0"
output-file-sync "^1.1.0"
path-is-absolute "^1.0.0"
slash "^1.0.0"
source-map "^0.5.0"
v8flags "^2.0.10"
optionalDependencies:
chokidar "^1.6.1"
babel-code-frame@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.22.0.tgz#027620bee567a88c32561574e7fd0801d33118e4"
dependencies:
chalk "^1.1.0"
esutils "^2.0.2"
js-tokens "^3.0.0"
babel-core@^6.22.0, babel-core@^6.22.1:
version "6.22.1"
resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.22.1.tgz#9c5fd658ba1772d28d721f6d25d968fc7ae21648"
dependencies:
babel-code-frame "^6.22.0"
babel-generator "^6.22.0"
babel-helpers "^6.22.0"
babel-messages "^6.22.0"
babel-register "^6.22.0"
babel-runtime "^6.22.0"
babel-template "^6.22.0"
babel-traverse "^6.22.1"
babel-types "^6.22.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.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.22.0.tgz#d642bf4961911a8adc7c692b0c9297f325cda805"
dependencies:
babel-messages "^6.22.0"
babel-runtime "^6.22.0"
babel-types "^6.22.0"
detect-indent "^4.0.0"
jsesc "^1.3.0"
lodash "^4.2.0"
source-map "^0.5.0"
babel-helper-call-delegate@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-helper-call-delegate/-/babel-helper-call-delegate-6.22.0.tgz#119921b56120f17e9dae3f74b4f5cc7bcc1b37ef"
dependencies:
babel-helper-hoist-variables "^6.22.0"
babel-runtime "^6.22.0"
babel-traverse "^6.22.0"
babel-types "^6.22.0"
babel-helper-define-map@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-helper-define-map/-/babel-helper-define-map-6.22.0.tgz#9544e9502b2d6dfe7d00ff60e82bd5a7a89e95b7"
dependencies:
babel-helper-function-name "^6.22.0"
babel-runtime "^6.22.0"
babel-types "^6.22.0"
lodash "^4.2.0"
babel-helper-function-name@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.22.0.tgz#51f1bdc4bb89b15f57a9b249f33d742816dcbefc"
dependencies:
babel-helper-get-function-arity "^6.22.0"
babel-runtime "^6.22.0"
babel-template "^6.22.0"
babel-traverse "^6.22.0"
babel-types "^6.22.0"
babel-helper-get-function-arity@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.22.0.tgz#0beb464ad69dc7347410ac6ade9f03a50634f5ce"
dependencies:
babel-runtime "^6.22.0"
babel-types "^6.22.0"
babel-helper-hoist-variables@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.22.0.tgz#3eacbf731d80705845dd2e9718f600cfb9b4ba72"
dependencies:
babel-runtime "^6.22.0"
babel-types "^6.22.0"
babel-helper-optimise-call-expression@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.22.0.tgz#f8d5d4b40a6e2605a6a7f9d537b581bea3756d15"
dependencies:
babel-runtime "^6.22.0"
babel-types "^6.22.0"
babel-helper-remap-async-to-generator@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.22.0.tgz#2186ae73278ed03b8b15ced089609da981053383"
dependencies:
babel-helper-function-name "^6.22.0"
babel-runtime "^6.22.0"
babel-template "^6.22.0"
babel-traverse "^6.22.0"
babel-types "^6.22.0"
babel-helper-replace-supers@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-helper-replace-supers/-/babel-helper-replace-supers-6.22.0.tgz#1fcee2270657548908c34db16bcc345f9850cf42"
dependencies:
babel-helper-optimise-call-expression "^6.22.0"
babel-messages "^6.22.0"
babel-runtime "^6.22.0"
babel-template "^6.22.0"
babel-traverse "^6.22.0"
babel-types "^6.22.0"
babel-helpers@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.22.0.tgz#d275f55f2252b8101bff07bc0c556deda657392c"
dependencies:
babel-runtime "^6.22.0"
babel-template "^6.22.0"
babel-messages@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.22.0.tgz#36066a214f1217e4ed4164867669ecb39e3ea575"
dependencies:
babel-runtime "^6.22.0"
babel-plugin-check-es2015-constants@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz#35157b101426fd2ffd3da3f75c7d1e91835bbf8a"
dependencies:
babel-runtime "^6.22.0"
babel-plugin-syntax-async-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-transform-async-generator-functions@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-6.22.0.tgz#a720a98153a7596f204099cd5409f4b3c05bab46"
dependencies:
babel-helper-remap-async-to-generator "^6.22.0"
babel-plugin-syntax-async-generators "^6.5.0"
babel-runtime "^6.22.0"
babel-plugin-transform-es2015-arrow-functions@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz#452692cb711d5f79dc7f85e440ce41b9f244d221"
dependencies:
babel-runtime "^6.22.0"
babel-plugin-transform-es2015-block-scoping@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.22.0.tgz#00d6e3a0bebdcfe7536b9d653b44a9141e63e47e"
dependencies:
babel-runtime "^6.22.0"
babel-template "^6.22.0"
babel-traverse "^6.22.0"
babel-types "^6.22.0"
lodash "^4.2.0"
babel-plugin-transform-es2015-classes@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.22.0.tgz#54d44998fd823d9dca15292324161c331c1b6f14"
dependencies:
babel-helper-define-map "^6.22.0"
babel-helper-function-name "^6.22.0"
babel-helper-optimise-call-expression "^6.22.0"
babel-helper-replace-supers "^6.22.0"
babel-messages "^6.22.0"
babel-runtime "^6.22.0"
babel-template "^6.22.0"
babel-traverse "^6.22.0"
babel-types "^6.22.0"
babel-plugin-transform-es2015-for-of@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.22.0.tgz#180467ad63aeea592a1caeee4bf1c8b3e2616265"
dependencies:
babel-runtime "^6.22.0"
babel-plugin-transform-es2015-parameters@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.22.0.tgz#57076069232019094f27da8c68bb7162fe208dbb"
dependencies:
babel-helper-call-delegate "^6.22.0"
babel-helper-get-function-arity "^6.22.0"
babel-runtime "^6.22.0"
babel-template "^6.22.0"
babel-traverse "^6.22.0"
babel-types "^6.22.0"
babel-plugin-transform-es2015-spread@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz#d6d68a99f89aedc4536c81a542e8dd9f1746f8d1"
dependencies:
babel-runtime "^6.22.0"
babel-plugin-transform-es2015-template-literals@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz#a84b3450f7e9f8f1f6839d6d687da84bb1236d8d"
dependencies:
babel-runtime "^6.22.0"
babel-plugin-transform-es2015-typeof-symbol@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.22.0.tgz#87faf2336d3b6a97f68c4d906b0cd0edeae676e1"
dependencies:
babel-runtime "^6.22.0"
babel-plugin-transform-es5-property-mutators@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es5-property-mutators/-/babel-plugin-transform-es5-property-mutators-6.22.0.tgz#948a7dde256ecfeea1dd2f88ed1248a85862ed7a"
dependencies:
babel-helper-define-map "^6.22.0"
babel-runtime "^6.22.0"
babel-plugin-transform-runtime@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-runtime/-/babel-plugin-transform-runtime-6.22.0.tgz#10968d760bbf6517243081eec778e10fa828551c"
dependencies:
babel-runtime "^6.22.0"
babel-polyfill@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-polyfill/-/babel-polyfill-6.22.0.tgz#1ac99ebdcc6ba4db1e2618c387b2084a82154a3b"
dependencies:
babel-runtime "^6.22.0"
core-js "^2.4.0"
regenerator-runtime "^0.10.0"
babel-register@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.22.0.tgz#a61dd83975f9ca4a9e7d6eff3059494cd5ea4c63"
dependencies:
babel-core "^6.22.0"
babel-runtime "^6.22.0"
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.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.22.0.tgz#1cf8b4ac67c77a4ddb0db2ae1f74de52ac4ca611"
dependencies:
core-js "^2.4.0"
regenerator-runtime "^0.10.0"
babel-template@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.22.0.tgz#403d110905a4626b317a2a1fcb8f3b73204b2edb"
dependencies:
babel-runtime "^6.22.0"
babel-traverse "^6.22.0"
babel-types "^6.22.0"
babylon "^6.11.0"
lodash "^4.2.0"
babel-traverse@^6.22.0, babel-traverse@^6.22.1:
version "6.22.1"
resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.22.1.tgz#3b95cd6b7427d6f1f757704908f2fc9748a5f59f"
dependencies:
babel-code-frame "^6.22.0"
babel-messages "^6.22.0"
babel-runtime "^6.22.0"
babel-types "^6.22.0"
babylon "^6.15.0"
debug "^2.2.0"
globals "^9.0.0"
invariant "^2.2.0"
lodash "^4.2.0"
babel-types@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.22.0.tgz#2a447e8d0ea25d2512409e4175479fd78cc8b1db"
dependencies:
babel-runtime "^6.22.0"
esutils "^2.0.2"
lodash "^4.2.0"
to-fast-properties "^1.0.1"
babel@^6.5.2:
version "6.5.2"
resolved "https://registry.yarnpkg.com/babel/-/babel-6.5.2.tgz#59140607438270920047ff56f02b2d8630c2d129"
babylon@^6.11.0, babylon@^6.15.0:
version "6.15.0"
resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.15.0.tgz#ba65cfa1a80e1759b0e89fb562e27dccae70348e"
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.1"
resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz#63bc5dcb61331b92bc05fd528953c33462a06f8d"
dependencies:
tweetnacl "^0.14.3"
binary-extensions@^1.0.0:
version "1.8.0"
resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.8.0.tgz#48ec8d16df4377eae5fa5884682480af4d95c774"
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"
[email protected]:
version "2.10.1"
resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f"
dependencies:
hoek "2.x.x"
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"
buffer-shims@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/buffer-shims/-/buffer-shims-1.0.0.tgz#9978ce317388c649ad8793028c3477ef044a8b51"
caseless@~0.11.0:
version "0.11.0"
resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.11.0.tgz#715b96ea9841593cc33067923f5ec60ebda4f7d7"
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.6.1:
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"
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.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@^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"
[email protected]:
version "0.0.1"
resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
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:
version "1.3.0"
resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.3.0.tgz#e9f3e9c6e2728efc2676696a70eb382f73106a67"
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"
[email protected]:
version "2.0.5"
resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8"
dependencies:
boom "2.x.x"
dashdash@^1.12.0:
version "1.14.1"
resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0"
dependencies:
assert-plus "^1.0.0"
debug@^2.1.1, debug@^2.2.0:
version "2.6.1"
resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.1.tgz#79855090ba2c4e3115cc7d8769491d58f0491351"
dependencies:
ms "0.7.2"
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"
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"
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"
escape-string-regexp@^1.0.2:
version "1.0.5"
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
esutils@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b"
expand-brackets@^0.1.4:
version "0.1.5"
resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b"
dependencies:
is-posix-bracket "^0.1.0"
expand-range@^1.8.1:
version "1.8.2"
resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337"
dependencies:
fill-range "^2.1.0"
extend@~3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.0.tgz#5a474353b9f3353ddd8176dfd37b91c83a46f1d4"
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"
[email protected]:
version "1.0.2"
resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.0.2.tgz#e1080e0658e300b06294990cc70e1502235fd550"
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"
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.1:
version "0.6.1"
resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
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"
fs-readdir-recursive@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/fs-readdir-recursive/-/fs-readdir-recursive-1.0.0.tgz#8cd1745c8b4f8a29c8caec392476921ba195f560"
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.17"
resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.0.17.tgz#8537f3f12272678765b4fd6528c0f1f66f8f4558"
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.3"
resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.3.tgz#1c23855f962f17b3ad3d0dc7443f304542edfe09"
dependencies:
aproba "^1.0.3"
console-control-strings "^1.0.0"
has-unicode "^2.0.0"
object-assign "^4.1.0"
signal-exit "^3.0.0"
string-width "^1.0.1"
strip-ansi "^3.0.1"
wide-align "^1.1.0"
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"
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@^7.0.0, 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"
graceful-fs@^4.1.2, graceful-fs@^4.1.4:
version "4.1.11"
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658"
"graceful-readlink@>= 1.0.0":
version "1.0.1"
resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725"
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@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91"
dependencies:
ansi-regex "^2.0.0"
has-unicode@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9"
hawk@~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"
[email protected]:
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"
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"
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"
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-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-extendable@^0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89"
is-extglob@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0"
is-finite@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa"
dependencies:
number-is-nan "^1.0.0"
is-fullwidth-code-point@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb"
dependencies:
number-is-nan "^1.0.0"
is-glob@^2.0.0, is-glob@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863"
dependencies:
is-extglob "^1.0.0"
is-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-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-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-property@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84"
is-typedarray@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
[email protected], isarray@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
isobject@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89"
dependencies:
isarray "1.0.0"
isstream@~0.1.2:
version "0.1.2"
resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
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@^3.0.0:
version "3.0.1"
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.1.tgz#08e9f132484a2c45a30907e9dc4d5567b7f114d7"
jsbn@~0.1.0:
version "0.1.1"
resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"
jsesc@^1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b"
[email protected]:
version "0.2.3"
resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13"
json-stringify-safe@~5.0.1:
version "5.0.1"
resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
json5@^0.5.0:
version "0.5.1"
resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821"
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"
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.1"
resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848"
dependencies:
js-tokens "^3.0.0"
micromatch@^2.1.5:
version "2.3.11"
resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565"
dependencies:
arr-diff "^2.0.0"
array-unique "^0.2.1"
braces "^1.8.2"
expand-brackets "^0.1.4"
extglob "^0.3.1"
filename-regex "^2.0.0"
is-extglob "^1.0.0"
is-glob "^2.0.1"
kind-of "^3.0.2"
normalize-path "^2.0.1"
object.omit "^2.0.0"
parse-glob "^3.0.4"
regex-cache "^0.4.2"
mime-db@~1.26.0:
version "1.26.0"
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.26.0.tgz#eaffcd0e4fc6935cf8134da246e2e6c35305adff"
mime-types@^2.1.12, mime-types@~2.1.7:
version "2.1.14"
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.14.tgz#f7ef7d97583fcaf3b7d282b6f8b5679dab1e94ee"
dependencies:
mime-db "~1.26.0"
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"
[email protected]:
version "0.0.8"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
minimist@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
"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"
[email protected]:
version "0.7.1"
resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098"
[email protected]:
version "0.7.2"
resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.2.tgz#ae25cf2512b3885a1d95d7f037868d8431124765"
nan@^2.3.0:
version "2.5.1"
resolved "https://registry.yarnpkg.com/nan/-/nan-2.5.1.tgz#d5b01691253326a97a2bbee9e61c55d8d60351e2"
node-pre-gyp@^0.6.29:
version "0.6.33"
resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.33.tgz#640ac55198f6a925972e0c16c4ac26a034d5ecc9"
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"
nopt@~3.0.6:
version "3.0.6"
resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9"
dependencies:
abbrev "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.1:
version "0.8.2"
resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43"
object-assign@^4.1.0:
version "4.1.1"
resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
object.omit@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa"
dependencies:
for-own "^0.1.4"
is-extendable "^0.1.1"
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.3:
version "1.3.3"
resolved "https://registry.yarnpkg.com/once/-/once-1.3.3.tgz#b2e261557ce4c314ec8304f3fa82663e4297ca20"
dependencies:
wrappy "1"
os-homedir@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3"
os-tmpdir@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
output-file-sync@^1.1.0:
version "1.1.2"
resolved "https://registry.yarnpkg.com/output-file-sync/-/output-file-sync-1.1.2.tgz#d0a33eefe61a205facb90092e826598d5245ce76"
dependencies:
graceful-fs "^4.1.4"
mkdirp "^0.5.1"
object-assign "^4.1.0"
parse-glob@^3.0.4:
version "3.0.4"
resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c"
dependencies:
glob-base "^0.3.0"
is-dotfile "^1.0.0"
is-extglob "^1.0.0"
is-glob "^2.0.0"
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"
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@^2.0.0:
version "2.0.4"
resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870"
preserve@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b"
private@^0.1.6:
version "0.1.7"
resolved "https://registry.yarnpkg.com/private/-/private-0.1.7.tgz#68ce5e8a1ef0a23bb570cc28537b5332aba63ef1"
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"
punycode@^1.4.1:
version "1.4.1"
resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e"
qs@~6.3.0:
version "6.3.0"
resolved "https://registry.yarnpkg.com/qs/-/qs-6.3.0.tgz#f403b264f23bc01228c74131b407f18d5ea5d442"
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.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"
"readable-stream@^2.0.0 || ^1.1.13", readable-stream@^2.0.2:
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@~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"
regenerator-runtime@^0.10.0:
version "0.10.1"
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.1.tgz#257f41961ce44558b18f7814af48c17559f9faeb"
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"
repeat-element@^1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a"
repeat-string@^1.5.2:
version "1.6.1"
resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637"
repeating@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda"
dependencies:
is-finite "^1.0.0"
request@^2.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"
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@~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"
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"
[email protected]:
version "1.0.9"
resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198"
dependencies:
hoek "2.x.x"
source-map-support@^0.4.2:
version "0.4.11"
resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.11.tgz#647f939978b38535909530885303daf23279f322"
dependencies:
source-map "^0.5.3"
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"
sshpk@^1.7.0:
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"
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"
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"
stringstream@~0.0.4:
version "0.0.5"
resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878"
strip-ansi@^3.0.0, strip-ansi@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"
dependencies:
ansi-regex "^2.0.0"
strip-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@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
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@~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"
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"
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"
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"
uid-number@~0.0.6:
version "0.0.6"
resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81"
user-home@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/user-home/-/user-home-1.1.1.tgz#2b5be23a32b63a7c9deb8d0f28d485724a3df190"
util-deprecate@~1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
uuid@^3.0.0:
version "3.0.1"
resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.0.1.tgz#6544bba2dfda8c1cf17e629a3a305e2bb1fee6c1"
v8flags@^2.0.10:
version "2.0.11"
resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-2.0.11.tgz#bca8f30f0d6d60612cc2c00641e6962d42ae6881"
dependencies:
user-home "^1.1.1"
[email protected]:
version "1.3.6"
resolved "https://registry.yarnpkg.com/verror/-/verror-1.3.6.tgz#cff5df12946d297d2baaefaa2689e25be01c005c"
dependencies:
extsprintf "1.0.2"
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"
wrappy@1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
xtend@^4.0.0:
version "4.0.1"
resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment