├── .gitignore ├── .ruby-version ├── Gemfile ├── Gemfile.lock ├── Gulpfile.js ├── LICENSE ├── Procfile ├── README.md ├── app.rb ├── config.ru ├── package.json ├── public ├── dist │ └── turbo-react.min.js ├── lib │ └── turbolinks.js └── turbo-react.css ├── src └── turbo-react.js ├── views ├── fish.erb └── index.erb ├── webpack.config.js └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | npm-debug.log 3 | -------------------------------------------------------------------------------- /.ruby-version: -------------------------------------------------------------------------------- 1 | 2.2.2 2 | -------------------------------------------------------------------------------- /Gemfile: -------------------------------------------------------------------------------- 1 | source "https://rubygems.org" 2 | ruby "2.2.2" 3 | 4 | gem "sinatra" 5 | gem "unicorn" 6 | -------------------------------------------------------------------------------- /Gemfile.lock: -------------------------------------------------------------------------------- 1 | GEM 2 | remote: https://rubygems.org/ 3 | specs: 4 | kgio (2.9.3) 5 | rack (1.6.8) 6 | rack-protection (1.5.3) 7 | rack 8 | raindrops (0.13.0) 9 | sinatra (1.4.5) 10 | rack (~> 1.4) 11 | rack-protection (~> 1.4) 12 | tilt (~> 1.3, >= 1.3.4) 13 | tilt (1.4.1) 14 | unicorn (4.8.3) 15 | kgio (~> 2.6) 16 | rack 17 | raindrops (~> 0.7) 18 | 19 | PLATFORMS 20 | ruby 21 | 22 | DEPENDENCIES 23 | sinatra 24 | unicorn 25 | 26 | BUNDLED WITH 27 | 1.10.6 28 | -------------------------------------------------------------------------------- /Gulpfile.js: -------------------------------------------------------------------------------- 1 | var gulp = require("gulp"); 2 | 3 | gulp.task("turbolinks", function() { 4 | gulp.src(require.resolve("turbolinks")) 5 | .pipe(gulp.dest("public/lib")) 6 | }); 7 | 8 | gulp.task("default", ["turbolinks"]); 9 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Apache License 2 | Version 2.0, January 2004 3 | http://www.apache.org/licenses/ 4 | 5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 6 | 7 | 1. Definitions. 8 | 9 | "License" shall mean the terms and conditions for use, reproduction, and 10 | distribution as defined by Sections 1 through 9 of this document. 11 | 12 | "Licensor" shall mean the copyright owner or entity authorized by the copyright 13 | owner that is granting the License. 14 | 15 | "Legal Entity" shall mean the union of the acting entity and all other entities 16 | that control, are controlled by, or are under common control with that entity. 17 | For the purposes of this definition, "control" means (i) the power, direct or 18 | indirect, to cause the direction or management of such entity, whether by 19 | contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the 20 | outstanding shares, or (iii) beneficial ownership of such entity. 21 | 22 | "You" (or "Your") shall mean an individual or Legal Entity exercising 23 | permissions granted by this License. 24 | 25 | "Source" form shall mean the preferred form for making modifications, including 26 | but not limited to software source code, documentation source, and configuration 27 | files. 28 | 29 | "Object" form shall mean any form resulting from mechanical transformation or 30 | translation of a Source form, including but not limited to compiled object code, 31 | generated documentation, and conversions to other media types. 32 | 33 | "Work" shall mean the work of authorship, whether in Source or Object form, made 34 | available under the License, as indicated by a copyright notice that is included 35 | in or attached to the work (an example is provided in the Appendix below). 36 | 37 | "Derivative Works" shall mean any work, whether in Source or Object form, that 38 | is based on (or derived from) the Work and for which the editorial revisions, 39 | annotations, elaborations, or other modifications represent, as a whole, an 40 | original work of authorship. For the purposes of this License, Derivative Works 41 | shall not include works that remain separable from, or merely link (or bind by 42 | name) to the interfaces of, the Work and Derivative Works thereof. 43 | 44 | "Contribution" shall mean any work of authorship, including the original version 45 | of the Work and any modifications or additions to that Work or Derivative Works 46 | thereof, that is intentionally submitted to Licensor for inclusion in the Work 47 | by the copyright owner or by an individual or Legal Entity authorized to submit 48 | on behalf of the copyright owner. For the purposes of this definition, 49 | "submitted" means any form of electronic, verbal, or written communication sent 50 | to the Licensor or its representatives, including but not limited to 51 | communication on electronic mailing lists, source code control systems, and 52 | issue tracking systems that are managed by, or on behalf of, the Licensor for 53 | the purpose of discussing and improving the Work, but excluding communication 54 | that is conspicuously marked or otherwise designated in writing by the copyright 55 | owner as "Not a Contribution." 56 | 57 | "Contributor" shall mean Licensor and any individual or Legal Entity on behalf 58 | of whom a Contribution has been received by Licensor and subsequently 59 | incorporated within the Work. 60 | 61 | 2. Grant of Copyright License. 62 | 63 | Subject to the terms and conditions of this License, each Contributor hereby 64 | grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, 65 | irrevocable copyright license to reproduce, prepare Derivative Works of, 66 | publicly display, publicly perform, sublicense, and distribute the Work and such 67 | Derivative Works in Source or Object form. 68 | 69 | 3. Grant of Patent License. 70 | 71 | Subject to the terms and conditions of this License, each Contributor hereby 72 | grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, 73 | irrevocable (except as stated in this section) patent license to make, have 74 | made, use, offer to sell, sell, import, and otherwise transfer the Work, where 75 | such license applies only to those patent claims licensable by such Contributor 76 | that are necessarily infringed by their Contribution(s) alone or by combination 77 | of their Contribution(s) with the Work to which such Contribution(s) was 78 | submitted. If You institute patent litigation against any entity (including a 79 | cross-claim or counterclaim in a lawsuit) alleging that the Work or a 80 | Contribution incorporated within the Work constitutes direct or contributory 81 | patent infringement, then any patent licenses granted to You under this License 82 | for that Work shall terminate as of the date such litigation is filed. 83 | 84 | 4. Redistribution. 85 | 86 | You may reproduce and distribute copies of the Work or Derivative Works thereof 87 | in any medium, with or without modifications, and in Source or Object form, 88 | provided that You meet the following conditions: 89 | 90 | You must give any other recipients of the Work or Derivative Works a copy of 91 | this License; and 92 | You must cause any modified files to carry prominent notices stating that You 93 | changed the files; and 94 | You must retain, in the Source form of any Derivative Works that You distribute, 95 | all copyright, patent, trademark, and attribution notices from the Source form 96 | of the Work, excluding those notices that do not pertain to any part of the 97 | Derivative Works; and 98 | If the Work includes a "NOTICE" text file as part of its distribution, then any 99 | Derivative Works that You distribute must include a readable copy of the 100 | attribution notices contained within such NOTICE file, excluding those notices 101 | that do not pertain to any part of the Derivative Works, in at least one of the 102 | following places: within a NOTICE text file distributed as part of the 103 | Derivative Works; within the Source form or documentation, if provided along 104 | with the Derivative Works; or, within a display generated by the Derivative 105 | Works, if and wherever such third-party notices normally appear. The contents of 106 | the NOTICE file are for informational purposes only and do not modify the 107 | License. You may add Your own attribution notices within Derivative Works that 108 | You distribute, alongside or as an addendum to the NOTICE text from the Work, 109 | provided that such additional attribution notices cannot be construed as 110 | modifying the License. 111 | You may add Your own copyright statement to Your modifications and may provide 112 | additional or different license terms and conditions for use, reproduction, or 113 | distribution of Your modifications, or for any such Derivative Works as a whole, 114 | provided Your use, reproduction, and distribution of the Work otherwise complies 115 | with the conditions stated in this License. 116 | 117 | 5. Submission of Contributions. 118 | 119 | Unless You explicitly state otherwise, any Contribution intentionally submitted 120 | for inclusion in the Work by You to the Licensor shall be under the terms and 121 | conditions of this License, without any additional terms or conditions. 122 | Notwithstanding the above, nothing herein shall supersede or modify the terms of 123 | any separate license agreement you may have executed with Licensor regarding 124 | such Contributions. 125 | 126 | 6. Trademarks. 127 | 128 | This License does not grant permission to use the trade names, trademarks, 129 | service marks, or product names of the Licensor, except as required for 130 | reasonable and customary use in describing the origin of the Work and 131 | reproducing the content of the NOTICE file. 132 | 133 | 7. Disclaimer of Warranty. 134 | 135 | Unless required by applicable law or agreed to in writing, Licensor provides the 136 | Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, 137 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, 138 | including, without limitation, any warranties or conditions of TITLE, 139 | NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are 140 | solely responsible for determining the appropriateness of using or 141 | redistributing the Work and assume any risks associated with Your exercise of 142 | permissions under this License. 143 | 144 | 8. Limitation of Liability. 145 | 146 | In no event and under no legal theory, whether in tort (including negligence), 147 | contract, or otherwise, unless required by applicable law (such as deliberate 148 | and grossly negligent acts) or agreed to in writing, shall any Contributor be 149 | liable to You for damages, including any direct, indirect, special, incidental, 150 | or consequential damages of any character arising as a result of this License or 151 | out of the use or inability to use the Work (including but not limited to 152 | damages for loss of goodwill, work stoppage, computer failure or malfunction, or 153 | any and all other commercial damages or losses), even if such Contributor has 154 | been advised of the possibility of such damages. 155 | 156 | 9. Accepting Warranty or Additional Liability. 157 | 158 | While redistributing the Work or Derivative Works thereof, You may choose to 159 | offer, and charge a fee for, acceptance of support, warranty, indemnity, or 160 | other liability obligations and/or rights consistent with this License. However, 161 | in accepting such obligations, You may act only on Your own behalf and on Your 162 | sole responsibility, not on behalf of any other Contributor, and only if You 163 | agree to indemnify, defend, and hold each Contributor harmless for any liability 164 | incurred by, or claims asserted against, such Contributor by reason of your 165 | accepting any such warranty or additional liability. 166 | 167 | END OF TERMS AND CONDITIONS 168 | 169 | APPENDIX: How to apply the Apache License to your work 170 | 171 | To apply the Apache License to your work, attach the following boilerplate 172 | notice, with the fields enclosed by brackets "[]" replaced with your own 173 | identifying information. (Don't include the brackets!) The text should be 174 | enclosed in the appropriate comment syntax for the file format. We also 175 | recommend that a file or class name and description of purpose be included on 176 | the same "printed page" as the copyright notice for easier identification within 177 | third-party archives. 178 | 179 | Copyright 2014 Ross Allen 180 | 181 | Licensed under the Apache License, Version 2.0 (the "License"); 182 | you may not use this file except in compliance with the License. 183 | You may obtain a copy of the License at 184 | 185 | http://www.apache.org/licenses/LICENSE-2.0 186 | 187 | Unless required by applicable law or agreed to in writing, software 188 | distributed under the License is distributed on an "AS IS" BASIS, 189 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 190 | See the License for the specific language governing permissions and 191 | limitations under the License. 192 | -------------------------------------------------------------------------------- /Procfile: -------------------------------------------------------------------------------- 1 | web: bundle exec unicorn config.ru -p $PORT 2 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # TurboReact 2 | 3 | TurboReact applies only the differences between two HTML pages when navigating 4 | with links rather than create a new document, which enables CSS transitions 5 | between pages without needing a server. 6 | 7 | ## Installation & Usage 8 | 9 | TurboReact is a plugin for [Turbolinks](https://github.com/rails/turbolinks), 10 | which means Turbolinks is required. Include both Turbolinks and TurboReact in 11 | the `` of every document on your site. 12 | 13 | ### Ruby on Rails 14 | 15 | 1. Add the [`turbo_react-rails`](https://github.com/ssorallen/turbo_react-rails) 16 | gem to your Gemfile: 17 | 18 | ``` 19 | gem 'turbo_react-rails' 20 | ``` 21 | 22 | 2. Install the updated set of gems: 23 | 24 | ```sh 25 | $ bundle install 26 | ``` 27 | 28 | 3. Require the "turbo-react" library after "turbolinks" on every page, for 29 | example in "application.js" if it is on every page: 30 | 31 | ```js 32 | //= require turbolinks 33 | //= require turbo-react 34 | ``` 35 | 36 | ### Plain HTML and Other Frameworks 37 | 38 | 1. Get turbo-react via NPM or download the latest release from GitHub: 39 | 40 | ```sh 41 | $ yarn install turbo-react 42 | ``` 43 | 44 | or 45 | 46 | ```sh 47 | $ curl https://raw.githubusercontent.com/ssorallen/turbo-react/v0.9.0/public/dist/turbo-react.min.js 48 | ``` 49 | 50 | 2. Include turbo-react in the `` of each page of the site after 51 | Turbolinks: 52 | 53 | ```html 54 | 55 | 56 | 57 | ... 58 | 59 | 60 | 61 | 62 | ... 63 | 64 | 65 | ``` 66 | 67 | ### Opting out of Turbolinks & TurboReact 68 | 69 | Add a 70 | [`data-no-turbolink` attribute](https://github.com/rails/turbolinks#opting-out-of-turbolinks) 71 | to any link that should load normally without being intercepted by Turbolinks 72 | and TurboReact. This feature is inherited from TurboReacts's use of Turbolinks. 73 | 74 | ```html 75 | 76 | Skip Turbolinks and TurboReact 77 | 78 | ``` 79 | 80 | ## Examples 81 | 82 | ### Transitioning Background Colors 83 | 84 | Navigating between page1 and page2 shows a skyblue background and a yellow 85 | background that changes at once. After putting TurboReact in the ``, 86 | navigating between the pages will transition between the background colors 87 | because TurboReact will add and remove the class names rather than start a new 88 | document. 89 | 90 | ```css 91 | /* style.css */ 92 | 93 | body { 94 | height: 100%; 95 | margin: 0; 96 | transition: background-color 0.5s; 97 | width: 100%; 98 | } 99 | 100 | .bg-skyblue { 101 | background-color: skyblue; 102 | } 103 | 104 | .bg-yellow { 105 | background-color: yellow; 106 | } 107 | ``` 108 | 109 | ```html 110 | 111 | 112 | 113 | Page 2 114 | 115 | ``` 116 | 117 | ```html 118 | 119 | 120 | 121 | Page 1 122 | 123 | ``` 124 | 125 | ### How it Works 126 | 127 | **Demo:** https://turbo-react.herokuapp.com/ 128 | 129 | "Re-request this page" is just a link to the current page. When you click it, 130 | Turbolinks intercepts the GET request and fetchs the full page via XHR. 131 | 132 | The panel is rendered with a random panel- class on each request, 133 | and the progress bar gets a random widthX class. 134 | 135 | With Turbolinks alone, the entire `` would be replaced, and transitions 136 | would not happen. In this little demo though, React adds and removes 137 | classes and text, and the attribute changes are animated with CSS transitions. 138 | The DOM is otherwise left in tact. 139 | 140 | ### The Code 141 | 142 | TurboReact turns the `` into a React element and re-renders it after 143 | Turbolinks intercepts link navigations via XMLHttpRequest: 144 | [turbo-react.js](https://github.com/ssorallen/turbo-react/blob/master/src/turbo-react.js) 145 | 146 | #### Running locally 147 | 148 | 1. Clone this repo 149 | 150 | $ git clone https://github.com/ssorallen/turbo-react.git 151 | 152 | 2. Install dependencies 153 | 154 | $ bundle install 155 | $ yarn install 156 | 157 | 3. Run the server and watch JS changes 158 | 159 | $ bundle exec unicorn 160 | $ yarn watch 161 | 162 | 4. Visit the app: [http://localhost:9292](http://localhost:9292) 163 | -------------------------------------------------------------------------------- /app.rb: -------------------------------------------------------------------------------- 1 | require "sinatra" 2 | 3 | PANEL_CLASSES = %w{ 4 | panel-primary 5 | panel-success 6 | panel-info 7 | panel-default 8 | panel-warning 9 | panel-danger 10 | } 11 | 12 | before do 13 | content_type :html, "charset" => "utf-8" 14 | end 15 | 16 | get "/" do 17 | @panel_class = PANEL_CLASSES.sample 18 | @request_time = Time.now 19 | erb :index 20 | end 21 | 22 | get "/onefish" do 23 | @fish_count = 1 24 | erb :fish 25 | end 26 | 27 | get "/twofish" do 28 | @fish_count = 2 29 | erb :fish 30 | end 31 | 32 | get "/redfish" do 33 | @fish_class = "fish-red" 34 | erb :fish 35 | end 36 | 37 | get "/bluefish" do 38 | @fish_class = "fish-blue" 39 | erb :fish 40 | end 41 | -------------------------------------------------------------------------------- /config.ru: -------------------------------------------------------------------------------- 1 | require "./app" 2 | use Rack::Deflater 3 | run Sinatra::Application 4 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "turbo-react", 3 | "version": "0.9.0", 4 | "description": "Transitions between static HTML pages; no app server required.", 5 | "main": "./public/dist/turbo-react.min.js", 6 | "scripts": { 7 | "build": "webpack -p", 8 | "test": "echo \"Error: no test specified\" && exit 1", 9 | "watch": "webpack --progress --colors --watch" 10 | }, 11 | "repository": { 12 | "type": "git", 13 | "url": "https://github.com/ssorallen/turbo-react.git" 14 | }, 15 | "keywords": [ 16 | "react", 17 | "turbolinks" 18 | ], 19 | "author": "Ross Allen ", 20 | "license": "Apache-2.0", 21 | "bugs": { 22 | "url": "https://github.com/ssorallen/turbo-react/issues" 23 | }, 24 | "homepage": "https://github.com/ssorallen/turbo-react", 25 | "dependencies": { 26 | "@babel/standalone": "^7.0.0-beta.34", 27 | "htmltojsx": "^0.3.0", 28 | "react": "15.4.2", 29 | "react-dom": "15.4.2" 30 | }, 31 | "devDependencies": { 32 | "gulp": "^3.8.11", 33 | "gulp-util": "^3.0.4", 34 | "turbolinks": "5.0.0", 35 | "webpack": "^1.4.15" 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /public/lib/turbolinks.js: -------------------------------------------------------------------------------- 1 | /* 2 | Turbolinks 5.0.0 3 | Copyright © 2016 Basecamp, LLC 4 | */ 5 | (function(){(function(){(function(){this.Turbolinks={supported:function(){return null!=window.history.pushState&&null!=window.requestAnimationFrame}(),visit:function(e,r){return t.controller.visit(e,r)},clearCache:function(){return t.controller.clearCache()}}}).call(this)}).call(this);var t=this.Turbolinks;(function(){(function(){var e,r;t.copyObject=function(t){var e,r,n;r={};for(e in t)n=t[e],r[e]=n;return r},t.closest=function(t,r){return e.call(t,r)},e=function(){var t,e;return t=document.documentElement,null!=(e=t.closest)?e:function(t){var e;for(e=this;e;){if(e.nodeType===Node.ELEMENT_NODE&&r.call(e,t))return e;e=e.parentNode}}}(),t.defer=function(t){return setTimeout(t,1)},t.dispatch=function(t,e){var r,n,o,i,s;return i=null!=e?e:{},s=i.target,r=i.cancelable,n=i.data,o=document.createEvent("Events"),o.initEvent(t,!0,r===!0),o.data=null!=n?n:{},(null!=s?s:document).dispatchEvent(o),o},t.match=function(t,e){return r.call(t,e)},r=function(){var t,e,r,n;return t=document.documentElement,null!=(e=null!=(r=null!=(n=t.matchesSelector)?n:t.webkitMatchesSelector)?r:t.msMatchesSelector)?e:t.mozMatchesSelector}(),t.uuid=function(){var t,e,r;for(r="",t=e=1;36>=e;t=++e)r+=9===t||14===t||19===t||24===t?"-":15===t?"4":20===t?(Math.floor(4*Math.random())+8).toString(16):Math.floor(15*Math.random()).toString(16);return r}}).call(this),function(){t.Location=function(){function t(t){var e,r;null==t&&(t=""),r=document.createElement("a"),r.href=t.toString(),this.absoluteURL=r.href,e=r.hash.length,2>e?this.requestURL=this.absoluteURL:(this.requestURL=this.absoluteURL.slice(0,-e),this.anchor=r.hash.slice(1))}var e,r,n,o;return t.wrap=function(t){return t instanceof this?t:new this(t)},t.prototype.getOrigin=function(){return this.absoluteURL.split("/",3).join("/")},t.prototype.getPath=function(){var t,e;return null!=(t=null!=(e=this.absoluteURL.match(/\/\/[^\/]*(\/[^?;]*)/))?e[1]:void 0)?t:"/"},t.prototype.getPathComponents=function(){return this.getPath().split("/").slice(1)},t.prototype.getLastPathComponent=function(){return this.getPathComponents().slice(-1)[0]},t.prototype.getExtension=function(){var t,e;return null!=(t=null!=(e=this.getLastPathComponent().match(/\.[^.]*$/))?e[0]:void 0)?t:""},t.prototype.isHTML=function(){return this.getExtension().match(/^(?:|\.(?:htm|html|xhtml))$/)},t.prototype.isPrefixedBy=function(t){var e;return e=r(t),this.isEqualTo(t)||o(this.absoluteURL,e)},t.prototype.isEqualTo=function(t){return this.absoluteURL===(null!=t?t.absoluteURL:void 0)},t.prototype.toCacheKey=function(){return this.requestURL},t.prototype.toJSON=function(){return this.absoluteURL},t.prototype.toString=function(){return this.absoluteURL},t.prototype.valueOf=function(){return this.absoluteURL},r=function(t){return e(t.getOrigin()+t.getPath())},e=function(t){return n(t,"/")?t:t+"/"},o=function(t,e){return t.slice(0,e.length)===e},n=function(t,e){return t.slice(-e.length)===e},t}()}.call(this),function(){var e=function(t,e){return function(){return t.apply(e,arguments)}};t.HttpRequest=function(){function r(r,n,o){this.delegate=r,this.requestCanceled=e(this.requestCanceled,this),this.requestTimedOut=e(this.requestTimedOut,this),this.requestFailed=e(this.requestFailed,this),this.requestLoaded=e(this.requestLoaded,this),this.requestProgressed=e(this.requestProgressed,this),this.url=t.Location.wrap(n).requestURL,this.referrer=t.Location.wrap(o).absoluteURL,this.createXHR()}return r.NETWORK_FAILURE=0,r.TIMEOUT_FAILURE=-1,r.timeout=60,r.prototype.send=function(){var t;return this.xhr&&!this.sent?(this.notifyApplicationBeforeRequestStart(),this.setProgress(0),this.xhr.send(),this.sent=!0,"function"==typeof(t=this.delegate).requestStarted?t.requestStarted():void 0):void 0},r.prototype.cancel=function(){return this.xhr&&this.sent?this.xhr.abort():void 0},r.prototype.requestProgressed=function(t){return t.lengthComputable?this.setProgress(t.loaded/t.total):void 0},r.prototype.requestLoaded=function(){return this.endRequest(function(t){return function(){var e;return 200<=(e=t.xhr.status)&&300>e?t.delegate.requestCompletedWithResponse(t.xhr.responseText,t.xhr.getResponseHeader("Turbolinks-Location")):(t.failed=!0,t.delegate.requestFailedWithStatusCode(t.xhr.status,t.xhr.responseText))}}(this))},r.prototype.requestFailed=function(){return this.endRequest(function(t){return function(){return t.failed=!0,t.delegate.requestFailedWithStatusCode(t.constructor.NETWORK_FAILURE)}}(this))},r.prototype.requestTimedOut=function(){return this.endRequest(function(t){return function(){return t.failed=!0,t.delegate.requestFailedWithStatusCode(t.constructor.TIMEOUT_FAILURE)}}(this))},r.prototype.requestCanceled=function(){return this.endRequest()},r.prototype.notifyApplicationBeforeRequestStart=function(){return t.dispatch("turbolinks:request-start",{data:{url:this.url,xhr:this.xhr}})},r.prototype.notifyApplicationAfterRequestEnd=function(){return t.dispatch("turbolinks:request-end",{data:{url:this.url,xhr:this.xhr}})},r.prototype.createXHR=function(){return this.xhr=new XMLHttpRequest,this.xhr.open("GET",this.url,!0),this.xhr.timeout=1e3*this.constructor.timeout,this.xhr.setRequestHeader("Accept","text/html, application/xhtml+xml"),this.xhr.setRequestHeader("Turbolinks-Referrer",this.referrer),this.xhr.onprogress=this.requestProgressed,this.xhr.onload=this.requestLoaded,this.xhr.onerror=this.requestFailed,this.xhr.ontimeout=this.requestTimedOut,this.xhr.onabort=this.requestCanceled},r.prototype.endRequest=function(t){return this.xhr?(this.notifyApplicationAfterRequestEnd(),null!=t&&t.call(this),this.destroy()):void 0},r.prototype.setProgress=function(t){var e;return this.progress=t,"function"==typeof(e=this.delegate).requestProgressed?e.requestProgressed(this.progress):void 0},r.prototype.destroy=function(){var t;return this.setProgress(1),"function"==typeof(t=this.delegate).requestFinished&&t.requestFinished(),this.delegate=null,this.xhr=null},r}()}.call(this),function(){var e=function(t,e){return function(){return t.apply(e,arguments)}};t.ProgressBar=function(){function t(){this.trickle=e(this.trickle,this),this.stylesheetElement=this.createStylesheetElement(),this.progressElement=this.createProgressElement()}var r;return r=300,t.defaultCSS=".turbolinks-progress-bar {\n position: fixed;\n display: block;\n top: 0;\n left: 0;\n height: 3px;\n background: #0076ff;\n z-index: 9999;\n transition: width "+r+"ms ease-out, opacity "+r/2+"ms "+r/2+"ms ease-in;\n transform: translate3d(0, 0, 0);\n}",t.prototype.show=function(){return this.visible?void 0:(this.visible=!0,this.installStylesheetElement(),this.installProgressElement(),this.startTrickling())},t.prototype.hide=function(){return this.visible&&!this.hiding?(this.hiding=!0,this.fadeProgressElement(function(t){return function(){return t.uninstallProgressElement(),t.stopTrickling(),t.visible=!1,t.hiding=!1}}(this))):void 0},t.prototype.setValue=function(t){return this.value=t,this.refresh()},t.prototype.installStylesheetElement=function(){return document.head.insertBefore(this.stylesheetElement,document.head.firstChild)},t.prototype.installProgressElement=function(){return this.progressElement.style.width=0,this.progressElement.style.opacity=1,document.documentElement.insertBefore(this.progressElement,document.body),this.refresh()},t.prototype.fadeProgressElement=function(t){return this.progressElement.style.opacity=0,setTimeout(t,1.5*r)},t.prototype.uninstallProgressElement=function(){return this.progressElement.parentNode?document.documentElement.removeChild(this.progressElement):void 0},t.prototype.startTrickling=function(){return null!=this.trickleInterval?this.trickleInterval:this.trickleInterval=setInterval(this.trickle,r)},t.prototype.stopTrickling=function(){return clearInterval(this.trickleInterval),this.trickleInterval=null},t.prototype.trickle=function(){return this.setValue(this.value+Math.random()/100)},t.prototype.refresh=function(){return requestAnimationFrame(function(t){return function(){return t.progressElement.style.width=10+90*t.value+"%"}}(this))},t.prototype.createStylesheetElement=function(){var t;return t=document.createElement("style"),t.type="text/css",t.textContent=this.constructor.defaultCSS,t},t.prototype.createProgressElement=function(){var t;return t=document.createElement("div"),t.className="turbolinks-progress-bar",t},t}()}.call(this),function(){var e=function(t,e){return function(){return t.apply(e,arguments)}};t.BrowserAdapter=function(){function r(r){this.controller=r,this.showProgressBar=e(this.showProgressBar,this),this.progressBar=new t.ProgressBar}var n,o,i,s;return s=t.HttpRequest,n=s.NETWORK_FAILURE,i=s.TIMEOUT_FAILURE,o=500,r.prototype.visitProposedToLocationWithAction=function(t,e){return this.controller.startVisitToLocationWithAction(t,e)},r.prototype.visitStarted=function(t){return t.issueRequest(),t.changeHistory(),t.loadCachedSnapshot()},r.prototype.visitRequestStarted=function(t){return this.progressBar.setValue(0),t.hasCachedSnapshot()||"restore"!==t.action?this.showProgressBarAfterDelay():this.showProgressBar()},r.prototype.visitRequestProgressed=function(t){return this.progressBar.setValue(t.progress)},r.prototype.visitRequestCompleted=function(t){return t.loadResponse()},r.prototype.visitRequestFailedWithStatusCode=function(t,e){switch(e){case n:case i:return this.reload();default:return t.loadResponse()}},r.prototype.visitRequestFinished=function(t){return this.hideProgressBar()},r.prototype.visitCompleted=function(t){return t.followRedirect()},r.prototype.pageInvalidated=function(){return this.reload()},r.prototype.showProgressBarAfterDelay=function(){return this.progressBarTimeout=setTimeout(this.showProgressBar,o)},r.prototype.showProgressBar=function(){return this.progressBar.show()},r.prototype.hideProgressBar=function(){return this.progressBar.hide(),clearTimeout(this.progressBarTimeout)},r.prototype.reload=function(){return window.location.reload()},r}()}.call(this),function(){var e,r=function(t,e){return function(){return t.apply(e,arguments)}};e=!1,addEventListener("load",function(){return t.defer(function(){return e=!0})},!1),t.History=function(){function n(t){this.delegate=t,this.onPopState=r(this.onPopState,this)}return n.prototype.start=function(){return this.started?void 0:(addEventListener("popstate",this.onPopState,!1),this.started=!0)},n.prototype.stop=function(){return this.started?(removeEventListener("popstate",this.onPopState,!1),this.started=!1):void 0},n.prototype.push=function(e,r){return e=t.Location.wrap(e),this.update("push",e,r)},n.prototype.replace=function(e,r){return e=t.Location.wrap(e),this.update("replace",e,r)},n.prototype.onPopState=function(e){var r,n,o,i;return this.shouldHandlePopState()&&(i=null!=(n=e.state)?n.turbolinks:void 0)?(r=t.Location.wrap(window.location),o=i.restorationIdentifier,this.delegate.historyPoppedToLocationWithRestorationIdentifier(r,o)):void 0},n.prototype.shouldHandlePopState=function(){return e===!0},n.prototype.update=function(t,e,r){var n;return n={turbolinks:{restorationIdentifier:r}},history[t+"State"](n,null,e)},n}()}.call(this),function(){t.Snapshot=function(){function e(t){var e,r;r=t.head,e=t.body,this.head=null!=r?r:document.createElement("head"),this.body=null!=e?e:document.createElement("body")}return e.wrap=function(t){return t instanceof this?t:this.fromHTML(t)},e.fromHTML=function(t){var e;return e=document.createElement("html"),e.innerHTML=t,this.fromElement(e)},e.fromElement=function(t){return new this({head:t.querySelector("head"),body:t.querySelector("body")})},e.prototype.clone=function(){return new e({head:this.head.cloneNode(!0),body:this.body.cloneNode(!0)})},e.prototype.getRootLocation=function(){var e,r;return r=null!=(e=this.getSetting("root"))?e:"/",new t.Location(r)},e.prototype.getCacheControlValue=function(){return this.getSetting("cache-control")},e.prototype.hasAnchor=function(t){try{return null!=this.body.querySelector("[id='"+t+"']")}catch(e){}},e.prototype.isPreviewable=function(){return"no-preview"!==this.getCacheControlValue()},e.prototype.isCacheable=function(){return"no-cache"!==this.getCacheControlValue()},e.prototype.getSetting=function(t){var e,r;return r=this.head.querySelectorAll("meta[name='turbolinks-"+t+"']"),e=r[r.length-1],null!=e?e.getAttribute("content"):void 0},e}()}.call(this),function(){var e=[].slice;t.Renderer=function(){function t(){}var r;return t.render=function(){var t,r,n,o;return n=arguments[0],r=arguments[1],t=3<=arguments.length?e.call(arguments,2):[],o=function(t,e,r){r.prototype=t.prototype;var n=new r,o=t.apply(n,e);return Object(o)===o?o:n}(this,t,function(){}),o.delegate=n,o.render(r),o},t.prototype.renderView=function(t){return this.delegate.viewWillRender(this.newBody),t(),this.delegate.viewRendered(this.newBody)},t.prototype.invalidateView=function(){return this.delegate.viewInvalidated()},t.prototype.createScriptElement=function(t){var e;return"false"===t.getAttribute("data-turbolinks-eval")?t:(e=document.createElement("script"),e.textContent=t.textContent,r(e,t),e)},r=function(t,e){var r,n,o,i,s,a,u;for(i=e.attributes,a=[],r=0,n=i.length;n>r;r++)s=i[r],o=s.name,u=s.value,a.push(t.setAttribute(o,u));return a},t}()}.call(this),function(){t.HeadDetails=function(){function t(t){var e,r,i,s,a,u,c;for(this.element=t,this.elements={},c=this.element.childNodes,s=0,u=c.length;u>s;s++)i=c[s],i.nodeType===Node.ELEMENT_NODE&&(a=i.outerHTML,r=null!=(e=this.elements)[a]?e[a]:e[a]={type:o(i),tracked:n(i),elements:[]},r.elements.push(i))}var e,r,n,o;return t.prototype.hasElementWithKey=function(t){return t in this.elements},t.prototype.getTrackedElementSignature=function(){var t,e;return function(){var r,n;r=this.elements,n=[];for(t in r)e=r[t].tracked,e&&n.push(t);return n}.call(this).join("")},t.prototype.getScriptElementsNotInDetails=function(t){return this.getElementsMatchingTypeNotInDetails("script",t)},t.prototype.getStylesheetElementsNotInDetails=function(t){return this.getElementsMatchingTypeNotInDetails("stylesheet",t)},t.prototype.getElementsMatchingTypeNotInDetails=function(t,e){var r,n,o,i,s,a;o=this.elements,s=[];for(n in o)i=o[n],a=i.type,r=i.elements,a!==t||e.hasElementWithKey(n)||s.push(r[0]);return s},t.prototype.getProvisionalElements=function(){var t,e,r,n,o,i,s;r=[],n=this.elements;for(e in n)o=n[e],s=o.type,i=o.tracked,t=o.elements,null!=s||i?t.length>1&&r.push.apply(r,t.slice(1)):r.push.apply(r,t);return r},o=function(t){return e(t)?"script":r(t)?"stylesheet":void 0},n=function(t){return"reload"===t.getAttribute("data-turbolinks-track")},e=function(t){var e;return e=t.tagName.toLowerCase(),"script"===e},r=function(t){var e;return e=t.tagName.toLowerCase(),"style"===e||"link"===e&&"stylesheet"===t.getAttribute("rel")},t}()}.call(this),function(){var e=function(t,e){function n(){this.constructor=t}for(var o in e)r.call(e,o)&&(t[o]=e[o]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t},r={}.hasOwnProperty;t.SnapshotRenderer=function(r){function n(e,r){this.currentSnapshot=e,this.newSnapshot=r,this.currentHeadDetails=new t.HeadDetails(this.currentSnapshot.head),this.newHeadDetails=new t.HeadDetails(this.newSnapshot.head),this.newBody=this.newSnapshot.body}return e(n,r),n.prototype.render=function(t){return this.trackedElementsAreIdentical()?(this.mergeHead(),this.renderView(function(e){return function(){return e.replaceBody(),e.focusFirstAutofocusableElement(),t()}}(this))):this.invalidateView()},n.prototype.mergeHead=function(){return this.copyNewHeadStylesheetElements(),this.copyNewHeadScriptElements(),this.removeCurrentHeadProvisionalElements(),this.copyNewHeadProvisionalElements()},n.prototype.replaceBody=function(){return this.activateBodyScriptElements(),this.importBodyPermanentElements(),this.assignNewBody()},n.prototype.trackedElementsAreIdentical=function(){return this.currentHeadDetails.getTrackedElementSignature()===this.newHeadDetails.getTrackedElementSignature()},n.prototype.copyNewHeadStylesheetElements=function(){var t,e,r,n,o;for(n=this.getNewHeadStylesheetElements(),o=[],e=0,r=n.length;r>e;e++)t=n[e],o.push(document.head.appendChild(t));return o},n.prototype.copyNewHeadScriptElements=function(){var t,e,r,n,o;for(n=this.getNewHeadScriptElements(),o=[],e=0,r=n.length;r>e;e++)t=n[e],o.push(document.head.appendChild(this.createScriptElement(t)));return o},n.prototype.removeCurrentHeadProvisionalElements=function(){var t,e,r,n,o;for(n=this.getCurrentHeadProvisionalElements(),o=[],e=0,r=n.length;r>e;e++)t=n[e],o.push(document.head.removeChild(t));return o},n.prototype.copyNewHeadProvisionalElements=function(){var t,e,r,n,o;for(n=this.getNewHeadProvisionalElements(),o=[],e=0,r=n.length;r>e;e++)t=n[e],o.push(document.head.appendChild(t));return o},n.prototype.importBodyPermanentElements=function(){var t,e,r,n,o,i;for(n=this.getNewBodyPermanentElements(),i=[],e=0,r=n.length;r>e;e++)o=n[e],(t=this.findCurrentBodyPermanentElement(o))?i.push(o.parentNode.replaceChild(t,o)):i.push(void 0);return i},n.prototype.activateBodyScriptElements=function(){var t,e,r,n,o,i;for(n=this.getNewBodyScriptElements(),i=[],e=0,r=n.length;r>e;e++)o=n[e],t=this.createScriptElement(o),i.push(o.parentNode.replaceChild(t,o));return i},n.prototype.assignNewBody=function(){return document.body=this.newBody},n.prototype.focusFirstAutofocusableElement=function(){var t;return null!=(t=this.findFirstAutofocusableElement())?t.focus():void 0},n.prototype.getNewHeadStylesheetElements=function(){return this.newHeadDetails.getStylesheetElementsNotInDetails(this.currentHeadDetails)},n.prototype.getNewHeadScriptElements=function(){return this.newHeadDetails.getScriptElementsNotInDetails(this.currentHeadDetails)},n.prototype.getCurrentHeadProvisionalElements=function(){return this.currentHeadDetails.getProvisionalElements()},n.prototype.getNewHeadProvisionalElements=function(){return this.newHeadDetails.getProvisionalElements()},n.prototype.getNewBodyPermanentElements=function(){return this.newBody.querySelectorAll("[id][data-turbolinks-permanent]")},n.prototype.findCurrentBodyPermanentElement=function(t){return document.body.querySelector("#"+t.id+"[data-turbolinks-permanent]")},n.prototype.getNewBodyScriptElements=function(){return this.newBody.querySelectorAll("script")},n.prototype.findFirstAutofocusableElement=function(){return document.body.querySelector("[autofocus]")},n}(t.Renderer)}.call(this),function(){var e=function(t,e){function n(){this.constructor=t}for(var o in e)r.call(e,o)&&(t[o]=e[o]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t},r={}.hasOwnProperty;t.ErrorRenderer=function(t){function r(t){this.html=t}return e(r,t),r.prototype.render=function(t){return this.renderView(function(e){return function(){return e.replaceDocumentHTML(),e.activateBodyScriptElements(),t()}}(this))},r.prototype.replaceDocumentHTML=function(){return document.documentElement.innerHTML=this.html},r.prototype.activateBodyScriptElements=function(){var t,e,r,n,o,i;for(n=this.getScriptElements(),i=[],e=0,r=n.length;r>e;e++)o=n[e],t=this.createScriptElement(o),i.push(o.parentNode.replaceChild(t,o));return i},r.prototype.getScriptElements=function(){return document.documentElement.querySelectorAll("script")},r}(t.Renderer)}.call(this),function(){t.View=function(){function e(t){this.delegate=t,this.element=document.documentElement}return e.prototype.getRootLocation=function(){return this.getSnapshot().getRootLocation()},e.prototype.getSnapshot=function(){return t.Snapshot.fromElement(this.element)},e.prototype.render=function(t,e){var r,n,o;return o=t.snapshot,r=t.error,n=t.isPreview,this.markAsPreview(n),null!=o?this.renderSnapshot(o,e):this.renderError(r,e)},e.prototype.markAsPreview=function(t){return t?this.element.setAttribute("data-turbolinks-preview",""):this.element.removeAttribute("data-turbolinks-preview")},e.prototype.renderSnapshot=function(e,r){return t.SnapshotRenderer.render(this.delegate,r,this.getSnapshot(),t.Snapshot.wrap(e))},e.prototype.renderError=function(e,r){return t.ErrorRenderer.render(this.delegate,r,e)},e}()}.call(this),function(){var e=function(t,e){return function(){return t.apply(e,arguments)}};t.ScrollManager=function(){function t(t){this.delegate=t,this.onScroll=e(this.onScroll,this)}return t.prototype.start=function(){return this.started?void 0:(addEventListener("scroll",this.onScroll,!1),this.onScroll(),this.started=!0)},t.prototype.stop=function(){return this.started?(removeEventListener("scroll",this.onScroll,!1),this.started=!1):void 0},t.prototype.scrollToElement=function(t){return t.scrollIntoView()},t.prototype.scrollToPosition=function(t){var e,r;return e=t.x,r=t.y,window.scrollTo(e,r)},t.prototype.onScroll=function(t){return this.updatePosition({x:window.pageXOffset,y:window.pageYOffset})},t.prototype.updatePosition=function(t){var e;return this.position=t,null!=(e=this.delegate)?e.scrollPositionChanged(this.position):void 0},t}()}.call(this),function(){t.SnapshotCache=function(){function e(t){this.size=t,this.keys=[],this.snapshots={}}var r;return e.prototype.has=function(t){var e;return e=r(t),e in this.snapshots},e.prototype.get=function(t){var e;if(this.has(t))return e=this.read(t),this.touch(t),e},e.prototype.put=function(t,e){return this.write(t,e),this.touch(t),e},e.prototype.read=function(t){var e;return e=r(t),this.snapshots[e]},e.prototype.write=function(t,e){var n;return n=r(t),this.snapshots[n]=e},e.prototype.touch=function(t){var e,n;return n=r(t),e=this.keys.indexOf(n),e>-1&&this.keys.splice(e,1),this.keys.unshift(n),this.trim()},e.prototype.trim=function(){var t,e,r,n,o;for(n=this.keys.splice(this.size),o=[],t=0,r=n.length;r>t;t++)e=n[t],o.push(delete this.snapshots[e]);return o},r=function(e){return t.Location.wrap(e).toCacheKey()},e}()}.call(this),function(){var e=function(t,e){return function(){return t.apply(e,arguments)}};t.Visit=function(){function r(r,n,o){this.controller=r,this.action=o,this.performScroll=e(this.performScroll,this),this.identifier=t.uuid(),this.location=t.Location.wrap(n),this.adapter=this.controller.adapter,this.state="initialized",this.timingMetrics={}}var n;return r.prototype.start=function(){return"initialized"===this.state?(this.recordTimingMetric("visitStart"),this.state="started",this.adapter.visitStarted(this)):void 0},r.prototype.cancel=function(){var t;return"started"===this.state?(null!=(t=this.request)&&t.cancel(),this.cancelRender(),this.state="canceled"):void 0},r.prototype.complete=function(){var t;return"started"===this.state?(this.recordTimingMetric("visitEnd"),this.state="completed","function"==typeof(t=this.adapter).visitCompleted&&t.visitCompleted(this),this.controller.visitCompleted(this)):void 0},r.prototype.fail=function(){var t;return"started"===this.state?(this.state="failed","function"==typeof(t=this.adapter).visitFailed?t.visitFailed(this):void 0):void 0},r.prototype.changeHistory=function(){var t,e;return this.historyChanged?void 0:(t=this.location.isEqualTo(this.referrer)?"replace":this.action,e=n(t),this.controller[e](this.location,this.restorationIdentifier),this.historyChanged=!0)},r.prototype.issueRequest=function(){return this.shouldIssueRequest()&&null==this.request?(this.progress=0,this.request=new t.HttpRequest(this,this.location,this.referrer),this.request.send()):void 0},r.prototype.getCachedSnapshot=function(){var t;return!(t=this.controller.getCachedSnapshotForLocation(this.location))||null!=this.location.anchor&&!t.hasAnchor(this.location.anchor)||"restore"!==this.action&&!t.isPreviewable()?void 0:t},r.prototype.hasCachedSnapshot=function(){return null!=this.getCachedSnapshot()},r.prototype.loadCachedSnapshot=function(){var t,e;return(e=this.getCachedSnapshot())?(t=this.shouldIssueRequest(),this.render(function(){var r;return this.cacheSnapshot(),this.controller.render({snapshot:e,isPreview:t},this.performScroll),"function"==typeof(r=this.adapter).visitRendered&&r.visitRendered(this),t?void 0:this.complete()})):void 0},r.prototype.loadResponse=function(){return null!=this.response?this.render(function(){var t,e;return this.cacheSnapshot(),this.request.failed?(this.controller.render({error:this.response},this.performScroll),"function"==typeof(t=this.adapter).visitRendered&&t.visitRendered(this),this.fail()):(this.controller.render({snapshot:this.response},this.performScroll),"function"==typeof(e=this.adapter).visitRendered&&e.visitRendered(this),this.complete())}):void 0},r.prototype.followRedirect=function(){return this.redirectedToLocation&&!this.followedRedirect?(this.location=this.redirectedToLocation,this.controller.replaceHistoryWithLocationAndRestorationIdentifier(this.redirectedToLocation,this.restorationIdentifier),this.followedRedirect=!0):void 0},r.prototype.requestStarted=function(){var t;return this.recordTimingMetric("requestStart"),"function"==typeof(t=this.adapter).visitRequestStarted?t.visitRequestStarted(this):void 0},r.prototype.requestProgressed=function(t){var e;return this.progress=t,"function"==typeof(e=this.adapter).visitRequestProgressed?e.visitRequestProgressed(this):void 0},r.prototype.requestCompletedWithResponse=function(e,r){return this.response=e,null!=r&&(this.redirectedToLocation=t.Location.wrap(r)),this.adapter.visitRequestCompleted(this)},r.prototype.requestFailedWithStatusCode=function(t,e){return this.response=e,this.adapter.visitRequestFailedWithStatusCode(this,t)},r.prototype.requestFinished=function(){var t;return this.recordTimingMetric("requestEnd"),"function"==typeof(t=this.adapter).visitRequestFinished?t.visitRequestFinished(this):void 0},r.prototype.performScroll=function(){return this.scrolled?void 0:("restore"===this.action?this.scrollToRestoredPosition()||this.scrollToTop():this.scrollToAnchor()||this.scrollToTop(),this.scrolled=!0)},r.prototype.scrollToRestoredPosition=function(){var t,e;return t=null!=(e=this.restorationData)?e.scrollPosition:void 0,null!=t?(this.controller.scrollToPosition(t),!0):void 0},r.prototype.scrollToAnchor=function(){return null!=this.location.anchor?(this.controller.scrollToAnchor(this.location.anchor),!0):void 0},r.prototype.scrollToTop=function(){return this.controller.scrollToPosition({x:0,y:0})},r.prototype.recordTimingMetric=function(t){var e;return null!=(e=this.timingMetrics)[t]?e[t]:e[t]=(new Date).getTime()},r.prototype.getTimingMetrics=function(){return t.copyObject(this.timingMetrics)},n=function(t){switch(t){case"replace":return"replaceHistoryWithLocationAndRestorationIdentifier";case"advance":case"restore":return"pushHistoryWithLocationAndRestorationIdentifier"}},r.prototype.shouldIssueRequest=function(){return"restore"===this.action?!this.hasCachedSnapshot():!0},r.prototype.cacheSnapshot=function(){return this.snapshotCached?void 0:(this.controller.cacheSnapshot(),this.snapshotCached=!0)},r.prototype.render=function(t){return this.cancelRender(),this.frame=requestAnimationFrame(function(e){return function(){return e.frame=null,t.call(e)}}(this))},r.prototype.cancelRender=function(){return this.frame?cancelAnimationFrame(this.frame):void 0},r}()}.call(this),function(){var e=function(t,e){return function(){return t.apply(e,arguments)}};t.Controller=function(){function r(){this.clickBubbled=e(this.clickBubbled,this),this.clickCaptured=e(this.clickCaptured,this),this.pageLoaded=e(this.pageLoaded,this),this.history=new t.History(this),this.view=new t.View(this),this.scrollManager=new t.ScrollManager(this),this.restorationData={},this.clearCache()}return r.prototype.start=function(){return t.supported&&!this.started?(addEventListener("click",this.clickCaptured,!0),addEventListener("DOMContentLoaded",this.pageLoaded,!1),this.scrollManager.start(),this.startHistory(),this.started=!0,this.enabled=!0):void 0},r.prototype.disable=function(){return this.enabled=!1},r.prototype.stop=function(){return this.started?(removeEventListener("click",this.clickCaptured,!0),removeEventListener("DOMContentLoaded",this.pageLoaded,!1),this.scrollManager.stop(),this.stopHistory(),this.started=!1):void 0},r.prototype.clearCache=function(){return this.cache=new t.SnapshotCache(10)},r.prototype.visit=function(e,r){var n,o;return null==r&&(r={}),e=t.Location.wrap(e),this.applicationAllowsVisitingLocation(e)?this.locationIsVisitable(e)?(n=null!=(o=r.action)?o:"advance",this.adapter.visitProposedToLocationWithAction(e,n)):window.location=e:void 0},r.prototype.startVisitToLocationWithAction=function(e,r,n){var o;return t.supported?(o=this.getRestorationDataForIdentifier(n),this.startVisit(e,r,{restorationData:o})):window.location=e},r.prototype.startHistory=function(){return this.location=t.Location.wrap(window.location),this.restorationIdentifier=t.uuid(),this.history.start(),this.history.replace(this.location,this.restorationIdentifier)},r.prototype.stopHistory=function(){return this.history.stop()},r.prototype.pushHistoryWithLocationAndRestorationIdentifier=function(e,r){return this.restorationIdentifier=r,this.location=t.Location.wrap(e),this.history.push(this.location,this.restorationIdentifier)},r.prototype.replaceHistoryWithLocationAndRestorationIdentifier=function(e,r){return this.restorationIdentifier=r,this.location=t.Location.wrap(e),this.history.replace(this.location,this.restorationIdentifier)},r.prototype.historyPoppedToLocationWithRestorationIdentifier=function(e,r){var n;return this.restorationIdentifier=r,this.enabled?(n=this.getRestorationDataForIdentifier(this.restorationIdentifier),this.startVisit(e,"restore",{restorationIdentifier:this.restorationIdentifier,restorationData:n,historyChanged:!0}),this.location=t.Location.wrap(e)):this.adapter.pageInvalidated()},r.prototype.getCachedSnapshotForLocation=function(t){var e;return e=this.cache.get(t),e?e.clone():void 0},r.prototype.shouldCacheSnapshot=function(){return this.view.getSnapshot().isCacheable()},r.prototype.cacheSnapshot=function(){var t;return this.shouldCacheSnapshot()?(this.notifyApplicationBeforeCachingSnapshot(),t=this.view.getSnapshot(),this.cache.put(this.lastRenderedLocation,t.clone())):void 0},r.prototype.scrollToAnchor=function(t){var e;return(e=document.getElementById(t))?this.scrollToElement(e):this.scrollToPosition({x:0,y:0})},r.prototype.scrollToElement=function(t){return this.scrollManager.scrollToElement(t)},r.prototype.scrollToPosition=function(t){return this.scrollManager.scrollToPosition(t)},r.prototype.scrollPositionChanged=function(t){var e;return e=this.getCurrentRestorationData(),e.scrollPosition=t},r.prototype.render=function(t,e){return this.view.render(t,e)},r.prototype.viewInvalidated=function(){return this.adapter.pageInvalidated()},r.prototype.viewWillRender=function(t){return this.notifyApplicationBeforeRender(t)},r.prototype.viewRendered=function(){return this.lastRenderedLocation=this.currentVisit.location,this.notifyApplicationAfterRender()},r.prototype.pageLoaded=function(){return this.lastRenderedLocation=this.location,this.notifyApplicationAfterPageLoad()},r.prototype.clickCaptured=function(){return removeEventListener("click",this.clickBubbled,!1),addEventListener("click",this.clickBubbled,!1)},r.prototype.clickBubbled=function(t){var e,r,n;return this.enabled&&this.clickEventIsSignificant(t)&&(r=this.getVisitableLinkForNode(t.target))&&(n=this.getVisitableLocationForLink(r))&&this.applicationAllowsFollowingLinkToLocation(r,n)?(t.preventDefault(),e=this.getActionForLink(r),this.visit(n,{action:e})):void 0},r.prototype.applicationAllowsFollowingLinkToLocation=function(t,e){var r;return r=this.notifyApplicationAfterClickingLinkToLocation(t,e),!r.defaultPrevented},r.prototype.applicationAllowsVisitingLocation=function(t){var e;return e=this.notifyApplicationBeforeVisitingLocation(t),!e.defaultPrevented},r.prototype.notifyApplicationAfterClickingLinkToLocation=function(e,r){return t.dispatch("turbolinks:click",{target:e,data:{url:r.absoluteURL},cancelable:!0})},r.prototype.notifyApplicationBeforeVisitingLocation=function(e){return t.dispatch("turbolinks:before-visit",{data:{url:e.absoluteURL},cancelable:!0})},r.prototype.notifyApplicationAfterVisitingLocation=function(e){return t.dispatch("turbolinks:visit",{data:{url:e.absoluteURL}})},r.prototype.notifyApplicationBeforeCachingSnapshot=function(){return t.dispatch("turbolinks:before-cache")},r.prototype.notifyApplicationBeforeRender=function(e){return t.dispatch("turbolinks:before-render",{data:{newBody:e}})},r.prototype.notifyApplicationAfterRender=function(){return t.dispatch("turbolinks:render")},r.prototype.notifyApplicationAfterPageLoad=function(e){return null==e&&(e={}),t.dispatch("turbolinks:load",{data:{url:this.location.absoluteURL,timing:e}})},r.prototype.startVisit=function(t,e,r){var n;return null!=(n=this.currentVisit)&&n.cancel(),this.currentVisit=this.createVisit(t,e,r),this.currentVisit.start(),this.notifyApplicationAfterVisitingLocation(t)},r.prototype.createVisit=function(e,r,n){ 6 | var o,i,s,a,u;return i=null!=n?n:{},a=i.restorationIdentifier,s=i.restorationData,o=i.historyChanged,u=new t.Visit(this,e,r),u.restorationIdentifier=null!=a?a:t.uuid(),u.restorationData=t.copyObject(s),u.historyChanged=o,u.referrer=this.location,u},r.prototype.visitCompleted=function(t){return this.notifyApplicationAfterPageLoad(t.getTimingMetrics())},r.prototype.clickEventIsSignificant=function(t){return!(t.defaultPrevented||t.target.isContentEditable||t.which>1||t.altKey||t.ctrlKey||t.metaKey||t.shiftKey)},r.prototype.getVisitableLinkForNode=function(e){return this.nodeIsVisitable(e)?t.closest(e,"a[href]:not([target])"):void 0},r.prototype.getVisitableLocationForLink=function(e){var r;return r=new t.Location(e.getAttribute("href")),this.locationIsVisitable(r)?r:void 0},r.prototype.getActionForLink=function(t){var e;return null!=(e=t.getAttribute("data-turbolinks-action"))?e:"advance"},r.prototype.nodeIsVisitable=function(e){var r;return(r=t.closest(e,"[data-turbolinks]"))?"false"!==r.getAttribute("data-turbolinks"):!0},r.prototype.locationIsVisitable=function(t){return t.isPrefixedBy(this.view.getRootLocation())&&t.isHTML()},r.prototype.getCurrentRestorationData=function(){return this.getRestorationDataForIdentifier(this.restorationIdentifier)},r.prototype.getRestorationDataForIdentifier=function(t){var e;return null!=(e=this.restorationData)[t]?e[t]:e[t]={}},r}()}.call(this),function(){var e,r,n;t.start=function(){return r()?(null==t.controller&&(t.controller=e()),t.controller.start()):void 0},r=function(){return null==window.Turbolinks&&(window.Turbolinks=t),n()},e=function(){var e;return e=new t.Controller,e.adapter=new t.BrowserAdapter(e),e},n=function(){return window.Turbolinks===t},n()&&t.start()}.call(this)}).call(this),"object"==typeof module&&module.exports?module.exports=t:"function"==typeof define&&define.amd&&define(t)}).call(this); -------------------------------------------------------------------------------- /public/turbo-react.css: -------------------------------------------------------------------------------- 1 | .panel, 2 | .panel-heading { 3 | transition: all 2s; 4 | } 5 | 6 | .nav-pills > li > a, 7 | .nav-pills > li > a:hover, 8 | .nav-pills > li > a:focus { 9 | transition: background-color 0.5s; 10 | } 11 | 12 | .width0 { width: 0%; } 13 | 14 | .width5 { width: 5%; } 15 | 16 | .width10 { width: 10%; } 17 | 18 | .width15 { width: 15%; } 19 | 20 | .width20 { width: 20%; } 21 | 22 | .width25 { width: 25%; } 23 | 24 | .width30 { width: 30%; } 25 | 26 | .width35 { width: 35%; } 27 | 28 | .width40 { width: 40%; } 29 | 30 | .width45 { width: 45%; } 31 | 32 | .width50 { width: 50%; } 33 | 34 | .width55 { width: 55%; } 35 | 36 | .width60 { width: 60%; } 37 | 38 | .width65 { width: 65%; } 39 | 40 | .width70 { width: 70%; } 41 | 42 | .width75 { width: 75%; } 43 | 44 | .width80 { width: 80%; } 45 | 46 | .width85 { width: 85%; } 47 | 48 | .width90 { width: 90%; } 49 | 50 | .width95 { width: 95%; } 51 | 52 | .width100 { width: 100%; } 53 | 54 | /* Franklin the fish adapted from http://codepen.io/jonitrythall/pen/bivaG 55 | */ 56 | 57 | /* Franklin's Container */ 58 | .fish { 59 | width: 150px; 60 | height: 100px; 61 | opacity: 0; 62 | -webkit-transform: translateX(-150px); 63 | transform: translateX(-150px); 64 | transition: opacity 1.5s, -webkit-transform 1.5s; 65 | transition: opacity 1.5s, transform 1.5s; 66 | } 67 | 68 | .fish-in { 69 | opacity: 1; 70 | -webkit-transform: translateX(0); 71 | transform: translateX(0); 72 | } 73 | 74 | /* Franklin */ 75 | .fish-body { 76 | position: relative; 77 | margin-top: 30px; 78 | margin-left: 40px; 79 | background-color: orange; 80 | border-radius: 50%; 81 | width: 150px; 82 | height: 100px; 83 | transition: backgroud-color 0.5s; 84 | } 85 | 86 | .fish-blue .fish-body { 87 | background-color: blue; 88 | } 89 | 90 | .fish-red .fish-body { 91 | background-color: red; 92 | } 93 | 94 | .eye { 95 | position: absolute; 96 | margin-left: 100px; 97 | margin-top: 20px; 98 | z-index: 1; 99 | background-color: white; 100 | border-radius: 50%; 101 | width: 20px; 102 | height: 20px; 103 | } 104 | 105 | .pupil { 106 | position: absolute; 107 | z-index: 2; 108 | margin-left: 5px; 109 | margin-top: 5px; 110 | background-color: black; 111 | border-radius: 50%; 112 | height: 10px; 113 | width: 10px; 114 | } 115 | 116 | .fin { 117 | margin-top: -100px; 118 | background-color: orange; 119 | border-radius: 50%; 120 | -webkit-transform: rotate(40deg); 121 | transform: rotate(40deg); 122 | width: 80px; 123 | height: 50px; 124 | transition: background-color 0.5s; 125 | } 126 | 127 | .fish-blue .fin { 128 | background-color: blue; 129 | } 130 | 131 | .fish-red .fin { 132 | background-color: red; 133 | } 134 | 135 | .fin-bottom { 136 | margin-top: -10px; 137 | -webkit-transform: rotate(-40deg); 138 | transform: rotate(-40deg); 139 | } 140 | -------------------------------------------------------------------------------- /src/turbo-react.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | if (window.Turbolinks === undefined) { 4 | throw "Missing Turbolinks dependency. TurboReact requires Turbolinks be included before it."; 5 | } 6 | 7 | var Babel = require("@babel/standalone"); 8 | var HTMLtoJSX = require("htmltojsx"); 9 | var React = require("react"); 10 | var ReactDOM = require("react-dom"); 11 | 12 | // Disable the Turbolinks page cache to prevent Tlinks from storing versions of 13 | // pages with `react-id` attributes in them. When popping off the history, the 14 | // `react-id` attributes cause React to treat the old page like a pre-rendered 15 | // page and breaks diffing. 16 | Turbolinks.controller.cache.size = 0; 17 | 18 | // `documentElement.replaceChild` must be called in the context of the 19 | // `documentElement`. Keep a bound reference to use later. 20 | var originalReplaceChild = 21 | global.document.documentElement.replaceChild.bind( 22 | global.document.documentElement); 23 | 24 | var converter = new HTMLtoJSX({createClass: false}); 25 | 26 | var TurboReact = { 27 | version: TURBO_REACT_VERSION, 28 | 29 | applyDiff: function(replacementElement, targetElement) { 30 | try { 31 | var bod = TurboReact.reactize(replacementElement); 32 | ReactDOM.render(bod, targetElement); 33 | } catch(e) { 34 | // If any problem occurs when updating content, let Turbolinks replace 35 | // the page normally. That means no transitions, but it also means no 36 | // broken pages. 37 | originalReplaceChild(replacementElement, targetElement); 38 | } 39 | }, 40 | 41 | reactize: function(element) { 42 | var code = Babel.transform( 43 | converter.convert(element.innerHTML), 44 | {presets: ['es2015', 'react']} 45 | ).code; 46 | return eval(code); 47 | } 48 | }; 49 | 50 | Turbolinks.SnapshotRenderer.prototype.assignNewBody = function() { 51 | TurboReact.applyDiff(this.newBody, document.body); 52 | return this.newBody; 53 | }; 54 | 55 | // Turbolinks calls `replaceChild` on the document element when an update should 56 | // occur. Monkeypatch the method so Turbolinks can be used without modification. 57 | global.document.documentElement.replaceChild = TurboReact.applyDiff; 58 | 59 | function applyBodyDiff() { 60 | TurboReact.applyDiff(document.body, document.body); 61 | global.document.removeEventListener("DOMContentLoaded", applyBodyDiff); 62 | } 63 | 64 | global.document.addEventListener("DOMContentLoaded", applyBodyDiff); 65 | 66 | module.exports = TurboReact; 67 | -------------------------------------------------------------------------------- /views/fish.erb: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | TurboReact :: Transition between static HTML pages; no server required 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 |
18 |
19 |

A fishy demonstration

20 |

21 | Because only changes between pages are added when links are clicked, 22 | class name changes on the fish allow the CSS transitions to work. 23 | (Try disabling JavaScript to see what each page looks like.) 24 |

25 | 37 | 38 | <% if request.path_info == "/onefish" %> 39 | 40 | 41 | <% end %> 42 | 43 | <% (1..2).each do |i| %> 44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 | <% end %> 54 | 55 |

The Code

56 |

57 | This whole app is on 58 | GitHub: turbo-react 59 |

60 | 61 |

Feedback

62 |

Tweet at 63 | me: @ssorallen 64 |

65 |
66 |
67 |
68 | 69 | 70 | -------------------------------------------------------------------------------- /views/index.erb: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | TurboReact :: Transition between static HTML pages; no server required 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 |
17 |
18 |

TurboReact

19 |

20 | This is a mix of React, 21 | React's JSX, 22 | and Turbolinks that 23 | applies DOM "diffs" without any server configuration—it 24 | just needs plain old HTML. 25 |

26 |
27 |
28 | The Panel of Diff 29 |
30 |
31 |

32 | The panel's class this time is <%= @panel_class %>. 33 |

34 | 35 | Requested at 36 | 37 |
38 |
39 |
40 |
41 |
42 |

Re-request this page

43 | 44 |

Opting out of Turbolinks & TurboReact

45 |

46 | Add the data-turbolinks="false" attribute to links you 47 | want to 48 | ignore Turbolinks 49 | and TurboReact. The link below has the attribute, and so clicking it 50 | will load the page normally. 51 |

52 |

53 | 54 | Re-reqest page w/out TurboReact 55 | 56 |

57 | 58 |

What it's doing

59 |

"Re-request this page" is just a link to the current page. When you 60 | click it, Turbolinks intercepts the GET request and fetchs the 61 | full page via XHR.

62 |

The panel is rendered with a random panel- class on each 63 | request, and the progress bar gets a random widthX 64 | class.

65 |

With Turbolinks alone, the entire <body> would be 66 | replaced, and transitions would not happen. In this little demo 67 | though, React adds and removes classes and text, and the attribute 68 | changes are animated with CSS transitions. The DOM is otherwise 69 | left in tact.

70 | 71 |

The Code

72 |

73 | TurboReact turns the <body> into a React element 74 | and re-renders it after Turbolinks intercepts link navigations via 75 | XMLHttpRequest: 76 | turbo-react.js 77 |

78 |

79 | This whole app is on 80 | GitHub: turbo-react 81 |

82 | 83 |

Feedback

84 |

Tweet at 85 | me: @ssorallen 86 |

87 |
88 |
89 |
90 | 91 | 92 | -------------------------------------------------------------------------------- /webpack.config.js: -------------------------------------------------------------------------------- 1 | var webpack = require("webpack"); 2 | 3 | module.exports = { 4 | entry: __dirname + "/src/turbo-react.js", 5 | plugins: [ 6 | new webpack.DefinePlugin({ 7 | // Force HTMLtoJSX to use the in-browser `document` object rather than 8 | // require the Node-only "jsdom" package. 9 | IN_BROWSER: true, 10 | 11 | // Expose the version to embed in the final file. 12 | TURBO_REACT_VERSION: JSON.stringify(require("./package.json").version) 13 | }) 14 | ], 15 | output: { 16 | path: __dirname + "/public/dist", 17 | filename: "turbo-react.min.js" 18 | } 19 | }; 20 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@babel/standalone@^7.0.0-beta.34": 6 | version "7.0.0-beta.34" 7 | resolved "https://registry.yarnpkg.com/@babel/standalone/-/standalone-7.0.0-beta.34.tgz#afa8d754c0e624d4e4d10720cbe48f554d614701" 8 | 9 | abbrev@1: 10 | version "1.1.1" 11 | resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" 12 | 13 | acorn@^3.0.0: 14 | version "3.3.0" 15 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a" 16 | 17 | ajv@^4.9.1: 18 | version "4.11.8" 19 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.8.tgz#82ffb02b29e662ae53bdc20af15947706739c536" 20 | dependencies: 21 | co "^4.6.0" 22 | json-stable-stringify "^1.0.1" 23 | 24 | ajv@^5.1.0: 25 | version "5.5.1" 26 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.5.1.tgz#b38bb8876d9e86bee994956a04e721e88b248eb2" 27 | dependencies: 28 | co "^4.6.0" 29 | fast-deep-equal "^1.0.0" 30 | fast-json-stable-stringify "^2.0.0" 31 | json-schema-traverse "^0.3.0" 32 | 33 | align-text@^0.1.1, align-text@^0.1.3: 34 | version "0.1.4" 35 | resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117" 36 | dependencies: 37 | kind-of "^3.0.2" 38 | longest "^1.0.1" 39 | repeat-string "^1.5.2" 40 | 41 | amdefine@>=0.0.4: 42 | version "1.0.1" 43 | resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" 44 | 45 | ansi-gray@^0.1.1: 46 | version "0.1.1" 47 | resolved "https://registry.yarnpkg.com/ansi-gray/-/ansi-gray-0.1.1.tgz#2962cf54ec9792c48510a3deb524436861ef7251" 48 | dependencies: 49 | ansi-wrap "0.1.0" 50 | 51 | ansi-regex@^2.0.0: 52 | version "2.1.1" 53 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" 54 | 55 | ansi-styles@^2.2.1: 56 | version "2.2.1" 57 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" 58 | 59 | ansi-wrap@0.1.0: 60 | version "0.1.0" 61 | resolved "https://registry.yarnpkg.com/ansi-wrap/-/ansi-wrap-0.1.0.tgz#a82250ddb0015e9a27ca82e82ea603bbfa45efaf" 62 | 63 | anymatch@^1.3.0: 64 | version "1.3.2" 65 | resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.2.tgz#553dcb8f91e3c889845dfdba34c77721b90b9d7a" 66 | dependencies: 67 | micromatch "^2.1.5" 68 | normalize-path "^2.0.0" 69 | 70 | aproba@^1.0.3: 71 | version "1.2.0" 72 | resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" 73 | 74 | archy@^1.0.0: 75 | version "1.0.0" 76 | resolved "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40" 77 | 78 | are-we-there-yet@~1.1.2: 79 | version "1.1.4" 80 | resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz#bb5dca382bb94f05e15194373d16fd3ba1ca110d" 81 | dependencies: 82 | delegates "^1.0.0" 83 | readable-stream "^2.0.6" 84 | 85 | arr-diff@^2.0.0: 86 | version "2.0.0" 87 | resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" 88 | dependencies: 89 | arr-flatten "^1.0.1" 90 | 91 | arr-flatten@^1.0.1: 92 | version "1.1.0" 93 | resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" 94 | 95 | array-differ@^1.0.0: 96 | version "1.0.0" 97 | resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-1.0.0.tgz#eff52e3758249d33be402b8bb8e564bb2b5d4031" 98 | 99 | array-each@^1.0.1: 100 | version "1.0.1" 101 | resolved "https://registry.yarnpkg.com/array-each/-/array-each-1.0.1.tgz#a794af0c05ab1752846ee753a1f211a05ba0c44f" 102 | 103 | array-slice@^1.0.0: 104 | version "1.1.0" 105 | resolved "https://registry.yarnpkg.com/array-slice/-/array-slice-1.1.0.tgz#e368ea15f89bc7069f7ffb89aec3a6c7d4ac22d4" 106 | 107 | array-uniq@^1.0.2: 108 | version "1.0.3" 109 | resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" 110 | 111 | array-unique@^0.2.1: 112 | version "0.2.1" 113 | resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" 114 | 115 | asap@~2.0.3: 116 | version "2.0.6" 117 | resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" 118 | 119 | asn1@~0.2.3: 120 | version "0.2.3" 121 | resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86" 122 | 123 | assert-plus@1.0.0, assert-plus@^1.0.0: 124 | version "1.0.0" 125 | resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" 126 | 127 | assert-plus@^0.2.0: 128 | version "0.2.0" 129 | resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234" 130 | 131 | assert@^1.1.1: 132 | version "1.4.1" 133 | resolved "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91" 134 | dependencies: 135 | util "0.10.3" 136 | 137 | async-each@^1.0.0: 138 | version "1.0.1" 139 | resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" 140 | 141 | async@^0.9.0: 142 | version "0.9.2" 143 | resolved "https://registry.yarnpkg.com/async/-/async-0.9.2.tgz#aea74d5e61c1f899613bf64bda66d4c78f2fd17d" 144 | 145 | async@^1.3.0: 146 | version "1.5.2" 147 | resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" 148 | 149 | async@~0.2.6: 150 | version "0.2.10" 151 | resolved "https://registry.yarnpkg.com/async/-/async-0.2.10.tgz#b6bbe0b0674b9d719708ca38de8c237cb526c3d1" 152 | 153 | asynckit@^0.4.0: 154 | version "0.4.0" 155 | resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" 156 | 157 | aws-sign2@~0.6.0: 158 | version "0.6.0" 159 | resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f" 160 | 161 | aws-sign2@~0.7.0: 162 | version "0.7.0" 163 | resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" 164 | 165 | aws4@^1.2.1, aws4@^1.6.0: 166 | version "1.6.0" 167 | resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e" 168 | 169 | balanced-match@^1.0.0: 170 | version "1.0.0" 171 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" 172 | 173 | base64-js@^1.0.2: 174 | version "1.2.1" 175 | resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.2.1.tgz#a91947da1f4a516ea38e5b4ec0ec3773675e0886" 176 | 177 | bcrypt-pbkdf@^1.0.0: 178 | version "1.0.1" 179 | resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz#63bc5dcb61331b92bc05fd528953c33462a06f8d" 180 | dependencies: 181 | tweetnacl "^0.14.3" 182 | 183 | beeper@^1.0.0: 184 | version "1.1.1" 185 | resolved "https://registry.yarnpkg.com/beeper/-/beeper-1.1.1.tgz#e6d5ea8c5dad001304a70b22638447f69cb2f809" 186 | 187 | big.js@^3.1.3: 188 | version "3.2.0" 189 | resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.2.0.tgz#a5fc298b81b9e0dca2e458824784b65c52ba588e" 190 | 191 | binary-extensions@^1.0.0: 192 | version "1.11.0" 193 | resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.11.0.tgz#46aa1751fb6a2f93ee5e689bb1087d4b14c6c205" 194 | 195 | block-stream@*: 196 | version "0.0.9" 197 | resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" 198 | dependencies: 199 | inherits "~2.0.0" 200 | 201 | boom@2.x.x: 202 | version "2.10.1" 203 | resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f" 204 | dependencies: 205 | hoek "2.x.x" 206 | 207 | boom@4.x.x: 208 | version "4.3.1" 209 | resolved "https://registry.yarnpkg.com/boom/-/boom-4.3.1.tgz#4f8a3005cb4a7e3889f749030fd25b96e01d2e31" 210 | dependencies: 211 | hoek "4.x.x" 212 | 213 | boom@5.x.x: 214 | version "5.2.0" 215 | resolved "https://registry.yarnpkg.com/boom/-/boom-5.2.0.tgz#5dd9da6ee3a5f302077436290cb717d3f4a54e02" 216 | dependencies: 217 | hoek "4.x.x" 218 | 219 | brace-expansion@^1.0.0, brace-expansion@^1.1.7: 220 | version "1.1.8" 221 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.8.tgz#c07b211c7c952ec1f8efd51a77ef0d1d3990a292" 222 | dependencies: 223 | balanced-match "^1.0.0" 224 | concat-map "0.0.1" 225 | 226 | braces@^1.8.2: 227 | version "1.8.5" 228 | resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7" 229 | dependencies: 230 | expand-range "^1.8.1" 231 | preserve "^0.2.0" 232 | repeat-element "^1.1.2" 233 | 234 | "browser-request@>= 0.3.1 < 0.4.0": 235 | version "0.3.3" 236 | resolved "https://registry.yarnpkg.com/browser-request/-/browser-request-0.3.3.tgz#9ece5b5aca89a29932242e18bf933def9876cc17" 237 | 238 | browserify-aes@0.4.0: 239 | version "0.4.0" 240 | resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-0.4.0.tgz#067149b668df31c4b58533e02d01e806d8608e2c" 241 | dependencies: 242 | inherits "^2.0.1" 243 | 244 | browserify-zlib@^0.1.4: 245 | version "0.1.4" 246 | resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.1.4.tgz#bb35f8a519f600e0fa6b8485241c979d0141fb2d" 247 | dependencies: 248 | pako "~0.2.0" 249 | 250 | buffer@^4.9.0: 251 | version "4.9.1" 252 | resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298" 253 | dependencies: 254 | base64-js "^1.0.2" 255 | ieee754 "^1.1.4" 256 | isarray "^1.0.0" 257 | 258 | builtin-modules@^1.0.0: 259 | version "1.1.1" 260 | resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" 261 | 262 | builtin-status-codes@^3.0.0: 263 | version "3.0.0" 264 | resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" 265 | 266 | camelcase@^1.0.2: 267 | version "1.2.1" 268 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39" 269 | 270 | camelcase@^2.0.1: 271 | version "2.1.1" 272 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" 273 | 274 | camelcase@^3.0.0: 275 | version "3.0.0" 276 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" 277 | 278 | caseless@~0.12.0: 279 | version "0.12.0" 280 | resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" 281 | 282 | center-align@^0.1.1: 283 | version "0.1.3" 284 | resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad" 285 | dependencies: 286 | align-text "^0.1.3" 287 | lazy-cache "^1.0.3" 288 | 289 | chalk@^1.0.0: 290 | version "1.1.3" 291 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" 292 | dependencies: 293 | ansi-styles "^2.2.1" 294 | escape-string-regexp "^1.0.2" 295 | has-ansi "^2.0.0" 296 | strip-ansi "^3.0.0" 297 | supports-color "^2.0.0" 298 | 299 | chokidar@^1.0.0: 300 | version "1.7.0" 301 | resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468" 302 | dependencies: 303 | anymatch "^1.3.0" 304 | async-each "^1.0.0" 305 | glob-parent "^2.0.0" 306 | inherits "^2.0.1" 307 | is-binary-path "^1.0.0" 308 | is-glob "^2.0.0" 309 | path-is-absolute "^1.0.0" 310 | readdirp "^2.0.0" 311 | optionalDependencies: 312 | fsevents "^1.0.0" 313 | 314 | cliui@^2.1.0: 315 | version "2.1.0" 316 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1" 317 | dependencies: 318 | center-align "^0.1.1" 319 | right-align "^0.1.1" 320 | wordwrap "0.0.2" 321 | 322 | cliui@^3.2.0: 323 | version "3.2.0" 324 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" 325 | dependencies: 326 | string-width "^1.0.1" 327 | strip-ansi "^3.0.1" 328 | wrap-ansi "^2.0.0" 329 | 330 | clone-stats@^0.0.1: 331 | version "0.0.1" 332 | resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-0.0.1.tgz#b88f94a82cf38b8791d58046ea4029ad88ca99d1" 333 | 334 | clone@^0.2.0: 335 | version "0.2.0" 336 | resolved "https://registry.yarnpkg.com/clone/-/clone-0.2.0.tgz#c6126a90ad4f72dbf5acdb243cc37724fe93fc1f" 337 | 338 | clone@^1.0.0, clone@^1.0.2: 339 | version "1.0.3" 340 | resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.3.tgz#298d7e2231660f40c003c2ed3140decf3f53085f" 341 | 342 | co@^4.6.0: 343 | version "4.6.0" 344 | resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" 345 | 346 | code-point-at@^1.0.0: 347 | version "1.1.0" 348 | resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" 349 | 350 | combined-stream@^1.0.5, combined-stream@~1.0.5: 351 | version "1.0.5" 352 | resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009" 353 | dependencies: 354 | delayed-stream "~1.0.0" 355 | 356 | concat-map@0.0.1: 357 | version "0.0.1" 358 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 359 | 360 | console-browserify@^1.1.0: 361 | version "1.1.0" 362 | resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.1.0.tgz#f0241c45730a9fc6323b206dbf38edc741d0bb10" 363 | dependencies: 364 | date-now "^0.1.4" 365 | 366 | console-control-strings@^1.0.0, console-control-strings@~1.1.0: 367 | version "1.1.0" 368 | resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" 369 | 370 | constants-browserify@^1.0.0: 371 | version "1.0.0" 372 | resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" 373 | 374 | core-js@^1.0.0: 375 | version "1.2.7" 376 | resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636" 377 | 378 | core-util-is@1.0.2, core-util-is@~1.0.0: 379 | version "1.0.2" 380 | resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" 381 | 382 | cryptiles@2.x.x: 383 | version "2.0.5" 384 | resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8" 385 | dependencies: 386 | boom "2.x.x" 387 | 388 | cryptiles@3.x.x: 389 | version "3.1.2" 390 | resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-3.1.2.tgz#a89fbb220f5ce25ec56e8c4aa8a4fd7b5b0d29fe" 391 | dependencies: 392 | boom "5.x.x" 393 | 394 | crypto-browserify@3.3.0: 395 | version "3.3.0" 396 | resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.3.0.tgz#b9fc75bb4a0ed61dcf1cd5dae96eb30c9c3e506c" 397 | dependencies: 398 | browserify-aes "0.4.0" 399 | pbkdf2-compat "2.0.1" 400 | ripemd160 "0.2.0" 401 | sha.js "2.2.6" 402 | 403 | cssom@0.3.x, "cssom@>= 0.3.0 < 0.4.0": 404 | version "0.3.2" 405 | resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.2.tgz#b8036170c79f07a90ff2f16e22284027a243848b" 406 | 407 | "cssstyle@>= 0.2.21 < 0.3.0": 408 | version "0.2.37" 409 | resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-0.2.37.tgz#541097234cb2513c83ceed3acddc27ff27987d54" 410 | dependencies: 411 | cssom "0.3.x" 412 | 413 | dashdash@^1.12.0: 414 | version "1.14.1" 415 | resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" 416 | dependencies: 417 | assert-plus "^1.0.0" 418 | 419 | date-now@^0.1.4: 420 | version "0.1.4" 421 | resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b" 422 | 423 | dateformat@^2.0.0: 424 | version "2.2.0" 425 | resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-2.2.0.tgz#4065e2013cf9fb916ddfd82efb506ad4c6769062" 426 | 427 | debug@^2.2.0: 428 | version "2.6.9" 429 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" 430 | dependencies: 431 | ms "2.0.0" 432 | 433 | decamelize@^1.0.0, decamelize@^1.1.1: 434 | version "1.2.0" 435 | resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" 436 | 437 | deep-extend@~0.4.0: 438 | version "0.4.2" 439 | resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.2.tgz#48b699c27e334bf89f10892be432f6e4c7d34a7f" 440 | 441 | defaults@^1.0.0: 442 | version "1.0.3" 443 | resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d" 444 | dependencies: 445 | clone "^1.0.2" 446 | 447 | delayed-stream@~1.0.0: 448 | version "1.0.0" 449 | resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" 450 | 451 | delegates@^1.0.0: 452 | version "1.0.0" 453 | resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" 454 | 455 | deprecated@^0.0.1: 456 | version "0.0.1" 457 | resolved "https://registry.yarnpkg.com/deprecated/-/deprecated-0.0.1.tgz#f9c9af5464afa1e7a971458a8bdef2aa94d5bb19" 458 | 459 | detect-file@^0.1.0: 460 | version "0.1.0" 461 | resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-0.1.0.tgz#4935dedfd9488648e006b0129566e9386711ea63" 462 | dependencies: 463 | fs-exists-sync "^0.1.0" 464 | 465 | detect-libc@^1.0.2: 466 | version "1.0.3" 467 | resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" 468 | 469 | dom-serializer@0: 470 | version "0.1.0" 471 | resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.0.tgz#073c697546ce0780ce23be4a28e293e40bc30c82" 472 | dependencies: 473 | domelementtype "~1.1.1" 474 | entities "~1.1.1" 475 | 476 | domain-browser@^1.1.1: 477 | version "1.1.7" 478 | resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.1.7.tgz#867aa4b093faa05f1de08c06f4d7b21fdf8698bc" 479 | 480 | domelementtype@1, domelementtype@^1.3.0: 481 | version "1.3.0" 482 | resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.0.tgz#b17aed82e8ab59e52dd9c19b1756e0fc187204c2" 483 | 484 | domelementtype@~1.1.1: 485 | version "1.1.3" 486 | resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.1.3.tgz#bd28773e2642881aec51544924299c5cd822185b" 487 | 488 | domhandler@^2.3.0: 489 | version "2.4.1" 490 | resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.1.tgz#892e47000a99be55bbf3774ffea0561d8879c259" 491 | dependencies: 492 | domelementtype "1" 493 | 494 | domutils@^1.5.1: 495 | version "1.6.2" 496 | resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.6.2.tgz#1958cc0b4c9426e9ed367fb1c8e854891b0fa3ff" 497 | dependencies: 498 | dom-serializer "0" 499 | domelementtype "1" 500 | 501 | duplexer2@0.0.2: 502 | version "0.0.2" 503 | resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.0.2.tgz#c614dcf67e2fb14995a91711e5a617e8a60a31db" 504 | dependencies: 505 | readable-stream "~1.1.9" 506 | 507 | ecc-jsbn@~0.1.1: 508 | version "0.1.1" 509 | resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505" 510 | dependencies: 511 | jsbn "~0.1.0" 512 | 513 | emojis-list@^2.0.0: 514 | version "2.1.0" 515 | resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" 516 | 517 | encoding@^0.1.11: 518 | version "0.1.12" 519 | resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.12.tgz#538b66f3ee62cd1ab51ec323829d1f9480c74beb" 520 | dependencies: 521 | iconv-lite "~0.4.13" 522 | 523 | end-of-stream@~0.1.5: 524 | version "0.1.5" 525 | resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-0.1.5.tgz#8e177206c3c80837d85632e8b9359dfe8b2f6eaf" 526 | dependencies: 527 | once "~1.3.0" 528 | 529 | enhanced-resolve@~0.9.0: 530 | version "0.9.1" 531 | resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-0.9.1.tgz#4d6e689b3725f86090927ccc86cd9f1635b89e2e" 532 | dependencies: 533 | graceful-fs "^4.1.2" 534 | memory-fs "^0.2.0" 535 | tapable "^0.1.8" 536 | 537 | entities@^1.1.1, entities@~1.1.1: 538 | version "1.1.1" 539 | resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.1.tgz#6e5c2d0a5621b5dadaecef80b90edfb5cd7772f0" 540 | 541 | errno@^0.1.3: 542 | version "0.1.6" 543 | resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.6.tgz#c386ce8a6283f14fc09563b71560908c9bf53026" 544 | dependencies: 545 | prr "~1.0.1" 546 | 547 | error-ex@^1.2.0: 548 | version "1.3.1" 549 | resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.1.tgz#f855a86ce61adc4e8621c3cda21e7a7612c3a8dc" 550 | dependencies: 551 | is-arrayish "^0.2.1" 552 | 553 | escape-string-regexp@^1.0.2: 554 | version "1.0.5" 555 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 556 | 557 | events@^1.0.0: 558 | version "1.1.1" 559 | resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" 560 | 561 | expand-brackets@^0.1.4: 562 | version "0.1.5" 563 | resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" 564 | dependencies: 565 | is-posix-bracket "^0.1.0" 566 | 567 | expand-range@^1.8.1: 568 | version "1.8.2" 569 | resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337" 570 | dependencies: 571 | fill-range "^2.1.0" 572 | 573 | expand-tilde@^1.2.2: 574 | version "1.2.2" 575 | resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-1.2.2.tgz#0b81eba897e5a3d31d1c3d102f8f01441e559449" 576 | dependencies: 577 | os-homedir "^1.0.1" 578 | 579 | expand-tilde@^2.0.2: 580 | version "2.0.2" 581 | resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-2.0.2.tgz#97e801aa052df02454de46b02bf621642cdc8502" 582 | dependencies: 583 | homedir-polyfill "^1.0.1" 584 | 585 | extend@^3.0.0, extend@~3.0.0, extend@~3.0.1: 586 | version "3.0.1" 587 | resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444" 588 | 589 | extglob@^0.3.1: 590 | version "0.3.2" 591 | resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1" 592 | dependencies: 593 | is-extglob "^1.0.0" 594 | 595 | extsprintf@1.3.0: 596 | version "1.3.0" 597 | resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" 598 | 599 | extsprintf@^1.2.0: 600 | version "1.4.0" 601 | resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" 602 | 603 | fancy-log@^1.1.0: 604 | version "1.3.1" 605 | resolved "https://registry.yarnpkg.com/fancy-log/-/fancy-log-1.3.1.tgz#c4a3462ba14adf5dfbab79731fd3844a2069cbbb" 606 | dependencies: 607 | ansi-gray "^0.1.1" 608 | time-stamp "^1.0.0" 609 | 610 | fast-deep-equal@^1.0.0: 611 | version "1.0.0" 612 | resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz#96256a3bc975595eb36d82e9929d060d893439ff" 613 | 614 | fast-json-stable-stringify@^2.0.0: 615 | version "2.0.0" 616 | resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" 617 | 618 | fbjs@^0.8.1, fbjs@^0.8.4: 619 | version "0.8.16" 620 | resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.16.tgz#5e67432f550dc41b572bf55847b8aca64e5337db" 621 | dependencies: 622 | core-js "^1.0.0" 623 | isomorphic-fetch "^2.1.1" 624 | loose-envify "^1.0.0" 625 | object-assign "^4.1.0" 626 | promise "^7.1.1" 627 | setimmediate "^1.0.5" 628 | ua-parser-js "^0.7.9" 629 | 630 | filename-regex@^2.0.0: 631 | version "2.0.1" 632 | resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26" 633 | 634 | fill-range@^2.1.0: 635 | version "2.2.3" 636 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.3.tgz#50b77dfd7e469bc7492470963699fe7a8485a723" 637 | dependencies: 638 | is-number "^2.1.0" 639 | isobject "^2.0.0" 640 | randomatic "^1.1.3" 641 | repeat-element "^1.1.2" 642 | repeat-string "^1.5.2" 643 | 644 | find-index@^0.1.1: 645 | version "0.1.1" 646 | resolved "https://registry.yarnpkg.com/find-index/-/find-index-0.1.1.tgz#675d358b2ca3892d795a1ab47232f8b6e2e0dde4" 647 | 648 | find-up@^1.0.0: 649 | version "1.1.2" 650 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" 651 | dependencies: 652 | path-exists "^2.0.0" 653 | pinkie-promise "^2.0.0" 654 | 655 | findup-sync@^0.4.2: 656 | version "0.4.3" 657 | resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-0.4.3.tgz#40043929e7bc60adf0b7f4827c4c6e75a0deca12" 658 | dependencies: 659 | detect-file "^0.1.0" 660 | is-glob "^2.0.1" 661 | micromatch "^2.3.7" 662 | resolve-dir "^0.1.0" 663 | 664 | fined@^1.0.1: 665 | version "1.1.0" 666 | resolved "https://registry.yarnpkg.com/fined/-/fined-1.1.0.tgz#b37dc844b76a2f5e7081e884f7c0ae344f153476" 667 | dependencies: 668 | expand-tilde "^2.0.2" 669 | is-plain-object "^2.0.3" 670 | object.defaults "^1.1.0" 671 | object.pick "^1.2.0" 672 | parse-filepath "^1.0.1" 673 | 674 | first-chunk-stream@^1.0.0: 675 | version "1.0.0" 676 | resolved "https://registry.yarnpkg.com/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz#59bfb50cd905f60d7c394cd3d9acaab4e6ad934e" 677 | 678 | flagged-respawn@^0.3.2: 679 | version "0.3.2" 680 | resolved "https://registry.yarnpkg.com/flagged-respawn/-/flagged-respawn-0.3.2.tgz#ff191eddcd7088a675b2610fffc976be9b8074b5" 681 | 682 | for-in@^1.0.1: 683 | version "1.0.2" 684 | resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" 685 | 686 | for-own@^0.1.4: 687 | version "0.1.5" 688 | resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce" 689 | dependencies: 690 | for-in "^1.0.1" 691 | 692 | for-own@^1.0.0: 693 | version "1.0.0" 694 | resolved "https://registry.yarnpkg.com/for-own/-/for-own-1.0.0.tgz#c63332f415cedc4b04dbfe70cf836494c53cb44b" 695 | dependencies: 696 | for-in "^1.0.1" 697 | 698 | forever-agent@~0.6.1: 699 | version "0.6.1" 700 | resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" 701 | 702 | form-data@~2.1.1: 703 | version "2.1.4" 704 | resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.4.tgz#33c183acf193276ecaa98143a69e94bfee1750d1" 705 | dependencies: 706 | asynckit "^0.4.0" 707 | combined-stream "^1.0.5" 708 | mime-types "^2.1.12" 709 | 710 | form-data@~2.3.1: 711 | version "2.3.1" 712 | resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.1.tgz#6fb94fbd71885306d73d15cc497fe4cc4ecd44bf" 713 | dependencies: 714 | asynckit "^0.4.0" 715 | combined-stream "^1.0.5" 716 | mime-types "^2.1.12" 717 | 718 | fs-exists-sync@^0.1.0: 719 | version "0.1.0" 720 | resolved "https://registry.yarnpkg.com/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz#982d6893af918e72d08dec9e8673ff2b5a8d6add" 721 | 722 | fs.realpath@^1.0.0: 723 | version "1.0.0" 724 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 725 | 726 | fsevents@^1.0.0: 727 | version "1.1.3" 728 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.1.3.tgz#11f82318f5fe7bb2cd22965a108e9306208216d8" 729 | dependencies: 730 | nan "^2.3.0" 731 | node-pre-gyp "^0.6.39" 732 | 733 | fstream-ignore@^1.0.5: 734 | version "1.0.5" 735 | resolved "https://registry.yarnpkg.com/fstream-ignore/-/fstream-ignore-1.0.5.tgz#9c31dae34767018fe1d249b24dada67d092da105" 736 | dependencies: 737 | fstream "^1.0.0" 738 | inherits "2" 739 | minimatch "^3.0.0" 740 | 741 | fstream@^1.0.0, fstream@^1.0.10, fstream@^1.0.2: 742 | version "1.0.11" 743 | resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.11.tgz#5c1fb1f117477114f0632a0eb4b71b3cb0fd3171" 744 | dependencies: 745 | graceful-fs "^4.1.2" 746 | inherits "~2.0.0" 747 | mkdirp ">=0.5 0" 748 | rimraf "2" 749 | 750 | gauge@~2.7.3: 751 | version "2.7.4" 752 | resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" 753 | dependencies: 754 | aproba "^1.0.3" 755 | console-control-strings "^1.0.0" 756 | has-unicode "^2.0.0" 757 | object-assign "^4.1.0" 758 | signal-exit "^3.0.0" 759 | string-width "^1.0.1" 760 | strip-ansi "^3.0.1" 761 | wide-align "^1.1.0" 762 | 763 | gaze@^0.5.1: 764 | version "0.5.2" 765 | resolved "https://registry.yarnpkg.com/gaze/-/gaze-0.5.2.tgz#40b709537d24d1d45767db5a908689dfe69ac44f" 766 | dependencies: 767 | globule "~0.1.0" 768 | 769 | getpass@^0.1.1: 770 | version "0.1.7" 771 | resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" 772 | dependencies: 773 | assert-plus "^1.0.0" 774 | 775 | glob-base@^0.3.0: 776 | version "0.3.0" 777 | resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" 778 | dependencies: 779 | glob-parent "^2.0.0" 780 | is-glob "^2.0.0" 781 | 782 | glob-parent@^2.0.0: 783 | version "2.0.0" 784 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28" 785 | dependencies: 786 | is-glob "^2.0.0" 787 | 788 | glob-stream@^3.1.5: 789 | version "3.1.18" 790 | resolved "https://registry.yarnpkg.com/glob-stream/-/glob-stream-3.1.18.tgz#9170a5f12b790306fdfe598f313f8f7954fd143b" 791 | dependencies: 792 | glob "^4.3.1" 793 | glob2base "^0.0.12" 794 | minimatch "^2.0.1" 795 | ordered-read-streams "^0.1.0" 796 | through2 "^0.6.1" 797 | unique-stream "^1.0.0" 798 | 799 | glob-watcher@^0.0.6: 800 | version "0.0.6" 801 | resolved "https://registry.yarnpkg.com/glob-watcher/-/glob-watcher-0.0.6.tgz#b95b4a8df74b39c83298b0c05c978b4d9a3b710b" 802 | dependencies: 803 | gaze "^0.5.1" 804 | 805 | glob2base@^0.0.12: 806 | version "0.0.12" 807 | resolved "https://registry.yarnpkg.com/glob2base/-/glob2base-0.0.12.tgz#9d419b3e28f12e83a362164a277055922c9c0d56" 808 | dependencies: 809 | find-index "^0.1.1" 810 | 811 | glob@^4.3.1: 812 | version "4.5.3" 813 | resolved "https://registry.yarnpkg.com/glob/-/glob-4.5.3.tgz#c6cb73d3226c1efef04de3c56d012f03377ee15f" 814 | dependencies: 815 | inflight "^1.0.4" 816 | inherits "2" 817 | minimatch "^2.0.1" 818 | once "^1.3.0" 819 | 820 | glob@^7.0.5: 821 | version "7.1.2" 822 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" 823 | dependencies: 824 | fs.realpath "^1.0.0" 825 | inflight "^1.0.4" 826 | inherits "2" 827 | minimatch "^3.0.4" 828 | once "^1.3.0" 829 | path-is-absolute "^1.0.0" 830 | 831 | glob@~3.1.21: 832 | version "3.1.21" 833 | resolved "https://registry.yarnpkg.com/glob/-/glob-3.1.21.tgz#d29e0a055dea5138f4d07ed40e8982e83c2066cd" 834 | dependencies: 835 | graceful-fs "~1.2.0" 836 | inherits "1" 837 | minimatch "~0.2.11" 838 | 839 | global-modules@^0.2.3: 840 | version "0.2.3" 841 | resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-0.2.3.tgz#ea5a3bed42c6d6ce995a4f8a1269b5dae223828d" 842 | dependencies: 843 | global-prefix "^0.1.4" 844 | is-windows "^0.2.0" 845 | 846 | global-prefix@^0.1.4: 847 | version "0.1.5" 848 | resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-0.1.5.tgz#8d3bc6b8da3ca8112a160d8d496ff0462bfef78f" 849 | dependencies: 850 | homedir-polyfill "^1.0.0" 851 | ini "^1.3.4" 852 | is-windows "^0.2.0" 853 | which "^1.2.12" 854 | 855 | globule@~0.1.0: 856 | version "0.1.0" 857 | resolved "https://registry.yarnpkg.com/globule/-/globule-0.1.0.tgz#d9c8edde1da79d125a151b79533b978676346ae5" 858 | dependencies: 859 | glob "~3.1.21" 860 | lodash "~1.0.1" 861 | minimatch "~0.2.11" 862 | 863 | glogg@^1.0.0: 864 | version "1.0.0" 865 | resolved "https://registry.yarnpkg.com/glogg/-/glogg-1.0.0.tgz#7fe0f199f57ac906cf512feead8f90ee4a284fc5" 866 | dependencies: 867 | sparkles "^1.0.0" 868 | 869 | graceful-fs@^3.0.0: 870 | version "3.0.11" 871 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-3.0.11.tgz#7613c778a1afea62f25c630a086d7f3acbbdd818" 872 | dependencies: 873 | natives "^1.1.0" 874 | 875 | graceful-fs@^4.1.2: 876 | version "4.1.11" 877 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" 878 | 879 | graceful-fs@~1.2.0: 880 | version "1.2.3" 881 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-1.2.3.tgz#15a4806a57547cb2d2dbf27f42e89a8c3451b364" 882 | 883 | gulp-util@^3.0.0, gulp-util@^3.0.4: 884 | version "3.0.8" 885 | resolved "https://registry.yarnpkg.com/gulp-util/-/gulp-util-3.0.8.tgz#0054e1e744502e27c04c187c3ecc505dd54bbb4f" 886 | dependencies: 887 | array-differ "^1.0.0" 888 | array-uniq "^1.0.2" 889 | beeper "^1.0.0" 890 | chalk "^1.0.0" 891 | dateformat "^2.0.0" 892 | fancy-log "^1.1.0" 893 | gulplog "^1.0.0" 894 | has-gulplog "^0.1.0" 895 | lodash._reescape "^3.0.0" 896 | lodash._reevaluate "^3.0.0" 897 | lodash._reinterpolate "^3.0.0" 898 | lodash.template "^3.0.0" 899 | minimist "^1.1.0" 900 | multipipe "^0.1.2" 901 | object-assign "^3.0.0" 902 | replace-ext "0.0.1" 903 | through2 "^2.0.0" 904 | vinyl "^0.5.0" 905 | 906 | gulp@^3.8.11: 907 | version "3.9.1" 908 | resolved "https://registry.yarnpkg.com/gulp/-/gulp-3.9.1.tgz#571ce45928dd40af6514fc4011866016c13845b4" 909 | dependencies: 910 | archy "^1.0.0" 911 | chalk "^1.0.0" 912 | deprecated "^0.0.1" 913 | gulp-util "^3.0.0" 914 | interpret "^1.0.0" 915 | liftoff "^2.1.0" 916 | minimist "^1.1.0" 917 | orchestrator "^0.3.0" 918 | pretty-hrtime "^1.0.0" 919 | semver "^4.1.0" 920 | tildify "^1.0.0" 921 | v8flags "^2.0.2" 922 | vinyl-fs "^0.3.0" 923 | 924 | gulplog@^1.0.0: 925 | version "1.0.0" 926 | resolved "https://registry.yarnpkg.com/gulplog/-/gulplog-1.0.0.tgz#e28c4d45d05ecbbed818363ce8f9c5926229ffe5" 927 | dependencies: 928 | glogg "^1.0.0" 929 | 930 | har-schema@^1.0.5: 931 | version "1.0.5" 932 | resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-1.0.5.tgz#d263135f43307c02c602afc8fe95970c0151369e" 933 | 934 | har-schema@^2.0.0: 935 | version "2.0.0" 936 | resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" 937 | 938 | har-validator@~4.2.1: 939 | version "4.2.1" 940 | resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-4.2.1.tgz#33481d0f1bbff600dd203d75812a6a5fba002e2a" 941 | dependencies: 942 | ajv "^4.9.1" 943 | har-schema "^1.0.5" 944 | 945 | har-validator@~5.0.3: 946 | version "5.0.3" 947 | resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.0.3.tgz#ba402c266194f15956ef15e0fcf242993f6a7dfd" 948 | dependencies: 949 | ajv "^5.1.0" 950 | har-schema "^2.0.0" 951 | 952 | has-ansi@^2.0.0: 953 | version "2.0.0" 954 | resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" 955 | dependencies: 956 | ansi-regex "^2.0.0" 957 | 958 | has-flag@^1.0.0: 959 | version "1.0.0" 960 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" 961 | 962 | has-gulplog@^0.1.0: 963 | version "0.1.0" 964 | resolved "https://registry.yarnpkg.com/has-gulplog/-/has-gulplog-0.1.0.tgz#6414c82913697da51590397dafb12f22967811ce" 965 | dependencies: 966 | sparkles "^1.0.0" 967 | 968 | has-unicode@^2.0.0: 969 | version "2.0.1" 970 | resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" 971 | 972 | hawk@3.1.3, hawk@~3.1.3: 973 | version "3.1.3" 974 | resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4" 975 | dependencies: 976 | boom "2.x.x" 977 | cryptiles "2.x.x" 978 | hoek "2.x.x" 979 | sntp "1.x.x" 980 | 981 | hawk@~6.0.2: 982 | version "6.0.2" 983 | resolved "https://registry.yarnpkg.com/hawk/-/hawk-6.0.2.tgz#af4d914eb065f9b5ce4d9d11c1cb2126eecc3038" 984 | dependencies: 985 | boom "4.x.x" 986 | cryptiles "3.x.x" 987 | hoek "4.x.x" 988 | sntp "2.x.x" 989 | 990 | hoek@2.x.x: 991 | version "2.16.3" 992 | resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed" 993 | 994 | hoek@4.x.x: 995 | version "4.2.0" 996 | resolved "https://registry.yarnpkg.com/hoek/-/hoek-4.2.0.tgz#72d9d0754f7fe25ca2d01ad8f8f9a9449a89526d" 997 | 998 | homedir-polyfill@^1.0.0, homedir-polyfill@^1.0.1: 999 | version "1.0.1" 1000 | resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz#4c2bbc8a758998feebf5ed68580f76d46768b4bc" 1001 | dependencies: 1002 | parse-passwd "^1.0.0" 1003 | 1004 | hosted-git-info@^2.1.4: 1005 | version "2.5.0" 1006 | resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.5.0.tgz#6d60e34b3abbc8313062c3b798ef8d901a07af3c" 1007 | 1008 | "htmlparser2@>= 3.7.3 < 4.0.0": 1009 | version "3.9.2" 1010 | resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.9.2.tgz#1bdf87acca0f3f9e53fa4fcceb0f4b4cbb00b338" 1011 | dependencies: 1012 | domelementtype "^1.3.0" 1013 | domhandler "^2.3.0" 1014 | domutils "^1.5.1" 1015 | entities "^1.1.1" 1016 | inherits "^2.0.1" 1017 | readable-stream "^2.0.2" 1018 | 1019 | htmltojsx@^0.3.0: 1020 | version "0.3.0" 1021 | resolved "https://registry.yarnpkg.com/htmltojsx/-/htmltojsx-0.3.0.tgz#6487c4504d660051e49f73a127b455d763df8266" 1022 | dependencies: 1023 | jsdom-no-contextify "~3.1.0" 1024 | react "~15.4.1" 1025 | react-dom "~15.4.1" 1026 | yargs "~4.6.0" 1027 | 1028 | http-signature@~1.1.0: 1029 | version "1.1.1" 1030 | resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf" 1031 | dependencies: 1032 | assert-plus "^0.2.0" 1033 | jsprim "^1.2.2" 1034 | sshpk "^1.7.0" 1035 | 1036 | http-signature@~1.2.0: 1037 | version "1.2.0" 1038 | resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" 1039 | dependencies: 1040 | assert-plus "^1.0.0" 1041 | jsprim "^1.2.2" 1042 | sshpk "^1.7.0" 1043 | 1044 | https-browserify@0.0.1: 1045 | version "0.0.1" 1046 | resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-0.0.1.tgz#3f91365cabe60b77ed0ebba24b454e3e09d95a82" 1047 | 1048 | iconv-lite@~0.4.13: 1049 | version "0.4.19" 1050 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b" 1051 | 1052 | ieee754@^1.1.4: 1053 | version "1.1.8" 1054 | resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.8.tgz#be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4" 1055 | 1056 | indexof@0.0.1: 1057 | version "0.0.1" 1058 | resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d" 1059 | 1060 | inflight@^1.0.4: 1061 | version "1.0.6" 1062 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 1063 | dependencies: 1064 | once "^1.3.0" 1065 | wrappy "1" 1066 | 1067 | inherits@1: 1068 | version "1.0.2" 1069 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-1.0.2.tgz#ca4309dadee6b54cc0b8d247e8d7c7a0975bdc9b" 1070 | 1071 | inherits@2, inherits@^2.0.1, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3: 1072 | version "2.0.3" 1073 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" 1074 | 1075 | inherits@2.0.1: 1076 | version "2.0.1" 1077 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" 1078 | 1079 | ini@^1.3.4, ini@~1.3.0: 1080 | version "1.3.5" 1081 | resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" 1082 | 1083 | interpret@^0.6.4: 1084 | version "0.6.6" 1085 | resolved "https://registry.yarnpkg.com/interpret/-/interpret-0.6.6.tgz#fecd7a18e7ce5ca6abfb953e1f86213a49f1625b" 1086 | 1087 | interpret@^1.0.0: 1088 | version "1.1.0" 1089 | resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.1.0.tgz#7ed1b1410c6a0e0f78cf95d3b8440c63f78b8614" 1090 | 1091 | invert-kv@^1.0.0: 1092 | version "1.0.0" 1093 | resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" 1094 | 1095 | is-absolute@^0.2.3: 1096 | version "0.2.6" 1097 | resolved "https://registry.yarnpkg.com/is-absolute/-/is-absolute-0.2.6.tgz#20de69f3db942ef2d87b9c2da36f172235b1b5eb" 1098 | dependencies: 1099 | is-relative "^0.2.1" 1100 | is-windows "^0.2.0" 1101 | 1102 | is-arrayish@^0.2.1: 1103 | version "0.2.1" 1104 | resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" 1105 | 1106 | is-binary-path@^1.0.0: 1107 | version "1.0.1" 1108 | resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" 1109 | dependencies: 1110 | binary-extensions "^1.0.0" 1111 | 1112 | is-buffer@^1.1.5: 1113 | version "1.1.6" 1114 | resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" 1115 | 1116 | is-builtin-module@^1.0.0: 1117 | version "1.0.0" 1118 | resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe" 1119 | dependencies: 1120 | builtin-modules "^1.0.0" 1121 | 1122 | is-dotfile@^1.0.0: 1123 | version "1.0.3" 1124 | resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1" 1125 | 1126 | is-equal-shallow@^0.1.3: 1127 | version "0.1.3" 1128 | resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534" 1129 | dependencies: 1130 | is-primitive "^2.0.0" 1131 | 1132 | is-extendable@^0.1.1: 1133 | version "0.1.1" 1134 | resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" 1135 | 1136 | is-extglob@^1.0.0: 1137 | version "1.0.0" 1138 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" 1139 | 1140 | is-fullwidth-code-point@^1.0.0: 1141 | version "1.0.0" 1142 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" 1143 | dependencies: 1144 | number-is-nan "^1.0.0" 1145 | 1146 | is-glob@^2.0.0, is-glob@^2.0.1: 1147 | version "2.0.1" 1148 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" 1149 | dependencies: 1150 | is-extglob "^1.0.0" 1151 | 1152 | is-number@^2.1.0: 1153 | version "2.1.0" 1154 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" 1155 | dependencies: 1156 | kind-of "^3.0.2" 1157 | 1158 | is-number@^3.0.0: 1159 | version "3.0.0" 1160 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" 1161 | dependencies: 1162 | kind-of "^3.0.2" 1163 | 1164 | is-plain-object@^2.0.3: 1165 | version "2.0.4" 1166 | resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" 1167 | dependencies: 1168 | isobject "^3.0.1" 1169 | 1170 | is-posix-bracket@^0.1.0: 1171 | version "0.1.1" 1172 | resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" 1173 | 1174 | is-primitive@^2.0.0: 1175 | version "2.0.0" 1176 | resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" 1177 | 1178 | is-relative@^0.2.1: 1179 | version "0.2.1" 1180 | resolved "https://registry.yarnpkg.com/is-relative/-/is-relative-0.2.1.tgz#d27f4c7d516d175fb610db84bbeef23c3bc97aa5" 1181 | dependencies: 1182 | is-unc-path "^0.1.1" 1183 | 1184 | is-stream@^1.0.1: 1185 | version "1.1.0" 1186 | resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" 1187 | 1188 | is-typedarray@~1.0.0: 1189 | version "1.0.0" 1190 | resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" 1191 | 1192 | is-unc-path@^0.1.1: 1193 | version "0.1.2" 1194 | resolved "https://registry.yarnpkg.com/is-unc-path/-/is-unc-path-0.1.2.tgz#6ab053a72573c10250ff416a3814c35178af39b9" 1195 | dependencies: 1196 | unc-path-regex "^0.1.0" 1197 | 1198 | is-utf8@^0.2.0: 1199 | version "0.2.1" 1200 | resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" 1201 | 1202 | is-windows@^0.2.0: 1203 | version "0.2.0" 1204 | resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-0.2.0.tgz#de1aa6d63ea29dd248737b69f1ff8b8002d2108c" 1205 | 1206 | isarray@0.0.1: 1207 | version "0.0.1" 1208 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" 1209 | 1210 | isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: 1211 | version "1.0.0" 1212 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" 1213 | 1214 | isexe@^2.0.0: 1215 | version "2.0.0" 1216 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" 1217 | 1218 | isobject@^2.0.0: 1219 | version "2.1.0" 1220 | resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" 1221 | dependencies: 1222 | isarray "1.0.0" 1223 | 1224 | isobject@^3.0.0, isobject@^3.0.1: 1225 | version "3.0.1" 1226 | resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" 1227 | 1228 | isomorphic-fetch@^2.1.1: 1229 | version "2.2.1" 1230 | resolved "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz#611ae1acf14f5e81f729507472819fe9733558a9" 1231 | dependencies: 1232 | node-fetch "^1.0.1" 1233 | whatwg-fetch ">=0.10.0" 1234 | 1235 | isstream@~0.1.2: 1236 | version "0.1.2" 1237 | resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" 1238 | 1239 | js-tokens@^3.0.0: 1240 | version "3.0.2" 1241 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" 1242 | 1243 | jsbn@~0.1.0: 1244 | version "0.1.1" 1245 | resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" 1246 | 1247 | jsdom-no-contextify@~3.1.0: 1248 | version "3.1.0" 1249 | resolved "https://registry.yarnpkg.com/jsdom-no-contextify/-/jsdom-no-contextify-3.1.0.tgz#0d8beaf610c2ff23894f54dfa7f89dd22fd0f7ab" 1250 | dependencies: 1251 | browser-request ">= 0.3.1 < 0.4.0" 1252 | cssom ">= 0.3.0 < 0.4.0" 1253 | cssstyle ">= 0.2.21 < 0.3.0" 1254 | htmlparser2 ">= 3.7.3 < 4.0.0" 1255 | nwmatcher ">= 1.3.4 < 2.0.0" 1256 | parse5 ">= 1.3.1 < 2.0.0" 1257 | request ">= 2.44.0 < 3.0.0" 1258 | xml-name-validator "^1.0.0" 1259 | xmlhttprequest ">= 1.6.0 < 2.0.0" 1260 | 1261 | json-schema-traverse@^0.3.0: 1262 | version "0.3.1" 1263 | resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340" 1264 | 1265 | json-schema@0.2.3: 1266 | version "0.2.3" 1267 | resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" 1268 | 1269 | json-stable-stringify@^1.0.1: 1270 | version "1.0.1" 1271 | resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" 1272 | dependencies: 1273 | jsonify "~0.0.0" 1274 | 1275 | json-stringify-safe@~5.0.1: 1276 | version "5.0.1" 1277 | resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" 1278 | 1279 | json5@^0.5.0: 1280 | version "0.5.1" 1281 | resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" 1282 | 1283 | jsonify@~0.0.0: 1284 | version "0.0.0" 1285 | resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" 1286 | 1287 | jsprim@^1.2.2: 1288 | version "1.4.1" 1289 | resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" 1290 | dependencies: 1291 | assert-plus "1.0.0" 1292 | extsprintf "1.3.0" 1293 | json-schema "0.2.3" 1294 | verror "1.10.0" 1295 | 1296 | kind-of@^3.0.2: 1297 | version "3.2.2" 1298 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" 1299 | dependencies: 1300 | is-buffer "^1.1.5" 1301 | 1302 | kind-of@^4.0.0: 1303 | version "4.0.0" 1304 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" 1305 | dependencies: 1306 | is-buffer "^1.1.5" 1307 | 1308 | lazy-cache@^1.0.3: 1309 | version "1.0.4" 1310 | resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" 1311 | 1312 | lcid@^1.0.0: 1313 | version "1.0.0" 1314 | resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" 1315 | dependencies: 1316 | invert-kv "^1.0.0" 1317 | 1318 | liftoff@^2.1.0: 1319 | version "2.3.0" 1320 | resolved "https://registry.yarnpkg.com/liftoff/-/liftoff-2.3.0.tgz#a98f2ff67183d8ba7cfaca10548bd7ff0550b385" 1321 | dependencies: 1322 | extend "^3.0.0" 1323 | findup-sync "^0.4.2" 1324 | fined "^1.0.1" 1325 | flagged-respawn "^0.3.2" 1326 | lodash.isplainobject "^4.0.4" 1327 | lodash.isstring "^4.0.1" 1328 | lodash.mapvalues "^4.4.0" 1329 | rechoir "^0.6.2" 1330 | resolve "^1.1.7" 1331 | 1332 | load-json-file@^1.0.0, load-json-file@^1.1.0: 1333 | version "1.1.0" 1334 | resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" 1335 | dependencies: 1336 | graceful-fs "^4.1.2" 1337 | parse-json "^2.2.0" 1338 | pify "^2.0.0" 1339 | pinkie-promise "^2.0.0" 1340 | strip-bom "^2.0.0" 1341 | 1342 | loader-utils@^0.2.11: 1343 | version "0.2.17" 1344 | resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-0.2.17.tgz#f86e6374d43205a6e6c60e9196f17c0299bfb348" 1345 | dependencies: 1346 | big.js "^3.1.3" 1347 | emojis-list "^2.0.0" 1348 | json5 "^0.5.0" 1349 | object-assign "^4.0.1" 1350 | 1351 | lodash._basecopy@^3.0.0: 1352 | version "3.0.1" 1353 | resolved "https://registry.yarnpkg.com/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz#8da0e6a876cf344c0ad8a54882111dd3c5c7ca36" 1354 | 1355 | lodash._basetostring@^3.0.0: 1356 | version "3.0.1" 1357 | resolved "https://registry.yarnpkg.com/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz#d1861d877f824a52f669832dcaf3ee15566a07d5" 1358 | 1359 | lodash._basevalues@^3.0.0: 1360 | version "3.0.0" 1361 | resolved "https://registry.yarnpkg.com/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz#5b775762802bde3d3297503e26300820fdf661b7" 1362 | 1363 | lodash._getnative@^3.0.0: 1364 | version "3.9.1" 1365 | resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5" 1366 | 1367 | lodash._isiterateecall@^3.0.0: 1368 | version "3.0.9" 1369 | resolved "https://registry.yarnpkg.com/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz#5203ad7ba425fae842460e696db9cf3e6aac057c" 1370 | 1371 | lodash._reescape@^3.0.0: 1372 | version "3.0.0" 1373 | resolved "https://registry.yarnpkg.com/lodash._reescape/-/lodash._reescape-3.0.0.tgz#2b1d6f5dfe07c8a355753e5f27fac7f1cde1616a" 1374 | 1375 | lodash._reevaluate@^3.0.0: 1376 | version "3.0.0" 1377 | resolved "https://registry.yarnpkg.com/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz#58bc74c40664953ae0b124d806996daca431e2ed" 1378 | 1379 | lodash._reinterpolate@^3.0.0: 1380 | version "3.0.0" 1381 | resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" 1382 | 1383 | lodash._root@^3.0.0: 1384 | version "3.0.1" 1385 | resolved "https://registry.yarnpkg.com/lodash._root/-/lodash._root-3.0.1.tgz#fba1c4524c19ee9a5f8136b4609f017cf4ded692" 1386 | 1387 | lodash.assign@^4.0.3, lodash.assign@^4.0.6: 1388 | version "4.2.0" 1389 | resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-4.2.0.tgz#0d99f3ccd7a6d261d19bdaeb9245005d285808e7" 1390 | 1391 | lodash.escape@^3.0.0: 1392 | version "3.2.0" 1393 | resolved "https://registry.yarnpkg.com/lodash.escape/-/lodash.escape-3.2.0.tgz#995ee0dc18c1b48cc92effae71a10aab5b487698" 1394 | dependencies: 1395 | lodash._root "^3.0.0" 1396 | 1397 | lodash.isarguments@^3.0.0: 1398 | version "3.1.0" 1399 | resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a" 1400 | 1401 | lodash.isarray@^3.0.0: 1402 | version "3.0.4" 1403 | resolved "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55" 1404 | 1405 | lodash.isplainobject@^4.0.4: 1406 | version "4.0.6" 1407 | resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" 1408 | 1409 | lodash.isstring@^4.0.1: 1410 | version "4.0.1" 1411 | resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" 1412 | 1413 | lodash.keys@^3.0.0: 1414 | version "3.1.2" 1415 | resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-3.1.2.tgz#4dbc0472b156be50a0b286855d1bd0b0c656098a" 1416 | dependencies: 1417 | lodash._getnative "^3.0.0" 1418 | lodash.isarguments "^3.0.0" 1419 | lodash.isarray "^3.0.0" 1420 | 1421 | lodash.mapvalues@^4.4.0: 1422 | version "4.6.0" 1423 | resolved "https://registry.yarnpkg.com/lodash.mapvalues/-/lodash.mapvalues-4.6.0.tgz#1bafa5005de9dd6f4f26668c30ca37230cc9689c" 1424 | 1425 | lodash.restparam@^3.0.0: 1426 | version "3.6.1" 1427 | resolved "https://registry.yarnpkg.com/lodash.restparam/-/lodash.restparam-3.6.1.tgz#936a4e309ef330a7645ed4145986c85ae5b20805" 1428 | 1429 | lodash.template@^3.0.0: 1430 | version "3.6.2" 1431 | resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-3.6.2.tgz#f8cdecc6169a255be9098ae8b0c53d378931d14f" 1432 | dependencies: 1433 | lodash._basecopy "^3.0.0" 1434 | lodash._basetostring "^3.0.0" 1435 | lodash._basevalues "^3.0.0" 1436 | lodash._isiterateecall "^3.0.0" 1437 | lodash._reinterpolate "^3.0.0" 1438 | lodash.escape "^3.0.0" 1439 | lodash.keys "^3.0.0" 1440 | lodash.restparam "^3.0.0" 1441 | lodash.templatesettings "^3.0.0" 1442 | 1443 | lodash.templatesettings@^3.0.0: 1444 | version "3.1.1" 1445 | resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz#fb307844753b66b9f1afa54e262c745307dba8e5" 1446 | dependencies: 1447 | lodash._reinterpolate "^3.0.0" 1448 | lodash.escape "^3.0.0" 1449 | 1450 | lodash@~1.0.1: 1451 | version "1.0.2" 1452 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-1.0.2.tgz#8f57560c83b59fc270bd3d561b690043430e2551" 1453 | 1454 | longest@^1.0.1: 1455 | version "1.0.1" 1456 | resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" 1457 | 1458 | loose-envify@^1.0.0, loose-envify@^1.1.0: 1459 | version "1.3.1" 1460 | resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848" 1461 | dependencies: 1462 | js-tokens "^3.0.0" 1463 | 1464 | lru-cache@2: 1465 | version "2.7.3" 1466 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-2.7.3.tgz#6d4524e8b955f95d4f5b58851ce21dd72fb4e952" 1467 | 1468 | map-cache@^0.2.0: 1469 | version "0.2.2" 1470 | resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" 1471 | 1472 | memory-fs@^0.2.0: 1473 | version "0.2.0" 1474 | resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.2.0.tgz#f2bb25368bc121e391c2520de92969caee0a0290" 1475 | 1476 | memory-fs@~0.3.0: 1477 | version "0.3.0" 1478 | resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.3.0.tgz#7bcc6b629e3a43e871d7e29aca6ae8a7f15cbb20" 1479 | dependencies: 1480 | errno "^0.1.3" 1481 | readable-stream "^2.0.1" 1482 | 1483 | micromatch@^2.1.5, micromatch@^2.3.7: 1484 | version "2.3.11" 1485 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" 1486 | dependencies: 1487 | arr-diff "^2.0.0" 1488 | array-unique "^0.2.1" 1489 | braces "^1.8.2" 1490 | expand-brackets "^0.1.4" 1491 | extglob "^0.3.1" 1492 | filename-regex "^2.0.0" 1493 | is-extglob "^1.0.0" 1494 | is-glob "^2.0.1" 1495 | kind-of "^3.0.2" 1496 | normalize-path "^2.0.1" 1497 | object.omit "^2.0.0" 1498 | parse-glob "^3.0.4" 1499 | regex-cache "^0.4.2" 1500 | 1501 | mime-db@~1.30.0: 1502 | version "1.30.0" 1503 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.30.0.tgz#74c643da2dd9d6a45399963465b26d5ca7d71f01" 1504 | 1505 | mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.7: 1506 | version "2.1.17" 1507 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.17.tgz#09d7a393f03e995a79f8af857b70a9e0ab16557a" 1508 | dependencies: 1509 | mime-db "~1.30.0" 1510 | 1511 | minimatch@^2.0.1: 1512 | version "2.0.10" 1513 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-2.0.10.tgz#8d087c39c6b38c001b97fca7ce6d0e1e80afbac7" 1514 | dependencies: 1515 | brace-expansion "^1.0.0" 1516 | 1517 | minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.4: 1518 | version "3.0.4" 1519 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" 1520 | dependencies: 1521 | brace-expansion "^1.1.7" 1522 | 1523 | minimatch@~0.2.11: 1524 | version "0.2.14" 1525 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-0.2.14.tgz#c74e780574f63c6f9a090e90efbe6ef53a6a756a" 1526 | dependencies: 1527 | lru-cache "2" 1528 | sigmund "~1.0.0" 1529 | 1530 | minimist@0.0.8: 1531 | version "0.0.8" 1532 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" 1533 | 1534 | minimist@^1.1.0, minimist@^1.2.0: 1535 | version "1.2.0" 1536 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" 1537 | 1538 | minimist@~0.0.1: 1539 | version "0.0.10" 1540 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" 1541 | 1542 | "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0: 1543 | version "0.5.1" 1544 | resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" 1545 | dependencies: 1546 | minimist "0.0.8" 1547 | 1548 | ms@2.0.0: 1549 | version "2.0.0" 1550 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" 1551 | 1552 | multipipe@^0.1.2: 1553 | version "0.1.2" 1554 | resolved "https://registry.yarnpkg.com/multipipe/-/multipipe-0.1.2.tgz#2a8f2ddf70eed564dff2d57f1e1a137d9f05078b" 1555 | dependencies: 1556 | duplexer2 "0.0.2" 1557 | 1558 | nan@^2.3.0: 1559 | version "2.8.0" 1560 | resolved "https://registry.yarnpkg.com/nan/-/nan-2.8.0.tgz#ed715f3fe9de02b57a5e6252d90a96675e1f085a" 1561 | 1562 | natives@^1.1.0: 1563 | version "1.1.1" 1564 | resolved "https://registry.yarnpkg.com/natives/-/natives-1.1.1.tgz#011acce1f7cbd87f7ba6b3093d6cd9392be1c574" 1565 | 1566 | node-fetch@^1.0.1: 1567 | version "1.7.3" 1568 | resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef" 1569 | dependencies: 1570 | encoding "^0.1.11" 1571 | is-stream "^1.0.1" 1572 | 1573 | node-libs-browser@^0.7.0: 1574 | version "0.7.0" 1575 | resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-0.7.0.tgz#3e272c0819e308935e26674408d7af0e1491b83b" 1576 | dependencies: 1577 | assert "^1.1.1" 1578 | browserify-zlib "^0.1.4" 1579 | buffer "^4.9.0" 1580 | console-browserify "^1.1.0" 1581 | constants-browserify "^1.0.0" 1582 | crypto-browserify "3.3.0" 1583 | domain-browser "^1.1.1" 1584 | events "^1.0.0" 1585 | https-browserify "0.0.1" 1586 | os-browserify "^0.2.0" 1587 | path-browserify "0.0.0" 1588 | process "^0.11.0" 1589 | punycode "^1.2.4" 1590 | querystring-es3 "^0.2.0" 1591 | readable-stream "^2.0.5" 1592 | stream-browserify "^2.0.1" 1593 | stream-http "^2.3.1" 1594 | string_decoder "^0.10.25" 1595 | timers-browserify "^2.0.2" 1596 | tty-browserify "0.0.0" 1597 | url "^0.11.0" 1598 | util "^0.10.3" 1599 | vm-browserify "0.0.4" 1600 | 1601 | node-pre-gyp@^0.6.39: 1602 | version "0.6.39" 1603 | resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.39.tgz#c00e96860b23c0e1420ac7befc5044e1d78d8649" 1604 | dependencies: 1605 | detect-libc "^1.0.2" 1606 | hawk "3.1.3" 1607 | mkdirp "^0.5.1" 1608 | nopt "^4.0.1" 1609 | npmlog "^4.0.2" 1610 | rc "^1.1.7" 1611 | request "2.81.0" 1612 | rimraf "^2.6.1" 1613 | semver "^5.3.0" 1614 | tar "^2.2.1" 1615 | tar-pack "^3.4.0" 1616 | 1617 | nopt@^4.0.1: 1618 | version "4.0.1" 1619 | resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" 1620 | dependencies: 1621 | abbrev "1" 1622 | osenv "^0.1.4" 1623 | 1624 | normalize-package-data@^2.3.2: 1625 | version "2.4.0" 1626 | resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.4.0.tgz#12f95a307d58352075a04907b84ac8be98ac012f" 1627 | dependencies: 1628 | hosted-git-info "^2.1.4" 1629 | is-builtin-module "^1.0.0" 1630 | semver "2 || 3 || 4 || 5" 1631 | validate-npm-package-license "^3.0.1" 1632 | 1633 | normalize-path@^2.0.0, normalize-path@^2.0.1: 1634 | version "2.1.1" 1635 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" 1636 | dependencies: 1637 | remove-trailing-separator "^1.0.1" 1638 | 1639 | npmlog@^4.0.2: 1640 | version "4.1.2" 1641 | resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" 1642 | dependencies: 1643 | are-we-there-yet "~1.1.2" 1644 | console-control-strings "~1.1.0" 1645 | gauge "~2.7.3" 1646 | set-blocking "~2.0.0" 1647 | 1648 | number-is-nan@^1.0.0: 1649 | version "1.0.1" 1650 | resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" 1651 | 1652 | "nwmatcher@>= 1.3.4 < 2.0.0": 1653 | version "1.4.3" 1654 | resolved "https://registry.yarnpkg.com/nwmatcher/-/nwmatcher-1.4.3.tgz#64348e3b3d80f035b40ac11563d278f8b72db89c" 1655 | 1656 | oauth-sign@~0.8.1, oauth-sign@~0.8.2: 1657 | version "0.8.2" 1658 | resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" 1659 | 1660 | object-assign@^3.0.0: 1661 | version "3.0.0" 1662 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-3.0.0.tgz#9bedd5ca0897949bca47e7ff408062d549f587f2" 1663 | 1664 | object-assign@^4.0.1, object-assign@^4.1.0: 1665 | version "4.1.1" 1666 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" 1667 | 1668 | object.defaults@^1.1.0: 1669 | version "1.1.0" 1670 | resolved "https://registry.yarnpkg.com/object.defaults/-/object.defaults-1.1.0.tgz#3a7f868334b407dea06da16d88d5cd29e435fecf" 1671 | dependencies: 1672 | array-each "^1.0.1" 1673 | array-slice "^1.0.0" 1674 | for-own "^1.0.0" 1675 | isobject "^3.0.0" 1676 | 1677 | object.omit@^2.0.0: 1678 | version "2.0.1" 1679 | resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" 1680 | dependencies: 1681 | for-own "^0.1.4" 1682 | is-extendable "^0.1.1" 1683 | 1684 | object.pick@^1.2.0: 1685 | version "1.3.0" 1686 | resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" 1687 | dependencies: 1688 | isobject "^3.0.1" 1689 | 1690 | once@^1.3.0, once@^1.3.3: 1691 | version "1.4.0" 1692 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 1693 | dependencies: 1694 | wrappy "1" 1695 | 1696 | once@~1.3.0: 1697 | version "1.3.3" 1698 | resolved "https://registry.yarnpkg.com/once/-/once-1.3.3.tgz#b2e261557ce4c314ec8304f3fa82663e4297ca20" 1699 | dependencies: 1700 | wrappy "1" 1701 | 1702 | optimist@~0.6.0: 1703 | version "0.6.1" 1704 | resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" 1705 | dependencies: 1706 | minimist "~0.0.1" 1707 | wordwrap "~0.0.2" 1708 | 1709 | orchestrator@^0.3.0: 1710 | version "0.3.8" 1711 | resolved "https://registry.yarnpkg.com/orchestrator/-/orchestrator-0.3.8.tgz#14e7e9e2764f7315fbac184e506c7aa6df94ad7e" 1712 | dependencies: 1713 | end-of-stream "~0.1.5" 1714 | sequencify "~0.0.7" 1715 | stream-consume "~0.1.0" 1716 | 1717 | ordered-read-streams@^0.1.0: 1718 | version "0.1.0" 1719 | resolved "https://registry.yarnpkg.com/ordered-read-streams/-/ordered-read-streams-0.1.0.tgz#fd565a9af8eb4473ba69b6ed8a34352cb552f126" 1720 | 1721 | os-browserify@^0.2.0: 1722 | version "0.2.1" 1723 | resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.2.1.tgz#63fc4ccee5d2d7763d26bbf8601078e6c2e0044f" 1724 | 1725 | os-homedir@^1.0.0, os-homedir@^1.0.1: 1726 | version "1.0.2" 1727 | resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" 1728 | 1729 | os-locale@^1.4.0: 1730 | version "1.4.0" 1731 | resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9" 1732 | dependencies: 1733 | lcid "^1.0.0" 1734 | 1735 | os-tmpdir@^1.0.0: 1736 | version "1.0.2" 1737 | resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" 1738 | 1739 | osenv@^0.1.4: 1740 | version "0.1.4" 1741 | resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.4.tgz#42fe6d5953df06c8064be6f176c3d05aaaa34644" 1742 | dependencies: 1743 | os-homedir "^1.0.0" 1744 | os-tmpdir "^1.0.0" 1745 | 1746 | pako@~0.2.0: 1747 | version "0.2.9" 1748 | resolved "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75" 1749 | 1750 | parse-filepath@^1.0.1: 1751 | version "1.0.1" 1752 | resolved "https://registry.yarnpkg.com/parse-filepath/-/parse-filepath-1.0.1.tgz#159d6155d43904d16c10ef698911da1e91969b73" 1753 | dependencies: 1754 | is-absolute "^0.2.3" 1755 | map-cache "^0.2.0" 1756 | path-root "^0.1.1" 1757 | 1758 | parse-glob@^3.0.4: 1759 | version "3.0.4" 1760 | resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" 1761 | dependencies: 1762 | glob-base "^0.3.0" 1763 | is-dotfile "^1.0.0" 1764 | is-extglob "^1.0.0" 1765 | is-glob "^2.0.0" 1766 | 1767 | parse-json@^2.2.0: 1768 | version "2.2.0" 1769 | resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" 1770 | dependencies: 1771 | error-ex "^1.2.0" 1772 | 1773 | parse-passwd@^1.0.0: 1774 | version "1.0.0" 1775 | resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" 1776 | 1777 | "parse5@>= 1.3.1 < 2.0.0": 1778 | version "1.5.1" 1779 | resolved "https://registry.yarnpkg.com/parse5/-/parse5-1.5.1.tgz#9b7f3b0de32be78dc2401b17573ccaf0f6f59d94" 1780 | 1781 | path-browserify@0.0.0: 1782 | version "0.0.0" 1783 | resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.0.tgz#a0b870729aae214005b7d5032ec2cbbb0fb4451a" 1784 | 1785 | path-exists@^2.0.0: 1786 | version "2.1.0" 1787 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" 1788 | dependencies: 1789 | pinkie-promise "^2.0.0" 1790 | 1791 | path-is-absolute@^1.0.0: 1792 | version "1.0.1" 1793 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 1794 | 1795 | path-parse@^1.0.5: 1796 | version "1.0.5" 1797 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1" 1798 | 1799 | path-root-regex@^0.1.0: 1800 | version "0.1.2" 1801 | resolved "https://registry.yarnpkg.com/path-root-regex/-/path-root-regex-0.1.2.tgz#bfccdc8df5b12dc52c8b43ec38d18d72c04ba96d" 1802 | 1803 | path-root@^0.1.1: 1804 | version "0.1.1" 1805 | resolved "https://registry.yarnpkg.com/path-root/-/path-root-0.1.1.tgz#9a4a6814cac1c0cd73360a95f32083c8ea4745b7" 1806 | dependencies: 1807 | path-root-regex "^0.1.0" 1808 | 1809 | path-type@^1.0.0: 1810 | version "1.1.0" 1811 | resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" 1812 | dependencies: 1813 | graceful-fs "^4.1.2" 1814 | pify "^2.0.0" 1815 | pinkie-promise "^2.0.0" 1816 | 1817 | pbkdf2-compat@2.0.1: 1818 | version "2.0.1" 1819 | resolved "https://registry.yarnpkg.com/pbkdf2-compat/-/pbkdf2-compat-2.0.1.tgz#b6e0c8fa99494d94e0511575802a59a5c142f288" 1820 | 1821 | performance-now@^0.2.0: 1822 | version "0.2.0" 1823 | resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-0.2.0.tgz#33ef30c5c77d4ea21c5a53869d91b56d8f2555e5" 1824 | 1825 | performance-now@^2.1.0: 1826 | version "2.1.0" 1827 | resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" 1828 | 1829 | pify@^2.0.0: 1830 | version "2.3.0" 1831 | resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" 1832 | 1833 | pinkie-promise@^2.0.0: 1834 | version "2.0.1" 1835 | resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" 1836 | dependencies: 1837 | pinkie "^2.0.0" 1838 | 1839 | pinkie@^2.0.0: 1840 | version "2.0.4" 1841 | resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" 1842 | 1843 | pkg-conf@^1.1.2: 1844 | version "1.1.3" 1845 | resolved "https://registry.yarnpkg.com/pkg-conf/-/pkg-conf-1.1.3.tgz#378e56d6fd13e88bfb6f4a25df7a83faabddba5b" 1846 | dependencies: 1847 | find-up "^1.0.0" 1848 | load-json-file "^1.1.0" 1849 | object-assign "^4.0.1" 1850 | symbol "^0.2.1" 1851 | 1852 | preserve@^0.2.0: 1853 | version "0.2.0" 1854 | resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" 1855 | 1856 | pretty-hrtime@^1.0.0: 1857 | version "1.0.3" 1858 | resolved "https://registry.yarnpkg.com/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz#b7e3ea42435a4c9b2759d99e0f201eb195802ee1" 1859 | 1860 | process-nextick-args@~1.0.6: 1861 | version "1.0.7" 1862 | resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" 1863 | 1864 | process@^0.11.0: 1865 | version "0.11.10" 1866 | resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" 1867 | 1868 | promise@^7.1.1: 1869 | version "7.3.1" 1870 | resolved "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf" 1871 | dependencies: 1872 | asap "~2.0.3" 1873 | 1874 | prr@~1.0.1: 1875 | version "1.0.1" 1876 | resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" 1877 | 1878 | punycode@1.3.2: 1879 | version "1.3.2" 1880 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" 1881 | 1882 | punycode@^1.2.4, punycode@^1.4.1: 1883 | version "1.4.1" 1884 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" 1885 | 1886 | qs@~6.4.0: 1887 | version "6.4.0" 1888 | resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233" 1889 | 1890 | qs@~6.5.1: 1891 | version "6.5.1" 1892 | resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.1.tgz#349cdf6eef89ec45c12d7d5eb3fc0c870343a6d8" 1893 | 1894 | querystring-es3@^0.2.0: 1895 | version "0.2.1" 1896 | resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" 1897 | 1898 | querystring@0.2.0: 1899 | version "0.2.0" 1900 | resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" 1901 | 1902 | randomatic@^1.1.3: 1903 | version "1.1.7" 1904 | resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.7.tgz#c7abe9cc8b87c0baa876b19fde83fd464797e38c" 1905 | dependencies: 1906 | is-number "^3.0.0" 1907 | kind-of "^4.0.0" 1908 | 1909 | rc@^1.1.7: 1910 | version "1.2.2" 1911 | resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.2.tgz#d8ce9cb57e8d64d9c7badd9876c7c34cbe3c7077" 1912 | dependencies: 1913 | deep-extend "~0.4.0" 1914 | ini "~1.3.0" 1915 | minimist "^1.2.0" 1916 | strip-json-comments "~2.0.1" 1917 | 1918 | react-dom@15.4.2, react-dom@~15.4.1: 1919 | version "15.4.2" 1920 | resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-15.4.2.tgz#015363f05b0a1fd52ae9efdd3a0060d90695208f" 1921 | dependencies: 1922 | fbjs "^0.8.1" 1923 | loose-envify "^1.1.0" 1924 | object-assign "^4.1.0" 1925 | 1926 | react@15.4.2, react@~15.4.1: 1927 | version "15.4.2" 1928 | resolved "https://registry.yarnpkg.com/react/-/react-15.4.2.tgz#41f7991b26185392ba9bae96c8889e7e018397ef" 1929 | dependencies: 1930 | fbjs "^0.8.4" 1931 | loose-envify "^1.1.0" 1932 | object-assign "^4.1.0" 1933 | 1934 | read-pkg-up@^1.0.1: 1935 | version "1.0.1" 1936 | resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" 1937 | dependencies: 1938 | find-up "^1.0.0" 1939 | read-pkg "^1.0.0" 1940 | 1941 | read-pkg@^1.0.0: 1942 | version "1.1.0" 1943 | resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" 1944 | dependencies: 1945 | load-json-file "^1.0.0" 1946 | normalize-package-data "^2.3.2" 1947 | path-type "^1.0.0" 1948 | 1949 | "readable-stream@>=1.0.33-1 <1.1.0-0": 1950 | version "1.0.34" 1951 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" 1952 | dependencies: 1953 | core-util-is "~1.0.0" 1954 | inherits "~2.0.1" 1955 | isarray "0.0.1" 1956 | string_decoder "~0.10.x" 1957 | 1958 | readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.4, readable-stream@^2.1.5, readable-stream@^2.2.6: 1959 | version "2.3.3" 1960 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.3.tgz#368f2512d79f9d46fdfc71349ae7878bbc1eb95c" 1961 | dependencies: 1962 | core-util-is "~1.0.0" 1963 | inherits "~2.0.3" 1964 | isarray "~1.0.0" 1965 | process-nextick-args "~1.0.6" 1966 | safe-buffer "~5.1.1" 1967 | string_decoder "~1.0.3" 1968 | util-deprecate "~1.0.1" 1969 | 1970 | readable-stream@~1.1.9: 1971 | version "1.1.14" 1972 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" 1973 | dependencies: 1974 | core-util-is "~1.0.0" 1975 | inherits "~2.0.1" 1976 | isarray "0.0.1" 1977 | string_decoder "~0.10.x" 1978 | 1979 | readdirp@^2.0.0: 1980 | version "2.1.0" 1981 | resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78" 1982 | dependencies: 1983 | graceful-fs "^4.1.2" 1984 | minimatch "^3.0.2" 1985 | readable-stream "^2.0.2" 1986 | set-immediate-shim "^1.0.1" 1987 | 1988 | rechoir@^0.6.2: 1989 | version "0.6.2" 1990 | resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" 1991 | dependencies: 1992 | resolve "^1.1.6" 1993 | 1994 | regex-cache@^0.4.2: 1995 | version "0.4.4" 1996 | resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.4.tgz#75bdc58a2a1496cec48a12835bc54c8d562336dd" 1997 | dependencies: 1998 | is-equal-shallow "^0.1.3" 1999 | 2000 | remove-trailing-separator@^1.0.1: 2001 | version "1.1.0" 2002 | resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" 2003 | 2004 | repeat-element@^1.1.2: 2005 | version "1.1.2" 2006 | resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a" 2007 | 2008 | repeat-string@^1.5.2: 2009 | version "1.6.1" 2010 | resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" 2011 | 2012 | replace-ext@0.0.1: 2013 | version "0.0.1" 2014 | resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-0.0.1.tgz#29bbd92078a739f0bcce2b4ee41e837953522924" 2015 | 2016 | request@2.81.0: 2017 | version "2.81.0" 2018 | resolved "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0" 2019 | dependencies: 2020 | aws-sign2 "~0.6.0" 2021 | aws4 "^1.2.1" 2022 | caseless "~0.12.0" 2023 | combined-stream "~1.0.5" 2024 | extend "~3.0.0" 2025 | forever-agent "~0.6.1" 2026 | form-data "~2.1.1" 2027 | har-validator "~4.2.1" 2028 | hawk "~3.1.3" 2029 | http-signature "~1.1.0" 2030 | is-typedarray "~1.0.0" 2031 | isstream "~0.1.2" 2032 | json-stringify-safe "~5.0.1" 2033 | mime-types "~2.1.7" 2034 | oauth-sign "~0.8.1" 2035 | performance-now "^0.2.0" 2036 | qs "~6.4.0" 2037 | safe-buffer "^5.0.1" 2038 | stringstream "~0.0.4" 2039 | tough-cookie "~2.3.0" 2040 | tunnel-agent "^0.6.0" 2041 | uuid "^3.0.0" 2042 | 2043 | "request@>= 2.44.0 < 3.0.0": 2044 | version "2.83.0" 2045 | resolved "https://registry.yarnpkg.com/request/-/request-2.83.0.tgz#ca0b65da02ed62935887808e6f510381034e3356" 2046 | dependencies: 2047 | aws-sign2 "~0.7.0" 2048 | aws4 "^1.6.0" 2049 | caseless "~0.12.0" 2050 | combined-stream "~1.0.5" 2051 | extend "~3.0.1" 2052 | forever-agent "~0.6.1" 2053 | form-data "~2.3.1" 2054 | har-validator "~5.0.3" 2055 | hawk "~6.0.2" 2056 | http-signature "~1.2.0" 2057 | is-typedarray "~1.0.0" 2058 | isstream "~0.1.2" 2059 | json-stringify-safe "~5.0.1" 2060 | mime-types "~2.1.17" 2061 | oauth-sign "~0.8.2" 2062 | performance-now "^2.1.0" 2063 | qs "~6.5.1" 2064 | safe-buffer "^5.1.1" 2065 | stringstream "~0.0.5" 2066 | tough-cookie "~2.3.3" 2067 | tunnel-agent "^0.6.0" 2068 | uuid "^3.1.0" 2069 | 2070 | require-main-filename@^1.0.1: 2071 | version "1.0.1" 2072 | resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" 2073 | 2074 | resolve-dir@^0.1.0: 2075 | version "0.1.1" 2076 | resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-0.1.1.tgz#b219259a5602fac5c5c496ad894a6e8cc430261e" 2077 | dependencies: 2078 | expand-tilde "^1.2.2" 2079 | global-modules "^0.2.3" 2080 | 2081 | resolve@^1.1.6, resolve@^1.1.7: 2082 | version "1.5.0" 2083 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.5.0.tgz#1f09acce796c9a762579f31b2c1cc4c3cddf9f36" 2084 | dependencies: 2085 | path-parse "^1.0.5" 2086 | 2087 | right-align@^0.1.1: 2088 | version "0.1.3" 2089 | resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef" 2090 | dependencies: 2091 | align-text "^0.1.1" 2092 | 2093 | rimraf@2, rimraf@^2.5.1, rimraf@^2.6.1: 2094 | version "2.6.2" 2095 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36" 2096 | dependencies: 2097 | glob "^7.0.5" 2098 | 2099 | ripemd160@0.2.0: 2100 | version "0.2.0" 2101 | resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-0.2.0.tgz#2bf198bde167cacfa51c0a928e84b68bbe171fce" 2102 | 2103 | safe-buffer@^5.0.1, safe-buffer@^5.1.1, safe-buffer@~5.1.0, safe-buffer@~5.1.1: 2104 | version "5.1.1" 2105 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853" 2106 | 2107 | "semver@2 || 3 || 4 || 5", semver@^5.3.0: 2108 | version "5.4.1" 2109 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.4.1.tgz#e059c09d8571f0540823733433505d3a2f00b18e" 2110 | 2111 | semver@^4.1.0: 2112 | version "4.3.6" 2113 | resolved "https://registry.yarnpkg.com/semver/-/semver-4.3.6.tgz#300bc6e0e86374f7ba61068b5b1ecd57fc6532da" 2114 | 2115 | sequencify@~0.0.7: 2116 | version "0.0.7" 2117 | resolved "https://registry.yarnpkg.com/sequencify/-/sequencify-0.0.7.tgz#90cff19d02e07027fd767f5ead3e7b95d1e7380c" 2118 | 2119 | set-blocking@~2.0.0: 2120 | version "2.0.0" 2121 | resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" 2122 | 2123 | set-immediate-shim@^1.0.1: 2124 | version "1.0.1" 2125 | resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61" 2126 | 2127 | setimmediate@^1.0.4, setimmediate@^1.0.5: 2128 | version "1.0.5" 2129 | resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" 2130 | 2131 | sha.js@2.2.6: 2132 | version "2.2.6" 2133 | resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.2.6.tgz#17ddeddc5f722fb66501658895461977867315ba" 2134 | 2135 | sigmund@~1.0.0: 2136 | version "1.0.1" 2137 | resolved "https://registry.yarnpkg.com/sigmund/-/sigmund-1.0.1.tgz#3ff21f198cad2175f9f3b781853fd94d0d19b590" 2138 | 2139 | signal-exit@^3.0.0: 2140 | version "3.0.2" 2141 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" 2142 | 2143 | sntp@1.x.x: 2144 | version "1.0.9" 2145 | resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198" 2146 | dependencies: 2147 | hoek "2.x.x" 2148 | 2149 | sntp@2.x.x: 2150 | version "2.1.0" 2151 | resolved "https://registry.yarnpkg.com/sntp/-/sntp-2.1.0.tgz#2c6cec14fedc2222739caf9b5c3d85d1cc5a2cc8" 2152 | dependencies: 2153 | hoek "4.x.x" 2154 | 2155 | source-list-map@~0.1.7: 2156 | version "0.1.8" 2157 | resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-0.1.8.tgz#c550b2ab5427f6b3f21f5afead88c4f5587b2106" 2158 | 2159 | source-map@~0.4.1: 2160 | version "0.4.4" 2161 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" 2162 | dependencies: 2163 | amdefine ">=0.0.4" 2164 | 2165 | source-map@~0.5.1: 2166 | version "0.5.7" 2167 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" 2168 | 2169 | sparkles@^1.0.0: 2170 | version "1.0.0" 2171 | resolved "https://registry.yarnpkg.com/sparkles/-/sparkles-1.0.0.tgz#1acbbfb592436d10bbe8f785b7cc6f82815012c3" 2172 | 2173 | spdx-correct@~1.0.0: 2174 | version "1.0.2" 2175 | resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-1.0.2.tgz#4b3073d933ff51f3912f03ac5519498a4150db40" 2176 | dependencies: 2177 | spdx-license-ids "^1.0.2" 2178 | 2179 | spdx-expression-parse@~1.0.0: 2180 | version "1.0.4" 2181 | resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz#9bdf2f20e1f40ed447fbe273266191fced51626c" 2182 | 2183 | spdx-license-ids@^1.0.2: 2184 | version "1.2.2" 2185 | resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57" 2186 | 2187 | sshpk@^1.7.0: 2188 | version "1.13.1" 2189 | resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.13.1.tgz#512df6da6287144316dc4c18fe1cf1d940739be3" 2190 | dependencies: 2191 | asn1 "~0.2.3" 2192 | assert-plus "^1.0.0" 2193 | dashdash "^1.12.0" 2194 | getpass "^0.1.1" 2195 | optionalDependencies: 2196 | bcrypt-pbkdf "^1.0.0" 2197 | ecc-jsbn "~0.1.1" 2198 | jsbn "~0.1.0" 2199 | tweetnacl "~0.14.0" 2200 | 2201 | stream-browserify@^2.0.1: 2202 | version "2.0.1" 2203 | resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.1.tgz#66266ee5f9bdb9940a4e4514cafb43bb71e5c9db" 2204 | dependencies: 2205 | inherits "~2.0.1" 2206 | readable-stream "^2.0.2" 2207 | 2208 | stream-consume@~0.1.0: 2209 | version "0.1.0" 2210 | resolved "https://registry.yarnpkg.com/stream-consume/-/stream-consume-0.1.0.tgz#a41ead1a6d6081ceb79f65b061901b6d8f3d1d0f" 2211 | 2212 | stream-http@^2.3.1: 2213 | version "2.7.2" 2214 | resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.7.2.tgz#40a050ec8dc3b53b33d9909415c02c0bf1abfbad" 2215 | dependencies: 2216 | builtin-status-codes "^3.0.0" 2217 | inherits "^2.0.1" 2218 | readable-stream "^2.2.6" 2219 | to-arraybuffer "^1.0.0" 2220 | xtend "^4.0.0" 2221 | 2222 | string-width@^1.0.1, string-width@^1.0.2: 2223 | version "1.0.2" 2224 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" 2225 | dependencies: 2226 | code-point-at "^1.0.0" 2227 | is-fullwidth-code-point "^1.0.0" 2228 | strip-ansi "^3.0.0" 2229 | 2230 | string_decoder@^0.10.25, string_decoder@~0.10.x: 2231 | version "0.10.31" 2232 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" 2233 | 2234 | string_decoder@~1.0.3: 2235 | version "1.0.3" 2236 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.3.tgz#0fc67d7c141825de94282dd536bec6b9bce860ab" 2237 | dependencies: 2238 | safe-buffer "~5.1.0" 2239 | 2240 | stringstream@~0.0.4, stringstream@~0.0.5: 2241 | version "0.0.5" 2242 | resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878" 2243 | 2244 | strip-ansi@^3.0.0, strip-ansi@^3.0.1: 2245 | version "3.0.1" 2246 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" 2247 | dependencies: 2248 | ansi-regex "^2.0.0" 2249 | 2250 | strip-bom@^1.0.0: 2251 | version "1.0.0" 2252 | resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-1.0.0.tgz#85b8862f3844b5a6d5ec8467a93598173a36f794" 2253 | dependencies: 2254 | first-chunk-stream "^1.0.0" 2255 | is-utf8 "^0.2.0" 2256 | 2257 | strip-bom@^2.0.0: 2258 | version "2.0.0" 2259 | resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" 2260 | dependencies: 2261 | is-utf8 "^0.2.0" 2262 | 2263 | strip-json-comments@~2.0.1: 2264 | version "2.0.1" 2265 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" 2266 | 2267 | supports-color@^2.0.0: 2268 | version "2.0.0" 2269 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" 2270 | 2271 | supports-color@^3.1.0: 2272 | version "3.2.3" 2273 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6" 2274 | dependencies: 2275 | has-flag "^1.0.0" 2276 | 2277 | symbol@^0.2.1: 2278 | version "0.2.3" 2279 | resolved "https://registry.yarnpkg.com/symbol/-/symbol-0.2.3.tgz#3b9873b8a901e47c6efe21526a3ac372ef28bbc7" 2280 | 2281 | tapable@^0.1.8, tapable@~0.1.8: 2282 | version "0.1.10" 2283 | resolved "https://registry.yarnpkg.com/tapable/-/tapable-0.1.10.tgz#29c35707c2b70e50d07482b5d202e8ed446dafd4" 2284 | 2285 | tar-pack@^3.4.0: 2286 | version "3.4.1" 2287 | resolved "https://registry.yarnpkg.com/tar-pack/-/tar-pack-3.4.1.tgz#e1dbc03a9b9d3ba07e896ad027317eb679a10a1f" 2288 | dependencies: 2289 | debug "^2.2.0" 2290 | fstream "^1.0.10" 2291 | fstream-ignore "^1.0.5" 2292 | once "^1.3.3" 2293 | readable-stream "^2.1.4" 2294 | rimraf "^2.5.1" 2295 | tar "^2.2.1" 2296 | uid-number "^0.0.6" 2297 | 2298 | tar@^2.2.1: 2299 | version "2.2.1" 2300 | resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1" 2301 | dependencies: 2302 | block-stream "*" 2303 | fstream "^1.0.2" 2304 | inherits "2" 2305 | 2306 | through2@^0.6.1: 2307 | version "0.6.5" 2308 | resolved "https://registry.yarnpkg.com/through2/-/through2-0.6.5.tgz#41ab9c67b29d57209071410e1d7a7a968cd3ad48" 2309 | dependencies: 2310 | readable-stream ">=1.0.33-1 <1.1.0-0" 2311 | xtend ">=4.0.0 <4.1.0-0" 2312 | 2313 | through2@^2.0.0: 2314 | version "2.0.3" 2315 | resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be" 2316 | dependencies: 2317 | readable-stream "^2.1.5" 2318 | xtend "~4.0.1" 2319 | 2320 | tildify@^1.0.0: 2321 | version "1.2.0" 2322 | resolved "https://registry.yarnpkg.com/tildify/-/tildify-1.2.0.tgz#dcec03f55dca9b7aa3e5b04f21817eb56e63588a" 2323 | dependencies: 2324 | os-homedir "^1.0.0" 2325 | 2326 | time-stamp@^1.0.0: 2327 | version "1.1.0" 2328 | resolved "https://registry.yarnpkg.com/time-stamp/-/time-stamp-1.1.0.tgz#764a5a11af50561921b133f3b44e618687e0f5c3" 2329 | 2330 | timers-browserify@^2.0.2: 2331 | version "2.0.4" 2332 | resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.4.tgz#96ca53f4b794a5e7c0e1bd7cc88a372298fa01e6" 2333 | dependencies: 2334 | setimmediate "^1.0.4" 2335 | 2336 | to-arraybuffer@^1.0.0: 2337 | version "1.0.1" 2338 | resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" 2339 | 2340 | tough-cookie@~2.3.0, tough-cookie@~2.3.3: 2341 | version "2.3.3" 2342 | resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.3.tgz#0b618a5565b6dea90bf3425d04d55edc475a7561" 2343 | dependencies: 2344 | punycode "^1.4.1" 2345 | 2346 | tty-browserify@0.0.0: 2347 | version "0.0.0" 2348 | resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" 2349 | 2350 | tunnel-agent@^0.6.0: 2351 | version "0.6.0" 2352 | resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" 2353 | dependencies: 2354 | safe-buffer "^5.0.1" 2355 | 2356 | turbolinks@5.0.0: 2357 | version "5.0.0" 2358 | resolved "https://registry.yarnpkg.com/turbolinks/-/turbolinks-5.0.0.tgz#94c73fa299716824b0d96639b993b2efd7ef0e44" 2359 | 2360 | tweetnacl@^0.14.3, tweetnacl@~0.14.0: 2361 | version "0.14.5" 2362 | resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" 2363 | 2364 | ua-parser-js@^0.7.9: 2365 | version "0.7.17" 2366 | resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.17.tgz#e9ec5f9498b9ec910e7ae3ac626a805c4d09ecac" 2367 | 2368 | uglify-js@~2.7.3: 2369 | version "2.7.5" 2370 | resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.7.5.tgz#4612c0c7baaee2ba7c487de4904ae122079f2ca8" 2371 | dependencies: 2372 | async "~0.2.6" 2373 | source-map "~0.5.1" 2374 | uglify-to-browserify "~1.0.0" 2375 | yargs "~3.10.0" 2376 | 2377 | uglify-to-browserify@~1.0.0: 2378 | version "1.0.2" 2379 | resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7" 2380 | 2381 | uid-number@^0.0.6: 2382 | version "0.0.6" 2383 | resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81" 2384 | 2385 | unc-path-regex@^0.1.0: 2386 | version "0.1.2" 2387 | resolved "https://registry.yarnpkg.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa" 2388 | 2389 | unique-stream@^1.0.0: 2390 | version "1.0.0" 2391 | resolved "https://registry.yarnpkg.com/unique-stream/-/unique-stream-1.0.0.tgz#d59a4a75427447d9aa6c91e70263f8d26a4b104b" 2392 | 2393 | url@^0.11.0: 2394 | version "0.11.0" 2395 | resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" 2396 | dependencies: 2397 | punycode "1.3.2" 2398 | querystring "0.2.0" 2399 | 2400 | user-home@^1.1.1: 2401 | version "1.1.1" 2402 | resolved "https://registry.yarnpkg.com/user-home/-/user-home-1.1.1.tgz#2b5be23a32b63a7c9deb8d0f28d485724a3df190" 2403 | 2404 | util-deprecate@~1.0.1: 2405 | version "1.0.2" 2406 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" 2407 | 2408 | util@0.10.3, util@^0.10.3: 2409 | version "0.10.3" 2410 | resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" 2411 | dependencies: 2412 | inherits "2.0.1" 2413 | 2414 | uuid@^3.0.0, uuid@^3.1.0: 2415 | version "3.1.0" 2416 | resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.1.0.tgz#3dd3d3e790abc24d7b0d3a034ffababe28ebbc04" 2417 | 2418 | v8flags@^2.0.2: 2419 | version "2.1.1" 2420 | resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-2.1.1.tgz#aab1a1fa30d45f88dd321148875ac02c0b55e5b4" 2421 | dependencies: 2422 | user-home "^1.1.1" 2423 | 2424 | validate-npm-package-license@^3.0.1: 2425 | version "3.0.1" 2426 | resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz#2804babe712ad3379459acfbe24746ab2c303fbc" 2427 | dependencies: 2428 | spdx-correct "~1.0.0" 2429 | spdx-expression-parse "~1.0.0" 2430 | 2431 | verror@1.10.0: 2432 | version "1.10.0" 2433 | resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" 2434 | dependencies: 2435 | assert-plus "^1.0.0" 2436 | core-util-is "1.0.2" 2437 | extsprintf "^1.2.0" 2438 | 2439 | vinyl-fs@^0.3.0: 2440 | version "0.3.14" 2441 | resolved "https://registry.yarnpkg.com/vinyl-fs/-/vinyl-fs-0.3.14.tgz#9a6851ce1cac1c1cea5fe86c0931d620c2cfa9e6" 2442 | dependencies: 2443 | defaults "^1.0.0" 2444 | glob-stream "^3.1.5" 2445 | glob-watcher "^0.0.6" 2446 | graceful-fs "^3.0.0" 2447 | mkdirp "^0.5.0" 2448 | strip-bom "^1.0.0" 2449 | through2 "^0.6.1" 2450 | vinyl "^0.4.0" 2451 | 2452 | vinyl@^0.4.0: 2453 | version "0.4.6" 2454 | resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-0.4.6.tgz#2f356c87a550a255461f36bbeb2a5ba8bf784847" 2455 | dependencies: 2456 | clone "^0.2.0" 2457 | clone-stats "^0.0.1" 2458 | 2459 | vinyl@^0.5.0: 2460 | version "0.5.3" 2461 | resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-0.5.3.tgz#b0455b38fc5e0cf30d4325132e461970c2091cde" 2462 | dependencies: 2463 | clone "^1.0.0" 2464 | clone-stats "^0.0.1" 2465 | replace-ext "0.0.1" 2466 | 2467 | vm-browserify@0.0.4: 2468 | version "0.0.4" 2469 | resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-0.0.4.tgz#5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73" 2470 | dependencies: 2471 | indexof "0.0.1" 2472 | 2473 | watchpack@^0.2.1: 2474 | version "0.2.9" 2475 | resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-0.2.9.tgz#62eaa4ab5e5ba35fdfc018275626e3c0f5e3fb0b" 2476 | dependencies: 2477 | async "^0.9.0" 2478 | chokidar "^1.0.0" 2479 | graceful-fs "^4.1.2" 2480 | 2481 | webpack-core@~0.6.9: 2482 | version "0.6.9" 2483 | resolved "https://registry.yarnpkg.com/webpack-core/-/webpack-core-0.6.9.tgz#fc571588c8558da77be9efb6debdc5a3b172bdc2" 2484 | dependencies: 2485 | source-list-map "~0.1.7" 2486 | source-map "~0.4.1" 2487 | 2488 | webpack@^1.4.15: 2489 | version "1.15.0" 2490 | resolved "https://registry.yarnpkg.com/webpack/-/webpack-1.15.0.tgz#4ff31f53db03339e55164a9d468ee0324968fe98" 2491 | dependencies: 2492 | acorn "^3.0.0" 2493 | async "^1.3.0" 2494 | clone "^1.0.2" 2495 | enhanced-resolve "~0.9.0" 2496 | interpret "^0.6.4" 2497 | loader-utils "^0.2.11" 2498 | memory-fs "~0.3.0" 2499 | mkdirp "~0.5.0" 2500 | node-libs-browser "^0.7.0" 2501 | optimist "~0.6.0" 2502 | supports-color "^3.1.0" 2503 | tapable "~0.1.8" 2504 | uglify-js "~2.7.3" 2505 | watchpack "^0.2.1" 2506 | webpack-core "~0.6.9" 2507 | 2508 | whatwg-fetch@>=0.10.0: 2509 | version "2.0.3" 2510 | resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz#9c84ec2dcf68187ff00bc64e1274b442176e1c84" 2511 | 2512 | which@^1.2.12: 2513 | version "1.3.0" 2514 | resolved "https://registry.yarnpkg.com/which/-/which-1.3.0.tgz#ff04bdfc010ee547d780bec38e1ac1c2777d253a" 2515 | dependencies: 2516 | isexe "^2.0.0" 2517 | 2518 | wide-align@^1.1.0: 2519 | version "1.1.2" 2520 | resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.2.tgz#571e0f1b0604636ebc0dfc21b0339bbe31341710" 2521 | dependencies: 2522 | string-width "^1.0.2" 2523 | 2524 | window-size@0.1.0: 2525 | version "0.1.0" 2526 | resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d" 2527 | 2528 | window-size@^0.2.0: 2529 | version "0.2.0" 2530 | resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.2.0.tgz#b4315bb4214a3d7058ebeee892e13fa24d98b075" 2531 | 2532 | wordwrap@0.0.2: 2533 | version "0.0.2" 2534 | resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" 2535 | 2536 | wordwrap@~0.0.2: 2537 | version "0.0.3" 2538 | resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" 2539 | 2540 | wrap-ansi@^2.0.0: 2541 | version "2.1.0" 2542 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" 2543 | dependencies: 2544 | string-width "^1.0.1" 2545 | strip-ansi "^3.0.1" 2546 | 2547 | wrappy@1: 2548 | version "1.0.2" 2549 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 2550 | 2551 | xml-name-validator@^1.0.0: 2552 | version "1.0.0" 2553 | resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-1.0.0.tgz#dcf82ee092322951ef8cc1ba596c9cbfd14a83f1" 2554 | 2555 | "xmlhttprequest@>= 1.6.0 < 2.0.0": 2556 | version "1.8.0" 2557 | resolved "https://registry.yarnpkg.com/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz#67fe075c5c24fef39f9d65f5f7b7fe75171968fc" 2558 | 2559 | "xtend@>=4.0.0 <4.1.0-0", xtend@^4.0.0, xtend@~4.0.1: 2560 | version "4.0.1" 2561 | resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" 2562 | 2563 | y18n@^3.2.1: 2564 | version "3.2.1" 2565 | resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" 2566 | 2567 | yargs-parser@^2.4.0: 2568 | version "2.4.1" 2569 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-2.4.1.tgz#85568de3cf150ff49fa51825f03a8c880ddcc5c4" 2570 | dependencies: 2571 | camelcase "^3.0.0" 2572 | lodash.assign "^4.0.6" 2573 | 2574 | yargs@~3.10.0: 2575 | version "3.10.0" 2576 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1" 2577 | dependencies: 2578 | camelcase "^1.0.2" 2579 | cliui "^2.1.0" 2580 | decamelize "^1.0.0" 2581 | window-size "0.1.0" 2582 | 2583 | yargs@~4.6.0: 2584 | version "4.6.0" 2585 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-4.6.0.tgz#cb4050c0159bfb6bb649c0f4af550526a84619dc" 2586 | dependencies: 2587 | camelcase "^2.0.1" 2588 | cliui "^3.2.0" 2589 | decamelize "^1.1.1" 2590 | lodash.assign "^4.0.3" 2591 | os-locale "^1.4.0" 2592 | pkg-conf "^1.1.2" 2593 | read-pkg-up "^1.0.1" 2594 | require-main-filename "^1.0.1" 2595 | string-width "^1.0.1" 2596 | window-size "^0.2.0" 2597 | y18n "^3.2.1" 2598 | yargs-parser "^2.4.0" 2599 | --------------------------------------------------------------------------------