├── .gitignore
├── README.md
├── dist
└── jsonschemaeditor.js
├── examples
└── index.html
├── package-lock.json
├── package.json
├── src
├── index.jsx
└── json-editor-plugin.js
└── webpack.config.js
/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # JSON Schema Editor
2 |
3 | ### This project is no longer being actively maintained. I have ported it over to Vue.js in [vue-json-schema-editor](https://github.com/thomas4019/vue-json-schema-editor) and that is an improved and less buggy implementation.
4 |
5 | 
6 |
7 | Generates HTML for creating and modifying [json schemas](http://json-schema.org). I created this because [json-editor](https://github.com/jdorn/json-editor) is not good at modifying schemas (using the [meta schema](http://json-schema.org/schema)) and couldn't find any other good UI for making json schemas.
8 |
9 | ## Getting started
10 | --------------------
11 | 1. Make sure React is loaded on your page. Read more at [facebook/react](https://github.com/facebook/react#installation).
12 |
13 | 2. Include JSON Schema Editor
14 |
15 | - Using npm:
16 |
17 | ```sh
18 | npm install json-schema-editor
19 | ```
20 |
21 | ```javascript
22 | var JSONSchemaEditor = require('json-schema-editor');
23 | ```
24 |
25 | - Old-fashioned style:
26 |
27 | ```html
28 |
29 | ```
30 |
31 | 3. Add an element to your page to contain the editor
32 |
33 | ```html
34 |
35 | ```
36 |
37 | 4. Initialize the component
38 |
39 | ```javascript
40 | var element = document.getElementById('container');
41 | var editor = new JSONSchemaEditor(element, {});
42 | editor.setValue(product);
43 | ```
44 |
45 | 5. Get the value (generally after the user presses a button e.g. save)
46 |
47 | ```javascript
48 | editor.getValue();
49 | ```
50 |
51 |
52 | ## Example
53 | -------------
54 | Here is what the [product schema](http://json-schema.org/example1.html) example looks like rendered.
55 |
56 | 
57 |
58 | ## Todo
59 | * Add support for the description field.
60 | * exclusiveMinimum and exclusiveMaximum, are these even necessary?
61 | * refs
62 | * definitions
63 | * patternProperties
64 | * allOf, anyOf, oneOf
65 |
66 | [Online Schema Tester](https://www.jsonschemavalidator.net/)
--------------------------------------------------------------------------------
/dist/jsonschemaeditor.js:
--------------------------------------------------------------------------------
1 | /******/ (function(modules) { // webpackBootstrap
2 | /******/ // The module cache
3 | /******/ var installedModules = {};
4 |
5 | /******/ // The require function
6 | /******/ function __webpack_require__(moduleId) {
7 |
8 | /******/ // Check if module is in cache
9 | /******/ if(installedModules[moduleId])
10 | /******/ return installedModules[moduleId].exports;
11 |
12 | /******/ // Create a new module (and put it into the cache)
13 | /******/ var module = installedModules[moduleId] = {
14 | /******/ exports: {},
15 | /******/ id: moduleId,
16 | /******/ loaded: false
17 | /******/ };
18 |
19 | /******/ // Execute the module function
20 | /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
21 |
22 | /******/ // Flag the module as loaded
23 | /******/ module.loaded = true;
24 |
25 | /******/ // Return the exports of the module
26 | /******/ return module.exports;
27 | /******/ }
28 |
29 |
30 | /******/ // expose the modules object (__webpack_modules__)
31 | /******/ __webpack_require__.m = modules;
32 |
33 | /******/ // expose the module cache
34 | /******/ __webpack_require__.c = installedModules;
35 |
36 | /******/ // __webpack_public_path__
37 | /******/ __webpack_require__.p = "";
38 |
39 | /******/ // Load entry module and return exports
40 | /******/ return __webpack_require__(0);
41 | /******/ })
42 | /************************************************************************/
43 | /******/ ([
44 | /* 0 */
45 | /***/ (function(module, exports) {
46 |
47 | 'use strict';
48 |
49 | window.JSONSchemaEditor = function (element, options) {
50 | if (!(element instanceof Element)) {
51 | throw new Error('element should be an instance of Element');
52 | }
53 | options = options || {};
54 | this.element = element;
55 | this.options = options;
56 | this.init();
57 | };
58 |
59 | JSONSchemaEditor.prototype = {
60 | // necessary since we remove the ctor property by doing a literal assignment. Without this
61 | // the $isplainobject function will think that this is a plain object.
62 | constructor: JSONSchemaEditor,
63 | init: function init() {
64 | var self = this;
65 | var data = this.options.startval || {};
66 |
67 | this.react = ReactDOM.render(React.createElement(SchemaObject, { onChange: this.onChange, data: data }), self.element);
68 | this.callbacks = {};
69 | },
70 | on: function on(event, callback) {
71 | this.react.on(event, callback);
72 | },
73 | onChange: function onChange() {},
74 | getValue: function getValue() {
75 | return this.react.export();
76 | },
77 | setValue: function setValue(data) {
78 | var self = this;
79 | // uncommenting this makes the update work on the test page
80 | // self.element.children[0].remove();
81 | this.react = ReactDOM.render(React.createElement(SchemaObject, { onChange: this.onChange, data: data }), self.element);
82 | }
83 | };
84 |
85 | var shortNumberStyle = {
86 | width: '50px'
87 | };
88 |
89 | var SchemaString = React.createClass({
90 | displayName: 'SchemaString',
91 |
92 | getInitialState: function getInitialState() {
93 | var state = this.props.data;
94 | state.hasEnum = !!state.enum;
95 | return state;
96 | },
97 | componentWillReceiveProps: function componentWillReceiveProps(newProps) {
98 | if (typeof newProps.data.description !== 'undefined') {
99 | this.state.description = newProps.data.description;
100 | }
101 | this.setState(this.state);
102 | },
103 | componentDidUpdate: function componentDidUpdate() {
104 | this.props.onChange();
105 | },
106 | export: function _export() {
107 | return {
108 | type: 'string',
109 | default: this.state.default,
110 | description: this.state.description,
111 | format: this.state.format,
112 | pattern: !!this.state.pattern ? this.state.pattern : undefined,
113 | enum: this.state.enum
114 | };
115 | },
116 | change: function change(event) {
117 | this.state[event.target.name] = event.target.value;
118 | this.setState(this.state);
119 | },
120 | changeBool: function changeBool(event) {
121 | this.state[event.target.name] = event.target.checked;
122 | this.setState(this.state);
123 | },
124 | changeEnum: function changeEnum(event) {
125 | var arr = event.target.value.split('\n');
126 | if (arr.length == 1 && !arr[0]) {
127 | arr = undefined;
128 | }
129 | this.state[event.target.name] = arr;
130 | this.setState(this.state);
131 | },
132 | render: function render() {
133 | var settings;
134 | if (this.state.hasEnum) {
135 | settings = React.createElement(
136 | 'div',
137 | null,
138 | React.createElement(
139 | 'label',
140 | { style: { display: 'block' }, htmlFor: 'enum' },
141 | 'Enum (one value per line):'
142 | ),
143 | React.createElement('textarea', { onChange: this.changeEnum, name: 'enum', value: (this.state.enum || []).join('\n') })
144 | );
145 | } else {
146 | settings = React.createElement(
147 | 'span',
148 | null,
149 | React.createElement('input', { placeholder: 'pattern', name: 'pattern', type: 'text', value: this.state.pattern, onChange: this.change })
150 | );
151 | }
152 | return React.createElement(
153 | 'div',
154 | null,
155 | 'Format:',
156 | React.createElement(
157 | 'select',
158 | { name: 'format', onChange: this.change, value: this.state.format },
159 | React.createElement('option', { value: '' }),
160 | React.createElement(
161 | 'option',
162 | { value: 'color' },
163 | 'color'
164 | ),
165 | React.createElement(
166 | 'option',
167 | { value: 'date' },
168 | 'date'
169 | ),
170 | React.createElement(
171 | 'option',
172 | { value: 'datetime' },
173 | 'datetime'
174 | ),
175 | React.createElement(
176 | 'option',
177 | { value: 'datetime-local' },
178 | 'datetime-local'
179 | ),
180 | React.createElement(
181 | 'option',
182 | { value: 'email' },
183 | 'email'
184 | ),
185 | React.createElement(
186 | 'option',
187 | { value: 'month' },
188 | 'month'
189 | ),
190 | React.createElement(
191 | 'option',
192 | { value: 'number' },
193 | 'number'
194 | ),
195 | React.createElement(
196 | 'option',
197 | { value: 'range' },
198 | 'range'
199 | ),
200 | React.createElement(
201 | 'option',
202 | { value: 'tel' },
203 | 'tel'
204 | ),
205 | React.createElement(
206 | 'option',
207 | { value: 'text' },
208 | 'text'
209 | ),
210 | React.createElement(
211 | 'option',
212 | { value: 'textarea' },
213 | 'textarea'
214 | ),
215 | React.createElement(
216 | 'option',
217 | { value: 'time' },
218 | 'time'
219 | ),
220 | React.createElement(
221 | 'option',
222 | { value: 'url' },
223 | 'url'
224 | ),
225 | React.createElement(
226 | 'option',
227 | { value: 'week' },
228 | 'week'
229 | )
230 | ),
231 | 'Enum: ',
232 | React.createElement('input', { name: 'hasEnum', type: 'checkbox', checked: this.state.hasEnum, onChange: this.changeBool }),
233 | settings
234 | );
235 | }
236 | });
237 |
238 | var SchemaAny = React.createClass({
239 | displayName: 'SchemaAny',
240 |
241 | getInitialState: function getInitialState() {
242 | return this.props.data;
243 | },
244 | export: function _export() {
245 | return {
246 | type: ["string", "number", "object", "array", "boolean", "null"],
247 | default: this.state.default,
248 | description: this.state.description
249 | };
250 | },
251 | componentWillReceiveProps: function componentWillReceiveProps(newProps) {
252 | if (typeof newProps.data.description !== 'undefined') {
253 | this.state.description = newProps.data.description;
254 | }
255 | this.setState(this.state);
256 | },
257 | render: function render() {
258 | return React.createElement('div', null);
259 | }
260 | });
261 |
262 | var SchemaBoolean = React.createClass({
263 | displayName: 'SchemaBoolean',
264 |
265 | getInitialState: function getInitialState() {
266 | return this.props.data;
267 | },
268 | export: function _export() {
269 | return {
270 | type: 'boolean',
271 | format: 'checkbox',
272 | default: this.state.default,
273 | description: this.state.description
274 | };
275 | },
276 | componentWillReceiveProps: function componentWillReceiveProps(newProps) {
277 | if (typeof newProps.data.description !== 'undefined') {
278 | this.state.description = newProps.data.description;
279 | }
280 | this.setState(this.state);
281 | },
282 | render: function render() {
283 | return React.createElement('div', null);
284 | }
285 | });
286 |
287 | var SchemaNumber = React.createClass({
288 | displayName: 'SchemaNumber',
289 |
290 | getInitialState: function getInitialState() {
291 | return this.props.data;
292 | },
293 | componentDidUpdate: function componentDidUpdate() {
294 | this.props.onChange();
295 | },
296 | change: function change(event) {
297 | this.state[event.target.name] = parseInt(event.target.value);
298 | this.setState(this.state);
299 | },
300 | componentWillReceiveProps: function componentWillReceiveProps(newProps) {
301 | if (typeof newProps.data.description !== 'undefined') {
302 | this.state.description = newProps.data.description;
303 | }
304 | this.setState(this.state);
305 | },
306 | export: function _export() {
307 | var o = JSON.parse(JSON.stringify(this.state));
308 | o.type = 'number';
309 | delete o.name;
310 | return o;
311 | },
312 | render: function render() {
313 | return React.createElement(
314 | 'div',
315 | null,
316 | 'Min: ',
317 | React.createElement('input', { name: 'minimum', style: shortNumberStyle, type: 'number', value: this.state.minimum, onChange: this.change }),
318 | 'Max: ',
319 | React.createElement('input', { name: 'maximum', style: shortNumberStyle, type: 'number', value: this.state.maximum, onChange: this.change })
320 | );
321 | }
322 | });
323 |
324 | function mapType(type) {
325 | return Array.isArray(type) ? 'any' : type;
326 | }
327 |
328 | var mapping = function mapping(name, data, changeHandler) {
329 | return {
330 | any: React.createElement(SchemaAny, { onChange: changeHandler, ref: name, data: data }),
331 | string: React.createElement(SchemaString, { onChange: changeHandler, ref: name, data: data }),
332 | number: React.createElement(SchemaNumber, { onChange: changeHandler, ref: name, data: data }),
333 | array: React.createElement(SchemaArray, { onChange: changeHandler, ref: name, data: data }),
334 | object: React.createElement(SchemaObject, { onChange: changeHandler, ref: name, data: data }),
335 | boolean: React.createElement(SchemaBoolean, { onChange: changeHandler, ref: name, data: data })
336 | }[mapType(data.type)];
337 | };
338 |
339 | var SchemaArray = React.createClass({
340 | displayName: 'SchemaArray',
341 |
342 | getInitialState: function getInitialState() {
343 | return this.props.data;
344 | },
345 | change: function change(event) {
346 | if (event.target.type == 'checkbox') {
347 | this.state[event.target.name] = event.target.checked;
348 | } else if (event.target.name == 'itemtype') {
349 | this.state.items.type = event.target.value;
350 | } else {
351 | this.state[event.target.name] = event.target.value;
352 | }
353 | this.setState(this.state);
354 | },
355 | export: function _export() {
356 | //console.log(this.refs.items.state)
357 | return {
358 | items: this.refs['items'].export(),
359 | minItems: this.state.minItems,
360 | maxItems: this.state.maxItems,
361 | uniqueItems: this.state.uniqueItems ? true : undefined,
362 | format: this.state.format,
363 | default: this.state.default,
364 | description: this.state.description,
365 | type: 'array'
366 | };
367 | },
368 | componentDidUpdate: function componentDidUpdate() {
369 | this.onChange();
370 | },
371 | componentWillReceiveProps: function componentWillReceiveProps(newProps) {
372 | if (typeof newProps.data.description !== 'undefined') {
373 | this.state.description = newProps.data.description;
374 | }
375 | this.setState(this.state);
376 | },
377 | onChange: function onChange() {
378 | this.props.onChange();
379 | },
380 | render: function render() {
381 | var self = this;
382 | var optionFormStyle = {
383 | paddingLeft: '25px',
384 | paddingTop: '4px'
385 | };
386 | this.state.items = this.state.items || { type: 'string' };
387 | var optionForm = mapping('items', this.state.items, this.onChange);
388 | return React.createElement(
389 | 'div',
390 | null,
391 | 'Items Type:',
392 | React.createElement(
393 | 'select',
394 | { name: 'itemtype', onChange: this.change, value: mapType(this.state.items.type) },
395 | React.createElement(
396 | 'option',
397 | { value: 'string' },
398 | 'string'
399 | ),
400 | React.createElement(
401 | 'option',
402 | { value: 'number' },
403 | 'number'
404 | ),
405 | React.createElement(
406 | 'option',
407 | { value: 'array' },
408 | 'array'
409 | ),
410 | React.createElement(
411 | 'option',
412 | { value: 'object' },
413 | 'object'
414 | ),
415 | React.createElement(
416 | 'option',
417 | { value: 'boolean' },
418 | 'boolean'
419 | ),
420 | React.createElement(
421 | 'option',
422 | { value: 'any' },
423 | 'any'
424 | )
425 | ),
426 | 'minItems: ',
427 | React.createElement('input', { name: 'minItems', style: shortNumberStyle, type: 'number', onChange: self.change, value: self.state.minItems }),
428 | 'maxItems: ',
429 | React.createElement('input', { name: 'maxItems', style: shortNumberStyle, type: 'number', onChange: self.change, value: self.state.maxItems }),
430 | 'uniqueItems: ',
431 | React.createElement('input', { name: 'uniqueItems', type: 'checkbox', onChange: self.change, checked: self.state.uniqueItems }),
432 | 'Format:',
433 | React.createElement(
434 | 'select',
435 | { name: 'format', onChange: this.change, value: this.state.format },
436 | React.createElement('option', { value: '' }),
437 | React.createElement(
438 | 'option',
439 | { value: 'table' },
440 | 'table'
441 | ),
442 | React.createElement(
443 | 'option',
444 | { value: 'checkbox' },
445 | 'checkbox'
446 | ),
447 | React.createElement(
448 | 'option',
449 | { value: 'select' },
450 | 'select'
451 | ),
452 | React.createElement(
453 | 'option',
454 | { value: 'tabs' },
455 | 'tabs'
456 | )
457 | ),
458 | React.createElement(
459 | 'div',
460 | { style: optionFormStyle },
461 | optionForm
462 | )
463 | );
464 | }
465 | });
466 |
467 | var SchemaObject = React.createClass({
468 | displayName: 'SchemaObject',
469 |
470 | getInitialState: function getInitialState() {
471 | return this.propsToState(this.props);
472 | },
473 | propsToState: function propsToState(props) {
474 | var data = props.data;
475 | data.properties = data.properties || {};
476 | data.required = data.required || [];
477 | data.additionalProperties = data.additionalProperties || false;
478 | data.propertyNames = [];
479 | // convert from object to array
480 | data.properties = Object.keys(data.properties).map(function (name) {
481 | data.propertyNames.push(name);
482 | var item = data.properties[name];
483 | return item;
484 | });
485 | return data;
486 | },
487 | componentWillReceiveProps: function componentWillReceiveProps(newProps) {
488 | if (!this.state || this.state.properties.length === 0) {
489 | this.setState(this.propsToState(newProps));
490 | }
491 | if (typeof newProps.data.description !== 'undefined') {
492 | this.state.description = newProps.data.description;
493 | this.setState(this.state);
494 | }
495 | },
496 | deleteItem: function deleteItem(event) {
497 | var i = event.target.parentElement.dataset.index;
498 | var requiredIndex = this.state.required.indexOf(this.state.propertyNames[i]);
499 | if (requiredIndex !== -1) {
500 | this.state.required.splice(requiredIndex, 1);
501 | }
502 | this.state.properties.splice(i, 1);
503 | this.state.propertyNames.splice(i, 1);
504 | this.setState(this.state);
505 | },
506 | changeItem: function changeItem(event) {
507 | var i = event.target.parentElement.dataset.index;
508 | if (event.target.name == 'type') {
509 | this.state.properties[i].type = event.target.value;
510 | } else if (event.target.name == 'field') {
511 | this.state.propertyNames[i] = event.target.value;
512 | } else if (event.target.name == 'description') {
513 | this.state.properties[i].description = event.target.value;
514 | }
515 | this.setState(this.state);
516 | },
517 | changeRequired: function changeRequired(event) {
518 | if (event.target.checked) this.state.required.push(event.target.name);else {
519 | var i = this.state.required.indexOf(event.target.name);
520 | this.state.required.splice(i, 1);
521 | }
522 | this.setState(this.state);
523 | },
524 | change: function change(event) {
525 | this.state[event.target.name] = event.target.checked;
526 | this.setState(this.state);
527 | },
528 | changeText: function changeText(event) {
529 | this.state[event.target.name] = event.target.value;
530 | this.setState(this.state);
531 | },
532 | onChange: function onChange() {
533 | this.props.onChange();
534 | this.trigger('change');
535 | },
536 | componentDidUpdate: function componentDidUpdate() {
537 | this.onChange();
538 | },
539 | add: function add() {
540 | this.state.properties.push({ name: '', type: 'string' });
541 | this.setState(this.state);
542 | },
543 | export: function _export() {
544 | var self = this;
545 | var properties = {};
546 | Object.keys(self.state.properties).forEach(function (index) {
547 | //var name = self.state.properties[index].name;
548 | var name = self.state.propertyNames[index];
549 | if (typeof self.refs['item' + index] != 'undefined' && name && name.length > 0) properties[name] = self.refs['item' + index].export();
550 | });
551 | return {
552 | type: 'object',
553 | default: this.state.default,
554 | description: this.state.description,
555 | additionalProperties: this.state.additionalProperties,
556 | format: this.state.format,
557 | properties: properties,
558 | required: this.state.required.length ? this.state.required : undefined
559 | };
560 | },
561 | on: function on(event, callback) {
562 | this.callbacks = this.callbacks || {};
563 | this.callbacks[event] = this.callbacks[event] || [];
564 | this.callbacks[event].push(callback);
565 |
566 | return this;
567 | },
568 | trigger: function trigger(event) {
569 | if (this.callbacks && this.callbacks[event] && this.callbacks[event].length) {
570 | for (var i = 0; i < this.callbacks[event].length; i++) {
571 | this.callbacks[event][i]();
572 | }
573 | }
574 |
575 | return this;
576 | },
577 | render: function render() {
578 | var self = this;
579 |
580 | var optionFormStyle = {
581 | paddingLeft: '25px',
582 | paddingTop: '4px'
583 | };
584 | var requiredIcon = {
585 | fontSize: '1em',
586 | color: 'red',
587 | fontWeight: 'bold',
588 | paddingLeft: '5px'
589 | };
590 | var fieldStyle = {
591 | paddingBottom: '10px'
592 | };
593 | var objectStyle = {
594 | borderLeft: '2px dotted gray',
595 | paddingLeft: '8px',
596 | paddingTop: '10px'
597 | };
598 | var typeSelectStyle = {
599 | marginLeft: '5px'
600 | };
601 | var descriptionStyle = {
602 | marginLeft: '6px',
603 | width: '350px'
604 | };
605 | var deletePropStyle = {
606 | border: '1px solid black',
607 | padding: '0px 4px 0px 4px',
608 | pointer: 'cursor'
609 | };
610 | return React.createElement(
611 | 'div',
612 | { style: objectStyle },
613 | this.state.properties.map(function (value, index) {
614 | var name = self.state.propertyNames[index];
615 | var copiedState = JSON.parse(JSON.stringify(self.state.properties[index]));
616 | var optionForm = mapping('item' + index, copiedState, self.onChange);
617 | return React.createElement(
618 | 'div',
619 | { 'data-index': index, style: fieldStyle, key: index },
620 | React.createElement('input', { name: 'field', type: 'string', onChange: self.changeItem, value: name }),
621 | React.createElement(
622 | 'select',
623 | { style: typeSelectStyle, name: 'type', onChange: self.changeItem, value: mapType(value.type) },
624 | React.createElement(
625 | 'option',
626 | { value: 'string' },
627 | 'string'
628 | ),
629 | React.createElement(
630 | 'option',
631 | { value: 'number' },
632 | 'number'
633 | ),
634 | React.createElement(
635 | 'option',
636 | { value: 'array' },
637 | 'array'
638 | ),
639 | React.createElement(
640 | 'option',
641 | { value: 'object' },
642 | 'object'
643 | ),
644 | React.createElement(
645 | 'option',
646 | { value: 'boolean' },
647 | 'boolean'
648 | ),
649 | React.createElement(
650 | 'option',
651 | { value: 'any' },
652 | 'any'
653 | )
654 | ),
655 | React.createElement('input', { style: descriptionStyle, placeholder: 'description', name: 'description', type: 'text', value: value.description, onChange: self.changeItem }),
656 | React.createElement(
657 | 'span',
658 | { style: requiredIcon },
659 | '*'
660 | ),
661 | React.createElement('input', { name: name, type: 'checkbox', onChange: self.changeRequired, checked: self.state.required.indexOf(name) != -1 }),
662 | React.createElement(
663 | 'span',
664 | { onClick: self.deleteItem, style: deletePropStyle },
665 | 'x'
666 | ),
667 | React.createElement(
668 | 'div',
669 | { style: optionFormStyle },
670 | optionForm
671 | )
672 | );
673 | }),
674 | React.createElement(
675 | 'div',
676 | null,
677 | 'Allow additional properties: ',
678 | React.createElement('input', { name: 'additionalProperties', type: 'checkbox', onChange: self.change, checked: self.state.additionalProperties }),
679 | 'Format:',
680 | React.createElement(
681 | 'select',
682 | { name: 'format', onChange: this.changeText, value: this.state.format },
683 | React.createElement('option', { value: '' }),
684 | React.createElement(
685 | 'option',
686 | { value: 'grid' },
687 | 'grid'
688 | ),
689 | React.createElement(
690 | 'option',
691 | { value: 'schema' },
692 | 'schema'
693 | )
694 | )
695 | ),
696 | React.createElement(
697 | 'button',
698 | { onClick: self.add },
699 | 'Add another field'
700 | )
701 | );
702 | }
703 | });
704 |
705 | if (typeof module !== 'undefined' && typeof module.exports !== 'undefined') module.exports = window.JSONSchemaEditor;
706 |
707 | /***/ })
708 | /******/ ]);
--------------------------------------------------------------------------------
/examples/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 | JSON Schema Editor Example
11 |
12 |
13 | Print Schema
14 | Update
15 |
16 |
92 |
93 |
--------------------------------------------------------------------------------
/package-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "json-schema-editor",
3 | "version": "0.2.5",
4 | "lockfileVersion": 1,
5 | "requires": true,
6 | "dependencies": {
7 | "acorn": {
8 | "version": "5.7.4",
9 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz",
10 | "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==",
11 | "dev": true
12 | },
13 | "align-text": {
14 | "version": "0.1.4",
15 | "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz",
16 | "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=",
17 | "dev": true,
18 | "requires": {
19 | "kind-of": "^3.0.2",
20 | "longest": "^1.0.1",
21 | "repeat-string": "^1.5.2"
22 | }
23 | },
24 | "amdefine": {
25 | "version": "1.0.1",
26 | "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
27 | "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=",
28 | "dev": true
29 | },
30 | "ansi-regex": {
31 | "version": "2.1.1",
32 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
33 | "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
34 | "dev": true
35 | },
36 | "ansi-styles": {
37 | "version": "2.2.1",
38 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
39 | "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
40 | "dev": true
41 | },
42 | "anymatch": {
43 | "version": "1.3.2",
44 | "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz",
45 | "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==",
46 | "dev": true,
47 | "requires": {
48 | "micromatch": "^2.1.5",
49 | "normalize-path": "^2.0.0"
50 | }
51 | },
52 | "arr-diff": {
53 | "version": "2.0.0",
54 | "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz",
55 | "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=",
56 | "dev": true,
57 | "requires": {
58 | "arr-flatten": "^1.0.1"
59 | }
60 | },
61 | "arr-flatten": {
62 | "version": "1.1.0",
63 | "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
64 | "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
65 | "dev": true
66 | },
67 | "arr-union": {
68 | "version": "3.1.0",
69 | "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
70 | "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
71 | "dev": true
72 | },
73 | "array-unique": {
74 | "version": "0.2.1",
75 | "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz",
76 | "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=",
77 | "dev": true
78 | },
79 | "asap": {
80 | "version": "2.0.6",
81 | "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
82 | "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=",
83 | "dev": true
84 | },
85 | "assert": {
86 | "version": "1.5.0",
87 | "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz",
88 | "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==",
89 | "dev": true,
90 | "requires": {
91 | "object-assign": "^4.1.1",
92 | "util": "0.10.3"
93 | },
94 | "dependencies": {
95 | "inherits": {
96 | "version": "2.0.1",
97 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
98 | "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=",
99 | "dev": true
100 | },
101 | "util": {
102 | "version": "0.10.3",
103 | "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz",
104 | "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=",
105 | "dev": true,
106 | "requires": {
107 | "inherits": "2.0.1"
108 | }
109 | }
110 | }
111 | },
112 | "assign-symbols": {
113 | "version": "1.0.0",
114 | "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
115 | "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
116 | "dev": true
117 | },
118 | "ast-types": {
119 | "version": "0.9.6",
120 | "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.9.6.tgz",
121 | "integrity": "sha1-ECyenpAF0+fjgpvwxPok7oYu6bk=",
122 | "dev": true
123 | },
124 | "async": {
125 | "version": "1.5.2",
126 | "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
127 | "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=",
128 | "dev": true
129 | },
130 | "async-each": {
131 | "version": "1.0.3",
132 | "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz",
133 | "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==",
134 | "dev": true
135 | },
136 | "atob": {
137 | "version": "2.1.2",
138 | "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
139 | "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==",
140 | "dev": true
141 | },
142 | "babel-code-frame": {
143 | "version": "6.26.0",
144 | "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz",
145 | "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=",
146 | "dev": true,
147 | "requires": {
148 | "chalk": "^1.1.3",
149 | "esutils": "^2.0.2",
150 | "js-tokens": "^3.0.2"
151 | }
152 | },
153 | "babel-core": {
154 | "version": "6.26.3",
155 | "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz",
156 | "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==",
157 | "dev": true,
158 | "requires": {
159 | "babel-code-frame": "^6.26.0",
160 | "babel-generator": "^6.26.0",
161 | "babel-helpers": "^6.24.1",
162 | "babel-messages": "^6.23.0",
163 | "babel-register": "^6.26.0",
164 | "babel-runtime": "^6.26.0",
165 | "babel-template": "^6.26.0",
166 | "babel-traverse": "^6.26.0",
167 | "babel-types": "^6.26.0",
168 | "babylon": "^6.18.0",
169 | "convert-source-map": "^1.5.1",
170 | "debug": "^2.6.9",
171 | "json5": "^0.5.1",
172 | "lodash": "^4.17.4",
173 | "minimatch": "^3.0.4",
174 | "path-is-absolute": "^1.0.1",
175 | "private": "^0.1.8",
176 | "slash": "^1.0.0",
177 | "source-map": "^0.5.7"
178 | }
179 | },
180 | "babel-generator": {
181 | "version": "6.26.1",
182 | "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz",
183 | "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==",
184 | "dev": true,
185 | "requires": {
186 | "babel-messages": "^6.23.0",
187 | "babel-runtime": "^6.26.0",
188 | "babel-types": "^6.26.0",
189 | "detect-indent": "^4.0.0",
190 | "jsesc": "^1.3.0",
191 | "lodash": "^4.17.4",
192 | "source-map": "^0.5.7",
193 | "trim-right": "^1.0.1"
194 | }
195 | },
196 | "babel-helper-builder-react-jsx": {
197 | "version": "6.26.0",
198 | "resolved": "https://registry.npmjs.org/babel-helper-builder-react-jsx/-/babel-helper-builder-react-jsx-6.26.0.tgz",
199 | "integrity": "sha1-Of+DE7dci2Xc7/HzHTg+D/KkCKA=",
200 | "dev": true,
201 | "requires": {
202 | "babel-runtime": "^6.26.0",
203 | "babel-types": "^6.26.0",
204 | "esutils": "^2.0.2"
205 | }
206 | },
207 | "babel-helper-call-delegate": {
208 | "version": "6.24.1",
209 | "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz",
210 | "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=",
211 | "dev": true,
212 | "requires": {
213 | "babel-helper-hoist-variables": "^6.24.1",
214 | "babel-runtime": "^6.22.0",
215 | "babel-traverse": "^6.24.1",
216 | "babel-types": "^6.24.1"
217 | }
218 | },
219 | "babel-helper-define-map": {
220 | "version": "6.26.0",
221 | "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz",
222 | "integrity": "sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=",
223 | "dev": true,
224 | "requires": {
225 | "babel-helper-function-name": "^6.24.1",
226 | "babel-runtime": "^6.26.0",
227 | "babel-types": "^6.26.0",
228 | "lodash": "^4.17.4"
229 | }
230 | },
231 | "babel-helper-function-name": {
232 | "version": "6.24.1",
233 | "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz",
234 | "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=",
235 | "dev": true,
236 | "requires": {
237 | "babel-helper-get-function-arity": "^6.24.1",
238 | "babel-runtime": "^6.22.0",
239 | "babel-template": "^6.24.1",
240 | "babel-traverse": "^6.24.1",
241 | "babel-types": "^6.24.1"
242 | }
243 | },
244 | "babel-helper-get-function-arity": {
245 | "version": "6.24.1",
246 | "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz",
247 | "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=",
248 | "dev": true,
249 | "requires": {
250 | "babel-runtime": "^6.22.0",
251 | "babel-types": "^6.24.1"
252 | }
253 | },
254 | "babel-helper-hoist-variables": {
255 | "version": "6.24.1",
256 | "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz",
257 | "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=",
258 | "dev": true,
259 | "requires": {
260 | "babel-runtime": "^6.22.0",
261 | "babel-types": "^6.24.1"
262 | }
263 | },
264 | "babel-helper-optimise-call-expression": {
265 | "version": "6.24.1",
266 | "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz",
267 | "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=",
268 | "dev": true,
269 | "requires": {
270 | "babel-runtime": "^6.22.0",
271 | "babel-types": "^6.24.1"
272 | }
273 | },
274 | "babel-helper-regex": {
275 | "version": "6.26.0",
276 | "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz",
277 | "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=",
278 | "dev": true,
279 | "requires": {
280 | "babel-runtime": "^6.26.0",
281 | "babel-types": "^6.26.0",
282 | "lodash": "^4.17.4"
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.22.0",
294 | "babel-template": "^6.24.1",
295 | "babel-traverse": "^6.24.1",
296 | "babel-types": "^6.24.1"
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.22.0",
306 | "babel-template": "^6.24.1"
307 | }
308 | },
309 | "babel-loader": {
310 | "version": "6.4.1",
311 | "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-6.4.1.tgz",
312 | "integrity": "sha1-CzQRLVsHSKjc2/Uaz2+b1C1QuMo=",
313 | "dev": true,
314 | "requires": {
315 | "find-cache-dir": "^0.1.1",
316 | "loader-utils": "^0.2.16",
317 | "mkdirp": "^0.5.1",
318 | "object-assign": "^4.0.1"
319 | }
320 | },
321 | "babel-messages": {
322 | "version": "6.23.0",
323 | "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz",
324 | "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=",
325 | "dev": true,
326 | "requires": {
327 | "babel-runtime": "^6.22.0"
328 | }
329 | },
330 | "babel-plugin-check-es2015-constants": {
331 | "version": "6.22.0",
332 | "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz",
333 | "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=",
334 | "dev": true,
335 | "requires": {
336 | "babel-runtime": "^6.22.0"
337 | }
338 | },
339 | "babel-plugin-syntax-flow": {
340 | "version": "6.18.0",
341 | "resolved": "https://registry.npmjs.org/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz",
342 | "integrity": "sha1-TDqyCiryaqIM0lmVw5jE63AxDI0=",
343 | "dev": true
344 | },
345 | "babel-plugin-syntax-jsx": {
346 | "version": "6.18.0",
347 | "resolved": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz",
348 | "integrity": "sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=",
349 | "dev": true
350 | },
351 | "babel-plugin-transform-es2015-arrow-functions": {
352 | "version": "6.22.0",
353 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz",
354 | "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=",
355 | "dev": true,
356 | "requires": {
357 | "babel-runtime": "^6.22.0"
358 | }
359 | },
360 | "babel-plugin-transform-es2015-block-scoped-functions": {
361 | "version": "6.22.0",
362 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz",
363 | "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=",
364 | "dev": true,
365 | "requires": {
366 | "babel-runtime": "^6.22.0"
367 | }
368 | },
369 | "babel-plugin-transform-es2015-block-scoping": {
370 | "version": "6.26.0",
371 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz",
372 | "integrity": "sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=",
373 | "dev": true,
374 | "requires": {
375 | "babel-runtime": "^6.26.0",
376 | "babel-template": "^6.26.0",
377 | "babel-traverse": "^6.26.0",
378 | "babel-types": "^6.26.0",
379 | "lodash": "^4.17.4"
380 | }
381 | },
382 | "babel-plugin-transform-es2015-classes": {
383 | "version": "6.24.1",
384 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz",
385 | "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=",
386 | "dev": true,
387 | "requires": {
388 | "babel-helper-define-map": "^6.24.1",
389 | "babel-helper-function-name": "^6.24.1",
390 | "babel-helper-optimise-call-expression": "^6.24.1",
391 | "babel-helper-replace-supers": "^6.24.1",
392 | "babel-messages": "^6.23.0",
393 | "babel-runtime": "^6.22.0",
394 | "babel-template": "^6.24.1",
395 | "babel-traverse": "^6.24.1",
396 | "babel-types": "^6.24.1"
397 | }
398 | },
399 | "babel-plugin-transform-es2015-computed-properties": {
400 | "version": "6.24.1",
401 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz",
402 | "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=",
403 | "dev": true,
404 | "requires": {
405 | "babel-runtime": "^6.22.0",
406 | "babel-template": "^6.24.1"
407 | }
408 | },
409 | "babel-plugin-transform-es2015-destructuring": {
410 | "version": "6.23.0",
411 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz",
412 | "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=",
413 | "dev": true,
414 | "requires": {
415 | "babel-runtime": "^6.22.0"
416 | }
417 | },
418 | "babel-plugin-transform-es2015-duplicate-keys": {
419 | "version": "6.24.1",
420 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz",
421 | "integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=",
422 | "dev": true,
423 | "requires": {
424 | "babel-runtime": "^6.22.0",
425 | "babel-types": "^6.24.1"
426 | }
427 | },
428 | "babel-plugin-transform-es2015-for-of": {
429 | "version": "6.23.0",
430 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz",
431 | "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=",
432 | "dev": true,
433 | "requires": {
434 | "babel-runtime": "^6.22.0"
435 | }
436 | },
437 | "babel-plugin-transform-es2015-function-name": {
438 | "version": "6.24.1",
439 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz",
440 | "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=",
441 | "dev": true,
442 | "requires": {
443 | "babel-helper-function-name": "^6.24.1",
444 | "babel-runtime": "^6.22.0",
445 | "babel-types": "^6.24.1"
446 | }
447 | },
448 | "babel-plugin-transform-es2015-literals": {
449 | "version": "6.22.0",
450 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz",
451 | "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=",
452 | "dev": true,
453 | "requires": {
454 | "babel-runtime": "^6.22.0"
455 | }
456 | },
457 | "babel-plugin-transform-es2015-modules-amd": {
458 | "version": "6.24.1",
459 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz",
460 | "integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=",
461 | "dev": true,
462 | "requires": {
463 | "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1",
464 | "babel-runtime": "^6.22.0",
465 | "babel-template": "^6.24.1"
466 | }
467 | },
468 | "babel-plugin-transform-es2015-modules-commonjs": {
469 | "version": "6.26.2",
470 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz",
471 | "integrity": "sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==",
472 | "dev": true,
473 | "requires": {
474 | "babel-plugin-transform-strict-mode": "^6.24.1",
475 | "babel-runtime": "^6.26.0",
476 | "babel-template": "^6.26.0",
477 | "babel-types": "^6.26.0"
478 | }
479 | },
480 | "babel-plugin-transform-es2015-modules-systemjs": {
481 | "version": "6.24.1",
482 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz",
483 | "integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=",
484 | "dev": true,
485 | "requires": {
486 | "babel-helper-hoist-variables": "^6.24.1",
487 | "babel-runtime": "^6.22.0",
488 | "babel-template": "^6.24.1"
489 | }
490 | },
491 | "babel-plugin-transform-es2015-modules-umd": {
492 | "version": "6.24.1",
493 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz",
494 | "integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=",
495 | "dev": true,
496 | "requires": {
497 | "babel-plugin-transform-es2015-modules-amd": "^6.24.1",
498 | "babel-runtime": "^6.22.0",
499 | "babel-template": "^6.24.1"
500 | }
501 | },
502 | "babel-plugin-transform-es2015-object-super": {
503 | "version": "6.24.1",
504 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz",
505 | "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=",
506 | "dev": true,
507 | "requires": {
508 | "babel-helper-replace-supers": "^6.24.1",
509 | "babel-runtime": "^6.22.0"
510 | }
511 | },
512 | "babel-plugin-transform-es2015-parameters": {
513 | "version": "6.24.1",
514 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz",
515 | "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=",
516 | "dev": true,
517 | "requires": {
518 | "babel-helper-call-delegate": "^6.24.1",
519 | "babel-helper-get-function-arity": "^6.24.1",
520 | "babel-runtime": "^6.22.0",
521 | "babel-template": "^6.24.1",
522 | "babel-traverse": "^6.24.1",
523 | "babel-types": "^6.24.1"
524 | }
525 | },
526 | "babel-plugin-transform-es2015-shorthand-properties": {
527 | "version": "6.24.1",
528 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz",
529 | "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=",
530 | "dev": true,
531 | "requires": {
532 | "babel-runtime": "^6.22.0",
533 | "babel-types": "^6.24.1"
534 | }
535 | },
536 | "babel-plugin-transform-es2015-spread": {
537 | "version": "6.22.0",
538 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz",
539 | "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=",
540 | "dev": true,
541 | "requires": {
542 | "babel-runtime": "^6.22.0"
543 | }
544 | },
545 | "babel-plugin-transform-es2015-sticky-regex": {
546 | "version": "6.24.1",
547 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz",
548 | "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=",
549 | "dev": true,
550 | "requires": {
551 | "babel-helper-regex": "^6.24.1",
552 | "babel-runtime": "^6.22.0",
553 | "babel-types": "^6.24.1"
554 | }
555 | },
556 | "babel-plugin-transform-es2015-template-literals": {
557 | "version": "6.22.0",
558 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz",
559 | "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=",
560 | "dev": true,
561 | "requires": {
562 | "babel-runtime": "^6.22.0"
563 | }
564 | },
565 | "babel-plugin-transform-es2015-typeof-symbol": {
566 | "version": "6.23.0",
567 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz",
568 | "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=",
569 | "dev": true,
570 | "requires": {
571 | "babel-runtime": "^6.22.0"
572 | }
573 | },
574 | "babel-plugin-transform-es2015-unicode-regex": {
575 | "version": "6.24.1",
576 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz",
577 | "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=",
578 | "dev": true,
579 | "requires": {
580 | "babel-helper-regex": "^6.24.1",
581 | "babel-runtime": "^6.22.0",
582 | "regexpu-core": "^2.0.0"
583 | }
584 | },
585 | "babel-plugin-transform-flow-strip-types": {
586 | "version": "6.22.0",
587 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.22.0.tgz",
588 | "integrity": "sha1-hMtnKTXUNxT9wyvOhFaNh0Qc988=",
589 | "dev": true,
590 | "requires": {
591 | "babel-plugin-syntax-flow": "^6.18.0",
592 | "babel-runtime": "^6.22.0"
593 | }
594 | },
595 | "babel-plugin-transform-react-display-name": {
596 | "version": "6.25.0",
597 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-display-name/-/babel-plugin-transform-react-display-name-6.25.0.tgz",
598 | "integrity": "sha1-Z+K/Hx6ck6sI25Z5LgU5K/LMKNE=",
599 | "dev": true,
600 | "requires": {
601 | "babel-runtime": "^6.22.0"
602 | }
603 | },
604 | "babel-plugin-transform-react-jsx": {
605 | "version": "6.24.1",
606 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx/-/babel-plugin-transform-react-jsx-6.24.1.tgz",
607 | "integrity": "sha1-hAoCjn30YN/DotKfDA2R9jduZqM=",
608 | "dev": true,
609 | "requires": {
610 | "babel-helper-builder-react-jsx": "^6.24.1",
611 | "babel-plugin-syntax-jsx": "^6.8.0",
612 | "babel-runtime": "^6.22.0"
613 | }
614 | },
615 | "babel-plugin-transform-react-jsx-self": {
616 | "version": "6.22.0",
617 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-self/-/babel-plugin-transform-react-jsx-self-6.22.0.tgz",
618 | "integrity": "sha1-322AqdomEqEh5t3XVYvL7PBuY24=",
619 | "dev": true,
620 | "requires": {
621 | "babel-plugin-syntax-jsx": "^6.8.0",
622 | "babel-runtime": "^6.22.0"
623 | }
624 | },
625 | "babel-plugin-transform-react-jsx-source": {
626 | "version": "6.22.0",
627 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-source/-/babel-plugin-transform-react-jsx-source-6.22.0.tgz",
628 | "integrity": "sha1-ZqwSFT9c0tF7PBkmj0vwGX9E7NY=",
629 | "dev": true,
630 | "requires": {
631 | "babel-plugin-syntax-jsx": "^6.8.0",
632 | "babel-runtime": "^6.22.0"
633 | }
634 | },
635 | "babel-plugin-transform-regenerator": {
636 | "version": "6.26.0",
637 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz",
638 | "integrity": "sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=",
639 | "dev": true,
640 | "requires": {
641 | "regenerator-transform": "^0.10.0"
642 | }
643 | },
644 | "babel-plugin-transform-strict-mode": {
645 | "version": "6.24.1",
646 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz",
647 | "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=",
648 | "dev": true,
649 | "requires": {
650 | "babel-runtime": "^6.22.0",
651 | "babel-types": "^6.24.1"
652 | }
653 | },
654 | "babel-preset-es2015": {
655 | "version": "6.24.1",
656 | "resolved": "https://registry.npmjs.org/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz",
657 | "integrity": "sha1-1EBQ1rwsn+6nAqrzjXJ6AhBTiTk=",
658 | "dev": true,
659 | "requires": {
660 | "babel-plugin-check-es2015-constants": "^6.22.0",
661 | "babel-plugin-transform-es2015-arrow-functions": "^6.22.0",
662 | "babel-plugin-transform-es2015-block-scoped-functions": "^6.22.0",
663 | "babel-plugin-transform-es2015-block-scoping": "^6.24.1",
664 | "babel-plugin-transform-es2015-classes": "^6.24.1",
665 | "babel-plugin-transform-es2015-computed-properties": "^6.24.1",
666 | "babel-plugin-transform-es2015-destructuring": "^6.22.0",
667 | "babel-plugin-transform-es2015-duplicate-keys": "^6.24.1",
668 | "babel-plugin-transform-es2015-for-of": "^6.22.0",
669 | "babel-plugin-transform-es2015-function-name": "^6.24.1",
670 | "babel-plugin-transform-es2015-literals": "^6.22.0",
671 | "babel-plugin-transform-es2015-modules-amd": "^6.24.1",
672 | "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1",
673 | "babel-plugin-transform-es2015-modules-systemjs": "^6.24.1",
674 | "babel-plugin-transform-es2015-modules-umd": "^6.24.1",
675 | "babel-plugin-transform-es2015-object-super": "^6.24.1",
676 | "babel-plugin-transform-es2015-parameters": "^6.24.1",
677 | "babel-plugin-transform-es2015-shorthand-properties": "^6.24.1",
678 | "babel-plugin-transform-es2015-spread": "^6.22.0",
679 | "babel-plugin-transform-es2015-sticky-regex": "^6.24.1",
680 | "babel-plugin-transform-es2015-template-literals": "^6.22.0",
681 | "babel-plugin-transform-es2015-typeof-symbol": "^6.22.0",
682 | "babel-plugin-transform-es2015-unicode-regex": "^6.24.1",
683 | "babel-plugin-transform-regenerator": "^6.24.1"
684 | }
685 | },
686 | "babel-preset-flow": {
687 | "version": "6.23.0",
688 | "resolved": "https://registry.npmjs.org/babel-preset-flow/-/babel-preset-flow-6.23.0.tgz",
689 | "integrity": "sha1-5xIYiHCFrpoktb5Baa/7WZgWxJ0=",
690 | "dev": true,
691 | "requires": {
692 | "babel-plugin-transform-flow-strip-types": "^6.22.0"
693 | }
694 | },
695 | "babel-preset-react": {
696 | "version": "6.24.1",
697 | "resolved": "https://registry.npmjs.org/babel-preset-react/-/babel-preset-react-6.24.1.tgz",
698 | "integrity": "sha1-umnfrqRfw+xjm2pOzqbhdwLJE4A=",
699 | "dev": true,
700 | "requires": {
701 | "babel-plugin-syntax-jsx": "^6.3.13",
702 | "babel-plugin-transform-react-display-name": "^6.23.0",
703 | "babel-plugin-transform-react-jsx": "^6.24.1",
704 | "babel-plugin-transform-react-jsx-self": "^6.22.0",
705 | "babel-plugin-transform-react-jsx-source": "^6.22.0",
706 | "babel-preset-flow": "^6.23.0"
707 | }
708 | },
709 | "babel-register": {
710 | "version": "6.26.0",
711 | "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz",
712 | "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=",
713 | "dev": true,
714 | "requires": {
715 | "babel-core": "^6.26.0",
716 | "babel-runtime": "^6.26.0",
717 | "core-js": "^2.5.0",
718 | "home-or-tmp": "^2.0.0",
719 | "lodash": "^4.17.4",
720 | "mkdirp": "^0.5.1",
721 | "source-map-support": "^0.4.15"
722 | }
723 | },
724 | "babel-runtime": {
725 | "version": "6.26.0",
726 | "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
727 | "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
728 | "dev": true,
729 | "requires": {
730 | "core-js": "^2.4.0",
731 | "regenerator-runtime": "^0.11.0"
732 | }
733 | },
734 | "babel-template": {
735 | "version": "6.26.0",
736 | "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz",
737 | "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=",
738 | "dev": true,
739 | "requires": {
740 | "babel-runtime": "^6.26.0",
741 | "babel-traverse": "^6.26.0",
742 | "babel-types": "^6.26.0",
743 | "babylon": "^6.18.0",
744 | "lodash": "^4.17.4"
745 | }
746 | },
747 | "babel-traverse": {
748 | "version": "6.26.0",
749 | "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz",
750 | "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=",
751 | "dev": true,
752 | "requires": {
753 | "babel-code-frame": "^6.26.0",
754 | "babel-messages": "^6.23.0",
755 | "babel-runtime": "^6.26.0",
756 | "babel-types": "^6.26.0",
757 | "babylon": "^6.18.0",
758 | "debug": "^2.6.8",
759 | "globals": "^9.18.0",
760 | "invariant": "^2.2.2",
761 | "lodash": "^4.17.4"
762 | }
763 | },
764 | "babel-types": {
765 | "version": "6.26.0",
766 | "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz",
767 | "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=",
768 | "dev": true,
769 | "requires": {
770 | "babel-runtime": "^6.26.0",
771 | "esutils": "^2.0.2",
772 | "lodash": "^4.17.4",
773 | "to-fast-properties": "^1.0.3"
774 | }
775 | },
776 | "babylon": {
777 | "version": "6.18.0",
778 | "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz",
779 | "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==",
780 | "dev": true
781 | },
782 | "balanced-match": {
783 | "version": "1.0.0",
784 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
785 | "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
786 | "dev": true
787 | },
788 | "base": {
789 | "version": "0.11.2",
790 | "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
791 | "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
792 | "dev": true,
793 | "requires": {
794 | "cache-base": "^1.0.1",
795 | "class-utils": "^0.3.5",
796 | "component-emitter": "^1.2.1",
797 | "define-property": "^1.0.0",
798 | "isobject": "^3.0.1",
799 | "mixin-deep": "^1.2.0",
800 | "pascalcase": "^0.1.1"
801 | },
802 | "dependencies": {
803 | "define-property": {
804 | "version": "1.0.0",
805 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
806 | "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
807 | "dev": true,
808 | "requires": {
809 | "is-descriptor": "^1.0.0"
810 | }
811 | },
812 | "is-accessor-descriptor": {
813 | "version": "1.0.0",
814 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
815 | "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
816 | "dev": true,
817 | "requires": {
818 | "kind-of": "^6.0.0"
819 | }
820 | },
821 | "is-data-descriptor": {
822 | "version": "1.0.0",
823 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
824 | "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
825 | "dev": true,
826 | "requires": {
827 | "kind-of": "^6.0.0"
828 | }
829 | },
830 | "is-descriptor": {
831 | "version": "1.0.2",
832 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
833 | "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
834 | "dev": true,
835 | "requires": {
836 | "is-accessor-descriptor": "^1.0.0",
837 | "is-data-descriptor": "^1.0.0",
838 | "kind-of": "^6.0.2"
839 | }
840 | },
841 | "isobject": {
842 | "version": "3.0.1",
843 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
844 | "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
845 | "dev": true
846 | },
847 | "kind-of": {
848 | "version": "6.0.3",
849 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
850 | "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
851 | "dev": true
852 | }
853 | }
854 | },
855 | "base62": {
856 | "version": "1.2.8",
857 | "resolved": "https://registry.npmjs.org/base62/-/base62-1.2.8.tgz",
858 | "integrity": "sha512-V6YHUbjLxN1ymqNLb1DPHoU1CpfdL7d2YTIp5W3U4hhoG4hhxNmsFDs66M9EXxBiSEke5Bt5dwdfMwwZF70iLA==",
859 | "dev": true
860 | },
861 | "base64-js": {
862 | "version": "1.3.1",
863 | "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz",
864 | "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==",
865 | "dev": true
866 | },
867 | "big.js": {
868 | "version": "3.2.0",
869 | "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz",
870 | "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==",
871 | "dev": true
872 | },
873 | "binary-extensions": {
874 | "version": "1.13.1",
875 | "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz",
876 | "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==",
877 | "dev": true
878 | },
879 | "bindings": {
880 | "version": "1.5.0",
881 | "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz",
882 | "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==",
883 | "dev": true,
884 | "optional": true,
885 | "requires": {
886 | "file-uri-to-path": "1.0.0"
887 | }
888 | },
889 | "brace-expansion": {
890 | "version": "1.1.11",
891 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
892 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
893 | "dev": true,
894 | "requires": {
895 | "balanced-match": "^1.0.0",
896 | "concat-map": "0.0.1"
897 | }
898 | },
899 | "braces": {
900 | "version": "1.8.5",
901 | "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz",
902 | "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=",
903 | "dev": true,
904 | "requires": {
905 | "expand-range": "^1.8.1",
906 | "preserve": "^0.2.0",
907 | "repeat-element": "^1.1.2"
908 | }
909 | },
910 | "browserify-aes": {
911 | "version": "0.4.0",
912 | "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-0.4.0.tgz",
913 | "integrity": "sha1-BnFJtmjfMcS1hTPgLQHoBthgjiw=",
914 | "dev": true,
915 | "requires": {
916 | "inherits": "^2.0.1"
917 | }
918 | },
919 | "browserify-zlib": {
920 | "version": "0.1.4",
921 | "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz",
922 | "integrity": "sha1-uzX4pRn2AOD6a4SFJByXnQFB+y0=",
923 | "dev": true,
924 | "requires": {
925 | "pako": "~0.2.0"
926 | }
927 | },
928 | "buffer": {
929 | "version": "4.9.2",
930 | "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz",
931 | "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==",
932 | "dev": true,
933 | "requires": {
934 | "base64-js": "^1.0.2",
935 | "ieee754": "^1.1.4",
936 | "isarray": "^1.0.0"
937 | }
938 | },
939 | "builtin-status-codes": {
940 | "version": "3.0.0",
941 | "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz",
942 | "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=",
943 | "dev": true
944 | },
945 | "cache-base": {
946 | "version": "1.0.1",
947 | "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
948 | "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
949 | "dev": true,
950 | "requires": {
951 | "collection-visit": "^1.0.0",
952 | "component-emitter": "^1.2.1",
953 | "get-value": "^2.0.6",
954 | "has-value": "^1.0.0",
955 | "isobject": "^3.0.1",
956 | "set-value": "^2.0.0",
957 | "to-object-path": "^0.3.0",
958 | "union-value": "^1.0.0",
959 | "unset-value": "^1.0.0"
960 | },
961 | "dependencies": {
962 | "isobject": {
963 | "version": "3.0.1",
964 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
965 | "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
966 | "dev": true
967 | }
968 | }
969 | },
970 | "camelcase": {
971 | "version": "1.2.1",
972 | "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz",
973 | "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=",
974 | "dev": true
975 | },
976 | "center-align": {
977 | "version": "0.1.3",
978 | "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz",
979 | "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=",
980 | "dev": true,
981 | "requires": {
982 | "align-text": "^0.1.3",
983 | "lazy-cache": "^1.0.3"
984 | }
985 | },
986 | "chalk": {
987 | "version": "1.1.3",
988 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
989 | "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
990 | "dev": true,
991 | "requires": {
992 | "ansi-styles": "^2.2.1",
993 | "escape-string-regexp": "^1.0.2",
994 | "has-ansi": "^2.0.0",
995 | "strip-ansi": "^3.0.0",
996 | "supports-color": "^2.0.0"
997 | }
998 | },
999 | "chokidar": {
1000 | "version": "1.7.0",
1001 | "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz",
1002 | "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=",
1003 | "dev": true,
1004 | "requires": {
1005 | "anymatch": "^1.3.0",
1006 | "async-each": "^1.0.0",
1007 | "fsevents": "^1.0.0",
1008 | "glob-parent": "^2.0.0",
1009 | "inherits": "^2.0.1",
1010 | "is-binary-path": "^1.0.0",
1011 | "is-glob": "^2.0.0",
1012 | "path-is-absolute": "^1.0.0",
1013 | "readdirp": "^2.0.0"
1014 | }
1015 | },
1016 | "class-utils": {
1017 | "version": "0.3.6",
1018 | "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
1019 | "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
1020 | "dev": true,
1021 | "requires": {
1022 | "arr-union": "^3.1.0",
1023 | "define-property": "^0.2.5",
1024 | "isobject": "^3.0.0",
1025 | "static-extend": "^0.1.1"
1026 | },
1027 | "dependencies": {
1028 | "define-property": {
1029 | "version": "0.2.5",
1030 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
1031 | "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
1032 | "dev": true,
1033 | "requires": {
1034 | "is-descriptor": "^0.1.0"
1035 | }
1036 | },
1037 | "isobject": {
1038 | "version": "3.0.1",
1039 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
1040 | "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
1041 | "dev": true
1042 | }
1043 | }
1044 | },
1045 | "cliui": {
1046 | "version": "2.1.0",
1047 | "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz",
1048 | "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=",
1049 | "dev": true,
1050 | "requires": {
1051 | "center-align": "^0.1.1",
1052 | "right-align": "^0.1.1",
1053 | "wordwrap": "0.0.2"
1054 | },
1055 | "dependencies": {
1056 | "wordwrap": {
1057 | "version": "0.0.2",
1058 | "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz",
1059 | "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=",
1060 | "dev": true
1061 | }
1062 | }
1063 | },
1064 | "clone": {
1065 | "version": "1.0.4",
1066 | "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
1067 | "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=",
1068 | "dev": true
1069 | },
1070 | "collection-visit": {
1071 | "version": "1.0.0",
1072 | "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
1073 | "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
1074 | "dev": true,
1075 | "requires": {
1076 | "map-visit": "^1.0.0",
1077 | "object-visit": "^1.0.0"
1078 | }
1079 | },
1080 | "commander": {
1081 | "version": "2.20.3",
1082 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
1083 | "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
1084 | "dev": true
1085 | },
1086 | "commondir": {
1087 | "version": "1.0.1",
1088 | "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
1089 | "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=",
1090 | "dev": true
1091 | },
1092 | "commoner": {
1093 | "version": "0.10.8",
1094 | "resolved": "https://registry.npmjs.org/commoner/-/commoner-0.10.8.tgz",
1095 | "integrity": "sha1-NPw2cs0kOT6LtH5wyqApOBH08sU=",
1096 | "dev": true,
1097 | "requires": {
1098 | "commander": "^2.5.0",
1099 | "detective": "^4.3.1",
1100 | "glob": "^5.0.15",
1101 | "graceful-fs": "^4.1.2",
1102 | "iconv-lite": "^0.4.5",
1103 | "mkdirp": "^0.5.0",
1104 | "private": "^0.1.6",
1105 | "q": "^1.1.2",
1106 | "recast": "^0.11.17"
1107 | }
1108 | },
1109 | "component-emitter": {
1110 | "version": "1.3.0",
1111 | "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
1112 | "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==",
1113 | "dev": true
1114 | },
1115 | "concat-map": {
1116 | "version": "0.0.1",
1117 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
1118 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
1119 | "dev": true
1120 | },
1121 | "console-browserify": {
1122 | "version": "1.2.0",
1123 | "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz",
1124 | "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==",
1125 | "dev": true
1126 | },
1127 | "constants-browserify": {
1128 | "version": "1.0.0",
1129 | "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz",
1130 | "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=",
1131 | "dev": true
1132 | },
1133 | "convert-source-map": {
1134 | "version": "1.7.0",
1135 | "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz",
1136 | "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==",
1137 | "dev": true,
1138 | "requires": {
1139 | "safe-buffer": "~5.1.1"
1140 | }
1141 | },
1142 | "copy-descriptor": {
1143 | "version": "0.1.1",
1144 | "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
1145 | "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=",
1146 | "dev": true
1147 | },
1148 | "core-js": {
1149 | "version": "2.6.11",
1150 | "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz",
1151 | "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==",
1152 | "dev": true
1153 | },
1154 | "core-util-is": {
1155 | "version": "1.0.2",
1156 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
1157 | "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
1158 | "dev": true
1159 | },
1160 | "create-react-class": {
1161 | "version": "15.6.3",
1162 | "resolved": "https://registry.npmjs.org/create-react-class/-/create-react-class-15.6.3.tgz",
1163 | "integrity": "sha512-M+/3Q6E6DLO6Yx3OwrWjwHBnvfXXYA7W+dFjt/ZDBemHO1DDZhsalX/NUtnTYclN6GfnBDRh4qRHjcDHmlJBJg==",
1164 | "dev": true,
1165 | "requires": {
1166 | "fbjs": "^0.8.9",
1167 | "loose-envify": "^1.3.1",
1168 | "object-assign": "^4.1.1"
1169 | },
1170 | "dependencies": {
1171 | "core-js": {
1172 | "version": "1.2.7",
1173 | "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz",
1174 | "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=",
1175 | "dev": true
1176 | },
1177 | "fbjs": {
1178 | "version": "0.8.17",
1179 | "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.17.tgz",
1180 | "integrity": "sha1-xNWY6taUkRJlPWWIsBpc3Nn5D90=",
1181 | "dev": true,
1182 | "requires": {
1183 | "core-js": "^1.0.0",
1184 | "isomorphic-fetch": "^2.1.1",
1185 | "loose-envify": "^1.0.0",
1186 | "object-assign": "^4.1.0",
1187 | "promise": "^7.1.1",
1188 | "setimmediate": "^1.0.5",
1189 | "ua-parser-js": "^0.7.18"
1190 | }
1191 | }
1192 | }
1193 | },
1194 | "crypto-browserify": {
1195 | "version": "3.3.0",
1196 | "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.3.0.tgz",
1197 | "integrity": "sha1-ufx1u0oO1h3PHNXa6W6zDJw+UGw=",
1198 | "dev": true,
1199 | "requires": {
1200 | "browserify-aes": "0.4.0",
1201 | "pbkdf2-compat": "2.0.1",
1202 | "ripemd160": "0.2.0",
1203 | "sha.js": "2.2.6"
1204 | }
1205 | },
1206 | "debug": {
1207 | "version": "2.6.9",
1208 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
1209 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
1210 | "dev": true,
1211 | "requires": {
1212 | "ms": "2.0.0"
1213 | }
1214 | },
1215 | "decamelize": {
1216 | "version": "1.2.0",
1217 | "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
1218 | "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
1219 | "dev": true
1220 | },
1221 | "decode-uri-component": {
1222 | "version": "0.2.0",
1223 | "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
1224 | "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
1225 | "dev": true
1226 | },
1227 | "define-property": {
1228 | "version": "2.0.2",
1229 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
1230 | "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
1231 | "dev": true,
1232 | "requires": {
1233 | "is-descriptor": "^1.0.2",
1234 | "isobject": "^3.0.1"
1235 | },
1236 | "dependencies": {
1237 | "is-accessor-descriptor": {
1238 | "version": "1.0.0",
1239 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
1240 | "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
1241 | "dev": true,
1242 | "requires": {
1243 | "kind-of": "^6.0.0"
1244 | }
1245 | },
1246 | "is-data-descriptor": {
1247 | "version": "1.0.0",
1248 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
1249 | "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
1250 | "dev": true,
1251 | "requires": {
1252 | "kind-of": "^6.0.0"
1253 | }
1254 | },
1255 | "is-descriptor": {
1256 | "version": "1.0.2",
1257 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
1258 | "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
1259 | "dev": true,
1260 | "requires": {
1261 | "is-accessor-descriptor": "^1.0.0",
1262 | "is-data-descriptor": "^1.0.0",
1263 | "kind-of": "^6.0.2"
1264 | }
1265 | },
1266 | "isobject": {
1267 | "version": "3.0.1",
1268 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
1269 | "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
1270 | "dev": true
1271 | },
1272 | "kind-of": {
1273 | "version": "6.0.3",
1274 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
1275 | "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
1276 | "dev": true
1277 | }
1278 | }
1279 | },
1280 | "defined": {
1281 | "version": "1.0.0",
1282 | "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz",
1283 | "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=",
1284 | "dev": true
1285 | },
1286 | "detect-indent": {
1287 | "version": "4.0.0",
1288 | "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz",
1289 | "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=",
1290 | "dev": true,
1291 | "requires": {
1292 | "repeating": "^2.0.0"
1293 | }
1294 | },
1295 | "detective": {
1296 | "version": "4.7.1",
1297 | "resolved": "https://registry.npmjs.org/detective/-/detective-4.7.1.tgz",
1298 | "integrity": "sha512-H6PmeeUcZloWtdt4DAkFyzFL94arpHr3NOwwmVILFiy+9Qd4JTxxXrzfyGk/lmct2qVGBwTSwSXagqu2BxmWig==",
1299 | "dev": true,
1300 | "requires": {
1301 | "acorn": "^5.2.1",
1302 | "defined": "^1.0.0"
1303 | }
1304 | },
1305 | "domain-browser": {
1306 | "version": "1.2.0",
1307 | "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz",
1308 | "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==",
1309 | "dev": true
1310 | },
1311 | "emojis-list": {
1312 | "version": "2.1.0",
1313 | "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz",
1314 | "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=",
1315 | "dev": true
1316 | },
1317 | "encoding": {
1318 | "version": "0.1.13",
1319 | "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz",
1320 | "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==",
1321 | "dev": true,
1322 | "requires": {
1323 | "iconv-lite": "^0.6.2"
1324 | },
1325 | "dependencies": {
1326 | "iconv-lite": {
1327 | "version": "0.6.2",
1328 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.2.tgz",
1329 | "integrity": "sha512-2y91h5OpQlolefMPmUlivelittSWy0rP+oYVpn6A7GwVHNE8AWzoYOBNmlwks3LobaJxgHCYZAnyNo2GgpNRNQ==",
1330 | "dev": true,
1331 | "requires": {
1332 | "safer-buffer": ">= 2.1.2 < 3.0.0"
1333 | }
1334 | }
1335 | }
1336 | },
1337 | "enhanced-resolve": {
1338 | "version": "0.9.1",
1339 | "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-0.9.1.tgz",
1340 | "integrity": "sha1-TW5omzcl+GCQknzMhs2fFjW4ni4=",
1341 | "dev": true,
1342 | "requires": {
1343 | "graceful-fs": "^4.1.2",
1344 | "memory-fs": "^0.2.0",
1345 | "tapable": "^0.1.8"
1346 | },
1347 | "dependencies": {
1348 | "memory-fs": {
1349 | "version": "0.2.0",
1350 | "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.2.0.tgz",
1351 | "integrity": "sha1-8rslNovBIeORwlIN6Slpyu4KApA=",
1352 | "dev": true
1353 | }
1354 | }
1355 | },
1356 | "envify": {
1357 | "version": "3.4.1",
1358 | "resolved": "https://registry.npmjs.org/envify/-/envify-3.4.1.tgz",
1359 | "integrity": "sha1-1xIjKejfFoi6dxsSUBkXyc5cvOg=",
1360 | "dev": true,
1361 | "requires": {
1362 | "jstransform": "^11.0.3",
1363 | "through": "~2.3.4"
1364 | }
1365 | },
1366 | "errno": {
1367 | "version": "0.1.7",
1368 | "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz",
1369 | "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==",
1370 | "dev": true,
1371 | "requires": {
1372 | "prr": "~1.0.1"
1373 | }
1374 | },
1375 | "escape-string-regexp": {
1376 | "version": "1.0.5",
1377 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
1378 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
1379 | "dev": true
1380 | },
1381 | "esprima-fb": {
1382 | "version": "15001.1.0-dev-harmony-fb",
1383 | "resolved": "https://registry.npmjs.org/esprima-fb/-/esprima-fb-15001.1.0-dev-harmony-fb.tgz",
1384 | "integrity": "sha1-MKlHMDxrjV6VW+4rmbHSMyBqaQE=",
1385 | "dev": true
1386 | },
1387 | "esutils": {
1388 | "version": "2.0.3",
1389 | "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
1390 | "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
1391 | "dev": true
1392 | },
1393 | "events": {
1394 | "version": "1.1.1",
1395 | "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz",
1396 | "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=",
1397 | "dev": true
1398 | },
1399 | "expand-brackets": {
1400 | "version": "0.1.5",
1401 | "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz",
1402 | "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=",
1403 | "dev": true,
1404 | "requires": {
1405 | "is-posix-bracket": "^0.1.0"
1406 | }
1407 | },
1408 | "expand-range": {
1409 | "version": "1.8.2",
1410 | "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz",
1411 | "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=",
1412 | "dev": true,
1413 | "requires": {
1414 | "fill-range": "^2.1.0"
1415 | }
1416 | },
1417 | "extend-shallow": {
1418 | "version": "3.0.2",
1419 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
1420 | "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
1421 | "dev": true,
1422 | "requires": {
1423 | "assign-symbols": "^1.0.0",
1424 | "is-extendable": "^1.0.1"
1425 | },
1426 | "dependencies": {
1427 | "is-extendable": {
1428 | "version": "1.0.1",
1429 | "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
1430 | "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
1431 | "dev": true,
1432 | "requires": {
1433 | "is-plain-object": "^2.0.4"
1434 | }
1435 | }
1436 | }
1437 | },
1438 | "extglob": {
1439 | "version": "0.3.2",
1440 | "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz",
1441 | "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=",
1442 | "dev": true,
1443 | "requires": {
1444 | "is-extglob": "^1.0.0"
1445 | }
1446 | },
1447 | "fbjs": {
1448 | "version": "0.6.1",
1449 | "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.6.1.tgz",
1450 | "integrity": "sha1-lja3cF9bqWhNRLcveDISVK/IYPc=",
1451 | "dev": true,
1452 | "requires": {
1453 | "core-js": "^1.0.0",
1454 | "loose-envify": "^1.0.0",
1455 | "promise": "^7.0.3",
1456 | "ua-parser-js": "^0.7.9",
1457 | "whatwg-fetch": "^0.9.0"
1458 | },
1459 | "dependencies": {
1460 | "core-js": {
1461 | "version": "1.2.7",
1462 | "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz",
1463 | "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=",
1464 | "dev": true
1465 | }
1466 | }
1467 | },
1468 | "file-uri-to-path": {
1469 | "version": "1.0.0",
1470 | "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
1471 | "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==",
1472 | "dev": true,
1473 | "optional": true
1474 | },
1475 | "filename-regex": {
1476 | "version": "2.0.1",
1477 | "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz",
1478 | "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=",
1479 | "dev": true
1480 | },
1481 | "fill-range": {
1482 | "version": "2.2.4",
1483 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz",
1484 | "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==",
1485 | "dev": true,
1486 | "requires": {
1487 | "is-number": "^2.1.0",
1488 | "isobject": "^2.0.0",
1489 | "randomatic": "^3.0.0",
1490 | "repeat-element": "^1.1.2",
1491 | "repeat-string": "^1.5.2"
1492 | }
1493 | },
1494 | "find-cache-dir": {
1495 | "version": "0.1.1",
1496 | "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-0.1.1.tgz",
1497 | "integrity": "sha1-yN765XyKUqinhPnjHFfHQumToLk=",
1498 | "dev": true,
1499 | "requires": {
1500 | "commondir": "^1.0.1",
1501 | "mkdirp": "^0.5.1",
1502 | "pkg-dir": "^1.0.0"
1503 | }
1504 | },
1505 | "find-up": {
1506 | "version": "1.1.2",
1507 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
1508 | "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
1509 | "dev": true,
1510 | "requires": {
1511 | "path-exists": "^2.0.0",
1512 | "pinkie-promise": "^2.0.0"
1513 | }
1514 | },
1515 | "for-in": {
1516 | "version": "1.0.2",
1517 | "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
1518 | "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
1519 | "dev": true
1520 | },
1521 | "for-own": {
1522 | "version": "0.1.5",
1523 | "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz",
1524 | "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=",
1525 | "dev": true,
1526 | "requires": {
1527 | "for-in": "^1.0.1"
1528 | }
1529 | },
1530 | "fragment-cache": {
1531 | "version": "0.2.1",
1532 | "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
1533 | "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
1534 | "dev": true,
1535 | "requires": {
1536 | "map-cache": "^0.2.2"
1537 | }
1538 | },
1539 | "fsevents": {
1540 | "version": "1.2.13",
1541 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz",
1542 | "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==",
1543 | "dev": true,
1544 | "optional": true,
1545 | "requires": {
1546 | "bindings": "^1.5.0",
1547 | "nan": "^2.12.1"
1548 | }
1549 | },
1550 | "get-value": {
1551 | "version": "2.0.6",
1552 | "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
1553 | "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=",
1554 | "dev": true
1555 | },
1556 | "glob": {
1557 | "version": "5.0.15",
1558 | "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
1559 | "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=",
1560 | "dev": true,
1561 | "requires": {
1562 | "inflight": "^1.0.4",
1563 | "inherits": "2",
1564 | "minimatch": "2 || 3",
1565 | "once": "^1.3.0",
1566 | "path-is-absolute": "^1.0.0"
1567 | }
1568 | },
1569 | "glob-base": {
1570 | "version": "0.3.0",
1571 | "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz",
1572 | "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=",
1573 | "dev": true,
1574 | "requires": {
1575 | "glob-parent": "^2.0.0",
1576 | "is-glob": "^2.0.0"
1577 | }
1578 | },
1579 | "glob-parent": {
1580 | "version": "2.0.0",
1581 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
1582 | "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=",
1583 | "dev": true,
1584 | "requires": {
1585 | "is-glob": "^2.0.0"
1586 | }
1587 | },
1588 | "globals": {
1589 | "version": "9.18.0",
1590 | "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz",
1591 | "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==",
1592 | "dev": true
1593 | },
1594 | "graceful-fs": {
1595 | "version": "4.2.4",
1596 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz",
1597 | "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==",
1598 | "dev": true
1599 | },
1600 | "has-ansi": {
1601 | "version": "2.0.0",
1602 | "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
1603 | "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
1604 | "dev": true,
1605 | "requires": {
1606 | "ansi-regex": "^2.0.0"
1607 | }
1608 | },
1609 | "has-flag": {
1610 | "version": "1.0.0",
1611 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
1612 | "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
1613 | "dev": true
1614 | },
1615 | "has-value": {
1616 | "version": "1.0.0",
1617 | "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
1618 | "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
1619 | "dev": true,
1620 | "requires": {
1621 | "get-value": "^2.0.6",
1622 | "has-values": "^1.0.0",
1623 | "isobject": "^3.0.0"
1624 | },
1625 | "dependencies": {
1626 | "isobject": {
1627 | "version": "3.0.1",
1628 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
1629 | "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
1630 | "dev": true
1631 | }
1632 | }
1633 | },
1634 | "has-values": {
1635 | "version": "1.0.0",
1636 | "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
1637 | "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
1638 | "dev": true,
1639 | "requires": {
1640 | "is-number": "^3.0.0",
1641 | "kind-of": "^4.0.0"
1642 | },
1643 | "dependencies": {
1644 | "is-number": {
1645 | "version": "3.0.0",
1646 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
1647 | "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
1648 | "dev": true,
1649 | "requires": {
1650 | "kind-of": "^3.0.2"
1651 | },
1652 | "dependencies": {
1653 | "kind-of": {
1654 | "version": "3.2.2",
1655 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
1656 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
1657 | "dev": true,
1658 | "requires": {
1659 | "is-buffer": "^1.1.5"
1660 | }
1661 | }
1662 | }
1663 | },
1664 | "kind-of": {
1665 | "version": "4.0.0",
1666 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
1667 | "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
1668 | "dev": true,
1669 | "requires": {
1670 | "is-buffer": "^1.1.5"
1671 | }
1672 | }
1673 | }
1674 | },
1675 | "hoist-non-react-statics": {
1676 | "version": "3.3.2",
1677 | "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz",
1678 | "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==",
1679 | "dev": true,
1680 | "requires": {
1681 | "react-is": "^16.7.0"
1682 | }
1683 | },
1684 | "home-or-tmp": {
1685 | "version": "2.0.0",
1686 | "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz",
1687 | "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=",
1688 | "dev": true,
1689 | "requires": {
1690 | "os-homedir": "^1.0.0",
1691 | "os-tmpdir": "^1.0.1"
1692 | }
1693 | },
1694 | "https-browserify": {
1695 | "version": "0.0.1",
1696 | "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-0.0.1.tgz",
1697 | "integrity": "sha1-P5E2XKvmC3ftDruiS0VOPgnZWoI=",
1698 | "dev": true
1699 | },
1700 | "iconv-lite": {
1701 | "version": "0.4.24",
1702 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
1703 | "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
1704 | "dev": true,
1705 | "requires": {
1706 | "safer-buffer": ">= 2.1.2 < 3"
1707 | }
1708 | },
1709 | "ieee754": {
1710 | "version": "1.1.13",
1711 | "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz",
1712 | "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==",
1713 | "dev": true
1714 | },
1715 | "indexof": {
1716 | "version": "0.0.1",
1717 | "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz",
1718 | "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=",
1719 | "dev": true
1720 | },
1721 | "inflight": {
1722 | "version": "1.0.6",
1723 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
1724 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
1725 | "dev": true,
1726 | "requires": {
1727 | "once": "^1.3.0",
1728 | "wrappy": "1"
1729 | }
1730 | },
1731 | "inherits": {
1732 | "version": "2.0.4",
1733 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
1734 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
1735 | "dev": true
1736 | },
1737 | "interpret": {
1738 | "version": "0.6.6",
1739 | "resolved": "https://registry.npmjs.org/interpret/-/interpret-0.6.6.tgz",
1740 | "integrity": "sha1-/s16GOfOXKar+5U+H4YhOknxYls=",
1741 | "dev": true
1742 | },
1743 | "invariant": {
1744 | "version": "2.2.4",
1745 | "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
1746 | "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
1747 | "dev": true,
1748 | "requires": {
1749 | "loose-envify": "^1.0.0"
1750 | }
1751 | },
1752 | "is-accessor-descriptor": {
1753 | "version": "0.1.6",
1754 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
1755 | "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
1756 | "dev": true,
1757 | "requires": {
1758 | "kind-of": "^3.0.2"
1759 | }
1760 | },
1761 | "is-binary-path": {
1762 | "version": "1.0.1",
1763 | "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
1764 | "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
1765 | "dev": true,
1766 | "requires": {
1767 | "binary-extensions": "^1.0.0"
1768 | }
1769 | },
1770 | "is-buffer": {
1771 | "version": "1.1.6",
1772 | "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
1773 | "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
1774 | "dev": true
1775 | },
1776 | "is-data-descriptor": {
1777 | "version": "0.1.4",
1778 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
1779 | "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
1780 | "dev": true,
1781 | "requires": {
1782 | "kind-of": "^3.0.2"
1783 | }
1784 | },
1785 | "is-descriptor": {
1786 | "version": "0.1.6",
1787 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
1788 | "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
1789 | "dev": true,
1790 | "requires": {
1791 | "is-accessor-descriptor": "^0.1.6",
1792 | "is-data-descriptor": "^0.1.4",
1793 | "kind-of": "^5.0.0"
1794 | },
1795 | "dependencies": {
1796 | "kind-of": {
1797 | "version": "5.1.0",
1798 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
1799 | "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
1800 | "dev": true
1801 | }
1802 | }
1803 | },
1804 | "is-dotfile": {
1805 | "version": "1.0.3",
1806 | "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz",
1807 | "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=",
1808 | "dev": true
1809 | },
1810 | "is-equal-shallow": {
1811 | "version": "0.1.3",
1812 | "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz",
1813 | "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=",
1814 | "dev": true,
1815 | "requires": {
1816 | "is-primitive": "^2.0.0"
1817 | }
1818 | },
1819 | "is-extendable": {
1820 | "version": "0.1.1",
1821 | "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
1822 | "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
1823 | "dev": true
1824 | },
1825 | "is-extglob": {
1826 | "version": "1.0.0",
1827 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
1828 | "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
1829 | "dev": true
1830 | },
1831 | "is-finite": {
1832 | "version": "1.1.0",
1833 | "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz",
1834 | "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==",
1835 | "dev": true
1836 | },
1837 | "is-glob": {
1838 | "version": "2.0.1",
1839 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
1840 | "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
1841 | "dev": true,
1842 | "requires": {
1843 | "is-extglob": "^1.0.0"
1844 | }
1845 | },
1846 | "is-number": {
1847 | "version": "2.1.0",
1848 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz",
1849 | "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=",
1850 | "dev": true,
1851 | "requires": {
1852 | "kind-of": "^3.0.2"
1853 | }
1854 | },
1855 | "is-plain-object": {
1856 | "version": "2.0.4",
1857 | "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
1858 | "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
1859 | "dev": true,
1860 | "requires": {
1861 | "isobject": "^3.0.1"
1862 | },
1863 | "dependencies": {
1864 | "isobject": {
1865 | "version": "3.0.1",
1866 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
1867 | "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
1868 | "dev": true
1869 | }
1870 | }
1871 | },
1872 | "is-posix-bracket": {
1873 | "version": "0.1.1",
1874 | "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz",
1875 | "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=",
1876 | "dev": true
1877 | },
1878 | "is-primitive": {
1879 | "version": "2.0.0",
1880 | "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz",
1881 | "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=",
1882 | "dev": true
1883 | },
1884 | "is-stream": {
1885 | "version": "1.1.0",
1886 | "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
1887 | "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
1888 | "dev": true
1889 | },
1890 | "is-windows": {
1891 | "version": "1.0.2",
1892 | "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
1893 | "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
1894 | "dev": true
1895 | },
1896 | "isarray": {
1897 | "version": "1.0.0",
1898 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
1899 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
1900 | "dev": true
1901 | },
1902 | "isobject": {
1903 | "version": "2.1.0",
1904 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
1905 | "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
1906 | "dev": true,
1907 | "requires": {
1908 | "isarray": "1.0.0"
1909 | }
1910 | },
1911 | "isomorphic-fetch": {
1912 | "version": "2.2.1",
1913 | "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz",
1914 | "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=",
1915 | "dev": true,
1916 | "requires": {
1917 | "node-fetch": "^1.0.1",
1918 | "whatwg-fetch": ">=0.10.0"
1919 | },
1920 | "dependencies": {
1921 | "whatwg-fetch": {
1922 | "version": "3.4.0",
1923 | "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.4.0.tgz",
1924 | "integrity": "sha512-rsum2ulz2iuZH08mJkT0Yi6JnKhwdw4oeyMjokgxd+mmqYSd9cPpOQf01TIWgjxG/U4+QR+AwKq6lSbXVxkyoQ==",
1925 | "dev": true
1926 | }
1927 | }
1928 | },
1929 | "js-tokens": {
1930 | "version": "3.0.2",
1931 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz",
1932 | "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=",
1933 | "dev": true
1934 | },
1935 | "jsesc": {
1936 | "version": "1.3.0",
1937 | "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz",
1938 | "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=",
1939 | "dev": true
1940 | },
1941 | "json5": {
1942 | "version": "0.5.1",
1943 | "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
1944 | "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=",
1945 | "dev": true
1946 | },
1947 | "jstransform": {
1948 | "version": "11.0.3",
1949 | "resolved": "https://registry.npmjs.org/jstransform/-/jstransform-11.0.3.tgz",
1950 | "integrity": "sha1-CaeJk+CuTU70SH9hVakfYZDLQiM=",
1951 | "dev": true,
1952 | "requires": {
1953 | "base62": "^1.1.0",
1954 | "commoner": "^0.10.1",
1955 | "esprima-fb": "^15001.1.0-dev-harmony-fb",
1956 | "object-assign": "^2.0.0",
1957 | "source-map": "^0.4.2"
1958 | },
1959 | "dependencies": {
1960 | "object-assign": {
1961 | "version": "2.1.1",
1962 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz",
1963 | "integrity": "sha1-Q8NuXVaf+OSBbE76i+AtJpZ8GKo=",
1964 | "dev": true
1965 | },
1966 | "source-map": {
1967 | "version": "0.4.4",
1968 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz",
1969 | "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=",
1970 | "dev": true,
1971 | "requires": {
1972 | "amdefine": ">=0.0.4"
1973 | }
1974 | }
1975 | }
1976 | },
1977 | "kind-of": {
1978 | "version": "3.2.2",
1979 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
1980 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
1981 | "dev": true,
1982 | "requires": {
1983 | "is-buffer": "^1.1.5"
1984 | }
1985 | },
1986 | "lazy-cache": {
1987 | "version": "1.0.4",
1988 | "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz",
1989 | "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=",
1990 | "dev": true
1991 | },
1992 | "loader-utils": {
1993 | "version": "0.2.17",
1994 | "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz",
1995 | "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=",
1996 | "dev": true,
1997 | "requires": {
1998 | "big.js": "^3.1.3",
1999 | "emojis-list": "^2.0.0",
2000 | "json5": "^0.5.0",
2001 | "object-assign": "^4.0.1"
2002 | }
2003 | },
2004 | "lodash": {
2005 | "version": "4.17.20",
2006 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz",
2007 | "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==",
2008 | "dev": true
2009 | },
2010 | "longest": {
2011 | "version": "1.0.1",
2012 | "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz",
2013 | "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=",
2014 | "dev": true
2015 | },
2016 | "loose-envify": {
2017 | "version": "1.4.0",
2018 | "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
2019 | "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
2020 | "dev": true,
2021 | "requires": {
2022 | "js-tokens": "^3.0.0 || ^4.0.0"
2023 | }
2024 | },
2025 | "map-cache": {
2026 | "version": "0.2.2",
2027 | "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
2028 | "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=",
2029 | "dev": true
2030 | },
2031 | "map-visit": {
2032 | "version": "1.0.0",
2033 | "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
2034 | "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
2035 | "dev": true,
2036 | "requires": {
2037 | "object-visit": "^1.0.0"
2038 | }
2039 | },
2040 | "math-random": {
2041 | "version": "1.0.4",
2042 | "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.4.tgz",
2043 | "integrity": "sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==",
2044 | "dev": true
2045 | },
2046 | "memory-fs": {
2047 | "version": "0.3.0",
2048 | "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.3.0.tgz",
2049 | "integrity": "sha1-e8xrYp46Q+hx1+Kaymrop/FcuyA=",
2050 | "dev": true,
2051 | "requires": {
2052 | "errno": "^0.1.3",
2053 | "readable-stream": "^2.0.1"
2054 | }
2055 | },
2056 | "micromatch": {
2057 | "version": "2.3.11",
2058 | "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz",
2059 | "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=",
2060 | "dev": true,
2061 | "requires": {
2062 | "arr-diff": "^2.0.0",
2063 | "array-unique": "^0.2.1",
2064 | "braces": "^1.8.2",
2065 | "expand-brackets": "^0.1.4",
2066 | "extglob": "^0.3.1",
2067 | "filename-regex": "^2.0.0",
2068 | "is-extglob": "^1.0.0",
2069 | "is-glob": "^2.0.1",
2070 | "kind-of": "^3.0.2",
2071 | "normalize-path": "^2.0.1",
2072 | "object.omit": "^2.0.0",
2073 | "parse-glob": "^3.0.4",
2074 | "regex-cache": "^0.4.2"
2075 | }
2076 | },
2077 | "minimatch": {
2078 | "version": "3.0.4",
2079 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
2080 | "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
2081 | "dev": true,
2082 | "requires": {
2083 | "brace-expansion": "^1.1.7"
2084 | }
2085 | },
2086 | "minimist": {
2087 | "version": "1.2.5",
2088 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
2089 | "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
2090 | "dev": true
2091 | },
2092 | "mixin-deep": {
2093 | "version": "1.3.2",
2094 | "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz",
2095 | "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==",
2096 | "dev": true,
2097 | "requires": {
2098 | "for-in": "^1.0.2",
2099 | "is-extendable": "^1.0.1"
2100 | },
2101 | "dependencies": {
2102 | "is-extendable": {
2103 | "version": "1.0.1",
2104 | "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
2105 | "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
2106 | "dev": true,
2107 | "requires": {
2108 | "is-plain-object": "^2.0.4"
2109 | }
2110 | }
2111 | }
2112 | },
2113 | "mkdirp": {
2114 | "version": "0.5.5",
2115 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
2116 | "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
2117 | "dev": true,
2118 | "requires": {
2119 | "minimist": "^1.2.5"
2120 | }
2121 | },
2122 | "ms": {
2123 | "version": "2.0.0",
2124 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
2125 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
2126 | "dev": true
2127 | },
2128 | "nan": {
2129 | "version": "2.14.1",
2130 | "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.1.tgz",
2131 | "integrity": "sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw==",
2132 | "dev": true,
2133 | "optional": true
2134 | },
2135 | "nanomatch": {
2136 | "version": "1.2.13",
2137 | "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
2138 | "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
2139 | "dev": true,
2140 | "requires": {
2141 | "arr-diff": "^4.0.0",
2142 | "array-unique": "^0.3.2",
2143 | "define-property": "^2.0.2",
2144 | "extend-shallow": "^3.0.2",
2145 | "fragment-cache": "^0.2.1",
2146 | "is-windows": "^1.0.2",
2147 | "kind-of": "^6.0.2",
2148 | "object.pick": "^1.3.0",
2149 | "regex-not": "^1.0.0",
2150 | "snapdragon": "^0.8.1",
2151 | "to-regex": "^3.0.1"
2152 | },
2153 | "dependencies": {
2154 | "arr-diff": {
2155 | "version": "4.0.0",
2156 | "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
2157 | "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
2158 | "dev": true
2159 | },
2160 | "array-unique": {
2161 | "version": "0.3.2",
2162 | "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
2163 | "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
2164 | "dev": true
2165 | },
2166 | "kind-of": {
2167 | "version": "6.0.3",
2168 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
2169 | "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
2170 | "dev": true
2171 | }
2172 | }
2173 | },
2174 | "node-fetch": {
2175 | "version": "1.7.3",
2176 | "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz",
2177 | "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==",
2178 | "dev": true,
2179 | "requires": {
2180 | "encoding": "^0.1.11",
2181 | "is-stream": "^1.0.1"
2182 | }
2183 | },
2184 | "node-libs-browser": {
2185 | "version": "0.7.0",
2186 | "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-0.7.0.tgz",
2187 | "integrity": "sha1-PicsCBnjCJNeJmdECNevDhSRuDs=",
2188 | "dev": true,
2189 | "requires": {
2190 | "assert": "^1.1.1",
2191 | "browserify-zlib": "^0.1.4",
2192 | "buffer": "^4.9.0",
2193 | "console-browserify": "^1.1.0",
2194 | "constants-browserify": "^1.0.0",
2195 | "crypto-browserify": "3.3.0",
2196 | "domain-browser": "^1.1.1",
2197 | "events": "^1.0.0",
2198 | "https-browserify": "0.0.1",
2199 | "os-browserify": "^0.2.0",
2200 | "path-browserify": "0.0.0",
2201 | "process": "^0.11.0",
2202 | "punycode": "^1.2.4",
2203 | "querystring-es3": "^0.2.0",
2204 | "readable-stream": "^2.0.5",
2205 | "stream-browserify": "^2.0.1",
2206 | "stream-http": "^2.3.1",
2207 | "string_decoder": "^0.10.25",
2208 | "timers-browserify": "^2.0.2",
2209 | "tty-browserify": "0.0.0",
2210 | "url": "^0.11.0",
2211 | "util": "^0.10.3",
2212 | "vm-browserify": "0.0.4"
2213 | },
2214 | "dependencies": {
2215 | "string_decoder": {
2216 | "version": "0.10.31",
2217 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
2218 | "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
2219 | "dev": true
2220 | }
2221 | }
2222 | },
2223 | "normalize-path": {
2224 | "version": "2.1.1",
2225 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
2226 | "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
2227 | "dev": true,
2228 | "requires": {
2229 | "remove-trailing-separator": "^1.0.1"
2230 | }
2231 | },
2232 | "object-assign": {
2233 | "version": "4.1.1",
2234 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
2235 | "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
2236 | "dev": true
2237 | },
2238 | "object-copy": {
2239 | "version": "0.1.0",
2240 | "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
2241 | "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
2242 | "dev": true,
2243 | "requires": {
2244 | "copy-descriptor": "^0.1.0",
2245 | "define-property": "^0.2.5",
2246 | "kind-of": "^3.0.3"
2247 | },
2248 | "dependencies": {
2249 | "define-property": {
2250 | "version": "0.2.5",
2251 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
2252 | "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
2253 | "dev": true,
2254 | "requires": {
2255 | "is-descriptor": "^0.1.0"
2256 | }
2257 | }
2258 | }
2259 | },
2260 | "object-visit": {
2261 | "version": "1.0.1",
2262 | "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
2263 | "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
2264 | "dev": true,
2265 | "requires": {
2266 | "isobject": "^3.0.0"
2267 | },
2268 | "dependencies": {
2269 | "isobject": {
2270 | "version": "3.0.1",
2271 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
2272 | "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
2273 | "dev": true
2274 | }
2275 | }
2276 | },
2277 | "object.omit": {
2278 | "version": "2.0.1",
2279 | "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz",
2280 | "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=",
2281 | "dev": true,
2282 | "requires": {
2283 | "for-own": "^0.1.4",
2284 | "is-extendable": "^0.1.1"
2285 | }
2286 | },
2287 | "object.pick": {
2288 | "version": "1.3.0",
2289 | "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
2290 | "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
2291 | "dev": true,
2292 | "requires": {
2293 | "isobject": "^3.0.1"
2294 | },
2295 | "dependencies": {
2296 | "isobject": {
2297 | "version": "3.0.1",
2298 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
2299 | "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
2300 | "dev": true
2301 | }
2302 | }
2303 | },
2304 | "once": {
2305 | "version": "1.4.0",
2306 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
2307 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
2308 | "dev": true,
2309 | "requires": {
2310 | "wrappy": "1"
2311 | }
2312 | },
2313 | "optimist": {
2314 | "version": "0.6.1",
2315 | "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz",
2316 | "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=",
2317 | "dev": true,
2318 | "requires": {
2319 | "minimist": "~0.0.1",
2320 | "wordwrap": "~0.0.2"
2321 | },
2322 | "dependencies": {
2323 | "minimist": {
2324 | "version": "0.0.10",
2325 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz",
2326 | "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=",
2327 | "dev": true
2328 | }
2329 | }
2330 | },
2331 | "os-browserify": {
2332 | "version": "0.2.1",
2333 | "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.2.1.tgz",
2334 | "integrity": "sha1-Y/xMzuXS13Y9Jrv4YBB45sLgBE8=",
2335 | "dev": true
2336 | },
2337 | "os-homedir": {
2338 | "version": "1.0.2",
2339 | "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
2340 | "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
2341 | "dev": true
2342 | },
2343 | "os-tmpdir": {
2344 | "version": "1.0.2",
2345 | "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
2346 | "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
2347 | "dev": true
2348 | },
2349 | "pako": {
2350 | "version": "0.2.9",
2351 | "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz",
2352 | "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=",
2353 | "dev": true
2354 | },
2355 | "parse-glob": {
2356 | "version": "3.0.4",
2357 | "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz",
2358 | "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=",
2359 | "dev": true,
2360 | "requires": {
2361 | "glob-base": "^0.3.0",
2362 | "is-dotfile": "^1.0.0",
2363 | "is-extglob": "^1.0.0",
2364 | "is-glob": "^2.0.0"
2365 | }
2366 | },
2367 | "pascalcase": {
2368 | "version": "0.1.1",
2369 | "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
2370 | "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=",
2371 | "dev": true
2372 | },
2373 | "path-browserify": {
2374 | "version": "0.0.0",
2375 | "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz",
2376 | "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=",
2377 | "dev": true
2378 | },
2379 | "path-exists": {
2380 | "version": "2.1.0",
2381 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
2382 | "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
2383 | "dev": true,
2384 | "requires": {
2385 | "pinkie-promise": "^2.0.0"
2386 | }
2387 | },
2388 | "path-is-absolute": {
2389 | "version": "1.0.1",
2390 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
2391 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
2392 | "dev": true
2393 | },
2394 | "pbkdf2-compat": {
2395 | "version": "2.0.1",
2396 | "resolved": "https://registry.npmjs.org/pbkdf2-compat/-/pbkdf2-compat-2.0.1.tgz",
2397 | "integrity": "sha1-tuDI+plJTZTgURV1gCpZpcFC8og=",
2398 | "dev": true
2399 | },
2400 | "pinkie": {
2401 | "version": "2.0.4",
2402 | "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
2403 | "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=",
2404 | "dev": true
2405 | },
2406 | "pinkie-promise": {
2407 | "version": "2.0.1",
2408 | "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
2409 | "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
2410 | "dev": true,
2411 | "requires": {
2412 | "pinkie": "^2.0.0"
2413 | }
2414 | },
2415 | "pkg-dir": {
2416 | "version": "1.0.0",
2417 | "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz",
2418 | "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=",
2419 | "dev": true,
2420 | "requires": {
2421 | "find-up": "^1.0.0"
2422 | }
2423 | },
2424 | "posix-character-classes": {
2425 | "version": "0.1.1",
2426 | "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
2427 | "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=",
2428 | "dev": true
2429 | },
2430 | "preserve": {
2431 | "version": "0.2.0",
2432 | "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz",
2433 | "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=",
2434 | "dev": true
2435 | },
2436 | "private": {
2437 | "version": "0.1.8",
2438 | "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz",
2439 | "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==",
2440 | "dev": true
2441 | },
2442 | "process": {
2443 | "version": "0.11.10",
2444 | "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
2445 | "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=",
2446 | "dev": true
2447 | },
2448 | "process-nextick-args": {
2449 | "version": "2.0.1",
2450 | "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
2451 | "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
2452 | "dev": true
2453 | },
2454 | "promise": {
2455 | "version": "7.3.1",
2456 | "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz",
2457 | "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==",
2458 | "dev": true,
2459 | "requires": {
2460 | "asap": "~2.0.3"
2461 | }
2462 | },
2463 | "prop-types": {
2464 | "version": "15.7.2",
2465 | "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz",
2466 | "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==",
2467 | "dev": true,
2468 | "requires": {
2469 | "loose-envify": "^1.4.0",
2470 | "object-assign": "^4.1.1",
2471 | "react-is": "^16.8.1"
2472 | }
2473 | },
2474 | "prr": {
2475 | "version": "1.0.1",
2476 | "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
2477 | "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=",
2478 | "dev": true
2479 | },
2480 | "punycode": {
2481 | "version": "1.4.1",
2482 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
2483 | "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
2484 | "dev": true
2485 | },
2486 | "q": {
2487 | "version": "1.5.1",
2488 | "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz",
2489 | "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=",
2490 | "dev": true
2491 | },
2492 | "querystring": {
2493 | "version": "0.2.0",
2494 | "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
2495 | "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=",
2496 | "dev": true
2497 | },
2498 | "querystring-es3": {
2499 | "version": "0.2.1",
2500 | "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz",
2501 | "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=",
2502 | "dev": true
2503 | },
2504 | "randomatic": {
2505 | "version": "3.1.1",
2506 | "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.1.tgz",
2507 | "integrity": "sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==",
2508 | "dev": true,
2509 | "requires": {
2510 | "is-number": "^4.0.0",
2511 | "kind-of": "^6.0.0",
2512 | "math-random": "^1.0.1"
2513 | },
2514 | "dependencies": {
2515 | "is-number": {
2516 | "version": "4.0.0",
2517 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz",
2518 | "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==",
2519 | "dev": true
2520 | },
2521 | "kind-of": {
2522 | "version": "6.0.3",
2523 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
2524 | "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
2525 | "dev": true
2526 | }
2527 | }
2528 | },
2529 | "react": {
2530 | "version": "0.14.9",
2531 | "resolved": "https://registry.npmjs.org/react/-/react-0.14.9.tgz",
2532 | "integrity": "sha1-kRCmSXxJ1EuhwO3TF67CnC4NkdE=",
2533 | "dev": true,
2534 | "requires": {
2535 | "envify": "^3.0.0",
2536 | "fbjs": "^0.6.1"
2537 | }
2538 | },
2539 | "react-dom": {
2540 | "version": "0.14.9",
2541 | "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-0.14.9.tgz",
2542 | "integrity": "sha1-BQZKPc8PsYgKOyv8nVjFXY2fYpM=",
2543 | "dev": true
2544 | },
2545 | "react-is": {
2546 | "version": "16.13.1",
2547 | "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
2548 | "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==",
2549 | "dev": true
2550 | },
2551 | "react-redux": {
2552 | "version": "4.4.10",
2553 | "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-4.4.10.tgz",
2554 | "integrity": "sha512-tjL0Bmpkj75Td0k+lXlF8Fc8a9GuXFv/3ahUOCXExWs/jhsKiQeTffdH0j5byejCGCRL4tvGFYlrwBF1X/Aujg==",
2555 | "dev": true,
2556 | "requires": {
2557 | "create-react-class": "^15.5.1",
2558 | "hoist-non-react-statics": "^3.3.0",
2559 | "invariant": "^2.0.0",
2560 | "lodash": "^4.17.11",
2561 | "loose-envify": "^1.4.0",
2562 | "prop-types": "^15.7.2"
2563 | }
2564 | },
2565 | "readable-stream": {
2566 | "version": "2.3.7",
2567 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
2568 | "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
2569 | "dev": true,
2570 | "requires": {
2571 | "core-util-is": "~1.0.0",
2572 | "inherits": "~2.0.3",
2573 | "isarray": "~1.0.0",
2574 | "process-nextick-args": "~2.0.0",
2575 | "safe-buffer": "~5.1.1",
2576 | "string_decoder": "~1.1.1",
2577 | "util-deprecate": "~1.0.1"
2578 | }
2579 | },
2580 | "readdirp": {
2581 | "version": "2.2.1",
2582 | "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz",
2583 | "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==",
2584 | "dev": true,
2585 | "requires": {
2586 | "graceful-fs": "^4.1.11",
2587 | "micromatch": "^3.1.10",
2588 | "readable-stream": "^2.0.2"
2589 | },
2590 | "dependencies": {
2591 | "arr-diff": {
2592 | "version": "4.0.0",
2593 | "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
2594 | "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
2595 | "dev": true
2596 | },
2597 | "array-unique": {
2598 | "version": "0.3.2",
2599 | "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
2600 | "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
2601 | "dev": true
2602 | },
2603 | "braces": {
2604 | "version": "2.3.2",
2605 | "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
2606 | "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
2607 | "dev": true,
2608 | "requires": {
2609 | "arr-flatten": "^1.1.0",
2610 | "array-unique": "^0.3.2",
2611 | "extend-shallow": "^2.0.1",
2612 | "fill-range": "^4.0.0",
2613 | "isobject": "^3.0.1",
2614 | "repeat-element": "^1.1.2",
2615 | "snapdragon": "^0.8.1",
2616 | "snapdragon-node": "^2.0.1",
2617 | "split-string": "^3.0.2",
2618 | "to-regex": "^3.0.1"
2619 | },
2620 | "dependencies": {
2621 | "extend-shallow": {
2622 | "version": "2.0.1",
2623 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
2624 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
2625 | "dev": true,
2626 | "requires": {
2627 | "is-extendable": "^0.1.0"
2628 | }
2629 | }
2630 | }
2631 | },
2632 | "expand-brackets": {
2633 | "version": "2.1.4",
2634 | "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
2635 | "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
2636 | "dev": true,
2637 | "requires": {
2638 | "debug": "^2.3.3",
2639 | "define-property": "^0.2.5",
2640 | "extend-shallow": "^2.0.1",
2641 | "posix-character-classes": "^0.1.0",
2642 | "regex-not": "^1.0.0",
2643 | "snapdragon": "^0.8.1",
2644 | "to-regex": "^3.0.1"
2645 | },
2646 | "dependencies": {
2647 | "define-property": {
2648 | "version": "0.2.5",
2649 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
2650 | "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
2651 | "dev": true,
2652 | "requires": {
2653 | "is-descriptor": "^0.1.0"
2654 | }
2655 | },
2656 | "extend-shallow": {
2657 | "version": "2.0.1",
2658 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
2659 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
2660 | "dev": true,
2661 | "requires": {
2662 | "is-extendable": "^0.1.0"
2663 | }
2664 | },
2665 | "is-accessor-descriptor": {
2666 | "version": "0.1.6",
2667 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
2668 | "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
2669 | "dev": true,
2670 | "requires": {
2671 | "kind-of": "^3.0.2"
2672 | },
2673 | "dependencies": {
2674 | "kind-of": {
2675 | "version": "3.2.2",
2676 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
2677 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
2678 | "dev": true,
2679 | "requires": {
2680 | "is-buffer": "^1.1.5"
2681 | }
2682 | }
2683 | }
2684 | },
2685 | "is-data-descriptor": {
2686 | "version": "0.1.4",
2687 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
2688 | "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
2689 | "dev": true,
2690 | "requires": {
2691 | "kind-of": "^3.0.2"
2692 | },
2693 | "dependencies": {
2694 | "kind-of": {
2695 | "version": "3.2.2",
2696 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
2697 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
2698 | "dev": true,
2699 | "requires": {
2700 | "is-buffer": "^1.1.5"
2701 | }
2702 | }
2703 | }
2704 | },
2705 | "is-descriptor": {
2706 | "version": "0.1.6",
2707 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
2708 | "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
2709 | "dev": true,
2710 | "requires": {
2711 | "is-accessor-descriptor": "^0.1.6",
2712 | "is-data-descriptor": "^0.1.4",
2713 | "kind-of": "^5.0.0"
2714 | }
2715 | },
2716 | "kind-of": {
2717 | "version": "5.1.0",
2718 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
2719 | "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
2720 | "dev": true
2721 | }
2722 | }
2723 | },
2724 | "extglob": {
2725 | "version": "2.0.4",
2726 | "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
2727 | "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
2728 | "dev": true,
2729 | "requires": {
2730 | "array-unique": "^0.3.2",
2731 | "define-property": "^1.0.0",
2732 | "expand-brackets": "^2.1.4",
2733 | "extend-shallow": "^2.0.1",
2734 | "fragment-cache": "^0.2.1",
2735 | "regex-not": "^1.0.0",
2736 | "snapdragon": "^0.8.1",
2737 | "to-regex": "^3.0.1"
2738 | },
2739 | "dependencies": {
2740 | "define-property": {
2741 | "version": "1.0.0",
2742 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
2743 | "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
2744 | "dev": true,
2745 | "requires": {
2746 | "is-descriptor": "^1.0.0"
2747 | }
2748 | },
2749 | "extend-shallow": {
2750 | "version": "2.0.1",
2751 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
2752 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
2753 | "dev": true,
2754 | "requires": {
2755 | "is-extendable": "^0.1.0"
2756 | }
2757 | }
2758 | }
2759 | },
2760 | "fill-range": {
2761 | "version": "4.0.0",
2762 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
2763 | "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
2764 | "dev": true,
2765 | "requires": {
2766 | "extend-shallow": "^2.0.1",
2767 | "is-number": "^3.0.0",
2768 | "repeat-string": "^1.6.1",
2769 | "to-regex-range": "^2.1.0"
2770 | },
2771 | "dependencies": {
2772 | "extend-shallow": {
2773 | "version": "2.0.1",
2774 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
2775 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
2776 | "dev": true,
2777 | "requires": {
2778 | "is-extendable": "^0.1.0"
2779 | }
2780 | }
2781 | }
2782 | },
2783 | "is-accessor-descriptor": {
2784 | "version": "1.0.0",
2785 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
2786 | "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
2787 | "dev": true,
2788 | "requires": {
2789 | "kind-of": "^6.0.0"
2790 | }
2791 | },
2792 | "is-data-descriptor": {
2793 | "version": "1.0.0",
2794 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
2795 | "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
2796 | "dev": true,
2797 | "requires": {
2798 | "kind-of": "^6.0.0"
2799 | }
2800 | },
2801 | "is-descriptor": {
2802 | "version": "1.0.2",
2803 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
2804 | "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
2805 | "dev": true,
2806 | "requires": {
2807 | "is-accessor-descriptor": "^1.0.0",
2808 | "is-data-descriptor": "^1.0.0",
2809 | "kind-of": "^6.0.2"
2810 | }
2811 | },
2812 | "is-number": {
2813 | "version": "3.0.0",
2814 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
2815 | "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
2816 | "dev": true,
2817 | "requires": {
2818 | "kind-of": "^3.0.2"
2819 | },
2820 | "dependencies": {
2821 | "kind-of": {
2822 | "version": "3.2.2",
2823 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
2824 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
2825 | "dev": true,
2826 | "requires": {
2827 | "is-buffer": "^1.1.5"
2828 | }
2829 | }
2830 | }
2831 | },
2832 | "isobject": {
2833 | "version": "3.0.1",
2834 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
2835 | "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
2836 | "dev": true
2837 | },
2838 | "kind-of": {
2839 | "version": "6.0.3",
2840 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
2841 | "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
2842 | "dev": true
2843 | },
2844 | "micromatch": {
2845 | "version": "3.1.10",
2846 | "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
2847 | "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
2848 | "dev": true,
2849 | "requires": {
2850 | "arr-diff": "^4.0.0",
2851 | "array-unique": "^0.3.2",
2852 | "braces": "^2.3.1",
2853 | "define-property": "^2.0.2",
2854 | "extend-shallow": "^3.0.2",
2855 | "extglob": "^2.0.4",
2856 | "fragment-cache": "^0.2.1",
2857 | "kind-of": "^6.0.2",
2858 | "nanomatch": "^1.2.9",
2859 | "object.pick": "^1.3.0",
2860 | "regex-not": "^1.0.0",
2861 | "snapdragon": "^0.8.1",
2862 | "to-regex": "^3.0.2"
2863 | }
2864 | }
2865 | }
2866 | },
2867 | "recast": {
2868 | "version": "0.11.23",
2869 | "resolved": "https://registry.npmjs.org/recast/-/recast-0.11.23.tgz",
2870 | "integrity": "sha1-RR/TAEqx5N+bTktmN2sqIZEkYtM=",
2871 | "dev": true,
2872 | "requires": {
2873 | "ast-types": "0.9.6",
2874 | "esprima": "~3.1.0",
2875 | "private": "~0.1.5",
2876 | "source-map": "~0.5.0"
2877 | },
2878 | "dependencies": {
2879 | "esprima": {
2880 | "version": "3.1.3",
2881 | "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz",
2882 | "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=",
2883 | "dev": true
2884 | }
2885 | }
2886 | },
2887 | "regenerate": {
2888 | "version": "1.4.1",
2889 | "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.1.tgz",
2890 | "integrity": "sha512-j2+C8+NtXQgEKWk49MMP5P/u2GhnahTtVkRIHr5R5lVRlbKvmQ+oS+A5aLKWp2ma5VkT8sh6v+v4hbH0YHR66A==",
2891 | "dev": true
2892 | },
2893 | "regenerator-runtime": {
2894 | "version": "0.11.1",
2895 | "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz",
2896 | "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==",
2897 | "dev": true
2898 | },
2899 | "regenerator-transform": {
2900 | "version": "0.10.1",
2901 | "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz",
2902 | "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==",
2903 | "dev": true,
2904 | "requires": {
2905 | "babel-runtime": "^6.18.0",
2906 | "babel-types": "^6.19.0",
2907 | "private": "^0.1.6"
2908 | }
2909 | },
2910 | "regex-cache": {
2911 | "version": "0.4.4",
2912 | "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz",
2913 | "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==",
2914 | "dev": true,
2915 | "requires": {
2916 | "is-equal-shallow": "^0.1.3"
2917 | }
2918 | },
2919 | "regex-not": {
2920 | "version": "1.0.2",
2921 | "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
2922 | "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
2923 | "dev": true,
2924 | "requires": {
2925 | "extend-shallow": "^3.0.2",
2926 | "safe-regex": "^1.1.0"
2927 | }
2928 | },
2929 | "regexpu-core": {
2930 | "version": "2.0.0",
2931 | "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz",
2932 | "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=",
2933 | "dev": true,
2934 | "requires": {
2935 | "regenerate": "^1.2.1",
2936 | "regjsgen": "^0.2.0",
2937 | "regjsparser": "^0.1.4"
2938 | }
2939 | },
2940 | "regjsgen": {
2941 | "version": "0.2.0",
2942 | "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz",
2943 | "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=",
2944 | "dev": true
2945 | },
2946 | "regjsparser": {
2947 | "version": "0.1.5",
2948 | "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz",
2949 | "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=",
2950 | "dev": true,
2951 | "requires": {
2952 | "jsesc": "~0.5.0"
2953 | },
2954 | "dependencies": {
2955 | "jsesc": {
2956 | "version": "0.5.0",
2957 | "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
2958 | "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=",
2959 | "dev": true
2960 | }
2961 | }
2962 | },
2963 | "remove-trailing-separator": {
2964 | "version": "1.1.0",
2965 | "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
2966 | "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=",
2967 | "dev": true
2968 | },
2969 | "repeat-element": {
2970 | "version": "1.1.3",
2971 | "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz",
2972 | "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==",
2973 | "dev": true
2974 | },
2975 | "repeat-string": {
2976 | "version": "1.6.1",
2977 | "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
2978 | "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
2979 | "dev": true
2980 | },
2981 | "repeating": {
2982 | "version": "2.0.1",
2983 | "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz",
2984 | "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=",
2985 | "dev": true,
2986 | "requires": {
2987 | "is-finite": "^1.0.0"
2988 | }
2989 | },
2990 | "resolve-url": {
2991 | "version": "0.2.1",
2992 | "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
2993 | "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
2994 | "dev": true
2995 | },
2996 | "ret": {
2997 | "version": "0.1.15",
2998 | "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
2999 | "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
3000 | "dev": true
3001 | },
3002 | "right-align": {
3003 | "version": "0.1.3",
3004 | "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz",
3005 | "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=",
3006 | "dev": true,
3007 | "requires": {
3008 | "align-text": "^0.1.1"
3009 | }
3010 | },
3011 | "ripemd160": {
3012 | "version": "0.2.0",
3013 | "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-0.2.0.tgz",
3014 | "integrity": "sha1-K/GYveFnys+lHAqSjoS2i74XH84=",
3015 | "dev": true
3016 | },
3017 | "safe-buffer": {
3018 | "version": "5.1.2",
3019 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
3020 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
3021 | "dev": true
3022 | },
3023 | "safe-regex": {
3024 | "version": "1.1.0",
3025 | "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
3026 | "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
3027 | "dev": true,
3028 | "requires": {
3029 | "ret": "~0.1.10"
3030 | }
3031 | },
3032 | "safer-buffer": {
3033 | "version": "2.1.2",
3034 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
3035 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
3036 | "dev": true
3037 | },
3038 | "set-value": {
3039 | "version": "2.0.1",
3040 | "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz",
3041 | "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==",
3042 | "dev": true,
3043 | "requires": {
3044 | "extend-shallow": "^2.0.1",
3045 | "is-extendable": "^0.1.1",
3046 | "is-plain-object": "^2.0.3",
3047 | "split-string": "^3.0.1"
3048 | },
3049 | "dependencies": {
3050 | "extend-shallow": {
3051 | "version": "2.0.1",
3052 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
3053 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
3054 | "dev": true,
3055 | "requires": {
3056 | "is-extendable": "^0.1.0"
3057 | }
3058 | }
3059 | }
3060 | },
3061 | "setimmediate": {
3062 | "version": "1.0.5",
3063 | "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
3064 | "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=",
3065 | "dev": true
3066 | },
3067 | "sha.js": {
3068 | "version": "2.2.6",
3069 | "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.2.6.tgz",
3070 | "integrity": "sha1-F93t3F9yL7ZlAWWIlUYZd4ZzFbo=",
3071 | "dev": true
3072 | },
3073 | "slash": {
3074 | "version": "1.0.0",
3075 | "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz",
3076 | "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=",
3077 | "dev": true
3078 | },
3079 | "snapdragon": {
3080 | "version": "0.8.2",
3081 | "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
3082 | "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
3083 | "dev": true,
3084 | "requires": {
3085 | "base": "^0.11.1",
3086 | "debug": "^2.2.0",
3087 | "define-property": "^0.2.5",
3088 | "extend-shallow": "^2.0.1",
3089 | "map-cache": "^0.2.2",
3090 | "source-map": "^0.5.6",
3091 | "source-map-resolve": "^0.5.0",
3092 | "use": "^3.1.0"
3093 | },
3094 | "dependencies": {
3095 | "define-property": {
3096 | "version": "0.2.5",
3097 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
3098 | "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
3099 | "dev": true,
3100 | "requires": {
3101 | "is-descriptor": "^0.1.0"
3102 | }
3103 | },
3104 | "extend-shallow": {
3105 | "version": "2.0.1",
3106 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
3107 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
3108 | "dev": true,
3109 | "requires": {
3110 | "is-extendable": "^0.1.0"
3111 | }
3112 | }
3113 | }
3114 | },
3115 | "snapdragon-node": {
3116 | "version": "2.1.1",
3117 | "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
3118 | "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
3119 | "dev": true,
3120 | "requires": {
3121 | "define-property": "^1.0.0",
3122 | "isobject": "^3.0.0",
3123 | "snapdragon-util": "^3.0.1"
3124 | },
3125 | "dependencies": {
3126 | "define-property": {
3127 | "version": "1.0.0",
3128 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
3129 | "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
3130 | "dev": true,
3131 | "requires": {
3132 | "is-descriptor": "^1.0.0"
3133 | }
3134 | },
3135 | "is-accessor-descriptor": {
3136 | "version": "1.0.0",
3137 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
3138 | "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
3139 | "dev": true,
3140 | "requires": {
3141 | "kind-of": "^6.0.0"
3142 | }
3143 | },
3144 | "is-data-descriptor": {
3145 | "version": "1.0.0",
3146 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
3147 | "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
3148 | "dev": true,
3149 | "requires": {
3150 | "kind-of": "^6.0.0"
3151 | }
3152 | },
3153 | "is-descriptor": {
3154 | "version": "1.0.2",
3155 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
3156 | "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
3157 | "dev": true,
3158 | "requires": {
3159 | "is-accessor-descriptor": "^1.0.0",
3160 | "is-data-descriptor": "^1.0.0",
3161 | "kind-of": "^6.0.2"
3162 | }
3163 | },
3164 | "isobject": {
3165 | "version": "3.0.1",
3166 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
3167 | "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
3168 | "dev": true
3169 | },
3170 | "kind-of": {
3171 | "version": "6.0.3",
3172 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
3173 | "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
3174 | "dev": true
3175 | }
3176 | }
3177 | },
3178 | "snapdragon-util": {
3179 | "version": "3.0.1",
3180 | "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
3181 | "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
3182 | "dev": true,
3183 | "requires": {
3184 | "kind-of": "^3.2.0"
3185 | }
3186 | },
3187 | "source-list-map": {
3188 | "version": "0.1.8",
3189 | "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-0.1.8.tgz",
3190 | "integrity": "sha1-xVCyq1Qn9rPyH1r+rYjE9Vh7IQY=",
3191 | "dev": true
3192 | },
3193 | "source-map": {
3194 | "version": "0.5.7",
3195 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
3196 | "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
3197 | "dev": true
3198 | },
3199 | "source-map-resolve": {
3200 | "version": "0.5.3",
3201 | "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz",
3202 | "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==",
3203 | "dev": true,
3204 | "requires": {
3205 | "atob": "^2.1.2",
3206 | "decode-uri-component": "^0.2.0",
3207 | "resolve-url": "^0.2.1",
3208 | "source-map-url": "^0.4.0",
3209 | "urix": "^0.1.0"
3210 | }
3211 | },
3212 | "source-map-support": {
3213 | "version": "0.4.18",
3214 | "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz",
3215 | "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==",
3216 | "dev": true,
3217 | "requires": {
3218 | "source-map": "^0.5.6"
3219 | }
3220 | },
3221 | "source-map-url": {
3222 | "version": "0.4.0",
3223 | "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
3224 | "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=",
3225 | "dev": true
3226 | },
3227 | "split-string": {
3228 | "version": "3.1.0",
3229 | "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
3230 | "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
3231 | "dev": true,
3232 | "requires": {
3233 | "extend-shallow": "^3.0.0"
3234 | }
3235 | },
3236 | "static-extend": {
3237 | "version": "0.1.2",
3238 | "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
3239 | "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
3240 | "dev": true,
3241 | "requires": {
3242 | "define-property": "^0.2.5",
3243 | "object-copy": "^0.1.0"
3244 | },
3245 | "dependencies": {
3246 | "define-property": {
3247 | "version": "0.2.5",
3248 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
3249 | "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
3250 | "dev": true,
3251 | "requires": {
3252 | "is-descriptor": "^0.1.0"
3253 | }
3254 | }
3255 | }
3256 | },
3257 | "stream-browserify": {
3258 | "version": "2.0.2",
3259 | "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz",
3260 | "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==",
3261 | "dev": true,
3262 | "requires": {
3263 | "inherits": "~2.0.1",
3264 | "readable-stream": "^2.0.2"
3265 | }
3266 | },
3267 | "stream-http": {
3268 | "version": "2.8.3",
3269 | "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz",
3270 | "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==",
3271 | "dev": true,
3272 | "requires": {
3273 | "builtin-status-codes": "^3.0.0",
3274 | "inherits": "^2.0.1",
3275 | "readable-stream": "^2.3.6",
3276 | "to-arraybuffer": "^1.0.0",
3277 | "xtend": "^4.0.0"
3278 | }
3279 | },
3280 | "string_decoder": {
3281 | "version": "1.1.1",
3282 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
3283 | "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
3284 | "dev": true,
3285 | "requires": {
3286 | "safe-buffer": "~5.1.0"
3287 | }
3288 | },
3289 | "strip-ansi": {
3290 | "version": "3.0.1",
3291 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
3292 | "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
3293 | "dev": true,
3294 | "requires": {
3295 | "ansi-regex": "^2.0.0"
3296 | }
3297 | },
3298 | "supports-color": {
3299 | "version": "2.0.0",
3300 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
3301 | "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
3302 | "dev": true
3303 | },
3304 | "tapable": {
3305 | "version": "0.1.10",
3306 | "resolved": "https://registry.npmjs.org/tapable/-/tapable-0.1.10.tgz",
3307 | "integrity": "sha1-KcNXB8K3DlDQdIK10gLo7URtr9Q=",
3308 | "dev": true
3309 | },
3310 | "through": {
3311 | "version": "2.3.8",
3312 | "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
3313 | "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
3314 | "dev": true
3315 | },
3316 | "timers-browserify": {
3317 | "version": "2.0.11",
3318 | "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.11.tgz",
3319 | "integrity": "sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ==",
3320 | "dev": true,
3321 | "requires": {
3322 | "setimmediate": "^1.0.4"
3323 | }
3324 | },
3325 | "to-arraybuffer": {
3326 | "version": "1.0.1",
3327 | "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz",
3328 | "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=",
3329 | "dev": true
3330 | },
3331 | "to-fast-properties": {
3332 | "version": "1.0.3",
3333 | "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz",
3334 | "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=",
3335 | "dev": true
3336 | },
3337 | "to-object-path": {
3338 | "version": "0.3.0",
3339 | "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
3340 | "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
3341 | "dev": true,
3342 | "requires": {
3343 | "kind-of": "^3.0.2"
3344 | }
3345 | },
3346 | "to-regex": {
3347 | "version": "3.0.2",
3348 | "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
3349 | "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
3350 | "dev": true,
3351 | "requires": {
3352 | "define-property": "^2.0.2",
3353 | "extend-shallow": "^3.0.2",
3354 | "regex-not": "^1.0.2",
3355 | "safe-regex": "^1.1.0"
3356 | }
3357 | },
3358 | "to-regex-range": {
3359 | "version": "2.1.1",
3360 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
3361 | "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
3362 | "dev": true,
3363 | "requires": {
3364 | "is-number": "^3.0.0",
3365 | "repeat-string": "^1.6.1"
3366 | },
3367 | "dependencies": {
3368 | "is-number": {
3369 | "version": "3.0.0",
3370 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
3371 | "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
3372 | "dev": true,
3373 | "requires": {
3374 | "kind-of": "^3.0.2"
3375 | }
3376 | }
3377 | }
3378 | },
3379 | "trim-right": {
3380 | "version": "1.0.1",
3381 | "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz",
3382 | "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=",
3383 | "dev": true
3384 | },
3385 | "tty-browserify": {
3386 | "version": "0.0.0",
3387 | "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz",
3388 | "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=",
3389 | "dev": true
3390 | },
3391 | "ua-parser-js": {
3392 | "version": "0.7.21",
3393 | "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.21.tgz",
3394 | "integrity": "sha512-+O8/qh/Qj8CgC6eYBVBykMrNtp5Gebn4dlGD/kKXVkJNDwyrAwSIqwz8CDf+tsAIWVycKcku6gIXJ0qwx/ZXaQ==",
3395 | "dev": true
3396 | },
3397 | "uglify-js": {
3398 | "version": "2.7.5",
3399 | "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.7.5.tgz",
3400 | "integrity": "sha1-RhLAx7qu4rp8SH3kkErhIgefLKg=",
3401 | "dev": true,
3402 | "requires": {
3403 | "async": "~0.2.6",
3404 | "source-map": "~0.5.1",
3405 | "uglify-to-browserify": "~1.0.0",
3406 | "yargs": "~3.10.0"
3407 | },
3408 | "dependencies": {
3409 | "async": {
3410 | "version": "0.2.10",
3411 | "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz",
3412 | "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=",
3413 | "dev": true
3414 | }
3415 | }
3416 | },
3417 | "uglify-to-browserify": {
3418 | "version": "1.0.2",
3419 | "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz",
3420 | "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=",
3421 | "dev": true
3422 | },
3423 | "union-value": {
3424 | "version": "1.0.1",
3425 | "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz",
3426 | "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==",
3427 | "dev": true,
3428 | "requires": {
3429 | "arr-union": "^3.1.0",
3430 | "get-value": "^2.0.6",
3431 | "is-extendable": "^0.1.1",
3432 | "set-value": "^2.0.1"
3433 | }
3434 | },
3435 | "unset-value": {
3436 | "version": "1.0.0",
3437 | "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
3438 | "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
3439 | "dev": true,
3440 | "requires": {
3441 | "has-value": "^0.3.1",
3442 | "isobject": "^3.0.0"
3443 | },
3444 | "dependencies": {
3445 | "has-value": {
3446 | "version": "0.3.1",
3447 | "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
3448 | "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
3449 | "dev": true,
3450 | "requires": {
3451 | "get-value": "^2.0.3",
3452 | "has-values": "^0.1.4",
3453 | "isobject": "^2.0.0"
3454 | },
3455 | "dependencies": {
3456 | "isobject": {
3457 | "version": "2.1.0",
3458 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
3459 | "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
3460 | "dev": true,
3461 | "requires": {
3462 | "isarray": "1.0.0"
3463 | }
3464 | }
3465 | }
3466 | },
3467 | "has-values": {
3468 | "version": "0.1.4",
3469 | "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
3470 | "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=",
3471 | "dev": true
3472 | },
3473 | "isobject": {
3474 | "version": "3.0.1",
3475 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
3476 | "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
3477 | "dev": true
3478 | }
3479 | }
3480 | },
3481 | "urix": {
3482 | "version": "0.1.0",
3483 | "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
3484 | "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=",
3485 | "dev": true
3486 | },
3487 | "url": {
3488 | "version": "0.11.0",
3489 | "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
3490 | "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=",
3491 | "dev": true,
3492 | "requires": {
3493 | "punycode": "1.3.2",
3494 | "querystring": "0.2.0"
3495 | },
3496 | "dependencies": {
3497 | "punycode": {
3498 | "version": "1.3.2",
3499 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
3500 | "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=",
3501 | "dev": true
3502 | }
3503 | }
3504 | },
3505 | "use": {
3506 | "version": "3.1.1",
3507 | "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
3508 | "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==",
3509 | "dev": true
3510 | },
3511 | "util": {
3512 | "version": "0.10.4",
3513 | "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz",
3514 | "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==",
3515 | "dev": true,
3516 | "requires": {
3517 | "inherits": "2.0.3"
3518 | },
3519 | "dependencies": {
3520 | "inherits": {
3521 | "version": "2.0.3",
3522 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
3523 | "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
3524 | "dev": true
3525 | }
3526 | }
3527 | },
3528 | "util-deprecate": {
3529 | "version": "1.0.2",
3530 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
3531 | "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
3532 | "dev": true
3533 | },
3534 | "vm-browserify": {
3535 | "version": "0.0.4",
3536 | "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz",
3537 | "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=",
3538 | "dev": true,
3539 | "requires": {
3540 | "indexof": "0.0.1"
3541 | }
3542 | },
3543 | "watchpack": {
3544 | "version": "0.2.9",
3545 | "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-0.2.9.tgz",
3546 | "integrity": "sha1-Yuqkq15bo1/fwBgnVibjwPXj+ws=",
3547 | "dev": true,
3548 | "requires": {
3549 | "async": "^0.9.0",
3550 | "chokidar": "^1.0.0",
3551 | "graceful-fs": "^4.1.2"
3552 | },
3553 | "dependencies": {
3554 | "async": {
3555 | "version": "0.9.2",
3556 | "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz",
3557 | "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=",
3558 | "dev": true
3559 | }
3560 | }
3561 | },
3562 | "webpack": {
3563 | "version": "1.15.0",
3564 | "resolved": "https://registry.npmjs.org/webpack/-/webpack-1.15.0.tgz",
3565 | "integrity": "sha1-T/MfU9sDM55VFkqdRo7gMklo/pg=",
3566 | "dev": true,
3567 | "requires": {
3568 | "acorn": "^3.0.0",
3569 | "async": "^1.3.0",
3570 | "clone": "^1.0.2",
3571 | "enhanced-resolve": "~0.9.0",
3572 | "interpret": "^0.6.4",
3573 | "loader-utils": "^0.2.11",
3574 | "memory-fs": "~0.3.0",
3575 | "mkdirp": "~0.5.0",
3576 | "node-libs-browser": "^0.7.0",
3577 | "optimist": "~0.6.0",
3578 | "supports-color": "^3.1.0",
3579 | "tapable": "~0.1.8",
3580 | "uglify-js": "~2.7.3",
3581 | "watchpack": "^0.2.1",
3582 | "webpack-core": "~0.6.9"
3583 | },
3584 | "dependencies": {
3585 | "acorn": {
3586 | "version": "3.3.0",
3587 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz",
3588 | "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=",
3589 | "dev": true
3590 | },
3591 | "supports-color": {
3592 | "version": "3.2.3",
3593 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
3594 | "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
3595 | "dev": true,
3596 | "requires": {
3597 | "has-flag": "^1.0.0"
3598 | }
3599 | }
3600 | }
3601 | },
3602 | "webpack-core": {
3603 | "version": "0.6.9",
3604 | "resolved": "https://registry.npmjs.org/webpack-core/-/webpack-core-0.6.9.tgz",
3605 | "integrity": "sha1-/FcViMhVjad76e+23r3Fo7FyvcI=",
3606 | "dev": true,
3607 | "requires": {
3608 | "source-list-map": "~0.1.7",
3609 | "source-map": "~0.4.1"
3610 | },
3611 | "dependencies": {
3612 | "source-map": {
3613 | "version": "0.4.4",
3614 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz",
3615 | "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=",
3616 | "dev": true,
3617 | "requires": {
3618 | "amdefine": ">=0.0.4"
3619 | }
3620 | }
3621 | }
3622 | },
3623 | "whatwg-fetch": {
3624 | "version": "0.9.0",
3625 | "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-0.9.0.tgz",
3626 | "integrity": "sha1-DjaExsuZlbQ+/J3wPkw2XZX9nMA=",
3627 | "dev": true
3628 | },
3629 | "window-size": {
3630 | "version": "0.1.0",
3631 | "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz",
3632 | "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=",
3633 | "dev": true
3634 | },
3635 | "wordwrap": {
3636 | "version": "0.0.3",
3637 | "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz",
3638 | "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=",
3639 | "dev": true
3640 | },
3641 | "wrappy": {
3642 | "version": "1.0.2",
3643 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
3644 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
3645 | "dev": true
3646 | },
3647 | "xtend": {
3648 | "version": "4.0.2",
3649 | "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
3650 | "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
3651 | "dev": true
3652 | },
3653 | "yargs": {
3654 | "version": "3.10.0",
3655 | "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz",
3656 | "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=",
3657 | "dev": true,
3658 | "requires": {
3659 | "camelcase": "^1.0.2",
3660 | "cliui": "^2.1.0",
3661 | "decamelize": "^1.0.0",
3662 | "window-size": "0.1.0"
3663 | }
3664 | }
3665 | }
3666 | }
3667 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "json-schema-editor",
3 | "version": "0.2.10",
4 | "description": "React based editor for JSON Schemas",
5 | "main": "dist/jsonschemaeditor.js",
6 | "dependencies": {},
7 | "devDependencies": {
8 | "babel-core": "^6.7.4",
9 | "babel-loader": "^6.2.4",
10 | "babel-preset-react": "^6.5.0",
11 | "babel-preset-es2015": "^6.6.0",
12 | "react": "^0.14.8",
13 | "react-dom": "^0.14.8",
14 | "react-redux": "^4.4.1",
15 | "webpack": "^1.12.14"
16 | },
17 | "repository": {
18 | "type": "git",
19 | "url": "https://github.com/thomas4019/json-schema-editor.git"
20 | },
21 | "scripts": {
22 | "test": "echo \"Error: no test specified\" && exit 1",
23 | "build": "webpack"
24 | },
25 | "author": "Thomas Hansen (http://thomashansen.me)",
26 | "license": "MIT",
27 | "standard": {
28 | "parser": "babel-eslint",
29 | "rules": {
30 | "strict": 0
31 | }
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/src/index.jsx:
--------------------------------------------------------------------------------
1 | window.JSONSchemaEditor = function(element,options) {
2 | if (!(element instanceof Element)) {
3 | throw new Error('element should be an instance of Element');
4 | }
5 | options = options||{};
6 | this.element = element;
7 | this.options = options;
8 | this.init();
9 | };
10 |
11 | JSONSchemaEditor.prototype = {
12 | // necessary since we remove the ctor property by doing a literal assignment. Without this
13 | // the $isplainobject function will think that this is a plain object.
14 | constructor: JSONSchemaEditor,
15 | init: function() {
16 | var self = this;
17 | var data = this.options.startval || {};
18 |
19 | this.react = ReactDOM.render(
20 | ,
21 | self.element
22 | );
23 | this.callbacks = {};
24 | },
25 | on: function(event, callback) {
26 | this.react.on(event, callback);
27 | },
28 | onChange: function() {
29 | },
30 | getValue: function() {
31 | return this.react.export();
32 | },
33 | setValue: function(data) {
34 | var self = this;
35 | // uncommenting this makes the update work on the test page
36 | // self.element.children[0].remove();
37 | this.react = ReactDOM.render(
38 | ,
39 | self.element
40 | );
41 | }
42 | }
43 |
44 | var shortNumberStyle = {
45 | width: '50px'
46 | }
47 |
48 | var SchemaString = React.createClass({
49 | getInitialState: function() {
50 | var state = this.props.data;
51 | state.hasEnum = !!state.enum;
52 | return state
53 | },
54 | componentWillReceiveProps: function(newProps) {
55 | if (typeof newProps.data.description !== 'undefined') {
56 | this.state.description = newProps.data.description;
57 | }
58 | this.setState(this.state);
59 | },
60 | componentDidUpdate: function() {
61 | this.props.onChange();
62 | },
63 | export: function() {
64 | return {
65 | type: 'string',
66 | default: this.state.default,
67 | description: this.state.description,
68 | format: this.state.format,
69 | pattern: !!this.state.pattern ? this.state.pattern : undefined,
70 | enum: this.state.enum
71 | };
72 | },
73 | change: function(event) {
74 | this.state[event.target.name] = event.target.value;
75 | this.setState(this.state);
76 | },
77 | changeBool: function(event) {
78 | this.state[event.target.name] = event.target.checked;
79 | this.setState(this.state);
80 | },
81 | changeEnum: function(event) {
82 | var arr = event.target.value.split('\n');
83 | if (arr.length == 1 && !arr[0]) {
84 | arr = undefined;
85 | }
86 | this.state[event.target.name] = arr
87 | this.setState(this.state);
88 | },
89 | render: function() {
90 | var settings;
91 | if (this.state.hasEnum) {
92 | settings =
93 | Enum (one value per line):
94 |
95 |
96 | } else {
97 | settings =
98 |
99 |
100 | }
101 | return (
102 |
103 | Format:
104 |
105 |
106 | color
107 | date
108 | datetime
109 | datetime-local
110 | email
111 | month
112 | number
113 | range
114 | tel
115 | text
116 | textarea
117 | time
118 | url
119 | week
120 |
121 | Enum:
122 | {settings}
123 |
124 | );
125 | }
126 | });
127 |
128 | var SchemaAny = React.createClass({
129 | getInitialState: function() {
130 | return this.props.data;
131 | },
132 | export: function() {
133 | return {
134 | type: ["string", "number", "object", "array", "boolean", "null"],
135 | default: this.state.default,
136 | description: this.state.description
137 | }
138 | },
139 | componentWillReceiveProps: function(newProps) {
140 | if (typeof newProps.data.description !== 'undefined') {
141 | this.state.description = newProps.data.description;
142 | }
143 | this.setState(this.state);
144 | },
145 | render() {
146 | return (
147 |
148 | );
149 | }
150 | })
151 |
152 | var SchemaBoolean = React.createClass({
153 | getInitialState: function() {
154 | return this.props.data;
155 | },
156 | export: function() {
157 | return {
158 | type: 'boolean',
159 | format: 'checkbox',
160 | default: this.state.default,
161 | description: this.state.description
162 | }
163 | },
164 | componentWillReceiveProps: function(newProps) {
165 | if (typeof newProps.data.description !== 'undefined') {
166 | this.state.description = newProps.data.description;
167 | }
168 | this.setState(this.state);
169 | },
170 | render() {
171 | return (
172 |
173 | );
174 | }
175 | })
176 |
177 | var SchemaNumber = React.createClass({
178 | getInitialState: function() {
179 | return this.props.data;
180 | },
181 | componentDidUpdate: function() {
182 | this.props.onChange();
183 | },
184 | change: function(event) {
185 | this.state[event.target.name] = parseInt(event.target.value);
186 | this.setState(this.state);
187 | },
188 | componentWillReceiveProps: function(newProps) {
189 | if (typeof newProps.data.description !== 'undefined') {
190 | this.state.description = newProps.data.description;
191 | }
192 | this.setState(this.state);
193 | },
194 | export: function() {
195 | var o = JSON.parse(JSON.stringify(this.state));
196 | o.type = 'number';
197 | delete o.name;
198 | return o;
199 | },
200 | render: function() {
201 | return (
202 |
203 | Min:
204 | Max:
205 |
206 | );
207 | }
208 | });
209 |
210 | function mapType(type) {
211 | return Array.isArray(type) ? 'any' : type;
212 | }
213 |
214 | var mapping = function(name, data, changeHandler) {
215 | return {
216 | any: ,
217 | string: ,
218 | number: ,
219 | array: ,
220 | object: ,
221 | boolean: ,
222 | }[mapType(data.type)];
223 | };
224 |
225 | var SchemaArray = React.createClass({
226 | getInitialState: function() {
227 | return this.props.data;
228 | },
229 | change: function(event) {
230 | if (event.target.type == 'checkbox') {
231 | this.state[event.target.name] = event.target.checked;
232 | }
233 | else if (event.target.name == 'itemtype') {
234 | this.state.items.type = event.target.value;
235 | }
236 | else {
237 | this.state[event.target.name] = event.target.value;
238 | }
239 | this.setState(this.state);
240 | },
241 | export: function() {
242 | //console.log(this.refs.items.state)
243 | return {
244 | items: this.refs['items'].export(),
245 | minItems: this.state.minItems,
246 | maxItems: this.state.maxItems,
247 | uniqueItems: (this.state.uniqueItems ? true : undefined),
248 | format: this.state.format,
249 | default: this.state.default,
250 | description: this.state.description,
251 | type: 'array'
252 | };
253 | },
254 | componentDidUpdate: function() {
255 | this.onChange();
256 | },
257 | componentWillReceiveProps: function(newProps) {
258 | if (typeof newProps.data.description !== 'undefined') {
259 | this.state.description = newProps.data.description;
260 | }
261 | this.setState(this.state);
262 | },
263 | onChange: function() {
264 | this.props.onChange();
265 | },
266 | render: function() {
267 | var self = this;
268 | var optionFormStyle = {
269 | paddingLeft: '25px',
270 | paddingTop: '4px',
271 | };
272 | this.state.items = this.state.items || {type: 'string'};
273 | var optionForm = mapping('items', this.state.items, this.onChange);
274 | return (
275 |
300 | );
301 | }
302 | });
303 |
304 | var SchemaObject = React.createClass({
305 | getInitialState: function() {
306 | return this.propsToState(this.props)
307 | },
308 | propsToState: function(props) {
309 | var data = props.data;
310 | data.properties = data.properties || {}
311 | data.required = data.required || [];
312 | data.additionalProperties = data.additionalProperties || false;
313 | data.propertyNames = [];
314 | // convert from object to array
315 | data.properties = Object.keys(data.properties).map(function(name) {
316 | data.propertyNames.push(name);
317 | var item = data.properties[name];
318 | return item;
319 | })
320 | return data
321 | },
322 | componentWillReceiveProps: function(newProps) {
323 | if (!this.state || this.state.properties.length === 0) {
324 | this.setState(this.propsToState(newProps))
325 | }
326 | if (typeof newProps.data.description !== 'undefined') {
327 | this.state.description = newProps.data.description;
328 | this.setState(this.state);
329 | }
330 | },
331 | deleteItem: function(event) {
332 | var i = event.target.parentElement.dataset.index;
333 | var requiredIndex = this.state.required.indexOf(this.state.propertyNames[i])
334 | if (requiredIndex !== -1) {
335 | this.state.required.splice(requiredIndex, 1)
336 | }
337 | this.state.properties.splice(i, 1);
338 | this.state.propertyNames.splice(i, 1);
339 | this.setState(this.state);
340 | },
341 | changeItem: function(event) {
342 | var i = event.target.parentElement.dataset.index;
343 | if (event.target.name == 'type') {
344 | this.state.properties[i].type = event.target.value;
345 | } else if (event.target.name == 'field') {
346 | this.state.propertyNames[i] = event.target.value;
347 | } else if (event.target.name == 'description') {
348 | this.state.properties[i].description = event.target.value;
349 | }
350 | this.setState(this.state);
351 | },
352 | changeRequired: function(event) {
353 | if (event.target.checked)
354 | this.state.required.push(event.target.name);
355 | else {
356 | var i = this.state.required.indexOf(event.target.name)
357 | this.state.required.splice(i, 1);
358 | }
359 | this.setState(this.state);
360 | },
361 | change: function(event) {
362 | this.state[event.target.name] = event.target.checked;
363 | this.setState(this.state);
364 | },
365 | changeText: function(event) {
366 | this.state[event.target.name] = event.target.value;
367 | this.setState(this.state);
368 | },
369 | onChange: function() {
370 | this.props.onChange()
371 | this.trigger('change');
372 | },
373 | componentDidUpdate: function() {
374 | this.onChange();
375 | },
376 | add: function() {
377 | this.state.properties.push({name: '', type: 'string'});
378 | this.setState(this.state);
379 | },
380 | export: function() {
381 | var self = this;
382 | var properties = {};
383 | Object.keys(self.state.properties).forEach(function(index) {
384 | //var name = self.state.properties[index].name;
385 | var name = self.state.propertyNames[index];
386 | if (typeof self.refs['item'+index] != 'undefined' && name && name.length > 0)
387 | properties[name] = self.refs['item'+index].export();
388 | });
389 | return {
390 | type: 'object',
391 | default: this.state.default,
392 | description: this.state.description,
393 | additionalProperties: this.state.additionalProperties,
394 | format: this.state.format,
395 | properties: properties,
396 | required: this.state.required.length ? this.state.required : undefined
397 | };
398 | },
399 | on: function(event, callback) {
400 | this.callbacks = this.callbacks || {};
401 | this.callbacks[event] = this.callbacks[event] || [];
402 | this.callbacks[event].push(callback);
403 |
404 | return this;
405 | },
406 | trigger: function(event) {
407 | if (this.callbacks && this.callbacks[event] && this.callbacks[event].length) {
408 | for (var i=0; i
450 |
451 | {this.state.properties.map(function(value, index) {
452 | var name = self.state.propertyNames[index]
453 | var copiedState = JSON.parse(JSON.stringify(self.state.properties[index]));
454 | var optionForm = mapping('item' + index, copiedState, self.onChange);
455 | return
472 | })}
473 |
474 | Allow additional properties:
475 | Format:
476 |
477 |
478 | grid
479 | schema
480 |
481 |
482 |
483 | Add another field
484 |
485 | );
486 | }
487 | });
488 |
489 | if (typeof module !== 'undefined' && typeof module.exports !== 'undefined')
490 | module.exports = window.JSONSchemaEditor;
491 |
--------------------------------------------------------------------------------
/src/json-editor-plugin.js:
--------------------------------------------------------------------------------
1 | //json-editor-plugin.js
2 |
3 | if (JSONEditor) {
4 | JSONEditor.defaults.resolvers.unshift(function(schema) {
5 | if (schema.type === "object" && schema.format === "schema") {
6 | return "schema";
7 | }
8 |
9 | // If no valid editor is returned, the next resolver function will be used
10 | });
11 |
12 | JSONEditor.defaults.editors.schema = JSONEditor.AbstractEditor.extend({
13 | setValue: function(value,initial) {
14 | this.value = value;
15 | this.schemaeditor.setValue(value)
16 | this.onChange();
17 | },
18 | getValue: function() {
19 | if (typeof this.schemaeditor != 'undefined')
20 | return this.schemaeditor.getValue();
21 | else
22 | return {}
23 | },
24 | register: function() {
25 | this._super();
26 | if(!this.input) return;
27 | this.input.setAttribute('name', this.formname);
28 | },
29 | unregister: function() {
30 | this._super();
31 | if(!this.input) return;
32 | this.input.removeAttribute('name');
33 | },
34 | getNumColumns: function() {
35 | return 12;
36 | },
37 | build: function() {
38 | var self = this;
39 | if(!this.options.compact) {
40 | this.label = this.header = this.theme.getFormInputLabel(this.getTitle());
41 | }
42 | if(this.schema.description) this.description = this.theme.getFormInputDescription(this.schema.description);
43 | if(this.options.compact) this.container.className += ' compact';
44 |
45 | this.input = document.createElement('div')
46 | this.control = this.theme.getFormControl(this.label, this.input, this.description);
47 |
48 | if(this.schema.readOnly || this.schema.readonly) {
49 | this.always_disabled = true;
50 | this.input.disabled = true;
51 | }
52 |
53 | this.container.appendChild(this.control);
54 |
55 | this.schemaeditor = new JSONSchemaEditor(this.input, {
56 | startval: {}
57 | });
58 | this.schemaeditor.on('change', function() {
59 | self.onChange(true);
60 | });
61 | },
62 | enable: function() {
63 | if(!this.always_disabled) {
64 | this.input.disabled = false;
65 | }
66 | this._super();
67 | },
68 | disable: function() {
69 | this.input.disabled = true;
70 | this._super();
71 | },
72 | destroy: function() {
73 | if(this.label && this.label.parentNode) this.label.parentNode.removeChild(this.label);
74 | if(this.description && this.description.parentNode) this.description.parentNode.removeChild(this.description);
75 | if(this.input && this.input.parentNode) this.input.parentNode.removeChild(this.input);
76 | this._super();
77 | }
78 | });
79 | }
--------------------------------------------------------------------------------
/webpack.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | entry: './src/index.jsx',
3 | output: {
4 | path: 'dist',
5 | filename: 'jsonschemaeditor.js',
6 | },
7 | module: {
8 | loaders: [{
9 | test: /\.jsx?$/,
10 | exclude: /node_modules/,
11 | loader: "babel",
12 | query: {
13 | presets: ['es2015', 'react']
14 | }
15 | }, ],
16 | }
17 | };
--------------------------------------------------------------------------------