From 81d8b78d05f0881465ebbada343dfc8b23771dcf Mon Sep 17 00:00:00 2001 From: lilia Date: Wed, 3 May 2017 16:43:36 -0700 Subject: [PATCH] Switch to grunt-sass + node-sass-import-once These modules together allow us to import css files from third party components without maintaining symlinks that essentially rename them as sass partials, which doesn't work on windows. // FREEBIE --- .travis.yml | 1 - Gruntfile.js | 15 +- appveyor.yml | 1 - package.json | 5 +- stylesheets/{progress.scss => _progress.scss} | 0 stylesheets/manifest.css | 145 +++++---- stylesheets/manifest.scss | 2 +- stylesheets/options.scss | 2 +- yarn.lock | 274 +++++++++++++++--- 9 files changed, 339 insertions(+), 106 deletions(-) rename stylesheets/{progress.scss => _progress.scss} (100%) diff --git a/.travis.yml b/.travis.yml index 2ce86c9b9..97bc6b5c7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,7 +6,6 @@ os: - osx dist: trusty install: - - gem install sass - yarn install script: - yarn test diff --git a/Gruntfile.js b/Gruntfile.js index 39d5cd6f5..1b68ee07a 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -13,6 +13,9 @@ module.exports = function(grunt) { libtextsecurecomponents.push('components/' + bower.concat.libtextsecure[i] + '/**/*.js'); } + var importOnce = require("node-sass-import-once"); + grunt.loadNpmTasks("grunt-sass"); + grunt.initConfig({ pkg: grunt.file.readJSON('package.json'), concat: { @@ -77,11 +80,15 @@ module.exports = function(grunt) { } }, sass: { - stylesheets: { - files: { - 'stylesheets/manifest.css': 'stylesheets/manifest.scss' - } + options: { + sourceMap: true, + importer: importOnce + }, + dev: { + files: { + "stylesheets/manifest.css": "stylesheets/manifest.scss" } + } }, jshint: { files: [ diff --git a/appveyor.yml b/appveyor.yml index 67284d6f8..c0646838b 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -8,7 +8,6 @@ cache: install: - set PATH=C:\Ruby23-x64\bin;%PATH% - ps: Install-Product node 6 x64 - - gem install sass - yarn install test_script: diff --git a/package.json b/package.json index d87827dd0..87c91c859 100644 --- a/package.json +++ b/package.json @@ -23,12 +23,13 @@ "grunt-contrib-connect": "^1.0.2", "grunt-contrib-copy": "^1.0.0", "grunt-contrib-jshint": "^1.1.0", - "grunt-contrib-sass": "^1.0.0", "grunt-contrib-watch": "^1.0.0", "grunt-exec": "^2.0.0", "grunt-gitinfo": "^0.1.7", "grunt-jscs": "^3.0.1", - "grunt-saucelabs": "^9.0.0" + "grunt-sass": "^2.0.0", + "grunt-saucelabs": "^9.0.0", + "node-sass-import-once": "^1.2.0" }, "scripts": { "test": "grunt test", diff --git a/stylesheets/progress.scss b/stylesheets/_progress.scss similarity index 100% rename from stylesheets/progress.scss rename to stylesheets/_progress.scss diff --git a/stylesheets/manifest.css b/stylesheets/manifest.css index 7e3702b44..06d20f57d 100644 --- a/stylesheets/manifest.css +++ b/stylesheets/manifest.css @@ -2,17 +2,21 @@ @font-face { font-family: 'Roboto-Light'; src: url("../fonts/Roboto-Light.ttf") format("truetype"); } + @font-face { font-family: 'Roboto'; src: url("../fonts/Roboto-Regular.ttf") format("truetype"); } + @font-face { font-family: 'Roboto'; src: url("../fonts/Roboto-Italic.ttf") format("truetype"); font-style: italic; } + @font-face { font-family: 'Roboto'; src: url("../fonts/Roboto-Bold.ttf") format("truetype"); font-weight: bold; } + * { box-sizing: border-box; } @@ -282,6 +286,7 @@ button.hamburger { .group-member-list .summary, .new-group-update .summary { margin: 10px; } + .group-member-list .members .contact, .new-group-update .members .contact { box-shadow: none; @@ -364,7 +369,7 @@ button.hamburger { vertical-align: middle; display: inline-block; margin: 0 0 0 8px; - width: calc(100% - 44px - 8px - 0.28571em); + width: calc(100% - 44px - 8px - 0.2857142857em); text-align: left; cursor: pointer; } .contact-details p { @@ -379,7 +384,7 @@ button.hamburger { text-align: left; } .contact-details .number { color: #616161; - font-size: 0.92857em; } + font-size: 0.9285714286em; } .contact-details.not-clickable { cursor: default; } .contact-details .verified-icon { @@ -446,9 +451,11 @@ button.hamburger { border: solid 3px; border-color: #a2d2f4 #a2d2f4 #f3f3f3 #f3f3f3 !important; animation: rotate 1s linear infinite; } + @keyframes rotate { to { transform: rotate(360deg); } } + .x { display: inline-block; float: right; @@ -542,6 +549,7 @@ input[type=text]:active, input[type=text]:focus, input[type=search]:active, inpu background-position: 40px 0; } to { background-position: 0 0; } } + .progress-bar-striped { background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.75) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.75) 50%, rgba(255, 255, 255, 0.75) 75%, transparent 75%, transparent); background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.75) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.75) 50%, rgba(255, 255, 255, 0.75) 75%, transparent 75%, transparent); @@ -598,6 +606,7 @@ input[type=text]:active, input[type=text]:focus, input[type=search]:active, inpu width: 100%; resize: none; min-height: 100px; } + .debug-log .result { text-align: center; } .debug-log .result .input-group { @@ -736,6 +745,7 @@ input[type=text]:active, input[type=text]:focus, input[type=search]:active, inpu float: right; line-height: 36px; padding: 0 10px; } + @keyframes pulse { 0% { opacity: 0; } @@ -834,19 +844,23 @@ img.emoji.jumbo { margin: 0 auto; width: 100%; max-width: 500px; } + .settings hr { margin: 10px 0; } + .settings .syncSettings button { float: right; line-height: 36px; padding: 0 20px; margin: 0 0 20px 20px; } + .settings .syncSettings .synced_at { - font-size: 0.92857em; + font-size: 0.9285714286em; color: #616161; } + .settings .syncSettings .sync_failed { display: none; - font-size: 0.92857em; + font-size: 0.9285714286em; color: red; } .conversation-stack, @@ -986,7 +1000,7 @@ input.search { font-style: italic; padding-right: 8px; } .new-contact.valid { - opacity: 1; } + opacity: 1.0; } .index { color: #454545; } @@ -995,7 +1009,7 @@ input.search { padding: 0.5em; } .index .last-message { margin: 6px 0 0; - font-size: 0.92857em; + font-size: 0.9285714286em; font-weight: 300; } .index .gutter .timestamp { position: absolute; @@ -1167,7 +1181,8 @@ input.search { .key-verification label { display: block; margin: 10px 0; - font-size: 0.92857em; } + font-size: 0.9285714286em; } + .key-verification .icon { height: 1.25em; width: 1.25em; @@ -1181,9 +1196,11 @@ input.search { -webkit-mask: url("/images/shield.svg") no-repeat center; -webkit-mask-size: 100%; background-color: #454545; } + .key-verification .key, .key-verification .placeholder { padding: 0 1em; -webkit-user-select: text; } + .key-verification .key { font-family: monospace; padding: 10px; @@ -1192,8 +1209,10 @@ input.search { background: #f3f3f3; border: solid 1px #d9d9d9; border-radius: 5px; } + .key-verification .placeholder { font-weight: bold; } + .key-verification .qr { border-radius: 200px; border: solid 1px #d9d9d9; @@ -1207,11 +1226,14 @@ input.search { .key-verification .qr img { display: inline-block; max-width: 100%; } + .key-verification .summary { margin: 30px 0 10px; text-align: center; } + .key-verification div.verify { text-align: center; } + .key-verification button.verify { border-radius: 5px; font-weight: bold; @@ -1221,11 +1243,14 @@ input.search { .identity-key-send-error button { margin-top: 0px; margin-bottom: 0px; } + .identity-key-send-error .explanation { margin-top: 20px; } + .identity-key-send-error .safety-number { margin-top: 30px; text-align: center; } + .identity-key-send-error .actions { margin-top: 30px; text-align: center; } @@ -1273,7 +1298,7 @@ input.search { background-color: white; } .message-detail .contacts .contact-detail .error-message { margin: 6px 0 0; - font-size: 0.92857em; + font-size: 0.9285714286em; font-weight: bold; color: red; } .message-detail h3 { @@ -1291,6 +1316,7 @@ input.search { .message-list .error-icon { cursor: pointer; } + .message-list .advisory { text-align: center; } .message-list .advisory .content { @@ -1480,6 +1506,7 @@ li.entry .error-icon-container { .message-container .outgoing .bubble, .message-list .outgoing .bubble { clear: left; } + @keyframes shake { 0% { transform: translateX(0px); } @@ -1655,7 +1682,7 @@ li.entry .error-icon-container { color: white; box-shadow: 0 0 5px 0 black; border-radius: 5px; - font-size: 0.92857em; + font-size: 0.9285714286em; z-index: 100; } .confirmation-dialog .content { @@ -1771,6 +1798,7 @@ li.entry .error-icon-container { color: #454545; } .ios #header h1 { display: none; } + .ios .gutter { border-right: 1px solid rgba(0, 0, 0, 0.1); } .ios .gutter .content { @@ -1784,11 +1812,14 @@ li.entry .error-icon-container { color: white; } .ios .gutter .contact.selected .last-timestamp { color: white; } + .ios .banner { top: 15px; } + .ios .tool-bar { float: left; padding: 15px; } + .ios input[type=text]:active, .ios input[type=text]:focus, .ios input[type=search]:active, @@ -1797,6 +1828,7 @@ li.entry .error-icon-container { .ios form.active { outline-offset: 0; outline: -webkit-focus-ring-color auto 5px; } + .ios input.search { border-radius: 5px; width: 220px; @@ -1806,6 +1838,7 @@ li.entry .error-icon-container { background-color: #dddddd; } .ios input.search.active.rtl { background-position: left 30px center; } + .ios .conversation-header { background-color: #f3f3f3; color: #454545; @@ -1819,9 +1852,11 @@ li.entry .error-icon-container { background-color: #454545; } .ios .conversation-header .avatar { display: none; } + .ios .settings h3, .ios .menu-list li { text-transform: capitalize; } + .ios .bottom-bar { padding: 15px; min-height: 30px; @@ -1829,9 +1864,11 @@ li.entry .error-icon-container { .ios .bottom-bar form.send { border-radius: 5px; border: 1px solid rgba(0, 0, 0, 0.1); } + .ios .error-message.content, .ios .control .content { padding: 10px; } + .ios .attachments .bubbled { border-radius: 15px; margin-bottom: 0.25em; @@ -1854,6 +1891,7 @@ li.entry .error-icon-container { right: -6px; bottom: -3px; background: #eee; } + .ios .bubble .content { margin-bottom: 5px; } .ios .bubble .content .body { @@ -1878,12 +1916,16 @@ li.entry .error-icon-container { right: -6px; bottom: -3px; background: #eee; } + .ios .bubble .content, .ios .bubble .attachments img { border-radius: 15px; } + .ios .bubble .attachments img { background-color: white; } + .ios .bubble .meta { clear: both; } + .ios .incoming .bubbled { background-color: white; color: black; @@ -1894,6 +1936,7 @@ li.entry .error-icon-container { background-color: white; } .ios .incoming .bubbled:after { left: -6px; } + .ios .incoming .content { background-color: white; color: black; @@ -1903,6 +1946,7 @@ li.entry .error-icon-container { background-color: white; } .ios .incoming .content .body:after { left: -6px; } + .ios .outgoing .content, .ios .outgoing .attachments .bubbled { background-color: #2090ea; max-width: 100%; @@ -1912,6 +1956,7 @@ li.entry .error-icon-container { .ios .outgoing .content::selection, .ios .outgoing .content .body::selection, .ios .outgoing .content a::selection, .ios .outgoing .attachments .bubbled::selection, .ios .outgoing .attachments .bubbled .body::selection, .ios .outgoing .attachments .bubbled a::selection { background: white; color: #454545; } + .ios .outgoing .attachments .fileView .icon { -webkit-mask: url("/images/file.svg") no-repeat center; -webkit-mask-size: 100%; @@ -1928,10 +1973,12 @@ li.entry .error-icon-container { -webkit-mask: url("/images/voice.svg") no-repeat center; -webkit-mask-size: 100%; background-color: white; } + .ios .attachment { margin-bottom: 1px; } .ios .attachment a { border-radius: 15px; } + .ios .hourglass { display: inline-block; position: relative; @@ -1962,52 +2009,75 @@ li.entry .error-icon-container { .android #header.inactive { background-color: #f3f3f3; color: #454545; } + .android .contact-details .name { font-weight: 400; } + .android .conversation.placeholder .conversation-header { display: none; } + .android .conversation-header.red, .android .bubble.red { background-color: #EF5350; } + .android .conversation-header.pink, .android .bubble.pink { background-color: #EC407A; } + .android .conversation-header.purple, .android .bubble.purple { background-color: #AB47BC; } + .android .conversation-header.deep_purple, .android .bubble.deep_purple { background-color: #7E57C2; } + .android .conversation-header.indigo, .android .bubble.indigo { background-color: #5C6BC0; } + .android .conversation-header.blue, .android .bubble.blue { background-color: #2196F3; } + .android .conversation-header.light_blue, .android .bubble.light_blue { background-color: #03A9F4; } + .android .conversation-header.cyan, .android .bubble.cyan { background-color: #00BCD4; } + .android .conversation-header.teal, .android .bubble.teal { background-color: #009688; } + .android .conversation-header.green, .android .bubble.green { background-color: #4CAF50; } + .android .conversation-header.light_green, .android .bubble.light_green { background-color: #7CB342; } + .android .conversation-header.orange, .android .bubble.orange { background-color: #FF9800; } + .android .conversation-header.deep_orange, .android .bubble.deep_orange { background-color: #FF5722; } + .android .conversation-header.amber, .android .bubble.amber { background-color: #FFB300; } + .android .conversation-header.blue_grey, .android .bubble.blue_grey { background-color: #607D8B; } + .android .conversation-header.grey, .android .bubble.grey { background-color: #999999; } + .android .conversation-header.default, .android .bubble.default { background-color: #2090ea; } + .android .bottom-bar { min-height: 10px; } + .android .bubble { padding: 9px 12px; border-radius: 5px; box-shadow: 0 3px 3px -4px black; } + .android .outgoing .bubble { background-color: white; } + .android .outgoing .hourglass { display: inline-block; position: relative; @@ -2030,6 +2100,7 @@ li.entry .error-icon-container { -webkit-mask: url("../images/hourglass_empty.svg") no-repeat center; -webkit-mask-size: 100%; background-color: #999; } + .android .incoming .hourglass { display: inline-block; position: relative; @@ -2052,17 +2123,21 @@ li.entry .error-icon-container { -webkit-mask: url("../images/hourglass_empty.svg") no-repeat center; -webkit-mask-size: 100%; background-color: #fff; } + .android .incoming .bubble .sender, .android .incoming .bubble .content, .android .incoming .bubble .body, .android .incoming .bubble .meta, .android .incoming .bubble a, .android .incoming .bubble .fileView { color: white; } .android .incoming .bubble .sender::selection, .android .incoming .bubble .content::selection, .android .incoming .bubble .body::selection, .android .incoming .bubble .meta::selection, .android .incoming .bubble a::selection, .android .incoming .bubble .fileView::selection { background: white; color: #454545; } + .android .incoming .bubble .attachments a, .android .incoming .bubble .content a { color: #f3f3f3; } + .android .incoming .bubble .fileView .icon { -webkit-mask: url("/images/file.svg") no-repeat center; -webkit-mask-size: 100%; background-color: white; } + .android button.clock { -webkit-mask: url("../images/clock.svg") no-repeat center; -webkit-mask-size: 100%; @@ -2071,6 +2146,7 @@ li.entry .error-icon-container { -webkit-mask: url("../images/clock.svg") no-repeat center; -webkit-mask-size: 100%; background-color: white; } + .android .inactive button.clock { -webkit-mask: url("../images/clock.svg") no-repeat center; -webkit-mask-size: 100%; @@ -2079,6 +2155,7 @@ li.entry .error-icon-container { -webkit-mask: url("../images/clock.svg") no-repeat center; -webkit-mask-size: 100%; background-color: black; } + .android button.hamburger { -webkit-mask: url("../images/menu.svg") no-repeat center; -webkit-mask-size: 100%; @@ -2087,6 +2164,7 @@ li.entry .error-icon-container { -webkit-mask: url("../images/menu.svg") no-repeat center; -webkit-mask-size: 100%; background-color: white; } + .android .inactive button.hamburger { -webkit-mask: url("../images/menu.svg") no-repeat center; -webkit-mask-size: 100%; @@ -2095,6 +2173,7 @@ li.entry .error-icon-container { -webkit-mask: url("../images/menu.svg") no-repeat center; -webkit-mask-size: 100%; background-color: black; } + .android button.back { -webkit-mask: url("../images/back.svg") no-repeat center; -webkit-mask-size: 100%; @@ -2103,6 +2182,7 @@ li.entry .error-icon-container { -webkit-mask: url("../images/back.svg") no-repeat center; -webkit-mask-size: 100%; background-color: white; } + .android .inactive button.back { -webkit-mask: url("../images/back.svg") no-repeat center; -webkit-mask-size: 100%; @@ -2176,11 +2256,11 @@ li.entry .error-icon-container { .android-dark .contact-details .name { font-weight: 400; } .android-dark .contact-details .number { - color: gray; } + color: #807f7f; } .android-dark .contact-details .number .verified-icon { -webkit-mask: url("/images/verified-check.svg") no-repeat center; -webkit-mask-size: 100%; - background-color: gray; } + background-color: #807f7f; } .android-dark .group-member-list .members .contact, .android-dark .new-group-update .members .contact, .android-dark .attachment-previews img { background-color: #171717; border-color: #333333; } @@ -2438,20 +2518,6 @@ li.entry .error-icon-container { .android-dark .capture-audio button:hover { background-color: #333333; } -@font-face { - font-family: 'Roboto-Light'; - src: url("../fonts/Roboto-Light.ttf") format("truetype"); } -@font-face { - font-family: 'Roboto'; - src: url("../fonts/Roboto-Regular.ttf") format("truetype"); } -@font-face { - font-family: 'Roboto'; - src: url("../fonts/Roboto-Italic.ttf") format("truetype"); - font-style: italic; } -@font-face { - font-family: 'Roboto'; - src: url("../fonts/Roboto-Bold.ttf") format("truetype"); - font-weight: bold; } .iti-flag { width: 16px; height: 11px; @@ -3248,33 +3314,6 @@ li.entry .error-icon-container { .intl-tel-input .country-list .iti-flag, .intl-tel-input .country-list .country-name { margin-right: 6px; } -@keyframes progress-bar-stripes { - from { - background-position: 40px 0; } - to { - background-position: 0 0; } } -.progress-bar-striped { - background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.75) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.75) 50%, rgba(255, 255, 255, 0.75) 75%, transparent 75%, transparent); - background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.75) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.75) 50%, rgba(255, 255, 255, 0.75) 75%, transparent 75%, transparent); - background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.75) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.75) 50%, rgba(255, 255, 255, 0.75) 75%, transparent 75%, transparent); - -webkit-background-size: 40px 40px; - background-size: 40px 40px; } - -.progress-bar-striped { - background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.75) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.75) 50%, rgba(255, 255, 255, 0.75) 75%, transparent 75%, transparent); - background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.75) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.75) 50%, rgba(255, 255, 255, 0.75) 75%, transparent 75%, transparent); - background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.75) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.75) 50%, rgba(255, 255, 255, 0.75) 75%, transparent 75%, transparent); } - -.progress-bar.active { - -webkit-animation: progress-bar-stripes 2s linear infinite; - -o-animation: progress-bar-stripes 2s linear infinite; - animation: progress-bar-stripes 2s linear infinite; } - -.bar-container { - background: #a2d2f4; } - .bar-container .progress-bar { - height: 100%; } - .iti-flag { background: url("../images/flags.png"); } @@ -3511,4 +3550,4 @@ li.entry .error-icon-container { margin: 0; text-align: left; } -/*# sourceMappingURL=manifest.css.map */ +/*# sourceMappingURL=manifest.css.map */ \ No newline at end of file diff --git a/stylesheets/manifest.scss b/stylesheets/manifest.scss index 6b20471ce..bb64ade6e 100644 --- a/stylesheets/manifest.scss +++ b/stylesheets/manifest.scss @@ -10,7 +10,7 @@ @import 'debugLog'; @import 'lightbox'; @import 'recorder'; - @import 'emoji'; + @import '../components/emojijs/demo/emoji.css'; @import 'settings'; // Build the main view diff --git a/stylesheets/options.scss b/stylesheets/options.scss index 81ceb9692..ff1e91757 100644 --- a/stylesheets/options.scss +++ b/stylesheets/options.scss @@ -1,5 +1,5 @@ @import 'variables'; -@import 'intlTelInput'; +@import '../components/intl-tel-input/build/css/intlTelInput.css'; @import 'progress'; .iti-flag { // override intlTelInput's flags image location diff --git a/yarn.lock b/yarn.lock index 26f7146ec..9aa2a3e99 100644 --- a/yarn.lock +++ b/yarn.lock @@ -62,6 +62,10 @@ ajv@^5.0.4-beta.2: co "^4.6.0" json-stable-stringify "^1.0.1" +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" @@ -80,6 +84,17 @@ ansi-styles@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-1.0.0.tgz#cb102df1c56f5123eab8b67cd7b98027a0279178" +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.4" + resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz#bb5dca382bb94f05e15194373d16fd3ba1ca110d" + dependencies: + delegates "^1.0.0" + readable-stream "^2.0.6" + argparse@^1.0.2, argparse@^1.0.7: version "1.0.9" resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.9.tgz#73d83bc263f86e97f8cc4f6bae1b0e90a7d22c86" @@ -139,6 +154,10 @@ assert-plus@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234" +async-foreach@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/async-foreach/-/async-foreach-0.1.3.tgz#36121f845c0578172de419a97dbeb1d16ec34542" + async@0.2.x, async@~0.2.9: version "0.2.10" resolved "https://registry.yarnpkg.com/async/-/async-0.2.10.tgz#b6bbe0b0674b9d719708ca38de8c237cb526c3d1" @@ -147,7 +166,7 @@ async@1.5.2, async@^1.5.0, async@^1.5.2, async@~1.5.2: version "1.5.2" resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" -async@^0.9.0, async@~0.9.0: +async@~0.9.0: version "0.9.2" resolved "https://registry.yarnpkg.com/async/-/async-0.9.2.tgz#aea74d5e61c1f899613bf64bda66d4c78f2fd17d" @@ -221,6 +240,12 @@ binary@^0.3.0: buffers "~0.1.1" chainsaw "~0.1.0" +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-lst@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/bluebird-lst/-/bluebird-lst-1.0.2.tgz#c7b26176b6c8fa458be703deb0644a28f64a475b" @@ -493,6 +518,10 @@ console-browserify@1.1.x: dependencies: date-now "^0.1.4" +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" + content-type@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.2.tgz#b7d113aee7a8dd27bd21133c4dc2529df1721eed" @@ -518,11 +547,12 @@ cross-spawn-async@^2.1.1: lru-cache "^4.0.0" which "^1.2.8" -cross-spawn@^0.2.3: - version "0.2.9" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-0.2.9.tgz#bd67f96c07efb6303b7fe94c1e979f88478e0a39" +cross-spawn@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-3.0.1.tgz#1256037ecb9f0c5f79e3d6ef135e30770184b982" dependencies: - lru-cache "^2.5.0" + lru-cache "^4.0.1" + which "^1.2.9" cryptiles@2.x.x: version "2.0.5" @@ -560,12 +590,6 @@ cycle@1.0.x: version "1.0.3" resolved "https://registry.yarnpkg.com/cycle/-/cycle-1.0.3.tgz#21e80b2be8580f98b468f379430662b046c34ad2" -dargs@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/dargs/-/dargs-4.1.0.tgz#03a9dbb4b5c2f139bf14ae53f0b8a2a6a86f4e17" - dependencies: - number-is-nan "^1.0.0" - dashdash@^1.12.0: version "1.14.1" resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" @@ -645,6 +669,10 @@ delayed-stream@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" +delegates@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" + depd@1.1.0, depd@~1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.0.tgz#e1bd82c6aab6ced965b97b88b17ed3e528ca18c3" @@ -695,6 +723,13 @@ duplexer3@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" +each-async@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/each-async/-/each-async-1.1.1.tgz#dee5229bdf0ab6ba2012a395e1b869abf8813473" + dependencies: + onetime "^1.0.0" + set-immediate-shim "^1.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" @@ -1146,6 +1181,28 @@ fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" +fstream@^1.0.0, fstream@^1.0.2: + version "1.0.11" + resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.11.tgz#5c1fb1f117477114f0632a0eb4b71b3cb0fd3171" + dependencies: + graceful-fs "^4.1.2" + inherits "~2.0.0" + mkdirp ">=0.5 0" + rimraf "2" + +gauge@~2.7.1: + version "2.7.4" + resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" + dependencies: + aproba "^1.0.3" + console-control-strings "^1.0.0" + has-unicode "^2.0.0" + object-assign "^4.1.0" + signal-exit "^3.0.0" + string-width "^1.0.1" + strip-ansi "^3.0.1" + wide-align "^1.1.0" + gaze@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/gaze/-/gaze-1.1.2.tgz#847224677adb8870d679257ed3388fdb61e40105" @@ -1204,7 +1261,7 @@ glob@^6.0.4: 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: +glob@^7.0.0, 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: @@ -1215,7 +1272,7 @@ glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@~7.1.1: once "^1.3.0" path-is-absolute "^1.0.0" -glob@~7.0.0: +glob@^7.0.3, glob@~7.0.0: version "7.0.6" resolved "https://registry.yarnpkg.com/glob/-/glob-7.0.6.tgz#211bafaf49e525b8cd93260d14ab136152b3f57a" dependencies: @@ -1321,16 +1378,6 @@ grunt-contrib-jshint@^1.1.0: hooker "^0.2.3" jshint "~2.9.4" -grunt-contrib-sass@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/grunt-contrib-sass/-/grunt-contrib-sass-1.0.0.tgz#806838251cbc0e1a94d64d515cdd34cf674d701b" - dependencies: - async "^0.9.0" - chalk "^1.0.0" - cross-spawn "^0.2.3" - dargs "^4.0.0" - which "^1.0.5" - grunt-contrib-watch@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/grunt-contrib-watch/-/grunt-contrib-watch-1.0.0.tgz#84a1a7a1d6abd26ed568413496c73133e990018f" @@ -1394,6 +1441,14 @@ grunt-legacy-util@~1.0.0: underscore.string "~3.2.3" which "~1.2.1" +grunt-sass@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/grunt-sass/-/grunt-sass-2.0.0.tgz#9074cf9d7b4592e20f7788caa727b8f9aa06b60a" + dependencies: + each-async "^1.0.0" + node-sass "^4.0.0" + object-assign "^4.0.1" + grunt-saucelabs@^9.0.0: version "9.0.0" resolved "https://registry.yarnpkg.com/grunt-saucelabs/-/grunt-saucelabs-9.0.0.tgz#d688025a05501decac0a9e129dd4e4f50a42014a" @@ -1456,6 +1511,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-unicode@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" + hasha@~2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/hasha/-/hasha-2.2.0.tgz#78d7cbfc1e6d66303fe79837365984517b2f6ee1" @@ -1568,6 +1627,10 @@ imurmurhash@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" +in-publish@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/in-publish/-/in-publish-2.0.0.tgz#e20ff5e3a2afc2690320b6dc552682a9c7fadf51" + indent-string@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" @@ -1585,7 +1648,7 @@ inherit@^2.2.2: version "2.2.6" resolved "https://registry.yarnpkg.com/inherit/-/inherit-2.2.6.tgz#f1614b06c8544e8128e4229c86347db73ad9788d" -inherits@2, inherits@2.0.3, inherits@~2.0.1: +inherits@2, inherits@2.0.3, inherits@~2.0.0, inherits@~2.0.1: version "2.0.3" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" @@ -1748,7 +1811,11 @@ jpeg-js@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/jpeg-js/-/jpeg-js-0.2.0.tgz#53e448ec9d263e683266467e9442d2c5a2ef5482" -js-yaml@^3.8.3: +js-base64@^2.1.8: + version "2.1.9" + resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.1.9.tgz#f0e80ae039a4bd654b5f281fc93f04a914a7fcce" + +js-yaml@^3.2.7, js-yaml@^3.8.3: version "3.8.3" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.8.3.tgz#33a05ec481c850c8875929166fe1beb61c728766" dependencies: @@ -1935,7 +2002,11 @@ load-json-file@^1.0.0: pinkie-promise "^2.0.0" strip-bom "^2.0.0" -lodash.clonedeep@^4.3.0: +lodash.assign@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-4.2.0.tgz#0d99f3ccd7a6d261d19bdaeb9245005d285808e7" + +lodash.clonedeep@^4.3.0, lodash.clonedeep@^4.3.2: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" @@ -1955,6 +2026,10 @@ lodash.isfunction@^3.0.8: version "3.0.8" resolved "https://registry.yarnpkg.com/lodash.isfunction/-/lodash.isfunction-3.0.8.tgz#4db709fc81bc4a8fd7127a458a5346c5cdce2c6b" +lodash.mergewith@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/lodash.mergewith/-/lodash.mergewith-4.6.0.tgz#150cf0a16791f5903b8891eab154609274bdea55" + lodash@3.7.x: version "3.7.0" resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.7.0.tgz#3678bd8ab995057c07ade836ed2ef087da811d45" @@ -1994,11 +2069,7 @@ 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.5.0: - version "2.7.3" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-2.7.3.tgz#6d4524e8b955f95d4f5b58851ce21dd72fb4e952" - -lru-cache@^4.0.0: +lru-cache@^4.0.0, lru-cache@^4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.0.2.tgz#1d17679c069cda5d040991a09dbc2c0db377e55e" dependencies: @@ -2017,7 +2088,7 @@ media-typer@0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" -meow@^3.1.0, meow@^3.3.0: +meow@^3.1.0, 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: @@ -2072,7 +2143,7 @@ mkdirp@0.5.0: dependencies: minimist "0.0.8" -mkdirp@0.x.x, mkdirp@^0.5.0, mkdirp@^0.5.1: +mkdirp@0.x.x, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1: version "0.5.1" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" dependencies: @@ -2112,7 +2183,7 @@ mute-stream@~0.0.4: version "0.0.7" resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" -nan@^2.0.0: +nan@^2.0.0, nan@^2.3.2: version "2.6.2" resolved "https://registry.yarnpkg.com/nan/-/nan-2.6.2.tgz#e4ff34e6c95fdfb5aecc08de6596f43605a7db45" @@ -2138,6 +2209,53 @@ node-forge@^0.7.1: version "0.7.1" resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.7.1.tgz#9da611ea08982f4b94206b3beb4cc9665f20c300" +node-gyp@^3.3.1: + version "3.6.1" + resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-3.6.1.tgz#19561067ff185464aded478212681f47fd578cbc" + dependencies: + fstream "^1.0.0" + glob "^7.0.3" + graceful-fs "^4.1.2" + minimatch "^3.0.2" + mkdirp "^0.5.0" + nopt "2 || 3" + npmlog "0 || 1 || 2 || 3 || 4" + osenv "0" + request "2" + rimraf "2" + semver "~5.3.0" + tar "^2.0.0" + which "1" + +node-sass-import-once@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/node-sass-import-once/-/node-sass-import-once-1.2.0.tgz#4e523aa05d68d9b37c7ebacf3f15684e635b2f2e" + dependencies: + js-yaml "^3.2.7" + +node-sass@^4.0.0: + version "4.5.2" + resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-4.5.2.tgz#4012fa2bd129b1d6365117e88d9da0500d99da64" + dependencies: + async-foreach "^0.1.3" + chalk "^1.1.1" + cross-spawn "^3.0.0" + gaze "^1.0.0" + get-stdin "^4.0.1" + glob "^7.0.3" + in-publish "^2.0.0" + lodash.assign "^4.2.0" + lodash.clonedeep "^4.3.2" + lodash.mergewith "^4.6.0" + meow "^3.7.0" + mkdirp "^0.5.1" + nan "^2.3.2" + node-gyp "^3.3.1" + npmlog "^4.0.0" + request "^2.79.0" + sass-graph "^2.1.1" + stdout-stream "^1.4.0" + "nomnom@>= 1.5.x": version "1.8.1" resolved "https://registry.yarnpkg.com/nomnom/-/nomnom-1.8.1.tgz#2151f722472ba79e50a76fc125bb8c8f2e4dc2a7" @@ -2145,7 +2263,7 @@ node-forge@^0.7.1: chalk "~0.4.0" underscore "~1.6.0" -nopt@^3.0.1, nopt@~3.0.6: +"nopt@2 || 3", nopt@^3.0.1, nopt@~3.0.6: version "3.0.6" resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" dependencies: @@ -2172,6 +2290,15 @@ npm-run-path@^1.0.0: dependencies: path-key "^1.0.0" +"npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.0: + 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" + nugget@^2.0.0, nugget@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/nugget/-/nugget-2.0.1.tgz#201095a487e1ad36081b3432fa3cada4f8d071b0" @@ -2192,7 +2319,7 @@ 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.0.1: +object-assign@^4.0.1, object-assign@^4.1.0: version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" @@ -2216,6 +2343,10 @@ once@^1.3.0: dependencies: wrappy "1" +onetime@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789" + opn@^4.0.0: version "4.0.2" resolved "https://registry.yarnpkg.com/opn/-/opn-4.0.2.tgz#7abc22e644dff63b0a96d5ab7f2790c0f01abc95" @@ -2223,6 +2354,10 @@ opn@^4.0.0: object-assign "^4.0.1" pinkie-promise "^2.0.0" +os-homedir@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" + os-locale@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9" @@ -2233,6 +2368,13 @@ 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: + 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-json@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/package-json/-/package-json-4.0.1.tgz#8869a0401253661c4c4ca3da6c2121ed555f5eed" @@ -2517,7 +2659,7 @@ readable-stream@1.1, readable-stream@^1.1.8, readable-stream@~1.1.9: isarray "0.0.1" string_decoder "~0.10.x" -readable-stream@^2.0.4, readable-stream@~2.0.0: +readable-stream@^2.0.1, readable-stream@^2.0.4, readable-stream@^2.0.6, readable-stream@~2.0.0: version "2.0.6" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.0.6.tgz#8f90341e68a53ccc928788dacfcd11b36eb9b78e" dependencies: @@ -2563,7 +2705,7 @@ request-progress@~2.0.1: dependencies: throttleit "^1.0.0" -request@^2.45.0, request@^2.65.0, request@^2.72.0, request@^2.74.x, request@^2.79.0: +request@2, request@^2.45.0, request@^2.65.0, request@^2.72.0, request@^2.74.x, request@^2.79.0: version "2.81.0" resolved "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0" dependencies: @@ -2644,7 +2786,7 @@ revalidator@0.1.x: version "0.1.8" resolved "https://registry.yarnpkg.com/revalidator/-/revalidator-0.1.8.tgz#fece61bfa0c1b52a206bd6b18198184bdd523a3b" -rimraf@2.x.x, rimraf@^2.2.8, rimraf@~2.2.8: +rimraf@2, rimraf@2.x.x, rimraf@^2.2.8, rimraf@~2.2.8: version "2.2.8" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.2.8.tgz#e439be2aaee327321952730f99a8929e4fc50582" @@ -2658,6 +2800,15 @@ sanitize-filename@^1.6.1: dependencies: truncate-utf8-bytes "^1.0.0" +sass-graph@^2.1.1: + version "2.2.2" + resolved "https://registry.yarnpkg.com/sass-graph/-/sass-graph-2.2.2.tgz#f4d6c95b546ea2a09d14176d0fc1a07ee2b48354" + dependencies: + glob "^7.0.0" + lodash "^4.0.0" + scss-tokenizer "^0.2.1" + yargs "^6.6.0" + sauce-tunnel@~2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/sauce-tunnel/-/sauce-tunnel-2.5.0.tgz#0ee4c4ff9b47e013e8b072cbfac495b7fed8e8eb" @@ -2680,13 +2831,20 @@ sax@>=0.6.0, sax@^1.2.1: version "1.2.2" resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.2.tgz#fd8631a23bc7826bef5d871bdb87378c95647828" +scss-tokenizer@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/scss-tokenizer/-/scss-tokenizer-0.2.1.tgz#07c0cc577bb7ab4d08fd900185adbf4bc844141d" + dependencies: + js-base64 "^2.1.8" + source-map "^0.4.2" + 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@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" @@ -2733,10 +2891,14 @@ serve-static@^1.10.0: parseurl "~1.3.1" send "0.15.1" -set-blocking@^2.0.0: +set-blocking@^2.0.0, 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.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61" + setprototypeof@1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.0.2.tgz#81a552141ec104b88e89ce383103ad5c66564d08" @@ -2775,6 +2937,12 @@ source-map-support@^0.4.0, source-map-support@^0.4.14: dependencies: source-map "^0.5.6" +source-map@^0.4.2: + version "0.4.4" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" + dependencies: + amdefine ">=0.0.4" + source-map@^0.5.3, source-map@^0.5.6: version "0.5.6" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" @@ -2840,6 +3008,12 @@ statuses@1, "statuses@>= 1.3.1 < 2", statuses@~1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.3.1.tgz#faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e" +stdout-stream@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/stdout-stream/-/stdout-stream-1.4.0.tgz#a2c7c8587e54d9427ea9edb3ac3f2cd522df378b" + dependencies: + readable-stream "^2.0.1" + stream-to-buffer@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/stream-to-buffer/-/stream-to-buffer-0.1.0.tgz#26799d903ab2025c9bd550ac47171b00f8dd80a9" @@ -2943,6 +3117,14 @@ svg2png@4.1.1: pn "^1.0.0" yargs "^6.5.0" +tar@^2.0.0: + 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" + tempfile@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/tempfile/-/tempfile-1.1.1.tgz#5bcc4eaecc4ab2c707d8bc11d99ccc9a2cb287f2" @@ -3212,12 +3394,18 @@ which-module@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f" -which@^1.0.5, which@^1.2.8, which@~1.2.1, which@~1.2.10: +which@1, which@^1.2.8, which@^1.2.9, which@~1.2.1, which@~1.2.10: version "1.2.14" resolved "https://registry.yarnpkg.com/which/-/which-1.2.14.tgz#9a87c4378f03e827cecaf1acdf56c736c01c14e5" dependencies: isexe "^2.0.0" +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" @@ -3335,7 +3523,7 @@ yargs-parser@^5.0.0: dependencies: camelcase "^3.0.0" -yargs@^6.5.0: +yargs@^6.5.0, yargs@^6.6.0: version "6.6.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-6.6.0.tgz#782ec21ef403345f830a808ca3d513af56065208" dependencies: