├── .editorconfig ├── .gitignore ├── .npmignore ├── .npmrc ├── LICENSE ├── README.md ├── docs ├── iPhoneX_Camera.png └── iPhoneX_Editor.png ├── gulpfile.js ├── package-lock.json ├── package.json ├── src ├── classes │ ├── picture-result.ts │ ├── picture.ts │ └── translations.ts ├── helpers │ └── picture-mutations.ts ├── index.ts ├── modules │ └── ionic-multi-camera.module.ts ├── pages │ ├── camera │ │ ├── camera.html │ │ ├── camera.scss │ │ └── camera.ts │ └── edit │ │ ├── edit.html │ │ ├── edit.scss │ │ └── edit.ts └── providers │ └── ionic-multi-camera.ts ├── tsconfig.json └── tslint.json /.editorconfig: -------------------------------------------------------------------------------- 1 | # EditorConfig helps developers define and maintain consistent coding styles between different editors and IDEs 2 | # editorconfig.org 3 | 4 | root = true 5 | 6 | [*] 7 | indent_style = space 8 | indent_size = 2 9 | 10 | # We recommend you to keep these unchanged 11 | end_of_line = lf 12 | charset = utf-8 13 | trim_trailing_whitespace = true 14 | insert_final_newline = true 15 | 16 | [*.md] 17 | trim_trailing_whitespace = false 18 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # See http://help.github.com/ignore-files/ for more about ignoring files. 2 | 3 | # compiled output 4 | /dist 5 | /tmp 6 | /out-tsc 7 | 8 | # dependencies 9 | /node_modules 10 | 11 | # IDEs and editors 12 | /.idea 13 | .project 14 | .classpath 15 | .c9/ 16 | *.launch 17 | .settings/ 18 | *.sublime-workspace 19 | 20 | # IDE - VSCode 21 | .vscode/* 22 | !.vscode/settings.json 23 | !.vscode/tasks.json 24 | !.vscode/launch.json 25 | !.vscode/extensions.json 26 | 27 | # misc 28 | /.sass-cache 29 | /connect.lock 30 | /coverage 31 | /libpeerconnection.log 32 | npm-debug.log 33 | testem.log 34 | /typings 35 | 36 | # e2e 37 | /e2e/*.js 38 | /e2e/*.map 39 | 40 | # System Files 41 | .DS_Store 42 | Thumbs.db 43 | -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | # See http://help.github.com/ignore-files/ for more about ignoring files. 2 | 3 | # source files 4 | /src 5 | 6 | # compiled output 7 | /tmp 8 | /out-tsc 9 | /docs 10 | 11 | # dependencies 12 | /node_modules 13 | 14 | # IDEs and editors 15 | /.idea 16 | .project 17 | .classpath 18 | .c9/ 19 | *.launch 20 | .settings/ 21 | *.sublime-workspace 22 | 23 | # IDE - VSCode 24 | .vscode/* 25 | !.vscode/settings.json 26 | !.vscode/tasks.json 27 | !.vscode/launch.json 28 | !.vscode/extensions.json 29 | 30 | # misc 31 | /.sass-cache 32 | /connect.lock 33 | /coverage 34 | /libpeerconnection.log 35 | npm-debug.log 36 | testem.log 37 | /typings 38 | 39 | # e2e 40 | /e2e/*.js 41 | /e2e/*.map 42 | 43 | # System Files 44 | .DS_Store 45 | Thumbs.db 46 | 47 | # Other 48 | .editorconfig 49 | gulpfile.js 50 | tsconfig.json 51 | tslint.json 52 | -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | save-dev = true 2 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2018 Surnet 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Unmaintained 2 | 3 | This project is no longer maintained. 4 | 5 | # ionic-multi-camera 6 | 7 | This package allows an Ionic App to take multiple photos in one go. 8 | 9 | The "standard" [Camera Plugin](https://ionicframework.com/docs/native/camera/) allows to take one photo per go. 10 | Whereas this package allows to take multiple photos in a row and confirm all of them at once. 11 | 12 | Supports iOS and Android 13 | 14 | [![npm Version](https://img.shields.io/npm/v/ionic-multi-camera.svg)](https://www.npmjs.com/package/ionic-multi-camera) 15 | [![npm Downloads](https://img.shields.io/npm/dm/ionic-multi-camera.svg)](https://www.npmjs.com/package/ionic-multi-camera) 16 | 17 | ## Example 18 | 19 | ![Camera on iPhone X](docs/iPhoneX_Camera.png) 20 | ![Editor on iPhone X](docs/iPhoneX_Editor.png) 21 | 22 | ## Install 23 | 24 | First install the package from npm. 25 | 26 | ```bash 27 | npm install --save ionic-multi-camera 28 | ``` 29 | 30 | To use this package you need to install the Cordova and Ionic Native Plugins it depends on. 31 | 32 | ```bash 33 | # Install Ionic Native Plugins 34 | npm install --save @ionic-native/core @ionic-native/camera-preview @ionic-native/device-motion @ionic-native/file @ionic-native/status-bar 35 | # Install Cordova Plugins 36 | ionic cordova plugin add https://github.com/cordova-plugin-camera-preview/cordova-plugin-camera-preview.git 37 | ionic cordova plugin add cordova-plugin-device-motion 38 | ionic cordova plugin add cordova-plugin-file 39 | ionic cordova plugin add cordova-plugin-statusbar 40 | ``` 41 | 42 | The Cordova Plugin Camera Preview requires to add a *NSCameraUsageDescription* for iOS 10+. 43 | Add this to your **config.xml**. 44 | 45 | ```xml 46 | 47 | Take photos 48 | 49 | ``` 50 | 51 | Because the camera is placed in the background of the Webview you need to remove all backgrounds for the App. 52 | This means some extra work in the rest of your App to add a background. 53 | Add this to your **app.scss**. 54 | 55 | ```css 56 | ion-app, ion-content, .nav-decor { 57 | background-color: transparent !important; 58 | } 59 | ``` 60 | 61 | The package allows to customize the used toolbar colors. 62 | Because of that you need to add a new color named *camera* to your **variables.scss**. 63 | 64 | ```scss 65 | $colors: ( 66 | camera: #000, 67 | ... 68 | ); 69 | ``` 70 | 71 | You need to import the *IonicMultiCameraModule* to your AppModule. 72 | Add this to your **app.module.ts**. 73 | 74 | ```ts 75 | import { NgModule } from '@angular/core'; 76 | import { IonicMultiCameraModule } from 'ionic-multi-camera'; 77 | 78 | @NgModule({ 79 | ... 80 | imports: [ 81 | IonicMultiCameraModule.forRoot(), 82 | ... 83 | ], 84 | ... 85 | }) 86 | export class AppModule {} 87 | ``` 88 | 89 | ## Usage 90 | 91 | To use the library the function *getPicture* can be used and returns a Promise with an Array of [Pictures](src/classes/picture.ts). 92 | 93 | ```ts 94 | import { Component } from '@angular/core'; 95 | import { IonicMultiCamera, Picture } from 'ionic-multi-camera'; 96 | 97 | @Component({ 98 | selector: 'example-page', 99 | templateUrl: 'example.html' 100 | }) 101 | export class Example { 102 | 103 | constructor( 104 | private camera: IonicMultiCamera 105 | ) { 106 | 107 | } 108 | 109 | public startCam(): void { 110 | this.camera.getPicture() 111 | .then((pictures: Array) => { 112 | ... 113 | }) 114 | .catch(err => { 115 | console.error(err); 116 | }); 117 | } 118 | 119 | } 120 | ``` 121 | 122 | If you would like to you can pass CameraPreviewPictureOptions directly to the camera. 123 | This allows to set the expected quality of the pictures. 124 | 125 | It also accepts an object containing [Translations](src/classes/translations.ts) for the camera. 126 | Otherwise defaults to English. 127 | 128 | ```ts 129 | import { IonicMultiCamera, Picture, CameraTranslations } from 'ionic-multi-camera'; 130 | import { CameraPreviewPictureOptions } from '@ionic-native/camera-preview'; 131 | ... 132 | 133 | ... 134 | const pictureOptions: CameraPreviewPictureOptions = { 135 | quality: 80, 136 | width: 4096, 137 | height: 4096 138 | }; 139 | const translations: CameraTranslations = { 140 | cancel: 'Cancel', 141 | finish: 'Finish', 142 | auto: 'AUTO', 143 | on: 'On', 144 | off: 'Off' 145 | }; 146 | this.camera.getPicture(pictureOptions) 147 | .then((pictures: Array) => { 148 | ... 149 | }) 150 | .catch(err => { 151 | console.error(err); 152 | }); 153 | ... 154 | ``` 155 | -------------------------------------------------------------------------------- /docs/iPhoneX_Camera.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Surnet/ionic-multi-camera/63e59ea445ae8c882ebaf934ae9febdf7828c440/docs/iPhoneX_Camera.png -------------------------------------------------------------------------------- /docs/iPhoneX_Editor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Surnet/ionic-multi-camera/63e59ea445ae8c882ebaf934ae9febdf7828c440/docs/iPhoneX_Editor.png -------------------------------------------------------------------------------- /gulpfile.js: -------------------------------------------------------------------------------- 1 | var gulp = require('gulp'); 2 | var embedTemplates = require('gulp-angular-embed-templates'); 3 | var embedSass = require('gulp-angular2-embed-sass'); 4 | 5 | gulp.task('build', function () { 6 | gulp.src('src/**/*.ts') // also can use *.js files 7 | .pipe(embedTemplates({sourceType:'ts'})) 8 | .pipe(embedSass()) 9 | .pipe(gulp.dest('./tmp')); 10 | }); 11 | 12 | gulp.task('default', [ 'build' ]); 13 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ionic-multi-camera", 3 | "version": "1.0.0", 4 | "lockfileVersion": 1, 5 | "requires": true, 6 | "dependencies": { 7 | "@angular/common": { 8 | "version": "4.4.6", 9 | "resolved": "https://registry.npmjs.org/@angular/common/-/common-4.4.6.tgz", 10 | "integrity": "sha1-S4FCByTggooOg5uVpV6xp+g5GPI=", 11 | "dev": true, 12 | "requires": { 13 | "tslib": "1.8.1" 14 | } 15 | }, 16 | "@angular/compiler": { 17 | "version": "4.4.6", 18 | "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-4.4.6.tgz", 19 | "integrity": "sha1-LuH68lt1fh0SiXkHS+f65SmzvCA=", 20 | "dev": true, 21 | "requires": { 22 | "tslib": "1.8.1" 23 | } 24 | }, 25 | "@angular/compiler-cli": { 26 | "version": "4.4.6", 27 | "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-4.4.6.tgz", 28 | "integrity": "sha1-uv09HiYOmQh+uajPdTLb1gOrubE=", 29 | "dev": true, 30 | "requires": { 31 | "@angular/tsc-wrapped": "4.4.6", 32 | "minimist": "1.2.0", 33 | "reflect-metadata": "0.1.10" 34 | } 35 | }, 36 | "@angular/core": { 37 | "version": "4.4.6", 38 | "resolved": "https://registry.npmjs.org/@angular/core/-/core-4.4.6.tgz", 39 | "integrity": "sha1-EwMf0Q3P5DiHVBmzjyESCVi8I1Q=", 40 | "dev": true, 41 | "requires": { 42 | "tslib": "1.8.1" 43 | } 44 | }, 45 | "@angular/forms": { 46 | "version": "4.4.6", 47 | "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-4.4.6.tgz", 48 | "integrity": "sha1-/mSs5CQ1wbgPSQNLfEHOjK8UpEo=", 49 | "dev": true, 50 | "requires": { 51 | "tslib": "1.8.1" 52 | } 53 | }, 54 | "@angular/platform-browser": { 55 | "version": "4.4.6", 56 | "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-4.4.6.tgz", 57 | "integrity": "sha1-qYOcVH4bZU+h0kqJeAyLpquNzOA=", 58 | "dev": true, 59 | "requires": { 60 | "tslib": "1.8.1" 61 | } 62 | }, 63 | "@angular/platform-browser-dynamic": { 64 | "version": "4.4.6", 65 | "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-4.4.6.tgz", 66 | "integrity": "sha1-TT2aanvyzz3kBYphWuBZ7/ZB+jY=", 67 | "dev": true, 68 | "requires": { 69 | "tslib": "1.8.1" 70 | } 71 | }, 72 | "@angular/tsc-wrapped": { 73 | "version": "4.4.6", 74 | "resolved": "https://registry.npmjs.org/@angular/tsc-wrapped/-/tsc-wrapped-4.4.6.tgz", 75 | "integrity": "sha1-Fnh8u/UL3H5zgSOxnDJSfyROF40=", 76 | "dev": true, 77 | "requires": { 78 | "tsickle": "0.21.6" 79 | } 80 | }, 81 | "@ionic-native/camera-preview": { 82 | "version": "4.5.2", 83 | "resolved": "https://registry.npmjs.org/@ionic-native/camera-preview/-/camera-preview-4.5.2.tgz", 84 | "integrity": "sha512-oG7y8nMrhwa4oq8yoyA1RUS6qDnaoPD6bQcq5Hbuxhep1C05w5kamdT+u3jwqufm+vl9zjffY+qf0k9w3A0pFA==", 85 | "dev": true 86 | }, 87 | "@ionic-native/core": { 88 | "version": "4.5.2", 89 | "resolved": "https://registry.npmjs.org/@ionic-native/core/-/core-4.5.2.tgz", 90 | "integrity": "sha512-/Y4gvrfNqO+wpa+i41tkud6WdVawju/+c+pD1E9b8lMeWimvFfqA0/q/6+S8VWjGLKz1GrZqW9cfwJU75SC4Ug==", 91 | "dev": true 92 | }, 93 | "@ionic-native/device-motion": { 94 | "version": "4.5.2", 95 | "resolved": "https://registry.npmjs.org/@ionic-native/device-motion/-/device-motion-4.5.2.tgz", 96 | "integrity": "sha512-SVGUWdLLHHh65vZr/DeEugKv56BRVvzrxVT7xsvIPLNm1pF4mUDBJQaI6trr8aJGrs9KHbOPwyYQQJykbwPLMQ==", 97 | "dev": true 98 | }, 99 | "@ionic-native/file": { 100 | "version": "4.5.2", 101 | "resolved": "https://registry.npmjs.org/@ionic-native/file/-/file-4.5.2.tgz", 102 | "integrity": "sha512-6XmK6oFHpVCbZNAJffX09UWxQvwNcKMTy1qKu6iXzxRoEuhsGEls17B1COA+fr2JuPwitxGm14ZzsBXN5pPLiA==", 103 | "dev": true 104 | }, 105 | "@ionic-native/status-bar": { 106 | "version": "4.5.2", 107 | "resolved": "https://registry.npmjs.org/@ionic-native/status-bar/-/status-bar-4.5.2.tgz", 108 | "integrity": "sha512-i2j2J9KIobCqyX6LlrlYhaHgd7qmP1pzHs4XAthHgth8m6c4gsHsh+Pl3fqknD7AX18ghpqo3tVtv0EFhSFU3w==", 109 | "dev": true 110 | }, 111 | "@types/node": { 112 | "version": "8.5.8", 113 | "resolved": "https://registry.npmjs.org/@types/node/-/node-8.5.8.tgz", 114 | "integrity": "sha512-8KmlRxwbKZfjUHFIt3q8TF5S2B+/E5BaAoo/3mgc5h6FJzqxXkCK/VMetO+IRDtwtU6HUvovHMBn+XRj7SV9Qg==", 115 | "dev": true 116 | }, 117 | "abbrev": { 118 | "version": "1.1.1", 119 | "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", 120 | "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", 121 | "dev": true 122 | }, 123 | "ajv": { 124 | "version": "4.11.8", 125 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", 126 | "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", 127 | "dev": true, 128 | "requires": { 129 | "co": "4.6.0", 130 | "json-stable-stringify": "1.0.1" 131 | } 132 | }, 133 | "amdefine": { 134 | "version": "1.0.1", 135 | "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", 136 | "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", 137 | "dev": true 138 | }, 139 | "ansi-gray": { 140 | "version": "0.1.1", 141 | "resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz", 142 | "integrity": "sha1-KWLPVOyXksSFEKPetSRDaGHvclE=", 143 | "dev": true, 144 | "requires": { 145 | "ansi-wrap": "0.1.0" 146 | } 147 | }, 148 | "ansi-regex": { 149 | "version": "2.1.1", 150 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", 151 | "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", 152 | "dev": true 153 | }, 154 | "ansi-styles": { 155 | "version": "2.2.1", 156 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", 157 | "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", 158 | "dev": true 159 | }, 160 | "ansi-wrap": { 161 | "version": "0.1.0", 162 | "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz", 163 | "integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768=", 164 | "dev": true 165 | }, 166 | "aproba": { 167 | "version": "1.2.0", 168 | "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", 169 | "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", 170 | "dev": true 171 | }, 172 | "archy": { 173 | "version": "1.0.0", 174 | "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", 175 | "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", 176 | "dev": true 177 | }, 178 | "are-we-there-yet": { 179 | "version": "1.1.4", 180 | "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz", 181 | "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=", 182 | "dev": true, 183 | "requires": { 184 | "delegates": "1.0.0", 185 | "readable-stream": "2.3.3" 186 | }, 187 | "dependencies": { 188 | "isarray": { 189 | "version": "1.0.0", 190 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", 191 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", 192 | "dev": true 193 | }, 194 | "readable-stream": { 195 | "version": "2.3.3", 196 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", 197 | "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", 198 | "dev": true, 199 | "requires": { 200 | "core-util-is": "1.0.2", 201 | "inherits": "2.0.3", 202 | "isarray": "1.0.0", 203 | "process-nextick-args": "1.0.7", 204 | "safe-buffer": "5.1.1", 205 | "string_decoder": "1.0.3", 206 | "util-deprecate": "1.0.2" 207 | } 208 | }, 209 | "string_decoder": { 210 | "version": "1.0.3", 211 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", 212 | "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", 213 | "dev": true, 214 | "requires": { 215 | "safe-buffer": "5.1.1" 216 | } 217 | } 218 | } 219 | }, 220 | "argh": { 221 | "version": "0.1.4", 222 | "resolved": "https://registry.npmjs.org/argh/-/argh-0.1.4.tgz", 223 | "integrity": "sha1-PrTWEpc/xrbcbvM49W91nyrFw6Y=", 224 | "dev": true 225 | }, 226 | "arr-diff": { 227 | "version": "4.0.0", 228 | "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", 229 | "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", 230 | "dev": true 231 | }, 232 | "arr-flatten": { 233 | "version": "1.1.0", 234 | "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", 235 | "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", 236 | "dev": true 237 | }, 238 | "arr-union": { 239 | "version": "3.1.0", 240 | "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", 241 | "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", 242 | "dev": true 243 | }, 244 | "array-differ": { 245 | "version": "1.0.0", 246 | "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz", 247 | "integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=", 248 | "dev": true 249 | }, 250 | "array-each": { 251 | "version": "1.0.1", 252 | "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz", 253 | "integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8=", 254 | "dev": true 255 | }, 256 | "array-find-index": { 257 | "version": "1.0.2", 258 | "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", 259 | "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", 260 | "dev": true 261 | }, 262 | "array-slice": { 263 | "version": "1.1.0", 264 | "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz", 265 | "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==", 266 | "dev": true 267 | }, 268 | "array-uniq": { 269 | "version": "1.0.3", 270 | "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", 271 | "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", 272 | "dev": true 273 | }, 274 | "array-unique": { 275 | "version": "0.3.2", 276 | "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", 277 | "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", 278 | "dev": true 279 | }, 280 | "asap": { 281 | "version": "2.0.6", 282 | "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", 283 | "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", 284 | "dev": true, 285 | "optional": true 286 | }, 287 | "asn1": { 288 | "version": "0.2.3", 289 | "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", 290 | "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=", 291 | "dev": true 292 | }, 293 | "assert-plus": { 294 | "version": "0.2.0", 295 | "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", 296 | "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=", 297 | "dev": true 298 | }, 299 | "assign-symbols": { 300 | "version": "1.0.0", 301 | "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", 302 | "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", 303 | "dev": true 304 | }, 305 | "async": { 306 | "version": "2.6.0", 307 | "resolved": "https://registry.npmjs.org/async/-/async-2.6.0.tgz", 308 | "integrity": "sha512-xAfGg1/NTLBBKlHFmnd7PlmUW9KhVQIUuSrYem9xzFUZy13ScvtyGGejaae9iAVRiRq9+Cx7DPFaAAhCpyxyPw==", 309 | "dev": true, 310 | "requires": { 311 | "lodash": "4.17.4" 312 | }, 313 | "dependencies": { 314 | "lodash": { 315 | "version": "4.17.4", 316 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", 317 | "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=", 318 | "dev": true 319 | } 320 | } 321 | }, 322 | "async-foreach": { 323 | "version": "0.1.3", 324 | "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz", 325 | "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=", 326 | "dev": true 327 | }, 328 | "asynckit": { 329 | "version": "0.4.0", 330 | "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", 331 | "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", 332 | "dev": true 333 | }, 334 | "atob": { 335 | "version": "2.0.3", 336 | "resolved": "https://registry.npmjs.org/atob/-/atob-2.0.3.tgz", 337 | "integrity": "sha1-GcenYEc3dEaPILLS0DNyrX1Mv10=", 338 | "dev": true 339 | }, 340 | "autoprefixer": { 341 | "version": "7.2.5", 342 | "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-7.2.5.tgz", 343 | "integrity": "sha512-XqHfo8Ht0VU+T5P+eWEVoXza456KJ4l62BPewu3vpNf3LP9s2+zYXkXBznzYby4XeECXgG3N4i+hGvOhXErZmA==", 344 | "dev": true, 345 | "requires": { 346 | "browserslist": "2.11.3", 347 | "caniuse-lite": "1.0.30000792", 348 | "normalize-range": "0.1.2", 349 | "num2fraction": "1.2.2", 350 | "postcss": "6.0.16", 351 | "postcss-value-parser": "3.3.0" 352 | } 353 | }, 354 | "aws-sign2": { 355 | "version": "0.6.0", 356 | "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", 357 | "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=", 358 | "dev": true 359 | }, 360 | "aws4": { 361 | "version": "1.6.0", 362 | "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz", 363 | "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=", 364 | "dev": true 365 | }, 366 | "balanced-match": { 367 | "version": "1.0.0", 368 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", 369 | "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", 370 | "dev": true 371 | }, 372 | "base": { 373 | "version": "0.11.2", 374 | "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", 375 | "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", 376 | "dev": true, 377 | "requires": { 378 | "cache-base": "1.0.1", 379 | "class-utils": "0.3.6", 380 | "component-emitter": "1.2.1", 381 | "define-property": "1.0.0", 382 | "isobject": "3.0.1", 383 | "mixin-deep": "1.3.0", 384 | "pascalcase": "0.1.1" 385 | } 386 | }, 387 | "bcrypt-pbkdf": { 388 | "version": "1.0.1", 389 | "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", 390 | "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", 391 | "dev": true, 392 | "optional": true, 393 | "requires": { 394 | "tweetnacl": "0.14.5" 395 | } 396 | }, 397 | "beeper": { 398 | "version": "1.1.1", 399 | "resolved": "https://registry.npmjs.org/beeper/-/beeper-1.1.1.tgz", 400 | "integrity": "sha1-5tXqjF2tABMEpwsiY4RH9pyy+Ak=", 401 | "dev": true 402 | }, 403 | "block-stream": { 404 | "version": "0.0.9", 405 | "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", 406 | "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", 407 | "dev": true, 408 | "requires": { 409 | "inherits": "2.0.3" 410 | } 411 | }, 412 | "boom": { 413 | "version": "2.10.1", 414 | "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", 415 | "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", 416 | "dev": true, 417 | "requires": { 418 | "hoek": "2.16.3" 419 | } 420 | }, 421 | "brace-expansion": { 422 | "version": "1.1.8", 423 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", 424 | "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", 425 | "dev": true, 426 | "requires": { 427 | "balanced-match": "1.0.0", 428 | "concat-map": "0.0.1" 429 | } 430 | }, 431 | "braces": { 432 | "version": "2.3.0", 433 | "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.0.tgz", 434 | "integrity": "sha512-P4O8UQRdGiMLWSizsApmXVQDBS6KCt7dSexgLKBmH5Hr1CZq7vsnscFh8oR1sP1ab1Zj0uCHCEzZeV6SfUf3rA==", 435 | "dev": true, 436 | "requires": { 437 | "arr-flatten": "1.1.0", 438 | "array-unique": "0.3.2", 439 | "define-property": "1.0.0", 440 | "extend-shallow": "2.0.1", 441 | "fill-range": "4.0.0", 442 | "isobject": "3.0.1", 443 | "repeat-element": "1.1.2", 444 | "snapdragon": "0.8.1", 445 | "snapdragon-node": "2.1.1", 446 | "split-string": "3.1.0", 447 | "to-regex": "3.0.1" 448 | } 449 | }, 450 | "browserslist": { 451 | "version": "2.11.3", 452 | "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-2.11.3.tgz", 453 | "integrity": "sha512-yWu5cXT7Av6mVwzWc8lMsJMHWn4xyjSuGYi4IozbVTLUOEYPSagUB8kiMDUHA1fS3zjr8nkxkn9jdvug4BBRmA==", 454 | "dev": true, 455 | "requires": { 456 | "caniuse-lite": "1.0.30000792", 457 | "electron-to-chromium": "1.3.30" 458 | } 459 | }, 460 | "builtin-modules": { 461 | "version": "1.1.1", 462 | "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", 463 | "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", 464 | "dev": true 465 | }, 466 | "cache-base": { 467 | "version": "1.0.1", 468 | "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", 469 | "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", 470 | "dev": true, 471 | "requires": { 472 | "collection-visit": "1.0.0", 473 | "component-emitter": "1.2.1", 474 | "get-value": "2.0.6", 475 | "has-value": "1.0.0", 476 | "isobject": "3.0.1", 477 | "set-value": "2.0.0", 478 | "to-object-path": "0.3.0", 479 | "union-value": "1.0.0", 480 | "unset-value": "1.0.0" 481 | } 482 | }, 483 | "camelcase": { 484 | "version": "2.1.1", 485 | "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", 486 | "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", 487 | "dev": true 488 | }, 489 | "camelcase-keys": { 490 | "version": "2.1.0", 491 | "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", 492 | "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", 493 | "dev": true, 494 | "requires": { 495 | "camelcase": "2.1.1", 496 | "map-obj": "1.0.1" 497 | } 498 | }, 499 | "caniuse-lite": { 500 | "version": "1.0.30000792", 501 | "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000792.tgz", 502 | "integrity": "sha1-0M6pgfgRjzlhRxr7tDyaHlu/AzI=", 503 | "dev": true 504 | }, 505 | "caseless": { 506 | "version": "0.12.0", 507 | "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", 508 | "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", 509 | "dev": true 510 | }, 511 | "chalk": { 512 | "version": "1.1.3", 513 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", 514 | "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", 515 | "dev": true, 516 | "requires": { 517 | "ansi-styles": "2.2.1", 518 | "escape-string-regexp": "1.0.5", 519 | "has-ansi": "2.0.0", 520 | "strip-ansi": "3.0.1", 521 | "supports-color": "2.0.0" 522 | } 523 | }, 524 | "class-utils": { 525 | "version": "0.3.6", 526 | "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", 527 | "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", 528 | "dev": true, 529 | "requires": { 530 | "arr-union": "3.1.0", 531 | "define-property": "0.2.5", 532 | "isobject": "3.0.1", 533 | "static-extend": "0.1.2" 534 | }, 535 | "dependencies": { 536 | "define-property": { 537 | "version": "0.2.5", 538 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", 539 | "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", 540 | "dev": true, 541 | "requires": { 542 | "is-descriptor": "0.1.6" 543 | } 544 | }, 545 | "is-accessor-descriptor": { 546 | "version": "0.1.6", 547 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", 548 | "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", 549 | "dev": true, 550 | "requires": { 551 | "kind-of": "3.2.2" 552 | }, 553 | "dependencies": { 554 | "kind-of": { 555 | "version": "3.2.2", 556 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 557 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 558 | "dev": true, 559 | "requires": { 560 | "is-buffer": "1.1.6" 561 | } 562 | } 563 | } 564 | }, 565 | "is-data-descriptor": { 566 | "version": "0.1.4", 567 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", 568 | "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", 569 | "dev": true, 570 | "requires": { 571 | "kind-of": "3.2.2" 572 | }, 573 | "dependencies": { 574 | "kind-of": { 575 | "version": "3.2.2", 576 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 577 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 578 | "dev": true, 579 | "requires": { 580 | "is-buffer": "1.1.6" 581 | } 582 | } 583 | } 584 | }, 585 | "is-descriptor": { 586 | "version": "0.1.6", 587 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", 588 | "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", 589 | "dev": true, 590 | "requires": { 591 | "is-accessor-descriptor": "0.1.6", 592 | "is-data-descriptor": "0.1.4", 593 | "kind-of": "5.1.0" 594 | } 595 | }, 596 | "kind-of": { 597 | "version": "5.1.0", 598 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", 599 | "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", 600 | "dev": true 601 | } 602 | } 603 | }, 604 | "cli-color": { 605 | "version": "1.2.0", 606 | "resolved": "https://registry.npmjs.org/cli-color/-/cli-color-1.2.0.tgz", 607 | "integrity": "sha1-OlrnT9drYmevZm5p4q+70B3vNNE=", 608 | "dev": true, 609 | "requires": { 610 | "ansi-regex": "2.1.1", 611 | "d": "1.0.0", 612 | "es5-ext": "0.10.38", 613 | "es6-iterator": "2.0.3", 614 | "memoizee": "0.4.11", 615 | "timers-ext": "0.1.2" 616 | } 617 | }, 618 | "cliui": { 619 | "version": "3.2.0", 620 | "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", 621 | "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", 622 | "dev": true, 623 | "requires": { 624 | "string-width": "1.0.2", 625 | "strip-ansi": "3.0.1", 626 | "wrap-ansi": "2.1.0" 627 | } 628 | }, 629 | "clone": { 630 | "version": "1.0.3", 631 | "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.3.tgz", 632 | "integrity": "sha1-KY1+IjFmD0DAA8LtMUDezz9TCF8=", 633 | "dev": true 634 | }, 635 | "clone-stats": { 636 | "version": "0.0.1", 637 | "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz", 638 | "integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=", 639 | "dev": true 640 | }, 641 | "co": { 642 | "version": "4.6.0", 643 | "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", 644 | "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", 645 | "dev": true 646 | }, 647 | "code-point-at": { 648 | "version": "1.1.0", 649 | "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", 650 | "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", 651 | "dev": true 652 | }, 653 | "collection-visit": { 654 | "version": "1.0.0", 655 | "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", 656 | "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", 657 | "dev": true, 658 | "requires": { 659 | "map-visit": "1.0.0", 660 | "object-visit": "1.0.1" 661 | } 662 | }, 663 | "color": { 664 | "version": "0.8.0", 665 | "resolved": "https://registry.npmjs.org/color/-/color-0.8.0.tgz", 666 | "integrity": "sha1-iQwHw/1OZJU3Y4kRz2keVFi2/KU=", 667 | "dev": true, 668 | "requires": { 669 | "color-convert": "0.5.3", 670 | "color-string": "0.3.0" 671 | } 672 | }, 673 | "color-convert": { 674 | "version": "0.5.3", 675 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-0.5.3.tgz", 676 | "integrity": "sha1-vbbGnOZg+t/+CwAHzER+G59ygr0=", 677 | "dev": true 678 | }, 679 | "color-name": { 680 | "version": "1.1.3", 681 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", 682 | "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", 683 | "dev": true 684 | }, 685 | "color-string": { 686 | "version": "0.3.0", 687 | "resolved": "https://registry.npmjs.org/color-string/-/color-string-0.3.0.tgz", 688 | "integrity": "sha1-J9RvtnAlxcL6JZk7+/V55HhBuZE=", 689 | "dev": true, 690 | "requires": { 691 | "color-name": "1.1.3" 692 | } 693 | }, 694 | "color-support": { 695 | "version": "1.1.3", 696 | "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", 697 | "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", 698 | "dev": true 699 | }, 700 | "colornames": { 701 | "version": "0.0.2", 702 | "resolved": "https://registry.npmjs.org/colornames/-/colornames-0.0.2.tgz", 703 | "integrity": "sha1-2BH9bIT1kClJmorEQ2ICk1uSvjE=", 704 | "dev": true 705 | }, 706 | "colorspace": { 707 | "version": "1.0.1", 708 | "resolved": "https://registry.npmjs.org/colorspace/-/colorspace-1.0.1.tgz", 709 | "integrity": "sha1-yZx5btMRKLmHalLh7l7gOkpxl0k=", 710 | "dev": true, 711 | "requires": { 712 | "color": "0.8.0", 713 | "text-hex": "0.0.0" 714 | } 715 | }, 716 | "combined-stream": { 717 | "version": "1.0.5", 718 | "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", 719 | "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=", 720 | "dev": true, 721 | "requires": { 722 | "delayed-stream": "1.0.0" 723 | } 724 | }, 725 | "commander": { 726 | "version": "2.13.0", 727 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz", 728 | "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==", 729 | "dev": true 730 | }, 731 | "component-emitter": { 732 | "version": "1.2.1", 733 | "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", 734 | "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", 735 | "dev": true 736 | }, 737 | "concat-map": { 738 | "version": "0.0.1", 739 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 740 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", 741 | "dev": true 742 | }, 743 | "console-control-strings": { 744 | "version": "1.1.0", 745 | "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", 746 | "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", 747 | "dev": true 748 | }, 749 | "copy-descriptor": { 750 | "version": "0.1.1", 751 | "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", 752 | "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", 753 | "dev": true 754 | }, 755 | "core-util-is": { 756 | "version": "1.0.2", 757 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", 758 | "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", 759 | "dev": true 760 | }, 761 | "cross-spawn": { 762 | "version": "3.0.1", 763 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz", 764 | "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=", 765 | "dev": true, 766 | "requires": { 767 | "lru-cache": "4.1.1", 768 | "which": "1.3.0" 769 | }, 770 | "dependencies": { 771 | "lru-cache": { 772 | "version": "4.1.1", 773 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz", 774 | "integrity": "sha512-q4spe4KTfsAS1SUHLO0wz8Qiyf1+vMIAgpRYioFYDMNqKfHQbg+AVDH3i4fvpl71/P1L0dBl+fQi+P37UYf0ew==", 775 | "dev": true, 776 | "requires": { 777 | "pseudomap": "1.0.2", 778 | "yallist": "2.1.2" 779 | } 780 | } 781 | } 782 | }, 783 | "cryptiles": { 784 | "version": "2.0.5", 785 | "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", 786 | "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", 787 | "dev": true, 788 | "requires": { 789 | "boom": "2.10.1" 790 | } 791 | }, 792 | "currently-unhandled": { 793 | "version": "0.4.1", 794 | "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", 795 | "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", 796 | "dev": true, 797 | "requires": { 798 | "array-find-index": "1.0.2" 799 | } 800 | }, 801 | "d": { 802 | "version": "1.0.0", 803 | "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", 804 | "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", 805 | "dev": true, 806 | "requires": { 807 | "es5-ext": "0.10.38" 808 | } 809 | }, 810 | "dashdash": { 811 | "version": "1.14.1", 812 | "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", 813 | "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", 814 | "dev": true, 815 | "requires": { 816 | "assert-plus": "1.0.0" 817 | }, 818 | "dependencies": { 819 | "assert-plus": { 820 | "version": "1.0.0", 821 | "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", 822 | "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", 823 | "dev": true 824 | } 825 | } 826 | }, 827 | "dateformat": { 828 | "version": "2.2.0", 829 | "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-2.2.0.tgz", 830 | "integrity": "sha1-QGXiATz5+5Ft39gu+1Bq1MZ2kGI=", 831 | "dev": true 832 | }, 833 | "debug": { 834 | "version": "2.6.9", 835 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 836 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 837 | "dev": true, 838 | "requires": { 839 | "ms": "2.0.0" 840 | } 841 | }, 842 | "decamelize": { 843 | "version": "1.2.0", 844 | "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", 845 | "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", 846 | "dev": true 847 | }, 848 | "decode-uri-component": { 849 | "version": "0.2.0", 850 | "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", 851 | "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", 852 | "dev": true 853 | }, 854 | "defaults": { 855 | "version": "1.0.3", 856 | "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", 857 | "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", 858 | "dev": true, 859 | "requires": { 860 | "clone": "1.0.3" 861 | } 862 | }, 863 | "define-property": { 864 | "version": "1.0.0", 865 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", 866 | "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", 867 | "dev": true, 868 | "requires": { 869 | "is-descriptor": "1.0.2" 870 | } 871 | }, 872 | "delayed-stream": { 873 | "version": "1.0.0", 874 | "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", 875 | "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", 876 | "dev": true 877 | }, 878 | "delegates": { 879 | "version": "1.0.0", 880 | "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", 881 | "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", 882 | "dev": true 883 | }, 884 | "deprecated": { 885 | "version": "0.0.1", 886 | "resolved": "https://registry.npmjs.org/deprecated/-/deprecated-0.0.1.tgz", 887 | "integrity": "sha1-+cmvVGSvoeepcUWKi97yqpTVuxk=", 888 | "dev": true 889 | }, 890 | "detect-file": { 891 | "version": "1.0.0", 892 | "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", 893 | "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", 894 | "dev": true 895 | }, 896 | "diagnostics": { 897 | "version": "1.1.0", 898 | "resolved": "https://registry.npmjs.org/diagnostics/-/diagnostics-1.1.0.tgz", 899 | "integrity": "sha1-4QkJALSVI+hSe+IPCBJ1IF8q42o=", 900 | "dev": true, 901 | "requires": { 902 | "colorspace": "1.0.1", 903 | "enabled": "1.0.2", 904 | "kuler": "0.0.0" 905 | } 906 | }, 907 | "dom-serializer": { 908 | "version": "0.1.0", 909 | "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz", 910 | "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=", 911 | "dev": true, 912 | "requires": { 913 | "domelementtype": "1.1.3", 914 | "entities": "1.1.1" 915 | }, 916 | "dependencies": { 917 | "domelementtype": { 918 | "version": "1.1.3", 919 | "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz", 920 | "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=", 921 | "dev": true 922 | } 923 | } 924 | }, 925 | "domelementtype": { 926 | "version": "1.3.0", 927 | "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz", 928 | "integrity": "sha1-sXrtguirWeUt2cGbF1bg/BhyBMI=", 929 | "dev": true 930 | }, 931 | "domhandler": { 932 | "version": "2.4.1", 933 | "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.1.tgz", 934 | "integrity": "sha1-iS5HAAqZvlW783dP/qBWHYh5wlk=", 935 | "dev": true, 936 | "requires": { 937 | "domelementtype": "1.3.0" 938 | } 939 | }, 940 | "domutils": { 941 | "version": "1.6.2", 942 | "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.6.2.tgz", 943 | "integrity": "sha1-GVjMC0yUJuntNn+xyOhUiRsPo/8=", 944 | "dev": true, 945 | "requires": { 946 | "dom-serializer": "0.1.0", 947 | "domelementtype": "1.3.0" 948 | } 949 | }, 950 | "duplexer2": { 951 | "version": "0.0.2", 952 | "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz", 953 | "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=", 954 | "dev": true, 955 | "requires": { 956 | "readable-stream": "1.1.14" 957 | } 958 | }, 959 | "ecc-jsbn": { 960 | "version": "0.1.1", 961 | "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", 962 | "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", 963 | "dev": true, 964 | "optional": true, 965 | "requires": { 966 | "jsbn": "0.1.1" 967 | } 968 | }, 969 | "electron-releases": { 970 | "version": "2.1.0", 971 | "resolved": "https://registry.npmjs.org/electron-releases/-/electron-releases-2.1.0.tgz", 972 | "integrity": "sha512-cyKFD1bTE/UgULXfaueIN1k5EPFzs+FRc/rvCY5tIynefAPqopQEgjr0EzY+U3Dqrk/G4m9tXSPuZ77v6dL/Rw==", 973 | "dev": true 974 | }, 975 | "electron-to-chromium": { 976 | "version": "1.3.30", 977 | "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.30.tgz", 978 | "integrity": "sha512-zx1Prv7kYLfc4OA60FhxGbSo4qrEjgSzpo1/37i7l9ltXPYOoQBtjQxY9KmsgfHnBxHlBGXwLlsbt/gub1w5lw==", 979 | "dev": true, 980 | "requires": { 981 | "electron-releases": "2.1.0" 982 | } 983 | }, 984 | "emits": { 985 | "version": "3.0.0", 986 | "resolved": "https://registry.npmjs.org/emits/-/emits-3.0.0.tgz", 987 | "integrity": "sha1-MnUrupXhcHshlWI4Srm7ix/WL3A=", 988 | "dev": true 989 | }, 990 | "enabled": { 991 | "version": "1.0.2", 992 | "resolved": "https://registry.npmjs.org/enabled/-/enabled-1.0.2.tgz", 993 | "integrity": "sha1-ll9lE9LC0cX0ZStkouM5ZGf8L5M=", 994 | "dev": true, 995 | "requires": { 996 | "env-variable": "0.0.3" 997 | } 998 | }, 999 | "end-of-stream": { 1000 | "version": "0.1.5", 1001 | "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-0.1.5.tgz", 1002 | "integrity": "sha1-jhdyBsPICDfYVjLouTWd/osvbq8=", 1003 | "dev": true, 1004 | "requires": { 1005 | "once": "1.3.3" 1006 | } 1007 | }, 1008 | "entities": { 1009 | "version": "1.1.1", 1010 | "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz", 1011 | "integrity": "sha1-blwtClYhtdra7O+AuQ7ftc13cvA=", 1012 | "dev": true 1013 | }, 1014 | "env-variable": { 1015 | "version": "0.0.3", 1016 | "resolved": "https://registry.npmjs.org/env-variable/-/env-variable-0.0.3.tgz", 1017 | "integrity": "sha1-uGwWQb5WECZ9UG8YBx6nbXBwl8s=", 1018 | "dev": true 1019 | }, 1020 | "errno": { 1021 | "version": "0.1.6", 1022 | "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.6.tgz", 1023 | "integrity": "sha512-IsORQDpaaSwcDP4ZZnHxgE85werpo34VYn1Ud3mq+eUsF593faR8oCZNXrROVkpFu2TsbrNhHin0aUrTsQ9vNw==", 1024 | "dev": true, 1025 | "optional": true, 1026 | "requires": { 1027 | "prr": "1.0.1" 1028 | } 1029 | }, 1030 | "error-ex": { 1031 | "version": "1.3.1", 1032 | "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", 1033 | "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", 1034 | "dev": true, 1035 | "requires": { 1036 | "is-arrayish": "0.2.1" 1037 | } 1038 | }, 1039 | "es5-ext": { 1040 | "version": "0.10.38", 1041 | "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.38.tgz", 1042 | "integrity": "sha512-jCMyePo7AXbUESwbl8Qi01VSH2piY9s/a3rSU/5w/MlTIx8HPL1xn2InGN8ejt/xulcJgnTO7vqNtOAxzYd2Kg==", 1043 | "dev": true, 1044 | "requires": { 1045 | "es6-iterator": "2.0.3", 1046 | "es6-symbol": "3.1.1" 1047 | } 1048 | }, 1049 | "es6-iterator": { 1050 | "version": "2.0.3", 1051 | "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", 1052 | "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", 1053 | "dev": true, 1054 | "requires": { 1055 | "d": "1.0.0", 1056 | "es5-ext": "0.10.38", 1057 | "es6-symbol": "3.1.1" 1058 | } 1059 | }, 1060 | "es6-symbol": { 1061 | "version": "3.1.1", 1062 | "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", 1063 | "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", 1064 | "dev": true, 1065 | "requires": { 1066 | "d": "1.0.0", 1067 | "es5-ext": "0.10.38" 1068 | } 1069 | }, 1070 | "es6-weak-map": { 1071 | "version": "2.0.2", 1072 | "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz", 1073 | "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=", 1074 | "dev": true, 1075 | "requires": { 1076 | "d": "1.0.0", 1077 | "es5-ext": "0.10.38", 1078 | "es6-iterator": "2.0.3", 1079 | "es6-symbol": "3.1.1" 1080 | } 1081 | }, 1082 | "escape-string-regexp": { 1083 | "version": "1.0.5", 1084 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 1085 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", 1086 | "dev": true 1087 | }, 1088 | "event-emitter": { 1089 | "version": "0.3.5", 1090 | "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", 1091 | "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", 1092 | "dev": true, 1093 | "requires": { 1094 | "d": "1.0.0", 1095 | "es5-ext": "0.10.38" 1096 | } 1097 | }, 1098 | "expand-brackets": { 1099 | "version": "2.1.4", 1100 | "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", 1101 | "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", 1102 | "dev": true, 1103 | "requires": { 1104 | "debug": "2.6.9", 1105 | "define-property": "0.2.5", 1106 | "extend-shallow": "2.0.1", 1107 | "posix-character-classes": "0.1.1", 1108 | "regex-not": "1.0.0", 1109 | "snapdragon": "0.8.1", 1110 | "to-regex": "3.0.1" 1111 | }, 1112 | "dependencies": { 1113 | "define-property": { 1114 | "version": "0.2.5", 1115 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", 1116 | "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", 1117 | "dev": true, 1118 | "requires": { 1119 | "is-descriptor": "0.1.6" 1120 | } 1121 | }, 1122 | "is-accessor-descriptor": { 1123 | "version": "0.1.6", 1124 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", 1125 | "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", 1126 | "dev": true, 1127 | "requires": { 1128 | "kind-of": "3.2.2" 1129 | }, 1130 | "dependencies": { 1131 | "kind-of": { 1132 | "version": "3.2.2", 1133 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 1134 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 1135 | "dev": true, 1136 | "requires": { 1137 | "is-buffer": "1.1.6" 1138 | } 1139 | } 1140 | } 1141 | }, 1142 | "is-data-descriptor": { 1143 | "version": "0.1.4", 1144 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", 1145 | "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", 1146 | "dev": true, 1147 | "requires": { 1148 | "kind-of": "3.2.2" 1149 | }, 1150 | "dependencies": { 1151 | "kind-of": { 1152 | "version": "3.2.2", 1153 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 1154 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 1155 | "dev": true, 1156 | "requires": { 1157 | "is-buffer": "1.1.6" 1158 | } 1159 | } 1160 | } 1161 | }, 1162 | "is-descriptor": { 1163 | "version": "0.1.6", 1164 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", 1165 | "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", 1166 | "dev": true, 1167 | "requires": { 1168 | "is-accessor-descriptor": "0.1.6", 1169 | "is-data-descriptor": "0.1.4", 1170 | "kind-of": "5.1.0" 1171 | } 1172 | }, 1173 | "kind-of": { 1174 | "version": "5.1.0", 1175 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", 1176 | "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", 1177 | "dev": true 1178 | } 1179 | } 1180 | }, 1181 | "expand-tilde": { 1182 | "version": "2.0.2", 1183 | "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", 1184 | "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", 1185 | "dev": true, 1186 | "requires": { 1187 | "homedir-polyfill": "1.0.1" 1188 | } 1189 | }, 1190 | "extend": { 1191 | "version": "3.0.1", 1192 | "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", 1193 | "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=", 1194 | "dev": true 1195 | }, 1196 | "extend-shallow": { 1197 | "version": "2.0.1", 1198 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", 1199 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", 1200 | "dev": true, 1201 | "requires": { 1202 | "is-extendable": "0.1.1" 1203 | } 1204 | }, 1205 | "extglob": { 1206 | "version": "2.0.4", 1207 | "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", 1208 | "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", 1209 | "dev": true, 1210 | "requires": { 1211 | "array-unique": "0.3.2", 1212 | "define-property": "1.0.0", 1213 | "expand-brackets": "2.1.4", 1214 | "extend-shallow": "2.0.1", 1215 | "fragment-cache": "0.2.1", 1216 | "regex-not": "1.0.0", 1217 | "snapdragon": "0.8.1", 1218 | "to-regex": "3.0.1" 1219 | } 1220 | }, 1221 | "extsprintf": { 1222 | "version": "1.3.0", 1223 | "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", 1224 | "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", 1225 | "dev": true 1226 | }, 1227 | "fancy-log": { 1228 | "version": "1.3.2", 1229 | "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.2.tgz", 1230 | "integrity": "sha1-9BEl49hPLn2JpD0G2VjI94vha+E=", 1231 | "dev": true, 1232 | "requires": { 1233 | "ansi-gray": "0.1.1", 1234 | "color-support": "1.1.3", 1235 | "time-stamp": "1.1.0" 1236 | } 1237 | }, 1238 | "fill-range": { 1239 | "version": "4.0.0", 1240 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", 1241 | "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", 1242 | "dev": true, 1243 | "requires": { 1244 | "extend-shallow": "2.0.1", 1245 | "is-number": "3.0.0", 1246 | "repeat-string": "1.6.1", 1247 | "to-regex-range": "2.1.1" 1248 | } 1249 | }, 1250 | "find-index": { 1251 | "version": "0.1.1", 1252 | "resolved": "https://registry.npmjs.org/find-index/-/find-index-0.1.1.tgz", 1253 | "integrity": "sha1-Z101iyyjiS15Whq0cjL4tuLg3eQ=", 1254 | "dev": true 1255 | }, 1256 | "find-up": { 1257 | "version": "1.1.2", 1258 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", 1259 | "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", 1260 | "dev": true, 1261 | "requires": { 1262 | "path-exists": "2.1.0", 1263 | "pinkie-promise": "2.0.1" 1264 | } 1265 | }, 1266 | "findup-sync": { 1267 | "version": "2.0.0", 1268 | "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz", 1269 | "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=", 1270 | "dev": true, 1271 | "requires": { 1272 | "detect-file": "1.0.0", 1273 | "is-glob": "3.1.0", 1274 | "micromatch": "3.1.5", 1275 | "resolve-dir": "1.0.1" 1276 | } 1277 | }, 1278 | "fined": { 1279 | "version": "1.1.0", 1280 | "resolved": "https://registry.npmjs.org/fined/-/fined-1.1.0.tgz", 1281 | "integrity": "sha1-s33IRLdqL15wgeiE98CuNE8VNHY=", 1282 | "dev": true, 1283 | "requires": { 1284 | "expand-tilde": "2.0.2", 1285 | "is-plain-object": "2.0.4", 1286 | "object.defaults": "1.1.0", 1287 | "object.pick": "1.3.0", 1288 | "parse-filepath": "1.0.2" 1289 | } 1290 | }, 1291 | "first-chunk-stream": { 1292 | "version": "1.0.0", 1293 | "resolved": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz", 1294 | "integrity": "sha1-Wb+1DNkF9g18OUzT2ayqtOatk04=", 1295 | "dev": true 1296 | }, 1297 | "flagged-respawn": { 1298 | "version": "1.0.0", 1299 | "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.0.tgz", 1300 | "integrity": "sha1-Tnmumy6zi/hrO7Vr8+ClaqX8q9c=", 1301 | "dev": true 1302 | }, 1303 | "for-in": { 1304 | "version": "1.0.2", 1305 | "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", 1306 | "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", 1307 | "dev": true 1308 | }, 1309 | "for-own": { 1310 | "version": "1.0.0", 1311 | "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", 1312 | "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", 1313 | "dev": true, 1314 | "requires": { 1315 | "for-in": "1.0.2" 1316 | } 1317 | }, 1318 | "forever-agent": { 1319 | "version": "0.6.1", 1320 | "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", 1321 | "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", 1322 | "dev": true 1323 | }, 1324 | "form-data": { 1325 | "version": "2.1.4", 1326 | "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz", 1327 | "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=", 1328 | "dev": true, 1329 | "requires": { 1330 | "asynckit": "0.4.0", 1331 | "combined-stream": "1.0.5", 1332 | "mime-types": "2.1.17" 1333 | } 1334 | }, 1335 | "fragment-cache": { 1336 | "version": "0.2.1", 1337 | "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", 1338 | "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", 1339 | "dev": true, 1340 | "requires": { 1341 | "map-cache": "0.2.2" 1342 | } 1343 | }, 1344 | "fs.realpath": { 1345 | "version": "1.0.0", 1346 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 1347 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", 1348 | "dev": true 1349 | }, 1350 | "fstream": { 1351 | "version": "1.0.11", 1352 | "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz", 1353 | "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=", 1354 | "dev": true, 1355 | "requires": { 1356 | "graceful-fs": "4.1.11", 1357 | "inherits": "2.0.3", 1358 | "mkdirp": "0.5.1", 1359 | "rimraf": "2.6.2" 1360 | }, 1361 | "dependencies": { 1362 | "graceful-fs": { 1363 | "version": "4.1.11", 1364 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", 1365 | "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", 1366 | "dev": true 1367 | } 1368 | } 1369 | }, 1370 | "gauge": { 1371 | "version": "2.7.4", 1372 | "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", 1373 | "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", 1374 | "dev": true, 1375 | "requires": { 1376 | "aproba": "1.2.0", 1377 | "console-control-strings": "1.1.0", 1378 | "has-unicode": "2.0.1", 1379 | "object-assign": "4.1.1", 1380 | "signal-exit": "3.0.2", 1381 | "string-width": "1.0.2", 1382 | "strip-ansi": "3.0.1", 1383 | "wide-align": "1.1.2" 1384 | }, 1385 | "dependencies": { 1386 | "object-assign": { 1387 | "version": "4.1.1", 1388 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", 1389 | "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", 1390 | "dev": true 1391 | } 1392 | } 1393 | }, 1394 | "gaze": { 1395 | "version": "0.5.2", 1396 | "resolved": "https://registry.npmjs.org/gaze/-/gaze-0.5.2.tgz", 1397 | "integrity": "sha1-QLcJU30k0dRXZ9takIaJ3+aaxE8=", 1398 | "dev": true, 1399 | "requires": { 1400 | "globule": "0.1.0" 1401 | } 1402 | }, 1403 | "generate-function": { 1404 | "version": "2.0.0", 1405 | "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz", 1406 | "integrity": "sha1-aFj+fAlpt9TpCTM3ZHrHn2DfvnQ=", 1407 | "dev": true 1408 | }, 1409 | "generate-object-property": { 1410 | "version": "1.2.0", 1411 | "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", 1412 | "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=", 1413 | "dev": true, 1414 | "requires": { 1415 | "is-property": "1.0.2" 1416 | } 1417 | }, 1418 | "get-caller-file": { 1419 | "version": "1.0.2", 1420 | "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", 1421 | "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=", 1422 | "dev": true 1423 | }, 1424 | "get-stdin": { 1425 | "version": "4.0.1", 1426 | "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", 1427 | "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", 1428 | "dev": true 1429 | }, 1430 | "get-value": { 1431 | "version": "2.0.6", 1432 | "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", 1433 | "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", 1434 | "dev": true 1435 | }, 1436 | "getpass": { 1437 | "version": "0.1.7", 1438 | "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", 1439 | "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", 1440 | "dev": true, 1441 | "requires": { 1442 | "assert-plus": "1.0.0" 1443 | }, 1444 | "dependencies": { 1445 | "assert-plus": { 1446 | "version": "1.0.0", 1447 | "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", 1448 | "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", 1449 | "dev": true 1450 | } 1451 | } 1452 | }, 1453 | "glob": { 1454 | "version": "4.5.3", 1455 | "resolved": "https://registry.npmjs.org/glob/-/glob-4.5.3.tgz", 1456 | "integrity": "sha1-xstz0yJsHv7wTePFbQEvAzd+4V8=", 1457 | "dev": true, 1458 | "requires": { 1459 | "inflight": "1.0.6", 1460 | "inherits": "2.0.3", 1461 | "minimatch": "2.0.10", 1462 | "once": "1.3.3" 1463 | } 1464 | }, 1465 | "glob-stream": { 1466 | "version": "3.1.18", 1467 | "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-3.1.18.tgz", 1468 | "integrity": "sha1-kXCl8St5Awb9/lmPMT+PeVT9FDs=", 1469 | "dev": true, 1470 | "requires": { 1471 | "glob": "4.5.3", 1472 | "glob2base": "0.0.12", 1473 | "minimatch": "2.0.10", 1474 | "ordered-read-streams": "0.1.0", 1475 | "through2": "0.6.5", 1476 | "unique-stream": "1.0.0" 1477 | }, 1478 | "dependencies": { 1479 | "readable-stream": { 1480 | "version": "1.0.34", 1481 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", 1482 | "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", 1483 | "dev": true, 1484 | "requires": { 1485 | "core-util-is": "1.0.2", 1486 | "inherits": "2.0.3", 1487 | "isarray": "0.0.1", 1488 | "string_decoder": "0.10.31" 1489 | } 1490 | }, 1491 | "through2": { 1492 | "version": "0.6.5", 1493 | "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", 1494 | "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", 1495 | "dev": true, 1496 | "requires": { 1497 | "readable-stream": "1.0.34", 1498 | "xtend": "4.0.1" 1499 | } 1500 | } 1501 | } 1502 | }, 1503 | "glob-watcher": { 1504 | "version": "0.0.6", 1505 | "resolved": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-0.0.6.tgz", 1506 | "integrity": "sha1-uVtKjfdLOcgymLDAXJeLTZo7cQs=", 1507 | "dev": true, 1508 | "requires": { 1509 | "gaze": "0.5.2" 1510 | } 1511 | }, 1512 | "glob2base": { 1513 | "version": "0.0.12", 1514 | "resolved": "https://registry.npmjs.org/glob2base/-/glob2base-0.0.12.tgz", 1515 | "integrity": "sha1-nUGbPijxLoOjYhZKJ3BVkiycDVY=", 1516 | "dev": true, 1517 | "requires": { 1518 | "find-index": "0.1.1" 1519 | } 1520 | }, 1521 | "global-modules": { 1522 | "version": "1.0.0", 1523 | "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", 1524 | "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", 1525 | "dev": true, 1526 | "requires": { 1527 | "global-prefix": "1.0.2", 1528 | "is-windows": "1.0.1", 1529 | "resolve-dir": "1.0.1" 1530 | } 1531 | }, 1532 | "global-prefix": { 1533 | "version": "1.0.2", 1534 | "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", 1535 | "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", 1536 | "dev": true, 1537 | "requires": { 1538 | "expand-tilde": "2.0.2", 1539 | "homedir-polyfill": "1.0.1", 1540 | "ini": "1.3.5", 1541 | "is-windows": "1.0.1", 1542 | "which": "1.3.0" 1543 | } 1544 | }, 1545 | "globule": { 1546 | "version": "0.1.0", 1547 | "resolved": "https://registry.npmjs.org/globule/-/globule-0.1.0.tgz", 1548 | "integrity": "sha1-2cjt3h2nnRJaFRt5UzuXhnY0auU=", 1549 | "dev": true, 1550 | "requires": { 1551 | "glob": "3.1.21", 1552 | "lodash": "1.0.2", 1553 | "minimatch": "0.2.14" 1554 | }, 1555 | "dependencies": { 1556 | "glob": { 1557 | "version": "3.1.21", 1558 | "resolved": "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz", 1559 | "integrity": "sha1-0p4KBV3qUTj00H7UDomC6DwgZs0=", 1560 | "dev": true, 1561 | "requires": { 1562 | "graceful-fs": "1.2.3", 1563 | "inherits": "1.0.2", 1564 | "minimatch": "0.2.14" 1565 | } 1566 | }, 1567 | "graceful-fs": { 1568 | "version": "1.2.3", 1569 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz", 1570 | "integrity": "sha1-FaSAaldUfLLS2/J/QuiajDRRs2Q=", 1571 | "dev": true 1572 | }, 1573 | "inherits": { 1574 | "version": "1.0.2", 1575 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-1.0.2.tgz", 1576 | "integrity": "sha1-ykMJ2t7mtUzAuNJH6NfHoJdb3Js=", 1577 | "dev": true 1578 | }, 1579 | "minimatch": { 1580 | "version": "0.2.14", 1581 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", 1582 | "integrity": "sha1-x054BXT2PG+aCQ6Q775u9TpqdWo=", 1583 | "dev": true, 1584 | "requires": { 1585 | "lru-cache": "2.7.3", 1586 | "sigmund": "1.0.1" 1587 | } 1588 | } 1589 | } 1590 | }, 1591 | "glogg": { 1592 | "version": "1.0.0", 1593 | "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.0.tgz", 1594 | "integrity": "sha1-f+DxmfV6yQbPUS/urY+Q7kooT8U=", 1595 | "dev": true, 1596 | "requires": { 1597 | "sparkles": "1.0.0" 1598 | } 1599 | }, 1600 | "graceful-fs": { 1601 | "version": "3.0.11", 1602 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.11.tgz", 1603 | "integrity": "sha1-dhPHeKGv6mLyXGMKCG1/Osu92Bg=", 1604 | "dev": true, 1605 | "requires": { 1606 | "natives": "1.1.1" 1607 | } 1608 | }, 1609 | "gulp": { 1610 | "version": "3.9.1", 1611 | "resolved": "https://registry.npmjs.org/gulp/-/gulp-3.9.1.tgz", 1612 | "integrity": "sha1-VxzkWSjdQK9lFPxAEYZgFsE4RbQ=", 1613 | "dev": true, 1614 | "requires": { 1615 | "archy": "1.0.0", 1616 | "chalk": "1.1.3", 1617 | "deprecated": "0.0.1", 1618 | "gulp-util": "3.0.8", 1619 | "interpret": "1.1.0", 1620 | "liftoff": "2.5.0", 1621 | "minimist": "1.2.0", 1622 | "orchestrator": "0.3.8", 1623 | "pretty-hrtime": "1.0.3", 1624 | "semver": "4.3.6", 1625 | "tildify": "1.2.0", 1626 | "v8flags": "2.1.1", 1627 | "vinyl-fs": "0.3.14" 1628 | } 1629 | }, 1630 | "gulp-angular-embed-templates": { 1631 | "version": "2.3.0", 1632 | "resolved": "https://registry.npmjs.org/gulp-angular-embed-templates/-/gulp-angular-embed-templates-2.3.0.tgz", 1633 | "integrity": "sha1-wBDv3VlN7pRRMoNFN9eSOt6EDXk=", 1634 | "dev": true, 1635 | "requires": { 1636 | "gulp-util": "3.0.8", 1637 | "htmlparser2": "3.9.2", 1638 | "minimize": "2.1.0", 1639 | "object-assign": "4.1.0", 1640 | "through2": "2.0.3" 1641 | }, 1642 | "dependencies": { 1643 | "object-assign": { 1644 | "version": "4.1.0", 1645 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz", 1646 | "integrity": "sha1-ejs9DpgGPUP0wD8uiubNUahog6A=", 1647 | "dev": true 1648 | } 1649 | } 1650 | }, 1651 | "gulp-angular2-embed-sass": { 1652 | "version": "0.5.1", 1653 | "resolved": "https://registry.npmjs.org/gulp-angular2-embed-sass/-/gulp-angular2-embed-sass-0.5.1.tgz", 1654 | "integrity": "sha512-QaNccpZ95AzRtTNtIPbQmPIr9RZsgrd7zlkOr7LASnQbfXTAsjJqRUhdusRoMtZW6bPhLO2qDDGu7woda0mcoA==", 1655 | "dev": true, 1656 | "requires": { 1657 | "autoprefixer": "7.2.5", 1658 | "gulp-util": "3.0.8", 1659 | "less": "2.7.3", 1660 | "node-sass": "4.7.2", 1661 | "postcss": "6.0.16", 1662 | "through2": "2.0.3" 1663 | } 1664 | }, 1665 | "gulp-util": { 1666 | "version": "3.0.8", 1667 | "resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz", 1668 | "integrity": "sha1-AFTh50RQLifATBh8PsxQXdVLu08=", 1669 | "dev": true, 1670 | "requires": { 1671 | "array-differ": "1.0.0", 1672 | "array-uniq": "1.0.3", 1673 | "beeper": "1.1.1", 1674 | "chalk": "1.1.3", 1675 | "dateformat": "2.2.0", 1676 | "fancy-log": "1.3.2", 1677 | "gulplog": "1.0.0", 1678 | "has-gulplog": "0.1.0", 1679 | "lodash._reescape": "3.0.0", 1680 | "lodash._reevaluate": "3.0.0", 1681 | "lodash._reinterpolate": "3.0.0", 1682 | "lodash.template": "3.6.2", 1683 | "minimist": "1.2.0", 1684 | "multipipe": "0.1.2", 1685 | "object-assign": "3.0.0", 1686 | "replace-ext": "0.0.1", 1687 | "through2": "2.0.3", 1688 | "vinyl": "0.5.3" 1689 | } 1690 | }, 1691 | "gulplog": { 1692 | "version": "1.0.0", 1693 | "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz", 1694 | "integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=", 1695 | "dev": true, 1696 | "requires": { 1697 | "glogg": "1.0.0" 1698 | } 1699 | }, 1700 | "har-schema": { 1701 | "version": "1.0.5", 1702 | "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz", 1703 | "integrity": "sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4=", 1704 | "dev": true 1705 | }, 1706 | "har-validator": { 1707 | "version": "4.2.1", 1708 | "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz", 1709 | "integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=", 1710 | "dev": true, 1711 | "requires": { 1712 | "ajv": "4.11.8", 1713 | "har-schema": "1.0.5" 1714 | } 1715 | }, 1716 | "has-ansi": { 1717 | "version": "2.0.0", 1718 | "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", 1719 | "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", 1720 | "dev": true, 1721 | "requires": { 1722 | "ansi-regex": "2.1.1" 1723 | } 1724 | }, 1725 | "has-flag": { 1726 | "version": "2.0.0", 1727 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", 1728 | "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", 1729 | "dev": true 1730 | }, 1731 | "has-gulplog": { 1732 | "version": "0.1.0", 1733 | "resolved": "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz", 1734 | "integrity": "sha1-ZBTIKRNpfaUVkDl9r7EvIpZ4Ec4=", 1735 | "dev": true, 1736 | "requires": { 1737 | "sparkles": "1.0.0" 1738 | } 1739 | }, 1740 | "has-unicode": { 1741 | "version": "2.0.1", 1742 | "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", 1743 | "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", 1744 | "dev": true 1745 | }, 1746 | "has-value": { 1747 | "version": "1.0.0", 1748 | "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", 1749 | "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", 1750 | "dev": true, 1751 | "requires": { 1752 | "get-value": "2.0.6", 1753 | "has-values": "1.0.0", 1754 | "isobject": "3.0.1" 1755 | } 1756 | }, 1757 | "has-values": { 1758 | "version": "1.0.0", 1759 | "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", 1760 | "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", 1761 | "dev": true, 1762 | "requires": { 1763 | "is-number": "3.0.0", 1764 | "kind-of": "4.0.0" 1765 | }, 1766 | "dependencies": { 1767 | "kind-of": { 1768 | "version": "4.0.0", 1769 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", 1770 | "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", 1771 | "dev": true, 1772 | "requires": { 1773 | "is-buffer": "1.1.6" 1774 | } 1775 | } 1776 | } 1777 | }, 1778 | "hawk": { 1779 | "version": "3.1.3", 1780 | "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", 1781 | "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", 1782 | "dev": true, 1783 | "requires": { 1784 | "boom": "2.10.1", 1785 | "cryptiles": "2.0.5", 1786 | "hoek": "2.16.3", 1787 | "sntp": "1.0.9" 1788 | } 1789 | }, 1790 | "hoek": { 1791 | "version": "2.16.3", 1792 | "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", 1793 | "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=", 1794 | "dev": true 1795 | }, 1796 | "homedir-polyfill": { 1797 | "version": "1.0.1", 1798 | "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz", 1799 | "integrity": "sha1-TCu8inWJmP7r9e1oWA921GdotLw=", 1800 | "dev": true, 1801 | "requires": { 1802 | "parse-passwd": "1.0.0" 1803 | } 1804 | }, 1805 | "hosted-git-info": { 1806 | "version": "2.5.0", 1807 | "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.5.0.tgz", 1808 | "integrity": "sha512-pNgbURSuab90KbTqvRPsseaTxOJCZBD0a7t+haSN33piP9cCM4l0CqdzAif2hUqm716UovKB2ROmiabGAKVXyg==", 1809 | "dev": true 1810 | }, 1811 | "htmlparser2": { 1812 | "version": "3.9.2", 1813 | "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.9.2.tgz", 1814 | "integrity": "sha1-G9+HrMoPP55T+k/M6w9LTLsAszg=", 1815 | "dev": true, 1816 | "requires": { 1817 | "domelementtype": "1.3.0", 1818 | "domhandler": "2.4.1", 1819 | "domutils": "1.6.2", 1820 | "entities": "1.1.1", 1821 | "inherits": "2.0.3", 1822 | "readable-stream": "2.3.3" 1823 | }, 1824 | "dependencies": { 1825 | "isarray": { 1826 | "version": "1.0.0", 1827 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", 1828 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", 1829 | "dev": true 1830 | }, 1831 | "readable-stream": { 1832 | "version": "2.3.3", 1833 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", 1834 | "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", 1835 | "dev": true, 1836 | "requires": { 1837 | "core-util-is": "1.0.2", 1838 | "inherits": "2.0.3", 1839 | "isarray": "1.0.0", 1840 | "process-nextick-args": "1.0.7", 1841 | "safe-buffer": "5.1.1", 1842 | "string_decoder": "1.0.3", 1843 | "util-deprecate": "1.0.2" 1844 | } 1845 | }, 1846 | "string_decoder": { 1847 | "version": "1.0.3", 1848 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", 1849 | "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", 1850 | "dev": true, 1851 | "requires": { 1852 | "safe-buffer": "5.1.1" 1853 | } 1854 | } 1855 | } 1856 | }, 1857 | "http-signature": { 1858 | "version": "1.1.1", 1859 | "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", 1860 | "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", 1861 | "dev": true, 1862 | "requires": { 1863 | "assert-plus": "0.2.0", 1864 | "jsprim": "1.4.1", 1865 | "sshpk": "1.13.1" 1866 | } 1867 | }, 1868 | "image-size": { 1869 | "version": "0.5.5", 1870 | "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", 1871 | "integrity": "sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=", 1872 | "dev": true, 1873 | "optional": true 1874 | }, 1875 | "in-publish": { 1876 | "version": "2.0.0", 1877 | "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.0.tgz", 1878 | "integrity": "sha1-4g/146KvwmkDILbcVSaCqcf631E=", 1879 | "dev": true 1880 | }, 1881 | "indent-string": { 1882 | "version": "2.1.0", 1883 | "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", 1884 | "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", 1885 | "dev": true, 1886 | "requires": { 1887 | "repeating": "2.0.1" 1888 | } 1889 | }, 1890 | "inflight": { 1891 | "version": "1.0.6", 1892 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 1893 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", 1894 | "dev": true, 1895 | "requires": { 1896 | "once": "1.3.3", 1897 | "wrappy": "1.0.2" 1898 | } 1899 | }, 1900 | "inherits": { 1901 | "version": "2.0.3", 1902 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", 1903 | "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", 1904 | "dev": true 1905 | }, 1906 | "ini": { 1907 | "version": "1.3.5", 1908 | "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", 1909 | "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", 1910 | "dev": true 1911 | }, 1912 | "interpret": { 1913 | "version": "1.1.0", 1914 | "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz", 1915 | "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=", 1916 | "dev": true 1917 | }, 1918 | "invert-kv": { 1919 | "version": "1.0.0", 1920 | "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", 1921 | "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", 1922 | "dev": true 1923 | }, 1924 | "ionic-angular": { 1925 | "version": "3.9.2", 1926 | "resolved": "https://registry.npmjs.org/ionic-angular/-/ionic-angular-3.9.2.tgz", 1927 | "integrity": "sha512-BEZ6magY1i5GwM9ki/MOpszUz62+g518HsGICtw9TE1D4v9Eb6n/o7e+X0vtvpK4TdouFjQ8r5XA9VPAKW9/+Q==", 1928 | "dev": true 1929 | }, 1930 | "is-absolute": { 1931 | "version": "1.0.0", 1932 | "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz", 1933 | "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==", 1934 | "dev": true, 1935 | "requires": { 1936 | "is-relative": "1.0.0", 1937 | "is-windows": "1.0.1" 1938 | } 1939 | }, 1940 | "is-accessor-descriptor": { 1941 | "version": "1.0.0", 1942 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", 1943 | "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", 1944 | "dev": true, 1945 | "requires": { 1946 | "kind-of": "6.0.2" 1947 | } 1948 | }, 1949 | "is-arrayish": { 1950 | "version": "0.2.1", 1951 | "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", 1952 | "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", 1953 | "dev": true 1954 | }, 1955 | "is-buffer": { 1956 | "version": "1.1.6", 1957 | "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", 1958 | "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", 1959 | "dev": true 1960 | }, 1961 | "is-builtin-module": { 1962 | "version": "1.0.0", 1963 | "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", 1964 | "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", 1965 | "dev": true, 1966 | "requires": { 1967 | "builtin-modules": "1.1.1" 1968 | } 1969 | }, 1970 | "is-data-descriptor": { 1971 | "version": "1.0.0", 1972 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", 1973 | "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", 1974 | "dev": true, 1975 | "requires": { 1976 | "kind-of": "6.0.2" 1977 | } 1978 | }, 1979 | "is-descriptor": { 1980 | "version": "1.0.2", 1981 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", 1982 | "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", 1983 | "dev": true, 1984 | "requires": { 1985 | "is-accessor-descriptor": "1.0.0", 1986 | "is-data-descriptor": "1.0.0", 1987 | "kind-of": "6.0.2" 1988 | } 1989 | }, 1990 | "is-extendable": { 1991 | "version": "0.1.1", 1992 | "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", 1993 | "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", 1994 | "dev": true 1995 | }, 1996 | "is-extglob": { 1997 | "version": "2.1.1", 1998 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 1999 | "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", 2000 | "dev": true 2001 | }, 2002 | "is-finite": { 2003 | "version": "1.0.2", 2004 | "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", 2005 | "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", 2006 | "dev": true, 2007 | "requires": { 2008 | "number-is-nan": "1.0.1" 2009 | } 2010 | }, 2011 | "is-fullwidth-code-point": { 2012 | "version": "1.0.0", 2013 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", 2014 | "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", 2015 | "dev": true, 2016 | "requires": { 2017 | "number-is-nan": "1.0.1" 2018 | } 2019 | }, 2020 | "is-glob": { 2021 | "version": "3.1.0", 2022 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", 2023 | "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", 2024 | "dev": true, 2025 | "requires": { 2026 | "is-extglob": "2.1.1" 2027 | } 2028 | }, 2029 | "is-my-json-valid": { 2030 | "version": "2.17.1", 2031 | "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.17.1.tgz", 2032 | "integrity": "sha512-Q2khNw+oBlWuaYvEEHtKSw/pCxD2L5Rc1C+UQme9X6JdRDh7m5D7HkozA0qa3DUkQ6VzCnEm8mVIQPyIRkI5sQ==", 2033 | "dev": true, 2034 | "requires": { 2035 | "generate-function": "2.0.0", 2036 | "generate-object-property": "1.2.0", 2037 | "jsonpointer": "4.0.1", 2038 | "xtend": "4.0.1" 2039 | } 2040 | }, 2041 | "is-number": { 2042 | "version": "3.0.0", 2043 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", 2044 | "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", 2045 | "dev": true, 2046 | "requires": { 2047 | "kind-of": "3.2.2" 2048 | }, 2049 | "dependencies": { 2050 | "kind-of": { 2051 | "version": "3.2.2", 2052 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 2053 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 2054 | "dev": true, 2055 | "requires": { 2056 | "is-buffer": "1.1.6" 2057 | } 2058 | } 2059 | } 2060 | }, 2061 | "is-odd": { 2062 | "version": "1.0.0", 2063 | "resolved": "https://registry.npmjs.org/is-odd/-/is-odd-1.0.0.tgz", 2064 | "integrity": "sha1-O4qTLrAos3dcObsJ6RdnrM22kIg=", 2065 | "dev": true, 2066 | "requires": { 2067 | "is-number": "3.0.0" 2068 | } 2069 | }, 2070 | "is-plain-object": { 2071 | "version": "2.0.4", 2072 | "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", 2073 | "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", 2074 | "dev": true, 2075 | "requires": { 2076 | "isobject": "3.0.1" 2077 | } 2078 | }, 2079 | "is-promise": { 2080 | "version": "2.1.0", 2081 | "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", 2082 | "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", 2083 | "dev": true 2084 | }, 2085 | "is-property": { 2086 | "version": "1.0.2", 2087 | "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", 2088 | "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=", 2089 | "dev": true 2090 | }, 2091 | "is-relative": { 2092 | "version": "1.0.0", 2093 | "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", 2094 | "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", 2095 | "dev": true, 2096 | "requires": { 2097 | "is-unc-path": "1.0.0" 2098 | } 2099 | }, 2100 | "is-typedarray": { 2101 | "version": "1.0.0", 2102 | "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", 2103 | "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", 2104 | "dev": true 2105 | }, 2106 | "is-unc-path": { 2107 | "version": "1.0.0", 2108 | "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", 2109 | "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", 2110 | "dev": true, 2111 | "requires": { 2112 | "unc-path-regex": "0.1.2" 2113 | } 2114 | }, 2115 | "is-utf8": { 2116 | "version": "0.2.1", 2117 | "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", 2118 | "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", 2119 | "dev": true 2120 | }, 2121 | "is-windows": { 2122 | "version": "1.0.1", 2123 | "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.1.tgz", 2124 | "integrity": "sha1-MQ23D3QtJZoWo2kgK1GvhCMzENk=", 2125 | "dev": true 2126 | }, 2127 | "isarray": { 2128 | "version": "0.0.1", 2129 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", 2130 | "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", 2131 | "dev": true 2132 | }, 2133 | "isexe": { 2134 | "version": "2.0.0", 2135 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 2136 | "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", 2137 | "dev": true 2138 | }, 2139 | "isobject": { 2140 | "version": "3.0.1", 2141 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", 2142 | "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", 2143 | "dev": true 2144 | }, 2145 | "isstream": { 2146 | "version": "0.1.2", 2147 | "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", 2148 | "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", 2149 | "dev": true 2150 | }, 2151 | "js-base64": { 2152 | "version": "2.4.0", 2153 | "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.4.0.tgz", 2154 | "integrity": "sha512-Wehd+7Pf9tFvGb+ydPm9TjYjV8X1YHOVyG8QyELZxEMqOhemVwGRmoG8iQ/soqI3n8v4xn59zaLxiCJiaaRzKA==", 2155 | "dev": true 2156 | }, 2157 | "jsbn": { 2158 | "version": "0.1.1", 2159 | "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", 2160 | "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", 2161 | "dev": true, 2162 | "optional": true 2163 | }, 2164 | "json-schema": { 2165 | "version": "0.2.3", 2166 | "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", 2167 | "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", 2168 | "dev": true 2169 | }, 2170 | "json-stable-stringify": { 2171 | "version": "1.0.1", 2172 | "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", 2173 | "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", 2174 | "dev": true, 2175 | "requires": { 2176 | "jsonify": "0.0.0" 2177 | } 2178 | }, 2179 | "json-stringify-safe": { 2180 | "version": "5.0.1", 2181 | "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", 2182 | "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", 2183 | "dev": true 2184 | }, 2185 | "jsonify": { 2186 | "version": "0.0.0", 2187 | "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", 2188 | "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", 2189 | "dev": true 2190 | }, 2191 | "jsonpointer": { 2192 | "version": "4.0.1", 2193 | "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz", 2194 | "integrity": "sha1-T9kss04OnbPInIYi7PUfm5eMbLk=", 2195 | "dev": true 2196 | }, 2197 | "jsprim": { 2198 | "version": "1.4.1", 2199 | "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", 2200 | "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", 2201 | "dev": true, 2202 | "requires": { 2203 | "assert-plus": "1.0.0", 2204 | "extsprintf": "1.3.0", 2205 | "json-schema": "0.2.3", 2206 | "verror": "1.10.0" 2207 | }, 2208 | "dependencies": { 2209 | "assert-plus": { 2210 | "version": "1.0.0", 2211 | "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", 2212 | "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", 2213 | "dev": true 2214 | } 2215 | } 2216 | }, 2217 | "kind-of": { 2218 | "version": "6.0.2", 2219 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", 2220 | "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", 2221 | "dev": true 2222 | }, 2223 | "kuler": { 2224 | "version": "0.0.0", 2225 | "resolved": "https://registry.npmjs.org/kuler/-/kuler-0.0.0.tgz", 2226 | "integrity": "sha1-tmu0a5NOVQ9Z2BiEjgq7pPf1VTw=", 2227 | "dev": true, 2228 | "requires": { 2229 | "colornames": "0.0.2" 2230 | } 2231 | }, 2232 | "lazy-cache": { 2233 | "version": "2.0.2", 2234 | "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz", 2235 | "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=", 2236 | "dev": true, 2237 | "requires": { 2238 | "set-getter": "0.1.0" 2239 | } 2240 | }, 2241 | "lcid": { 2242 | "version": "1.0.0", 2243 | "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", 2244 | "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", 2245 | "dev": true, 2246 | "requires": { 2247 | "invert-kv": "1.0.0" 2248 | } 2249 | }, 2250 | "less": { 2251 | "version": "2.7.3", 2252 | "resolved": "https://registry.npmjs.org/less/-/less-2.7.3.tgz", 2253 | "integrity": "sha512-KPdIJKWcEAb02TuJtaLrhue0krtRLoRoo7x6BNJIBelO00t/CCdJQUnHW5V34OnHMWzIktSalJxRO+FvytQlCQ==", 2254 | "dev": true, 2255 | "requires": { 2256 | "errno": "0.1.6", 2257 | "graceful-fs": "4.1.11", 2258 | "image-size": "0.5.5", 2259 | "mime": "1.6.0", 2260 | "mkdirp": "0.5.1", 2261 | "promise": "7.3.1", 2262 | "request": "2.81.0", 2263 | "source-map": "0.5.7" 2264 | }, 2265 | "dependencies": { 2266 | "graceful-fs": { 2267 | "version": "4.1.11", 2268 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", 2269 | "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", 2270 | "dev": true, 2271 | "optional": true 2272 | } 2273 | } 2274 | }, 2275 | "liftoff": { 2276 | "version": "2.5.0", 2277 | "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-2.5.0.tgz", 2278 | "integrity": "sha1-IAkpG7Mc6oYbvxCnwVooyvdcMew=", 2279 | "dev": true, 2280 | "requires": { 2281 | "extend": "3.0.1", 2282 | "findup-sync": "2.0.0", 2283 | "fined": "1.1.0", 2284 | "flagged-respawn": "1.0.0", 2285 | "is-plain-object": "2.0.4", 2286 | "object.map": "1.0.1", 2287 | "rechoir": "0.6.2", 2288 | "resolve": "1.5.0" 2289 | } 2290 | }, 2291 | "load-json-file": { 2292 | "version": "1.1.0", 2293 | "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", 2294 | "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", 2295 | "dev": true, 2296 | "requires": { 2297 | "graceful-fs": "4.1.11", 2298 | "parse-json": "2.2.0", 2299 | "pify": "2.3.0", 2300 | "pinkie-promise": "2.0.1", 2301 | "strip-bom": "2.0.0" 2302 | }, 2303 | "dependencies": { 2304 | "graceful-fs": { 2305 | "version": "4.1.11", 2306 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", 2307 | "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", 2308 | "dev": true 2309 | }, 2310 | "strip-bom": { 2311 | "version": "2.0.0", 2312 | "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", 2313 | "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", 2314 | "dev": true, 2315 | "requires": { 2316 | "is-utf8": "0.2.1" 2317 | } 2318 | } 2319 | } 2320 | }, 2321 | "lodash": { 2322 | "version": "1.0.2", 2323 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-1.0.2.tgz", 2324 | "integrity": "sha1-j1dWDIO1n8JwvT1WG2kAQ0MOJVE=", 2325 | "dev": true 2326 | }, 2327 | "lodash._basecopy": { 2328 | "version": "3.0.1", 2329 | "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz", 2330 | "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=", 2331 | "dev": true 2332 | }, 2333 | "lodash._basetostring": { 2334 | "version": "3.0.1", 2335 | "resolved": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz", 2336 | "integrity": "sha1-0YYdh3+CSlL2aYMtyvPuFVZqB9U=", 2337 | "dev": true 2338 | }, 2339 | "lodash._basevalues": { 2340 | "version": "3.0.0", 2341 | "resolved": "https://registry.npmjs.org/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz", 2342 | "integrity": "sha1-W3dXYoAr3j0yl1A+JjAIIP32Ybc=", 2343 | "dev": true 2344 | }, 2345 | "lodash._getnative": { 2346 | "version": "3.9.1", 2347 | "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz", 2348 | "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=", 2349 | "dev": true 2350 | }, 2351 | "lodash._isiterateecall": { 2352 | "version": "3.0.9", 2353 | "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz", 2354 | "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=", 2355 | "dev": true 2356 | }, 2357 | "lodash._reescape": { 2358 | "version": "3.0.0", 2359 | "resolved": "https://registry.npmjs.org/lodash._reescape/-/lodash._reescape-3.0.0.tgz", 2360 | "integrity": "sha1-Kx1vXf4HyKNVdT5fJ/rH8c3hYWo=", 2361 | "dev": true 2362 | }, 2363 | "lodash._reevaluate": { 2364 | "version": "3.0.0", 2365 | "resolved": "https://registry.npmjs.org/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz", 2366 | "integrity": "sha1-WLx0xAZklTrgsSTYBpltrKQx4u0=", 2367 | "dev": true 2368 | }, 2369 | "lodash._reinterpolate": { 2370 | "version": "3.0.0", 2371 | "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", 2372 | "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=", 2373 | "dev": true 2374 | }, 2375 | "lodash._root": { 2376 | "version": "3.0.1", 2377 | "resolved": "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz", 2378 | "integrity": "sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI=", 2379 | "dev": true 2380 | }, 2381 | "lodash.assign": { 2382 | "version": "4.2.0", 2383 | "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", 2384 | "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=", 2385 | "dev": true 2386 | }, 2387 | "lodash.clonedeep": { 2388 | "version": "4.5.0", 2389 | "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", 2390 | "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", 2391 | "dev": true 2392 | }, 2393 | "lodash.escape": { 2394 | "version": "3.2.0", 2395 | "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz", 2396 | "integrity": "sha1-mV7g3BjBtIzJLv+ucaEKq1tIdpg=", 2397 | "dev": true, 2398 | "requires": { 2399 | "lodash._root": "3.0.1" 2400 | } 2401 | }, 2402 | "lodash.isarguments": { 2403 | "version": "3.1.0", 2404 | "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", 2405 | "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=", 2406 | "dev": true 2407 | }, 2408 | "lodash.isarray": { 2409 | "version": "3.0.4", 2410 | "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz", 2411 | "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=", 2412 | "dev": true 2413 | }, 2414 | "lodash.keys": { 2415 | "version": "3.1.2", 2416 | "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz", 2417 | "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=", 2418 | "dev": true, 2419 | "requires": { 2420 | "lodash._getnative": "3.9.1", 2421 | "lodash.isarguments": "3.1.0", 2422 | "lodash.isarray": "3.0.4" 2423 | } 2424 | }, 2425 | "lodash.mergewith": { 2426 | "version": "4.6.0", 2427 | "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.0.tgz", 2428 | "integrity": "sha1-FQzwoWeR9ZA7iJHqsVRgknS96lU=", 2429 | "dev": true 2430 | }, 2431 | "lodash.restparam": { 2432 | "version": "3.6.1", 2433 | "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz", 2434 | "integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=", 2435 | "dev": true 2436 | }, 2437 | "lodash.template": { 2438 | "version": "3.6.2", 2439 | "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz", 2440 | "integrity": "sha1-+M3sxhaaJVvpCYrosMU9N4kx0U8=", 2441 | "dev": true, 2442 | "requires": { 2443 | "lodash._basecopy": "3.0.1", 2444 | "lodash._basetostring": "3.0.1", 2445 | "lodash._basevalues": "3.0.0", 2446 | "lodash._isiterateecall": "3.0.9", 2447 | "lodash._reinterpolate": "3.0.0", 2448 | "lodash.escape": "3.2.0", 2449 | "lodash.keys": "3.1.2", 2450 | "lodash.restparam": "3.6.1", 2451 | "lodash.templatesettings": "3.1.1" 2452 | } 2453 | }, 2454 | "lodash.templatesettings": { 2455 | "version": "3.1.1", 2456 | "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz", 2457 | "integrity": "sha1-+zB4RHU7Zrnxr6VOJix0UwfbqOU=", 2458 | "dev": true, 2459 | "requires": { 2460 | "lodash._reinterpolate": "3.0.0", 2461 | "lodash.escape": "3.2.0" 2462 | } 2463 | }, 2464 | "loud-rejection": { 2465 | "version": "1.6.0", 2466 | "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", 2467 | "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", 2468 | "dev": true, 2469 | "requires": { 2470 | "currently-unhandled": "0.4.1", 2471 | "signal-exit": "3.0.2" 2472 | } 2473 | }, 2474 | "lru-cache": { 2475 | "version": "2.7.3", 2476 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz", 2477 | "integrity": "sha1-bUUk6LlV+V1PW1iFHOId1y+06VI=", 2478 | "dev": true 2479 | }, 2480 | "lru-queue": { 2481 | "version": "0.1.0", 2482 | "resolved": "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz", 2483 | "integrity": "sha1-Jzi9nw089PhEkMVzbEhpmsYyzaM=", 2484 | "dev": true, 2485 | "requires": { 2486 | "es5-ext": "0.10.38" 2487 | } 2488 | }, 2489 | "make-iterator": { 2490 | "version": "1.0.0", 2491 | "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.0.tgz", 2492 | "integrity": "sha1-V7713IXSOSO6I3ZzJNjo+PPZaUs=", 2493 | "dev": true, 2494 | "requires": { 2495 | "kind-of": "3.2.2" 2496 | }, 2497 | "dependencies": { 2498 | "kind-of": { 2499 | "version": "3.2.2", 2500 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 2501 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 2502 | "dev": true, 2503 | "requires": { 2504 | "is-buffer": "1.1.6" 2505 | } 2506 | } 2507 | } 2508 | }, 2509 | "map-cache": { 2510 | "version": "0.2.2", 2511 | "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", 2512 | "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", 2513 | "dev": true 2514 | }, 2515 | "map-obj": { 2516 | "version": "1.0.1", 2517 | "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", 2518 | "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", 2519 | "dev": true 2520 | }, 2521 | "map-visit": { 2522 | "version": "1.0.0", 2523 | "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", 2524 | "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", 2525 | "dev": true, 2526 | "requires": { 2527 | "object-visit": "1.0.1" 2528 | } 2529 | }, 2530 | "memoizee": { 2531 | "version": "0.4.11", 2532 | "resolved": "https://registry.npmjs.org/memoizee/-/memoizee-0.4.11.tgz", 2533 | "integrity": "sha1-vemBdmPJ5A/bKk6hw2cpYIeujI8=", 2534 | "dev": true, 2535 | "requires": { 2536 | "d": "1.0.0", 2537 | "es5-ext": "0.10.38", 2538 | "es6-weak-map": "2.0.2", 2539 | "event-emitter": "0.3.5", 2540 | "is-promise": "2.1.0", 2541 | "lru-queue": "0.1.0", 2542 | "next-tick": "1.0.0", 2543 | "timers-ext": "0.1.2" 2544 | } 2545 | }, 2546 | "meow": { 2547 | "version": "3.7.0", 2548 | "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", 2549 | "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", 2550 | "dev": true, 2551 | "requires": { 2552 | "camelcase-keys": "2.1.0", 2553 | "decamelize": "1.2.0", 2554 | "loud-rejection": "1.6.0", 2555 | "map-obj": "1.0.1", 2556 | "minimist": "1.2.0", 2557 | "normalize-package-data": "2.4.0", 2558 | "object-assign": "4.1.1", 2559 | "read-pkg-up": "1.0.1", 2560 | "redent": "1.0.0", 2561 | "trim-newlines": "1.0.0" 2562 | }, 2563 | "dependencies": { 2564 | "object-assign": { 2565 | "version": "4.1.1", 2566 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", 2567 | "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", 2568 | "dev": true 2569 | } 2570 | } 2571 | }, 2572 | "micromatch": { 2573 | "version": "3.1.5", 2574 | "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.5.tgz", 2575 | "integrity": "sha512-ykttrLPQrz1PUJcXjwsTUjGoPJ64StIGNE2lGVD1c9CuguJ+L7/navsE8IcDNndOoCMvYV0qc/exfVbMHkUhvA==", 2576 | "dev": true, 2577 | "requires": { 2578 | "arr-diff": "4.0.0", 2579 | "array-unique": "0.3.2", 2580 | "braces": "2.3.0", 2581 | "define-property": "1.0.0", 2582 | "extend-shallow": "2.0.1", 2583 | "extglob": "2.0.4", 2584 | "fragment-cache": "0.2.1", 2585 | "kind-of": "6.0.2", 2586 | "nanomatch": "1.2.7", 2587 | "object.pick": "1.3.0", 2588 | "regex-not": "1.0.0", 2589 | "snapdragon": "0.8.1", 2590 | "to-regex": "3.0.1" 2591 | } 2592 | }, 2593 | "mime": { 2594 | "version": "1.6.0", 2595 | "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", 2596 | "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", 2597 | "dev": true, 2598 | "optional": true 2599 | }, 2600 | "mime-db": { 2601 | "version": "1.30.0", 2602 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.30.0.tgz", 2603 | "integrity": "sha1-dMZD2i3Z1qRTmZY0ZbJtXKfXHwE=", 2604 | "dev": true 2605 | }, 2606 | "mime-types": { 2607 | "version": "2.1.17", 2608 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz", 2609 | "integrity": "sha1-Cdejk/A+mVp5+K+Fe3Cp4KsWVXo=", 2610 | "dev": true, 2611 | "requires": { 2612 | "mime-db": "1.30.0" 2613 | } 2614 | }, 2615 | "minimatch": { 2616 | "version": "2.0.10", 2617 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz", 2618 | "integrity": "sha1-jQh8OcazjAAbl/ynzm0OHoCvusc=", 2619 | "dev": true, 2620 | "requires": { 2621 | "brace-expansion": "1.1.8" 2622 | } 2623 | }, 2624 | "minimist": { 2625 | "version": "1.2.0", 2626 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", 2627 | "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", 2628 | "dev": true 2629 | }, 2630 | "minimize": { 2631 | "version": "2.1.0", 2632 | "resolved": "https://registry.npmjs.org/minimize/-/minimize-2.1.0.tgz", 2633 | "integrity": "sha1-+id2R/xfmiFSS/3mKBTKfOH/16I=", 2634 | "dev": true, 2635 | "requires": { 2636 | "argh": "0.1.4", 2637 | "async": "2.6.0", 2638 | "cli-color": "1.2.0", 2639 | "diagnostics": "1.1.0", 2640 | "emits": "3.0.0", 2641 | "htmlparser2": "3.9.2", 2642 | "uuid": "3.1.0" 2643 | } 2644 | }, 2645 | "mixin-deep": { 2646 | "version": "1.3.0", 2647 | "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.0.tgz", 2648 | "integrity": "sha512-dgaCvoh6i1nosAUBKb0l0pfJ78K8+S9fluyIR2YvAeUD/QuMahnFnF3xYty5eYXMjhGSsB0DsW6A0uAZyetoAg==", 2649 | "dev": true, 2650 | "requires": { 2651 | "for-in": "1.0.2", 2652 | "is-extendable": "1.0.1" 2653 | }, 2654 | "dependencies": { 2655 | "is-extendable": { 2656 | "version": "1.0.1", 2657 | "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", 2658 | "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", 2659 | "dev": true, 2660 | "requires": { 2661 | "is-plain-object": "2.0.4" 2662 | } 2663 | } 2664 | } 2665 | }, 2666 | "mkdirp": { 2667 | "version": "0.5.1", 2668 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", 2669 | "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", 2670 | "dev": true, 2671 | "requires": { 2672 | "minimist": "0.0.8" 2673 | }, 2674 | "dependencies": { 2675 | "minimist": { 2676 | "version": "0.0.8", 2677 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", 2678 | "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", 2679 | "dev": true 2680 | } 2681 | } 2682 | }, 2683 | "ms": { 2684 | "version": "2.0.0", 2685 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 2686 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", 2687 | "dev": true 2688 | }, 2689 | "multipipe": { 2690 | "version": "0.1.2", 2691 | "resolved": "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz", 2692 | "integrity": "sha1-Ko8t33Du1WTf8tV/HhoTfZ8FB4s=", 2693 | "dev": true, 2694 | "requires": { 2695 | "duplexer2": "0.0.2" 2696 | } 2697 | }, 2698 | "nan": { 2699 | "version": "2.8.0", 2700 | "resolved": "https://registry.npmjs.org/nan/-/nan-2.8.0.tgz", 2701 | "integrity": "sha1-7XFfP+neArV6XmJS2QqWZ14fCFo=", 2702 | "dev": true 2703 | }, 2704 | "nanomatch": { 2705 | "version": "1.2.7", 2706 | "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.7.tgz", 2707 | "integrity": "sha512-/5ldsnyurvEw7wNpxLFgjVvBLMta43niEYOy0CJ4ntcYSbx6bugRUTQeFb4BR/WanEL1o3aQgHuVLHQaB6tOqg==", 2708 | "dev": true, 2709 | "requires": { 2710 | "arr-diff": "4.0.0", 2711 | "array-unique": "0.3.2", 2712 | "define-property": "1.0.0", 2713 | "extend-shallow": "2.0.1", 2714 | "fragment-cache": "0.2.1", 2715 | "is-odd": "1.0.0", 2716 | "kind-of": "5.1.0", 2717 | "object.pick": "1.3.0", 2718 | "regex-not": "1.0.0", 2719 | "snapdragon": "0.8.1", 2720 | "to-regex": "3.0.1" 2721 | }, 2722 | "dependencies": { 2723 | "kind-of": { 2724 | "version": "5.1.0", 2725 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", 2726 | "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", 2727 | "dev": true 2728 | } 2729 | } 2730 | }, 2731 | "natives": { 2732 | "version": "1.1.1", 2733 | "resolved": "https://registry.npmjs.org/natives/-/natives-1.1.1.tgz", 2734 | "integrity": "sha512-8eRaxn8u/4wN8tGkhlc2cgwwvOLMLUMUn4IYTexMgWd+LyUDfeXVkk2ygQR0hvIHbJQXgHujia3ieUUDwNGkEA==", 2735 | "dev": true 2736 | }, 2737 | "next-tick": { 2738 | "version": "1.0.0", 2739 | "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", 2740 | "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=", 2741 | "dev": true 2742 | }, 2743 | "node-gyp": { 2744 | "version": "3.6.2", 2745 | "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.6.2.tgz", 2746 | "integrity": "sha1-m/vlRWIoYoSDjnUOrAUpWFP6HGA=", 2747 | "dev": true, 2748 | "requires": { 2749 | "fstream": "1.0.11", 2750 | "glob": "7.1.2", 2751 | "graceful-fs": "4.1.11", 2752 | "minimatch": "3.0.4", 2753 | "mkdirp": "0.5.1", 2754 | "nopt": "3.0.6", 2755 | "npmlog": "4.1.2", 2756 | "osenv": "0.1.4", 2757 | "request": "2.81.0", 2758 | "rimraf": "2.6.2", 2759 | "semver": "5.3.0", 2760 | "tar": "2.2.1", 2761 | "which": "1.3.0" 2762 | }, 2763 | "dependencies": { 2764 | "glob": { 2765 | "version": "7.1.2", 2766 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", 2767 | "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", 2768 | "dev": true, 2769 | "requires": { 2770 | "fs.realpath": "1.0.0", 2771 | "inflight": "1.0.6", 2772 | "inherits": "2.0.3", 2773 | "minimatch": "3.0.4", 2774 | "once": "1.3.3", 2775 | "path-is-absolute": "1.0.1" 2776 | } 2777 | }, 2778 | "graceful-fs": { 2779 | "version": "4.1.11", 2780 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", 2781 | "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", 2782 | "dev": true 2783 | }, 2784 | "minimatch": { 2785 | "version": "3.0.4", 2786 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", 2787 | "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", 2788 | "dev": true, 2789 | "requires": { 2790 | "brace-expansion": "1.1.8" 2791 | } 2792 | }, 2793 | "semver": { 2794 | "version": "5.3.0", 2795 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", 2796 | "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", 2797 | "dev": true 2798 | } 2799 | } 2800 | }, 2801 | "node-sass": { 2802 | "version": "4.7.2", 2803 | "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.7.2.tgz", 2804 | "integrity": "sha512-CaV+wLqZ7//Jdom5aUFCpGNoECd7BbNhjuwdsX/LkXBrHl8eb1Wjw4HvWqcFvhr5KuNgAk8i/myf/MQ1YYeroA==", 2805 | "dev": true, 2806 | "requires": { 2807 | "async-foreach": "0.1.3", 2808 | "chalk": "1.1.3", 2809 | "cross-spawn": "3.0.1", 2810 | "gaze": "1.1.2", 2811 | "get-stdin": "4.0.1", 2812 | "glob": "7.1.2", 2813 | "in-publish": "2.0.0", 2814 | "lodash.assign": "4.2.0", 2815 | "lodash.clonedeep": "4.5.0", 2816 | "lodash.mergewith": "4.6.0", 2817 | "meow": "3.7.0", 2818 | "mkdirp": "0.5.1", 2819 | "nan": "2.8.0", 2820 | "node-gyp": "3.6.2", 2821 | "npmlog": "4.1.2", 2822 | "request": "2.79.0", 2823 | "sass-graph": "2.2.4", 2824 | "stdout-stream": "1.4.0", 2825 | "true-case-path": "1.0.2" 2826 | }, 2827 | "dependencies": { 2828 | "caseless": { 2829 | "version": "0.11.0", 2830 | "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz", 2831 | "integrity": "sha1-cVuW6phBWTzDMGeSP17GDr2k99c=", 2832 | "dev": true 2833 | }, 2834 | "gaze": { 2835 | "version": "1.1.2", 2836 | "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.2.tgz", 2837 | "integrity": "sha1-hHIkZ3rbiHDWeSV+0ziP22HkAQU=", 2838 | "dev": true, 2839 | "requires": { 2840 | "globule": "1.2.0" 2841 | } 2842 | }, 2843 | "glob": { 2844 | "version": "7.1.2", 2845 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", 2846 | "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", 2847 | "dev": true, 2848 | "requires": { 2849 | "fs.realpath": "1.0.0", 2850 | "inflight": "1.0.6", 2851 | "inherits": "2.0.3", 2852 | "minimatch": "3.0.4", 2853 | "once": "1.3.3", 2854 | "path-is-absolute": "1.0.1" 2855 | } 2856 | }, 2857 | "globule": { 2858 | "version": "1.2.0", 2859 | "resolved": "https://registry.npmjs.org/globule/-/globule-1.2.0.tgz", 2860 | "integrity": "sha1-HcScaCLdnoovoAuiopUAboZkvQk=", 2861 | "dev": true, 2862 | "requires": { 2863 | "glob": "7.1.2", 2864 | "lodash": "4.17.4", 2865 | "minimatch": "3.0.4" 2866 | } 2867 | }, 2868 | "har-validator": { 2869 | "version": "2.0.6", 2870 | "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz", 2871 | "integrity": "sha1-zcvAgYgmWtEZtqWnyKtw7s+10n0=", 2872 | "dev": true, 2873 | "requires": { 2874 | "chalk": "1.1.3", 2875 | "commander": "2.13.0", 2876 | "is-my-json-valid": "2.17.1", 2877 | "pinkie-promise": "2.0.1" 2878 | } 2879 | }, 2880 | "lodash": { 2881 | "version": "4.17.4", 2882 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", 2883 | "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=", 2884 | "dev": true 2885 | }, 2886 | "minimatch": { 2887 | "version": "3.0.4", 2888 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", 2889 | "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", 2890 | "dev": true, 2891 | "requires": { 2892 | "brace-expansion": "1.1.8" 2893 | } 2894 | }, 2895 | "qs": { 2896 | "version": "6.3.2", 2897 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.3.2.tgz", 2898 | "integrity": "sha1-51vV9uJoEioqDgvaYwslUMFmUCw=", 2899 | "dev": true 2900 | }, 2901 | "request": { 2902 | "version": "2.79.0", 2903 | "resolved": "https://registry.npmjs.org/request/-/request-2.79.0.tgz", 2904 | "integrity": "sha1-Tf5b9r6LjNw3/Pk+BLZVd3InEN4=", 2905 | "dev": true, 2906 | "requires": { 2907 | "aws-sign2": "0.6.0", 2908 | "aws4": "1.6.0", 2909 | "caseless": "0.11.0", 2910 | "combined-stream": "1.0.5", 2911 | "extend": "3.0.1", 2912 | "forever-agent": "0.6.1", 2913 | "form-data": "2.1.4", 2914 | "har-validator": "2.0.6", 2915 | "hawk": "3.1.3", 2916 | "http-signature": "1.1.1", 2917 | "is-typedarray": "1.0.0", 2918 | "isstream": "0.1.2", 2919 | "json-stringify-safe": "5.0.1", 2920 | "mime-types": "2.1.17", 2921 | "oauth-sign": "0.8.2", 2922 | "qs": "6.3.2", 2923 | "stringstream": "0.0.5", 2924 | "tough-cookie": "2.3.3", 2925 | "tunnel-agent": "0.4.3", 2926 | "uuid": "3.1.0" 2927 | } 2928 | }, 2929 | "tunnel-agent": { 2930 | "version": "0.4.3", 2931 | "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz", 2932 | "integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=", 2933 | "dev": true 2934 | } 2935 | } 2936 | }, 2937 | "nopt": { 2938 | "version": "3.0.6", 2939 | "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", 2940 | "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", 2941 | "dev": true, 2942 | "requires": { 2943 | "abbrev": "1.1.1" 2944 | } 2945 | }, 2946 | "normalize-package-data": { 2947 | "version": "2.4.0", 2948 | "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", 2949 | "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", 2950 | "dev": true, 2951 | "requires": { 2952 | "hosted-git-info": "2.5.0", 2953 | "is-builtin-module": "1.0.0", 2954 | "semver": "4.3.6", 2955 | "validate-npm-package-license": "3.0.1" 2956 | } 2957 | }, 2958 | "normalize-range": { 2959 | "version": "0.1.2", 2960 | "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", 2961 | "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", 2962 | "dev": true 2963 | }, 2964 | "npmlog": { 2965 | "version": "4.1.2", 2966 | "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", 2967 | "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", 2968 | "dev": true, 2969 | "requires": { 2970 | "are-we-there-yet": "1.1.4", 2971 | "console-control-strings": "1.1.0", 2972 | "gauge": "2.7.4", 2973 | "set-blocking": "2.0.0" 2974 | } 2975 | }, 2976 | "num2fraction": { 2977 | "version": "1.2.2", 2978 | "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", 2979 | "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", 2980 | "dev": true 2981 | }, 2982 | "number-is-nan": { 2983 | "version": "1.0.1", 2984 | "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", 2985 | "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", 2986 | "dev": true 2987 | }, 2988 | "oauth-sign": { 2989 | "version": "0.8.2", 2990 | "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", 2991 | "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=", 2992 | "dev": true 2993 | }, 2994 | "object-assign": { 2995 | "version": "3.0.0", 2996 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz", 2997 | "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=", 2998 | "dev": true 2999 | }, 3000 | "object-copy": { 3001 | "version": "0.1.0", 3002 | "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", 3003 | "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", 3004 | "dev": true, 3005 | "requires": { 3006 | "copy-descriptor": "0.1.1", 3007 | "define-property": "0.2.5", 3008 | "kind-of": "3.2.2" 3009 | }, 3010 | "dependencies": { 3011 | "define-property": { 3012 | "version": "0.2.5", 3013 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", 3014 | "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", 3015 | "dev": true, 3016 | "requires": { 3017 | "is-descriptor": "0.1.6" 3018 | } 3019 | }, 3020 | "is-accessor-descriptor": { 3021 | "version": "0.1.6", 3022 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", 3023 | "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", 3024 | "dev": true, 3025 | "requires": { 3026 | "kind-of": "3.2.2" 3027 | } 3028 | }, 3029 | "is-data-descriptor": { 3030 | "version": "0.1.4", 3031 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", 3032 | "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", 3033 | "dev": true, 3034 | "requires": { 3035 | "kind-of": "3.2.2" 3036 | } 3037 | }, 3038 | "is-descriptor": { 3039 | "version": "0.1.6", 3040 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", 3041 | "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", 3042 | "dev": true, 3043 | "requires": { 3044 | "is-accessor-descriptor": "0.1.6", 3045 | "is-data-descriptor": "0.1.4", 3046 | "kind-of": "5.1.0" 3047 | }, 3048 | "dependencies": { 3049 | "kind-of": { 3050 | "version": "5.1.0", 3051 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", 3052 | "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", 3053 | "dev": true 3054 | } 3055 | } 3056 | }, 3057 | "kind-of": { 3058 | "version": "3.2.2", 3059 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 3060 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 3061 | "dev": true, 3062 | "requires": { 3063 | "is-buffer": "1.1.6" 3064 | } 3065 | } 3066 | } 3067 | }, 3068 | "object-visit": { 3069 | "version": "1.0.1", 3070 | "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", 3071 | "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", 3072 | "dev": true, 3073 | "requires": { 3074 | "isobject": "3.0.1" 3075 | } 3076 | }, 3077 | "object.defaults": { 3078 | "version": "1.1.0", 3079 | "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz", 3080 | "integrity": "sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=", 3081 | "dev": true, 3082 | "requires": { 3083 | "array-each": "1.0.1", 3084 | "array-slice": "1.1.0", 3085 | "for-own": "1.0.0", 3086 | "isobject": "3.0.1" 3087 | } 3088 | }, 3089 | "object.map": { 3090 | "version": "1.0.1", 3091 | "resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz", 3092 | "integrity": "sha1-z4Plncj8wK1fQlDh94s7gb2AHTc=", 3093 | "dev": true, 3094 | "requires": { 3095 | "for-own": "1.0.0", 3096 | "make-iterator": "1.0.0" 3097 | } 3098 | }, 3099 | "object.pick": { 3100 | "version": "1.3.0", 3101 | "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", 3102 | "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", 3103 | "dev": true, 3104 | "requires": { 3105 | "isobject": "3.0.1" 3106 | } 3107 | }, 3108 | "once": { 3109 | "version": "1.3.3", 3110 | "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz", 3111 | "integrity": "sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA=", 3112 | "dev": true, 3113 | "requires": { 3114 | "wrappy": "1.0.2" 3115 | } 3116 | }, 3117 | "orchestrator": { 3118 | "version": "0.3.8", 3119 | "resolved": "https://registry.npmjs.org/orchestrator/-/orchestrator-0.3.8.tgz", 3120 | "integrity": "sha1-FOfp4nZPcxX7rBhOUGx6pt+UrX4=", 3121 | "dev": true, 3122 | "requires": { 3123 | "end-of-stream": "0.1.5", 3124 | "sequencify": "0.0.7", 3125 | "stream-consume": "0.1.0" 3126 | } 3127 | }, 3128 | "ordered-read-streams": { 3129 | "version": "0.1.0", 3130 | "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-0.1.0.tgz", 3131 | "integrity": "sha1-/VZamvjrRHO6abbtijQ1LLVS8SY=", 3132 | "dev": true 3133 | }, 3134 | "os-homedir": { 3135 | "version": "1.0.2", 3136 | "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", 3137 | "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", 3138 | "dev": true 3139 | }, 3140 | "os-locale": { 3141 | "version": "1.4.0", 3142 | "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", 3143 | "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", 3144 | "dev": true, 3145 | "requires": { 3146 | "lcid": "1.0.0" 3147 | } 3148 | }, 3149 | "os-tmpdir": { 3150 | "version": "1.0.2", 3151 | "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", 3152 | "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", 3153 | "dev": true 3154 | }, 3155 | "osenv": { 3156 | "version": "0.1.4", 3157 | "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.4.tgz", 3158 | "integrity": "sha1-Qv5tWVPfBsgGS+bxdsPQWqqjRkQ=", 3159 | "dev": true, 3160 | "requires": { 3161 | "os-homedir": "1.0.2", 3162 | "os-tmpdir": "1.0.2" 3163 | } 3164 | }, 3165 | "parse-filepath": { 3166 | "version": "1.0.2", 3167 | "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz", 3168 | "integrity": "sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=", 3169 | "dev": true, 3170 | "requires": { 3171 | "is-absolute": "1.0.0", 3172 | "map-cache": "0.2.2", 3173 | "path-root": "0.1.1" 3174 | } 3175 | }, 3176 | "parse-json": { 3177 | "version": "2.2.0", 3178 | "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", 3179 | "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", 3180 | "dev": true, 3181 | "requires": { 3182 | "error-ex": "1.3.1" 3183 | } 3184 | }, 3185 | "parse-passwd": { 3186 | "version": "1.0.0", 3187 | "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", 3188 | "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", 3189 | "dev": true 3190 | }, 3191 | "pascalcase": { 3192 | "version": "0.1.1", 3193 | "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", 3194 | "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", 3195 | "dev": true 3196 | }, 3197 | "path-exists": { 3198 | "version": "2.1.0", 3199 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", 3200 | "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", 3201 | "dev": true, 3202 | "requires": { 3203 | "pinkie-promise": "2.0.1" 3204 | } 3205 | }, 3206 | "path-is-absolute": { 3207 | "version": "1.0.1", 3208 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 3209 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", 3210 | "dev": true 3211 | }, 3212 | "path-parse": { 3213 | "version": "1.0.5", 3214 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz", 3215 | "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=", 3216 | "dev": true 3217 | }, 3218 | "path-root": { 3219 | "version": "0.1.1", 3220 | "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz", 3221 | "integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=", 3222 | "dev": true, 3223 | "requires": { 3224 | "path-root-regex": "0.1.2" 3225 | } 3226 | }, 3227 | "path-root-regex": { 3228 | "version": "0.1.2", 3229 | "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz", 3230 | "integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=", 3231 | "dev": true 3232 | }, 3233 | "path-type": { 3234 | "version": "1.1.0", 3235 | "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", 3236 | "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", 3237 | "dev": true, 3238 | "requires": { 3239 | "graceful-fs": "4.1.11", 3240 | "pify": "2.3.0", 3241 | "pinkie-promise": "2.0.1" 3242 | }, 3243 | "dependencies": { 3244 | "graceful-fs": { 3245 | "version": "4.1.11", 3246 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", 3247 | "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", 3248 | "dev": true 3249 | } 3250 | } 3251 | }, 3252 | "performance-now": { 3253 | "version": "0.2.0", 3254 | "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz", 3255 | "integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU=", 3256 | "dev": true 3257 | }, 3258 | "pify": { 3259 | "version": "2.3.0", 3260 | "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", 3261 | "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", 3262 | "dev": true 3263 | }, 3264 | "pinkie": { 3265 | "version": "2.0.4", 3266 | "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", 3267 | "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", 3268 | "dev": true 3269 | }, 3270 | "pinkie-promise": { 3271 | "version": "2.0.1", 3272 | "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", 3273 | "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", 3274 | "dev": true, 3275 | "requires": { 3276 | "pinkie": "2.0.4" 3277 | } 3278 | }, 3279 | "posix-character-classes": { 3280 | "version": "0.1.1", 3281 | "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", 3282 | "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", 3283 | "dev": true 3284 | }, 3285 | "postcss": { 3286 | "version": "6.0.16", 3287 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.16.tgz", 3288 | "integrity": "sha512-m758RWPmSjFH/2MyyG3UOW1fgYbR9rtdzz5UNJnlm7OLtu4B2h9C6gi+bE4qFKghsBRFfZT8NzoQBs6JhLotoA==", 3289 | "dev": true, 3290 | "requires": { 3291 | "chalk": "2.3.0", 3292 | "source-map": "0.6.1", 3293 | "supports-color": "5.1.0" 3294 | }, 3295 | "dependencies": { 3296 | "ansi-styles": { 3297 | "version": "3.2.0", 3298 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", 3299 | "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", 3300 | "dev": true, 3301 | "requires": { 3302 | "color-convert": "1.9.1" 3303 | } 3304 | }, 3305 | "chalk": { 3306 | "version": "2.3.0", 3307 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", 3308 | "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", 3309 | "dev": true, 3310 | "requires": { 3311 | "ansi-styles": "3.2.0", 3312 | "escape-string-regexp": "1.0.5", 3313 | "supports-color": "4.5.0" 3314 | }, 3315 | "dependencies": { 3316 | "supports-color": { 3317 | "version": "4.5.0", 3318 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", 3319 | "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", 3320 | "dev": true, 3321 | "requires": { 3322 | "has-flag": "2.0.0" 3323 | } 3324 | } 3325 | } 3326 | }, 3327 | "color-convert": { 3328 | "version": "1.9.1", 3329 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz", 3330 | "integrity": "sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==", 3331 | "dev": true, 3332 | "requires": { 3333 | "color-name": "1.1.3" 3334 | } 3335 | }, 3336 | "source-map": { 3337 | "version": "0.6.1", 3338 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", 3339 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", 3340 | "dev": true 3341 | }, 3342 | "supports-color": { 3343 | "version": "5.1.0", 3344 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.1.0.tgz", 3345 | "integrity": "sha512-Ry0AwkoKjDpVKK4sV4h6o3UJmNRbjYm2uXhwfj3J56lMVdvnUNqzQVRztOOMGQ++w1K/TjNDFvpJk0F/LoeBCQ==", 3346 | "dev": true, 3347 | "requires": { 3348 | "has-flag": "2.0.0" 3349 | } 3350 | } 3351 | } 3352 | }, 3353 | "postcss-value-parser": { 3354 | "version": "3.3.0", 3355 | "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz", 3356 | "integrity": "sha1-h/OPnxj3dKSrTIojL1xc6IcqnRU=", 3357 | "dev": true 3358 | }, 3359 | "pretty-hrtime": { 3360 | "version": "1.0.3", 3361 | "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", 3362 | "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=", 3363 | "dev": true 3364 | }, 3365 | "process-nextick-args": { 3366 | "version": "1.0.7", 3367 | "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", 3368 | "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", 3369 | "dev": true 3370 | }, 3371 | "promise": { 3372 | "version": "7.3.1", 3373 | "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", 3374 | "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", 3375 | "dev": true, 3376 | "optional": true, 3377 | "requires": { 3378 | "asap": "2.0.6" 3379 | } 3380 | }, 3381 | "prr": { 3382 | "version": "1.0.1", 3383 | "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", 3384 | "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", 3385 | "dev": true, 3386 | "optional": true 3387 | }, 3388 | "pseudomap": { 3389 | "version": "1.0.2", 3390 | "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", 3391 | "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", 3392 | "dev": true 3393 | }, 3394 | "punycode": { 3395 | "version": "1.4.1", 3396 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", 3397 | "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", 3398 | "dev": true 3399 | }, 3400 | "qs": { 3401 | "version": "6.4.0", 3402 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz", 3403 | "integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=", 3404 | "dev": true 3405 | }, 3406 | "read-pkg": { 3407 | "version": "1.1.0", 3408 | "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", 3409 | "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", 3410 | "dev": true, 3411 | "requires": { 3412 | "load-json-file": "1.1.0", 3413 | "normalize-package-data": "2.4.0", 3414 | "path-type": "1.1.0" 3415 | } 3416 | }, 3417 | "read-pkg-up": { 3418 | "version": "1.0.1", 3419 | "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", 3420 | "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", 3421 | "dev": true, 3422 | "requires": { 3423 | "find-up": "1.1.2", 3424 | "read-pkg": "1.1.0" 3425 | } 3426 | }, 3427 | "readable-stream": { 3428 | "version": "1.1.14", 3429 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", 3430 | "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", 3431 | "dev": true, 3432 | "requires": { 3433 | "core-util-is": "1.0.2", 3434 | "inherits": "2.0.3", 3435 | "isarray": "0.0.1", 3436 | "string_decoder": "0.10.31" 3437 | } 3438 | }, 3439 | "rechoir": { 3440 | "version": "0.6.2", 3441 | "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", 3442 | "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", 3443 | "dev": true, 3444 | "requires": { 3445 | "resolve": "1.5.0" 3446 | } 3447 | }, 3448 | "redent": { 3449 | "version": "1.0.0", 3450 | "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", 3451 | "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", 3452 | "dev": true, 3453 | "requires": { 3454 | "indent-string": "2.1.0", 3455 | "strip-indent": "1.0.1" 3456 | } 3457 | }, 3458 | "reflect-metadata": { 3459 | "version": "0.1.10", 3460 | "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.10.tgz", 3461 | "integrity": "sha1-tPg3BEFqytiZiMmxVjXUfgO5NEo=", 3462 | "dev": true 3463 | }, 3464 | "regex-not": { 3465 | "version": "1.0.0", 3466 | "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.0.tgz", 3467 | "integrity": "sha1-Qvg+OXcWIt+CawKvF2Ul1qXxV/k=", 3468 | "dev": true, 3469 | "requires": { 3470 | "extend-shallow": "2.0.1" 3471 | } 3472 | }, 3473 | "repeat-element": { 3474 | "version": "1.1.2", 3475 | "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", 3476 | "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=", 3477 | "dev": true 3478 | }, 3479 | "repeat-string": { 3480 | "version": "1.6.1", 3481 | "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", 3482 | "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", 3483 | "dev": true 3484 | }, 3485 | "repeating": { 3486 | "version": "2.0.1", 3487 | "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", 3488 | "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", 3489 | "dev": true, 3490 | "requires": { 3491 | "is-finite": "1.0.2" 3492 | } 3493 | }, 3494 | "replace-ext": { 3495 | "version": "0.0.1", 3496 | "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz", 3497 | "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=", 3498 | "dev": true 3499 | }, 3500 | "request": { 3501 | "version": "2.81.0", 3502 | "resolved": "https://registry.npmjs.org/request/-/request-2.81.0.tgz", 3503 | "integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=", 3504 | "dev": true, 3505 | "requires": { 3506 | "aws-sign2": "0.6.0", 3507 | "aws4": "1.6.0", 3508 | "caseless": "0.12.0", 3509 | "combined-stream": "1.0.5", 3510 | "extend": "3.0.1", 3511 | "forever-agent": "0.6.1", 3512 | "form-data": "2.1.4", 3513 | "har-validator": "4.2.1", 3514 | "hawk": "3.1.3", 3515 | "http-signature": "1.1.1", 3516 | "is-typedarray": "1.0.0", 3517 | "isstream": "0.1.2", 3518 | "json-stringify-safe": "5.0.1", 3519 | "mime-types": "2.1.17", 3520 | "oauth-sign": "0.8.2", 3521 | "performance-now": "0.2.0", 3522 | "qs": "6.4.0", 3523 | "safe-buffer": "5.1.1", 3524 | "stringstream": "0.0.5", 3525 | "tough-cookie": "2.3.3", 3526 | "tunnel-agent": "0.6.0", 3527 | "uuid": "3.1.0" 3528 | } 3529 | }, 3530 | "require-directory": { 3531 | "version": "2.1.1", 3532 | "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", 3533 | "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", 3534 | "dev": true 3535 | }, 3536 | "require-main-filename": { 3537 | "version": "1.0.1", 3538 | "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", 3539 | "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", 3540 | "dev": true 3541 | }, 3542 | "resolve": { 3543 | "version": "1.5.0", 3544 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.5.0.tgz", 3545 | "integrity": "sha512-hgoSGrc3pjzAPHNBg+KnFcK2HwlHTs/YrAGUr6qgTVUZmXv1UEXXl0bZNBKMA9fud6lRYFdPGz0xXxycPzmmiw==", 3546 | "dev": true, 3547 | "requires": { 3548 | "path-parse": "1.0.5" 3549 | } 3550 | }, 3551 | "resolve-dir": { 3552 | "version": "1.0.1", 3553 | "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", 3554 | "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", 3555 | "dev": true, 3556 | "requires": { 3557 | "expand-tilde": "2.0.2", 3558 | "global-modules": "1.0.0" 3559 | } 3560 | }, 3561 | "resolve-url": { 3562 | "version": "0.2.1", 3563 | "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", 3564 | "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", 3565 | "dev": true 3566 | }, 3567 | "rimraf": { 3568 | "version": "2.6.2", 3569 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", 3570 | "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", 3571 | "dev": true, 3572 | "requires": { 3573 | "glob": "7.1.2" 3574 | }, 3575 | "dependencies": { 3576 | "glob": { 3577 | "version": "7.1.2", 3578 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", 3579 | "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", 3580 | "dev": true, 3581 | "requires": { 3582 | "fs.realpath": "1.0.0", 3583 | "inflight": "1.0.6", 3584 | "inherits": "2.0.3", 3585 | "minimatch": "3.0.4", 3586 | "once": "1.3.3", 3587 | "path-is-absolute": "1.0.1" 3588 | } 3589 | }, 3590 | "minimatch": { 3591 | "version": "3.0.4", 3592 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", 3593 | "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", 3594 | "dev": true, 3595 | "requires": { 3596 | "brace-expansion": "1.1.8" 3597 | } 3598 | } 3599 | } 3600 | }, 3601 | "rxjs": { 3602 | "version": "5.5.6", 3603 | "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.6.tgz", 3604 | "integrity": "sha512-v4Q5HDC0FHAQ7zcBX7T2IL6O5ltl1a2GX4ENjPXg6SjDY69Cmx9v4113C99a4wGF16ClPv5Z8mghuYorVkg/kg==", 3605 | "dev": true, 3606 | "requires": { 3607 | "symbol-observable": "1.0.1" 3608 | } 3609 | }, 3610 | "safe-buffer": { 3611 | "version": "5.1.1", 3612 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", 3613 | "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", 3614 | "dev": true 3615 | }, 3616 | "sass-graph": { 3617 | "version": "2.2.4", 3618 | "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.4.tgz", 3619 | "integrity": "sha1-E/vWPNHK8JCLn9k0dq1DpR0eC0k=", 3620 | "dev": true, 3621 | "requires": { 3622 | "glob": "7.1.2", 3623 | "lodash": "4.17.4", 3624 | "scss-tokenizer": "0.2.3", 3625 | "yargs": "7.1.0" 3626 | }, 3627 | "dependencies": { 3628 | "glob": { 3629 | "version": "7.1.2", 3630 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", 3631 | "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", 3632 | "dev": true, 3633 | "requires": { 3634 | "fs.realpath": "1.0.0", 3635 | "inflight": "1.0.6", 3636 | "inherits": "2.0.3", 3637 | "minimatch": "3.0.4", 3638 | "once": "1.3.3", 3639 | "path-is-absolute": "1.0.1" 3640 | } 3641 | }, 3642 | "lodash": { 3643 | "version": "4.17.4", 3644 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", 3645 | "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=", 3646 | "dev": true 3647 | }, 3648 | "minimatch": { 3649 | "version": "3.0.4", 3650 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", 3651 | "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", 3652 | "dev": true, 3653 | "requires": { 3654 | "brace-expansion": "1.1.8" 3655 | } 3656 | } 3657 | } 3658 | }, 3659 | "scss-tokenizer": { 3660 | "version": "0.2.3", 3661 | "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz", 3662 | "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=", 3663 | "dev": true, 3664 | "requires": { 3665 | "js-base64": "2.4.0", 3666 | "source-map": "0.4.4" 3667 | }, 3668 | "dependencies": { 3669 | "source-map": { 3670 | "version": "0.4.4", 3671 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", 3672 | "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", 3673 | "dev": true, 3674 | "requires": { 3675 | "amdefine": "1.0.1" 3676 | } 3677 | } 3678 | } 3679 | }, 3680 | "semver": { 3681 | "version": "4.3.6", 3682 | "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz", 3683 | "integrity": "sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=", 3684 | "dev": true 3685 | }, 3686 | "sequencify": { 3687 | "version": "0.0.7", 3688 | "resolved": "https://registry.npmjs.org/sequencify/-/sequencify-0.0.7.tgz", 3689 | "integrity": "sha1-kM/xnQLgcCf9dn9erT57ldHnOAw=", 3690 | "dev": true 3691 | }, 3692 | "set-blocking": { 3693 | "version": "2.0.0", 3694 | "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", 3695 | "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", 3696 | "dev": true 3697 | }, 3698 | "set-getter": { 3699 | "version": "0.1.0", 3700 | "resolved": "https://registry.npmjs.org/set-getter/-/set-getter-0.1.0.tgz", 3701 | "integrity": "sha1-12nBgsnVpR9AkUXy+6guXoboA3Y=", 3702 | "dev": true, 3703 | "requires": { 3704 | "to-object-path": "0.3.0" 3705 | } 3706 | }, 3707 | "set-value": { 3708 | "version": "2.0.0", 3709 | "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", 3710 | "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", 3711 | "dev": true, 3712 | "requires": { 3713 | "extend-shallow": "2.0.1", 3714 | "is-extendable": "0.1.1", 3715 | "is-plain-object": "2.0.4", 3716 | "split-string": "3.1.0" 3717 | } 3718 | }, 3719 | "sigmund": { 3720 | "version": "1.0.1", 3721 | "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", 3722 | "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=", 3723 | "dev": true 3724 | }, 3725 | "signal-exit": { 3726 | "version": "3.0.2", 3727 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", 3728 | "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", 3729 | "dev": true 3730 | }, 3731 | "snapdragon": { 3732 | "version": "0.8.1", 3733 | "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.1.tgz", 3734 | "integrity": "sha1-4StUh/re0+PeoKyR6UAL91tAE3A=", 3735 | "dev": true, 3736 | "requires": { 3737 | "base": "0.11.2", 3738 | "debug": "2.6.9", 3739 | "define-property": "0.2.5", 3740 | "extend-shallow": "2.0.1", 3741 | "map-cache": "0.2.2", 3742 | "source-map": "0.5.7", 3743 | "source-map-resolve": "0.5.1", 3744 | "use": "2.0.2" 3745 | }, 3746 | "dependencies": { 3747 | "define-property": { 3748 | "version": "0.2.5", 3749 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", 3750 | "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", 3751 | "dev": true, 3752 | "requires": { 3753 | "is-descriptor": "0.1.6" 3754 | } 3755 | }, 3756 | "is-accessor-descriptor": { 3757 | "version": "0.1.6", 3758 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", 3759 | "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", 3760 | "dev": true, 3761 | "requires": { 3762 | "kind-of": "3.2.2" 3763 | }, 3764 | "dependencies": { 3765 | "kind-of": { 3766 | "version": "3.2.2", 3767 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 3768 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 3769 | "dev": true, 3770 | "requires": { 3771 | "is-buffer": "1.1.6" 3772 | } 3773 | } 3774 | } 3775 | }, 3776 | "is-data-descriptor": { 3777 | "version": "0.1.4", 3778 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", 3779 | "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", 3780 | "dev": true, 3781 | "requires": { 3782 | "kind-of": "3.2.2" 3783 | }, 3784 | "dependencies": { 3785 | "kind-of": { 3786 | "version": "3.2.2", 3787 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 3788 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 3789 | "dev": true, 3790 | "requires": { 3791 | "is-buffer": "1.1.6" 3792 | } 3793 | } 3794 | } 3795 | }, 3796 | "is-descriptor": { 3797 | "version": "0.1.6", 3798 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", 3799 | "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", 3800 | "dev": true, 3801 | "requires": { 3802 | "is-accessor-descriptor": "0.1.6", 3803 | "is-data-descriptor": "0.1.4", 3804 | "kind-of": "5.1.0" 3805 | } 3806 | }, 3807 | "kind-of": { 3808 | "version": "5.1.0", 3809 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", 3810 | "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", 3811 | "dev": true 3812 | } 3813 | } 3814 | }, 3815 | "snapdragon-node": { 3816 | "version": "2.1.1", 3817 | "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", 3818 | "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", 3819 | "dev": true, 3820 | "requires": { 3821 | "define-property": "1.0.0", 3822 | "isobject": "3.0.1", 3823 | "snapdragon-util": "3.0.1" 3824 | } 3825 | }, 3826 | "snapdragon-util": { 3827 | "version": "3.0.1", 3828 | "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", 3829 | "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", 3830 | "dev": true, 3831 | "requires": { 3832 | "kind-of": "3.2.2" 3833 | }, 3834 | "dependencies": { 3835 | "kind-of": { 3836 | "version": "3.2.2", 3837 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 3838 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 3839 | "dev": true, 3840 | "requires": { 3841 | "is-buffer": "1.1.6" 3842 | } 3843 | } 3844 | } 3845 | }, 3846 | "sntp": { 3847 | "version": "1.0.9", 3848 | "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", 3849 | "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", 3850 | "dev": true, 3851 | "requires": { 3852 | "hoek": "2.16.3" 3853 | } 3854 | }, 3855 | "source-map": { 3856 | "version": "0.5.7", 3857 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", 3858 | "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", 3859 | "dev": true 3860 | }, 3861 | "source-map-resolve": { 3862 | "version": "0.5.1", 3863 | "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.1.tgz", 3864 | "integrity": "sha512-0KW2wvzfxm8NCTb30z0LMNyPqWCdDGE2viwzUaucqJdkTRXtZiSY3I+2A6nVAjmdOy0I4gU8DwnVVGsk9jvP2A==", 3865 | "dev": true, 3866 | "requires": { 3867 | "atob": "2.0.3", 3868 | "decode-uri-component": "0.2.0", 3869 | "resolve-url": "0.2.1", 3870 | "source-map-url": "0.4.0", 3871 | "urix": "0.1.0" 3872 | } 3873 | }, 3874 | "source-map-support": { 3875 | "version": "0.4.18", 3876 | "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", 3877 | "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", 3878 | "dev": true, 3879 | "requires": { 3880 | "source-map": "0.5.7" 3881 | } 3882 | }, 3883 | "source-map-url": { 3884 | "version": "0.4.0", 3885 | "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", 3886 | "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", 3887 | "dev": true 3888 | }, 3889 | "sparkles": { 3890 | "version": "1.0.0", 3891 | "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.0.tgz", 3892 | "integrity": "sha1-Gsu/tZJDbRC76PeFt8xvgoFQEsM=", 3893 | "dev": true 3894 | }, 3895 | "spdx-correct": { 3896 | "version": "1.0.2", 3897 | "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz", 3898 | "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=", 3899 | "dev": true, 3900 | "requires": { 3901 | "spdx-license-ids": "1.2.2" 3902 | } 3903 | }, 3904 | "spdx-expression-parse": { 3905 | "version": "1.0.4", 3906 | "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz", 3907 | "integrity": "sha1-m98vIOH0DtRH++JzJmGR/O1RYmw=", 3908 | "dev": true 3909 | }, 3910 | "spdx-license-ids": { 3911 | "version": "1.2.2", 3912 | "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz", 3913 | "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=", 3914 | "dev": true 3915 | }, 3916 | "split-string": { 3917 | "version": "3.1.0", 3918 | "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", 3919 | "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", 3920 | "dev": true, 3921 | "requires": { 3922 | "extend-shallow": "3.0.2" 3923 | }, 3924 | "dependencies": { 3925 | "extend-shallow": { 3926 | "version": "3.0.2", 3927 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", 3928 | "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", 3929 | "dev": true, 3930 | "requires": { 3931 | "assign-symbols": "1.0.0", 3932 | "is-extendable": "1.0.1" 3933 | } 3934 | }, 3935 | "is-extendable": { 3936 | "version": "1.0.1", 3937 | "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", 3938 | "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", 3939 | "dev": true, 3940 | "requires": { 3941 | "is-plain-object": "2.0.4" 3942 | } 3943 | } 3944 | } 3945 | }, 3946 | "sshpk": { 3947 | "version": "1.13.1", 3948 | "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz", 3949 | "integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=", 3950 | "dev": true, 3951 | "requires": { 3952 | "asn1": "0.2.3", 3953 | "assert-plus": "1.0.0", 3954 | "bcrypt-pbkdf": "1.0.1", 3955 | "dashdash": "1.14.1", 3956 | "ecc-jsbn": "0.1.1", 3957 | "getpass": "0.1.7", 3958 | "jsbn": "0.1.1", 3959 | "tweetnacl": "0.14.5" 3960 | }, 3961 | "dependencies": { 3962 | "assert-plus": { 3963 | "version": "1.0.0", 3964 | "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", 3965 | "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", 3966 | "dev": true 3967 | } 3968 | } 3969 | }, 3970 | "static-extend": { 3971 | "version": "0.1.2", 3972 | "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", 3973 | "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", 3974 | "dev": true, 3975 | "requires": { 3976 | "define-property": "0.2.5", 3977 | "object-copy": "0.1.0" 3978 | }, 3979 | "dependencies": { 3980 | "define-property": { 3981 | "version": "0.2.5", 3982 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", 3983 | "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", 3984 | "dev": true, 3985 | "requires": { 3986 | "is-descriptor": "0.1.6" 3987 | } 3988 | }, 3989 | "is-accessor-descriptor": { 3990 | "version": "0.1.6", 3991 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", 3992 | "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", 3993 | "dev": true, 3994 | "requires": { 3995 | "kind-of": "3.2.2" 3996 | }, 3997 | "dependencies": { 3998 | "kind-of": { 3999 | "version": "3.2.2", 4000 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 4001 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 4002 | "dev": true, 4003 | "requires": { 4004 | "is-buffer": "1.1.6" 4005 | } 4006 | } 4007 | } 4008 | }, 4009 | "is-data-descriptor": { 4010 | "version": "0.1.4", 4011 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", 4012 | "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", 4013 | "dev": true, 4014 | "requires": { 4015 | "kind-of": "3.2.2" 4016 | }, 4017 | "dependencies": { 4018 | "kind-of": { 4019 | "version": "3.2.2", 4020 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 4021 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 4022 | "dev": true, 4023 | "requires": { 4024 | "is-buffer": "1.1.6" 4025 | } 4026 | } 4027 | } 4028 | }, 4029 | "is-descriptor": { 4030 | "version": "0.1.6", 4031 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", 4032 | "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", 4033 | "dev": true, 4034 | "requires": { 4035 | "is-accessor-descriptor": "0.1.6", 4036 | "is-data-descriptor": "0.1.4", 4037 | "kind-of": "5.1.0" 4038 | } 4039 | }, 4040 | "kind-of": { 4041 | "version": "5.1.0", 4042 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", 4043 | "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", 4044 | "dev": true 4045 | } 4046 | } 4047 | }, 4048 | "stdout-stream": { 4049 | "version": "1.4.0", 4050 | "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.0.tgz", 4051 | "integrity": "sha1-osfIWH5U2UJ+qe2zrD8s1SLfN4s=", 4052 | "dev": true, 4053 | "requires": { 4054 | "readable-stream": "2.3.3" 4055 | }, 4056 | "dependencies": { 4057 | "isarray": { 4058 | "version": "1.0.0", 4059 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", 4060 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", 4061 | "dev": true 4062 | }, 4063 | "readable-stream": { 4064 | "version": "2.3.3", 4065 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", 4066 | "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", 4067 | "dev": true, 4068 | "requires": { 4069 | "core-util-is": "1.0.2", 4070 | "inherits": "2.0.3", 4071 | "isarray": "1.0.0", 4072 | "process-nextick-args": "1.0.7", 4073 | "safe-buffer": "5.1.1", 4074 | "string_decoder": "1.0.3", 4075 | "util-deprecate": "1.0.2" 4076 | } 4077 | }, 4078 | "string_decoder": { 4079 | "version": "1.0.3", 4080 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", 4081 | "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", 4082 | "dev": true, 4083 | "requires": { 4084 | "safe-buffer": "5.1.1" 4085 | } 4086 | } 4087 | } 4088 | }, 4089 | "stream-consume": { 4090 | "version": "0.1.0", 4091 | "resolved": "https://registry.npmjs.org/stream-consume/-/stream-consume-0.1.0.tgz", 4092 | "integrity": "sha1-pB6tGm1ggc63n2WwYZAbbY89HQ8=", 4093 | "dev": true 4094 | }, 4095 | "string-width": { 4096 | "version": "1.0.2", 4097 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", 4098 | "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", 4099 | "dev": true, 4100 | "requires": { 4101 | "code-point-at": "1.1.0", 4102 | "is-fullwidth-code-point": "1.0.0", 4103 | "strip-ansi": "3.0.1" 4104 | } 4105 | }, 4106 | "string_decoder": { 4107 | "version": "0.10.31", 4108 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", 4109 | "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", 4110 | "dev": true 4111 | }, 4112 | "stringstream": { 4113 | "version": "0.0.5", 4114 | "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", 4115 | "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=", 4116 | "dev": true 4117 | }, 4118 | "strip-ansi": { 4119 | "version": "3.0.1", 4120 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", 4121 | "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", 4122 | "dev": true, 4123 | "requires": { 4124 | "ansi-regex": "2.1.1" 4125 | } 4126 | }, 4127 | "strip-bom": { 4128 | "version": "1.0.0", 4129 | "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-1.0.0.tgz", 4130 | "integrity": "sha1-hbiGLzhEtabV7IRnqTWYFzo295Q=", 4131 | "dev": true, 4132 | "requires": { 4133 | "first-chunk-stream": "1.0.0", 4134 | "is-utf8": "0.2.1" 4135 | } 4136 | }, 4137 | "strip-indent": { 4138 | "version": "1.0.1", 4139 | "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", 4140 | "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", 4141 | "dev": true, 4142 | "requires": { 4143 | "get-stdin": "4.0.1" 4144 | } 4145 | }, 4146 | "supports-color": { 4147 | "version": "2.0.0", 4148 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", 4149 | "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", 4150 | "dev": true 4151 | }, 4152 | "symbol-observable": { 4153 | "version": "1.0.1", 4154 | "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.1.tgz", 4155 | "integrity": "sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ=", 4156 | "dev": true 4157 | }, 4158 | "tar": { 4159 | "version": "2.2.1", 4160 | "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz", 4161 | "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", 4162 | "dev": true, 4163 | "requires": { 4164 | "block-stream": "0.0.9", 4165 | "fstream": "1.0.11", 4166 | "inherits": "2.0.3" 4167 | } 4168 | }, 4169 | "text-hex": { 4170 | "version": "0.0.0", 4171 | "resolved": "https://registry.npmjs.org/text-hex/-/text-hex-0.0.0.tgz", 4172 | "integrity": "sha1-V4+8haapJjbkLdF7QdAhjM6esrM=", 4173 | "dev": true 4174 | }, 4175 | "through2": { 4176 | "version": "2.0.3", 4177 | "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", 4178 | "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", 4179 | "dev": true, 4180 | "requires": { 4181 | "readable-stream": "2.3.3", 4182 | "xtend": "4.0.1" 4183 | }, 4184 | "dependencies": { 4185 | "isarray": { 4186 | "version": "1.0.0", 4187 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", 4188 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", 4189 | "dev": true 4190 | }, 4191 | "readable-stream": { 4192 | "version": "2.3.3", 4193 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", 4194 | "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", 4195 | "dev": true, 4196 | "requires": { 4197 | "core-util-is": "1.0.2", 4198 | "inherits": "2.0.3", 4199 | "isarray": "1.0.0", 4200 | "process-nextick-args": "1.0.7", 4201 | "safe-buffer": "5.1.1", 4202 | "string_decoder": "1.0.3", 4203 | "util-deprecate": "1.0.2" 4204 | } 4205 | }, 4206 | "string_decoder": { 4207 | "version": "1.0.3", 4208 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", 4209 | "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", 4210 | "dev": true, 4211 | "requires": { 4212 | "safe-buffer": "5.1.1" 4213 | } 4214 | } 4215 | } 4216 | }, 4217 | "tildify": { 4218 | "version": "1.2.0", 4219 | "resolved": "https://registry.npmjs.org/tildify/-/tildify-1.2.0.tgz", 4220 | "integrity": "sha1-3OwD9V3Km3qj5bBPIYF+tW5jWIo=", 4221 | "dev": true, 4222 | "requires": { 4223 | "os-homedir": "1.0.2" 4224 | } 4225 | }, 4226 | "time-stamp": { 4227 | "version": "1.1.0", 4228 | "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz", 4229 | "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=", 4230 | "dev": true 4231 | }, 4232 | "timers-ext": { 4233 | "version": "0.1.2", 4234 | "resolved": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.2.tgz", 4235 | "integrity": "sha1-YcxHp2wavTGV8UUn+XjViulMUgQ=", 4236 | "dev": true, 4237 | "requires": { 4238 | "es5-ext": "0.10.38", 4239 | "next-tick": "1.0.0" 4240 | } 4241 | }, 4242 | "to-object-path": { 4243 | "version": "0.3.0", 4244 | "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", 4245 | "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", 4246 | "dev": true, 4247 | "requires": { 4248 | "kind-of": "3.2.2" 4249 | }, 4250 | "dependencies": { 4251 | "kind-of": { 4252 | "version": "3.2.2", 4253 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 4254 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 4255 | "dev": true, 4256 | "requires": { 4257 | "is-buffer": "1.1.6" 4258 | } 4259 | } 4260 | } 4261 | }, 4262 | "to-regex": { 4263 | "version": "3.0.1", 4264 | "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.1.tgz", 4265 | "integrity": "sha1-FTWL7kosg712N3uh3ASdDxiDeq4=", 4266 | "dev": true, 4267 | "requires": { 4268 | "define-property": "0.2.5", 4269 | "extend-shallow": "2.0.1", 4270 | "regex-not": "1.0.0" 4271 | }, 4272 | "dependencies": { 4273 | "define-property": { 4274 | "version": "0.2.5", 4275 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", 4276 | "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", 4277 | "dev": true, 4278 | "requires": { 4279 | "is-descriptor": "0.1.6" 4280 | } 4281 | }, 4282 | "is-accessor-descriptor": { 4283 | "version": "0.1.6", 4284 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", 4285 | "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", 4286 | "dev": true, 4287 | "requires": { 4288 | "kind-of": "3.2.2" 4289 | }, 4290 | "dependencies": { 4291 | "kind-of": { 4292 | "version": "3.2.2", 4293 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 4294 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 4295 | "dev": true, 4296 | "requires": { 4297 | "is-buffer": "1.1.6" 4298 | } 4299 | } 4300 | } 4301 | }, 4302 | "is-data-descriptor": { 4303 | "version": "0.1.4", 4304 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", 4305 | "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", 4306 | "dev": true, 4307 | "requires": { 4308 | "kind-of": "3.2.2" 4309 | }, 4310 | "dependencies": { 4311 | "kind-of": { 4312 | "version": "3.2.2", 4313 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 4314 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 4315 | "dev": true, 4316 | "requires": { 4317 | "is-buffer": "1.1.6" 4318 | } 4319 | } 4320 | } 4321 | }, 4322 | "is-descriptor": { 4323 | "version": "0.1.6", 4324 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", 4325 | "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", 4326 | "dev": true, 4327 | "requires": { 4328 | "is-accessor-descriptor": "0.1.6", 4329 | "is-data-descriptor": "0.1.4", 4330 | "kind-of": "5.1.0" 4331 | } 4332 | }, 4333 | "kind-of": { 4334 | "version": "5.1.0", 4335 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", 4336 | "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", 4337 | "dev": true 4338 | } 4339 | } 4340 | }, 4341 | "to-regex-range": { 4342 | "version": "2.1.1", 4343 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", 4344 | "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", 4345 | "dev": true, 4346 | "requires": { 4347 | "is-number": "3.0.0", 4348 | "repeat-string": "1.6.1" 4349 | } 4350 | }, 4351 | "tough-cookie": { 4352 | "version": "2.3.3", 4353 | "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz", 4354 | "integrity": "sha1-C2GKVWW23qkL80JdBNVe3EdadWE=", 4355 | "dev": true, 4356 | "requires": { 4357 | "punycode": "1.4.1" 4358 | } 4359 | }, 4360 | "trim-newlines": { 4361 | "version": "1.0.0", 4362 | "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", 4363 | "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", 4364 | "dev": true 4365 | }, 4366 | "true-case-path": { 4367 | "version": "1.0.2", 4368 | "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.2.tgz", 4369 | "integrity": "sha1-fskRMJJHZsf1c74wIMNPj9/QDWI=", 4370 | "dev": true, 4371 | "requires": { 4372 | "glob": "6.0.4" 4373 | }, 4374 | "dependencies": { 4375 | "glob": { 4376 | "version": "6.0.4", 4377 | "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz", 4378 | "integrity": "sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=", 4379 | "dev": true, 4380 | "requires": { 4381 | "inflight": "1.0.6", 4382 | "inherits": "2.0.3", 4383 | "minimatch": "2.0.10", 4384 | "once": "1.3.3", 4385 | "path-is-absolute": "1.0.1" 4386 | } 4387 | } 4388 | } 4389 | }, 4390 | "tsickle": { 4391 | "version": "0.21.6", 4392 | "resolved": "https://registry.npmjs.org/tsickle/-/tsickle-0.21.6.tgz", 4393 | "integrity": "sha1-U7Abl5xcE/2xOvs/uVgXflmRWI0=", 4394 | "dev": true, 4395 | "requires": { 4396 | "minimist": "1.2.0", 4397 | "mkdirp": "0.5.1", 4398 | "source-map": "0.5.7", 4399 | "source-map-support": "0.4.18" 4400 | } 4401 | }, 4402 | "tslib": { 4403 | "version": "1.8.1", 4404 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.8.1.tgz", 4405 | "integrity": "sha1-aUavLR1lGnsYY7Ux1uWvpBqkTqw=", 4406 | "dev": true 4407 | }, 4408 | "tunnel-agent": { 4409 | "version": "0.6.0", 4410 | "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", 4411 | "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", 4412 | "dev": true, 4413 | "requires": { 4414 | "safe-buffer": "5.1.1" 4415 | } 4416 | }, 4417 | "tweetnacl": { 4418 | "version": "0.14.5", 4419 | "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", 4420 | "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", 4421 | "dev": true, 4422 | "optional": true 4423 | }, 4424 | "typescript": { 4425 | "version": "2.6.2", 4426 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.6.2.tgz", 4427 | "integrity": "sha1-PFtv1/beCRQmkCfwPAlGdY92c6Q=", 4428 | "dev": true 4429 | }, 4430 | "unc-path-regex": { 4431 | "version": "0.1.2", 4432 | "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", 4433 | "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=", 4434 | "dev": true 4435 | }, 4436 | "union-value": { 4437 | "version": "1.0.0", 4438 | "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", 4439 | "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", 4440 | "dev": true, 4441 | "requires": { 4442 | "arr-union": "3.1.0", 4443 | "get-value": "2.0.6", 4444 | "is-extendable": "0.1.1", 4445 | "set-value": "0.4.3" 4446 | }, 4447 | "dependencies": { 4448 | "set-value": { 4449 | "version": "0.4.3", 4450 | "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", 4451 | "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", 4452 | "dev": true, 4453 | "requires": { 4454 | "extend-shallow": "2.0.1", 4455 | "is-extendable": "0.1.1", 4456 | "is-plain-object": "2.0.4", 4457 | "to-object-path": "0.3.0" 4458 | } 4459 | } 4460 | } 4461 | }, 4462 | "unique-stream": { 4463 | "version": "1.0.0", 4464 | "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-1.0.0.tgz", 4465 | "integrity": "sha1-1ZpKdUJ0R9mqbJHnAmP40mpLEEs=", 4466 | "dev": true 4467 | }, 4468 | "unset-value": { 4469 | "version": "1.0.0", 4470 | "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", 4471 | "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", 4472 | "dev": true, 4473 | "requires": { 4474 | "has-value": "0.3.1", 4475 | "isobject": "3.0.1" 4476 | }, 4477 | "dependencies": { 4478 | "has-value": { 4479 | "version": "0.3.1", 4480 | "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", 4481 | "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", 4482 | "dev": true, 4483 | "requires": { 4484 | "get-value": "2.0.6", 4485 | "has-values": "0.1.4", 4486 | "isobject": "2.1.0" 4487 | }, 4488 | "dependencies": { 4489 | "isobject": { 4490 | "version": "2.1.0", 4491 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", 4492 | "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", 4493 | "dev": true, 4494 | "requires": { 4495 | "isarray": "1.0.0" 4496 | } 4497 | } 4498 | } 4499 | }, 4500 | "has-values": { 4501 | "version": "0.1.4", 4502 | "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", 4503 | "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", 4504 | "dev": true 4505 | }, 4506 | "isarray": { 4507 | "version": "1.0.0", 4508 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", 4509 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", 4510 | "dev": true 4511 | } 4512 | } 4513 | }, 4514 | "urix": { 4515 | "version": "0.1.0", 4516 | "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", 4517 | "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", 4518 | "dev": true 4519 | }, 4520 | "use": { 4521 | "version": "2.0.2", 4522 | "resolved": "https://registry.npmjs.org/use/-/use-2.0.2.tgz", 4523 | "integrity": "sha1-riig1y+TvyJCKhii43mZMRLeyOg=", 4524 | "dev": true, 4525 | "requires": { 4526 | "define-property": "0.2.5", 4527 | "isobject": "3.0.1", 4528 | "lazy-cache": "2.0.2" 4529 | }, 4530 | "dependencies": { 4531 | "define-property": { 4532 | "version": "0.2.5", 4533 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", 4534 | "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", 4535 | "dev": true, 4536 | "requires": { 4537 | "is-descriptor": "0.1.6" 4538 | } 4539 | }, 4540 | "is-accessor-descriptor": { 4541 | "version": "0.1.6", 4542 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", 4543 | "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", 4544 | "dev": true, 4545 | "requires": { 4546 | "kind-of": "3.2.2" 4547 | }, 4548 | "dependencies": { 4549 | "kind-of": { 4550 | "version": "3.2.2", 4551 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 4552 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 4553 | "dev": true, 4554 | "requires": { 4555 | "is-buffer": "1.1.6" 4556 | } 4557 | } 4558 | } 4559 | }, 4560 | "is-data-descriptor": { 4561 | "version": "0.1.4", 4562 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", 4563 | "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", 4564 | "dev": true, 4565 | "requires": { 4566 | "kind-of": "3.2.2" 4567 | }, 4568 | "dependencies": { 4569 | "kind-of": { 4570 | "version": "3.2.2", 4571 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 4572 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 4573 | "dev": true, 4574 | "requires": { 4575 | "is-buffer": "1.1.6" 4576 | } 4577 | } 4578 | } 4579 | }, 4580 | "is-descriptor": { 4581 | "version": "0.1.6", 4582 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", 4583 | "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", 4584 | "dev": true, 4585 | "requires": { 4586 | "is-accessor-descriptor": "0.1.6", 4587 | "is-data-descriptor": "0.1.4", 4588 | "kind-of": "5.1.0" 4589 | } 4590 | }, 4591 | "kind-of": { 4592 | "version": "5.1.0", 4593 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", 4594 | "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", 4595 | "dev": true 4596 | } 4597 | } 4598 | }, 4599 | "user-home": { 4600 | "version": "1.1.1", 4601 | "resolved": "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz", 4602 | "integrity": "sha1-K1viOjK2Onyd640PKNSFcko98ZA=", 4603 | "dev": true 4604 | }, 4605 | "util-deprecate": { 4606 | "version": "1.0.2", 4607 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 4608 | "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", 4609 | "dev": true 4610 | }, 4611 | "uuid": { 4612 | "version": "3.1.0", 4613 | "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz", 4614 | "integrity": "sha512-DIWtzUkw04M4k3bf1IcpS2tngXEL26YUD2M0tMDUpnUrz2hgzUBlD55a4FjdLGPvfHxS6uluGWvaVEqgBcVa+g==", 4615 | "dev": true 4616 | }, 4617 | "v8flags": { 4618 | "version": "2.1.1", 4619 | "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-2.1.1.tgz", 4620 | "integrity": "sha1-qrGh+jDUX4jdMhFIh1rALAtV5bQ=", 4621 | "dev": true, 4622 | "requires": { 4623 | "user-home": "1.1.1" 4624 | } 4625 | }, 4626 | "validate-npm-package-license": { 4627 | "version": "3.0.1", 4628 | "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz", 4629 | "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=", 4630 | "dev": true, 4631 | "requires": { 4632 | "spdx-correct": "1.0.2", 4633 | "spdx-expression-parse": "1.0.4" 4634 | } 4635 | }, 4636 | "verror": { 4637 | "version": "1.10.0", 4638 | "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", 4639 | "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", 4640 | "dev": true, 4641 | "requires": { 4642 | "assert-plus": "1.0.0", 4643 | "core-util-is": "1.0.2", 4644 | "extsprintf": "1.3.0" 4645 | }, 4646 | "dependencies": { 4647 | "assert-plus": { 4648 | "version": "1.0.0", 4649 | "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", 4650 | "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", 4651 | "dev": true 4652 | } 4653 | } 4654 | }, 4655 | "vinyl": { 4656 | "version": "0.5.3", 4657 | "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.5.3.tgz", 4658 | "integrity": "sha1-sEVbOPxeDPMNQyUTLkYZcMIJHN4=", 4659 | "dev": true, 4660 | "requires": { 4661 | "clone": "1.0.3", 4662 | "clone-stats": "0.0.1", 4663 | "replace-ext": "0.0.1" 4664 | } 4665 | }, 4666 | "vinyl-fs": { 4667 | "version": "0.3.14", 4668 | "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-0.3.14.tgz", 4669 | "integrity": "sha1-mmhRzhysHBzqX+hsCTHWIMLPqeY=", 4670 | "dev": true, 4671 | "requires": { 4672 | "defaults": "1.0.3", 4673 | "glob-stream": "3.1.18", 4674 | "glob-watcher": "0.0.6", 4675 | "graceful-fs": "3.0.11", 4676 | "mkdirp": "0.5.1", 4677 | "strip-bom": "1.0.0", 4678 | "through2": "0.6.5", 4679 | "vinyl": "0.4.6" 4680 | }, 4681 | "dependencies": { 4682 | "clone": { 4683 | "version": "0.2.0", 4684 | "resolved": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz", 4685 | "integrity": "sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=", 4686 | "dev": true 4687 | }, 4688 | "readable-stream": { 4689 | "version": "1.0.34", 4690 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", 4691 | "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", 4692 | "dev": true, 4693 | "requires": { 4694 | "core-util-is": "1.0.2", 4695 | "inherits": "2.0.3", 4696 | "isarray": "0.0.1", 4697 | "string_decoder": "0.10.31" 4698 | } 4699 | }, 4700 | "through2": { 4701 | "version": "0.6.5", 4702 | "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", 4703 | "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", 4704 | "dev": true, 4705 | "requires": { 4706 | "readable-stream": "1.0.34", 4707 | "xtend": "4.0.1" 4708 | } 4709 | }, 4710 | "vinyl": { 4711 | "version": "0.4.6", 4712 | "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz", 4713 | "integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=", 4714 | "dev": true, 4715 | "requires": { 4716 | "clone": "0.2.0", 4717 | "clone-stats": "0.0.1" 4718 | } 4719 | } 4720 | } 4721 | }, 4722 | "which": { 4723 | "version": "1.3.0", 4724 | "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", 4725 | "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", 4726 | "dev": true, 4727 | "requires": { 4728 | "isexe": "2.0.0" 4729 | } 4730 | }, 4731 | "which-module": { 4732 | "version": "1.0.0", 4733 | "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", 4734 | "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", 4735 | "dev": true 4736 | }, 4737 | "wide-align": { 4738 | "version": "1.1.2", 4739 | "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz", 4740 | "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==", 4741 | "dev": true, 4742 | "requires": { 4743 | "string-width": "1.0.2" 4744 | } 4745 | }, 4746 | "wrap-ansi": { 4747 | "version": "2.1.0", 4748 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", 4749 | "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", 4750 | "dev": true, 4751 | "requires": { 4752 | "string-width": "1.0.2", 4753 | "strip-ansi": "3.0.1" 4754 | } 4755 | }, 4756 | "wrappy": { 4757 | "version": "1.0.2", 4758 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 4759 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", 4760 | "dev": true 4761 | }, 4762 | "xtend": { 4763 | "version": "4.0.1", 4764 | "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", 4765 | "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", 4766 | "dev": true 4767 | }, 4768 | "y18n": { 4769 | "version": "3.2.1", 4770 | "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", 4771 | "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", 4772 | "dev": true 4773 | }, 4774 | "yallist": { 4775 | "version": "2.1.2", 4776 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", 4777 | "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", 4778 | "dev": true 4779 | }, 4780 | "yargs": { 4781 | "version": "7.1.0", 4782 | "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz", 4783 | "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=", 4784 | "dev": true, 4785 | "requires": { 4786 | "camelcase": "3.0.0", 4787 | "cliui": "3.2.0", 4788 | "decamelize": "1.2.0", 4789 | "get-caller-file": "1.0.2", 4790 | "os-locale": "1.4.0", 4791 | "read-pkg-up": "1.0.1", 4792 | "require-directory": "2.1.1", 4793 | "require-main-filename": "1.0.1", 4794 | "set-blocking": "2.0.0", 4795 | "string-width": "1.0.2", 4796 | "which-module": "1.0.0", 4797 | "y18n": "3.2.1", 4798 | "yargs-parser": "5.0.0" 4799 | }, 4800 | "dependencies": { 4801 | "camelcase": { 4802 | "version": "3.0.0", 4803 | "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", 4804 | "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", 4805 | "dev": true 4806 | } 4807 | } 4808 | }, 4809 | "yargs-parser": { 4810 | "version": "5.0.0", 4811 | "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz", 4812 | "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=", 4813 | "dev": true, 4814 | "requires": { 4815 | "camelcase": "3.0.0" 4816 | }, 4817 | "dependencies": { 4818 | "camelcase": { 4819 | "version": "3.0.0", 4820 | "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", 4821 | "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", 4822 | "dev": true 4823 | } 4824 | } 4825 | }, 4826 | "zone.js": { 4827 | "version": "0.8.20", 4828 | "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.8.20.tgz", 4829 | "integrity": "sha512-FXlA37ErSXCMy5RNBcGFgCI/Zivqzr0D19GuvDxhcYIJc7xkFp6c29DKyODJu0Zo+EMyur/WPPgcBh1EHjB9jA==", 4830 | "dev": true 4831 | } 4832 | } 4833 | } 4834 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ionic-multi-camera", 3 | "description": "Take multiple photos one after another", 4 | "version": "1.0.1", 5 | "license": "MIT", 6 | "author": { 7 | "name": "Daniel Müller", 8 | "email": "daniel.mueller@surnet.ch", 9 | "url": "https://github.com/chdanielmueller" 10 | }, 11 | "homepage": "https://github.com/Surnet/ionic-multi-camera", 12 | "bugs": { 13 | "url": "https://github.com/Surnet/ionic-multi-camera/issues" 14 | }, 15 | "repository": { 16 | "type": "git", 17 | "url": "https://github.com/Surnet/ionic-multi-camera.git" 18 | }, 19 | "keywords": [ 20 | "ionic", 21 | "multi", 22 | "image", 23 | "picture", 24 | "photo", 25 | "camera" 26 | ], 27 | "main": "./dist/index.js", 28 | "typings": "./dist/index.d.ts", 29 | "files": "dist", 30 | "scripts": { 31 | "ngc": "ngc", 32 | "gulp": "gulp", 33 | "build": "rm -rf dist tmp && npm run gulp && npm run ngc", 34 | "publishPackage": "npm run build && npm publish" 35 | }, 36 | "devDependencies": { 37 | "@angular/common": "^4.4.3", 38 | "@angular/compiler": "^4.4.3", 39 | "@angular/compiler-cli": "^4.4.3", 40 | "@angular/core": "^4.4.3", 41 | "@angular/forms": "^4.4.3", 42 | "@angular/platform-browser": "^4.4.3", 43 | "@angular/platform-browser-dynamic": "^4.4.3", 44 | "@ionic-native/camera-preview": "^4.5.2", 45 | "@ionic-native/core": "^4.5.2", 46 | "@ionic-native/device-motion": "^4.5.2", 47 | "@ionic-native/file": "^4.5.2", 48 | "@ionic-native/status-bar": "^4.5.2", 49 | "@types/node": "^8.5.7", 50 | "gulp": "^3.9.1", 51 | "gulp-angular-embed-templates": "^2.3.0", 52 | "gulp-angular2-embed-sass": "^0.5.1", 53 | "ionic-angular": "^3.9.2", 54 | "rxjs": "^5.5.2", 55 | "typescript": "^2.5.3", 56 | "zone.js": "^0.8.18" 57 | }, 58 | "peerDependencies": { 59 | "@angular/core": "*", 60 | "@ionic-native/camera-preview": ">=4.5.2", 61 | "@ionic-native/device-motion": ">=4.5.2", 62 | "@ionic-native/file": ">=4.5.2", 63 | "@ionic-native/status-bar": ">=4.5.2", 64 | "ionic-angular": ">=3.9.2" 65 | } 66 | } 67 | -------------------------------------------------------------------------------- /src/classes/picture-result.ts: -------------------------------------------------------------------------------- 1 | import { Picture } from './picture'; 2 | 3 | export interface PictureResult { 4 | pictures?: Array; 5 | error?: any; 6 | } 7 | -------------------------------------------------------------------------------- /src/classes/picture.ts: -------------------------------------------------------------------------------- 1 | import { FileEntry } from '@ionic-native/file'; 2 | 3 | export interface Picture { 4 | normalizedURL: string; 5 | fileEntry: FileEntry; 6 | base64Data: string; 7 | imageOrientation: number; 8 | } 9 | -------------------------------------------------------------------------------- /src/classes/translations.ts: -------------------------------------------------------------------------------- 1 | export interface CameraTranslations { 2 | cancel: string; 3 | finish: string; 4 | auto: string; 5 | on: string; 6 | off: string; 7 | } 8 | -------------------------------------------------------------------------------- /src/helpers/picture-mutations.ts: -------------------------------------------------------------------------------- 1 | 2 | export function base64toBlob(b64Data: string, contentType?: string, sliceSize?: number): Blob { 3 | contentType = contentType || ''; 4 | sliceSize = sliceSize || 512; 5 | 6 | const byteCharacters: string = atob(b64Data); 7 | const byteArrays: Array = []; 8 | 9 | for (let offset = 0; offset < byteCharacters.length; offset += sliceSize) { 10 | const slice: string = byteCharacters.slice(offset, offset + sliceSize); 11 | 12 | const byteNumbers: Array = new Array(slice.length); 13 | for (let i = 0; i < slice.length; i++) { 14 | byteNumbers[i] = slice.charCodeAt(i); 15 | } 16 | 17 | const byteArray: Uint8Array = new Uint8Array(byteNumbers); 18 | 19 | byteArrays.push(byteArray); 20 | } 21 | 22 | const blob: Blob = new Blob(byteArrays, {type: contentType}); 23 | return blob; 24 | } 25 | 26 | export function rotateBase64Image(imageData: string, degrees: number): Promise { 27 | return new Promise((resolve) => { 28 | let canvas: HTMLCanvasElement = document.createElement('canvas'); 29 | let canvasContext: CanvasRenderingContext2D = canvas.getContext('2d'); 30 | let image: HTMLImageElement = new Image(); 31 | 32 | image.onload = () => { 33 | if ((degrees / 90) % 2 === 0) { 34 | canvas.width = image.width; 35 | canvas.height = image.height; 36 | } else { 37 | canvas.width = image.height; 38 | canvas.height = image.width; 39 | } 40 | 41 | switch (degrees) { 42 | case 90: 43 | canvasContext.translate(canvas.width, 0); 44 | break; 45 | case 180: 46 | canvasContext.translate(canvas.width, canvas.height); 47 | break; 48 | case 270: 49 | canvasContext.translate(0, canvas.height); 50 | break; 51 | } 52 | 53 | canvasContext.rotate(degrees * Math.PI / 180); 54 | canvasContext.drawImage(image, 0, 0); 55 | let dataUrl: string = canvas.toDataURL('image/jpeg'); 56 | resolve(dataUrl.replace('data:image/jpeg;base64,', '')); 57 | }; 58 | 59 | image.src = 'data:image/jpeg;base64,' + imageData; 60 | }); 61 | } 62 | -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- 1 | export { IonicMultiCameraModule } from './modules/ionic-multi-camera.module'; 2 | export { IonicMultiCamera } from './providers/ionic-multi-camera'; 3 | export { Picture } from './classes/picture'; 4 | export { CameraTranslations } from './classes/translations'; 5 | -------------------------------------------------------------------------------- /src/modules/ionic-multi-camera.module.ts: -------------------------------------------------------------------------------- 1 | // Base Dependencies 2 | import { NgModule, ModuleWithProviders } from '@angular/core'; 3 | import { IonicPageModule, NavController } from 'ionic-angular'; 4 | 5 | // Ionic Native plugins 6 | import { StatusBar } from '@ionic-native/status-bar'; 7 | import { CameraPreview } from '@ionic-native/camera-preview'; 8 | import { File } from '@ionic-native/file'; 9 | import { DeviceMotion } from '@ionic-native/device-motion'; 10 | 11 | // Components 12 | import { CameraComponent } from '../pages/camera/camera'; 13 | import { EditComponent } from '../pages/edit/edit'; 14 | 15 | // Providers 16 | import { IonicMultiCamera } from '../providers/ionic-multi-camera'; 17 | 18 | @NgModule({ 19 | declarations: [ 20 | CameraComponent, 21 | EditComponent 22 | ], 23 | imports: [ 24 | IonicPageModule.forChild(CameraComponent) 25 | ], 26 | providers: [ 27 | StatusBar, 28 | CameraPreview, 29 | File, 30 | DeviceMotion 31 | ], 32 | entryComponents: [ 33 | CameraComponent, 34 | EditComponent 35 | ] 36 | }) 37 | export class IonicMultiCameraModule { 38 | public static forRoot(): ModuleWithProviders { 39 | return { 40 | ngModule: IonicMultiCameraModule, 41 | providers: [ IonicMultiCamera ] 42 | }; 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /src/pages/camera/camera.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 8 | 9 | 10 | 11 | 12 | {{ translations.auto }} 13 | 14 | 15 | {{ translations.on }} 16 | 17 | 18 | {{ translations.off }} 19 | 20 | 21 | 22 | 23 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 48 | 49 | 52 | 53 | 56 | 57 | 58 | 59 | -------------------------------------------------------------------------------- /src/pages/camera/camera.scss: -------------------------------------------------------------------------------- 1 | // Photo Button 2 | .photo-button { 3 | font-size: 50px; 4 | 5 | position: absolute; 6 | left: 50%; 7 | transform: translate(-50%, -50%); 8 | } 9 | 10 | // Footer 11 | .footer-bar { 12 | padding-bottom: 30px; 13 | padding-bottom: calc(30px + constant(safe-area-inset-bottom)) !important; 14 | padding-bottom: calc(30px + env(safe-area-inset-bottom)) !important; 15 | 16 | min-height: 110px; 17 | min-height: calc(110px + constant(safe-area-inset-bottom)) !important; 18 | min-height: calc(110px + env(safe-area-inset-bottom)) !important; 19 | } 20 | 21 | // Thumbnail Bar 22 | ion-row { 23 | overflow-x: scroll; 24 | } 25 | .thumbnail { 26 | width: 60px; 27 | height: 60px; 28 | min-width: 60px; 29 | min-height: 60px; 30 | } 31 | -------------------------------------------------------------------------------- /src/pages/camera/camera.ts: -------------------------------------------------------------------------------- 1 | // Base Dependencies 2 | import { Component, ElementRef, ViewChild } from '@angular/core'; 3 | import { NavController, NavParams, MenuController, normalizeURL } from 'ionic-angular'; 4 | import uuid from 'uuid/v1'; 5 | 6 | // Ionic Native plugins 7 | import { StatusBar } from '@ionic-native/status-bar'; 8 | import { CameraPreview, CameraPreviewOptions, CameraPreviewPictureOptions } from '@ionic-native/camera-preview'; 9 | import { File, IWriteOptions } from '@ionic-native/file'; 10 | import { DeviceMotion, DeviceMotionAccelerationData } from '@ionic-native/device-motion'; 11 | 12 | // RxJs Import 13 | import { Subscription } from 'rxjs/Subscription'; 14 | 15 | // Classes 16 | import { Picture } from '../../classes/picture'; 17 | import { PictureResult } from '../../classes/picture-result'; 18 | import { CameraTranslations } from '../../classes/translations'; 19 | 20 | // Components 21 | import { EditComponent } from '../edit/edit'; 22 | 23 | // Helpers 24 | import { base64toBlob, rotateBase64Image } from '../../helpers/picture-mutations'; 25 | 26 | @Component({ 27 | selector: 'ionic-multi-camera', 28 | templateUrl: 'camera.html', 29 | styleUrls: ['camera.scss'] 30 | }) 31 | export class CameraComponent { 32 | 33 | @ViewChild('header') header: ElementRef; 34 | @ViewChild('footer') footer: ElementRef; 35 | 36 | public pictures: Array = []; 37 | private callback: (data: PictureResult) => Promise; 38 | private pictureOptions: CameraPreviewPictureOptions; 39 | public translations: CameraTranslations; 40 | 41 | private deviceOrientation: DeviceMotionAccelerationData; 42 | private motionSubscription: Subscription; 43 | 44 | private doesExit: boolean = false; 45 | 46 | // Flash Mode 47 | public showFlashOptions: boolean = false; 48 | private _activeFlashMode: string = 'auto'; 49 | get activeFlashMode(): string { 50 | return this._activeFlashMode; 51 | } 52 | set activeFlashMode(newValue) { 53 | this.cameraPreview.setFlashMode(newValue) 54 | .then(() => { 55 | this._activeFlashMode = newValue; 56 | this.showFlashOptions = false; 57 | }) 58 | .catch(err => { 59 | this.errorHandler(err); 60 | }); 61 | } 62 | 63 | constructor( 64 | private navCtrl: NavController, 65 | private navParams: NavParams, 66 | private menu: MenuController, 67 | private statusBar: StatusBar, 68 | private cameraPreview: CameraPreview, 69 | private file: File, 70 | private deviceMotion: DeviceMotion 71 | ) { 72 | this.callback = this.navParams.get('callback'); 73 | this.pictureOptions = this.navParams.get('pictureOptions') || { 74 | quality: 80, 75 | width: 4096, 76 | height: 4096 77 | }; 78 | this.translations = this.navParams.get('translations') || { 79 | cancel: 'Cancel', 80 | finish: 'Finish', 81 | auto: 'AUTO', 82 | on: 'On', 83 | off: 'Off' 84 | }; 85 | } 86 | 87 | public ionViewWillEnter(): void { 88 | this.menu.swipeEnable(false); 89 | this.statusBar.styleBlackOpaque(); 90 | } 91 | 92 | public ionViewDidEnter(): void { 93 | this.startCam(); 94 | this.motionSubscription = this.deviceMotion.watchAcceleration({ frequency: 500 }).subscribe((acceleration: DeviceMotionAccelerationData) => { 95 | this.deviceOrientation = acceleration; 96 | }); 97 | } 98 | 99 | public ionViewWillLeave(): void { 100 | if (this.doesExit) { 101 | this.menu.swipeEnable(true); 102 | this.statusBar.styleDefault(); 103 | } 104 | } 105 | 106 | public ionViewDidLeave(): void { 107 | if (this.doesExit) { 108 | this.stopCam(); 109 | this.motionSubscription.unsubscribe(); 110 | } 111 | } 112 | 113 | public focus(event) { 114 | const headerHeight = this.header.nativeElement.offsetHeight; 115 | const footerHeight = this.footer.nativeElement.offsetHeight; 116 | const xPoint: number = event.offsetX; 117 | const yPoint: number = (event.offsetY - headerHeight) / (window.screen.height - headerHeight - footerHeight) * window.screen.height; 118 | this.cameraPreview.tapToFocus(xPoint, yPoint) 119 | .then(() => { 120 | 121 | }) 122 | .catch(err => { 123 | console.error(err); 124 | }); 125 | } 126 | 127 | public switchCamera(): void { 128 | this.cameraPreview.switchCamera() 129 | .then(() => { 130 | 131 | }) 132 | .catch(err => { 133 | this.errorHandler(err); 134 | }); 135 | } 136 | 137 | public cancel(): void { 138 | let i: number = this.pictures.length; 139 | this.pictures.forEach(picture => { 140 | picture.fileEntry.remove(() => { 141 | i--; 142 | if (i === 0) { 143 | this.pictures = []; 144 | this.exit(); 145 | } 146 | }, err => { 147 | this.errorHandler(err); 148 | }); 149 | }); 150 | if (i === 0) { 151 | this.exit(); 152 | } 153 | } 154 | 155 | public takePicture(): void { 156 | const imageOrientation = this.getImageOrientation(); 157 | this.cameraPreview.takePicture(this.pictureOptions) 158 | .then(picture => { 159 | const fileOptions: IWriteOptions = { 160 | replace: true 161 | }; 162 | return this.file.writeFile(this.file.cacheDirectory, uuid() + '.jpeg', base64toBlob(picture, 'image/jpeg'), fileOptions) 163 | .then(fileEntry => { 164 | const normalizedURL = normalizeURL(fileEntry.toURL()); 165 | this.pictures.push({ 166 | fileEntry, 167 | normalizedURL, 168 | base64Data: picture, 169 | imageOrientation 170 | }); 171 | }) 172 | .catch(err => { 173 | this.errorHandler(err); 174 | }); 175 | }) 176 | .catch(err => { 177 | this.errorHandler(err); 178 | }); 179 | } 180 | 181 | public finish(): void { 182 | const promises = []; 183 | this.pictures.forEach(picture => { 184 | promises.push( 185 | new Promise((resolve, reject) => { 186 | rotateBase64Image(picture.base64Data, picture.imageOrientation) 187 | .then(imageData => { 188 | picture.imageOrientation = 0; 189 | picture.base64Data = imageData; 190 | picture.fileEntry.createWriter(fileWriter => { 191 | fileWriter.onwriteend = () => { 192 | resolve(picture); 193 | }; 194 | fileWriter.onerror = function (e) { 195 | reject(e); 196 | }; 197 | const file: Blob = base64toBlob(imageData, 'image/jpeg'); 198 | fileWriter.truncate(file.size); 199 | fileWriter.write(file); 200 | }, err => { 201 | reject(err); 202 | }); 203 | }) 204 | .catch(err => { 205 | reject(err); 206 | }); 207 | }) 208 | ); 209 | }); 210 | 211 | Promise.all(promises) 212 | .then(results => { 213 | this.callback({ 214 | pictures: results 215 | }); 216 | this.doesExit = true; 217 | this.navCtrl.pop(); 218 | }) 219 | .catch(err => { 220 | this.errorHandler(err); 221 | }); 222 | } 223 | 224 | public editPicture(picture: Picture, index: number): void { 225 | this.navCtrl.push(EditComponent, { 226 | picture, 227 | array: this.pictures, 228 | index 229 | }); 230 | } 231 | 232 | private errorHandler(error: any): void { 233 | this.callback({ 234 | error 235 | }); 236 | this.doesExit = true; 237 | this.navCtrl.pop(); 238 | } 239 | 240 | private exit(): void { 241 | this.callback({ 242 | pictures: this.pictures 243 | }); 244 | this.doesExit = true; 245 | this.navCtrl.pop(); 246 | } 247 | 248 | private startCam(): void { 249 | const headerHeight = this.header.nativeElement.offsetHeight; 250 | const footerHeight = this.footer.nativeElement.offsetHeight; 251 | const cameraPreviewOpts: CameraPreviewOptions = { 252 | x: 0, 253 | y: headerHeight, 254 | width: window.screen.width, 255 | height: window.screen.height - headerHeight - footerHeight, 256 | camera: 'rear', 257 | tapPhoto: false, 258 | previewDrag: false, 259 | toBack: true, 260 | alpha: 1 261 | }; 262 | 263 | this.cameraPreview.startCamera(cameraPreviewOpts) 264 | .then(() => { 265 | this.cameraPreview.setFlashMode('auto') 266 | .then(() => { 267 | 268 | }) 269 | .catch(err => { 270 | this.errorHandler(err); 271 | }); 272 | }) 273 | .catch(err => { 274 | if (err.indexOf('Camera already started') !== -1) { 275 | this.cameraPreview.setFlashMode('auto') 276 | .then(() => { 277 | 278 | }) 279 | .catch(err => { 280 | this.errorHandler(err); 281 | }); 282 | } else { 283 | this.errorHandler(err); 284 | } 285 | }); 286 | } 287 | 288 | private stopCam(): void { 289 | this.cameraPreview.stopCamera(); 290 | } 291 | 292 | private getImageOrientation(): number { 293 | if (this.deviceOrientation) { 294 | // If landscape 295 | if (Math.abs(this.deviceOrientation.x) > Math.abs(this.deviceOrientation.y)) { 296 | if (this.deviceOrientation.x > 0) { 297 | return 270; 298 | } else { 299 | return 90; 300 | } 301 | } else { 302 | // Portrait upside-down 303 | if (this.deviceOrientation.y < 0) { 304 | return 180; 305 | } else { 306 | // Right-side up 307 | return 0; 308 | } 309 | } 310 | } else { 311 | return 0; 312 | } 313 | } 314 | 315 | } 316 | -------------------------------------------------------------------------------- /src/pages/edit/edit.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 8 | 9 | 10 | 11 | 14 | 15 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /src/pages/edit/edit.scss: -------------------------------------------------------------------------------- 1 | ion-content { 2 | background-color: black !important; 3 | .scroll-content { 4 | overflow-y: hidden; 5 | } 6 | } 7 | 8 | img { 9 | position: absolute; 10 | margin: auto; 11 | top: 0; 12 | left: 0; 13 | right: 0; 14 | bottom: calc(0px + constant(safe-area-inset-bottom)); 15 | bottom: calc(0px + env(safe-area-inset-bottom)); 16 | } 17 | -------------------------------------------------------------------------------- /src/pages/edit/edit.ts: -------------------------------------------------------------------------------- 1 | // Base Dependencies 2 | import { Component } from '@angular/core'; 3 | import { NavController, NavParams } from 'ionic-angular'; 4 | 5 | // Classes 6 | import { Picture } from '../../classes/picture'; 7 | 8 | @Component({ 9 | selector: 'ionic-multi-edit', 10 | templateUrl: 'edit.html', 11 | styleUrls: ['edit.scss'] 12 | }) 13 | export class EditComponent { 14 | 15 | public picture: Picture; 16 | private array: Array; 17 | private index: number; 18 | 19 | constructor( 20 | private navCtrl: NavController, 21 | private navParams: NavParams 22 | ) { 23 | this.picture = this.navParams.data.picture; 24 | this.array = this.navParams.data.array; 25 | this.index = this.navParams.data.index; 26 | } 27 | 28 | public cancel(): void { 29 | this.navCtrl.pop(); 30 | } 31 | 32 | public remove(): void { 33 | this.picture.fileEntry.remove(() => { 34 | this.array.splice(this.index, 1); 35 | this.navCtrl.pop(); 36 | }, err => { 37 | console.error(err); 38 | }); 39 | } 40 | 41 | public rotateLeft(): void { 42 | this.picture.imageOrientation += 90; 43 | if (this.picture.imageOrientation >= 360) { 44 | this.picture.imageOrientation - 360; 45 | } 46 | } 47 | 48 | } 49 | -------------------------------------------------------------------------------- /src/providers/ionic-multi-camera.ts: -------------------------------------------------------------------------------- 1 | // Base Dependencies 2 | import { Injectable } from '@angular/core'; 3 | import { App, NavController } from 'ionic-angular'; 4 | import { CameraPreviewPictureOptions } from '@ionic-native/camera-preview'; 5 | 6 | // Classes 7 | import { Picture } from '../classes/picture'; 8 | import { PictureResult } from '../classes/picture-result'; 9 | import { CameraTranslations } from '../classes/translations'; 10 | 11 | // Components 12 | import { CameraComponent } from '../pages/camera/camera'; 13 | 14 | @Injectable() 15 | export class IonicMultiCamera { 16 | 17 | private navCtrl: NavController; 18 | 19 | constructor( 20 | private app: App 21 | ) { 22 | this.navCtrl = this.app.getActiveNavs()[0]; 23 | } 24 | 25 | public getPicture(pictureOptions?: CameraPreviewPictureOptions, translations?: CameraTranslations): Promise> { 26 | return new Promise>((resolve, reject) => { 27 | const getData = (data: PictureResult): Promise => { 28 | if (data.error) { 29 | reject(data.error); 30 | } else { 31 | resolve(data.pictures); 32 | } 33 | return Promise.resolve(); 34 | }; 35 | 36 | this.navCtrl.push(CameraComponent, { 37 | callback: getData, 38 | pictureOptions, 39 | translations 40 | }); 41 | }); 42 | } 43 | 44 | } 45 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es5", 4 | "module": "es2015", 5 | "moduleResolution": "node", 6 | "sourceMap": true, 7 | "declaration": true, 8 | "noImplicitAny": false, 9 | "inlineSources": true, 10 | "experimentalDecorators": true, 11 | "emitDecoratorMetadata": true, 12 | "allowUnreachableCode": false, 13 | "allowUnusedLabels": false, 14 | "pretty": true, 15 | "stripInternal": true, 16 | "skipLibCheck": true, 17 | "outDir": "dist", 18 | "rootDir": "./tmp", 19 | "lib": ["dom", "es2015"] 20 | }, 21 | "files": [ 22 | "./tmp/index.ts" 23 | ], 24 | "angularCompilerOptions": { 25 | "genDir": "dist", 26 | "debug": false, 27 | "skipTemplateCodegen": true, 28 | "skipMetadataEmit": false, 29 | "strictMetadataEmit": true 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "rules": { 3 | "align": [ 4 | true, 5 | "parameters", 6 | "statements" 7 | ], 8 | "ban": false, 9 | "class-name": true, 10 | "comment-format": [ 11 | true, 12 | "check-space" 13 | ], 14 | "curly": false, 15 | "eofline": true, 16 | "forin": false, 17 | "indent": [ 18 | true, 19 | "spaces" 20 | ], 21 | "interface-name": false, 22 | "jsdoc-format": true, 23 | "label-position": true, 24 | "max-line-length": [ 25 | true, 26 | 180 27 | ], 28 | "member-ordering": [false], 29 | "no-any": false, 30 | "no-arg": true, 31 | "no-bitwise": true, 32 | "no-conditional-assignment": true, 33 | "no-consecutive-blank-lines": true, 34 | "no-console": [false], 35 | "no-construct": false, 36 | "no-debugger": true, 37 | "no-duplicate-variable": true, 38 | "no-eval": true, 39 | "no-inferrable-types": false, 40 | "no-internal-module": true, 41 | "no-require-imports": false, 42 | "no-shadowed-variable": true, 43 | "no-string-literal": false, 44 | "no-switch-case-fall-through": true, 45 | "no-trailing-whitespace": true, 46 | "no-unused-variable": [ 47 | true, 48 | "check-parameters", 49 | { "ignore-pattern": "^ng*|^on*" } 50 | ], 51 | "no-use-before-declare": true, 52 | "no-var-keyword": true, 53 | "no-var-requires": true, 54 | "object-literal-sort-keys": false, 55 | "one-line": [ 56 | true, 57 | "check-open-brace", 58 | "check-whitespace" 59 | ], 60 | "quotemark": [ 61 | true, 62 | "single", 63 | "avoid-escape" 64 | ], 65 | "radix": false, 66 | "semicolon": true, 67 | "switch-default": false, 68 | "trailing-comma": [ 69 | true, 70 | { 71 | "multiline": "never", 72 | "singleline": "never" 73 | } 74 | ], 75 | "triple-equals": [true], 76 | "variable-name": [ 77 | true, 78 | "allow-leading-underscore", 79 | "ban-keywords" 80 | ], 81 | "whitespace": [ 82 | true, 83 | "check-branch", 84 | "check-decl", 85 | "check-operator", 86 | "check-separator", 87 | "check-type" 88 | ] 89 | }, 90 | "rulesDirectory": [ 91 | "node_modules/tslint-eslint-rules/dist/rules" 92 | ] 93 | } 94 | --------------------------------------------------------------------------------