├── .babelrc ├── .gitignore ├── .npmignore ├── LICENSE ├── README.md ├── dev └── public │ ├── index.html │ └── index.js ├── package-lock.json ├── package.json ├── screenshot.png ├── scripts ├── build-config.js ├── build.js └── dev.js └── src ├── EventBus.js ├── components ├── ContextMenu.vue ├── DropBetweenZone.vue ├── TreeNode.vue └── TreeView.vue └── index.js /.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": [ 3 | [ 4 | "env", 5 | { 6 | "targets": { 7 | "browsers": [ 8 | "last 4 versions", 9 | "safari >= 7" 10 | ] 11 | }, 12 | "modules": false 13 | } 14 | ] 15 | ], 16 | "env": { 17 | "test": { 18 | "presets": [ 19 | [ 20 | "env", 21 | { 22 | "targets": { 23 | "node": 8 24 | } 25 | } 26 | ] 27 | ] 28 | } 29 | } 30 | } -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules/ 3 | dist/ 4 | /.project 5 | .idea -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules/ 3 | /.project 4 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2018 Kamil Lipiński 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 all 13 | 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 THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | > A treeview component for [Bootstrap](https://getbootstrap.com/) and [Vue.js 2.0+](https://vuejs.org/) 4 | 5 | ![Bootstrap-Vue-Treeview Screenshot](https://raw.githubusercontent.com/kamil-lip/bootstrap-4-vue-treeview/master/screenshot.png) 6 | 7 | ## Online demo 8 | [https://bootstrap-vue-treeview.appdiamond.pl](https://bootstrap-vue-treeview.appdiamond.pl) 9 | 10 | ## Features 11 | - Drag & drop nodes 12 | - Context menu 13 | 14 | ## Installation 15 | ```bash 16 | npm install --save bootstrap-vue-treeview 17 | ``` 18 | ## Getting started 19 | 20 | ### Webpack 21 | If you use Webpack bundler (recommended) you can import component and register it locally: 22 | 23 | ```javascript 24 | import { bTreeView } from 'bootstrap-vue-treeview' 25 | [...] 26 | components: { 27 | bTreeView 28 | }, 29 | ``` 30 | or globally using plugin: 31 | ```javascript 32 | import BootstrapVueTreeview from 'bootstrap-vue-treeview' 33 | Vue.use(BootstrapVueTreeview) 34 | ``` 35 | 36 | Now you can you the treeview component in your code: 37 | ```html 38 | 39 | ``` 40 | ```javascript 41 | export default { 42 | data() { 43 | return { 44 | treeData: [{"id": 2, "name": "Venus" , "children": [{"id": 3, "name": "Neptune"}, {"id": 4, "name": "Stratus"} ] } ] 45 | } 46 | } 47 | } 48 | ``` 49 | 50 | ## API 51 | 52 | ### TreeView 53 | #### 1. Vue props 54 | 55 | | Prop | Type | Description | Default value | Required | 56 | | :--------------- |:--------------|:-----------------------|:--------------|:------| 57 | | data | Array | Tree data | - | Yes | 58 | | nodeKeyProp | String | Name of the property containing unique node key | "id" | No | 59 | | nodeChildrenProp | String | Where to look for node children | "children" | No 60 | | nodeLabelProp | String | Name of the property containing node label | "name" | No 61 | | showIcons | Boolean | Show/hide icons | false | No 62 | | iconClassProp | String | Name of the property containing icon class | "icon" | No 63 | | defaultIconClass | String | Icon class to apply if node has no icon class property | null | No 64 | | prependIconClass | String | Class to apply to every icon (common to all icons) | null | No 65 | | nodesDraggable | Boolean | Enable/disable drag & drop feature | false | No 66 | | contextMenu | Boolean | Enable/disable context menu | true | No 67 | | renameNodeOnDblClick | Boolean | Enable/disable double click to rename feature | true | No 68 | | contextMenuItems | Array of menu items | Context menu items | [ { code: 'DELETE_NODE', label: 'Delete node' }, { code: 'RENAME_NODE', label: 'Rename node' } ] | No 69 | 70 | #### 2. Events 71 | 72 | | Event name | Description | Parameters | 73 | |-----------------------|-----------------------------------------------------------------------------------------------------------------------------|-------------------------------------------| 74 | | nodeSelect | Triggered every time a node is selected/deselected. Check second parameter to verify if the node was selected or deselected | TreeNode object, isSelected | 75 | | contextMenuItemSelect | Triggered every time a context menu item was clicked. | Context menu item object (see below), TreeNode object | 76 | | | | | 77 | 78 | ### TreeNode 79 | 80 | Props and events of the tree node component are not intended to be used directly. 81 | #### 1. Methods 82 | | Method name | Description | Parameters | 83 | |-------------|-------------------------------|------------| 84 | | select | Select node | - | 85 | | deselect | Deselect node | - | 86 | | expand | Expand node (show children) | - | 87 | | collapse | Collapse node (hide children) | - | 88 | | toggle | Expand/collapse | - | 89 | 90 | ### Menu item 91 | 92 | #### 1. Properties 93 | 94 | | Property | Description | 95 | |----------|------------------------------------| 96 | | code | Code of the menu item. Check this code to know which menu item was clicked. | 97 | | label | Label being displayed for the user | 98 | 99 | -------------------------------------------------------------------------------- /dev/public/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | v2-tree 6 | 7 | 8 | 10 | 11 | 12 |
13 |
14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 | 26 | 27 | -------------------------------------------------------------------------------- /dev/public/index.js: -------------------------------------------------------------------------------- 1 | // This is not the best way to go with the tree component. I recommend you to use webpack with babel as described in the README file. 2 | Vue.use(bootstrapVueTreeview['default']); 3 | 4 | let count = 100; 5 | 6 | var app = new Vue({ 7 | template: ` 8 |
9 |
10 |
11 |
12 | 24 |
25 |
26 |
27 |
28 |
29 |
30 | Node {{ selectedNode.name }} is selected 31 |
32 |
33 |
34 |
`, 35 | el: '#app', 36 | data() { 37 | return { 38 | treeData: [ 39 | { 40 | "id": 1, 41 | "name": "Users", 42 | "icon": "fa-users" 43 | }, 44 | { 45 | "id": 2, 46 | "name": "Books", 47 | "icon": "fa-book", 48 | "children": [ 49 | { 50 | "id": 3, 51 | "name": "Neptune", 52 | "icon": "fa-book" 53 | } 54 | ] 55 | }, 56 | { 57 | "id": 5, 58 | "name": "Vehicles", 59 | "children": [ 60 | { 61 | "id": 23, 62 | "name": "Cars", 63 | "icon": "fa-car" 64 | }, 65 | { 66 | "id": 34, 67 | "name": "Trucks", 68 | "icon": "fa-truck", 69 | "children": [ 70 | { 71 | "id": 101, 72 | "name": "Mars" 73 | } 74 | ] 75 | } 76 | ] 77 | } 78 | ], 79 | selectedNode: null, 80 | contextMenuItems: [{code: 'DELETE_NODE', label: 'Delete node'}, { 81 | code: 'ADD_CHILD_NODE', 82 | label: 'Add child' 83 | }, {code: 'RENAME_NODE', label: 'Rename'}] 84 | } 85 | }, 86 | methods: { 87 | nodeSelect(node, isSelected) { 88 | console.log('Node ' + node.data.name + ' has been ' + (isSelected ? 'selected' : 'deselected')) 89 | if (isSelected) { 90 | this.selectedNode = node.data 91 | } else if (node.data === this.selectedNode) { 92 | this.selectedNode = null 93 | } 94 | }, 95 | menuItemSelected(item, node) { 96 | if (item.code === 'ADD_CHILD_NODE') { 97 | node.appendChild({ 98 | id: count++, 99 | name: 'My new node' 100 | }) 101 | } 102 | } 103 | } 104 | }) 105 | 106 | 107 | // add "tree is ready" event 108 | setTimeout(() => { 109 | console.log(app.$refs.tree.getNodeByKey(5).data.id) // TO DO: remove it, only for temporary testing, add professional tests 110 | }, 1000) 111 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bootstrap-vue-treeview", 3 | "version": "1.0.6", 4 | "lockfileVersion": 1, 5 | "requires": true, 6 | "dependencies": { 7 | "@babel/runtime": { 8 | "version": "7.0.0-beta.47", 9 | "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.0.0-beta.47.tgz", 10 | "integrity": "sha512-3IaakAC5B4bHJ0aCUKVw0pt+GruavdgWDFbf7TfKh7ZJ8yQuUp7af7MNwf3e+jH8776cjqYmMO1JNDDAE9WfrA==", 11 | "dev": true, 12 | "requires": { 13 | "core-js": "2.5.6", 14 | "regenerator-runtime": "0.11.1" 15 | } 16 | }, 17 | "@types/estree": { 18 | "version": "0.0.38", 19 | "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.38.tgz", 20 | "integrity": "sha512-F/v7t1LwS4vnXuPooJQGBRKRGIoxWUTmA4VHfqjOccFsNDThD5bfUNpITive6s352O7o384wcpEaDV8rHCehDA==", 21 | "dev": true 22 | }, 23 | "@types/node": { 24 | "version": "10.0.8", 25 | "resolved": "https://registry.npmjs.org/@types/node/-/node-10.0.8.tgz", 26 | "integrity": "sha512-MFFKFv2X4iZy/NFl1m1E8uwE1CR96SGwJjgHma09PLtqOWoj3nqeJHMG+P/EuJGVLvC2I6MdQRQsr4TcRduIow==", 27 | "dev": true 28 | }, 29 | "@vue/component-compiler": { 30 | "version": "3.3.2", 31 | "resolved": "https://registry.npmjs.org/@vue/component-compiler/-/component-compiler-3.3.2.tgz", 32 | "integrity": "sha512-LhFAGyjkfJrwQhitwgV035del93s88lx5F/oVHJZdYkLC6KCf0ENg17p7F7Oll40u+YMcQLR0RTFyJi5jXHmfQ==", 33 | "dev": true, 34 | "requires": { 35 | "@vue/component-compiler-utils": "1.2.1", 36 | "clean-css": "4.1.11", 37 | "hash-sum": "1.0.2", 38 | "postcss-modules-sync": "1.0.0" 39 | } 40 | }, 41 | "@vue/component-compiler-utils": { 42 | "version": "1.2.1", 43 | "resolved": "https://registry.npmjs.org/@vue/component-compiler-utils/-/component-compiler-utils-1.2.1.tgz", 44 | "integrity": "sha512-l3GdahBgXlp/SoY5KU7mqMqg/BNiJAndpw/6nMfGzFooCGUkq49CT3pCMiSYy0g/2a6iBD37cHBYlsg4nulIwQ==", 45 | "dev": true, 46 | "requires": { 47 | "consolidate": "0.15.1", 48 | "hash-sum": "1.0.2", 49 | "lru-cache": "4.1.3", 50 | "merge-source-map": "1.1.0", 51 | "postcss": "6.0.22", 52 | "postcss-selector-parser": "3.1.1", 53 | "prettier": "1.12.1", 54 | "source-map": "0.5.7", 55 | "vue-template-es2015-compiler": "1.6.0" 56 | } 57 | }, 58 | "amdefine": { 59 | "version": "1.0.1", 60 | "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", 61 | "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", 62 | "dev": true 63 | }, 64 | "ansi-regex": { 65 | "version": "2.1.1", 66 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", 67 | "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", 68 | "dev": true 69 | }, 70 | "ansi-styles": { 71 | "version": "2.2.1", 72 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", 73 | "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", 74 | "dev": true 75 | }, 76 | "any-promise": { 77 | "version": "1.3.0", 78 | "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", 79 | "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=", 80 | "dev": true 81 | }, 82 | "arr-diff": { 83 | "version": "2.0.0", 84 | "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", 85 | "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", 86 | "dev": true, 87 | "requires": { 88 | "arr-flatten": "1.1.0" 89 | } 90 | }, 91 | "arr-flatten": { 92 | "version": "1.1.0", 93 | "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", 94 | "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", 95 | "dev": true 96 | }, 97 | "array-union": { 98 | "version": "1.0.2", 99 | "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", 100 | "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", 101 | "dev": true, 102 | "requires": { 103 | "array-uniq": "1.0.3" 104 | } 105 | }, 106 | "array-uniq": { 107 | "version": "1.0.3", 108 | "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", 109 | "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", 110 | "dev": true 111 | }, 112 | "array-unique": { 113 | "version": "0.2.1", 114 | "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", 115 | "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", 116 | "dev": true 117 | }, 118 | "babel-code-frame": { 119 | "version": "6.26.0", 120 | "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", 121 | "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", 122 | "dev": true, 123 | "requires": { 124 | "chalk": "1.1.3", 125 | "esutils": "2.0.2", 126 | "js-tokens": "3.0.2" 127 | } 128 | }, 129 | "babel-core": { 130 | "version": "6.26.3", 131 | "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz", 132 | "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", 133 | "dev": true, 134 | "requires": { 135 | "babel-code-frame": "6.26.0", 136 | "babel-generator": "6.26.1", 137 | "babel-helpers": "6.24.1", 138 | "babel-messages": "6.23.0", 139 | "babel-register": "6.26.0", 140 | "babel-runtime": "6.26.0", 141 | "babel-template": "6.26.0", 142 | "babel-traverse": "6.26.0", 143 | "babel-types": "6.26.0", 144 | "babylon": "6.18.0", 145 | "convert-source-map": "1.5.1", 146 | "debug": "2.6.9", 147 | "json5": "0.5.1", 148 | "lodash": "4.17.10", 149 | "minimatch": "3.0.4", 150 | "path-is-absolute": "1.0.1", 151 | "private": "0.1.8", 152 | "slash": "1.0.0", 153 | "source-map": "0.5.7" 154 | } 155 | }, 156 | "babel-generator": { 157 | "version": "6.26.1", 158 | "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", 159 | "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", 160 | "dev": true, 161 | "requires": { 162 | "babel-messages": "6.23.0", 163 | "babel-runtime": "6.26.0", 164 | "babel-types": "6.26.0", 165 | "detect-indent": "4.0.0", 166 | "jsesc": "1.3.0", 167 | "lodash": "4.17.10", 168 | "source-map": "0.5.7", 169 | "trim-right": "1.0.1" 170 | } 171 | }, 172 | "babel-helper-builder-binary-assignment-operator-visitor": { 173 | "version": "6.24.1", 174 | "resolved": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz", 175 | "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=", 176 | "dev": true, 177 | "requires": { 178 | "babel-helper-explode-assignable-expression": "6.24.1", 179 | "babel-runtime": "6.26.0", 180 | "babel-types": "6.26.0" 181 | } 182 | }, 183 | "babel-helper-call-delegate": { 184 | "version": "6.24.1", 185 | "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz", 186 | "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=", 187 | "dev": true, 188 | "requires": { 189 | "babel-helper-hoist-variables": "6.24.1", 190 | "babel-runtime": "6.26.0", 191 | "babel-traverse": "6.26.0", 192 | "babel-types": "6.26.0" 193 | } 194 | }, 195 | "babel-helper-define-map": { 196 | "version": "6.26.0", 197 | "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz", 198 | "integrity": "sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=", 199 | "dev": true, 200 | "requires": { 201 | "babel-helper-function-name": "6.24.1", 202 | "babel-runtime": "6.26.0", 203 | "babel-types": "6.26.0", 204 | "lodash": "4.17.10" 205 | } 206 | }, 207 | "babel-helper-explode-assignable-expression": { 208 | "version": "6.24.1", 209 | "resolved": "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz", 210 | "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=", 211 | "dev": true, 212 | "requires": { 213 | "babel-runtime": "6.26.0", 214 | "babel-traverse": "6.26.0", 215 | "babel-types": "6.26.0" 216 | } 217 | }, 218 | "babel-helper-function-name": { 219 | "version": "6.24.1", 220 | "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", 221 | "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", 222 | "dev": true, 223 | "requires": { 224 | "babel-helper-get-function-arity": "6.24.1", 225 | "babel-runtime": "6.26.0", 226 | "babel-template": "6.26.0", 227 | "babel-traverse": "6.26.0", 228 | "babel-types": "6.26.0" 229 | } 230 | }, 231 | "babel-helper-get-function-arity": { 232 | "version": "6.24.1", 233 | "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", 234 | "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", 235 | "dev": true, 236 | "requires": { 237 | "babel-runtime": "6.26.0", 238 | "babel-types": "6.26.0" 239 | } 240 | }, 241 | "babel-helper-hoist-variables": { 242 | "version": "6.24.1", 243 | "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz", 244 | "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=", 245 | "dev": true, 246 | "requires": { 247 | "babel-runtime": "6.26.0", 248 | "babel-types": "6.26.0" 249 | } 250 | }, 251 | "babel-helper-optimise-call-expression": { 252 | "version": "6.24.1", 253 | "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz", 254 | "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=", 255 | "dev": true, 256 | "requires": { 257 | "babel-runtime": "6.26.0", 258 | "babel-types": "6.26.0" 259 | } 260 | }, 261 | "babel-helper-regex": { 262 | "version": "6.26.0", 263 | "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz", 264 | "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=", 265 | "dev": true, 266 | "requires": { 267 | "babel-runtime": "6.26.0", 268 | "babel-types": "6.26.0", 269 | "lodash": "4.17.10" 270 | } 271 | }, 272 | "babel-helper-remap-async-to-generator": { 273 | "version": "6.24.1", 274 | "resolved": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz", 275 | "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=", 276 | "dev": true, 277 | "requires": { 278 | "babel-helper-function-name": "6.24.1", 279 | "babel-runtime": "6.26.0", 280 | "babel-template": "6.26.0", 281 | "babel-traverse": "6.26.0", 282 | "babel-types": "6.26.0" 283 | } 284 | }, 285 | "babel-helper-replace-supers": { 286 | "version": "6.24.1", 287 | "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz", 288 | "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=", 289 | "dev": true, 290 | "requires": { 291 | "babel-helper-optimise-call-expression": "6.24.1", 292 | "babel-messages": "6.23.0", 293 | "babel-runtime": "6.26.0", 294 | "babel-template": "6.26.0", 295 | "babel-traverse": "6.26.0", 296 | "babel-types": "6.26.0" 297 | } 298 | }, 299 | "babel-helpers": { 300 | "version": "6.24.1", 301 | "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", 302 | "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", 303 | "dev": true, 304 | "requires": { 305 | "babel-runtime": "6.26.0", 306 | "babel-template": "6.26.0" 307 | } 308 | }, 309 | "babel-messages": { 310 | "version": "6.23.0", 311 | "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", 312 | "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", 313 | "dev": true, 314 | "requires": { 315 | "babel-runtime": "6.26.0" 316 | } 317 | }, 318 | "babel-plugin-check-es2015-constants": { 319 | "version": "6.22.0", 320 | "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz", 321 | "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", 322 | "dev": true, 323 | "requires": { 324 | "babel-runtime": "6.26.0" 325 | } 326 | }, 327 | "babel-plugin-external-helpers": { 328 | "version": "6.22.0", 329 | "resolved": "https://registry.npmjs.org/babel-plugin-external-helpers/-/babel-plugin-external-helpers-6.22.0.tgz", 330 | "integrity": "sha1-IoX0iwK9Xe3oUXXK+MYuhq3M76E=", 331 | "dev": true, 332 | "requires": { 333 | "babel-runtime": "6.26.0" 334 | } 335 | }, 336 | "babel-plugin-syntax-async-functions": { 337 | "version": "6.13.0", 338 | "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz", 339 | "integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=", 340 | "dev": true 341 | }, 342 | "babel-plugin-syntax-exponentiation-operator": { 343 | "version": "6.13.0", 344 | "resolved": "https://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz", 345 | "integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=", 346 | "dev": true 347 | }, 348 | "babel-plugin-syntax-trailing-function-commas": { 349 | "version": "6.22.0", 350 | "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz", 351 | "integrity": "sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM=", 352 | "dev": true 353 | }, 354 | "babel-plugin-transform-async-to-generator": { 355 | "version": "6.24.1", 356 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz", 357 | "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=", 358 | "dev": true, 359 | "requires": { 360 | "babel-helper-remap-async-to-generator": "6.24.1", 361 | "babel-plugin-syntax-async-functions": "6.13.0", 362 | "babel-runtime": "6.26.0" 363 | } 364 | }, 365 | "babel-plugin-transform-es2015-arrow-functions": { 366 | "version": "6.22.0", 367 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz", 368 | "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=", 369 | "dev": true, 370 | "requires": { 371 | "babel-runtime": "6.26.0" 372 | } 373 | }, 374 | "babel-plugin-transform-es2015-block-scoped-functions": { 375 | "version": "6.22.0", 376 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz", 377 | "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=", 378 | "dev": true, 379 | "requires": { 380 | "babel-runtime": "6.26.0" 381 | } 382 | }, 383 | "babel-plugin-transform-es2015-block-scoping": { 384 | "version": "6.26.0", 385 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz", 386 | "integrity": "sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=", 387 | "dev": true, 388 | "requires": { 389 | "babel-runtime": "6.26.0", 390 | "babel-template": "6.26.0", 391 | "babel-traverse": "6.26.0", 392 | "babel-types": "6.26.0", 393 | "lodash": "4.17.10" 394 | } 395 | }, 396 | "babel-plugin-transform-es2015-classes": { 397 | "version": "6.24.1", 398 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz", 399 | "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=", 400 | "dev": true, 401 | "requires": { 402 | "babel-helper-define-map": "6.26.0", 403 | "babel-helper-function-name": "6.24.1", 404 | "babel-helper-optimise-call-expression": "6.24.1", 405 | "babel-helper-replace-supers": "6.24.1", 406 | "babel-messages": "6.23.0", 407 | "babel-runtime": "6.26.0", 408 | "babel-template": "6.26.0", 409 | "babel-traverse": "6.26.0", 410 | "babel-types": "6.26.0" 411 | } 412 | }, 413 | "babel-plugin-transform-es2015-computed-properties": { 414 | "version": "6.24.1", 415 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz", 416 | "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=", 417 | "dev": true, 418 | "requires": { 419 | "babel-runtime": "6.26.0", 420 | "babel-template": "6.26.0" 421 | } 422 | }, 423 | "babel-plugin-transform-es2015-destructuring": { 424 | "version": "6.23.0", 425 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz", 426 | "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", 427 | "dev": true, 428 | "requires": { 429 | "babel-runtime": "6.26.0" 430 | } 431 | }, 432 | "babel-plugin-transform-es2015-duplicate-keys": { 433 | "version": "6.24.1", 434 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz", 435 | "integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=", 436 | "dev": true, 437 | "requires": { 438 | "babel-runtime": "6.26.0", 439 | "babel-types": "6.26.0" 440 | } 441 | }, 442 | "babel-plugin-transform-es2015-for-of": { 443 | "version": "6.23.0", 444 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz", 445 | "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=", 446 | "dev": true, 447 | "requires": { 448 | "babel-runtime": "6.26.0" 449 | } 450 | }, 451 | "babel-plugin-transform-es2015-function-name": { 452 | "version": "6.24.1", 453 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz", 454 | "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=", 455 | "dev": true, 456 | "requires": { 457 | "babel-helper-function-name": "6.24.1", 458 | "babel-runtime": "6.26.0", 459 | "babel-types": "6.26.0" 460 | } 461 | }, 462 | "babel-plugin-transform-es2015-literals": { 463 | "version": "6.22.0", 464 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz", 465 | "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=", 466 | "dev": true, 467 | "requires": { 468 | "babel-runtime": "6.26.0" 469 | } 470 | }, 471 | "babel-plugin-transform-es2015-modules-amd": { 472 | "version": "6.24.1", 473 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz", 474 | "integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=", 475 | "dev": true, 476 | "requires": { 477 | "babel-plugin-transform-es2015-modules-commonjs": "6.26.2", 478 | "babel-runtime": "6.26.0", 479 | "babel-template": "6.26.0" 480 | } 481 | }, 482 | "babel-plugin-transform-es2015-modules-commonjs": { 483 | "version": "6.26.2", 484 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz", 485 | "integrity": "sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==", 486 | "dev": true, 487 | "requires": { 488 | "babel-plugin-transform-strict-mode": "6.24.1", 489 | "babel-runtime": "6.26.0", 490 | "babel-template": "6.26.0", 491 | "babel-types": "6.26.0" 492 | } 493 | }, 494 | "babel-plugin-transform-es2015-modules-systemjs": { 495 | "version": "6.24.1", 496 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz", 497 | "integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=", 498 | "dev": true, 499 | "requires": { 500 | "babel-helper-hoist-variables": "6.24.1", 501 | "babel-runtime": "6.26.0", 502 | "babel-template": "6.26.0" 503 | } 504 | }, 505 | "babel-plugin-transform-es2015-modules-umd": { 506 | "version": "6.24.1", 507 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz", 508 | "integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=", 509 | "dev": true, 510 | "requires": { 511 | "babel-plugin-transform-es2015-modules-amd": "6.24.1", 512 | "babel-runtime": "6.26.0", 513 | "babel-template": "6.26.0" 514 | } 515 | }, 516 | "babel-plugin-transform-es2015-object-super": { 517 | "version": "6.24.1", 518 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz", 519 | "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=", 520 | "dev": true, 521 | "requires": { 522 | "babel-helper-replace-supers": "6.24.1", 523 | "babel-runtime": "6.26.0" 524 | } 525 | }, 526 | "babel-plugin-transform-es2015-parameters": { 527 | "version": "6.24.1", 528 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz", 529 | "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=", 530 | "dev": true, 531 | "requires": { 532 | "babel-helper-call-delegate": "6.24.1", 533 | "babel-helper-get-function-arity": "6.24.1", 534 | "babel-runtime": "6.26.0", 535 | "babel-template": "6.26.0", 536 | "babel-traverse": "6.26.0", 537 | "babel-types": "6.26.0" 538 | } 539 | }, 540 | "babel-plugin-transform-es2015-shorthand-properties": { 541 | "version": "6.24.1", 542 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz", 543 | "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=", 544 | "dev": true, 545 | "requires": { 546 | "babel-runtime": "6.26.0", 547 | "babel-types": "6.26.0" 548 | } 549 | }, 550 | "babel-plugin-transform-es2015-spread": { 551 | "version": "6.22.0", 552 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz", 553 | "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", 554 | "dev": true, 555 | "requires": { 556 | "babel-runtime": "6.26.0" 557 | } 558 | }, 559 | "babel-plugin-transform-es2015-sticky-regex": { 560 | "version": "6.24.1", 561 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz", 562 | "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=", 563 | "dev": true, 564 | "requires": { 565 | "babel-helper-regex": "6.26.0", 566 | "babel-runtime": "6.26.0", 567 | "babel-types": "6.26.0" 568 | } 569 | }, 570 | "babel-plugin-transform-es2015-template-literals": { 571 | "version": "6.22.0", 572 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz", 573 | "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=", 574 | "dev": true, 575 | "requires": { 576 | "babel-runtime": "6.26.0" 577 | } 578 | }, 579 | "babel-plugin-transform-es2015-typeof-symbol": { 580 | "version": "6.23.0", 581 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz", 582 | "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=", 583 | "dev": true, 584 | "requires": { 585 | "babel-runtime": "6.26.0" 586 | } 587 | }, 588 | "babel-plugin-transform-es2015-unicode-regex": { 589 | "version": "6.24.1", 590 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz", 591 | "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=", 592 | "dev": true, 593 | "requires": { 594 | "babel-helper-regex": "6.26.0", 595 | "babel-runtime": "6.26.0", 596 | "regexpu-core": "2.0.0" 597 | }, 598 | "dependencies": { 599 | "regexpu-core": { 600 | "version": "2.0.0", 601 | "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz", 602 | "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", 603 | "dev": true, 604 | "requires": { 605 | "regenerate": "1.4.0", 606 | "regjsgen": "0.2.0", 607 | "regjsparser": "0.1.5" 608 | } 609 | } 610 | } 611 | }, 612 | "babel-plugin-transform-exponentiation-operator": { 613 | "version": "6.24.1", 614 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz", 615 | "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=", 616 | "dev": true, 617 | "requires": { 618 | "babel-helper-builder-binary-assignment-operator-visitor": "6.24.1", 619 | "babel-plugin-syntax-exponentiation-operator": "6.13.0", 620 | "babel-runtime": "6.26.0" 621 | } 622 | }, 623 | "babel-plugin-transform-regenerator": { 624 | "version": "6.26.0", 625 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz", 626 | "integrity": "sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=", 627 | "dev": true, 628 | "requires": { 629 | "regenerator-transform": "0.10.1" 630 | }, 631 | "dependencies": { 632 | "regenerator-transform": { 633 | "version": "0.10.1", 634 | "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz", 635 | "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==", 636 | "dev": true, 637 | "requires": { 638 | "babel-runtime": "6.26.0", 639 | "babel-types": "6.26.0", 640 | "private": "0.1.8" 641 | } 642 | } 643 | } 644 | }, 645 | "babel-plugin-transform-runtime": { 646 | "version": "6.23.0", 647 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-runtime/-/babel-plugin-transform-runtime-6.23.0.tgz", 648 | "integrity": "sha1-iEkNRGUC6puOfvsP4J7E2ZR5se4=", 649 | "dev": true, 650 | "requires": { 651 | "babel-runtime": "6.26.0" 652 | } 653 | }, 654 | "babel-plugin-transform-strict-mode": { 655 | "version": "6.24.1", 656 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz", 657 | "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", 658 | "dev": true, 659 | "requires": { 660 | "babel-runtime": "6.26.0", 661 | "babel-types": "6.26.0" 662 | } 663 | }, 664 | "babel-preset-env": { 665 | "version": "1.7.0", 666 | "resolved": "https://registry.npmjs.org/babel-preset-env/-/babel-preset-env-1.7.0.tgz", 667 | "integrity": "sha512-9OR2afuKDneX2/q2EurSftUYM0xGu4O2D9adAhVfADDhrYDaxXV0rBbevVYoY9n6nyX1PmQW/0jtpJvUNr9CHg==", 668 | "dev": true, 669 | "requires": { 670 | "babel-plugin-check-es2015-constants": "6.22.0", 671 | "babel-plugin-syntax-trailing-function-commas": "6.22.0", 672 | "babel-plugin-transform-async-to-generator": "6.24.1", 673 | "babel-plugin-transform-es2015-arrow-functions": "6.22.0", 674 | "babel-plugin-transform-es2015-block-scoped-functions": "6.22.0", 675 | "babel-plugin-transform-es2015-block-scoping": "6.26.0", 676 | "babel-plugin-transform-es2015-classes": "6.24.1", 677 | "babel-plugin-transform-es2015-computed-properties": "6.24.1", 678 | "babel-plugin-transform-es2015-destructuring": "6.23.0", 679 | "babel-plugin-transform-es2015-duplicate-keys": "6.24.1", 680 | "babel-plugin-transform-es2015-for-of": "6.23.0", 681 | "babel-plugin-transform-es2015-function-name": "6.24.1", 682 | "babel-plugin-transform-es2015-literals": "6.22.0", 683 | "babel-plugin-transform-es2015-modules-amd": "6.24.1", 684 | "babel-plugin-transform-es2015-modules-commonjs": "6.26.2", 685 | "babel-plugin-transform-es2015-modules-systemjs": "6.24.1", 686 | "babel-plugin-transform-es2015-modules-umd": "6.24.1", 687 | "babel-plugin-transform-es2015-object-super": "6.24.1", 688 | "babel-plugin-transform-es2015-parameters": "6.24.1", 689 | "babel-plugin-transform-es2015-shorthand-properties": "6.24.1", 690 | "babel-plugin-transform-es2015-spread": "6.22.0", 691 | "babel-plugin-transform-es2015-sticky-regex": "6.24.1", 692 | "babel-plugin-transform-es2015-template-literals": "6.22.0", 693 | "babel-plugin-transform-es2015-typeof-symbol": "6.23.0", 694 | "babel-plugin-transform-es2015-unicode-regex": "6.24.1", 695 | "babel-plugin-transform-exponentiation-operator": "6.24.1", 696 | "babel-plugin-transform-regenerator": "6.26.0", 697 | "browserslist": "3.2.7", 698 | "invariant": "2.2.4", 699 | "semver": "5.5.0" 700 | } 701 | }, 702 | "babel-register": { 703 | "version": "6.26.0", 704 | "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", 705 | "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", 706 | "dev": true, 707 | "requires": { 708 | "babel-core": "6.26.3", 709 | "babel-runtime": "6.26.0", 710 | "core-js": "2.5.6", 711 | "home-or-tmp": "2.0.0", 712 | "lodash": "4.17.10", 713 | "mkdirp": "0.5.1", 714 | "source-map-support": "0.4.18" 715 | } 716 | }, 717 | "babel-runtime": { 718 | "version": "6.26.0", 719 | "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", 720 | "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", 721 | "requires": { 722 | "core-js": "2.5.6", 723 | "regenerator-runtime": "0.11.1" 724 | } 725 | }, 726 | "babel-template": { 727 | "version": "6.26.0", 728 | "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", 729 | "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", 730 | "dev": true, 731 | "requires": { 732 | "babel-runtime": "6.26.0", 733 | "babel-traverse": "6.26.0", 734 | "babel-types": "6.26.0", 735 | "babylon": "6.18.0", 736 | "lodash": "4.17.10" 737 | } 738 | }, 739 | "babel-traverse": { 740 | "version": "6.26.0", 741 | "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", 742 | "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", 743 | "dev": true, 744 | "requires": { 745 | "babel-code-frame": "6.26.0", 746 | "babel-messages": "6.23.0", 747 | "babel-runtime": "6.26.0", 748 | "babel-types": "6.26.0", 749 | "babylon": "6.18.0", 750 | "debug": "2.6.9", 751 | "globals": "9.18.0", 752 | "invariant": "2.2.4", 753 | "lodash": "4.17.10" 754 | } 755 | }, 756 | "babel-types": { 757 | "version": "6.26.0", 758 | "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", 759 | "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", 760 | "dev": true, 761 | "requires": { 762 | "babel-runtime": "6.26.0", 763 | "esutils": "2.0.2", 764 | "lodash": "4.17.10", 765 | "to-fast-properties": "1.0.3" 766 | } 767 | }, 768 | "babylon": { 769 | "version": "6.18.0", 770 | "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", 771 | "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", 772 | "dev": true 773 | }, 774 | "balanced-match": { 775 | "version": "1.0.0", 776 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", 777 | "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", 778 | "dev": true 779 | }, 780 | "big.js": { 781 | "version": "3.2.0", 782 | "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", 783 | "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==", 784 | "dev": true 785 | }, 786 | "bluebird": { 787 | "version": "3.5.1", 788 | "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz", 789 | "integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==", 790 | "dev": true 791 | }, 792 | "brace-expansion": { 793 | "version": "1.1.11", 794 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 795 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 796 | "dev": true, 797 | "requires": { 798 | "balanced-match": "1.0.0", 799 | "concat-map": "0.0.1" 800 | } 801 | }, 802 | "braces": { 803 | "version": "1.8.5", 804 | "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", 805 | "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", 806 | "dev": true, 807 | "requires": { 808 | "expand-range": "1.8.2", 809 | "preserve": "0.2.0", 810 | "repeat-element": "1.1.2" 811 | } 812 | }, 813 | "browserslist": { 814 | "version": "3.2.7", 815 | "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-3.2.7.tgz", 816 | "integrity": "sha512-oYVLxFVqpX9uMhOIQBLtZL+CX4uY8ZpWcjNTaxyWl5rO8yA9SSNikFnAfvk8J3P/7z3BZwNmEqFKaJoYltj3MQ==", 817 | "dev": true, 818 | "requires": { 819 | "caniuse-lite": "1.0.30000840", 820 | "electron-to-chromium": "1.3.46" 821 | } 822 | }, 823 | "builtin-modules": { 824 | "version": "2.0.0", 825 | "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-2.0.0.tgz", 826 | "integrity": "sha512-3U5kUA5VPsRUA3nofm/BXX7GVHKfxz0hOBAPxXrIvHzlDRkQVqEn6yi8QJegxl4LzOHLdvb7XF5dVawa/VVYBg==", 827 | "dev": true 828 | }, 829 | "caniuse-lite": { 830 | "version": "1.0.30000840", 831 | "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000840.tgz", 832 | "integrity": "sha512-Lw6AaouV6lh7TgIdQtLiUFKKO2mtDnZFkzCq5/V6tqs4ZI0OGVSDCEt1uegZ3OOBEBUYuVw3Hhr9DQSbgVofFA==", 833 | "dev": true 834 | }, 835 | "chalk": { 836 | "version": "1.1.3", 837 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", 838 | "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", 839 | "dev": true, 840 | "requires": { 841 | "ansi-styles": "2.2.1", 842 | "escape-string-regexp": "1.0.5", 843 | "has-ansi": "2.0.0", 844 | "strip-ansi": "3.0.1", 845 | "supports-color": "2.0.0" 846 | } 847 | }, 848 | "clean-css": { 849 | "version": "4.1.11", 850 | "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.1.11.tgz", 851 | "integrity": "sha1-Ls3xRaujj1R0DybO/Q/z4D4SXWo=", 852 | "dev": true, 853 | "requires": { 854 | "source-map": "0.5.7" 855 | } 856 | }, 857 | "color-convert": { 858 | "version": "1.9.1", 859 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz", 860 | "integrity": "sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==", 861 | "dev": true, 862 | "requires": { 863 | "color-name": "1.1.3" 864 | } 865 | }, 866 | "color-name": { 867 | "version": "1.1.3", 868 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", 869 | "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", 870 | "dev": true 871 | }, 872 | "commander": { 873 | "version": "2.8.1", 874 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz", 875 | "integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=", 876 | "dev": true, 877 | "requires": { 878 | "graceful-readlink": "1.0.1" 879 | } 880 | }, 881 | "concat-map": { 882 | "version": "0.0.1", 883 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 884 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", 885 | "dev": true 886 | }, 887 | "consolidate": { 888 | "version": "0.15.1", 889 | "resolved": "https://registry.npmjs.org/consolidate/-/consolidate-0.15.1.tgz", 890 | "integrity": "sha512-DW46nrsMJgy9kqAbPt5rKaCr7uFtpo4mSUvLHIUbJEjm0vo+aY5QLwBUq3FK4tRnJr/X0Psc0C4jf/h+HtXSMw==", 891 | "dev": true, 892 | "requires": { 893 | "bluebird": "3.5.1" 894 | } 895 | }, 896 | "convert-source-map": { 897 | "version": "1.5.1", 898 | "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz", 899 | "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=", 900 | "dev": true 901 | }, 902 | "core-js": { 903 | "version": "2.5.6", 904 | "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.6.tgz", 905 | "integrity": "sha512-lQUVfQi0aLix2xpyjrrJEvfuYCqPc/HwmTKsC/VNf8q0zsjX7SQZtp4+oRONN5Tsur9GDETPjj+Ub2iDiGZfSQ==" 906 | }, 907 | "cross-env": { 908 | "version": "5.1.5", 909 | "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-5.1.5.tgz", 910 | "integrity": "sha512-GSiNTbvTU3pXzewRKGP0Y+rVP2CzifY2pqSEdtHzLLj41pRdkrgY7e4uSnBoR/pmYaqZr/lwwjg/Q4kNX30hWQ==", 911 | "dev": true, 912 | "requires": { 913 | "cross-spawn": "5.1.0", 914 | "is-windows": "1.0.2" 915 | } 916 | }, 917 | "cross-spawn": { 918 | "version": "5.1.0", 919 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", 920 | "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", 921 | "dev": true, 922 | "requires": { 923 | "lru-cache": "4.1.3", 924 | "shebang-command": "1.2.0", 925 | "which": "1.3.0" 926 | } 927 | }, 928 | "css-selector-tokenizer": { 929 | "version": "0.7.0", 930 | "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.0.tgz", 931 | "integrity": "sha1-5piEdK6MlTR3v15+/s/OzNnPTIY=", 932 | "dev": true, 933 | "requires": { 934 | "cssesc": "0.1.0", 935 | "fastparse": "1.1.1", 936 | "regexpu-core": "1.0.0" 937 | } 938 | }, 939 | "cssesc": { 940 | "version": "0.1.0", 941 | "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-0.1.0.tgz", 942 | "integrity": "sha1-yBSQPkViM3GgR3tAEJqq++6t27Q=", 943 | "dev": true 944 | }, 945 | "de-indent": { 946 | "version": "1.0.2", 947 | "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz", 948 | "integrity": "sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0=", 949 | "dev": true 950 | }, 951 | "debug": { 952 | "version": "2.6.9", 953 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 954 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 955 | "dev": true, 956 | "requires": { 957 | "ms": "2.0.0" 958 | } 959 | }, 960 | "del": { 961 | "version": "3.0.0", 962 | "resolved": "https://registry.npmjs.org/del/-/del-3.0.0.tgz", 963 | "integrity": "sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU=", 964 | "dev": true, 965 | "requires": { 966 | "globby": "6.1.0", 967 | "is-path-cwd": "1.0.0", 968 | "is-path-in-cwd": "1.0.1", 969 | "p-map": "1.2.0", 970 | "pify": "3.0.0", 971 | "rimraf": "2.6.2" 972 | } 973 | }, 974 | "detect-indent": { 975 | "version": "4.0.0", 976 | "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", 977 | "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", 978 | "dev": true, 979 | "requires": { 980 | "repeating": "2.0.1" 981 | } 982 | }, 983 | "dot-prop": { 984 | "version": "4.2.0", 985 | "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz", 986 | "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==", 987 | "dev": true, 988 | "requires": { 989 | "is-obj": "1.0.1" 990 | } 991 | }, 992 | "electron-to-chromium": { 993 | "version": "1.3.46", 994 | "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.46.tgz", 995 | "integrity": "sha1-AOheIidUFaiHUF5KtJc3GU8YubA=", 996 | "dev": true 997 | }, 998 | "emojis-list": { 999 | "version": "2.1.0", 1000 | "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", 1001 | "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", 1002 | "dev": true 1003 | }, 1004 | "escape-string-regexp": { 1005 | "version": "1.0.5", 1006 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 1007 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", 1008 | "dev": true 1009 | }, 1010 | "estree-walker": { 1011 | "version": "0.2.1", 1012 | "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.2.1.tgz", 1013 | "integrity": "sha1-va/oCVOD2EFNXcLs9MkXO225QS4=", 1014 | "dev": true 1015 | }, 1016 | "esutils": { 1017 | "version": "2.0.2", 1018 | "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", 1019 | "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", 1020 | "dev": true 1021 | }, 1022 | "expand-brackets": { 1023 | "version": "0.1.5", 1024 | "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", 1025 | "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", 1026 | "dev": true, 1027 | "requires": { 1028 | "is-posix-bracket": "0.1.1" 1029 | } 1030 | }, 1031 | "expand-range": { 1032 | "version": "1.8.2", 1033 | "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", 1034 | "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", 1035 | "dev": true, 1036 | "requires": { 1037 | "fill-range": "2.2.4" 1038 | } 1039 | }, 1040 | "extglob": { 1041 | "version": "0.3.2", 1042 | "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", 1043 | "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", 1044 | "dev": true, 1045 | "requires": { 1046 | "is-extglob": "1.0.0" 1047 | } 1048 | }, 1049 | "fastparse": { 1050 | "version": "1.1.1", 1051 | "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.1.tgz", 1052 | "integrity": "sha1-0eJkOzipTXWDtHkGDmxK/8lAcfg=", 1053 | "dev": true 1054 | }, 1055 | "filename-regex": { 1056 | "version": "2.0.1", 1057 | "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", 1058 | "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", 1059 | "dev": true 1060 | }, 1061 | "fill-range": { 1062 | "version": "2.2.4", 1063 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz", 1064 | "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", 1065 | "dev": true, 1066 | "requires": { 1067 | "is-number": "2.1.0", 1068 | "isobject": "2.1.0", 1069 | "randomatic": "3.0.0", 1070 | "repeat-element": "1.1.2", 1071 | "repeat-string": "1.6.1" 1072 | } 1073 | }, 1074 | "for-in": { 1075 | "version": "1.0.2", 1076 | "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", 1077 | "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", 1078 | "dev": true 1079 | }, 1080 | "for-own": { 1081 | "version": "0.1.5", 1082 | "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", 1083 | "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", 1084 | "dev": true, 1085 | "requires": { 1086 | "for-in": "1.0.2" 1087 | } 1088 | }, 1089 | "fs-extra": { 1090 | "version": "1.0.0", 1091 | "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz", 1092 | "integrity": "sha1-zTzl9+fLYUWIP8rjGR6Yd/hYeVA=", 1093 | "dev": true, 1094 | "requires": { 1095 | "graceful-fs": "4.1.11", 1096 | "jsonfile": "2.4.0", 1097 | "klaw": "1.3.1" 1098 | } 1099 | }, 1100 | "fs-promise": { 1101 | "version": "1.0.0", 1102 | "resolved": "https://registry.npmjs.org/fs-promise/-/fs-promise-1.0.0.tgz", 1103 | "integrity": "sha1-QkakzUVJfS7Vfm5LIhZ9OGSyNnk=", 1104 | "dev": true, 1105 | "requires": { 1106 | "any-promise": "1.3.0", 1107 | "fs-extra": "1.0.0", 1108 | "mz": "2.7.0", 1109 | "thenify-all": "1.6.0" 1110 | } 1111 | }, 1112 | "fs.realpath": { 1113 | "version": "1.0.0", 1114 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 1115 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", 1116 | "dev": true 1117 | }, 1118 | "generic-names": { 1119 | "version": "1.0.3", 1120 | "resolved": "https://registry.npmjs.org/generic-names/-/generic-names-1.0.3.tgz", 1121 | "integrity": "sha1-LXhqEhruUIh2eWk56OO/+DbCCRc=", 1122 | "dev": true, 1123 | "requires": { 1124 | "loader-utils": "0.2.17" 1125 | } 1126 | }, 1127 | "glob": { 1128 | "version": "7.1.2", 1129 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", 1130 | "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", 1131 | "dev": true, 1132 | "requires": { 1133 | "fs.realpath": "1.0.0", 1134 | "inflight": "1.0.6", 1135 | "inherits": "2.0.3", 1136 | "minimatch": "3.0.4", 1137 | "once": "1.4.0", 1138 | "path-is-absolute": "1.0.1" 1139 | } 1140 | }, 1141 | "glob-base": { 1142 | "version": "0.3.0", 1143 | "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", 1144 | "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", 1145 | "dev": true, 1146 | "requires": { 1147 | "glob-parent": "2.0.0", 1148 | "is-glob": "2.0.1" 1149 | } 1150 | }, 1151 | "glob-parent": { 1152 | "version": "2.0.0", 1153 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", 1154 | "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", 1155 | "dev": true, 1156 | "requires": { 1157 | "is-glob": "2.0.1" 1158 | } 1159 | }, 1160 | "globals": { 1161 | "version": "9.18.0", 1162 | "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", 1163 | "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", 1164 | "dev": true 1165 | }, 1166 | "globby": { 1167 | "version": "6.1.0", 1168 | "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", 1169 | "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", 1170 | "dev": true, 1171 | "requires": { 1172 | "array-union": "1.0.2", 1173 | "glob": "7.1.2", 1174 | "object-assign": "4.1.1", 1175 | "pify": "2.3.0", 1176 | "pinkie-promise": "2.0.1" 1177 | }, 1178 | "dependencies": { 1179 | "pify": { 1180 | "version": "2.3.0", 1181 | "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", 1182 | "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", 1183 | "dev": true 1184 | } 1185 | } 1186 | }, 1187 | "graceful-fs": { 1188 | "version": "4.1.11", 1189 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", 1190 | "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", 1191 | "dev": true 1192 | }, 1193 | "graceful-readlink": { 1194 | "version": "1.0.1", 1195 | "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", 1196 | "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=", 1197 | "dev": true 1198 | }, 1199 | "has-ansi": { 1200 | "version": "2.0.0", 1201 | "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", 1202 | "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", 1203 | "dev": true, 1204 | "requires": { 1205 | "ansi-regex": "2.1.1" 1206 | } 1207 | }, 1208 | "has-flag": { 1209 | "version": "3.0.0", 1210 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", 1211 | "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", 1212 | "dev": true 1213 | }, 1214 | "hash-sum": { 1215 | "version": "1.0.2", 1216 | "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz", 1217 | "integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=", 1218 | "dev": true 1219 | }, 1220 | "he": { 1221 | "version": "1.1.1", 1222 | "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz", 1223 | "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=", 1224 | "dev": true 1225 | }, 1226 | "home-or-tmp": { 1227 | "version": "2.0.0", 1228 | "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", 1229 | "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", 1230 | "dev": true, 1231 | "requires": { 1232 | "os-homedir": "1.0.2", 1233 | "os-tmpdir": "1.0.2" 1234 | } 1235 | }, 1236 | "icss-replace-symbols": { 1237 | "version": "1.1.0", 1238 | "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz", 1239 | "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=", 1240 | "dev": true 1241 | }, 1242 | "indexes-of": { 1243 | "version": "1.0.1", 1244 | "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", 1245 | "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", 1246 | "dev": true 1247 | }, 1248 | "inflight": { 1249 | "version": "1.0.6", 1250 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 1251 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", 1252 | "dev": true, 1253 | "requires": { 1254 | "once": "1.4.0", 1255 | "wrappy": "1.0.2" 1256 | } 1257 | }, 1258 | "inherits": { 1259 | "version": "2.0.3", 1260 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", 1261 | "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", 1262 | "dev": true 1263 | }, 1264 | "invariant": { 1265 | "version": "2.2.4", 1266 | "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", 1267 | "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", 1268 | "dev": true, 1269 | "requires": { 1270 | "loose-envify": "1.3.1" 1271 | } 1272 | }, 1273 | "is-buffer": { 1274 | "version": "1.1.6", 1275 | "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", 1276 | "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", 1277 | "dev": true 1278 | }, 1279 | "is-dotfile": { 1280 | "version": "1.0.3", 1281 | "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", 1282 | "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=", 1283 | "dev": true 1284 | }, 1285 | "is-equal-shallow": { 1286 | "version": "0.1.3", 1287 | "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", 1288 | "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", 1289 | "dev": true, 1290 | "requires": { 1291 | "is-primitive": "2.0.0" 1292 | } 1293 | }, 1294 | "is-extendable": { 1295 | "version": "0.1.1", 1296 | "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", 1297 | "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", 1298 | "dev": true 1299 | }, 1300 | "is-extglob": { 1301 | "version": "1.0.0", 1302 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", 1303 | "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", 1304 | "dev": true 1305 | }, 1306 | "is-finite": { 1307 | "version": "1.0.2", 1308 | "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", 1309 | "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", 1310 | "dev": true, 1311 | "requires": { 1312 | "number-is-nan": "1.0.1" 1313 | } 1314 | }, 1315 | "is-glob": { 1316 | "version": "2.0.1", 1317 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", 1318 | "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", 1319 | "dev": true, 1320 | "requires": { 1321 | "is-extglob": "1.0.0" 1322 | } 1323 | }, 1324 | "is-module": { 1325 | "version": "1.0.0", 1326 | "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", 1327 | "integrity": "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=", 1328 | "dev": true 1329 | }, 1330 | "is-number": { 1331 | "version": "2.1.0", 1332 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", 1333 | "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", 1334 | "dev": true, 1335 | "requires": { 1336 | "kind-of": "3.2.2" 1337 | } 1338 | }, 1339 | "is-obj": { 1340 | "version": "1.0.1", 1341 | "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", 1342 | "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", 1343 | "dev": true 1344 | }, 1345 | "is-path-cwd": { 1346 | "version": "1.0.0", 1347 | "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", 1348 | "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=", 1349 | "dev": true 1350 | }, 1351 | "is-path-in-cwd": { 1352 | "version": "1.0.1", 1353 | "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz", 1354 | "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", 1355 | "dev": true, 1356 | "requires": { 1357 | "is-path-inside": "1.0.1" 1358 | } 1359 | }, 1360 | "is-path-inside": { 1361 | "version": "1.0.1", 1362 | "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", 1363 | "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", 1364 | "dev": true, 1365 | "requires": { 1366 | "path-is-inside": "1.0.2" 1367 | } 1368 | }, 1369 | "is-posix-bracket": { 1370 | "version": "0.1.1", 1371 | "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", 1372 | "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=", 1373 | "dev": true 1374 | }, 1375 | "is-primitive": { 1376 | "version": "2.0.0", 1377 | "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", 1378 | "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", 1379 | "dev": true 1380 | }, 1381 | "is-windows": { 1382 | "version": "1.0.2", 1383 | "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", 1384 | "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", 1385 | "dev": true 1386 | }, 1387 | "isarray": { 1388 | "version": "1.0.0", 1389 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", 1390 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", 1391 | "dev": true 1392 | }, 1393 | "isexe": { 1394 | "version": "2.0.0", 1395 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 1396 | "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", 1397 | "dev": true 1398 | }, 1399 | "isobject": { 1400 | "version": "2.1.0", 1401 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", 1402 | "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", 1403 | "dev": true, 1404 | "requires": { 1405 | "isarray": "1.0.0" 1406 | } 1407 | }, 1408 | "js-base64": { 1409 | "version": "2.4.3", 1410 | "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.4.3.tgz", 1411 | "integrity": "sha512-H7ErYLM34CvDMto3GbD6xD0JLUGYXR3QTcH6B/tr4Hi/QpSThnCsIp+Sy5FRTw3B0d6py4HcNkW7nO/wdtGWEw==", 1412 | "dev": true 1413 | }, 1414 | "js-tokens": { 1415 | "version": "3.0.2", 1416 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", 1417 | "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", 1418 | "dev": true 1419 | }, 1420 | "jsesc": { 1421 | "version": "1.3.0", 1422 | "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", 1423 | "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", 1424 | "dev": true 1425 | }, 1426 | "json5": { 1427 | "version": "0.5.1", 1428 | "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", 1429 | "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", 1430 | "dev": true 1431 | }, 1432 | "jsonfile": { 1433 | "version": "2.4.0", 1434 | "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", 1435 | "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", 1436 | "dev": true, 1437 | "requires": { 1438 | "graceful-fs": "4.1.11" 1439 | } 1440 | }, 1441 | "kind-of": { 1442 | "version": "3.2.2", 1443 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 1444 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 1445 | "dev": true, 1446 | "requires": { 1447 | "is-buffer": "1.1.6" 1448 | } 1449 | }, 1450 | "klaw": { 1451 | "version": "1.3.1", 1452 | "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", 1453 | "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", 1454 | "dev": true, 1455 | "requires": { 1456 | "graceful-fs": "4.1.11" 1457 | } 1458 | }, 1459 | "loader-utils": { 1460 | "version": "0.2.17", 1461 | "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", 1462 | "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", 1463 | "dev": true, 1464 | "requires": { 1465 | "big.js": "3.2.0", 1466 | "emojis-list": "2.1.0", 1467 | "json5": "0.5.1", 1468 | "object-assign": "4.1.1" 1469 | } 1470 | }, 1471 | "lodash": { 1472 | "version": "4.17.10", 1473 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", 1474 | "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", 1475 | "dev": true 1476 | }, 1477 | "loose-envify": { 1478 | "version": "1.3.1", 1479 | "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", 1480 | "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", 1481 | "dev": true, 1482 | "requires": { 1483 | "js-tokens": "3.0.2" 1484 | } 1485 | }, 1486 | "lru-cache": { 1487 | "version": "4.1.3", 1488 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz", 1489 | "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==", 1490 | "dev": true, 1491 | "requires": { 1492 | "pseudomap": "1.0.2", 1493 | "yallist": "2.1.2" 1494 | } 1495 | }, 1496 | "magic-string": { 1497 | "version": "0.22.5", 1498 | "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.22.5.tgz", 1499 | "integrity": "sha512-oreip9rJZkzvA8Qzk9HFs8fZGF/u7H/gtrE8EN6RjKJ9kh2HlC+yQ2QezifqTZfGyiuAV0dRv5a+y/8gBb1m9w==", 1500 | "dev": true, 1501 | "requires": { 1502 | "vlq": "0.2.3" 1503 | } 1504 | }, 1505 | "math-random": { 1506 | "version": "1.0.1", 1507 | "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.1.tgz", 1508 | "integrity": "sha1-izqsWIuKZuSXXjzepn97sylgH6w=", 1509 | "dev": true 1510 | }, 1511 | "merge-source-map": { 1512 | "version": "1.1.0", 1513 | "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz", 1514 | "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==", 1515 | "dev": true, 1516 | "requires": { 1517 | "source-map": "0.6.1" 1518 | }, 1519 | "dependencies": { 1520 | "source-map": { 1521 | "version": "0.6.1", 1522 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", 1523 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", 1524 | "dev": true 1525 | } 1526 | } 1527 | }, 1528 | "micromatch": { 1529 | "version": "2.3.11", 1530 | "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", 1531 | "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", 1532 | "dev": true, 1533 | "requires": { 1534 | "arr-diff": "2.0.0", 1535 | "array-unique": "0.2.1", 1536 | "braces": "1.8.5", 1537 | "expand-brackets": "0.1.5", 1538 | "extglob": "0.3.2", 1539 | "filename-regex": "2.0.1", 1540 | "is-extglob": "1.0.0", 1541 | "is-glob": "2.0.1", 1542 | "kind-of": "3.2.2", 1543 | "normalize-path": "2.1.1", 1544 | "object.omit": "2.0.1", 1545 | "parse-glob": "3.0.4", 1546 | "regex-cache": "0.4.4" 1547 | } 1548 | }, 1549 | "mime": { 1550 | "version": "1.6.0", 1551 | "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", 1552 | "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", 1553 | "dev": true 1554 | }, 1555 | "minimatch": { 1556 | "version": "3.0.4", 1557 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", 1558 | "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", 1559 | "dev": true, 1560 | "requires": { 1561 | "brace-expansion": "1.1.11" 1562 | } 1563 | }, 1564 | "mkdirp": { 1565 | "version": "0.5.1", 1566 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", 1567 | "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", 1568 | "dev": true, 1569 | "requires": { 1570 | "minimist": "0.0.8" 1571 | }, 1572 | "dependencies": { 1573 | "minimist": { 1574 | "version": "0.0.8", 1575 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", 1576 | "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", 1577 | "dev": true 1578 | } 1579 | } 1580 | }, 1581 | "ms": { 1582 | "version": "2.0.0", 1583 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 1584 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", 1585 | "dev": true 1586 | }, 1587 | "mz": { 1588 | "version": "2.7.0", 1589 | "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", 1590 | "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", 1591 | "dev": true, 1592 | "requires": { 1593 | "any-promise": "1.3.0", 1594 | "object-assign": "4.1.1", 1595 | "thenify-all": "1.6.0" 1596 | } 1597 | }, 1598 | "normalize-path": { 1599 | "version": "2.1.1", 1600 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", 1601 | "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", 1602 | "dev": true, 1603 | "requires": { 1604 | "remove-trailing-separator": "1.1.0" 1605 | } 1606 | }, 1607 | "number-is-nan": { 1608 | "version": "1.0.1", 1609 | "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", 1610 | "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", 1611 | "dev": true 1612 | }, 1613 | "object-assign": { 1614 | "version": "4.1.1", 1615 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", 1616 | "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", 1617 | "dev": true 1618 | }, 1619 | "object.omit": { 1620 | "version": "2.0.1", 1621 | "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", 1622 | "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", 1623 | "dev": true, 1624 | "requires": { 1625 | "for-own": "0.1.5", 1626 | "is-extendable": "0.1.1" 1627 | } 1628 | }, 1629 | "once": { 1630 | "version": "1.4.0", 1631 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 1632 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", 1633 | "dev": true, 1634 | "requires": { 1635 | "wrappy": "1.0.2" 1636 | } 1637 | }, 1638 | "opener": { 1639 | "version": "1.4.3", 1640 | "resolved": "https://registry.npmjs.org/opener/-/opener-1.4.3.tgz", 1641 | "integrity": "sha1-XG2ixdflgx6P+jlklQ+NZnSskLg=", 1642 | "dev": true 1643 | }, 1644 | "os": { 1645 | "version": "0.1.1", 1646 | "resolved": "https://registry.npmjs.org/os/-/os-0.1.1.tgz", 1647 | "integrity": "sha1-IIhF6J4ZOtTZcUdLk5R3NqVtE/M=", 1648 | "dev": true 1649 | }, 1650 | "os-homedir": { 1651 | "version": "1.0.2", 1652 | "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", 1653 | "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", 1654 | "dev": true 1655 | }, 1656 | "os-tmpdir": { 1657 | "version": "1.0.2", 1658 | "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", 1659 | "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", 1660 | "dev": true 1661 | }, 1662 | "p-map": { 1663 | "version": "1.2.0", 1664 | "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz", 1665 | "integrity": "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==", 1666 | "dev": true 1667 | }, 1668 | "parse-glob": { 1669 | "version": "3.0.4", 1670 | "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", 1671 | "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", 1672 | "dev": true, 1673 | "requires": { 1674 | "glob-base": "0.3.0", 1675 | "is-dotfile": "1.0.3", 1676 | "is-extglob": "1.0.0", 1677 | "is-glob": "2.0.1" 1678 | } 1679 | }, 1680 | "path": { 1681 | "version": "0.12.7", 1682 | "resolved": "https://registry.npmjs.org/path/-/path-0.12.7.tgz", 1683 | "integrity": "sha1-1NwqUGxM4hl+tIHr/NWzbAFAsQ8=", 1684 | "dev": true, 1685 | "requires": { 1686 | "process": "0.11.10", 1687 | "util": "0.10.3" 1688 | } 1689 | }, 1690 | "path-is-absolute": { 1691 | "version": "1.0.1", 1692 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 1693 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", 1694 | "dev": true 1695 | }, 1696 | "path-is-inside": { 1697 | "version": "1.0.2", 1698 | "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", 1699 | "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", 1700 | "dev": true 1701 | }, 1702 | "path-parse": { 1703 | "version": "1.0.5", 1704 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz", 1705 | "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=", 1706 | "dev": true 1707 | }, 1708 | "pify": { 1709 | "version": "3.0.0", 1710 | "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", 1711 | "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", 1712 | "dev": true 1713 | }, 1714 | "pinkie": { 1715 | "version": "2.0.4", 1716 | "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", 1717 | "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", 1718 | "dev": true 1719 | }, 1720 | "pinkie-promise": { 1721 | "version": "2.0.1", 1722 | "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", 1723 | "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", 1724 | "dev": true, 1725 | "requires": { 1726 | "pinkie": "2.0.4" 1727 | } 1728 | }, 1729 | "postcss": { 1730 | "version": "6.0.22", 1731 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.22.tgz", 1732 | "integrity": "sha512-Toc9lLoUASwGqxBSJGTVcOQiDqjK+Z2XlWBg+IgYwQMY9vA2f7iMpXVc1GpPcfTSyM5lkxNo0oDwDRO+wm7XHA==", 1733 | "dev": true, 1734 | "requires": { 1735 | "chalk": "2.4.1", 1736 | "source-map": "0.6.1", 1737 | "supports-color": "5.4.0" 1738 | }, 1739 | "dependencies": { 1740 | "ansi-styles": { 1741 | "version": "3.2.1", 1742 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", 1743 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", 1744 | "dev": true, 1745 | "requires": { 1746 | "color-convert": "1.9.1" 1747 | } 1748 | }, 1749 | "chalk": { 1750 | "version": "2.4.1", 1751 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", 1752 | "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", 1753 | "dev": true, 1754 | "requires": { 1755 | "ansi-styles": "3.2.1", 1756 | "escape-string-regexp": "1.0.5", 1757 | "supports-color": "5.4.0" 1758 | } 1759 | }, 1760 | "source-map": { 1761 | "version": "0.6.1", 1762 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", 1763 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", 1764 | "dev": true 1765 | }, 1766 | "supports-color": { 1767 | "version": "5.4.0", 1768 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", 1769 | "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", 1770 | "dev": true, 1771 | "requires": { 1772 | "has-flag": "3.0.0" 1773 | } 1774 | } 1775 | } 1776 | }, 1777 | "postcss-modules-local-by-default": { 1778 | "version": "1.2.0", 1779 | "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz", 1780 | "integrity": "sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=", 1781 | "dev": true, 1782 | "requires": { 1783 | "css-selector-tokenizer": "0.7.0", 1784 | "postcss": "6.0.22" 1785 | } 1786 | }, 1787 | "postcss-modules-scope": { 1788 | "version": "1.1.0", 1789 | "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz", 1790 | "integrity": "sha1-1upkmUx5+XtipytCb75gVqGUu5A=", 1791 | "dev": true, 1792 | "requires": { 1793 | "css-selector-tokenizer": "0.7.0", 1794 | "postcss": "6.0.22" 1795 | } 1796 | }, 1797 | "postcss-modules-sync": { 1798 | "version": "1.0.0", 1799 | "resolved": "https://registry.npmjs.org/postcss-modules-sync/-/postcss-modules-sync-1.0.0.tgz", 1800 | "integrity": "sha1-YZpxnPeN0WpINBNRQLMkz3czS+E=", 1801 | "dev": true, 1802 | "requires": { 1803 | "generic-names": "1.0.3", 1804 | "icss-replace-symbols": "1.1.0", 1805 | "postcss": "5.2.18", 1806 | "postcss-modules-local-by-default": "1.2.0", 1807 | "postcss-modules-scope": "1.1.0", 1808 | "string-hash": "1.1.3" 1809 | }, 1810 | "dependencies": { 1811 | "has-flag": { 1812 | "version": "1.0.0", 1813 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", 1814 | "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", 1815 | "dev": true 1816 | }, 1817 | "postcss": { 1818 | "version": "5.2.18", 1819 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", 1820 | "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", 1821 | "dev": true, 1822 | "requires": { 1823 | "chalk": "1.1.3", 1824 | "js-base64": "2.4.3", 1825 | "source-map": "0.5.7", 1826 | "supports-color": "3.2.3" 1827 | } 1828 | }, 1829 | "supports-color": { 1830 | "version": "3.2.3", 1831 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", 1832 | "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", 1833 | "dev": true, 1834 | "requires": { 1835 | "has-flag": "1.0.0" 1836 | } 1837 | } 1838 | } 1839 | }, 1840 | "postcss-selector-parser": { 1841 | "version": "3.1.1", 1842 | "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz", 1843 | "integrity": "sha1-T4dfSvsMllc9XPTXQBGu4lCn6GU=", 1844 | "dev": true, 1845 | "requires": { 1846 | "dot-prop": "4.2.0", 1847 | "indexes-of": "1.0.1", 1848 | "uniq": "1.0.1" 1849 | } 1850 | }, 1851 | "preserve": { 1852 | "version": "0.2.0", 1853 | "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", 1854 | "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", 1855 | "dev": true 1856 | }, 1857 | "prettier": { 1858 | "version": "1.12.1", 1859 | "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.12.1.tgz", 1860 | "integrity": "sha1-wa0g6APndJ+vkFpAnSNn4Gu+cyU=", 1861 | "dev": true 1862 | }, 1863 | "private": { 1864 | "version": "0.1.8", 1865 | "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", 1866 | "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", 1867 | "dev": true 1868 | }, 1869 | "process": { 1870 | "version": "0.11.10", 1871 | "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", 1872 | "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", 1873 | "dev": true 1874 | }, 1875 | "pseudomap": { 1876 | "version": "1.0.2", 1877 | "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", 1878 | "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", 1879 | "dev": true 1880 | }, 1881 | "querystring": { 1882 | "version": "0.2.0", 1883 | "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", 1884 | "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", 1885 | "dev": true 1886 | }, 1887 | "randomatic": { 1888 | "version": "3.0.0", 1889 | "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.0.0.tgz", 1890 | "integrity": "sha512-VdxFOIEY3mNO5PtSRkkle/hPJDHvQhK21oa73K4yAc9qmp6N429gAyF1gZMOTMeS0/AYzaV/2Trcef+NaIonSA==", 1891 | "dev": true, 1892 | "requires": { 1893 | "is-number": "4.0.0", 1894 | "kind-of": "6.0.2", 1895 | "math-random": "1.0.1" 1896 | }, 1897 | "dependencies": { 1898 | "is-number": { 1899 | "version": "4.0.0", 1900 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", 1901 | "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", 1902 | "dev": true 1903 | }, 1904 | "kind-of": { 1905 | "version": "6.0.2", 1906 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", 1907 | "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", 1908 | "dev": true 1909 | } 1910 | } 1911 | }, 1912 | "regenerate": { 1913 | "version": "1.4.0", 1914 | "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", 1915 | "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==", 1916 | "dev": true 1917 | }, 1918 | "regenerator-runtime": { 1919 | "version": "0.11.1", 1920 | "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", 1921 | "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" 1922 | }, 1923 | "regex-cache": { 1924 | "version": "0.4.4", 1925 | "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", 1926 | "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", 1927 | "dev": true, 1928 | "requires": { 1929 | "is-equal-shallow": "0.1.3" 1930 | } 1931 | }, 1932 | "regexpu-core": { 1933 | "version": "1.0.0", 1934 | "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-1.0.0.tgz", 1935 | "integrity": "sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs=", 1936 | "dev": true, 1937 | "requires": { 1938 | "regenerate": "1.4.0", 1939 | "regjsgen": "0.2.0", 1940 | "regjsparser": "0.1.5" 1941 | } 1942 | }, 1943 | "regjsgen": { 1944 | "version": "0.2.0", 1945 | "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", 1946 | "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=", 1947 | "dev": true 1948 | }, 1949 | "regjsparser": { 1950 | "version": "0.1.5", 1951 | "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", 1952 | "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", 1953 | "dev": true, 1954 | "requires": { 1955 | "jsesc": "0.5.0" 1956 | }, 1957 | "dependencies": { 1958 | "jsesc": { 1959 | "version": "0.5.0", 1960 | "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", 1961 | "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", 1962 | "dev": true 1963 | } 1964 | } 1965 | }, 1966 | "remove-trailing-separator": { 1967 | "version": "1.1.0", 1968 | "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", 1969 | "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", 1970 | "dev": true 1971 | }, 1972 | "repeat-element": { 1973 | "version": "1.1.2", 1974 | "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", 1975 | "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=", 1976 | "dev": true 1977 | }, 1978 | "repeat-string": { 1979 | "version": "1.6.1", 1980 | "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", 1981 | "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", 1982 | "dev": true 1983 | }, 1984 | "repeating": { 1985 | "version": "2.0.1", 1986 | "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", 1987 | "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", 1988 | "dev": true, 1989 | "requires": { 1990 | "is-finite": "1.0.2" 1991 | } 1992 | }, 1993 | "resolve": { 1994 | "version": "1.7.1", 1995 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.7.1.tgz", 1996 | "integrity": "sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw==", 1997 | "dev": true, 1998 | "requires": { 1999 | "path-parse": "1.0.5" 2000 | } 2001 | }, 2002 | "rimraf": { 2003 | "version": "2.6.2", 2004 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", 2005 | "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", 2006 | "dev": true, 2007 | "requires": { 2008 | "glob": "7.1.2" 2009 | } 2010 | }, 2011 | "rollup": { 2012 | "version": "0.58.2", 2013 | "resolved": "https://registry.npmjs.org/rollup/-/rollup-0.58.2.tgz", 2014 | "integrity": "sha512-RZVvCWm9BHOYloaE6LLiE/ibpjv1CmI8F8k0B0Cp+q1eezo3cswszJH1DN0djgzSlo0hjuuCmyeI+1XOYLl4wg==", 2015 | "dev": true, 2016 | "requires": { 2017 | "@types/estree": "0.0.38", 2018 | "@types/node": "10.0.8" 2019 | } 2020 | }, 2021 | "rollup-plugin-babel": { 2022 | "version": "3.0.4", 2023 | "resolved": "https://registry.npmjs.org/rollup-plugin-babel/-/rollup-plugin-babel-3.0.4.tgz", 2024 | "integrity": "sha512-TGhQbliTZnRoUhd2214K3r4KJUBu9J1DPzcrAnkluVXOVrveU9OvAaYQ16KyOmujAoq+LMC1+x6YF2xBrU7t+g==", 2025 | "dev": true, 2026 | "requires": { 2027 | "rollup-pluginutils": "1.5.2" 2028 | } 2029 | }, 2030 | "rollup-plugin-commonjs": { 2031 | "version": "9.1.3", 2032 | "resolved": "https://registry.npmjs.org/rollup-plugin-commonjs/-/rollup-plugin-commonjs-9.1.3.tgz", 2033 | "integrity": "sha512-g91ZZKZwTW7F7vL6jMee38I8coj/Q9GBdTmXXeFL7ldgC1Ky5WJvHgbKlAiXXTh762qvohhExwUgeQGFh9suGg==", 2034 | "dev": true, 2035 | "requires": { 2036 | "estree-walker": "0.5.2", 2037 | "magic-string": "0.22.5", 2038 | "resolve": "1.7.1", 2039 | "rollup-pluginutils": "2.2.0" 2040 | }, 2041 | "dependencies": { 2042 | "estree-walker": { 2043 | "version": "0.5.2", 2044 | "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.5.2.tgz", 2045 | "integrity": "sha512-XpCnW/AE10ws/kDAs37cngSkvgIR8aN3G0MS85m7dUpuK2EREo9VJ00uvw6Dg/hXEpfsE1I1TvJOJr+Z+TL+ig==", 2046 | "dev": true 2047 | }, 2048 | "rollup-pluginutils": { 2049 | "version": "2.2.0", 2050 | "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.2.0.tgz", 2051 | "integrity": "sha512-aqjTUCfZJK3O+TjH++PdQc8Lg6V6t/1Fhu8/6f3qPQzBt0xZruDgqblvb3RQOfKybTgfxKpyy2pQmQ4X2OmY4w==", 2052 | "dev": true, 2053 | "requires": { 2054 | "estree-walker": "0.5.2", 2055 | "micromatch": "2.3.11" 2056 | } 2057 | } 2058 | } 2059 | }, 2060 | "rollup-plugin-css-porter": { 2061 | "version": "0.1.2", 2062 | "resolved": "https://registry.npmjs.org/rollup-plugin-css-porter/-/rollup-plugin-css-porter-0.1.2.tgz", 2063 | "integrity": "sha1-6QT9KdEeD59qtIkKKhyzxthrt6s=", 2064 | "dev": true, 2065 | "requires": { 2066 | "clean-css": "3.4.28", 2067 | "fs-promise": "1.0.0", 2068 | "os": "0.1.1", 2069 | "path": "0.12.7", 2070 | "rollup-pluginutils": "1.5.2" 2071 | }, 2072 | "dependencies": { 2073 | "clean-css": { 2074 | "version": "3.4.28", 2075 | "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-3.4.28.tgz", 2076 | "integrity": "sha1-vxlF6C/ICPVWlebd6uwBQA79A/8=", 2077 | "dev": true, 2078 | "requires": { 2079 | "commander": "2.8.1", 2080 | "source-map": "0.4.4" 2081 | } 2082 | }, 2083 | "source-map": { 2084 | "version": "0.4.4", 2085 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", 2086 | "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", 2087 | "dev": true, 2088 | "requires": { 2089 | "amdefine": "1.0.1" 2090 | } 2091 | } 2092 | } 2093 | }, 2094 | "rollup-plugin-node-resolve": { 2095 | "version": "3.3.0", 2096 | "resolved": "https://registry.npmjs.org/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-3.3.0.tgz", 2097 | "integrity": "sha512-9zHGr3oUJq6G+X0oRMYlzid9fXicBdiydhwGChdyeNRGPcN/majtegApRKHLR5drboUvEWU+QeUmGTyEZQs3WA==", 2098 | "dev": true, 2099 | "requires": { 2100 | "builtin-modules": "2.0.0", 2101 | "is-module": "1.0.0", 2102 | "resolve": "1.7.1" 2103 | } 2104 | }, 2105 | "rollup-plugin-serve": { 2106 | "version": "0.4.2", 2107 | "resolved": "https://registry.npmjs.org/rollup-plugin-serve/-/rollup-plugin-serve-0.4.2.tgz", 2108 | "integrity": "sha512-lQX8/MSgWDrsbp8euBQKxJ9O2KxQerMVmStYi3zlP9jYL1v3OPtWyXbWNRfgeQTTNJtcQvaZglMGWw9YTLWw3A==", 2109 | "dev": true, 2110 | "requires": { 2111 | "mime": "1.6.0", 2112 | "opener": "1.4.3" 2113 | } 2114 | }, 2115 | "rollup-plugin-vue": { 2116 | "version": "4.1.4", 2117 | "resolved": "https://registry.npmjs.org/rollup-plugin-vue/-/rollup-plugin-vue-4.1.4.tgz", 2118 | "integrity": "sha512-4u9FLqZGiX9C2h+FXRVTbUV5e2rUtABZ+J0onMQG8j28BAUV8fICfv6+1RX7o6XKcMS3dDMEfvW/i9azbfCV/g==", 2119 | "dev": true, 2120 | "requires": { 2121 | "@babel/runtime": "7.0.0-beta.47", 2122 | "@vue/component-compiler": "3.3.2", 2123 | "@vue/component-compiler-utils": "1.2.1", 2124 | "debug": "2.6.9", 2125 | "hash-sum": "1.0.2", 2126 | "postcss": "6.0.22", 2127 | "querystring": "0.2.0", 2128 | "rollup-pluginutils": "2.2.0" 2129 | }, 2130 | "dependencies": { 2131 | "estree-walker": { 2132 | "version": "0.5.2", 2133 | "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.5.2.tgz", 2134 | "integrity": "sha512-XpCnW/AE10ws/kDAs37cngSkvgIR8aN3G0MS85m7dUpuK2EREo9VJ00uvw6Dg/hXEpfsE1I1TvJOJr+Z+TL+ig==", 2135 | "dev": true 2136 | }, 2137 | "rollup-pluginutils": { 2138 | "version": "2.2.0", 2139 | "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.2.0.tgz", 2140 | "integrity": "sha512-aqjTUCfZJK3O+TjH++PdQc8Lg6V6t/1Fhu8/6f3qPQzBt0xZruDgqblvb3RQOfKybTgfxKpyy2pQmQ4X2OmY4w==", 2141 | "dev": true, 2142 | "requires": { 2143 | "estree-walker": "0.5.2", 2144 | "micromatch": "2.3.11" 2145 | } 2146 | } 2147 | } 2148 | }, 2149 | "rollup-pluginutils": { 2150 | "version": "1.5.2", 2151 | "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-1.5.2.tgz", 2152 | "integrity": "sha1-HhVud4+UtyVb+hs9AXi+j1xVJAg=", 2153 | "dev": true, 2154 | "requires": { 2155 | "estree-walker": "0.2.1", 2156 | "minimatch": "3.0.4" 2157 | } 2158 | }, 2159 | "semver": { 2160 | "version": "5.5.0", 2161 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", 2162 | "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", 2163 | "dev": true 2164 | }, 2165 | "shebang-command": { 2166 | "version": "1.2.0", 2167 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", 2168 | "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", 2169 | "dev": true, 2170 | "requires": { 2171 | "shebang-regex": "1.0.0" 2172 | } 2173 | }, 2174 | "shebang-regex": { 2175 | "version": "1.0.0", 2176 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", 2177 | "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", 2178 | "dev": true 2179 | }, 2180 | "slash": { 2181 | "version": "1.0.0", 2182 | "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", 2183 | "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", 2184 | "dev": true 2185 | }, 2186 | "source-map": { 2187 | "version": "0.5.7", 2188 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", 2189 | "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", 2190 | "dev": true 2191 | }, 2192 | "source-map-support": { 2193 | "version": "0.4.18", 2194 | "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", 2195 | "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", 2196 | "dev": true, 2197 | "requires": { 2198 | "source-map": "0.5.7" 2199 | } 2200 | }, 2201 | "string-hash": { 2202 | "version": "1.1.3", 2203 | "resolved": "https://registry.npmjs.org/string-hash/-/string-hash-1.1.3.tgz", 2204 | "integrity": "sha1-6Kr8CsGFW0Zmkp7X3RJ1311sgRs=", 2205 | "dev": true 2206 | }, 2207 | "strip-ansi": { 2208 | "version": "3.0.1", 2209 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", 2210 | "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", 2211 | "dev": true, 2212 | "requires": { 2213 | "ansi-regex": "2.1.1" 2214 | } 2215 | }, 2216 | "supports-color": { 2217 | "version": "2.0.0", 2218 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", 2219 | "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", 2220 | "dev": true 2221 | }, 2222 | "thenify": { 2223 | "version": "3.3.0", 2224 | "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.0.tgz", 2225 | "integrity": "sha1-5p44obq+lpsBCCB5eLn2K4hgSDk=", 2226 | "dev": true, 2227 | "requires": { 2228 | "any-promise": "1.3.0" 2229 | } 2230 | }, 2231 | "thenify-all": { 2232 | "version": "1.6.0", 2233 | "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", 2234 | "integrity": "sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=", 2235 | "dev": true, 2236 | "requires": { 2237 | "thenify": "3.3.0" 2238 | } 2239 | }, 2240 | "to-fast-properties": { 2241 | "version": "1.0.3", 2242 | "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", 2243 | "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", 2244 | "dev": true 2245 | }, 2246 | "trim-right": { 2247 | "version": "1.0.1", 2248 | "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", 2249 | "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", 2250 | "dev": true 2251 | }, 2252 | "uniq": { 2253 | "version": "1.0.1", 2254 | "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", 2255 | "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", 2256 | "dev": true 2257 | }, 2258 | "util": { 2259 | "version": "0.10.3", 2260 | "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", 2261 | "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", 2262 | "dev": true, 2263 | "requires": { 2264 | "inherits": "2.0.1" 2265 | }, 2266 | "dependencies": { 2267 | "inherits": { 2268 | "version": "2.0.1", 2269 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", 2270 | "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", 2271 | "dev": true 2272 | } 2273 | } 2274 | }, 2275 | "vlq": { 2276 | "version": "0.2.3", 2277 | "resolved": "https://registry.npmjs.org/vlq/-/vlq-0.2.3.tgz", 2278 | "integrity": "sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow==", 2279 | "dev": true 2280 | }, 2281 | "vue": { 2282 | "version": "2.5.16", 2283 | "resolved": "https://registry.npmjs.org/vue/-/vue-2.5.16.tgz", 2284 | "integrity": "sha512-/ffmsiVuPC8PsWcFkZngdpas19ABm5mh2wA7iDqcltyCTwlgZjHGeJYOXkBMo422iPwIcviOtrTCUpSfXmToLQ==" 2285 | }, 2286 | "vue-context-menu": { 2287 | "version": "2.0.6", 2288 | "resolved": "https://registry.npmjs.org/vue-context-menu/-/vue-context-menu-2.0.6.tgz", 2289 | "integrity": "sha512-wTyyjWbrGq/Rc1iivHl9ryI0IcsodRgg46CAGCm6knADDsTj5qJzo2pPDfi6y2nQreg8llJC2lGGts88tMX1sQ==" 2290 | }, 2291 | "vue-template-compiler": { 2292 | "version": "2.5.16", 2293 | "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.5.16.tgz", 2294 | "integrity": "sha512-ZbuhCcF/hTYmldoUOVcu2fcbeSAZnfzwDskGduOrnjBiIWHgELAd+R8nAtX80aZkceWDKGQ6N9/0/EUpt+l22A==", 2295 | "dev": true, 2296 | "requires": { 2297 | "de-indent": "1.0.2", 2298 | "he": "1.1.1" 2299 | } 2300 | }, 2301 | "vue-template-es2015-compiler": { 2302 | "version": "1.6.0", 2303 | "resolved": "https://registry.npmjs.org/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.6.0.tgz", 2304 | "integrity": "sha512-x3LV3wdmmERhVCYy3quqA57NJW7F3i6faas++pJQWtknWT+n7k30F4TVdHvCLn48peTJFRvCpxs3UuFPqgeELg==", 2305 | "dev": true 2306 | }, 2307 | "which": { 2308 | "version": "1.3.0", 2309 | "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", 2310 | "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", 2311 | "dev": true, 2312 | "requires": { 2313 | "isexe": "2.0.0" 2314 | } 2315 | }, 2316 | "wrappy": { 2317 | "version": "1.0.2", 2318 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 2319 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", 2320 | "dev": true 2321 | }, 2322 | "yallist": { 2323 | "version": "2.1.2", 2324 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", 2325 | "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", 2326 | "dev": true 2327 | } 2328 | } 2329 | } 2330 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bootstrap-vue-treeview", 3 | "version": "1.0.7", 4 | "description": "A tree view component for Bootstrap 4 and Vue.js 2.x.", 5 | "main": "dist/treeview.js", 6 | "module": "dist/bootstrap-vue-treeview.esm.js", 7 | "scripts": { 8 | "test": "echo \"Error: no test specified\" && exit 1", 9 | "build": "cross-env NODE_ENV=production node scripts/build", 10 | "dev": "cross-env NODE_ENV=development node scripts/dev" 11 | }, 12 | "repository": { 13 | "type": "git", 14 | "url": "https://github.com/kamil-lip/bootstrap-vue-treeview" 15 | }, 16 | "keywords": [ 17 | "Bootstrap", 18 | "vue", 19 | "tree", 20 | "view", 21 | "Bootstrap 4", 22 | "treeview", 23 | "vue2", 24 | "component", 25 | "VueJS" 26 | ], 27 | "author": "Kamil Lipiński ", 28 | "license": "MIT", 29 | "bugs": { 30 | "url": "https://github.com/kamil-lip/bootstrap-vue-treeview/issues" 31 | }, 32 | "homepage": "https://github.com/kamil-lip/bootstrap-vue-treeview#readme", 33 | "devDependencies": { 34 | "babel-core": "^6.26.3", 35 | "babel-plugin-external-helpers": "^6.22.0", 36 | "babel-plugin-transform-runtime": "^6.23.0", 37 | "babel-preset-env": "^1.7.0", 38 | "cross-env": "^5.1.5", 39 | "del": "^3.0.0", 40 | "rollup": "^0.58.2", 41 | "rollup-plugin-babel": "^3.0.4", 42 | "rollup-plugin-commonjs": "^9.1.3", 43 | "rollup-plugin-css-porter": "^0.1.2", 44 | "rollup-plugin-node-resolve": "^3.3.0", 45 | "rollup-plugin-serve": "^0.4.2", 46 | "rollup-plugin-vue": "^4.1.4", 47 | "vue-template-compiler": "^2.5.16" 48 | }, 49 | "dependencies": { 50 | "babel-runtime": "^6.26.0", 51 | "vue": "^2.2.2", 52 | "vue-context-menu": "^2.0.6" 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamil-lip/bootstrap-vue-treeview/4aa5e158591c4b24661fd80827ff6be79dc3408f/screenshot.png -------------------------------------------------------------------------------- /scripts/build-config.js: -------------------------------------------------------------------------------- 1 | const path = require('path'); 2 | const VuePlugin = require('rollup-plugin-vue').default; 3 | const resolve = require('rollup-plugin-node-resolve') 4 | const commonjs = require('rollup-plugin-commonjs') 5 | const babel = require('rollup-plugin-babel') 6 | const { camelCase } = require('lodash') 7 | const { name, dependencies } = require('../package.json') 8 | const css = require('rollup-plugin-css-porter') 9 | const basePath = path.resolve(__dirname, '..'); 10 | const distPath = path.resolve(basePath, 'dist'); 11 | const entryPointPath = path.resolve(basePath, 'src/index') 12 | 13 | // input options to export 14 | const input = { 15 | input: entryPointPath, 16 | plugins: [ 17 | VuePlugin(), 18 | css(), 19 | resolve({ external: ['vue'] }), 20 | commonjs(), 21 | babel({ 22 | plugins: [ 23 | 'external-helpers', 24 | 'transform-runtime' 25 | ], 26 | runtimeHelpers: true, 27 | exclude: 'node_modules/**' 28 | }) 29 | ], 30 | external: Object.keys(dependencies) 31 | } 32 | 33 | //output options to export 34 | const output = [ 35 | { 36 | exports: 'named', 37 | format: 'cjs', 38 | name: camelCase(name), 39 | file: path.resolve(distPath, name + '.common.js'), 40 | sourcemap: true, 41 | globals: { 42 | "vue": "Vue", 43 | "vue-context-menu": "VueContextMenu" 44 | } 45 | }, 46 | { 47 | exports: 'named', 48 | format: 'umd', 49 | name: camelCase(name), 50 | file: path.resolve(distPath, name + '.js'), 51 | sourcemap: true, 52 | globals: { 53 | "vue": "Vue", 54 | "vue-context-menu": "VueContextMenu" 55 | } 56 | }, 57 | { 58 | exports: 'named', 59 | format: 'es', 60 | name: camelCase(name), 61 | file: path.resolve(distPath, name + '.esm.js'), 62 | sourcemap: true, 63 | globals: { 64 | "vue": "Vue" 65 | } 66 | } 67 | ] 68 | 69 | module.exports = { input, output, distPath } 70 | 71 | -------------------------------------------------------------------------------- /scripts/build.js: -------------------------------------------------------------------------------- 1 | const fs = require('fs'); 2 | const del = require('del'); 3 | const rollup = require('rollup') 4 | 5 | const options = require('./build-config.js') 6 | 7 | async function build() { 8 | if (fs.existsSync(options.distPath)) { 9 | await del([options.distPath]) 10 | } 11 | 12 | const bundle = await rollup.rollup(options.input); 13 | 14 | for (let opts of Object.values(options.output)) { 15 | await bundle.write(opts); 16 | } 17 | 18 | } 19 | 20 | async function main() { 21 | try { 22 | await build(); 23 | console.log('Done. Success.') 24 | } catch(e) { 25 | console.error(e); 26 | process.exit(1); 27 | } 28 | } 29 | 30 | main(); 31 | 32 | 33 | -------------------------------------------------------------------------------- /scripts/dev.js: -------------------------------------------------------------------------------- 1 | const fs = require('fs'); 2 | const del = require('del'); 3 | const serve = require('rollup-plugin-serve') 4 | const path = require('path'); 5 | const rollup = require('rollup') 6 | 7 | let host = 'localhost' 8 | let port = 10001; 9 | 10 | function runDevServer() { 11 | serve({ 12 | // Launch in browser (default: false) 13 | open: true, 14 | 15 | // Show server address in console (default: true) 16 | verbose: false, 17 | 18 | // Multiple folders to serve from 19 | contentBase: ['dist', 'dev/public', 'node_modules/vue-context-menu'], 20 | 21 | // Set to true to return index.html instead of 404 22 | historyApiFallback: false, 23 | 24 | // Options used in setting up server 25 | host, 26 | port, 27 | 28 | //set headers 29 | headers: { 30 | 'Access-Control-Allow-Origin': '*' 31 | } 32 | 33 | }) 34 | } 35 | 36 | // watch for files 37 | async function watch() { 38 | 39 | const options = require('./build-config.js') 40 | 41 | if (fs.existsSync(options.distPath)) { 42 | await del([options.distPath]) 43 | } 44 | 45 | const watchOptions = { 46 | ...options.input, 47 | output: options.output 48 | }; 49 | 50 | const watcher = rollup.watch(watchOptions); 51 | 52 | watcher.on('event', event => { 53 | switch(event.code) { 54 | case 'FATAL': 55 | console.error(event.error) 56 | watcher.close(); 57 | process.exit(1); 58 | break; 59 | case 'ERROR': 60 | console.error(event.error) 61 | break; 62 | case 'BUNDLE_END': 63 | console.log('Finished building') 64 | break; 65 | } 66 | }); 67 | } 68 | 69 | async function main() { 70 | try { 71 | runDevServer(); 72 | await watch(); 73 | console.log(`Started watching for file changes. Dev server started at http://${host}:${port}`) 74 | } catch(e) { 75 | console.error(e); 76 | process.exit(1); 77 | } 78 | } 79 | 80 | main(); -------------------------------------------------------------------------------- /src/EventBus.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | 3 | const EventBus = new Vue() 4 | export default EventBus -------------------------------------------------------------------------------- /src/components/ContextMenu.vue: -------------------------------------------------------------------------------- 1 | 8 | 9 | 43 | 44 | -------------------------------------------------------------------------------- /src/components/DropBetweenZone.vue: -------------------------------------------------------------------------------- 1 | 12 | 13 | 36 | 37 | 53 | -------------------------------------------------------------------------------- /src/components/TreeNode.vue: -------------------------------------------------------------------------------- 1 | 73 | 74 | 386 | 387 | 476 | -------------------------------------------------------------------------------- /src/components/TreeView.vue: -------------------------------------------------------------------------------- 1 | 39 | 40 | 208 | 209 | 216 | -------------------------------------------------------------------------------- /src/index.js: -------------------------------------------------------------------------------- 1 | import bTreeView from './components/TreeView.vue'; 2 | 3 | const VuePlugin = { 4 | install(Vue) { 5 | Vue.component('BTreeView', bTreeView) 6 | } 7 | } 8 | 9 | export { bTreeView } 10 | 11 | export default VuePlugin --------------------------------------------------------------------------------