From b7b0b1a39283b50a94011e682a522fa6cc6c0f94 Mon Sep 17 00:00:00 2001 From: Brian Kelley Date: Thu, 23 Jun 2016 17:46:45 -0500 Subject: [PATCH 01/23] Double escaping single quotes --- src/autocomplete.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/autocomplete.html b/src/autocomplete.html index a2293bf..dd0be05 100644 --- a/src/autocomplete.html +++ b/src/autocomplete.html @@ -10,7 +10,7 @@ md-selected-item="$$value$$" md-search-text="searchText" md-selected-item-change="'todo';" - md-items="item in evalExpr('this[\''+form.optionFilter+'\'](\''+searchText+'\')')" + md-items="item in evalExpr('this[\\''+form.optionFilter+'\\'](\\''+searchText+'\\')')" md-item-text="item.name" md-floating-label="{{::form.title}}" md-menu-class="autocomplete-custom-template"> From a823e97625a52d56e2b6cedf57ca124b4a7d4e2c Mon Sep 17 00:00:00 2001 From: Brian Kelley Date: Tue, 28 Jun 2016 14:55:39 -0500 Subject: [PATCH 02/23] Material upgrades --- material-decorator.js | 673 +++++++++++++++++++++----------------- material-decorator.min.js | 2 +- src/autocomplete.html | 2 +- src/card.html | 9 +- src/default.html | 12 +- src/material-decorator.js | 665 ++++++++++++++++++++----------------- src/submit.html | 28 +- 7 files changed, 768 insertions(+), 623 deletions(-) diff --git a/material-decorator.js b/material-decorator.js index d0bce37..73241b9 100644 --- a/material-decorator.js +++ b/material-decorator.js @@ -1,14 +1,14 @@ angular.module("schemaForm").run(["$templateCache", function($templateCache) {$templateCache.put("decorators/material/actions-trcl.html","
"); $templateCache.put("decorators/material/actions.html","
"); $templateCache.put("decorators/material/array.html","
= modelArray.length\" class=\"md-icon-button\" aria-label=\"More\" style=\"position: relative; z-index: 20;\">close
{{ form.add || \'Add\'}}
"); -$templateCache.put("decorators/material/autocomplete.html","
{{item.name}}No matches found
"); +$templateCache.put("decorators/material/autocomplete.html","
{{item.name}}No matches found
"); $templateCache.put("decorators/material/card-content.html",""); -$templateCache.put("decorators/material/card.html",""); +$templateCache.put("decorators/material/card.html","{{ form.title }}"); $templateCache.put("decorators/material/checkbox.html","
{{::form.title}}
"); $templateCache.put("decorators/material/checkboxes.html","
{{::form.titleMap[$index].name}}
"); $templateCache.put("decorators/material/chips.html","
{{$chip}}
"); $templateCache.put("decorators/material/date.html","
"); -$templateCache.put("decorators/material/default.html"," "); +$templateCache.put("decorators/material/default.html"," "); $templateCache.put("decorators/material/fieldset-trcl.html","
{{ form.title }}
"); $templateCache.put("decorators/material/fieldset.html","
{{ form.title }}
"); $templateCache.put("decorators/material/help.html","
"); @@ -18,317 +18,376 @@ $templateCache.put("decorators/material/radios.html","
"); $templateCache.put("decorators/material/select.html","{{::filtered.name}}{{::opt.name}}"); $templateCache.put("decorators/material/slider.html",""); -$templateCache.put("decorators/material/submit.html","
{{::form.tip}}{{::form.title}}
"); +$templateCache.put("decorators/material/submit.html","
{{::form.tip}}{{::form.title}}
"); $templateCache.put("decorators/material/switch.html","{{::form.title}}"); $templateCache.put("decorators/material/tabarray.html",""); $templateCache.put("decorators/material/tabs.html","
"); $templateCache.put("decorators/material/textarea.html"," ");}]); -(function(angular, undefined) {'use strict'; - angular - .module('schemaForm') - .config(materialDecoratorConfig) - .directive('sfmExternalOptions', sfmExternalOptionsDirective) - .filter('sfCamelKey', sfCamelKeyFilter); - - materialDecoratorConfig.$inject = [ - 'schemaFormProvider', 'schemaFormDecoratorsProvider', 'sfBuilderProvider', 'sfPathProvider', '$injector' - ]; - - function materialDecoratorConfig( - schemaFormProvider, decoratorsProvider, sfBuilderProvider, sfPathProvider, $injector) { - var base = 'decorators/material/'; - - var simpleTransclusion = sfBuilderProvider.builders.simpleTransclusion; - var ngModelOptions = sfBuilderProvider.builders.ngModelOptions; - var ngModel = sfBuilderProvider.builders.ngModel; - var sfField = sfBuilderProvider.builders.sfField; - var condition = sfBuilderProvider.builders.condition; - var array = sfBuilderProvider.builders.array; - - var sfLayout = sfLayout; - var sfMessagesNode = sfMessagesNodeHandler(); - var sfMessages = sfMessagesBuilder; - var sfOptions = sfOptionsBuilder; - var mdAutocomplete = mdAutocompleteBuilder; - var mdSwitch = mdSwitchBuilder; - var mdDatepicker = mdDatepickerBuilder; - var mdTabs = mdTabsBuilder; - var textarea = textareaBuilder; - - var core = [ sfField, ngModel, ngModelOptions, condition, sfLayout ]; - var defaults = core.concat(sfMessages); - var arrays = core.concat(array); - - schemaFormProvider.defaults.string.unshift(dateDefault); - - decoratorsProvider.defineDecorator('materialDecorator', { - actions: { template: base + 'actions.html', builder: [ sfField, simpleTransclusion, condition ] }, - array: { template: base + 'array.html', builder: arrays }, - autocomplete: { template: base + 'autocomplete.html', builder: defaults.concat(mdAutocomplete) }, - boolean: { template: base + 'checkbox.html', builder: defaults }, - button: { template: base + 'submit.html', builder: defaults }, - checkbox: { template: base + 'checkbox.html', builder: defaults }, - checkboxes: { template: base + 'checkboxes.html', builder: arrays }, - date: { template: base + 'date.html', builder: defaults.concat(mdDatepicker) }, - 'default': { template: base + 'default.html', builder: defaults }, - fieldset: { template: base + 'fieldset.html', builder: [ sfField, simpleTransclusion, condition ] }, - help: { template: base + 'help.html', builder: defaults }, - number: { template: base + 'default.html', builder: defaults }, - password: { template: base + 'default.html', builder: defaults }, - radios: { template: base + 'radios.html', builder: defaults }, - 'radios-inline': { template: base + 'radios-inline.html', builder: defaults }, - radiobuttons: { template: base + 'radio-buttons.html', builder: defaults }, - section: { template: base + 'section.html', builder: [ sfField, simpleTransclusion, condition, sfLayout ] }, - select: { template: base + 'select.html', builder: defaults.concat(sfOptions) }, - submit: { template: base + 'submit.html', builder: defaults }, - tabs: { template: base + 'tabs.html', builder: [ sfField, mdTabs, condition ] }, - tabarray: { template: base + 'tabarray.html', builder: arrays }, - textarea: { template: base + 'textarea.html', builder: defaults.concat(textarea) }, - switch: { template: base + 'switch.html', builder: defaults.concat(mdSwitch) } - }); - - function sfLayout(args) { - var layoutDiv = args.fieldFrag.querySelector('[sf-layout]'); - - if (args.form.grid) { - Object.getOwnPropertyNames(args.form.grid).forEach(function(property, idx, array) { - layoutDiv.setAttribute(property, args.form.grid[property]); - }); - }; - }; - - function sfMessagesNodeHandler() { - var html = '
'; - var div = document.createElement('div'); - div.innerHTML = html; - return div.firstChild; - }; - - function sfMessagesBuilder(args) { - var messagesDiv = args.fieldFrag.querySelector('[sf-messages]'); - if (messagesDiv && sfMessagesNode) { - var child = sfMessagesNode.cloneNode(); - messagesDiv.appendChild(child); - } - }; - - function textareaBuilder(args) { - var textareaFrag = args.fieldFrag.querySelector('textarea'); - var maxLength = args.form.maxlength || false; - if (textareaFrag && maxLength) { - textareaFrag.setAttribute('md-maxlength', maxLength); - }; - }; - - function mdAutocompleteBuilder(args) { - var mdAutocompleteFrag = args.fieldFrag.querySelector('md-autocomplete'); - var minLength = args.form.minLength || 1; - var maxLength = args.form.maxLength || false; - var title = args.form.title || args.form.placeholder || args.form.key.slice(-1)[0]; - - if (mdAutocompleteFrag) { - if (args.form.onChange) { - mdAutocompleteFrag.setAttribute('md-selected-item-change', 'args.form.onChange()'); - mdAutocompleteFrag.setAttribute('md-search-text-change', 'args.form.onChange(searchText)'); - }; - - // mdAutocompleteFrag.setAttribute('md-items', 'item in $filter(''autocomplete'')(searchText);'); - mdAutocompleteFrag.setAttribute('md-min-length', minLength); - if (maxLength) { - mdAutocompleteFrag.setAttribute('md-max-length', maxLength); - }; - - if (title) { - mdAutocompleteFrag.setAttribute('md-floating-label', title); - }; - } - }; - - function mdSwitchBuilder(args) { - var mdSwitchFrag = args.fieldFrag.querySelector('md-switch'); - if (args.form.schema.titleMap) { - mdSwitchFrag.setAttribute('ng-true-value', args.form.schema.titleMap.true); - mdSwitchFrag.setAttribute('ng-false-value', args.form.schema.titleMap.false); - } - }; - - function sfOptionsBuilder(args) { - var mdSelectFrag = args.fieldFrag.querySelector('md-select'); - var enumTitleMap = []; - var i; - var mdSelectFrag; - - args.form.selectOptions = []; - args.form.getOptions = getOptionsHandler; - - if (args.form.schema.links && (typeof args.form.schema.links) === 'object') { - var link; - var related = /({)([^}]*)(})/gm; - var source = /{{([^}]*)}}/gm; - var matched; - - for (i = 0; i < args.form.schema.links.length; i++) { - link = args.form.schema.links[i]; - if (link.rel === 'options') { - // TODO enable filter to allow processing results - // args.form.optionSource = link.href.replace(related, '$1$1 model.$2 | _externalOptionUri $3$3'); - args.form.optionSource = link.href.replace(related, '$1$1 model.$2 $3$3'); - }; - }; - - mdSelectFrag.setAttribute('sfm-external-options', args.form.optionSource); - } - else { - args.form.selectOptions = sfOptionsProcessor(args.form); - }; - }; - - function mdDatepickerBuilder(args) { - var mdDatepickerFrag = args.fieldFrag.querySelector('md-datepicker'); - if (mdDatepickerFrag) { - if (args.form.onChange) { - mdDatepickerFrag.setAttribute('ng-change', 'args.form.onChange(searchText)'); - } - // mdDatepickerFrag.setAttribute('md-items', 'item in $filter(''autocomplete'')(searchText);'); - var minDate = args.form.minimum || false; - var maxDate = args.form.maximum || false; - if (minDate) { - mdDatepickerFrag.setAttribute('md-max-date', minDate); - } - if (maxDate) { - mdDatepickerFrag.setAttribute('md-max-date', maxDate); - } - } - }; - - function mdTabsBuilder(args) { - if (args.form.tabs && args.form.tabs.length > 0) { - var mdTabsFrag = args.fieldFrag.querySelector('md-tabs'); - - args.form.tabs.forEach(function(tab, index) { - var mdTab = document.createElement('md-tab'); - mdTab.setAttribute('label', '{{' + args.path + '.tabs[' + index + '].title}}'); - var mdTabBody = document.createElement('md-tab-body'); - var childFrag = args.build(tab.items, args.path + '.tabs[' + index + '].items', args.state); - mdTabBody.appendChild(childFrag); - mdTab.appendChild(mdTabBody); - mdTabsFrag.appendChild(mdTab); - }); - } - }; - - /** - * Material Datepicker - */ - function dateDefault(name, schema, options) { - if (schema.type === 'string' && (schema.format === 'date' || schema.format === 'date-time')) { - var f = schemaFormProvider.stdFormObj(name, schema, options); - f.key = options.path; - f.type = 'date'; - options.lookup[sfPathProvider.stringify(options.path)] = f; - return f; - } - }; - }; - - function getOptionsHandler(form, evalExpr) { - if (form.optionData) { - return evalExpr(form.optionData); - }; - - if (form.selectOptions) { - return form.selectOptions; - }; - - return []; - }; - - function sfOptionsProcessor(data) { - var enumTitleMap = []; - - if (data.titleMap) { - return data.titleMap; - } - else if (data.enum && data.enum.length) { - for (i = 0; i < data.enum.length; i++) { - if (data.enum[i] && data.enum[i].length) { - enumTitleMap.push({ name: data.enum[i], value: data.enum[i] }); - }; - }; - }; - - return enumTitleMap; - }; - - sfmExternalOptionsDirective.$inject = [ '$http' ]; - - function sfmExternalOptionsDirective($http) { - var directive = { - link: link, - restrict: 'A' - }; - - return directive; - - function link(scope, element, attrs) { - attrs.$observe('sfmExternalOptions', function(dataURI) { - $http.get(dataURI) - .then(function(response) { - scope.form.selectOptions = sfOptionsProcessor(response.data); - }); - }); - }; - }; - - /** - * sfCamelKey Filter - */ - function sfCamelKeyFilter() { - return function(formKey) { - if (!formKey) { return ''; }; - var part, i, key; - key = formKey.slice(); - for (i = 0; i < key.length; i++) { - part = key[i].toLowerCase().split(''); - if (i && part.length) { part[0] = part[0].toUpperCase(); }; - key[i] = part.join(''); - }; - return key.join(''); - }; - }; +(function(angular, undefined) { + 'use strict'; + angular + .module('schemaForm') + .config(materialDecoratorConfig) + .directive('sfmExternalOptions', sfmExternalOptionsDirective) + .filter('sfCamelKey', sfCamelKeyFilter); + + materialDecoratorConfig.$inject = [ + 'schemaFormProvider', 'schemaFormDecoratorsProvider', 'sfBuilderProvider', 'sfPathProvider', '$injector' + ]; + + function materialDecoratorConfig( schemaFormProvider, decoratorsProvider, sfBuilderProvider, sfPathProvider, $injector ) { + var base = 'decorators/material/'; + + var simpleTransclusion = sfBuilderProvider.builders.simpleTransclusion; + var transclusion = sfBuilderProvider.builders.transclusion; + var ngModelOptions = sfBuilderProvider.builders.ngModelOptions; + var ngModel = sfBuilderProvider.builders.ngModel; + var sfField = sfBuilderProvider.builders.sfField; + var condition = sfBuilderProvider.builders.condition; + var array = sfBuilderProvider.builders.array; + + var sfLayout = sfLayout; + var sfMessagesNode = sfMessagesNodeHandler(); + var sfMessages = sfMessagesBuilder; + var sfOptions = sfOptionsBuilder; + var mdAutocomplete = mdAutocompleteBuilder; + var mdSwitch = mdSwitchBuilder; + var mdDatepicker = mdDatepickerBuilder; + var mdTabs = mdTabsBuilder; + var textarea = textareaBuilder; + + var core = [ sfField, ngModel, ngModelOptions, condition, sfLayout ]; + var defaults = core.concat(sfMessages); + var inputs = [sfField, ngModel, ngModelOptions, condition, sfLayout, sfMessages, mdInputBuilder ]; + var arrays = core.concat(array); + + schemaFormProvider.defaults.string.unshift(dateDefault); + + + //schemaFormProvider.defaults.object.unshift(cardDefault); + + + + decoratorsProvider.defineDecorator('materialDecorator', { + actions: { template: base + 'actions.html', builder: [ sfField, simpleTransclusion, condition ] }, + array: { template: base + 'array.html', builder: arrays }, + autocomplete: { template: base + 'autocomplete.html', builder: defaults.concat(mdAutocomplete) }, + boolean: { template: base + 'checkbox.html', builder: defaults }, + button: { template: base + 'submit.html', builder: defaults }, + card: { template: base + 'card.html', builder: [ sfField, transclusion, condition ] }, + checkbox: { template: base + 'checkbox.html', builder: defaults }, + checkboxes: { template: base + 'checkboxes.html', builder: arrays }, + date: { template: base + 'date.html', builder: defaults.concat(mdDatepicker) }, + 'default': { template: base + 'default.html', builder: inputs }, + fieldset: { template: base + 'fieldset.html', builder: [ sfField, simpleTransclusion, condition ] }, + help: { template: base + 'help.html', builder: defaults }, + number: { template: base + 'default.html', builder: defaults }, + password: { template: base + 'default.html', builder: defaults }, + radios: { template: base + 'radios.html', builder: defaults }, + 'radios-inline': { template: base + 'radios-inline.html', builder: defaults }, + radiobuttons: { template: base + 'radio-buttons.html', builder: defaults }, + section: { template: base + 'section.html', builder: [ sfField, simpleTransclusion, condition, sfLayout ] }, + select: { template: base + 'select.html', builder: defaults.concat(sfOptions) }, + submit: { template: base + 'submit.html', builder: defaults }, + tabs: { template: base + 'tabs.html', builder: [ sfField, mdTabs, condition ] }, + tabarray: { template: base + 'tabarray.html', builder: arrays }, + textarea: { template: base + 'textarea.html', builder: defaults.concat(textarea) }, + switch: { template: base + 'switch.html', builder: defaults.concat(mdSwitch) } + }); + + function mdInputBuilder( args ) { + console.log( args ); + function reduceHelper(obj,i) {return obj[i]} + + var modelValue; + try { + modelValue = args.form.key.reduce(reduceHelper, args.model); + } catch(e) { + modelValue = undefined; + } + + if ( modelValue ) { + var container = args.fieldFrag.querySelector('md-input-container'); + container.className = container.className + " md-input-has-value"; + } + }; + + function sfLayout(args) { + var layoutDiv = args.fieldFrag.querySelector('[sf-layout]'); + + if (args.form.grid) { + Object.getOwnPropertyNames(args.form.grid).forEach(function(property, idx, array) { + layoutDiv.setAttribute(property, args.form.grid[property]); + }); + }; + }; + + function sfMessagesNodeHandler() { + var html = '
'; + var div = document.createElement('div'); + div.innerHTML = html; + return div.firstChild; + }; + + function sfMessagesBuilder(args) { + var messagesDiv = args.fieldFrag.querySelector('[sf-messages]'); + if (messagesDiv && sfMessagesNode) { + var child = sfMessagesNode.cloneNode(); + messagesDiv.appendChild(child); + } + }; + + function textareaBuilder(args) { + var textareaFrag = args.fieldFrag.querySelector('textarea'); + var maxLength = args.form.maxlength || false; + if (textareaFrag && maxLength) { + textareaFrag.setAttribute('md-maxlength', maxLength); + }; + }; + + function mdAutocompleteBuilder(args) { + var mdAutocompleteFrag = args.fieldFrag.querySelector('md-autocomplete'); + var minLength = args.form.minLength || 1; + var maxLength = args.form.maxLength || false; + var title = args.form.title || args.form.placeholder || args.form.key.slice(-1)[0]; + + if (mdAutocompleteFrag) { + if (args.form.onChange) { + mdAutocompleteFrag.setAttribute('md-selected-item-change', 'args.form.onChange()'); + mdAutocompleteFrag.setAttribute('md-search-text-change', 'args.form.onChange(searchText)'); + }; + + // mdAutocompleteFrag.setAttribute('md-items', 'item in $filter(''autocomplete'')(searchText);'); + mdAutocompleteFrag.setAttribute('md-min-length', minLength); + if (maxLength) { + mdAutocompleteFrag.setAttribute('md-max-length', maxLength); + }; + + if (title) { + mdAutocompleteFrag.setAttribute('md-floating-label', title); + }; + } + }; + + function mdSwitchBuilder(args) { + var mdSwitchFrag = args.fieldFrag.querySelector('md-switch'); + if (args.form.schema.titleMap) { + mdSwitchFrag.setAttribute('ng-true-value', args.form.schema.titleMap.true); + mdSwitchFrag.setAttribute('ng-false-value', args.form.schema.titleMap.false); + } + }; + + function sfOptionsBuilder(args) { + var mdSelectFrag = args.fieldFrag.querySelector('md-select'); + var enumTitleMap = []; + var i; + var mdSelectFrag; + + args.form.selectOptions = []; + args.form.getOptions = getOptionsHandler; + + if (args.form.schema.links && (typeof args.form.schema.links) === 'object') { + var link; + var related = /({)([^}]*)(})/gm; + var source = /{{([^}]*)}}/gm; + var matched; + + for (i = 0; i < args.form.schema.links.length; i++) { + link = args.form.schema.links[i]; + if (link.rel === 'options') { + // TODO enable filter to allow processing results + // args.form.optionSource = link.href.replace(related, '$1$1 model.$2 | _externalOptionUri $3$3'); + args.form.optionSource = link.href.replace(related, '$1$1 model.$2 $3$3'); + }; + }; + + mdSelectFrag.setAttribute('sfm-external-options', args.form.optionSource); + } + else { + args.form.selectOptions = sfOptionsProcessor(args.form); + }; + }; + + function mdDatepickerBuilder(args) { + var mdDatepickerFrag = args.fieldFrag.querySelector('md-datepicker'); + if (mdDatepickerFrag) { + if (args.form.onChange) { + mdDatepickerFrag.setAttribute('ng-change', 'args.form.onChange(searchText)'); + } + // mdDatepickerFrag.setAttribute('md-items', 'item in $filter(''autocomplete'')(searchText);'); + var minDate = args.form.minimum || false; + var maxDate = args.form.maximum || false; + if (minDate) { + mdDatepickerFrag.setAttribute('md-max-date', minDate); + } + if (maxDate) { + mdDatepickerFrag.setAttribute('md-max-date', maxDate); + } + } + }; + + function mdTabsBuilder(args) { + if (args.form.tabs && args.form.tabs.length > 0) { + var mdTabsFrag = args.fieldFrag.querySelector('md-tabs'); + + args.form.tabs.forEach(function(tab, index) { + var mdTab = document.createElement('md-tab'); + mdTab.setAttribute('label', '{{' + args.path + '.tabs[' + index + '].title}}'); + var mdTabBody = document.createElement('md-tab-body'); + var childFrag = args.build(tab.items, args.path + '.tabs[' + index + '].items', args.state); + mdTabBody.appendChild(childFrag); + mdTab.appendChild(mdTabBody); + mdTabsFrag.appendChild(mdTab); + }); + } + }; + + /** + * Material Datepicker + */ + function dateDefault(name, schema, options) { + if (schema.type === 'string' && (schema.format === 'date' || schema.format === 'date-time')) { + var f = schemaFormProvider.stdFormObj(name, schema, options); + f.key = options.path; + f.type = 'date'; + options.lookup[sfPathProvider.stringify(options.path)] = f; + return f; + } + }; + + /*function cardDefault(name, schema, options) { + console.log( 'CARD', name, schema, options ); + if (schema.type === 'object' && schema.format === 'card') { + var f = schemaFormProvider.stdFormObj(name, schema, options); + f.type = 'card'; + f.key = options.path; + f.items = []; + options.lookup[sfPathProvider.stringify(options.path)] = f; + + //recurse down into properties + angular.forEach(schema.properties, function(v, k) { + var path = options.path.slice(); + path.push(k); + if (options.ignore[sfPathProvider.stringify(path)] !== true) { + var required = schema.required && schema.required.indexOf(k) !== -1; + + var def = schemaFormProvider.defaultFormDefinition(k, v, { + path: path, + required: required || false, + lookup: options.lookup, + ignore: options.ignore, + global: options.global + }); + if (def) { + f.items.push(def); + } + } + }); + console.log( f ); + return f; + } + + }*/ + }; + + function getOptionsHandler(form, evalExpr) { + if (form.optionData) { + return evalExpr(form.optionData); + }; + + if (form.selectOptions) { + return form.selectOptions; + }; + + return []; + }; + + function sfOptionsProcessor(data) { + var enumTitleMap = []; + + if (data.titleMap) { + return data.titleMap; + } + else if (data.enum && data.enum.length) { + for (i = 0; i < data.enum.length; i++) { + if (data.enum[i] && data.enum[i].length) { + enumTitleMap.push({ name: data.enum[i], value: data.enum[i] }); + }; + }; + }; + + return enumTitleMap; + }; + + sfmExternalOptionsDirective.$inject = [ '$http' ]; + + function sfmExternalOptionsDirective($http) { + var directive = { + link: link, + restrict: 'A' + }; + + return directive; + + function link(scope, element, attrs) { + attrs.$observe('sfmExternalOptions', function(dataURI) { + $http.get(dataURI) + .then(function(response) { + scope.form.selectOptions = sfOptionsProcessor(response.data); + }); + }); + }; + }; + + /** + * sfCamelKey Filter + */ + function sfCamelKeyFilter() { + return function(formKey) { + if (!formKey) { return ''; }; + var part, i, key; + key = formKey.slice(); + for (i = 0; i < key.length; i++) { + part = key[i].toLowerCase().split(''); + if (i && part.length) { part[0] = part[0].toUpperCase(); }; + key[i] = part.join(''); + }; + return key.join(''); + }; + }; })(angular, undefined); /* - TODO add default filter for autocomplete which allows form.optionFilter or 'autocompleteFilter' to override - Something along the following lines... - if ($injector.has('autocompleteFilter')) { - result = $filter('autocomplete')(input); - } - else - if ($injector.has(args.form.optionFilter + 'Filter')) { - result = $filter(args.form.optionFilter)(input); - } - else { - if (args.form.optionFilter) { - mdAutocomplete.setAttribute('md-items', - 'item in evalExpr("this[\""+form.optionFilter+"\"](\""+searchText+"\")")'); - } - } - - .filter('autocompleteMovieTest', function() { - function autocompleteMovieTestFilter(array, input){ - var current = input; - // You could also call multiple filters here using: - // current = $filter('filterName')(input) - if(typeof current === 'string') { - current = current.replace(' ','-').toLowerCase(); - } - current = (!current) ? '_undefined' : current; - return current; - } - - return externalOptionUriFilter; - }) +TODO add default filter for autocomplete which allows form.optionFilter or 'autocompleteFilter' to override +Something along the following lines... +if ($injector.has('autocompleteFilter')) { +result = $filter('autocomplete')(input); +} +else +if ($injector.has(args.form.optionFilter + 'Filter')) { +result = $filter(args.form.optionFilter)(input); +} +else { +if (args.form.optionFilter) { +mdAutocomplete.setAttribute('md-items', +'item in evalExpr("this[\""+form.optionFilter+"\"](\""+searchText+"\")")'); +} +} + +.filter('autocompleteMovieTest', function() { +function autocompleteMovieTestFilter(array, input){ +var current = input; +// You could also call multiple filters here using: +// current = $filter('filterName')(input) +if(typeof current === 'string') { +current = current.replace(' ','-').toLowerCase(); +} +current = (!current) ? '_undefined' : current; +return current; +} + +return externalOptionUriFilter; +}) */ /** diff --git a/material-decorator.min.js b/material-decorator.min.js index f1b1c07..3c7493f 100644 --- a/material-decorator.min.js +++ b/material-decorator.min.js @@ -1 +1 @@ -angular.module("schemaForm").run(["$templateCache",function(e){e.put("decorators/material/actions-trcl.html",'
'),e.put("decorators/material/actions.html",'
'),e.put("decorators/material/array.html",'
close
{{ form.add || \'Add\'}}
'),e.put("decorators/material/autocomplete.html",'
{{item.name}}No matches found
'),e.put("decorators/material/card-content.html",''),e.put("decorators/material/card.html",''),e.put("decorators/material/checkbox.html",'
{{::form.title}}
'),e.put("decorators/material/checkboxes.html",'
{{::form.titleMap[$index].name}}
'),e.put("decorators/material/chips.html",'
{{$chip}}
'),e.put("decorators/material/date.html",'
'),e.put("decorators/material/default.html",' '),e.put("decorators/material/fieldset-trcl.html",'
{{ form.title }}
'),e.put("decorators/material/fieldset.html",'
{{ form.title }}
'),e.put("decorators/material/help.html",'
'),e.put("decorators/material/radio-buttons.html",'
'),e.put("decorators/material/radios-inline.html",'
'),e.put("decorators/material/radios.html",'
'),e.put("decorators/material/section.html",''),e.put("decorators/material/select.html",'{{::filtered.name}}{{::opt.name}}'),e.put("decorators/material/slider.html",''),e.put("decorators/material/submit.html",'
{{::form.tip}}{{::form.title}}
'),e.put("decorators/material/switch.html",'{{::form.title}}'),e.put("decorators/material/tabarray.html",''),e.put("decorators/material/tabs.html",'
'),e.put("decorators/material/textarea.html",' ')}]),function(e,t){"use strict";function a(e,t,a,s,o){function m(e){var t=e.fieldFrag.querySelector("[sf-layout]");e.form.grid&&Object.getOwnPropertyNames(e.form.grid).forEach(function(a,r,l){t.setAttribute(a,e.form.grid[a])})}function i(){var e='
',t=document.createElement("div");return t.innerHTML=e,t.firstChild}function n(e){var t=e.fieldFrag.querySelector("[sf-messages]");if(t&&w){var a=w.cloneNode();t.appendChild(a)}}function d(e){var t=e.fieldFrag.querySelector("textarea"),a=e.form.maxlength||!1;t&&a&&t.setAttribute("md-maxlength",a)}function c(e){var t=e.fieldFrag.querySelector("md-autocomplete"),a=e.form.minLength||1,r=e.form.maxLength||!1,l=e.form.title||e.form.placeholder||e.form.key.slice(-1)[0];t&&(e.form.onChange&&(t.setAttribute("md-selected-item-change","args.form.onChange()"),t.setAttribute("md-search-text-change","args.form.onChange(searchText)")),t.setAttribute("md-min-length",a),r&&t.setAttribute("md-max-length",r),l&&t.setAttribute("md-floating-label",l))}function f(e){var t=e.fieldFrag.querySelector("md-switch");e.form.schema.titleMap&&(t.setAttribute("ng-true-value",e.form.schema.titleMap["true"]),t.setAttribute("ng-false-value",e.form.schema.titleMap["false"]))}function h(e){var t,a,a=e.fieldFrag.querySelector("md-select");if(e.form.selectOptions=[],e.form.getOptions=r,e.form.schema.links&&"object"==typeof e.form.schema.links){var s,o=/({)([^}]*)(})/gm;for(t=0;t0){var t=e.fieldFrag.querySelector("md-tabs");e.form.tabs.forEach(function(a,r){var l=document.createElement("md-tab");l.setAttribute("label","{{"+e.path+".tabs["+r+"].title}}");var s=document.createElement("md-tab-body"),o=e.build(a.items,e.path+".tabs["+r+"].items",e.state);s.appendChild(o),l.appendChild(s),t.appendChild(l)})}}function g(t,a,r){if("string"===a.type&&("date"===a.format||"date-time"===a.format)){var l=e.stdFormObj(t,a,r);return l.key=r.path,l.type="date",r.lookup[s.stringify(r.path)]=l,l}}var b="decorators/material/",y=a.builders.simpleTransclusion,v=a.builders.ngModelOptions,x=a.builders.ngModel,$=a.builders.sfField,k=a.builders.condition,C=a.builders.array,m=m,w=i(),A=n,T=h,E=c,M=f,S=u,F=p,O=d,K=[$,x,v,k,m],j=K.concat(A),H=K.concat(C);e.defaults.string.unshift(g),t.defineDecorator("materialDecorator",{actions:{template:b+"actions.html",builder:[$,y,k]},array:{template:b+"array.html",builder:H},autocomplete:{template:b+"autocomplete.html",builder:j.concat(E)},"boolean":{template:b+"checkbox.html",builder:j},button:{template:b+"submit.html",builder:j},checkbox:{template:b+"checkbox.html",builder:j},checkboxes:{template:b+"checkboxes.html",builder:H},date:{template:b+"date.html",builder:j.concat(S)},"default":{template:b+"default.html",builder:j},fieldset:{template:b+"fieldset.html",builder:[$,y,k]},help:{template:b+"help.html",builder:j},number:{template:b+"default.html",builder:j},password:{template:b+"default.html",builder:j},radios:{template:b+"radios.html",builder:j},"radios-inline":{template:b+"radios-inline.html",builder:j},radiobuttons:{template:b+"radio-buttons.html",builder:j},section:{template:b+"section.html",builder:[$,y,k,m]},select:{template:b+"select.html",builder:j.concat(T)},submit:{template:b+"submit.html",builder:j},tabs:{template:b+"tabs.html",builder:[$,F,k]},tabarray:{template:b+"tabarray.html",builder:H},textarea:{template:b+"textarea.html",builder:j.concat(O)},"switch":{template:b+"switch.html",builder:j.concat(M)}})}function r(e,t){return e.optionData?t(e.optionData):e.selectOptions?e.selectOptions:[]}function l(e){var t=[];if(e.titleMap)return e.titleMap;if(e["enum"]&&e["enum"].length)for(i=0;i
'),e.put("decorators/material/actions.html",'
'),e.put("decorators/material/array.html",'
close
{{ form.add || \'Add\'}}
'),e.put("decorators/material/autocomplete.html",'
{{item.name}}No matches found
'),e.put("decorators/material/card-content.html",''),e.put("decorators/material/card.html",'{{ form.title }}'),e.put("decorators/material/checkbox.html",'
{{::form.title}}
'),e.put("decorators/material/checkboxes.html",'
{{::form.titleMap[$index].name}}
'),e.put("decorators/material/chips.html",'
{{$chip}}
'),e.put("decorators/material/date.html",'
'),e.put("decorators/material/default.html",' '),e.put("decorators/material/fieldset-trcl.html",'
{{ form.title }}
'),e.put("decorators/material/fieldset.html",'
{{ form.title }}
'),e.put("decorators/material/help.html",'
'),e.put("decorators/material/radio-buttons.html",'
'),e.put("decorators/material/radios-inline.html",'
'),e.put("decorators/material/radios.html",'
'),e.put("decorators/material/section.html",''),e.put("decorators/material/select.html",'{{::filtered.name}}{{::opt.name}}'),e.put("decorators/material/slider.html",''),e.put("decorators/material/submit.html",'
{{::form.tip}}{{::form.title}}
'),e.put("decorators/material/switch.html",'{{::form.title}}'),e.put("decorators/material/tabarray.html",''),e.put("decorators/material/tabs.html",'
'),e.put("decorators/material/textarea.html",' ')}]),function(e,t){"use strict";function a(e,a,s,o,m){function i(e){function a(e,t){return e[t]}console.log(e);var r;try{r=e.form.key.reduce(a,e.model)}catch(l){r=t}if(r){var s=e.fieldFrag.querySelector("md-input-container");s.className=s.className+" md-input-has-value"}}function n(e){var t=e.fieldFrag.querySelector("[sf-layout]");e.form.grid&&Object.getOwnPropertyNames(e.form.grid).forEach(function(a,r,l){t.setAttribute(a,e.form.grid[a])})}function d(){var e='
',t=document.createElement("div");return t.innerHTML=e,t.firstChild}function c(e){var t=e.fieldFrag.querySelector("[sf-messages]");if(t&&E){var a=E.cloneNode();t.appendChild(a)}}function f(e){var t=e.fieldFrag.querySelector("textarea"),a=e.form.maxlength||!1;t&&a&&t.setAttribute("md-maxlength",a)}function u(e){var t=e.fieldFrag.querySelector("md-autocomplete"),a=e.form.minLength||1,r=e.form.maxLength||!1,l=e.form.title||e.form.placeholder||e.form.key.slice(-1)[0];t&&(e.form.onChange&&(t.setAttribute("md-selected-item-change","args.form.onChange()"),t.setAttribute("md-search-text-change","args.form.onChange(searchText)")),t.setAttribute("md-min-length",a),r&&t.setAttribute("md-max-length",r),l&&t.setAttribute("md-floating-label",l))}function h(e){var t=e.fieldFrag.querySelector("md-switch");e.form.schema.titleMap&&(t.setAttribute("ng-true-value",e.form.schema.titleMap["true"]),t.setAttribute("ng-false-value",e.form.schema.titleMap["false"]))}function p(e){var t,a,a=e.fieldFrag.querySelector("md-select");if(e.form.selectOptions=[],e.form.getOptions=r,e.form.schema.links&&"object"==typeof e.form.schema.links){var s,o=/({)([^}]*)(})/gm;for(t=0;t0){var t=e.fieldFrag.querySelector("md-tabs");e.form.tabs.forEach(function(a,r){var l=document.createElement("md-tab");l.setAttribute("label","{{"+e.path+".tabs["+r+"].title}}");var s=document.createElement("md-tab-body"),o=e.build(a.items,e.path+".tabs["+r+"].items",e.state);s.appendChild(o),l.appendChild(s),t.appendChild(l)})}}function y(t,a,r){if("string"===a.type&&("date"===a.format||"date-time"===a.format)){var l=e.stdFormObj(t,a,r);return l.key=r.path,l.type="date",r.lookup[o.stringify(r.path)]=l,l}}var v="decorators/material/",x=s.builders.simpleTransclusion,$=s.builders.transclusion,k=s.builders.ngModelOptions,C=s.builders.ngModel,w=s.builders.sfField,A=s.builders.condition,T=s.builders.array,n=n,E=d(),M=c,S=p,F=u,O=h,K=g,j=b,q=f,H=[w,C,k,A,n],D=H.concat(M),P=[w,C,k,A,n,M,i],N=H.concat(T);e.defaults.string.unshift(y),a.defineDecorator("materialDecorator",{actions:{template:v+"actions.html",builder:[w,x,A]},array:{template:v+"array.html",builder:N},autocomplete:{template:v+"autocomplete.html",builder:D.concat(F)},"boolean":{template:v+"checkbox.html",builder:D},button:{template:v+"submit.html",builder:D},card:{template:v+"card.html",builder:[w,$,A]},checkbox:{template:v+"checkbox.html",builder:D},checkboxes:{template:v+"checkboxes.html",builder:N},date:{template:v+"date.html",builder:D.concat(K)},"default":{template:v+"default.html",builder:P},fieldset:{template:v+"fieldset.html",builder:[w,x,A]},help:{template:v+"help.html",builder:D},number:{template:v+"default.html",builder:D},password:{template:v+"default.html",builder:D},radios:{template:v+"radios.html",builder:D},"radios-inline":{template:v+"radios-inline.html",builder:D},radiobuttons:{template:v+"radio-buttons.html",builder:D},section:{template:v+"section.html",builder:[w,x,A,n]},select:{template:v+"select.html",builder:D.concat(S)},submit:{template:v+"submit.html",builder:D},tabs:{template:v+"tabs.html",builder:[w,j,A]},tabarray:{template:v+"tabarray.html",builder:N},textarea:{template:v+"textarea.html",builder:D.concat(q)},"switch":{template:v+"switch.html",builder:D.concat(O)}})}function r(e,t){return e.optionData?t(e.optionData):e.selectOptions?e.selectOptions:[]}function l(e){var t=[];if(e.titleMap)return e.titleMap;if(e["enum"]&&e["enum"].length)for(i=0;i + + + + + {{ form.title }} + + + diff --git a/src/default.html b/src/default.html index 93028b0..8b981d6 100644 --- a/src/default.html +++ b/src/default.html @@ -1,7 +1,7 @@ - - + + aria-describedby="{{::form.key|sfCamelKey}}Status" + + ng-attr-md-maxlength="{{form.maxlength}}" + ng-attr-maxlength="{{form.maxlength}}" + /> diff --git a/src/material-decorator.js b/src/material-decorator.js index 9a796b2..9f0ca00 100644 --- a/src/material-decorator.js +++ b/src/material-decorator.js @@ -1,307 +1,366 @@ -(function(angular, undefined) {'use strict'; - angular - .module('schemaForm') - .config(materialDecoratorConfig) - .directive('sfmExternalOptions', sfmExternalOptionsDirective) - .filter('sfCamelKey', sfCamelKeyFilter); - - materialDecoratorConfig.$inject = [ - 'schemaFormProvider', 'schemaFormDecoratorsProvider', 'sfBuilderProvider', 'sfPathProvider', '$injector' - ]; - - function materialDecoratorConfig( - schemaFormProvider, decoratorsProvider, sfBuilderProvider, sfPathProvider, $injector) { - var base = 'decorators/material/'; - - var simpleTransclusion = sfBuilderProvider.builders.simpleTransclusion; - var ngModelOptions = sfBuilderProvider.builders.ngModelOptions; - var ngModel = sfBuilderProvider.builders.ngModel; - var sfField = sfBuilderProvider.builders.sfField; - var condition = sfBuilderProvider.builders.condition; - var array = sfBuilderProvider.builders.array; - - var sfLayout = sfLayout; - var sfMessagesNode = sfMessagesNodeHandler(); - var sfMessages = sfMessagesBuilder; - var sfOptions = sfOptionsBuilder; - var mdAutocomplete = mdAutocompleteBuilder; - var mdSwitch = mdSwitchBuilder; - var mdDatepicker = mdDatepickerBuilder; - var mdTabs = mdTabsBuilder; - var textarea = textareaBuilder; - - var core = [ sfField, ngModel, ngModelOptions, condition, sfLayout ]; - var defaults = core.concat(sfMessages); - var arrays = core.concat(array); - - schemaFormProvider.defaults.string.unshift(dateDefault); - - decoratorsProvider.defineDecorator('materialDecorator', { - actions: { template: base + 'actions.html', builder: [ sfField, simpleTransclusion, condition ] }, - array: { template: base + 'array.html', builder: arrays }, - autocomplete: { template: base + 'autocomplete.html', builder: defaults.concat(mdAutocomplete) }, - boolean: { template: base + 'checkbox.html', builder: defaults }, - button: { template: base + 'submit.html', builder: defaults }, - checkbox: { template: base + 'checkbox.html', builder: defaults }, - checkboxes: { template: base + 'checkboxes.html', builder: arrays }, - date: { template: base + 'date.html', builder: defaults.concat(mdDatepicker) }, - 'default': { template: base + 'default.html', builder: defaults }, - fieldset: { template: base + 'fieldset.html', builder: [ sfField, simpleTransclusion, condition ] }, - help: { template: base + 'help.html', builder: defaults }, - number: { template: base + 'default.html', builder: defaults }, - password: { template: base + 'default.html', builder: defaults }, - radios: { template: base + 'radios.html', builder: defaults }, - 'radios-inline': { template: base + 'radios-inline.html', builder: defaults }, - radiobuttons: { template: base + 'radio-buttons.html', builder: defaults }, - section: { template: base + 'section.html', builder: [ sfField, simpleTransclusion, condition, sfLayout ] }, - select: { template: base + 'select.html', builder: defaults.concat(sfOptions) }, - submit: { template: base + 'submit.html', builder: defaults }, - tabs: { template: base + 'tabs.html', builder: [ sfField, mdTabs, condition ] }, - tabarray: { template: base + 'tabarray.html', builder: arrays }, - textarea: { template: base + 'textarea.html', builder: defaults.concat(textarea) }, - switch: { template: base + 'switch.html', builder: defaults.concat(mdSwitch) } - }); - - function sfLayout(args) { - var layoutDiv = args.fieldFrag.querySelector('[sf-layout]'); - - if (args.form.grid) { - Object.getOwnPropertyNames(args.form.grid).forEach(function(property, idx, array) { - layoutDiv.setAttribute(property, args.form.grid[property]); - }); - }; - }; - - function sfMessagesNodeHandler() { - var html = '
'; - var div = document.createElement('div'); - div.innerHTML = html; - return div.firstChild; - }; - - function sfMessagesBuilder(args) { - var messagesDiv = args.fieldFrag.querySelector('[sf-messages]'); - if (messagesDiv && sfMessagesNode) { - var child = sfMessagesNode.cloneNode(); - messagesDiv.appendChild(child); - } - }; - - function textareaBuilder(args) { - var textareaFrag = args.fieldFrag.querySelector('textarea'); - var maxLength = args.form.maxlength || false; - if (textareaFrag && maxLength) { - textareaFrag.setAttribute('md-maxlength', maxLength); - }; - }; - - function mdAutocompleteBuilder(args) { - var mdAutocompleteFrag = args.fieldFrag.querySelector('md-autocomplete'); - var minLength = args.form.minLength || 1; - var maxLength = args.form.maxLength || false; - var title = args.form.title || args.form.placeholder || args.form.key.slice(-1)[0]; - - if (mdAutocompleteFrag) { - if (args.form.onChange) { - mdAutocompleteFrag.setAttribute('md-selected-item-change', 'args.form.onChange()'); - mdAutocompleteFrag.setAttribute('md-search-text-change', 'args.form.onChange(searchText)'); - }; - - // mdAutocompleteFrag.setAttribute('md-items', 'item in $filter(''autocomplete'')(searchText);'); - mdAutocompleteFrag.setAttribute('md-min-length', minLength); - if (maxLength) { - mdAutocompleteFrag.setAttribute('md-max-length', maxLength); - }; - - if (title) { - mdAutocompleteFrag.setAttribute('md-floating-label', title); - }; - } - }; - - function mdSwitchBuilder(args) { - var mdSwitchFrag = args.fieldFrag.querySelector('md-switch'); - if (args.form.schema.titleMap) { - mdSwitchFrag.setAttribute('ng-true-value', args.form.schema.titleMap.true); - mdSwitchFrag.setAttribute('ng-false-value', args.form.schema.titleMap.false); - } - }; - - function sfOptionsBuilder(args) { - var mdSelectFrag = args.fieldFrag.querySelector('md-select'); - var enumTitleMap = []; - var i; - var mdSelectFrag; - - args.form.selectOptions = []; - args.form.getOptions = getOptionsHandler; - - if (args.form.schema.links && (typeof args.form.schema.links) === 'object') { - var link; - var related = /({)([^}]*)(})/gm; - var source = /{{([^}]*)}}/gm; - var matched; - - for (i = 0; i < args.form.schema.links.length; i++) { - link = args.form.schema.links[i]; - if (link.rel === 'options') { - // TODO enable filter to allow processing results - // args.form.optionSource = link.href.replace(related, '$1$1 model.$2 | _externalOptionUri $3$3'); - args.form.optionSource = link.href.replace(related, '$1$1 model.$2 $3$3'); - }; - }; - - mdSelectFrag.setAttribute('sfm-external-options', args.form.optionSource); - } - else { - args.form.selectOptions = sfOptionsProcessor(args.form); - }; - }; - - function mdDatepickerBuilder(args) { - var mdDatepickerFrag = args.fieldFrag.querySelector('md-datepicker'); - if (mdDatepickerFrag) { - if (args.form.onChange) { - mdDatepickerFrag.setAttribute('ng-change', 'args.form.onChange(searchText)'); - } - // mdDatepickerFrag.setAttribute('md-items', 'item in $filter(''autocomplete'')(searchText);'); - var minDate = args.form.minimum || false; - var maxDate = args.form.maximum || false; - if (minDate) { - mdDatepickerFrag.setAttribute('md-max-date', minDate); - } - if (maxDate) { - mdDatepickerFrag.setAttribute('md-max-date', maxDate); - } - } - }; - - function mdTabsBuilder(args) { - if (args.form.tabs && args.form.tabs.length > 0) { - var mdTabsFrag = args.fieldFrag.querySelector('md-tabs'); - - args.form.tabs.forEach(function(tab, index) { - var mdTab = document.createElement('md-tab'); - mdTab.setAttribute('label', '{{' + args.path + '.tabs[' + index + '].title}}'); - var mdTabBody = document.createElement('md-tab-body'); - var childFrag = args.build(tab.items, args.path + '.tabs[' + index + '].items', args.state); - mdTabBody.appendChild(childFrag); - mdTab.appendChild(mdTabBody); - mdTabsFrag.appendChild(mdTab); - }); - } - }; - - /** - * Material Datepicker - */ - function dateDefault(name, schema, options) { - if (schema.type === 'string' && (schema.format === 'date' || schema.format === 'date-time')) { - var f = schemaFormProvider.stdFormObj(name, schema, options); - f.key = options.path; - f.type = 'date'; - options.lookup[sfPathProvider.stringify(options.path)] = f; - return f; - } - }; - }; - - function getOptionsHandler(form, evalExpr) { - if (form.optionData) { - return evalExpr(form.optionData); - }; - - if (form.selectOptions) { - return form.selectOptions; - }; - - return []; - }; - - function sfOptionsProcessor(data) { - var enumTitleMap = []; - - if (data.titleMap) { - return data.titleMap; - } - else if (data.enum && data.enum.length) { - for (i = 0; i < data.enum.length; i++) { - if (data.enum[i] && data.enum[i].length) { - enumTitleMap.push({ name: data.enum[i], value: data.enum[i] }); - }; - }; - }; - - return enumTitleMap; - }; - - sfmExternalOptionsDirective.$inject = [ '$http' ]; - - function sfmExternalOptionsDirective($http) { - var directive = { - link: link, - restrict: 'A' - }; - - return directive; - - function link(scope, element, attrs) { - attrs.$observe('sfmExternalOptions', function(dataURI) { - $http.get(dataURI) - .then(function(response) { - scope.form.selectOptions = sfOptionsProcessor(response.data); - }); - }); - }; - }; - - /** - * sfCamelKey Filter - */ - function sfCamelKeyFilter() { - return function(formKey) { - if (!formKey) { return ''; }; - var part, i, key; - key = formKey.slice(); - for (i = 0; i < key.length; i++) { - part = key[i].toLowerCase().split(''); - if (i && part.length) { part[0] = part[0].toUpperCase(); }; - key[i] = part.join(''); - }; - return key.join(''); - }; - }; +(function(angular, undefined) { + 'use strict'; + angular + .module('schemaForm') + .config(materialDecoratorConfig) + .directive('sfmExternalOptions', sfmExternalOptionsDirective) + .filter('sfCamelKey', sfCamelKeyFilter); + + materialDecoratorConfig.$inject = [ + 'schemaFormProvider', 'schemaFormDecoratorsProvider', 'sfBuilderProvider', 'sfPathProvider', '$injector' + ]; + + function materialDecoratorConfig( schemaFormProvider, decoratorsProvider, sfBuilderProvider, sfPathProvider, $injector ) { + var base = 'decorators/material/'; + + var simpleTransclusion = sfBuilderProvider.builders.simpleTransclusion; + var transclusion = sfBuilderProvider.builders.transclusion; + var ngModelOptions = sfBuilderProvider.builders.ngModelOptions; + var ngModel = sfBuilderProvider.builders.ngModel; + var sfField = sfBuilderProvider.builders.sfField; + var condition = sfBuilderProvider.builders.condition; + var array = sfBuilderProvider.builders.array; + + var sfLayout = sfLayout; + var sfMessagesNode = sfMessagesNodeHandler(); + var sfMessages = sfMessagesBuilder; + var sfOptions = sfOptionsBuilder; + var mdAutocomplete = mdAutocompleteBuilder; + var mdSwitch = mdSwitchBuilder; + var mdDatepicker = mdDatepickerBuilder; + var mdTabs = mdTabsBuilder; + var textarea = textareaBuilder; + + var core = [ sfField, ngModel, ngModelOptions, condition, sfLayout ]; + var defaults = core.concat(sfMessages); + var inputs = [sfField, ngModel, ngModelOptions, condition, sfLayout, sfMessages, mdInputBuilder ]; + var arrays = core.concat(array); + + schemaFormProvider.defaults.string.unshift(dateDefault); + + + //schemaFormProvider.defaults.object.unshift(cardDefault); + + + + decoratorsProvider.defineDecorator('materialDecorator', { + actions: { template: base + 'actions.html', builder: [ sfField, simpleTransclusion, condition ] }, + array: { template: base + 'array.html', builder: arrays }, + autocomplete: { template: base + 'autocomplete.html', builder: defaults.concat(mdAutocomplete) }, + boolean: { template: base + 'checkbox.html', builder: defaults }, + button: { template: base + 'submit.html', builder: defaults }, + card: { template: base + 'card.html', builder: [ sfField, transclusion, condition ] }, + checkbox: { template: base + 'checkbox.html', builder: defaults }, + checkboxes: { template: base + 'checkboxes.html', builder: arrays }, + date: { template: base + 'date.html', builder: defaults.concat(mdDatepicker) }, + 'default': { template: base + 'default.html', builder: inputs }, + fieldset: { template: base + 'fieldset.html', builder: [ sfField, simpleTransclusion, condition ] }, + help: { template: base + 'help.html', builder: defaults }, + number: { template: base + 'default.html', builder: defaults }, + password: { template: base + 'default.html', builder: defaults }, + radios: { template: base + 'radios.html', builder: defaults }, + 'radios-inline': { template: base + 'radios-inline.html', builder: defaults }, + radiobuttons: { template: base + 'radio-buttons.html', builder: defaults }, + section: { template: base + 'section.html', builder: [ sfField, simpleTransclusion, condition, sfLayout ] }, + select: { template: base + 'select.html', builder: defaults.concat(sfOptions) }, + submit: { template: base + 'submit.html', builder: defaults }, + tabs: { template: base + 'tabs.html', builder: [ sfField, mdTabs, condition ] }, + tabarray: { template: base + 'tabarray.html', builder: arrays }, + textarea: { template: base + 'textarea.html', builder: defaults.concat(textarea) }, + switch: { template: base + 'switch.html', builder: defaults.concat(mdSwitch) } + }); + + function mdInputBuilder( args ) { + console.log( args ); + function reduceHelper(obj,i) {return obj[i]} + + var modelValue; + try { + modelValue = args.form.key.reduce(reduceHelper, args.model); + } catch(e) { + modelValue = undefined; + } + + if ( modelValue ) { + var container = args.fieldFrag.querySelector('md-input-container'); + container.className = container.className + " md-input-has-value"; + } + }; + + function sfLayout(args) { + var layoutDiv = args.fieldFrag.querySelector('[sf-layout]'); + + if (args.form.grid) { + Object.getOwnPropertyNames(args.form.grid).forEach(function(property, idx, array) { + layoutDiv.setAttribute(property, args.form.grid[property]); + }); + }; + }; + + function sfMessagesNodeHandler() { + var html = '
'; + var div = document.createElement('div'); + div.innerHTML = html; + return div.firstChild; + }; + + function sfMessagesBuilder(args) { + var messagesDiv = args.fieldFrag.querySelector('[sf-messages]'); + if (messagesDiv && sfMessagesNode) { + var child = sfMessagesNode.cloneNode(); + messagesDiv.appendChild(child); + } + }; + + function textareaBuilder(args) { + var textareaFrag = args.fieldFrag.querySelector('textarea'); + var maxLength = args.form.maxlength || false; + if (textareaFrag && maxLength) { + textareaFrag.setAttribute('md-maxlength', maxLength); + }; + }; + + function mdAutocompleteBuilder(args) { + var mdAutocompleteFrag = args.fieldFrag.querySelector('md-autocomplete'); + var minLength = args.form.minLength || 1; + var maxLength = args.form.maxLength || false; + var title = args.form.title || args.form.placeholder || args.form.key.slice(-1)[0]; + + if (mdAutocompleteFrag) { + if (args.form.onChange) { + mdAutocompleteFrag.setAttribute('md-selected-item-change', 'args.form.onChange()'); + mdAutocompleteFrag.setAttribute('md-search-text-change', 'args.form.onChange(searchText)'); + }; + + // mdAutocompleteFrag.setAttribute('md-items', 'item in $filter(''autocomplete'')(searchText);'); + mdAutocompleteFrag.setAttribute('md-min-length', minLength); + if (maxLength) { + mdAutocompleteFrag.setAttribute('md-max-length', maxLength); + }; + + if (title) { + mdAutocompleteFrag.setAttribute('md-floating-label', title); + }; + } + }; + + function mdSwitchBuilder(args) { + var mdSwitchFrag = args.fieldFrag.querySelector('md-switch'); + if (args.form.schema.titleMap) { + mdSwitchFrag.setAttribute('ng-true-value', args.form.schema.titleMap.true); + mdSwitchFrag.setAttribute('ng-false-value', args.form.schema.titleMap.false); + } + }; + + function sfOptionsBuilder(args) { + var mdSelectFrag = args.fieldFrag.querySelector('md-select'); + var enumTitleMap = []; + var i; + var mdSelectFrag; + + args.form.selectOptions = []; + args.form.getOptions = getOptionsHandler; + + if (args.form.schema.links && (typeof args.form.schema.links) === 'object') { + var link; + var related = /({)([^}]*)(})/gm; + var source = /{{([^}]*)}}/gm; + var matched; + + for (i = 0; i < args.form.schema.links.length; i++) { + link = args.form.schema.links[i]; + if (link.rel === 'options') { + // TODO enable filter to allow processing results + // args.form.optionSource = link.href.replace(related, '$1$1 model.$2 | _externalOptionUri $3$3'); + args.form.optionSource = link.href.replace(related, '$1$1 model.$2 $3$3'); + }; + }; + + mdSelectFrag.setAttribute('sfm-external-options', args.form.optionSource); + } + else { + args.form.selectOptions = sfOptionsProcessor(args.form); + }; + }; + + function mdDatepickerBuilder(args) { + var mdDatepickerFrag = args.fieldFrag.querySelector('md-datepicker'); + if (mdDatepickerFrag) { + if (args.form.onChange) { + mdDatepickerFrag.setAttribute('ng-change', 'args.form.onChange(searchText)'); + } + // mdDatepickerFrag.setAttribute('md-items', 'item in $filter(''autocomplete'')(searchText);'); + var minDate = args.form.minimum || false; + var maxDate = args.form.maximum || false; + if (minDate) { + mdDatepickerFrag.setAttribute('md-max-date', minDate); + } + if (maxDate) { + mdDatepickerFrag.setAttribute('md-max-date', maxDate); + } + } + }; + + function mdTabsBuilder(args) { + if (args.form.tabs && args.form.tabs.length > 0) { + var mdTabsFrag = args.fieldFrag.querySelector('md-tabs'); + + args.form.tabs.forEach(function(tab, index) { + var mdTab = document.createElement('md-tab'); + mdTab.setAttribute('label', '{{' + args.path + '.tabs[' + index + '].title}}'); + var mdTabBody = document.createElement('md-tab-body'); + var childFrag = args.build(tab.items, args.path + '.tabs[' + index + '].items', args.state); + mdTabBody.appendChild(childFrag); + mdTab.appendChild(mdTabBody); + mdTabsFrag.appendChild(mdTab); + }); + } + }; + + /** + * Material Datepicker + */ + function dateDefault(name, schema, options) { + if (schema.type === 'string' && (schema.format === 'date' || schema.format === 'date-time')) { + var f = schemaFormProvider.stdFormObj(name, schema, options); + f.key = options.path; + f.type = 'date'; + options.lookup[sfPathProvider.stringify(options.path)] = f; + return f; + } + }; + + /*function cardDefault(name, schema, options) { + console.log( 'CARD', name, schema, options ); + if (schema.type === 'object' && schema.format === 'card') { + var f = schemaFormProvider.stdFormObj(name, schema, options); + f.type = 'card'; + f.key = options.path; + f.items = []; + options.lookup[sfPathProvider.stringify(options.path)] = f; + + //recurse down into properties + angular.forEach(schema.properties, function(v, k) { + var path = options.path.slice(); + path.push(k); + if (options.ignore[sfPathProvider.stringify(path)] !== true) { + var required = schema.required && schema.required.indexOf(k) !== -1; + + var def = schemaFormProvider.defaultFormDefinition(k, v, { + path: path, + required: required || false, + lookup: options.lookup, + ignore: options.ignore, + global: options.global + }); + if (def) { + f.items.push(def); + } + } + }); + console.log( f ); + return f; + } + + }*/ + }; + + function getOptionsHandler(form, evalExpr) { + if (form.optionData) { + return evalExpr(form.optionData); + }; + + if (form.selectOptions) { + return form.selectOptions; + }; + + return []; + }; + + function sfOptionsProcessor(data) { + var enumTitleMap = []; + + if (data.titleMap) { + return data.titleMap; + } + else if (data.enum && data.enum.length) { + for (i = 0; i < data.enum.length; i++) { + if (data.enum[i] && data.enum[i].length) { + enumTitleMap.push({ name: data.enum[i], value: data.enum[i] }); + }; + }; + }; + + return enumTitleMap; + }; + + sfmExternalOptionsDirective.$inject = [ '$http' ]; + + function sfmExternalOptionsDirective($http) { + var directive = { + link: link, + restrict: 'A' + }; + + return directive; + + function link(scope, element, attrs) { + attrs.$observe('sfmExternalOptions', function(dataURI) { + $http.get(dataURI) + .then(function(response) { + scope.form.selectOptions = sfOptionsProcessor(response.data); + }); + }); + }; + }; + + /** + * sfCamelKey Filter + */ + function sfCamelKeyFilter() { + return function(formKey) { + if (!formKey) { return ''; }; + var part, i, key; + key = formKey.slice(); + for (i = 0; i < key.length; i++) { + part = key[i].toLowerCase().split(''); + if (i && part.length) { part[0] = part[0].toUpperCase(); }; + key[i] = part.join(''); + }; + return key.join(''); + }; + }; })(angular, undefined); /* - TODO add default filter for autocomplete which allows form.optionFilter or 'autocompleteFilter' to override - Something along the following lines... - if ($injector.has('autocompleteFilter')) { - result = $filter('autocomplete')(input); - } - else - if ($injector.has(args.form.optionFilter + 'Filter')) { - result = $filter(args.form.optionFilter)(input); - } - else { - if (args.form.optionFilter) { - mdAutocomplete.setAttribute('md-items', - 'item in evalExpr("this[\""+form.optionFilter+"\"](\""+searchText+"\")")'); - } - } - - .filter('autocompleteMovieTest', function() { - function autocompleteMovieTestFilter(array, input){ - var current = input; - // You could also call multiple filters here using: - // current = $filter('filterName')(input) - if(typeof current === 'string') { - current = current.replace(' ','-').toLowerCase(); - } - current = (!current) ? '_undefined' : current; - return current; - } - - return externalOptionUriFilter; - }) +TODO add default filter for autocomplete which allows form.optionFilter or 'autocompleteFilter' to override +Something along the following lines... +if ($injector.has('autocompleteFilter')) { +result = $filter('autocomplete')(input); +} +else +if ($injector.has(args.form.optionFilter + 'Filter')) { +result = $filter(args.form.optionFilter)(input); +} +else { +if (args.form.optionFilter) { +mdAutocomplete.setAttribute('md-items', +'item in evalExpr("this[\""+form.optionFilter+"\"](\""+searchText+"\")")'); +} +} + +.filter('autocompleteMovieTest', function() { +function autocompleteMovieTestFilter(array, input){ +var current = input; +// You could also call multiple filters here using: +// current = $filter('filterName')(input) +if(typeof current === 'string') { +current = current.replace(' ','-').toLowerCase(); +} +current = (!current) ? '_undefined' : current; +return current; +} + +return externalOptionUriFilter; +}) */ diff --git a/src/submit.html b/src/submit.html index 900a52d..25398c8 100644 --- a/src/submit.html +++ b/src/submit.html @@ -1,9 +1,25 @@ -
- +
+ + + + {{::form.tip}} + + {{::form.title}} -
+
\ No newline at end of file From c550074d71b887c6747cafcab5f2b9d6d68a14f3 Mon Sep 17 00:00:00 2001 From: Brian Kelley Date: Mon, 1 Aug 2016 10:40:26 -0500 Subject: [PATCH 03/23] md-auto-complete work, created new sf-changed-auto-complete to watch for changes and trigger the md-selected-item methods, convert back to 2 spaces from tabs --- material-decorator.js | 685 +++++++++++++++++++------------------- material-decorator.min.js | 2 +- src/autocomplete.html | 1 + src/material-decorator.js | 683 +++++++++++++++++++------------------ 4 files changed, 673 insertions(+), 698 deletions(-) diff --git a/material-decorator.js b/material-decorator.js index 73241b9..08cd0c8 100644 --- a/material-decorator.js +++ b/material-decorator.js @@ -1,7 +1,7 @@ angular.module("schemaForm").run(["$templateCache", function($templateCache) {$templateCache.put("decorators/material/actions-trcl.html","
"); $templateCache.put("decorators/material/actions.html","
"); $templateCache.put("decorators/material/array.html","
= modelArray.length\" class=\"md-icon-button\" aria-label=\"More\" style=\"position: relative; z-index: 20;\">close
{{ form.add || \'Add\'}}
"); -$templateCache.put("decorators/material/autocomplete.html","
{{item.name}}No matches found
"); +$templateCache.put("decorators/material/autocomplete.html","
{{item.name}}No matches found
"); $templateCache.put("decorators/material/card-content.html",""); $templateCache.put("decorators/material/card.html","{{ form.title }}"); $templateCache.put("decorators/material/checkbox.html","
{{::form.title}}
"); @@ -24,369 +24,356 @@ $templateCache.put("decorators/material/tabarray.html","
"); $templateCache.put("decorators/material/textarea.html"," ");}]); (function(angular, undefined) { - 'use strict'; - angular - .module('schemaForm') - .config(materialDecoratorConfig) - .directive('sfmExternalOptions', sfmExternalOptionsDirective) - .filter('sfCamelKey', sfCamelKeyFilter); - - materialDecoratorConfig.$inject = [ - 'schemaFormProvider', 'schemaFormDecoratorsProvider', 'sfBuilderProvider', 'sfPathProvider', '$injector' - ]; - - function materialDecoratorConfig( schemaFormProvider, decoratorsProvider, sfBuilderProvider, sfPathProvider, $injector ) { - var base = 'decorators/material/'; - - var simpleTransclusion = sfBuilderProvider.builders.simpleTransclusion; - var transclusion = sfBuilderProvider.builders.transclusion; - var ngModelOptions = sfBuilderProvider.builders.ngModelOptions; - var ngModel = sfBuilderProvider.builders.ngModel; - var sfField = sfBuilderProvider.builders.sfField; - var condition = sfBuilderProvider.builders.condition; - var array = sfBuilderProvider.builders.array; - - var sfLayout = sfLayout; - var sfMessagesNode = sfMessagesNodeHandler(); - var sfMessages = sfMessagesBuilder; - var sfOptions = sfOptionsBuilder; - var mdAutocomplete = mdAutocompleteBuilder; - var mdSwitch = mdSwitchBuilder; - var mdDatepicker = mdDatepickerBuilder; - var mdTabs = mdTabsBuilder; - var textarea = textareaBuilder; - - var core = [ sfField, ngModel, ngModelOptions, condition, sfLayout ]; - var defaults = core.concat(sfMessages); - var inputs = [sfField, ngModel, ngModelOptions, condition, sfLayout, sfMessages, mdInputBuilder ]; - var arrays = core.concat(array); - - schemaFormProvider.defaults.string.unshift(dateDefault); - - - //schemaFormProvider.defaults.object.unshift(cardDefault); - - - - decoratorsProvider.defineDecorator('materialDecorator', { - actions: { template: base + 'actions.html', builder: [ sfField, simpleTransclusion, condition ] }, - array: { template: base + 'array.html', builder: arrays }, - autocomplete: { template: base + 'autocomplete.html', builder: defaults.concat(mdAutocomplete) }, - boolean: { template: base + 'checkbox.html', builder: defaults }, - button: { template: base + 'submit.html', builder: defaults }, - card: { template: base + 'card.html', builder: [ sfField, transclusion, condition ] }, - checkbox: { template: base + 'checkbox.html', builder: defaults }, - checkboxes: { template: base + 'checkboxes.html', builder: arrays }, - date: { template: base + 'date.html', builder: defaults.concat(mdDatepicker) }, - 'default': { template: base + 'default.html', builder: inputs }, - fieldset: { template: base + 'fieldset.html', builder: [ sfField, simpleTransclusion, condition ] }, - help: { template: base + 'help.html', builder: defaults }, - number: { template: base + 'default.html', builder: defaults }, - password: { template: base + 'default.html', builder: defaults }, - radios: { template: base + 'radios.html', builder: defaults }, - 'radios-inline': { template: base + 'radios-inline.html', builder: defaults }, - radiobuttons: { template: base + 'radio-buttons.html', builder: defaults }, - section: { template: base + 'section.html', builder: [ sfField, simpleTransclusion, condition, sfLayout ] }, - select: { template: base + 'select.html', builder: defaults.concat(sfOptions) }, - submit: { template: base + 'submit.html', builder: defaults }, - tabs: { template: base + 'tabs.html', builder: [ sfField, mdTabs, condition ] }, - tabarray: { template: base + 'tabarray.html', builder: arrays }, - textarea: { template: base + 'textarea.html', builder: defaults.concat(textarea) }, - switch: { template: base + 'switch.html', builder: defaults.concat(mdSwitch) } - }); - - function mdInputBuilder( args ) { - console.log( args ); - function reduceHelper(obj,i) {return obj[i]} - - var modelValue; - try { - modelValue = args.form.key.reduce(reduceHelper, args.model); - } catch(e) { - modelValue = undefined; - } - - if ( modelValue ) { - var container = args.fieldFrag.querySelector('md-input-container'); - container.className = container.className + " md-input-has-value"; - } - }; - - function sfLayout(args) { - var layoutDiv = args.fieldFrag.querySelector('[sf-layout]'); - - if (args.form.grid) { - Object.getOwnPropertyNames(args.form.grid).forEach(function(property, idx, array) { - layoutDiv.setAttribute(property, args.form.grid[property]); - }); - }; - }; - - function sfMessagesNodeHandler() { - var html = '
'; - var div = document.createElement('div'); - div.innerHTML = html; - return div.firstChild; - }; - - function sfMessagesBuilder(args) { - var messagesDiv = args.fieldFrag.querySelector('[sf-messages]'); - if (messagesDiv && sfMessagesNode) { - var child = sfMessagesNode.cloneNode(); - messagesDiv.appendChild(child); - } - }; - - function textareaBuilder(args) { - var textareaFrag = args.fieldFrag.querySelector('textarea'); - var maxLength = args.form.maxlength || false; - if (textareaFrag && maxLength) { - textareaFrag.setAttribute('md-maxlength', maxLength); - }; - }; - - function mdAutocompleteBuilder(args) { - var mdAutocompleteFrag = args.fieldFrag.querySelector('md-autocomplete'); - var minLength = args.form.minLength || 1; - var maxLength = args.form.maxLength || false; - var title = args.form.title || args.form.placeholder || args.form.key.slice(-1)[0]; - - if (mdAutocompleteFrag) { - if (args.form.onChange) { - mdAutocompleteFrag.setAttribute('md-selected-item-change', 'args.form.onChange()'); - mdAutocompleteFrag.setAttribute('md-search-text-change', 'args.form.onChange(searchText)'); - }; - - // mdAutocompleteFrag.setAttribute('md-items', 'item in $filter(''autocomplete'')(searchText);'); - mdAutocompleteFrag.setAttribute('md-min-length', minLength); - if (maxLength) { - mdAutocompleteFrag.setAttribute('md-max-length', maxLength); - }; - - if (title) { - mdAutocompleteFrag.setAttribute('md-floating-label', title); - }; - } - }; - - function mdSwitchBuilder(args) { - var mdSwitchFrag = args.fieldFrag.querySelector('md-switch'); - if (args.form.schema.titleMap) { - mdSwitchFrag.setAttribute('ng-true-value', args.form.schema.titleMap.true); - mdSwitchFrag.setAttribute('ng-false-value', args.form.schema.titleMap.false); - } - }; - - function sfOptionsBuilder(args) { - var mdSelectFrag = args.fieldFrag.querySelector('md-select'); - var enumTitleMap = []; - var i; - var mdSelectFrag; - - args.form.selectOptions = []; - args.form.getOptions = getOptionsHandler; - - if (args.form.schema.links && (typeof args.form.schema.links) === 'object') { - var link; - var related = /({)([^}]*)(})/gm; - var source = /{{([^}]*)}}/gm; - var matched; - - for (i = 0; i < args.form.schema.links.length; i++) { - link = args.form.schema.links[i]; - if (link.rel === 'options') { - // TODO enable filter to allow processing results - // args.form.optionSource = link.href.replace(related, '$1$1 model.$2 | _externalOptionUri $3$3'); - args.form.optionSource = link.href.replace(related, '$1$1 model.$2 $3$3'); - }; - }; - - mdSelectFrag.setAttribute('sfm-external-options', args.form.optionSource); - } - else { - args.form.selectOptions = sfOptionsProcessor(args.form); - }; - }; - - function mdDatepickerBuilder(args) { - var mdDatepickerFrag = args.fieldFrag.querySelector('md-datepicker'); - if (mdDatepickerFrag) { - if (args.form.onChange) { - mdDatepickerFrag.setAttribute('ng-change', 'args.form.onChange(searchText)'); - } - // mdDatepickerFrag.setAttribute('md-items', 'item in $filter(''autocomplete'')(searchText);'); - var minDate = args.form.minimum || false; - var maxDate = args.form.maximum || false; - if (minDate) { - mdDatepickerFrag.setAttribute('md-max-date', minDate); - } - if (maxDate) { - mdDatepickerFrag.setAttribute('md-max-date', maxDate); - } - } - }; - - function mdTabsBuilder(args) { - if (args.form.tabs && args.form.tabs.length > 0) { - var mdTabsFrag = args.fieldFrag.querySelector('md-tabs'); - - args.form.tabs.forEach(function(tab, index) { - var mdTab = document.createElement('md-tab'); - mdTab.setAttribute('label', '{{' + args.path + '.tabs[' + index + '].title}}'); - var mdTabBody = document.createElement('md-tab-body'); - var childFrag = args.build(tab.items, args.path + '.tabs[' + index + '].items', args.state); - mdTabBody.appendChild(childFrag); - mdTab.appendChild(mdTabBody); - mdTabsFrag.appendChild(mdTab); - }); - } - }; - - /** - * Material Datepicker - */ - function dateDefault(name, schema, options) { - if (schema.type === 'string' && (schema.format === 'date' || schema.format === 'date-time')) { - var f = schemaFormProvider.stdFormObj(name, schema, options); - f.key = options.path; - f.type = 'date'; - options.lookup[sfPathProvider.stringify(options.path)] = f; - return f; - } - }; - - /*function cardDefault(name, schema, options) { - console.log( 'CARD', name, schema, options ); - if (schema.type === 'object' && schema.format === 'card') { - var f = schemaFormProvider.stdFormObj(name, schema, options); - f.type = 'card'; - f.key = options.path; - f.items = []; - options.lookup[sfPathProvider.stringify(options.path)] = f; - - //recurse down into properties - angular.forEach(schema.properties, function(v, k) { - var path = options.path.slice(); - path.push(k); - if (options.ignore[sfPathProvider.stringify(path)] !== true) { - var required = schema.required && schema.required.indexOf(k) !== -1; - - var def = schemaFormProvider.defaultFormDefinition(k, v, { - path: path, - required: required || false, - lookup: options.lookup, - ignore: options.ignore, - global: options.global - }); - if (def) { - f.items.push(def); - } - } - }); - console.log( f ); - return f; - } - - }*/ - }; - - function getOptionsHandler(form, evalExpr) { - if (form.optionData) { - return evalExpr(form.optionData); - }; - - if (form.selectOptions) { - return form.selectOptions; - }; - - return []; - }; - - function sfOptionsProcessor(data) { - var enumTitleMap = []; - - if (data.titleMap) { - return data.titleMap; - } - else if (data.enum && data.enum.length) { - for (i = 0; i < data.enum.length; i++) { - if (data.enum[i] && data.enum[i].length) { - enumTitleMap.push({ name: data.enum[i], value: data.enum[i] }); - }; - }; - }; - - return enumTitleMap; - }; - - sfmExternalOptionsDirective.$inject = [ '$http' ]; - - function sfmExternalOptionsDirective($http) { - var directive = { - link: link, - restrict: 'A' - }; - - return directive; - - function link(scope, element, attrs) { - attrs.$observe('sfmExternalOptions', function(dataURI) { - $http.get(dataURI) - .then(function(response) { - scope.form.selectOptions = sfOptionsProcessor(response.data); - }); - }); - }; - }; - - /** - * sfCamelKey Filter - */ - function sfCamelKeyFilter() { - return function(formKey) { - if (!formKey) { return ''; }; - var part, i, key; - key = formKey.slice(); - for (i = 0; i < key.length; i++) { - part = key[i].toLowerCase().split(''); - if (i && part.length) { part[0] = part[0].toUpperCase(); }; - key[i] = part.join(''); - }; - return key.join(''); - }; - }; + 'use strict'; + angular + .module('schemaForm') + .config(materialDecoratorConfig) + .directive('sfmExternalOptions', sfmExternalOptionsDirective) + .filter('sfCamelKey', sfCamelKeyFilter) + .directive('sfChangedAutoComplete', function() { + // Duplicate of sf-changed, but instead of adding a watcher, adds a function on the scope to fire the onchange. + return { + require: 'ngModel', + restrict: 'AC', + link: function(scope, element, attrs, ctrl) { + var form = scope.$eval(attrs.sfChangedAutoComplete); + //"form" is really guaranteed to be here since the decorator directive + //waits for it. But best be sure. + if (form && form.onChange) { + scope.onChangeFn = function() { + if (angular.isFunction(form.onChange)) { + form.onChange(ctrl.$modelValue, form); + } else { + scope.evalExpr(form.onChange, {'modelValue': ctrl.$modelValue, form: form}); + } + }; + } + } + }; + }); + + + materialDecoratorConfig.$inject = [ + 'schemaFormProvider', 'schemaFormDecoratorsProvider', 'sfBuilderProvider', 'sfPathProvider', '$injector' + ]; + + function materialDecoratorConfig( schemaFormProvider, decoratorsProvider, sfBuilderProvider, sfPathProvider, $injector ) { + var base = 'decorators/material/'; + + var simpleTransclusion = sfBuilderProvider.builders.simpleTransclusion; + var transclusion = sfBuilderProvider.builders.transclusion; + var ngModelOptions = sfBuilderProvider.builders.ngModelOptions; + var ngModel = sfBuilderProvider.builders.ngModel; + var sfField = sfBuilderProvider.builders.sfField; + var condition = sfBuilderProvider.builders.condition; + var array = sfBuilderProvider.builders.array; + + var sfLayout = sfLayout; + var sfMessagesNode = sfMessagesNodeHandler(); + var sfMessages = sfMessagesBuilder; + var sfOptions = sfOptionsBuilder; + var mdAutocomplete = mdAutocompleteBuilder; + var mdSwitch = mdSwitchBuilder; + var mdDatepicker = mdDatepickerBuilder; + var mdTabs = mdTabsBuilder; + var textarea = textareaBuilder; + + var core = [ sfField, ngModel, ngModelOptions, condition, sfLayout ]; + var defaults = core.concat(sfMessages); + var inputs = [sfField, ngModel, ngModelOptions, condition, sfLayout, sfMessages, mdInputBuilder ]; + var arrays = core.concat(array); + + schemaFormProvider.defaults.string.unshift(dateDefault); + + + //schemaFormProvider.defaults.object.unshift(cardDefault); + + + + decoratorsProvider.defineDecorator('materialDecorator', { + actions: { template: base + 'actions.html', builder: [ sfField, simpleTransclusion, condition ] }, + array: { template: base + 'array.html', builder: arrays }, + autocomplete: { template: base + 'autocomplete.html', builder: defaults.concat(mdAutocomplete) }, + boolean: { template: base + 'checkbox.html', builder: defaults }, + button: { template: base + 'submit.html', builder: defaults }, + card: { template: base + 'card.html', builder: [ sfField, transclusion, condition ] }, + checkbox: { template: base + 'checkbox.html', builder: defaults }, + checkboxes: { template: base + 'checkboxes.html', builder: arrays }, + date: { template: base + 'date.html', builder: defaults.concat(mdDatepicker) }, + 'default': { template: base + 'default.html', builder: inputs }, + fieldset: { template: base + 'fieldset.html', builder: [ sfField, simpleTransclusion, condition ] }, + help: { template: base + 'help.html', builder: defaults }, + number: { template: base + 'default.html', builder: defaults }, + password: { template: base + 'default.html', builder: defaults }, + radios: { template: base + 'radios.html', builder: defaults }, + 'radios-inline': { template: base + 'radios-inline.html', builder: defaults }, + radiobuttons: { template: base + 'radio-buttons.html', builder: defaults }, + section: { template: base + 'section.html', builder: [ sfField, simpleTransclusion, condition, sfLayout ] }, + select: { template: base + 'select.html', builder: defaults.concat(sfOptions) }, + submit: { template: base + 'submit.html', builder: defaults }, + tabs: { template: base + 'tabs.html', builder: [ sfField, mdTabs, condition ] }, + tabarray: { template: base + 'tabarray.html', builder: arrays }, + textarea: { template: base + 'textarea.html', builder: defaults.concat(textarea) }, + switch: { template: base + 'switch.html', builder: defaults.concat(mdSwitch) } + }); + + function mdInputBuilder( args ) { + function reduceHelper(obj,i) {return obj[i]} + + var modelValue; + try { + modelValue = args.form.key.reduce(reduceHelper, args.model); + } catch(e) { + modelValue = undefined; + } + + if ( modelValue ) { + var container = args.fieldFrag.querySelector('md-input-container'); + container.className = container.className + " md-input-has-value"; + } + }; + + function sfLayout(args) { + var layoutDiv = args.fieldFrag.querySelector('[sf-layout]'); + + if (args.form.grid) { + Object.getOwnPropertyNames(args.form.grid).forEach(function(property, idx, array) { + layoutDiv.setAttribute(property, args.form.grid[property]); + }); + }; + }; + + function sfMessagesNodeHandler() { + var html = '
'; + var div = document.createElement('div'); + div.innerHTML = html; + return div.firstChild; + }; + + function sfMessagesBuilder(args) { + var messagesDiv = args.fieldFrag.querySelector('[sf-messages]'); + if (messagesDiv && sfMessagesNode) { + var child = sfMessagesNode.cloneNode(); + messagesDiv.appendChild(child); + } + }; + + function textareaBuilder(args) { + var textareaFrag = args.fieldFrag.querySelector('textarea'); + var maxLength = args.form.maxlength || false; + if (textareaFrag && maxLength) { + textareaFrag.setAttribute('md-maxlength', maxLength); + }; + }; + + function mdAutocompleteBuilder(args) { + var mdAutocompleteFrag = args.fieldFrag.querySelector('md-autocomplete'); + + var minLength = args.form.minLength !== undefined ? args.form.minLength : 1; // Allow the user to pass "0" for min-length to use md-autocomplete as a dropdown with filter. + var maxLength = args.form.maxLength || false; + var title = args.form.title || args.form.placeholder || args.form.key.slice(-1)[0]; + if (mdAutocompleteFrag) { + if (args.form.onChange) { + mdAutocompleteFrag.setAttribute('md-selected-item-change', 'onChangeFn()'); + mdAutocompleteFrag.setAttribute('md-search-text-change', 'onChangeFn(searchText)'); + }; + + mdAutocompleteFrag.setAttribute('md-min-length', minLength); + if (maxLength) { + mdAutocompleteFrag.setAttribute('md-max-length', maxLength); + }; + + if (title) { + mdAutocompleteFrag.setAttribute('md-floating-label', title); + }; + } + }; + + function mdSwitchBuilder(args) { + var mdSwitchFrag = args.fieldFrag.querySelector('md-switch'); + if (args.form.schema.titleMap) { + mdSwitchFrag.setAttribute('ng-true-value', args.form.schema.titleMap.true); + mdSwitchFrag.setAttribute('ng-false-value', args.form.schema.titleMap.false); + } + }; + + function sfOptionsBuilder(args) { + var mdSelectFrag = args.fieldFrag.querySelector('md-select'); + var enumTitleMap = []; + var i; + var mdSelectFrag; + + args.form.selectOptions = []; + args.form.getOptions = getOptionsHandler; + + if (args.form.schema.links && (typeof args.form.schema.links) === 'object') { + var link; + var related = /({)([^}]*)(})/gm; + var source = /{{([^}]*)}}/gm; + var matched; + + for (i = 0; i < args.form.schema.links.length; i++) { + link = args.form.schema.links[i]; + if (link.rel === 'options') { + // TODO enable filter to allow processing results + // args.form.optionSource = link.href.replace(related, '$1$1 model.$2 | _externalOptionUri $3$3'); + args.form.optionSource = link.href.replace(related, '$1$1 model.$2 $3$3'); + }; + }; + + mdSelectFrag.setAttribute('sfm-external-options', args.form.optionSource); + } + else { + args.form.selectOptions = sfOptionsProcessor(args.form); + }; + }; + + function mdDatepickerBuilder(args) { + var mdDatepickerFrag = args.fieldFrag.querySelector('md-datepicker'); + if (mdDatepickerFrag) { + if (args.form.onChange) { + mdDatepickerFrag.setAttribute('ng-change', 'args.form.onChange(searchText)'); + } + // mdDatepickerFrag.setAttribute('md-items', 'item in $filter(''autocomplete'')(searchText);'); + var minDate = args.form.minimum || false; + var maxDate = args.form.maximum || false; + if (minDate) { + mdDatepickerFrag.setAttribute('md-max-date', minDate); + } + if (maxDate) { + mdDatepickerFrag.setAttribute('md-max-date', maxDate); + } + } + }; + + function mdTabsBuilder(args) { + if (args.form.tabs && args.form.tabs.length > 0) { + var mdTabsFrag = args.fieldFrag.querySelector('md-tabs'); + + args.form.tabs.forEach(function(tab, index) { + var mdTab = document.createElement('md-tab'); + mdTab.setAttribute('label', '{{' + args.path + '.tabs[' + index + '].title}}'); + var mdTabBody = document.createElement('md-tab-body'); + var childFrag = args.build(tab.items, args.path + '.tabs[' + index + '].items', args.state); + mdTabBody.appendChild(childFrag); + mdTab.appendChild(mdTabBody); + mdTabsFrag.appendChild(mdTab); + }); + } + }; + + /** + * Material Datepicker + */ + function dateDefault(name, schema, options) { + if (schema.type === 'string' && (schema.format === 'date' || schema.format === 'date-time')) { + var f = schemaFormProvider.stdFormObj(name, schema, options); + f.key = options.path; + f.type = 'date'; + options.lookup[sfPathProvider.stringify(options.path)] = f; + return f; + } + }; + + }; + + function getOptionsHandler(form, evalExpr) { + if (form.optionData) { + return evalExpr(form.optionData); + }; + + if (form.selectOptions) { + return form.selectOptions; + }; + + return []; + }; + + function sfOptionsProcessor(data) { + var enumTitleMap = []; + + if (data.titleMap) { + return data.titleMap; + } + else if (data.enum && data.enum.length) { + for (i = 0; i < data.enum.length; i++) { + if (data.enum[i] && data.enum[i].length) { + enumTitleMap.push({ name: data.enum[i], value: data.enum[i] }); + }; + }; + }; + + return enumTitleMap; + }; + + sfmExternalOptionsDirective.$inject = [ '$http' ]; + + function sfmExternalOptionsDirective($http) { + var directive = { + link: link, + restrict: 'A' + }; + + return directive; + + function link(scope, element, attrs) { + attrs.$observe('sfmExternalOptions', function(dataURI) { + $http.get(dataURI) + .then(function(response) { + scope.form.selectOptions = sfOptionsProcessor(response.data); + }); + }); + }; + }; + + /** + * sfCamelKey Filter + */ + function sfCamelKeyFilter() { + return function(formKey) { + if (!formKey) { return ''; }; + var part, i, key; + key = formKey.slice(); + for (i = 0; i < key.length; i++) { + part = key[i].toLowerCase().split(''); + if (i && part.length) { part[0] = part[0].toUpperCase(); }; + key[i] = part.join(''); + }; + return key.join(''); + }; + }; })(angular, undefined); /* TODO add default filter for autocomplete which allows form.optionFilter or 'autocompleteFilter' to override Something along the following lines... if ($injector.has('autocompleteFilter')) { -result = $filter('autocomplete')(input); + result = $filter('autocomplete')(input); } else if ($injector.has(args.form.optionFilter + 'Filter')) { -result = $filter(args.form.optionFilter)(input); + result = $filter(args.form.optionFilter)(input); } else { -if (args.form.optionFilter) { -mdAutocomplete.setAttribute('md-items', -'item in evalExpr("this[\""+form.optionFilter+"\"](\""+searchText+"\")")'); -} + if (args.form.optionFilter) { + mdAutocomplete.setAttribute('md-items', + 'item in evalExpr("this[\""+form.optionFilter+"\"](\""+searchText+"\")")'); + } } .filter('autocompleteMovieTest', function() { -function autocompleteMovieTestFilter(array, input){ -var current = input; -// You could also call multiple filters here using: -// current = $filter('filterName')(input) -if(typeof current === 'string') { -current = current.replace(' ','-').toLowerCase(); -} -current = (!current) ? '_undefined' : current; -return current; -} + function autocompleteMovieTestFilter(array, input){ + var current = input; + // You could also call multiple filters here using: + // current = $filter('filterName')(input) + if(typeof current === 'string') { + current = current.replace(' ','-').toLowerCase(); + } + current = (!current) ? '_undefined' : current; + return current; + } -return externalOptionUriFilter; + return externalOptionUriFilter; }) */ diff --git a/material-decorator.min.js b/material-decorator.min.js index 3c7493f..e4b9241 100644 --- a/material-decorator.min.js +++ b/material-decorator.min.js @@ -1 +1 @@ -angular.module("schemaForm").run(["$templateCache",function(e){e.put("decorators/material/actions-trcl.html",'
'),e.put("decorators/material/actions.html",'
'),e.put("decorators/material/array.html",'
close
{{ form.add || \'Add\'}}
'),e.put("decorators/material/autocomplete.html",'
{{item.name}}No matches found
'),e.put("decorators/material/card-content.html",''),e.put("decorators/material/card.html",'{{ form.title }}'),e.put("decorators/material/checkbox.html",'
{{::form.title}}
'),e.put("decorators/material/checkboxes.html",'
{{::form.titleMap[$index].name}}
'),e.put("decorators/material/chips.html",'
{{$chip}}
'),e.put("decorators/material/date.html",'
'),e.put("decorators/material/default.html",' '),e.put("decorators/material/fieldset-trcl.html",'
{{ form.title }}
'),e.put("decorators/material/fieldset.html",'
{{ form.title }}
'),e.put("decorators/material/help.html",'
'),e.put("decorators/material/radio-buttons.html",'
'),e.put("decorators/material/radios-inline.html",'
'),e.put("decorators/material/radios.html",'
'),e.put("decorators/material/section.html",''),e.put("decorators/material/select.html",'{{::filtered.name}}{{::opt.name}}'),e.put("decorators/material/slider.html",''),e.put("decorators/material/submit.html",'
{{::form.tip}}{{::form.title}}
'),e.put("decorators/material/switch.html",'{{::form.title}}'),e.put("decorators/material/tabarray.html",''),e.put("decorators/material/tabs.html",'
'),e.put("decorators/material/textarea.html",' ')}]),function(e,t){"use strict";function a(e,a,s,o,m){function i(e){function a(e,t){return e[t]}console.log(e);var r;try{r=e.form.key.reduce(a,e.model)}catch(l){r=t}if(r){var s=e.fieldFrag.querySelector("md-input-container");s.className=s.className+" md-input-has-value"}}function n(e){var t=e.fieldFrag.querySelector("[sf-layout]");e.form.grid&&Object.getOwnPropertyNames(e.form.grid).forEach(function(a,r,l){t.setAttribute(a,e.form.grid[a])})}function d(){var e='
',t=document.createElement("div");return t.innerHTML=e,t.firstChild}function c(e){var t=e.fieldFrag.querySelector("[sf-messages]");if(t&&E){var a=E.cloneNode();t.appendChild(a)}}function f(e){var t=e.fieldFrag.querySelector("textarea"),a=e.form.maxlength||!1;t&&a&&t.setAttribute("md-maxlength",a)}function u(e){var t=e.fieldFrag.querySelector("md-autocomplete"),a=e.form.minLength||1,r=e.form.maxLength||!1,l=e.form.title||e.form.placeholder||e.form.key.slice(-1)[0];t&&(e.form.onChange&&(t.setAttribute("md-selected-item-change","args.form.onChange()"),t.setAttribute("md-search-text-change","args.form.onChange(searchText)")),t.setAttribute("md-min-length",a),r&&t.setAttribute("md-max-length",r),l&&t.setAttribute("md-floating-label",l))}function h(e){var t=e.fieldFrag.querySelector("md-switch");e.form.schema.titleMap&&(t.setAttribute("ng-true-value",e.form.schema.titleMap["true"]),t.setAttribute("ng-false-value",e.form.schema.titleMap["false"]))}function p(e){var t,a,a=e.fieldFrag.querySelector("md-select");if(e.form.selectOptions=[],e.form.getOptions=r,e.form.schema.links&&"object"==typeof e.form.schema.links){var s,o=/({)([^}]*)(})/gm;for(t=0;t0){var t=e.fieldFrag.querySelector("md-tabs");e.form.tabs.forEach(function(a,r){var l=document.createElement("md-tab");l.setAttribute("label","{{"+e.path+".tabs["+r+"].title}}");var s=document.createElement("md-tab-body"),o=e.build(a.items,e.path+".tabs["+r+"].items",e.state);s.appendChild(o),l.appendChild(s),t.appendChild(l)})}}function y(t,a,r){if("string"===a.type&&("date"===a.format||"date-time"===a.format)){var l=e.stdFormObj(t,a,r);return l.key=r.path,l.type="date",r.lookup[o.stringify(r.path)]=l,l}}var v="decorators/material/",x=s.builders.simpleTransclusion,$=s.builders.transclusion,k=s.builders.ngModelOptions,C=s.builders.ngModel,w=s.builders.sfField,A=s.builders.condition,T=s.builders.array,n=n,E=d(),M=c,S=p,F=u,O=h,K=g,j=b,q=f,H=[w,C,k,A,n],D=H.concat(M),P=[w,C,k,A,n,M,i],N=H.concat(T);e.defaults.string.unshift(y),a.defineDecorator("materialDecorator",{actions:{template:v+"actions.html",builder:[w,x,A]},array:{template:v+"array.html",builder:N},autocomplete:{template:v+"autocomplete.html",builder:D.concat(F)},"boolean":{template:v+"checkbox.html",builder:D},button:{template:v+"submit.html",builder:D},card:{template:v+"card.html",builder:[w,$,A]},checkbox:{template:v+"checkbox.html",builder:D},checkboxes:{template:v+"checkboxes.html",builder:N},date:{template:v+"date.html",builder:D.concat(K)},"default":{template:v+"default.html",builder:P},fieldset:{template:v+"fieldset.html",builder:[w,x,A]},help:{template:v+"help.html",builder:D},number:{template:v+"default.html",builder:D},password:{template:v+"default.html",builder:D},radios:{template:v+"radios.html",builder:D},"radios-inline":{template:v+"radios-inline.html",builder:D},radiobuttons:{template:v+"radio-buttons.html",builder:D},section:{template:v+"section.html",builder:[w,x,A,n]},select:{template:v+"select.html",builder:D.concat(S)},submit:{template:v+"submit.html",builder:D},tabs:{template:v+"tabs.html",builder:[w,j,A]},tabarray:{template:v+"tabarray.html",builder:N},textarea:{template:v+"textarea.html",builder:D.concat(q)},"switch":{template:v+"switch.html",builder:D.concat(O)}})}function r(e,t){return e.optionData?t(e.optionData):e.selectOptions?e.selectOptions:[]}function l(e){var t=[];if(e.titleMap)return e.titleMap;if(e["enum"]&&e["enum"].length)for(i=0;i'),e.put("decorators/material/actions.html",'
'),e.put("decorators/material/array.html",'
close
{{ form.add || \'Add\'}}
'),e.put("decorators/material/autocomplete.html",'
{{item.name}}No matches found
'),e.put("decorators/material/card-content.html",''),e.put("decorators/material/card.html",'{{ form.title }}'),e.put("decorators/material/checkbox.html",'
{{::form.title}}
'),e.put("decorators/material/checkboxes.html",'
{{::form.titleMap[$index].name}}
'),e.put("decorators/material/chips.html",'
{{$chip}}
'),e.put("decorators/material/date.html",'
'),e.put("decorators/material/default.html",' '),e.put("decorators/material/fieldset-trcl.html",'
{{ form.title }}
'),e.put("decorators/material/fieldset.html",'
{{ form.title }}
'),e.put("decorators/material/help.html",'
'),e.put("decorators/material/radio-buttons.html",'
'),e.put("decorators/material/radios-inline.html",'
'),e.put("decorators/material/radios.html",'
'),e.put("decorators/material/section.html",''),e.put("decorators/material/select.html",'{{::filtered.name}}{{::opt.name}}'),e.put("decorators/material/slider.html",''),e.put("decorators/material/submit.html",'
{{::form.tip}}{{::form.title}}
'),e.put("decorators/material/switch.html",'{{::form.title}}'),e.put("decorators/material/tabarray.html",''),e.put("decorators/material/tabs.html",'
'),e.put("decorators/material/textarea.html",' ')}]),function(e,t){"use strict";function a(e,a,s,o,m){function i(e){function a(e,t){return e[t]}var r;try{r=e.form.key.reduce(a,e.model)}catch(l){r=t}if(r){var s=e.fieldFrag.querySelector("md-input-container");s.className=s.className+" md-input-has-value"}}function n(e){var t=e.fieldFrag.querySelector("[sf-layout]");e.form.grid&&Object.getOwnPropertyNames(e.form.grid).forEach(function(a,r,l){t.setAttribute(a,e.form.grid[a])})}function d(){var e='
',t=document.createElement("div");return t.innerHTML=e,t.firstChild}function c(e){var t=e.fieldFrag.querySelector("[sf-messages]");if(t&&E){var a=E.cloneNode();t.appendChild(a)}}function f(e){var t=e.fieldFrag.querySelector("textarea"),a=e.form.maxlength||!1;t&&a&&t.setAttribute("md-maxlength",a)}function u(e){var a=e.fieldFrag.querySelector("md-autocomplete"),r=e.form.minLength!==t?e.form.minLength:1,l=e.form.maxLength||!1,s=e.form.title||e.form.placeholder||e.form.key.slice(-1)[0];a&&(e.form.onChange&&(a.setAttribute("md-selected-item-change","onChangeFn()"),a.setAttribute("md-search-text-change","onChangeFn(searchText)")),a.setAttribute("md-min-length",r),l&&a.setAttribute("md-max-length",l),s&&a.setAttribute("md-floating-label",s))}function h(e){var t=e.fieldFrag.querySelector("md-switch");e.form.schema.titleMap&&(t.setAttribute("ng-true-value",e.form.schema.titleMap["true"]),t.setAttribute("ng-false-value",e.form.schema.titleMap["false"]))}function p(e){var t,a,a=e.fieldFrag.querySelector("md-select");if(e.form.selectOptions=[],e.form.getOptions=r,e.form.schema.links&&"object"==typeof e.form.schema.links){var s,o=/({)([^}]*)(})/gm;for(t=0;t0){var t=e.fieldFrag.querySelector("md-tabs");e.form.tabs.forEach(function(a,r){var l=document.createElement("md-tab");l.setAttribute("label","{{"+e.path+".tabs["+r+"].title}}");var s=document.createElement("md-tab-body"),o=e.build(a.items,e.path+".tabs["+r+"].items",e.state);s.appendChild(o),l.appendChild(s),t.appendChild(l)})}}function y(t,a,r){if("string"===a.type&&("date"===a.format||"date-time"===a.format)){var l=e.stdFormObj(t,a,r);return l.key=r.path,l.type="date",r.lookup[o.stringify(r.path)]=l,l}}var v="decorators/material/",x=s.builders.simpleTransclusion,$=s.builders.transclusion,k=s.builders.ngModelOptions,C=s.builders.ngModel,w=s.builders.sfField,A=s.builders.condition,T=s.builders.array,n=n,E=d(),F=c,M=p,S=u,O=h,K=g,q=b,j=f,H=[w,C,k,A,n],D=H.concat(F),P=[w,C,k,A,n,F,i],N=H.concat(T);e.defaults.string.unshift(y),a.defineDecorator("materialDecorator",{actions:{template:v+"actions.html",builder:[w,x,A]},array:{template:v+"array.html",builder:N},autocomplete:{template:v+"autocomplete.html",builder:D.concat(S)},"boolean":{template:v+"checkbox.html",builder:D},button:{template:v+"submit.html",builder:D},card:{template:v+"card.html",builder:[w,$,A]},checkbox:{template:v+"checkbox.html",builder:D},checkboxes:{template:v+"checkboxes.html",builder:N},date:{template:v+"date.html",builder:D.concat(K)},"default":{template:v+"default.html",builder:P},fieldset:{template:v+"fieldset.html",builder:[w,x,A]},help:{template:v+"help.html",builder:D},number:{template:v+"default.html",builder:D},password:{template:v+"default.html",builder:D},radios:{template:v+"radios.html",builder:D},"radios-inline":{template:v+"radios-inline.html",builder:D},radiobuttons:{template:v+"radio-buttons.html",builder:D},section:{template:v+"section.html",builder:[w,x,A,n]},select:{template:v+"select.html",builder:D.concat(M)},submit:{template:v+"submit.html",builder:D},tabs:{template:v+"tabs.html",builder:[w,q,A]},tabarray:{template:v+"tabarray.html",builder:N},textarea:{template:v+"textarea.html",builder:D.concat(j)},"switch":{template:v+"switch.html",builder:D.concat(O)}})}function r(e,t){return e.optionData?t(e.optionData):e.selectOptions?e.selectOptions:[]}function l(e){var t=[];if(e.titleMap)return e.titleMap;if(e["enum"]&&e["enum"].length)for(i=0;i 0) { - var mdTabsFrag = args.fieldFrag.querySelector('md-tabs'); - - args.form.tabs.forEach(function(tab, index) { - var mdTab = document.createElement('md-tab'); - mdTab.setAttribute('label', '{{' + args.path + '.tabs[' + index + '].title}}'); - var mdTabBody = document.createElement('md-tab-body'); - var childFrag = args.build(tab.items, args.path + '.tabs[' + index + '].items', args.state); - mdTabBody.appendChild(childFrag); - mdTab.appendChild(mdTabBody); - mdTabsFrag.appendChild(mdTab); - }); - } - }; - - /** - * Material Datepicker - */ - function dateDefault(name, schema, options) { - if (schema.type === 'string' && (schema.format === 'date' || schema.format === 'date-time')) { - var f = schemaFormProvider.stdFormObj(name, schema, options); - f.key = options.path; - f.type = 'date'; - options.lookup[sfPathProvider.stringify(options.path)] = f; - return f; - } - }; - - /*function cardDefault(name, schema, options) { - console.log( 'CARD', name, schema, options ); - if (schema.type === 'object' && schema.format === 'card') { - var f = schemaFormProvider.stdFormObj(name, schema, options); - f.type = 'card'; - f.key = options.path; - f.items = []; - options.lookup[sfPathProvider.stringify(options.path)] = f; - - //recurse down into properties - angular.forEach(schema.properties, function(v, k) { - var path = options.path.slice(); - path.push(k); - if (options.ignore[sfPathProvider.stringify(path)] !== true) { - var required = schema.required && schema.required.indexOf(k) !== -1; - - var def = schemaFormProvider.defaultFormDefinition(k, v, { - path: path, - required: required || false, - lookup: options.lookup, - ignore: options.ignore, - global: options.global - }); - if (def) { - f.items.push(def); - } - } - }); - console.log( f ); - return f; - } - - }*/ - }; - - function getOptionsHandler(form, evalExpr) { - if (form.optionData) { - return evalExpr(form.optionData); - }; - - if (form.selectOptions) { - return form.selectOptions; - }; - - return []; - }; - - function sfOptionsProcessor(data) { - var enumTitleMap = []; - - if (data.titleMap) { - return data.titleMap; - } - else if (data.enum && data.enum.length) { - for (i = 0; i < data.enum.length; i++) { - if (data.enum[i] && data.enum[i].length) { - enumTitleMap.push({ name: data.enum[i], value: data.enum[i] }); - }; - }; - }; - - return enumTitleMap; - }; - - sfmExternalOptionsDirective.$inject = [ '$http' ]; - - function sfmExternalOptionsDirective($http) { - var directive = { - link: link, - restrict: 'A' - }; - - return directive; - - function link(scope, element, attrs) { - attrs.$observe('sfmExternalOptions', function(dataURI) { - $http.get(dataURI) - .then(function(response) { - scope.form.selectOptions = sfOptionsProcessor(response.data); - }); - }); - }; - }; - - /** - * sfCamelKey Filter - */ - function sfCamelKeyFilter() { - return function(formKey) { - if (!formKey) { return ''; }; - var part, i, key; - key = formKey.slice(); - for (i = 0; i < key.length; i++) { - part = key[i].toLowerCase().split(''); - if (i && part.length) { part[0] = part[0].toUpperCase(); }; - key[i] = part.join(''); - }; - return key.join(''); - }; - }; + 'use strict'; + angular + .module('schemaForm') + .config(materialDecoratorConfig) + .directive('sfmExternalOptions', sfmExternalOptionsDirective) + .filter('sfCamelKey', sfCamelKeyFilter) + .directive('sfChangedAutoComplete', function() { + // Duplicate of sf-changed, but instead of adding a watcher, adds a function on the scope to fire the onchange. + return { + require: 'ngModel', + restrict: 'AC', + link: function(scope, element, attrs, ctrl) { + var form = scope.$eval(attrs.sfChangedAutoComplete); + //"form" is really guaranteed to be here since the decorator directive + //waits for it. But best be sure. + if (form && form.onChange) { + scope.onChangeFn = function() { + if (angular.isFunction(form.onChange)) { + form.onChange(ctrl.$modelValue, form); + } else { + scope.evalExpr(form.onChange, {'modelValue': ctrl.$modelValue, form: form}); + } + }; + } + } + }; + }); + + + materialDecoratorConfig.$inject = [ + 'schemaFormProvider', 'schemaFormDecoratorsProvider', 'sfBuilderProvider', 'sfPathProvider', '$injector' + ]; + + function materialDecoratorConfig( schemaFormProvider, decoratorsProvider, sfBuilderProvider, sfPathProvider, $injector ) { + var base = 'decorators/material/'; + + var simpleTransclusion = sfBuilderProvider.builders.simpleTransclusion; + var transclusion = sfBuilderProvider.builders.transclusion; + var ngModelOptions = sfBuilderProvider.builders.ngModelOptions; + var ngModel = sfBuilderProvider.builders.ngModel; + var sfField = sfBuilderProvider.builders.sfField; + var condition = sfBuilderProvider.builders.condition; + var array = sfBuilderProvider.builders.array; + + var sfLayout = sfLayout; + var sfMessagesNode = sfMessagesNodeHandler(); + var sfMessages = sfMessagesBuilder; + var sfOptions = sfOptionsBuilder; + var mdAutocomplete = mdAutocompleteBuilder; + var mdSwitch = mdSwitchBuilder; + var mdDatepicker = mdDatepickerBuilder; + var mdTabs = mdTabsBuilder; + var textarea = textareaBuilder; + + var core = [ sfField, ngModel, ngModelOptions, condition, sfLayout ]; + var defaults = core.concat(sfMessages); + var inputs = [sfField, ngModel, ngModelOptions, condition, sfLayout, sfMessages, mdInputBuilder ]; + var arrays = core.concat(array); + + schemaFormProvider.defaults.string.unshift(dateDefault); + + + //schemaFormProvider.defaults.object.unshift(cardDefault); + + + + decoratorsProvider.defineDecorator('materialDecorator', { + actions: { template: base + 'actions.html', builder: [ sfField, simpleTransclusion, condition ] }, + array: { template: base + 'array.html', builder: arrays }, + autocomplete: { template: base + 'autocomplete.html', builder: defaults.concat(mdAutocomplete) }, + boolean: { template: base + 'checkbox.html', builder: defaults }, + button: { template: base + 'submit.html', builder: defaults }, + card: { template: base + 'card.html', builder: [ sfField, transclusion, condition ] }, + checkbox: { template: base + 'checkbox.html', builder: defaults }, + checkboxes: { template: base + 'checkboxes.html', builder: arrays }, + date: { template: base + 'date.html', builder: defaults.concat(mdDatepicker) }, + 'default': { template: base + 'default.html', builder: inputs }, + fieldset: { template: base + 'fieldset.html', builder: [ sfField, simpleTransclusion, condition ] }, + help: { template: base + 'help.html', builder: defaults }, + number: { template: base + 'default.html', builder: defaults }, + password: { template: base + 'default.html', builder: defaults }, + radios: { template: base + 'radios.html', builder: defaults }, + 'radios-inline': { template: base + 'radios-inline.html', builder: defaults }, + radiobuttons: { template: base + 'radio-buttons.html', builder: defaults }, + section: { template: base + 'section.html', builder: [ sfField, simpleTransclusion, condition, sfLayout ] }, + select: { template: base + 'select.html', builder: defaults.concat(sfOptions) }, + submit: { template: base + 'submit.html', builder: defaults }, + tabs: { template: base + 'tabs.html', builder: [ sfField, mdTabs, condition ] }, + tabarray: { template: base + 'tabarray.html', builder: arrays }, + textarea: { template: base + 'textarea.html', builder: defaults.concat(textarea) }, + switch: { template: base + 'switch.html', builder: defaults.concat(mdSwitch) } + }); + + function mdInputBuilder( args ) { + function reduceHelper(obj,i) {return obj[i]} + + var modelValue; + try { + modelValue = args.form.key.reduce(reduceHelper, args.model); + } catch(e) { + modelValue = undefined; + } + + if ( modelValue ) { + var container = args.fieldFrag.querySelector('md-input-container'); + container.className = container.className + " md-input-has-value"; + } + }; + + function sfLayout(args) { + var layoutDiv = args.fieldFrag.querySelector('[sf-layout]'); + + if (args.form.grid) { + Object.getOwnPropertyNames(args.form.grid).forEach(function(property, idx, array) { + layoutDiv.setAttribute(property, args.form.grid[property]); + }); + }; + }; + + function sfMessagesNodeHandler() { + var html = '
'; + var div = document.createElement('div'); + div.innerHTML = html; + return div.firstChild; + }; + + function sfMessagesBuilder(args) { + var messagesDiv = args.fieldFrag.querySelector('[sf-messages]'); + if (messagesDiv && sfMessagesNode) { + var child = sfMessagesNode.cloneNode(); + messagesDiv.appendChild(child); + } + }; + + function textareaBuilder(args) { + var textareaFrag = args.fieldFrag.querySelector('textarea'); + var maxLength = args.form.maxlength || false; + if (textareaFrag && maxLength) { + textareaFrag.setAttribute('md-maxlength', maxLength); + }; + }; + + function mdAutocompleteBuilder(args) { + var mdAutocompleteFrag = args.fieldFrag.querySelector('md-autocomplete'); + + var minLength = args.form.minLength !== undefined ? args.form.minLength : 1; // Allow the user to pass "0" for min-length to use md-autocomplete as a dropdown with filter. + var maxLength = args.form.maxLength || false; + var title = args.form.title || args.form.placeholder || args.form.key.slice(-1)[0]; + if (mdAutocompleteFrag) { + if (args.form.onChange) { + mdAutocompleteFrag.setAttribute('md-selected-item-change', 'onChangeFn()'); + mdAutocompleteFrag.setAttribute('md-search-text-change', 'onChangeFn(searchText)'); + }; + + mdAutocompleteFrag.setAttribute('md-min-length', minLength); + if (maxLength) { + mdAutocompleteFrag.setAttribute('md-max-length', maxLength); + }; + + if (title) { + mdAutocompleteFrag.setAttribute('md-floating-label', title); + }; + } + }; + + function mdSwitchBuilder(args) { + var mdSwitchFrag = args.fieldFrag.querySelector('md-switch'); + if (args.form.schema.titleMap) { + mdSwitchFrag.setAttribute('ng-true-value', args.form.schema.titleMap.true); + mdSwitchFrag.setAttribute('ng-false-value', args.form.schema.titleMap.false); + } + }; + + function sfOptionsBuilder(args) { + var mdSelectFrag = args.fieldFrag.querySelector('md-select'); + var enumTitleMap = []; + var i; + var mdSelectFrag; + + args.form.selectOptions = []; + args.form.getOptions = getOptionsHandler; + + if (args.form.schema.links && (typeof args.form.schema.links) === 'object') { + var link; + var related = /({)([^}]*)(})/gm; + var source = /{{([^}]*)}}/gm; + var matched; + + for (i = 0; i < args.form.schema.links.length; i++) { + link = args.form.schema.links[i]; + if (link.rel === 'options') { + // TODO enable filter to allow processing results + // args.form.optionSource = link.href.replace(related, '$1$1 model.$2 | _externalOptionUri $3$3'); + args.form.optionSource = link.href.replace(related, '$1$1 model.$2 $3$3'); + }; + }; + + mdSelectFrag.setAttribute('sfm-external-options', args.form.optionSource); + } + else { + args.form.selectOptions = sfOptionsProcessor(args.form); + }; + }; + + function mdDatepickerBuilder(args) { + var mdDatepickerFrag = args.fieldFrag.querySelector('md-datepicker'); + if (mdDatepickerFrag) { + if (args.form.onChange) { + mdDatepickerFrag.setAttribute('ng-change', 'args.form.onChange(searchText)'); + } + // mdDatepickerFrag.setAttribute('md-items', 'item in $filter(''autocomplete'')(searchText);'); + var minDate = args.form.minimum || false; + var maxDate = args.form.maximum || false; + if (minDate) { + mdDatepickerFrag.setAttribute('md-max-date', minDate); + } + if (maxDate) { + mdDatepickerFrag.setAttribute('md-max-date', maxDate); + } + } + }; + + function mdTabsBuilder(args) { + if (args.form.tabs && args.form.tabs.length > 0) { + var mdTabsFrag = args.fieldFrag.querySelector('md-tabs'); + + args.form.tabs.forEach(function(tab, index) { + var mdTab = document.createElement('md-tab'); + mdTab.setAttribute('label', '{{' + args.path + '.tabs[' + index + '].title}}'); + var mdTabBody = document.createElement('md-tab-body'); + var childFrag = args.build(tab.items, args.path + '.tabs[' + index + '].items', args.state); + mdTabBody.appendChild(childFrag); + mdTab.appendChild(mdTabBody); + mdTabsFrag.appendChild(mdTab); + }); + } + }; + + /** + * Material Datepicker + */ + function dateDefault(name, schema, options) { + if (schema.type === 'string' && (schema.format === 'date' || schema.format === 'date-time')) { + var f = schemaFormProvider.stdFormObj(name, schema, options); + f.key = options.path; + f.type = 'date'; + options.lookup[sfPathProvider.stringify(options.path)] = f; + return f; + } + }; + + }; + + function getOptionsHandler(form, evalExpr) { + if (form.optionData) { + return evalExpr(form.optionData); + }; + + if (form.selectOptions) { + return form.selectOptions; + }; + + return []; + }; + + function sfOptionsProcessor(data) { + var enumTitleMap = []; + + if (data.titleMap) { + return data.titleMap; + } + else if (data.enum && data.enum.length) { + for (i = 0; i < data.enum.length; i++) { + if (data.enum[i] && data.enum[i].length) { + enumTitleMap.push({ name: data.enum[i], value: data.enum[i] }); + }; + }; + }; + + return enumTitleMap; + }; + + sfmExternalOptionsDirective.$inject = [ '$http' ]; + + function sfmExternalOptionsDirective($http) { + var directive = { + link: link, + restrict: 'A' + }; + + return directive; + + function link(scope, element, attrs) { + attrs.$observe('sfmExternalOptions', function(dataURI) { + $http.get(dataURI) + .then(function(response) { + scope.form.selectOptions = sfOptionsProcessor(response.data); + }); + }); + }; + }; + + /** + * sfCamelKey Filter + */ + function sfCamelKeyFilter() { + return function(formKey) { + if (!formKey) { return ''; }; + var part, i, key; + key = formKey.slice(); + for (i = 0; i < key.length; i++) { + part = key[i].toLowerCase().split(''); + if (i && part.length) { part[0] = part[0].toUpperCase(); }; + key[i] = part.join(''); + }; + return key.join(''); + }; + }; })(angular, undefined); /* TODO add default filter for autocomplete which allows form.optionFilter or 'autocompleteFilter' to override Something along the following lines... if ($injector.has('autocompleteFilter')) { -result = $filter('autocomplete')(input); + result = $filter('autocomplete')(input); } else if ($injector.has(args.form.optionFilter + 'Filter')) { -result = $filter(args.form.optionFilter)(input); + result = $filter(args.form.optionFilter)(input); } else { -if (args.form.optionFilter) { -mdAutocomplete.setAttribute('md-items', -'item in evalExpr("this[\""+form.optionFilter+"\"](\""+searchText+"\")")'); -} + if (args.form.optionFilter) { + mdAutocomplete.setAttribute('md-items', + 'item in evalExpr("this[\""+form.optionFilter+"\"](\""+searchText+"\")")'); + } } .filter('autocompleteMovieTest', function() { -function autocompleteMovieTestFilter(array, input){ -var current = input; -// You could also call multiple filters here using: -// current = $filter('filterName')(input) -if(typeof current === 'string') { -current = current.replace(' ','-').toLowerCase(); -} -current = (!current) ? '_undefined' : current; -return current; -} + function autocompleteMovieTestFilter(array, input){ + var current = input; + // You could also call multiple filters here using: + // current = $filter('filterName')(input) + if(typeof current === 'string') { + current = current.replace(' ','-').toLowerCase(); + } + current = (!current) ? '_undefined' : current; + return current; + } -return externalOptionUriFilter; + return externalOptionUriFilter; }) */ From 02ad436e4951dd40f6e5cc854bcb7908e127b168 Mon Sep 17 00:00:00 2001 From: Brian Kelley Date: Mon, 1 Aug 2016 11:01:17 -0500 Subject: [PATCH 04/23] spacing --- src/material-decorator.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/material-decorator.js b/src/material-decorator.js index c7ee1fe..f00d1ef 100644 --- a/src/material-decorator.js +++ b/src/material-decorator.js @@ -71,12 +71,12 @@ autocomplete: { template: base + 'autocomplete.html', builder: defaults.concat(mdAutocomplete) }, boolean: { template: base + 'checkbox.html', builder: defaults }, button: { template: base + 'submit.html', builder: defaults }, - card: { template: base + 'card.html', builder: [ sfField, transclusion, condition ] }, + card: { template: base + 'card.html', builder: [ sfField, transclusion, condition ] }, checkbox: { template: base + 'checkbox.html', builder: defaults }, checkboxes: { template: base + 'checkboxes.html', builder: arrays }, date: { template: base + 'date.html', builder: defaults.concat(mdDatepicker) }, 'default': { template: base + 'default.html', builder: inputs }, - fieldset: { template: base + 'fieldset.html', builder: [ sfField, simpleTransclusion, condition ] }, + fieldset: { template: base + 'fieldset.html', builder: [ sfField, simpleTransclusion, condition ] }, help: { template: base + 'help.html', builder: defaults }, number: { template: base + 'default.html', builder: defaults }, password: { template: base + 'default.html', builder: defaults }, From 7ef72611bbbc3a0b407bf8b569eb42f427280fac Mon Sep 17 00:00:00 2001 From: Brian Kelley Date: Mon, 1 Aug 2016 11:05:13 -0500 Subject: [PATCH 05/23] Untrack dist files --- material-decorator.js | 426 -------------------------------------- material-decorator.min.js | 1 - 2 files changed, 427 deletions(-) delete mode 100644 material-decorator.js delete mode 100644 material-decorator.min.js diff --git a/material-decorator.js b/material-decorator.js deleted file mode 100644 index 08cd0c8..0000000 --- a/material-decorator.js +++ /dev/null @@ -1,426 +0,0 @@ -angular.module("schemaForm").run(["$templateCache", function($templateCache) {$templateCache.put("decorators/material/actions-trcl.html","
"); -$templateCache.put("decorators/material/actions.html","
"); -$templateCache.put("decorators/material/array.html","
= modelArray.length\" class=\"md-icon-button\" aria-label=\"More\" style=\"position: relative; z-index: 20;\">close
{{ form.add || \'Add\'}}
"); -$templateCache.put("decorators/material/autocomplete.html","
{{item.name}}No matches found
"); -$templateCache.put("decorators/material/card-content.html",""); -$templateCache.put("decorators/material/card.html","{{ form.title }}"); -$templateCache.put("decorators/material/checkbox.html","
{{::form.title}}
"); -$templateCache.put("decorators/material/checkboxes.html","
{{::form.titleMap[$index].name}}
"); -$templateCache.put("decorators/material/chips.html","
{{$chip}}
"); -$templateCache.put("decorators/material/date.html","
"); -$templateCache.put("decorators/material/default.html"," "); -$templateCache.put("decorators/material/fieldset-trcl.html","
{{ form.title }}
"); -$templateCache.put("decorators/material/fieldset.html","
{{ form.title }}
"); -$templateCache.put("decorators/material/help.html","
"); -$templateCache.put("decorators/material/radio-buttons.html","
"); -$templateCache.put("decorators/material/radios-inline.html","
"); -$templateCache.put("decorators/material/radios.html","
"); -$templateCache.put("decorators/material/section.html",""); -$templateCache.put("decorators/material/select.html","{{::filtered.name}}{{::opt.name}}"); -$templateCache.put("decorators/material/slider.html",""); -$templateCache.put("decorators/material/submit.html","
{{::form.tip}}{{::form.title}}
"); -$templateCache.put("decorators/material/switch.html","{{::form.title}}"); -$templateCache.put("decorators/material/tabarray.html",""); -$templateCache.put("decorators/material/tabs.html","
"); -$templateCache.put("decorators/material/textarea.html"," ");}]); -(function(angular, undefined) { - 'use strict'; - angular - .module('schemaForm') - .config(materialDecoratorConfig) - .directive('sfmExternalOptions', sfmExternalOptionsDirective) - .filter('sfCamelKey', sfCamelKeyFilter) - .directive('sfChangedAutoComplete', function() { - // Duplicate of sf-changed, but instead of adding a watcher, adds a function on the scope to fire the onchange. - return { - require: 'ngModel', - restrict: 'AC', - link: function(scope, element, attrs, ctrl) { - var form = scope.$eval(attrs.sfChangedAutoComplete); - //"form" is really guaranteed to be here since the decorator directive - //waits for it. But best be sure. - if (form && form.onChange) { - scope.onChangeFn = function() { - if (angular.isFunction(form.onChange)) { - form.onChange(ctrl.$modelValue, form); - } else { - scope.evalExpr(form.onChange, {'modelValue': ctrl.$modelValue, form: form}); - } - }; - } - } - }; - }); - - - materialDecoratorConfig.$inject = [ - 'schemaFormProvider', 'schemaFormDecoratorsProvider', 'sfBuilderProvider', 'sfPathProvider', '$injector' - ]; - - function materialDecoratorConfig( schemaFormProvider, decoratorsProvider, sfBuilderProvider, sfPathProvider, $injector ) { - var base = 'decorators/material/'; - - var simpleTransclusion = sfBuilderProvider.builders.simpleTransclusion; - var transclusion = sfBuilderProvider.builders.transclusion; - var ngModelOptions = sfBuilderProvider.builders.ngModelOptions; - var ngModel = sfBuilderProvider.builders.ngModel; - var sfField = sfBuilderProvider.builders.sfField; - var condition = sfBuilderProvider.builders.condition; - var array = sfBuilderProvider.builders.array; - - var sfLayout = sfLayout; - var sfMessagesNode = sfMessagesNodeHandler(); - var sfMessages = sfMessagesBuilder; - var sfOptions = sfOptionsBuilder; - var mdAutocomplete = mdAutocompleteBuilder; - var mdSwitch = mdSwitchBuilder; - var mdDatepicker = mdDatepickerBuilder; - var mdTabs = mdTabsBuilder; - var textarea = textareaBuilder; - - var core = [ sfField, ngModel, ngModelOptions, condition, sfLayout ]; - var defaults = core.concat(sfMessages); - var inputs = [sfField, ngModel, ngModelOptions, condition, sfLayout, sfMessages, mdInputBuilder ]; - var arrays = core.concat(array); - - schemaFormProvider.defaults.string.unshift(dateDefault); - - - //schemaFormProvider.defaults.object.unshift(cardDefault); - - - - decoratorsProvider.defineDecorator('materialDecorator', { - actions: { template: base + 'actions.html', builder: [ sfField, simpleTransclusion, condition ] }, - array: { template: base + 'array.html', builder: arrays }, - autocomplete: { template: base + 'autocomplete.html', builder: defaults.concat(mdAutocomplete) }, - boolean: { template: base + 'checkbox.html', builder: defaults }, - button: { template: base + 'submit.html', builder: defaults }, - card: { template: base + 'card.html', builder: [ sfField, transclusion, condition ] }, - checkbox: { template: base + 'checkbox.html', builder: defaults }, - checkboxes: { template: base + 'checkboxes.html', builder: arrays }, - date: { template: base + 'date.html', builder: defaults.concat(mdDatepicker) }, - 'default': { template: base + 'default.html', builder: inputs }, - fieldset: { template: base + 'fieldset.html', builder: [ sfField, simpleTransclusion, condition ] }, - help: { template: base + 'help.html', builder: defaults }, - number: { template: base + 'default.html', builder: defaults }, - password: { template: base + 'default.html', builder: defaults }, - radios: { template: base + 'radios.html', builder: defaults }, - 'radios-inline': { template: base + 'radios-inline.html', builder: defaults }, - radiobuttons: { template: base + 'radio-buttons.html', builder: defaults }, - section: { template: base + 'section.html', builder: [ sfField, simpleTransclusion, condition, sfLayout ] }, - select: { template: base + 'select.html', builder: defaults.concat(sfOptions) }, - submit: { template: base + 'submit.html', builder: defaults }, - tabs: { template: base + 'tabs.html', builder: [ sfField, mdTabs, condition ] }, - tabarray: { template: base + 'tabarray.html', builder: arrays }, - textarea: { template: base + 'textarea.html', builder: defaults.concat(textarea) }, - switch: { template: base + 'switch.html', builder: defaults.concat(mdSwitch) } - }); - - function mdInputBuilder( args ) { - function reduceHelper(obj,i) {return obj[i]} - - var modelValue; - try { - modelValue = args.form.key.reduce(reduceHelper, args.model); - } catch(e) { - modelValue = undefined; - } - - if ( modelValue ) { - var container = args.fieldFrag.querySelector('md-input-container'); - container.className = container.className + " md-input-has-value"; - } - }; - - function sfLayout(args) { - var layoutDiv = args.fieldFrag.querySelector('[sf-layout]'); - - if (args.form.grid) { - Object.getOwnPropertyNames(args.form.grid).forEach(function(property, idx, array) { - layoutDiv.setAttribute(property, args.form.grid[property]); - }); - }; - }; - - function sfMessagesNodeHandler() { - var html = '
'; - var div = document.createElement('div'); - div.innerHTML = html; - return div.firstChild; - }; - - function sfMessagesBuilder(args) { - var messagesDiv = args.fieldFrag.querySelector('[sf-messages]'); - if (messagesDiv && sfMessagesNode) { - var child = sfMessagesNode.cloneNode(); - messagesDiv.appendChild(child); - } - }; - - function textareaBuilder(args) { - var textareaFrag = args.fieldFrag.querySelector('textarea'); - var maxLength = args.form.maxlength || false; - if (textareaFrag && maxLength) { - textareaFrag.setAttribute('md-maxlength', maxLength); - }; - }; - - function mdAutocompleteBuilder(args) { - var mdAutocompleteFrag = args.fieldFrag.querySelector('md-autocomplete'); - - var minLength = args.form.minLength !== undefined ? args.form.minLength : 1; // Allow the user to pass "0" for min-length to use md-autocomplete as a dropdown with filter. - var maxLength = args.form.maxLength || false; - var title = args.form.title || args.form.placeholder || args.form.key.slice(-1)[0]; - if (mdAutocompleteFrag) { - if (args.form.onChange) { - mdAutocompleteFrag.setAttribute('md-selected-item-change', 'onChangeFn()'); - mdAutocompleteFrag.setAttribute('md-search-text-change', 'onChangeFn(searchText)'); - }; - - mdAutocompleteFrag.setAttribute('md-min-length', minLength); - if (maxLength) { - mdAutocompleteFrag.setAttribute('md-max-length', maxLength); - }; - - if (title) { - mdAutocompleteFrag.setAttribute('md-floating-label', title); - }; - } - }; - - function mdSwitchBuilder(args) { - var mdSwitchFrag = args.fieldFrag.querySelector('md-switch'); - if (args.form.schema.titleMap) { - mdSwitchFrag.setAttribute('ng-true-value', args.form.schema.titleMap.true); - mdSwitchFrag.setAttribute('ng-false-value', args.form.schema.titleMap.false); - } - }; - - function sfOptionsBuilder(args) { - var mdSelectFrag = args.fieldFrag.querySelector('md-select'); - var enumTitleMap = []; - var i; - var mdSelectFrag; - - args.form.selectOptions = []; - args.form.getOptions = getOptionsHandler; - - if (args.form.schema.links && (typeof args.form.schema.links) === 'object') { - var link; - var related = /({)([^}]*)(})/gm; - var source = /{{([^}]*)}}/gm; - var matched; - - for (i = 0; i < args.form.schema.links.length; i++) { - link = args.form.schema.links[i]; - if (link.rel === 'options') { - // TODO enable filter to allow processing results - // args.form.optionSource = link.href.replace(related, '$1$1 model.$2 | _externalOptionUri $3$3'); - args.form.optionSource = link.href.replace(related, '$1$1 model.$2 $3$3'); - }; - }; - - mdSelectFrag.setAttribute('sfm-external-options', args.form.optionSource); - } - else { - args.form.selectOptions = sfOptionsProcessor(args.form); - }; - }; - - function mdDatepickerBuilder(args) { - var mdDatepickerFrag = args.fieldFrag.querySelector('md-datepicker'); - if (mdDatepickerFrag) { - if (args.form.onChange) { - mdDatepickerFrag.setAttribute('ng-change', 'args.form.onChange(searchText)'); - } - // mdDatepickerFrag.setAttribute('md-items', 'item in $filter(''autocomplete'')(searchText);'); - var minDate = args.form.minimum || false; - var maxDate = args.form.maximum || false; - if (minDate) { - mdDatepickerFrag.setAttribute('md-max-date', minDate); - } - if (maxDate) { - mdDatepickerFrag.setAttribute('md-max-date', maxDate); - } - } - }; - - function mdTabsBuilder(args) { - if (args.form.tabs && args.form.tabs.length > 0) { - var mdTabsFrag = args.fieldFrag.querySelector('md-tabs'); - - args.form.tabs.forEach(function(tab, index) { - var mdTab = document.createElement('md-tab'); - mdTab.setAttribute('label', '{{' + args.path + '.tabs[' + index + '].title}}'); - var mdTabBody = document.createElement('md-tab-body'); - var childFrag = args.build(tab.items, args.path + '.tabs[' + index + '].items', args.state); - mdTabBody.appendChild(childFrag); - mdTab.appendChild(mdTabBody); - mdTabsFrag.appendChild(mdTab); - }); - } - }; - - /** - * Material Datepicker - */ - function dateDefault(name, schema, options) { - if (schema.type === 'string' && (schema.format === 'date' || schema.format === 'date-time')) { - var f = schemaFormProvider.stdFormObj(name, schema, options); - f.key = options.path; - f.type = 'date'; - options.lookup[sfPathProvider.stringify(options.path)] = f; - return f; - } - }; - - }; - - function getOptionsHandler(form, evalExpr) { - if (form.optionData) { - return evalExpr(form.optionData); - }; - - if (form.selectOptions) { - return form.selectOptions; - }; - - return []; - }; - - function sfOptionsProcessor(data) { - var enumTitleMap = []; - - if (data.titleMap) { - return data.titleMap; - } - else if (data.enum && data.enum.length) { - for (i = 0; i < data.enum.length; i++) { - if (data.enum[i] && data.enum[i].length) { - enumTitleMap.push({ name: data.enum[i], value: data.enum[i] }); - }; - }; - }; - - return enumTitleMap; - }; - - sfmExternalOptionsDirective.$inject = [ '$http' ]; - - function sfmExternalOptionsDirective($http) { - var directive = { - link: link, - restrict: 'A' - }; - - return directive; - - function link(scope, element, attrs) { - attrs.$observe('sfmExternalOptions', function(dataURI) { - $http.get(dataURI) - .then(function(response) { - scope.form.selectOptions = sfOptionsProcessor(response.data); - }); - }); - }; - }; - - /** - * sfCamelKey Filter - */ - function sfCamelKeyFilter() { - return function(formKey) { - if (!formKey) { return ''; }; - var part, i, key; - key = formKey.slice(); - for (i = 0; i < key.length; i++) { - part = key[i].toLowerCase().split(''); - if (i && part.length) { part[0] = part[0].toUpperCase(); }; - key[i] = part.join(''); - }; - return key.join(''); - }; - }; - -})(angular, undefined); -/* -TODO add default filter for autocomplete which allows form.optionFilter or 'autocompleteFilter' to override -Something along the following lines... -if ($injector.has('autocompleteFilter')) { - result = $filter('autocomplete')(input); -} -else -if ($injector.has(args.form.optionFilter + 'Filter')) { - result = $filter(args.form.optionFilter)(input); -} -else { - if (args.form.optionFilter) { - mdAutocomplete.setAttribute('md-items', - 'item in evalExpr("this[\""+form.optionFilter+"\"](\""+searchText+"\")")'); - } -} - -.filter('autocompleteMovieTest', function() { - function autocompleteMovieTestFilter(array, input){ - var current = input; - // You could also call multiple filters here using: - // current = $filter('filterName')(input) - if(typeof current === 'string') { - current = current.replace(' ','-').toLowerCase(); - } - current = (!current) ? '_undefined' : current; - return current; - } - - return externalOptionUriFilter; -}) -*/ - -/** - * It might be a bug, but currently input[type=number] does not add - * a parser, so the model gets populated with a string. It does however stop non numbers so it - * must have some preproccessing. Anyway, this adds parser before schema-validate hooks into it. - * FIXME: this is still not a complete solution. Inputting a string in an input[type=number] results - * in parsers never firing and ngModel value removed. So no validation from schema-validate either. - */ -angular.module('schemaForm').directive('sfTypeParser', function() { - return { - restrict: 'A', - scope: false, - require: 'ngModel', - link: function(scope, element, attrs, ngModel) { - var once = scope.$watch(attrs.sfTypeParser, function(schema) { - if (!schema) { - return; - } - - var isNumber = schema.type.indexOf('number') !== -1; - var isInteger = schema.type.indexOf('integer') !== -1; - var numberRE = /^[0-9]*$/; - // Use index of since type can be either an array with two values or a string. - if (isNumber || isInteger) { - // The timing here seems to work. i.e. we get in before schema-validate - ngModel.$parsers.push(function(viewValue) { - var value; - if (isNumber) { - value = parseFloat(viewValue); - } else if (numberRE.test(viewValue)) { - // We test the value to check that it's a valid integer, otherwise we can easily - // get float -> integer parsing behind the scenes. - value = parseInt(viewValue, 10); - } - console.log('parser', numberRE.test(viewValue), viewValue, value) - if (value === undefined || isNaN(value)) { - //Let the validation fail. @FIXME: it fails with "required" for some reason. - return viewValue; - } - return value; - }); - } - - once(); - }); - } - }; -}); diff --git a/material-decorator.min.js b/material-decorator.min.js deleted file mode 100644 index e4b9241..0000000 --- a/material-decorator.min.js +++ /dev/null @@ -1 +0,0 @@ -angular.module("schemaForm").run(["$templateCache",function(e){e.put("decorators/material/actions-trcl.html",'
'),e.put("decorators/material/actions.html",'
'),e.put("decorators/material/array.html",'
close
{{ form.add || \'Add\'}}
'),e.put("decorators/material/autocomplete.html",'
{{item.name}}No matches found
'),e.put("decorators/material/card-content.html",''),e.put("decorators/material/card.html",'{{ form.title }}'),e.put("decorators/material/checkbox.html",'
{{::form.title}}
'),e.put("decorators/material/checkboxes.html",'
{{::form.titleMap[$index].name}}
'),e.put("decorators/material/chips.html",'
{{$chip}}
'),e.put("decorators/material/date.html",'
'),e.put("decorators/material/default.html",' '),e.put("decorators/material/fieldset-trcl.html",'
{{ form.title }}
'),e.put("decorators/material/fieldset.html",'
{{ form.title }}
'),e.put("decorators/material/help.html",'
'),e.put("decorators/material/radio-buttons.html",'
'),e.put("decorators/material/radios-inline.html",'
'),e.put("decorators/material/radios.html",'
'),e.put("decorators/material/section.html",''),e.put("decorators/material/select.html",'{{::filtered.name}}{{::opt.name}}'),e.put("decorators/material/slider.html",''),e.put("decorators/material/submit.html",'
{{::form.tip}}{{::form.title}}
'),e.put("decorators/material/switch.html",'{{::form.title}}'),e.put("decorators/material/tabarray.html",''),e.put("decorators/material/tabs.html",'
'),e.put("decorators/material/textarea.html",' ')}]),function(e,t){"use strict";function a(e,a,s,o,m){function i(e){function a(e,t){return e[t]}var r;try{r=e.form.key.reduce(a,e.model)}catch(l){r=t}if(r){var s=e.fieldFrag.querySelector("md-input-container");s.className=s.className+" md-input-has-value"}}function n(e){var t=e.fieldFrag.querySelector("[sf-layout]");e.form.grid&&Object.getOwnPropertyNames(e.form.grid).forEach(function(a,r,l){t.setAttribute(a,e.form.grid[a])})}function d(){var e='
',t=document.createElement("div");return t.innerHTML=e,t.firstChild}function c(e){var t=e.fieldFrag.querySelector("[sf-messages]");if(t&&E){var a=E.cloneNode();t.appendChild(a)}}function f(e){var t=e.fieldFrag.querySelector("textarea"),a=e.form.maxlength||!1;t&&a&&t.setAttribute("md-maxlength",a)}function u(e){var a=e.fieldFrag.querySelector("md-autocomplete"),r=e.form.minLength!==t?e.form.minLength:1,l=e.form.maxLength||!1,s=e.form.title||e.form.placeholder||e.form.key.slice(-1)[0];a&&(e.form.onChange&&(a.setAttribute("md-selected-item-change","onChangeFn()"),a.setAttribute("md-search-text-change","onChangeFn(searchText)")),a.setAttribute("md-min-length",r),l&&a.setAttribute("md-max-length",l),s&&a.setAttribute("md-floating-label",s))}function h(e){var t=e.fieldFrag.querySelector("md-switch");e.form.schema.titleMap&&(t.setAttribute("ng-true-value",e.form.schema.titleMap["true"]),t.setAttribute("ng-false-value",e.form.schema.titleMap["false"]))}function p(e){var t,a,a=e.fieldFrag.querySelector("md-select");if(e.form.selectOptions=[],e.form.getOptions=r,e.form.schema.links&&"object"==typeof e.form.schema.links){var s,o=/({)([^}]*)(})/gm;for(t=0;t0){var t=e.fieldFrag.querySelector("md-tabs");e.form.tabs.forEach(function(a,r){var l=document.createElement("md-tab");l.setAttribute("label","{{"+e.path+".tabs["+r+"].title}}");var s=document.createElement("md-tab-body"),o=e.build(a.items,e.path+".tabs["+r+"].items",e.state);s.appendChild(o),l.appendChild(s),t.appendChild(l)})}}function y(t,a,r){if("string"===a.type&&("date"===a.format||"date-time"===a.format)){var l=e.stdFormObj(t,a,r);return l.key=r.path,l.type="date",r.lookup[o.stringify(r.path)]=l,l}}var v="decorators/material/",x=s.builders.simpleTransclusion,$=s.builders.transclusion,k=s.builders.ngModelOptions,C=s.builders.ngModel,w=s.builders.sfField,A=s.builders.condition,T=s.builders.array,n=n,E=d(),F=c,M=p,S=u,O=h,K=g,q=b,j=f,H=[w,C,k,A,n],D=H.concat(F),P=[w,C,k,A,n,F,i],N=H.concat(T);e.defaults.string.unshift(y),a.defineDecorator("materialDecorator",{actions:{template:v+"actions.html",builder:[w,x,A]},array:{template:v+"array.html",builder:N},autocomplete:{template:v+"autocomplete.html",builder:D.concat(S)},"boolean":{template:v+"checkbox.html",builder:D},button:{template:v+"submit.html",builder:D},card:{template:v+"card.html",builder:[w,$,A]},checkbox:{template:v+"checkbox.html",builder:D},checkboxes:{template:v+"checkboxes.html",builder:N},date:{template:v+"date.html",builder:D.concat(K)},"default":{template:v+"default.html",builder:P},fieldset:{template:v+"fieldset.html",builder:[w,x,A]},help:{template:v+"help.html",builder:D},number:{template:v+"default.html",builder:D},password:{template:v+"default.html",builder:D},radios:{template:v+"radios.html",builder:D},"radios-inline":{template:v+"radios-inline.html",builder:D},radiobuttons:{template:v+"radio-buttons.html",builder:D},section:{template:v+"section.html",builder:[w,x,A,n]},select:{template:v+"select.html",builder:D.concat(M)},submit:{template:v+"submit.html",builder:D},tabs:{template:v+"tabs.html",builder:[w,q,A]},tabarray:{template:v+"tabarray.html",builder:N},textarea:{template:v+"textarea.html",builder:D.concat(j)},"switch":{template:v+"switch.html",builder:D.concat(O)}})}function r(e,t){return e.optionData?t(e.optionData):e.selectOptions?e.selectOptions:[]}function l(e){var t=[];if(e.titleMap)return e.titleMap;if(e["enum"]&&e["enum"].length)for(i=0;i Date: Mon, 1 Aug 2016 11:32:24 -0500 Subject: [PATCH 06/23] removing mdInputBuilder as material-class.js now implements the same technique and does it better! --- src/material-decorator.js | 19 +------------------ 1 file changed, 1 insertion(+), 18 deletions(-) diff --git a/src/material-decorator.js b/src/material-decorator.js index e9c26f9..9d23c1c 100644 --- a/src/material-decorator.js +++ b/src/material-decorator.js @@ -55,7 +55,6 @@ var core = [ sfField, ngModel, ngModelOptions, condition, sfLayout ]; var defaults = core.concat(sfMessages); - var inputs = [sfField, ngModel, ngModelOptions, condition, sfLayout, sfMessages, mdInputBuilder ]; var arrays = core.concat(array); schemaFormProvider.defaults.string.unshift(dateDefault); @@ -75,7 +74,7 @@ checkbox: { template: base + 'checkbox.html', builder: defaults }, checkboxes: { template: base + 'checkboxes.html', builder: arrays }, date: { template: base + 'date.html', builder: defaults.concat(mdDatepicker) }, - 'default': { template: base + 'default.html', builder: inputs }, + 'default': { template: base + 'default.html', builder: defaults }, fieldset: { template: base + 'fieldset.html', builder: [ sfField, simpleTransclusion, condition ] }, help: { template: base + 'help.html', builder: defaults }, number: { template: base + 'default.html', builder: defaults }, @@ -92,22 +91,6 @@ switch: { template: base + 'switch.html', builder: defaults.concat(mdSwitch) } }); - function mdInputBuilder( args ) { - function reduceHelper(obj,i) {return obj[i]} - - var modelValue; - try { - modelValue = args.form.key.reduce(reduceHelper, args.model); - } catch(e) { - modelValue = undefined; - } - - if ( modelValue ) { - var container = args.fieldFrag.querySelector('md-input-container'); - container.className = container.className + " md-input-has-value"; - } - }; - function sfLayout(args) { var layoutDiv = args.fieldFrag.querySelector('[sf-layout]'); From e0991ba72c7a57176721727b6c059c4c6df616a5 Mon Sep 17 00:00:00 2001 From: Brian Kelley Date: Wed, 14 Sep 2016 11:14:01 -0500 Subject: [PATCH 07/23] Formatting and layout fixes --- src/array.html | 11 +++---- src/autocomplete.html | 9 +++--- src/card.html | 2 +- src/date.html | 27 +++++++++-------- src/default.html | 10 +++++-- src/fieldset-trcl.html | 2 +- src/fieldset.html | 7 +++-- src/material-class.js | 6 ++-- src/material-decorator.js | 61 ++++++++++++++++++++++++++++++++++----- src/radios.html | 10 ++++--- src/select.html | 3 +- src/submit.html | 34 +++++++++++----------- src/textarea.html | 2 +- 13 files changed, 123 insertions(+), 61 deletions(-) diff --git a/src/array.html b/src/array.html index f7a576c..3c0acf3 100644 --- a/src/array.html +++ b/src/array.html @@ -8,9 +8,9 @@ ng-repeat="item in modelArray track by $index" schema-form-array-items class="{{form.fieldHtmlClass}}"> - -
+
- + style="align-self: flex-end;" + class="md-raised md-mini md-primary {{ form.style.add || 'btn-default' }} pull-right"> {{ form.add || 'Add'}} diff --git a/src/autocomplete.html b/src/autocomplete.html index f4c3123..663abbb 100644 --- a/src/autocomplete.html +++ b/src/autocomplete.html @@ -1,7 +1,7 @@ -
+
+ md-menu-class="autocomplete-custom-template" + > {{item.name}} diff --git a/src/card.html b/src/card.html index 0c78e7e..d96a357 100644 --- a/src/card.html +++ b/src/card.html @@ -1,6 +1,6 @@ - + {{ form.title }} diff --git a/src/date.html b/src/date.html index 3cbe381..c8c5539 100644 --- a/src/date.html +++ b/src/date.html @@ -1,13 +1,16 @@ -
- - - +
+ + + + +
diff --git a/src/default.html b/src/default.html index 1074697..7a45e18 100644 --- a/src/default.html +++ b/src/default.html @@ -1,6 +1,8 @@ - +
+ + + {{form.mdIcon}} + +
diff --git a/src/fieldset-trcl.html b/src/fieldset-trcl.html index cace1c5..80490e4 100644 --- a/src/fieldset-trcl.html +++ b/src/fieldset-trcl.html @@ -1,4 +1,4 @@
- {{ form.title }} + {{ form.title }}
diff --git a/src/fieldset.html b/src/fieldset.html index fdae13b..bcfb73d 100644 --- a/src/fieldset.html +++ b/src/fieldset.html @@ -1,3 +1,6 @@ -
- {{ form.title }} +
+ {{ form.title }} +
+ +
diff --git a/src/material-class.js b/src/material-class.js index 2811d5b..6c86709 100644 --- a/src/material-class.js +++ b/src/material-class.js @@ -15,10 +15,10 @@ angular.module('schemaForm').directive('sfMaterialClass', function($compile, $ti // Element class is not set in DOM if executed immediately. // I don't understand exactly why but it's probably related to other directive job. $timeout(function() { - if (modelValue !== null && typeof modelValue !== 'undefined' && modelValue !== false) { + if (modelValue !== null && typeof modelValue !== 'undefined' && modelValue !== false && modelValue !== '') { element.addClass(attrs.sfMaterialClass); } - }, 0); + }, 100); } }; -}); \ No newline at end of file +}); diff --git a/src/material-decorator.js b/src/material-decorator.js index 9d23c1c..71ff9d6 100644 --- a/src/material-decorator.js +++ b/src/material-decorator.js @@ -53,15 +53,22 @@ var mdTabs = mdTabsBuilder; var textarea = textareaBuilder; - var core = [ sfField, ngModel, ngModelOptions, condition, sfLayout ]; - var defaults = core.concat(sfMessages); - var arrays = core.concat(array); - schemaFormProvider.defaults.string.unshift(dateDefault); + var sfFieldMaterial = function(args) { + sfField(args); + var field = args.fieldFrag.querySelector('input, textarea, md-select'); + if ( args.form.required && field ) { + field.setAttribute('ng-required', 'form.required'); + } + } - //schemaFormProvider.defaults.object.unshift(cardDefault); + var core = [ sfFieldMaterial, ngModel, ngModelOptions, condition, sfLayout ]; + var defaults = core.concat(sfMessages); + var arrays = core.concat(array); + schemaFormProvider.defaults.string.unshift(dateDefault); + schemaFormProvider.defaults.object.unshift(dateObjectDefault); decoratorsProvider.defineDecorator('materialDecorator', { @@ -75,7 +82,7 @@ checkboxes: { template: base + 'checkboxes.html', builder: arrays }, date: { template: base + 'date.html', builder: defaults.concat(mdDatepicker) }, 'default': { template: base + 'default.html', builder: defaults }, - fieldset: { template: base + 'fieldset.html', builder: [ sfField, simpleTransclusion, condition ] }, + fieldset: { template: base + 'fieldset.html', builder: [ sfField, transclusion, condition ] }, help: { template: base + 'help.html', builder: defaults }, number: { template: base + 'default.html', builder: defaults }, password: { template: base + 'default.html', builder: defaults }, @@ -91,6 +98,27 @@ switch: { template: base + 'switch.html', builder: defaults.concat(mdSwitch) } }); + + // ISO Format - 2016-08-02T17:03:18.608Z - new Date().toISOString() + var dateFormat = /^[0-9]{4,}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\.[0-9]+|)(?:[+-][0-9]{2}:?(?:[0-9]{2}|)|Z)$/; + // Standard Format - Tue Aug 02 2016 12:03:59 GMT-0500 (CDT) - new Date().toString() + var mdDateFormat = /^(:?[A-Z][a-z]{2}\s){2}\d{1,2}\s\d{4}\s(:?\d{2}\:?){3}\s[A-Z]{3}\-\d{4}\s\([A-Z]{3}\)$/; + + var formats = { + date: function (value) { + if ( value && typeof value !== 'string' && value.toISOString ) { + value = value.toISOString() || ''; + } + + if (dateFormat.test(value) || mdDateFormat.test(value) ) { + return null; + } + + return 'A valid date expected'; + } + }; + tv4.addFormat( 'date', formats.date ); + function sfLayout(args) { var layoutDiv = args.fieldFrag.querySelector('[sf-layout]'); @@ -102,7 +130,7 @@ }; function sfMessagesNodeHandler() { - var html = '
' + + var html = '
' + '
'; var div = document.createElement('div'); div.innerHTML = html; @@ -128,6 +156,7 @@ function mdAutocompleteBuilder(args) { var mdAutocompleteFrag = args.fieldFrag.querySelector('md-autocomplete'); + var minLength = args.form.minLength !== undefined ? args.form.minLength : 1; // Allow the user to pass "0" for min-length to use md-autocomplete as a dropdown with filter. var maxLength = args.form.maxLength || false; var title = args.form.title || args.form.placeholder || args.form.key.slice(-1)[0]; @@ -145,6 +174,10 @@ if (title) { mdAutocompleteFrag.setAttribute('md-floating-label', title); }; + + if ( args.form.schema.requireMatch ) { + mdAutocompleteFrag.setAttribute('md-require-match', true); + } } }; @@ -188,6 +221,7 @@ }; function mdDatepickerBuilder(args) { + console.log( "Date Picker", args ); var mdDatepickerFrag = args.fieldFrag.querySelector('md-datepicker'); if (mdDatepickerFrag) { if (args.form.onChange) { @@ -202,6 +236,10 @@ if (maxDate) { mdDatepickerFrag.setAttribute('md-max-date', maxDate); } + + if ( args.form.mdHideIcons ) { + mdDatepickerFrag.setAttribute('md-hide-icons', args.form.mdHideIcons ); + } } }; @@ -233,6 +271,15 @@ return f; } }; + function dateObjectDefault(name, schema, options) { + if (schema.type === 'object' && (schema.format === 'date' || schema.format === 'date-time')) { + var f = schemaFormProvider.stdFormObj(name, schema, options); + f.key = options.path; + f.type = 'date'; + options.lookup[sfPathProvider.stringify(options.path)] = f; + return f; + } + }; }; diff --git a/src/radios.html b/src/radios.html index 302cd6f..7ee47ab 100644 --- a/src/radios.html +++ b/src/radios.html @@ -1,17 +1,19 @@
- + ng-class="{'has-error': hasError(), 'has-success': hasSuccess()}" sf-messages> +
+ schema-validate="form" + sf-layout> + ng-class="{ active: item.value === $$value$$ }" + aria-label="item.name"> diff --git a/src/select.html b/src/select.html index 9cf3d5b..99c6f82 100644 --- a/src/select.html +++ b/src/select.html @@ -1,5 +1,5 @@ @@ -16,4 +16,5 @@ ng-value="::opt.value" ng-repeat-end>{{::opt.name}} +
diff --git a/src/submit.html b/src/submit.html index 25398c8..19d6930 100644 --- a/src/submit.html +++ b/src/submit.html @@ -1,25 +1,25 @@
- - - - + {{::form.tip}} - - + + {{::form.title}} -
\ No newline at end of file + diff --git a/src/textarea.html b/src/textarea.html index eda185b..c5fbd00 100644 --- a/src/textarea.html +++ b/src/textarea.html @@ -1,4 +1,4 @@ - + ");}]); -(function(angular, undefined) {'use strict'; +$templateCache.put("decorators/material/textarea.html"," ");}]); +angular.module("schemaForm").run(["$templateCache",function(e){e.put("decorators/material/actions-trcl.html",'
'),e.put("decorators/material/actions.html",'
'),e.put("decorators/material/array.html",'
close
{{ form.add || \'Add\'}}
'),e.put("decorators/material/autocomplete.html",'
{{item.name}}No matches found
'),e.put("decorators/material/card-content.html",''),e.put("decorators/material/card.html",'{{ form.title }}'),e.put("decorators/material/checkbox.html",'
{{::form.title}}
'),e.put("decorators/material/checkboxes.html",'
{{::form.titleMap[$index].name}}
'),e.put("decorators/material/chips.html",'
{{$chip}}
'),e.put("decorators/material/date.html",'
'),e.put("decorators/material/default.html",'
{{form.mdIcon}}
'),e.put("decorators/material/fieldset-trcl.html",'
{{ form.title }}
'),e.put("decorators/material/fieldset.html",'
{{ form.title }}
'),e.put("decorators/material/help.html",'
'),e.put("decorators/material/radio-buttons.html",'
'),e.put("decorators/material/radios-inline.html",'
'),e.put("decorators/material/radios.html",'
'),e.put("decorators/material/section.html",''),e.put("decorators/material/select.html",'{{::filtered.name}}{{::opt.name}}
'),e.put("decorators/material/slider.html",''),e.put("decorators/material/submit.html",'
{{::form.tip}}{{::form.title}}
'),e.put("decorators/material/switch.html",'{{::form.title}}'),e.put("decorators/material/tabarray.html",''),e.put("decorators/material/tabs.html",'
'),e.put("decorators/material/textarea.html",' ')}]); +angular.module('schemaForm').directive('sfMaterialClass', function($compile, $timeout) { + return { + restrict : 'A', + scope : false, + link : function(scope, element, attrs, ngModel) { + function reduceHelper(obj, i) {return obj[i]} + + var modelValue; + try { + modelValue = scope.form.key.reduce(reduceHelper, scope.model); + } catch (e) { + modelValue = undefined; + } + + // Element class is not set in DOM if executed immediately. + // I don't understand exactly why but it's probably related to other directive job. + $timeout(function() { + if (modelValue !== null && typeof modelValue !== 'undefined' && modelValue !== false && modelValue !== '') { + element.addClass(attrs.sfMaterialClass); + } + }, 100); + } + }; +}); + +(function(angular, undefined) { + 'use strict'; angular - .module('schemaForm') - .config(materialDecoratorConfig) - .directive('sfmExternalOptions', sfmExternalOptionsDirective) - .filter('sfCamelKey', sfCamelKeyFilter); + .module('schemaForm') + .config(materialDecoratorConfig) + .directive('sfmExternalOptions', sfmExternalOptionsDirective) + .filter('sfCamelKey', sfCamelKeyFilter) + .directive('sfChangedAutoComplete', function() { + // Duplicate of sf-changed, but instead of adding a watcher, adds a function on the scope to fire the onchange. + return { + require: 'ngModel', + restrict: 'AC', + link: function(scope, element, attrs, ctrl) { + var form = scope.$eval(attrs.sfChangedAutoComplete); + //"form" is really guaranteed to be here since the decorator directive + //waits for it. But best be sure. + if (form && form.onChange) { + scope.onChangeFn = function() { + if (angular.isFunction(form.onChange)) { + form.onChange(ctrl.$modelValue, form); + } else { + scope.evalExpr(form.onChange, {'modelValue': ctrl.$modelValue, form: form}); + } + }; + } + } + }; + }); + materialDecoratorConfig.$inject = [ 'schemaFormProvider', 'schemaFormDecoratorsProvider', 'sfBuilderProvider', 'sfPathProvider', '$injector' ]; - function materialDecoratorConfig( - schemaFormProvider, decoratorsProvider, sfBuilderProvider, sfPathProvider, $injector) { + function materialDecoratorConfig( schemaFormProvider, decoratorsProvider, sfBuilderProvider, sfPathProvider, $injector ) { var base = 'decorators/material/'; var simpleTransclusion = sfBuilderProvider.builders.simpleTransclusion; + var transclusion = sfBuilderProvider.builders.transclusion; var ngModelOptions = sfBuilderProvider.builders.ngModelOptions; var ngModel = sfBuilderProvider.builders.ngModel; var sfField = sfBuilderProvider.builders.sfField; @@ -56,11 +105,23 @@ $templateCache.put("decorators/material/textarea.html","
'; var div = document.createElement('div'); div.innerHTML = html; return div.firstChild; @@ -108,7 +192,7 @@ $templateCache.put("decorators/material/textarea.html","
'),e.put("decorators/material/actions.html",'
'),e.put("decorators/material/array.html",'
close
{{ form.add || \'Add\'}}
'),e.put("decorators/material/autocomplete.html",'
{{item.name}}No matches found
'),e.put("decorators/material/card-content.html",''),e.put("decorators/material/card.html",''),e.put("decorators/material/checkbox.html",'
{{::form.title}}
'),e.put("decorators/material/checkboxes.html",'
{{::form.titleMap[$index].name}}
'),e.put("decorators/material/chips.html",'
{{$chip}}
'),e.put("decorators/material/date.html",'
'),e.put("decorators/material/default.html",' '),e.put("decorators/material/fieldset-trcl.html",'
{{ form.title }}
'),e.put("decorators/material/fieldset.html",'
{{ form.title }}
'),e.put("decorators/material/help.html",'
'),e.put("decorators/material/radio-buttons.html",'
'),e.put("decorators/material/radios-inline.html",'
'),e.put("decorators/material/radios.html",'
'),e.put("decorators/material/section.html",''),e.put("decorators/material/select.html",'{{::filtered.name}}{{::opt.name}}'),e.put("decorators/material/slider.html",''),e.put("decorators/material/submit.html",'
{{::form.tip}}{{::form.title}}
'),e.put("decorators/material/switch.html",'{{::form.title}}'),e.put("decorators/material/tabarray.html",''),e.put("decorators/material/tabs.html",'
'),e.put("decorators/material/textarea.html",' ')}]),function(e,t){"use strict";function a(e,t,a,s,o){function m(e){var t=e.fieldFrag.querySelector("[sf-layout]");e.form.grid&&Object.getOwnPropertyNames(e.form.grid).forEach(function(a,r,l){t.setAttribute(a,e.form.grid[a])})}function i(){var e='
',t=document.createElement("div");return t.innerHTML=e,t.firstChild}function n(e){var t=e.fieldFrag.querySelector("[sf-messages]");if(t&&A){var a=A.cloneNode();t.appendChild(a)}}function d(e){var t=e.fieldFrag.querySelector("textarea"),a=e.form.maxlength||!1;t&&a&&t.setAttribute("md-maxlength",a)}function c(e){var t=e.fieldFrag.querySelector("md-autocomplete"),a=e.form.minLength||1,r=e.form.maxLength||!1,l=e.form.title||e.form.placeholder||e.form.key.slice(-1)[0];t&&(e.form.onChange&&(t.setAttribute("md-selected-item-change","args.form.onChange()"),t.setAttribute("md-search-text-change","args.form.onChange(searchText)")),t.setAttribute("md-min-length",a),r&&t.setAttribute("md-max-length",r),l&&t.setAttribute("md-floating-label",l))}function f(e){var t=e.fieldFrag.querySelector("md-switch");e.form.schema.titleMap&&(t.setAttribute("ng-true-value",e.form.schema.titleMap["true"]),t.setAttribute("ng-false-value",e.form.schema.titleMap["false"]))}function h(e){var t,a,a=e.fieldFrag.querySelector("md-select");if(e.form.selectOptions=[],e.form.getOptions=r,e.form.schema.links&&"object"==typeof e.form.schema.links){var s,o=/({)([^}]*)(})/gm;for(t=0;t0){var t=e.fieldFrag.querySelector("md-tabs");e.form.tabs.forEach(function(a,r){var l=document.createElement("md-tab");l.setAttribute("label","{{"+e.path+".tabs["+r+"].title}}");var s=document.createElement("md-tab-body"),o=e.build(a.items,e.path+".tabs["+r+"].items",e.state);s.appendChild(o),l.appendChild(s),t.appendChild(l)})}}function g(t,a,r){if("string"===a.type&&("date"===a.format||"date-time"===a.format)){var l=e.stdFormObj(t,a,r);return l.key=r.path,l.type="date",r.lookup[s.stringify(r.path)]=l,l}}var b="decorators/material/",y=a.builders.simpleTransclusion,v=a.builders.ngModelOptions,x=a.builders.ngModel,$=a.builders.sfField,k=a.builders.condition,C=a.builders.array,w=a.builders.numeric,m=m,A=i(),T=n,E=h,M=c,S=f,F=u,O=p,j=d,K=[$,x,v,k,m],q=K.concat(T),H=K.concat(C);e.defaults.string.unshift(g),t.defineDecorator("materialDecorator",{actions:{template:b+"actions.html",builder:[$,y,k]},array:{template:b+"array.html",builder:H},autocomplete:{template:b+"autocomplete.html",builder:q.concat(M)},"boolean":{template:b+"checkbox.html",builder:q},button:{template:b+"submit.html",builder:q},checkbox:{template:b+"checkbox.html",builder:q},checkboxes:{template:b+"checkboxes.html",builder:H},date:{template:b+"date.html",builder:q.concat(F)},"default":{template:b+"default.html",builder:q},fieldset:{template:b+"fieldset.html",builder:[$,y,k]},help:{template:b+"help.html",builder:q},number:{template:b+"default.html",builder:q.concat(w)},password:{template:b+"default.html",builder:q},radios:{template:b+"radios.html",builder:q},"radios-inline":{template:b+"radios-inline.html",builder:q},radiobuttons:{template:b+"radio-buttons.html",builder:q},section:{template:b+"section.html",builder:[$,y,k,m]},select:{template:b+"select.html",builder:q.concat(E)},submit:{template:b+"submit.html",builder:q},tabs:{template:b+"tabs.html",builder:[$,O,k]},tabarray:{template:b+"tabarray.html",builder:H},textarea:{template:b+"textarea.html",builder:q.concat(j)},"switch":{template:b+"switch.html",builder:q.concat(S)}})}function r(e,t){return e.optionData?t(e.optionData):e.selectOptions?e.selectOptions:[]}function l(e){var t=[];if(e.titleMap)return e.titleMap;if(e["enum"]&&e["enum"].length)for(i=0;i
'),e.put("decorators/material/actions.html",'
'),e.put("decorators/material/array.html",'
close
{{ form.add || \'Add\'}}
'),e.put("decorators/material/autocomplete.html",'
{{item.name}}No matches found
'),e.put("decorators/material/card-content.html",''),e.put("decorators/material/card.html",'{{ form.title }}'),e.put("decorators/material/checkbox.html",'
{{::form.title}}
'),e.put("decorators/material/checkboxes.html",'
{{::form.titleMap[$index].name}}
'),e.put("decorators/material/chips.html",'
{{$chip}}
'),e.put("decorators/material/date.html",'
'),e.put("decorators/material/default.html",'
{{form.mdIcon}}
'),e.put("decorators/material/fieldset-trcl.html",'
{{ form.title }}
'),e.put("decorators/material/fieldset.html",'
{{ form.title }}
'),e.put("decorators/material/help.html",'
'),e.put("decorators/material/radio-buttons.html",'
'),e.put("decorators/material/radios-inline.html",'
'),e.put("decorators/material/radios.html",'
'),e.put("decorators/material/section.html",''),e.put("decorators/material/select.html",'{{::filtered.name}}{{::opt.name}}
'),e.put("decorators/material/slider.html",''),e.put("decorators/material/submit.html",'
{{::form.tip}}{{::form.title}}
'),e.put("decorators/material/switch.html",'{{::form.title}}'),e.put("decorators/material/tabarray.html",''),e.put("decorators/material/tabs.html",'
'),e.put("decorators/material/textarea.html",' ')}]),angular.module("schemaForm").run(["$templateCache",function(e){e.put("decorators/material/actions-trcl.html",'
'),e.put("decorators/material/actions.html",'
'),e.put("decorators/material/array.html",'
close
{{ form.add || \'Add\'}}
'),e.put("decorators/material/autocomplete.html",'
{{item.name}}No matches found
'),e.put("decorators/material/card-content.html",''),e.put("decorators/material/card.html",'{{ form.title }}'),e.put("decorators/material/checkbox.html",'
{{::form.title}}
'),e.put("decorators/material/checkboxes.html",'
{{::form.titleMap[$index].name}}
'),e.put("decorators/material/chips.html",'
{{$chip}}
'),e.put("decorators/material/date.html",'
'),e.put("decorators/material/default.html",'
{{form.mdIcon}}
'),e.put("decorators/material/fieldset-trcl.html",'
{{ form.title }}
'),e.put("decorators/material/fieldset.html",'
{{ form.title }}
'),e.put("decorators/material/help.html",'
'),e.put("decorators/material/radio-buttons.html",'
'),e.put("decorators/material/radios-inline.html",'
'),e.put("decorators/material/radios.html",'
'),e.put("decorators/material/section.html",''),e.put("decorators/material/select.html",'{{::filtered.name}}{{::opt.name}}
'),e.put("decorators/material/slider.html",''),e.put("decorators/material/submit.html",'
{{::form.tip}}{{::form.title}}
'),e.put("decorators/material/switch.html",'{{::form.title}}'),e.put("decorators/material/tabarray.html",''),e.put("decorators/material/tabs.html",'
'),e.put("decorators/material/textarea.html",' ')}]),angular.module("schemaForm").directive("sfMaterialClass",function(e,a){return{restrict:"A",scope:!1,link:function(e,t,r,l){function s(e,a){return e[a]}var o;try{o=e.form.key.reduce(s,e.model)}catch(m){o=void 0}a(function(){null!==o&&"undefined"!=typeof o&&o!==!1&&""!==o&&t.addClass(r.sfMaterialClass)},100)}}}),function(e,a){"use strict";function t(e,t,s,o,m){function i(e){var a=e.fieldFrag.querySelector("[sf-layout]");e.form.grid&&Object.getOwnPropertyNames(e.form.grid).forEach(function(t,r,l){a.setAttribute(t,e.form.grid[t])})}function d(){var e='
',a=document.createElement("div");return a.innerHTML=e,a.firstChild}function n(e){var a=e.fieldFrag.querySelector("[sf-messages]");if(a&&S){var t=S.cloneNode(!0);a.appendChild(t)}}function c(e){var a=e.fieldFrag.querySelector("textarea"),t=e.form.maxlength||!1;a&&t&&a.setAttribute("md-maxlength",t)}function f(e){var t=e.fieldFrag.querySelector("md-autocomplete"),r=e.form.minLength!==a?e.form.minLength:1,l=e.form.maxLength||!1,s=e.form.title||e.form.placeholder||e.form.key.slice(-1)[0];t&&(e.form.onChange&&(t.setAttribute("md-selected-item-change","onChangeFn()"),t.setAttribute("md-search-text-change","onChangeFn(searchText)")),t.setAttribute("md-min-length",r),l&&t.setAttribute("md-max-length",l),s&&t.setAttribute("md-floating-label",s),e.form.schema.requireMatch&&t.setAttribute("md-require-match",!0))}function h(e){var a=e.fieldFrag.querySelector("md-switch");e.form.schema.titleMap&&(a.setAttribute("ng-true-value",e.form.schema.titleMap["true"]),a.setAttribute("ng-false-value",e.form.schema.titleMap["false"]))}function u(e){var a,t,t=e.fieldFrag.querySelector("md-select");if(e.form.selectOptions=[],e.form.getOptions=r,e.form.schema.links&&"object"==typeof e.form.schema.links){var s,o=/({)([^}]*)(})/gm;for(a=0;a0){var a=e.fieldFrag.querySelector("md-tabs");e.form.tabs.forEach(function(t,r){var l=document.createElement("md-tab");l.setAttribute("label","{{"+e.path+".tabs["+r+"].title}}");var s=document.createElement("md-tab-body"),o=e.build(t.items,e.path+".tabs["+r+"].items",e.state);s.appendChild(o),l.appendChild(s),a.appendChild(l)})}}function b(a,t,r){if("string"===t.type&&("date"===t.format||"date-time"===t.format)){var l=e.stdFormObj(a,t,r);return l.key=r.path,l.type="date",r.lookup[o.stringify(r.path)]=l,l}}function y(a,t,r){if("object"===t.type&&("date"===t.format||"date-time"===t.format)){var l=e.stdFormObj(a,t,r);return l.key=r.path,l.type="date",r.lookup[o.stringify(r.path)]=l,l}}var v="decorators/material/",x=s.builders.simpleTransclusion,$=s.builders.transclusion,k=s.builders.ngModelOptions,C=s.builders.ngModel,w=s.builders.sfField,T=s.builders.condition,A=s.builders.array,E=s.builders.numeric,i=i,S=d(),M=n,F=u,K=f,q=h,O=p,j=g,H=c,I=function(e){w(e);var a=e.fieldFrag.querySelector("input, textarea, md-select");e.form.required&&a&&a.setAttribute("ng-required","form.required")},D=[I,C,k,T,i],P=D.concat(M),V=D.concat(A);e.defaults.string.unshift(b),e.defaults.object.unshift(y),t.defineDecorator("materialDecorator",{actions:{template:v+"actions.html",builder:[w,x,T]},array:{template:v+"array.html",builder:V},autocomplete:{template:v+"autocomplete.html",builder:P.concat(K)},"boolean":{template:v+"checkbox.html",builder:P},button:{template:v+"submit.html",builder:P},card:{template:v+"card.html",builder:[w,$,T]},checkbox:{template:v+"checkbox.html",builder:P},checkboxes:{template:v+"checkboxes.html",builder:V},date:{template:v+"date.html",builder:P.concat(O)},"default":{template:v+"default.html",builder:P},fieldset:{template:v+"fieldset.html",builder:[w,$,T]},help:{template:v+"help.html",builder:P},number:{template:v+"default.html",builder:P.concat(E)},password:{template:v+"default.html",builder:P},radios:{template:v+"radios.html",builder:P},"radios-inline":{template:v+"radios-inline.html",builder:P},radiobuttons:{template:v+"radio-buttons.html",builder:P},section:{template:v+"section.html",builder:[w,x,T,i]},select:{template:v+"select.html",builder:P.concat(F)},submit:{template:v+"submit.html",builder:P},tabs:{template:v+"tabs.html",builder:[w,j,T]},tabarray:{template:v+"tabarray.html",builder:V},textarea:{template:v+"textarea.html",builder:P.concat(H)},"switch":{template:v+"switch.html",builder:P.concat(q)}});var N=/^[0-9]{4,}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\.[0-9]+|)(?:[+-][0-9]{2}:?(?:[0-9]{2}|)|Z)$/,B=/^(:?[A-Z][a-z]{2}\s){2}\d{1,2}\s\d{4}\s(:?\d{2}\:?){3}\s[A-Z]{3}\-\d{4}\s\([A-Z]{3}\)$/,L={date:function(e){return e&&"string"!=typeof e&&e.toISOString&&(e=e.toISOString()||""),N.test(e)||B.test(e)?null:"A valid date expected"}};tv4.addFormat("date",L.date)}function r(e,a){return e.optionData?a(e.optionData):e.selectOptions?e.selectOptions:[]}function l(e){var a=[];if(e.titleMap)return e.titleMap;if(e["enum"]&&e["enum"].length)for(i=0;i
"); $templateCache.put("decorators/material/actions.html","
"); -$templateCache.put("decorators/material/array.html","
= modelArray.length\" class=\"md-icon-button\" aria-label=\"More\" style=\"position: relative; z-index: 20;\">close
{{ form.add || \'Add\'}}
"); -$templateCache.put("decorators/material/autocomplete.html","
{{item.name}}No matches found
"); +$templateCache.put("decorators/material/array.html","
= modelArray.length\" class=\"md-icon-button\" aria-label=\"More\" style=\"position: relative; z-index: 20;\">close
{{ form.add || \'Add\'}}
"); +$templateCache.put("decorators/material/autocomplete.html","
{{item.name}}No matches found
"); $templateCache.put("decorators/material/card-content.html",""); -$templateCache.put("decorators/material/card.html",""); +$templateCache.put("decorators/material/card.html","{{ form.title }}"); $templateCache.put("decorators/material/checkbox.html","
{{::form.title}}
"); $templateCache.put("decorators/material/checkboxes.html","
{{::form.titleMap[$index].name}}
"); $templateCache.put("decorators/material/chips.html","
{{$chip}}
"); -$templateCache.put("decorators/material/date.html","
"); -$templateCache.put("decorators/material/default.html"," "); -$templateCache.put("decorators/material/fieldset-trcl.html","
{{ form.title }}
"); -$templateCache.put("decorators/material/fieldset.html","
{{ form.title }}
"); +$templateCache.put("decorators/material/date.html","
"); +$templateCache.put("decorators/material/default.html","
{{form.mdIcon}}
"); +$templateCache.put("decorators/material/fieldset-trcl.html","
{{ form.title }}
"); +$templateCache.put("decorators/material/fieldset.html","
{{ form.title }}
"); $templateCache.put("decorators/material/help.html","
"); $templateCache.put("decorators/material/radio-buttons.html","
"); $templateCache.put("decorators/material/radios-inline.html","
"); -$templateCache.put("decorators/material/radios.html","
"); +$templateCache.put("decorators/material/radios.html","
"); $templateCache.put("decorators/material/section.html",""); -$templateCache.put("decorators/material/select.html","{{::filtered.name}}{{::opt.name}}"); +$templateCache.put("decorators/material/select.html","{{::filtered.name}}{{::opt.name}}
"); $templateCache.put("decorators/material/slider.html",""); -$templateCache.put("decorators/material/submit.html","
{{::form.tip}}{{::form.title}}
"); +$templateCache.put("decorators/material/submit.html","
{{::form.tip}}{{::form.title}}
"); $templateCache.put("decorators/material/switch.html","{{::form.title}}"); $templateCache.put("decorators/material/tabarray.html",""); $templateCache.put("decorators/material/tabs.html","
"); -$templateCache.put("decorators/material/textarea.html"," ");}]); \ No newline at end of file +$templateCache.put("decorators/material/textarea.html"," ");}]); \ No newline at end of file diff --git a/src/angular-schema-form-material-templates.min.js b/src/angular-schema-form-material-templates.min.js index 13372cb..4459769 100644 --- a/src/angular-schema-form-material-templates.min.js +++ b/src/angular-schema-form-material-templates.min.js @@ -1 +1 @@ -angular.module("schemaForm").run(["$templateCache",function(e){e.put("decorators/material/actions-trcl.html",'
'),e.put("decorators/material/actions.html",'
'),e.put("decorators/material/array.html",'
close
{{ form.add || \'Add\'}}
'),e.put("decorators/material/autocomplete.html",'
{{item.name}}No matches found
'),e.put("decorators/material/card-content.html",''),e.put("decorators/material/card.html",''),e.put("decorators/material/checkbox.html",'
{{::form.title}}
'),e.put("decorators/material/checkboxes.html",'
{{::form.titleMap[$index].name}}
'),e.put("decorators/material/chips.html",'
{{$chip}}
'),e.put("decorators/material/date.html",'
'),e.put("decorators/material/default.html",' '),e.put("decorators/material/fieldset-trcl.html",'
{{ form.title }}
'),e.put("decorators/material/fieldset.html",'
{{ form.title }}
'),e.put("decorators/material/help.html",'
'),e.put("decorators/material/radio-buttons.html",'
'),e.put("decorators/material/radios-inline.html",'
'),e.put("decorators/material/radios.html",'
'),e.put("decorators/material/section.html",''),e.put("decorators/material/select.html",'{{::filtered.name}}{{::opt.name}}'),e.put("decorators/material/slider.html",''),e.put("decorators/material/submit.html",'
{{::form.tip}}{{::form.title}}
'),e.put("decorators/material/switch.html",'{{::form.title}}'),e.put("decorators/material/tabarray.html",''),e.put("decorators/material/tabs.html",'
'),e.put("decorators/material/textarea.html",' ')}]); \ No newline at end of file +angular.module("schemaForm").run(["$templateCache",function(e){e.put("decorators/material/actions-trcl.html",'
'),e.put("decorators/material/actions.html",'
'),e.put("decorators/material/array.html",'
close
{{ form.add || \'Add\'}}
'),e.put("decorators/material/autocomplete.html",'
{{item.name}}No matches found
'),e.put("decorators/material/card-content.html",''),e.put("decorators/material/card.html",'{{ form.title }}'),e.put("decorators/material/checkbox.html",'
{{::form.title}}
'),e.put("decorators/material/checkboxes.html",'
{{::form.titleMap[$index].name}}
'),e.put("decorators/material/chips.html",'
{{$chip}}
'),e.put("decorators/material/date.html",'
'),e.put("decorators/material/default.html",'
{{form.mdIcon}}
'),e.put("decorators/material/fieldset-trcl.html",'
{{ form.title }}
'),e.put("decorators/material/fieldset.html",'
{{ form.title }}
'),e.put("decorators/material/help.html",'
'),e.put("decorators/material/radio-buttons.html",'
'),e.put("decorators/material/radios-inline.html",'
'),e.put("decorators/material/radios.html",'
'),e.put("decorators/material/section.html",''),e.put("decorators/material/select.html",'{{::filtered.name}}{{::opt.name}}
'),e.put("decorators/material/slider.html",''),e.put("decorators/material/submit.html",'
{{::form.tip}}{{::form.title}}
'),e.put("decorators/material/switch.html",'{{::form.title}}'),e.put("decorators/material/tabarray.html",''),e.put("decorators/material/tabs.html",'
'),e.put("decorators/material/textarea.html",' ')}]); \ No newline at end of file From e6abd074198b79d1b414065d75e95c64f7f2faa5 Mon Sep 17 00:00:00 2001 From: Brian Kelley Date: Thu, 29 Sep 2016 17:21:23 -0500 Subject: [PATCH 10/23] web pack build... hopefully --- bower.json | 5 +- dist/angular-schema-form-material.js | 244 +++++++++++++++++++-------- package.json | 2 +- 3 files changed, 182 insertions(+), 69 deletions(-) diff --git a/bower.json b/bower.json index 292a03f..e3b0591 100644 --- a/bower.json +++ b/bower.json @@ -22,7 +22,7 @@ "tests" ], "dependencies": { - "angular-schema-form": ">=0.8.13" + "angular-schema-form": "git://github.com/betterMDS/angular-schema-form.git#feature/webpack-babel" }, "devDependencies": { "angular": "1.5.5", @@ -32,5 +32,8 @@ "angular-messages": "1.5.5", "angular-ui-ace": "~0.2.3", "moment": "~2.10.6" + }, + "resolutions": { + "angular": "1.5.8" } } diff --git a/dist/angular-schema-form-material.js b/dist/angular-schema-form-material.js index 0b20188..17efdf5 100644 --- a/dist/angular-schema-form-material.js +++ b/dist/angular-schema-form-material.js @@ -361,8 +361,17 @@ return /******/ (function(modules) { // webpackBootstrap var evalExpr = 'evalExpr(' + args.path + '.condition, { model: model, "arrayIndex": $index})'; if (args.form.key) { var strKey = sfPathProvider.stringify(args.form.key); - evalExpr = 'evalExpr(' + args.path + '.condition,{ model: model, "arrayIndex": $index, ' + '"modelValue": model' + (strKey[0] === '[' ? '' : '.') + strKey + '})'; - }; + var arrayDepth = args.form.key.filter(function (e) { + return e === ''; + }).length; + var arrayIndices = arrayDepth > 1 ? Array(arrayDepth - 1).join('$parent.$parent.$parent.') + '$parent.$parent.$index,' : ''; + for (var i = arrayDepth; i > 2; i--) { + arrayIndices += Array(i - 1).join('$parent.$parent.$parent.') + '$index,'; + } + arrayIndices += '$index'; + + evalExpr = 'evalExpr(' + args.path + '.condition,{ model: model, "arrayIndex": $index, ' + '"arrayIndices": [' + arrayIndices + '],' + '"modelValue": model' + (strKey[0] === '[' ? '' : '.') + strKey + '})'; + } var children = args.fieldFrag.children || args.fieldFrag.childNodes; for (var i = 0; i < children.length; i++) { @@ -689,7 +698,11 @@ return /******/ (function(modules) { // webpackBootstrap if (!scope.ngModel) { return false; } - return scope.ngModel.$valid && (!scope.ngModel.$pristine || !scope.ngModel.$isEmpty(scope.ngModel.$modelValue)); + if (scope.options && scope.options.pristine && scope.options.pristine.success === false) { + return scope.ngModel.$valid && !scope.ngModel.$pristine && !scope.ngModel.$isEmpty(scope.ngModel.$modelValue); + } else { + return scope.ngModel.$valid && (!scope.ngModel.$pristine || !scope.ngModel.$isEmpty(scope.ngModel.$modelValue)); + } }; scope.hasError = function () { @@ -943,11 +956,11 @@ return /******/ (function(modules) { // webpackBootstrap * @param {string} name directive name (CamelCased) * @param {Object} fields, an object that maps "type" => `{ template, builder, replace}`. attributes `builder` and `replace` are optional, and replace defaults to true. - `template` should be the key of the template to load and it should be pre-loaded + `template` should be the key of the template to load and it should be pre-loaded in `$templateCache`. - `builder` can be a function or an array of functions. They will be called in + `builder` can be a function or an array of functions. They will be called in the order they are supplied. - `replace` (DEPRECATED) is for backwards compatability. If false the builder + `replace` (DEPRECATED) is for backwards compatability. If false the builder will use the "old" way of building that form field using a directive. */ @@ -1202,7 +1215,7 @@ return /******/ (function(modules) { // webpackBootstrap /*! * json-schema-form - * @version 1.0.0-alpha.2 + * @version 1.0.0-alpha.1 * @link https://github.com/json-schema-form/json-schema-form-core * @license MIT * Copyright (c) 2016 JSON Schema Form @@ -2128,6 +2141,22 @@ return /******/ (function(modules) { // webpackBootstrap value = undefined; }; + // Object fields (material - autocomplete ) will give a null value when we're looking for an object or undefined + if (schema.type === 'object' && value === null) { + value = undefined; + } + + // Date values + if (schema.type === 'string' && schema.format === 'date') { + if (value === null) { + value = undefined; + } else { + if (typeof value.toISOString === 'function') { + value = value.toISOString(); + } + } + } + // Version 4 of JSON Schema has the required property not on the // property itself but on the wrapping object. Since we like to test // only this property we wrap it in a fake object. @@ -2140,6 +2169,7 @@ return /******/ (function(modules) { // webpackBootstrap }; var valueWrap = {}; + if (_angular2.default.isDefined(value)) { valueWrap[propName] = value; }; @@ -2920,7 +2950,7 @@ return /******/ (function(modules) { // webpackBootstrap value: true }); - exports.default = function ($injector, sfErrorMessage) { + exports.default = function ($injector, $timeout, sfErrorMessage) { //Inject sanitizer if it exists var $sanitize = $injector.has('$sanitize') ? $injector.get('$sanitize') : function (html) { @@ -2951,6 +2981,12 @@ return /******/ (function(modules) { // webpackBootstrap } }; + var updateAsync = function updateAsync(checkForErrors) { + $timeout(function () { + update(checkForErrors); + }); + }; + var update = function update(checkForErrors) { if (checkForErrors) { if (!scope.hasError()) { @@ -2997,10 +3033,10 @@ return /******/ (function(modules) { // webpackBootstrap // option to not show errors the ngModel.$error might not have changed // but we're not pristine any more so we should change! ngModel.$parsers.push(function (val) { - update(true);return val; + updateAsync(true);return val; }); ngModel.$formatters.push(function (val) { - update(true);return val; + updateAsync(true);return val; }); once(); } @@ -3085,6 +3121,11 @@ return /******/ (function(modules) { // webpackBootstrap // Special case: don't do it if form has a titleMap if (!form.titleMap && form.startEmpty !== true && (!scope.modelArray || scope.modelArray.length === 0)) { scope.appendToArray(); + if (form.startAtMin === true) { + while (scope.modelArray.length < form.schema.minItems) { + scope.appendToArray(); + } + } } // If we have "uniqueItems" set to true, we must deep watch for changes. @@ -3534,7 +3575,7 @@ return /******/ (function(modules) { // webpackBootstrap // Since we might have different tv4 errors we must clear all // errors that start with tv4- Object.keys(ngModel.$error).filter(function (k) { - return k.indexOf('tv4-') === 0 || k.indexOf('md-') === 0; + return k.indexOf('tv4-') === 0; }).forEach(function (k) { ngModel.$setValidity(k, true); }); @@ -3697,29 +3738,29 @@ return /******/ (function(modules) { // webpackBootstrap angular.module("schemaForm").run(["$templateCache", function ($templateCache) { $templateCache.put("decorators/material/actions-trcl.html", "
"); $templateCache.put("decorators/material/actions.html", "
"); - $templateCache.put("decorators/material/array.html", "
= modelArray.length\" class=\"md-icon-button\" aria-label=\"More\" style=\"position: relative; z-index: 20;\">close
{{ form.add || \'Add\'}}
"); - $templateCache.put("decorators/material/autocomplete.html", "
{{item.name}}No matches found
"); + $templateCache.put("decorators/material/array.html", "
= modelArray.length\" class=\"md-icon-button\" aria-label=\"More\" style=\"position: relative; z-index: 20;\">close
{{ form.add || \'Add\'}}
"); + $templateCache.put("decorators/material/autocomplete.html", "
{{item.name}}No matches found
"); $templateCache.put("decorators/material/card-content.html", ""); - $templateCache.put("decorators/material/card.html", ""); + $templateCache.put("decorators/material/card.html", "{{ form.title }}"); $templateCache.put("decorators/material/checkbox.html", "
{{::form.title}}
"); $templateCache.put("decorators/material/checkboxes.html", "
{{::form.titleMap[$index].name}}
"); $templateCache.put("decorators/material/chips.html", "
{{$chip}}
"); - $templateCache.put("decorators/material/date.html", "
"); - $templateCache.put("decorators/material/default.html", " "); - $templateCache.put("decorators/material/fieldset-trcl.html", "
{{ form.title }}
"); - $templateCache.put("decorators/material/fieldset.html", "
{{ form.title }}
"); + $templateCache.put("decorators/material/date.html", "
"); + $templateCache.put("decorators/material/default.html", "
{{form.mdIcon}}
"); + $templateCache.put("decorators/material/fieldset-trcl.html", "
{{ form.title }}
"); + $templateCache.put("decorators/material/fieldset.html", "
{{ form.title }}
"); $templateCache.put("decorators/material/help.html", "
"); $templateCache.put("decorators/material/radio-buttons.html", "
"); $templateCache.put("decorators/material/radios-inline.html", "
"); - $templateCache.put("decorators/material/radios.html", "
"); + $templateCache.put("decorators/material/radios.html", "
"); $templateCache.put("decorators/material/section.html", ""); - $templateCache.put("decorators/material/select.html", "{{::filtered.name}}{{::opt.name}}"); + $templateCache.put("decorators/material/select.html", "{{::filtered.name}}{{::opt.name}}
"); $templateCache.put("decorators/material/slider.html", ""); - $templateCache.put("decorators/material/submit.html", "
{{::form.tip}}{{::form.title}}
"); + $templateCache.put("decorators/material/submit.html", "
{{::form.tip}}{{::form.title}}
"); $templateCache.put("decorators/material/switch.html", "{{::form.title}}"); $templateCache.put("decorators/material/tabarray.html", ""); $templateCache.put("decorators/material/tabs.html", "
"); - $templateCache.put("decorators/material/textarea.html", " "); + $templateCache.put("decorators/material/textarea.html", " "); }]); /***/ }, @@ -3781,7 +3822,27 @@ return /******/ (function(modules) { // webpackBootstrap (function (angular, undefined) { 'use strict'; - angular.module('schemaForm').config(materialDecoratorConfig).directive('sfmExternalOptions', sfmExternalOptionsDirective).filter('sfCamelKey', sfCamelKeyFilter); + angular.module('schemaForm').config(materialDecoratorConfig).directive('sfmExternalOptions', sfmExternalOptionsDirective).filter('sfCamelKey', sfCamelKeyFilter).directive('sfChangedAutoComplete', function () { + // Duplicate of sf-changed, but instead of adding a watcher, adds a function on the scope to fire the onchange. + return { + require: 'ngModel', + restrict: 'AC', + link: function (scope, element, attrs, ctrl) { + var form = scope.$eval(attrs.sfChangedAutoComplete); + //"form" is really guaranteed to be here since the decorator directive + //waits for it. But best be sure. + if (form && form.onChange) { + scope.onChangeFn = function () { + if (angular.isFunction(form.onChange)) { + form.onChange(ctrl.$modelValue, form); + } else { + scope.evalExpr(form.onChange, { 'modelValue': ctrl.$modelValue, form: form }); + } + }; + } + } + }; + }); materialDecoratorConfig.$inject = ['schemaFormProvider', 'schemaFormDecoratorsProvider', 'sfBuilderProvider', 'sfPathProvider', '$injector']; @@ -3789,6 +3850,7 @@ return /******/ (function(modules) { // webpackBootstrap var base = 'decorators/material/'; var simpleTransclusion = sfBuilderProvider.builders.simpleTransclusion; + var transclusion = sfBuilderProvider.builders.transclusion; var ngModelOptions = sfBuilderProvider.builders.ngModelOptions; var ngModel = sfBuilderProvider.builders.ngModel; var sfField = sfBuilderProvider.builders.sfField; @@ -3806,11 +3868,21 @@ return /******/ (function(modules) { // webpackBootstrap var mdTabs = mdTabsBuilder; var textarea = textareaBuilder; - var core = [sfField, ngModel, ngModelOptions, condition, sfLayout]; + var sfFieldMaterial = function (args) { + sfField(args); + var field = args.fieldFrag.querySelector('input, textarea, md-select'); + + if (args.form.required && field) { + field.setAttribute('ng-required', 'form.required'); + } + }; + + var core = [sfFieldMaterial, ngModel, ngModelOptions, condition, sfLayout]; var defaults = core.concat(sfMessages); var arrays = core.concat(array); schemaFormProvider.defaults.string.unshift(dateDefault); + schemaFormProvider.defaults.object.unshift(dateObjectDefault); decoratorsProvider.defineDecorator('materialDecorator', { actions: { template: base + 'actions.html', builder: [sfField, simpleTransclusion, condition] }, @@ -3818,11 +3890,12 @@ return /******/ (function(modules) { // webpackBootstrap autocomplete: { template: base + 'autocomplete.html', builder: defaults.concat(mdAutocomplete) }, boolean: { template: base + 'checkbox.html', builder: defaults }, button: { template: base + 'submit.html', builder: defaults }, + card: { template: base + 'card.html', builder: [sfField, transclusion, condition] }, checkbox: { template: base + 'checkbox.html', builder: defaults }, checkboxes: { template: base + 'checkboxes.html', builder: arrays }, date: { template: base + 'date.html', builder: defaults.concat(mdDatepicker) }, 'default': { template: base + 'default.html', builder: defaults }, - fieldset: { template: base + 'fieldset.html', builder: [sfField, simpleTransclusion, condition] }, + fieldset: { template: base + 'fieldset.html', builder: [sfField, transclusion, condition] }, help: { template: base + 'help.html', builder: defaults }, number: { template: base + 'default.html', builder: defaults.concat(numeric) }, password: { template: base + 'default.html', builder: defaults }, @@ -3838,6 +3911,26 @@ return /******/ (function(modules) { // webpackBootstrap switch: { template: base + 'switch.html', builder: defaults.concat(mdSwitch) } }); + // ISO Format - 2016-08-02T17:03:18.608Z - new Date().toISOString() + var dateFormat = /^[0-9]{4,}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\.[0-9]+|)(?:[+-][0-9]{2}:?(?:[0-9]{2}|)|Z)$/; + // Standard Format - Tue Aug 02 2016 12:03:59 GMT-0500 (CDT) - new Date().toString() + var mdDateFormat = /^(:?[A-Z][a-z]{2}\s){2}\d{1,2}\s\d{4}\s(:?\d{2}\:?){3}\s[A-Z]{3}\-\d{4}\s\([A-Z]{3}\)$/; + + var formats = { + date: function (value) { + if (value && typeof value !== 'string' && value.toISOString) { + value = value.toISOString() || ''; + } + + if (dateFormat.test(value) || mdDateFormat.test(value)) { + return null; + } + + return 'A valid date expected'; + } + }; + tv4.addFormat('date', formats.date); + function sfLayout(args) { var layoutDiv = args.fieldFrag.querySelector('[sf-layout]'); @@ -3849,7 +3942,7 @@ return /******/ (function(modules) { // webpackBootstrap }; function sfMessagesNodeHandler() { - var html = '
' + '
'; + var html = '
' + '
'; var div = document.createElement('div'); div.innerHTML = html; return div.firstChild; @@ -3873,17 +3966,16 @@ return /******/ (function(modules) { // webpackBootstrap function mdAutocompleteBuilder(args) { var mdAutocompleteFrag = args.fieldFrag.querySelector('md-autocomplete'); - var minLength = args.form.minLength || 1; + + var minLength = args.form.minLength !== undefined ? args.form.minLength : 1; // Allow the user to pass "0" for min-length to use md-autocomplete as a dropdown with filter. var maxLength = args.form.maxLength || false; var title = args.form.title || args.form.placeholder || args.form.key.slice(-1)[0]; - if (mdAutocompleteFrag) { if (args.form.onChange) { - mdAutocompleteFrag.setAttribute('md-selected-item-change', 'args.form.onChange()'); - mdAutocompleteFrag.setAttribute('md-search-text-change', 'args.form.onChange(searchText)'); + mdAutocompleteFrag.setAttribute('md-selected-item-change', 'onChangeFn()'); + mdAutocompleteFrag.setAttribute('md-search-text-change', 'onChangeFn(searchText)'); }; - // mdAutocompleteFrag.setAttribute('md-items', 'item in $filter(''autocomplete'')(searchText);'); mdAutocompleteFrag.setAttribute('md-min-length', minLength); if (maxLength) { mdAutocompleteFrag.setAttribute('md-max-length', maxLength); @@ -3892,7 +3984,11 @@ return /******/ (function(modules) { // webpackBootstrap if (title) { mdAutocompleteFrag.setAttribute('md-floating-label', title); }; - }; + + if (args.form.schema.requireMatch) { + mdAutocompleteFrag.setAttribute('md-require-match', true); + } + } }; function mdSwitchBuilder(args) { @@ -3934,6 +4030,7 @@ return /******/ (function(modules) { // webpackBootstrap }; function mdDatepickerBuilder(args) { + console.log("Date Picker", args); var mdDatepickerFrag = args.fieldFrag.querySelector('md-datepicker'); if (mdDatepickerFrag) { if (args.form.onChange) { @@ -3948,6 +4045,10 @@ return /******/ (function(modules) { // webpackBootstrap if (maxDate) { mdDatepickerFrag.setAttribute('md-max-date', maxDate); } + + if (args.form.mdHideIcons) { + mdDatepickerFrag.setAttribute('md-hide-icons', args.form.mdHideIcons); + } } }; @@ -3968,8 +4069,8 @@ return /******/ (function(modules) { // webpackBootstrap }; /** - * Material Datepicker - */ + * Material Datepicker + */ function dateDefault(name, schema, options) { if (schema.type === 'string' && (schema.format === 'date' || schema.format === 'date-time')) { var f = schemaFormProvider.stdFormObj(name, schema, options); @@ -3979,6 +4080,15 @@ return /******/ (function(modules) { // webpackBootstrap return f; } }; + function dateObjectDefault(name, schema, options) { + if (schema.type === 'object' && (schema.format === 'date' || schema.format === 'date-time')) { + var f = schemaFormProvider.stdFormObj(name, schema, options); + f.key = options.path; + f.type = 'date'; + options.lookup[sfPathProvider.stringify(options.path)] = f; + return f; + } + }; }; function getOptionsHandler(form, evalExpr) { @@ -4029,8 +4139,8 @@ return /******/ (function(modules) { // webpackBootstrap }; /** - * sfCamelKey Filter - */ + * sfCamelKey Filter + */ function sfCamelKeyFilter() { return function (formKey) { if (!formKey) { @@ -4050,36 +4160,36 @@ return /******/ (function(modules) { // webpackBootstrap }; })(angular, undefined); /* - TODO add default filter for autocomplete which allows form.optionFilter or 'autocompleteFilter' to override - Something along the following lines... - if ($injector.has('autocompleteFilter')) { - result = $filter('autocomplete')(input); - } - else - if ($injector.has(args.form.optionFilter + 'Filter')) { - result = $filter(args.form.optionFilter)(input); - } - else { - if (args.form.optionFilter) { - mdAutocomplete.setAttribute('md-items', - 'item in evalExpr("this[\""+form.optionFilter+"\"](\""+searchText+"\")")'); - } - } - - .filter('autocompleteMovieTest', function() { - function autocompleteMovieTestFilter(array, input){ - var current = input; - // You could also call multiple filters here using: - // current = $filter('filterName')(input) - if(typeof current === 'string') { - current = current.replace(' ','-').toLowerCase(); - } - current = (!current) ? '_undefined' : current; - return current; - } + TODO add default filter for autocomplete which allows form.optionFilter or 'autocompleteFilter' to override + Something along the following lines... + if ($injector.has('autocompleteFilter')) { + result = $filter('autocomplete')(input); + } + else + if ($injector.has(args.form.optionFilter + 'Filter')) { + result = $filter(args.form.optionFilter)(input); + } + else { + if (args.form.optionFilter) { + mdAutocomplete.setAttribute('md-items', + 'item in evalExpr("this[\""+form.optionFilter+"\"](\""+searchText+"\")")'); + } + } + + .filter('autocompleteMovieTest', function() { + function autocompleteMovieTestFilter(array, input){ + var current = input; + // You could also call multiple filters here using: + // current = $filter('filterName')(input) + if(typeof current === 'string') { + current = current.replace(' ','-').toLowerCase(); + } + current = (!current) ? '_undefined' : current; + return current; + } - return externalOptionUriFilter; - }) + return externalOptionUriFilter; + }) */ /***/ }, @@ -4105,10 +4215,10 @@ return /******/ (function(modules) { // webpackBootstrap // Element class is not set in DOM if executed immediately. // I don't understand exactly why but it's probably related to other directive job. $timeout(function () { - if (modelValue !== null && typeof modelValue !== 'undefined' && modelValue !== false) { + if (modelValue !== null && typeof modelValue !== 'undefined' && modelValue !== false && modelValue !== '') { element.addClass(attrs.sfMaterialClass); } - }, 0); + }, 100); } }; }); diff --git a/package.json b/package.json index c6102fa..2358d79 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,7 @@ "angular": ">= 1.2", "angular-messages": "^1.5.0", "angular-sanitize": ">= 1.2", - "angular-schema-form": "git://github.com/json-schema-form/angular-schema-form.git#feature/webpack-babel", + "angular-schema-form": "git://github.com/betterMDS/angular-schema-form.git#feature/webpack-babel", "tv4": "~1.0.15" }, "devDependencies": { From 947a953960bafaafe6e161ec4e6b303f3a1761ab Mon Sep 17 00:00:00 2001 From: Brian Kelley Date: Thu, 29 Sep 2016 17:43:16 -0500 Subject: [PATCH 11/23] more webpack --- .bowerrc | 3 +++ bower.json | 3 ++- dist/angular-schema-form-material.js | 3 ++- 3 files changed, 7 insertions(+), 2 deletions(-) create mode 100644 .bowerrc diff --git a/.bowerrc b/.bowerrc new file mode 100644 index 0000000..69fad35 --- /dev/null +++ b/.bowerrc @@ -0,0 +1,3 @@ +{ + "directory": "bower_components" +} diff --git a/bower.json b/bower.json index e3b0591..30b43ee 100644 --- a/bower.json +++ b/bower.json @@ -34,6 +34,7 @@ "moment": "~2.10.6" }, "resolutions": { - "angular": "1.5.8" + "angular": "1.5.8", + "angular-schema-form": "feature/webpack-babel" } } diff --git a/dist/angular-schema-form-material.js b/dist/angular-schema-form-material.js index 17efdf5..29fbe6c 100644 --- a/dist/angular-schema-form-material.js +++ b/dist/angular-schema-form-material.js @@ -2950,12 +2950,13 @@ return /******/ (function(modules) { // webpackBootstrap value: true }); - exports.default = function ($injector, $timeout, sfErrorMessage) { + exports.default = function ($injector, sfErrorMessage) { //Inject sanitizer if it exists var $sanitize = $injector.has('$sanitize') ? $injector.get('$sanitize') : function (html) { return html; }; + var $timeout = $injector.get('$timeout'); return { scope: false, From 46087a96429720f1573cc047ef35b0370b19d5cd Mon Sep 17 00:00:00 2001 From: Brian Kelley Date: Fri, 30 Sep 2016 08:48:56 -0500 Subject: [PATCH 12/23] more webpack... --- dist/angular-schema-form-material.js | 4 ++-- src/material-class.js | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/dist/angular-schema-form-material.js b/dist/angular-schema-form-material.js index 29fbe6c..87ded30 100644 --- a/dist/angular-schema-form-material.js +++ b/dist/angular-schema-form-material.js @@ -4197,7 +4197,7 @@ return /******/ (function(modules) { // webpackBootstrap /* 7 */ /***/ function(module, exports) { - angular.module('schemaForm').directive('sfMaterialClass', function ($compile, $timeout) { + angular.module('schemaForm').directive('sfMaterialClass', ["$compile", "$timeout", function ($compile, $timeout) { return { restrict: 'A', scope: false, @@ -4222,7 +4222,7 @@ return /******/ (function(modules) { // webpackBootstrap }, 100); } }; - }); + }]); /***/ } /******/ ]) diff --git a/src/material-class.js b/src/material-class.js index 6c86709..0927ea0 100644 --- a/src/material-class.js +++ b/src/material-class.js @@ -1,4 +1,4 @@ -angular.module('schemaForm').directive('sfMaterialClass', function($compile, $timeout) { +angular.module('schemaForm').directive('sfMaterialClass', ["$compile", "$timeout", function($compile, $timeout) { return { restrict : 'A', scope : false, @@ -21,4 +21,4 @@ angular.module('schemaForm').directive('sfMaterialClass', function($compile, $ti }, 100); } }; -}); +}]); From 3fe8315977bd4285b7aac3a5d6faca25687dcbeb Mon Sep 17 00:00:00 2001 From: Brian Kelley Date: Fri, 30 Sep 2016 09:19:54 -0500 Subject: [PATCH 13/23] Autocomplete dropdown issues --- dist/angular-schema-form-material.js | 2 +- src/angular-schema-form-material-templates.js | 2 +- src/angular-schema-form-material-templates.min.js | 2 +- src/autocomplete.html | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/dist/angular-schema-form-material.js b/dist/angular-schema-form-material.js index 87ded30..2dacd72 100644 --- a/dist/angular-schema-form-material.js +++ b/dist/angular-schema-form-material.js @@ -3740,7 +3740,7 @@ return /******/ (function(modules) { // webpackBootstrap $templateCache.put("decorators/material/actions-trcl.html", "
"); $templateCache.put("decorators/material/actions.html", "
"); $templateCache.put("decorators/material/array.html", "
= modelArray.length\" class=\"md-icon-button\" aria-label=\"More\" style=\"position: relative; z-index: 20;\">close
{{ form.add || \'Add\'}}
"); - $templateCache.put("decorators/material/autocomplete.html", "
{{item.name}}No matches found
"); + $templateCache.put("decorators/material/autocomplete.html", "
{{item.name}}No matches found
"); $templateCache.put("decorators/material/card-content.html", ""); $templateCache.put("decorators/material/card.html", "{{ form.title }}"); $templateCache.put("decorators/material/checkbox.html", "
{{::form.title}}
"); diff --git a/src/angular-schema-form-material-templates.js b/src/angular-schema-form-material-templates.js index 6706030..cda38d8 100644 --- a/src/angular-schema-form-material-templates.js +++ b/src/angular-schema-form-material-templates.js @@ -1,7 +1,7 @@ angular.module("schemaForm").run(["$templateCache", function($templateCache) {$templateCache.put("decorators/material/actions-trcl.html","
"); $templateCache.put("decorators/material/actions.html","
"); $templateCache.put("decorators/material/array.html","
= modelArray.length\" class=\"md-icon-button\" aria-label=\"More\" style=\"position: relative; z-index: 20;\">close
{{ form.add || \'Add\'}}
"); -$templateCache.put("decorators/material/autocomplete.html","
{{item.name}}No matches found
"); +$templateCache.put("decorators/material/autocomplete.html","
{{item.name}}No matches found
"); $templateCache.put("decorators/material/card-content.html",""); $templateCache.put("decorators/material/card.html","{{ form.title }}"); $templateCache.put("decorators/material/checkbox.html","
{{::form.title}}
"); diff --git a/src/angular-schema-form-material-templates.min.js b/src/angular-schema-form-material-templates.min.js index 4459769..e76dfa4 100644 --- a/src/angular-schema-form-material-templates.min.js +++ b/src/angular-schema-form-material-templates.min.js @@ -1 +1 @@ -angular.module("schemaForm").run(["$templateCache",function(e){e.put("decorators/material/actions-trcl.html",'
'),e.put("decorators/material/actions.html",'
'),e.put("decorators/material/array.html",'
close
{{ form.add || \'Add\'}}
'),e.put("decorators/material/autocomplete.html",'
{{item.name}}No matches found
'),e.put("decorators/material/card-content.html",''),e.put("decorators/material/card.html",'{{ form.title }}'),e.put("decorators/material/checkbox.html",'
{{::form.title}}
'),e.put("decorators/material/checkboxes.html",'
{{::form.titleMap[$index].name}}
'),e.put("decorators/material/chips.html",'
{{$chip}}
'),e.put("decorators/material/date.html",'
'),e.put("decorators/material/default.html",'
{{form.mdIcon}}
'),e.put("decorators/material/fieldset-trcl.html",'
{{ form.title }}
'),e.put("decorators/material/fieldset.html",'
{{ form.title }}
'),e.put("decorators/material/help.html",'
'),e.put("decorators/material/radio-buttons.html",'
'),e.put("decorators/material/radios-inline.html",'
'),e.put("decorators/material/radios.html",'
'),e.put("decorators/material/section.html",''),e.put("decorators/material/select.html",'{{::filtered.name}}{{::opt.name}}
'),e.put("decorators/material/slider.html",''),e.put("decorators/material/submit.html",'
{{::form.tip}}{{::form.title}}
'),e.put("decorators/material/switch.html",'{{::form.title}}'),e.put("decorators/material/tabarray.html",''),e.put("decorators/material/tabs.html",'
'),e.put("decorators/material/textarea.html",' ')}]); \ No newline at end of file +angular.module("schemaForm").run(["$templateCache",function(e){e.put("decorators/material/actions-trcl.html",'
'),e.put("decorators/material/actions.html",'
'),e.put("decorators/material/array.html",'
close
{{ form.add || \'Add\'}}
'),e.put("decorators/material/autocomplete.html",'
{{item.name}}No matches found
'),e.put("decorators/material/card-content.html",''),e.put("decorators/material/card.html",'{{ form.title }}'),e.put("decorators/material/checkbox.html",'
{{::form.title}}
'),e.put("decorators/material/checkboxes.html",'
{{::form.titleMap[$index].name}}
'),e.put("decorators/material/chips.html",'
{{$chip}}
'),e.put("decorators/material/date.html",'
'),e.put("decorators/material/default.html",'
{{form.mdIcon}}
'),e.put("decorators/material/fieldset-trcl.html",'
{{ form.title }}
'),e.put("decorators/material/fieldset.html",'
{{ form.title }}
'),e.put("decorators/material/help.html",'
'),e.put("decorators/material/radio-buttons.html",'
'),e.put("decorators/material/radios-inline.html",'
'),e.put("decorators/material/radios.html",'
'),e.put("decorators/material/section.html",''),e.put("decorators/material/select.html",'{{::filtered.name}}{{::opt.name}}
'),e.put("decorators/material/slider.html",''),e.put("decorators/material/submit.html",'
{{::form.tip}}{{::form.title}}
'),e.put("decorators/material/switch.html",'{{::form.title}}'),e.put("decorators/material/tabarray.html",''),e.put("decorators/material/tabs.html",'
'),e.put("decorators/material/textarea.html",' ')}]); \ No newline at end of file diff --git a/src/autocomplete.html b/src/autocomplete.html index 663abbb..328e32e 100644 --- a/src/autocomplete.html +++ b/src/autocomplete.html @@ -14,7 +14,7 @@ md-items="item in evalExpr('this[\\''+form.optionFilter+'\\'](\\''+searchText+'\\')')" md-item-text="item.name" md-floating-label="{{::form.title}}" - md-menu-class="autocomplete-custom-template" + > {{item.name}} From c9e8f9b83619adf62a0f9d65b7c806d149bf0d93 Mon Sep 17 00:00:00 2001 From: Brian Kelley Date: Fri, 30 Sep 2016 09:26:54 -0500 Subject: [PATCH 14/23] Autocomplete dropdown issues --- dist/angular-schema-form-material.js | 2 +- src/angular-schema-form-material-templates.js | 2 +- src/angular-schema-form-material-templates.min.js | 2 +- src/autocomplete.html | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/dist/angular-schema-form-material.js b/dist/angular-schema-form-material.js index 2dacd72..87ded30 100644 --- a/dist/angular-schema-form-material.js +++ b/dist/angular-schema-form-material.js @@ -3740,7 +3740,7 @@ return /******/ (function(modules) { // webpackBootstrap $templateCache.put("decorators/material/actions-trcl.html", "
"); $templateCache.put("decorators/material/actions.html", "
"); $templateCache.put("decorators/material/array.html", "
= modelArray.length\" class=\"md-icon-button\" aria-label=\"More\" style=\"position: relative; z-index: 20;\">close
{{ form.add || \'Add\'}}
"); - $templateCache.put("decorators/material/autocomplete.html", "
{{item.name}}No matches found
"); + $templateCache.put("decorators/material/autocomplete.html", "
{{item.name}}No matches found
"); $templateCache.put("decorators/material/card-content.html", ""); $templateCache.put("decorators/material/card.html", "{{ form.title }}"); $templateCache.put("decorators/material/checkbox.html", "
{{::form.title}}
"); diff --git a/src/angular-schema-form-material-templates.js b/src/angular-schema-form-material-templates.js index cda38d8..6706030 100644 --- a/src/angular-schema-form-material-templates.js +++ b/src/angular-schema-form-material-templates.js @@ -1,7 +1,7 @@ angular.module("schemaForm").run(["$templateCache", function($templateCache) {$templateCache.put("decorators/material/actions-trcl.html","
"); $templateCache.put("decorators/material/actions.html","
"); $templateCache.put("decorators/material/array.html","
= modelArray.length\" class=\"md-icon-button\" aria-label=\"More\" style=\"position: relative; z-index: 20;\">close
{{ form.add || \'Add\'}}
"); -$templateCache.put("decorators/material/autocomplete.html","
{{item.name}}No matches found
"); +$templateCache.put("decorators/material/autocomplete.html","
{{item.name}}No matches found
"); $templateCache.put("decorators/material/card-content.html",""); $templateCache.put("decorators/material/card.html","{{ form.title }}"); $templateCache.put("decorators/material/checkbox.html","
{{::form.title}}
"); diff --git a/src/angular-schema-form-material-templates.min.js b/src/angular-schema-form-material-templates.min.js index e76dfa4..4459769 100644 --- a/src/angular-schema-form-material-templates.min.js +++ b/src/angular-schema-form-material-templates.min.js @@ -1 +1 @@ -angular.module("schemaForm").run(["$templateCache",function(e){e.put("decorators/material/actions-trcl.html",'
'),e.put("decorators/material/actions.html",'
'),e.put("decorators/material/array.html",'
close
{{ form.add || \'Add\'}}
'),e.put("decorators/material/autocomplete.html",'
{{item.name}}No matches found
'),e.put("decorators/material/card-content.html",''),e.put("decorators/material/card.html",'{{ form.title }}'),e.put("decorators/material/checkbox.html",'
{{::form.title}}
'),e.put("decorators/material/checkboxes.html",'
{{::form.titleMap[$index].name}}
'),e.put("decorators/material/chips.html",'
{{$chip}}
'),e.put("decorators/material/date.html",'
'),e.put("decorators/material/default.html",'
{{form.mdIcon}}
'),e.put("decorators/material/fieldset-trcl.html",'
{{ form.title }}
'),e.put("decorators/material/fieldset.html",'
{{ form.title }}
'),e.put("decorators/material/help.html",'
'),e.put("decorators/material/radio-buttons.html",'
'),e.put("decorators/material/radios-inline.html",'
'),e.put("decorators/material/radios.html",'
'),e.put("decorators/material/section.html",''),e.put("decorators/material/select.html",'{{::filtered.name}}{{::opt.name}}
'),e.put("decorators/material/slider.html",''),e.put("decorators/material/submit.html",'
{{::form.tip}}{{::form.title}}
'),e.put("decorators/material/switch.html",'{{::form.title}}'),e.put("decorators/material/tabarray.html",''),e.put("decorators/material/tabs.html",'
'),e.put("decorators/material/textarea.html",' ')}]); \ No newline at end of file +angular.module("schemaForm").run(["$templateCache",function(e){e.put("decorators/material/actions-trcl.html",'
'),e.put("decorators/material/actions.html",'
'),e.put("decorators/material/array.html",'
close
{{ form.add || \'Add\'}}
'),e.put("decorators/material/autocomplete.html",'
{{item.name}}No matches found
'),e.put("decorators/material/card-content.html",''),e.put("decorators/material/card.html",'{{ form.title }}'),e.put("decorators/material/checkbox.html",'
{{::form.title}}
'),e.put("decorators/material/checkboxes.html",'
{{::form.titleMap[$index].name}}
'),e.put("decorators/material/chips.html",'
{{$chip}}
'),e.put("decorators/material/date.html",'
'),e.put("decorators/material/default.html",'
{{form.mdIcon}}
'),e.put("decorators/material/fieldset-trcl.html",'
{{ form.title }}
'),e.put("decorators/material/fieldset.html",'
{{ form.title }}
'),e.put("decorators/material/help.html",'
'),e.put("decorators/material/radio-buttons.html",'
'),e.put("decorators/material/radios-inline.html",'
'),e.put("decorators/material/radios.html",'
'),e.put("decorators/material/section.html",''),e.put("decorators/material/select.html",'{{::filtered.name}}{{::opt.name}}
'),e.put("decorators/material/slider.html",''),e.put("decorators/material/submit.html",'
{{::form.tip}}{{::form.title}}
'),e.put("decorators/material/switch.html",'{{::form.title}}'),e.put("decorators/material/tabarray.html",''),e.put("decorators/material/tabs.html",'
'),e.put("decorators/material/textarea.html",' ')}]); \ No newline at end of file diff --git a/src/autocomplete.html b/src/autocomplete.html index 328e32e..663abbb 100644 --- a/src/autocomplete.html +++ b/src/autocomplete.html @@ -14,7 +14,7 @@ md-items="item in evalExpr('this[\\''+form.optionFilter+'\\'](\\''+searchText+'\\')')" md-item-text="item.name" md-floating-label="{{::form.title}}" - + md-menu-class="autocomplete-custom-template" > {{item.name}} From 114e772e50d3f75e57ed45a7aa399b2c2c2ad835 Mon Sep 17 00:00:00 2001 From: Brian Kelley Date: Tue, 1 Nov 2016 08:57:13 -0500 Subject: [PATCH 15/23] Dropdown readonly --- dist/angular-schema-form-material.js | 2 +- material-decorator.js | 8 ++++---- material-decorator.min.js | 4 ++-- src/angular-schema-form-material-templates.js | 2 +- src/angular-schema-form-material-templates.min.js | 2 +- src/select.html | 1 + 6 files changed, 10 insertions(+), 9 deletions(-) diff --git a/dist/angular-schema-form-material.js b/dist/angular-schema-form-material.js index 87ded30..5de909c 100644 --- a/dist/angular-schema-form-material.js +++ b/dist/angular-schema-form-material.js @@ -3755,7 +3755,7 @@ return /******/ (function(modules) { // webpackBootstrap $templateCache.put("decorators/material/radios-inline.html", "
"); $templateCache.put("decorators/material/radios.html", "
"); $templateCache.put("decorators/material/section.html", ""); - $templateCache.put("decorators/material/select.html", "{{::filtered.name}}{{::opt.name}}
"); + $templateCache.put("decorators/material/select.html", "{{::filtered.name}}{{::opt.name}}
"); $templateCache.put("decorators/material/slider.html", ""); $templateCache.put("decorators/material/submit.html", "
{{::form.tip}}{{::form.title}}
"); $templateCache.put("decorators/material/switch.html", "{{::form.title}}"); diff --git a/material-decorator.js b/material-decorator.js index 4f86283..5d1f501 100644 --- a/material-decorator.js +++ b/material-decorator.js @@ -16,15 +16,15 @@ $templateCache.put("decorators/material/radio-buttons.html","
"); $templateCache.put("decorators/material/radios.html","
"); $templateCache.put("decorators/material/section.html",""); -$templateCache.put("decorators/material/select.html","{{::filtered.name}}{{::opt.name}}
"); +$templateCache.put("decorators/material/select.html","{{::filtered.name}}{{::opt.name}}
"); $templateCache.put("decorators/material/slider.html",""); $templateCache.put("decorators/material/submit.html","
{{::form.tip}}{{::form.title}}
"); $templateCache.put("decorators/material/switch.html","{{::form.title}}"); $templateCache.put("decorators/material/tabarray.html",""); $templateCache.put("decorators/material/tabs.html","
"); $templateCache.put("decorators/material/textarea.html"," ");}]); -angular.module("schemaForm").run(["$templateCache",function(e){e.put("decorators/material/actions-trcl.html",'
'),e.put("decorators/material/actions.html",'
'),e.put("decorators/material/array.html",'
close
{{ form.add || \'Add\'}}
'),e.put("decorators/material/autocomplete.html",'
{{item.name}}No matches found
'),e.put("decorators/material/card-content.html",''),e.put("decorators/material/card.html",'{{ form.title }}'),e.put("decorators/material/checkbox.html",'
{{::form.title}}
'),e.put("decorators/material/checkboxes.html",'
{{::form.titleMap[$index].name}}
'),e.put("decorators/material/chips.html",'
{{$chip}}
'),e.put("decorators/material/date.html",'
'),e.put("decorators/material/default.html",'
{{form.mdIcon}}
'),e.put("decorators/material/fieldset-trcl.html",'
{{ form.title }}
'),e.put("decorators/material/fieldset.html",'
{{ form.title }}
'),e.put("decorators/material/help.html",'
'),e.put("decorators/material/radio-buttons.html",'
'),e.put("decorators/material/radios-inline.html",'
'),e.put("decorators/material/radios.html",'
'),e.put("decorators/material/section.html",''),e.put("decorators/material/select.html",'{{::filtered.name}}{{::opt.name}}
'),e.put("decorators/material/slider.html",''),e.put("decorators/material/submit.html",'
{{::form.tip}}{{::form.title}}
'),e.put("decorators/material/switch.html",'{{::form.title}}'),e.put("decorators/material/tabarray.html",''),e.put("decorators/material/tabs.html",'
'),e.put("decorators/material/textarea.html",' ')}]); -angular.module('schemaForm').directive('sfMaterialClass', function($compile, $timeout) { +angular.module("schemaForm").run(["$templateCache",function(e){e.put("decorators/material/actions-trcl.html",'
'),e.put("decorators/material/actions.html",'
'),e.put("decorators/material/array.html",'
close
{{ form.add || \'Add\'}}
'),e.put("decorators/material/autocomplete.html",'
{{item.name}}No matches found
'),e.put("decorators/material/card-content.html",''),e.put("decorators/material/card.html",'{{ form.title }}'),e.put("decorators/material/checkbox.html",'
{{::form.title}}
'),e.put("decorators/material/checkboxes.html",'
{{::form.titleMap[$index].name}}
'),e.put("decorators/material/chips.html",'
{{$chip}}
'),e.put("decorators/material/date.html",'
'),e.put("decorators/material/default.html",'
{{form.mdIcon}}
'),e.put("decorators/material/fieldset-trcl.html",'
{{ form.title }}
'),e.put("decorators/material/fieldset.html",'
{{ form.title }}
'),e.put("decorators/material/help.html",'
'),e.put("decorators/material/radio-buttons.html",'
'),e.put("decorators/material/radios-inline.html",'
'),e.put("decorators/material/radios.html",'
'),e.put("decorators/material/section.html",''),e.put("decorators/material/select.html",'{{::filtered.name}}{{::opt.name}}
'),e.put("decorators/material/slider.html",''),e.put("decorators/material/submit.html",'
{{::form.tip}}{{::form.title}}
'),e.put("decorators/material/switch.html",'{{::form.title}}'),e.put("decorators/material/tabarray.html",''),e.put("decorators/material/tabs.html",'
'),e.put("decorators/material/textarea.html",' ')}]); +angular.module('schemaForm').directive('sfMaterialClass', ["$compile", "$timeout", function($compile, $timeout) { return { restrict : 'A', scope : false, @@ -47,7 +47,7 @@ angular.module('schemaForm').directive('sfMaterialClass', function($compile, $ti }, 100); } }; -}); +}]); (function(angular, undefined) { 'use strict'; diff --git a/material-decorator.min.js b/material-decorator.min.js index 9330d4d..c9caf02 100644 --- a/material-decorator.min.js +++ b/material-decorator.min.js @@ -1,2 +1,2 @@ -angular.module("schemaForm").run(["$templateCache",function(e){e.put("decorators/material/actions-trcl.html",'
'),e.put("decorators/material/actions.html",'
'),e.put("decorators/material/array.html",'
close
{{ form.add || \'Add\'}}
'),e.put("decorators/material/autocomplete.html",'
{{item.name}}No matches found
'),e.put("decorators/material/card-content.html",''),e.put("decorators/material/card.html",'{{ form.title }}'),e.put("decorators/material/checkbox.html",'
{{::form.title}}
'),e.put("decorators/material/checkboxes.html",'
{{::form.titleMap[$index].name}}
'),e.put("decorators/material/chips.html",'
{{$chip}}
'),e.put("decorators/material/date.html",'
'),e.put("decorators/material/default.html",'
{{form.mdIcon}}
'),e.put("decorators/material/fieldset-trcl.html",'
{{ form.title }}
'),e.put("decorators/material/fieldset.html",'
{{ form.title }}
'),e.put("decorators/material/help.html",'
'),e.put("decorators/material/radio-buttons.html",'
'),e.put("decorators/material/radios-inline.html",'
'),e.put("decorators/material/radios.html",'
'),e.put("decorators/material/section.html",''),e.put("decorators/material/select.html",'{{::filtered.name}}{{::opt.name}}
'),e.put("decorators/material/slider.html",''),e.put("decorators/material/submit.html",'
{{::form.tip}}{{::form.title}}
'),e.put("decorators/material/switch.html",'{{::form.title}}'),e.put("decorators/material/tabarray.html",''),e.put("decorators/material/tabs.html",'
'),e.put("decorators/material/textarea.html",' ')}]),angular.module("schemaForm").run(["$templateCache",function(e){e.put("decorators/material/actions-trcl.html",'
'),e.put("decorators/material/actions.html",'
'),e.put("decorators/material/array.html",'
close
{{ form.add || \'Add\'}}
'),e.put("decorators/material/autocomplete.html",'
{{item.name}}No matches found
'),e.put("decorators/material/card-content.html",''),e.put("decorators/material/card.html",'{{ form.title }}'),e.put("decorators/material/checkbox.html",'
{{::form.title}}
'),e.put("decorators/material/checkboxes.html",'
{{::form.titleMap[$index].name}}
'),e.put("decorators/material/chips.html",'
{{$chip}}
'),e.put("decorators/material/date.html",'
'),e.put("decorators/material/default.html",'
{{form.mdIcon}}
'),e.put("decorators/material/fieldset-trcl.html",'
{{ form.title }}
'),e.put("decorators/material/fieldset.html",'
{{ form.title }}
'),e.put("decorators/material/help.html",'
'),e.put("decorators/material/radio-buttons.html",'
'),e.put("decorators/material/radios-inline.html",'
'),e.put("decorators/material/radios.html",'
'),e.put("decorators/material/section.html",''),e.put("decorators/material/select.html",'{{::filtered.name}}{{::opt.name}}
'),e.put("decorators/material/slider.html",''),e.put("decorators/material/submit.html",'
{{::form.tip}}{{::form.title}}
'),e.put("decorators/material/switch.html",'{{::form.title}}'),e.put("decorators/material/tabarray.html",''),e.put("decorators/material/tabs.html",'
'),e.put("decorators/material/textarea.html",' ')}]),angular.module("schemaForm").directive("sfMaterialClass",function(e,a){return{restrict:"A",scope:!1,link:function(e,t,r,l){function s(e,a){return e[a]}var o;try{o=e.form.key.reduce(s,e.model)}catch(m){o=void 0}a(function(){null!==o&&"undefined"!=typeof o&&o!==!1&&""!==o&&t.addClass(r.sfMaterialClass)},100)}}}),function(e,a){"use strict";function t(e,t,s,o,m){function i(e){var a=e.fieldFrag.querySelector("[sf-layout]");e.form.grid&&Object.getOwnPropertyNames(e.form.grid).forEach(function(t,r,l){a.setAttribute(t,e.form.grid[t])})}function d(){var e='
',a=document.createElement("div");return a.innerHTML=e,a.firstChild}function n(e){var a=e.fieldFrag.querySelector("[sf-messages]");if(a&&S){var t=S.cloneNode(!0);a.appendChild(t)}}function c(e){var a=e.fieldFrag.querySelector("textarea"),t=e.form.maxlength||!1;a&&t&&a.setAttribute("md-maxlength",t)}function f(e){var t=e.fieldFrag.querySelector("md-autocomplete"),r=e.form.minLength!==a?e.form.minLength:1,l=e.form.maxLength||!1,s=e.form.title||e.form.placeholder||e.form.key.slice(-1)[0];t&&(e.form.onChange&&(t.setAttribute("md-selected-item-change","onChangeFn()"),t.setAttribute("md-search-text-change","onChangeFn(searchText)")),t.setAttribute("md-min-length",r),l&&t.setAttribute("md-max-length",l),s&&t.setAttribute("md-floating-label",s),e.form.schema.requireMatch&&t.setAttribute("md-require-match",!0))}function h(e){var a=e.fieldFrag.querySelector("md-switch");e.form.schema.titleMap&&(a.setAttribute("ng-true-value",e.form.schema.titleMap["true"]),a.setAttribute("ng-false-value",e.form.schema.titleMap["false"]))}function u(e){var a,t,t=e.fieldFrag.querySelector("md-select");if(e.form.selectOptions=[],e.form.getOptions=r,e.form.schema.links&&"object"==typeof e.form.schema.links){var s,o=/({)([^}]*)(})/gm;for(a=0;a0){var a=e.fieldFrag.querySelector("md-tabs");e.form.tabs.forEach(function(t,r){var l=document.createElement("md-tab");l.setAttribute("label","{{"+e.path+".tabs["+r+"].title}}");var s=document.createElement("md-tab-body"),o=e.build(t.items,e.path+".tabs["+r+"].items",e.state);s.appendChild(o),l.appendChild(s),a.appendChild(l)})}}function b(a,t,r){if("string"===t.type&&("date"===t.format||"date-time"===t.format)){var l=e.stdFormObj(a,t,r);return l.key=r.path,l.type="date",r.lookup[o.stringify(r.path)]=l,l}}function y(a,t,r){if("object"===t.type&&("date"===t.format||"date-time"===t.format)){var l=e.stdFormObj(a,t,r);return l.key=r.path,l.type="date",r.lookup[o.stringify(r.path)]=l,l}}var v="decorators/material/",x=s.builders.simpleTransclusion,$=s.builders.transclusion,k=s.builders.ngModelOptions,C=s.builders.ngModel,w=s.builders.sfField,T=s.builders.condition,A=s.builders.array,E=s.builders.numeric,i=i,S=d(),M=n,F=u,K=f,q=h,O=p,j=g,H=c,I=function(e){w(e);var a=e.fieldFrag.querySelector("input, textarea, md-select");e.form.required&&a&&a.setAttribute("ng-required","form.required")},D=[I,C,k,T,i],P=D.concat(M),V=D.concat(A);e.defaults.string.unshift(b),e.defaults.object.unshift(y),t.defineDecorator("materialDecorator",{actions:{template:v+"actions.html",builder:[w,x,T]},array:{template:v+"array.html",builder:V},autocomplete:{template:v+"autocomplete.html",builder:P.concat(K)},"boolean":{template:v+"checkbox.html",builder:P},button:{template:v+"submit.html",builder:P},card:{template:v+"card.html",builder:[w,$,T]},checkbox:{template:v+"checkbox.html",builder:P},checkboxes:{template:v+"checkboxes.html",builder:V},date:{template:v+"date.html",builder:P.concat(O)},"default":{template:v+"default.html",builder:P},fieldset:{template:v+"fieldset.html",builder:[w,$,T]},help:{template:v+"help.html",builder:P},number:{template:v+"default.html",builder:P.concat(E)},password:{template:v+"default.html",builder:P},radios:{template:v+"radios.html",builder:P},"radios-inline":{template:v+"radios-inline.html",builder:P},radiobuttons:{template:v+"radio-buttons.html",builder:P},section:{template:v+"section.html",builder:[w,x,T,i]},select:{template:v+"select.html",builder:P.concat(F)},submit:{template:v+"submit.html",builder:P},tabs:{template:v+"tabs.html",builder:[w,j,T]},tabarray:{template:v+"tabarray.html",builder:V},textarea:{template:v+"textarea.html",builder:P.concat(H)},"switch":{template:v+"switch.html",builder:P.concat(q)}});var N=/^[0-9]{4,}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\.[0-9]+|)(?:[+-][0-9]{2}:?(?:[0-9]{2}|)|Z)$/,B=/^(:?[A-Z][a-z]{2}\s){2}\d{1,2}\s\d{4}\s(:?\d{2}\:?){3}\s[A-Z]{3}\-\d{4}\s\([A-Z]{3}\)$/,L={date:function(e){return e&&"string"!=typeof e&&e.toISOString&&(e=e.toISOString()||""),N.test(e)||B.test(e)?null:"A valid date expected"}};tv4.addFormat("date",L.date)}function r(e,a){return e.optionData?a(e.optionData):e.selectOptions?e.selectOptions:[]}function l(e){var a=[];if(e.titleMap)return e.titleMap;if(e["enum"]&&e["enum"].length)for(i=0;i
'),e.put("decorators/material/actions.html",'
'),e.put("decorators/material/array.html",'
close
{{ form.add || \'Add\'}}
'),e.put("decorators/material/autocomplete.html",'
{{item.name}}No matches found
'),e.put("decorators/material/card-content.html",''),e.put("decorators/material/card.html",'{{ form.title }}'),e.put("decorators/material/checkbox.html",'
{{::form.title}}
'),e.put("decorators/material/checkboxes.html",'
{{::form.titleMap[$index].name}}
'),e.put("decorators/material/chips.html",'
{{$chip}}
'),e.put("decorators/material/date.html",'
'),e.put("decorators/material/default.html",'
{{form.mdIcon}}
'),e.put("decorators/material/fieldset-trcl.html",'
{{ form.title }}
'),e.put("decorators/material/fieldset.html",'
{{ form.title }}
'),e.put("decorators/material/help.html",'
'),e.put("decorators/material/radio-buttons.html",'
'),e.put("decorators/material/radios-inline.html",'
'),e.put("decorators/material/radios.html",'
'),e.put("decorators/material/section.html",''),e.put("decorators/material/select.html",'{{::filtered.name}}{{::opt.name}}
'),e.put("decorators/material/slider.html",''),e.put("decorators/material/submit.html",'
{{::form.tip}}{{::form.title}}
'),e.put("decorators/material/switch.html",'{{::form.title}}'),e.put("decorators/material/tabarray.html",''),e.put("decorators/material/tabs.html",'
'),e.put("decorators/material/textarea.html",' ')}]),angular.module("schemaForm").run(["$templateCache",function(e){e.put("decorators/material/actions-trcl.html",'
'),e.put("decorators/material/actions.html",'
'),e.put("decorators/material/array.html",'
close
{{ form.add || \'Add\'}}
'),e.put("decorators/material/autocomplete.html",'
{{item.name}}No matches found
'),e.put("decorators/material/card-content.html",''),e.put("decorators/material/card.html",'{{ form.title }}'),e.put("decorators/material/checkbox.html",'
{{::form.title}}
'),e.put("decorators/material/checkboxes.html",'
{{::form.titleMap[$index].name}}
'),e.put("decorators/material/chips.html",'
{{$chip}}
'),e.put("decorators/material/date.html",'
'),e.put("decorators/material/default.html",'
{{form.mdIcon}}
'),e.put("decorators/material/fieldset-trcl.html",'
{{ form.title }}
'),e.put("decorators/material/fieldset.html",'
{{ form.title }}
'),e.put("decorators/material/help.html",'
'),e.put("decorators/material/radio-buttons.html",'
'),e.put("decorators/material/radios-inline.html",'
'),e.put("decorators/material/radios.html",'
'),e.put("decorators/material/section.html",''),e.put("decorators/material/select.html",'{{::filtered.name}}{{::opt.name}}
'),e.put("decorators/material/slider.html",''),e.put("decorators/material/submit.html",'
{{::form.tip}}{{::form.title}}
'),e.put("decorators/material/switch.html",'{{::form.title}}'),e.put("decorators/material/tabarray.html",''),e.put("decorators/material/tabs.html",'
'),e.put("decorators/material/textarea.html",' ')}]),angular.module("schemaForm").directive("sfMaterialClass",["$compile","$timeout",function(e,a){return{restrict:"A",scope:!1,link:function(e,t,r,l){function s(e,a){return e[a]}var o;try{o=e.form.key.reduce(s,e.model)}catch(m){o=void 0}a(function(){null!==o&&"undefined"!=typeof o&&o!==!1&&""!==o&&t.addClass(r.sfMaterialClass)},100)}}}]),function(e,a){"use strict";function t(e,t,s,o,m){function i(e){var a=e.fieldFrag.querySelector("[sf-layout]");e.form.grid&&Object.getOwnPropertyNames(e.form.grid).forEach(function(t,r,l){a.setAttribute(t,e.form.grid[t])})}function d(){var e='
',a=document.createElement("div");return a.innerHTML=e,a.firstChild}function n(e){var a=e.fieldFrag.querySelector("[sf-messages]");if(a&&S){var t=S.cloneNode(!0);a.appendChild(t)}}function c(e){var a=e.fieldFrag.querySelector("textarea"),t=e.form.maxlength||!1;a&&t&&a.setAttribute("md-maxlength",t)}function f(e){var t=e.fieldFrag.querySelector("md-autocomplete"),r=e.form.minLength!==a?e.form.minLength:1,l=e.form.maxLength||!1,s=e.form.title||e.form.placeholder||e.form.key.slice(-1)[0];t&&(e.form.onChange&&(t.setAttribute("md-selected-item-change","onChangeFn()"),t.setAttribute("md-search-text-change","onChangeFn(searchText)")),t.setAttribute("md-min-length",r),l&&t.setAttribute("md-max-length",l),s&&t.setAttribute("md-floating-label",s),e.form.schema.requireMatch&&t.setAttribute("md-require-match",!0))}function h(e){var a=e.fieldFrag.querySelector("md-switch");e.form.schema.titleMap&&(a.setAttribute("ng-true-value",e.form.schema.titleMap["true"]),a.setAttribute("ng-false-value",e.form.schema.titleMap["false"]))}function u(e){var a,t,t=e.fieldFrag.querySelector("md-select");if(e.form.selectOptions=[],e.form.getOptions=r,e.form.schema.links&&"object"==typeof e.form.schema.links){var s,o=/({)([^}]*)(})/gm;for(a=0;a0){var a=e.fieldFrag.querySelector("md-tabs");e.form.tabs.forEach(function(t,r){var l=document.createElement("md-tab");l.setAttribute("label","{{"+e.path+".tabs["+r+"].title}}");var s=document.createElement("md-tab-body"),o=e.build(t.items,e.path+".tabs["+r+"].items",e.state);s.appendChild(o),l.appendChild(s),a.appendChild(l)})}}function b(a,t,r){if("string"===t.type&&("date"===t.format||"date-time"===t.format)){var l=e.stdFormObj(a,t,r);return l.key=r.path,l.type="date",r.lookup[o.stringify(r.path)]=l,l}}function y(a,t,r){if("object"===t.type&&("date"===t.format||"date-time"===t.format)){var l=e.stdFormObj(a,t,r);return l.key=r.path,l.type="date",r.lookup[o.stringify(r.path)]=l,l}}var v="decorators/material/",x=s.builders.simpleTransclusion,$=s.builders.transclusion,k=s.builders.ngModelOptions,C=s.builders.ngModel,w=s.builders.sfField,T=s.builders.condition,A=s.builders.array,E=s.builders.numeric,i=i,S=d(),M=n,F=u,K=f,q=h,O=p,j=g,H=c,I=function(e){w(e);var a=e.fieldFrag.querySelector("input, textarea, md-select");e.form.required&&a&&a.setAttribute("ng-required","form.required")},D=[I,C,k,T,i],P=D.concat(M),V=D.concat(A);e.defaults.string.unshift(b),e.defaults.object.unshift(y),t.defineDecorator("materialDecorator",{actions:{template:v+"actions.html",builder:[w,x,T]},array:{template:v+"array.html",builder:V},autocomplete:{template:v+"autocomplete.html",builder:P.concat(K)},"boolean":{template:v+"checkbox.html",builder:P},button:{template:v+"submit.html",builder:P},card:{template:v+"card.html",builder:[w,$,T]},checkbox:{template:v+"checkbox.html",builder:P},checkboxes:{template:v+"checkboxes.html",builder:V},date:{template:v+"date.html",builder:P.concat(O)},"default":{template:v+"default.html",builder:P},fieldset:{template:v+"fieldset.html",builder:[w,$,T]},help:{template:v+"help.html",builder:P},number:{template:v+"default.html",builder:P.concat(E)},password:{template:v+"default.html",builder:P},radios:{template:v+"radios.html",builder:P},"radios-inline":{template:v+"radios-inline.html",builder:P},radiobuttons:{template:v+"radio-buttons.html",builder:P},section:{template:v+"section.html",builder:[w,x,T,i]},select:{template:v+"select.html",builder:P.concat(F)},submit:{template:v+"submit.html",builder:P},tabs:{template:v+"tabs.html",builder:[w,j,T]},tabarray:{template:v+"tabarray.html",builder:V},textarea:{template:v+"textarea.html",builder:P.concat(H)},"switch":{template:v+"switch.html",builder:P.concat(q)}});var N=/^[0-9]{4,}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\.[0-9]+|)(?:[+-][0-9]{2}:?(?:[0-9]{2}|)|Z)$/,B=/^(:?[A-Z][a-z]{2}\s){2}\d{1,2}\s\d{4}\s(:?\d{2}\:?){3}\s[A-Z]{3}\-\d{4}\s\([A-Z]{3}\)$/,L={date:function(e){return e&&"string"!=typeof e&&e.toISOString&&(e=e.toISOString()||""),N.test(e)||B.test(e)?null:"A valid date expected"}};tv4.addFormat("date",L.date)}function r(e,a){return e.optionData?a(e.optionData):e.selectOptions?e.selectOptions:[]}function l(e){var a=[];if(e.titleMap)return e.titleMap;if(e["enum"]&&e["enum"].length)for(i=0;i
"); $templateCache.put("decorators/material/radios.html","
"); $templateCache.put("decorators/material/section.html",""); -$templateCache.put("decorators/material/select.html","{{::filtered.name}}{{::opt.name}}
"); +$templateCache.put("decorators/material/select.html","{{::filtered.name}}{{::opt.name}}
"); $templateCache.put("decorators/material/slider.html",""); $templateCache.put("decorators/material/submit.html","
{{::form.tip}}{{::form.title}}
"); $templateCache.put("decorators/material/switch.html","{{::form.title}}"); diff --git a/src/angular-schema-form-material-templates.min.js b/src/angular-schema-form-material-templates.min.js index 4459769..5d5d95f 100644 --- a/src/angular-schema-form-material-templates.min.js +++ b/src/angular-schema-form-material-templates.min.js @@ -1 +1 @@ -angular.module("schemaForm").run(["$templateCache",function(e){e.put("decorators/material/actions-trcl.html",'
'),e.put("decorators/material/actions.html",'
'),e.put("decorators/material/array.html",'
close
{{ form.add || \'Add\'}}
'),e.put("decorators/material/autocomplete.html",'
{{item.name}}No matches found
'),e.put("decorators/material/card-content.html",''),e.put("decorators/material/card.html",'{{ form.title }}'),e.put("decorators/material/checkbox.html",'
{{::form.title}}
'),e.put("decorators/material/checkboxes.html",'
{{::form.titleMap[$index].name}}
'),e.put("decorators/material/chips.html",'
{{$chip}}
'),e.put("decorators/material/date.html",'
'),e.put("decorators/material/default.html",'
{{form.mdIcon}}
'),e.put("decorators/material/fieldset-trcl.html",'
{{ form.title }}
'),e.put("decorators/material/fieldset.html",'
{{ form.title }}
'),e.put("decorators/material/help.html",'
'),e.put("decorators/material/radio-buttons.html",'
'),e.put("decorators/material/radios-inline.html",'
'),e.put("decorators/material/radios.html",'
'),e.put("decorators/material/section.html",''),e.put("decorators/material/select.html",'{{::filtered.name}}{{::opt.name}}
'),e.put("decorators/material/slider.html",''),e.put("decorators/material/submit.html",'
{{::form.tip}}{{::form.title}}
'),e.put("decorators/material/switch.html",'{{::form.title}}'),e.put("decorators/material/tabarray.html",''),e.put("decorators/material/tabs.html",'
'),e.put("decorators/material/textarea.html",' ')}]); \ No newline at end of file +angular.module("schemaForm").run(["$templateCache",function(e){e.put("decorators/material/actions-trcl.html",'
'),e.put("decorators/material/actions.html",'
'),e.put("decorators/material/array.html",'
close
{{ form.add || \'Add\'}}
'),e.put("decorators/material/autocomplete.html",'
{{item.name}}No matches found
'),e.put("decorators/material/card-content.html",''),e.put("decorators/material/card.html",'{{ form.title }}'),e.put("decorators/material/checkbox.html",'
{{::form.title}}
'),e.put("decorators/material/checkboxes.html",'
{{::form.titleMap[$index].name}}
'),e.put("decorators/material/chips.html",'
{{$chip}}
'),e.put("decorators/material/date.html",'
'),e.put("decorators/material/default.html",'
{{form.mdIcon}}
'),e.put("decorators/material/fieldset-trcl.html",'
{{ form.title }}
'),e.put("decorators/material/fieldset.html",'
{{ form.title }}
'),e.put("decorators/material/help.html",'
'),e.put("decorators/material/radio-buttons.html",'
'),e.put("decorators/material/radios-inline.html",'
'),e.put("decorators/material/radios.html",'
'),e.put("decorators/material/section.html",''),e.put("decorators/material/select.html",'{{::filtered.name}}{{::opt.name}}
'),e.put("decorators/material/slider.html",''),e.put("decorators/material/submit.html",'
{{::form.tip}}{{::form.title}}
'),e.put("decorators/material/switch.html",'{{::form.title}}'),e.put("decorators/material/tabarray.html",''),e.put("decorators/material/tabs.html",'
'),e.put("decorators/material/textarea.html",' ')}]); \ No newline at end of file diff --git a/src/select.html b/src/select.html index 99c6f82..17a080a 100644 --- a/src/select.html +++ b/src/select.html @@ -1,6 +1,7 @@ From 5c0983234d771fe86c8d3faccfc37dd2538efc36 Mon Sep 17 00:00:00 2001 From: Brian Kelley Date: Tue, 1 Nov 2016 10:18:47 -0500 Subject: [PATCH 16/23] proget --- .bowerrc | 11 ++++++++++- bower.json | 2 +- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/.bowerrc b/.bowerrc index 69fad35..21d8e7f 100644 --- a/.bowerrc +++ b/.bowerrc @@ -1,3 +1,12 @@ { - "directory": "bower_components" + "directory": "bower_components", + "registry": { + "search": [ + "http://brian.kelley:md$2016@proget.mdsweb01.bettervideo.com/bower/bower", + "https://bower.herokuapp.com" + ], + "register": "http://brian.kelley:md$2016@proget.mdsweb01.bettervideo.com/bower/bower", + "publish": "http://brian.kelley:md$2016@proget.mdsweb01.bettervideo.com/bower/bower" + }, + "strict-ssl": false } diff --git a/bower.json b/bower.json index 30b43ee..9ae6603 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "angular-schema-form-material", - "version": "1.0.0-alpha.1", + "version": "1.0.0-alpha.2", "authors": [ "Marcel Bennett " ], From 31b386370c16fc500e15ce20b709e896c2cbccd3 Mon Sep 17 00:00:00 2001 From: Brian Kelley Date: Tue, 1 Nov 2016 11:15:27 -0500 Subject: [PATCH 17/23] select disable --- dist/angular-schema-form-material.js | 2 +- material-decorator.js | 4 ++-- material-decorator.min.js | 2 +- src/angular-schema-form-material-templates.js | 2 +- src/angular-schema-form-material-templates.min.js | 2 +- src/select.html | 3 +-- 6 files changed, 7 insertions(+), 8 deletions(-) diff --git a/dist/angular-schema-form-material.js b/dist/angular-schema-form-material.js index 5de909c..0ad8623 100644 --- a/dist/angular-schema-form-material.js +++ b/dist/angular-schema-form-material.js @@ -3755,7 +3755,7 @@ return /******/ (function(modules) { // webpackBootstrap $templateCache.put("decorators/material/radios-inline.html", "
"); $templateCache.put("decorators/material/radios.html", "
"); $templateCache.put("decorators/material/section.html", ""); - $templateCache.put("decorators/material/select.html", "{{::filtered.name}}{{::opt.name}}
"); + $templateCache.put("decorators/material/select.html", "{{::filtered.name}}{{::opt.name}}
"); $templateCache.put("decorators/material/slider.html", ""); $templateCache.put("decorators/material/submit.html", "
{{::form.tip}}{{::form.title}}
"); $templateCache.put("decorators/material/switch.html", "{{::form.title}}"); diff --git a/material-decorator.js b/material-decorator.js index 5d1f501..f7c12f8 100644 --- a/material-decorator.js +++ b/material-decorator.js @@ -16,14 +16,14 @@ $templateCache.put("decorators/material/radio-buttons.html","
"); $templateCache.put("decorators/material/radios.html","
"); $templateCache.put("decorators/material/section.html",""); -$templateCache.put("decorators/material/select.html","{{::filtered.name}}{{::opt.name}}
"); +$templateCache.put("decorators/material/select.html","{{::filtered.name}}{{::opt.name}}
"); $templateCache.put("decorators/material/slider.html",""); $templateCache.put("decorators/material/submit.html","
{{::form.tip}}{{::form.title}}
"); $templateCache.put("decorators/material/switch.html","{{::form.title}}"); $templateCache.put("decorators/material/tabarray.html",""); $templateCache.put("decorators/material/tabs.html","
"); $templateCache.put("decorators/material/textarea.html"," ");}]); -angular.module("schemaForm").run(["$templateCache",function(e){e.put("decorators/material/actions-trcl.html",'
'),e.put("decorators/material/actions.html",'
'),e.put("decorators/material/array.html",'
close
{{ form.add || \'Add\'}}
'),e.put("decorators/material/autocomplete.html",'
{{item.name}}No matches found
'),e.put("decorators/material/card-content.html",''),e.put("decorators/material/card.html",'{{ form.title }}'),e.put("decorators/material/checkbox.html",'
{{::form.title}}
'),e.put("decorators/material/checkboxes.html",'
{{::form.titleMap[$index].name}}
'),e.put("decorators/material/chips.html",'
{{$chip}}
'),e.put("decorators/material/date.html",'
'),e.put("decorators/material/default.html",'
{{form.mdIcon}}
'),e.put("decorators/material/fieldset-trcl.html",'
{{ form.title }}
'),e.put("decorators/material/fieldset.html",'
{{ form.title }}
'),e.put("decorators/material/help.html",'
'),e.put("decorators/material/radio-buttons.html",'
'),e.put("decorators/material/radios-inline.html",'
'),e.put("decorators/material/radios.html",'
'),e.put("decorators/material/section.html",''),e.put("decorators/material/select.html",'{{::filtered.name}}{{::opt.name}}
'),e.put("decorators/material/slider.html",''),e.put("decorators/material/submit.html",'
{{::form.tip}}{{::form.title}}
'),e.put("decorators/material/switch.html",'{{::form.title}}'),e.put("decorators/material/tabarray.html",''),e.put("decorators/material/tabs.html",'
'),e.put("decorators/material/textarea.html",' ')}]); +angular.module("schemaForm").run(["$templateCache",function(e){e.put("decorators/material/actions-trcl.html",'
'),e.put("decorators/material/actions.html",'
'),e.put("decorators/material/array.html",'
close
{{ form.add || \'Add\'}}
'),e.put("decorators/material/autocomplete.html",'
{{item.name}}No matches found
'),e.put("decorators/material/card-content.html",''),e.put("decorators/material/card.html",'{{ form.title }}'),e.put("decorators/material/checkbox.html",'
{{::form.title}}
'),e.put("decorators/material/checkboxes.html",'
{{::form.titleMap[$index].name}}
'),e.put("decorators/material/chips.html",'
{{$chip}}
'),e.put("decorators/material/date.html",'
'),e.put("decorators/material/default.html",'
{{form.mdIcon}}
'),e.put("decorators/material/fieldset-trcl.html",'
{{ form.title }}
'),e.put("decorators/material/fieldset.html",'
{{ form.title }}
'),e.put("decorators/material/help.html",'
'),e.put("decorators/material/radio-buttons.html",'
'),e.put("decorators/material/radios-inline.html",'
'),e.put("decorators/material/radios.html",'
'),e.put("decorators/material/section.html",''),e.put("decorators/material/select.html",'{{::filtered.name}}{{::opt.name}}
'),e.put("decorators/material/slider.html",''),e.put("decorators/material/submit.html",'
{{::form.tip}}{{::form.title}}
'),e.put("decorators/material/switch.html",'{{::form.title}}'),e.put("decorators/material/tabarray.html",''),e.put("decorators/material/tabs.html",'
'),e.put("decorators/material/textarea.html",' ')}]); angular.module('schemaForm').directive('sfMaterialClass', ["$compile", "$timeout", function($compile, $timeout) { return { restrict : 'A', diff --git a/material-decorator.min.js b/material-decorator.min.js index c9caf02..2b50c8b 100644 --- a/material-decorator.min.js +++ b/material-decorator.min.js @@ -1,2 +1,2 @@ -angular.module("schemaForm").run(["$templateCache",function(e){e.put("decorators/material/actions-trcl.html",'
'),e.put("decorators/material/actions.html",'
'),e.put("decorators/material/array.html",'
close
{{ form.add || \'Add\'}}
'),e.put("decorators/material/autocomplete.html",'
{{item.name}}No matches found
'),e.put("decorators/material/card-content.html",''),e.put("decorators/material/card.html",'{{ form.title }}'),e.put("decorators/material/checkbox.html",'
{{::form.title}}
'),e.put("decorators/material/checkboxes.html",'
{{::form.titleMap[$index].name}}
'),e.put("decorators/material/chips.html",'
{{$chip}}
'),e.put("decorators/material/date.html",'
'),e.put("decorators/material/default.html",'
{{form.mdIcon}}
'),e.put("decorators/material/fieldset-trcl.html",'
{{ form.title }}
'),e.put("decorators/material/fieldset.html",'
{{ form.title }}
'),e.put("decorators/material/help.html",'
'),e.put("decorators/material/radio-buttons.html",'
'),e.put("decorators/material/radios-inline.html",'
'),e.put("decorators/material/radios.html",'
'),e.put("decorators/material/section.html",''),e.put("decorators/material/select.html",'{{::filtered.name}}{{::opt.name}}
'),e.put("decorators/material/slider.html",''),e.put("decorators/material/submit.html",'
{{::form.tip}}{{::form.title}}
'),e.put("decorators/material/switch.html",'{{::form.title}}'),e.put("decorators/material/tabarray.html",''),e.put("decorators/material/tabs.html",'
'),e.put("decorators/material/textarea.html",' ')}]),angular.module("schemaForm").run(["$templateCache",function(e){e.put("decorators/material/actions-trcl.html",'
'),e.put("decorators/material/actions.html",'
'),e.put("decorators/material/array.html",'
close
{{ form.add || \'Add\'}}
'),e.put("decorators/material/autocomplete.html",'
{{item.name}}No matches found
'),e.put("decorators/material/card-content.html",''),e.put("decorators/material/card.html",'{{ form.title }}'),e.put("decorators/material/checkbox.html",'
{{::form.title}}
'),e.put("decorators/material/checkboxes.html",'
{{::form.titleMap[$index].name}}
'),e.put("decorators/material/chips.html",'
{{$chip}}
'),e.put("decorators/material/date.html",'
'),e.put("decorators/material/default.html",'
{{form.mdIcon}}
'),e.put("decorators/material/fieldset-trcl.html",'
{{ form.title }}
'),e.put("decorators/material/fieldset.html",'
{{ form.title }}
'),e.put("decorators/material/help.html",'
'),e.put("decorators/material/radio-buttons.html",'
'),e.put("decorators/material/radios-inline.html",'
'),e.put("decorators/material/radios.html",'
'),e.put("decorators/material/section.html",''),e.put("decorators/material/select.html",'{{::filtered.name}}{{::opt.name}}
'),e.put("decorators/material/slider.html",''),e.put("decorators/material/submit.html",'
{{::form.tip}}{{::form.title}}
'),e.put("decorators/material/switch.html",'{{::form.title}}'),e.put("decorators/material/tabarray.html",''),e.put("decorators/material/tabs.html",'
'),e.put("decorators/material/textarea.html",' ')}]),angular.module("schemaForm").directive("sfMaterialClass",["$compile","$timeout",function(e,a){return{restrict:"A",scope:!1,link:function(e,t,r,l){function s(e,a){return e[a]}var o;try{o=e.form.key.reduce(s,e.model)}catch(m){o=void 0}a(function(){null!==o&&"undefined"!=typeof o&&o!==!1&&""!==o&&t.addClass(r.sfMaterialClass)},100)}}}]),function(e,a){"use strict";function t(e,t,s,o,m){function i(e){var a=e.fieldFrag.querySelector("[sf-layout]");e.form.grid&&Object.getOwnPropertyNames(e.form.grid).forEach(function(t,r,l){a.setAttribute(t,e.form.grid[t])})}function d(){var e='
',a=document.createElement("div");return a.innerHTML=e,a.firstChild}function n(e){var a=e.fieldFrag.querySelector("[sf-messages]");if(a&&S){var t=S.cloneNode(!0);a.appendChild(t)}}function c(e){var a=e.fieldFrag.querySelector("textarea"),t=e.form.maxlength||!1;a&&t&&a.setAttribute("md-maxlength",t)}function f(e){var t=e.fieldFrag.querySelector("md-autocomplete"),r=e.form.minLength!==a?e.form.minLength:1,l=e.form.maxLength||!1,s=e.form.title||e.form.placeholder||e.form.key.slice(-1)[0];t&&(e.form.onChange&&(t.setAttribute("md-selected-item-change","onChangeFn()"),t.setAttribute("md-search-text-change","onChangeFn(searchText)")),t.setAttribute("md-min-length",r),l&&t.setAttribute("md-max-length",l),s&&t.setAttribute("md-floating-label",s),e.form.schema.requireMatch&&t.setAttribute("md-require-match",!0))}function h(e){var a=e.fieldFrag.querySelector("md-switch");e.form.schema.titleMap&&(a.setAttribute("ng-true-value",e.form.schema.titleMap["true"]),a.setAttribute("ng-false-value",e.form.schema.titleMap["false"]))}function u(e){var a,t,t=e.fieldFrag.querySelector("md-select");if(e.form.selectOptions=[],e.form.getOptions=r,e.form.schema.links&&"object"==typeof e.form.schema.links){var s,o=/({)([^}]*)(})/gm;for(a=0;a
'),e.put("decorators/material/actions.html",'
'),e.put("decorators/material/array.html",'
close
{{ form.add || \'Add\'}}
'),e.put("decorators/material/autocomplete.html",'
{{item.name}}No matches found
'),e.put("decorators/material/card-content.html",''),e.put("decorators/material/card.html",'{{ form.title }}'),e.put("decorators/material/checkbox.html",'
{{::form.title}}
'),e.put("decorators/material/checkboxes.html",'
{{::form.titleMap[$index].name}}
'),e.put("decorators/material/chips.html",'
{{$chip}}
'),e.put("decorators/material/date.html",'
'),e.put("decorators/material/default.html",'
{{form.mdIcon}}
'),e.put("decorators/material/fieldset-trcl.html",'
{{ form.title }}
'),e.put("decorators/material/fieldset.html",'
{{ form.title }}
'),e.put("decorators/material/help.html",'
'),e.put("decorators/material/radio-buttons.html",'
'),e.put("decorators/material/radios-inline.html",'
'),e.put("decorators/material/radios.html",'
'),e.put("decorators/material/section.html",''),e.put("decorators/material/select.html",'{{::filtered.name}}{{::opt.name}}
'),e.put("decorators/material/slider.html",''),e.put("decorators/material/submit.html",'
{{::form.tip}}{{::form.title}}
'),e.put("decorators/material/switch.html",'{{::form.title}}'),e.put("decorators/material/tabarray.html",''),e.put("decorators/material/tabs.html",'
'),e.put("decorators/material/textarea.html",' ')}]),angular.module("schemaForm").run(["$templateCache",function(e){e.put("decorators/material/actions-trcl.html",'
'),e.put("decorators/material/actions.html",'
'),e.put("decorators/material/array.html",'
close
{{ form.add || \'Add\'}}
'),e.put("decorators/material/autocomplete.html",'
{{item.name}}No matches found
'),e.put("decorators/material/card-content.html",''),e.put("decorators/material/card.html",'{{ form.title }}'),e.put("decorators/material/checkbox.html",'
{{::form.title}}
'),e.put("decorators/material/checkboxes.html",'
{{::form.titleMap[$index].name}}
'),e.put("decorators/material/chips.html",'
{{$chip}}
'),e.put("decorators/material/date.html",'
'),e.put("decorators/material/default.html",'
{{form.mdIcon}}
'),e.put("decorators/material/fieldset-trcl.html",'
{{ form.title }}
'),e.put("decorators/material/fieldset.html",'
{{ form.title }}
'),e.put("decorators/material/help.html",'
'),e.put("decorators/material/radio-buttons.html",'
'),e.put("decorators/material/radios-inline.html",'
'),e.put("decorators/material/radios.html",'
'),e.put("decorators/material/section.html",''),e.put("decorators/material/select.html",'{{::filtered.name}}{{::opt.name}}
'),e.put("decorators/material/slider.html",''),e.put("decorators/material/submit.html",'
{{::form.tip}}{{::form.title}}
'),e.put("decorators/material/switch.html",'{{::form.title}}'),e.put("decorators/material/tabarray.html",''),e.put("decorators/material/tabs.html",'
'),e.put("decorators/material/textarea.html",' ')}]),angular.module("schemaForm").directive("sfMaterialClass",["$compile","$timeout",function(e,a){return{restrict:"A",scope:!1,link:function(e,t,r,l){function s(e,a){return e[a]}var o;try{o=e.form.key.reduce(s,e.model)}catch(m){o=void 0}a(function(){null!==o&&"undefined"!=typeof o&&o!==!1&&""!==o&&t.addClass(r.sfMaterialClass)},100)}}}]),function(e,a){"use strict";function t(e,t,s,o,m){function i(e){var a=e.fieldFrag.querySelector("[sf-layout]");e.form.grid&&Object.getOwnPropertyNames(e.form.grid).forEach(function(t,r,l){a.setAttribute(t,e.form.grid[t])})}function d(){var e='
',a=document.createElement("div");return a.innerHTML=e,a.firstChild}function n(e){var a=e.fieldFrag.querySelector("[sf-messages]");if(a&&S){var t=S.cloneNode(!0);a.appendChild(t)}}function c(e){var a=e.fieldFrag.querySelector("textarea"),t=e.form.maxlength||!1;a&&t&&a.setAttribute("md-maxlength",t)}function f(e){var t=e.fieldFrag.querySelector("md-autocomplete"),r=e.form.minLength!==a?e.form.minLength:1,l=e.form.maxLength||!1,s=e.form.title||e.form.placeholder||e.form.key.slice(-1)[0];t&&(e.form.onChange&&(t.setAttribute("md-selected-item-change","onChangeFn()"),t.setAttribute("md-search-text-change","onChangeFn(searchText)")),t.setAttribute("md-min-length",r),l&&t.setAttribute("md-max-length",l),s&&t.setAttribute("md-floating-label",s),e.form.schema.requireMatch&&t.setAttribute("md-require-match",!0))}function h(e){var a=e.fieldFrag.querySelector("md-switch");e.form.schema.titleMap&&(a.setAttribute("ng-true-value",e.form.schema.titleMap["true"]),a.setAttribute("ng-false-value",e.form.schema.titleMap["false"]))}function u(e){var a,t,t=e.fieldFrag.querySelector("md-select");if(e.form.selectOptions=[],e.form.getOptions=r,e.form.schema.links&&"object"==typeof e.form.schema.links){var s,o=/({)([^}]*)(})/gm;for(a=0;a0){var a=e.fieldFrag.querySelector("md-tabs");e.form.tabs.forEach(function(t,r){var l=document.createElement("md-tab");l.setAttribute("label","{{"+e.path+".tabs["+r+"].title}}");var s=document.createElement("md-tab-body"),o=e.build(t.items,e.path+".tabs["+r+"].items",e.state);s.appendChild(o),l.appendChild(s),a.appendChild(l)})}}function b(a,t,r){if("string"===t.type&&("date"===t.format||"date-time"===t.format)){var l=e.stdFormObj(a,t,r);return l.key=r.path,l.type="date",r.lookup[o.stringify(r.path)]=l,l}}function y(a,t,r){if("object"===t.type&&("date"===t.format||"date-time"===t.format)){var l=e.stdFormObj(a,t,r);return l.key=r.path,l.type="date",r.lookup[o.stringify(r.path)]=l,l}}var v="decorators/material/",x=s.builders.simpleTransclusion,$=s.builders.transclusion,k=s.builders.ngModelOptions,C=s.builders.ngModel,w=s.builders.sfField,T=s.builders.condition,A=s.builders.array,E=s.builders.numeric,i=i,S=d(),M=n,F=u,K=f,q=h,O=p,j=g,H=c,I=function(e){w(e);var a=e.fieldFrag.querySelector("input, textarea, md-select");e.form.required&&a&&a.setAttribute("ng-required","form.required")},D=[I,C,k,T,i],P=D.concat(M),V=D.concat(A);e.defaults.string.unshift(b),e.defaults.object.unshift(y),t.defineDecorator("materialDecorator",{actions:{template:v+"actions.html",builder:[w,x,T]},array:{template:v+"array.html",builder:V},autocomplete:{template:v+"autocomplete.html",builder:P.concat(K)},"boolean":{template:v+"checkbox.html",builder:P},button:{template:v+"submit.html",builder:P},card:{template:v+"card.html",builder:[w,$,T]},checkbox:{template:v+"checkbox.html",builder:P},checkboxes:{template:v+"checkboxes.html",builder:V},date:{template:v+"date.html",builder:P.concat(O)},"default":{template:v+"default.html",builder:P},fieldset:{template:v+"fieldset.html",builder:[w,$,T]},help:{template:v+"help.html",builder:P},number:{template:v+"default.html",builder:P.concat(E)},password:{template:v+"default.html",builder:P},radios:{template:v+"radios.html",builder:P},"radios-inline":{template:v+"radios-inline.html",builder:P},radiobuttons:{template:v+"radio-buttons.html",builder:P},section:{template:v+"section.html",builder:[w,x,T,i]},select:{template:v+"select.html",builder:P.concat(F)},submit:{template:v+"submit.html",builder:P},tabs:{template:v+"tabs.html",builder:[w,j,T]},tabarray:{template:v+"tabarray.html",builder:V},textarea:{template:v+"textarea.html",builder:P.concat(H)},"switch":{template:v+"switch.html",builder:P.concat(q)}});var N=/^[0-9]{4,}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\.[0-9]+|)(?:[+-][0-9]{2}:?(?:[0-9]{2}|)|Z)$/,B=/^(:?[A-Z][a-z]{2}\s){2}\d{1,2}\s\d{4}\s(:?\d{2}\:?){3}\s[A-Z]{3}\-\d{4}\s\([A-Z]{3}\)$/,L={date:function(e){return e&&"string"!=typeof e&&e.toISOString&&(e=e.toISOString()||""),N.test(e)||B.test(e)?null:"A valid date expected"}};tv4.addFormat("date",L.date)}function r(e,a){return e.optionData?a(e.optionData):e.selectOptions?e.selectOptions:[]}function l(e){var a=[];if(e.titleMap)return e.titleMap;if(e["enum"]&&e["enum"].length)for(i=0;i"); $templateCache.put("decorators/material/radios.html","
"); $templateCache.put("decorators/material/section.html",""); -$templateCache.put("decorators/material/select.html","{{::filtered.name}}{{::opt.name}}
"); +$templateCache.put("decorators/material/select.html","{{::filtered.name}}{{::opt.name}}
"); $templateCache.put("decorators/material/slider.html",""); $templateCache.put("decorators/material/submit.html","
{{::form.tip}}{{::form.title}}
"); $templateCache.put("decorators/material/switch.html","{{::form.title}}"); diff --git a/src/angular-schema-form-material-templates.min.js b/src/angular-schema-form-material-templates.min.js index 5d5d95f..ba84b5d 100644 --- a/src/angular-schema-form-material-templates.min.js +++ b/src/angular-schema-form-material-templates.min.js @@ -1 +1 @@ -angular.module("schemaForm").run(["$templateCache",function(e){e.put("decorators/material/actions-trcl.html",'
'),e.put("decorators/material/actions.html",'
'),e.put("decorators/material/array.html",'
close
{{ form.add || \'Add\'}}
'),e.put("decorators/material/autocomplete.html",'
{{item.name}}No matches found
'),e.put("decorators/material/card-content.html",''),e.put("decorators/material/card.html",'{{ form.title }}'),e.put("decorators/material/checkbox.html",'
{{::form.title}}
'),e.put("decorators/material/checkboxes.html",'
{{::form.titleMap[$index].name}}
'),e.put("decorators/material/chips.html",'
{{$chip}}
'),e.put("decorators/material/date.html",'
'),e.put("decorators/material/default.html",'
{{form.mdIcon}}
'),e.put("decorators/material/fieldset-trcl.html",'
{{ form.title }}
'),e.put("decorators/material/fieldset.html",'
{{ form.title }}
'),e.put("decorators/material/help.html",'
'),e.put("decorators/material/radio-buttons.html",'
'),e.put("decorators/material/radios-inline.html",'
'),e.put("decorators/material/radios.html",'
'),e.put("decorators/material/section.html",''),e.put("decorators/material/select.html",'{{::filtered.name}}{{::opt.name}}
'),e.put("decorators/material/slider.html",''),e.put("decorators/material/submit.html",'
{{::form.tip}}{{::form.title}}
'),e.put("decorators/material/switch.html",'{{::form.title}}'),e.put("decorators/material/tabarray.html",''),e.put("decorators/material/tabs.html",'
'),e.put("decorators/material/textarea.html",' ')}]); \ No newline at end of file +angular.module("schemaForm").run(["$templateCache",function(e){e.put("decorators/material/actions-trcl.html",'
'),e.put("decorators/material/actions.html",'
'),e.put("decorators/material/array.html",'
close
{{ form.add || \'Add\'}}
'),e.put("decorators/material/autocomplete.html",'
{{item.name}}No matches found
'),e.put("decorators/material/card-content.html",''),e.put("decorators/material/card.html",'{{ form.title }}'),e.put("decorators/material/checkbox.html",'
{{::form.title}}
'),e.put("decorators/material/checkboxes.html",'
{{::form.titleMap[$index].name}}
'),e.put("decorators/material/chips.html",'
{{$chip}}
'),e.put("decorators/material/date.html",'
'),e.put("decorators/material/default.html",'
{{form.mdIcon}}
'),e.put("decorators/material/fieldset-trcl.html",'
{{ form.title }}
'),e.put("decorators/material/fieldset.html",'
{{ form.title }}
'),e.put("decorators/material/help.html",'
'),e.put("decorators/material/radio-buttons.html",'
'),e.put("decorators/material/radios-inline.html",'
'),e.put("decorators/material/radios.html",'
'),e.put("decorators/material/section.html",''),e.put("decorators/material/select.html",'{{::filtered.name}}{{::opt.name}}
'),e.put("decorators/material/slider.html",''),e.put("decorators/material/submit.html",'
{{::form.tip}}{{::form.title}}
'),e.put("decorators/material/switch.html",'{{::form.title}}'),e.put("decorators/material/tabarray.html",''),e.put("decorators/material/tabs.html",'
'),e.put("decorators/material/textarea.html",' ')}]); \ No newline at end of file diff --git a/src/select.html b/src/select.html index 17a080a..3c4aa84 100644 --- a/src/select.html +++ b/src/select.html @@ -1,10 +1,9 @@ - + Date: Thu, 12 Jan 2017 11:27:28 -0600 Subject: [PATCH 18/23] Fixing md-card flex issues --- .bowerrc | 6 +++--- dist/angular-schema-form-material.js | 2 +- src/angular-schema-form-material-templates.js | 2 +- src/angular-schema-form-material-templates.min.js | 2 +- src/card.html | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.bowerrc b/.bowerrc index 21d8e7f..1dcdb6b 100644 --- a/.bowerrc +++ b/.bowerrc @@ -2,11 +2,11 @@ "directory": "bower_components", "registry": { "search": [ - "http://brian.kelley:md$2016@proget.mdsweb01.bettervideo.com/bower/bower", + "https://bettervideo:md$2016@proget.mdsweb01.bettervideo.com/bower/bower", "https://bower.herokuapp.com" ], - "register": "http://brian.kelley:md$2016@proget.mdsweb01.bettervideo.com/bower/bower", - "publish": "http://brian.kelley:md$2016@proget.mdsweb01.bettervideo.com/bower/bower" + "register": "https://bettervideo:md$2016@proget.mdsweb01.bettervideo.com/bower/bower", + "publish": "https://bettervideo:md$2016@proget.mdsweb01.bettervideo.com/bower/bower" }, "strict-ssl": false } diff --git a/dist/angular-schema-form-material.js b/dist/angular-schema-form-material.js index 0ad8623..19d47ca 100644 --- a/dist/angular-schema-form-material.js +++ b/dist/angular-schema-form-material.js @@ -3742,7 +3742,7 @@ return /******/ (function(modules) { // webpackBootstrap $templateCache.put("decorators/material/array.html", "
= modelArray.length\" class=\"md-icon-button\" aria-label=\"More\" style=\"position: relative; z-index: 20;\">close
{{ form.add || \'Add\'}}
"); $templateCache.put("decorators/material/autocomplete.html", "
{{item.name}}No matches found
"); $templateCache.put("decorators/material/card-content.html", ""); - $templateCache.put("decorators/material/card.html", "{{ form.title }}"); + $templateCache.put("decorators/material/card.html", "{{ form.title }}"); $templateCache.put("decorators/material/checkbox.html", "
{{::form.title}}
"); $templateCache.put("decorators/material/checkboxes.html", "
{{::form.titleMap[$index].name}}
"); $templateCache.put("decorators/material/chips.html", "
{{$chip}}
"); diff --git a/src/angular-schema-form-material-templates.js b/src/angular-schema-form-material-templates.js index 8a3fa9c..ab24cd1 100644 --- a/src/angular-schema-form-material-templates.js +++ b/src/angular-schema-form-material-templates.js @@ -3,7 +3,7 @@ $templateCache.put("decorators/material/actions.html","
= modelArray.length\" class=\"md-icon-button\" aria-label=\"More\" style=\"position: relative; z-index: 20;\">close
{{ form.add || \'Add\'}}
"); $templateCache.put("decorators/material/autocomplete.html","
{{item.name}}No matches found
"); $templateCache.put("decorators/material/card-content.html",""); -$templateCache.put("decorators/material/card.html","{{ form.title }}"); +$templateCache.put("decorators/material/card.html","{{ form.title }}"); $templateCache.put("decorators/material/checkbox.html","
{{::form.title}}
"); $templateCache.put("decorators/material/checkboxes.html","
{{::form.titleMap[$index].name}}
"); $templateCache.put("decorators/material/chips.html","
{{$chip}}
"); diff --git a/src/angular-schema-form-material-templates.min.js b/src/angular-schema-form-material-templates.min.js index ba84b5d..6c26ee4 100644 --- a/src/angular-schema-form-material-templates.min.js +++ b/src/angular-schema-form-material-templates.min.js @@ -1 +1 @@ -angular.module("schemaForm").run(["$templateCache",function(e){e.put("decorators/material/actions-trcl.html",'
'),e.put("decorators/material/actions.html",'
'),e.put("decorators/material/array.html",'
close
{{ form.add || \'Add\'}}
'),e.put("decorators/material/autocomplete.html",'
{{item.name}}No matches found
'),e.put("decorators/material/card-content.html",''),e.put("decorators/material/card.html",'{{ form.title }}'),e.put("decorators/material/checkbox.html",'
{{::form.title}}
'),e.put("decorators/material/checkboxes.html",'
{{::form.titleMap[$index].name}}
'),e.put("decorators/material/chips.html",'
{{$chip}}
'),e.put("decorators/material/date.html",'
'),e.put("decorators/material/default.html",'
{{form.mdIcon}}
'),e.put("decorators/material/fieldset-trcl.html",'
{{ form.title }}
'),e.put("decorators/material/fieldset.html",'
{{ form.title }}
'),e.put("decorators/material/help.html",'
'),e.put("decorators/material/radio-buttons.html",'
'),e.put("decorators/material/radios-inline.html",'
'),e.put("decorators/material/radios.html",'
'),e.put("decorators/material/section.html",''),e.put("decorators/material/select.html",'{{::filtered.name}}{{::opt.name}}
'),e.put("decorators/material/slider.html",''),e.put("decorators/material/submit.html",'
{{::form.tip}}{{::form.title}}
'),e.put("decorators/material/switch.html",'{{::form.title}}'),e.put("decorators/material/tabarray.html",''),e.put("decorators/material/tabs.html",'
'),e.put("decorators/material/textarea.html",' ')}]); \ No newline at end of file +angular.module("schemaForm").run(["$templateCache",function(e){e.put("decorators/material/actions-trcl.html",'
'),e.put("decorators/material/actions.html",'
'),e.put("decorators/material/array.html",'
close
{{ form.add || \'Add\'}}
'),e.put("decorators/material/autocomplete.html",'
{{item.name}}No matches found
'),e.put("decorators/material/card-content.html",''),e.put("decorators/material/card.html",'{{ form.title }}'),e.put("decorators/material/checkbox.html",'
{{::form.title}}
'),e.put("decorators/material/checkboxes.html",'
{{::form.titleMap[$index].name}}
'),e.put("decorators/material/chips.html",'
{{$chip}}
'),e.put("decorators/material/date.html",'
'),e.put("decorators/material/default.html",'
{{form.mdIcon}}
'),e.put("decorators/material/fieldset-trcl.html",'
{{ form.title }}
'),e.put("decorators/material/fieldset.html",'
{{ form.title }}
'),e.put("decorators/material/help.html",'
'),e.put("decorators/material/radio-buttons.html",'
'),e.put("decorators/material/radios-inline.html",'
'),e.put("decorators/material/radios.html",'
'),e.put("decorators/material/section.html",''),e.put("decorators/material/select.html",'{{::filtered.name}}{{::opt.name}}
'),e.put("decorators/material/slider.html",''),e.put("decorators/material/submit.html",'
{{::form.tip}}{{::form.title}}
'),e.put("decorators/material/switch.html",'{{::form.title}}'),e.put("decorators/material/tabarray.html",''),e.put("decorators/material/tabs.html",'
'),e.put("decorators/material/textarea.html",' ')}]); \ No newline at end of file diff --git a/src/card.html b/src/card.html index d96a357..c25dc81 100644 --- a/src/card.html +++ b/src/card.html @@ -1,4 +1,4 @@ - + From 8876a35da2fefb407a86ad6e63f41c1859789301 Mon Sep 17 00:00:00 2001 From: Brian Kelley Date: Fri, 16 Mar 2018 16:39:20 -0500 Subject: [PATCH 19/23] Updating --- dist/angular-schema-form-material.js | 27 +++++++----- dist/angular-schema-form-material.min.js | 9 ++-- material-decorator.js | 14 +++--- material-decorator.min.js | 4 +- package.json | 1 + src/angular-schema-form-material-templates.js | 16 +++---- ...ular-schema-form-material-templates.min.js | 2 +- src/autocomplete.html | 2 +- src/card.html | 2 +- src/date.html | 28 ++++++------ src/default.html | 43 +++++++++---------- src/material-decorator.js | 15 +++++-- src/radios-inline.html | 2 +- src/radios.html | 3 +- src/submit.html | 6 ++- src/textarea.html | 2 +- webpack.config.js | 2 +- 17 files changed, 97 insertions(+), 81 deletions(-) diff --git a/dist/angular-schema-form-material.js b/dist/angular-schema-form-material.js index 19d47ca..fb9f0aa 100644 --- a/dist/angular-schema-form-material.js +++ b/dist/angular-schema-form-material.js @@ -3740,28 +3740,28 @@ return /******/ (function(modules) { // webpackBootstrap $templateCache.put("decorators/material/actions-trcl.html", "
"); $templateCache.put("decorators/material/actions.html", "
"); $templateCache.put("decorators/material/array.html", "
= modelArray.length\" class=\"md-icon-button\" aria-label=\"More\" style=\"position: relative; z-index: 20;\">close
{{ form.add || \'Add\'}}
"); - $templateCache.put("decorators/material/autocomplete.html", "
{{item.name}}No matches found
"); + $templateCache.put("decorators/material/autocomplete.html", "
{{item.name}}No matches found
"); $templateCache.put("decorators/material/card-content.html", ""); - $templateCache.put("decorators/material/card.html", "{{ form.title }}"); + $templateCache.put("decorators/material/card.html", "{{ form.title }}"); $templateCache.put("decorators/material/checkbox.html", "
{{::form.title}}
"); $templateCache.put("decorators/material/checkboxes.html", "
{{::form.titleMap[$index].name}}
"); $templateCache.put("decorators/material/chips.html", "
{{$chip}}
"); - $templateCache.put("decorators/material/date.html", "
"); - $templateCache.put("decorators/material/default.html", "
{{form.mdIcon}}
"); + $templateCache.put("decorators/material/date.html", ""); + $templateCache.put("decorators/material/default.html", " "); $templateCache.put("decorators/material/fieldset-trcl.html", "
{{ form.title }}
"); $templateCache.put("decorators/material/fieldset.html", "
{{ form.title }}
"); $templateCache.put("decorators/material/help.html", "
"); $templateCache.put("decorators/material/radio-buttons.html", "
"); - $templateCache.put("decorators/material/radios-inline.html", "
"); - $templateCache.put("decorators/material/radios.html", "
"); + $templateCache.put("decorators/material/radios-inline.html", "
"); + $templateCache.put("decorators/material/radios.html", "
"); $templateCache.put("decorators/material/section.html", ""); $templateCache.put("decorators/material/select.html", "{{::filtered.name}}{{::opt.name}}
"); $templateCache.put("decorators/material/slider.html", ""); - $templateCache.put("decorators/material/submit.html", "
{{::form.tip}}{{::form.title}}
"); + $templateCache.put("decorators/material/submit.html", "
{{::form.tip}}{{::form.title}}
"); $templateCache.put("decorators/material/switch.html", "{{::form.title}}"); $templateCache.put("decorators/material/tabarray.html", ""); $templateCache.put("decorators/material/tabs.html", "
"); - $templateCache.put("decorators/material/textarea.html", " "); + $templateCache.put("decorators/material/textarea.html", " "); }]); /***/ }, @@ -3870,12 +3870,20 @@ return /******/ (function(modules) { // webpackBootstrap var textarea = textareaBuilder; var sfFieldMaterial = function (args) { + sfField(args); - var field = args.fieldFrag.querySelector('input, textarea, md-select'); + var container = args.fieldFrag.querySelector('md-input-container'); + var field = args.fieldFrag.querySelector('input, textarea, md-select, button, md-button'); if (args.form.required && field) { field.setAttribute('ng-required', 'form.required'); } + + if (args.form.mdIcon && container) { + var icon = angular.element('{{form.mdIcon}}'); + + angular.element(container).prepend(icon); + } }; var core = [sfFieldMaterial, ngModel, ngModelOptions, condition, sfLayout]; @@ -4004,7 +4012,6 @@ return /******/ (function(modules) { // webpackBootstrap var mdSelectFrag = args.fieldFrag.querySelector('md-select'); var enumTitleMap = []; var i; - var mdSelectFrag; args.form.selectOptions = []; args.form.getOptions = getOptionsHandler; diff --git a/dist/angular-schema-form-material.min.js b/dist/angular-schema-form-material.min.js index 3630654..dadfb50 100644 --- a/dist/angular-schema-form-material.min.js +++ b/dist/angular-schema-form-material.min.js @@ -12,12 +12,13 @@ * @license MIT * Copyright (c) 2016 JSON Schema Form */ -(function webpackUniversalModuleDefinition(root,factory){if(true)module.exports=factory(__webpack_require__(2),__webpack_require__(3));else if(typeof define==="function"&&define.amd)define(["angular","tv4"],factory);else{var a=typeof exports==="object"?factory(require("angular"),require("tv4")):factory(root["angular"],root["tv4"]);for(var i in a)(typeof exports==="object"?exports:root)[i]=a[i]}})(this,function(__WEBPACK_EXTERNAL_MODULE_2__,__WEBPACK_EXTERNAL_MODULE_8__){return function(modules){var installedModules={};function __webpack_require__(moduleId){if(installedModules[moduleId])return installedModules[moduleId].exports;var module=installedModules[moduleId]={exports:{},id:moduleId,loaded:false};modules[moduleId].call(module.exports,module,module.exports,__webpack_require__);module.loaded=true;return module.exports}__webpack_require__.m=modules;__webpack_require__.c=installedModules;__webpack_require__.p="";return __webpack_require__(0)}([function(module,exports,__webpack_require__){module.exports=__webpack_require__(1)},function(module,exports,__webpack_require__){"use strict";var _angular=__webpack_require__(2);var _angular2=_interopRequireDefault(_angular);var _builder=__webpack_require__(3);var _builder2=_interopRequireDefault(_builder);var _decorators=__webpack_require__(4);var _decorators2=_interopRequireDefault(_decorators);var _schemaForm=__webpack_require__(5);var _schemaForm2=_interopRequireDefault(_schemaForm);var _jsonSchemaFormCore=__webpack_require__(6);var _validator=__webpack_require__(7);var _validator2=_interopRequireDefault(_validator);var _errors=__webpack_require__(9);var _errors2=_interopRequireDefault(_errors);var _sfPath=__webpack_require__(10);var _sfPath2=_interopRequireDefault(_sfPath);var _array=__webpack_require__(11);var _array2=_interopRequireDefault(_array);var _changed=__webpack_require__(12);var _changed2=_interopRequireDefault(_changed);var _field=__webpack_require__(13);var _field2=_interopRequireDefault(_field);var _message=__webpack_require__(14);var _message2=_interopRequireDefault(_message);var _newArray=__webpack_require__(15);var _newArray2=_interopRequireDefault(_newArray);var _schemaForm3=__webpack_require__(16);var _schemaForm4=_interopRequireDefault(_schemaForm3);var _schemaValidate=__webpack_require__(17);var _schemaValidate2=_interopRequireDefault(_schemaValidate);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}var deps=[];try{_angular2.default.module("ngSanitize");deps.push("ngSanitize")}catch(e){}try{_angular2.default.module("ui.sortable");deps.push("ui.sortable")}catch(e){}try{_angular2.default.module("angularSpectrumColorpicker");deps.push("angularSpectrumColorpicker")}catch(e){}_angular2.default.module("schemaForm",deps).provider("sfPath",_sfPath2.default).provider("sfBuilder",["sfPathProvider",_builder2.default]).provider("schemaFormDecorators",["$compileProvider","sfPathProvider",_decorators2.default]).provider("sfErrorMessage",_errors2.default).provider("schemaForm",["sfPathProvider",_schemaForm2.default]).factory("sfSelect",function(){return _jsonSchemaFormCore.select}).factory("sfValidator",_validator2.default).directive("sfArray",["sfSelect","schemaForm","sfValidator","sfPath",_array2.default]).directive("sfChanged",_changed2.default).directive("sfField",["$parse","$compile","$http","$templateCache","$interpolate","$q","sfErrorMessage","sfPath","sfSelect",_field2.default]).directive("sfMessage",["$injector","sfErrorMessage",_message2.default]).directive("sfNewArray",["sfSelect","sfPath","schemaForm",_newArray2.default]).directive("sfSchema",["$compile","$http","$templateCache","$q","schemaForm","schemaFormDecorators","sfSelect","sfPath","sfBuilder",_schemaForm4.default]).directive("schemaValidate",["sfValidator","$parse","sfSelect",_schemaValidate2.default])},function(module,exports){module.exports=angular},function(module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.default=function(sfPathProvider){var SNAKE_CASE_REGEXP=/[A-Z]/g;var snakeCase=function snakeCase(name,separator){separator=separator||"_";return name.replace(SNAKE_CASE_REGEXP,function(letter,pos){return(pos?separator:"")+letter.toLowerCase()})};var formId=0;var builders={sfField:function sfField(args){args.fieldFrag.firstChild.setAttribute("sf-field",formId);args.lookup["f"+formId]=args.form;formId++},ngModel:function ngModel(args){if(!args.form.key){return}var key=args.form.key;if(args.state.keyRedaction){key=key.slice(args.state.keyRedaction)}var modelValue;if(!args.state.modelValue){var strKey=sfPathProvider.stringify(key).replace(/"/g,""");modelValue=args.state.modelName||"model";if(strKey){modelValue+=(strKey[0]!=="["?".":"")+strKey}}else{modelValue=args.state.modelValue}var nodes=args.fieldFrag.querySelectorAll("[sf-field-model]");for(var i=0;i0){args.fieldFrag.firstChild.setAttribute("ng-model-options",JSON.stringify(args.form.ngModelOptions))}},transclusion:function transclusion(args){var transclusions=args.fieldFrag.querySelectorAll("[sf-field-transclude]");if(transclusions.length){for(var i=0;i0){tmpl.appendChild(div.childNodes[0])}var args={fieldFrag:tmpl,form:f,lookup:lookup,state:state,path:path+"["+index+"]",build:function build(items,path,state){return _build(items,decorator,templateFn,slots,path,state,lookup)}};var builderFn=f.builder||field.builder;if(typeof builderFn==="function"){builderFn(args)}else{builderFn.forEach(function(fn){fn(args)})}(checkForSlot(f,slots)||frag).appendChild(tmpl)}return frag},container);return container};return{build:function build(form,decorator,slots,lookup){return _build(form,decorator,function(form,field){if(form.type==="template"){return form.template}return $templateCache.get(field.template)},slots,undefined,undefined,lookup)},builder:builders,stdBuilders:stdBuilders,internalBuild:_build}}]}},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.default=function($compileProvider,sfPathProvider){var defaultDecorator="";var decorators={};var templateUrl=function templateUrl(name,form){if(name==="sfDecorator"){name=defaultDecorator}var decorator=decorators[name];if(decorator[form.type]){return decorator[form.type].template}return decorator["default"].template};var createDirective=function createDirective(name){$compileProvider.directive(name,["$parse","$compile","$http","$templateCache","$interpolate","$q","sfErrorMessage","sfPath","sfSelect",function($parse,$compile,$http,$templateCache,$interpolate,$q,sfErrorMessage,sfPath,sfSelect){return{restrict:"AE",replace:false,transclude:false,scope:true,require:"?^sfSchema",link:function link(scope,element,attrs,sfSchema){scope.$on("schemaFormPropagateNgModelController",function(event,ngModel){event.stopPropagation();event.preventDefault();scope.ngModel=ngModel});scope.showTitle=function(){return scope.form&&scope.form.notitle!==true&&scope.form.title};scope.listToCheckboxValues=function(list){var values={};_angular2.default.forEach(list,function(v){values[v]=true});return values};scope.checkboxValuesToList=function(values){var lst=[];_angular2.default.forEach(values,function(v,k){if(v){lst.push(k)}});return lst};scope.buttonClick=function($event,form){if(_angular2.default.isFunction(form.onClick)){form.onClick($event,form)}else if(_angular2.default.isString(form.onClick)){if(sfSchema){sfSchema.evalInParentScope(form.onClick,{$event:$event,form:form})}else{scope.$eval(form.onClick,{$event:$event,form:form})}}};scope.evalExpr=function(expression,locals){if(sfSchema){return sfSchema.evalInParentScope(expression,locals)}return scope.$eval(expression,locals)};scope.evalInScope=function(expression,locals){if(expression){return scope.$eval(expression,locals)}};scope.interp=function(expression,locals){return expression&&$interpolate(expression)(locals)};scope.hasSuccess=function(){if(!scope.ngModel){return false}return scope.ngModel.$valid&&(!scope.ngModel.$pristine||!scope.ngModel.$isEmpty(scope.ngModel.$modelValue))};scope.hasError=function(){if(!scope.ngModel){return false}return scope.ngModel.$invalid&&!scope.ngModel.$pristine};scope.errorMessage=function(schemaError){return sfErrorMessage.interpolate(schemaError&&schemaError.code+""||"default",scope.ngModel&&scope.ngModel.$modelValue||"",scope.ngModel&&scope.ngModel.$viewValue||"",scope.form,scope.options&&scope.options.validationMessage)};var once=scope.$watch(attrs.form,function(form){if(form){form.ngModelOptions=form.ngModelOptions||{};scope.form=form;var templatePromise;if(form.type==="template"&&form.template){templatePromise=$q.when(form.template)}else{var url=form.type==="template"?form.templateUrl:templateUrl(name,form);templatePromise=$http.get(url,{cache:$templateCache}).then(function(res){return res.data})}templatePromise.then(function(template){if(form.key){var key=form.key?sfPathProvider.stringify(form.key).replace(/"/g,"""):"";template=template.replace(/\$\$value\$\$/g,"model"+(key[0]!=="["?".":"")+key)}element.html(template);if(form.condition){var evalExpr='evalExpr(form.condition,{ model: model, "arrayIndex": arrayIndex})';if(form.key){evalExpr="evalExpr(form.condition, {"+'model: model, "arrayIndex": arrayIndex, "modelValue": model'+sfPath.stringify(form.key)+"})"}_angular2.default.forEach(element.children(),function(child){var ngIf=child.getAttribute("ng-if");child.setAttribute("ng-if",ngIf?"("+ngIf+") || ("+evalExpr+")":evalExpr)})}$compile(element.contents())(scope)});if(form.key){scope.$on("schemaForm.error."+form.key.join("."),function(event,error,validationMessage,validity,formName){formName=validity;if(validationMessage===true||validationMessage===false){validity=validationMessage;validationMessage=undefined}if(formName!=undefined&&scope.ngModel.$$parentForm.$name!==formName){return}if(scope.ngModel&&error){if(scope.ngModel.$setDirty){scope.ngModel.$setDirty()}else{scope.ngModel.$dirty=true;scope.ngModel.$pristine=false}if(validationMessage){if(!form.validationMessage){form.validationMessage={}}form.validationMessage[error]=validationMessage}scope.ngModel.$setValidity(error,validity===true);if(validity===true){scope.ngModel.$validate();scope.$broadcast("schemaFormValidate")}}});scope.$on("$destroy",function(){if(!scope.externalDestructionInProgress){var destroyStrategy=form.destroyStrategy||scope.options&&scope.options.destroyStrategy||"remove";if(form.key&&destroyStrategy!=="retain"){var obj=scope.model;if(form.key.length>1){obj=sfSelect(form.key.slice(0,form.key.length-1),obj)}if(obj===undefined){return}var type=form.schema&&form.schema.type||"";if(destroyStrategy==="empty"&&type.indexOf("string")!==-1){obj[form.key.slice(-1)]=""}else if(destroyStrategy==="empty"&&type.indexOf("object")!==-1){obj[form.key.slice(-1)]={}}else if(destroyStrategy==="empty"&&type.indexOf("array")!==-1){obj[form.key.slice(-1)]=[]}else if(destroyStrategy==="null"){obj[form.key.slice(-1)]=null}else{delete obj[form.key.slice(-1)]}}}})}once()}})}}}])};var createManualDirective=function createManualDirective(type,templateUrl,transclude){transclude=_angular2.default.isDefined(transclude)?transclude:false;$compileProvider.directive("sf"+_angular2.default.uppercase(type[0])+type.substr(1),function(){return{restrict:"EAC",scope:true,replace:true,transclude:transclude,template:'',link:function link(scope,element,attrs){var watchThis={items:"c",titleMap:"c",schema:"c"};var form={type:type};var once=true;_angular2.default.forEach(attrs,function(value,name){if(name[0]!=="$"&&name.indexOf("ng")!==0&&name!=="sfField"){var updateForm=function updateForm(val){if(_angular2.default.isDefined(val)&&val!==form[name]){form[name]=val;if(once&&form.type&&(form.key||_angular2.default.isUndefined(attrs.key))){scope.form=form;once=false}}};if(name==="model"){scope.$watch(value,function(val){if(val&&scope.model!==val){scope.model=val}})}else if(watchThis[name]==="c"){scope.$watchCollection(value,updateForm)}else{attrs.$observe(name,updateForm)}}})}}})};this.createDecorator=function(name,templates){decorators[name]={__name:name};_angular2.default.forEach(templates,function(url,type){decorators[name][type]={template:url,replace:false,builder:[]}});if(!decorators[defaultDecorator]){defaultDecorator=name}createDirective(name)};this.defineDecorator=function(name,fields){decorators[name]={__name:name};_angular2.default.forEach(fields,function(field,type){field.builder=field.builder||[];field.replace=_angular2.default.isDefined(field.replace)?field.replace:true;decorators[name][type]=field});if(!decorators[defaultDecorator]){defaultDecorator=name}createDirective(name)};this.createDirective=createManualDirective;this.createDirectives=function(templates){_angular2.default.forEach(templates,function(url,type){createManualDirective(type,url)})};this.decorator=function(name){name=name||defaultDecorator;return decorators[name]};this.addMapping=function(name,type,url,builder,replace){if(decorators[name]){decorators[name][type]={template:url,builder:builder,replace:!!replace}}};this.defineAddOn=function(name,type,url,builder){if(decorators[name]){decorators[name][type]={template:url,builder:builder,replace:true}}};this.$get=function(){return{decorator:function decorator(name){return decorators[name]||decorators[defaultDecorator]},defaultDecorator:defaultDecorator}};createDirective("sfDecorator")};var _angular=__webpack_require__(2);var _angular2=_interopRequireDefault(_angular);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.default=function(){var postProcessFn=function postProcessFn(form){return form};var defaults=_jsonSchemaFormCore.schemaDefaults.createDefaults();this.defaults=defaults;this.stdFormObj=_jsonSchemaFormCore.schemaDefaults.stdFormObj;this.defaultFormDefinition=_jsonSchemaFormCore.schemaDefaults.defaultFormDefinition;this.postProcess=function(fn){postProcessFn=fn};this.appendRule=function(type,rule){if(!defaults[type]){defaults[type]=[]}defaults[type].push(rule)};this.prependRule=function(type,rule){if(!defaults[type]){defaults[type]=[]}defaults[type].unshift(rule)};this.createStandardForm=_jsonSchemaFormCore.schemaDefaults.stdFormObj;this.$get=function(){var service={};var typeDefault=this.defaults;service.merge=function(schema,form,ignore,options,readonly,asyncTemplates){form=form||["*"];options=options||{};readonly=readonly||schema.readonly||schema.readOnly;var stdForm=_jsonSchemaFormCore.schemaDefaults.defaultForm(schema,typeDefault,ignore,options);var idx=form.indexOf("*");if(idx!==-1){form=form.slice(0,idx).concat(stdForm.form).concat(form.slice(idx+1))}var canonical=(0,_jsonSchemaFormCore.merge)(stdForm.lookup,form,options,readonly,asyncTemplates);return postProcessFn(canonical)};service.defaults=_jsonSchemaFormCore.schemaDefaults.defaultForm;service.typeDefault=typeDefault;service.traverseSchema=_jsonSchemaFormCore.traverseSchema;service.traverseForm=_jsonSchemaFormCore.traverseForm;return service}};var _angular=__webpack_require__(2);var _angular2=_interopRequireDefault(_angular);var _jsonSchemaFormCore=__webpack_require__(6);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}},function(module,exports,__webpack_require__){/*! +(function webpackUniversalModuleDefinition(root,factory){if(true)module.exports=factory(__webpack_require__(2),__webpack_require__(3));else if(typeof define==="function"&&define.amd)define(["angular","tv4"],factory);else{var a=typeof exports==="object"?factory(require("angular"),require("tv4")):factory(root["angular"],root["tv4"]);for(var i in a)(typeof exports==="object"?exports:root)[i]=a[i]}})(this,function(__WEBPACK_EXTERNAL_MODULE_2__,__WEBPACK_EXTERNAL_MODULE_8__){return function(modules){var installedModules={};function __webpack_require__(moduleId){if(installedModules[moduleId])return installedModules[moduleId].exports;var module=installedModules[moduleId]={exports:{},id:moduleId,loaded:false};modules[moduleId].call(module.exports,module,module.exports,__webpack_require__);module.loaded=true;return module.exports}__webpack_require__.m=modules;__webpack_require__.c=installedModules;__webpack_require__.p="";return __webpack_require__(0)}([function(module,exports,__webpack_require__){module.exports=__webpack_require__(1)},function(module,exports,__webpack_require__){"use strict";var _angular=__webpack_require__(2);var _angular2=_interopRequireDefault(_angular);var _builder=__webpack_require__(3);var _builder2=_interopRequireDefault(_builder);var _decorators=__webpack_require__(4);var _decorators2=_interopRequireDefault(_decorators);var _schemaForm=__webpack_require__(5);var _schemaForm2=_interopRequireDefault(_schemaForm);var _jsonSchemaFormCore=__webpack_require__(6);var _validator=__webpack_require__(7);var _validator2=_interopRequireDefault(_validator);var _errors=__webpack_require__(9);var _errors2=_interopRequireDefault(_errors);var _sfPath=__webpack_require__(10);var _sfPath2=_interopRequireDefault(_sfPath);var _array=__webpack_require__(11);var _array2=_interopRequireDefault(_array);var _changed=__webpack_require__(12);var _changed2=_interopRequireDefault(_changed);var _field=__webpack_require__(13);var _field2=_interopRequireDefault(_field);var _message=__webpack_require__(14);var _message2=_interopRequireDefault(_message);var _newArray=__webpack_require__(15);var _newArray2=_interopRequireDefault(_newArray);var _schemaForm3=__webpack_require__(16);var _schemaForm4=_interopRequireDefault(_schemaForm3);var _schemaValidate=__webpack_require__(17);var _schemaValidate2=_interopRequireDefault(_schemaValidate);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var deps=[];try{_angular2.default.module("ngSanitize");deps.push("ngSanitize")}catch(e){}try{_angular2.default.module("ui.sortable");deps.push("ui.sortable")}catch(e){}try{_angular2.default.module("angularSpectrumColorpicker");deps.push("angularSpectrumColorpicker")}catch(e){}_angular2.default.module("schemaForm",deps).provider("sfPath",_sfPath2.default).provider("sfBuilder",["sfPathProvider",_builder2.default]).provider("schemaFormDecorators",["$compileProvider","sfPathProvider",_decorators2.default]).provider("sfErrorMessage",_errors2.default).provider("schemaForm",["sfPathProvider",_schemaForm2.default]).factory("sfSelect",function(){return _jsonSchemaFormCore.select}).factory("sfValidator",_validator2.default).directive("sfArray",["sfSelect","schemaForm","sfValidator","sfPath",_array2.default]).directive("sfChanged",_changed2.default).directive("sfField",["$parse","$compile","$http","$templateCache","$interpolate","$q","sfErrorMessage","sfPath","sfSelect",_field2.default]).directive("sfMessage",["$injector","sfErrorMessage",_message2.default]).directive("sfNewArray",["sfSelect","sfPath","schemaForm",_newArray2.default]).directive("sfSchema",["$compile","$http","$templateCache","$q","schemaForm","schemaFormDecorators","sfSelect","sfPath","sfBuilder",_schemaForm4.default]).directive("schemaValidate",["sfValidator","$parse","sfSelect",_schemaValidate2.default])},function(module,exports){module.exports=angular},function(module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.default=function(sfPathProvider){var SNAKE_CASE_REGEXP=/[A-Z]/g;var snakeCase=function snakeCase(name,separator){separator=separator||"_";return name.replace(SNAKE_CASE_REGEXP,function(letter,pos){return(pos?separator:"")+letter.toLowerCase()})};var formId=0;var builders={sfField:function sfField(args){args.fieldFrag.firstChild.setAttribute("sf-field",formId);args.lookup["f"+formId]=args.form;formId++},ngModel:function ngModel(args){if(!args.form.key){return}var key=args.form.key;if(args.state.keyRedaction){key=key.slice(args.state.keyRedaction)}var modelValue;if(!args.state.modelValue){var strKey=sfPathProvider.stringify(key).replace(/"/g,""");modelValue=args.state.modelName||"model";if(strKey){modelValue+=(strKey[0]!=="["?".":"")+strKey}}else{modelValue=args.state.modelValue}var nodes=args.fieldFrag.querySelectorAll("[sf-field-model]");for(var i=0;i0){args.fieldFrag.firstChild.setAttribute("ng-model-options",JSON.stringify(args.form.ngModelOptions))}},transclusion:function transclusion(args){var transclusions=args.fieldFrag.querySelectorAll("[sf-field-transclude]");if(transclusions.length){for(var i=0;i1?Array(arrayDepth-1).join("$parent.$parent.$parent.")+"$parent.$parent.$index,":"";for(var i=arrayDepth;i>2;i--){arrayIndices+=Array(i-1).join("$parent.$parent.$parent.")+"$index,"}arrayIndices+="$index";evalExpr="evalExpr("+args.path+'.condition,{ model: model, "arrayIndex": $index, '+'"arrayIndices": ['+arrayIndices+"],"+'"modelValue": model'+(strKey[0]==="["?"":".")+strKey+"})"}var children=args.fieldFrag.children||args.fieldFrag.childNodes;for(var i=0;i0){tmpl.appendChild(div.childNodes[0])}var args={fieldFrag:tmpl,form:f,lookup:lookup,state:state,path:path+"["+index+"]",build:function build(items,path,state){return _build(items,decorator,templateFn,slots,path,state,lookup)}};var builderFn=f.builder||field.builder;if(typeof builderFn==="function"){builderFn(args)}else{builderFn.forEach(function(fn){fn(args)})}(checkForSlot(f,slots)||frag).appendChild(tmpl)}return frag},container);return container};return{build:function build(form,decorator,slots,lookup){return _build(form,decorator,function(form,field){if(form.type==="template"){return form.template}return $templateCache.get(field.template)},slots,undefined,undefined,lookup)},builder:builders,stdBuilders:stdBuilders,internalBuild:_build}}]}},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.default=function($compileProvider,sfPathProvider){var defaultDecorator="";var decorators={};var templateUrl=function templateUrl(name,form){if(name==="sfDecorator"){name=defaultDecorator}var decorator=decorators[name];if(decorator[form.type]){return decorator[form.type].template}return decorator["default"].template};var createDirective=function createDirective(name){$compileProvider.directive(name,["$parse","$compile","$http","$templateCache","$interpolate","$q","sfErrorMessage","sfPath","sfSelect",function($parse,$compile,$http,$templateCache,$interpolate,$q,sfErrorMessage,sfPath,sfSelect){return{restrict:"AE",replace:false,transclude:false,scope:true,require:"?^sfSchema",link:function link(scope,element,attrs,sfSchema){scope.$on("schemaFormPropagateNgModelController",function(event,ngModel){event.stopPropagation();event.preventDefault();scope.ngModel=ngModel});scope.showTitle=function(){return scope.form&&scope.form.notitle!==true&&scope.form.title};scope.listToCheckboxValues=function(list){var values={};_angular2.default.forEach(list,function(v){values[v]=true});return values};scope.checkboxValuesToList=function(values){var lst=[];_angular2.default.forEach(values,function(v,k){if(v){lst.push(k)}});return lst};scope.buttonClick=function($event,form){if(_angular2.default.isFunction(form.onClick)){form.onClick($event,form)}else if(_angular2.default.isString(form.onClick)){if(sfSchema){sfSchema.evalInParentScope(form.onClick,{$event:$event,form:form})}else{scope.$eval(form.onClick,{$event:$event,form:form})}}};scope.evalExpr=function(expression,locals){if(sfSchema){return sfSchema.evalInParentScope(expression,locals)}return scope.$eval(expression,locals)};scope.evalInScope=function(expression,locals){if(expression){return scope.$eval(expression,locals)}};scope.interp=function(expression,locals){return expression&&$interpolate(expression)(locals)};scope.hasSuccess=function(){if(!scope.ngModel){return false}if(scope.options&&scope.options.pristine&&scope.options.pristine.success===false){return scope.ngModel.$valid&&!scope.ngModel.$pristine&&!scope.ngModel.$isEmpty(scope.ngModel.$modelValue)}else{return scope.ngModel.$valid&&(!scope.ngModel.$pristine||!scope.ngModel.$isEmpty(scope.ngModel.$modelValue))}};scope.hasError=function(){if(!scope.ngModel){return false}return scope.ngModel.$invalid&&!scope.ngModel.$pristine};scope.errorMessage=function(schemaError){return sfErrorMessage.interpolate(schemaError&&schemaError.code+""||"default",scope.ngModel&&scope.ngModel.$modelValue||"",scope.ngModel&&scope.ngModel.$viewValue||"",scope.form,scope.options&&scope.options.validationMessage)};var once=scope.$watch(attrs.form,function(form){if(form){form.ngModelOptions=form.ngModelOptions||{};scope.form=form;var templatePromise;if(form.type==="template"&&form.template){templatePromise=$q.when(form.template)}else{var url=form.type==="template"?form.templateUrl:templateUrl(name,form);templatePromise=$http.get(url,{cache:$templateCache}).then(function(res){return res.data})}templatePromise.then(function(template){if(form.key){var key=form.key?sfPathProvider.stringify(form.key).replace(/"/g,"""):"";template=template.replace(/\$\$value\$\$/g,"model"+(key[0]!=="["?".":"")+key)}element.html(template);if(form.condition){var evalExpr='evalExpr(form.condition,{ model: model, "arrayIndex": arrayIndex})';if(form.key){evalExpr="evalExpr(form.condition, {"+'model: model, "arrayIndex": arrayIndex, "modelValue": model'+sfPath.stringify(form.key)+"})"}_angular2.default.forEach(element.children(),function(child){var ngIf=child.getAttribute("ng-if");child.setAttribute("ng-if",ngIf?"("+ngIf+") || ("+evalExpr+")":evalExpr)})}$compile(element.contents())(scope)});if(form.key){scope.$on("schemaForm.error."+form.key.join("."),function(event,error,validationMessage,validity,formName){formName=validity;if(validationMessage===true||validationMessage===false){validity=validationMessage;validationMessage=undefined}if(formName!=undefined&&scope.ngModel.$$parentForm.$name!==formName){return}if(scope.ngModel&&error){if(scope.ngModel.$setDirty){scope.ngModel.$setDirty()}else{scope.ngModel.$dirty=true;scope.ngModel.$pristine=false}if(validationMessage){if(!form.validationMessage){form.validationMessage={}}form.validationMessage[error]=validationMessage}scope.ngModel.$setValidity(error,validity===true);if(validity===true){scope.ngModel.$validate();scope.$broadcast("schemaFormValidate")}}});scope.$on("$destroy",function(){if(!scope.externalDestructionInProgress){var destroyStrategy=form.destroyStrategy||scope.options&&scope.options.destroyStrategy||"remove";if(form.key&&destroyStrategy!=="retain"){var obj=scope.model;if(form.key.length>1){obj=sfSelect(form.key.slice(0,form.key.length-1),obj)}if(obj===undefined){return}var type=form.schema&&form.schema.type||"";if(destroyStrategy==="empty"&&type.indexOf("string")!==-1){obj[form.key.slice(-1)]=""}else if(destroyStrategy==="empty"&&type.indexOf("object")!==-1){obj[form.key.slice(-1)]={}}else if(destroyStrategy==="empty"&&type.indexOf("array")!==-1){obj[form.key.slice(-1)]=[]}else if(destroyStrategy==="null"){obj[form.key.slice(-1)]=null}else{delete obj[form.key.slice(-1)]}}}})}once()}})}}}])};var createManualDirective=function createManualDirective(type,templateUrl,transclude){transclude=_angular2.default.isDefined(transclude)?transclude:false;$compileProvider.directive("sf"+_angular2.default.uppercase(type[0])+type.substr(1),function(){return{restrict:"EAC",scope:true,replace:true,transclude:transclude,template:'',link:function link(scope,element,attrs){var watchThis={items:"c",titleMap:"c",schema:"c"};var form={type:type};var once=true;_angular2.default.forEach(attrs,function(value,name){if(name[0]!=="$"&&name.indexOf("ng")!==0&&name!=="sfField"){var updateForm=function updateForm(val){if(_angular2.default.isDefined(val)&&val!==form[name]){form[name]=val;if(once&&form.type&&(form.key||_angular2.default.isUndefined(attrs.key))){scope.form=form;once=false}}};if(name==="model"){scope.$watch(value,function(val){if(val&&scope.model!==val){scope.model=val}})}else if(watchThis[name]==="c"){scope.$watchCollection(value,updateForm)}else{attrs.$observe(name,updateForm)}}})}}})};this.createDecorator=function(name,templates){decorators[name]={__name:name};_angular2.default.forEach(templates,function(url,type){decorators[name][type]={template:url,replace:false,builder:[]}});if(!decorators[defaultDecorator]){defaultDecorator=name}createDirective(name)};this.defineDecorator=function(name,fields){decorators[name]={__name:name};_angular2.default.forEach(fields,function(field,type){field.builder=field.builder||[];field.replace=_angular2.default.isDefined(field.replace)?field.replace:true;decorators[name][type]=field});if(!decorators[defaultDecorator]){defaultDecorator=name}createDirective(name)};this.createDirective=createManualDirective;this.createDirectives=function(templates){_angular2.default.forEach(templates,function(url,type){createManualDirective(type,url)})};this.decorator=function(name){name=name||defaultDecorator;return decorators[name]};this.addMapping=function(name,type,url,builder,replace){if(decorators[name]){decorators[name][type]={template:url,builder:builder,replace:!!replace}}};this.defineAddOn=function(name,type,url,builder){if(decorators[name]){decorators[name][type]={template:url,builder:builder,replace:true}}};this.$get=function(){return{decorator:function decorator(name){return decorators[name]||decorators[defaultDecorator]},defaultDecorator:defaultDecorator}};createDirective("sfDecorator")};var _angular=__webpack_require__(2);var _angular2=_interopRequireDefault(_angular);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.default=function(){var postProcessFn=function postProcessFn(form){return form};var defaults=_jsonSchemaFormCore.schemaDefaults.createDefaults();this.defaults=defaults;this.stdFormObj=_jsonSchemaFormCore.schemaDefaults.stdFormObj;this.defaultFormDefinition=_jsonSchemaFormCore.schemaDefaults.defaultFormDefinition;this.postProcess=function(fn){postProcessFn=fn};this.appendRule=function(type,rule){if(!defaults[type]){defaults[type]=[]}defaults[type].push(rule)};this.prependRule=function(type,rule){if(!defaults[type]){defaults[type]=[]}defaults[type].unshift(rule)};this.createStandardForm=_jsonSchemaFormCore.schemaDefaults.stdFormObj;this.$get=function(){var service={};var typeDefault=this.defaults;service.merge=function(schema,form,ignore,options,readonly,asyncTemplates){form=form||["*"];options=options||{};readonly=readonly||schema.readonly||schema.readOnly;var stdForm=_jsonSchemaFormCore.schemaDefaults.defaultForm(schema,typeDefault,ignore,options);var idx=form.indexOf("*");if(idx!==-1){form=form.slice(0,idx).concat(stdForm.form).concat(form.slice(idx+1))}var canonical=(0,_jsonSchemaFormCore.merge)(stdForm.lookup,form,options,readonly,asyncTemplates);return postProcessFn(canonical)};service.defaults=_jsonSchemaFormCore.schemaDefaults.defaultForm;service.typeDefault=typeDefault;service.traverseSchema=_jsonSchemaFormCore.traverseSchema;service.traverseForm=_jsonSchemaFormCore.traverseForm;return service}};var _angular=__webpack_require__(2);var _angular2=_interopRequireDefault(_angular);var _jsonSchemaFormCore=__webpack_require__(6);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}},function(module,exports,__webpack_require__){/*! * json-schema-form - * @version 1.0.0-alpha.2 + * @version 1.0.0-alpha.1 * @link https://github.com/json-schema-form/json-schema-form-core * @license MIT * Copyright (c) 2016 JSON Schema Form */ -(function webpackUniversalModuleDefinition(root,factory){if(true)module.exports=factory();else if(typeof define==="function"&&define.amd)define([],factory);else{var a=factory();for(var i in a)(typeof exports==="object"?exports:root)[i]=a[i]}})(this,function(){return function(modules){var installedModules={};function __webpack_require__(moduleId){if(installedModules[moduleId])return installedModules[moduleId].exports;var module=installedModules[moduleId]={exports:{},id:moduleId,loaded:false};modules[moduleId].call(module.exports,module,module.exports,__webpack_require__);module.loaded=true;return module.exports}__webpack_require__.m=modules;__webpack_require__.c=installedModules;__webpack_require__.p="";return __webpack_require__(0)}([function(module,exports,__webpack_require__){module.exports=__webpack_require__(1)},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.canonicalTitleMap=exports.schemaDefaults=exports.sfPath=undefined;var _merge=__webpack_require__(2);Object.keys(_merge).forEach(function(key){if(key==="default")return;Object.defineProperty(exports,key,{enumerable:true,get:function get(){return _merge[key]}})});var _select=__webpack_require__(7);Object.keys(_select).forEach(function(key){if(key==="default")return;Object.defineProperty(exports,key,{enumerable:true,get:function get(){return _select[key]}})});var _traverse=__webpack_require__(8);Object.keys(_traverse).forEach(function(key){if(key==="default")return;Object.defineProperty(exports,key,{enumerable:true,get:function get(){return _traverse[key]}})});var _schemaDefaults=__webpack_require__(9);var schemaDefaultsImp=_interopRequireWildcard(_schemaDefaults);var _sfPath=__webpack_require__(3);var sfPathImp=_interopRequireWildcard(_sfPath);var _canonicalTitleMap=__webpack_require__(6);var _canonicalTitleMap2=_interopRequireDefault(_canonicalTitleMap);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _interopRequireWildcard(obj){if(obj&&obj.__esModule){return obj}else{var newObj={};if(obj!=null){for(var key in obj){if(Object.prototype.hasOwnProperty.call(obj,key))newObj[key]=obj[key]}}newObj.default=obj;return newObj}}var sfPath=exports.sfPath=sfPathImp;var schemaDefaults=exports.schemaDefaults=schemaDefaultsImp;var canonicalTitleMap=exports.canonicalTitleMap=_canonicalTitleMap2.default},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.merge=merge;var _sfPath=__webpack_require__(3);var _canonicalTitleMap=__webpack_require__(6);var _canonicalTitleMap2=_interopRequireDefault(_canonicalTitleMap);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function merge(lookup,form,options,readonly,asyncTemplates){form=form||[];options=options||{};return form.map(function(obj){if(typeof obj==="string"){obj={key:obj}}if(obj.key){if(typeof obj.key==="string"){obj.key=(0,_sfPath.parse)(obj.key)}}if(obj.titleMap){obj.titleMap=(0,_canonicalTitleMap2.default)(obj.titleMap)}if(obj.key){var strid=(0,_sfPath.stringify)(obj.key);if(lookup[strid]){(function(){var schemaDefaults=lookup[strid];if(schemaDefaults){Object.keys(schemaDefaults).forEach(function(attr){if(obj[attr]===undefined){obj[attr]=schemaDefaults[attr]}})}})()}}if(readonly===true){obj.readonly=true}if(obj.items){obj.items=merge(lookup,obj.items,options,obj.readonly,asyncTemplates)}if(obj.tabs){obj.tabs.forEach(function(tab){if(tab.items){tab.items=merge(lookup,tab.items,options,obj.readonly,asyncTemplates)}})}if(obj.type==="checkbox"&&obj.schema["default"]===undefined){obj.schema["default"]=false}if(asyncTemplates&&obj.type==="template"&&!obj.template&&obj.templateUrl){asyncTemplates.push(obj)}return obj})}},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _objectpath=__webpack_require__(4);Object.defineProperty(exports,"parse",{enumerable:true,get:function get(){return _objectpath.parse}});Object.defineProperty(exports,"stringify",{enumerable:true,get:function get(){return _objectpath.stringify}});Object.defineProperty(exports,"normalize",{enumerable:true,get:function get(){return _objectpath.normalize}})},function(module,exports,__webpack_require__){"use strict";module.exports=__webpack_require__(5).ObjectPath},function(module,exports,__webpack_require__){var __WEBPACK_AMD_DEFINE_RESULT__;"use strict";var _typeof=typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"?function(obj){return typeof obj}:function(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol?"symbol":typeof obj};!function(undefined){var ObjectPath={parse:function parse(str){if(typeof str!=="string"){throw new TypeError("ObjectPath.parse must be passed a string")}var i=0;var parts=[];var d,b,q,c;while(ii){parts.push(str.slice(i,b));i=b}q=str.slice(b+1,b+2);if(q!=='"'&&q!=="'"){c=str.indexOf("]",b);if(c===-1)c=str.length;parts.push(str.slice(i+1,c));i=str.slice(c+1,c+2)==="."?c+2:c+1}else{c=str.indexOf(q+"]",b);if(c===-1)c=str.length;while(str.slice(c-1,c)==="\\"&&b2&&numRe.test(parts[1])?[]:{}}var value=obj[parts[0]];for(var i=1;i1){subForm={type:"section",items:form.items.map(function(item){item.ngModelOptions=form.ngModelOptions;if(_angular2.default.isUndefined(item.readonly)){item.readonly=form.readonly}return item})}}}scope.copyWithIndex=function(index){if(!formDefCache[index]){if(subForm){var copy=_angular2.default.copy(subForm);copy.arrayIndex=index;schemaForm.traverseForm(copy,setIndex(index));formDefCache[index]=copy}}return formDefCache[index]};scope.appendToArray=function(){var len=list.length;var copy=scope.copyWithIndex(len);schemaForm.traverseForm(copy,function(part){if(part.key){var def;if(_angular2.default.isDefined(part["default"])){def=part["default"]}if(_angular2.default.isDefined(part.schema)&&_angular2.default.isDefined(part.schema["default"])){def=part.schema["default"]}if(_angular2.default.isDefined(def)){sfSelect(part.key,scope.model,def)}}});if(len===list.length){var type=sfSelect("schema.items.type",form);var dflt;if(type==="object"){dflt={}}else if(type==="array"){dflt=[]}list.push(dflt)}scope.validateArray();return list};scope.deleteFromArray=function(index){list.splice(index,1);scope.validateArray();if(ngModel&&ngModel.$setDirty){ngModel.$setDirty()}return list};if(!form.titleMap&&form.startEmpty!==true&&list.length===0){scope.appendToArray()}if(form.titleMap&&form.titleMap.length>0){scope.titleMapValues=[];var updateTitleMapValues=function updateTitleMapValues(arr){scope.titleMapValues=[];arr=arr||[];form.titleMap.forEach(function(item){scope.titleMapValues.push(arr.indexOf(item.value)!==-1)})};updateTitleMapValues(scope.modelArray);scope.$watchCollection("modelArray",updateTitleMapValues);scope.$watchCollection("titleMapValues",function(vals,old){if(vals&&vals!==old){var arr=scope.modelArray;while(arr.length>0){arr.pop()}form.titleMap.forEach(function(item,index){if(vals[index]){arr.push(item.value)}});scope.validateArray()}})}if(ngModel){var error;scope.validateArray=function(){var result=sfValidator.validate(form,scope.modelArray.length>0?scope.modelArray:undefined);Object.keys(ngModel.$error).filter(function(k){return k.indexOf("tv4-")===0}).forEach(function(k){ngModel.$setValidity(k,true)});if(result.valid===false&&result.error&&(result.error.dataPath===""||result.error.dataPath==="/"+form.key[form.key.length-1])){ngModel.$setViewValue(scope.modelArray);error=result.error;ngModel.$setValidity("tv4-"+result.error.code,false)}};scope.$on("schemaFormValidate",scope.validateArray);scope.hasSuccess=function(){if(scope.options&&scope.options.pristine&&scope.options.pristine.success===false){return ngModel.$valid&&!ngModel.$pristine&&!ngModel.$isEmpty(ngModel.$modelValue)}else{return ngModel.$valid&&(!ngModel.$pristine||!ngModel.$isEmpty(ngModel.$modelValue))}};scope.hasError=function(){if(!scope.options||!scope.options.pristine||scope.options.pristine.errors!==false){return ngModel.$invalid}else{return ngModel.$invalid&&!ngModel.$pristine}};scope.schemaError=function(){return error}}once()})}}};var _angular=__webpack_require__(2);var _angular2=_interopRequireDefault(_angular);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.default=function(){return{require:"ngModel",restrict:"AC",scope:false,link:function link(scope,element,attrs,ctrl){var form=scope.$eval(attrs.sfChanged);if(form&&form.onChange){ctrl.$viewChangeListeners.push(function(){if(_angular2.default.isFunction(form.onChange)){form.onChange(ctrl.$modelValue,form)}else{scope.evalExpr(form.onChange,{modelValue:ctrl.$modelValue,form:form})}})}}}};var _angular=__webpack_require__(2);var _angular2=_interopRequireDefault(_angular);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.default=function($parse,$compile,$http,$templateCache,$interpolate,$q,sfErrorMessage,sfPath,sfSelect){return{restrict:"AE",replace:false,transclude:false,scope:true,require:"^sfSchema",link:{pre:function pre(scope,element,attrs,sfSchema){scope.$on("schemaFormPropagateNgModelController",function(event,ngModel){event.stopPropagation();event.preventDefault();scope.ngModel=ngModel});scope.form=sfSchema.lookup["f"+attrs.sfField]},post:function post(scope,element,attrs,sfSchema){scope.showTitle=function(){return scope.form&&scope.form.notitle!==true&&scope.form.title};scope.listToCheckboxValues=function(list){var values={};_angular2.default.forEach(list,function(v){values[v]=true});return values};scope.checkboxValuesToList=function(values){var lst=[];_angular2.default.forEach(values,function(v,k){if(v){lst.push(k)}});return lst};scope.buttonClick=function($event,form){if(_angular2.default.isFunction(form.onClick)){form.onClick($event,form)}else if(_angular2.default.isString(form.onClick)){if(sfSchema){sfSchema.evalInParentScope(form.onClick,{$event:$event,form:form})}else{scope.$eval(form.onClick,{$event:$event,form:form})}}};scope.evalExpr=function(expression,locals){if(sfSchema){return sfSchema.evalInParentScope(expression,locals)}return scope.$eval(expression,locals)};scope.evalInScope=function(expression,locals){if(expression){return scope.$eval(expression,locals)}};scope.interp=function(expression,locals){return expression&&$interpolate(expression)(locals)};scope.hasSuccess=function(){if(!scope.ngModel){return false}if(scope.options&&scope.options.pristine&&scope.options.pristine.success===false){return scope.ngModel.$valid&&!scope.ngModel.$pristine&&!scope.ngModel.$isEmpty(scope.ngModel.$modelValue)}else{return scope.ngModel.$valid&&(!scope.ngModel.$pristine||!scope.ngModel.$isEmpty(scope.ngModel.$modelValue))}};scope.hasError=function(){if(!scope.ngModel){return false}if(!scope.options||!scope.options.pristine||scope.options.pristine.errors!==false){return scope.ngModel.$invalid}else{return scope.ngModel.$invalid&&!scope.ngModel.$pristine}};scope.errorMessage=function(schemaError){return sfErrorMessage.interpolate(schemaError&&schemaError.code+""||"default",scope.ngModel&&scope.ngModel.$modelValue||"",scope.ngModel&&scope.ngModel.$viewValue||"",scope.form,scope.options&&scope.options.validationMessage)};var form=scope.form;if(form.key){scope.$on("schemaForm.error."+form.key.join("."),function(event,error,validationMessage,validity,formName){formName=validity;if(validationMessage===true||validationMessage===false){validity=validationMessage;validationMessage=undefined}if(formName!=undefined&&scope.ngModel.$$parentForm.$name!==formName){return}if(scope.ngModel&&error){if(scope.ngModel.$setDirty){scope.ngModel.$setDirty()}else{scope.ngModel.$dirty=true;scope.ngModel.$pristine=false}if(validationMessage){if(!form.validationMessage){form.validationMessage={}}form.validationMessage[error]=validationMessage}scope.ngModel.$setValidity(error,validity===true);if(validity===true){scope.ngModel.$validate();scope.$broadcast("schemaFormValidate")}}});scope.$on("$destroy",function(){if(!scope.externalDestructionInProgress){var destroyStrategy=form.destroyStrategy||scope.options&&scope.options.destroyStrategy||"remove";if(form.key&&destroyStrategy!=="retain"){var obj=scope.model;if(form.key.length>1){obj=sfSelect(form.key.slice(0,form.key.length-1),obj)}if(obj===undefined){return}var type=form.schema&&form.schema.type||"";if(destroyStrategy==="empty"&&type.indexOf("string")!==-1){obj[form.key.slice(-1)]=""}else if(destroyStrategy==="empty"&&type.indexOf("object")!==-1){obj[form.key.slice(-1)]={}}else if(destroyStrategy==="empty"&&type.indexOf("array")!==-1){obj[form.key.slice(-1)]=[]}else if(destroyStrategy==="null"){obj[form.key.slice(-1)]=null}else{delete obj[form.key.slice(-1)]}}}})}}}}};var _angular=__webpack_require__(2);var _angular2=_interopRequireDefault(_angular);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.default=function($injector,sfErrorMessage){var $sanitize=$injector.has("$sanitize")?$injector.get("$sanitize"):function(html){return html};return{scope:false,restrict:"EA",link:function link(scope,element,attrs){var message="";if(attrs.sfMessage){scope.$watch(attrs.sfMessage,function(msg){if(msg){message=$sanitize(msg);update(!!scope.ngModel)}})}var currentMessage;var setMessage=function setMessage(msg){if(msg!==currentMessage){element.html(msg);currentMessage=msg}};var update=function update(checkForErrors){if(checkForErrors){if(!scope.hasError()){setMessage(message)}else{var errors=[];_angular2.default.forEach(scope.ngModel&&scope.ngModel.$error,function(status,code){if(status){errors.push(code)}});errors=errors.filter(function(e){return e!=="schemaForm"});var error=errors[0];if(error){setMessage(sfErrorMessage.interpolate(error,scope.ngModel.$modelValue,scope.ngModel.$viewValue,scope.form,scope.options&&scope.options.validationMessage))}else{setMessage(message)}}}else{setMessage(message)}};update();var once=scope.$watch("ngModel",function(ngModel){if(ngModel){ngModel.$parsers.push(function(val){update(true);return val});ngModel.$formatters.push(function(val){update(true);return val});once()}});scope.$watchCollection("ngModel.$error",function(){update(!!scope.ngModel)})}}};var _angular=__webpack_require__(2);var _angular2=_interopRequireDefault(_angular);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.default=function(sel,sfPath,schemaForm){return{scope:false,link:function link(scope,element,attrs){scope.min=0;scope.modelArray=scope.$eval(attrs.sfNewArray);var watchFn=function watchFn(){scope.modelArray=scope.$eval(attrs.sfNewArray);if(scope.ngModel&&scope.ngModel.$pristine&&scope.firstDigest&&(!scope.options||scope.options.validateOnRender!==true)){return}else if(scope.validateField){scope.validateField()}};var onChangeFn=function onChangeFn(){if(scope.form&&scope.form.onChange){if(_angular2.default.isFunction(scope.form.onChange)){scope.form.onChange(scope.modelArray,scope.form)}else{scope.evalExpr(scope.form.onChange,{modelValue:scope.modelArray,form:scope.form})}}};var getOrCreateModel=function getOrCreateModel(){var model=scope.modelArray;if(!model){var selection=sfPath.parse(attrs.sfNewArray);model=[];sel(selection,scope,model);scope.modelArray=model}return model};var once=scope.$watch("form",function(form){if(!form){return}if(!form.titleMap&&form.startEmpty!==true&&(!scope.modelArray||scope.modelArray.length===0)){scope.appendToArray()}if(scope.form&&scope.form.schema&&scope.form.schema.uniqueItems===true){scope.$watch(attrs.sfNewArray,watchFn,true);scope.$watch([attrs.sfNewArray,attrs.sfNewArray+".length"],onChangeFn); -}else{if(scope.$watchGroup){scope.$watchGroup([attrs.sfNewArray,attrs.sfNewArray+".length"],function(){watchFn();onChangeFn()})}else{scope.$watch(attrs.sfNewArray,function(){watchFn();onChangeFn()});scope.$watch(attrs.sfNewArray+".length",function(){watchFn();onChangeFn()})}}if(form.titleMap&&form.titleMap.length>0){scope.titleMapValues=[];var updateTitleMapValues=function updateTitleMapValues(arr){scope.titleMapValues=[];arr=arr||[];form.titleMap.forEach(function(item){scope.titleMapValues.push(arr.indexOf(item.value)!==-1)})};updateTitleMapValues(scope.modelArray);scope.$watchCollection("modelArray",updateTitleMapValues);scope.$watchCollection("titleMapValues",function(vals,old){if(vals&&vals!==old){var arr=getOrCreateModel();form.titleMap.forEach(function(item,index){var arrIndex=arr.indexOf(item.value);if(arrIndex===-1&&vals[index]){arr.push(item.value)}if(arrIndex!==-1&&!vals[index]){arr.splice(arrIndex,1)}});if(scope.validateField){scope.validateField()}}})}once()});scope.appendToArray=function(){var empty;var model=getOrCreateModel();if(scope.form&&scope.form.schema&&scope.form.schema.items){var items=scope.form.schema.items;if(items.type&&items.type.indexOf("object")!==-1){empty={};if(!scope.options||scope.options.setSchemaDefaults!==false){empty=_angular2.default.isDefined(items["default"])?items["default"]:empty;if(empty){schemaForm.traverseSchema(items,function(prop,path){if(_angular2.default.isDefined(prop["default"])){sel(path,empty,prop["default"])}})}}}else if(items.type&&items.type.indexOf("array")!==-1){empty=[];if(!scope.options||scope.options.setSchemaDefaults!==false){empty=items["default"]||empty}}else{if(!scope.options||scope.options.setSchemaDefaults!==false){empty=items["default"]||empty}}}model.push(empty);return model};scope.deleteFromArray=function(index){var model=scope.modelArray;if(model){model.splice(index,1)}return model};var setIndex=function setIndex(index){return function(form){if(form.key){form.key[form.key.indexOf("")]=index}}};var formDefCache={};scope.copyWithIndex=function(index){var form=scope.form;if(!formDefCache[index]){var subForm=form.items[0];if(form.items.length>1){subForm={type:"section",items:form.items.map(function(item){item.ngModelOptions=form.ngModelOptions;if(_angular2.default.isUndefined(item.readonly)){item.readonly=form.readonly}return item})}}if(subForm){var copy=_angular2.default.copy(subForm);copy.arrayIndex=index;schemaForm.traverseForm(copy,setIndex(index));formDefCache[index]=copy}}return formDefCache[index]}}}};var _angular=__webpack_require__(2);var _angular2=_interopRequireDefault(_angular);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.default=function($compile,$http,$templateCache,$q,schemaForm,schemaFormDecorators,sfSelect,sfPath,sfBuilder){return{scope:{schema:"=sfSchema",initialForm:"=sfForm",model:"=sfModel",options:"=sfOptions"},controller:["$scope",function($scope){this.evalInParentScope=function(expr,locals){return $scope.$parent.$eval(expr,locals)};var that=this;$scope.lookup=function(lookup){if(lookup){that.lookup=lookup}return that.lookup}}],replace:false,restrict:"A",transclude:true,require:"?form",link:function link(scope,element,attrs,formCtrl,transclude){scope.formCtrl=formCtrl;var ignore={};transclude(scope,function(clone){clone.addClass("schema-form-ignore");element.prepend(clone);if(element[0].querySelectorAll){var models=element[0].querySelectorAll("[ng-model]");if(models){for(var i=0;i0){$q.all(asyncTemplates.map(function(form){return $http.get(form.templateUrl,{cache:$templateCache}).then(function(res){form.template=res.data})})).then(function(){internalRender(schema,form,merged)})}else{internalRender(schema,form,merged)}};var internalRender=function internalRender(schema,form,merged){if(childScope){scope.externalDestructionInProgress=true;childScope.$destroy();scope.externalDestructionInProgress=false}childScope=scope.$new();childScope.schemaForm={form:merged,schema:schema};element.children(":not(.schema-form-ignore)").remove();var slots={};var slotsFound=element[0].querySelectorAll("*[sf-insert-field]");for(var i=0;i0){lastDigest.schema=schema;lastDigest.form=form;render(schema,form)}});scope.$on("schemaFormRedraw",function(){var schema=scope.schema;var form=scope.initialForm?_angular2.default.copy(scope.initialForm):["*"];if(schema){render(schema,form)}});scope.$on("$destroy",function(){scope.externalDestructionInProgress=true});scope.evalExpr=function(expression,locals){return scope.$parent.$eval(expression,locals)}}}};var _angular=__webpack_require__(2);var _angular2=_interopRequireDefault(_angular);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.default=function(sfValidator,$parse,sfSelect){return{restrict:"A",scope:false,priority:500,require:"ngModel",link:function link(scope,element,attrs,ngModel){scope.$emit("schemaFormPropagateNgModelController",ngModel);var error=null;var form=scope.$eval(attrs.schemaValidate);if(form.copyValueTo){ngModel.$viewChangeListeners.push(function(){var paths=form.copyValueTo;_angular2.default.forEach(paths,function(path){sfSelect(path,scope.model,ngModel.$modelValue)})})}var validate=function validate(viewValue){if(!form){return viewValue}if(scope.options&&scope.options.tv4Validation===false){return viewValue}var result=sfValidator.validate(form,viewValue);Object.keys(ngModel.$error).filter(function(k){return k.indexOf("tv4-")===0||k.indexOf("md-")===0}).forEach(function(k){ngModel.$setValidity(k,true)});if(!result.valid){ngModel.$setValidity("tv4-"+result.error.code,false);error=result.error;if(ngModel.$validators){return viewValue}return undefined}return viewValue};if(typeof form.ngModel==="function"){form.ngModel(ngModel)}["$parsers","$viewChangeListeners","$formatters"].forEach(function(attr){if(form[attr]&&ngModel[attr]){form[attr].forEach(function(fn){ngModel[attr].push(fn)})}});["$validators","$asyncValidators"].forEach(function(attr){if(form[attr]&&ngModel[attr]){_angular2.default.forEach(form[attr],function(fn,name){ngModel[attr][name]=fn})}});ngModel.$parsers.push(validate);if(ngModel.$validators){ngModel.$validators.schemaForm=function(){return!Object.keys(ngModel.$error).some(function(e){return e!=="schemaForm"})}}var schema=form.schema;scope.validateField=function(formName){if(formName!=undefined&&ngModel.$$parentForm.$name!==formName){return}if(schema&&schema.type.indexOf("array")!==-1){validate(ngModel.$modelValue)}if(ngModel.$setDirty){ngModel.$setDirty();ngModel.$setViewValue(ngModel.$viewValue);ngModel.$commitViewValue();if(form.type==="checkbox"){if(form.required&&ngModel.$modelValue===undefined){ngModel.$setValidity("tv4-302",false)}}else if(form.required&&ngModel.$isEmpty(ngModel.$modelValue)){ngModel.$setValidity("tv4-302",false)}}else{ngModel.$setViewValue(ngModel.$viewValue)}};var first=true;ngModel.$formatters.push(function(val){if(ngModel.$pristine&&first&&(!scope.options||scope.options.validateOnRender!==true)){first=false;return val}validate(ngModel.$modelValue);return val});scope.$on("schemaFormValidate",function(event,formName){scope.validateField(formName)});scope.schemaError=function(){return error}}}};var _angular=__webpack_require__(2);var _angular2=_interopRequireDefault(_angular);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}}])})},function(module,exports){module.exports=angular},function(module,exports){module.exports=tv4},function(module,exports){angular.module("schemaForm").run(["$templateCache",function($templateCache){$templateCache.put("decorators/material/actions-trcl.html",'
');$templateCache.put("decorators/material/actions.html",'
');$templateCache.put("decorators/material/array.html",'
close
{{ form.add || \'Add\'}}
');$templateCache.put("decorators/material/autocomplete.html",'
{{item.name}}No matches found
');$templateCache.put("decorators/material/card-content.html",'');$templateCache.put("decorators/material/card.html",'');$templateCache.put("decorators/material/checkbox.html",'
{{::form.title}}
');$templateCache.put("decorators/material/checkboxes.html",'
{{::form.titleMap[$index].name}}
');$templateCache.put("decorators/material/chips.html",'
{{$chip}}
');$templateCache.put("decorators/material/date.html",'
');$templateCache.put("decorators/material/default.html",' ');$templateCache.put("decorators/material/fieldset-trcl.html",'
{{ form.title }}
');$templateCache.put("decorators/material/fieldset.html",'
{{ form.title }}
');$templateCache.put("decorators/material/help.html",'
');$templateCache.put("decorators/material/radio-buttons.html",'
');$templateCache.put("decorators/material/radios-inline.html",'
');$templateCache.put("decorators/material/radios.html",'
');$templateCache.put("decorators/material/section.html",'');$templateCache.put("decorators/material/select.html",'{{::filtered.name}}{{::opt.name}}');$templateCache.put("decorators/material/slider.html",'');$templateCache.put("decorators/material/submit.html",'
{{::form.tip}}{{::form.title}}
');$templateCache.put("decorators/material/switch.html",'{{::form.title}}');$templateCache.put("decorators/material/tabarray.html",'');$templateCache.put("decorators/material/tabs.html",'
');$templateCache.put("decorators/material/textarea.html",' ')}])},function(module,exports){angular.module("schemaForm").directive("sfTypeParser",function(){return{restrict:"A",scope:false,require:"ngModel",link:function(scope,element,attrs,ngModel){var once=scope.$watch(attrs.sfTypeParser,function(schema){if(!schema){return}var isNumber=schema.type.indexOf("number")!==-1;var isInteger=schema.type.indexOf("integer")!==-1;var numberRE=/^[0-9]*$/;if(isNumber||isInteger){ngModel.$parsers.push(function(viewValue){var value;if(isNumber){value=parseFloat(viewValue)}else if(numberRE.test(viewValue)){value=parseInt(viewValue,10)}console.log("parser",numberRE.test(viewValue),viewValue,value);if(value===undefined||isNaN(value)){return viewValue}return value})}once()})}}})},function(module,exports){(function(angular,undefined){"use strict";angular.module("schemaForm").config(materialDecoratorConfig).directive("sfmExternalOptions",sfmExternalOptionsDirective).filter("sfCamelKey",sfCamelKeyFilter);materialDecoratorConfig.$inject=["schemaFormProvider","schemaFormDecoratorsProvider","sfBuilderProvider","sfPathProvider","$injector"];function materialDecoratorConfig(schemaFormProvider,decoratorsProvider,sfBuilderProvider,sfPathProvider,$injector){var base="decorators/material/";var simpleTransclusion=sfBuilderProvider.builders.simpleTransclusion;var ngModelOptions=sfBuilderProvider.builders.ngModelOptions;var ngModel=sfBuilderProvider.builders.ngModel;var sfField=sfBuilderProvider.builders.sfField;var condition=sfBuilderProvider.builders.condition;var array=sfBuilderProvider.builders.array;var numeric=sfBuilderProvider.builders.numeric;var sfLayout=sfLayout;var sfMessagesNode=sfMessagesNodeHandler();var sfMessages=sfMessagesBuilder;var sfOptions=sfOptionsBuilder;var mdAutocomplete=mdAutocompleteBuilder;var mdSwitch=mdSwitchBuilder;var mdDatepicker=mdDatepickerBuilder;var mdTabs=mdTabsBuilder;var textarea=textareaBuilder;var core=[sfField,ngModel,ngModelOptions,condition,sfLayout];var defaults=core.concat(sfMessages);var arrays=core.concat(array);schemaFormProvider.defaults.string.unshift(dateDefault);decoratorsProvider.defineDecorator("materialDecorator",{actions:{template:base+"actions.html",builder:[sfField,simpleTransclusion,condition]},array:{template:base+"array.html",builder:arrays},autocomplete:{template:base+"autocomplete.html",builder:defaults.concat(mdAutocomplete)},"boolean":{template:base+"checkbox.html",builder:defaults},button:{template:base+"submit.html",builder:defaults},checkbox:{template:base+"checkbox.html",builder:defaults},checkboxes:{template:base+"checkboxes.html",builder:arrays},date:{template:base+"date.html",builder:defaults.concat(mdDatepicker)},"default":{template:base+"default.html",builder:defaults},fieldset:{template:base+"fieldset.html",builder:[sfField,simpleTransclusion,condition]},help:{template:base+"help.html",builder:defaults},number:{template:base+"default.html",builder:defaults.concat(numeric)},password:{template:base+"default.html",builder:defaults},radios:{template:base+"radios.html",builder:defaults},"radios-inline":{template:base+"radios-inline.html",builder:defaults},radiobuttons:{template:base+"radio-buttons.html",builder:defaults},section:{template:base+"section.html",builder:[sfField,simpleTransclusion,condition,sfLayout]},select:{template:base+"select.html",builder:defaults.concat(sfOptions)},submit:{template:base+"submit.html",builder:defaults},tabs:{template:base+"tabs.html",builder:[sfField,mdTabs,condition]},tabarray:{template:base+"tabarray.html",builder:arrays},textarea:{template:base+"textarea.html",builder:defaults.concat(textarea)},"switch":{template:base+"switch.html",builder:defaults.concat(mdSwitch)}});function sfLayout(args){var layoutDiv=args.fieldFrag.querySelector("[sf-layout]");if(args.form.grid){Object.getOwnPropertyNames(args.form.grid).forEach(function(property,idx,array){layoutDiv.setAttribute(property,args.form.grid[property])})}}function sfMessagesNodeHandler(){var html='
'+'
';var div=document.createElement("div");div.innerHTML=html;return div.firstChild}function sfMessagesBuilder(args){var messagesDiv=args.fieldFrag.querySelector("[sf-messages]");if(messagesDiv&&sfMessagesNode){var child=sfMessagesNode.cloneNode(true);messagesDiv.appendChild(child)}}function textareaBuilder(args){var textareaFrag=args.fieldFrag.querySelector("textarea");var maxLength=args.form.maxlength||false;if(textareaFrag&&maxLength){textareaFrag.setAttribute("md-maxlength",maxLength)}}function mdAutocompleteBuilder(args){var mdAutocompleteFrag=args.fieldFrag.querySelector("md-autocomplete");var minLength=args.form.minLength||1;var maxLength=args.form.maxLength||false;var title=args.form.title||args.form.placeholder||args.form.key.slice(-1)[0];if(mdAutocompleteFrag){if(args.form.onChange){mdAutocompleteFrag.setAttribute("md-selected-item-change","args.form.onChange()");mdAutocompleteFrag.setAttribute("md-search-text-change","args.form.onChange(searchText)")}mdAutocompleteFrag.setAttribute("md-min-length",minLength);if(maxLength){mdAutocompleteFrag.setAttribute("md-max-length",maxLength)}if(title){mdAutocompleteFrag.setAttribute("md-floating-label",title)}}}function mdSwitchBuilder(args){var mdSwitchFrag=args.fieldFrag.querySelector("md-switch");if(args.form.schema.titleMap){mdSwitchFrag.setAttribute("ng-true-value",args.form.schema.titleMap.true);mdSwitchFrag.setAttribute("ng-false-value",args.form.schema.titleMap.false)}}function sfOptionsBuilder(args){var mdSelectFrag=args.fieldFrag.querySelector("md-select");var enumTitleMap=[];var i;var mdSelectFrag;args.form.selectOptions=[];args.form.getOptions=getOptionsHandler;if(args.form.schema.links&&typeof args.form.schema.links==="object"){var link;var related=/({)([^}]*)(})/gm;var source=/{{([^}]*)}}/gm;var matched;for(i=0;i0){var mdTabsFrag=args.fieldFrag.querySelector("md-tabs");args.form.tabs.forEach(function(tab,index){var mdTab=document.createElement("md-tab");mdTab.setAttribute("label","{{"+args.path+".tabs["+index+"].title}}");var mdTabBody=document.createElement("md-tab-body");var childFrag=args.build(tab.items,args.path+".tabs["+index+"].items",args.state);mdTabBody.appendChild(childFrag);mdTab.appendChild(mdTabBody);mdTabsFrag.appendChild(mdTab)})}}function dateDefault(name,schema,options){if(schema.type==="string"&&(schema.format==="date"||schema.format==="date-time")){var f=schemaFormProvider.stdFormObj(name,schema,options);f.key=options.path;f.type="date";options.lookup[sfPathProvider.stringify(options.path)]=f;return f}}}function getOptionsHandler(form,evalExpr){if(form.optionData){return evalExpr(form.optionData)}if(form.selectOptions){return form.selectOptions}return[]}function sfOptionsProcessor(data){var enumTitleMap=[];if(data.titleMap){return data.titleMap}else if(data.enum&&data.enum.length){for(i=0;ii){parts.push(str.slice(i,b));i=b}q=str.slice(b+1,b+2);if(q!=='"'&&q!=="'"){c=str.indexOf("]",b);if(c===-1)c=str.length;parts.push(str.slice(i+1,c));i=str.slice(c+1,c+2)==="."?c+2:c+1}else{c=str.indexOf(q+"]",b);if(c===-1)c=str.length;while(str.slice(c-1,c)==="\\"&&b2&&numRe.test(parts[1])?[]:{}}var value=obj[parts[0]];for(var i=1;i1){subForm={type:"section",items:form.items.map(function(item){item.ngModelOptions=form.ngModelOptions;if(_angular2.default.isUndefined(item.readonly)){item.readonly=form.readonly}return item})}}}scope.copyWithIndex=function(index){if(!formDefCache[index]){if(subForm){var copy=_angular2.default.copy(subForm);copy.arrayIndex=index;schemaForm.traverseForm(copy,setIndex(index));formDefCache[index]=copy}}return formDefCache[index]};scope.appendToArray=function(){var len=list.length;var copy=scope.copyWithIndex(len);schemaForm.traverseForm(copy,function(part){if(part.key){var def;if(_angular2.default.isDefined(part["default"])){def=part["default"]}if(_angular2.default.isDefined(part.schema)&&_angular2.default.isDefined(part.schema["default"])){def=part.schema["default"]}if(_angular2.default.isDefined(def)){sfSelect(part.key,scope.model,def)}}});if(len===list.length){var type=sfSelect("schema.items.type",form);var dflt;if(type==="object"){dflt={}}else if(type==="array"){dflt=[]}list.push(dflt)}scope.validateArray();return list};scope.deleteFromArray=function(index){list.splice(index,1);scope.validateArray();if(ngModel&&ngModel.$setDirty){ngModel.$setDirty()}return list};if(!form.titleMap&&form.startEmpty!==true&&list.length===0){scope.appendToArray()}if(form.titleMap&&form.titleMap.length>0){scope.titleMapValues=[];var updateTitleMapValues=function updateTitleMapValues(arr){scope.titleMapValues=[];arr=arr||[];form.titleMap.forEach(function(item){scope.titleMapValues.push(arr.indexOf(item.value)!==-1)})};updateTitleMapValues(scope.modelArray);scope.$watchCollection("modelArray",updateTitleMapValues);scope.$watchCollection("titleMapValues",function(vals,old){if(vals&&vals!==old){var arr=scope.modelArray;while(arr.length>0){arr.pop()}form.titleMap.forEach(function(item,index){if(vals[index]){arr.push(item.value)}});scope.validateArray()}})}if(ngModel){var error;scope.validateArray=function(){var result=sfValidator.validate(form,scope.modelArray.length>0?scope.modelArray:undefined);Object.keys(ngModel.$error).filter(function(k){return k.indexOf("tv4-")===0}).forEach(function(k){ngModel.$setValidity(k,true)});if(result.valid===false&&result.error&&(result.error.dataPath===""||result.error.dataPath==="/"+form.key[form.key.length-1])){ngModel.$setViewValue(scope.modelArray);error=result.error;ngModel.$setValidity("tv4-"+result.error.code,false)}};scope.$on("schemaFormValidate",scope.validateArray);scope.hasSuccess=function(){if(scope.options&&scope.options.pristine&&scope.options.pristine.success===false){return ngModel.$valid&&!ngModel.$pristine&&!ngModel.$isEmpty(ngModel.$modelValue)}else{return ngModel.$valid&&(!ngModel.$pristine||!ngModel.$isEmpty(ngModel.$modelValue))}};scope.hasError=function(){if(!scope.options||!scope.options.pristine||scope.options.pristine.errors!==false){return ngModel.$invalid}else{return ngModel.$invalid&&!ngModel.$pristine}};scope.schemaError=function(){return error}}once()})}}};var _angular=__webpack_require__(2);var _angular2=_interopRequireDefault(_angular);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.default=function(){return{require:"ngModel",restrict:"AC",scope:false,link:function link(scope,element,attrs,ctrl){var form=scope.$eval(attrs.sfChanged);if(form&&form.onChange){ctrl.$viewChangeListeners.push(function(){if(_angular2.default.isFunction(form.onChange)){form.onChange(ctrl.$modelValue,form)}else{scope.evalExpr(form.onChange,{modelValue:ctrl.$modelValue,form:form})}})}}}};var _angular=__webpack_require__(2);var _angular2=_interopRequireDefault(_angular);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.default=function($parse,$compile,$http,$templateCache,$interpolate,$q,sfErrorMessage,sfPath,sfSelect){return{restrict:"AE",replace:false,transclude:false,scope:true,require:"^sfSchema",link:{pre:function pre(scope,element,attrs,sfSchema){scope.$on("schemaFormPropagateNgModelController",function(event,ngModel){event.stopPropagation();event.preventDefault();scope.ngModel=ngModel});scope.form=sfSchema.lookup["f"+attrs.sfField]},post:function post(scope,element,attrs,sfSchema){scope.showTitle=function(){return scope.form&&scope.form.notitle!==true&&scope.form.title};scope.listToCheckboxValues=function(list){var values={};_angular2.default.forEach(list,function(v){values[v]=true});return values};scope.checkboxValuesToList=function(values){var lst=[];_angular2.default.forEach(values,function(v,k){if(v){lst.push(k)}});return lst};scope.buttonClick=function($event,form){if(_angular2.default.isFunction(form.onClick)){form.onClick($event,form)}else if(_angular2.default.isString(form.onClick)){if(sfSchema){sfSchema.evalInParentScope(form.onClick,{$event:$event,form:form})}else{scope.$eval(form.onClick,{$event:$event,form:form})}}};scope.evalExpr=function(expression,locals){if(sfSchema){return sfSchema.evalInParentScope(expression,locals)}return scope.$eval(expression,locals)};scope.evalInScope=function(expression,locals){if(expression){return scope.$eval(expression,locals)}};scope.interp=function(expression,locals){return expression&&$interpolate(expression)(locals)};scope.hasSuccess=function(){if(!scope.ngModel){return false}if(scope.options&&scope.options.pristine&&scope.options.pristine.success===false){return scope.ngModel.$valid&&!scope.ngModel.$pristine&&!scope.ngModel.$isEmpty(scope.ngModel.$modelValue)}else{return scope.ngModel.$valid&&(!scope.ngModel.$pristine||!scope.ngModel.$isEmpty(scope.ngModel.$modelValue))}};scope.hasError=function(){if(!scope.ngModel){return false}if(!scope.options||!scope.options.pristine||scope.options.pristine.errors!==false){return scope.ngModel.$invalid}else{return scope.ngModel.$invalid&&!scope.ngModel.$pristine}};scope.errorMessage=function(schemaError){return sfErrorMessage.interpolate(schemaError&&schemaError.code+""||"default",scope.ngModel&&scope.ngModel.$modelValue||"",scope.ngModel&&scope.ngModel.$viewValue||"",scope.form,scope.options&&scope.options.validationMessage)};var form=scope.form;if(form.key){scope.$on("schemaForm.error."+form.key.join("."),function(event,error,validationMessage,validity,formName){formName=validity;if(validationMessage===true||validationMessage===false){validity=validationMessage;validationMessage=undefined}if(formName!=undefined&&scope.ngModel.$$parentForm.$name!==formName){return}if(scope.ngModel&&error){if(scope.ngModel.$setDirty){scope.ngModel.$setDirty()}else{scope.ngModel.$dirty=true;scope.ngModel.$pristine=false}if(validationMessage){if(!form.validationMessage){form.validationMessage={}}form.validationMessage[error]=validationMessage}scope.ngModel.$setValidity(error,validity===true);if(validity===true){scope.ngModel.$validate();scope.$broadcast("schemaFormValidate")}}});scope.$on("$destroy",function(){if(!scope.externalDestructionInProgress){var destroyStrategy=form.destroyStrategy||scope.options&&scope.options.destroyStrategy||"remove";if(form.key&&destroyStrategy!=="retain"){var obj=scope.model;if(form.key.length>1){obj=sfSelect(form.key.slice(0,form.key.length-1),obj)}if(obj===undefined){return}var type=form.schema&&form.schema.type||"";if(destroyStrategy==="empty"&&type.indexOf("string")!==-1){obj[form.key.slice(-1)]=""}else if(destroyStrategy==="empty"&&type.indexOf("object")!==-1){obj[form.key.slice(-1)]={}}else if(destroyStrategy==="empty"&&type.indexOf("array")!==-1){obj[form.key.slice(-1)]=[]}else if(destroyStrategy==="null"){obj[form.key.slice(-1)]=null}else{delete obj[form.key.slice(-1)]}}}})}}}}};var _angular=__webpack_require__(2);var _angular2=_interopRequireDefault(_angular);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.default=function($injector,sfErrorMessage){var $sanitize=$injector.has("$sanitize")?$injector.get("$sanitize"):function(html){return html};var $timeout=$injector.get("$timeout");return{scope:false,restrict:"EA",link:function link(scope,element,attrs){var message="";if(attrs.sfMessage){scope.$watch(attrs.sfMessage,function(msg){if(msg){message=$sanitize(msg);update(!!scope.ngModel)}})}var currentMessage;var setMessage=function setMessage(msg){if(msg!==currentMessage){element.html(msg);currentMessage=msg}};var updateAsync=function updateAsync(checkForErrors){$timeout(function(){update(checkForErrors)})};var update=function update(checkForErrors){if(checkForErrors){if(!scope.hasError()){setMessage(message)}else{var errors=[];_angular2.default.forEach(scope.ngModel&&scope.ngModel.$error,function(status,code){if(status){errors.push(code)}});errors=errors.filter(function(e){return e!=="schemaForm"});var error=errors[0];if(error){setMessage(sfErrorMessage.interpolate(error,scope.ngModel.$modelValue,scope.ngModel.$viewValue,scope.form,scope.options&&scope.options.validationMessage))}else{setMessage(message)}}}else{setMessage(message)}};update();var once=scope.$watch("ngModel",function(ngModel){if(ngModel){ngModel.$parsers.push(function(val){updateAsync(true);return val});ngModel.$formatters.push(function(val){updateAsync(true);return val});once()}});scope.$watchCollection("ngModel.$error",function(){update(!!scope.ngModel)})}}};var _angular=__webpack_require__(2);var _angular2=_interopRequireDefault(_angular);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.default=function(sel,sfPath,schemaForm){return{scope:false,link:function link(scope,element,attrs){scope.min=0;scope.modelArray=scope.$eval(attrs.sfNewArray);var watchFn=function watchFn(){scope.modelArray=scope.$eval(attrs.sfNewArray);if(scope.ngModel&&scope.ngModel.$pristine&&scope.firstDigest&&(!scope.options||scope.options.validateOnRender!==true)){return}else if(scope.validateField){scope.validateField()}};var onChangeFn=function onChangeFn(){if(scope.form&&scope.form.onChange){if(_angular2.default.isFunction(scope.form.onChange)){scope.form.onChange(scope.modelArray,scope.form)}else{scope.evalExpr(scope.form.onChange,{modelValue:scope.modelArray,form:scope.form})}}};var getOrCreateModel=function getOrCreateModel(){var model=scope.modelArray;if(!model){var selection=sfPath.parse(attrs.sfNewArray);model=[];sel(selection,scope,model);scope.modelArray=model}return model};var once=scope.$watch("form",function(form){ +if(!form){return}if(!form.titleMap&&form.startEmpty!==true&&(!scope.modelArray||scope.modelArray.length===0)){scope.appendToArray();if(form.startAtMin===true){while(scope.modelArray.length0){scope.titleMapValues=[];var updateTitleMapValues=function updateTitleMapValues(arr){scope.titleMapValues=[];arr=arr||[];form.titleMap.forEach(function(item){scope.titleMapValues.push(arr.indexOf(item.value)!==-1)})};updateTitleMapValues(scope.modelArray);scope.$watchCollection("modelArray",updateTitleMapValues);scope.$watchCollection("titleMapValues",function(vals,old){if(vals&&vals!==old){var arr=getOrCreateModel();form.titleMap.forEach(function(item,index){var arrIndex=arr.indexOf(item.value);if(arrIndex===-1&&vals[index]){arr.push(item.value)}if(arrIndex!==-1&&!vals[index]){arr.splice(arrIndex,1)}});if(scope.validateField){scope.validateField()}}})}once()});scope.appendToArray=function(){var empty;var model=getOrCreateModel();if(scope.form&&scope.form.schema&&scope.form.schema.items){var items=scope.form.schema.items;if(items.type&&items.type.indexOf("object")!==-1){empty={};if(!scope.options||scope.options.setSchemaDefaults!==false){empty=_angular2.default.isDefined(items["default"])?items["default"]:empty;if(empty){schemaForm.traverseSchema(items,function(prop,path){if(_angular2.default.isDefined(prop["default"])){sel(path,empty,prop["default"])}})}}}else if(items.type&&items.type.indexOf("array")!==-1){empty=[];if(!scope.options||scope.options.setSchemaDefaults!==false){empty=items["default"]||empty}}else{if(!scope.options||scope.options.setSchemaDefaults!==false){empty=items["default"]||empty}}}model.push(empty);return model};scope.deleteFromArray=function(index){var model=scope.modelArray;if(model){model.splice(index,1)}return model};var setIndex=function setIndex(index){return function(form){if(form.key){form.key[form.key.indexOf("")]=index}}};var formDefCache={};scope.copyWithIndex=function(index){var form=scope.form;if(!formDefCache[index]){var subForm=form.items[0];if(form.items.length>1){subForm={type:"section",items:form.items.map(function(item){item.ngModelOptions=form.ngModelOptions;if(_angular2.default.isUndefined(item.readonly)){item.readonly=form.readonly}return item})}}if(subForm){var copy=_angular2.default.copy(subForm);copy.arrayIndex=index;schemaForm.traverseForm(copy,setIndex(index));formDefCache[index]=copy}}return formDefCache[index]}}}};var _angular=__webpack_require__(2);var _angular2=_interopRequireDefault(_angular);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.default=function($compile,$http,$templateCache,$q,schemaForm,schemaFormDecorators,sfSelect,sfPath,sfBuilder){return{scope:{schema:"=sfSchema",initialForm:"=sfForm",model:"=sfModel",options:"=sfOptions"},controller:["$scope",function($scope){this.evalInParentScope=function(expr,locals){return $scope.$parent.$eval(expr,locals)};var that=this;$scope.lookup=function(lookup){if(lookup){that.lookup=lookup}return that.lookup}}],replace:false,restrict:"A",transclude:true,require:"?form",link:function link(scope,element,attrs,formCtrl,transclude){scope.formCtrl=formCtrl;var ignore={};transclude(scope,function(clone){clone.addClass("schema-form-ignore");element.prepend(clone);if(element[0].querySelectorAll){var models=element[0].querySelectorAll("[ng-model]");if(models){for(var i=0;i0){$q.all(asyncTemplates.map(function(form){return $http.get(form.templateUrl,{cache:$templateCache}).then(function(res){form.template=res.data})})).then(function(){internalRender(schema,form,merged)})}else{internalRender(schema,form,merged)}};var internalRender=function internalRender(schema,form,merged){if(childScope){scope.externalDestructionInProgress=true;childScope.$destroy();scope.externalDestructionInProgress=false}childScope=scope.$new();childScope.schemaForm={form:merged,schema:schema};element.children(":not(.schema-form-ignore)").remove();var slots={};var slotsFound=element[0].querySelectorAll("*[sf-insert-field]");for(var i=0;i0){lastDigest.schema=schema;lastDigest.form=form;render(schema,form)}});scope.$on("schemaFormRedraw",function(){var schema=scope.schema;var form=scope.initialForm?_angular2.default.copy(scope.initialForm):["*"];if(schema){render(schema,form)}});scope.$on("$destroy",function(){scope.externalDestructionInProgress=true});scope.evalExpr=function(expression,locals){return scope.$parent.$eval(expression,locals)}}}};var _angular=__webpack_require__(2);var _angular2=_interopRequireDefault(_angular);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.default=function(sfValidator,$parse,sfSelect){return{restrict:"A",scope:false,priority:500,require:"ngModel",link:function link(scope,element,attrs,ngModel){scope.$emit("schemaFormPropagateNgModelController",ngModel);var error=null;var form=scope.$eval(attrs.schemaValidate);if(form.copyValueTo){ngModel.$viewChangeListeners.push(function(){var paths=form.copyValueTo;_angular2.default.forEach(paths,function(path){sfSelect(path,scope.model,ngModel.$modelValue)})})}var validate=function validate(viewValue){if(!form){return viewValue}if(scope.options&&scope.options.tv4Validation===false){return viewValue}var result=sfValidator.validate(form,viewValue);Object.keys(ngModel.$error).filter(function(k){return k.indexOf("tv4-")===0}).forEach(function(k){ngModel.$setValidity(k,true)});if(!result.valid){ngModel.$setValidity("tv4-"+result.error.code,false);error=result.error;if(ngModel.$validators){return viewValue}return undefined}return viewValue};if(typeof form.ngModel==="function"){form.ngModel(ngModel)}["$parsers","$viewChangeListeners","$formatters"].forEach(function(attr){if(form[attr]&&ngModel[attr]){form[attr].forEach(function(fn){ngModel[attr].push(fn)})}});["$validators","$asyncValidators"].forEach(function(attr){if(form[attr]&&ngModel[attr]){_angular2.default.forEach(form[attr],function(fn,name){ngModel[attr][name]=fn})}});ngModel.$parsers.push(validate);if(ngModel.$validators){ngModel.$validators.schemaForm=function(){return!Object.keys(ngModel.$error).some(function(e){return e!=="schemaForm"})}}var schema=form.schema;scope.validateField=function(formName){if(formName!=undefined&&ngModel.$$parentForm.$name!==formName){return}if(schema&&schema.type.indexOf("array")!==-1){validate(ngModel.$modelValue)}if(ngModel.$setDirty){ngModel.$setDirty();ngModel.$setViewValue(ngModel.$viewValue);ngModel.$commitViewValue();if(form.type==="checkbox"){if(form.required&&ngModel.$modelValue===undefined){ngModel.$setValidity("tv4-302",false)}}else if(form.required&&ngModel.$isEmpty(ngModel.$modelValue)){ngModel.$setValidity("tv4-302",false)}}else{ngModel.$setViewValue(ngModel.$viewValue)}};var first=true;ngModel.$formatters.push(function(val){if(ngModel.$pristine&&first&&(!scope.options||scope.options.validateOnRender!==true)){first=false;return val}validate(ngModel.$modelValue);return val});scope.$on("schemaFormValidate",function(event,formName){scope.validateField(formName)});scope.schemaError=function(){return error}}}};var _angular=__webpack_require__(2);var _angular2=_interopRequireDefault(_angular);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}}])})},function(module,exports){module.exports=angular},function(module,exports){module.exports=tv4},function(module,exports){angular.module("schemaForm").run(["$templateCache",function($templateCache){$templateCache.put("decorators/material/actions-trcl.html",'
');$templateCache.put("decorators/material/actions.html",'
');$templateCache.put("decorators/material/array.html",'
close
{{ form.add || \'Add\'}}
');$templateCache.put("decorators/material/autocomplete.html",'
{{item.name}}No matches found
');$templateCache.put("decorators/material/card-content.html",'');$templateCache.put("decorators/material/card.html",'{{ form.title }}');$templateCache.put("decorators/material/checkbox.html",'
{{::form.title}}
');$templateCache.put("decorators/material/checkboxes.html",'
{{::form.titleMap[$index].name}}
');$templateCache.put("decorators/material/chips.html",'
{{$chip}}
');$templateCache.put("decorators/material/date.html",'
');$templateCache.put("decorators/material/default.html",'
{{form.mdIcon}}
');$templateCache.put("decorators/material/fieldset-trcl.html",'
{{ form.title }}
');$templateCache.put("decorators/material/fieldset.html",'
{{ form.title }}
');$templateCache.put("decorators/material/help.html",'
');$templateCache.put("decorators/material/radio-buttons.html",'
');$templateCache.put("decorators/material/radios-inline.html",'
');$templateCache.put("decorators/material/radios.html",'
');$templateCache.put("decorators/material/section.html",'');$templateCache.put("decorators/material/select.html",'{{::filtered.name}}{{::opt.name}}
');$templateCache.put("decorators/material/slider.html",'');$templateCache.put("decorators/material/submit.html",'
{{::form.tip}}{{::form.title}}
');$templateCache.put("decorators/material/switch.html",'{{::form.title}}');$templateCache.put("decorators/material/tabarray.html",'');$templateCache.put("decorators/material/tabs.html",'
');$templateCache.put("decorators/material/textarea.html",' ')}])},function(module,exports){angular.module("schemaForm").directive("sfTypeParser",function(){return{restrict:"A",scope:false,require:"ngModel",link:function(scope,element,attrs,ngModel){var once=scope.$watch(attrs.sfTypeParser,function(schema){if(!schema){return}var isNumber=schema.type.indexOf("number")!==-1;var isInteger=schema.type.indexOf("integer")!==-1;var numberRE=/^[0-9]*$/;if(isNumber||isInteger){ngModel.$parsers.push(function(viewValue){var value;if(isNumber){value=parseFloat(viewValue)}else if(numberRE.test(viewValue)){value=parseInt(viewValue,10)}console.log("parser",numberRE.test(viewValue),viewValue,value);if(value===undefined||isNaN(value)){return viewValue}return value})}once()})}}})},function(module,exports){(function(angular,undefined){"use strict";angular.module("schemaForm").config(materialDecoratorConfig).directive("sfmExternalOptions",sfmExternalOptionsDirective).filter("sfCamelKey",sfCamelKeyFilter).directive("sfChangedAutoComplete",function(){return{require:"ngModel",restrict:"AC",link:function(scope,element,attrs,ctrl){var form=scope.$eval(attrs.sfChangedAutoComplete);if(form&&form.onChange){scope.onChangeFn=function(){if(angular.isFunction(form.onChange)){form.onChange(ctrl.$modelValue,form)}else{scope.evalExpr(form.onChange,{modelValue:ctrl.$modelValue,form:form})}}}}}});materialDecoratorConfig.$inject=["schemaFormProvider","schemaFormDecoratorsProvider","sfBuilderProvider","sfPathProvider","$injector"];function materialDecoratorConfig(schemaFormProvider,decoratorsProvider,sfBuilderProvider,sfPathProvider,$injector){var base="decorators/material/";var simpleTransclusion=sfBuilderProvider.builders.simpleTransclusion;var transclusion=sfBuilderProvider.builders.transclusion;var ngModelOptions=sfBuilderProvider.builders.ngModelOptions;var ngModel=sfBuilderProvider.builders.ngModel;var sfField=sfBuilderProvider.builders.sfField;var condition=sfBuilderProvider.builders.condition;var array=sfBuilderProvider.builders.array;var numeric=sfBuilderProvider.builders.numeric;var sfLayout=sfLayout;var sfMessagesNode=sfMessagesNodeHandler();var sfMessages=sfMessagesBuilder;var sfOptions=sfOptionsBuilder;var mdAutocomplete=mdAutocompleteBuilder;var mdSwitch=mdSwitchBuilder;var mdDatepicker=mdDatepickerBuilder;var mdTabs=mdTabsBuilder;var textarea=textareaBuilder;var sfFieldMaterial=function(args){sfField(args);var field=args.fieldFrag.querySelector("input, textarea, md-select");if(args.form.required&&field){field.setAttribute("ng-required","form.required")}};var core=[sfFieldMaterial,ngModel,ngModelOptions,condition,sfLayout];var defaults=core.concat(sfMessages);var arrays=core.concat(array);schemaFormProvider.defaults.string.unshift(dateDefault);schemaFormProvider.defaults.object.unshift(dateObjectDefault);decoratorsProvider.defineDecorator("materialDecorator",{actions:{template:base+"actions.html",builder:[sfField,simpleTransclusion,condition]},array:{template:base+"array.html",builder:arrays},autocomplete:{template:base+"autocomplete.html",builder:defaults.concat(mdAutocomplete)},boolean:{template:base+"checkbox.html",builder:defaults},button:{template:base+"submit.html",builder:defaults},card:{template:base+"card.html",builder:[sfField,transclusion,condition]},checkbox:{template:base+"checkbox.html",builder:defaults},checkboxes:{template:base+"checkboxes.html",builder:arrays},date:{template:base+"date.html",builder:defaults.concat(mdDatepicker)},default:{template:base+"default.html",builder:defaults},fieldset:{template:base+"fieldset.html",builder:[sfField,transclusion,condition]},help:{template:base+"help.html",builder:defaults},number:{template:base+"default.html",builder:defaults.concat(numeric)},password:{template:base+"default.html",builder:defaults},radios:{template:base+"radios.html",builder:defaults},"radios-inline":{template:base+"radios-inline.html",builder:defaults},radiobuttons:{template:base+"radio-buttons.html",builder:defaults},section:{template:base+"section.html",builder:[sfField,simpleTransclusion,condition,sfLayout]},select:{template:base+"select.html",builder:defaults.concat(sfOptions)},submit:{template:base+"submit.html",builder:defaults},tabs:{template:base+"tabs.html",builder:[sfField,mdTabs,condition]},tabarray:{template:base+"tabarray.html",builder:arrays},textarea:{template:base+"textarea.html",builder:defaults.concat(textarea)},switch:{template:base+"switch.html",builder:defaults.concat(mdSwitch)}});var dateFormat=/^[0-9]{4,}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\.[0-9]+|)(?:[+-][0-9]{2}:?(?:[0-9]{2}|)|Z)$/;var mdDateFormat=/^(:?[A-Z][a-z]{2}\s){2}\d{1,2}\s\d{4}\s(:?\d{2}\:?){3}\s[A-Z]{3}\-\d{4}\s\([A-Z]{3}\)$/;var formats={date:function(value){if(value&&typeof value!=="string"&&value.toISOString){value=value.toISOString()||""}if(dateFormat.test(value)||mdDateFormat.test(value)){return null}return"A valid date expected"}};tv4.addFormat("date",formats.date);function sfLayout(args){var layoutDiv=args.fieldFrag.querySelector("[sf-layout]");if(args.form.grid){Object.getOwnPropertyNames(args.form.grid).forEach(function(property,idx,array){layoutDiv.setAttribute(property,args.form.grid[property])})}}function sfMessagesNodeHandler(){var html='
'+'
';var div=document.createElement("div");div.innerHTML=html;return div.firstChild}function sfMessagesBuilder(args){var messagesDiv=args.fieldFrag.querySelector("[sf-messages]");if(messagesDiv&&sfMessagesNode){var child=sfMessagesNode.cloneNode(true);messagesDiv.appendChild(child)}}function textareaBuilder(args){var textareaFrag=args.fieldFrag.querySelector("textarea");var maxLength=args.form.maxlength||false;if(textareaFrag&&maxLength){textareaFrag.setAttribute("md-maxlength",maxLength)}}function mdAutocompleteBuilder(args){var mdAutocompleteFrag=args.fieldFrag.querySelector("md-autocomplete");var minLength=args.form.minLength!==undefined?args.form.minLength:1;var maxLength=args.form.maxLength||false;var title=args.form.title||args.form.placeholder||args.form.key.slice(-1)[0];if(mdAutocompleteFrag){if(args.form.onChange){mdAutocompleteFrag.setAttribute("md-selected-item-change","onChangeFn()");mdAutocompleteFrag.setAttribute("md-search-text-change","onChangeFn(searchText)")}mdAutocompleteFrag.setAttribute("md-min-length",minLength);if(maxLength){mdAutocompleteFrag.setAttribute("md-max-length",maxLength)}if(title){mdAutocompleteFrag.setAttribute("md-floating-label",title)}if(args.form.schema.requireMatch){mdAutocompleteFrag.setAttribute("md-require-match",true)}}}function mdSwitchBuilder(args){var mdSwitchFrag=args.fieldFrag.querySelector("md-switch");if(args.form.schema.titleMap){mdSwitchFrag.setAttribute("ng-true-value",args.form.schema.titleMap.true);mdSwitchFrag.setAttribute("ng-false-value",args.form.schema.titleMap.false)}}function sfOptionsBuilder(args){var mdSelectFrag=args.fieldFrag.querySelector("md-select");var enumTitleMap=[];var i;var mdSelectFrag;args.form.selectOptions=[];args.form.getOptions=getOptionsHandler;if(args.form.schema.links&&typeof args.form.schema.links==="object"){var link;var related=/({)([^}]*)(})/gm;var source=/{{([^}]*)}}/gm;var matched;for(i=0;i0){var mdTabsFrag=args.fieldFrag.querySelector("md-tabs");args.form.tabs.forEach(function(tab,index){var mdTab=document.createElement("md-tab");mdTab.setAttribute("label","{{"+args.path+".tabs["+index+"].title}}");var mdTabBody=document.createElement("md-tab-body");var childFrag=args.build(tab.items,args.path+".tabs["+index+"].items",args.state);mdTabBody.appendChild(childFrag);mdTab.appendChild(mdTabBody);mdTabsFrag.appendChild(mdTab)})}}function dateDefault(name,schema,options){if(schema.type==="string"&&(schema.format==="date"||schema.format==="date-time")){var f=schemaFormProvider.stdFormObj(name,schema,options);f.key=options.path;f.type="date";options.lookup[sfPathProvider.stringify(options.path)]=f;return f}}function dateObjectDefault(name,schema,options){if(schema.type==="object"&&(schema.format==="date"||schema.format==="date-time")){var f=schemaFormProvider.stdFormObj(name,schema,options);f.key=options.path;f.type="date";options.lookup[sfPathProvider.stringify(options.path)]=f;return f}}}function getOptionsHandler(form,evalExpr){if(form.optionData){return evalExpr(form.optionData)}if(form.selectOptions){return form.selectOptions}return[]}function sfOptionsProcessor(data){var enumTitleMap=[];if(data.titleMap){return data.titleMap}else if(data.enum&&data.enum.length){for(i=0;i= modelArray.length\" class=\"md-icon-button\" aria-label=\"More\" style=\"position: relative; z-index: 20;\">close
{{ form.add || \'Add\'}}
"); $templateCache.put("decorators/material/autocomplete.html","
{{item.name}}No matches found
"); $templateCache.put("decorators/material/card-content.html",""); -$templateCache.put("decorators/material/card.html","{{ form.title }}"); +$templateCache.put("decorators/material/card.html","{{ form.title }}"); $templateCache.put("decorators/material/checkbox.html","
{{::form.title}}
"); $templateCache.put("decorators/material/checkboxes.html","
{{::form.titleMap[$index].name}}
"); $templateCache.put("decorators/material/chips.html","
{{$chip}}
"); $templateCache.put("decorators/material/date.html","
"); -$templateCache.put("decorators/material/default.html","
{{form.mdIcon}}
"); +$templateCache.put("decorators/material/default.html","{{form.mdIcon}}"); $templateCache.put("decorators/material/fieldset-trcl.html","
{{ form.title }}
"); $templateCache.put("decorators/material/fieldset.html","
{{ form.title }}
"); $templateCache.put("decorators/material/help.html","
"); $templateCache.put("decorators/material/radio-buttons.html","
"); $templateCache.put("decorators/material/radios-inline.html","
"); -$templateCache.put("decorators/material/radios.html","
"); +$templateCache.put("decorators/material/radios.html","
"); $templateCache.put("decorators/material/section.html",""); $templateCache.put("decorators/material/select.html","{{::filtered.name}}{{::opt.name}}
"); $templateCache.put("decorators/material/slider.html",""); @@ -23,7 +23,7 @@ $templateCache.put("decorators/material/switch.html","
"); $templateCache.put("decorators/material/tabs.html","
"); $templateCache.put("decorators/material/textarea.html"," ");}]); -angular.module("schemaForm").run(["$templateCache",function(e){e.put("decorators/material/actions-trcl.html",'
'),e.put("decorators/material/actions.html",'
'),e.put("decorators/material/array.html",'
close
{{ form.add || \'Add\'}}
'),e.put("decorators/material/autocomplete.html",'
{{item.name}}No matches found
'),e.put("decorators/material/card-content.html",''),e.put("decorators/material/card.html",'{{ form.title }}'),e.put("decorators/material/checkbox.html",'
{{::form.title}}
'),e.put("decorators/material/checkboxes.html",'
{{::form.titleMap[$index].name}}
'),e.put("decorators/material/chips.html",'
{{$chip}}
'),e.put("decorators/material/date.html",'
'),e.put("decorators/material/default.html",'
{{form.mdIcon}}
'),e.put("decorators/material/fieldset-trcl.html",'
{{ form.title }}
'),e.put("decorators/material/fieldset.html",'
{{ form.title }}
'),e.put("decorators/material/help.html",'
'),e.put("decorators/material/radio-buttons.html",'
'),e.put("decorators/material/radios-inline.html",'
'),e.put("decorators/material/radios.html",'
'),e.put("decorators/material/section.html",''),e.put("decorators/material/select.html",'{{::filtered.name}}{{::opt.name}}
'),e.put("decorators/material/slider.html",''),e.put("decorators/material/submit.html",'
{{::form.tip}}{{::form.title}}
'),e.put("decorators/material/switch.html",'{{::form.title}}'),e.put("decorators/material/tabarray.html",''),e.put("decorators/material/tabs.html",'
'),e.put("decorators/material/textarea.html",' ')}]); +angular.module("schemaForm").run(["$templateCache",function(e){e.put("decorators/material/actions-trcl.html",'
'),e.put("decorators/material/actions.html",'
'),e.put("decorators/material/array.html",'
close
{{ form.add || \'Add\'}}
'),e.put("decorators/material/autocomplete.html",'
{{item.name}}No matches found
'),e.put("decorators/material/card-content.html",''),e.put("decorators/material/card.html",'{{ form.title }}'),e.put("decorators/material/checkbox.html",'
{{::form.title}}
'),e.put("decorators/material/checkboxes.html",'
{{::form.titleMap[$index].name}}
'),e.put("decorators/material/chips.html",'
{{$chip}}
'),e.put("decorators/material/date.html",'
'),e.put("decorators/material/default.html",'{{form.mdIcon}}'),e.put("decorators/material/fieldset-trcl.html",'
{{ form.title }}
'),e.put("decorators/material/fieldset.html",'
{{ form.title }}
'),e.put("decorators/material/help.html",'
'),e.put("decorators/material/radio-buttons.html",'
'),e.put("decorators/material/radios-inline.html",'
'),e.put("decorators/material/radios.html",'
'),e.put("decorators/material/section.html",''),e.put("decorators/material/select.html",'{{::filtered.name}}{{::opt.name}}
'),e.put("decorators/material/slider.html",''),e.put("decorators/material/submit.html",'
{{::form.tip}}{{::form.title}}
'),e.put("decorators/material/switch.html",'{{::form.title}}'),e.put("decorators/material/tabarray.html",''),e.put("decorators/material/tabs.html",'
'),e.put("decorators/material/textarea.html",' ')}]); angular.module('schemaForm').directive('sfMaterialClass', ["$compile", "$timeout", function($compile, $timeout) { return { restrict : 'A', @@ -78,7 +78,6 @@ angular.module('schemaForm').directive('sfMaterialClass', ["$compile", "$timeout }; }); - materialDecoratorConfig.$inject = [ 'schemaFormProvider', 'schemaFormDecoratorsProvider', 'sfBuilderProvider', 'sfPathProvider', '$injector' ]; @@ -107,13 +106,15 @@ angular.module('schemaForm').directive('sfMaterialClass', ["$compile", "$timeout var sfFieldMaterial = function(args) { + sfField(args); var field = args.fieldFrag.querySelector('input, textarea, md-select'); if ( args.form.required && field ) { field.setAttribute('ng-required', 'form.required'); } - } + + }; var core = [ sfFieldMaterial, ngModel, ngModelOptions, condition, sfLayout ]; var defaults = core.concat(sfMessages); @@ -245,7 +246,6 @@ angular.module('schemaForm').directive('sfMaterialClass', ["$compile", "$timeout var mdSelectFrag = args.fieldFrag.querySelector('md-select'); var enumTitleMap = []; var i; - var mdSelectFrag; args.form.selectOptions = []; args.form.getOptions = getOptionsHandler; diff --git a/material-decorator.min.js b/material-decorator.min.js index 2b50c8b..4b29b22 100644 --- a/material-decorator.min.js +++ b/material-decorator.min.js @@ -1,2 +1,2 @@ -angular.module("schemaForm").run(["$templateCache",function(e){e.put("decorators/material/actions-trcl.html",'
'),e.put("decorators/material/actions.html",'
'),e.put("decorators/material/array.html",'
close
{{ form.add || \'Add\'}}
'),e.put("decorators/material/autocomplete.html",'
{{item.name}}No matches found
'),e.put("decorators/material/card-content.html",''),e.put("decorators/material/card.html",'{{ form.title }}'),e.put("decorators/material/checkbox.html",'
{{::form.title}}
'),e.put("decorators/material/checkboxes.html",'
{{::form.titleMap[$index].name}}
'),e.put("decorators/material/chips.html",'
{{$chip}}
'),e.put("decorators/material/date.html",'
'),e.put("decorators/material/default.html",'
{{form.mdIcon}}
'),e.put("decorators/material/fieldset-trcl.html",'
{{ form.title }}
'),e.put("decorators/material/fieldset.html",'
{{ form.title }}
'),e.put("decorators/material/help.html",'
'),e.put("decorators/material/radio-buttons.html",'
'),e.put("decorators/material/radios-inline.html",'
'),e.put("decorators/material/radios.html",'
'),e.put("decorators/material/section.html",''),e.put("decorators/material/select.html",'{{::filtered.name}}{{::opt.name}}
'),e.put("decorators/material/slider.html",''),e.put("decorators/material/submit.html",'
{{::form.tip}}{{::form.title}}
'),e.put("decorators/material/switch.html",'{{::form.title}}'),e.put("decorators/material/tabarray.html",''),e.put("decorators/material/tabs.html",'
'),e.put("decorators/material/textarea.html",' ')}]),angular.module("schemaForm").run(["$templateCache",function(e){e.put("decorators/material/actions-trcl.html",'
'),e.put("decorators/material/actions.html",'
'),e.put("decorators/material/array.html",'
close
{{ form.add || \'Add\'}}
'),e.put("decorators/material/autocomplete.html",'
{{item.name}}No matches found
'),e.put("decorators/material/card-content.html",''),e.put("decorators/material/card.html",'{{ form.title }}'),e.put("decorators/material/checkbox.html",'
{{::form.title}}
'),e.put("decorators/material/checkboxes.html",'
{{::form.titleMap[$index].name}}
'),e.put("decorators/material/chips.html",'
{{$chip}}
'),e.put("decorators/material/date.html",'
'),e.put("decorators/material/default.html",'
{{form.mdIcon}}
'),e.put("decorators/material/fieldset-trcl.html",'
{{ form.title }}
'),e.put("decorators/material/fieldset.html",'
{{ form.title }}
'),e.put("decorators/material/help.html",'
'),e.put("decorators/material/radio-buttons.html",'
'),e.put("decorators/material/radios-inline.html",'
'),e.put("decorators/material/radios.html",'
'),e.put("decorators/material/section.html",''),e.put("decorators/material/select.html",'{{::filtered.name}}{{::opt.name}}
'),e.put("decorators/material/slider.html",''),e.put("decorators/material/submit.html",'
{{::form.tip}}{{::form.title}}
'),e.put("decorators/material/switch.html",'{{::form.title}}'),e.put("decorators/material/tabarray.html",''),e.put("decorators/material/tabs.html",'
'),e.put("decorators/material/textarea.html",' ')}]),angular.module("schemaForm").directive("sfMaterialClass",["$compile","$timeout",function(e,a){return{restrict:"A",scope:!1,link:function(e,t,r,l){function s(e,a){return e[a]}var o;try{o=e.form.key.reduce(s,e.model)}catch(m){o=void 0}a(function(){null!==o&&"undefined"!=typeof o&&o!==!1&&""!==o&&t.addClass(r.sfMaterialClass)},100)}}}]),function(e,a){"use strict";function t(e,t,s,o,m){function i(e){var a=e.fieldFrag.querySelector("[sf-layout]");e.form.grid&&Object.getOwnPropertyNames(e.form.grid).forEach(function(t,r,l){a.setAttribute(t,e.form.grid[t])})}function d(){var e='
',a=document.createElement("div");return a.innerHTML=e,a.firstChild}function n(e){var a=e.fieldFrag.querySelector("[sf-messages]");if(a&&S){var t=S.cloneNode(!0);a.appendChild(t)}}function c(e){var a=e.fieldFrag.querySelector("textarea"),t=e.form.maxlength||!1;a&&t&&a.setAttribute("md-maxlength",t)}function f(e){var t=e.fieldFrag.querySelector("md-autocomplete"),r=e.form.minLength!==a?e.form.minLength:1,l=e.form.maxLength||!1,s=e.form.title||e.form.placeholder||e.form.key.slice(-1)[0];t&&(e.form.onChange&&(t.setAttribute("md-selected-item-change","onChangeFn()"),t.setAttribute("md-search-text-change","onChangeFn(searchText)")),t.setAttribute("md-min-length",r),l&&t.setAttribute("md-max-length",l),s&&t.setAttribute("md-floating-label",s),e.form.schema.requireMatch&&t.setAttribute("md-require-match",!0))}function h(e){var a=e.fieldFrag.querySelector("md-switch");e.form.schema.titleMap&&(a.setAttribute("ng-true-value",e.form.schema.titleMap["true"]),a.setAttribute("ng-false-value",e.form.schema.titleMap["false"]))}function u(e){var a,t,t=e.fieldFrag.querySelector("md-select");if(e.form.selectOptions=[],e.form.getOptions=r,e.form.schema.links&&"object"==typeof e.form.schema.links){var s,o=/({)([^}]*)(})/gm;for(a=0;a0){var a=e.fieldFrag.querySelector("md-tabs");e.form.tabs.forEach(function(t,r){var l=document.createElement("md-tab");l.setAttribute("label","{{"+e.path+".tabs["+r+"].title}}");var s=document.createElement("md-tab-body"),o=e.build(t.items,e.path+".tabs["+r+"].items",e.state);s.appendChild(o),l.appendChild(s),a.appendChild(l)})}}function b(a,t,r){if("string"===t.type&&("date"===t.format||"date-time"===t.format)){var l=e.stdFormObj(a,t,r);return l.key=r.path,l.type="date",r.lookup[o.stringify(r.path)]=l,l}}function y(a,t,r){if("object"===t.type&&("date"===t.format||"date-time"===t.format)){var l=e.stdFormObj(a,t,r);return l.key=r.path,l.type="date",r.lookup[o.stringify(r.path)]=l,l}}var v="decorators/material/",x=s.builders.simpleTransclusion,$=s.builders.transclusion,k=s.builders.ngModelOptions,C=s.builders.ngModel,w=s.builders.sfField,T=s.builders.condition,A=s.builders.array,E=s.builders.numeric,i=i,S=d(),M=n,F=u,K=f,q=h,O=p,j=g,H=c,I=function(e){w(e);var a=e.fieldFrag.querySelector("input, textarea, md-select");e.form.required&&a&&a.setAttribute("ng-required","form.required")},D=[I,C,k,T,i],P=D.concat(M),V=D.concat(A);e.defaults.string.unshift(b),e.defaults.object.unshift(y),t.defineDecorator("materialDecorator",{actions:{template:v+"actions.html",builder:[w,x,T]},array:{template:v+"array.html",builder:V},autocomplete:{template:v+"autocomplete.html",builder:P.concat(K)},"boolean":{template:v+"checkbox.html",builder:P},button:{template:v+"submit.html",builder:P},card:{template:v+"card.html",builder:[w,$,T]},checkbox:{template:v+"checkbox.html",builder:P},checkboxes:{template:v+"checkboxes.html",builder:V},date:{template:v+"date.html",builder:P.concat(O)},"default":{template:v+"default.html",builder:P},fieldset:{template:v+"fieldset.html",builder:[w,$,T]},help:{template:v+"help.html",builder:P},number:{template:v+"default.html",builder:P.concat(E)},password:{template:v+"default.html",builder:P},radios:{template:v+"radios.html",builder:P},"radios-inline":{template:v+"radios-inline.html",builder:P},radiobuttons:{template:v+"radio-buttons.html",builder:P},section:{template:v+"section.html",builder:[w,x,T,i]},select:{template:v+"select.html",builder:P.concat(F)},submit:{template:v+"submit.html",builder:P},tabs:{template:v+"tabs.html",builder:[w,j,T]},tabarray:{template:v+"tabarray.html",builder:V},textarea:{template:v+"textarea.html",builder:P.concat(H)},"switch":{template:v+"switch.html",builder:P.concat(q)}});var N=/^[0-9]{4,}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\.[0-9]+|)(?:[+-][0-9]{2}:?(?:[0-9]{2}|)|Z)$/,B=/^(:?[A-Z][a-z]{2}\s){2}\d{1,2}\s\d{4}\s(:?\d{2}\:?){3}\s[A-Z]{3}\-\d{4}\s\([A-Z]{3}\)$/,L={date:function(e){return e&&"string"!=typeof e&&e.toISOString&&(e=e.toISOString()||""),N.test(e)||B.test(e)?null:"A valid date expected"}};tv4.addFormat("date",L.date)}function r(e,a){return e.optionData?a(e.optionData):e.selectOptions?e.selectOptions:[]}function l(e){var a=[];if(e.titleMap)return e.titleMap;if(e["enum"]&&e["enum"].length)for(i=0;i'),e.put("decorators/material/actions.html",'
'),e.put("decorators/material/array.html",'
close
{{ form.add || \'Add\'}}
'),e.put("decorators/material/autocomplete.html",'
{{item.name}}No matches found
'),e.put("decorators/material/card-content.html",''),e.put("decorators/material/card.html",'{{ form.title }}'),e.put("decorators/material/checkbox.html",'
{{::form.title}}
'),e.put("decorators/material/checkboxes.html",'
{{::form.titleMap[$index].name}}
'),e.put("decorators/material/chips.html",'
{{$chip}}
'),e.put("decorators/material/date.html",'
'),e.put("decorators/material/default.html",'{{form.mdIcon}}'),e.put("decorators/material/fieldset-trcl.html",'
{{ form.title }}
'),e.put("decorators/material/fieldset.html",'
{{ form.title }}
'),e.put("decorators/material/help.html",'
'),e.put("decorators/material/radio-buttons.html",'
'),e.put("decorators/material/radios-inline.html",'
'),e.put("decorators/material/radios.html",'
'),e.put("decorators/material/section.html",''),e.put("decorators/material/select.html",'{{::filtered.name}}{{::opt.name}}
'),e.put("decorators/material/slider.html",''),e.put("decorators/material/submit.html",'
{{::form.tip}}{{::form.title}}
'),e.put("decorators/material/switch.html",'{{::form.title}}'),e.put("decorators/material/tabarray.html",''),e.put("decorators/material/tabs.html",'
'),e.put("decorators/material/textarea.html",' ')}]),angular.module("schemaForm").run(["$templateCache",function(e){e.put("decorators/material/actions-trcl.html",'
'),e.put("decorators/material/actions.html",'
'),e.put("decorators/material/array.html",'
close
{{ form.add || \'Add\'}}
'),e.put("decorators/material/autocomplete.html",'
{{item.name}}No matches found
'),e.put("decorators/material/card-content.html",''),e.put("decorators/material/card.html",'{{ form.title }}'),e.put("decorators/material/checkbox.html",'
{{::form.title}}
'),e.put("decorators/material/checkboxes.html",'
{{::form.titleMap[$index].name}}
'),e.put("decorators/material/chips.html",'
{{$chip}}
'),e.put("decorators/material/date.html",'
'),e.put("decorators/material/default.html",'{{form.mdIcon}}'),e.put("decorators/material/fieldset-trcl.html",'
{{ form.title }}
'),e.put("decorators/material/fieldset.html",'
{{ form.title }}
'),e.put("decorators/material/help.html",'
'),e.put("decorators/material/radio-buttons.html",'
'),e.put("decorators/material/radios-inline.html",'
'),e.put("decorators/material/radios.html",'
'),e.put("decorators/material/section.html",''),e.put("decorators/material/select.html",'{{::filtered.name}}{{::opt.name}}
'),e.put("decorators/material/slider.html",''),e.put("decorators/material/submit.html",'
{{::form.tip}}{{::form.title}}
'),e.put("decorators/material/switch.html",'{{::form.title}}'),e.put("decorators/material/tabarray.html",''),e.put("decorators/material/tabs.html",'
'),e.put("decorators/material/textarea.html",' ')}]),angular.module("schemaForm").directive("sfMaterialClass",["$compile","$timeout",function(e,a){return{restrict:"A",scope:!1,link:function(e,t,r,l){function s(e,a){return e[a]}var o;try{o=e.form.key.reduce(s,e.model)}catch(m){o=void 0}a(function(){null!==o&&"undefined"!=typeof o&&o!==!1&&""!==o&&t.addClass(r.sfMaterialClass)},100)}}}]),function(e,a){"use strict";function t(e,t,s,o,m){function i(e){var a=e.fieldFrag.querySelector("[sf-layout]");e.form.grid&&Object.getOwnPropertyNames(e.form.grid).forEach(function(t,r,l){a.setAttribute(t,e.form.grid[t])})}function d(){var e='
',a=document.createElement("div");return a.innerHTML=e,a.firstChild}function n(e){var a=e.fieldFrag.querySelector("[sf-messages]");if(a&&S){var t=S.cloneNode(!0);a.appendChild(t)}}function c(e){var a=e.fieldFrag.querySelector("textarea"),t=e.form.maxlength||!1;a&&t&&a.setAttribute("md-maxlength",t)}function f(e){var t=e.fieldFrag.querySelector("md-autocomplete"),r=e.form.minLength!==a?e.form.minLength:1,l=e.form.maxLength||!1,s=e.form.title||e.form.placeholder||e.form.key.slice(-1)[0];t&&(e.form.onChange&&(t.setAttribute("md-selected-item-change","onChangeFn()"),t.setAttribute("md-search-text-change","onChangeFn(searchText)")),t.setAttribute("md-min-length",r),l&&t.setAttribute("md-max-length",l),s&&t.setAttribute("md-floating-label",s),e.form.schema.requireMatch&&t.setAttribute("md-require-match",!0))}function h(e){var a=e.fieldFrag.querySelector("md-switch");e.form.schema.titleMap&&(a.setAttribute("ng-true-value",e.form.schema.titleMap["true"]),a.setAttribute("ng-false-value",e.form.schema.titleMap["false"]))}function u(e){var a,t=e.fieldFrag.querySelector("md-select");if(e.form.selectOptions=[],e.form.getOptions=r,e.form.schema.links&&"object"==typeof e.form.schema.links){var s,o=/({)([^}]*)(})/gm;for(a=0;a0){var a=e.fieldFrag.querySelector("md-tabs");e.form.tabs.forEach(function(t,r){var l=document.createElement("md-tab");l.setAttribute("label","{{"+e.path+".tabs["+r+"].title}}"); +var s=document.createElement("md-tab-body"),o=e.build(t.items,e.path+".tabs["+r+"].items",e.state);s.appendChild(o),l.appendChild(s),a.appendChild(l)})}}function b(a,t,r){if("string"===t.type&&("date"===t.format||"date-time"===t.format)){var l=e.stdFormObj(a,t,r);return l.key=r.path,l.type="date",r.lookup[o.stringify(r.path)]=l,l}}function y(a,t,r){if("object"===t.type&&("date"===t.format||"date-time"===t.format)){var l=e.stdFormObj(a,t,r);return l.key=r.path,l.type="date",r.lookup[o.stringify(r.path)]=l,l}}var v="decorators/material/",x=s.builders.simpleTransclusion,$=s.builders.transclusion,k=s.builders.ngModelOptions,C=s.builders.ngModel,w=s.builders.sfField,T=s.builders.condition,A=s.builders.array,E=s.builders.numeric,i=i,S=d(),M=n,F=u,K=f,q=h,O=p,j=g,H=c,I=function(e){w(e);var a=e.fieldFrag.querySelector("input, textarea, md-select");e.form.required&&a&&a.setAttribute("ng-required","form.required")},D=[I,C,k,T,i],P=D.concat(M),V=D.concat(A);e.defaults.string.unshift(b),e.defaults.object.unshift(y),t.defineDecorator("materialDecorator",{actions:{template:v+"actions.html",builder:[w,x,T]},array:{template:v+"array.html",builder:V},autocomplete:{template:v+"autocomplete.html",builder:P.concat(K)},"boolean":{template:v+"checkbox.html",builder:P},button:{template:v+"submit.html",builder:P},card:{template:v+"card.html",builder:[w,$,T]},checkbox:{template:v+"checkbox.html",builder:P},checkboxes:{template:v+"checkboxes.html",builder:V},date:{template:v+"date.html",builder:P.concat(O)},"default":{template:v+"default.html",builder:P},fieldset:{template:v+"fieldset.html",builder:[w,$,T]},help:{template:v+"help.html",builder:P},number:{template:v+"default.html",builder:P.concat(E)},password:{template:v+"default.html",builder:P},radios:{template:v+"radios.html",builder:P},"radios-inline":{template:v+"radios-inline.html",builder:P},radiobuttons:{template:v+"radio-buttons.html",builder:P},section:{template:v+"section.html",builder:[w,x,T,i]},select:{template:v+"select.html",builder:P.concat(F)},submit:{template:v+"submit.html",builder:P},tabs:{template:v+"tabs.html",builder:[w,j,T]},tabarray:{template:v+"tabarray.html",builder:V},textarea:{template:v+"textarea.html",builder:P.concat(H)},"switch":{template:v+"switch.html",builder:P.concat(q)}});var N=/^[0-9]{4,}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\.[0-9]+|)(?:[+-][0-9]{2}:?(?:[0-9]{2}|)|Z)$/,B=/^(:?[A-Z][a-z]{2}\s){2}\d{1,2}\s\d{4}\s(:?\d{2}\:?){3}\s[A-Z]{3}\-\d{4}\s\([A-Z]{3}\)$/,L={date:function(e){return e&&"string"!=typeof e&&e.toISOString&&(e=e.toISOString()||""),N.test(e)||B.test(e)?null:"A valid date expected"}};tv4.addFormat("date",L.date)}function r(e,a){return e.optionData?a(e.optionData):e.selectOptions?e.selectOptions:[]}function l(e){var a=[];if(e.titleMap)return e.titleMap;if(e["enum"]&&e["enum"].length)for(i=0;i"); $templateCache.put("decorators/material/actions.html","
"); $templateCache.put("decorators/material/array.html","
= modelArray.length\" class=\"md-icon-button\" aria-label=\"More\" style=\"position: relative; z-index: 20;\">close
{{ form.add || \'Add\'}}
"); -$templateCache.put("decorators/material/autocomplete.html","
{{item.name}}No matches found
"); +$templateCache.put("decorators/material/autocomplete.html","
{{item.name}}No matches found
"); $templateCache.put("decorators/material/card-content.html",""); -$templateCache.put("decorators/material/card.html","{{ form.title }}"); +$templateCache.put("decorators/material/card.html","{{ form.title }}"); $templateCache.put("decorators/material/checkbox.html","
{{::form.title}}
"); $templateCache.put("decorators/material/checkboxes.html","
{{::form.titleMap[$index].name}}
"); $templateCache.put("decorators/material/chips.html","
{{$chip}}
"); -$templateCache.put("decorators/material/date.html","
"); -$templateCache.put("decorators/material/default.html","
{{form.mdIcon}}
"); +$templateCache.put("decorators/material/date.html",""); +$templateCache.put("decorators/material/default.html"," "); $templateCache.put("decorators/material/fieldset-trcl.html","
{{ form.title }}
"); $templateCache.put("decorators/material/fieldset.html","
{{ form.title }}
"); $templateCache.put("decorators/material/help.html","
"); $templateCache.put("decorators/material/radio-buttons.html","
"); -$templateCache.put("decorators/material/radios-inline.html","
"); -$templateCache.put("decorators/material/radios.html","
"); +$templateCache.put("decorators/material/radios-inline.html","
"); +$templateCache.put("decorators/material/radios.html","
"); $templateCache.put("decorators/material/section.html",""); $templateCache.put("decorators/material/select.html","{{::filtered.name}}{{::opt.name}}
"); $templateCache.put("decorators/material/slider.html",""); -$templateCache.put("decorators/material/submit.html","
{{::form.tip}}{{::form.title}}
"); +$templateCache.put("decorators/material/submit.html","
{{::form.tip}}{{::form.title}}
"); $templateCache.put("decorators/material/switch.html","{{::form.title}}"); $templateCache.put("decorators/material/tabarray.html",""); $templateCache.put("decorators/material/tabs.html","
"); -$templateCache.put("decorators/material/textarea.html"," ");}]); \ No newline at end of file +$templateCache.put("decorators/material/textarea.html"," ");}]); \ No newline at end of file diff --git a/src/angular-schema-form-material-templates.min.js b/src/angular-schema-form-material-templates.min.js index 6c26ee4..bf8bffd 100644 --- a/src/angular-schema-form-material-templates.min.js +++ b/src/angular-schema-form-material-templates.min.js @@ -1 +1 @@ -angular.module("schemaForm").run(["$templateCache",function(e){e.put("decorators/material/actions-trcl.html",'
'),e.put("decorators/material/actions.html",'
'),e.put("decorators/material/array.html",'
close
{{ form.add || \'Add\'}}
'),e.put("decorators/material/autocomplete.html",'
{{item.name}}No matches found
'),e.put("decorators/material/card-content.html",''),e.put("decorators/material/card.html",'{{ form.title }}'),e.put("decorators/material/checkbox.html",'
{{::form.title}}
'),e.put("decorators/material/checkboxes.html",'
{{::form.titleMap[$index].name}}
'),e.put("decorators/material/chips.html",'
{{$chip}}
'),e.put("decorators/material/date.html",'
'),e.put("decorators/material/default.html",'
{{form.mdIcon}}
'),e.put("decorators/material/fieldset-trcl.html",'
{{ form.title }}
'),e.put("decorators/material/fieldset.html",'
{{ form.title }}
'),e.put("decorators/material/help.html",'
'),e.put("decorators/material/radio-buttons.html",'
'),e.put("decorators/material/radios-inline.html",'
'),e.put("decorators/material/radios.html",'
'),e.put("decorators/material/section.html",''),e.put("decorators/material/select.html",'{{::filtered.name}}{{::opt.name}}
'),e.put("decorators/material/slider.html",''),e.put("decorators/material/submit.html",'
{{::form.tip}}{{::form.title}}
'),e.put("decorators/material/switch.html",'{{::form.title}}'),e.put("decorators/material/tabarray.html",''),e.put("decorators/material/tabs.html",'
'),e.put("decorators/material/textarea.html",' ')}]); \ No newline at end of file +angular.module("schemaForm").run(["$templateCache",function(e){e.put("decorators/material/actions-trcl.html",'
'),e.put("decorators/material/actions.html",'
'),e.put("decorators/material/array.html",'
close
{{ form.add || \'Add\'}}
'),e.put("decorators/material/autocomplete.html",'
{{item.name}}No matches found
'),e.put("decorators/material/card-content.html",''),e.put("decorators/material/card.html",'{{ form.title }}'),e.put("decorators/material/checkbox.html",'
{{::form.title}}
'),e.put("decorators/material/checkboxes.html",'
{{::form.titleMap[$index].name}}
'),e.put("decorators/material/chips.html",'
{{$chip}}
'),e.put("decorators/material/date.html",''),e.put("decorators/material/default.html",' '),e.put("decorators/material/fieldset-trcl.html",'
{{ form.title }}
'),e.put("decorators/material/fieldset.html",'
{{ form.title }}
'),e.put("decorators/material/help.html",'
'),e.put("decorators/material/radio-buttons.html",'
'),e.put("decorators/material/radios-inline.html",'
'),e.put("decorators/material/radios.html",'
'),e.put("decorators/material/section.html",''),e.put("decorators/material/select.html",'{{::filtered.name}}{{::opt.name}}
'),e.put("decorators/material/slider.html",''),e.put("decorators/material/submit.html",'
{{::form.tip}}{{::form.title}}
'),e.put("decorators/material/switch.html",'{{::form.title}}'),e.put("decorators/material/tabarray.html",''),e.put("decorators/material/tabs.html",'
'),e.put("decorators/material/textarea.html",' ')}]); \ No newline at end of file diff --git a/src/autocomplete.html b/src/autocomplete.html index 663abbb..fb02568 100644 --- a/src/autocomplete.html +++ b/src/autocomplete.html @@ -1,6 +1,6 @@
+ diff --git a/src/date.html b/src/date.html index c8c5539..f3f964c 100644 --- a/src/date.html +++ b/src/date.html @@ -1,16 +1,14 @@ -
- - - + + - - -
+ > + + diff --git a/src/default.html b/src/default.html index 7a45e18..412c765 100644 --- a/src/default.html +++ b/src/default.html @@ -1,26 +1,25 @@ -
+ - {{form.mdIcon}} - - + + + ng-attr-md-maxlength="{{form.maxlength}}" + ng-attr-maxlength="{{form.maxlength}}" + /> -
diff --git a/src/material-decorator.js b/src/material-decorator.js index 4f6c620..f2bfe17 100644 --- a/src/material-decorator.js +++ b/src/material-decorator.js @@ -27,7 +27,6 @@ }; }); - materialDecoratorConfig.$inject = [ 'schemaFormProvider', 'schemaFormDecoratorsProvider', 'sfBuilderProvider', 'sfPathProvider', '$injector' ]; @@ -56,13 +55,22 @@ var sfFieldMaterial = function(args) { + sfField(args); - var field = args.fieldFrag.querySelector('input, textarea, md-select'); + var container = args.fieldFrag.querySelector( 'md-input-container' ); + var field = args.fieldFrag.querySelector('input, textarea, md-select, button, md-button'); if ( args.form.required && field ) { field.setAttribute('ng-required', 'form.required'); } - } + + if ( args.form.mdIcon && container ) { + var icon = angular.element('{{form.mdIcon}}'); + + angular.element( container ).prepend( icon ); + } + + }; var core = [ sfFieldMaterial, ngModel, ngModelOptions, condition, sfLayout ]; var defaults = core.concat(sfMessages); @@ -194,7 +202,6 @@ var mdSelectFrag = args.fieldFrag.querySelector('md-select'); var enumTitleMap = []; var i; - var mdSelectFrag; args.form.selectOptions = []; args.form.getOptions = getOptionsHandler; diff --git a/src/radios-inline.html b/src/radios-inline.html index a3bbdb1..19a6785 100644 --- a/src/radios-inline.html +++ b/src/radios-inline.html @@ -1,5 +1,5 @@
+ ng-class="{'has-error': hasError(), 'has-success': hasSuccess()}" sf-layout> + diff --git a/src/submit.html b/src/submit.html index 19d6930..697f739 100644 --- a/src/submit.html +++ b/src/submit.html @@ -1,4 +1,4 @@ -
+
{{::form.tip}} diff --git a/src/textarea.html b/src/textarea.html index c5fbd00..5c077a1 100644 --- a/src/textarea.html +++ b/src/textarea.html @@ -1,4 +1,4 @@ - + ')}]); \ No newline at end of file +angular.module("schemaForm").run(["$templateCache",function(e){e.put("decorators/material/actions-trcl.html",'
'),e.put("decorators/material/actions.html",'
'),e.put("decorators/material/array.html",'
close
{{ form.add || \'Add\'}}
'),e.put("decorators/material/autocomplete.html",'
{{item.name}}No matches found
'),e.put("decorators/material/card-content.html",''),e.put("decorators/material/card.html",'{{ form.title }}'),e.put("decorators/material/checkbox.html",'
{{::form.title}}
'),e.put("decorators/material/checkboxes.html",'
{{::form.titleMap[$index].name}}
'),e.put("decorators/material/chips.html",'
{{$chip}}
'),e.put("decorators/material/date.html",''),e.put("decorators/material/default.html",' '),e.put("decorators/material/fieldset-trcl.html",'
{{ form.title }}
'),e.put("decorators/material/fieldset.html",'
{{ form.title }}
'),e.put("decorators/material/help.html",'
'),e.put("decorators/material/radio-buttons.html",'
'),e.put("decorators/material/radios-inline.html",'
'),e.put("decorators/material/radios.html",'
'),e.put("decorators/material/section.html",''),e.put("decorators/material/select.html",'{{::filtered.name}}{{::opt.name}}
'),e.put("decorators/material/slider.html",''),e.put("decorators/material/submit.html",'
{{::form.tip}}{{::form.title}}
'),e.put("decorators/material/switch.html",'{{::form.title}}'),e.put("decorators/material/tabarray.html",''),e.put("decorators/material/tabs.html",'
'),e.put("decorators/material/textarea.html",' ')}]); \ No newline at end of file diff --git a/src/material-decorator.js b/src/material-decorator.js index f2bfe17..89be834 100644 --- a/src/material-decorator.js +++ b/src/material-decorator.js @@ -50,12 +50,13 @@ var mdAutocomplete = mdAutocompleteBuilder; var mdSwitch = mdSwitchBuilder; var mdDatepicker = mdDatepickerBuilder; + var mdTimepicker = mdTimepickerBuilder; var mdTabs = mdTabsBuilder; var textarea = textareaBuilder; var sfFieldMaterial = function(args) { - + sfField(args); var container = args.fieldFrag.querySelector( 'md-input-container' ); var field = args.fieldFrag.querySelector('input, textarea, md-select, button, md-button'); @@ -63,10 +64,10 @@ if ( args.form.required && field ) { field.setAttribute('ng-required', 'form.required'); } - + if ( args.form.mdIcon && container ) { var icon = angular.element('{{form.mdIcon}}'); - + angular.element( container ).prepend( icon ); } @@ -79,6 +80,9 @@ schemaFormProvider.defaults.string.unshift(dateDefault); schemaFormProvider.defaults.object.unshift(dateObjectDefault); + schemaFormProvider.defaults.string.unshift(timeDefault); + schemaFormProvider.defaults.object.unshift(timeObjectDefault); + decoratorsProvider.defineDecorator('materialDecorator', { actions: { template: base + 'actions.html', builder: [ sfField, simpleTransclusion, condition ] }, @@ -102,6 +106,7 @@ select: { template: base + 'select.html', builder: defaults.concat(sfOptions) }, submit: { template: base + 'submit.html', builder: defaults }, tabs: { template: base + 'tabs.html', builder: [ sfField, mdTabs, condition ] }, + time: { template: base + 'timepicker.html', builder: defaults.concat(mdTimepicker) }, tabarray: { template: base + 'tabarray.html', builder: arrays }, textarea: { template: base + 'textarea.html', builder: defaults.concat(textarea) }, switch: { template: base + 'switch.html', builder: defaults.concat(mdSwitch) } @@ -251,6 +256,29 @@ } }; + function mdTimepickerBuilder(args) { + console.log( "Time Picker", args ); + var mdDatepickerFrag = args.fieldFrag.querySelector('md-datepicker'); + if (mdDatepickerFrag) { + if (args.form.onChange) { + mdDatepickerFrag.setAttribute('ng-change', 'args.form.onChange(searchText)'); + } + // mdDatepickerFrag.setAttribute('md-items', 'item in $filter(''autocomplete'')(searchText);'); + var minDate = args.form.minimum || false; + var maxDate = args.form.maximum || false; + if (minDate) { + mdDatepickerFrag.setAttribute('md-min-date', minDate); + } + if (maxDate) { + mdDatepickerFrag.setAttribute('md-max-date', maxDate); + } + + if ( args.form.mdHideIcons ) { + mdDatepickerFrag.setAttribute('md-hide-icons', args.form.mdHideIcons ); + } + } + }; + function mdTabsBuilder(args) { if (args.form.tabs && args.form.tabs.length > 0) { var mdTabsFrag = args.fieldFrag.querySelector('md-tabs'); @@ -289,6 +317,28 @@ } }; + /** + * Material Timepicker + */ + function timeDefault(name, schema, options) { + if (schema.type === 'string' && schema.format === 'time' ) { + var f = schemaFormProvider.stdFormObj(name, schema, options); + f.key = options.path; + f.type = 'time'; + options.lookup[sfPathProvider.stringify(options.path)] = f; + return f; + } + }; + function timeObjectDefault(name, schema, options) { + if (schema.type === 'object' && schema.format === 'time' ) { + var f = schemaFormProvider.stdFormObj(name, schema, options); + f.key = options.path; + f.type = 'time'; + options.lookup[sfPathProvider.stringify(options.path)] = f; + return f; + } + }; + }; function getOptionsHandler(form, evalExpr) { diff --git a/src/select.html b/src/select.html index 3c4aa84..43374c6 100644 --- a/src/select.html +++ b/src/select.html @@ -3,7 +3,7 @@ ng-class="{'has-error': hasError(), 'has-success': hasSuccess(), 'has-feedback': form.feedback !== false}" sf-messages sf-layout> - + + + + +
From 0cf74988c57fe0197bbde4b27d7c48b4ebe22198 Mon Sep 17 00:00:00 2001 From: Brian Kelley Date: Tue, 31 Jul 2018 10:40:48 -0500 Subject: [PATCH 21/23] So... there's like two devs working on this stuff, so i should like, update it when i work on it. --- dist/angular-schema-form-material.js | 713 +- package-lock.json | 28572 ++++++++++++++++ package.json | 2 +- src/angular-schema-form-material-templates.js | 7 +- ...ular-schema-form-material-templates.min.js | 2 +- src/autocomplete.html | 2 +- src/date.html | 22 +- src/material-decorator.js | 838 +- src/select.html | 2 +- src/timepicker.html | 4 +- 10 files changed, 29418 insertions(+), 746 deletions(-) create mode 100644 package-lock.json diff --git a/dist/angular-schema-form-material.js b/dist/angular-schema-form-material.js index 454dc1f..8b14e36 100644 --- a/dist/angular-schema-form-material.js +++ b/dist/angular-schema-form-material.js @@ -2151,7 +2151,7 @@ return /******/ (function(modules) { // webpackBootstrap if (value === null) { value = undefined; } else { - if (typeof value.toISOString === 'function') { + if ( value && value.toISOString && typeof value.toISOString === 'function' ) { value = value.toISOString(); } } @@ -3720,6 +3720,7 @@ return /******/ (function(modules) { // webpackBootstrap }); ; + /***/ }, /* 2 */ /***/ function(module, exports) { @@ -3740,7 +3741,7 @@ return /******/ (function(modules) { // webpackBootstrap $templateCache.put("decorators/material/actions-trcl.html", "
"); $templateCache.put("decorators/material/actions.html", "
"); $templateCache.put("decorators/material/array.html", "
= modelArray.length\" class=\"md-icon-button\" aria-label=\"More\" style=\"position: relative; z-index: 20;\">close
{{ form.add || \'Add\'}}
"); - $templateCache.put("decorators/material/autocomplete.html", "
{{item.name}}No matches found
"); + $templateCache.put("decorators/material/autocomplete.html", "
{{item.name}}No matches found
"); $templateCache.put("decorators/material/card-content.html", ""); $templateCache.put("decorators/material/card.html", "{{ form.title }}"); $templateCache.put("decorators/material/checkbox.html", "
{{::form.title}}
"); @@ -3755,13 +3756,14 @@ return /******/ (function(modules) { // webpackBootstrap $templateCache.put("decorators/material/radios-inline.html", "
"); $templateCache.put("decorators/material/radios.html", "
"); $templateCache.put("decorators/material/section.html", ""); - $templateCache.put("decorators/material/select.html", "{{::filtered.name}}{{::opt.name}}
"); + $templateCache.put("decorators/material/select.html", "{{::filtered.name}}{{::opt.name}}
"); $templateCache.put("decorators/material/slider.html", ""); $templateCache.put("decorators/material/submit.html", "
{{::form.tip}}{{::form.title}}
"); $templateCache.put("decorators/material/switch.html", "{{::form.title}}"); $templateCache.put("decorators/material/tabarray.html", ""); $templateCache.put("decorators/material/tabs.html", "
"); $templateCache.put("decorators/material/textarea.html", " "); + $templateCache.put("decorators/material/timepicker.html", ""); }]); /***/ }, @@ -3821,351 +3823,422 @@ return /******/ (function(modules) { // webpackBootstrap /***/ function(module, exports) { (function (angular, undefined) { - 'use strict'; + 'use strict'; - angular.module('schemaForm').config(materialDecoratorConfig).directive('sfmExternalOptions', sfmExternalOptionsDirective).filter('sfCamelKey', sfCamelKeyFilter).directive('sfChangedAutoComplete', function () { - // Duplicate of sf-changed, but instead of adding a watcher, adds a function on the scope to fire the onchange. - return { - require: 'ngModel', - restrict: 'AC', - link: function (scope, element, attrs, ctrl) { - var form = scope.$eval(attrs.sfChangedAutoComplete); - //"form" is really guaranteed to be here since the decorator directive - //waits for it. But best be sure. - if (form && form.onChange) { - scope.onChangeFn = function () { - if (angular.isFunction(form.onChange)) { - form.onChange(ctrl.$modelValue, form); - } else { - scope.evalExpr(form.onChange, { 'modelValue': ctrl.$modelValue, form: form }); - } - }; - } - } - }; - }); - - materialDecoratorConfig.$inject = ['schemaFormProvider', 'schemaFormDecoratorsProvider', 'sfBuilderProvider', 'sfPathProvider', '$injector']; - - function materialDecoratorConfig(schemaFormProvider, decoratorsProvider, sfBuilderProvider, sfPathProvider, $injector) { - var base = 'decorators/material/'; - - var simpleTransclusion = sfBuilderProvider.builders.simpleTransclusion; - var transclusion = sfBuilderProvider.builders.transclusion; - var ngModelOptions = sfBuilderProvider.builders.ngModelOptions; - var ngModel = sfBuilderProvider.builders.ngModel; - var sfField = sfBuilderProvider.builders.sfField; - var condition = sfBuilderProvider.builders.condition; - var array = sfBuilderProvider.builders.array; - var numeric = sfBuilderProvider.builders.numeric; - - var sfLayout = sfLayout; - var sfMessagesNode = sfMessagesNodeHandler(); - var sfMessages = sfMessagesBuilder; - var sfOptions = sfOptionsBuilder; - var mdAutocomplete = mdAutocompleteBuilder; - var mdSwitch = mdSwitchBuilder; - var mdDatepicker = mdDatepickerBuilder; - var mdTabs = mdTabsBuilder; - var textarea = textareaBuilder; - - var sfFieldMaterial = function (args) { - - sfField(args); - var container = args.fieldFrag.querySelector('md-input-container'); - var field = args.fieldFrag.querySelector('input, textarea, md-select, button, md-button'); - - if (args.form.required && field) { - field.setAttribute('ng-required', 'form.required'); - } - - if (args.form.mdIcon && container) { - var icon = angular.element('{{form.mdIcon}}'); - - angular.element(container).prepend(icon); - } - }; + angular.module('schemaForm').config(materialDecoratorConfig).directive('sfmExternalOptions', sfmExternalOptionsDirective).filter('sfCamelKey', sfCamelKeyFilter).directive('sfChangedAutoComplete', function () { + // Duplicate of sf-changed, but instead of adding a watcher, adds a function on the scope to fire the onchange. + return { + require: 'ngModel', + restrict: 'AC', + link: function (scope, element, attrs, ctrl) { + var form = scope.$eval(attrs.sfChangedAutoComplete); + //"form" is really guaranteed to be here since the decorator directive + //waits for it. But best be sure. + if (form && form.onChange) { + scope.onChangeFn = function () { + if (angular.isFunction(form.onChange)) { + form.onChange(ctrl.$modelValue, form); + } else { + scope.evalExpr(form.onChange, { 'modelValue': ctrl.$modelValue, form: form }); + } + }; + } + } + }; + }); - var core = [sfFieldMaterial, ngModel, ngModelOptions, condition, sfLayout]; - var defaults = core.concat(sfMessages); - var arrays = core.concat(array); - - schemaFormProvider.defaults.string.unshift(dateDefault); - schemaFormProvider.defaults.object.unshift(dateObjectDefault); - - decoratorsProvider.defineDecorator('materialDecorator', { - actions: { template: base + 'actions.html', builder: [sfField, simpleTransclusion, condition] }, - array: { template: base + 'array.html', builder: arrays }, - autocomplete: { template: base + 'autocomplete.html', builder: defaults.concat(mdAutocomplete) }, - boolean: { template: base + 'checkbox.html', builder: defaults }, - button: { template: base + 'submit.html', builder: defaults }, - card: { template: base + 'card.html', builder: [sfField, transclusion, condition] }, - checkbox: { template: base + 'checkbox.html', builder: defaults }, - checkboxes: { template: base + 'checkboxes.html', builder: arrays }, - date: { template: base + 'date.html', builder: defaults.concat(mdDatepicker) }, - 'default': { template: base + 'default.html', builder: defaults }, - fieldset: { template: base + 'fieldset.html', builder: [sfField, transclusion, condition] }, - help: { template: base + 'help.html', builder: defaults }, - number: { template: base + 'default.html', builder: defaults.concat(numeric) }, - password: { template: base + 'default.html', builder: defaults }, - radios: { template: base + 'radios.html', builder: defaults }, - 'radios-inline': { template: base + 'radios-inline.html', builder: defaults }, - radiobuttons: { template: base + 'radio-buttons.html', builder: defaults }, - section: { template: base + 'section.html', builder: [sfField, simpleTransclusion, condition, sfLayout] }, - select: { template: base + 'select.html', builder: defaults.concat(sfOptions) }, - submit: { template: base + 'submit.html', builder: defaults }, - tabs: { template: base + 'tabs.html', builder: [sfField, mdTabs, condition] }, - tabarray: { template: base + 'tabarray.html', builder: arrays }, - textarea: { template: base + 'textarea.html', builder: defaults.concat(textarea) }, - switch: { template: base + 'switch.html', builder: defaults.concat(mdSwitch) } - }); - - // ISO Format - 2016-08-02T17:03:18.608Z - new Date().toISOString() - var dateFormat = /^[0-9]{4,}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\.[0-9]+|)(?:[+-][0-9]{2}:?(?:[0-9]{2}|)|Z)$/; - // Standard Format - Tue Aug 02 2016 12:03:59 GMT-0500 (CDT) - new Date().toString() - var mdDateFormat = /^(:?[A-Z][a-z]{2}\s){2}\d{1,2}\s\d{4}\s(:?\d{2}\:?){3}\s[A-Z]{3}\-\d{4}\s\([A-Z]{3}\)$/; - - var formats = { - date: function (value) { - if (value && typeof value !== 'string' && value.toISOString) { - value = value.toISOString() || ''; - } + materialDecoratorConfig.$inject = ['schemaFormProvider', 'schemaFormDecoratorsProvider', 'sfBuilderProvider', 'sfPathProvider', '$injector']; + + function materialDecoratorConfig(schemaFormProvider, decoratorsProvider, sfBuilderProvider, sfPathProvider, $injector) { + var base = 'decorators/material/'; + + var simpleTransclusion = sfBuilderProvider.builders.simpleTransclusion; + var transclusion = sfBuilderProvider.builders.transclusion; + var ngModelOptions = sfBuilderProvider.builders.ngModelOptions; + var ngModel = sfBuilderProvider.builders.ngModel; + var sfField = sfBuilderProvider.builders.sfField; + var condition = sfBuilderProvider.builders.condition; + var array = sfBuilderProvider.builders.array; + var numeric = sfBuilderProvider.builders.numeric; + + var sfLayout = sfLayout; + var sfMessagesNode = sfMessagesNodeHandler(); + var sfMessages = sfMessagesBuilder; + var sfOptions = sfOptionsBuilder; + var mdAutocomplete = mdAutocompleteBuilder; + var mdSwitch = mdSwitchBuilder; + var mdDatepicker = mdDatepickerBuilder; + var mdTimepicker = mdTimepickerBuilder; + var mdTabs = mdTabsBuilder; + var textarea = textareaBuilder; + + var sfFieldMaterial = function (args) { + + sfField(args); + var container = args.fieldFrag.querySelector('md-input-container'); + var field = args.fieldFrag.querySelector('input, textarea, md-select, button, md-button'); + + if (args.form.required && field) { + field.setAttribute('ng-required', 'form.required'); + } - if (dateFormat.test(value) || mdDateFormat.test(value)) { - return null; - } + if (args.form.mdIcon && container) { + var icon = angular.element('{{form.mdIcon}}'); - return 'A valid date expected'; - } - }; - tv4.addFormat('date', formats.date); + angular.element(container).prepend(icon); + } + }; - function sfLayout(args) { - var layoutDiv = args.fieldFrag.querySelector('[sf-layout]'); + var core = [sfFieldMaterial, ngModel, ngModelOptions, condition, sfLayout]; + var defaults = core.concat(sfMessages); + var arrays = core.concat(array); + + schemaFormProvider.defaults.string.unshift(dateDefault); + schemaFormProvider.defaults.object.unshift(dateObjectDefault); + + schemaFormProvider.defaults.string.unshift(timeDefault); + schemaFormProvider.defaults.object.unshift(timeObjectDefault); + + decoratorsProvider.defineDecorator('materialDecorator', { + actions: { template: base + 'actions.html', builder: [sfField, simpleTransclusion, condition] }, + array: { template: base + 'array.html', builder: arrays }, + autocomplete: { template: base + 'autocomplete.html', builder: defaults.concat(mdAutocomplete) }, + boolean: { template: base + 'checkbox.html', builder: defaults }, + button: { template: base + 'submit.html', builder: defaults }, + card: { template: base + 'card.html', builder: [sfField, transclusion, condition] }, + checkbox: { template: base + 'checkbox.html', builder: defaults }, + checkboxes: { template: base + 'checkboxes.html', builder: arrays }, + date: { template: base + 'date.html', builder: defaults.concat(mdDatepicker) }, + 'default': { template: base + 'default.html', builder: defaults }, + fieldset: { template: base + 'fieldset.html', builder: [sfField, transclusion, condition] }, + help: { template: base + 'help.html', builder: defaults }, + number: { template: base + 'default.html', builder: defaults.concat(numeric) }, + password: { template: base + 'default.html', builder: defaults }, + radios: { template: base + 'radios.html', builder: defaults }, + 'radios-inline': { template: base + 'radios-inline.html', builder: defaults }, + radiobuttons: { template: base + 'radio-buttons.html', builder: defaults }, + section: { template: base + 'section.html', builder: [sfField, simpleTransclusion, condition, sfLayout] }, + select: { template: base + 'select.html', builder: defaults.concat(sfOptions) }, + submit: { template: base + 'submit.html', builder: defaults }, + tabs: { template: base + 'tabs.html', builder: [sfField, mdTabs, condition] }, + time: { template: base + 'timepicker.html', builder: defaults.concat(mdTimepicker) }, + tabarray: { template: base + 'tabarray.html', builder: arrays }, + textarea: { template: base + 'textarea.html', builder: defaults.concat(textarea) }, + switch: { template: base + 'switch.html', builder: defaults.concat(mdSwitch) } + }); - if (args.form.grid) { - Object.getOwnPropertyNames(args.form.grid).forEach(function (property, idx, array) { - layoutDiv.setAttribute(property, args.form.grid[property]); - }); - }; - }; + // ISO Format - 2016-08-02T17:03:18.608Z - new Date().toISOString() + var dateFormat = /^[0-9]{4,}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\.[0-9]+|)(?:[+-][0-9]{2}:?(?:[0-9]{2}|)|Z)$/; + // Standard Format - Tue Aug 02 2016 12:03:59 GMT-0500 (CDT) - new Date().toString() + var mdDateFormat = /^(:?[A-Z][a-z]{2}\s){2}\d{1,2}\s\d{4}\s(:?\d{2}\:?){3}\s[A-Z]{3}\-\d{4}\s\([A-Z]{3}\)$/; - function sfMessagesNodeHandler() { - var html = '
' + '
'; - var div = document.createElement('div'); - div.innerHTML = html; - return div.firstChild; - }; + var formats = { + date: function (value) { + if (value && typeof value !== 'string' && value.toISOString) { + value = value.toISOString() || ''; + } - function sfMessagesBuilder(args) { - var messagesDiv = args.fieldFrag.querySelector('[sf-messages]'); - if (messagesDiv && sfMessagesNode) { - var child = sfMessagesNode.cloneNode(true); - messagesDiv.appendChild(child); - } - }; + if (dateFormat.test(value) || mdDateFormat.test(value)) { + return null; + } - function textareaBuilder(args) { - var textareaFrag = args.fieldFrag.querySelector('textarea'); - var maxLength = args.form.maxlength || false; - if (textareaFrag && maxLength) { - textareaFrag.setAttribute('md-maxlength', maxLength); - }; - }; + return 'A valid date expected'; + } + }; + tv4.addFormat('date', formats.date); - function mdAutocompleteBuilder(args) { - var mdAutocompleteFrag = args.fieldFrag.querySelector('md-autocomplete'); - - var minLength = args.form.minLength !== undefined ? args.form.minLength : 1; // Allow the user to pass "0" for min-length to use md-autocomplete as a dropdown with filter. - var maxLength = args.form.maxLength || false; - var title = args.form.title || args.form.placeholder || args.form.key.slice(-1)[0]; - if (mdAutocompleteFrag) { - if (args.form.onChange) { - mdAutocompleteFrag.setAttribute('md-selected-item-change', 'onChangeFn()'); - mdAutocompleteFrag.setAttribute('md-search-text-change', 'onChangeFn(searchText)'); - }; - - mdAutocompleteFrag.setAttribute('md-min-length', minLength); - if (maxLength) { - mdAutocompleteFrag.setAttribute('md-max-length', maxLength); - }; - - if (title) { - mdAutocompleteFrag.setAttribute('md-floating-label', title); - }; - - if (args.form.schema.requireMatch) { - mdAutocompleteFrag.setAttribute('md-require-match', true); - } - } - }; + function sfLayout(args) { + var layoutDiv = args.fieldFrag.querySelector('[sf-layout]'); - function mdSwitchBuilder(args) { - var mdSwitchFrag = args.fieldFrag.querySelector('md-switch'); - if (args.form.schema.titleMap) { - mdSwitchFrag.setAttribute('ng-true-value', args.form.schema.titleMap.true); - mdSwitchFrag.setAttribute('ng-false-value', args.form.schema.titleMap.false); - }; - }; + if (args.form.grid) { + Object.getOwnPropertyNames(args.form.grid).forEach(function (property, idx, array) { + layoutDiv.setAttribute(property, args.form.grid[property]); + }); + } + ; + }; - function sfOptionsBuilder(args) { - var mdSelectFrag = args.fieldFrag.querySelector('md-select'); - var enumTitleMap = []; - var i; - - args.form.selectOptions = []; - args.form.getOptions = getOptionsHandler; - - if (args.form.schema.links && typeof args.form.schema.links === 'object') { - var link; - var related = /({)([^}]*)(})/gm; - var source = /{{([^}]*)}}/gm; - var matched; - - for (i = 0; i < args.form.schema.links.length; i++) { - link = args.form.schema.links[i]; - if (link.rel === 'options') { - // TODO enable filter to allow processing results - // args.form.optionSource = link.href.replace(related, '$1$1 model.$2 | _externalOptionUri $3$3'); - args.form.optionSource = link.href.replace(related, '$1$1 model.$2 $3$3'); - }; - }; - - mdSelectFrag.setAttribute('sfm-external-options', args.form.optionSource); - } else { - args.form.selectOptions = sfOptionsProcessor(args.form); - }; - }; + function sfMessagesNodeHandler() { + var html = '
' + '
'; + var div = document.createElement('div'); + div.innerHTML = html; + return div.firstChild; + }; - function mdDatepickerBuilder(args) { - console.log("Date Picker", args); - var mdDatepickerFrag = args.fieldFrag.querySelector('md-datepicker'); - if (mdDatepickerFrag) { - if (args.form.onChange) { - mdDatepickerFrag.setAttribute('ng-change', 'args.form.onChange(searchText)'); - } - // mdDatepickerFrag.setAttribute('md-items', 'item in $filter(''autocomplete'')(searchText);'); - var minDate = args.form.minimum || false; - var maxDate = args.form.maximum || false; - if (minDate) { - mdDatepickerFrag.setAttribute('md-min-date', minDate); - } - if (maxDate) { - mdDatepickerFrag.setAttribute('md-max-date', maxDate); - } + function sfMessagesBuilder(args) { + var messagesDiv = args.fieldFrag.querySelector('[sf-messages]'); + if (messagesDiv && sfMessagesNode) { + var child = sfMessagesNode.cloneNode(true); + messagesDiv.appendChild(child); + } + }; - if (args.form.mdHideIcons) { - mdDatepickerFrag.setAttribute('md-hide-icons', args.form.mdHideIcons); - } - } - }; + function textareaBuilder(args) { + var textareaFrag = args.fieldFrag.querySelector('textarea'); + var maxLength = args.form.maxlength || false; + if (textareaFrag && maxLength) { + textareaFrag.setAttribute('md-maxlength', maxLength); + } + ; + }; - function mdTabsBuilder(args) { - if (args.form.tabs && args.form.tabs.length > 0) { - var mdTabsFrag = args.fieldFrag.querySelector('md-tabs'); - - args.form.tabs.forEach(function (tab, index) { - var mdTab = document.createElement('md-tab'); - mdTab.setAttribute('label', '{{' + args.path + '.tabs[' + index + '].title}}'); - var mdTabBody = document.createElement('md-tab-body'); - var childFrag = args.build(tab.items, args.path + '.tabs[' + index + '].items', args.state); - mdTabBody.appendChild(childFrag); - mdTab.appendChild(mdTabBody); - mdTabsFrag.appendChild(mdTab); - }); - } - }; + function mdAutocompleteBuilder(args) { + var mdAutocompleteFrag = args.fieldFrag.querySelector('md-autocomplete'); - /** - * Material Datepicker - */ - function dateDefault(name, schema, options) { - if (schema.type === 'string' && (schema.format === 'date' || schema.format === 'date-time')) { - var f = schemaFormProvider.stdFormObj(name, schema, options); - f.key = options.path; - f.type = 'date'; - options.lookup[sfPathProvider.stringify(options.path)] = f; - return f; - } - }; - function dateObjectDefault(name, schema, options) { - if (schema.type === 'object' && (schema.format === 'date' || schema.format === 'date-time')) { - var f = schemaFormProvider.stdFormObj(name, schema, options); - f.key = options.path; - f.type = 'date'; - options.lookup[sfPathProvider.stringify(options.path)] = f; - return f; - } - }; - }; + var minLength = args.form.minLength !== undefined ? args.form.minLength : 1; // Allow the user to pass "0" for min-length to use md-autocomplete as a dropdown with filter. + var maxLength = args.form.maxLength || false; + var title = args.form.title || args.form.placeholder || args.form.key.slice(-1)[0]; + if (mdAutocompleteFrag) { + if (args.form.onChange) { + mdAutocompleteFrag.setAttribute('md-selected-item-change', 'onChangeFn()'); + mdAutocompleteFrag.setAttribute('md-search-text-change', 'onChangeFn(searchText)'); + } + ; - function getOptionsHandler(form, evalExpr) { - if (form.optionData) { - return evalExpr(form.optionData); - }; + mdAutocompleteFrag.setAttribute('md-min-length', minLength); + if (maxLength) { + mdAutocompleteFrag.setAttribute('md-max-length', maxLength); + } + ; - if (form.selectOptions) { - return form.selectOptions; - }; + if (title) { + mdAutocompleteFrag.setAttribute('md-floating-label', title); + } + ; - return []; - }; + if (args.form.schema.requireMatch) { + mdAutocompleteFrag.setAttribute('md-require-match', true); + } + } + }; - function sfOptionsProcessor(data) { - var enumTitleMap = []; - - if (data.titleMap) { - return data.titleMap; - } else if (data.enum && data.enum.length) { - for (i = 0; i < data.enum.length; i++) { - if (data.enum[i] && data.enum[i].length) { - enumTitleMap.push({ name: data.enum[i], value: data.enum[i] }); - }; - }; - }; + function mdSwitchBuilder(args) { + var mdSwitchFrag = args.fieldFrag.querySelector('md-switch'); + if (args.form.schema.titleMap) { + mdSwitchFrag.setAttribute('ng-true-value', args.form.schema.titleMap.true); + mdSwitchFrag.setAttribute('ng-false-value', args.form.schema.titleMap.false); + } + ; + }; - return enumTitleMap; - }; + function sfOptionsBuilder(args) { + var mdSelectFrag = args.fieldFrag.querySelector('md-select'); + var enumTitleMap = []; + var i; + + args.form.selectOptions = []; + args.form.getOptions = getOptionsHandler; + + if (args.form.schema.links && typeof args.form.schema.links === 'object') { + var link; + var related = /({)([^}]*)(})/gm; + var source = /{{([^}]*)}}/gm; + var matched; + + for (i = 0; i < args.form.schema.links.length; i++) { + link = args.form.schema.links[i]; + if (link.rel === 'options') { + // TODO enable filter to allow processing results + // args.form.optionSource = link.href.replace(related, '$1$1 model.$2 | _externalOptionUri $3$3'); + args.form.optionSource = link.href.replace(related, '$1$1 model.$2 $3$3'); + } + ; + } + ; + + mdSelectFrag.setAttribute('sfm-external-options', args.form.optionSource); + } else { + args.form.selectOptions = sfOptionsProcessor(args.form); + } + ; + }; - sfmExternalOptionsDirective.$inject = ['$http']; + function mdDatepickerBuilder(args) { + console.log("Date Picker", args); + var mdDatepickerFrag = args.fieldFrag.querySelector('md-datepicker'); + if (mdDatepickerFrag) { + if (args.form.onChange) { + mdDatepickerFrag.setAttribute('ng-change', 'args.form.onChange(searchText)'); + } + // mdDatepickerFrag.setAttribute('md-items', 'item in $filter(''autocomplete'')(searchText);'); + var minDate = args.form.minimum || false; + var maxDate = args.form.maximum || false; + if (minDate) { + mdDatepickerFrag.setAttribute('md-min-date', minDate); + } + if (maxDate) { + mdDatepickerFrag.setAttribute('md-max-date', maxDate); + } - function sfmExternalOptionsDirective($http) { - var directive = { - link: link, - restrict: 'A' - }; + if (args.form.mdHideIcons) { + mdDatepickerFrag.setAttribute('md-hide-icons', args.form.mdHideIcons); + } + } + }; - return directive; + function mdTimepickerBuilder(args) { + var mdTimepickerFrag = args.fieldFrag.querySelector('md-time-picker'); + if (mdTimepickerFrag) { + if (args.form.onChange) { + mdTimepickerFrag.setAttribute('ng-change', 'args.form.onChange(searchText)'); + } + // mdTimepickerFrag.setAttribute('md-items', 'item in $filter(''autocomplete'')(searchText);'); + var minHour = args.form.minimum || undefined; + var maxHour = args.form.maximum || undefined; + var increment = args.form.step || undefined; - function link(scope, element, attrs) { - attrs.$observe('sfmExternalOptions', function (dataURI) { - $http.get(dataURI).then(function (response) { - scope.form.selectOptions = sfOptionsProcessor(response.data); - }); - }); - }; - }; + var options = { + minHour: minHour, + maxHour: maxHour, + minuteIncrement: increment + }; + + mdTimepickerFrag.setAttribute('options', JSON.stringify(options)); + + if (args.form.mdHideIcons) { + mdTimepickerFrag.setAttribute('md-hide-icons', args.form.mdHideIcons); + } + } + }; + + function mdTabsBuilder(args) { + if (args.form.tabs && args.form.tabs.length > 0) { + var mdTabsFrag = args.fieldFrag.querySelector('md-tabs'); + + args.form.tabs.forEach(function (tab, index) { + var mdTab = document.createElement('md-tab'); + mdTab.setAttribute('label', '{{' + args.path + '.tabs[' + index + '].title}}'); + var mdTabBody = document.createElement('md-tab-body'); + var childFrag = args.build(tab.items, args.path + '.tabs[' + index + '].items', args.state); + mdTabBody.appendChild(childFrag); + mdTab.appendChild(mdTabBody); + mdTabsFrag.appendChild(mdTab); + }); + } + }; + + /** + * Material Datepicker + */ + function dateDefault(name, schema, options) { + if (schema.type === 'string' && (schema.format === 'date' || schema.format === 'date-time')) { + var f = schemaFormProvider.stdFormObj(name, schema, options); + f.key = options.path; + f.type = 'date'; + options.lookup[sfPathProvider.stringify(options.path)] = f; + return f; + } + }; + + function dateObjectDefault(name, schema, options) { + if (schema.type === 'object' && (schema.format === 'date' || schema.format === 'date-time')) { + var f = schemaFormProvider.stdFormObj(name, schema, options); + f.key = options.path; + f.type = 'date'; + options.lookup[sfPathProvider.stringify(options.path)] = f; + return f; + } + }; + + /** + * Material Timepicker + */ + function timeDefault(name, schema, options) { + if (schema.type === 'string' && schema.format === 'time') { + var f = schemaFormProvider.stdFormObj(name, schema, options); + f.key = options.path; + f.type = 'time'; + options.lookup[sfPathProvider.stringify(options.path)] = f; + return f; + } + }; - /** + function timeObjectDefault(name, schema, options) { + if (schema.type === 'object' && schema.format === 'time') { + var f = schemaFormProvider.stdFormObj(name, schema, options); + f.key = options.path; + f.type = 'time'; + options.lookup[sfPathProvider.stringify(options.path)] = f; + return f; + } + }; + }; + + function getOptionsHandler(form, evalExpr) { + if (form.optionData) { + return evalExpr(form.optionData); + } + ; + + if (form.selectOptions) { + return form.selectOptions; + } + ; + + return []; + }; + + function sfOptionsProcessor(data) { + var enumTitleMap = []; + + if (data.titleMap) { + return data.titleMap; + } else if (data.enum && data.enum.length) { + for (i = 0; i < data.enum.length; i++) { + if (data.enum[i] && data.enum[i].length) { + enumTitleMap.push({ name: data.enum[i], value: data.enum[i] }); + } + ; + } + ; + } + ; + + return enumTitleMap; + }; + + sfmExternalOptionsDirective.$inject = ['$http']; + + function sfmExternalOptionsDirective($http) { + var directive = { + link: link, + restrict: 'A' + }; + + return directive; + + function link(scope, element, attrs) { + attrs.$observe('sfmExternalOptions', function (dataURI) { + $http.get(dataURI).then(function (response) { + scope.form.selectOptions = sfOptionsProcessor(response.data); + }); + }); + }; + }; + + /** * sfCamelKey Filter */ - function sfCamelKeyFilter() { - return function (formKey) { - if (!formKey) { - return ''; - }; - var part, i, key; - key = formKey.slice(); - for (i = 0; i < key.length; i++) { - part = key[i].toLowerCase().split(''); - if (i && part.length) { - part[0] = part[0].toUpperCase(); - }; - key[i] = part.join(''); - }; - return key.join(''); - }; - }; + function sfCamelKeyFilter() { + return function (formKey) { + if (!formKey) { + return ''; + } + ; + var part, i, key; + key = formKey.slice(); + for (i = 0; i < key.length; i++) { + part = key[i].toLowerCase().split(''); + if (i && part.length) { + part[0] = part[0].toUpperCase(); + } + ; + key[i] = part.join(''); + } + ; + return key.join(''); + }; + }; })(angular, undefined); /* TODO add default filter for autocomplete which allows form.optionFilter or 'autocompleteFilter' to override diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..16a7b4d --- /dev/null +++ b/package-lock.json @@ -0,0 +1,28572 @@ +{ + "name": "angular-schema-form-material", + "version": "1.0.0-alpha.1", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "angular": { + "version": "1.5.8", + "resolved": "https://registry.npmjs.org/angular/-/angular-1.5.8.tgz", + "integrity": "sha1-klpTkrjCEtCVctxEbbfgEmTglMs=" + }, + "angular-messages": { + "version": "1.5.8", + "resolved": "https://registry.npmjs.org/angular-messages/-/angular-messages-1.5.8.tgz", + "integrity": "sha1-H5HR5/P08uWrWt7+4smnGWsaNM8=" + }, + "angular-sanitize": { + "version": "1.5.8", + "resolved": "https://registry.npmjs.org/angular-sanitize/-/angular-sanitize-1.5.8.tgz", + "integrity": "sha1-GDL2lIfuggohy+MAVaj7G98perg=" + }, + "angular-schema-form": { + "version": "git://github.com/betterMDS/angular-schema-form.git#121c4d59dc40eab1be88459504b841bae6d6fe66", + "from": "git://github.com/betterMDS/angular-schema-form.git#feature/webpack-babel", + "requires": { + "angular": ">= 1.2", + "angular-sanitize": ">= 1.2", + "objectpath": "~1.1.0", + "tv4": "~1.0.15" + } + }, + "babel-core": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.18.0.tgz", + "integrity": "sha1-u1zpvAqVbm6U4vEtWXq7OwszDes=", + "dev": true, + "requires": { + "babel-code-frame": "^6.16.0", + "babel-generator": "^6.18.0", + "babel-helpers": "^6.16.0", + "babel-messages": "^6.8.0", + "babel-register": "^6.18.0", + "babel-runtime": "^6.9.1", + "babel-template": "^6.16.0", + "babel-traverse": "^6.18.0", + "babel-types": "^6.18.0", + "babylon": "^6.11.0", + "convert-source-map": "^1.1.0", + "debug": "^2.1.1", + "json5": "^0.5.0", + "lodash": "^4.2.0", + "minimatch": "^3.0.2", + "path-is-absolute": "^1.0.0", + "private": "^0.1.6", + "slash": "^1.0.0", + "source-map": "^0.5.0" + }, + "dependencies": { + "babel-code-frame": { + "version": "6.16.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.16.0.tgz", + "integrity": "sha1-+Q5g2ghikJ084JhzO105h8l8uN4=", + "dev": true, + "requires": { + "chalk": "^1.1.0", + "esutils": "^2.0.2", + "js-tokens": "^2.0.0" + }, + "dependencies": { + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz", + "integrity": "sha1-xQYbbg74qBd15Q9dZhUb9r83EQc=", + "dev": true + } + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz", + "integrity": "sha1-xQYbbg74qBd15Q9dZhUb9r83EQc=", + "dev": true + } + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "esutils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "dev": true + }, + "js-tokens": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-2.0.0.tgz", + "integrity": "sha1-eZA/VWPud4zBFi5tzxoAJ8l/nLU=", + "dev": true + } + } + }, + "babel-generator": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.18.0.tgz", + "integrity": "sha1-5PEEyzBjmW2YUFVqRarkoCIGCgc=", + "dev": true, + "requires": { + "babel-messages": "^6.8.0", + "babel-runtime": "^6.9.0", + "babel-types": "^6.18.0", + "detect-indent": "^4.0.0", + "jsesc": "^1.3.0", + "lodash": "^4.2.0", + "source-map": "^0.5.0" + }, + "dependencies": { + "detect-indent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", + "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", + "dev": true, + "requires": { + "repeating": "^2.0.0" + }, + "dependencies": { + "repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "dev": true, + "requires": { + "is-finite": "^1.0.0" + }, + "dependencies": { + "is-finite": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", + "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + }, + "dependencies": { + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true + } + } + } + } + } + } + }, + "jsesc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", + "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", + "dev": true + } + } + }, + "babel-helpers": { + "version": "6.16.0", + "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.16.0.tgz", + "integrity": "sha1-EJXsENmSeUYFU+Z+s+7plz04Z+M=", + "dev": true, + "requires": { + "babel-runtime": "^6.0.0", + "babel-template": "^6.16.0" + } + }, + "babel-messages": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.8.0.tgz", + "integrity": "sha1-v1BHNsqWfm1l7wrbWipflHyODrk=", + "dev": true, + "requires": { + "babel-runtime": "^6.0.0" + } + }, + "babel-register": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.18.0.tgz", + "integrity": "sha1-iS4uA4ZQeN2QrSxxURHsREmzKmg=", + "dev": true, + "requires": { + "babel-core": "^6.18.0", + "babel-runtime": "^6.11.6", + "core-js": "^2.4.0", + "home-or-tmp": "^2.0.0", + "lodash": "^4.2.0", + "mkdirp": "^0.5.1", + "source-map-support": "^0.4.2" + }, + "dependencies": { + "core-js": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz", + "integrity": "sha1-TekR5mew6ukSTjQlS1OupvxhjT4=", + "dev": true + }, + "home-or-tmp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", + "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", + "dev": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.1" + }, + "dependencies": { + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "dev": true + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true + } + } + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "dev": true, + "requires": { + "minimist": "0.0.8" + }, + "dependencies": { + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true + } + } + }, + "source-map-support": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.6.tgz", + "integrity": "sha1-MlUqpktFg5KoXqs7C17mFScWeus=", + "dev": true, + "requires": { + "source-map": "^0.5.3" + } + } + } + }, + "babel-runtime": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.18.0.tgz", + "integrity": "sha1-D0F3/9mEku8Tufgj6ZlKAlhMkHg=", + "dev": true, + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.9.5" + }, + "dependencies": { + "core-js": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz", + "integrity": "sha1-TekR5mew6ukSTjQlS1OupvxhjT4=", + "dev": true + }, + "regenerator-runtime": { + "version": "0.9.5", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.9.5.tgz", + "integrity": "sha1-QD1tQKS9/5wzDdk5Lcuy2ai7ofw=", + "dev": true + } + } + }, + "babel-template": { + "version": "6.16.0", + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.16.0.tgz", + "integrity": "sha1-4UndGp8Do1+BfdvE0EgZiOfryMo=", + "dev": true, + "requires": { + "babel-runtime": "^6.9.0", + "babel-traverse": "^6.16.0", + "babel-types": "^6.16.0", + "babylon": "^6.11.0", + "lodash": "^4.2.0" + } + }, + "babel-traverse": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.18.0.tgz", + "integrity": "sha1-WuqpgLrtKgfIxHMpzZDDuQyA8F4=", + "dev": true, + "requires": { + "babel-code-frame": "^6.16.0", + "babel-messages": "^6.8.0", + "babel-runtime": "^6.9.0", + "babel-types": "^6.18.0", + "babylon": "^6.11.0", + "debug": "^2.2.0", + "globals": "^9.0.0", + "invariant": "^2.2.0", + "lodash": "^4.2.0" + }, + "dependencies": { + "globals": { + "version": "9.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.12.0.tgz", + "integrity": "sha1-mSzpCCjDpV+o8W+toXettkZkz50=", + "dev": true + }, + "invariant": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.1.tgz", + "integrity": "sha1-sJcBBUdmjH4zcCjr6Bbr42yKjVQ=", + "dev": true, + "requires": { + "loose-envify": "^1.0.0" + }, + "dependencies": { + "loose-envify": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.0.tgz", + "integrity": "sha1-ayYkjEL21PpLDYVC947fzeNWQqg=", + "dev": true, + "requires": { + "js-tokens": "^2.0.0" + }, + "dependencies": { + "js-tokens": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-2.0.0.tgz", + "integrity": "sha1-eZA/VWPud4zBFi5tzxoAJ8l/nLU=", + "dev": true + } + } + } + } + } + } + }, + "babel-types": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.18.0.tgz", + "integrity": "sha1-H31ac0dMWeuRUbJBe7/05Pznw/g=", + "dev": true, + "requires": { + "babel-runtime": "^6.9.1", + "esutils": "^2.0.2", + "lodash": "^4.2.0", + "to-fast-properties": "^1.0.1" + }, + "dependencies": { + "esutils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "dev": true + }, + "to-fast-properties": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.2.tgz", + "integrity": "sha1-8/XAw7pymafvmUJ+RGMyV63kMyA=", + "dev": true + } + } + }, + "babylon": { + "version": "6.13.1", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.13.1.tgz", + "integrity": "sha1-rco1DgiPBGdkcVdlK6/q1t2439s=", + "dev": true + }, + "convert-source-map": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.3.0.tgz", + "integrity": "sha1-6fPpxuJyjvwmdmlqcOs4L3MQamc=", + "dev": true + }, + "debug": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", + "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", + "dev": true, + "requires": { + "ms": "0.7.1" + }, + "dependencies": { + "ms": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", + "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=", + "dev": true + } + } + }, + "json5": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.0.tgz", + "integrity": "sha1-myBxWwJsvjd4/Xae3M2CLYMypbI=", + "dev": true + }, + "lodash": { + "version": "4.16.6", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.16.6.tgz", + "integrity": "sha1-0iyaxmAojzhD4Wun0rXQbMon13c=", + "dev": true + }, + "minimatch": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz", + "integrity": "sha1-Kk5AkLlrLbBqnX3wEFWmKnfJt3Q=", + "dev": true, + "requires": { + "brace-expansion": "^1.0.0" + }, + "dependencies": { + "brace-expansion": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.6.tgz", + "integrity": "sha1-cZfX6qm4fmSDkOph/GbIRCdCDfk=", + "dev": true, + "requires": { + "balanced-match": "^0.4.1", + "concat-map": "0.0.1" + }, + "dependencies": { + "balanced-match": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", + "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + } + } + } + } + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "private": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/private/-/private-0.1.6.tgz", + "integrity": "sha1-VcapdtD5uvuZJIUTUP5HubX7t8E=", + "dev": true + }, + "slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", + "dev": true + }, + "source-map": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", + "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=", + "dev": true + } + } + }, + "babel-loader": { + "version": "6.2.7", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-6.2.7.tgz", + "integrity": "sha1-Fv2/ZDKAMNxaYGgn04nIuSoqgDI=", + "dev": true, + "requires": { + "find-cache-dir": "^0.1.1", + "loader-utils": "^0.2.11", + "mkdirp": "^0.5.1", + "object-assign": "^4.0.1" + }, + "dependencies": { + "find-cache-dir": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-0.1.1.tgz", + "integrity": "sha1-yN765XyKUqinhPnjHFfHQumToLk=", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "mkdirp": "^0.5.1", + "pkg-dir": "^1.0.0" + }, + "dependencies": { + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "dev": true + }, + "pkg-dir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz", + "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=", + "dev": true, + "requires": { + "find-up": "^1.0.0" + }, + "dependencies": { + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "dependencies": { + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "requires": { + "pinkie-promise": "^2.0.0" + } + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + }, + "dependencies": { + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + } + } + } + } + } + } + } + } + }, + "loader-utils": { + "version": "0.2.16", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.16.tgz", + "integrity": "sha1-8IYyBm7YKCg13/iN+1JwR2Wt7m0=", + "dev": true, + "requires": { + "big.js": "^3.1.3", + "emojis-list": "^2.0.0", + "json5": "^0.5.0", + "object-assign": "^4.0.1" + }, + "dependencies": { + "big.js": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.1.3.tgz", + "integrity": "sha1-TK2iGTZS6zyp7I5VyQFWacmAaXg=", + "dev": true + }, + "emojis-list": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", + "dev": true + }, + "json5": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.0.tgz", + "integrity": "sha1-myBxWwJsvjd4/Xae3M2CLYMypbI=", + "dev": true + } + } + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "dev": true, + "requires": { + "minimist": "0.0.8" + }, + "dependencies": { + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true + } + } + }, + "object-assign": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz", + "integrity": "sha1-ejs9DpgGPUP0wD8uiubNUahog6A=", + "dev": true + } + } + }, + "babel-polyfill": { + "version": "6.16.0", + "resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.16.0.tgz", + "integrity": "sha1-LUUCHfh+JqN0ttTRqcZZZNF/JCI=", + "dev": true, + "requires": { + "babel-runtime": "^6.9.1", + "core-js": "^2.4.0", + "regenerator-runtime": "^0.9.5" + }, + "dependencies": { + "babel-runtime": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.18.0.tgz", + "integrity": "sha1-D0F3/9mEku8Tufgj6ZlKAlhMkHg=", + "dev": true, + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.9.5" + } + }, + "core-js": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz", + "integrity": "sha1-TekR5mew6ukSTjQlS1OupvxhjT4=", + "dev": true + }, + "regenerator-runtime": { + "version": "0.9.5", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.9.5.tgz", + "integrity": "sha1-QD1tQKS9/5wzDdk5Lcuy2ai7ofw=", + "dev": true + } + } + }, + "babel-preset-es2015": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-preset-es2015/-/babel-preset-es2015-6.18.0.tgz", + "integrity": "sha1-uMcN+E7JSMQ9zyv3cOmI632ogxI=", + "dev": true, + "requires": { + "babel-plugin-check-es2015-constants": "^6.3.13", + "babel-plugin-transform-es2015-arrow-functions": "^6.3.13", + "babel-plugin-transform-es2015-block-scoped-functions": "^6.3.13", + "babel-plugin-transform-es2015-block-scoping": "^6.18.0", + "babel-plugin-transform-es2015-classes": "^6.18.0", + "babel-plugin-transform-es2015-computed-properties": "^6.3.13", + "babel-plugin-transform-es2015-destructuring": "^6.18.0", + "babel-plugin-transform-es2015-duplicate-keys": "^6.6.0", + "babel-plugin-transform-es2015-for-of": "^6.18.0", + "babel-plugin-transform-es2015-function-name": "^6.9.0", + "babel-plugin-transform-es2015-literals": "^6.3.13", + "babel-plugin-transform-es2015-modules-amd": "^6.18.0", + "babel-plugin-transform-es2015-modules-commonjs": "^6.18.0", + "babel-plugin-transform-es2015-modules-systemjs": "^6.18.0", + "babel-plugin-transform-es2015-modules-umd": "^6.18.0", + "babel-plugin-transform-es2015-object-super": "^6.3.13", + "babel-plugin-transform-es2015-parameters": "^6.18.0", + "babel-plugin-transform-es2015-shorthand-properties": "^6.18.0", + "babel-plugin-transform-es2015-spread": "^6.3.13", + "babel-plugin-transform-es2015-sticky-regex": "^6.3.13", + "babel-plugin-transform-es2015-template-literals": "^6.6.0", + "babel-plugin-transform-es2015-typeof-symbol": "^6.18.0", + "babel-plugin-transform-es2015-unicode-regex": "^6.3.13", + "babel-plugin-transform-regenerator": "^6.16.0" + }, + "dependencies": { + "babel-plugin-check-es2015-constants": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.8.0.tgz", + "integrity": "sha1-2/Akwy7Te/2o3uHnbaAjhqjSb+c=", + "dev": true, + "requires": { + "babel-runtime": "^6.0.0" + }, + "dependencies": { + "babel-runtime": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.18.0.tgz", + "integrity": "sha1-D0F3/9mEku8Tufgj6ZlKAlhMkHg=", + "dev": true, + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.9.5" + }, + "dependencies": { + "core-js": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz", + "integrity": "sha1-TekR5mew6ukSTjQlS1OupvxhjT4=", + "dev": true + }, + "regenerator-runtime": { + "version": "0.9.5", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.9.5.tgz", + "integrity": "sha1-QD1tQKS9/5wzDdk5Lcuy2ai7ofw=", + "dev": true + } + } + } + } + }, + "babel-plugin-transform-es2015-arrow-functions": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.8.0.tgz", + "integrity": "sha1-W2Ovwxgb3JqMTUgbWk8/fX/vPZ0=", + "dev": true, + "requires": { + "babel-runtime": "^6.0.0" + }, + "dependencies": { + "babel-runtime": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.18.0.tgz", + "integrity": "sha1-D0F3/9mEku8Tufgj6ZlKAlhMkHg=", + "dev": true, + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.9.5" + }, + "dependencies": { + "core-js": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz", + "integrity": "sha1-TekR5mew6ukSTjQlS1OupvxhjT4=", + "dev": true + }, + "regenerator-runtime": { + "version": "0.9.5", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.9.5.tgz", + "integrity": "sha1-QD1tQKS9/5wzDdk5Lcuy2ai7ofw=", + "dev": true + } + } + } + } + }, + "babel-plugin-transform-es2015-block-scoped-functions": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.8.0.tgz", + "integrity": "sha1-7ZXWKcS1pxriloK5mPcNmDPrNm0=", + "dev": true, + "requires": { + "babel-runtime": "^6.0.0" + }, + "dependencies": { + "babel-runtime": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.18.0.tgz", + "integrity": "sha1-D0F3/9mEku8Tufgj6ZlKAlhMkHg=", + "dev": true, + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.9.5" + }, + "dependencies": { + "core-js": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz", + "integrity": "sha1-TekR5mew6ukSTjQlS1OupvxhjT4=", + "dev": true + }, + "regenerator-runtime": { + "version": "0.9.5", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.9.5.tgz", + "integrity": "sha1-QD1tQKS9/5wzDdk5Lcuy2ai7ofw=", + "dev": true + } + } + } + } + }, + "babel-plugin-transform-es2015-block-scoping": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.18.0.tgz", + "integrity": "sha1-O/3P7DGNRt8iUlzeqI8ZeIE2U68=", + "dev": true, + "requires": { + "babel-runtime": "^6.9.0", + "babel-template": "^6.15.0", + "babel-traverse": "^6.18.0", + "babel-types": "^6.18.0", + "lodash": "^4.2.0" + }, + "dependencies": { + "babel-runtime": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.18.0.tgz", + "integrity": "sha1-D0F3/9mEku8Tufgj6ZlKAlhMkHg=", + "dev": true, + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.9.5" + }, + "dependencies": { + "core-js": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz", + "integrity": "sha1-TekR5mew6ukSTjQlS1OupvxhjT4=", + "dev": true + }, + "regenerator-runtime": { + "version": "0.9.5", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.9.5.tgz", + "integrity": "sha1-QD1tQKS9/5wzDdk5Lcuy2ai7ofw=", + "dev": true + } + } + }, + "babel-template": { + "version": "6.16.0", + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.16.0.tgz", + "integrity": "sha1-4UndGp8Do1+BfdvE0EgZiOfryMo=", + "dev": true, + "requires": { + "babel-runtime": "^6.9.0", + "babel-traverse": "^6.16.0", + "babel-types": "^6.16.0", + "babylon": "^6.11.0", + "lodash": "^4.2.0" + }, + "dependencies": { + "babylon": { + "version": "6.13.1", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.13.1.tgz", + "integrity": "sha1-rco1DgiPBGdkcVdlK6/q1t2439s=", + "dev": true + } + } + }, + "babel-traverse": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.18.0.tgz", + "integrity": "sha1-WuqpgLrtKgfIxHMpzZDDuQyA8F4=", + "dev": true, + "requires": { + "babel-code-frame": "^6.16.0", + "babel-messages": "^6.8.0", + "babel-runtime": "^6.9.0", + "babel-types": "^6.18.0", + "babylon": "^6.11.0", + "debug": "^2.2.0", + "globals": "^9.0.0", + "invariant": "^2.2.0", + "lodash": "^4.2.0" + }, + "dependencies": { + "babel-code-frame": { + "version": "6.16.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.16.0.tgz", + "integrity": "sha1-+Q5g2ghikJ084JhzO105h8l8uN4=", + "dev": true, + "requires": { + "chalk": "^1.1.0", + "esutils": "^2.0.2", + "js-tokens": "^2.0.0" + }, + "dependencies": { + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz", + "integrity": "sha1-xQYbbg74qBd15Q9dZhUb9r83EQc=", + "dev": true + } + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz", + "integrity": "sha1-xQYbbg74qBd15Q9dZhUb9r83EQc=", + "dev": true + } + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "esutils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "dev": true + }, + "js-tokens": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-2.0.0.tgz", + "integrity": "sha1-eZA/VWPud4zBFi5tzxoAJ8l/nLU=", + "dev": true + } + } + }, + "babel-messages": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.8.0.tgz", + "integrity": "sha1-v1BHNsqWfm1l7wrbWipflHyODrk=", + "dev": true, + "requires": { + "babel-runtime": "^6.0.0" + } + }, + "babylon": { + "version": "6.13.1", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.13.1.tgz", + "integrity": "sha1-rco1DgiPBGdkcVdlK6/q1t2439s=", + "dev": true + }, + "debug": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", + "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", + "dev": true, + "requires": { + "ms": "0.7.1" + }, + "dependencies": { + "ms": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", + "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=", + "dev": true + } + } + }, + "globals": { + "version": "9.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.12.0.tgz", + "integrity": "sha1-mSzpCCjDpV+o8W+toXettkZkz50=", + "dev": true + }, + "invariant": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.1.tgz", + "integrity": "sha1-sJcBBUdmjH4zcCjr6Bbr42yKjVQ=", + "dev": true, + "requires": { + "loose-envify": "^1.0.0" + }, + "dependencies": { + "loose-envify": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.0.tgz", + "integrity": "sha1-ayYkjEL21PpLDYVC947fzeNWQqg=", + "dev": true, + "requires": { + "js-tokens": "^2.0.0" + }, + "dependencies": { + "js-tokens": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-2.0.0.tgz", + "integrity": "sha1-eZA/VWPud4zBFi5tzxoAJ8l/nLU=", + "dev": true + } + } + } + } + } + } + }, + "babel-types": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.18.0.tgz", + "integrity": "sha1-H31ac0dMWeuRUbJBe7/05Pznw/g=", + "dev": true, + "requires": { + "babel-runtime": "^6.9.1", + "esutils": "^2.0.2", + "lodash": "^4.2.0", + "to-fast-properties": "^1.0.1" + }, + "dependencies": { + "esutils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "dev": true + }, + "to-fast-properties": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.2.tgz", + "integrity": "sha1-8/XAw7pymafvmUJ+RGMyV63kMyA=", + "dev": true + } + } + }, + "lodash": { + "version": "4.16.6", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.16.6.tgz", + "integrity": "sha1-0iyaxmAojzhD4Wun0rXQbMon13c=", + "dev": true + } + } + }, + "babel-plugin-transform-es2015-classes": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.18.0.tgz", + "integrity": "sha1-/+ehcyG/g+SU3NoK4/xy30j/0dk=", + "dev": true, + "requires": { + "babel-helper-define-map": "^6.18.0", + "babel-helper-function-name": "^6.18.0", + "babel-helper-optimise-call-expression": "^6.18.0", + "babel-helper-replace-supers": "^6.18.0", + "babel-messages": "^6.8.0", + "babel-runtime": "^6.9.0", + "babel-template": "^6.14.0", + "babel-traverse": "^6.18.0", + "babel-types": "^6.18.0" + }, + "dependencies": { + "babel-helper-define-map": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.18.0.tgz", + "integrity": "sha1-jWyF3H+7TBm+PeQEdNGOl8NnbsI=", + "dev": true, + "requires": { + "babel-helper-function-name": "^6.18.0", + "babel-runtime": "^6.9.0", + "babel-types": "^6.18.0", + "lodash": "^4.2.0" + }, + "dependencies": { + "lodash": { + "version": "4.16.6", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.16.6.tgz", + "integrity": "sha1-0iyaxmAojzhD4Wun0rXQbMon13c=", + "dev": true + } + } + }, + "babel-helper-function-name": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.18.0.tgz", + "integrity": "sha1-aOxxrrofPiiypvBzAZC3VKm/MOY=", + "dev": true, + "requires": { + "babel-helper-get-function-arity": "^6.18.0", + "babel-runtime": "^6.0.0", + "babel-template": "^6.8.0", + "babel-traverse": "^6.18.0", + "babel-types": "^6.18.0" + }, + "dependencies": { + "babel-helper-get-function-arity": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.18.0.tgz", + "integrity": "sha1-pbGWlf0/nN/DKDmLR9r81wlPnyQ=", + "dev": true, + "requires": { + "babel-runtime": "^6.0.0", + "babel-types": "^6.18.0" + } + } + } + }, + "babel-helper-optimise-call-expression": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.18.0.tgz", + "integrity": "sha1-kmHQKZ7hpPCKbdKLe3x3c0j9jw8=", + "dev": true, + "requires": { + "babel-runtime": "^6.0.0", + "babel-types": "^6.18.0" + } + }, + "babel-helper-replace-supers": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.18.0.tgz", + "integrity": "sha1-KOxph3vkFE29ZPTMOjN+ifKakk4=", + "dev": true, + "requires": { + "babel-helper-optimise-call-expression": "^6.18.0", + "babel-messages": "^6.8.0", + "babel-runtime": "^6.0.0", + "babel-template": "^6.16.0", + "babel-traverse": "^6.18.0", + "babel-types": "^6.18.0" + } + }, + "babel-messages": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.8.0.tgz", + "integrity": "sha1-v1BHNsqWfm1l7wrbWipflHyODrk=", + "dev": true, + "requires": { + "babel-runtime": "^6.0.0" + } + }, + "babel-runtime": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.18.0.tgz", + "integrity": "sha1-D0F3/9mEku8Tufgj6ZlKAlhMkHg=", + "dev": true, + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.9.5" + }, + "dependencies": { + "core-js": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz", + "integrity": "sha1-TekR5mew6ukSTjQlS1OupvxhjT4=", + "dev": true + }, + "regenerator-runtime": { + "version": "0.9.5", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.9.5.tgz", + "integrity": "sha1-QD1tQKS9/5wzDdk5Lcuy2ai7ofw=", + "dev": true + } + } + }, + "babel-template": { + "version": "6.16.0", + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.16.0.tgz", + "integrity": "sha1-4UndGp8Do1+BfdvE0EgZiOfryMo=", + "dev": true, + "requires": { + "babel-runtime": "^6.9.0", + "babel-traverse": "^6.16.0", + "babel-types": "^6.16.0", + "babylon": "^6.11.0", + "lodash": "^4.2.0" + }, + "dependencies": { + "babylon": { + "version": "6.13.1", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.13.1.tgz", + "integrity": "sha1-rco1DgiPBGdkcVdlK6/q1t2439s=", + "dev": true + }, + "lodash": { + "version": "4.16.6", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.16.6.tgz", + "integrity": "sha1-0iyaxmAojzhD4Wun0rXQbMon13c=", + "dev": true + } + } + }, + "babel-traverse": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.18.0.tgz", + "integrity": "sha1-WuqpgLrtKgfIxHMpzZDDuQyA8F4=", + "dev": true, + "requires": { + "babel-code-frame": "^6.16.0", + "babel-messages": "^6.8.0", + "babel-runtime": "^6.9.0", + "babel-types": "^6.18.0", + "babylon": "^6.11.0", + "debug": "^2.2.0", + "globals": "^9.0.0", + "invariant": "^2.2.0", + "lodash": "^4.2.0" + }, + "dependencies": { + "babel-code-frame": { + "version": "6.16.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.16.0.tgz", + "integrity": "sha1-+Q5g2ghikJ084JhzO105h8l8uN4=", + "dev": true, + "requires": { + "chalk": "^1.1.0", + "esutils": "^2.0.2", + "js-tokens": "^2.0.0" + }, + "dependencies": { + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz", + "integrity": "sha1-xQYbbg74qBd15Q9dZhUb9r83EQc=", + "dev": true + } + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz", + "integrity": "sha1-xQYbbg74qBd15Q9dZhUb9r83EQc=", + "dev": true + } + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "esutils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "dev": true + }, + "js-tokens": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-2.0.0.tgz", + "integrity": "sha1-eZA/VWPud4zBFi5tzxoAJ8l/nLU=", + "dev": true + } + } + }, + "babylon": { + "version": "6.13.1", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.13.1.tgz", + "integrity": "sha1-rco1DgiPBGdkcVdlK6/q1t2439s=", + "dev": true + }, + "debug": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", + "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", + "dev": true, + "requires": { + "ms": "0.7.1" + }, + "dependencies": { + "ms": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", + "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=", + "dev": true + } + } + }, + "globals": { + "version": "9.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.12.0.tgz", + "integrity": "sha1-mSzpCCjDpV+o8W+toXettkZkz50=", + "dev": true + }, + "invariant": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.1.tgz", + "integrity": "sha1-sJcBBUdmjH4zcCjr6Bbr42yKjVQ=", + "dev": true, + "requires": { + "loose-envify": "^1.0.0" + }, + "dependencies": { + "loose-envify": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.0.tgz", + "integrity": "sha1-ayYkjEL21PpLDYVC947fzeNWQqg=", + "dev": true, + "requires": { + "js-tokens": "^2.0.0" + }, + "dependencies": { + "js-tokens": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-2.0.0.tgz", + "integrity": "sha1-eZA/VWPud4zBFi5tzxoAJ8l/nLU=", + "dev": true + } + } + } + } + }, + "lodash": { + "version": "4.16.6", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.16.6.tgz", + "integrity": "sha1-0iyaxmAojzhD4Wun0rXQbMon13c=", + "dev": true + } + } + }, + "babel-types": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.18.0.tgz", + "integrity": "sha1-H31ac0dMWeuRUbJBe7/05Pznw/g=", + "dev": true, + "requires": { + "babel-runtime": "^6.9.1", + "esutils": "^2.0.2", + "lodash": "^4.2.0", + "to-fast-properties": "^1.0.1" + }, + "dependencies": { + "esutils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "dev": true + }, + "lodash": { + "version": "4.16.6", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.16.6.tgz", + "integrity": "sha1-0iyaxmAojzhD4Wun0rXQbMon13c=", + "dev": true + }, + "to-fast-properties": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.2.tgz", + "integrity": "sha1-8/XAw7pymafvmUJ+RGMyV63kMyA=", + "dev": true + } + } + } + } + }, + "babel-plugin-transform-es2015-computed-properties": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.8.0.tgz", + "integrity": "sha1-9RAQ/WGzvXtrYKX9/TB7t6UnmHA=", + "dev": true, + "requires": { + "babel-helper-define-map": "^6.8.0", + "babel-runtime": "^6.0.0", + "babel-template": "^6.8.0" + }, + "dependencies": { + "babel-helper-define-map": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.18.0.tgz", + "integrity": "sha1-jWyF3H+7TBm+PeQEdNGOl8NnbsI=", + "dev": true, + "requires": { + "babel-helper-function-name": "^6.18.0", + "babel-runtime": "^6.9.0", + "babel-types": "^6.18.0", + "lodash": "^4.2.0" + }, + "dependencies": { + "babel-helper-function-name": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.18.0.tgz", + "integrity": "sha1-aOxxrrofPiiypvBzAZC3VKm/MOY=", + "dev": true, + "requires": { + "babel-helper-get-function-arity": "^6.18.0", + "babel-runtime": "^6.0.0", + "babel-template": "^6.8.0", + "babel-traverse": "^6.18.0", + "babel-types": "^6.18.0" + }, + "dependencies": { + "babel-helper-get-function-arity": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.18.0.tgz", + "integrity": "sha1-pbGWlf0/nN/DKDmLR9r81wlPnyQ=", + "dev": true, + "requires": { + "babel-runtime": "^6.0.0", + "babel-types": "^6.18.0" + } + }, + "babel-traverse": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.18.0.tgz", + "integrity": "sha1-WuqpgLrtKgfIxHMpzZDDuQyA8F4=", + "dev": true, + "requires": { + "babel-code-frame": "^6.16.0", + "babel-messages": "^6.8.0", + "babel-runtime": "^6.9.0", + "babel-types": "^6.18.0", + "babylon": "^6.11.0", + "debug": "^2.2.0", + "globals": "^9.0.0", + "invariant": "^2.2.0", + "lodash": "^4.2.0" + }, + "dependencies": { + "babel-code-frame": { + "version": "6.16.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.16.0.tgz", + "integrity": "sha1-+Q5g2ghikJ084JhzO105h8l8uN4=", + "dev": true, + "requires": { + "chalk": "^1.1.0", + "esutils": "^2.0.2", + "js-tokens": "^2.0.0" + }, + "dependencies": { + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz", + "integrity": "sha1-xQYbbg74qBd15Q9dZhUb9r83EQc=", + "dev": true + } + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz", + "integrity": "sha1-xQYbbg74qBd15Q9dZhUb9r83EQc=", + "dev": true + } + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "esutils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "dev": true + }, + "js-tokens": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-2.0.0.tgz", + "integrity": "sha1-eZA/VWPud4zBFi5tzxoAJ8l/nLU=", + "dev": true + } + } + }, + "babel-messages": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.8.0.tgz", + "integrity": "sha1-v1BHNsqWfm1l7wrbWipflHyODrk=", + "dev": true, + "requires": { + "babel-runtime": "^6.0.0" + } + }, + "babylon": { + "version": "6.13.1", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.13.1.tgz", + "integrity": "sha1-rco1DgiPBGdkcVdlK6/q1t2439s=", + "dev": true + }, + "debug": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", + "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", + "dev": true, + "requires": { + "ms": "0.7.1" + }, + "dependencies": { + "ms": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", + "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=", + "dev": true + } + } + }, + "globals": { + "version": "9.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.12.0.tgz", + "integrity": "sha1-mSzpCCjDpV+o8W+toXettkZkz50=", + "dev": true + }, + "invariant": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.1.tgz", + "integrity": "sha1-sJcBBUdmjH4zcCjr6Bbr42yKjVQ=", + "dev": true, + "requires": { + "loose-envify": "^1.0.0" + }, + "dependencies": { + "loose-envify": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.0.tgz", + "integrity": "sha1-ayYkjEL21PpLDYVC947fzeNWQqg=", + "dev": true, + "requires": { + "js-tokens": "^2.0.0" + }, + "dependencies": { + "js-tokens": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-2.0.0.tgz", + "integrity": "sha1-eZA/VWPud4zBFi5tzxoAJ8l/nLU=", + "dev": true + } + } + } + } + } + } + } + } + }, + "babel-types": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.18.0.tgz", + "integrity": "sha1-H31ac0dMWeuRUbJBe7/05Pznw/g=", + "dev": true, + "requires": { + "babel-runtime": "^6.9.1", + "esutils": "^2.0.2", + "lodash": "^4.2.0", + "to-fast-properties": "^1.0.1" + }, + "dependencies": { + "esutils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "dev": true + }, + "to-fast-properties": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.2.tgz", + "integrity": "sha1-8/XAw7pymafvmUJ+RGMyV63kMyA=", + "dev": true + } + } + }, + "lodash": { + "version": "4.16.6", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.16.6.tgz", + "integrity": "sha1-0iyaxmAojzhD4Wun0rXQbMon13c=", + "dev": true + } + } + }, + "babel-runtime": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.18.0.tgz", + "integrity": "sha1-D0F3/9mEku8Tufgj6ZlKAlhMkHg=", + "dev": true, + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.9.5" + }, + "dependencies": { + "core-js": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz", + "integrity": "sha1-TekR5mew6ukSTjQlS1OupvxhjT4=", + "dev": true + }, + "regenerator-runtime": { + "version": "0.9.5", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.9.5.tgz", + "integrity": "sha1-QD1tQKS9/5wzDdk5Lcuy2ai7ofw=", + "dev": true + } + } + }, + "babel-template": { + "version": "6.16.0", + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.16.0.tgz", + "integrity": "sha1-4UndGp8Do1+BfdvE0EgZiOfryMo=", + "dev": true, + "requires": { + "babel-runtime": "^6.9.0", + "babel-traverse": "^6.16.0", + "babel-types": "^6.16.0", + "babylon": "^6.11.0", + "lodash": "^4.2.0" + }, + "dependencies": { + "babel-traverse": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.18.0.tgz", + "integrity": "sha1-WuqpgLrtKgfIxHMpzZDDuQyA8F4=", + "dev": true, + "requires": { + "babel-code-frame": "^6.16.0", + "babel-messages": "^6.8.0", + "babel-runtime": "^6.9.0", + "babel-types": "^6.18.0", + "babylon": "^6.11.0", + "debug": "^2.2.0", + "globals": "^9.0.0", + "invariant": "^2.2.0", + "lodash": "^4.2.0" + }, + "dependencies": { + "babel-code-frame": { + "version": "6.16.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.16.0.tgz", + "integrity": "sha1-+Q5g2ghikJ084JhzO105h8l8uN4=", + "dev": true, + "requires": { + "chalk": "^1.1.0", + "esutils": "^2.0.2", + "js-tokens": "^2.0.0" + }, + "dependencies": { + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz", + "integrity": "sha1-xQYbbg74qBd15Q9dZhUb9r83EQc=", + "dev": true + } + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz", + "integrity": "sha1-xQYbbg74qBd15Q9dZhUb9r83EQc=", + "dev": true + } + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "esutils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "dev": true + }, + "js-tokens": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-2.0.0.tgz", + "integrity": "sha1-eZA/VWPud4zBFi5tzxoAJ8l/nLU=", + "dev": true + } + } + }, + "babel-messages": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.8.0.tgz", + "integrity": "sha1-v1BHNsqWfm1l7wrbWipflHyODrk=", + "dev": true, + "requires": { + "babel-runtime": "^6.0.0" + } + }, + "debug": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", + "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", + "dev": true, + "requires": { + "ms": "0.7.1" + }, + "dependencies": { + "ms": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", + "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=", + "dev": true + } + } + }, + "globals": { + "version": "9.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.12.0.tgz", + "integrity": "sha1-mSzpCCjDpV+o8W+toXettkZkz50=", + "dev": true + }, + "invariant": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.1.tgz", + "integrity": "sha1-sJcBBUdmjH4zcCjr6Bbr42yKjVQ=", + "dev": true, + "requires": { + "loose-envify": "^1.0.0" + }, + "dependencies": { + "loose-envify": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.0.tgz", + "integrity": "sha1-ayYkjEL21PpLDYVC947fzeNWQqg=", + "dev": true, + "requires": { + "js-tokens": "^2.0.0" + }, + "dependencies": { + "js-tokens": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-2.0.0.tgz", + "integrity": "sha1-eZA/VWPud4zBFi5tzxoAJ8l/nLU=", + "dev": true + } + } + } + } + } + } + }, + "babel-types": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.18.0.tgz", + "integrity": "sha1-H31ac0dMWeuRUbJBe7/05Pznw/g=", + "dev": true, + "requires": { + "babel-runtime": "^6.9.1", + "esutils": "^2.0.2", + "lodash": "^4.2.0", + "to-fast-properties": "^1.0.1" + }, + "dependencies": { + "esutils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "dev": true + }, + "to-fast-properties": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.2.tgz", + "integrity": "sha1-8/XAw7pymafvmUJ+RGMyV63kMyA=", + "dev": true + } + } + }, + "babylon": { + "version": "6.13.1", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.13.1.tgz", + "integrity": "sha1-rco1DgiPBGdkcVdlK6/q1t2439s=", + "dev": true + }, + "lodash": { + "version": "4.16.6", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.16.6.tgz", + "integrity": "sha1-0iyaxmAojzhD4Wun0rXQbMon13c=", + "dev": true + } + } + } + } + }, + "babel-plugin-transform-es2015-destructuring": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.18.0.tgz", + "integrity": "sha1-oI+4lBWrggWGSVWL7be/ja+na6U=", + "dev": true, + "requires": { + "babel-runtime": "^6.9.0" + }, + "dependencies": { + "babel-runtime": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.18.0.tgz", + "integrity": "sha1-D0F3/9mEku8Tufgj6ZlKAlhMkHg=", + "dev": true, + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.9.5" + }, + "dependencies": { + "core-js": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz", + "integrity": "sha1-TekR5mew6ukSTjQlS1OupvxhjT4=", + "dev": true + }, + "regenerator-runtime": { + "version": "0.9.5", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.9.5.tgz", + "integrity": "sha1-QD1tQKS9/5wzDdk5Lcuy2ai7ofw=", + "dev": true + } + } + } + } + }, + "babel-plugin-transform-es2015-duplicate-keys": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.8.0.tgz", + "integrity": "sha1-/Y9/cXH8EIzBxwwxZLnxWoHCX30=", + "dev": true, + "requires": { + "babel-runtime": "^6.0.0", + "babel-types": "^6.8.0" + }, + "dependencies": { + "babel-runtime": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.18.0.tgz", + "integrity": "sha1-D0F3/9mEku8Tufgj6ZlKAlhMkHg=", + "dev": true, + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.9.5" + }, + "dependencies": { + "core-js": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz", + "integrity": "sha1-TekR5mew6ukSTjQlS1OupvxhjT4=", + "dev": true + }, + "regenerator-runtime": { + "version": "0.9.5", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.9.5.tgz", + "integrity": "sha1-QD1tQKS9/5wzDdk5Lcuy2ai7ofw=", + "dev": true + } + } + }, + "babel-types": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.18.0.tgz", + "integrity": "sha1-H31ac0dMWeuRUbJBe7/05Pznw/g=", + "dev": true, + "requires": { + "babel-runtime": "^6.9.1", + "esutils": "^2.0.2", + "lodash": "^4.2.0", + "to-fast-properties": "^1.0.1" + }, + "dependencies": { + "esutils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "dev": true + }, + "lodash": { + "version": "4.16.6", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.16.6.tgz", + "integrity": "sha1-0iyaxmAojzhD4Wun0rXQbMon13c=", + "dev": true + }, + "to-fast-properties": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.2.tgz", + "integrity": "sha1-8/XAw7pymafvmUJ+RGMyV63kMyA=", + "dev": true + } + } + } + } + }, + "babel-plugin-transform-es2015-for-of": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.18.0.tgz", + "integrity": "sha1-TFF1BNtkv4z8EZprjxdyEfICinA=", + "dev": true, + "requires": { + "babel-runtime": "^6.0.0" + }, + "dependencies": { + "babel-runtime": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.18.0.tgz", + "integrity": "sha1-D0F3/9mEku8Tufgj6ZlKAlhMkHg=", + "dev": true, + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.9.5" + }, + "dependencies": { + "core-js": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz", + "integrity": "sha1-TekR5mew6ukSTjQlS1OupvxhjT4=", + "dev": true + }, + "regenerator-runtime": { + "version": "0.9.5", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.9.5.tgz", + "integrity": "sha1-QD1tQKS9/5wzDdk5Lcuy2ai7ofw=", + "dev": true + } + } + } + } + }, + "babel-plugin-transform-es2015-function-name": { + "version": "6.9.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.9.0.tgz", + "integrity": "sha1-jBNbF9vQZOW7pW7FEbqu4vyoJxk=", + "dev": true, + "requires": { + "babel-helper-function-name": "^6.8.0", + "babel-runtime": "^6.9.0", + "babel-types": "^6.9.0" + }, + "dependencies": { + "babel-helper-function-name": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.18.0.tgz", + "integrity": "sha1-aOxxrrofPiiypvBzAZC3VKm/MOY=", + "dev": true, + "requires": { + "babel-helper-get-function-arity": "^6.18.0", + "babel-runtime": "^6.0.0", + "babel-template": "^6.8.0", + "babel-traverse": "^6.18.0", + "babel-types": "^6.18.0" + }, + "dependencies": { + "babel-helper-get-function-arity": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.18.0.tgz", + "integrity": "sha1-pbGWlf0/nN/DKDmLR9r81wlPnyQ=", + "dev": true, + "requires": { + "babel-runtime": "^6.0.0", + "babel-types": "^6.18.0" + } + }, + "babel-template": { + "version": "6.16.0", + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.16.0.tgz", + "integrity": "sha1-4UndGp8Do1+BfdvE0EgZiOfryMo=", + "dev": true, + "requires": { + "babel-runtime": "^6.9.0", + "babel-traverse": "^6.16.0", + "babel-types": "^6.16.0", + "babylon": "^6.11.0", + "lodash": "^4.2.0" + }, + "dependencies": { + "babylon": { + "version": "6.13.1", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.13.1.tgz", + "integrity": "sha1-rco1DgiPBGdkcVdlK6/q1t2439s=", + "dev": true + }, + "lodash": { + "version": "4.16.6", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.16.6.tgz", + "integrity": "sha1-0iyaxmAojzhD4Wun0rXQbMon13c=", + "dev": true + } + } + }, + "babel-traverse": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.18.0.tgz", + "integrity": "sha1-WuqpgLrtKgfIxHMpzZDDuQyA8F4=", + "dev": true, + "requires": { + "babel-code-frame": "^6.16.0", + "babel-messages": "^6.8.0", + "babel-runtime": "^6.9.0", + "babel-types": "^6.18.0", + "babylon": "^6.11.0", + "debug": "^2.2.0", + "globals": "^9.0.0", + "invariant": "^2.2.0", + "lodash": "^4.2.0" + }, + "dependencies": { + "babel-code-frame": { + "version": "6.16.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.16.0.tgz", + "integrity": "sha1-+Q5g2ghikJ084JhzO105h8l8uN4=", + "dev": true, + "requires": { + "chalk": "^1.1.0", + "esutils": "^2.0.2", + "js-tokens": "^2.0.0" + }, + "dependencies": { + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz", + "integrity": "sha1-xQYbbg74qBd15Q9dZhUb9r83EQc=", + "dev": true + } + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz", + "integrity": "sha1-xQYbbg74qBd15Q9dZhUb9r83EQc=", + "dev": true + } + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "esutils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "dev": true + }, + "js-tokens": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-2.0.0.tgz", + "integrity": "sha1-eZA/VWPud4zBFi5tzxoAJ8l/nLU=", + "dev": true + } + } + }, + "babel-messages": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.8.0.tgz", + "integrity": "sha1-v1BHNsqWfm1l7wrbWipflHyODrk=", + "dev": true, + "requires": { + "babel-runtime": "^6.0.0" + } + }, + "babylon": { + "version": "6.13.1", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.13.1.tgz", + "integrity": "sha1-rco1DgiPBGdkcVdlK6/q1t2439s=", + "dev": true + }, + "debug": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", + "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", + "dev": true, + "requires": { + "ms": "0.7.1" + }, + "dependencies": { + "ms": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", + "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=", + "dev": true + } + } + }, + "globals": { + "version": "9.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.12.0.tgz", + "integrity": "sha1-mSzpCCjDpV+o8W+toXettkZkz50=", + "dev": true + }, + "invariant": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.1.tgz", + "integrity": "sha1-sJcBBUdmjH4zcCjr6Bbr42yKjVQ=", + "dev": true, + "requires": { + "loose-envify": "^1.0.0" + }, + "dependencies": { + "loose-envify": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.0.tgz", + "integrity": "sha1-ayYkjEL21PpLDYVC947fzeNWQqg=", + "dev": true, + "requires": { + "js-tokens": "^2.0.0" + }, + "dependencies": { + "js-tokens": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-2.0.0.tgz", + "integrity": "sha1-eZA/VWPud4zBFi5tzxoAJ8l/nLU=", + "dev": true + } + } + } + } + }, + "lodash": { + "version": "4.16.6", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.16.6.tgz", + "integrity": "sha1-0iyaxmAojzhD4Wun0rXQbMon13c=", + "dev": true + } + } + } + } + }, + "babel-runtime": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.18.0.tgz", + "integrity": "sha1-D0F3/9mEku8Tufgj6ZlKAlhMkHg=", + "dev": true, + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.9.5" + }, + "dependencies": { + "core-js": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz", + "integrity": "sha1-TekR5mew6ukSTjQlS1OupvxhjT4=", + "dev": true + }, + "regenerator-runtime": { + "version": "0.9.5", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.9.5.tgz", + "integrity": "sha1-QD1tQKS9/5wzDdk5Lcuy2ai7ofw=", + "dev": true + } + } + }, + "babel-types": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.18.0.tgz", + "integrity": "sha1-H31ac0dMWeuRUbJBe7/05Pznw/g=", + "dev": true, + "requires": { + "babel-runtime": "^6.9.1", + "esutils": "^2.0.2", + "lodash": "^4.2.0", + "to-fast-properties": "^1.0.1" + }, + "dependencies": { + "esutils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "dev": true + }, + "lodash": { + "version": "4.16.6", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.16.6.tgz", + "integrity": "sha1-0iyaxmAojzhD4Wun0rXQbMon13c=", + "dev": true + }, + "to-fast-properties": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.2.tgz", + "integrity": "sha1-8/XAw7pymafvmUJ+RGMyV63kMyA=", + "dev": true + } + } + } + } + }, + "babel-plugin-transform-es2015-literals": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.8.0.tgz", + "integrity": "sha1-UKouXHlY/CqyXXTsEX4MyY8EZGg=", + "dev": true, + "requires": { + "babel-runtime": "^6.0.0" + }, + "dependencies": { + "babel-runtime": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.18.0.tgz", + "integrity": "sha1-D0F3/9mEku8Tufgj6ZlKAlhMkHg=", + "dev": true, + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.9.5" + }, + "dependencies": { + "core-js": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz", + "integrity": "sha1-TekR5mew6ukSTjQlS1OupvxhjT4=", + "dev": true + }, + "regenerator-runtime": { + "version": "0.9.5", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.9.5.tgz", + "integrity": "sha1-QD1tQKS9/5wzDdk5Lcuy2ai7ofw=", + "dev": true + } + } + } + } + }, + "babel-plugin-transform-es2015-modules-amd": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.18.0.tgz", + "integrity": "sha1-SaBUy7divfmuLYqAcHbPreYUHkA=", + "dev": true, + "requires": { + "babel-plugin-transform-es2015-modules-commonjs": "^6.18.0", + "babel-runtime": "^6.0.0", + "babel-template": "^6.8.0" + }, + "dependencies": { + "babel-runtime": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.18.0.tgz", + "integrity": "sha1-D0F3/9mEku8Tufgj6ZlKAlhMkHg=", + "dev": true, + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.9.5" + }, + "dependencies": { + "core-js": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz", + "integrity": "sha1-TekR5mew6ukSTjQlS1OupvxhjT4=", + "dev": true + }, + "regenerator-runtime": { + "version": "0.9.5", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.9.5.tgz", + "integrity": "sha1-QD1tQKS9/5wzDdk5Lcuy2ai7ofw=", + "dev": true + } + } + }, + "babel-template": { + "version": "6.16.0", + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.16.0.tgz", + "integrity": "sha1-4UndGp8Do1+BfdvE0EgZiOfryMo=", + "dev": true, + "requires": { + "babel-runtime": "^6.9.0", + "babel-traverse": "^6.16.0", + "babel-types": "^6.16.0", + "babylon": "^6.11.0", + "lodash": "^4.2.0" + }, + "dependencies": { + "babel-traverse": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.18.0.tgz", + "integrity": "sha1-WuqpgLrtKgfIxHMpzZDDuQyA8F4=", + "dev": true, + "requires": { + "babel-code-frame": "^6.16.0", + "babel-messages": "^6.8.0", + "babel-runtime": "^6.9.0", + "babel-types": "^6.18.0", + "babylon": "^6.11.0", + "debug": "^2.2.0", + "globals": "^9.0.0", + "invariant": "^2.2.0", + "lodash": "^4.2.0" + }, + "dependencies": { + "babel-code-frame": { + "version": "6.16.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.16.0.tgz", + "integrity": "sha1-+Q5g2ghikJ084JhzO105h8l8uN4=", + "dev": true, + "requires": { + "chalk": "^1.1.0", + "esutils": "^2.0.2", + "js-tokens": "^2.0.0" + }, + "dependencies": { + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz", + "integrity": "sha1-xQYbbg74qBd15Q9dZhUb9r83EQc=", + "dev": true + } + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz", + "integrity": "sha1-xQYbbg74qBd15Q9dZhUb9r83EQc=", + "dev": true + } + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "esutils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "dev": true + }, + "js-tokens": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-2.0.0.tgz", + "integrity": "sha1-eZA/VWPud4zBFi5tzxoAJ8l/nLU=", + "dev": true + } + } + }, + "babel-messages": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.8.0.tgz", + "integrity": "sha1-v1BHNsqWfm1l7wrbWipflHyODrk=", + "dev": true, + "requires": { + "babel-runtime": "^6.0.0" + } + }, + "debug": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", + "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", + "dev": true, + "requires": { + "ms": "0.7.1" + }, + "dependencies": { + "ms": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", + "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=", + "dev": true + } + } + }, + "globals": { + "version": "9.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.12.0.tgz", + "integrity": "sha1-mSzpCCjDpV+o8W+toXettkZkz50=", + "dev": true + }, + "invariant": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.1.tgz", + "integrity": "sha1-sJcBBUdmjH4zcCjr6Bbr42yKjVQ=", + "dev": true, + "requires": { + "loose-envify": "^1.0.0" + }, + "dependencies": { + "loose-envify": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.0.tgz", + "integrity": "sha1-ayYkjEL21PpLDYVC947fzeNWQqg=", + "dev": true, + "requires": { + "js-tokens": "^2.0.0" + }, + "dependencies": { + "js-tokens": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-2.0.0.tgz", + "integrity": "sha1-eZA/VWPud4zBFi5tzxoAJ8l/nLU=", + "dev": true + } + } + } + } + } + } + }, + "babel-types": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.18.0.tgz", + "integrity": "sha1-H31ac0dMWeuRUbJBe7/05Pznw/g=", + "dev": true, + "requires": { + "babel-runtime": "^6.9.1", + "esutils": "^2.0.2", + "lodash": "^4.2.0", + "to-fast-properties": "^1.0.1" + }, + "dependencies": { + "esutils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "dev": true + }, + "to-fast-properties": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.2.tgz", + "integrity": "sha1-8/XAw7pymafvmUJ+RGMyV63kMyA=", + "dev": true + } + } + }, + "babylon": { + "version": "6.13.1", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.13.1.tgz", + "integrity": "sha1-rco1DgiPBGdkcVdlK6/q1t2439s=", + "dev": true + }, + "lodash": { + "version": "4.16.6", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.16.6.tgz", + "integrity": "sha1-0iyaxmAojzhD4Wun0rXQbMon13c=", + "dev": true + } + } + } + } + }, + "babel-plugin-transform-es2015-modules-commonjs": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.18.0.tgz", + "integrity": "sha1-wVrluxGzKgq9zJilg3uqTujWe8w=", + "dev": true, + "requires": { + "babel-plugin-transform-strict-mode": "^6.18.0", + "babel-runtime": "^6.0.0", + "babel-template": "^6.16.0", + "babel-types": "^6.18.0" + }, + "dependencies": { + "babel-plugin-transform-strict-mode": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.18.0.tgz", + "integrity": "sha1-33zymR/gRvRBY9zRENXKQ7xlK50=", + "dev": true, + "requires": { + "babel-runtime": "^6.0.0", + "babel-types": "^6.18.0" + } + }, + "babel-runtime": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.18.0.tgz", + "integrity": "sha1-D0F3/9mEku8Tufgj6ZlKAlhMkHg=", + "dev": true, + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.9.5" + }, + "dependencies": { + "core-js": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz", + "integrity": "sha1-TekR5mew6ukSTjQlS1OupvxhjT4=", + "dev": true + }, + "regenerator-runtime": { + "version": "0.9.5", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.9.5.tgz", + "integrity": "sha1-QD1tQKS9/5wzDdk5Lcuy2ai7ofw=", + "dev": true + } + } + }, + "babel-template": { + "version": "6.16.0", + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.16.0.tgz", + "integrity": "sha1-4UndGp8Do1+BfdvE0EgZiOfryMo=", + "dev": true, + "requires": { + "babel-runtime": "^6.9.0", + "babel-traverse": "^6.16.0", + "babel-types": "^6.16.0", + "babylon": "^6.11.0", + "lodash": "^4.2.0" + }, + "dependencies": { + "babel-traverse": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.18.0.tgz", + "integrity": "sha1-WuqpgLrtKgfIxHMpzZDDuQyA8F4=", + "dev": true, + "requires": { + "babel-code-frame": "^6.16.0", + "babel-messages": "^6.8.0", + "babel-runtime": "^6.9.0", + "babel-types": "^6.18.0", + "babylon": "^6.11.0", + "debug": "^2.2.0", + "globals": "^9.0.0", + "invariant": "^2.2.0", + "lodash": "^4.2.0" + }, + "dependencies": { + "babel-code-frame": { + "version": "6.16.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.16.0.tgz", + "integrity": "sha1-+Q5g2ghikJ084JhzO105h8l8uN4=", + "dev": true, + "requires": { + "chalk": "^1.1.0", + "esutils": "^2.0.2", + "js-tokens": "^2.0.0" + }, + "dependencies": { + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz", + "integrity": "sha1-xQYbbg74qBd15Q9dZhUb9r83EQc=", + "dev": true + } + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz", + "integrity": "sha1-xQYbbg74qBd15Q9dZhUb9r83EQc=", + "dev": true + } + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "esutils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "dev": true + }, + "js-tokens": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-2.0.0.tgz", + "integrity": "sha1-eZA/VWPud4zBFi5tzxoAJ8l/nLU=", + "dev": true + } + } + }, + "babel-messages": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.8.0.tgz", + "integrity": "sha1-v1BHNsqWfm1l7wrbWipflHyODrk=", + "dev": true, + "requires": { + "babel-runtime": "^6.0.0" + } + }, + "debug": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", + "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", + "dev": true, + "requires": { + "ms": "0.7.1" + }, + "dependencies": { + "ms": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", + "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=", + "dev": true + } + } + }, + "globals": { + "version": "9.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.12.0.tgz", + "integrity": "sha1-mSzpCCjDpV+o8W+toXettkZkz50=", + "dev": true + }, + "invariant": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.1.tgz", + "integrity": "sha1-sJcBBUdmjH4zcCjr6Bbr42yKjVQ=", + "dev": true, + "requires": { + "loose-envify": "^1.0.0" + }, + "dependencies": { + "loose-envify": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.0.tgz", + "integrity": "sha1-ayYkjEL21PpLDYVC947fzeNWQqg=", + "dev": true, + "requires": { + "js-tokens": "^2.0.0" + }, + "dependencies": { + "js-tokens": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-2.0.0.tgz", + "integrity": "sha1-eZA/VWPud4zBFi5tzxoAJ8l/nLU=", + "dev": true + } + } + } + } + } + } + }, + "babylon": { + "version": "6.13.1", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.13.1.tgz", + "integrity": "sha1-rco1DgiPBGdkcVdlK6/q1t2439s=", + "dev": true + }, + "lodash": { + "version": "4.16.6", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.16.6.tgz", + "integrity": "sha1-0iyaxmAojzhD4Wun0rXQbMon13c=", + "dev": true + } + } + }, + "babel-types": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.18.0.tgz", + "integrity": "sha1-H31ac0dMWeuRUbJBe7/05Pznw/g=", + "dev": true, + "requires": { + "babel-runtime": "^6.9.1", + "esutils": "^2.0.2", + "lodash": "^4.2.0", + "to-fast-properties": "^1.0.1" + }, + "dependencies": { + "esutils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "dev": true + }, + "lodash": { + "version": "4.16.6", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.16.6.tgz", + "integrity": "sha1-0iyaxmAojzhD4Wun0rXQbMon13c=", + "dev": true + }, + "to-fast-properties": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.2.tgz", + "integrity": "sha1-8/XAw7pymafvmUJ+RGMyV63kMyA=", + "dev": true + } + } + } + } + }, + "babel-plugin-transform-es2015-modules-systemjs": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.18.0.tgz", + "integrity": "sha1-8JKUcHFj7a5NOz6L+s7NAdkgt60=", + "dev": true, + "requires": { + "babel-helper-hoist-variables": "^6.18.0", + "babel-runtime": "^6.11.6", + "babel-template": "^6.14.0" + }, + "dependencies": { + "babel-helper-hoist-variables": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.18.0.tgz", + "integrity": "sha1-qDW1q4tG1t6bq++uTZjqQehmuCo=", + "dev": true, + "requires": { + "babel-runtime": "^6.0.0", + "babel-types": "^6.18.0" + }, + "dependencies": { + "babel-types": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.18.0.tgz", + "integrity": "sha1-H31ac0dMWeuRUbJBe7/05Pznw/g=", + "dev": true, + "requires": { + "babel-runtime": "^6.9.1", + "esutils": "^2.0.2", + "lodash": "^4.2.0", + "to-fast-properties": "^1.0.1" + }, + "dependencies": { + "esutils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "dev": true + }, + "lodash": { + "version": "4.16.6", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.16.6.tgz", + "integrity": "sha1-0iyaxmAojzhD4Wun0rXQbMon13c=", + "dev": true + }, + "to-fast-properties": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.2.tgz", + "integrity": "sha1-8/XAw7pymafvmUJ+RGMyV63kMyA=", + "dev": true + } + } + } + } + }, + "babel-runtime": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.18.0.tgz", + "integrity": "sha1-D0F3/9mEku8Tufgj6ZlKAlhMkHg=", + "dev": true, + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.9.5" + }, + "dependencies": { + "core-js": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz", + "integrity": "sha1-TekR5mew6ukSTjQlS1OupvxhjT4=", + "dev": true + }, + "regenerator-runtime": { + "version": "0.9.5", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.9.5.tgz", + "integrity": "sha1-QD1tQKS9/5wzDdk5Lcuy2ai7ofw=", + "dev": true + } + } + }, + "babel-template": { + "version": "6.16.0", + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.16.0.tgz", + "integrity": "sha1-4UndGp8Do1+BfdvE0EgZiOfryMo=", + "dev": true, + "requires": { + "babel-runtime": "^6.9.0", + "babel-traverse": "^6.16.0", + "babel-types": "^6.16.0", + "babylon": "^6.11.0", + "lodash": "^4.2.0" + }, + "dependencies": { + "babel-traverse": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.18.0.tgz", + "integrity": "sha1-WuqpgLrtKgfIxHMpzZDDuQyA8F4=", + "dev": true, + "requires": { + "babel-code-frame": "^6.16.0", + "babel-messages": "^6.8.0", + "babel-runtime": "^6.9.0", + "babel-types": "^6.18.0", + "babylon": "^6.11.0", + "debug": "^2.2.0", + "globals": "^9.0.0", + "invariant": "^2.2.0", + "lodash": "^4.2.0" + }, + "dependencies": { + "babel-code-frame": { + "version": "6.16.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.16.0.tgz", + "integrity": "sha1-+Q5g2ghikJ084JhzO105h8l8uN4=", + "dev": true, + "requires": { + "chalk": "^1.1.0", + "esutils": "^2.0.2", + "js-tokens": "^2.0.0" + }, + "dependencies": { + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz", + "integrity": "sha1-xQYbbg74qBd15Q9dZhUb9r83EQc=", + "dev": true + } + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz", + "integrity": "sha1-xQYbbg74qBd15Q9dZhUb9r83EQc=", + "dev": true + } + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "esutils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "dev": true + }, + "js-tokens": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-2.0.0.tgz", + "integrity": "sha1-eZA/VWPud4zBFi5tzxoAJ8l/nLU=", + "dev": true + } + } + }, + "babel-messages": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.8.0.tgz", + "integrity": "sha1-v1BHNsqWfm1l7wrbWipflHyODrk=", + "dev": true, + "requires": { + "babel-runtime": "^6.0.0" + } + }, + "debug": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", + "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", + "dev": true, + "requires": { + "ms": "0.7.1" + }, + "dependencies": { + "ms": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", + "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=", + "dev": true + } + } + }, + "globals": { + "version": "9.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.12.0.tgz", + "integrity": "sha1-mSzpCCjDpV+o8W+toXettkZkz50=", + "dev": true + }, + "invariant": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.1.tgz", + "integrity": "sha1-sJcBBUdmjH4zcCjr6Bbr42yKjVQ=", + "dev": true, + "requires": { + "loose-envify": "^1.0.0" + }, + "dependencies": { + "loose-envify": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.0.tgz", + "integrity": "sha1-ayYkjEL21PpLDYVC947fzeNWQqg=", + "dev": true, + "requires": { + "js-tokens": "^2.0.0" + }, + "dependencies": { + "js-tokens": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-2.0.0.tgz", + "integrity": "sha1-eZA/VWPud4zBFi5tzxoAJ8l/nLU=", + "dev": true + } + } + } + } + } + } + }, + "babel-types": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.18.0.tgz", + "integrity": "sha1-H31ac0dMWeuRUbJBe7/05Pznw/g=", + "dev": true, + "requires": { + "babel-runtime": "^6.9.1", + "esutils": "^2.0.2", + "lodash": "^4.2.0", + "to-fast-properties": "^1.0.1" + }, + "dependencies": { + "esutils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "dev": true + }, + "to-fast-properties": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.2.tgz", + "integrity": "sha1-8/XAw7pymafvmUJ+RGMyV63kMyA=", + "dev": true + } + } + }, + "babylon": { + "version": "6.13.1", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.13.1.tgz", + "integrity": "sha1-rco1DgiPBGdkcVdlK6/q1t2439s=", + "dev": true + }, + "lodash": { + "version": "4.16.6", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.16.6.tgz", + "integrity": "sha1-0iyaxmAojzhD4Wun0rXQbMon13c=", + "dev": true + } + } + } + } + }, + "babel-plugin-transform-es2015-modules-umd": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.18.0.tgz", + "integrity": "sha1-IzUXcOzlwfjoPtZ8sdeZKIRJHlA=", + "dev": true, + "requires": { + "babel-plugin-transform-es2015-modules-amd": "^6.18.0", + "babel-runtime": "^6.0.0", + "babel-template": "^6.8.0" + }, + "dependencies": { + "babel-runtime": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.18.0.tgz", + "integrity": "sha1-D0F3/9mEku8Tufgj6ZlKAlhMkHg=", + "dev": true, + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.9.5" + }, + "dependencies": { + "core-js": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz", + "integrity": "sha1-TekR5mew6ukSTjQlS1OupvxhjT4=", + "dev": true + }, + "regenerator-runtime": { + "version": "0.9.5", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.9.5.tgz", + "integrity": "sha1-QD1tQKS9/5wzDdk5Lcuy2ai7ofw=", + "dev": true + } + } + }, + "babel-template": { + "version": "6.16.0", + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.16.0.tgz", + "integrity": "sha1-4UndGp8Do1+BfdvE0EgZiOfryMo=", + "dev": true, + "requires": { + "babel-runtime": "^6.9.0", + "babel-traverse": "^6.16.0", + "babel-types": "^6.16.0", + "babylon": "^6.11.0", + "lodash": "^4.2.0" + }, + "dependencies": { + "babel-traverse": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.18.0.tgz", + "integrity": "sha1-WuqpgLrtKgfIxHMpzZDDuQyA8F4=", + "dev": true, + "requires": { + "babel-code-frame": "^6.16.0", + "babel-messages": "^6.8.0", + "babel-runtime": "^6.9.0", + "babel-types": "^6.18.0", + "babylon": "^6.11.0", + "debug": "^2.2.0", + "globals": "^9.0.0", + "invariant": "^2.2.0", + "lodash": "^4.2.0" + }, + "dependencies": { + "babel-code-frame": { + "version": "6.16.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.16.0.tgz", + "integrity": "sha1-+Q5g2ghikJ084JhzO105h8l8uN4=", + "dev": true, + "requires": { + "chalk": "^1.1.0", + "esutils": "^2.0.2", + "js-tokens": "^2.0.0" + }, + "dependencies": { + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz", + "integrity": "sha1-xQYbbg74qBd15Q9dZhUb9r83EQc=", + "dev": true + } + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz", + "integrity": "sha1-xQYbbg74qBd15Q9dZhUb9r83EQc=", + "dev": true + } + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "esutils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "dev": true + }, + "js-tokens": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-2.0.0.tgz", + "integrity": "sha1-eZA/VWPud4zBFi5tzxoAJ8l/nLU=", + "dev": true + } + } + }, + "babel-messages": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.8.0.tgz", + "integrity": "sha1-v1BHNsqWfm1l7wrbWipflHyODrk=", + "dev": true, + "requires": { + "babel-runtime": "^6.0.0" + } + }, + "debug": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", + "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", + "dev": true, + "requires": { + "ms": "0.7.1" + }, + "dependencies": { + "ms": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", + "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=", + "dev": true + } + } + }, + "globals": { + "version": "9.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.12.0.tgz", + "integrity": "sha1-mSzpCCjDpV+o8W+toXettkZkz50=", + "dev": true + }, + "invariant": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.1.tgz", + "integrity": "sha1-sJcBBUdmjH4zcCjr6Bbr42yKjVQ=", + "dev": true, + "requires": { + "loose-envify": "^1.0.0" + }, + "dependencies": { + "loose-envify": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.0.tgz", + "integrity": "sha1-ayYkjEL21PpLDYVC947fzeNWQqg=", + "dev": true, + "requires": { + "js-tokens": "^2.0.0" + }, + "dependencies": { + "js-tokens": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-2.0.0.tgz", + "integrity": "sha1-eZA/VWPud4zBFi5tzxoAJ8l/nLU=", + "dev": true + } + } + } + } + } + } + }, + "babel-types": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.18.0.tgz", + "integrity": "sha1-H31ac0dMWeuRUbJBe7/05Pznw/g=", + "dev": true, + "requires": { + "babel-runtime": "^6.9.1", + "esutils": "^2.0.2", + "lodash": "^4.2.0", + "to-fast-properties": "^1.0.1" + }, + "dependencies": { + "esutils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "dev": true + }, + "to-fast-properties": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.2.tgz", + "integrity": "sha1-8/XAw7pymafvmUJ+RGMyV63kMyA=", + "dev": true + } + } + }, + "babylon": { + "version": "6.13.1", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.13.1.tgz", + "integrity": "sha1-rco1DgiPBGdkcVdlK6/q1t2439s=", + "dev": true + }, + "lodash": { + "version": "4.16.6", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.16.6.tgz", + "integrity": "sha1-0iyaxmAojzhD4Wun0rXQbMon13c=", + "dev": true + } + } + } + } + }, + "babel-plugin-transform-es2015-object-super": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.8.0.tgz", + "integrity": "sha1-G4WHQKWkQAiHwj3P9vTVbupKJMU=", + "dev": true, + "requires": { + "babel-helper-replace-supers": "^6.8.0", + "babel-runtime": "^6.0.0" + }, + "dependencies": { + "babel-helper-replace-supers": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.18.0.tgz", + "integrity": "sha1-KOxph3vkFE29ZPTMOjN+ifKakk4=", + "dev": true, + "requires": { + "babel-helper-optimise-call-expression": "^6.18.0", + "babel-messages": "^6.8.0", + "babel-runtime": "^6.0.0", + "babel-template": "^6.16.0", + "babel-traverse": "^6.18.0", + "babel-types": "^6.18.0" + }, + "dependencies": { + "babel-helper-optimise-call-expression": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.18.0.tgz", + "integrity": "sha1-kmHQKZ7hpPCKbdKLe3x3c0j9jw8=", + "dev": true, + "requires": { + "babel-runtime": "^6.0.0", + "babel-types": "^6.18.0" + } + }, + "babel-messages": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.8.0.tgz", + "integrity": "sha1-v1BHNsqWfm1l7wrbWipflHyODrk=", + "dev": true, + "requires": { + "babel-runtime": "^6.0.0" + } + }, + "babel-template": { + "version": "6.16.0", + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.16.0.tgz", + "integrity": "sha1-4UndGp8Do1+BfdvE0EgZiOfryMo=", + "dev": true, + "requires": { + "babel-runtime": "^6.9.0", + "babel-traverse": "^6.16.0", + "babel-types": "^6.16.0", + "babylon": "^6.11.0", + "lodash": "^4.2.0" + }, + "dependencies": { + "babylon": { + "version": "6.13.1", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.13.1.tgz", + "integrity": "sha1-rco1DgiPBGdkcVdlK6/q1t2439s=", + "dev": true + }, + "lodash": { + "version": "4.16.6", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.16.6.tgz", + "integrity": "sha1-0iyaxmAojzhD4Wun0rXQbMon13c=", + "dev": true + } + } + }, + "babel-traverse": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.18.0.tgz", + "integrity": "sha1-WuqpgLrtKgfIxHMpzZDDuQyA8F4=", + "dev": true, + "requires": { + "babel-code-frame": "^6.16.0", + "babel-messages": "^6.8.0", + "babel-runtime": "^6.9.0", + "babel-types": "^6.18.0", + "babylon": "^6.11.0", + "debug": "^2.2.0", + "globals": "^9.0.0", + "invariant": "^2.2.0", + "lodash": "^4.2.0" + }, + "dependencies": { + "babel-code-frame": { + "version": "6.16.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.16.0.tgz", + "integrity": "sha1-+Q5g2ghikJ084JhzO105h8l8uN4=", + "dev": true, + "requires": { + "chalk": "^1.1.0", + "esutils": "^2.0.2", + "js-tokens": "^2.0.0" + }, + "dependencies": { + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz", + "integrity": "sha1-xQYbbg74qBd15Q9dZhUb9r83EQc=", + "dev": true + } + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz", + "integrity": "sha1-xQYbbg74qBd15Q9dZhUb9r83EQc=", + "dev": true + } + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "esutils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "dev": true + }, + "js-tokens": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-2.0.0.tgz", + "integrity": "sha1-eZA/VWPud4zBFi5tzxoAJ8l/nLU=", + "dev": true + } + } + }, + "babylon": { + "version": "6.13.1", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.13.1.tgz", + "integrity": "sha1-rco1DgiPBGdkcVdlK6/q1t2439s=", + "dev": true + }, + "debug": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", + "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", + "dev": true, + "requires": { + "ms": "0.7.1" + }, + "dependencies": { + "ms": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", + "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=", + "dev": true + } + } + }, + "globals": { + "version": "9.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.12.0.tgz", + "integrity": "sha1-mSzpCCjDpV+o8W+toXettkZkz50=", + "dev": true + }, + "invariant": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.1.tgz", + "integrity": "sha1-sJcBBUdmjH4zcCjr6Bbr42yKjVQ=", + "dev": true, + "requires": { + "loose-envify": "^1.0.0" + }, + "dependencies": { + "loose-envify": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.0.tgz", + "integrity": "sha1-ayYkjEL21PpLDYVC947fzeNWQqg=", + "dev": true, + "requires": { + "js-tokens": "^2.0.0" + }, + "dependencies": { + "js-tokens": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-2.0.0.tgz", + "integrity": "sha1-eZA/VWPud4zBFi5tzxoAJ8l/nLU=", + "dev": true + } + } + } + } + }, + "lodash": { + "version": "4.16.6", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.16.6.tgz", + "integrity": "sha1-0iyaxmAojzhD4Wun0rXQbMon13c=", + "dev": true + } + } + }, + "babel-types": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.18.0.tgz", + "integrity": "sha1-H31ac0dMWeuRUbJBe7/05Pznw/g=", + "dev": true, + "requires": { + "babel-runtime": "^6.9.1", + "esutils": "^2.0.2", + "lodash": "^4.2.0", + "to-fast-properties": "^1.0.1" + }, + "dependencies": { + "esutils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "dev": true + }, + "lodash": { + "version": "4.16.6", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.16.6.tgz", + "integrity": "sha1-0iyaxmAojzhD4Wun0rXQbMon13c=", + "dev": true + }, + "to-fast-properties": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.2.tgz", + "integrity": "sha1-8/XAw7pymafvmUJ+RGMyV63kMyA=", + "dev": true + } + } + } + } + }, + "babel-runtime": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.18.0.tgz", + "integrity": "sha1-D0F3/9mEku8Tufgj6ZlKAlhMkHg=", + "dev": true, + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.9.5" + }, + "dependencies": { + "core-js": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz", + "integrity": "sha1-TekR5mew6ukSTjQlS1OupvxhjT4=", + "dev": true + }, + "regenerator-runtime": { + "version": "0.9.5", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.9.5.tgz", + "integrity": "sha1-QD1tQKS9/5wzDdk5Lcuy2ai7ofw=", + "dev": true + } + } + } + } + }, + "babel-plugin-transform-es2015-parameters": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.18.0.tgz", + "integrity": "sha1-myz+I4xUnxY1uif8HaqFi+cGCLE=", + "dev": true, + "requires": { + "babel-helper-call-delegate": "^6.18.0", + "babel-helper-get-function-arity": "^6.18.0", + "babel-runtime": "^6.9.0", + "babel-template": "^6.16.0", + "babel-traverse": "^6.18.0", + "babel-types": "^6.18.0" + }, + "dependencies": { + "babel-helper-call-delegate": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.18.0.tgz", + "integrity": "sha1-BbFKr6QwiEsDQJfvKenwZ+pBM70=", + "dev": true, + "requires": { + "babel-helper-hoist-variables": "^6.18.0", + "babel-runtime": "^6.0.0", + "babel-traverse": "^6.18.0", + "babel-types": "^6.18.0" + }, + "dependencies": { + "babel-helper-hoist-variables": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.18.0.tgz", + "integrity": "sha1-qDW1q4tG1t6bq++uTZjqQehmuCo=", + "dev": true, + "requires": { + "babel-runtime": "^6.0.0", + "babel-types": "^6.18.0" + } + } + } + }, + "babel-helper-get-function-arity": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.18.0.tgz", + "integrity": "sha1-pbGWlf0/nN/DKDmLR9r81wlPnyQ=", + "dev": true, + "requires": { + "babel-runtime": "^6.0.0", + "babel-types": "^6.18.0" + } + }, + "babel-runtime": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.18.0.tgz", + "integrity": "sha1-D0F3/9mEku8Tufgj6ZlKAlhMkHg=", + "dev": true, + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.9.5" + }, + "dependencies": { + "core-js": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz", + "integrity": "sha1-TekR5mew6ukSTjQlS1OupvxhjT4=", + "dev": true + }, + "regenerator-runtime": { + "version": "0.9.5", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.9.5.tgz", + "integrity": "sha1-QD1tQKS9/5wzDdk5Lcuy2ai7ofw=", + "dev": true + } + } + }, + "babel-template": { + "version": "6.16.0", + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.16.0.tgz", + "integrity": "sha1-4UndGp8Do1+BfdvE0EgZiOfryMo=", + "dev": true, + "requires": { + "babel-runtime": "^6.9.0", + "babel-traverse": "^6.16.0", + "babel-types": "^6.16.0", + "babylon": "^6.11.0", + "lodash": "^4.2.0" + }, + "dependencies": { + "babylon": { + "version": "6.13.1", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.13.1.tgz", + "integrity": "sha1-rco1DgiPBGdkcVdlK6/q1t2439s=", + "dev": true + }, + "lodash": { + "version": "4.16.6", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.16.6.tgz", + "integrity": "sha1-0iyaxmAojzhD4Wun0rXQbMon13c=", + "dev": true + } + } + }, + "babel-traverse": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.18.0.tgz", + "integrity": "sha1-WuqpgLrtKgfIxHMpzZDDuQyA8F4=", + "dev": true, + "requires": { + "babel-code-frame": "^6.16.0", + "babel-messages": "^6.8.0", + "babel-runtime": "^6.9.0", + "babel-types": "^6.18.0", + "babylon": "^6.11.0", + "debug": "^2.2.0", + "globals": "^9.0.0", + "invariant": "^2.2.0", + "lodash": "^4.2.0" + }, + "dependencies": { + "babel-code-frame": { + "version": "6.16.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.16.0.tgz", + "integrity": "sha1-+Q5g2ghikJ084JhzO105h8l8uN4=", + "dev": true, + "requires": { + "chalk": "^1.1.0", + "esutils": "^2.0.2", + "js-tokens": "^2.0.0" + }, + "dependencies": { + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz", + "integrity": "sha1-xQYbbg74qBd15Q9dZhUb9r83EQc=", + "dev": true + } + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz", + "integrity": "sha1-xQYbbg74qBd15Q9dZhUb9r83EQc=", + "dev": true + } + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "esutils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "dev": true + }, + "js-tokens": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-2.0.0.tgz", + "integrity": "sha1-eZA/VWPud4zBFi5tzxoAJ8l/nLU=", + "dev": true + } + } + }, + "babel-messages": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.8.0.tgz", + "integrity": "sha1-v1BHNsqWfm1l7wrbWipflHyODrk=", + "dev": true, + "requires": { + "babel-runtime": "^6.0.0" + } + }, + "babylon": { + "version": "6.13.1", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.13.1.tgz", + "integrity": "sha1-rco1DgiPBGdkcVdlK6/q1t2439s=", + "dev": true + }, + "debug": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", + "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", + "dev": true, + "requires": { + "ms": "0.7.1" + }, + "dependencies": { + "ms": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", + "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=", + "dev": true + } + } + }, + "globals": { + "version": "9.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.12.0.tgz", + "integrity": "sha1-mSzpCCjDpV+o8W+toXettkZkz50=", + "dev": true + }, + "invariant": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.1.tgz", + "integrity": "sha1-sJcBBUdmjH4zcCjr6Bbr42yKjVQ=", + "dev": true, + "requires": { + "loose-envify": "^1.0.0" + }, + "dependencies": { + "loose-envify": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.0.tgz", + "integrity": "sha1-ayYkjEL21PpLDYVC947fzeNWQqg=", + "dev": true, + "requires": { + "js-tokens": "^2.0.0" + }, + "dependencies": { + "js-tokens": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-2.0.0.tgz", + "integrity": "sha1-eZA/VWPud4zBFi5tzxoAJ8l/nLU=", + "dev": true + } + } + } + } + }, + "lodash": { + "version": "4.16.6", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.16.6.tgz", + "integrity": "sha1-0iyaxmAojzhD4Wun0rXQbMon13c=", + "dev": true + } + } + }, + "babel-types": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.18.0.tgz", + "integrity": "sha1-H31ac0dMWeuRUbJBe7/05Pznw/g=", + "dev": true, + "requires": { + "babel-runtime": "^6.9.1", + "esutils": "^2.0.2", + "lodash": "^4.2.0", + "to-fast-properties": "^1.0.1" + }, + "dependencies": { + "esutils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "dev": true + }, + "lodash": { + "version": "4.16.6", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.16.6.tgz", + "integrity": "sha1-0iyaxmAojzhD4Wun0rXQbMon13c=", + "dev": true + }, + "to-fast-properties": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.2.tgz", + "integrity": "sha1-8/XAw7pymafvmUJ+RGMyV63kMyA=", + "dev": true + } + } + } + } + }, + "babel-plugin-transform-es2015-shorthand-properties": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.18.0.tgz", + "integrity": "sha1-4u3jt99Hv5gBUZJlNNHdDL6lj0M=", + "dev": true, + "requires": { + "babel-runtime": "^6.0.0", + "babel-types": "^6.18.0" + }, + "dependencies": { + "babel-runtime": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.18.0.tgz", + "integrity": "sha1-D0F3/9mEku8Tufgj6ZlKAlhMkHg=", + "dev": true, + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.9.5" + }, + "dependencies": { + "core-js": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz", + "integrity": "sha1-TekR5mew6ukSTjQlS1OupvxhjT4=", + "dev": true + }, + "regenerator-runtime": { + "version": "0.9.5", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.9.5.tgz", + "integrity": "sha1-QD1tQKS9/5wzDdk5Lcuy2ai7ofw=", + "dev": true + } + } + }, + "babel-types": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.18.0.tgz", + "integrity": "sha1-H31ac0dMWeuRUbJBe7/05Pznw/g=", + "dev": true, + "requires": { + "babel-runtime": "^6.9.1", + "esutils": "^2.0.2", + "lodash": "^4.2.0", + "to-fast-properties": "^1.0.1" + }, + "dependencies": { + "esutils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "dev": true + }, + "lodash": { + "version": "4.16.6", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.16.6.tgz", + "integrity": "sha1-0iyaxmAojzhD4Wun0rXQbMon13c=", + "dev": true + }, + "to-fast-properties": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.2.tgz", + "integrity": "sha1-8/XAw7pymafvmUJ+RGMyV63kMyA=", + "dev": true + } + } + } + } + }, + "babel-plugin-transform-es2015-spread": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.8.0.tgz", + "integrity": "sha1-Ahf3N+O4IfpaZp8YfG7VkgXwXpw=", + "dev": true, + "requires": { + "babel-runtime": "^6.0.0" + }, + "dependencies": { + "babel-runtime": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.18.0.tgz", + "integrity": "sha1-D0F3/9mEku8Tufgj6ZlKAlhMkHg=", + "dev": true, + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.9.5" + }, + "dependencies": { + "core-js": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz", + "integrity": "sha1-TekR5mew6ukSTjQlS1OupvxhjT4=", + "dev": true + }, + "regenerator-runtime": { + "version": "0.9.5", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.9.5.tgz", + "integrity": "sha1-QD1tQKS9/5wzDdk5Lcuy2ai7ofw=", + "dev": true + } + } + } + } + }, + "babel-plugin-transform-es2015-sticky-regex": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.8.0.tgz", + "integrity": "sha1-5z0wCkQKNdXGT1wqNE3CNuPfR74=", + "dev": true, + "requires": { + "babel-helper-regex": "^6.8.0", + "babel-runtime": "^6.0.0", + "babel-types": "^6.8.0" + }, + "dependencies": { + "babel-helper-regex": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.18.0.tgz", + "integrity": "sha1-rg6/133obLLxryWOLMILX+iT7MY=", + "dev": true, + "requires": { + "babel-runtime": "^6.9.0", + "babel-types": "^6.18.0", + "lodash": "^4.2.0" + }, + "dependencies": { + "lodash": { + "version": "4.16.6", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.16.6.tgz", + "integrity": "sha1-0iyaxmAojzhD4Wun0rXQbMon13c=", + "dev": true + } + } + }, + "babel-runtime": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.18.0.tgz", + "integrity": "sha1-D0F3/9mEku8Tufgj6ZlKAlhMkHg=", + "dev": true, + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.9.5" + }, + "dependencies": { + "core-js": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz", + "integrity": "sha1-TekR5mew6ukSTjQlS1OupvxhjT4=", + "dev": true + }, + "regenerator-runtime": { + "version": "0.9.5", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.9.5.tgz", + "integrity": "sha1-QD1tQKS9/5wzDdk5Lcuy2ai7ofw=", + "dev": true + } + } + }, + "babel-types": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.18.0.tgz", + "integrity": "sha1-H31ac0dMWeuRUbJBe7/05Pznw/g=", + "dev": true, + "requires": { + "babel-runtime": "^6.9.1", + "esutils": "^2.0.2", + "lodash": "^4.2.0", + "to-fast-properties": "^1.0.1" + }, + "dependencies": { + "esutils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "dev": true + }, + "lodash": { + "version": "4.16.6", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.16.6.tgz", + "integrity": "sha1-0iyaxmAojzhD4Wun0rXQbMon13c=", + "dev": true + }, + "to-fast-properties": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.2.tgz", + "integrity": "sha1-8/XAw7pymafvmUJ+RGMyV63kMyA=", + "dev": true + } + } + } + } + }, + "babel-plugin-transform-es2015-template-literals": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.8.0.tgz", + "integrity": "sha1-huuHbQosY12k7ASLT33p38iX5ms=", + "dev": true, + "requires": { + "babel-runtime": "^6.0.0" + }, + "dependencies": { + "babel-runtime": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.18.0.tgz", + "integrity": "sha1-D0F3/9mEku8Tufgj6ZlKAlhMkHg=", + "dev": true, + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.9.5" + }, + "dependencies": { + "core-js": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz", + "integrity": "sha1-TekR5mew6ukSTjQlS1OupvxhjT4=", + "dev": true + }, + "regenerator-runtime": { + "version": "0.9.5", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.9.5.tgz", + "integrity": "sha1-QD1tQKS9/5wzDdk5Lcuy2ai7ofw=", + "dev": true + } + } + } + } + }, + "babel-plugin-transform-es2015-typeof-symbol": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.18.0.tgz", + "integrity": "sha1-CxTEhinJD/R6BlAHf2qmmb7jV5g=", + "dev": true, + "requires": { + "babel-runtime": "^6.0.0" + }, + "dependencies": { + "babel-runtime": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.18.0.tgz", + "integrity": "sha1-D0F3/9mEku8Tufgj6ZlKAlhMkHg=", + "dev": true, + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.9.5" + }, + "dependencies": { + "core-js": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz", + "integrity": "sha1-TekR5mew6ukSTjQlS1OupvxhjT4=", + "dev": true + }, + "regenerator-runtime": { + "version": "0.9.5", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.9.5.tgz", + "integrity": "sha1-QD1tQKS9/5wzDdk5Lcuy2ai7ofw=", + "dev": true + } + } + } + } + }, + "babel-plugin-transform-es2015-unicode-regex": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.11.0.tgz", + "integrity": "sha1-YpjOq6rYjVCj9POS2N6ZcmD27yw=", + "dev": true, + "requires": { + "babel-helper-regex": "^6.8.0", + "babel-runtime": "^6.0.0", + "regexpu-core": "^2.0.0" + }, + "dependencies": { + "babel-helper-regex": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.18.0.tgz", + "integrity": "sha1-rg6/133obLLxryWOLMILX+iT7MY=", + "dev": true, + "requires": { + "babel-runtime": "^6.9.0", + "babel-types": "^6.18.0", + "lodash": "^4.2.0" + }, + "dependencies": { + "babel-types": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.18.0.tgz", + "integrity": "sha1-H31ac0dMWeuRUbJBe7/05Pznw/g=", + "dev": true, + "requires": { + "babel-runtime": "^6.9.1", + "esutils": "^2.0.2", + "lodash": "^4.2.0", + "to-fast-properties": "^1.0.1" + }, + "dependencies": { + "esutils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "dev": true + }, + "to-fast-properties": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.2.tgz", + "integrity": "sha1-8/XAw7pymafvmUJ+RGMyV63kMyA=", + "dev": true + } + } + }, + "lodash": { + "version": "4.16.6", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.16.6.tgz", + "integrity": "sha1-0iyaxmAojzhD4Wun0rXQbMon13c=", + "dev": true + } + } + }, + "babel-runtime": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.18.0.tgz", + "integrity": "sha1-D0F3/9mEku8Tufgj6ZlKAlhMkHg=", + "dev": true, + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.9.5" + }, + "dependencies": { + "core-js": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz", + "integrity": "sha1-TekR5mew6ukSTjQlS1OupvxhjT4=", + "dev": true + }, + "regenerator-runtime": { + "version": "0.9.5", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.9.5.tgz", + "integrity": "sha1-QD1tQKS9/5wzDdk5Lcuy2ai7ofw=", + "dev": true + } + } + }, + "regexpu-core": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz", + "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", + "dev": true, + "requires": { + "regenerate": "^1.2.1", + "regjsgen": "^0.2.0", + "regjsparser": "^0.1.4" + }, + "dependencies": { + "regenerate": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.3.1.tgz", + "integrity": "sha1-AwAgOl0v3PiRFtzoQnXQEfWQPzM=", + "dev": true + }, + "regjsgen": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", + "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=", + "dev": true + }, + "regjsparser": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", + "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", + "dev": true, + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true + } + } + } + } + } + } + }, + "babel-plugin-transform-regenerator": { + "version": "6.16.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.16.1.tgz", + "integrity": "sha1-p13msEihQVSq4UsBInVsW+05L1k=", + "dev": true, + "requires": { + "babel-runtime": "^6.9.0", + "babel-types": "^6.16.0", + "private": "~0.1.5" + }, + "dependencies": { + "babel-runtime": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.18.0.tgz", + "integrity": "sha1-D0F3/9mEku8Tufgj6ZlKAlhMkHg=", + "dev": true, + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.9.5" + }, + "dependencies": { + "core-js": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz", + "integrity": "sha1-TekR5mew6ukSTjQlS1OupvxhjT4=", + "dev": true + }, + "regenerator-runtime": { + "version": "0.9.5", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.9.5.tgz", + "integrity": "sha1-QD1tQKS9/5wzDdk5Lcuy2ai7ofw=", + "dev": true + } + } + }, + "babel-types": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.18.0.tgz", + "integrity": "sha1-H31ac0dMWeuRUbJBe7/05Pznw/g=", + "dev": true, + "requires": { + "babel-runtime": "^6.9.1", + "esutils": "^2.0.2", + "lodash": "^4.2.0", + "to-fast-properties": "^1.0.1" + }, + "dependencies": { + "esutils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "dev": true + }, + "lodash": { + "version": "4.16.6", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.16.6.tgz", + "integrity": "sha1-0iyaxmAojzhD4Wun0rXQbMon13c=", + "dev": true + }, + "to-fast-properties": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.2.tgz", + "integrity": "sha1-8/XAw7pymafvmUJ+RGMyV63kMyA=", + "dev": true + } + } + }, + "private": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/private/-/private-0.1.6.tgz", + "integrity": "sha1-VcapdtD5uvuZJIUTUP5HubX7t8E=", + "dev": true + } + } + } + } + }, + "chai": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/chai/-/chai-3.5.0.tgz", + "integrity": "sha1-TQJjewZ/6Vi9v906QOxW/vc3Mkc=", + "dev": true, + "requires": { + "assertion-error": "^1.0.1", + "deep-eql": "^0.1.3", + "type-detect": "^1.0.0" + }, + "dependencies": { + "assertion-error": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.0.2.tgz", + "integrity": "sha1-E8pRXYYgbaC6xm6DTdOX2HWBCUw=", + "dev": true + }, + "deep-eql": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-0.1.3.tgz", + "integrity": "sha1-71WKyrjeJSBs1xOQbXTlaTDrafI=", + "dev": true, + "requires": { + "type-detect": "0.1.1" + }, + "dependencies": { + "type-detect": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-0.1.1.tgz", + "integrity": "sha1-C6XsKohWQORw6k6FBZcZANrFiCI=", + "dev": true + } + } + }, + "type-detect": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-1.0.0.tgz", + "integrity": "sha1-diIXzAbbJY7EiQihKY6LlRIejqI=", + "dev": true + } + } + }, + "coveralls": { + "version": "2.11.14", + "resolved": "https://registry.npmjs.org/coveralls/-/coveralls-2.11.14.tgz", + "integrity": "sha1-ZFoFrHKqTy7oEcZnOQ1K028MLiY=", + "dev": true, + "requires": { + "js-yaml": "3.6.1", + "lcov-parse": "0.0.10", + "log-driver": "1.2.5", + "minimist": "1.2.0", + "request": "2.75.0" + }, + "dependencies": { + "js-yaml": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.6.1.tgz", + "integrity": "sha1-bl/mfYsgXOTSL60Ft3geja3MSzA=", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^2.6.0" + }, + "dependencies": { + "argparse": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz", + "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + }, + "dependencies": { + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + } + } + }, + "esprima": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", + "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", + "dev": true + } + } + }, + "lcov-parse": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/lcov-parse/-/lcov-parse-0.0.10.tgz", + "integrity": "sha1-GwuP+ayceIklBYK3C3ExXZ2m2aM=", + "dev": true + }, + "log-driver": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/log-driver/-/log-driver-1.2.5.tgz", + "integrity": "sha1-euTsJXMC/XkNVXyxDJcQDYV7AFY=", + "dev": true + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "request": { + "version": "2.75.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.75.0.tgz", + "integrity": "sha1-0rgmiihtoT6qXQGt9dGMyQ9lfZM=", + "dev": true, + "requires": { + "aws-sign2": "~0.6.0", + "aws4": "^1.2.1", + "bl": "~1.1.2", + "caseless": "~0.11.0", + "combined-stream": "~1.0.5", + "extend": "~3.0.0", + "forever-agent": "~0.6.1", + "form-data": "~2.0.0", + "har-validator": "~2.0.6", + "hawk": "~3.1.3", + "http-signature": "~1.1.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.7", + "node-uuid": "~1.4.7", + "oauth-sign": "~0.8.1", + "qs": "~6.2.0", + "stringstream": "~0.0.4", + "tough-cookie": "~2.3.0", + "tunnel-agent": "~0.4.1" + }, + "dependencies": { + "aws-sign2": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", + "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=", + "dev": true + }, + "aws4": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.5.0.tgz", + "integrity": "sha1-Cin/t5wxyecS7rCH6OemS0pW11U=", + "dev": true + }, + "bl": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.1.2.tgz", + "integrity": "sha1-/cqHGplxOqANGeO7ukHER4emU5g=", + "dev": true, + "requires": { + "readable-stream": "~2.0.5" + }, + "dependencies": { + "readable-stream": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", + "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "string_decoder": "~0.10.x", + "util-deprecate": "~1.0.1" + }, + "dependencies": { + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "process-nextick-args": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", + "dev": true + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + } + } + } + } + }, + "caseless": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz", + "integrity": "sha1-cVuW6phBWTzDMGeSP17GDr2k99c=", + "dev": true + }, + "combined-stream": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", + "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=", + "dev": true, + "requires": { + "delayed-stream": "~1.0.0" + }, + "dependencies": { + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true + } + } + }, + "extend": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz", + "integrity": "sha1-WkdDU7nzNT3dgXbf03uRyDpG8dQ=", + "dev": true + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true + }, + "form-data": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.0.0.tgz", + "integrity": "sha1-bwrrrcxdoWwT4ezBETfYX5uIOyU=", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.5", + "mime-types": "^2.1.11" + }, + "dependencies": { + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true + } + } + }, + "har-validator": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz", + "integrity": "sha1-zcvAgYgmWtEZtqWnyKtw7s+10n0=", + "dev": true, + "requires": { + "chalk": "^1.1.1", + "commander": "^2.9.0", + "is-my-json-valid": "^2.12.4", + "pinkie-promise": "^2.0.0" + }, + "dependencies": { + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz", + "integrity": "sha1-xQYbbg74qBd15Q9dZhUb9r83EQc=", + "dev": true + } + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz", + "integrity": "sha1-xQYbbg74qBd15Q9dZhUb9r83EQc=", + "dev": true + } + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "commander": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", + "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=", + "dev": true, + "requires": { + "graceful-readlink": ">= 1.0.0" + }, + "dependencies": { + "graceful-readlink": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", + "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=", + "dev": true + } + } + }, + "is-my-json-valid": { + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.15.0.tgz", + "integrity": "sha1-k27do8o8IR/ZjzstPgjaQ/eykVs=", + "dev": true, + "requires": { + "generate-function": "^2.0.0", + "generate-object-property": "^1.1.0", + "jsonpointer": "^4.0.0", + "xtend": "^4.0.0" + }, + "dependencies": { + "generate-function": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz", + "integrity": "sha1-aFj+fAlpt9TpCTM3ZHrHn2DfvnQ=", + "dev": true + }, + "generate-object-property": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", + "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=", + "dev": true, + "requires": { + "is-property": "^1.0.0" + }, + "dependencies": { + "is-property": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", + "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=", + "dev": true + } + } + }, + "jsonpointer": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.0.tgz", + "integrity": "sha1-ZmHhYdL8RF8Z+YQwIxNDci4fy9U=", + "dev": true + }, + "xtend": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", + "dev": true + } + } + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + }, + "dependencies": { + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + } + } + } + } + }, + "hawk": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", + "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", + "dev": true, + "requires": { + "boom": "2.x.x", + "cryptiles": "2.x.x", + "hoek": "2.x.x", + "sntp": "1.x.x" + }, + "dependencies": { + "boom": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", + "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", + "dev": true, + "requires": { + "hoek": "2.x.x" + } + }, + "cryptiles": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", + "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", + "dev": true, + "requires": { + "boom": "2.x.x" + } + }, + "hoek": { + "version": "2.16.3", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", + "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=", + "dev": true + }, + "sntp": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", + "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", + "dev": true, + "requires": { + "hoek": "2.x.x" + } + } + } + }, + "http-signature": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", + "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", + "dev": true, + "requires": { + "assert-plus": "^0.2.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + }, + "dependencies": { + "assert-plus": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", + "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=", + "dev": true + }, + "jsprim": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.3.1.tgz", + "integrity": "sha1-KnJW9wQSop7jZwqspiWZTE3P8lI=", + "dev": true, + "requires": { + "extsprintf": "1.0.2", + "json-schema": "0.2.3", + "verror": "1.3.6" + }, + "dependencies": { + "extsprintf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz", + "integrity": "sha1-4QgOBljjALBilJkMxw4VAiNf1VA=", + "dev": true + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "dev": true + }, + "verror": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz", + "integrity": "sha1-z/XfEpRtKX0rqu+qJoniW+AcAFw=", + "dev": true, + "requires": { + "extsprintf": "1.0.2" + } + } + } + }, + "sshpk": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.10.1.tgz", + "integrity": "sha1-MOGl0ykkSXShr2FREznVla9mOLA=", + "dev": true, + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jodid25519": "^1.0.0", + "jsbn": "~0.1.0", + "tweetnacl": "~0.14.0" + }, + "dependencies": { + "asn1": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", + "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=", + "dev": true + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + }, + "bcrypt-pbkdf": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.0.tgz", + "integrity": "sha1-PKdrhSQccXC/fZcD57mqdGMAQNQ=", + "dev": true, + "optional": true, + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "dashdash": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.0.tgz", + "integrity": "sha1-KeSGxUGL8PNWA0qZPVFoajPoQUE=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "ecc-jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", + "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", + "dev": true, + "optional": true, + "requires": { + "jsbn": "~0.1.0" + } + }, + "getpass": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.6.tgz", + "integrity": "sha1-KD/9n8ElaECHUxHBtg6MQBhxEOY=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "jodid25519": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/jodid25519/-/jodid25519-1.0.2.tgz", + "integrity": "sha1-BtSRIlUJNBlHfUJWM2BuDpB4KWc=", + "dev": true, + "optional": true, + "requires": { + "jsbn": "~0.1.0" + } + }, + "jsbn": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.0.tgz", + "integrity": "sha1-ZQmH2g3XT06/WhE3eiqi0nPpff0=", + "dev": true, + "optional": true + }, + "tweetnacl": { + "version": "0.14.3", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.3.tgz", + "integrity": "sha1-PaOC9nDyXe1417PReSEZvKC3Ey0=", + "dev": true, + "optional": true + } + } + } + } + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true + }, + "mime-types": { + "version": "2.1.12", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.12.tgz", + "integrity": "sha1-FSuiVndwIN1GY/VMLnvCY4HnFyk=", + "dev": true, + "requires": { + "mime-db": "~1.24.0" + }, + "dependencies": { + "mime-db": { + "version": "1.24.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.24.0.tgz", + "integrity": "sha1-4tE/k58AFsbk6a0lqGUvEmxGfww=", + "dev": true + } + } + }, + "node-uuid": { + "version": "1.4.7", + "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.7.tgz", + "integrity": "sha1-baWhdmjEs91ZYjvaEc9/pMH2Cm8=", + "dev": true + }, + "oauth-sign": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", + "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=", + "dev": true + }, + "qs": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.2.1.tgz", + "integrity": "sha1-zgPF/wk1vB2daanxTL0Y5WjWdiU=", + "dev": true + }, + "stringstream": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", + "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=", + "dev": true + }, + "tough-cookie": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.2.tgz", + "integrity": "sha1-8IH3bkyFcg5sN6X6ztc3FQ2EByo=", + "dev": true, + "requires": { + "punycode": "^1.4.1" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + } + } + }, + "tunnel-agent": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz", + "integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=", + "dev": true + } + } + } + } + }, + "gulp": { + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/gulp/-/gulp-3.9.1.tgz", + "integrity": "sha1-VxzkWSjdQK9lFPxAEYZgFsE4RbQ=", + "dev": true, + "requires": { + "archy": "^1.0.0", + "chalk": "^1.0.0", + "deprecated": "^0.0.1", + "gulp-util": "^3.0.0", + "interpret": "^1.0.0", + "liftoff": "^2.1.0", + "minimist": "^1.1.0", + "orchestrator": "^0.3.0", + "pretty-hrtime": "^1.0.0", + "semver": "^4.1.0", + "tildify": "^1.0.0", + "v8flags": "^2.0.2", + "vinyl-fs": "^0.3.0" + }, + "dependencies": { + "archy": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", + "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz", + "integrity": "sha1-xQYbbg74qBd15Q9dZhUb9r83EQc=", + "dev": true + } + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz", + "integrity": "sha1-xQYbbg74qBd15Q9dZhUb9r83EQc=", + "dev": true + } + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "deprecated": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/deprecated/-/deprecated-0.0.1.tgz", + "integrity": "sha1-+cmvVGSvoeepcUWKi97yqpTVuxk=", + "dev": true + }, + "gulp-util": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.7.tgz", + "integrity": "sha1-eJJcS4+LSQBawBoBHFV+YhiUHLs=", + "dev": true, + "requires": { + "array-differ": "^1.0.0", + "array-uniq": "^1.0.2", + "beeper": "^1.0.0", + "chalk": "^1.0.0", + "dateformat": "^1.0.11", + "fancy-log": "^1.1.0", + "gulplog": "^1.0.0", + "has-gulplog": "^0.1.0", + "lodash._reescape": "^3.0.0", + "lodash._reevaluate": "^3.0.0", + "lodash._reinterpolate": "^3.0.0", + "lodash.template": "^3.0.0", + "minimist": "^1.1.0", + "multipipe": "^0.1.2", + "object-assign": "^3.0.0", + "replace-ext": "0.0.1", + "through2": "^2.0.0", + "vinyl": "^0.5.0" + }, + "dependencies": { + "array-differ": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz", + "integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=", + "dev": true + }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", + "dev": true + }, + "beeper": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/beeper/-/beeper-1.1.0.tgz", + "integrity": "sha1-nub8HOf1T+qs585zWIsFYDeGaiw=", + "dev": true + }, + "dateformat": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz", + "integrity": "sha1-nxJLZ1lMk3/3BpMuSmQsyo27/uk=", + "dev": true, + "requires": { + "get-stdin": "^4.0.1", + "meow": "^3.3.0" + }, + "dependencies": { + "get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", + "dev": true + }, + "meow": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", + "dev": true, + "requires": { + "camelcase-keys": "^2.0.0", + "decamelize": "^1.1.2", + "loud-rejection": "^1.0.0", + "map-obj": "^1.0.1", + "minimist": "^1.1.3", + "normalize-package-data": "^2.3.4", + "object-assign": "^4.0.1", + "read-pkg-up": "^1.0.1", + "redent": "^1.0.0", + "trim-newlines": "^1.0.0" + }, + "dependencies": { + "camelcase-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", + "dev": true, + "requires": { + "camelcase": "^2.0.0", + "map-obj": "^1.0.0" + }, + "dependencies": { + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", + "dev": true + } + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "loud-rejection": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", + "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", + "dev": true, + "requires": { + "currently-unhandled": "^0.4.1", + "signal-exit": "^3.0.0" + }, + "dependencies": { + "currently-unhandled": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", + "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", + "dev": true, + "requires": { + "array-find-index": "^1.0.1" + }, + "dependencies": { + "array-find-index": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", + "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", + "dev": true + } + } + }, + "signal-exit": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.1.tgz", + "integrity": "sha1-WkyISZK2OnrNm623iUw+6c/MrYE=", + "dev": true + } + } + }, + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "dev": true + }, + "normalize-package-data": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.3.5.tgz", + "integrity": "sha1-jZJPFClg4Xd+f/4XBUNjHMfLAt8=", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "is-builtin-module": "^1.0.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + }, + "dependencies": { + "hosted-git-info": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.1.5.tgz", + "integrity": "sha1-C6gdkNouJas0ozLm7HeTbhWYEYs=", + "dev": true + }, + "is-builtin-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", + "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", + "dev": true, + "requires": { + "builtin-modules": "^1.0.0" + }, + "dependencies": { + "builtin-modules": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", + "dev": true + } + } + }, + "validate-npm-package-license": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz", + "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=", + "dev": true, + "requires": { + "spdx-correct": "~1.0.0", + "spdx-expression-parse": "~1.0.0" + }, + "dependencies": { + "spdx-correct": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz", + "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=", + "dev": true, + "requires": { + "spdx-license-ids": "^1.0.2" + }, + "dependencies": { + "spdx-license-ids": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz", + "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=", + "dev": true + } + } + }, + "spdx-expression-parse": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz", + "integrity": "sha1-m98vIOH0DtRH++JzJmGR/O1RYmw=", + "dev": true + } + } + } + } + }, + "object-assign": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz", + "integrity": "sha1-ejs9DpgGPUP0wD8uiubNUahog6A=", + "dev": true + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dev": true, + "requires": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + }, + "dependencies": { + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "dependencies": { + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "requires": { + "pinkie-promise": "^2.0.0" + } + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + }, + "dependencies": { + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + } + } + } + } + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true, + "requires": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + }, + "dependencies": { + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + }, + "dependencies": { + "graceful-fs": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.9.tgz", + "integrity": "sha1-uqy6N9GdEfnRRtNXi8mZWMN4fik=", + "dev": true + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "requires": { + "error-ex": "^1.2.0" + }, + "dependencies": { + "error-ex": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.0.tgz", + "integrity": "sha1-5ntD8+gsluo6WE/+4Ln8MyXYAtk=", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + }, + "dependencies": { + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + } + } + } + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + }, + "dependencies": { + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + } + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "requires": { + "is-utf8": "^0.2.0" + }, + "dependencies": { + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true + } + } + } + } + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "dependencies": { + "graceful-fs": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.9.tgz", + "integrity": "sha1-uqy6N9GdEfnRRtNXi8mZWMN4fik=", + "dev": true + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + }, + "dependencies": { + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + } + } + } + } + } + } + } + } + }, + "redent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", + "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", + "dev": true, + "requires": { + "indent-string": "^2.1.0", + "strip-indent": "^1.0.1" + }, + "dependencies": { + "indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "dev": true, + "requires": { + "repeating": "^2.0.0" + }, + "dependencies": { + "repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "dev": true, + "requires": { + "is-finite": "^1.0.0" + }, + "dependencies": { + "is-finite": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", + "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + }, + "dependencies": { + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true + } + } + } + } + } + } + }, + "strip-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", + "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "dev": true, + "requires": { + "get-stdin": "^4.0.1" + } + } + } + }, + "trim-newlines": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", + "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", + "dev": true + } + } + } + } + }, + "fancy-log": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.2.0.tgz", + "integrity": "sha1-1aUbU+mrIsoH1VjytnrlX9tfy9g=", + "dev": true, + "requires": { + "chalk": "^1.1.1", + "time-stamp": "^1.0.0" + }, + "dependencies": { + "time-stamp": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.0.1.tgz", + "integrity": "sha1-n0vSNVnJNllm8zAtu6KwfGuZsVE=", + "dev": true + } + } + }, + "gulplog": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz", + "integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=", + "dev": true, + "requires": { + "glogg": "^1.0.0" + }, + "dependencies": { + "glogg": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.0.tgz", + "integrity": "sha1-f+DxmfV6yQbPUS/urY+Q7kooT8U=", + "dev": true, + "requires": { + "sparkles": "^1.0.0" + }, + "dependencies": { + "sparkles": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.0.tgz", + "integrity": "sha1-Gsu/tZJDbRC76PeFt8xvgoFQEsM=", + "dev": true + } + } + } + } + }, + "has-gulplog": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz", + "integrity": "sha1-ZBTIKRNpfaUVkDl9r7EvIpZ4Ec4=", + "dev": true, + "requires": { + "sparkles": "^1.0.0" + }, + "dependencies": { + "sparkles": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.0.tgz", + "integrity": "sha1-Gsu/tZJDbRC76PeFt8xvgoFQEsM=", + "dev": true + } + } + }, + "lodash._reescape": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reescape/-/lodash._reescape-3.0.0.tgz", + "integrity": "sha1-Kx1vXf4HyKNVdT5fJ/rH8c3hYWo=", + "dev": true + }, + "lodash._reevaluate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz", + "integrity": "sha1-WLx0xAZklTrgsSTYBpltrKQx4u0=", + "dev": true + }, + "lodash._reinterpolate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", + "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=", + "dev": true + }, + "lodash.template": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz", + "integrity": "sha1-+M3sxhaaJVvpCYrosMU9N4kx0U8=", + "dev": true, + "requires": { + "lodash._basecopy": "^3.0.0", + "lodash._basetostring": "^3.0.0", + "lodash._basevalues": "^3.0.0", + "lodash._isiterateecall": "^3.0.0", + "lodash._reinterpolate": "^3.0.0", + "lodash.escape": "^3.0.0", + "lodash.keys": "^3.0.0", + "lodash.restparam": "^3.0.0", + "lodash.templatesettings": "^3.0.0" + }, + "dependencies": { + "lodash._basecopy": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz", + "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=", + "dev": true + }, + "lodash._basetostring": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz", + "integrity": "sha1-0YYdh3+CSlL2aYMtyvPuFVZqB9U=", + "dev": true + }, + "lodash._basevalues": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz", + "integrity": "sha1-W3dXYoAr3j0yl1A+JjAIIP32Ybc=", + "dev": true + }, + "lodash._isiterateecall": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz", + "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=", + "dev": true + }, + "lodash.escape": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz", + "integrity": "sha1-mV7g3BjBtIzJLv+ucaEKq1tIdpg=", + "dev": true, + "requires": { + "lodash._root": "^3.0.0" + }, + "dependencies": { + "lodash._root": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz", + "integrity": "sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI=", + "dev": true + } + } + }, + "lodash.keys": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz", + "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=", + "dev": true, + "requires": { + "lodash._getnative": "^3.0.0", + "lodash.isarguments": "^3.0.0", + "lodash.isarray": "^3.0.0" + }, + "dependencies": { + "lodash._getnative": { + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz", + "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=", + "dev": true + }, + "lodash.isarguments": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", + "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=", + "dev": true + }, + "lodash.isarray": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz", + "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=", + "dev": true + } + } + }, + "lodash.restparam": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz", + "integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=", + "dev": true + }, + "lodash.templatesettings": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz", + "integrity": "sha1-+zB4RHU7Zrnxr6VOJix0UwfbqOU=", + "dev": true, + "requires": { + "lodash._reinterpolate": "^3.0.0", + "lodash.escape": "^3.0.0" + } + } + } + }, + "multipipe": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz", + "integrity": "sha1-Ko8t33Du1WTf8tV/HhoTfZ8FB4s=", + "dev": true, + "requires": { + "duplexer2": "0.0.2" + }, + "dependencies": { + "duplexer2": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz", + "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=", + "dev": true, + "requires": { + "readable-stream": "~1.1.9" + }, + "dependencies": { + "readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + }, + "dependencies": { + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + } + } + } + } + } + } + }, + "object-assign": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz", + "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=", + "dev": true + }, + "replace-ext": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz", + "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=", + "dev": true + }, + "through2": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.1.tgz", + "integrity": "sha1-OE51MU1J8y3hLuu4E2uOtrXVnak=", + "dev": true, + "requires": { + "readable-stream": "~2.0.0", + "xtend": "~4.0.0" + }, + "dependencies": { + "readable-stream": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", + "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "string_decoder": "~0.10.x", + "util-deprecate": "~1.0.1" + }, + "dependencies": { + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "process-nextick-args": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", + "dev": true + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + } + } + }, + "xtend": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", + "dev": true + } + } + }, + "vinyl": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.5.3.tgz", + "integrity": "sha1-sEVbOPxeDPMNQyUTLkYZcMIJHN4=", + "dev": true, + "requires": { + "clone": "^1.0.0", + "clone-stats": "^0.0.1", + "replace-ext": "0.0.1" + }, + "dependencies": { + "clone": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.2.tgz", + "integrity": "sha1-Jgt6meux7f4kdTgXX3gyQ8sZ0Uk=", + "dev": true + }, + "clone-stats": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz", + "integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=", + "dev": true + } + } + } + } + }, + "interpret": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.0.1.tgz", + "integrity": "sha1-1Xn7f2k7hYAElHrzn6DbSfeVYCw=", + "dev": true + }, + "liftoff": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-2.3.0.tgz", + "integrity": "sha1-qY8v9nGD2Lp8+soQVIvX/wVQs4U=", + "dev": true, + "requires": { + "extend": "^3.0.0", + "findup-sync": "^0.4.2", + "fined": "^1.0.1", + "flagged-respawn": "^0.3.2", + "lodash.isplainobject": "^4.0.4", + "lodash.isstring": "^4.0.1", + "lodash.mapvalues": "^4.4.0", + "rechoir": "^0.6.2", + "resolve": "^1.1.7" + }, + "dependencies": { + "extend": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz", + "integrity": "sha1-WkdDU7nzNT3dgXbf03uRyDpG8dQ=", + "dev": true + }, + "findup-sync": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.4.3.tgz", + "integrity": "sha1-QAQ5Kee8YK3wt/SCfExudaDeyhI=", + "dev": true, + "requires": { + "detect-file": "^0.1.0", + "is-glob": "^2.0.1", + "micromatch": "^2.3.7", + "resolve-dir": "^0.1.0" + }, + "dependencies": { + "detect-file": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-0.1.0.tgz", + "integrity": "sha1-STXe39lIhkjgBrASlWbpOGcR6mM=", + "dev": true, + "requires": { + "fs-exists-sync": "^0.1.0" + }, + "dependencies": { + "fs-exists-sync": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz", + "integrity": "sha1-mC1ok6+RjnLQjeyehnP/K1qNat0=", + "dev": true + } + } + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "requires": { + "is-extglob": "^1.0.0" + }, + "dependencies": { + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + } + } + }, + "micromatch": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "dev": true, + "requires": { + "arr-diff": "^2.0.0", + "array-unique": "^0.2.1", + "braces": "^1.8.2", + "expand-brackets": "^0.1.4", + "extglob": "^0.3.1", + "filename-regex": "^2.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.1", + "kind-of": "^3.0.2", + "normalize-path": "^2.0.1", + "object.omit": "^2.0.0", + "parse-glob": "^3.0.4", + "regex-cache": "^0.4.2" + }, + "dependencies": { + "arr-diff": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", + "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", + "dev": true, + "requires": { + "arr-flatten": "^1.0.1" + }, + "dependencies": { + "arr-flatten": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.0.1.tgz", + "integrity": "sha1-5f/lTUXhnzLyFukeuZyM6JK7YEs=", + "dev": true + } + } + }, + "array-unique": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", + "dev": true + }, + "braces": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "dev": true, + "requires": { + "expand-range": "^1.8.1", + "preserve": "^0.2.0", + "repeat-element": "^1.1.2" + }, + "dependencies": { + "expand-range": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", + "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", + "dev": true, + "requires": { + "fill-range": "^2.1.0" + }, + "dependencies": { + "fill-range": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz", + "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=", + "dev": true, + "requires": { + "is-number": "^2.1.0", + "isobject": "^2.0.0", + "randomatic": "^1.1.3", + "repeat-element": "^1.1.2", + "repeat-string": "^1.5.2" + }, + "dependencies": { + "is-number": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", + "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "requires": { + "isarray": "1.0.0" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + } + } + }, + "randomatic": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.5.tgz", + "integrity": "sha1-Xp718tVzxnvSuBJK6QtRVuRXhAs=", + "dev": true, + "requires": { + "is-number": "^2.0.2", + "kind-of": "^3.0.2" + } + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true + } + } + } + } + }, + "preserve": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", + "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", + "dev": true + }, + "repeat-element": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", + "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=", + "dev": true + } + } + }, + "expand-brackets": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", + "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", + "dev": true, + "requires": { + "is-posix-bracket": "^0.1.0" + }, + "dependencies": { + "is-posix-bracket": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", + "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=", + "dev": true + } + } + }, + "extglob": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", + "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "dev": true, + "requires": { + "is-extglob": "^1.0.0" + } + }, + "filename-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.0.tgz", + "integrity": "sha1-mW4+gEebmLmJfxWopYs9CE6SZ3U=", + "dev": true + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "kind-of": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.0.4.tgz", + "integrity": "sha1-e47PGKThf4Jp1ztQHJ8jLJaIenQ=", + "dev": true, + "requires": { + "is-buffer": "^1.0.2" + }, + "dependencies": { + "is-buffer": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.4.tgz", + "integrity": "sha1-z8hszV3FpS+oBIkRHGkgxFfi2Ys=", + "dev": true + } + } + }, + "normalize-path": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.0.1.tgz", + "integrity": "sha1-R4hqwWYnYNQmG32XnSQXCdPOP3o=", + "dev": true + }, + "object.omit": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", + "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", + "dev": true, + "requires": { + "for-own": "^0.1.4", + "is-extendable": "^0.1.1" + }, + "dependencies": { + "for-own": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.4.tgz", + "integrity": "sha1-AUm0GjkIjHUV9R6+HBOG1F+TUHI=", + "dev": true, + "requires": { + "for-in": "^0.1.5" + }, + "dependencies": { + "for-in": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-0.1.6.tgz", + "integrity": "sha1-yfluib+tGKVFr17D7TUqHZ5bTcg=", + "dev": true + } + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true + } + } + }, + "parse-glob": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", + "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", + "dev": true, + "requires": { + "glob-base": "^0.3.0", + "is-dotfile": "^1.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.0" + }, + "dependencies": { + "glob-base": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", + "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", + "dev": true, + "requires": { + "glob-parent": "^2.0.0", + "is-glob": "^2.0.0" + }, + "dependencies": { + "glob-parent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", + "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", + "dev": true, + "requires": { + "is-glob": "^2.0.0" + } + } + } + }, + "is-dotfile": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.2.tgz", + "integrity": "sha1-LBMjg/ORmfjtwmjKAbmwB9IFzE0=", + "dev": true + } + } + }, + "regex-cache": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.3.tgz", + "integrity": "sha1-mxpsNdTQ3871cRrmUejp09cRQUU=", + "dev": true, + "requires": { + "is-equal-shallow": "^0.1.3", + "is-primitive": "^2.0.0" + }, + "dependencies": { + "is-equal-shallow": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", + "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", + "dev": true, + "requires": { + "is-primitive": "^2.0.0" + } + }, + "is-primitive": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", + "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", + "dev": true + } + } + } + } + }, + "resolve-dir": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-0.1.1.tgz", + "integrity": "sha1-shklmlYC+sXFxJatiUpujMQwJh4=", + "dev": true, + "requires": { + "expand-tilde": "^1.2.2", + "global-modules": "^0.2.3" + }, + "dependencies": { + "expand-tilde": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-1.2.2.tgz", + "integrity": "sha1-C4HrqJflo9MdHD0QL48BRB5VlEk=", + "dev": true, + "requires": { + "os-homedir": "^1.0.1" + }, + "dependencies": { + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "dev": true + } + } + }, + "global-modules": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-0.2.3.tgz", + "integrity": "sha1-6lo77ULG1s6ZWk+KEmm12uIjgo0=", + "dev": true, + "requires": { + "global-prefix": "^0.1.4", + "is-windows": "^0.2.0" + }, + "dependencies": { + "global-prefix": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-0.1.4.tgz", + "integrity": "sha1-BRWNsc3i3UkbRV4pDrOri/xFxuE=", + "dev": true, + "requires": { + "ini": "^1.3.4", + "is-windows": "^0.2.0", + "osenv": "^0.1.3", + "which": "^1.2.10" + }, + "dependencies": { + "ini": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz", + "integrity": "sha1-BTfLedr1m1mhpRff9wbIbsA5Fi4=", + "dev": true + }, + "osenv": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.3.tgz", + "integrity": "sha1-g88FxtZFj8TVrGNi6jJdkvJ1Qhc=", + "dev": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + }, + "dependencies": { + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "dev": true + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true + } + } + }, + "which": { + "version": "1.2.11", + "resolved": "https://registry.npmjs.org/which/-/which-1.2.11.tgz", + "integrity": "sha1-yLLu6muMFln6fB3U/aq+lTPcXos=", + "dev": true, + "requires": { + "isexe": "^1.1.1" + }, + "dependencies": { + "isexe": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-1.1.2.tgz", + "integrity": "sha1-NvPiLmB1CSD15yQaR2qMakInWtA=", + "dev": true + } + } + } + } + }, + "is-windows": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-0.2.0.tgz", + "integrity": "sha1-3hqm1j6indJIc3tp8f+LgALSEIw=", + "dev": true + } + } + } + } + } + } + }, + "fined": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/fined/-/fined-1.0.2.tgz", + "integrity": "sha1-WyhCS3YNdZiWC374SA3/itNmDpc=", + "dev": true, + "requires": { + "expand-tilde": "^1.2.1", + "lodash.assignwith": "^4.0.7", + "lodash.isempty": "^4.2.1", + "lodash.isplainobject": "^4.0.4", + "lodash.isstring": "^4.0.1", + "lodash.pick": "^4.2.1", + "parse-filepath": "^1.0.1" + }, + "dependencies": { + "expand-tilde": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-1.2.2.tgz", + "integrity": "sha1-C4HrqJflo9MdHD0QL48BRB5VlEk=", + "dev": true, + "requires": { + "os-homedir": "^1.0.1" + }, + "dependencies": { + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "dev": true + } + } + }, + "lodash.assignwith": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.assignwith/-/lodash.assignwith-4.2.0.tgz", + "integrity": "sha1-EnqX8CrcQXUalU0ksN4X4QDgOOs=", + "dev": true + }, + "lodash.isempty": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.isempty/-/lodash.isempty-4.4.0.tgz", + "integrity": "sha1-b4bL7di+TsmHvpqvM8loTbGzHn4=", + "dev": true + }, + "lodash.pick": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz", + "integrity": "sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM=", + "dev": true + }, + "parse-filepath": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.1.tgz", + "integrity": "sha1-FZ1hVdQ5BNFsEO9piRHaHpGWm3M=", + "dev": true, + "requires": { + "is-absolute": "^0.2.3", + "map-cache": "^0.2.0", + "path-root": "^0.1.1" + }, + "dependencies": { + "is-absolute": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-0.2.6.tgz", + "integrity": "sha1-IN5p89uULvLYe5wto28XIjWxtes=", + "dev": true, + "requires": { + "is-relative": "^0.2.1", + "is-windows": "^0.2.0" + }, + "dependencies": { + "is-relative": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-0.2.1.tgz", + "integrity": "sha1-0n9MfVFtF1+2ENuEu+7yPDvJeqU=", + "dev": true, + "requires": { + "is-unc-path": "^0.1.1" + }, + "dependencies": { + "is-unc-path": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-0.1.1.tgz", + "integrity": "sha1-qyUz13rXM1YRJMPcD1zYuQBUyGs=", + "dev": true, + "requires": { + "unc-path-regex": "^0.1.0" + }, + "dependencies": { + "unc-path-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", + "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=", + "dev": true + } + } + } + } + }, + "is-windows": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-0.2.0.tgz", + "integrity": "sha1-3hqm1j6indJIc3tp8f+LgALSEIw=", + "dev": true + } + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "dev": true + }, + "path-root": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz", + "integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=", + "dev": true, + "requires": { + "path-root-regex": "^0.1.0" + }, + "dependencies": { + "path-root-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz", + "integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=", + "dev": true + } + } + } + } + } + } + }, + "flagged-respawn": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-0.3.2.tgz", + "integrity": "sha1-/xke3c1wiKZ1smEP/8l2vpuAdLU=", + "dev": true + }, + "lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=", + "dev": true + }, + "lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=", + "dev": true + }, + "lodash.mapvalues": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.mapvalues/-/lodash.mapvalues-4.6.0.tgz", + "integrity": "sha1-G6+lAF3p3W9PJmaMMMo3IwzJaJw=", + "dev": true + }, + "rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", + "dev": true, + "requires": { + "resolve": "^1.1.6" + } + }, + "resolve": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", + "dev": true + } + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "orchestrator": { + "version": "0.3.7", + "resolved": "https://registry.npmjs.org/orchestrator/-/orchestrator-0.3.7.tgz", + "integrity": "sha1-xFBk4ixaKnuZc09AmpX/7cfTw98=", + "dev": true, + "requires": { + "end-of-stream": "~0.1.5", + "sequencify": "~0.0.7", + "stream-consume": "~0.1.0" + }, + "dependencies": { + "end-of-stream": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-0.1.5.tgz", + "integrity": "sha1-jhdyBsPICDfYVjLouTWd/osvbq8=", + "dev": true, + "requires": { + "once": "~1.3.0" + }, + "dependencies": { + "once": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz", + "integrity": "sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA=", + "dev": true, + "requires": { + "wrappy": "1" + }, + "dependencies": { + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + } + } + } + } + }, + "sequencify": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/sequencify/-/sequencify-0.0.7.tgz", + "integrity": "sha1-kM/xnQLgcCf9dn9erT57ldHnOAw=", + "dev": true + }, + "stream-consume": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/stream-consume/-/stream-consume-0.1.0.tgz", + "integrity": "sha1-pB6tGm1ggc63n2WwYZAbbY89HQ8=", + "dev": true + } + } + }, + "pretty-hrtime": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.2.tgz", + "integrity": "sha1-cMqW9NBiikQ7kYdY95QWqae8n6g=", + "dev": true + }, + "semver": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz", + "integrity": "sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=", + "dev": true + }, + "tildify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/tildify/-/tildify-1.2.0.tgz", + "integrity": "sha1-3OwD9V3Km3qj5bBPIYF+tW5jWIo=", + "dev": true, + "requires": { + "os-homedir": "^1.0.0" + }, + "dependencies": { + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "dev": true + } + } + }, + "v8flags": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-2.0.11.tgz", + "integrity": "sha1-vKjzDw1tYGEswsAGQeaWLUKuaIE=", + "dev": true, + "requires": { + "user-home": "^1.1.1" + }, + "dependencies": { + "user-home": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz", + "integrity": "sha1-K1viOjK2Onyd640PKNSFcko98ZA=", + "dev": true + } + } + }, + "vinyl-fs": { + "version": "0.3.14", + "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-0.3.14.tgz", + "integrity": "sha1-mmhRzhysHBzqX+hsCTHWIMLPqeY=", + "dev": true, + "requires": { + "defaults": "^1.0.0", + "glob-stream": "^3.1.5", + "glob-watcher": "^0.0.6", + "graceful-fs": "^3.0.0", + "mkdirp": "^0.5.0", + "strip-bom": "^1.0.0", + "through2": "^0.6.1", + "vinyl": "^0.4.0" + }, + "dependencies": { + "defaults": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", + "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", + "dev": true, + "requires": { + "clone": "^1.0.2" + }, + "dependencies": { + "clone": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.2.tgz", + "integrity": "sha1-Jgt6meux7f4kdTgXX3gyQ8sZ0Uk=", + "dev": true + } + } + }, + "glob-stream": { + "version": "3.1.18", + "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-3.1.18.tgz", + "integrity": "sha1-kXCl8St5Awb9/lmPMT+PeVT9FDs=", + "dev": true, + "requires": { + "glob": "^4.3.1", + "glob2base": "^0.0.12", + "minimatch": "^2.0.1", + "ordered-read-streams": "^0.1.0", + "through2": "^0.6.1", + "unique-stream": "^1.0.0" + }, + "dependencies": { + "glob": { + "version": "4.5.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-4.5.3.tgz", + "integrity": "sha1-xstz0yJsHv7wTePFbQEvAzd+4V8=", + "dev": true, + "requires": { + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^2.0.1", + "once": "^1.3.0" + }, + "dependencies": { + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + }, + "dependencies": { + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + } + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + }, + "dependencies": { + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + } + } + } + } + }, + "glob2base": { + "version": "0.0.12", + "resolved": "https://registry.npmjs.org/glob2base/-/glob2base-0.0.12.tgz", + "integrity": "sha1-nUGbPijxLoOjYhZKJ3BVkiycDVY=", + "dev": true, + "requires": { + "find-index": "^0.1.1" + }, + "dependencies": { + "find-index": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/find-index/-/find-index-0.1.1.tgz", + "integrity": "sha1-Z101iyyjiS15Whq0cjL4tuLg3eQ=", + "dev": true + } + } + }, + "minimatch": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz", + "integrity": "sha1-jQh8OcazjAAbl/ynzm0OHoCvusc=", + "dev": true, + "requires": { + "brace-expansion": "^1.0.0" + }, + "dependencies": { + "brace-expansion": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.6.tgz", + "integrity": "sha1-cZfX6qm4fmSDkOph/GbIRCdCDfk=", + "dev": true, + "requires": { + "balanced-match": "^0.4.1", + "concat-map": "0.0.1" + }, + "dependencies": { + "balanced-match": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", + "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + } + } + } + } + }, + "ordered-read-streams": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-0.1.0.tgz", + "integrity": "sha1-/VZamvjrRHO6abbtijQ1LLVS8SY=", + "dev": true + }, + "unique-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-1.0.0.tgz", + "integrity": "sha1-1ZpKdUJ0R9mqbJHnAmP40mpLEEs=", + "dev": true + } + } + }, + "glob-watcher": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-0.0.6.tgz", + "integrity": "sha1-uVtKjfdLOcgymLDAXJeLTZo7cQs=", + "dev": true, + "requires": { + "gaze": "^0.5.1" + }, + "dependencies": { + "gaze": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/gaze/-/gaze-0.5.2.tgz", + "integrity": "sha1-QLcJU30k0dRXZ9takIaJ3+aaxE8=", + "dev": true, + "requires": { + "globule": "~0.1.0" + }, + "dependencies": { + "globule": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/globule/-/globule-0.1.0.tgz", + "integrity": "sha1-2cjt3h2nnRJaFRt5UzuXhnY0auU=", + "dev": true, + "requires": { + "glob": "~3.1.21", + "lodash": "~1.0.1", + "minimatch": "~0.2.11" + }, + "dependencies": { + "glob": { + "version": "3.1.21", + "resolved": "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz", + "integrity": "sha1-0p4KBV3qUTj00H7UDomC6DwgZs0=", + "dev": true, + "requires": { + "graceful-fs": "~1.2.0", + "inherits": "1", + "minimatch": "~0.2.11" + }, + "dependencies": { + "graceful-fs": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz", + "integrity": "sha1-FaSAaldUfLLS2/J/QuiajDRRs2Q=", + "dev": true + }, + "inherits": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-1.0.2.tgz", + "integrity": "sha1-ykMJ2t7mtUzAuNJH6NfHoJdb3Js=", + "dev": true + } + } + }, + "lodash": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-1.0.2.tgz", + "integrity": "sha1-j1dWDIO1n8JwvT1WG2kAQ0MOJVE=", + "dev": true + }, + "minimatch": { + "version": "0.2.14", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", + "integrity": "sha1-x054BXT2PG+aCQ6Q775u9TpqdWo=", + "dev": true, + "requires": { + "lru-cache": "2", + "sigmund": "~1.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz", + "integrity": "sha1-bUUk6LlV+V1PW1iFHOId1y+06VI=", + "dev": true + }, + "sigmund": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", + "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=", + "dev": true + } + } + } + } + } + } + } + } + }, + "graceful-fs": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.11.tgz", + "integrity": "sha1-dhPHeKGv6mLyXGMKCG1/Osu92Bg=", + "dev": true, + "requires": { + "natives": "^1.1.0" + }, + "dependencies": { + "natives": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/natives/-/natives-1.1.0.tgz", + "integrity": "sha1-6f+EFBimsux6SV6TmYT3jxY+bjE=", + "dev": true + } + } + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "dev": true, + "requires": { + "minimist": "0.0.8" + }, + "dependencies": { + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true + } + } + }, + "strip-bom": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-1.0.0.tgz", + "integrity": "sha1-hbiGLzhEtabV7IRnqTWYFzo295Q=", + "dev": true, + "requires": { + "first-chunk-stream": "^1.0.0", + "is-utf8": "^0.2.0" + }, + "dependencies": { + "first-chunk-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz", + "integrity": "sha1-Wb+1DNkF9g18OUzT2ayqtOatk04=", + "dev": true + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true + } + } + }, + "through2": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", + "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", + "dev": true, + "requires": { + "readable-stream": ">=1.0.33-1 <1.1.0-0", + "xtend": ">=4.0.0 <4.1.0-0" + }, + "dependencies": { + "readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + }, + "dependencies": { + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + } + } + }, + "xtend": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", + "dev": true + } + } + }, + "vinyl": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz", + "integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=", + "dev": true, + "requires": { + "clone": "^0.2.0", + "clone-stats": "^0.0.1" + }, + "dependencies": { + "clone": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz", + "integrity": "sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=", + "dev": true + }, + "clone-stats": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz", + "integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=", + "dev": true + } + } + } + } + } + } + }, + "gulp-angular-templatecache": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/gulp-angular-templatecache/-/gulp-angular-templatecache-1.9.1.tgz", + "integrity": "sha1-YPYx6Xqqp2XZQuNwQuS/uxpd8kQ=", + "dev": true, + "requires": { + "event-stream": "3.3.2", + "gulp-concat": "2.6.0", + "gulp-footer": "1.0.5", + "gulp-header": "1.8.2", + "gulp-util": "3.0.7", + "js-string-escape": "~1.0.0" + }, + "dependencies": { + "event-stream": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/event-stream/-/event-stream-3.3.2.tgz", + "integrity": "sha1-PMMQ/rHyjS9isqCF1zap71ZjeLg=", + "dev": true, + "requires": { + "duplexer": "~0.1.1", + "from": "~0", + "map-stream": "~0.1.0", + "pause-stream": "0.0.11", + "split": "0.3", + "stream-combiner": "~0.0.4", + "through": "~2.3.1" + }, + "dependencies": { + "duplexer": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", + "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=", + "dev": true + }, + "from": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/from/-/from-0.1.3.tgz", + "integrity": "sha1-72OsIGKsMqz3hi4NQLRLiW8i87w=", + "dev": true + }, + "map-stream": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz", + "integrity": "sha1-5WqpTEyAVaFkBKBnS3jyFffI4ZQ=", + "dev": true + }, + "pause-stream": { + "version": "0.0.11", + "resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz", + "integrity": "sha1-/lo0sMvOErWqaitAPuLnO2AvFEU=", + "dev": true, + "requires": { + "through": "~2.3" + } + }, + "split": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/split/-/split-0.3.3.tgz", + "integrity": "sha1-zQ7qXmOiEd//frDwkcQTPi0N0o8=", + "dev": true, + "requires": { + "through": "2" + } + }, + "stream-combiner": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz", + "integrity": "sha1-TV5DPBhSYd3mI8o/RMWGvPXErRQ=", + "dev": true, + "requires": { + "duplexer": "~0.1.1" + } + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + } + } + }, + "gulp-footer": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/gulp-footer/-/gulp-footer-1.0.5.tgz", + "integrity": "sha1-6Eynd+Jmvnu8LUXS3w5+uo36PlQ=", + "dev": true, + "requires": { + "event-stream": "*", + "gulp-util": "*", + "lodash.assign": "*" + }, + "dependencies": { + "lodash.assign": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", + "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=", + "dev": true + } + } + }, + "gulp-header": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/gulp-header/-/gulp-header-1.8.2.tgz", + "integrity": "sha1-OrIi9TcZ0tA9gdkTQlL+fVJCWqQ=", + "dev": true, + "requires": { + "concat-with-sourcemaps": "*", + "gulp-util": "*", + "object-assign": "*", + "through2": "^2.0.0" + }, + "dependencies": { + "concat-with-sourcemaps": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/concat-with-sourcemaps/-/concat-with-sourcemaps-1.0.4.tgz", + "integrity": "sha1-9Vs74q60dgGxCi1SWcz7cP0vHdY=", + "dev": true, + "requires": { + "source-map": "^0.5.1" + }, + "dependencies": { + "source-map": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", + "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=", + "dev": true + } + } + }, + "object-assign": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz", + "integrity": "sha1-ejs9DpgGPUP0wD8uiubNUahog6A=", + "dev": true + }, + "through2": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.1.tgz", + "integrity": "sha1-OE51MU1J8y3hLuu4E2uOtrXVnak=", + "dev": true, + "requires": { + "readable-stream": "~2.0.0", + "xtend": "~4.0.0" + }, + "dependencies": { + "readable-stream": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", + "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "string_decoder": "~0.10.x", + "util-deprecate": "~1.0.1" + }, + "dependencies": { + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "process-nextick-args": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", + "dev": true + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + } + } + }, + "xtend": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", + "dev": true + } + } + } + } + }, + "gulp-util": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.7.tgz", + "integrity": "sha1-eJJcS4+LSQBawBoBHFV+YhiUHLs=", + "dev": true, + "requires": { + "array-differ": "^1.0.0", + "array-uniq": "^1.0.2", + "beeper": "^1.0.0", + "chalk": "^1.0.0", + "dateformat": "^1.0.11", + "fancy-log": "^1.1.0", + "gulplog": "^1.0.0", + "has-gulplog": "^0.1.0", + "lodash._reescape": "^3.0.0", + "lodash._reevaluate": "^3.0.0", + "lodash._reinterpolate": "^3.0.0", + "lodash.template": "^3.0.0", + "minimist": "^1.1.0", + "multipipe": "^0.1.2", + "object-assign": "^3.0.0", + "replace-ext": "0.0.1", + "through2": "^2.0.0", + "vinyl": "^0.5.0" + }, + "dependencies": { + "array-differ": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz", + "integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=", + "dev": true + }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", + "dev": true + }, + "beeper": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/beeper/-/beeper-1.1.0.tgz", + "integrity": "sha1-nub8HOf1T+qs585zWIsFYDeGaiw=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz", + "integrity": "sha1-xQYbbg74qBd15Q9dZhUb9r83EQc=", + "dev": true + } + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz", + "integrity": "sha1-xQYbbg74qBd15Q9dZhUb9r83EQc=", + "dev": true + } + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "dateformat": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz", + "integrity": "sha1-nxJLZ1lMk3/3BpMuSmQsyo27/uk=", + "dev": true, + "requires": { + "get-stdin": "^4.0.1", + "meow": "^3.3.0" + }, + "dependencies": { + "get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", + "dev": true + }, + "meow": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", + "dev": true, + "requires": { + "camelcase-keys": "^2.0.0", + "decamelize": "^1.1.2", + "loud-rejection": "^1.0.0", + "map-obj": "^1.0.1", + "minimist": "^1.1.3", + "normalize-package-data": "^2.3.4", + "object-assign": "^4.0.1", + "read-pkg-up": "^1.0.1", + "redent": "^1.0.0", + "trim-newlines": "^1.0.0" + }, + "dependencies": { + "camelcase-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", + "dev": true, + "requires": { + "camelcase": "^2.0.0", + "map-obj": "^1.0.0" + }, + "dependencies": { + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", + "dev": true + } + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "loud-rejection": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", + "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", + "dev": true, + "requires": { + "currently-unhandled": "^0.4.1", + "signal-exit": "^3.0.0" + }, + "dependencies": { + "currently-unhandled": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", + "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", + "dev": true, + "requires": { + "array-find-index": "^1.0.1" + }, + "dependencies": { + "array-find-index": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", + "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", + "dev": true + } + } + }, + "signal-exit": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.1.tgz", + "integrity": "sha1-WkyISZK2OnrNm623iUw+6c/MrYE=", + "dev": true + } + } + }, + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "dev": true + }, + "normalize-package-data": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.3.5.tgz", + "integrity": "sha1-jZJPFClg4Xd+f/4XBUNjHMfLAt8=", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "is-builtin-module": "^1.0.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + }, + "dependencies": { + "hosted-git-info": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.1.5.tgz", + "integrity": "sha1-C6gdkNouJas0ozLm7HeTbhWYEYs=", + "dev": true + }, + "is-builtin-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", + "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", + "dev": true, + "requires": { + "builtin-modules": "^1.0.0" + }, + "dependencies": { + "builtin-modules": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", + "dev": true + } + } + }, + "semver": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", + "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", + "dev": true + }, + "validate-npm-package-license": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz", + "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=", + "dev": true, + "requires": { + "spdx-correct": "~1.0.0", + "spdx-expression-parse": "~1.0.0" + }, + "dependencies": { + "spdx-correct": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz", + "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=", + "dev": true, + "requires": { + "spdx-license-ids": "^1.0.2" + }, + "dependencies": { + "spdx-license-ids": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz", + "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=", + "dev": true + } + } + }, + "spdx-expression-parse": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz", + "integrity": "sha1-m98vIOH0DtRH++JzJmGR/O1RYmw=", + "dev": true + } + } + } + } + }, + "object-assign": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz", + "integrity": "sha1-ejs9DpgGPUP0wD8uiubNUahog6A=", + "dev": true + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dev": true, + "requires": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + }, + "dependencies": { + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "dependencies": { + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "requires": { + "pinkie-promise": "^2.0.0" + } + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + }, + "dependencies": { + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + } + } + } + } + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true, + "requires": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + }, + "dependencies": { + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + }, + "dependencies": { + "graceful-fs": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.9.tgz", + "integrity": "sha1-uqy6N9GdEfnRRtNXi8mZWMN4fik=", + "dev": true + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "requires": { + "error-ex": "^1.2.0" + }, + "dependencies": { + "error-ex": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.0.tgz", + "integrity": "sha1-5ntD8+gsluo6WE/+4Ln8MyXYAtk=", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + }, + "dependencies": { + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + } + } + } + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + }, + "dependencies": { + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + } + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "requires": { + "is-utf8": "^0.2.0" + }, + "dependencies": { + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true + } + } + } + } + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "dependencies": { + "graceful-fs": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.9.tgz", + "integrity": "sha1-uqy6N9GdEfnRRtNXi8mZWMN4fik=", + "dev": true + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + }, + "dependencies": { + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + } + } + } + } + } + } + } + } + }, + "redent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", + "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", + "dev": true, + "requires": { + "indent-string": "^2.1.0", + "strip-indent": "^1.0.1" + }, + "dependencies": { + "indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "dev": true, + "requires": { + "repeating": "^2.0.0" + }, + "dependencies": { + "repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "dev": true, + "requires": { + "is-finite": "^1.0.0" + }, + "dependencies": { + "is-finite": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", + "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + }, + "dependencies": { + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true + } + } + } + } + } + } + }, + "strip-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", + "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "dev": true, + "requires": { + "get-stdin": "^4.0.1" + } + } + } + }, + "trim-newlines": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", + "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", + "dev": true + } + } + } + } + }, + "fancy-log": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.2.0.tgz", + "integrity": "sha1-1aUbU+mrIsoH1VjytnrlX9tfy9g=", + "dev": true, + "requires": { + "chalk": "^1.1.1", + "time-stamp": "^1.0.0" + }, + "dependencies": { + "time-stamp": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.0.1.tgz", + "integrity": "sha1-n0vSNVnJNllm8zAtu6KwfGuZsVE=", + "dev": true + } + } + }, + "gulplog": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz", + "integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=", + "dev": true, + "requires": { + "glogg": "^1.0.0" + }, + "dependencies": { + "glogg": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.0.tgz", + "integrity": "sha1-f+DxmfV6yQbPUS/urY+Q7kooT8U=", + "dev": true, + "requires": { + "sparkles": "^1.0.0" + }, + "dependencies": { + "sparkles": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.0.tgz", + "integrity": "sha1-Gsu/tZJDbRC76PeFt8xvgoFQEsM=", + "dev": true + } + } + } + } + }, + "has-gulplog": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz", + "integrity": "sha1-ZBTIKRNpfaUVkDl9r7EvIpZ4Ec4=", + "dev": true, + "requires": { + "sparkles": "^1.0.0" + }, + "dependencies": { + "sparkles": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.0.tgz", + "integrity": "sha1-Gsu/tZJDbRC76PeFt8xvgoFQEsM=", + "dev": true + } + } + }, + "lodash._reescape": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reescape/-/lodash._reescape-3.0.0.tgz", + "integrity": "sha1-Kx1vXf4HyKNVdT5fJ/rH8c3hYWo=", + "dev": true + }, + "lodash._reevaluate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz", + "integrity": "sha1-WLx0xAZklTrgsSTYBpltrKQx4u0=", + "dev": true + }, + "lodash._reinterpolate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", + "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=", + "dev": true + }, + "lodash.template": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz", + "integrity": "sha1-+M3sxhaaJVvpCYrosMU9N4kx0U8=", + "dev": true, + "requires": { + "lodash._basecopy": "^3.0.0", + "lodash._basetostring": "^3.0.0", + "lodash._basevalues": "^3.0.0", + "lodash._isiterateecall": "^3.0.0", + "lodash._reinterpolate": "^3.0.0", + "lodash.escape": "^3.0.0", + "lodash.keys": "^3.0.0", + "lodash.restparam": "^3.0.0", + "lodash.templatesettings": "^3.0.0" + }, + "dependencies": { + "lodash._basecopy": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz", + "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=", + "dev": true + }, + "lodash._basetostring": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz", + "integrity": "sha1-0YYdh3+CSlL2aYMtyvPuFVZqB9U=", + "dev": true + }, + "lodash._basevalues": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz", + "integrity": "sha1-W3dXYoAr3j0yl1A+JjAIIP32Ybc=", + "dev": true + }, + "lodash._isiterateecall": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz", + "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=", + "dev": true + }, + "lodash.escape": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz", + "integrity": "sha1-mV7g3BjBtIzJLv+ucaEKq1tIdpg=", + "dev": true, + "requires": { + "lodash._root": "^3.0.0" + }, + "dependencies": { + "lodash._root": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz", + "integrity": "sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI=", + "dev": true + } + } + }, + "lodash.keys": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz", + "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=", + "dev": true, + "requires": { + "lodash._getnative": "^3.0.0", + "lodash.isarguments": "^3.0.0", + "lodash.isarray": "^3.0.0" + }, + "dependencies": { + "lodash._getnative": { + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz", + "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=", + "dev": true + }, + "lodash.isarguments": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", + "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=", + "dev": true + }, + "lodash.isarray": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz", + "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=", + "dev": true + } + } + }, + "lodash.restparam": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz", + "integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=", + "dev": true + }, + "lodash.templatesettings": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz", + "integrity": "sha1-+zB4RHU7Zrnxr6VOJix0UwfbqOU=", + "dev": true, + "requires": { + "lodash._reinterpolate": "^3.0.0", + "lodash.escape": "^3.0.0" + } + } + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "multipipe": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz", + "integrity": "sha1-Ko8t33Du1WTf8tV/HhoTfZ8FB4s=", + "dev": true, + "requires": { + "duplexer2": "0.0.2" + }, + "dependencies": { + "duplexer2": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz", + "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=", + "dev": true, + "requires": { + "readable-stream": "~1.1.9" + }, + "dependencies": { + "readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + }, + "dependencies": { + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + } + } + } + } + } + } + }, + "object-assign": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz", + "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=", + "dev": true + }, + "replace-ext": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz", + "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=", + "dev": true + }, + "through2": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.1.tgz", + "integrity": "sha1-OE51MU1J8y3hLuu4E2uOtrXVnak=", + "dev": true, + "requires": { + "readable-stream": "~2.0.0", + "xtend": "~4.0.0" + }, + "dependencies": { + "readable-stream": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", + "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "string_decoder": "~0.10.x", + "util-deprecate": "~1.0.1" + }, + "dependencies": { + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "process-nextick-args": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", + "dev": true + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + } + } + }, + "xtend": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", + "dev": true + } + } + }, + "vinyl": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.5.3.tgz", + "integrity": "sha1-sEVbOPxeDPMNQyUTLkYZcMIJHN4=", + "dev": true, + "requires": { + "clone": "^1.0.0", + "clone-stats": "^0.0.1", + "replace-ext": "0.0.1" + }, + "dependencies": { + "clone": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.2.tgz", + "integrity": "sha1-Jgt6meux7f4kdTgXX3gyQ8sZ0Uk=", + "dev": true + }, + "clone-stats": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz", + "integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=", + "dev": true + } + } + } + } + }, + "js-string-escape": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/js-string-escape/-/js-string-escape-1.0.1.tgz", + "integrity": "sha1-4mJbrbwNZ8dTPp7cEGjFh65BN+8=", + "dev": true + } + } + }, + "gulp-concat": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/gulp-concat/-/gulp-concat-2.6.0.tgz", + "integrity": "sha1-WFz7EVQR80h3MTEUBWa2qBxpy5E=", + "dev": true, + "requires": { + "concat-with-sourcemaps": "^1.0.0", + "gulp-util": "^3.0.1", + "through2": "^0.6.3" + }, + "dependencies": { + "concat-with-sourcemaps": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/concat-with-sourcemaps/-/concat-with-sourcemaps-1.0.4.tgz", + "integrity": "sha1-9Vs74q60dgGxCi1SWcz7cP0vHdY=", + "dev": true, + "requires": { + "source-map": "^0.5.1" + }, + "dependencies": { + "source-map": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", + "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=", + "dev": true + } + } + }, + "gulp-util": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.7.tgz", + "integrity": "sha1-eJJcS4+LSQBawBoBHFV+YhiUHLs=", + "dev": true, + "requires": { + "array-differ": "^1.0.0", + "array-uniq": "^1.0.2", + "beeper": "^1.0.0", + "chalk": "^1.0.0", + "dateformat": "^1.0.11", + "fancy-log": "^1.1.0", + "gulplog": "^1.0.0", + "has-gulplog": "^0.1.0", + "lodash._reescape": "^3.0.0", + "lodash._reevaluate": "^3.0.0", + "lodash._reinterpolate": "^3.0.0", + "lodash.template": "^3.0.0", + "minimist": "^1.1.0", + "multipipe": "^0.1.2", + "object-assign": "^3.0.0", + "replace-ext": "0.0.1", + "through2": "^2.0.0", + "vinyl": "^0.5.0" + }, + "dependencies": { + "array-differ": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz", + "integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=", + "dev": true + }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", + "dev": true + }, + "beeper": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/beeper/-/beeper-1.1.0.tgz", + "integrity": "sha1-nub8HOf1T+qs585zWIsFYDeGaiw=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz", + "integrity": "sha1-xQYbbg74qBd15Q9dZhUb9r83EQc=", + "dev": true + } + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz", + "integrity": "sha1-xQYbbg74qBd15Q9dZhUb9r83EQc=", + "dev": true + } + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "dateformat": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz", + "integrity": "sha1-nxJLZ1lMk3/3BpMuSmQsyo27/uk=", + "dev": true, + "requires": { + "get-stdin": "^4.0.1", + "meow": "^3.3.0" + }, + "dependencies": { + "get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", + "dev": true + }, + "meow": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", + "dev": true, + "requires": { + "camelcase-keys": "^2.0.0", + "decamelize": "^1.1.2", + "loud-rejection": "^1.0.0", + "map-obj": "^1.0.1", + "minimist": "^1.1.3", + "normalize-package-data": "^2.3.4", + "object-assign": "^4.0.1", + "read-pkg-up": "^1.0.1", + "redent": "^1.0.0", + "trim-newlines": "^1.0.0" + }, + "dependencies": { + "camelcase-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", + "dev": true, + "requires": { + "camelcase": "^2.0.0", + "map-obj": "^1.0.0" + }, + "dependencies": { + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", + "dev": true + } + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "loud-rejection": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", + "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", + "dev": true, + "requires": { + "currently-unhandled": "^0.4.1", + "signal-exit": "^3.0.0" + }, + "dependencies": { + "currently-unhandled": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", + "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", + "dev": true, + "requires": { + "array-find-index": "^1.0.1" + }, + "dependencies": { + "array-find-index": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", + "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", + "dev": true + } + } + }, + "signal-exit": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.1.tgz", + "integrity": "sha1-WkyISZK2OnrNm623iUw+6c/MrYE=", + "dev": true + } + } + }, + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "dev": true + }, + "normalize-package-data": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.3.5.tgz", + "integrity": "sha1-jZJPFClg4Xd+f/4XBUNjHMfLAt8=", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "is-builtin-module": "^1.0.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + }, + "dependencies": { + "hosted-git-info": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.1.5.tgz", + "integrity": "sha1-C6gdkNouJas0ozLm7HeTbhWYEYs=", + "dev": true + }, + "is-builtin-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", + "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", + "dev": true, + "requires": { + "builtin-modules": "^1.0.0" + }, + "dependencies": { + "builtin-modules": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", + "dev": true + } + } + }, + "semver": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", + "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", + "dev": true + }, + "validate-npm-package-license": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz", + "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=", + "dev": true, + "requires": { + "spdx-correct": "~1.0.0", + "spdx-expression-parse": "~1.0.0" + }, + "dependencies": { + "spdx-correct": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz", + "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=", + "dev": true, + "requires": { + "spdx-license-ids": "^1.0.2" + }, + "dependencies": { + "spdx-license-ids": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz", + "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=", + "dev": true + } + } + }, + "spdx-expression-parse": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz", + "integrity": "sha1-m98vIOH0DtRH++JzJmGR/O1RYmw=", + "dev": true + } + } + } + } + }, + "object-assign": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz", + "integrity": "sha1-ejs9DpgGPUP0wD8uiubNUahog6A=", + "dev": true + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dev": true, + "requires": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + }, + "dependencies": { + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "dependencies": { + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "requires": { + "pinkie-promise": "^2.0.0" + } + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + }, + "dependencies": { + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + } + } + } + } + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true, + "requires": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + }, + "dependencies": { + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + }, + "dependencies": { + "graceful-fs": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.9.tgz", + "integrity": "sha1-uqy6N9GdEfnRRtNXi8mZWMN4fik=", + "dev": true + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "requires": { + "error-ex": "^1.2.0" + }, + "dependencies": { + "error-ex": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.0.tgz", + "integrity": "sha1-5ntD8+gsluo6WE/+4Ln8MyXYAtk=", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + }, + "dependencies": { + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + } + } + } + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + }, + "dependencies": { + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + } + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "requires": { + "is-utf8": "^0.2.0" + }, + "dependencies": { + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true + } + } + } + } + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "dependencies": { + "graceful-fs": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.9.tgz", + "integrity": "sha1-uqy6N9GdEfnRRtNXi8mZWMN4fik=", + "dev": true + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + }, + "dependencies": { + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + } + } + } + } + } + } + } + } + }, + "redent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", + "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", + "dev": true, + "requires": { + "indent-string": "^2.1.0", + "strip-indent": "^1.0.1" + }, + "dependencies": { + "indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "dev": true, + "requires": { + "repeating": "^2.0.0" + }, + "dependencies": { + "repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "dev": true, + "requires": { + "is-finite": "^1.0.0" + }, + "dependencies": { + "is-finite": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", + "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + }, + "dependencies": { + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true + } + } + } + } + } + } + }, + "strip-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", + "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "dev": true, + "requires": { + "get-stdin": "^4.0.1" + } + } + } + }, + "trim-newlines": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", + "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", + "dev": true + } + } + } + } + }, + "fancy-log": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.2.0.tgz", + "integrity": "sha1-1aUbU+mrIsoH1VjytnrlX9tfy9g=", + "dev": true, + "requires": { + "chalk": "^1.1.1", + "time-stamp": "^1.0.0" + }, + "dependencies": { + "time-stamp": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.0.1.tgz", + "integrity": "sha1-n0vSNVnJNllm8zAtu6KwfGuZsVE=", + "dev": true + } + } + }, + "gulplog": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz", + "integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=", + "dev": true, + "requires": { + "glogg": "^1.0.0" + }, + "dependencies": { + "glogg": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.0.tgz", + "integrity": "sha1-f+DxmfV6yQbPUS/urY+Q7kooT8U=", + "dev": true, + "requires": { + "sparkles": "^1.0.0" + }, + "dependencies": { + "sparkles": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.0.tgz", + "integrity": "sha1-Gsu/tZJDbRC76PeFt8xvgoFQEsM=", + "dev": true + } + } + } + } + }, + "has-gulplog": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz", + "integrity": "sha1-ZBTIKRNpfaUVkDl9r7EvIpZ4Ec4=", + "dev": true, + "requires": { + "sparkles": "^1.0.0" + }, + "dependencies": { + "sparkles": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.0.tgz", + "integrity": "sha1-Gsu/tZJDbRC76PeFt8xvgoFQEsM=", + "dev": true + } + } + }, + "lodash._reescape": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reescape/-/lodash._reescape-3.0.0.tgz", + "integrity": "sha1-Kx1vXf4HyKNVdT5fJ/rH8c3hYWo=", + "dev": true + }, + "lodash._reevaluate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz", + "integrity": "sha1-WLx0xAZklTrgsSTYBpltrKQx4u0=", + "dev": true + }, + "lodash._reinterpolate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", + "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=", + "dev": true + }, + "lodash.template": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz", + "integrity": "sha1-+M3sxhaaJVvpCYrosMU9N4kx0U8=", + "dev": true, + "requires": { + "lodash._basecopy": "^3.0.0", + "lodash._basetostring": "^3.0.0", + "lodash._basevalues": "^3.0.0", + "lodash._isiterateecall": "^3.0.0", + "lodash._reinterpolate": "^3.0.0", + "lodash.escape": "^3.0.0", + "lodash.keys": "^3.0.0", + "lodash.restparam": "^3.0.0", + "lodash.templatesettings": "^3.0.0" + }, + "dependencies": { + "lodash._basecopy": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz", + "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=", + "dev": true + }, + "lodash._basetostring": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz", + "integrity": "sha1-0YYdh3+CSlL2aYMtyvPuFVZqB9U=", + "dev": true + }, + "lodash._basevalues": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz", + "integrity": "sha1-W3dXYoAr3j0yl1A+JjAIIP32Ybc=", + "dev": true + }, + "lodash._isiterateecall": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz", + "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=", + "dev": true + }, + "lodash.escape": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz", + "integrity": "sha1-mV7g3BjBtIzJLv+ucaEKq1tIdpg=", + "dev": true, + "requires": { + "lodash._root": "^3.0.0" + }, + "dependencies": { + "lodash._root": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz", + "integrity": "sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI=", + "dev": true + } + } + }, + "lodash.keys": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz", + "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=", + "dev": true, + "requires": { + "lodash._getnative": "^3.0.0", + "lodash.isarguments": "^3.0.0", + "lodash.isarray": "^3.0.0" + }, + "dependencies": { + "lodash._getnative": { + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz", + "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=", + "dev": true + }, + "lodash.isarguments": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", + "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=", + "dev": true + }, + "lodash.isarray": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz", + "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=", + "dev": true + } + } + }, + "lodash.restparam": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz", + "integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=", + "dev": true + }, + "lodash.templatesettings": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz", + "integrity": "sha1-+zB4RHU7Zrnxr6VOJix0UwfbqOU=", + "dev": true, + "requires": { + "lodash._reinterpolate": "^3.0.0", + "lodash.escape": "^3.0.0" + } + } + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "multipipe": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz", + "integrity": "sha1-Ko8t33Du1WTf8tV/HhoTfZ8FB4s=", + "dev": true, + "requires": { + "duplexer2": "0.0.2" + }, + "dependencies": { + "duplexer2": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz", + "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=", + "dev": true, + "requires": { + "readable-stream": "~1.1.9" + }, + "dependencies": { + "readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + }, + "dependencies": { + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + } + } + } + } + } + } + }, + "object-assign": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz", + "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=", + "dev": true + }, + "replace-ext": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz", + "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=", + "dev": true + }, + "through2": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.1.tgz", + "integrity": "sha1-OE51MU1J8y3hLuu4E2uOtrXVnak=", + "dev": true, + "requires": { + "readable-stream": "~2.0.0", + "xtend": "~4.0.0" + }, + "dependencies": { + "readable-stream": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", + "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "string_decoder": "~0.10.x", + "util-deprecate": "~1.0.1" + }, + "dependencies": { + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "process-nextick-args": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", + "dev": true + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + } + } + }, + "xtend": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", + "dev": true + } + } + }, + "vinyl": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.5.3.tgz", + "integrity": "sha1-sEVbOPxeDPMNQyUTLkYZcMIJHN4=", + "dev": true, + "requires": { + "clone": "^1.0.0", + "clone-stats": "^0.0.1", + "replace-ext": "0.0.1" + }, + "dependencies": { + "clone": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.2.tgz", + "integrity": "sha1-Jgt6meux7f4kdTgXX3gyQ8sZ0Uk=", + "dev": true + }, + "clone-stats": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz", + "integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=", + "dev": true + } + } + } + } + }, + "through2": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", + "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", + "dev": true, + "requires": { + "readable-stream": ">=1.0.33-1 <1.1.0-0", + "xtend": ">=4.0.0 <4.1.0-0" + }, + "dependencies": { + "readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + }, + "dependencies": { + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + } + } + }, + "xtend": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", + "dev": true + } + } + } + } + }, + "gulp-jscs": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/gulp-jscs/-/gulp-jscs-3.0.2.tgz", + "integrity": "sha1-3H+7Ac4r/IMlu6fLv5XWXkNTBHg=", + "dev": true, + "requires": { + "gulp-util": "^3.0.4", + "jscs": "^2.1.1", + "through2": "^2.0.0", + "tildify": "^1.0.0" + }, + "dependencies": { + "gulp-util": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.7.tgz", + "integrity": "sha1-eJJcS4+LSQBawBoBHFV+YhiUHLs=", + "dev": true, + "requires": { + "array-differ": "^1.0.0", + "array-uniq": "^1.0.2", + "beeper": "^1.0.0", + "chalk": "^1.0.0", + "dateformat": "^1.0.11", + "fancy-log": "^1.1.0", + "gulplog": "^1.0.0", + "has-gulplog": "^0.1.0", + "lodash._reescape": "^3.0.0", + "lodash._reevaluate": "^3.0.0", + "lodash._reinterpolate": "^3.0.0", + "lodash.template": "^3.0.0", + "minimist": "^1.1.0", + "multipipe": "^0.1.2", + "object-assign": "^3.0.0", + "replace-ext": "0.0.1", + "through2": "^2.0.0", + "vinyl": "^0.5.0" + }, + "dependencies": { + "array-differ": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz", + "integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=", + "dev": true + }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", + "dev": true + }, + "beeper": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/beeper/-/beeper-1.1.0.tgz", + "integrity": "sha1-nub8HOf1T+qs585zWIsFYDeGaiw=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz", + "integrity": "sha1-xQYbbg74qBd15Q9dZhUb9r83EQc=", + "dev": true + } + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz", + "integrity": "sha1-xQYbbg74qBd15Q9dZhUb9r83EQc=", + "dev": true + } + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "dateformat": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz", + "integrity": "sha1-nxJLZ1lMk3/3BpMuSmQsyo27/uk=", + "dev": true, + "requires": { + "get-stdin": "^4.0.1", + "meow": "^3.3.0" + }, + "dependencies": { + "get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", + "dev": true + }, + "meow": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", + "dev": true, + "requires": { + "camelcase-keys": "^2.0.0", + "decamelize": "^1.1.2", + "loud-rejection": "^1.0.0", + "map-obj": "^1.0.1", + "minimist": "^1.1.3", + "normalize-package-data": "^2.3.4", + "object-assign": "^4.0.1", + "read-pkg-up": "^1.0.1", + "redent": "^1.0.0", + "trim-newlines": "^1.0.0" + }, + "dependencies": { + "camelcase-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", + "dev": true, + "requires": { + "camelcase": "^2.0.0", + "map-obj": "^1.0.0" + }, + "dependencies": { + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", + "dev": true + } + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "loud-rejection": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", + "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", + "dev": true, + "requires": { + "currently-unhandled": "^0.4.1", + "signal-exit": "^3.0.0" + }, + "dependencies": { + "currently-unhandled": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", + "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", + "dev": true, + "requires": { + "array-find-index": "^1.0.1" + }, + "dependencies": { + "array-find-index": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", + "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", + "dev": true + } + } + }, + "signal-exit": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.1.tgz", + "integrity": "sha1-WkyISZK2OnrNm623iUw+6c/MrYE=", + "dev": true + } + } + }, + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "dev": true + }, + "normalize-package-data": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.3.5.tgz", + "integrity": "sha1-jZJPFClg4Xd+f/4XBUNjHMfLAt8=", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "is-builtin-module": "^1.0.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + }, + "dependencies": { + "hosted-git-info": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.1.5.tgz", + "integrity": "sha1-C6gdkNouJas0ozLm7HeTbhWYEYs=", + "dev": true + }, + "is-builtin-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", + "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", + "dev": true, + "requires": { + "builtin-modules": "^1.0.0" + }, + "dependencies": { + "builtin-modules": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", + "dev": true + } + } + }, + "semver": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", + "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", + "dev": true + }, + "validate-npm-package-license": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz", + "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=", + "dev": true, + "requires": { + "spdx-correct": "~1.0.0", + "spdx-expression-parse": "~1.0.0" + }, + "dependencies": { + "spdx-correct": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz", + "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=", + "dev": true, + "requires": { + "spdx-license-ids": "^1.0.2" + }, + "dependencies": { + "spdx-license-ids": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz", + "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=", + "dev": true + } + } + }, + "spdx-expression-parse": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz", + "integrity": "sha1-m98vIOH0DtRH++JzJmGR/O1RYmw=", + "dev": true + } + } + } + } + }, + "object-assign": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz", + "integrity": "sha1-ejs9DpgGPUP0wD8uiubNUahog6A=", + "dev": true + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dev": true, + "requires": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + }, + "dependencies": { + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "dependencies": { + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "requires": { + "pinkie-promise": "^2.0.0" + } + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + }, + "dependencies": { + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + } + } + } + } + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true, + "requires": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + }, + "dependencies": { + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + }, + "dependencies": { + "graceful-fs": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.9.tgz", + "integrity": "sha1-uqy6N9GdEfnRRtNXi8mZWMN4fik=", + "dev": true + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "requires": { + "error-ex": "^1.2.0" + }, + "dependencies": { + "error-ex": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.0.tgz", + "integrity": "sha1-5ntD8+gsluo6WE/+4Ln8MyXYAtk=", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + }, + "dependencies": { + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + } + } + } + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + }, + "dependencies": { + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + } + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "requires": { + "is-utf8": "^0.2.0" + }, + "dependencies": { + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true + } + } + } + } + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "dependencies": { + "graceful-fs": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.9.tgz", + "integrity": "sha1-uqy6N9GdEfnRRtNXi8mZWMN4fik=", + "dev": true + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + }, + "dependencies": { + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + } + } + } + } + } + } + } + } + }, + "redent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", + "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", + "dev": true, + "requires": { + "indent-string": "^2.1.0", + "strip-indent": "^1.0.1" + }, + "dependencies": { + "indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "dev": true, + "requires": { + "repeating": "^2.0.0" + }, + "dependencies": { + "repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "dev": true, + "requires": { + "is-finite": "^1.0.0" + }, + "dependencies": { + "is-finite": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", + "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + }, + "dependencies": { + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true + } + } + } + } + } + } + }, + "strip-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", + "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "dev": true, + "requires": { + "get-stdin": "^4.0.1" + } + } + } + }, + "trim-newlines": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", + "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", + "dev": true + } + } + } + } + }, + "fancy-log": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.2.0.tgz", + "integrity": "sha1-1aUbU+mrIsoH1VjytnrlX9tfy9g=", + "dev": true, + "requires": { + "chalk": "^1.1.1", + "time-stamp": "^1.0.0" + }, + "dependencies": { + "time-stamp": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.0.1.tgz", + "integrity": "sha1-n0vSNVnJNllm8zAtu6KwfGuZsVE=", + "dev": true + } + } + }, + "gulplog": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz", + "integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=", + "dev": true, + "requires": { + "glogg": "^1.0.0" + }, + "dependencies": { + "glogg": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.0.tgz", + "integrity": "sha1-f+DxmfV6yQbPUS/urY+Q7kooT8U=", + "dev": true, + "requires": { + "sparkles": "^1.0.0" + }, + "dependencies": { + "sparkles": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.0.tgz", + "integrity": "sha1-Gsu/tZJDbRC76PeFt8xvgoFQEsM=", + "dev": true + } + } + } + } + }, + "has-gulplog": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz", + "integrity": "sha1-ZBTIKRNpfaUVkDl9r7EvIpZ4Ec4=", + "dev": true, + "requires": { + "sparkles": "^1.0.0" + }, + "dependencies": { + "sparkles": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.0.tgz", + "integrity": "sha1-Gsu/tZJDbRC76PeFt8xvgoFQEsM=", + "dev": true + } + } + }, + "lodash._reescape": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reescape/-/lodash._reescape-3.0.0.tgz", + "integrity": "sha1-Kx1vXf4HyKNVdT5fJ/rH8c3hYWo=", + "dev": true + }, + "lodash._reevaluate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz", + "integrity": "sha1-WLx0xAZklTrgsSTYBpltrKQx4u0=", + "dev": true + }, + "lodash._reinterpolate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", + "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=", + "dev": true + }, + "lodash.template": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz", + "integrity": "sha1-+M3sxhaaJVvpCYrosMU9N4kx0U8=", + "dev": true, + "requires": { + "lodash._basecopy": "^3.0.0", + "lodash._basetostring": "^3.0.0", + "lodash._basevalues": "^3.0.0", + "lodash._isiterateecall": "^3.0.0", + "lodash._reinterpolate": "^3.0.0", + "lodash.escape": "^3.0.0", + "lodash.keys": "^3.0.0", + "lodash.restparam": "^3.0.0", + "lodash.templatesettings": "^3.0.0" + }, + "dependencies": { + "lodash._basecopy": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz", + "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=", + "dev": true + }, + "lodash._basetostring": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz", + "integrity": "sha1-0YYdh3+CSlL2aYMtyvPuFVZqB9U=", + "dev": true + }, + "lodash._basevalues": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz", + "integrity": "sha1-W3dXYoAr3j0yl1A+JjAIIP32Ybc=", + "dev": true + }, + "lodash._isiterateecall": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz", + "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=", + "dev": true + }, + "lodash.escape": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz", + "integrity": "sha1-mV7g3BjBtIzJLv+ucaEKq1tIdpg=", + "dev": true, + "requires": { + "lodash._root": "^3.0.0" + }, + "dependencies": { + "lodash._root": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz", + "integrity": "sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI=", + "dev": true + } + } + }, + "lodash.keys": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz", + "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=", + "dev": true, + "requires": { + "lodash._getnative": "^3.0.0", + "lodash.isarguments": "^3.0.0", + "lodash.isarray": "^3.0.0" + }, + "dependencies": { + "lodash._getnative": { + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz", + "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=", + "dev": true + }, + "lodash.isarguments": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", + "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=", + "dev": true + }, + "lodash.isarray": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz", + "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=", + "dev": true + } + } + }, + "lodash.restparam": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz", + "integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=", + "dev": true + }, + "lodash.templatesettings": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz", + "integrity": "sha1-+zB4RHU7Zrnxr6VOJix0UwfbqOU=", + "dev": true, + "requires": { + "lodash._reinterpolate": "^3.0.0", + "lodash.escape": "^3.0.0" + } + } + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "multipipe": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz", + "integrity": "sha1-Ko8t33Du1WTf8tV/HhoTfZ8FB4s=", + "dev": true, + "requires": { + "duplexer2": "0.0.2" + }, + "dependencies": { + "duplexer2": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz", + "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=", + "dev": true, + "requires": { + "readable-stream": "~1.1.9" + }, + "dependencies": { + "readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + }, + "dependencies": { + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + } + } + } + } + } + } + }, + "object-assign": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz", + "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=", + "dev": true + }, + "replace-ext": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz", + "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=", + "dev": true + }, + "vinyl": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.5.3.tgz", + "integrity": "sha1-sEVbOPxeDPMNQyUTLkYZcMIJHN4=", + "dev": true, + "requires": { + "clone": "^1.0.0", + "clone-stats": "^0.0.1", + "replace-ext": "0.0.1" + }, + "dependencies": { + "clone": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.2.tgz", + "integrity": "sha1-Jgt6meux7f4kdTgXX3gyQ8sZ0Uk=", + "dev": true + }, + "clone-stats": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz", + "integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=", + "dev": true + } + } + } + } + }, + "jscs": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/jscs/-/jscs-2.11.0.tgz", + "integrity": "sha1-bhHvDKqgdzH53MKysn2OzuHdvLY=", + "dev": true, + "requires": { + "babel-jscs": "^2.0.0", + "chalk": "~1.1.0", + "cli-table": "~0.3.1", + "commander": "~2.9.0", + "escope": "^3.2.0", + "esprima": "~2.7.0", + "estraverse": "^4.1.0", + "exit": "~0.1.2", + "glob": "^5.0.1", + "htmlparser2": "3.8.3", + "js-yaml": "~3.4.0", + "jscs-jsdoc": "^1.3.1", + "jscs-preset-wikimedia": "~1.0.0", + "jsonlint": "~1.6.2", + "lodash": "~3.10.0", + "minimatch": "~3.0.0", + "natural-compare": "~1.2.2", + "pathval": "~0.1.1", + "prompt": "~0.2.14", + "reserved-words": "^0.1.1", + "resolve": "^1.1.6", + "strip-bom": "^2.0.0", + "strip-json-comments": "~1.0.2", + "to-double-quotes": "^2.0.0", + "to-single-quotes": "^2.0.0", + "vow": "~0.4.8", + "vow-fs": "~0.3.4", + "xmlbuilder": "^3.1.0" + }, + "dependencies": { + "babel-jscs": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/babel-jscs/-/babel-jscs-2.0.5.tgz", + "integrity": "sha1-CjRwRrSBRay8pW6MjtX3NrxU+dA=", + "dev": true, + "requires": { + "babel-core": "~5.8.3", + "lodash.assign": "^3.2.0" + }, + "dependencies": { + "babel-core": { + "version": "5.8.38", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-5.8.38.tgz", + "integrity": "sha1-H8ruedfmG3ULALjlT238nQr4ZVg=", + "dev": true, + "requires": { + "babel-plugin-constant-folding": "^1.0.1", + "babel-plugin-dead-code-elimination": "^1.0.2", + "babel-plugin-eval": "^1.0.1", + "babel-plugin-inline-environment-variables": "^1.0.1", + "babel-plugin-jscript": "^1.0.4", + "babel-plugin-member-expression-literals": "^1.0.1", + "babel-plugin-property-literals": "^1.0.1", + "babel-plugin-proto-to-assign": "^1.0.3", + "babel-plugin-react-constant-elements": "^1.0.3", + "babel-plugin-react-display-name": "^1.0.3", + "babel-plugin-remove-console": "^1.0.1", + "babel-plugin-remove-debugger": "^1.0.1", + "babel-plugin-runtime": "^1.0.7", + "babel-plugin-undeclared-variables-check": "^1.0.2", + "babel-plugin-undefined-to-void": "^1.1.6", + "babylon": "^5.8.38", + "bluebird": "^2.9.33", + "chalk": "^1.0.0", + "convert-source-map": "^1.1.0", + "core-js": "^1.0.0", + "debug": "^2.1.1", + "detect-indent": "^3.0.0", + "esutils": "^2.0.0", + "fs-readdir-recursive": "^0.1.0", + "globals": "^6.4.0", + "home-or-tmp": "^1.0.0", + "is-integer": "^1.0.4", + "js-tokens": "1.0.1", + "json5": "^0.4.0", + "lodash": "^3.10.0", + "minimatch": "^2.0.3", + "output-file-sync": "^1.1.0", + "path-exists": "^1.0.0", + "path-is-absolute": "^1.0.0", + "private": "^0.1.6", + "regenerator": "0.8.40", + "regexpu": "^1.3.0", + "repeating": "^1.1.2", + "resolve": "^1.1.6", + "shebang-regex": "^1.0.0", + "slash": "^1.0.0", + "source-map": "^0.5.0", + "source-map-support": "^0.2.10", + "to-fast-properties": "^1.0.0", + "trim-right": "^1.0.0", + "try-resolve": "^1.0.0" + }, + "dependencies": { + "babel-plugin-constant-folding": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-plugin-constant-folding/-/babel-plugin-constant-folding-1.0.1.tgz", + "integrity": "sha1-g2HTZMmORJw2kr26Ue/whEKQqo4=", + "dev": true + }, + "babel-plugin-dead-code-elimination": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/babel-plugin-dead-code-elimination/-/babel-plugin-dead-code-elimination-1.0.2.tgz", + "integrity": "sha1-X3xFEnTc18zNv7s+C4XdKBIfD2U=", + "dev": true + }, + "babel-plugin-eval": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-plugin-eval/-/babel-plugin-eval-1.0.1.tgz", + "integrity": "sha1-ovrtJc5r5preS/7CY/cBaRlZUNo=", + "dev": true + }, + "babel-plugin-inline-environment-variables": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-plugin-inline-environment-variables/-/babel-plugin-inline-environment-variables-1.0.1.tgz", + "integrity": "sha1-H1jOkSB61qgmqL9kX6/mj/X+P/4=", + "dev": true + }, + "babel-plugin-jscript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/babel-plugin-jscript/-/babel-plugin-jscript-1.0.4.tgz", + "integrity": "sha1-jzQsOCduh6R9X6CovT1etsytj8w=", + "dev": true + }, + "babel-plugin-member-expression-literals": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-plugin-member-expression-literals/-/babel-plugin-member-expression-literals-1.0.1.tgz", + "integrity": "sha1-zF7bD6qNyScXDnTW0cAkQAIWJNM=", + "dev": true + }, + "babel-plugin-property-literals": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-plugin-property-literals/-/babel-plugin-property-literals-1.0.1.tgz", + "integrity": "sha1-AlIwGQAZKYCxwRjv6kjOk6q4MzY=", + "dev": true + }, + "babel-plugin-proto-to-assign": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/babel-plugin-proto-to-assign/-/babel-plugin-proto-to-assign-1.0.4.tgz", + "integrity": "sha1-xJ56/QL1d7xNoF6i3wAiUM980SM=", + "dev": true, + "requires": { + "lodash": "^3.9.3" + } + }, + "babel-plugin-react-constant-elements": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/babel-plugin-react-constant-elements/-/babel-plugin-react-constant-elements-1.0.3.tgz", + "integrity": "sha1-lGc26DeEKcvDSdz/YvUcFDs041o=", + "dev": true + }, + "babel-plugin-react-display-name": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/babel-plugin-react-display-name/-/babel-plugin-react-display-name-1.0.3.tgz", + "integrity": "sha1-dU/jiSboQkpOexWrbqYTne4FFPw=", + "dev": true + }, + "babel-plugin-remove-console": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-plugin-remove-console/-/babel-plugin-remove-console-1.0.1.tgz", + "integrity": "sha1-2PJFVsOgUAXUKqqv0neH9T/wE6c=", + "dev": true + }, + "babel-plugin-remove-debugger": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-plugin-remove-debugger/-/babel-plugin-remove-debugger-1.0.1.tgz", + "integrity": "sha1-/S6jzWGkKK0fO5yJiC/0KT6MFMc=", + "dev": true + }, + "babel-plugin-runtime": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/babel-plugin-runtime/-/babel-plugin-runtime-1.0.7.tgz", + "integrity": "sha1-v3x9lm3Vbs1cF/ocslPJrLflSq8=", + "dev": true + }, + "babel-plugin-undeclared-variables-check": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/babel-plugin-undeclared-variables-check/-/babel-plugin-undeclared-variables-check-1.0.2.tgz", + "integrity": "sha1-XPGqU52BP/ZOmWQSkK9iCWX2Xe4=", + "dev": true, + "requires": { + "leven": "^1.0.2" + }, + "dependencies": { + "leven": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/leven/-/leven-1.0.2.tgz", + "integrity": "sha1-kUS27ryl8dBoAWnxpncNzqYLdcM=", + "dev": true + } + } + }, + "babel-plugin-undefined-to-void": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/babel-plugin-undefined-to-void/-/babel-plugin-undefined-to-void-1.1.6.tgz", + "integrity": "sha1-f1eO+LeN+uYAM4XYQXph7aBuL4E=", + "dev": true + }, + "babylon": { + "version": "5.8.38", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-5.8.38.tgz", + "integrity": "sha1-7JsSCxG/bM1Bc6GL8hfmC3mFn/0=", + "dev": true + }, + "bluebird": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-2.11.0.tgz", + "integrity": "sha1-U0uQM8AiyVecVro7Plpcqvu2UOE=", + "dev": true + }, + "convert-source-map": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.3.0.tgz", + "integrity": "sha1-6fPpxuJyjvwmdmlqcOs4L3MQamc=", + "dev": true + }, + "core-js": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", + "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=", + "dev": true + }, + "debug": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", + "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", + "dev": true, + "requires": { + "ms": "0.7.1" + }, + "dependencies": { + "ms": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", + "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=", + "dev": true + } + } + }, + "detect-indent": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-3.0.1.tgz", + "integrity": "sha1-ncXl3bzu+DJXZLlFGwK8bVQIT3U=", + "dev": true, + "requires": { + "get-stdin": "^4.0.1", + "minimist": "^1.1.0", + "repeating": "^1.1.0" + }, + "dependencies": { + "get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", + "dev": true + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + } + } + }, + "esutils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "dev": true + }, + "fs-readdir-recursive": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-0.1.2.tgz", + "integrity": "sha1-MVtPuMHKW4xH3v7zGdBz2tNWgFk=", + "dev": true + }, + "globals": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/globals/-/globals-6.4.1.tgz", + "integrity": "sha1-hJgDKzttHMge68X3lpDY/in6v08=", + "dev": true + }, + "home-or-tmp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-1.0.0.tgz", + "integrity": "sha1-S58eQIAMPlDGwn94FnavzOcfOYU=", + "dev": true, + "requires": { + "os-tmpdir": "^1.0.1", + "user-home": "^1.1.1" + }, + "dependencies": { + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true + }, + "user-home": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz", + "integrity": "sha1-K1viOjK2Onyd640PKNSFcko98ZA=", + "dev": true + } + } + }, + "is-integer": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/is-integer/-/is-integer-1.0.6.tgz", + "integrity": "sha1-UnOBn62ogNEj4awAqTjnFy3Y2V4=", + "dev": true, + "requires": { + "is-finite": "^1.0.0" + }, + "dependencies": { + "is-finite": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", + "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + }, + "dependencies": { + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true + } + } + } + } + }, + "js-tokens": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-1.0.1.tgz", + "integrity": "sha1-zENaXIuUrRWst5gxQPyAGCyJrq4=", + "dev": true + }, + "json5": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.4.0.tgz", + "integrity": "sha1-BUNS5MTIDIbAkjh31EneF2pzLI0=", + "dev": true + }, + "minimatch": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz", + "integrity": "sha1-jQh8OcazjAAbl/ynzm0OHoCvusc=", + "dev": true, + "requires": { + "brace-expansion": "^1.0.0" + }, + "dependencies": { + "brace-expansion": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.6.tgz", + "integrity": "sha1-cZfX6qm4fmSDkOph/GbIRCdCDfk=", + "dev": true, + "requires": { + "balanced-match": "^0.4.1", + "concat-map": "0.0.1" + }, + "dependencies": { + "balanced-match": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", + "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + } + } + } + } + }, + "output-file-sync": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/output-file-sync/-/output-file-sync-1.1.2.tgz", + "integrity": "sha1-0KM+7+YaIF+suQCS6CZZjVJFznY=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.4", + "mkdirp": "^0.5.1", + "object-assign": "^4.1.0" + }, + "dependencies": { + "graceful-fs": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.9.tgz", + "integrity": "sha1-uqy6N9GdEfnRRtNXi8mZWMN4fik=", + "dev": true + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "dev": true, + "requires": { + "minimist": "0.0.8" + }, + "dependencies": { + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true + } + } + }, + "object-assign": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz", + "integrity": "sha1-ejs9DpgGPUP0wD8uiubNUahog6A=", + "dev": true + } + } + }, + "path-exists": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-1.0.0.tgz", + "integrity": "sha1-1aiZjrce83p0w06w2eum6HjuoIE=", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "private": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/private/-/private-0.1.6.tgz", + "integrity": "sha1-VcapdtD5uvuZJIUTUP5HubX7t8E=", + "dev": true + }, + "regenerator": { + "version": "0.8.40", + "resolved": "https://registry.npmjs.org/regenerator/-/regenerator-0.8.40.tgz", + "integrity": "sha1-oORXxY69uuV1yfjNdRJ+k3VkNdg=", + "dev": true, + "requires": { + "commoner": "~0.10.3", + "defs": "~1.1.0", + "esprima-fb": "~15001.1001.0-dev-harmony-fb", + "private": "~0.1.5", + "recast": "0.10.33", + "through": "~2.3.8" + }, + "dependencies": { + "commoner": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/commoner/-/commoner-0.10.4.tgz", + "integrity": "sha1-mPMzPdOtOZWWuy04Sng7tyE9aPg=", + "dev": true, + "requires": { + "commander": "^2.5.0", + "detective": "^4.3.1", + "glob": "^5.0.15", + "graceful-fs": "^4.1.2", + "iconv-lite": "^0.4.5", + "mkdirp": "^0.5.0", + "private": "^0.1.6", + "q": "^1.1.2", + "recast": "^0.10.0" + }, + "dependencies": { + "detective": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/detective/-/detective-4.3.2.tgz", + "integrity": "sha1-d2l+LnlHrD/nyOJqbW8RUjWvqRw=", + "dev": true, + "requires": { + "acorn": "^3.1.0", + "defined": "^1.0.0" + }, + "dependencies": { + "acorn": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", + "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=", + "dev": true + }, + "defined": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", + "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=", + "dev": true + } + } + }, + "graceful-fs": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.9.tgz", + "integrity": "sha1-uqy6N9GdEfnRRtNXi8mZWMN4fik=", + "dev": true + }, + "iconv-lite": { + "version": "0.4.13", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.13.tgz", + "integrity": "sha1-H4irpKsLFQjoMSrMOTRfNumS4vI=", + "dev": true + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "dev": true, + "requires": { + "minimist": "0.0.8" + }, + "dependencies": { + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true + } + } + }, + "q": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.4.1.tgz", + "integrity": "sha1-VXBbzZPF82c1MMLCy8DCs63cKG4=", + "dev": true + } + } + }, + "defs": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/defs/-/defs-1.1.1.tgz", + "integrity": "sha1-siYJ8sehG6ej2xFoBcE5scr/qdI=", + "dev": true, + "requires": { + "alter": "~0.2.0", + "ast-traverse": "~0.1.1", + "breakable": "~1.0.0", + "esprima-fb": "~15001.1001.0-dev-harmony-fb", + "simple-fmt": "~0.1.0", + "simple-is": "~0.2.0", + "stringmap": "~0.2.2", + "stringset": "~0.2.1", + "tryor": "~0.1.2", + "yargs": "~3.27.0" + }, + "dependencies": { + "alter": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/alter/-/alter-0.2.0.tgz", + "integrity": "sha1-x1iICGF1cgNKrmJICvJrHU0cs80=", + "dev": true, + "requires": { + "stable": "~0.1.3" + }, + "dependencies": { + "stable": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.5.tgz", + "integrity": "sha1-CCMvYMcy6YkHhLW+0HNPizKoh7k=", + "dev": true + } + } + }, + "ast-traverse": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ast-traverse/-/ast-traverse-0.1.1.tgz", + "integrity": "sha1-ac8rg4bxnc2hux4F1o/jWdiJfeY=", + "dev": true + }, + "breakable": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/breakable/-/breakable-1.0.0.tgz", + "integrity": "sha1-eEp5eRWjjq0nutRWtVcstLuqeME=", + "dev": true + }, + "simple-fmt": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/simple-fmt/-/simple-fmt-0.1.0.tgz", + "integrity": "sha1-GRv1ZqWeZTBILLJatTtKjchcOms=", + "dev": true + }, + "simple-is": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/simple-is/-/simple-is-0.2.0.tgz", + "integrity": "sha1-Krt1qt453rXMgVzhDmGRFkhQuvA=", + "dev": true + }, + "stringmap": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/stringmap/-/stringmap-0.2.2.tgz", + "integrity": "sha1-VWwTeyWPlCuHdvWy71gqoGnX0bE=", + "dev": true + }, + "stringset": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/stringset/-/stringset-0.2.1.tgz", + "integrity": "sha1-7yWcTjSTRDd/zRyRPdLoSMnAQrU=", + "dev": true + }, + "tryor": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/tryor/-/tryor-0.1.2.tgz", + "integrity": "sha1-gUXkynyv9ArN48z5Rui4u3W0Fys=", + "dev": true + }, + "yargs": { + "version": "3.27.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.27.0.tgz", + "integrity": "sha1-ISBUaTFuk5Ex1Z8toMbX+YIh6kA=", + "dev": true, + "requires": { + "camelcase": "^1.2.1", + "cliui": "^2.1.0", + "decamelize": "^1.0.0", + "os-locale": "^1.4.0", + "window-size": "^0.1.2", + "y18n": "^3.2.0" + }, + "dependencies": { + "camelcase": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", + "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", + "dev": true + }, + "cliui": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", + "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", + "dev": true, + "requires": { + "center-align": "^0.1.1", + "right-align": "^0.1.1", + "wordwrap": "0.0.2" + }, + "dependencies": { + "center-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", + "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", + "dev": true, + "requires": { + "align-text": "^0.1.3", + "lazy-cache": "^1.0.3" + }, + "dependencies": { + "align-text": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", + "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", + "dev": true, + "requires": { + "kind-of": "^3.0.2", + "longest": "^1.0.1", + "repeat-string": "^1.5.2" + }, + "dependencies": { + "kind-of": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.0.4.tgz", + "integrity": "sha1-e47PGKThf4Jp1ztQHJ8jLJaIenQ=", + "dev": true, + "requires": { + "is-buffer": "^1.0.2" + }, + "dependencies": { + "is-buffer": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.4.tgz", + "integrity": "sha1-z8hszV3FpS+oBIkRHGkgxFfi2Ys=", + "dev": true + } + } + }, + "longest": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", + "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true + } + } + }, + "lazy-cache": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", + "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", + "dev": true + } + } + }, + "right-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", + "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", + "dev": true, + "requires": { + "align-text": "^0.1.1" + }, + "dependencies": { + "align-text": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", + "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", + "dev": true, + "requires": { + "kind-of": "^3.0.2", + "longest": "^1.0.1", + "repeat-string": "^1.5.2" + }, + "dependencies": { + "kind-of": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.0.4.tgz", + "integrity": "sha1-e47PGKThf4Jp1ztQHJ8jLJaIenQ=", + "dev": true, + "requires": { + "is-buffer": "^1.0.2" + }, + "dependencies": { + "is-buffer": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.4.tgz", + "integrity": "sha1-z8hszV3FpS+oBIkRHGkgxFfi2Ys=", + "dev": true + } + } + }, + "longest": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", + "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true + } + } + } + } + }, + "wordwrap": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", + "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", + "dev": true + } + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "os-locale": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "dev": true, + "requires": { + "lcid": "^1.0.0" + }, + "dependencies": { + "lcid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "dev": true, + "requires": { + "invert-kv": "^1.0.0" + }, + "dependencies": { + "invert-kv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", + "dev": true + } + } + } + } + }, + "window-size": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.4.tgz", + "integrity": "sha1-+OGqHuWlPsW/FR/6CXQqatdpeHY=", + "dev": true + }, + "y18n": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", + "dev": true + } + } + } + } + }, + "esprima-fb": { + "version": "15001.1001.0-dev-harmony-fb", + "resolved": "https://registry.npmjs.org/esprima-fb/-/esprima-fb-15001.1001.0-dev-harmony-fb.tgz", + "integrity": "sha1-Q761fsJujPI3092LM+QlM1d/Jlk=", + "dev": true + }, + "recast": { + "version": "0.10.33", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.10.33.tgz", + "integrity": "sha1-lCgI96oBbx+nFCxGHX5XBKqo1pc=", + "dev": true, + "requires": { + "ast-types": "0.8.12", + "esprima-fb": "~15001.1001.0-dev-harmony-fb", + "private": "~0.1.5", + "source-map": "~0.5.0" + }, + "dependencies": { + "ast-types": { + "version": "0.8.12", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.8.12.tgz", + "integrity": "sha1-oNkOQ1G7iHcWyD/WN+v4GK9K38w=", + "dev": true + } + } + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + } + } + }, + "regexpu": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/regexpu/-/regexpu-1.3.0.tgz", + "integrity": "sha1-5TTcmRqeWEYFDJjebX3UpVyeoW0=", + "dev": true, + "requires": { + "esprima": "^2.6.0", + "recast": "^0.10.10", + "regenerate": "^1.2.1", + "regjsgen": "^0.2.0", + "regjsparser": "^0.1.4" + }, + "dependencies": { + "recast": { + "version": "0.10.43", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.10.43.tgz", + "integrity": "sha1-uV1Q9tYHYaX2JS4V2AZ4FoSRzn8=", + "dev": true, + "requires": { + "ast-types": "0.8.15", + "esprima-fb": "~15001.1001.0-dev-harmony-fb", + "private": "~0.1.5", + "source-map": "~0.5.0" + }, + "dependencies": { + "ast-types": { + "version": "0.8.15", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.8.15.tgz", + "integrity": "sha1-ju8IJ/BN/w7IhXupJavj/qYZTlI=", + "dev": true + }, + "esprima-fb": { + "version": "15001.1001.0-dev-harmony-fb", + "resolved": "https://registry.npmjs.org/esprima-fb/-/esprima-fb-15001.1001.0-dev-harmony-fb.tgz", + "integrity": "sha1-Q761fsJujPI3092LM+QlM1d/Jlk=", + "dev": true + } + } + }, + "regenerate": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.3.1.tgz", + "integrity": "sha1-AwAgOl0v3PiRFtzoQnXQEfWQPzM=", + "dev": true + }, + "regjsgen": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", + "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=", + "dev": true + }, + "regjsparser": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", + "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", + "dev": true, + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true + } + } + } + } + }, + "repeating": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-1.1.3.tgz", + "integrity": "sha1-PUEUIYh3U3SU+X93+Xhfq4EPpKw=", + "dev": true, + "requires": { + "is-finite": "^1.0.0" + }, + "dependencies": { + "is-finite": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", + "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + }, + "dependencies": { + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true + } + } + } + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true + }, + "slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", + "dev": true + }, + "source-map": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", + "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=", + "dev": true + }, + "source-map-support": { + "version": "0.2.10", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.2.10.tgz", + "integrity": "sha1-6lo5AKHByyUJagrozFwrSxDe09w=", + "dev": true, + "requires": { + "source-map": "0.1.32" + }, + "dependencies": { + "source-map": { + "version": "0.1.32", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.32.tgz", + "integrity": "sha1-yLbBZ3l7pHQKjqMyUhYv8IWRsmY=", + "dev": true, + "requires": { + "amdefine": ">=0.0.4" + }, + "dependencies": { + "amdefine": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.0.tgz", + "integrity": "sha1-/RdHRwDLXMnCtwnwvp0jzjwZjDM=", + "dev": true + } + } + } + } + }, + "to-fast-properties": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.2.tgz", + "integrity": "sha1-8/XAw7pymafvmUJ+RGMyV63kMyA=", + "dev": true + }, + "trim-right": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", + "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", + "dev": true + }, + "try-resolve": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/try-resolve/-/try-resolve-1.0.1.tgz", + "integrity": "sha1-z95vq9ctY+V5fPqrhzq76OcA6RI=", + "dev": true + } + } + }, + "lodash.assign": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-3.2.0.tgz", + "integrity": "sha1-POnwI0tLIiPilrj6CsH+6OvKZPo=", + "dev": true, + "requires": { + "lodash._baseassign": "^3.0.0", + "lodash._createassigner": "^3.0.0", + "lodash.keys": "^3.0.0" + }, + "dependencies": { + "lodash._baseassign": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz", + "integrity": "sha1-jDigmVAPIVrQnlnxci/QxSv+Ck4=", + "dev": true, + "requires": { + "lodash._basecopy": "^3.0.0", + "lodash.keys": "^3.0.0" + }, + "dependencies": { + "lodash._basecopy": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz", + "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=", + "dev": true + } + } + }, + "lodash._createassigner": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lodash._createassigner/-/lodash._createassigner-3.1.1.tgz", + "integrity": "sha1-g4pbri/aymOsIt7o4Z+k5taXCxE=", + "dev": true, + "requires": { + "lodash._bindcallback": "^3.0.0", + "lodash._isiterateecall": "^3.0.0", + "lodash.restparam": "^3.0.0" + }, + "dependencies": { + "lodash._bindcallback": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz", + "integrity": "sha1-5THCdkTPi1epnhftlbNcdIeJOS4=", + "dev": true + }, + "lodash._isiterateecall": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz", + "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=", + "dev": true + }, + "lodash.restparam": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz", + "integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=", + "dev": true + } + } + }, + "lodash.keys": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz", + "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=", + "dev": true, + "requires": { + "lodash._getnative": "^3.0.0", + "lodash.isarguments": "^3.0.0", + "lodash.isarray": "^3.0.0" + }, + "dependencies": { + "lodash._getnative": { + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz", + "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=", + "dev": true + }, + "lodash.isarguments": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", + "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=", + "dev": true + }, + "lodash.isarray": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz", + "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=", + "dev": true + } + } + } + } + } + } + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz", + "integrity": "sha1-xQYbbg74qBd15Q9dZhUb9r83EQc=", + "dev": true + } + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz", + "integrity": "sha1-xQYbbg74qBd15Q9dZhUb9r83EQc=", + "dev": true + } + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "cli-table": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.1.tgz", + "integrity": "sha1-9TsFJmqLGguTSz0IIebi3FkUriM=", + "dev": true, + "requires": { + "colors": "1.0.3" + }, + "dependencies": { + "colors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", + "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=", + "dev": true + } + } + }, + "commander": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", + "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=", + "dev": true, + "requires": { + "graceful-readlink": ">= 1.0.0" + }, + "dependencies": { + "graceful-readlink": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", + "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=", + "dev": true + } + } + }, + "escope": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz", + "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=", + "dev": true, + "requires": { + "es6-map": "^0.1.3", + "es6-weak-map": "^2.0.1", + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + }, + "dependencies": { + "es6-map": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.4.tgz", + "integrity": "sha1-o0sUe+IkdzpNfagHJ5TO+jYyuJc=", + "dev": true, + "requires": { + "d": "~0.1.1", + "es5-ext": "~0.10.11", + "es6-iterator": "2", + "es6-set": "~0.1.3", + "es6-symbol": "~3.1.0", + "event-emitter": "~0.3.4" + }, + "dependencies": { + "d": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/d/-/d-0.1.1.tgz", + "integrity": "sha1-2hhMU10Y2O57oqoim5FACfrhEwk=", + "dev": true, + "requires": { + "es5-ext": "~0.10.2" + } + }, + "es5-ext": { + "version": "0.10.12", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.12.tgz", + "integrity": "sha1-qoRkHU23a2Krul5F/YBey6sUAEc=", + "dev": true, + "requires": { + "es6-iterator": "2", + "es6-symbol": "~3.1" + } + }, + "es6-iterator": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.0.tgz", + "integrity": "sha1-vZaFZ9YWNeM8C4BydhPJy0sJa6w=", + "dev": true, + "requires": { + "d": "^0.1.1", + "es5-ext": "^0.10.7", + "es6-symbol": "3" + } + }, + "es6-set": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.4.tgz", + "integrity": "sha1-lRa2dhwpZLkv9HlFYjOiR9xwfOg=", + "dev": true, + "requires": { + "d": "~0.1.1", + "es5-ext": "~0.10.11", + "es6-iterator": "2", + "es6-symbol": "3", + "event-emitter": "~0.3.4" + } + }, + "es6-symbol": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.0.tgz", + "integrity": "sha1-lEgcZV56fK2C66gy2X1UM0ltf/o=", + "dev": true, + "requires": { + "d": "~0.1.1", + "es5-ext": "~0.10.11" + } + }, + "event-emitter": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.4.tgz", + "integrity": "sha1-jWPd+0z+H647MsomXExyAiIIC7U=", + "dev": true, + "requires": { + "d": "~0.1.1", + "es5-ext": "~0.10.7" + } + } + } + }, + "es6-weak-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.1.tgz", + "integrity": "sha1-DSu9iCfrX7S6j5f7/qUNQ9sh6oE=", + "dev": true, + "requires": { + "d": "^0.1.1", + "es5-ext": "^0.10.8", + "es6-iterator": "2", + "es6-symbol": "3" + }, + "dependencies": { + "d": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/d/-/d-0.1.1.tgz", + "integrity": "sha1-2hhMU10Y2O57oqoim5FACfrhEwk=", + "dev": true, + "requires": { + "es5-ext": "~0.10.2" + } + }, + "es5-ext": { + "version": "0.10.12", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.12.tgz", + "integrity": "sha1-qoRkHU23a2Krul5F/YBey6sUAEc=", + "dev": true, + "requires": { + "es6-iterator": "2", + "es6-symbol": "~3.1" + } + }, + "es6-iterator": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.0.tgz", + "integrity": "sha1-vZaFZ9YWNeM8C4BydhPJy0sJa6w=", + "dev": true, + "requires": { + "d": "^0.1.1", + "es5-ext": "^0.10.7", + "es6-symbol": "3" + } + }, + "es6-symbol": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.0.tgz", + "integrity": "sha1-lEgcZV56fK2C66gy2X1UM0ltf/o=", + "dev": true, + "requires": { + "d": "~0.1.1", + "es5-ext": "~0.10.11" + } + } + } + }, + "esrecurse": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.1.0.tgz", + "integrity": "sha1-RxO2U2rffyrE8yfVWed1a/9kgiA=", + "dev": true, + "requires": { + "estraverse": "~4.1.0", + "object-assign": "^4.0.1" + }, + "dependencies": { + "estraverse": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.1.1.tgz", + "integrity": "sha1-9srKcokzqFDvkGYdDheYK6RxEaI=", + "dev": true + }, + "object-assign": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz", + "integrity": "sha1-ejs9DpgGPUP0wD8uiubNUahog6A=", + "dev": true + } + } + } + } + }, + "esprima": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", + "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", + "dev": true + }, + "estraverse": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", + "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", + "dev": true + }, + "exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", + "dev": true + }, + "glob": { + "version": "5.0.15", + "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", + "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", + "dev": true, + "requires": { + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "dependencies": { + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + }, + "dependencies": { + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + } + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + }, + "dependencies": { + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + } + } + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + } + } + }, + "htmlparser2": { + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz", + "integrity": "sha1-mWwosZFRaovoZQGn15dX5ccMEGg=", + "dev": true, + "requires": { + "domelementtype": "1", + "domhandler": "2.3", + "domutils": "1.5", + "entities": "1.0", + "readable-stream": "1.1" + }, + "dependencies": { + "domelementtype": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz", + "integrity": "sha1-sXrtguirWeUt2cGbF1bg/BhyBMI=", + "dev": true + }, + "domhandler": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz", + "integrity": "sha1-LeWaCCLVAn+r/28DLCsloqir5zg=", + "dev": true, + "requires": { + "domelementtype": "1" + } + }, + "domutils": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", + "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", + "dev": true, + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + }, + "dependencies": { + "dom-serializer": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz", + "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=", + "dev": true, + "requires": { + "domelementtype": "~1.1.1", + "entities": "~1.1.1" + }, + "dependencies": { + "domelementtype": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz", + "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=", + "dev": true + }, + "entities": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz", + "integrity": "sha1-blwtClYhtdra7O+AuQ7ftc13cvA=", + "dev": true + } + } + } + } + }, + "entities": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.0.0.tgz", + "integrity": "sha1-sph6o4ITR/zeZCsk/fyeT7cSvyY=", + "dev": true + }, + "readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + }, + "dependencies": { + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + } + } + } + } + }, + "js-yaml": { + "version": "3.4.6", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.4.6.tgz", + "integrity": "sha1-a+GyP2JJ9T0pM3D9TRqqY84bTrA=", + "dev": true, + "requires": { + "argparse": "^1.0.2", + "esprima": "^2.6.0", + "inherit": "^2.2.2" + }, + "dependencies": { + "argparse": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz", + "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + }, + "dependencies": { + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + } + } + }, + "inherit": { + "version": "2.2.6", + "resolved": "https://registry.npmjs.org/inherit/-/inherit-2.2.6.tgz", + "integrity": "sha1-8WFLBshUToEo5CKchjR9tzrZeI0=", + "dev": true + } + } + }, + "jscs-jsdoc": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/jscs-jsdoc/-/jscs-jsdoc-1.3.2.tgz", + "integrity": "sha1-HyyCtqtLl1JNqVj0a05WLgMF+ac=", + "dev": true, + "requires": { + "comment-parser": "^0.3.1", + "jsdoctypeparser": "~1.2.0" + }, + "dependencies": { + "comment-parser": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-0.3.1.tgz", + "integrity": "sha1-/WV6rIwUktMIyaYQD8m0nSQ1q6E=", + "dev": true, + "requires": { + "readable-stream": "^2.0.4" + }, + "dependencies": { + "readable-stream": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.1.5.tgz", + "integrity": "sha1-ZvqLcg4UOLNkaB8q0aY8YYRIydA=", + "dev": true, + "requires": { + "buffer-shims": "^1.0.0", + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "string_decoder": "~0.10.x", + "util-deprecate": "~1.0.1" + }, + "dependencies": { + "buffer-shims": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz", + "integrity": "sha1-mXjOMXOIxkmth5MCjDR37wRKi1E=", + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "process-nextick-args": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", + "dev": true + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + } + } + } + } + }, + "jsdoctypeparser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/jsdoctypeparser/-/jsdoctypeparser-1.2.0.tgz", + "integrity": "sha1-597cFToRhJ/8UUEUSuhqfvDCU5I=", + "dev": true, + "requires": { + "lodash": "^3.7.0" + } + } + } + }, + "jscs-preset-wikimedia": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/jscs-preset-wikimedia/-/jscs-preset-wikimedia-1.0.0.tgz", + "integrity": "sha1-//VjNCA4/C6IJre7cwnDrjQG/H4=", + "dev": true + }, + "jsonlint": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/jsonlint/-/jsonlint-1.6.2.tgz", + "integrity": "sha1-VzcEUIX1XrRVxosf9OvAG9UOiDA=", + "dev": true, + "requires": { + "JSV": ">= 4.0.x", + "nomnom": ">= 1.5.x" + }, + "dependencies": { + "JSV": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/JSV/-/JSV-4.0.2.tgz", + "integrity": "sha1-0Hf2glVx+CEy+d/67Vh7QCn+/1c=", + "dev": true + }, + "nomnom": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/nomnom/-/nomnom-1.8.1.tgz", + "integrity": "sha1-IVH3Ikcrp55Qp2/BJbuMjy5Nwqc=", + "dev": true, + "requires": { + "chalk": "~0.4.0", + "underscore": "~1.6.0" + }, + "dependencies": { + "chalk": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.4.0.tgz", + "integrity": "sha1-UZmj3c0MHv4jvAjBsCewYXbgxk8=", + "dev": true, + "requires": { + "ansi-styles": "~1.0.0", + "has-color": "~0.1.0", + "strip-ansi": "~0.1.0" + }, + "dependencies": { + "ansi-styles": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.0.0.tgz", + "integrity": "sha1-yxAt8cVvUSPquLZ817mAJ6AnkXg=", + "dev": true + }, + "has-color": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/has-color/-/has-color-0.1.7.tgz", + "integrity": "sha1-ZxRKUmDDT8PMpnfQQdr1L+e3iy8=", + "dev": true + }, + "strip-ansi": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.1.1.tgz", + "integrity": "sha1-OeipjQRNFQZgq+SmgIrPcLt7yZE=", + "dev": true + } + } + }, + "underscore": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz", + "integrity": "sha1-izixDKze9jM3uLJOT/htRa6lKag=", + "dev": true + } + } + } + } + }, + "lodash": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", + "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=", + "dev": true + }, + "minimatch": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz", + "integrity": "sha1-Kk5AkLlrLbBqnX3wEFWmKnfJt3Q=", + "dev": true, + "requires": { + "brace-expansion": "^1.0.0" + }, + "dependencies": { + "brace-expansion": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.6.tgz", + "integrity": "sha1-cZfX6qm4fmSDkOph/GbIRCdCDfk=", + "dev": true, + "requires": { + "balanced-match": "^0.4.1", + "concat-map": "0.0.1" + }, + "dependencies": { + "balanced-match": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", + "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + } + } + } + } + }, + "natural-compare": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.2.2.tgz", + "integrity": "sha1-H5bWDjFBysG20FZTzg2urHY69qo=", + "dev": true + }, + "pathval": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-0.1.1.tgz", + "integrity": "sha1-CPkRzcqczllCiA2ngXvAtyO2bYI=", + "dev": true + }, + "prompt": { + "version": "0.2.14", + "resolved": "https://registry.npmjs.org/prompt/-/prompt-0.2.14.tgz", + "integrity": "sha1-V3VPZPVD/XsIRXB8gY7OYY8F/9w=", + "dev": true, + "requires": { + "pkginfo": "0.x.x", + "read": "1.0.x", + "revalidator": "0.1.x", + "utile": "0.2.x", + "winston": "0.8.x" + }, + "dependencies": { + "pkginfo": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.4.0.tgz", + "integrity": "sha1-NJ27f/04CB/K3AhT32h/DHdEzWU=", + "dev": true + }, + "read": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz", + "integrity": "sha1-s9oZvQUkMal2cdRKQmNK33ELQMQ=", + "dev": true, + "requires": { + "mute-stream": "~0.0.4" + }, + "dependencies": { + "mute-stream": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.6.tgz", + "integrity": "sha1-SJYrGeFp/R38JAs/HnMXYnu8R9s=", + "dev": true + } + } + }, + "revalidator": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/revalidator/-/revalidator-0.1.8.tgz", + "integrity": "sha1-/s5hv6DBtSoga9axgZgYS91SOjs=", + "dev": true + }, + "utile": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/utile/-/utile-0.2.1.tgz", + "integrity": "sha1-kwyI6ZCY1iIINMNWy9mncFItkNc=", + "dev": true, + "requires": { + "async": "~0.2.9", + "deep-equal": "*", + "i": "0.3.x", + "mkdirp": "0.x.x", + "ncp": "0.4.x", + "rimraf": "2.x.x" + }, + "dependencies": { + "async": { + "version": "0.2.10", + "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", + "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=", + "dev": true + }, + "deep-equal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz", + "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=", + "dev": true + }, + "i": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/i/-/i-0.3.5.tgz", + "integrity": "sha1-HSuFQVjsgWkRPGy39raAHpniEdU=", + "dev": true + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "dev": true, + "requires": { + "minimist": "0.0.8" + }, + "dependencies": { + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true + } + } + }, + "ncp": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/ncp/-/ncp-0.4.2.tgz", + "integrity": "sha1-q8xsvT7C7Spyn/bnwfqPAXhKhXQ=", + "dev": true + }, + "rimraf": { + "version": "2.5.4", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.5.4.tgz", + "integrity": "sha1-loAAk8vxoMhr2VtGJUZ1NcKd+gQ=", + "dev": true, + "requires": { + "glob": "^7.0.5" + }, + "dependencies": { + "glob": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz", + "integrity": "sha1-gFIR3wT6rxxjo2ADBs31reULLsg=", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.2", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "dependencies": { + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + }, + "dependencies": { + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + } + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + }, + "dependencies": { + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + } + } + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + } + } + } + } + } + } + }, + "winston": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/winston/-/winston-0.8.3.tgz", + "integrity": "sha1-ZLar9M0Brcrv1QCTk7HY6L7BnbA=", + "dev": true, + "requires": { + "async": "0.2.x", + "colors": "0.6.x", + "cycle": "1.0.x", + "eyes": "0.1.x", + "isstream": "0.1.x", + "pkginfo": "0.3.x", + "stack-trace": "0.0.x" + }, + "dependencies": { + "async": { + "version": "0.2.10", + "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", + "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=", + "dev": true + }, + "colors": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz", + "integrity": "sha1-JCP+ZnisDF2uiFLl0OW+CMmXq8w=", + "dev": true + }, + "cycle": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz", + "integrity": "sha1-IegLK+hYD5i0aPN5QwZisEbDStI=", + "dev": true + }, + "eyes": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz", + "integrity": "sha1-Ys8SAjTGg3hdkCNIqADvPgzCC8A=", + "dev": true + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true + }, + "pkginfo": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.3.1.tgz", + "integrity": "sha1-Wyn2qB9wcXFC4J52W76rl7T4HiE=", + "dev": true + }, + "stack-trace": { + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.9.tgz", + "integrity": "sha1-qPbq7KkGdMMz58Q5U/J1tFFRBpU=", + "dev": true + } + } + } + } + }, + "reserved-words": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/reserved-words/-/reserved-words-0.1.1.tgz", + "integrity": "sha1-b3wV5eVhTFDalhYw2kat3IfAzvI=", + "dev": true + }, + "resolve": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", + "dev": true + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "requires": { + "is-utf8": "^0.2.0" + }, + "dependencies": { + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true + } + } + }, + "strip-json-comments": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz", + "integrity": "sha1-HhX7ysl9Pumb8tc7TGVrCCu6+5E=", + "dev": true + }, + "to-double-quotes": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-double-quotes/-/to-double-quotes-2.0.0.tgz", + "integrity": "sha1-qvIx1vqUiUn4GTAburRITYWI5Kc=", + "dev": true + }, + "to-single-quotes": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/to-single-quotes/-/to-single-quotes-2.0.1.tgz", + "integrity": "sha1-fMKRUfD18sQZRvEZ9ZMv5VQXASU=", + "dev": true + }, + "vow": { + "version": "0.4.13", + "resolved": "https://registry.npmjs.org/vow/-/vow-0.4.13.tgz", + "integrity": "sha1-58FPG9nIvg5zWaRZf+LR720afog=", + "dev": true + }, + "vow-fs": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/vow-fs/-/vow-fs-0.3.6.tgz", + "integrity": "sha1-LUxZviLivyYY3fWXq0uqkjvnIA0=", + "dev": true, + "requires": { + "glob": "^7.0.5", + "uuid": "^2.0.2", + "vow": "^0.4.7", + "vow-queue": "^0.4.1" + }, + "dependencies": { + "glob": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz", + "integrity": "sha1-gFIR3wT6rxxjo2ADBs31reULLsg=", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.2", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "dependencies": { + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + }, + "dependencies": { + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + } + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + }, + "dependencies": { + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + } + } + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + } + } + }, + "uuid": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz", + "integrity": "sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho=", + "dev": true + }, + "vow-queue": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/vow-queue/-/vow-queue-0.4.2.tgz", + "integrity": "sha1-5/4XFg4Vx8QYTRtmapvGThjjAYQ=", + "dev": true, + "requires": { + "vow": "~0.4.0" + } + } + } + }, + "xmlbuilder": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-3.1.0.tgz", + "integrity": "sha1-LIaIjy1OrehQ+jjKf3Ij9yCVFuE=", + "dev": true, + "requires": { + "lodash": "^3.5.0" + } + } + } + }, + "through2": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.1.tgz", + "integrity": "sha1-OE51MU1J8y3hLuu4E2uOtrXVnak=", + "dev": true, + "requires": { + "readable-stream": "~2.0.0", + "xtend": "~4.0.0" + }, + "dependencies": { + "readable-stream": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", + "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "string_decoder": "~0.10.x", + "util-deprecate": "~1.0.1" + }, + "dependencies": { + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "process-nextick-args": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", + "dev": true + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + } + } + }, + "xtend": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", + "dev": true + } + } + }, + "tildify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/tildify/-/tildify-1.2.0.tgz", + "integrity": "sha1-3OwD9V3Km3qj5bBPIYF+tW5jWIo=", + "dev": true, + "requires": { + "os-homedir": "^1.0.0" + }, + "dependencies": { + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "dev": true + } + } + } + } + }, + "gulp-minify-html": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/gulp-minify-html/-/gulp-minify-html-1.0.6.tgz", + "integrity": "sha1-+Ufz8TlHW74bCP/+cUxHKfH/Bwo=", + "dev": true, + "requires": { + "gulp-util": "^3.0.3", + "minimize": "^1.5.0", + "through2": "^0.6.1" + }, + "dependencies": { + "gulp-util": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.7.tgz", + "integrity": "sha1-eJJcS4+LSQBawBoBHFV+YhiUHLs=", + "dev": true, + "requires": { + "array-differ": "^1.0.0", + "array-uniq": "^1.0.2", + "beeper": "^1.0.0", + "chalk": "^1.0.0", + "dateformat": "^1.0.11", + "fancy-log": "^1.1.0", + "gulplog": "^1.0.0", + "has-gulplog": "^0.1.0", + "lodash._reescape": "^3.0.0", + "lodash._reevaluate": "^3.0.0", + "lodash._reinterpolate": "^3.0.0", + "lodash.template": "^3.0.0", + "minimist": "^1.1.0", + "multipipe": "^0.1.2", + "object-assign": "^3.0.0", + "replace-ext": "0.0.1", + "through2": "^2.0.0", + "vinyl": "^0.5.0" + }, + "dependencies": { + "array-differ": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz", + "integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=", + "dev": true + }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", + "dev": true + }, + "beeper": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/beeper/-/beeper-1.1.0.tgz", + "integrity": "sha1-nub8HOf1T+qs585zWIsFYDeGaiw=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz", + "integrity": "sha1-xQYbbg74qBd15Q9dZhUb9r83EQc=", + "dev": true + } + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz", + "integrity": "sha1-xQYbbg74qBd15Q9dZhUb9r83EQc=", + "dev": true + } + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "dateformat": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz", + "integrity": "sha1-nxJLZ1lMk3/3BpMuSmQsyo27/uk=", + "dev": true, + "requires": { + "get-stdin": "^4.0.1", + "meow": "^3.3.0" + }, + "dependencies": { + "get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", + "dev": true + }, + "meow": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", + "dev": true, + "requires": { + "camelcase-keys": "^2.0.0", + "decamelize": "^1.1.2", + "loud-rejection": "^1.0.0", + "map-obj": "^1.0.1", + "minimist": "^1.1.3", + "normalize-package-data": "^2.3.4", + "object-assign": "^4.0.1", + "read-pkg-up": "^1.0.1", + "redent": "^1.0.0", + "trim-newlines": "^1.0.0" + }, + "dependencies": { + "camelcase-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", + "dev": true, + "requires": { + "camelcase": "^2.0.0", + "map-obj": "^1.0.0" + }, + "dependencies": { + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", + "dev": true + } + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "loud-rejection": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", + "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", + "dev": true, + "requires": { + "currently-unhandled": "^0.4.1", + "signal-exit": "^3.0.0" + }, + "dependencies": { + "currently-unhandled": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", + "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", + "dev": true, + "requires": { + "array-find-index": "^1.0.1" + }, + "dependencies": { + "array-find-index": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", + "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", + "dev": true + } + } + }, + "signal-exit": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.1.tgz", + "integrity": "sha1-WkyISZK2OnrNm623iUw+6c/MrYE=", + "dev": true + } + } + }, + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "dev": true + }, + "normalize-package-data": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.3.5.tgz", + "integrity": "sha1-jZJPFClg4Xd+f/4XBUNjHMfLAt8=", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "is-builtin-module": "^1.0.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + }, + "dependencies": { + "hosted-git-info": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.1.5.tgz", + "integrity": "sha1-C6gdkNouJas0ozLm7HeTbhWYEYs=", + "dev": true + }, + "is-builtin-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", + "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", + "dev": true, + "requires": { + "builtin-modules": "^1.0.0" + }, + "dependencies": { + "builtin-modules": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", + "dev": true + } + } + }, + "semver": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", + "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", + "dev": true + }, + "validate-npm-package-license": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz", + "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=", + "dev": true, + "requires": { + "spdx-correct": "~1.0.0", + "spdx-expression-parse": "~1.0.0" + }, + "dependencies": { + "spdx-correct": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz", + "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=", + "dev": true, + "requires": { + "spdx-license-ids": "^1.0.2" + }, + "dependencies": { + "spdx-license-ids": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz", + "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=", + "dev": true + } + } + }, + "spdx-expression-parse": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz", + "integrity": "sha1-m98vIOH0DtRH++JzJmGR/O1RYmw=", + "dev": true + } + } + } + } + }, + "object-assign": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz", + "integrity": "sha1-ejs9DpgGPUP0wD8uiubNUahog6A=", + "dev": true + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dev": true, + "requires": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + }, + "dependencies": { + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "dependencies": { + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "requires": { + "pinkie-promise": "^2.0.0" + } + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + }, + "dependencies": { + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + } + } + } + } + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true, + "requires": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + }, + "dependencies": { + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + }, + "dependencies": { + "graceful-fs": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.9.tgz", + "integrity": "sha1-uqy6N9GdEfnRRtNXi8mZWMN4fik=", + "dev": true + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "requires": { + "error-ex": "^1.2.0" + }, + "dependencies": { + "error-ex": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.0.tgz", + "integrity": "sha1-5ntD8+gsluo6WE/+4Ln8MyXYAtk=", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + }, + "dependencies": { + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + } + } + } + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + }, + "dependencies": { + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + } + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "requires": { + "is-utf8": "^0.2.0" + }, + "dependencies": { + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true + } + } + } + } + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "dependencies": { + "graceful-fs": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.9.tgz", + "integrity": "sha1-uqy6N9GdEfnRRtNXi8mZWMN4fik=", + "dev": true + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + }, + "dependencies": { + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + } + } + } + } + } + } + } + } + }, + "redent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", + "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", + "dev": true, + "requires": { + "indent-string": "^2.1.0", + "strip-indent": "^1.0.1" + }, + "dependencies": { + "indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "dev": true, + "requires": { + "repeating": "^2.0.0" + }, + "dependencies": { + "repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "dev": true, + "requires": { + "is-finite": "^1.0.0" + }, + "dependencies": { + "is-finite": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", + "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + }, + "dependencies": { + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true + } + } + } + } + } + } + }, + "strip-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", + "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "dev": true, + "requires": { + "get-stdin": "^4.0.1" + } + } + } + }, + "trim-newlines": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", + "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", + "dev": true + } + } + } + } + }, + "fancy-log": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.2.0.tgz", + "integrity": "sha1-1aUbU+mrIsoH1VjytnrlX9tfy9g=", + "dev": true, + "requires": { + "chalk": "^1.1.1", + "time-stamp": "^1.0.0" + }, + "dependencies": { + "time-stamp": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.0.1.tgz", + "integrity": "sha1-n0vSNVnJNllm8zAtu6KwfGuZsVE=", + "dev": true + } + } + }, + "gulplog": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz", + "integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=", + "dev": true, + "requires": { + "glogg": "^1.0.0" + }, + "dependencies": { + "glogg": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.0.tgz", + "integrity": "sha1-f+DxmfV6yQbPUS/urY+Q7kooT8U=", + "dev": true, + "requires": { + "sparkles": "^1.0.0" + }, + "dependencies": { + "sparkles": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.0.tgz", + "integrity": "sha1-Gsu/tZJDbRC76PeFt8xvgoFQEsM=", + "dev": true + } + } + } + } + }, + "has-gulplog": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz", + "integrity": "sha1-ZBTIKRNpfaUVkDl9r7EvIpZ4Ec4=", + "dev": true, + "requires": { + "sparkles": "^1.0.0" + }, + "dependencies": { + "sparkles": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.0.tgz", + "integrity": "sha1-Gsu/tZJDbRC76PeFt8xvgoFQEsM=", + "dev": true + } + } + }, + "lodash._reescape": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reescape/-/lodash._reescape-3.0.0.tgz", + "integrity": "sha1-Kx1vXf4HyKNVdT5fJ/rH8c3hYWo=", + "dev": true + }, + "lodash._reevaluate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz", + "integrity": "sha1-WLx0xAZklTrgsSTYBpltrKQx4u0=", + "dev": true + }, + "lodash._reinterpolate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", + "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=", + "dev": true + }, + "lodash.template": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz", + "integrity": "sha1-+M3sxhaaJVvpCYrosMU9N4kx0U8=", + "dev": true, + "requires": { + "lodash._basecopy": "^3.0.0", + "lodash._basetostring": "^3.0.0", + "lodash._basevalues": "^3.0.0", + "lodash._isiterateecall": "^3.0.0", + "lodash._reinterpolate": "^3.0.0", + "lodash.escape": "^3.0.0", + "lodash.keys": "^3.0.0", + "lodash.restparam": "^3.0.0", + "lodash.templatesettings": "^3.0.0" + }, + "dependencies": { + "lodash._basecopy": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz", + "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=", + "dev": true + }, + "lodash._basetostring": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz", + "integrity": "sha1-0YYdh3+CSlL2aYMtyvPuFVZqB9U=", + "dev": true + }, + "lodash._basevalues": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz", + "integrity": "sha1-W3dXYoAr3j0yl1A+JjAIIP32Ybc=", + "dev": true + }, + "lodash._isiterateecall": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz", + "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=", + "dev": true + }, + "lodash.escape": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz", + "integrity": "sha1-mV7g3BjBtIzJLv+ucaEKq1tIdpg=", + "dev": true, + "requires": { + "lodash._root": "^3.0.0" + }, + "dependencies": { + "lodash._root": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz", + "integrity": "sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI=", + "dev": true + } + } + }, + "lodash.keys": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz", + "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=", + "dev": true, + "requires": { + "lodash._getnative": "^3.0.0", + "lodash.isarguments": "^3.0.0", + "lodash.isarray": "^3.0.0" + }, + "dependencies": { + "lodash._getnative": { + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz", + "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=", + "dev": true + }, + "lodash.isarguments": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", + "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=", + "dev": true + }, + "lodash.isarray": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz", + "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=", + "dev": true + } + } + }, + "lodash.restparam": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz", + "integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=", + "dev": true + }, + "lodash.templatesettings": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz", + "integrity": "sha1-+zB4RHU7Zrnxr6VOJix0UwfbqOU=", + "dev": true, + "requires": { + "lodash._reinterpolate": "^3.0.0", + "lodash.escape": "^3.0.0" + } + } + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "multipipe": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz", + "integrity": "sha1-Ko8t33Du1WTf8tV/HhoTfZ8FB4s=", + "dev": true, + "requires": { + "duplexer2": "0.0.2" + }, + "dependencies": { + "duplexer2": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz", + "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=", + "dev": true, + "requires": { + "readable-stream": "~1.1.9" + }, + "dependencies": { + "readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + }, + "dependencies": { + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + } + } + } + } + } + } + }, + "object-assign": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz", + "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=", + "dev": true + }, + "replace-ext": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz", + "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=", + "dev": true + }, + "through2": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.1.tgz", + "integrity": "sha1-OE51MU1J8y3hLuu4E2uOtrXVnak=", + "dev": true, + "requires": { + "readable-stream": "~2.0.0", + "xtend": "~4.0.0" + }, + "dependencies": { + "readable-stream": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", + "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "string_decoder": "~0.10.x", + "util-deprecate": "~1.0.1" + }, + "dependencies": { + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "process-nextick-args": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", + "dev": true + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + } + } + }, + "xtend": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", + "dev": true + } + } + }, + "vinyl": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.5.3.tgz", + "integrity": "sha1-sEVbOPxeDPMNQyUTLkYZcMIJHN4=", + "dev": true, + "requires": { + "clone": "^1.0.0", + "clone-stats": "^0.0.1", + "replace-ext": "0.0.1" + }, + "dependencies": { + "clone": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.2.tgz", + "integrity": "sha1-Jgt6meux7f4kdTgXX3gyQ8sZ0Uk=", + "dev": true + }, + "clone-stats": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz", + "integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=", + "dev": true + } + } + } + } + }, + "minimize": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/minimize/-/minimize-1.8.1.tgz", + "integrity": "sha1-o2dK3pPyinX/ojuODzZc3CPWnYs=", + "dev": true, + "requires": { + "argh": "~0.1.4", + "async": "~1.5.2", + "cli-color": "~1.1.0", + "diagnostics": "~1.0.1", + "emits": "~3.0.0", + "htmlparser2": "~3.9.0", + "node-uuid": "~1.4.7" + }, + "dependencies": { + "argh": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/argh/-/argh-0.1.4.tgz", + "integrity": "sha1-PrTWEpc/xrbcbvM49W91nyrFw6Y=", + "dev": true + }, + "async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "dev": true + }, + "cli-color": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/cli-color/-/cli-color-1.1.0.tgz", + "integrity": "sha1-3hiM3Ekp2DtnrqBBEPvtQP2/Z3U=", + "dev": true, + "requires": { + "ansi-regex": "2", + "d": "^0.1.1", + "es5-ext": "^0.10.8", + "es6-iterator": "2", + "memoizee": "^0.3.9", + "timers-ext": "0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz", + "integrity": "sha1-xQYbbg74qBd15Q9dZhUb9r83EQc=", + "dev": true + }, + "d": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/d/-/d-0.1.1.tgz", + "integrity": "sha1-2hhMU10Y2O57oqoim5FACfrhEwk=", + "dev": true, + "requires": { + "es5-ext": "~0.10.2" + } + }, + "es5-ext": { + "version": "0.10.12", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.12.tgz", + "integrity": "sha1-qoRkHU23a2Krul5F/YBey6sUAEc=", + "dev": true, + "requires": { + "es6-iterator": "2", + "es6-symbol": "~3.1" + }, + "dependencies": { + "es6-symbol": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.0.tgz", + "integrity": "sha1-lEgcZV56fK2C66gy2X1UM0ltf/o=", + "dev": true, + "requires": { + "d": "~0.1.1", + "es5-ext": "~0.10.11" + } + } + } + }, + "es6-iterator": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.0.tgz", + "integrity": "sha1-vZaFZ9YWNeM8C4BydhPJy0sJa6w=", + "dev": true, + "requires": { + "d": "^0.1.1", + "es5-ext": "^0.10.7", + "es6-symbol": "3" + }, + "dependencies": { + "es6-symbol": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.0.tgz", + "integrity": "sha1-lEgcZV56fK2C66gy2X1UM0ltf/o=", + "dev": true, + "requires": { + "d": "~0.1.1", + "es5-ext": "~0.10.11" + } + } + } + }, + "memoizee": { + "version": "0.3.10", + "resolved": "https://registry.npmjs.org/memoizee/-/memoizee-0.3.10.tgz", + "integrity": "sha1-TsoNiu057J0Bf0xcLy9kMvQuXI8=", + "dev": true, + "requires": { + "d": "~0.1.1", + "es5-ext": "~0.10.11", + "es6-weak-map": "~0.1.4", + "event-emitter": "~0.3.4", + "lru-queue": "0.1", + "next-tick": "~0.2.2", + "timers-ext": "0.1" + }, + "dependencies": { + "es6-weak-map": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-0.1.4.tgz", + "integrity": "sha1-cGzvnpmqI2undmwjnIueKG6n0ig=", + "dev": true, + "requires": { + "d": "~0.1.1", + "es5-ext": "~0.10.6", + "es6-iterator": "~0.1.3", + "es6-symbol": "~2.0.1" + }, + "dependencies": { + "es6-iterator": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-0.1.3.tgz", + "integrity": "sha1-1vWLjE/EE8JJtLqhl2j45NfIlE4=", + "dev": true, + "requires": { + "d": "~0.1.1", + "es5-ext": "~0.10.5", + "es6-symbol": "~2.0.1" + } + }, + "es6-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-2.0.1.tgz", + "integrity": "sha1-dhtcZ8/U8dGK+yNPaR1nhoLLO/M=", + "dev": true, + "requires": { + "d": "~0.1.1", + "es5-ext": "~0.10.5" + } + } + } + }, + "event-emitter": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.4.tgz", + "integrity": "sha1-jWPd+0z+H647MsomXExyAiIIC7U=", + "dev": true, + "requires": { + "d": "~0.1.1", + "es5-ext": "~0.10.7" + } + }, + "lru-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz", + "integrity": "sha1-Jzi9nw089PhEkMVzbEhpmsYyzaM=", + "dev": true, + "requires": { + "es5-ext": "~0.10.2" + } + }, + "next-tick": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-0.2.2.tgz", + "integrity": "sha1-ddpKkn7liH45BliABltzNkE7MQ0=", + "dev": true + } + } + }, + "timers-ext": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.0.tgz", + "integrity": "sha1-ADRaLKkwidElEyIFQ4nSY+J7d+I=", + "dev": true, + "requires": { + "es5-ext": "~0.10.2", + "next-tick": "~0.2.2" + }, + "dependencies": { + "next-tick": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-0.2.2.tgz", + "integrity": "sha1-ddpKkn7liH45BliABltzNkE7MQ0=", + "dev": true + } + } + } + } + }, + "diagnostics": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/diagnostics/-/diagnostics-1.0.1.tgz", + "integrity": "sha1-rM2wgMgrsl0N1zQwqeaof7tDFUE=", + "dev": true, + "requires": { + "colorspace": "1.0.x", + "enabled": "1.0.x", + "kuler": "0.0.x" + }, + "dependencies": { + "colorspace": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/colorspace/-/colorspace-1.0.1.tgz", + "integrity": "sha1-yZx5btMRKLmHalLh7l7gOkpxl0k=", + "dev": true, + "requires": { + "color": "0.8.x", + "text-hex": "0.0.x" + }, + "dependencies": { + "color": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/color/-/color-0.8.0.tgz", + "integrity": "sha1-iQwHw/1OZJU3Y4kRz2keVFi2/KU=", + "dev": true, + "requires": { + "color-convert": "^0.5.0", + "color-string": "^0.3.0" + }, + "dependencies": { + "color-convert": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-0.5.3.tgz", + "integrity": "sha1-vbbGnOZg+t/+CwAHzER+G59ygr0=", + "dev": true + }, + "color-string": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-0.3.0.tgz", + "integrity": "sha1-J9RvtnAlxcL6JZk7+/V55HhBuZE=", + "dev": true, + "requires": { + "color-name": "^1.0.0" + }, + "dependencies": { + "color-name": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.1.tgz", + "integrity": "sha1-SxQVMEz1ACjqgWQ2Q72C6gWANok=", + "dev": true + } + } + } + } + }, + "text-hex": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/text-hex/-/text-hex-0.0.0.tgz", + "integrity": "sha1-V4+8haapJjbkLdF7QdAhjM6esrM=", + "dev": true + } + } + }, + "enabled": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/enabled/-/enabled-1.0.2.tgz", + "integrity": "sha1-ll9lE9LC0cX0ZStkouM5ZGf8L5M=", + "dev": true, + "requires": { + "env-variable": "0.0.x" + }, + "dependencies": { + "env-variable": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/env-variable/-/env-variable-0.0.3.tgz", + "integrity": "sha1-uGwWQb5WECZ9UG8YBx6nbXBwl8s=", + "dev": true + } + } + }, + "kuler": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/kuler/-/kuler-0.0.0.tgz", + "integrity": "sha1-tmu0a5NOVQ9Z2BiEjgq7pPf1VTw=", + "dev": true, + "requires": { + "colornames": "0.0.2" + }, + "dependencies": { + "colornames": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/colornames/-/colornames-0.0.2.tgz", + "integrity": "sha1-2BH9bIT1kClJmorEQ2ICk1uSvjE=", + "dev": true + } + } + } + } + }, + "emits": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emits/-/emits-3.0.0.tgz", + "integrity": "sha1-MnUrupXhcHshlWI4Srm7ix/WL3A=", + "dev": true + }, + "htmlparser2": { + "version": "3.9.2", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.9.2.tgz", + "integrity": "sha1-G9+HrMoPP55T+k/M6w9LTLsAszg=", + "dev": true, + "requires": { + "domelementtype": "^1.3.0", + "domhandler": "^2.3.0", + "domutils": "^1.5.1", + "entities": "^1.1.1", + "inherits": "^2.0.1", + "readable-stream": "^2.0.2" + }, + "dependencies": { + "domelementtype": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz", + "integrity": "sha1-sXrtguirWeUt2cGbF1bg/BhyBMI=", + "dev": true + }, + "domhandler": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz", + "integrity": "sha1-LeWaCCLVAn+r/28DLCsloqir5zg=", + "dev": true, + "requires": { + "domelementtype": "1" + } + }, + "domutils": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", + "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", + "dev": true, + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + }, + "dependencies": { + "dom-serializer": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz", + "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=", + "dev": true, + "requires": { + "domelementtype": "~1.1.1", + "entities": "~1.1.1" + }, + "dependencies": { + "domelementtype": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz", + "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=", + "dev": true + } + } + } + } + }, + "entities": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz", + "integrity": "sha1-blwtClYhtdra7O+AuQ7ftc13cvA=", + "dev": true + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "readable-stream": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.1.5.tgz", + "integrity": "sha1-ZvqLcg4UOLNkaB8q0aY8YYRIydA=", + "dev": true, + "requires": { + "buffer-shims": "^1.0.0", + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "string_decoder": "~0.10.x", + "util-deprecate": "~1.0.1" + }, + "dependencies": { + "buffer-shims": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz", + "integrity": "sha1-mXjOMXOIxkmth5MCjDR37wRKi1E=", + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "process-nextick-args": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", + "dev": true + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + } + } + } + } + }, + "node-uuid": { + "version": "1.4.7", + "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.7.tgz", + "integrity": "sha1-baWhdmjEs91ZYjvaEc9/pMH2Cm8=", + "dev": true + } + } + }, + "through2": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", + "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", + "dev": true, + "requires": { + "readable-stream": ">=1.0.33-1 <1.1.0-0", + "xtend": ">=4.0.0 <4.1.0-0" + }, + "dependencies": { + "readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + }, + "dependencies": { + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + } + } + }, + "xtend": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", + "dev": true + } + } + } + } + }, + "gulp-rename": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/gulp-rename/-/gulp-rename-1.2.2.tgz", + "integrity": "sha1-OtRCh2PwXidk3sHGfYaNsnVoeBc=", + "dev": true + }, + "gulp-uglify": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/gulp-uglify/-/gulp-uglify-1.5.4.tgz", + "integrity": "sha1-UkeI2HZm0J+dDCH7IXf5ADmmWMk=", + "dev": true, + "requires": { + "deap": "^1.0.0", + "fancy-log": "^1.0.0", + "gulp-util": "^3.0.0", + "isobject": "^2.0.0", + "through2": "^2.0.0", + "uglify-js": "2.6.4", + "uglify-save-license": "^0.4.1", + "vinyl-sourcemaps-apply": "^0.2.0" + }, + "dependencies": { + "deap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/deap/-/deap-1.0.0.tgz", + "integrity": "sha1-sUi/gkMKJ2mbdIOgPra2dYW/yIg=", + "dev": true + }, + "fancy-log": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.2.0.tgz", + "integrity": "sha1-1aUbU+mrIsoH1VjytnrlX9tfy9g=", + "dev": true, + "requires": { + "chalk": "^1.1.1", + "time-stamp": "^1.0.0" + }, + "dependencies": { + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz", + "integrity": "sha1-xQYbbg74qBd15Q9dZhUb9r83EQc=", + "dev": true + } + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz", + "integrity": "sha1-xQYbbg74qBd15Q9dZhUb9r83EQc=", + "dev": true + } + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "time-stamp": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.0.1.tgz", + "integrity": "sha1-n0vSNVnJNllm8zAtu6KwfGuZsVE=", + "dev": true + } + } + }, + "gulp-util": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.7.tgz", + "integrity": "sha1-eJJcS4+LSQBawBoBHFV+YhiUHLs=", + "dev": true, + "requires": { + "array-differ": "^1.0.0", + "array-uniq": "^1.0.2", + "beeper": "^1.0.0", + "chalk": "^1.0.0", + "dateformat": "^1.0.11", + "fancy-log": "^1.1.0", + "gulplog": "^1.0.0", + "has-gulplog": "^0.1.0", + "lodash._reescape": "^3.0.0", + "lodash._reevaluate": "^3.0.0", + "lodash._reinterpolate": "^3.0.0", + "lodash.template": "^3.0.0", + "minimist": "^1.1.0", + "multipipe": "^0.1.2", + "object-assign": "^3.0.0", + "replace-ext": "0.0.1", + "through2": "^2.0.0", + "vinyl": "^0.5.0" + }, + "dependencies": { + "array-differ": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz", + "integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=", + "dev": true + }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", + "dev": true + }, + "beeper": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/beeper/-/beeper-1.1.0.tgz", + "integrity": "sha1-nub8HOf1T+qs585zWIsFYDeGaiw=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz", + "integrity": "sha1-xQYbbg74qBd15Q9dZhUb9r83EQc=", + "dev": true + } + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz", + "integrity": "sha1-xQYbbg74qBd15Q9dZhUb9r83EQc=", + "dev": true + } + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "dateformat": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz", + "integrity": "sha1-nxJLZ1lMk3/3BpMuSmQsyo27/uk=", + "dev": true, + "requires": { + "get-stdin": "^4.0.1", + "meow": "^3.3.0" + }, + "dependencies": { + "get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", + "dev": true + }, + "meow": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", + "dev": true, + "requires": { + "camelcase-keys": "^2.0.0", + "decamelize": "^1.1.2", + "loud-rejection": "^1.0.0", + "map-obj": "^1.0.1", + "minimist": "^1.1.3", + "normalize-package-data": "^2.3.4", + "object-assign": "^4.0.1", + "read-pkg-up": "^1.0.1", + "redent": "^1.0.0", + "trim-newlines": "^1.0.0" + }, + "dependencies": { + "camelcase-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", + "dev": true, + "requires": { + "camelcase": "^2.0.0", + "map-obj": "^1.0.0" + }, + "dependencies": { + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", + "dev": true + } + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "loud-rejection": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", + "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", + "dev": true, + "requires": { + "currently-unhandled": "^0.4.1", + "signal-exit": "^3.0.0" + }, + "dependencies": { + "currently-unhandled": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", + "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", + "dev": true, + "requires": { + "array-find-index": "^1.0.1" + }, + "dependencies": { + "array-find-index": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", + "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", + "dev": true + } + } + }, + "signal-exit": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.1.tgz", + "integrity": "sha1-WkyISZK2OnrNm623iUw+6c/MrYE=", + "dev": true + } + } + }, + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "dev": true + }, + "normalize-package-data": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.3.5.tgz", + "integrity": "sha1-jZJPFClg4Xd+f/4XBUNjHMfLAt8=", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "is-builtin-module": "^1.0.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + }, + "dependencies": { + "hosted-git-info": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.1.5.tgz", + "integrity": "sha1-C6gdkNouJas0ozLm7HeTbhWYEYs=", + "dev": true + }, + "is-builtin-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", + "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", + "dev": true, + "requires": { + "builtin-modules": "^1.0.0" + }, + "dependencies": { + "builtin-modules": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", + "dev": true + } + } + }, + "semver": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", + "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", + "dev": true + }, + "validate-npm-package-license": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz", + "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=", + "dev": true, + "requires": { + "spdx-correct": "~1.0.0", + "spdx-expression-parse": "~1.0.0" + }, + "dependencies": { + "spdx-correct": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz", + "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=", + "dev": true, + "requires": { + "spdx-license-ids": "^1.0.2" + }, + "dependencies": { + "spdx-license-ids": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz", + "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=", + "dev": true + } + } + }, + "spdx-expression-parse": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz", + "integrity": "sha1-m98vIOH0DtRH++JzJmGR/O1RYmw=", + "dev": true + } + } + } + } + }, + "object-assign": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz", + "integrity": "sha1-ejs9DpgGPUP0wD8uiubNUahog6A=", + "dev": true + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dev": true, + "requires": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + }, + "dependencies": { + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "dependencies": { + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "requires": { + "pinkie-promise": "^2.0.0" + } + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + }, + "dependencies": { + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + } + } + } + } + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true, + "requires": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + }, + "dependencies": { + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + }, + "dependencies": { + "graceful-fs": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.9.tgz", + "integrity": "sha1-uqy6N9GdEfnRRtNXi8mZWMN4fik=", + "dev": true + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "requires": { + "error-ex": "^1.2.0" + }, + "dependencies": { + "error-ex": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.0.tgz", + "integrity": "sha1-5ntD8+gsluo6WE/+4Ln8MyXYAtk=", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + }, + "dependencies": { + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + } + } + } + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + }, + "dependencies": { + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + } + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "requires": { + "is-utf8": "^0.2.0" + }, + "dependencies": { + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true + } + } + } + } + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "dependencies": { + "graceful-fs": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.9.tgz", + "integrity": "sha1-uqy6N9GdEfnRRtNXi8mZWMN4fik=", + "dev": true + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + }, + "dependencies": { + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + } + } + } + } + } + } + } + } + }, + "redent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", + "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", + "dev": true, + "requires": { + "indent-string": "^2.1.0", + "strip-indent": "^1.0.1" + }, + "dependencies": { + "indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "dev": true, + "requires": { + "repeating": "^2.0.0" + }, + "dependencies": { + "repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "dev": true, + "requires": { + "is-finite": "^1.0.0" + }, + "dependencies": { + "is-finite": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", + "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + }, + "dependencies": { + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true + } + } + } + } + } + } + }, + "strip-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", + "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "dev": true, + "requires": { + "get-stdin": "^4.0.1" + } + } + } + }, + "trim-newlines": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", + "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", + "dev": true + } + } + } + } + }, + "gulplog": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz", + "integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=", + "dev": true, + "requires": { + "glogg": "^1.0.0" + }, + "dependencies": { + "glogg": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.0.tgz", + "integrity": "sha1-f+DxmfV6yQbPUS/urY+Q7kooT8U=", + "dev": true, + "requires": { + "sparkles": "^1.0.0" + }, + "dependencies": { + "sparkles": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.0.tgz", + "integrity": "sha1-Gsu/tZJDbRC76PeFt8xvgoFQEsM=", + "dev": true + } + } + } + } + }, + "has-gulplog": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz", + "integrity": "sha1-ZBTIKRNpfaUVkDl9r7EvIpZ4Ec4=", + "dev": true, + "requires": { + "sparkles": "^1.0.0" + }, + "dependencies": { + "sparkles": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.0.tgz", + "integrity": "sha1-Gsu/tZJDbRC76PeFt8xvgoFQEsM=", + "dev": true + } + } + }, + "lodash._reescape": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reescape/-/lodash._reescape-3.0.0.tgz", + "integrity": "sha1-Kx1vXf4HyKNVdT5fJ/rH8c3hYWo=", + "dev": true + }, + "lodash._reevaluate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz", + "integrity": "sha1-WLx0xAZklTrgsSTYBpltrKQx4u0=", + "dev": true + }, + "lodash._reinterpolate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", + "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=", + "dev": true + }, + "lodash.template": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz", + "integrity": "sha1-+M3sxhaaJVvpCYrosMU9N4kx0U8=", + "dev": true, + "requires": { + "lodash._basecopy": "^3.0.0", + "lodash._basetostring": "^3.0.0", + "lodash._basevalues": "^3.0.0", + "lodash._isiterateecall": "^3.0.0", + "lodash._reinterpolate": "^3.0.0", + "lodash.escape": "^3.0.0", + "lodash.keys": "^3.0.0", + "lodash.restparam": "^3.0.0", + "lodash.templatesettings": "^3.0.0" + }, + "dependencies": { + "lodash._basecopy": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz", + "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=", + "dev": true + }, + "lodash._basetostring": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz", + "integrity": "sha1-0YYdh3+CSlL2aYMtyvPuFVZqB9U=", + "dev": true + }, + "lodash._basevalues": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz", + "integrity": "sha1-W3dXYoAr3j0yl1A+JjAIIP32Ybc=", + "dev": true + }, + "lodash._isiterateecall": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz", + "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=", + "dev": true + }, + "lodash.escape": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz", + "integrity": "sha1-mV7g3BjBtIzJLv+ucaEKq1tIdpg=", + "dev": true, + "requires": { + "lodash._root": "^3.0.0" + }, + "dependencies": { + "lodash._root": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz", + "integrity": "sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI=", + "dev": true + } + } + }, + "lodash.keys": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz", + "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=", + "dev": true, + "requires": { + "lodash._getnative": "^3.0.0", + "lodash.isarguments": "^3.0.0", + "lodash.isarray": "^3.0.0" + }, + "dependencies": { + "lodash._getnative": { + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz", + "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=", + "dev": true + }, + "lodash.isarguments": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", + "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=", + "dev": true + }, + "lodash.isarray": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz", + "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=", + "dev": true + } + } + }, + "lodash.restparam": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz", + "integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=", + "dev": true + }, + "lodash.templatesettings": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz", + "integrity": "sha1-+zB4RHU7Zrnxr6VOJix0UwfbqOU=", + "dev": true, + "requires": { + "lodash._reinterpolate": "^3.0.0", + "lodash.escape": "^3.0.0" + } + } + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "multipipe": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz", + "integrity": "sha1-Ko8t33Du1WTf8tV/HhoTfZ8FB4s=", + "dev": true, + "requires": { + "duplexer2": "0.0.2" + }, + "dependencies": { + "duplexer2": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz", + "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=", + "dev": true, + "requires": { + "readable-stream": "~1.1.9" + }, + "dependencies": { + "readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + }, + "dependencies": { + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + } + } + } + } + } + } + }, + "object-assign": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz", + "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=", + "dev": true + }, + "replace-ext": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz", + "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=", + "dev": true + }, + "vinyl": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.5.3.tgz", + "integrity": "sha1-sEVbOPxeDPMNQyUTLkYZcMIJHN4=", + "dev": true, + "requires": { + "clone": "^1.0.0", + "clone-stats": "^0.0.1", + "replace-ext": "0.0.1" + }, + "dependencies": { + "clone": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.2.tgz", + "integrity": "sha1-Jgt6meux7f4kdTgXX3gyQ8sZ0Uk=", + "dev": true + }, + "clone-stats": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz", + "integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=", + "dev": true + } + } + } + } + }, + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "requires": { + "isarray": "1.0.0" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + } + } + }, + "through2": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.1.tgz", + "integrity": "sha1-OE51MU1J8y3hLuu4E2uOtrXVnak=", + "dev": true, + "requires": { + "readable-stream": "~2.0.0", + "xtend": "~4.0.0" + }, + "dependencies": { + "readable-stream": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", + "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "string_decoder": "~0.10.x", + "util-deprecate": "~1.0.1" + }, + "dependencies": { + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "process-nextick-args": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", + "dev": true + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + } + } + }, + "xtend": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", + "dev": true + } + } + }, + "uglify-js": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.6.4.tgz", + "integrity": "sha1-ZeovswWck5RpLxX+2HwrNsFrmt8=", + "dev": true, + "requires": { + "async": "~0.2.6", + "source-map": "~0.5.1", + "uglify-to-browserify": "~1.0.0", + "yargs": "~3.10.0" + }, + "dependencies": { + "async": { + "version": "0.2.10", + "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", + "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=", + "dev": true + }, + "source-map": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", + "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=", + "dev": true + }, + "uglify-to-browserify": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", + "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", + "dev": true + }, + "yargs": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", + "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", + "dev": true, + "requires": { + "camelcase": "^1.0.2", + "cliui": "^2.1.0", + "decamelize": "^1.0.0", + "window-size": "0.1.0" + }, + "dependencies": { + "camelcase": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", + "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", + "dev": true + }, + "cliui": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", + "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", + "dev": true, + "requires": { + "center-align": "^0.1.1", + "right-align": "^0.1.1", + "wordwrap": "0.0.2" + }, + "dependencies": { + "center-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", + "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", + "dev": true, + "requires": { + "align-text": "^0.1.3", + "lazy-cache": "^1.0.3" + }, + "dependencies": { + "align-text": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", + "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", + "dev": true, + "requires": { + "kind-of": "^3.0.2", + "longest": "^1.0.1", + "repeat-string": "^1.5.2" + }, + "dependencies": { + "kind-of": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.0.4.tgz", + "integrity": "sha1-e47PGKThf4Jp1ztQHJ8jLJaIenQ=", + "dev": true, + "requires": { + "is-buffer": "^1.0.2" + }, + "dependencies": { + "is-buffer": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.4.tgz", + "integrity": "sha1-z8hszV3FpS+oBIkRHGkgxFfi2Ys=", + "dev": true + } + } + }, + "longest": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", + "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true + } + } + }, + "lazy-cache": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", + "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", + "dev": true + } + } + }, + "right-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", + "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", + "dev": true, + "requires": { + "align-text": "^0.1.1" + }, + "dependencies": { + "align-text": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", + "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", + "dev": true, + "requires": { + "kind-of": "^3.0.2", + "longest": "^1.0.1", + "repeat-string": "^1.5.2" + }, + "dependencies": { + "kind-of": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.0.4.tgz", + "integrity": "sha1-e47PGKThf4Jp1ztQHJ8jLJaIenQ=", + "dev": true, + "requires": { + "is-buffer": "^1.0.2" + }, + "dependencies": { + "is-buffer": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.4.tgz", + "integrity": "sha1-z8hszV3FpS+oBIkRHGkgxFfi2Ys=", + "dev": true + } + } + }, + "longest": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", + "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true + } + } + } + } + }, + "wordwrap": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", + "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", + "dev": true + } + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "window-size": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", + "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", + "dev": true + } + } + } + } + }, + "uglify-save-license": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/uglify-save-license/-/uglify-save-license-0.4.1.tgz", + "integrity": "sha1-lXJsF8xv0XHDYX479NjYKqjEzOE=", + "dev": true + }, + "vinyl-sourcemaps-apply": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz", + "integrity": "sha1-q2VJ1h0XLCsbh75cUI0jnI74dwU=", + "dev": true, + "requires": { + "source-map": "^0.5.1" + }, + "dependencies": { + "source-map": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", + "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=", + "dev": true + } + } + } + } + }, + "gulp-watch": { + "version": "4.3.10", + "resolved": "https://registry.npmjs.org/gulp-watch/-/gulp-watch-4.3.10.tgz", + "integrity": "sha1-d2kgq1RZXJXzWX+1RE5h/Hu9WKM=", + "dev": true, + "requires": { + "anymatch": "^1.3.0", + "chokidar": "^1.5.2", + "glob-parent": "^3.0.0", + "gulp-util": "^3.0.6", + "object-assign": "^4.1.0", + "path-is-absolute": "^1.0.0", + "readable-stream": "^2.0.1", + "vinyl": "^1.2.0", + "vinyl-file": "^2.0.0" + }, + "dependencies": { + "anymatch": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.0.tgz", + "integrity": "sha1-o+Uvo5FoyCX/V7AkgSbOWo/5VQc=", + "dev": true, + "requires": { + "arrify": "^1.0.0", + "micromatch": "^2.1.5" + }, + "dependencies": { + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "dev": true + }, + "micromatch": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "dev": true, + "requires": { + "arr-diff": "^2.0.0", + "array-unique": "^0.2.1", + "braces": "^1.8.2", + "expand-brackets": "^0.1.4", + "extglob": "^0.3.1", + "filename-regex": "^2.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.1", + "kind-of": "^3.0.2", + "normalize-path": "^2.0.1", + "object.omit": "^2.0.0", + "parse-glob": "^3.0.4", + "regex-cache": "^0.4.2" + }, + "dependencies": { + "arr-diff": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", + "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", + "dev": true, + "requires": { + "arr-flatten": "^1.0.1" + }, + "dependencies": { + "arr-flatten": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.0.1.tgz", + "integrity": "sha1-5f/lTUXhnzLyFukeuZyM6JK7YEs=", + "dev": true + } + } + }, + "array-unique": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", + "dev": true + }, + "braces": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "dev": true, + "requires": { + "expand-range": "^1.8.1", + "preserve": "^0.2.0", + "repeat-element": "^1.1.2" + }, + "dependencies": { + "expand-range": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", + "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", + "dev": true, + "requires": { + "fill-range": "^2.1.0" + }, + "dependencies": { + "fill-range": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz", + "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=", + "dev": true, + "requires": { + "is-number": "^2.1.0", + "isobject": "^2.0.0", + "randomatic": "^1.1.3", + "repeat-element": "^1.1.2", + "repeat-string": "^1.5.2" + }, + "dependencies": { + "is-number": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", + "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "requires": { + "isarray": "1.0.0" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + } + } + }, + "randomatic": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.5.tgz", + "integrity": "sha1-Xp718tVzxnvSuBJK6QtRVuRXhAs=", + "dev": true, + "requires": { + "is-number": "^2.0.2", + "kind-of": "^3.0.2" + } + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true + } + } + } + } + }, + "preserve": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", + "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", + "dev": true + }, + "repeat-element": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", + "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=", + "dev": true + } + } + }, + "expand-brackets": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", + "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", + "dev": true, + "requires": { + "is-posix-bracket": "^0.1.0" + }, + "dependencies": { + "is-posix-bracket": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", + "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=", + "dev": true + } + } + }, + "extglob": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", + "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "dev": true, + "requires": { + "is-extglob": "^1.0.0" + } + }, + "filename-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.0.tgz", + "integrity": "sha1-mW4+gEebmLmJfxWopYs9CE6SZ3U=", + "dev": true + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "requires": { + "is-extglob": "^1.0.0" + } + }, + "kind-of": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.0.4.tgz", + "integrity": "sha1-e47PGKThf4Jp1ztQHJ8jLJaIenQ=", + "dev": true, + "requires": { + "is-buffer": "^1.0.2" + }, + "dependencies": { + "is-buffer": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.4.tgz", + "integrity": "sha1-z8hszV3FpS+oBIkRHGkgxFfi2Ys=", + "dev": true + } + } + }, + "normalize-path": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.0.1.tgz", + "integrity": "sha1-R4hqwWYnYNQmG32XnSQXCdPOP3o=", + "dev": true + }, + "object.omit": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", + "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", + "dev": true, + "requires": { + "for-own": "^0.1.4", + "is-extendable": "^0.1.1" + }, + "dependencies": { + "for-own": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.4.tgz", + "integrity": "sha1-AUm0GjkIjHUV9R6+HBOG1F+TUHI=", + "dev": true, + "requires": { + "for-in": "^0.1.5" + }, + "dependencies": { + "for-in": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-0.1.6.tgz", + "integrity": "sha1-yfluib+tGKVFr17D7TUqHZ5bTcg=", + "dev": true + } + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true + } + } + }, + "parse-glob": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", + "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", + "dev": true, + "requires": { + "glob-base": "^0.3.0", + "is-dotfile": "^1.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.0" + }, + "dependencies": { + "glob-base": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", + "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", + "dev": true, + "requires": { + "glob-parent": "^2.0.0", + "is-glob": "^2.0.0" + }, + "dependencies": { + "glob-parent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", + "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", + "dev": true, + "requires": { + "is-glob": "^2.0.0" + } + } + } + }, + "is-dotfile": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.2.tgz", + "integrity": "sha1-LBMjg/ORmfjtwmjKAbmwB9IFzE0=", + "dev": true + } + } + }, + "regex-cache": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.3.tgz", + "integrity": "sha1-mxpsNdTQ3871cRrmUejp09cRQUU=", + "dev": true, + "requires": { + "is-equal-shallow": "^0.1.3", + "is-primitive": "^2.0.0" + }, + "dependencies": { + "is-equal-shallow": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", + "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", + "dev": true, + "requires": { + "is-primitive": "^2.0.0" + } + }, + "is-primitive": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", + "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", + "dev": true + } + } + } + } + } + } + }, + "chokidar": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.6.1.tgz", + "integrity": "sha1-L0RHq16W5Q+z14n9kNTHLg5McMI=", + "dev": true, + "requires": { + "anymatch": "^1.3.0", + "async-each": "^1.0.0", + "fsevents": "^1.0.0", + "glob-parent": "^2.0.0", + "inherits": "^2.0.1", + "is-binary-path": "^1.0.0", + "is-glob": "^2.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.0.0" + }, + "dependencies": { + "async-each": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz", + "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=", + "dev": true + }, + "fsevents": { + "version": "1.0.14", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.0.14.tgz", + "integrity": "sha1-VY6Mw4ZD2O9A/kUVhIbQ0ldY7uQ=", + "dev": true, + "optional": true, + "requires": { + "nan": "^2.3.0", + "node-pre-gyp": "^0.6.29" + }, + "dependencies": { + "abbrev": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz", + "integrity": "sha1-kbR5JYinc4wl813W9jdSovh3YTU=", + "dev": true, + "optional": true + }, + "ansi-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz", + "integrity": "sha1-xQYbbg74qBd15Q9dZhUb9r83EQc=", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true, + "optional": true + }, + "aproba": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.0.4.tgz", + "integrity": "sha1-JxNoB3XnYUyLoYbAZdTi5S0QcsA=", + "dev": true, + "optional": true + }, + "are-we-there-yet": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.2.tgz", + "integrity": "sha1-gORw6VoIR5T+GJkmLFZnxuiN4bM=", + "dev": true, + "optional": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.0 || ^1.1.13" + } + }, + "asn1": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", + "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=", + "dev": true, + "optional": true + }, + "assert-plus": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", + "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=", + "dev": true, + "optional": true + }, + "async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "dev": true, + "optional": true + }, + "aws-sign2": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", + "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=", + "dev": true, + "optional": true + }, + "aws4": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.4.1.tgz", + "integrity": "sha1-/efVKSRm0jDl7g9OA42d+qsI/GE=", + "dev": true, + "optional": true + }, + "balanced-match": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", + "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=", + "dev": true + }, + "bl": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.1.2.tgz", + "integrity": "sha1-/cqHGplxOqANGeO7ukHER4emU5g=", + "dev": true, + "optional": true, + "requires": { + "readable-stream": "~2.0.5" + }, + "dependencies": { + "readable-stream": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", + "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", + "dev": true, + "optional": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "string_decoder": "~0.10.x", + "util-deprecate": "~1.0.1" + } + } + } + }, + "block-stream": { + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", + "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", + "dev": true, + "requires": { + "inherits": "~2.0.0" + } + }, + "boom": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", + "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", + "dev": true, + "requires": { + "hoek": "2.x.x" + } + }, + "brace-expansion": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.5.tgz", + "integrity": "sha1-9bStV04st8zB64Pm/nm47K33pSY=", + "dev": true, + "requires": { + "balanced-match": "^0.4.1", + "concat-map": "0.0.1" + } + }, + "buffer-shims": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz", + "integrity": "sha1-mXjOMXOIxkmth5MCjDR37wRKi1E=", + "dev": true + }, + "caseless": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz", + "integrity": "sha1-cVuW6phBWTzDMGeSP17GDr2k99c=", + "dev": true, + "optional": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "optional": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "code-point-at": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.0.0.tgz", + "integrity": "sha1-9psZLT99keOC5Lcb3bd4eGGasMY=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "combined-stream": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", + "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=", + "dev": true, + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commander": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", + "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=", + "dev": true, + "optional": true, + "requires": { + "graceful-readlink": ">= 1.0.0" + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "cryptiles": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", + "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", + "dev": true, + "optional": true, + "requires": { + "boom": "2.x.x" + } + }, + "dashdash": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.0.tgz", + "integrity": "sha1-KeSGxUGL8PNWA0qZPVFoajPoQUE=", + "dev": true, + "optional": true, + "requires": { + "assert-plus": "^1.0.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true, + "optional": true + } + } + }, + "debug": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", + "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", + "dev": true, + "optional": true, + "requires": { + "ms": "0.7.1" + } + }, + "deep-extend": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.1.tgz", + "integrity": "sha1-7+QRPQgIX05vlod1mBD4B0aeIlM=", + "dev": true, + "optional": true + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true + }, + "delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", + "dev": true, + "optional": true + }, + "ecc-jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", + "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", + "dev": true, + "optional": true, + "requires": { + "jsbn": "~0.1.0" + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true, + "optional": true + }, + "extend": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz", + "integrity": "sha1-WkdDU7nzNT3dgXbf03uRyDpG8dQ=", + "dev": true, + "optional": true + }, + "extsprintf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz", + "integrity": "sha1-4QgOBljjALBilJkMxw4VAiNf1VA=", + "dev": true + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true, + "optional": true + }, + "form-data": { + "version": "1.0.0-rc4", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-1.0.0-rc4.tgz", + "integrity": "sha1-BaxrwiIntD5EYfSIFhVUaZ1Pi14=", + "dev": true, + "optional": true, + "requires": { + "async": "^1.5.2", + "combined-stream": "^1.0.5", + "mime-types": "^2.1.10" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "fstream": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.10.tgz", + "integrity": "sha1-YE6Kkv4m/9n2+uMDmdSYThqyKCI=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "inherits": "~2.0.0", + "mkdirp": ">=0.5 0", + "rimraf": "2" + } + }, + "fstream-ignore": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/fstream-ignore/-/fstream-ignore-1.0.5.tgz", + "integrity": "sha1-nDHa40dnAY/h0kmyTa2mfQktoQU=", + "dev": true, + "optional": true, + "requires": { + "fstream": "^1.0.0", + "inherits": "2", + "minimatch": "^3.0.0" + } + }, + "gauge": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.6.0.tgz", + "integrity": "sha1-01MBrRjpaQK0dR3LvkD0IYuUKkY=", + "dev": true, + "optional": true, + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-color": "^0.1.7", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "generate-function": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz", + "integrity": "sha1-aFj+fAlpt9TpCTM3ZHrHn2DfvnQ=", + "dev": true, + "optional": true + }, + "generate-object-property": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", + "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=", + "dev": true, + "optional": true, + "requires": { + "is-property": "^1.0.0" + } + }, + "getpass": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.6.tgz", + "integrity": "sha1-KD/9n8ElaECHUxHBtg6MQBhxEOY=", + "dev": true, + "optional": true, + "requires": { + "assert-plus": "^1.0.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true, + "optional": true + } + } + }, + "glob": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.5.tgz", + "integrity": "sha1-tCAqaQmbu00pKnwblbZoK2fr3JU=", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.2", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "graceful-fs": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.4.tgz", + "integrity": "sha1-7widKIDwM7ARgjzlyPrnmNp3Xb0=", + "dev": true + }, + "graceful-readlink": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", + "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=", + "dev": true, + "optional": true + }, + "har-validator": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz", + "integrity": "sha1-zcvAgYgmWtEZtqWnyKtw7s+10n0=", + "dev": true, + "optional": true, + "requires": { + "chalk": "^1.1.1", + "commander": "^2.9.0", + "is-my-json-valid": "^2.12.4", + "pinkie-promise": "^2.0.0" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "optional": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "has-color": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/has-color/-/has-color-0.1.7.tgz", + "integrity": "sha1-ZxRKUmDDT8PMpnfQQdr1L+e3iy8=", + "dev": true, + "optional": true + }, + "has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", + "dev": true, + "optional": true + }, + "hawk": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", + "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", + "dev": true, + "optional": true, + "requires": { + "boom": "2.x.x", + "cryptiles": "2.x.x", + "hoek": "2.x.x", + "sntp": "1.x.x" + } + }, + "hoek": { + "version": "2.16.3", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", + "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=", + "dev": true + }, + "http-signature": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", + "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", + "dev": true, + "optional": true, + "requires": { + "assert-plus": "^0.2.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "inflight": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.5.tgz", + "integrity": "sha1-2zIEzVqd4ubNiQuFxuL2a89PYgo=", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", + "dev": true + }, + "ini": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz", + "integrity": "sha1-BTfLedr1m1mhpRff9wbIbsA5Fi4=", + "dev": true, + "optional": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "is-my-json-valid": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.13.1.tgz", + "integrity": "sha1-1Vd4qC/rawlj/0vhEdXRaE6JBwc=", + "dev": true, + "optional": true, + "requires": { + "generate-function": "^2.0.0", + "generate-object-property": "^1.1.0", + "jsonpointer": "2.0.0", + "xtend": "^4.0.0" + } + }, + "is-property": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", + "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=", + "dev": true, + "optional": true + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true, + "optional": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true, + "optional": true + }, + "jodid25519": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/jodid25519/-/jodid25519-1.0.2.tgz", + "integrity": "sha1-BtSRIlUJNBlHfUJWM2BuDpB4KWc=", + "dev": true, + "optional": true, + "requires": { + "jsbn": "~0.1.0" + } + }, + "jsbn": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.0.tgz", + "integrity": "sha1-ZQmH2g3XT06/WhE3eiqi0nPpff0=", + "dev": true, + "optional": true + }, + "json-schema": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.2.tgz", + "integrity": "sha1-UDVPGfYDkXxpX3C4Wvp3w7DyNQY=", + "dev": true, + "optional": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true, + "optional": true + }, + "jsonpointer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-2.0.0.tgz", + "integrity": "sha1-OvHdIP6FRjkQ1GmjheMwF9KgMNk=", + "dev": true, + "optional": true + }, + "jsprim": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.3.0.tgz", + "integrity": "sha1-zi4b74NSBLTzCZkoxgL4tq5hVlA=", + "dev": true, + "optional": true, + "requires": { + "extsprintf": "1.0.2", + "json-schema": "0.2.2", + "verror": "1.3.6" + } + }, + "mime-db": { + "version": "1.23.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.23.0.tgz", + "integrity": "sha1-oxtAcK2uon1zLqMzdApk0OyaZlk=", + "dev": true + }, + "mime-types": { + "version": "2.1.11", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.11.tgz", + "integrity": "sha1-wlnEcb2oCKhdbNGTtDCl+uRHOzw=", + "dev": true, + "requires": { + "mime-db": "~1.23.0" + } + }, + "minimatch": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.2.tgz", + "integrity": "sha1-DzmKcwDqRB6cNIyD2Yq4ydv5xAo=", + "dev": true, + "requires": { + "brace-expansion": "^1.0.0" + } + }, + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "dev": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", + "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=", + "dev": true, + "optional": true + }, + "nan": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.4.0.tgz", + "integrity": "sha1-+zxZ1F/k7/4hXwuJD4rfbrMtIjI=", + "dev": true, + "optional": true + }, + "node-pre-gyp": { + "version": "0.6.29", + "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.6.29.tgz", + "integrity": "sha1-sL0TY1uvfRvnriM8FvvPMwms03w=", + "dev": true, + "optional": true, + "requires": { + "mkdirp": "~0.5.0", + "nopt": "~3.0.1", + "npmlog": "~3.1.2", + "rc": "~1.1.0", + "request": "2.x", + "rimraf": "~2.5.0", + "semver": "~5.2.0", + "tar": "~2.2.0", + "tar-pack": "~3.1.0" + } + }, + "node-uuid": { + "version": "1.4.7", + "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.7.tgz", + "integrity": "sha1-baWhdmjEs91ZYjvaEc9/pMH2Cm8=", + "dev": true, + "optional": true + }, + "nopt": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", + "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "dev": true, + "optional": true, + "requires": { + "abbrev": "1" + } + }, + "npmlog": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-3.1.2.tgz", + "integrity": "sha1-LUb6h0M3r5SYovErtD2NC+SjaHM=", + "dev": true, + "optional": true, + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.6.0", + "set-blocking": "~2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.0.tgz", + "integrity": "sha1-wCD1KcUoKt/dIz2R1LGBw9aG3Es=", + "dev": true + }, + "oauth-sign": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", + "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=", + "dev": true, + "optional": true + }, + "object-assign": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz", + "integrity": "sha1-ejs9DpgGPUP0wD8uiubNUahog6A=", + "dev": true, + "optional": true + }, + "once": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz", + "integrity": "sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA=", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "path-is-absolute": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.0.tgz", + "integrity": "sha1-Jj2tpmqz8vsQv3+dJN2PPlcO+RI=", + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true, + "optional": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "optional": true, + "requires": { + "pinkie": "^2.0.0" + } + }, + "process-nextick-args": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", + "dev": true + }, + "qs": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.2.0.tgz", + "integrity": "sha1-O3hIwDwt7OaalSKw+ujEEm10Xzs=", + "dev": true, + "optional": true + }, + "rc": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.1.6.tgz", + "integrity": "sha1-Q2UbdrauU7XIAvEVH6P8OwWZack=", + "dev": true, + "optional": true, + "requires": { + "deep-extend": "~0.4.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~1.0.4" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true, + "optional": true + } + } + }, + "readable-stream": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.1.4.tgz", + "integrity": "sha1-cLl5HG/LhIDbRL0VWg9rtY8XJGg=", + "dev": true, + "requires": { + "buffer-shims": "^1.0.0", + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "string_decoder": "~0.10.x", + "util-deprecate": "~1.0.1" + } + }, + "request": { + "version": "2.73.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.73.0.tgz", + "integrity": "sha1-X3ip/eQ3CryP9kedeoSnGhS4eKI=", + "dev": true, + "optional": true, + "requires": { + "aws-sign2": "~0.6.0", + "aws4": "^1.2.1", + "bl": "~1.1.2", + "caseless": "~0.11.0", + "combined-stream": "~1.0.5", + "extend": "~3.0.0", + "forever-agent": "~0.6.1", + "form-data": "~1.0.0-rc4", + "har-validator": "~2.0.6", + "hawk": "~3.1.3", + "http-signature": "~1.1.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.7", + "node-uuid": "~1.4.7", + "oauth-sign": "~0.8.1", + "qs": "~6.2.0", + "stringstream": "~0.0.4", + "tough-cookie": "~2.2.0", + "tunnel-agent": "~0.4.1" + } + }, + "rimraf": { + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.5.3.tgz", + "integrity": "sha1-bl792kqi8DQX9rKldK7Cn0tlJwU=", + "dev": true, + "requires": { + "glob": "^7.0.5" + } + }, + "semver": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.2.0.tgz", + "integrity": "sha1-KBmVuAwUSCCUFd28TPUMJpzvVcU=", + "dev": true, + "optional": true + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true, + "optional": true + }, + "signal-exit": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.0.tgz", + "integrity": "sha1-PAVDtl17T7xgts2UWT2b9DZzm+g=", + "dev": true, + "optional": true + }, + "sntp": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", + "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", + "dev": true, + "optional": true, + "requires": { + "hoek": "2.x.x" + } + }, + "sshpk": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.8.3.tgz", + "integrity": "sha1-iQzJ1hTcUpLlyxpUOwPJq6pcN04=", + "dev": true, + "optional": true, + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jodid25519": "^1.0.0", + "jsbn": "~0.1.0", + "tweetnacl": "~0.13.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true, + "optional": true + } + } + }, + "string-width": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.1.tgz", + "integrity": "sha1-ySEptvHX9SrPmvQkom44ZKBc6wo=", + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + }, + "stringstream": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", + "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=", + "dev": true, + "optional": true + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-json-comments": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz", + "integrity": "sha1-HhX7ysl9Pumb8tc7TGVrCCu6+5E=", + "dev": true, + "optional": true + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true, + "optional": true + }, + "tar": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz", + "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", + "dev": true, + "requires": { + "block-stream": "*", + "fstream": "^1.0.2", + "inherits": "2" + } + }, + "tar-pack": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/tar-pack/-/tar-pack-3.1.4.tgz", + "integrity": "sha1-vIz5oi9YMnOfEvORDaweuXtJcIw=", + "dev": true, + "optional": true, + "requires": { + "debug": "~2.2.0", + "fstream": "~1.0.10", + "fstream-ignore": "~1.0.5", + "once": "~1.3.3", + "readable-stream": "~2.1.4", + "rimraf": "~2.5.1", + "tar": "~2.2.1", + "uid-number": "~0.0.6" + } + }, + "tough-cookie": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.2.2.tgz", + "integrity": "sha1-yDoYMPTl7wuT7yo0iOck+N4Basc=", + "dev": true, + "optional": true + }, + "tunnel-agent": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz", + "integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=", + "dev": true, + "optional": true + }, + "tweetnacl": { + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.13.3.tgz", + "integrity": "sha1-1ii1bzvMPVrnS6nUwacE3vWrS1Y=", + "dev": true, + "optional": true + }, + "uid-number": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/uid-number/-/uid-number-0.0.6.tgz", + "integrity": "sha1-DqEOgDXo61uOREnwbaHHMGY7qoE=", + "dev": true, + "optional": true + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "verror": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz", + "integrity": "sha1-z/XfEpRtKX0rqu+qJoniW+AcAFw=", + "dev": true, + "optional": true, + "requires": { + "extsprintf": "1.0.2" + } + }, + "wide-align": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.0.tgz", + "integrity": "sha1-QO3egCpx/qHwcNo+YtzaLnrdlq0=", + "dev": true, + "optional": true, + "requires": { + "string-width": "^1.0.1" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "xtend": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", + "dev": true, + "optional": true + } + } + }, + "glob-parent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", + "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", + "dev": true, + "requires": { + "is-glob": "^2.0.0" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "requires": { + "binary-extensions": "^1.0.0" + }, + "dependencies": { + "binary-extensions": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.7.0.tgz", + "integrity": "sha1-bBYQ2xY6v7NO3+QvpCM0Oh4BGF0=", + "dev": true + } + } + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "requires": { + "is-extglob": "^1.0.0" + }, + "dependencies": { + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + } + } + }, + "readdirp": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz", + "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "minimatch": "^3.0.2", + "readable-stream": "^2.0.2", + "set-immediate-shim": "^1.0.1" + }, + "dependencies": { + "graceful-fs": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.9.tgz", + "integrity": "sha1-uqy6N9GdEfnRRtNXi8mZWMN4fik=", + "dev": true + }, + "minimatch": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz", + "integrity": "sha1-Kk5AkLlrLbBqnX3wEFWmKnfJt3Q=", + "dev": true, + "requires": { + "brace-expansion": "^1.0.0" + }, + "dependencies": { + "brace-expansion": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.6.tgz", + "integrity": "sha1-cZfX6qm4fmSDkOph/GbIRCdCDfk=", + "dev": true, + "requires": { + "balanced-match": "^0.4.1", + "concat-map": "0.0.1" + }, + "dependencies": { + "balanced-match": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", + "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + } + } + } + } + }, + "set-immediate-shim": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", + "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", + "dev": true + } + } + } + } + }, + "glob-parent": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.0.1.tgz", + "integrity": "sha1-YAITJ8yWPdw7XwhXZPUAR57Ngv8=", + "dev": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + }, + "dependencies": { + "is-extglob": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.0.tgz", + "integrity": "sha1-M0EaSCsEa/leawyyfuJxGvTPFa0=", + "dev": true + } + } + }, + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", + "dev": true + } + } + }, + "gulp-util": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.7.tgz", + "integrity": "sha1-eJJcS4+LSQBawBoBHFV+YhiUHLs=", + "dev": true, + "requires": { + "array-differ": "^1.0.0", + "array-uniq": "^1.0.2", + "beeper": "^1.0.0", + "chalk": "^1.0.0", + "dateformat": "^1.0.11", + "fancy-log": "^1.1.0", + "gulplog": "^1.0.0", + "has-gulplog": "^0.1.0", + "lodash._reescape": "^3.0.0", + "lodash._reevaluate": "^3.0.0", + "lodash._reinterpolate": "^3.0.0", + "lodash.template": "^3.0.0", + "minimist": "^1.1.0", + "multipipe": "^0.1.2", + "object-assign": "^3.0.0", + "replace-ext": "0.0.1", + "through2": "^2.0.0", + "vinyl": "^0.5.0" + }, + "dependencies": { + "array-differ": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz", + "integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=", + "dev": true + }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", + "dev": true + }, + "beeper": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/beeper/-/beeper-1.1.0.tgz", + "integrity": "sha1-nub8HOf1T+qs585zWIsFYDeGaiw=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz", + "integrity": "sha1-xQYbbg74qBd15Q9dZhUb9r83EQc=", + "dev": true + } + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz", + "integrity": "sha1-xQYbbg74qBd15Q9dZhUb9r83EQc=", + "dev": true + } + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "dateformat": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz", + "integrity": "sha1-nxJLZ1lMk3/3BpMuSmQsyo27/uk=", + "dev": true, + "requires": { + "get-stdin": "^4.0.1", + "meow": "^3.3.0" + }, + "dependencies": { + "get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", + "dev": true + }, + "meow": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", + "dev": true, + "requires": { + "camelcase-keys": "^2.0.0", + "decamelize": "^1.1.2", + "loud-rejection": "^1.0.0", + "map-obj": "^1.0.1", + "minimist": "^1.1.3", + "normalize-package-data": "^2.3.4", + "object-assign": "^4.0.1", + "read-pkg-up": "^1.0.1", + "redent": "^1.0.0", + "trim-newlines": "^1.0.0" + }, + "dependencies": { + "camelcase-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", + "dev": true, + "requires": { + "camelcase": "^2.0.0", + "map-obj": "^1.0.0" + }, + "dependencies": { + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", + "dev": true + } + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "loud-rejection": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", + "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", + "dev": true, + "requires": { + "currently-unhandled": "^0.4.1", + "signal-exit": "^3.0.0" + }, + "dependencies": { + "currently-unhandled": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", + "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", + "dev": true, + "requires": { + "array-find-index": "^1.0.1" + }, + "dependencies": { + "array-find-index": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", + "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", + "dev": true + } + } + }, + "signal-exit": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.1.tgz", + "integrity": "sha1-WkyISZK2OnrNm623iUw+6c/MrYE=", + "dev": true + } + } + }, + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "dev": true + }, + "normalize-package-data": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.3.5.tgz", + "integrity": "sha1-jZJPFClg4Xd+f/4XBUNjHMfLAt8=", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "is-builtin-module": "^1.0.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + }, + "dependencies": { + "hosted-git-info": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.1.5.tgz", + "integrity": "sha1-C6gdkNouJas0ozLm7HeTbhWYEYs=", + "dev": true + }, + "is-builtin-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", + "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", + "dev": true, + "requires": { + "builtin-modules": "^1.0.0" + }, + "dependencies": { + "builtin-modules": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", + "dev": true + } + } + }, + "semver": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", + "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", + "dev": true + }, + "validate-npm-package-license": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz", + "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=", + "dev": true, + "requires": { + "spdx-correct": "~1.0.0", + "spdx-expression-parse": "~1.0.0" + }, + "dependencies": { + "spdx-correct": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz", + "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=", + "dev": true, + "requires": { + "spdx-license-ids": "^1.0.2" + }, + "dependencies": { + "spdx-license-ids": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz", + "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=", + "dev": true + } + } + }, + "spdx-expression-parse": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz", + "integrity": "sha1-m98vIOH0DtRH++JzJmGR/O1RYmw=", + "dev": true + } + } + } + } + }, + "object-assign": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz", + "integrity": "sha1-ejs9DpgGPUP0wD8uiubNUahog6A=", + "dev": true + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dev": true, + "requires": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + }, + "dependencies": { + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "dependencies": { + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "requires": { + "pinkie-promise": "^2.0.0" + } + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + }, + "dependencies": { + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + } + } + } + } + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true, + "requires": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + }, + "dependencies": { + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + }, + "dependencies": { + "graceful-fs": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.9.tgz", + "integrity": "sha1-uqy6N9GdEfnRRtNXi8mZWMN4fik=", + "dev": true + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "requires": { + "error-ex": "^1.2.0" + }, + "dependencies": { + "error-ex": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.0.tgz", + "integrity": "sha1-5ntD8+gsluo6WE/+4Ln8MyXYAtk=", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + }, + "dependencies": { + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + } + } + } + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + }, + "dependencies": { + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + } + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "requires": { + "is-utf8": "^0.2.0" + }, + "dependencies": { + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true + } + } + } + } + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "dependencies": { + "graceful-fs": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.9.tgz", + "integrity": "sha1-uqy6N9GdEfnRRtNXi8mZWMN4fik=", + "dev": true + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + }, + "dependencies": { + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + } + } + } + } + } + } + } + } + }, + "redent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", + "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", + "dev": true, + "requires": { + "indent-string": "^2.1.0", + "strip-indent": "^1.0.1" + }, + "dependencies": { + "indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "dev": true, + "requires": { + "repeating": "^2.0.0" + }, + "dependencies": { + "repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "dev": true, + "requires": { + "is-finite": "^1.0.0" + }, + "dependencies": { + "is-finite": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", + "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + }, + "dependencies": { + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true + } + } + } + } + } + } + }, + "strip-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", + "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "dev": true, + "requires": { + "get-stdin": "^4.0.1" + } + } + } + }, + "trim-newlines": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", + "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", + "dev": true + } + } + } + } + }, + "fancy-log": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.2.0.tgz", + "integrity": "sha1-1aUbU+mrIsoH1VjytnrlX9tfy9g=", + "dev": true, + "requires": { + "chalk": "^1.1.1", + "time-stamp": "^1.0.0" + }, + "dependencies": { + "time-stamp": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.0.1.tgz", + "integrity": "sha1-n0vSNVnJNllm8zAtu6KwfGuZsVE=", + "dev": true + } + } + }, + "gulplog": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz", + "integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=", + "dev": true, + "requires": { + "glogg": "^1.0.0" + }, + "dependencies": { + "glogg": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.0.tgz", + "integrity": "sha1-f+DxmfV6yQbPUS/urY+Q7kooT8U=", + "dev": true, + "requires": { + "sparkles": "^1.0.0" + }, + "dependencies": { + "sparkles": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.0.tgz", + "integrity": "sha1-Gsu/tZJDbRC76PeFt8xvgoFQEsM=", + "dev": true + } + } + } + } + }, + "has-gulplog": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz", + "integrity": "sha1-ZBTIKRNpfaUVkDl9r7EvIpZ4Ec4=", + "dev": true, + "requires": { + "sparkles": "^1.0.0" + }, + "dependencies": { + "sparkles": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.0.tgz", + "integrity": "sha1-Gsu/tZJDbRC76PeFt8xvgoFQEsM=", + "dev": true + } + } + }, + "lodash._reescape": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reescape/-/lodash._reescape-3.0.0.tgz", + "integrity": "sha1-Kx1vXf4HyKNVdT5fJ/rH8c3hYWo=", + "dev": true + }, + "lodash._reevaluate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz", + "integrity": "sha1-WLx0xAZklTrgsSTYBpltrKQx4u0=", + "dev": true + }, + "lodash._reinterpolate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", + "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=", + "dev": true + }, + "lodash.template": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz", + "integrity": "sha1-+M3sxhaaJVvpCYrosMU9N4kx0U8=", + "dev": true, + "requires": { + "lodash._basecopy": "^3.0.0", + "lodash._basetostring": "^3.0.0", + "lodash._basevalues": "^3.0.0", + "lodash._isiterateecall": "^3.0.0", + "lodash._reinterpolate": "^3.0.0", + "lodash.escape": "^3.0.0", + "lodash.keys": "^3.0.0", + "lodash.restparam": "^3.0.0", + "lodash.templatesettings": "^3.0.0" + }, + "dependencies": { + "lodash._basecopy": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz", + "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=", + "dev": true + }, + "lodash._basetostring": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz", + "integrity": "sha1-0YYdh3+CSlL2aYMtyvPuFVZqB9U=", + "dev": true + }, + "lodash._basevalues": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz", + "integrity": "sha1-W3dXYoAr3j0yl1A+JjAIIP32Ybc=", + "dev": true + }, + "lodash._isiterateecall": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz", + "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=", + "dev": true + }, + "lodash.escape": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz", + "integrity": "sha1-mV7g3BjBtIzJLv+ucaEKq1tIdpg=", + "dev": true, + "requires": { + "lodash._root": "^3.0.0" + }, + "dependencies": { + "lodash._root": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz", + "integrity": "sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI=", + "dev": true + } + } + }, + "lodash.keys": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz", + "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=", + "dev": true, + "requires": { + "lodash._getnative": "^3.0.0", + "lodash.isarguments": "^3.0.0", + "lodash.isarray": "^3.0.0" + }, + "dependencies": { + "lodash._getnative": { + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz", + "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=", + "dev": true + }, + "lodash.isarguments": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", + "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=", + "dev": true + }, + "lodash.isarray": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz", + "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=", + "dev": true + } + } + }, + "lodash.restparam": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz", + "integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=", + "dev": true + }, + "lodash.templatesettings": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz", + "integrity": "sha1-+zB4RHU7Zrnxr6VOJix0UwfbqOU=", + "dev": true, + "requires": { + "lodash._reinterpolate": "^3.0.0", + "lodash.escape": "^3.0.0" + } + } + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "multipipe": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz", + "integrity": "sha1-Ko8t33Du1WTf8tV/HhoTfZ8FB4s=", + "dev": true, + "requires": { + "duplexer2": "0.0.2" + }, + "dependencies": { + "duplexer2": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz", + "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=", + "dev": true, + "requires": { + "readable-stream": "~1.1.9" + }, + "dependencies": { + "readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + }, + "dependencies": { + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + } + } + } + } + } + } + }, + "object-assign": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz", + "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=", + "dev": true + }, + "replace-ext": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz", + "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=", + "dev": true + }, + "through2": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.1.tgz", + "integrity": "sha1-OE51MU1J8y3hLuu4E2uOtrXVnak=", + "dev": true, + "requires": { + "readable-stream": "~2.0.0", + "xtend": "~4.0.0" + }, + "dependencies": { + "readable-stream": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", + "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "string_decoder": "~0.10.x", + "util-deprecate": "~1.0.1" + }, + "dependencies": { + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "process-nextick-args": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", + "dev": true + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + } + } + }, + "xtend": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", + "dev": true + } + } + }, + "vinyl": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.5.3.tgz", + "integrity": "sha1-sEVbOPxeDPMNQyUTLkYZcMIJHN4=", + "dev": true, + "requires": { + "clone": "^1.0.0", + "clone-stats": "^0.0.1", + "replace-ext": "0.0.1" + }, + "dependencies": { + "clone": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.2.tgz", + "integrity": "sha1-Jgt6meux7f4kdTgXX3gyQ8sZ0Uk=", + "dev": true + }, + "clone-stats": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz", + "integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=", + "dev": true + } + } + } + } + }, + "object-assign": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz", + "integrity": "sha1-ejs9DpgGPUP0wD8uiubNUahog6A=", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "readable-stream": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.1.5.tgz", + "integrity": "sha1-ZvqLcg4UOLNkaB8q0aY8YYRIydA=", + "dev": true, + "requires": { + "buffer-shims": "^1.0.0", + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "string_decoder": "~0.10.x", + "util-deprecate": "~1.0.1" + }, + "dependencies": { + "buffer-shims": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz", + "integrity": "sha1-mXjOMXOIxkmth5MCjDR37wRKi1E=", + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "process-nextick-args": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", + "dev": true + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + } + } + }, + "vinyl": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz", + "integrity": "sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ=", + "dev": true, + "requires": { + "clone": "^1.0.0", + "clone-stats": "^0.0.1", + "replace-ext": "0.0.1" + }, + "dependencies": { + "clone": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.2.tgz", + "integrity": "sha1-Jgt6meux7f4kdTgXX3gyQ8sZ0Uk=", + "dev": true + }, + "clone-stats": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz", + "integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=", + "dev": true + }, + "replace-ext": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz", + "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=", + "dev": true + } + } + }, + "vinyl-file": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/vinyl-file/-/vinyl-file-2.0.0.tgz", + "integrity": "sha1-p+v1/779obfRjRQPyweyI++2dRo=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "pify": "^2.3.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0", + "strip-bom-stream": "^2.0.0", + "vinyl": "^1.1.0" + }, + "dependencies": { + "graceful-fs": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.9.tgz", + "integrity": "sha1-uqy6N9GdEfnRRtNXi8mZWMN4fik=", + "dev": true + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + }, + "dependencies": { + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + } + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "requires": { + "is-utf8": "^0.2.0" + }, + "dependencies": { + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true + } + } + }, + "strip-bom-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom-stream/-/strip-bom-stream-2.0.0.tgz", + "integrity": "sha1-+H217yYT9paKpUWr/h7HKLaoKco=", + "dev": true, + "requires": { + "first-chunk-stream": "^2.0.0", + "strip-bom": "^2.0.0" + }, + "dependencies": { + "first-chunk-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-2.0.0.tgz", + "integrity": "sha1-G97NuOCDwGZLkZRVgVd6Q6nzHXA=", + "dev": true, + "requires": { + "readable-stream": "^2.0.2" + } + } + } + } + } + } + } + }, + "karma": { + "version": "0.13.22", + "resolved": "https://registry.npmjs.org/karma/-/karma-0.13.22.tgz", + "integrity": "sha1-B3ULG9Bj1+fnuRvNLmNU2PKqh0Q=", + "dev": true, + "requires": { + "batch": "^0.5.3", + "bluebird": "^2.9.27", + "body-parser": "^1.12.4", + "chokidar": "^1.4.1", + "colors": "^1.1.0", + "connect": "^3.3.5", + "core-js": "^2.1.0", + "di": "^0.0.1", + "dom-serialize": "^2.2.0", + "expand-braces": "^0.1.1", + "glob": "^7.0.0", + "graceful-fs": "^4.1.2", + "http-proxy": "^1.13.0", + "isbinaryfile": "^3.0.0", + "lodash": "^3.8.0", + "log4js": "^0.6.31", + "mime": "^1.3.4", + "minimatch": "^3.0.0", + "optimist": "^0.6.1", + "rimraf": "^2.3.3", + "socket.io": "^1.4.5", + "source-map": "^0.5.3", + "useragent": "^2.1.6" + }, + "dependencies": { + "batch": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.5.3.tgz", + "integrity": "sha1-PzQU84AyF0O/wQQvmoP/HVgk1GQ=", + "dev": true + }, + "bluebird": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-2.11.0.tgz", + "integrity": "sha1-U0uQM8AiyVecVro7Plpcqvu2UOE=", + "dev": true + }, + "body-parser": { + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.15.2.tgz", + "integrity": "sha1-11eM9PHRHV9uqATO813Hp/9trmc=", + "dev": true, + "requires": { + "bytes": "2.4.0", + "content-type": "~1.0.2", + "debug": "~2.2.0", + "depd": "~1.1.0", + "http-errors": "~1.5.0", + "iconv-lite": "0.4.13", + "on-finished": "~2.3.0", + "qs": "6.2.0", + "raw-body": "~2.1.7", + "type-is": "~1.6.13" + }, + "dependencies": { + "bytes": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-2.4.0.tgz", + "integrity": "sha1-fZcZb51br39pNeJZhVSe3SpsIzk=", + "dev": true + }, + "content-type": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.2.tgz", + "integrity": "sha1-t9ETrueo3Se9IRM8TcJSnfFyHu0=", + "dev": true + }, + "debug": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", + "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", + "dev": true, + "requires": { + "ms": "0.7.1" + }, + "dependencies": { + "ms": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", + "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=", + "dev": true + } + } + }, + "depd": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.0.tgz", + "integrity": "sha1-4b2Cxqq2ztlluXuIsX7T5SjKGMM=", + "dev": true + }, + "http-errors": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.5.0.tgz", + "integrity": "sha1-scs9gmD9jiOGytMYkEWUM3LUghE=", + "dev": true, + "requires": { + "inherits": "2.0.1", + "setprototypeof": "1.0.1", + "statuses": ">= 1.3.0 < 2" + }, + "dependencies": { + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", + "dev": true + }, + "setprototypeof": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.1.tgz", + "integrity": "sha1-UgCbJ4iMTcSPWRlJwKgnWDTByn4=", + "dev": true + }, + "statuses": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.0.tgz", + "integrity": "sha1-jlV1jLIOdoLB9Pzo3KswvwHR4Ho=", + "dev": true + } + } + }, + "iconv-lite": { + "version": "0.4.13", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.13.tgz", + "integrity": "sha1-H4irpKsLFQjoMSrMOTRfNumS4vI=", + "dev": true + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "dev": true, + "requires": { + "ee-first": "1.1.1" + }, + "dependencies": { + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", + "dev": true + } + } + }, + "qs": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.2.0.tgz", + "integrity": "sha1-O3hIwDwt7OaalSKw+ujEEm10Xzs=", + "dev": true + }, + "raw-body": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.1.7.tgz", + "integrity": "sha1-rf6s4uT7MJgFgBTQjActzFl1h3Q=", + "dev": true, + "requires": { + "bytes": "2.4.0", + "iconv-lite": "0.4.13", + "unpipe": "1.0.0" + }, + "dependencies": { + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "dev": true + } + } + }, + "type-is": { + "version": "1.6.13", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.13.tgz", + "integrity": "sha1-boO6e8MM0zp7sLf7AHN6IIW/nQg=", + "dev": true, + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.11" + }, + "dependencies": { + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", + "dev": true + }, + "mime-types": { + "version": "2.1.12", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.12.tgz", + "integrity": "sha1-FSuiVndwIN1GY/VMLnvCY4HnFyk=", + "dev": true, + "requires": { + "mime-db": "~1.24.0" + }, + "dependencies": { + "mime-db": { + "version": "1.24.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.24.0.tgz", + "integrity": "sha1-4tE/k58AFsbk6a0lqGUvEmxGfww=", + "dev": true + } + } + } + } + } + } + }, + "chokidar": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.6.1.tgz", + "integrity": "sha1-L0RHq16W5Q+z14n9kNTHLg5McMI=", + "dev": true, + "requires": { + "anymatch": "^1.3.0", + "async-each": "^1.0.0", + "fsevents": "^1.0.0", + "glob-parent": "^2.0.0", + "inherits": "^2.0.1", + "is-binary-path": "^1.0.0", + "is-glob": "^2.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.0.0" + }, + "dependencies": { + "anymatch": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.0.tgz", + "integrity": "sha1-o+Uvo5FoyCX/V7AkgSbOWo/5VQc=", + "dev": true, + "requires": { + "arrify": "^1.0.0", + "micromatch": "^2.1.5" + }, + "dependencies": { + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "dev": true + }, + "micromatch": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "dev": true, + "requires": { + "arr-diff": "^2.0.0", + "array-unique": "^0.2.1", + "braces": "^1.8.2", + "expand-brackets": "^0.1.4", + "extglob": "^0.3.1", + "filename-regex": "^2.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.1", + "kind-of": "^3.0.2", + "normalize-path": "^2.0.1", + "object.omit": "^2.0.0", + "parse-glob": "^3.0.4", + "regex-cache": "^0.4.2" + }, + "dependencies": { + "arr-diff": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", + "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", + "dev": true, + "requires": { + "arr-flatten": "^1.0.1" + }, + "dependencies": { + "arr-flatten": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.0.1.tgz", + "integrity": "sha1-5f/lTUXhnzLyFukeuZyM6JK7YEs=", + "dev": true + } + } + }, + "array-unique": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", + "dev": true + }, + "braces": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "dev": true, + "requires": { + "expand-range": "^1.8.1", + "preserve": "^0.2.0", + "repeat-element": "^1.1.2" + }, + "dependencies": { + "expand-range": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", + "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", + "dev": true, + "requires": { + "fill-range": "^2.1.0" + }, + "dependencies": { + "fill-range": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz", + "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=", + "dev": true, + "requires": { + "is-number": "^2.1.0", + "isobject": "^2.0.0", + "randomatic": "^1.1.3", + "repeat-element": "^1.1.2", + "repeat-string": "^1.5.2" + }, + "dependencies": { + "is-number": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", + "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "requires": { + "isarray": "1.0.0" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + } + } + }, + "randomatic": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.5.tgz", + "integrity": "sha1-Xp718tVzxnvSuBJK6QtRVuRXhAs=", + "dev": true, + "requires": { + "is-number": "^2.0.2", + "kind-of": "^3.0.2" + } + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true + } + } + } + } + }, + "preserve": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", + "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", + "dev": true + }, + "repeat-element": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", + "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=", + "dev": true + } + } + }, + "expand-brackets": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", + "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", + "dev": true, + "requires": { + "is-posix-bracket": "^0.1.0" + }, + "dependencies": { + "is-posix-bracket": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", + "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=", + "dev": true + } + } + }, + "extglob": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", + "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "dev": true, + "requires": { + "is-extglob": "^1.0.0" + } + }, + "filename-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.0.tgz", + "integrity": "sha1-mW4+gEebmLmJfxWopYs9CE6SZ3U=", + "dev": true + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "kind-of": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.0.4.tgz", + "integrity": "sha1-e47PGKThf4Jp1ztQHJ8jLJaIenQ=", + "dev": true, + "requires": { + "is-buffer": "^1.0.2" + }, + "dependencies": { + "is-buffer": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.4.tgz", + "integrity": "sha1-z8hszV3FpS+oBIkRHGkgxFfi2Ys=", + "dev": true + } + } + }, + "normalize-path": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.0.1.tgz", + "integrity": "sha1-R4hqwWYnYNQmG32XnSQXCdPOP3o=", + "dev": true + }, + "object.omit": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", + "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", + "dev": true, + "requires": { + "for-own": "^0.1.4", + "is-extendable": "^0.1.1" + }, + "dependencies": { + "for-own": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.4.tgz", + "integrity": "sha1-AUm0GjkIjHUV9R6+HBOG1F+TUHI=", + "dev": true, + "requires": { + "for-in": "^0.1.5" + }, + "dependencies": { + "for-in": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-0.1.6.tgz", + "integrity": "sha1-yfluib+tGKVFr17D7TUqHZ5bTcg=", + "dev": true + } + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true + } + } + }, + "parse-glob": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", + "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", + "dev": true, + "requires": { + "glob-base": "^0.3.0", + "is-dotfile": "^1.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.0" + }, + "dependencies": { + "glob-base": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", + "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", + "dev": true, + "requires": { + "glob-parent": "^2.0.0", + "is-glob": "^2.0.0" + } + }, + "is-dotfile": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.2.tgz", + "integrity": "sha1-LBMjg/ORmfjtwmjKAbmwB9IFzE0=", + "dev": true + } + } + }, + "regex-cache": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.3.tgz", + "integrity": "sha1-mxpsNdTQ3871cRrmUejp09cRQUU=", + "dev": true, + "requires": { + "is-equal-shallow": "^0.1.3", + "is-primitive": "^2.0.0" + }, + "dependencies": { + "is-equal-shallow": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", + "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", + "dev": true, + "requires": { + "is-primitive": "^2.0.0" + } + }, + "is-primitive": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", + "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", + "dev": true + } + } + } + } + } + } + }, + "async-each": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz", + "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=", + "dev": true + }, + "fsevents": { + "version": "1.0.14", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.0.14.tgz", + "integrity": "sha1-VY6Mw4ZD2O9A/kUVhIbQ0ldY7uQ=", + "dev": true, + "optional": true, + "requires": { + "nan": "^2.3.0", + "node-pre-gyp": "^0.6.29" + }, + "dependencies": { + "abbrev": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz", + "integrity": "sha1-kbR5JYinc4wl813W9jdSovh3YTU=", + "dev": true, + "optional": true + }, + "ansi-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz", + "integrity": "sha1-xQYbbg74qBd15Q9dZhUb9r83EQc=", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true, + "optional": true + }, + "aproba": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.0.4.tgz", + "integrity": "sha1-JxNoB3XnYUyLoYbAZdTi5S0QcsA=", + "dev": true, + "optional": true + }, + "are-we-there-yet": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.2.tgz", + "integrity": "sha1-gORw6VoIR5T+GJkmLFZnxuiN4bM=", + "dev": true, + "optional": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.0 || ^1.1.13" + } + }, + "asn1": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", + "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=", + "dev": true, + "optional": true + }, + "assert-plus": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", + "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=", + "dev": true, + "optional": true + }, + "async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "dev": true, + "optional": true + }, + "aws-sign2": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", + "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=", + "dev": true, + "optional": true + }, + "aws4": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.4.1.tgz", + "integrity": "sha1-/efVKSRm0jDl7g9OA42d+qsI/GE=", + "dev": true, + "optional": true + }, + "balanced-match": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", + "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=", + "dev": true + }, + "bl": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.1.2.tgz", + "integrity": "sha1-/cqHGplxOqANGeO7ukHER4emU5g=", + "dev": true, + "optional": true, + "requires": { + "readable-stream": "~2.0.5" + }, + "dependencies": { + "readable-stream": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", + "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", + "dev": true, + "optional": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "string_decoder": "~0.10.x", + "util-deprecate": "~1.0.1" + } + } + } + }, + "block-stream": { + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", + "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", + "dev": true, + "requires": { + "inherits": "~2.0.0" + } + }, + "boom": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", + "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", + "dev": true, + "requires": { + "hoek": "2.x.x" + } + }, + "brace-expansion": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.5.tgz", + "integrity": "sha1-9bStV04st8zB64Pm/nm47K33pSY=", + "dev": true, + "requires": { + "balanced-match": "^0.4.1", + "concat-map": "0.0.1" + } + }, + "buffer-shims": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz", + "integrity": "sha1-mXjOMXOIxkmth5MCjDR37wRKi1E=", + "dev": true + }, + "caseless": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz", + "integrity": "sha1-cVuW6phBWTzDMGeSP17GDr2k99c=", + "dev": true, + "optional": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "optional": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "code-point-at": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.0.0.tgz", + "integrity": "sha1-9psZLT99keOC5Lcb3bd4eGGasMY=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "combined-stream": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", + "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=", + "dev": true, + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commander": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", + "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=", + "dev": true, + "optional": true, + "requires": { + "graceful-readlink": ">= 1.0.0" + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "cryptiles": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", + "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", + "dev": true, + "optional": true, + "requires": { + "boom": "2.x.x" + } + }, + "dashdash": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.0.tgz", + "integrity": "sha1-KeSGxUGL8PNWA0qZPVFoajPoQUE=", + "dev": true, + "optional": true, + "requires": { + "assert-plus": "^1.0.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true, + "optional": true + } + } + }, + "debug": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", + "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", + "dev": true, + "optional": true, + "requires": { + "ms": "0.7.1" + } + }, + "deep-extend": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.1.tgz", + "integrity": "sha1-7+QRPQgIX05vlod1mBD4B0aeIlM=", + "dev": true, + "optional": true + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true + }, + "delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", + "dev": true, + "optional": true + }, + "ecc-jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", + "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", + "dev": true, + "optional": true, + "requires": { + "jsbn": "~0.1.0" + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true, + "optional": true + }, + "extend": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz", + "integrity": "sha1-WkdDU7nzNT3dgXbf03uRyDpG8dQ=", + "dev": true, + "optional": true + }, + "extsprintf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz", + "integrity": "sha1-4QgOBljjALBilJkMxw4VAiNf1VA=", + "dev": true + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true, + "optional": true + }, + "form-data": { + "version": "1.0.0-rc4", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-1.0.0-rc4.tgz", + "integrity": "sha1-BaxrwiIntD5EYfSIFhVUaZ1Pi14=", + "dev": true, + "optional": true, + "requires": { + "async": "^1.5.2", + "combined-stream": "^1.0.5", + "mime-types": "^2.1.10" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "fstream": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.10.tgz", + "integrity": "sha1-YE6Kkv4m/9n2+uMDmdSYThqyKCI=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "inherits": "~2.0.0", + "mkdirp": ">=0.5 0", + "rimraf": "2" + } + }, + "fstream-ignore": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/fstream-ignore/-/fstream-ignore-1.0.5.tgz", + "integrity": "sha1-nDHa40dnAY/h0kmyTa2mfQktoQU=", + "dev": true, + "optional": true, + "requires": { + "fstream": "^1.0.0", + "inherits": "2", + "minimatch": "^3.0.0" + } + }, + "gauge": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.6.0.tgz", + "integrity": "sha1-01MBrRjpaQK0dR3LvkD0IYuUKkY=", + "dev": true, + "optional": true, + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-color": "^0.1.7", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "generate-function": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz", + "integrity": "sha1-aFj+fAlpt9TpCTM3ZHrHn2DfvnQ=", + "dev": true, + "optional": true + }, + "generate-object-property": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", + "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=", + "dev": true, + "optional": true, + "requires": { + "is-property": "^1.0.0" + } + }, + "getpass": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.6.tgz", + "integrity": "sha1-KD/9n8ElaECHUxHBtg6MQBhxEOY=", + "dev": true, + "optional": true, + "requires": { + "assert-plus": "^1.0.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true, + "optional": true + } + } + }, + "glob": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.5.tgz", + "integrity": "sha1-tCAqaQmbu00pKnwblbZoK2fr3JU=", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.2", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "graceful-fs": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.4.tgz", + "integrity": "sha1-7widKIDwM7ARgjzlyPrnmNp3Xb0=", + "dev": true + }, + "graceful-readlink": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", + "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=", + "dev": true, + "optional": true + }, + "har-validator": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz", + "integrity": "sha1-zcvAgYgmWtEZtqWnyKtw7s+10n0=", + "dev": true, + "optional": true, + "requires": { + "chalk": "^1.1.1", + "commander": "^2.9.0", + "is-my-json-valid": "^2.12.4", + "pinkie-promise": "^2.0.0" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "optional": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "has-color": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/has-color/-/has-color-0.1.7.tgz", + "integrity": "sha1-ZxRKUmDDT8PMpnfQQdr1L+e3iy8=", + "dev": true, + "optional": true + }, + "has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", + "dev": true, + "optional": true + }, + "hawk": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", + "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", + "dev": true, + "optional": true, + "requires": { + "boom": "2.x.x", + "cryptiles": "2.x.x", + "hoek": "2.x.x", + "sntp": "1.x.x" + } + }, + "hoek": { + "version": "2.16.3", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", + "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=", + "dev": true + }, + "http-signature": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", + "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", + "dev": true, + "optional": true, + "requires": { + "assert-plus": "^0.2.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "inflight": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.5.tgz", + "integrity": "sha1-2zIEzVqd4ubNiQuFxuL2a89PYgo=", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", + "dev": true + }, + "ini": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz", + "integrity": "sha1-BTfLedr1m1mhpRff9wbIbsA5Fi4=", + "dev": true, + "optional": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "is-my-json-valid": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.13.1.tgz", + "integrity": "sha1-1Vd4qC/rawlj/0vhEdXRaE6JBwc=", + "dev": true, + "optional": true, + "requires": { + "generate-function": "^2.0.0", + "generate-object-property": "^1.1.0", + "jsonpointer": "2.0.0", + "xtend": "^4.0.0" + } + }, + "is-property": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", + "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=", + "dev": true, + "optional": true + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true, + "optional": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true, + "optional": true + }, + "jodid25519": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/jodid25519/-/jodid25519-1.0.2.tgz", + "integrity": "sha1-BtSRIlUJNBlHfUJWM2BuDpB4KWc=", + "dev": true, + "optional": true, + "requires": { + "jsbn": "~0.1.0" + } + }, + "jsbn": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.0.tgz", + "integrity": "sha1-ZQmH2g3XT06/WhE3eiqi0nPpff0=", + "dev": true, + "optional": true + }, + "json-schema": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.2.tgz", + "integrity": "sha1-UDVPGfYDkXxpX3C4Wvp3w7DyNQY=", + "dev": true, + "optional": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true, + "optional": true + }, + "jsonpointer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-2.0.0.tgz", + "integrity": "sha1-OvHdIP6FRjkQ1GmjheMwF9KgMNk=", + "dev": true, + "optional": true + }, + "jsprim": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.3.0.tgz", + "integrity": "sha1-zi4b74NSBLTzCZkoxgL4tq5hVlA=", + "dev": true, + "optional": true, + "requires": { + "extsprintf": "1.0.2", + "json-schema": "0.2.2", + "verror": "1.3.6" + } + }, + "mime-db": { + "version": "1.23.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.23.0.tgz", + "integrity": "sha1-oxtAcK2uon1zLqMzdApk0OyaZlk=", + "dev": true + }, + "mime-types": { + "version": "2.1.11", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.11.tgz", + "integrity": "sha1-wlnEcb2oCKhdbNGTtDCl+uRHOzw=", + "dev": true, + "requires": { + "mime-db": "~1.23.0" + } + }, + "minimatch": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.2.tgz", + "integrity": "sha1-DzmKcwDqRB6cNIyD2Yq4ydv5xAo=", + "dev": true, + "requires": { + "brace-expansion": "^1.0.0" + } + }, + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "dev": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", + "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=", + "dev": true, + "optional": true + }, + "nan": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.4.0.tgz", + "integrity": "sha1-+zxZ1F/k7/4hXwuJD4rfbrMtIjI=", + "dev": true, + "optional": true + }, + "node-pre-gyp": { + "version": "0.6.29", + "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.6.29.tgz", + "integrity": "sha1-sL0TY1uvfRvnriM8FvvPMwms03w=", + "dev": true, + "optional": true, + "requires": { + "mkdirp": "~0.5.0", + "nopt": "~3.0.1", + "npmlog": "~3.1.2", + "rc": "~1.1.0", + "request": "2.x", + "rimraf": "~2.5.0", + "semver": "~5.2.0", + "tar": "~2.2.0", + "tar-pack": "~3.1.0" + } + }, + "node-uuid": { + "version": "1.4.7", + "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.7.tgz", + "integrity": "sha1-baWhdmjEs91ZYjvaEc9/pMH2Cm8=", + "dev": true, + "optional": true + }, + "nopt": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", + "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "dev": true, + "optional": true, + "requires": { + "abbrev": "1" + } + }, + "npmlog": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-3.1.2.tgz", + "integrity": "sha1-LUb6h0M3r5SYovErtD2NC+SjaHM=", + "dev": true, + "optional": true, + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.6.0", + "set-blocking": "~2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.0.tgz", + "integrity": "sha1-wCD1KcUoKt/dIz2R1LGBw9aG3Es=", + "dev": true + }, + "oauth-sign": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", + "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=", + "dev": true, + "optional": true + }, + "object-assign": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz", + "integrity": "sha1-ejs9DpgGPUP0wD8uiubNUahog6A=", + "dev": true, + "optional": true + }, + "once": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz", + "integrity": "sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA=", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "path-is-absolute": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.0.tgz", + "integrity": "sha1-Jj2tpmqz8vsQv3+dJN2PPlcO+RI=", + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true, + "optional": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "optional": true, + "requires": { + "pinkie": "^2.0.0" + } + }, + "process-nextick-args": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", + "dev": true + }, + "qs": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.2.0.tgz", + "integrity": "sha1-O3hIwDwt7OaalSKw+ujEEm10Xzs=", + "dev": true, + "optional": true + }, + "rc": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.1.6.tgz", + "integrity": "sha1-Q2UbdrauU7XIAvEVH6P8OwWZack=", + "dev": true, + "optional": true, + "requires": { + "deep-extend": "~0.4.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~1.0.4" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true, + "optional": true + } + } + }, + "readable-stream": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.1.4.tgz", + "integrity": "sha1-cLl5HG/LhIDbRL0VWg9rtY8XJGg=", + "dev": true, + "requires": { + "buffer-shims": "^1.0.0", + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "string_decoder": "~0.10.x", + "util-deprecate": "~1.0.1" + } + }, + "request": { + "version": "2.73.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.73.0.tgz", + "integrity": "sha1-X3ip/eQ3CryP9kedeoSnGhS4eKI=", + "dev": true, + "optional": true, + "requires": { + "aws-sign2": "~0.6.0", + "aws4": "^1.2.1", + "bl": "~1.1.2", + "caseless": "~0.11.0", + "combined-stream": "~1.0.5", + "extend": "~3.0.0", + "forever-agent": "~0.6.1", + "form-data": "~1.0.0-rc4", + "har-validator": "~2.0.6", + "hawk": "~3.1.3", + "http-signature": "~1.1.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.7", + "node-uuid": "~1.4.7", + "oauth-sign": "~0.8.1", + "qs": "~6.2.0", + "stringstream": "~0.0.4", + "tough-cookie": "~2.2.0", + "tunnel-agent": "~0.4.1" + } + }, + "rimraf": { + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.5.3.tgz", + "integrity": "sha1-bl792kqi8DQX9rKldK7Cn0tlJwU=", + "dev": true, + "requires": { + "glob": "^7.0.5" + } + }, + "semver": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.2.0.tgz", + "integrity": "sha1-KBmVuAwUSCCUFd28TPUMJpzvVcU=", + "dev": true, + "optional": true + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true, + "optional": true + }, + "signal-exit": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.0.tgz", + "integrity": "sha1-PAVDtl17T7xgts2UWT2b9DZzm+g=", + "dev": true, + "optional": true + }, + "sntp": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", + "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", + "dev": true, + "optional": true, + "requires": { + "hoek": "2.x.x" + } + }, + "sshpk": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.8.3.tgz", + "integrity": "sha1-iQzJ1hTcUpLlyxpUOwPJq6pcN04=", + "dev": true, + "optional": true, + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jodid25519": "^1.0.0", + "jsbn": "~0.1.0", + "tweetnacl": "~0.13.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true, + "optional": true + } + } + }, + "string-width": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.1.tgz", + "integrity": "sha1-ySEptvHX9SrPmvQkom44ZKBc6wo=", + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + }, + "stringstream": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", + "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=", + "dev": true, + "optional": true + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-json-comments": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz", + "integrity": "sha1-HhX7ysl9Pumb8tc7TGVrCCu6+5E=", + "dev": true, + "optional": true + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true, + "optional": true + }, + "tar": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz", + "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", + "dev": true, + "requires": { + "block-stream": "*", + "fstream": "^1.0.2", + "inherits": "2" + } + }, + "tar-pack": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/tar-pack/-/tar-pack-3.1.4.tgz", + "integrity": "sha1-vIz5oi9YMnOfEvORDaweuXtJcIw=", + "dev": true, + "optional": true, + "requires": { + "debug": "~2.2.0", + "fstream": "~1.0.10", + "fstream-ignore": "~1.0.5", + "once": "~1.3.3", + "readable-stream": "~2.1.4", + "rimraf": "~2.5.1", + "tar": "~2.2.1", + "uid-number": "~0.0.6" + } + }, + "tough-cookie": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.2.2.tgz", + "integrity": "sha1-yDoYMPTl7wuT7yo0iOck+N4Basc=", + "dev": true, + "optional": true + }, + "tunnel-agent": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz", + "integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=", + "dev": true, + "optional": true + }, + "tweetnacl": { + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.13.3.tgz", + "integrity": "sha1-1ii1bzvMPVrnS6nUwacE3vWrS1Y=", + "dev": true, + "optional": true + }, + "uid-number": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/uid-number/-/uid-number-0.0.6.tgz", + "integrity": "sha1-DqEOgDXo61uOREnwbaHHMGY7qoE=", + "dev": true, + "optional": true + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "verror": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz", + "integrity": "sha1-z/XfEpRtKX0rqu+qJoniW+AcAFw=", + "dev": true, + "optional": true, + "requires": { + "extsprintf": "1.0.2" + } + }, + "wide-align": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.0.tgz", + "integrity": "sha1-QO3egCpx/qHwcNo+YtzaLnrdlq0=", + "dev": true, + "optional": true, + "requires": { + "string-width": "^1.0.1" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "xtend": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", + "dev": true, + "optional": true + } + } + }, + "glob-parent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", + "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", + "dev": true, + "requires": { + "is-glob": "^2.0.0" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "requires": { + "binary-extensions": "^1.0.0" + }, + "dependencies": { + "binary-extensions": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.7.0.tgz", + "integrity": "sha1-bBYQ2xY6v7NO3+QvpCM0Oh4BGF0=", + "dev": true + } + } + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "requires": { + "is-extglob": "^1.0.0" + }, + "dependencies": { + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + } + } + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "readdirp": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz", + "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "minimatch": "^3.0.2", + "readable-stream": "^2.0.2", + "set-immediate-shim": "^1.0.1" + }, + "dependencies": { + "readable-stream": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.1.5.tgz", + "integrity": "sha1-ZvqLcg4UOLNkaB8q0aY8YYRIydA=", + "dev": true, + "requires": { + "buffer-shims": "^1.0.0", + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "string_decoder": "~0.10.x", + "util-deprecate": "~1.0.1" + }, + "dependencies": { + "buffer-shims": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz", + "integrity": "sha1-mXjOMXOIxkmth5MCjDR37wRKi1E=", + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "process-nextick-args": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", + "dev": true + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + } + } + }, + "set-immediate-shim": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", + "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", + "dev": true + } + } + } + } + }, + "colors": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", + "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=", + "dev": true + }, + "connect": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/connect/-/connect-3.5.0.tgz", + "integrity": "sha1-s1dSWgtMH1BZnNmD4dnv7qlncZg=", + "dev": true, + "requires": { + "debug": "~2.2.0", + "finalhandler": "0.5.0", + "parseurl": "~1.3.1", + "utils-merge": "1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", + "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", + "dev": true, + "requires": { + "ms": "0.7.1" + }, + "dependencies": { + "ms": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", + "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=", + "dev": true + } + } + }, + "finalhandler": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-0.5.0.tgz", + "integrity": "sha1-6VCKvs6bbbqHGmlCodeRG5GRGsc=", + "dev": true, + "requires": { + "debug": "~2.2.0", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "statuses": "~1.3.0", + "unpipe": "~1.0.0" + }, + "dependencies": { + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", + "dev": true + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "dev": true, + "requires": { + "ee-first": "1.1.1" + }, + "dependencies": { + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", + "dev": true + } + } + }, + "statuses": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.0.tgz", + "integrity": "sha1-jlV1jLIOdoLB9Pzo3KswvwHR4Ho=", + "dev": true + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "dev": true + } + } + }, + "parseurl": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.1.tgz", + "integrity": "sha1-yKuMkiO6NIiKpkopeyiFO+wY2lY=", + "dev": true + }, + "utils-merge": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz", + "integrity": "sha1-ApT7kiu5N1FTVBxPcJYjHyh8ivg=", + "dev": true + } + } + }, + "core-js": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz", + "integrity": "sha1-TekR5mew6ukSTjQlS1OupvxhjT4=", + "dev": true + }, + "di": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz", + "integrity": "sha1-gGZJMmzqp8qjMG112YXqJ0i6kTw=", + "dev": true + }, + "dom-serialize": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz", + "integrity": "sha1-ViromZ9Evl6jB29UGdzVnrQ6yVs=", + "dev": true, + "requires": { + "custom-event": "~1.0.0", + "ent": "~2.2.0", + "extend": "^3.0.0", + "void-elements": "^2.0.0" + }, + "dependencies": { + "custom-event": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz", + "integrity": "sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU=", + "dev": true + }, + "ent": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz", + "integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=", + "dev": true + }, + "extend": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz", + "integrity": "sha1-WkdDU7nzNT3dgXbf03uRyDpG8dQ=", + "dev": true + }, + "void-elements": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", + "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=", + "dev": true + } + } + }, + "expand-braces": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/expand-braces/-/expand-braces-0.1.2.tgz", + "integrity": "sha1-SIsdHSRRyz06axks/AMPRMWFX+o=", + "dev": true, + "requires": { + "array-slice": "^0.2.3", + "array-unique": "^0.2.1", + "braces": "^0.1.2" + }, + "dependencies": { + "array-slice": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz", + "integrity": "sha1-3Tz7gO15c6dRF82sabC5nshhhvU=", + "dev": true + }, + "array-unique": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", + "dev": true + }, + "braces": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-0.1.5.tgz", + "integrity": "sha1-wIVxEIUpHYt1/ddOqw+FlygHEeY=", + "dev": true, + "requires": { + "expand-range": "^0.1.0" + }, + "dependencies": { + "expand-range": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-0.1.1.tgz", + "integrity": "sha1-TLjtoJk8pW+k9B/ELzy7TMrf8EQ=", + "dev": true, + "requires": { + "is-number": "^0.1.1", + "repeat-string": "^0.2.2" + }, + "dependencies": { + "is-number": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-0.1.1.tgz", + "integrity": "sha1-aaevEWlj1HIG7JvZtIoUIW8eOAY=", + "dev": true + }, + "repeat-string": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-0.2.2.tgz", + "integrity": "sha1-x6jTI2BoNiBZp+RlH8aITosftK4=", + "dev": true + } + } + } + } + } + } + }, + "glob": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz", + "integrity": "sha1-gFIR3wT6rxxjo2ADBs31reULLsg=", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.2", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "dependencies": { + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + }, + "dependencies": { + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + } + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + }, + "dependencies": { + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + } + } + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + } + } + }, + "graceful-fs": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.9.tgz", + "integrity": "sha1-uqy6N9GdEfnRRtNXi8mZWMN4fik=", + "dev": true + }, + "http-proxy": { + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.15.2.tgz", + "integrity": "sha1-ZC/cr/5S00SNK9o7AHnpQJBk2jE=", + "dev": true, + "requires": { + "eventemitter3": "1.x.x", + "requires-port": "1.x.x" + }, + "dependencies": { + "eventemitter3": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-1.2.0.tgz", + "integrity": "sha1-HIaZHYFq0eUEdQ5zh0Ik7PO+xQg=", + "dev": true + }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", + "dev": true + } + } + }, + "isbinaryfile": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.1.tgz", + "integrity": "sha1-bplXNnU3LoQaBSDANrQVE9eD554=", + "dev": true + }, + "lodash": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", + "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=", + "dev": true + }, + "log4js": { + "version": "0.6.38", + "resolved": "https://registry.npmjs.org/log4js/-/log4js-0.6.38.tgz", + "integrity": "sha1-LElBFmldb7JUgJQ9P8hy5mKlIv0=", + "dev": true, + "requires": { + "readable-stream": "~1.0.2", + "semver": "~4.3.3" + }, + "dependencies": { + "readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + }, + "dependencies": { + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + } + } + }, + "semver": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz", + "integrity": "sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=", + "dev": true + } + } + }, + "mime": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz", + "integrity": "sha1-EV+eO2s9rylZmDyzjxSaLUDrXVM=", + "dev": true + }, + "minimatch": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz", + "integrity": "sha1-Kk5AkLlrLbBqnX3wEFWmKnfJt3Q=", + "dev": true, + "requires": { + "brace-expansion": "^1.0.0" + }, + "dependencies": { + "brace-expansion": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.6.tgz", + "integrity": "sha1-cZfX6qm4fmSDkOph/GbIRCdCDfk=", + "dev": true, + "requires": { + "balanced-match": "^0.4.1", + "concat-map": "0.0.1" + }, + "dependencies": { + "balanced-match": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", + "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + } + } + } + } + }, + "optimist": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", + "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", + "dev": true, + "requires": { + "minimist": "~0.0.1", + "wordwrap": "~0.0.2" + }, + "dependencies": { + "minimist": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", + "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=", + "dev": true + }, + "wordwrap": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", + "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", + "dev": true + } + } + }, + "rimraf": { + "version": "2.5.4", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.5.4.tgz", + "integrity": "sha1-loAAk8vxoMhr2VtGJUZ1NcKd+gQ=", + "dev": true, + "requires": { + "glob": "^7.0.5" + } + }, + "socket.io": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-1.5.1.tgz", + "integrity": "sha1-w+qMTtQWRDa8Vq3vYOMa02ZRjKk=", + "dev": true, + "requires": { + "debug": "2.2.0", + "engine.io": "1.7.2", + "has-binary": "0.1.7", + "socket.io-adapter": "0.4.0", + "socket.io-client": "1.5.1", + "socket.io-parser": "2.3.1" + }, + "dependencies": { + "debug": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", + "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", + "dev": true, + "requires": { + "ms": "0.7.1" + }, + "dependencies": { + "ms": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", + "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=", + "dev": true + } + } + }, + "engine.io": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-1.7.2.tgz", + "integrity": "sha1-h3wU+gSG+LZk1GqBAb90/u8uTkY=", + "dev": true, + "requires": { + "accepts": "1.3.3", + "base64id": "0.1.0", + "debug": "2.2.0", + "engine.io-parser": "1.3.1", + "ws": "1.1.1" + }, + "dependencies": { + "accepts": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.3.tgz", + "integrity": "sha1-w8p0NJOGSMPg2cHjKN1otiLChMo=", + "dev": true, + "requires": { + "mime-types": "~2.1.11", + "negotiator": "0.6.1" + }, + "dependencies": { + "mime-types": { + "version": "2.1.12", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.12.tgz", + "integrity": "sha1-FSuiVndwIN1GY/VMLnvCY4HnFyk=", + "dev": true, + "requires": { + "mime-db": "~1.24.0" + }, + "dependencies": { + "mime-db": { + "version": "1.24.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.24.0.tgz", + "integrity": "sha1-4tE/k58AFsbk6a0lqGUvEmxGfww=", + "dev": true + } + } + }, + "negotiator": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", + "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=", + "dev": true + } + } + }, + "base64id": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/base64id/-/base64id-0.1.0.tgz", + "integrity": "sha1-As4P3u4M709ACA4ec+g08LG/zj8=", + "dev": true + }, + "engine.io-parser": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-1.3.1.tgz", + "integrity": "sha1-lVTxrjMQfW+9FwylRm0vgz9qB88=", + "dev": true, + "requires": { + "after": "0.8.1", + "arraybuffer.slice": "0.0.6", + "base64-arraybuffer": "0.1.5", + "blob": "0.0.4", + "has-binary": "0.1.6", + "wtf-8": "1.0.0" + }, + "dependencies": { + "after": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/after/-/after-0.8.1.tgz", + "integrity": "sha1-q11PuIP1loFtNRX495HAr0ht1ic=", + "dev": true + }, + "arraybuffer.slice": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.6.tgz", + "integrity": "sha1-8zshWfBTKj8xB6JywMz70a0peco=", + "dev": true + }, + "base64-arraybuffer": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz", + "integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg=", + "dev": true + }, + "blob": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.4.tgz", + "integrity": "sha1-vPEwUspURj8w+fx+lbmkdjCpSSE=", + "dev": true + }, + "has-binary": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/has-binary/-/has-binary-0.1.6.tgz", + "integrity": "sha1-JTJvOc+k9hath4eJTjryz7x7bhA=", + "dev": true, + "requires": { + "isarray": "0.0.1" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + } + } + }, + "wtf-8": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wtf-8/-/wtf-8-1.0.0.tgz", + "integrity": "sha1-OS2LotDxw00e4tYw8V0O+2jhBIo=", + "dev": true + } + } + }, + "ws": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-1.1.1.tgz", + "integrity": "sha1-CC3bbGQehdS7RR8D1S8G6r2x8Bg=", + "dev": true, + "requires": { + "options": ">=0.0.5", + "ultron": "1.0.x" + }, + "dependencies": { + "options": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/options/-/options-0.0.6.tgz", + "integrity": "sha1-7CLTEoBrtT5zF3Pnza788cZDEo8=", + "dev": true + }, + "ultron": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.0.2.tgz", + "integrity": "sha1-rOEWq1V80Zc4ak6I9GhTeMiy5Po=", + "dev": true + } + } + } + } + }, + "has-binary": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/has-binary/-/has-binary-0.1.7.tgz", + "integrity": "sha1-aOYesWIQyVRaClzOBqhzkS/h5ow=", + "dev": true, + "requires": { + "isarray": "0.0.1" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + } + } + }, + "socket.io-adapter": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-0.4.0.tgz", + "integrity": "sha1-+5+CqxqmUpC/csNleVW5MKmRok8=", + "dev": true, + "requires": { + "debug": "2.2.0", + "socket.io-parser": "2.2.2" + }, + "dependencies": { + "socket.io-parser": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-2.2.2.tgz", + "integrity": "sha1-PXr2tkSX6Va32f53X5mXFgJ/lBc=", + "dev": true, + "requires": { + "benchmark": "1.0.0", + "component-emitter": "1.1.2", + "debug": "0.7.4", + "isarray": "0.0.1", + "json3": "3.2.6" + }, + "dependencies": { + "benchmark": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/benchmark/-/benchmark-1.0.0.tgz", + "integrity": "sha1-Lx4vpMNZ8REiqhgwgiGOlX45DHM=", + "dev": true + }, + "component-emitter": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.1.2.tgz", + "integrity": "sha1-KWWU8nU9qmOZbSrwjRWpURbJrsM=", + "dev": true + }, + "debug": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-0.7.4.tgz", + "integrity": "sha1-BuHqgILCyxTjmAbiLi9vdX+Srzk=", + "dev": true + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "json3": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/json3/-/json3-3.2.6.tgz", + "integrity": "sha1-9u/JPAagTemuxTBT3yVZuxniA4s=", + "dev": true + } + } + } + } + }, + "socket.io-client": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-1.5.1.tgz", + "integrity": "sha1-DzZurn3jS8iA69cRBuHOgUN3WCc=", + "dev": true, + "requires": { + "backo2": "1.0.2", + "component-bind": "1.0.0", + "component-emitter": "1.2.0", + "debug": "2.2.0", + "engine.io-client": "1.7.2", + "has-binary": "0.1.7", + "indexof": "0.0.1", + "object-component": "0.0.3", + "parseuri": "0.0.4", + "socket.io-parser": "2.3.1", + "to-array": "0.1.4" + }, + "dependencies": { + "backo2": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", + "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=", + "dev": true + }, + "component-bind": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz", + "integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=", + "dev": true + }, + "component-emitter": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.0.tgz", + "integrity": "sha1-zNETqGOI0GSC0D3j/H35hSa6jv4=", + "dev": true + }, + "engine.io-client": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-1.7.2.tgz", + "integrity": "sha1-EvAdPZ1naQioYznO4Gf/eZpYXD0=", + "dev": true, + "requires": { + "component-emitter": "1.1.2", + "component-inherit": "0.0.3", + "debug": "2.2.0", + "engine.io-parser": "1.3.1", + "has-cors": "1.1.0", + "indexof": "0.0.1", + "parsejson": "0.0.1", + "parseqs": "0.0.2", + "parseuri": "0.0.4", + "ws": "1.1.1", + "xmlhttprequest-ssl": "1.5.1", + "yeast": "0.1.2" + }, + "dependencies": { + "component-emitter": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.1.2.tgz", + "integrity": "sha1-KWWU8nU9qmOZbSrwjRWpURbJrsM=", + "dev": true + }, + "component-inherit": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz", + "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=", + "dev": true + }, + "engine.io-parser": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-1.3.1.tgz", + "integrity": "sha1-lVTxrjMQfW+9FwylRm0vgz9qB88=", + "dev": true, + "requires": { + "after": "0.8.1", + "arraybuffer.slice": "0.0.6", + "base64-arraybuffer": "0.1.5", + "blob": "0.0.4", + "has-binary": "0.1.6", + "wtf-8": "1.0.0" + }, + "dependencies": { + "after": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/after/-/after-0.8.1.tgz", + "integrity": "sha1-q11PuIP1loFtNRX495HAr0ht1ic=", + "dev": true + }, + "arraybuffer.slice": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.6.tgz", + "integrity": "sha1-8zshWfBTKj8xB6JywMz70a0peco=", + "dev": true + }, + "base64-arraybuffer": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz", + "integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg=", + "dev": true + }, + "blob": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.4.tgz", + "integrity": "sha1-vPEwUspURj8w+fx+lbmkdjCpSSE=", + "dev": true + }, + "has-binary": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/has-binary/-/has-binary-0.1.6.tgz", + "integrity": "sha1-JTJvOc+k9hath4eJTjryz7x7bhA=", + "dev": true, + "requires": { + "isarray": "0.0.1" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + } + } + }, + "wtf-8": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wtf-8/-/wtf-8-1.0.0.tgz", + "integrity": "sha1-OS2LotDxw00e4tYw8V0O+2jhBIo=", + "dev": true + } + } + }, + "has-cors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz", + "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=", + "dev": true + }, + "parsejson": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/parsejson/-/parsejson-0.0.1.tgz", + "integrity": "sha1-mxDGwNglq1ieaFFTgm3go7oni8w=", + "dev": true, + "requires": { + "better-assert": "~1.0.0" + }, + "dependencies": { + "better-assert": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz", + "integrity": "sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI=", + "dev": true, + "requires": { + "callsite": "1.0.0" + }, + "dependencies": { + "callsite": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", + "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=", + "dev": true + } + } + } + } + }, + "parseqs": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.2.tgz", + "integrity": "sha1-nf5wss3aw4i95PNbHyQPpYrb5sc=", + "dev": true, + "requires": { + "better-assert": "~1.0.0" + }, + "dependencies": { + "better-assert": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz", + "integrity": "sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI=", + "dev": true, + "requires": { + "callsite": "1.0.0" + }, + "dependencies": { + "callsite": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", + "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=", + "dev": true + } + } + } + } + }, + "ws": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-1.1.1.tgz", + "integrity": "sha1-CC3bbGQehdS7RR8D1S8G6r2x8Bg=", + "dev": true, + "requires": { + "options": ">=0.0.5", + "ultron": "1.0.x" + }, + "dependencies": { + "options": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/options/-/options-0.0.6.tgz", + "integrity": "sha1-7CLTEoBrtT5zF3Pnza788cZDEo8=", + "dev": true + }, + "ultron": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.0.2.tgz", + "integrity": "sha1-rOEWq1V80Zc4ak6I9GhTeMiy5Po=", + "dev": true + } + } + }, + "xmlhttprequest-ssl": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.1.tgz", + "integrity": "sha1-O3dB/qSoZnWXbpCNKW1ERZYfqmc=", + "dev": true + }, + "yeast": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz", + "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=", + "dev": true + } + } + }, + "indexof": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", + "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=", + "dev": true + }, + "object-component": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz", + "integrity": "sha1-8MaapQ78lbhmwYb0AKM3acsvEpE=", + "dev": true + }, + "parseuri": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.4.tgz", + "integrity": "sha1-gGWCo5iH4eoY3V4v4OAZAiaOk1A=", + "dev": true, + "requires": { + "better-assert": "~1.0.0" + }, + "dependencies": { + "better-assert": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz", + "integrity": "sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI=", + "dev": true, + "requires": { + "callsite": "1.0.0" + }, + "dependencies": { + "callsite": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", + "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=", + "dev": true + } + } + } + } + }, + "to-array": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz", + "integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA=", + "dev": true + } + } + }, + "socket.io-parser": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-2.3.1.tgz", + "integrity": "sha1-3VMgJRA85Clpcya+/WQAX8/ltKA=", + "dev": true, + "requires": { + "component-emitter": "1.1.2", + "debug": "2.2.0", + "isarray": "0.0.1", + "json3": "3.3.2" + }, + "dependencies": { + "component-emitter": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.1.2.tgz", + "integrity": "sha1-KWWU8nU9qmOZbSrwjRWpURbJrsM=", + "dev": true + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "json3": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.2.tgz", + "integrity": "sha1-PAQ0dD35Pi9cQq7nsZvLSDV19OE=", + "dev": true + } + } + } + } + }, + "source-map": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", + "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=", + "dev": true + }, + "useragent": { + "version": "2.1.9", + "resolved": "https://registry.npmjs.org/useragent/-/useragent-2.1.9.tgz", + "integrity": "sha1-TborxNrRh1d3qxXeP/gJi0dQALc=", + "dev": true, + "requires": { + "lru-cache": "2.2.x" + }, + "dependencies": { + "lru-cache": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.2.4.tgz", + "integrity": "sha1-bGWGGb7PFAMdDQtZSxYELOTcBj0=", + "dev": true + } + } + } + } + }, + "karma-chai-sinon": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/karma-chai-sinon/-/karma-chai-sinon-0.1.5.tgz", + "integrity": "sha1-XDksqVJHgYlR1rV5AvAsNugDdTo=", + "dev": true + }, + "karma-coverage": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/karma-coverage/-/karma-coverage-1.1.1.tgz", + "integrity": "sha1-Wv+LOc9plNwi3kyENix2ABtjfPY=", + "dev": true, + "requires": { + "dateformat": "^1.0.6", + "istanbul": "^0.4.0", + "lodash": "^3.8.0", + "minimatch": "^3.0.0", + "source-map": "^0.5.1" + }, + "dependencies": { + "dateformat": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz", + "integrity": "sha1-nxJLZ1lMk3/3BpMuSmQsyo27/uk=", + "dev": true, + "requires": { + "get-stdin": "^4.0.1", + "meow": "^3.3.0" + }, + "dependencies": { + "get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", + "dev": true + }, + "meow": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", + "dev": true, + "requires": { + "camelcase-keys": "^2.0.0", + "decamelize": "^1.1.2", + "loud-rejection": "^1.0.0", + "map-obj": "^1.0.1", + "minimist": "^1.1.3", + "normalize-package-data": "^2.3.4", + "object-assign": "^4.0.1", + "read-pkg-up": "^1.0.1", + "redent": "^1.0.0", + "trim-newlines": "^1.0.0" + }, + "dependencies": { + "camelcase-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", + "dev": true, + "requires": { + "camelcase": "^2.0.0", + "map-obj": "^1.0.0" + }, + "dependencies": { + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", + "dev": true + } + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "loud-rejection": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", + "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", + "dev": true, + "requires": { + "currently-unhandled": "^0.4.1", + "signal-exit": "^3.0.0" + }, + "dependencies": { + "currently-unhandled": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", + "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", + "dev": true, + "requires": { + "array-find-index": "^1.0.1" + }, + "dependencies": { + "array-find-index": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", + "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", + "dev": true + } + } + }, + "signal-exit": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.1.tgz", + "integrity": "sha1-WkyISZK2OnrNm623iUw+6c/MrYE=", + "dev": true + } + } + }, + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "dev": true + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "normalize-package-data": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.3.5.tgz", + "integrity": "sha1-jZJPFClg4Xd+f/4XBUNjHMfLAt8=", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "is-builtin-module": "^1.0.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + }, + "dependencies": { + "hosted-git-info": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.1.5.tgz", + "integrity": "sha1-C6gdkNouJas0ozLm7HeTbhWYEYs=", + "dev": true + }, + "is-builtin-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", + "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", + "dev": true, + "requires": { + "builtin-modules": "^1.0.0" + }, + "dependencies": { + "builtin-modules": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", + "dev": true + } + } + }, + "semver": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", + "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", + "dev": true + }, + "validate-npm-package-license": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz", + "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=", + "dev": true, + "requires": { + "spdx-correct": "~1.0.0", + "spdx-expression-parse": "~1.0.0" + }, + "dependencies": { + "spdx-correct": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz", + "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=", + "dev": true, + "requires": { + "spdx-license-ids": "^1.0.2" + }, + "dependencies": { + "spdx-license-ids": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz", + "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=", + "dev": true + } + } + }, + "spdx-expression-parse": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz", + "integrity": "sha1-m98vIOH0DtRH++JzJmGR/O1RYmw=", + "dev": true + } + } + } + } + }, + "object-assign": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz", + "integrity": "sha1-ejs9DpgGPUP0wD8uiubNUahog6A=", + "dev": true + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dev": true, + "requires": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + }, + "dependencies": { + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "dependencies": { + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "requires": { + "pinkie-promise": "^2.0.0" + } + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + }, + "dependencies": { + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + } + } + } + } + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true, + "requires": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + }, + "dependencies": { + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + }, + "dependencies": { + "graceful-fs": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.9.tgz", + "integrity": "sha1-uqy6N9GdEfnRRtNXi8mZWMN4fik=", + "dev": true + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "requires": { + "error-ex": "^1.2.0" + }, + "dependencies": { + "error-ex": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.0.tgz", + "integrity": "sha1-5ntD8+gsluo6WE/+4Ln8MyXYAtk=", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + }, + "dependencies": { + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + } + } + } + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + }, + "dependencies": { + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + } + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "requires": { + "is-utf8": "^0.2.0" + }, + "dependencies": { + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true + } + } + } + } + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "dependencies": { + "graceful-fs": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.9.tgz", + "integrity": "sha1-uqy6N9GdEfnRRtNXi8mZWMN4fik=", + "dev": true + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + }, + "dependencies": { + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + } + } + } + } + } + } + } + } + }, + "redent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", + "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", + "dev": true, + "requires": { + "indent-string": "^2.1.0", + "strip-indent": "^1.0.1" + }, + "dependencies": { + "indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "dev": true, + "requires": { + "repeating": "^2.0.0" + }, + "dependencies": { + "repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "dev": true, + "requires": { + "is-finite": "^1.0.0" + }, + "dependencies": { + "is-finite": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", + "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + }, + "dependencies": { + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true + } + } + } + } + } + } + }, + "strip-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", + "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "dev": true, + "requires": { + "get-stdin": "^4.0.1" + } + } + } + }, + "trim-newlines": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", + "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", + "dev": true + } + } + } + } + }, + "istanbul": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/istanbul/-/istanbul-0.4.5.tgz", + "integrity": "sha1-ZcfXPUxNqE1POsMQuRj7C4Azczs=", + "dev": true, + "requires": { + "abbrev": "1.0.x", + "async": "1.x", + "escodegen": "1.8.x", + "esprima": "2.7.x", + "glob": "^5.0.15", + "handlebars": "^4.0.1", + "js-yaml": "3.x", + "mkdirp": "0.5.x", + "nopt": "3.x", + "once": "1.x", + "resolve": "1.1.x", + "supports-color": "^3.1.0", + "which": "^1.1.1", + "wordwrap": "^1.0.0" + }, + "dependencies": { + "abbrev": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz", + "integrity": "sha1-kbR5JYinc4wl813W9jdSovh3YTU=", + "dev": true + }, + "async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "dev": true + }, + "escodegen": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz", + "integrity": "sha1-WltTr0aTEQvrsIZ6o0MN07cKEBg=", + "dev": true, + "requires": { + "esprima": "^2.7.1", + "estraverse": "^1.9.1", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.2.0" + }, + "dependencies": { + "estraverse": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz", + "integrity": "sha1-r2fy3JIlgkFZUJJgkaQAXSnJu0Q=", + "dev": true + }, + "esutils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "dev": true + }, + "optionator": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", + "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", + "dev": true, + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.4", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "wordwrap": "~1.0.0" + }, + "dependencies": { + "deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.5.tgz", + "integrity": "sha1-vTMUV0RRmrHDbD7p8x8I6QebZ/I=", + "dev": true + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2" + } + } + } + }, + "source-map": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz", + "integrity": "sha1-2rc/vPwrqBm03gO9b26qSBZLP50=", + "dev": true, + "optional": true, + "requires": { + "amdefine": ">=0.0.4" + }, + "dependencies": { + "amdefine": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.0.tgz", + "integrity": "sha1-/RdHRwDLXMnCtwnwvp0jzjwZjDM=", + "dev": true, + "optional": true + } + } + } + } + }, + "esprima": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", + "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", + "dev": true + }, + "glob": { + "version": "5.0.15", + "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", + "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", + "dev": true, + "requires": { + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "dependencies": { + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + }, + "dependencies": { + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + } + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + } + } + }, + "handlebars": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.5.tgz", + "integrity": "sha1-ksbta7FkEQxQ1NjQ+93HCAbG+Oc=", + "dev": true, + "requires": { + "async": "^1.4.0", + "optimist": "^0.6.1", + "source-map": "^0.4.4", + "uglify-js": "^2.6" + }, + "dependencies": { + "optimist": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", + "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", + "dev": true, + "requires": { + "minimist": "~0.0.1", + "wordwrap": "~0.0.2" + }, + "dependencies": { + "minimist": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", + "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=", + "dev": true + }, + "wordwrap": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", + "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", + "dev": true + } + } + }, + "source-map": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "dev": true, + "requires": { + "amdefine": ">=0.0.4" + }, + "dependencies": { + "amdefine": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.0.tgz", + "integrity": "sha1-/RdHRwDLXMnCtwnwvp0jzjwZjDM=", + "dev": true + } + } + } + } + }, + "js-yaml": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.6.1.tgz", + "integrity": "sha1-bl/mfYsgXOTSL60Ft3geja3MSzA=", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^2.6.0" + }, + "dependencies": { + "argparse": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz", + "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + }, + "dependencies": { + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + } + } + } + } + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "dev": true, + "requires": { + "minimist": "0.0.8" + }, + "dependencies": { + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true + } + } + }, + "nopt": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", + "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "dev": true, + "requires": { + "abbrev": "1" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + }, + "dependencies": { + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + } + } + }, + "resolve": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", + "dev": true + }, + "supports-color": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.1.2.tgz", + "integrity": "sha1-cqJiiU2dQIuVbKBf83su2KbiotU=", + "dev": true, + "requires": { + "has-flag": "^1.0.0" + }, + "dependencies": { + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + } + } + }, + "which": { + "version": "1.2.11", + "resolved": "https://registry.npmjs.org/which/-/which-1.2.11.tgz", + "integrity": "sha1-yLLu6muMFln6fB3U/aq+lTPcXos=", + "dev": true, + "requires": { + "isexe": "^1.1.1" + }, + "dependencies": { + "isexe": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-1.1.2.tgz", + "integrity": "sha1-NvPiLmB1CSD15yQaR2qMakInWtA=", + "dev": true + } + } + }, + "wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", + "dev": true + } + } + }, + "lodash": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", + "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=", + "dev": true + }, + "minimatch": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz", + "integrity": "sha1-Kk5AkLlrLbBqnX3wEFWmKnfJt3Q=", + "dev": true, + "requires": { + "brace-expansion": "^1.0.0" + }, + "dependencies": { + "brace-expansion": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.6.tgz", + "integrity": "sha1-cZfX6qm4fmSDkOph/GbIRCdCDfk=", + "dev": true, + "requires": { + "balanced-match": "^0.4.1", + "concat-map": "0.0.1" + }, + "dependencies": { + "balanced-match": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", + "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + } + } + } + } + }, + "source-map": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", + "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=", + "dev": true + } + } + }, + "karma-growler-reporter": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/karma-growler-reporter/-/karma-growler-reporter-0.0.1.tgz", + "integrity": "sha1-gXIQN/9fbfEviJwC/YrE/gHHrvk=", + "dev": true, + "requires": { + "growl": "~1.7.0" + }, + "dependencies": { + "growl": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/growl/-/growl-1.7.0.tgz", + "integrity": "sha1-3i1mE20ALhErpw8/EMMc98NQsto=", + "dev": true + } + } + }, + "karma-mocha": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/karma-mocha/-/karma-mocha-1.2.0.tgz", + "integrity": "sha1-vKa+KmaAW4R0F+jShz/QtbJ+580=", + "dev": true + }, + "karma-phantomjs-launcher": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/karma-phantomjs-launcher/-/karma-phantomjs-launcher-0.1.4.tgz", + "integrity": "sha1-TvluQyL/Y65dkY5RwlshNyMjjzA=", + "dev": true, + "requires": { + "phantomjs": "~1.9" + }, + "dependencies": { + "phantomjs": { + "version": "1.9.20", + "resolved": "https://registry.npmjs.org/phantomjs/-/phantomjs-1.9.20.tgz", + "integrity": "sha1-RCSsog4U0lXAsIia9va4lz2hDg0=", + "dev": true, + "requires": { + "extract-zip": "~1.5.0", + "fs-extra": "~0.26.4", + "hasha": "^2.2.0", + "kew": "~0.7.0", + "progress": "~1.1.8", + "request": "~2.67.0", + "request-progress": "~2.0.1", + "which": "~1.2.2" + }, + "dependencies": { + "extract-zip": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.5.0.tgz", + "integrity": "sha1-ksz22B73Cp+kwXRxFMzvbYaIpsQ=", + "dev": true, + "requires": { + "concat-stream": "1.5.0", + "debug": "0.7.4", + "mkdirp": "0.5.0", + "yauzl": "2.4.1" + }, + "dependencies": { + "concat-stream": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.0.tgz", + "integrity": "sha1-U/fUPFHF5D+ByP3QMyHGMb5o1hE=", + "dev": true, + "requires": { + "inherits": "~2.0.1", + "readable-stream": "~2.0.0", + "typedarray": "~0.0.5" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "readable-stream": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", + "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "string_decoder": "~0.10.x", + "util-deprecate": "~1.0.1" + }, + "dependencies": { + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "process-nextick-args": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", + "dev": true + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + } + } + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + } + } + }, + "debug": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-0.7.4.tgz", + "integrity": "sha1-BuHqgILCyxTjmAbiLi9vdX+Srzk=", + "dev": true + }, + "mkdirp": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.0.tgz", + "integrity": "sha1-HXMHam35hs2TROFecfzAWkyavxI=", + "dev": true, + "requires": { + "minimist": "0.0.8" + }, + "dependencies": { + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true + } + } + }, + "yauzl": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.4.1.tgz", + "integrity": "sha1-lSj0QtqxsihOWLQ3m7GU4i4MQAU=", + "dev": true, + "requires": { + "fd-slicer": "~1.0.1" + }, + "dependencies": { + "fd-slicer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz", + "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=", + "dev": true, + "requires": { + "pend": "~1.2.0" + }, + "dependencies": { + "pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", + "dev": true + } + } + } + } + } + } + }, + "fs-extra": { + "version": "0.26.7", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.26.7.tgz", + "integrity": "sha1-muH92UiXeY7at20JGM9C0MMYT6k=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + }, + "dependencies": { + "graceful-fs": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.9.tgz", + "integrity": "sha1-uqy6N9GdEfnRRtNXi8mZWMN4fik=", + "dev": true + }, + "jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "klaw": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", + "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.9" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "rimraf": { + "version": "2.5.4", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.5.4.tgz", + "integrity": "sha1-loAAk8vxoMhr2VtGJUZ1NcKd+gQ=", + "dev": true, + "requires": { + "glob": "^7.0.5" + }, + "dependencies": { + "glob": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz", + "integrity": "sha1-gFIR3wT6rxxjo2ADBs31reULLsg=", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.2", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "dependencies": { + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + }, + "dependencies": { + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + } + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "minimatch": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz", + "integrity": "sha1-Kk5AkLlrLbBqnX3wEFWmKnfJt3Q=", + "dev": true, + "requires": { + "brace-expansion": "^1.0.0" + }, + "dependencies": { + "brace-expansion": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.6.tgz", + "integrity": "sha1-cZfX6qm4fmSDkOph/GbIRCdCDfk=", + "dev": true, + "requires": { + "balanced-match": "^0.4.1", + "concat-map": "0.0.1" + }, + "dependencies": { + "balanced-match": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", + "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + } + } + } + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + }, + "dependencies": { + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + } + } + } + } + } + } + } + } + }, + "hasha": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/hasha/-/hasha-2.2.0.tgz", + "integrity": "sha1-eNfL/B5tZjA/55g3NlmEUXsvbuE=", + "dev": true, + "requires": { + "is-stream": "^1.0.1", + "pinkie-promise": "^2.0.0" + }, + "dependencies": { + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + }, + "dependencies": { + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + } + } + } + } + }, + "kew": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/kew/-/kew-0.7.0.tgz", + "integrity": "sha1-edk9LTM2PW/dKXCzNdkUGtWR15s=", + "dev": true + }, + "progress": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz", + "integrity": "sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74=", + "dev": true + }, + "request": { + "version": "2.67.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.67.0.tgz", + "integrity": "sha1-ivdHgOK/EeoK6aqWXBHxGv0nJ0I=", + "dev": true, + "requires": { + "aws-sign2": "~0.6.0", + "bl": "~1.0.0", + "caseless": "~0.11.0", + "combined-stream": "~1.0.5", + "extend": "~3.0.0", + "forever-agent": "~0.6.1", + "form-data": "~1.0.0-rc3", + "har-validator": "~2.0.2", + "hawk": "~3.1.0", + "http-signature": "~1.1.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.7", + "node-uuid": "~1.4.7", + "oauth-sign": "~0.8.0", + "qs": "~5.2.0", + "stringstream": "~0.0.4", + "tough-cookie": "~2.2.0", + "tunnel-agent": "~0.4.1" + }, + "dependencies": { + "aws-sign2": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", + "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=", + "dev": true + }, + "bl": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.0.3.tgz", + "integrity": "sha1-/FQhoo/UImA2w7OJGmaiW8ZNIm4=", + "dev": true, + "requires": { + "readable-stream": "~2.0.5" + }, + "dependencies": { + "readable-stream": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", + "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "string_decoder": "~0.10.x", + "util-deprecate": "~1.0.1" + }, + "dependencies": { + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "process-nextick-args": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", + "dev": true + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + } + } + } + } + }, + "caseless": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz", + "integrity": "sha1-cVuW6phBWTzDMGeSP17GDr2k99c=", + "dev": true + }, + "combined-stream": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", + "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=", + "dev": true, + "requires": { + "delayed-stream": "~1.0.0" + }, + "dependencies": { + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true + } + } + }, + "extend": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz", + "integrity": "sha1-WkdDU7nzNT3dgXbf03uRyDpG8dQ=", + "dev": true + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true + }, + "form-data": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-1.0.1.tgz", + "integrity": "sha1-rjFduaSQf6BlUCMEpm13M0de43w=", + "dev": true, + "requires": { + "async": "^2.0.1", + "combined-stream": "^1.0.5", + "mime-types": "^2.1.11" + }, + "dependencies": { + "async": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/async/-/async-2.1.2.tgz", + "integrity": "sha1-YSpKtF70KnDN6Aa62G7m2wR+g4U=", + "dev": true, + "requires": { + "lodash": "^4.14.0" + }, + "dependencies": { + "lodash": { + "version": "4.16.6", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.16.6.tgz", + "integrity": "sha1-0iyaxmAojzhD4Wun0rXQbMon13c=", + "dev": true + } + } + } + } + }, + "har-validator": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz", + "integrity": "sha1-zcvAgYgmWtEZtqWnyKtw7s+10n0=", + "dev": true, + "requires": { + "chalk": "^1.1.1", + "commander": "^2.9.0", + "is-my-json-valid": "^2.12.4", + "pinkie-promise": "^2.0.0" + }, + "dependencies": { + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz", + "integrity": "sha1-xQYbbg74qBd15Q9dZhUb9r83EQc=", + "dev": true + } + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz", + "integrity": "sha1-xQYbbg74qBd15Q9dZhUb9r83EQc=", + "dev": true + } + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "commander": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", + "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=", + "dev": true, + "requires": { + "graceful-readlink": ">= 1.0.0" + }, + "dependencies": { + "graceful-readlink": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", + "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=", + "dev": true + } + } + }, + "is-my-json-valid": { + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.15.0.tgz", + "integrity": "sha1-k27do8o8IR/ZjzstPgjaQ/eykVs=", + "dev": true, + "requires": { + "generate-function": "^2.0.0", + "generate-object-property": "^1.1.0", + "jsonpointer": "^4.0.0", + "xtend": "^4.0.0" + }, + "dependencies": { + "generate-function": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz", + "integrity": "sha1-aFj+fAlpt9TpCTM3ZHrHn2DfvnQ=", + "dev": true + }, + "generate-object-property": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", + "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=", + "dev": true, + "requires": { + "is-property": "^1.0.0" + }, + "dependencies": { + "is-property": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", + "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=", + "dev": true + } + } + }, + "jsonpointer": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.0.tgz", + "integrity": "sha1-ZmHhYdL8RF8Z+YQwIxNDci4fy9U=", + "dev": true + }, + "xtend": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", + "dev": true + } + } + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + }, + "dependencies": { + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + } + } + } + } + }, + "hawk": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", + "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", + "dev": true, + "requires": { + "boom": "2.x.x", + "cryptiles": "2.x.x", + "hoek": "2.x.x", + "sntp": "1.x.x" + }, + "dependencies": { + "boom": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", + "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", + "dev": true, + "requires": { + "hoek": "2.x.x" + } + }, + "cryptiles": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", + "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", + "dev": true, + "requires": { + "boom": "2.x.x" + } + }, + "hoek": { + "version": "2.16.3", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", + "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=", + "dev": true + }, + "sntp": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", + "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", + "dev": true, + "requires": { + "hoek": "2.x.x" + } + } + } + }, + "http-signature": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", + "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", + "dev": true, + "requires": { + "assert-plus": "^0.2.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + }, + "dependencies": { + "assert-plus": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", + "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=", + "dev": true + }, + "jsprim": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.3.1.tgz", + "integrity": "sha1-KnJW9wQSop7jZwqspiWZTE3P8lI=", + "dev": true, + "requires": { + "extsprintf": "1.0.2", + "json-schema": "0.2.3", + "verror": "1.3.6" + }, + "dependencies": { + "extsprintf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz", + "integrity": "sha1-4QgOBljjALBilJkMxw4VAiNf1VA=", + "dev": true + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "dev": true + }, + "verror": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz", + "integrity": "sha1-z/XfEpRtKX0rqu+qJoniW+AcAFw=", + "dev": true, + "requires": { + "extsprintf": "1.0.2" + } + } + } + }, + "sshpk": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.10.1.tgz", + "integrity": "sha1-MOGl0ykkSXShr2FREznVla9mOLA=", + "dev": true, + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jodid25519": "^1.0.0", + "jsbn": "~0.1.0", + "tweetnacl": "~0.14.0" + }, + "dependencies": { + "asn1": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", + "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=", + "dev": true + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + }, + "bcrypt-pbkdf": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.0.tgz", + "integrity": "sha1-PKdrhSQccXC/fZcD57mqdGMAQNQ=", + "dev": true, + "optional": true, + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "dashdash": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.0.tgz", + "integrity": "sha1-KeSGxUGL8PNWA0qZPVFoajPoQUE=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "ecc-jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", + "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", + "dev": true, + "optional": true, + "requires": { + "jsbn": "~0.1.0" + } + }, + "getpass": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.6.tgz", + "integrity": "sha1-KD/9n8ElaECHUxHBtg6MQBhxEOY=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "jodid25519": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/jodid25519/-/jodid25519-1.0.2.tgz", + "integrity": "sha1-BtSRIlUJNBlHfUJWM2BuDpB4KWc=", + "dev": true, + "optional": true, + "requires": { + "jsbn": "~0.1.0" + } + }, + "jsbn": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.0.tgz", + "integrity": "sha1-ZQmH2g3XT06/WhE3eiqi0nPpff0=", + "dev": true, + "optional": true + }, + "tweetnacl": { + "version": "0.14.3", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.3.tgz", + "integrity": "sha1-PaOC9nDyXe1417PReSEZvKC3Ey0=", + "dev": true, + "optional": true + } + } + } + } + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true + }, + "mime-types": { + "version": "2.1.12", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.12.tgz", + "integrity": "sha1-FSuiVndwIN1GY/VMLnvCY4HnFyk=", + "dev": true, + "requires": { + "mime-db": "~1.24.0" + }, + "dependencies": { + "mime-db": { + "version": "1.24.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.24.0.tgz", + "integrity": "sha1-4tE/k58AFsbk6a0lqGUvEmxGfww=", + "dev": true + } + } + }, + "node-uuid": { + "version": "1.4.7", + "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.7.tgz", + "integrity": "sha1-baWhdmjEs91ZYjvaEc9/pMH2Cm8=", + "dev": true + }, + "oauth-sign": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", + "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=", + "dev": true + }, + "qs": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-5.2.1.tgz", + "integrity": "sha1-gB/uAw4LlFDWOFrcSKTMVbRK7fw=", + "dev": true + }, + "stringstream": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", + "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=", + "dev": true + }, + "tough-cookie": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.2.2.tgz", + "integrity": "sha1-yDoYMPTl7wuT7yo0iOck+N4Basc=", + "dev": true + }, + "tunnel-agent": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz", + "integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=", + "dev": true + } + } + }, + "request-progress": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-2.0.1.tgz", + "integrity": "sha1-XTa7V5YcZzqlt4jbyBQf3yO0Tgg=", + "dev": true, + "requires": { + "throttleit": "^1.0.0" + }, + "dependencies": { + "throttleit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz", + "integrity": "sha1-nnhYNtr0Z0MUWlmEtiaNgoUorGw=", + "dev": true + } + } + }, + "which": { + "version": "1.2.11", + "resolved": "https://registry.npmjs.org/which/-/which-1.2.11.tgz", + "integrity": "sha1-yLLu6muMFln6fB3U/aq+lTPcXos=", + "dev": true, + "requires": { + "isexe": "^1.1.1" + }, + "dependencies": { + "isexe": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-1.1.2.tgz", + "integrity": "sha1-NvPiLmB1CSD15yQaR2qMakInWtA=", + "dev": true + } + } + } + } + } + } + }, + "karma-webpack": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/karma-webpack/-/karma-webpack-1.8.0.tgz", + "integrity": "sha1-NAx5mes3RbR77KtH0NME2sLFUlc=", + "dev": true, + "requires": { + "async": "~0.9.0", + "loader-utils": "^0.2.5", + "lodash": "^3.8.0", + "source-map": "^0.1.41", + "webpack-dev-middleware": "^1.0.11" + }, + "dependencies": { + "async": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", + "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=", + "dev": true + }, + "loader-utils": { + "version": "0.2.16", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.16.tgz", + "integrity": "sha1-8IYyBm7YKCg13/iN+1JwR2Wt7m0=", + "dev": true, + "requires": { + "big.js": "^3.1.3", + "emojis-list": "^2.0.0", + "json5": "^0.5.0", + "object-assign": "^4.0.1" + }, + "dependencies": { + "big.js": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.1.3.tgz", + "integrity": "sha1-TK2iGTZS6zyp7I5VyQFWacmAaXg=", + "dev": true + }, + "emojis-list": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", + "dev": true + }, + "json5": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.0.tgz", + "integrity": "sha1-myBxWwJsvjd4/Xae3M2CLYMypbI=", + "dev": true + }, + "object-assign": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz", + "integrity": "sha1-ejs9DpgGPUP0wD8uiubNUahog6A=", + "dev": true + } + } + }, + "lodash": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", + "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=", + "dev": true + }, + "source-map": { + "version": "0.1.43", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", + "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", + "dev": true, + "requires": { + "amdefine": ">=0.0.4" + }, + "dependencies": { + "amdefine": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.0.tgz", + "integrity": "sha1-/RdHRwDLXMnCtwnwvp0jzjwZjDM=", + "dev": true + } + } + }, + "webpack-dev-middleware": { + "version": "1.8.4", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-1.8.4.tgz", + "integrity": "sha1-6HZckSKIfOnjq9TMnD6zG2HglI0=", + "dev": true, + "requires": { + "memory-fs": "~0.3.0", + "mime": "^1.3.4", + "path-is-absolute": "^1.0.0", + "range-parser": "^1.0.3" + }, + "dependencies": { + "memory-fs": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.3.0.tgz", + "integrity": "sha1-e8xrYp46Q+hx1+Kaymrop/FcuyA=", + "dev": true, + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + }, + "dependencies": { + "errno": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.4.tgz", + "integrity": "sha1-uJbiOp5ei6M4cfyZar02NfyaHH0=", + "dev": true, + "requires": { + "prr": "~0.0.0" + }, + "dependencies": { + "prr": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/prr/-/prr-0.0.0.tgz", + "integrity": "sha1-GoS4WQgyVQFBGFPQCB7j+obikmo=", + "dev": true + } + } + }, + "readable-stream": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.1.5.tgz", + "integrity": "sha1-ZvqLcg4UOLNkaB8q0aY8YYRIydA=", + "dev": true, + "requires": { + "buffer-shims": "^1.0.0", + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "string_decoder": "~0.10.x", + "util-deprecate": "~1.0.1" + }, + "dependencies": { + "buffer-shims": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz", + "integrity": "sha1-mXjOMXOIxkmth5MCjDR37wRKi1E=", + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "process-nextick-args": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", + "dev": true + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + } + } + } + } + }, + "mime": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz", + "integrity": "sha1-EV+eO2s9rylZmDyzjxSaLUDrXVM=", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "range-parser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", + "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=", + "dev": true + } + } + } + } + }, + "mocha": { + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-2.5.3.tgz", + "integrity": "sha1-FhvlvetJZ3HrmzV0UFC2IrWu/Fg=", + "dev": true, + "requires": { + "commander": "2.3.0", + "debug": "2.2.0", + "diff": "1.4.0", + "escape-string-regexp": "1.0.2", + "glob": "3.2.11", + "growl": "1.9.2", + "jade": "0.26.3", + "mkdirp": "0.5.1", + "supports-color": "1.2.0", + "to-iso-string": "0.0.2" + }, + "dependencies": { + "commander": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.3.0.tgz", + "integrity": "sha1-/UMOiJgy7DU7ms0d4hfBHLPu+HM=", + "dev": true + }, + "debug": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", + "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", + "dev": true, + "requires": { + "ms": "0.7.1" + }, + "dependencies": { + "ms": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", + "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=", + "dev": true + } + } + }, + "diff": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-1.4.0.tgz", + "integrity": "sha1-fyjS657nsVqX79ic5j3P2qPMur8=", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.2.tgz", + "integrity": "sha1-Tbwv5nTnGUnK8/smlc5/LcHZqNE=", + "dev": true + }, + "glob": { + "version": "3.2.11", + "resolved": "https://registry.npmjs.org/glob/-/glob-3.2.11.tgz", + "integrity": "sha1-Spc/Y1uRkPcV0QmH1cAP0oFevj0=", + "dev": true, + "requires": { + "inherits": "2", + "minimatch": "0.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "minimatch": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz", + "integrity": "sha1-J12O2qxPG7MyZHIInnlJyDlGmd0=", + "dev": true, + "requires": { + "lru-cache": "2", + "sigmund": "~1.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz", + "integrity": "sha1-bUUk6LlV+V1PW1iFHOId1y+06VI=", + "dev": true + }, + "sigmund": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", + "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=", + "dev": true + } + } + } + } + }, + "growl": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/growl/-/growl-1.9.2.tgz", + "integrity": "sha1-Dqd0NxXbjY3ixe3hd14bRayFwC8=", + "dev": true + }, + "jade": { + "version": "0.26.3", + "resolved": "https://registry.npmjs.org/jade/-/jade-0.26.3.tgz", + "integrity": "sha1-jxDXl32NefL2/4YqgbBRPMslaGw=", + "dev": true, + "requires": { + "commander": "0.6.1", + "mkdirp": "0.3.0" + }, + "dependencies": { + "commander": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-0.6.1.tgz", + "integrity": "sha1-+mihT2qUXVTbvlDYzbMyDp47GgY=", + "dev": true + }, + "mkdirp": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.0.tgz", + "integrity": "sha1-G79asbqCevI1dRQ0kEJkVfSB/h4=", + "dev": true + } + } + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "dev": true, + "requires": { + "minimist": "0.0.8" + }, + "dependencies": { + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true + } + } + }, + "supports-color": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-1.2.0.tgz", + "integrity": "sha1-/x7R5hFp0Gs88tWI4YixjYhH4X4=", + "dev": true + }, + "to-iso-string": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/to-iso-string/-/to-iso-string-0.0.2.tgz", + "integrity": "sha1-TcGeZk38y+Jb2NtQiwDG2hWCVdE=", + "dev": true + } + } + }, + "mocha-lcov-reporter": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/mocha-lcov-reporter/-/mocha-lcov-reporter-0.0.1.tgz", + "integrity": "sha1-AmcEkdtX7myx/nOS6BNwD24zaiE=", + "dev": true + }, + "ng-cache-loader": { + "version": "0.0.16", + "resolved": "https://registry.npmjs.org/ng-cache-loader/-/ng-cache-loader-0.0.16.tgz", + "integrity": "sha1-iLdIx4eTvCfzeiUuVH7wLmWZaSA=", + "dev": true, + "requires": { + "extend": "^3.0.0", + "fastparse": "^1.0.0", + "html-minifier": "~0.7.0", + "loader-utils": "^0.2.4" + }, + "dependencies": { + "extend": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz", + "integrity": "sha1-WkdDU7nzNT3dgXbf03uRyDpG8dQ=", + "dev": true + }, + "fastparse": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.1.tgz", + "integrity": "sha1-0eJkOzipTXWDtHkGDmxK/8lAcfg=", + "dev": true + }, + "html-minifier": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-0.7.2.tgz", + "integrity": "sha1-K3lZsQUaSB5xzXxuWaZCcq+JXP0=", + "dev": true, + "requires": { + "change-case": "2.3.x", + "clean-css": "3.1.x", + "cli": "0.6.x", + "concat-stream": "1.4.x", + "relateurl": "0.2.x", + "uglify-js": "2.4.x" + }, + "dependencies": { + "change-case": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/change-case/-/change-case-2.3.1.tgz", + "integrity": "sha1-LE/ePwY7tB0AzWjg1aCdthy+iU8=", + "dev": true, + "requires": { + "camel-case": "^1.1.1", + "constant-case": "^1.1.0", + "dot-case": "^1.1.0", + "is-lower-case": "^1.1.0", + "is-upper-case": "^1.1.0", + "lower-case": "^1.1.1", + "lower-case-first": "^1.0.0", + "param-case": "^1.1.0", + "pascal-case": "^1.1.0", + "path-case": "^1.1.0", + "sentence-case": "^1.1.1", + "snake-case": "^1.1.0", + "swap-case": "^1.1.0", + "title-case": "^1.1.0", + "upper-case": "^1.1.1", + "upper-case-first": "^1.1.0" + }, + "dependencies": { + "camel-case": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-1.2.2.tgz", + "integrity": "sha1-Gsp8TRlTWaLOmVV5NDPG5VQlEfI=", + "dev": true, + "requires": { + "sentence-case": "^1.1.1", + "upper-case": "^1.1.1" + } + }, + "constant-case": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/constant-case/-/constant-case-1.1.2.tgz", + "integrity": "sha1-jsLKW6ND4Aqjjb9OIA/VrJB+/WM=", + "dev": true, + "requires": { + "snake-case": "^1.1.0", + "upper-case": "^1.1.1" + } + }, + "dot-case": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-1.1.2.tgz", + "integrity": "sha1-HnOCaQDeKNbeVIC8HeMdCEKwa+w=", + "dev": true, + "requires": { + "sentence-case": "^1.1.2" + } + }, + "is-lower-case": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/is-lower-case/-/is-lower-case-1.1.3.tgz", + "integrity": "sha1-fhR75HaNxGbbO/shzGCzHmrWk5M=", + "dev": true, + "requires": { + "lower-case": "^1.1.0" + } + }, + "is-upper-case": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-upper-case/-/is-upper-case-1.1.2.tgz", + "integrity": "sha1-jQsfp+eTOh5YSDYA7H2WYcuvdW8=", + "dev": true, + "requires": { + "upper-case": "^1.1.0" + } + }, + "lower-case": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.3.tgz", + "integrity": "sha1-ySOT2XZ5Pu5bpO21g8+OrjW9m/s=", + "dev": true + }, + "lower-case-first": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/lower-case-first/-/lower-case-first-1.0.2.tgz", + "integrity": "sha1-5dp8JvKacHO+AtUrrJmA5ZIq36E=", + "dev": true, + "requires": { + "lower-case": "^1.1.2" + } + }, + "param-case": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-1.1.2.tgz", + "integrity": "sha1-3LCRpDwlm5Io8cNB57akTqC/l0M=", + "dev": true, + "requires": { + "sentence-case": "^1.1.2" + } + }, + "pascal-case": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-1.1.2.tgz", + "integrity": "sha1-Pl1kogBDgwp8STRMLXS0G+DJyZs=", + "dev": true, + "requires": { + "camel-case": "^1.1.1", + "upper-case-first": "^1.1.0" + } + }, + "path-case": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/path-case/-/path-case-1.1.2.tgz", + "integrity": "sha1-UM5roNO+090LXCqcRVNpdDRAlRQ=", + "dev": true, + "requires": { + "sentence-case": "^1.1.2" + } + }, + "sentence-case": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/sentence-case/-/sentence-case-1.1.3.tgz", + "integrity": "sha1-gDSq/CFFdy06vhUJqkLJ4QQtwTk=", + "dev": true, + "requires": { + "lower-case": "^1.1.1" + } + }, + "snake-case": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-1.1.2.tgz", + "integrity": "sha1-DC8l4wUVjZoY09l3BmGH/vilpmo=", + "dev": true, + "requires": { + "sentence-case": "^1.1.2" + } + }, + "swap-case": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/swap-case/-/swap-case-1.1.2.tgz", + "integrity": "sha1-w5IDpFhzhfrTyFCgvRvK+ggZdOM=", + "dev": true, + "requires": { + "lower-case": "^1.1.1", + "upper-case": "^1.1.1" + } + }, + "title-case": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/title-case/-/title-case-1.1.2.tgz", + "integrity": "sha1-+uSmrlRr+iLQg6DuqRCkDRLtT1o=", + "dev": true, + "requires": { + "sentence-case": "^1.1.1", + "upper-case": "^1.0.3" + } + }, + "upper-case": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", + "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=", + "dev": true + }, + "upper-case-first": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/upper-case-first/-/upper-case-first-1.1.2.tgz", + "integrity": "sha1-XXm+3P8UQZUY/S7bCgUHybaFkRU=", + "dev": true, + "requires": { + "upper-case": "^1.1.1" + } + } + } + }, + "clean-css": { + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-3.1.9.tgz", + "integrity": "sha1-29BaFIvklDuzfOBnnmdsvJ9YAmY=", + "dev": true, + "requires": { + "commander": "2.6.x", + "source-map": ">=0.1.43 <0.2" + }, + "dependencies": { + "commander": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.6.0.tgz", + "integrity": "sha1-nfflL7Kgyw+4kFjugMMQQiXzfh0=", + "dev": true + }, + "source-map": { + "version": "0.1.43", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", + "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", + "dev": true, + "requires": { + "amdefine": ">=0.0.4" + }, + "dependencies": { + "amdefine": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.0.tgz", + "integrity": "sha1-/RdHRwDLXMnCtwnwvp0jzjwZjDM=", + "dev": true + } + } + } + } + }, + "cli": { + "version": "0.6.6", + "resolved": "https://registry.npmjs.org/cli/-/cli-0.6.6.tgz", + "integrity": "sha1-Aq1Eo4Cr8nraxebwzdewQ9dMU+M=", + "dev": true, + "requires": { + "exit": "0.1.2", + "glob": "~ 3.2.1" + }, + "dependencies": { + "exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", + "dev": true + }, + "glob": { + "version": "3.2.11", + "resolved": "https://registry.npmjs.org/glob/-/glob-3.2.11.tgz", + "integrity": "sha1-Spc/Y1uRkPcV0QmH1cAP0oFevj0=", + "dev": true, + "requires": { + "inherits": "2", + "minimatch": "0.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "minimatch": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz", + "integrity": "sha1-J12O2qxPG7MyZHIInnlJyDlGmd0=", + "dev": true, + "requires": { + "lru-cache": "2", + "sigmund": "~1.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz", + "integrity": "sha1-bUUk6LlV+V1PW1iFHOId1y+06VI=", + "dev": true + }, + "sigmund": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", + "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=", + "dev": true + } + } + } + } + } + } + }, + "concat-stream": { + "version": "1.4.10", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.4.10.tgz", + "integrity": "sha1-rMO79WAsuMyYDGrIQPp9hgPj7zY=", + "dev": true, + "requires": { + "inherits": "~2.0.1", + "readable-stream": "~1.1.9", + "typedarray": "~0.0.5" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + }, + "dependencies": { + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + } + } + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + } + } + }, + "relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", + "dev": true + }, + "uglify-js": { + "version": "2.4.24", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.4.24.tgz", + "integrity": "sha1-+tV1XB4Vd2WLsG/5q25UjJW+vW4=", + "dev": true, + "requires": { + "async": "~0.2.6", + "source-map": "0.1.34", + "uglify-to-browserify": "~1.0.0", + "yargs": "~3.5.4" + }, + "dependencies": { + "async": { + "version": "0.2.10", + "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", + "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=", + "dev": true + }, + "source-map": { + "version": "0.1.34", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.34.tgz", + "integrity": "sha1-p8/omux7FoLDsZjQrPtH19CQVms=", + "dev": true, + "requires": { + "amdefine": ">=0.0.4" + }, + "dependencies": { + "amdefine": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.0.tgz", + "integrity": "sha1-/RdHRwDLXMnCtwnwvp0jzjwZjDM=", + "dev": true + } + } + }, + "uglify-to-browserify": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", + "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", + "dev": true + }, + "yargs": { + "version": "3.5.4", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.5.4.tgz", + "integrity": "sha1-2K/49mXpTDS9JZvevRv68N3TU2E=", + "dev": true, + "requires": { + "camelcase": "^1.0.2", + "decamelize": "^1.0.0", + "window-size": "0.1.0", + "wordwrap": "0.0.2" + }, + "dependencies": { + "camelcase": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", + "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", + "dev": true + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "window-size": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", + "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", + "dev": true + }, + "wordwrap": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", + "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", + "dev": true + } + } + } + } + } + } + }, + "loader-utils": { + "version": "0.2.16", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.16.tgz", + "integrity": "sha1-8IYyBm7YKCg13/iN+1JwR2Wt7m0=", + "dev": true, + "requires": { + "big.js": "^3.1.3", + "emojis-list": "^2.0.0", + "json5": "^0.5.0", + "object-assign": "^4.0.1" + }, + "dependencies": { + "big.js": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.1.3.tgz", + "integrity": "sha1-TK2iGTZS6zyp7I5VyQFWacmAaXg=", + "dev": true + }, + "emojis-list": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", + "dev": true + }, + "json5": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.0.tgz", + "integrity": "sha1-myBxWwJsvjd4/Xae3M2CLYMypbI=", + "dev": true + }, + "object-assign": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz", + "integrity": "sha1-ejs9DpgGPUP0wD8uiubNUahog6A=", + "dev": true + } + } + } + } + }, + "objectpath": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/objectpath/-/objectpath-1.1.0.tgz", + "integrity": "sha1-kdKWmKzjK1j0y67sHRa8YqRURVo=" + }, + "protractor": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/protractor/-/protractor-2.5.1.tgz", + "integrity": "sha1-A9bJPNfCaPQlAXfVWi/sihmDcs0=", + "dev": true, + "requires": { + "accessibility-developer-tools": "~2.6.0", + "adm-zip": "0.4.4", + "glob": "~3.2", + "html-entities": "~1.1.1", + "jasmine": "2.3.2", + "jasminewd": "1.1.0", + "jasminewd2": "0.0.6", + "lodash": "~2.4.1", + "minijasminenode": "1.1.1", + "optimist": "~0.6.0", + "q": "1.0.0", + "request": "~2.57.0", + "saucelabs": "~1.0.1", + "selenium-webdriver": "2.47.0", + "source-map-support": "~0.2.6" + }, + "dependencies": { + "accessibility-developer-tools": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/accessibility-developer-tools/-/accessibility-developer-tools-2.6.0.tgz", + "integrity": "sha1-/O2v8BTt3D9UxLNlkxvh9xV0avw=", + "dev": true + }, + "adm-zip": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.4.tgz", + "integrity": "sha1-ph7VrmkFw66lizplfSUDMJEFJzY=", + "dev": true + }, + "glob": { + "version": "3.2.11", + "resolved": "https://registry.npmjs.org/glob/-/glob-3.2.11.tgz", + "integrity": "sha1-Spc/Y1uRkPcV0QmH1cAP0oFevj0=", + "dev": true, + "requires": { + "inherits": "2", + "minimatch": "0.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "minimatch": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz", + "integrity": "sha1-J12O2qxPG7MyZHIInnlJyDlGmd0=", + "dev": true, + "requires": { + "lru-cache": "2", + "sigmund": "~1.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz", + "integrity": "sha1-bUUk6LlV+V1PW1iFHOId1y+06VI=", + "dev": true + }, + "sigmund": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", + "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=", + "dev": true + } + } + } + } + }, + "html-entities": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.1.3.tgz", + "integrity": "sha1-fjtHZA9eppsJeui7vny4ypQdhb0=", + "dev": true + }, + "jasmine": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-2.3.2.tgz", + "integrity": "sha1-/r8OS0r/9jwtCSEfB32guFn18ZE=", + "dev": true, + "requires": { + "exit": "^0.1.2", + "glob": "^3.2.11", + "jasmine-core": "~2.3.0" + }, + "dependencies": { + "exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", + "dev": true + }, + "jasmine-core": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-2.3.4.tgz", + "integrity": "sha1-rXcmYrMtFsVk7iXIY+2uHWWgOPI=", + "dev": true + } + } + }, + "jasminewd": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/jasminewd/-/jasminewd-1.1.0.tgz", + "integrity": "sha1-JXUaaEXvL7Qkwvo5ZHmHrhVv1DM=", + "dev": true + }, + "jasminewd2": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/jasminewd2/-/jasminewd2-0.0.6.tgz", + "integrity": "sha1-JZFX8G0tFJ++y5YwLICqMio3ciI=", + "dev": true + }, + "lodash": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz", + "integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=", + "dev": true + }, + "minijasminenode": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/minijasminenode/-/minijasminenode-1.1.1.tgz", + "integrity": "sha1-f5Y31mQopTHAX08QtpoxG137YOk=", + "dev": true + }, + "optimist": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", + "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", + "dev": true, + "requires": { + "minimist": "~0.0.1", + "wordwrap": "~0.0.2" + }, + "dependencies": { + "minimist": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", + "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=", + "dev": true + }, + "wordwrap": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", + "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", + "dev": true + } + } + }, + "q": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/q/-/q-1.0.0.tgz", + "integrity": "sha1-3B+SxFh75U94U7Kdwo5tJDqISY0=", + "dev": true + }, + "request": { + "version": "2.57.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.57.0.tgz", + "integrity": "sha1-1EUQWkLQCbnXJCiWM7RJptcj2Yk=", + "dev": true, + "requires": { + "aws-sign2": "~0.5.0", + "bl": "~0.9.0", + "caseless": "~0.10.0", + "combined-stream": "~1.0.1", + "forever-agent": "~0.6.0", + "form-data": "~0.2.0", + "har-validator": "^1.6.1", + "hawk": "~2.3.0", + "http-signature": "~0.11.0", + "isstream": "~0.1.1", + "json-stringify-safe": "~5.0.0", + "mime-types": "~2.0.1", + "node-uuid": "~1.4.0", + "oauth-sign": "~0.8.0", + "qs": "~3.1.0", + "stringstream": "~0.0.4", + "tough-cookie": ">=0.12.0", + "tunnel-agent": "~0.4.0" + }, + "dependencies": { + "aws-sign2": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.5.0.tgz", + "integrity": "sha1-xXED96F/wDfwLXwuZLYC6iI/fWM=", + "dev": true + }, + "bl": { + "version": "0.9.5", + "resolved": "https://registry.npmjs.org/bl/-/bl-0.9.5.tgz", + "integrity": "sha1-wGt5evCF6gC8Unr8jvzxHeIjIFQ=", + "dev": true, + "requires": { + "readable-stream": "~1.0.26" + }, + "dependencies": { + "readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + }, + "dependencies": { + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + } + } + } + } + }, + "caseless": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.10.0.tgz", + "integrity": "sha1-7WsnGa3NH9GPWNwIHA8aW0OWOQk=", + "dev": true + }, + "combined-stream": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", + "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=", + "dev": true, + "requires": { + "delayed-stream": "~1.0.0" + }, + "dependencies": { + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true + } + } + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true + }, + "form-data": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-0.2.0.tgz", + "integrity": "sha1-Jvi8JtpkQOKZy9z7aQNcT3em5GY=", + "dev": true, + "requires": { + "async": "~0.9.0", + "combined-stream": "~0.0.4", + "mime-types": "~2.0.3" + }, + "dependencies": { + "async": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", + "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=", + "dev": true + }, + "combined-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-0.0.7.tgz", + "integrity": "sha1-ATfmV7qlp1QcV6w3rF/AfXO03B8=", + "dev": true, + "requires": { + "delayed-stream": "0.0.5" + }, + "dependencies": { + "delayed-stream": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz", + "integrity": "sha1-1LH0OpPoKW3+AmlPRoC8N6MTxz8=", + "dev": true + } + } + } + } + }, + "har-validator": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-1.8.0.tgz", + "integrity": "sha1-2DhCsOtMQ1lgrrEIoGejqpTA7rI=", + "dev": true, + "requires": { + "bluebird": "^2.9.30", + "chalk": "^1.0.0", + "commander": "^2.8.1", + "is-my-json-valid": "^2.12.0" + }, + "dependencies": { + "bluebird": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-2.11.0.tgz", + "integrity": "sha1-U0uQM8AiyVecVro7Plpcqvu2UOE=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz", + "integrity": "sha1-xQYbbg74qBd15Q9dZhUb9r83EQc=", + "dev": true + } + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz", + "integrity": "sha1-xQYbbg74qBd15Q9dZhUb9r83EQc=", + "dev": true + } + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "commander": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", + "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=", + "dev": true, + "requires": { + "graceful-readlink": ">= 1.0.0" + }, + "dependencies": { + "graceful-readlink": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", + "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=", + "dev": true + } + } + }, + "is-my-json-valid": { + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.15.0.tgz", + "integrity": "sha1-k27do8o8IR/ZjzstPgjaQ/eykVs=", + "dev": true, + "requires": { + "generate-function": "^2.0.0", + "generate-object-property": "^1.1.0", + "jsonpointer": "^4.0.0", + "xtend": "^4.0.0" + }, + "dependencies": { + "generate-function": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz", + "integrity": "sha1-aFj+fAlpt9TpCTM3ZHrHn2DfvnQ=", + "dev": true + }, + "generate-object-property": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", + "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=", + "dev": true, + "requires": { + "is-property": "^1.0.0" + }, + "dependencies": { + "is-property": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", + "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=", + "dev": true + } + } + }, + "jsonpointer": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.0.tgz", + "integrity": "sha1-ZmHhYdL8RF8Z+YQwIxNDci4fy9U=", + "dev": true + }, + "xtend": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", + "dev": true + } + } + } + } + }, + "hawk": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/hawk/-/hawk-2.3.1.tgz", + "integrity": "sha1-HnMc45RH+h0PbXB/e87r7A/R7B8=", + "dev": true, + "requires": { + "boom": "2.x.x", + "cryptiles": "2.x.x", + "hoek": "2.x.x", + "sntp": "1.x.x" + }, + "dependencies": { + "boom": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", + "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", + "dev": true, + "requires": { + "hoek": "2.x.x" + } + }, + "cryptiles": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", + "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", + "dev": true, + "requires": { + "boom": "2.x.x" + } + }, + "hoek": { + "version": "2.16.3", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", + "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=", + "dev": true + }, + "sntp": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", + "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", + "dev": true, + "requires": { + "hoek": "2.x.x" + } + } + } + }, + "http-signature": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-0.11.0.tgz", + "integrity": "sha1-F5bPZ6ABrVzWhJ3KCZFIXwkIn+Y=", + "dev": true, + "requires": { + "asn1": "0.1.11", + "assert-plus": "^0.1.5", + "ctype": "0.5.3" + }, + "dependencies": { + "asn1": { + "version": "0.1.11", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz", + "integrity": "sha1-VZvhg3bQik7E2+gId9J4GGObLfc=", + "dev": true + }, + "assert-plus": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.5.tgz", + "integrity": "sha1-7nQAlBMALYTOxyGcasgRgS5yMWA=", + "dev": true + }, + "ctype": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/ctype/-/ctype-0.5.3.tgz", + "integrity": "sha1-gsGMJGH3QRTvFsE1IkrQuRRMoS8=", + "dev": true + } + } + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true + }, + "mime-types": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.0.14.tgz", + "integrity": "sha1-MQ4VnbI+B3+Lsit0jav6SVcUCqY=", + "dev": true, + "requires": { + "mime-db": "~1.12.0" + }, + "dependencies": { + "mime-db": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.12.0.tgz", + "integrity": "sha1-PQxjGA9FjrENMlqqN9fFiuMS6dc=", + "dev": true + } + } + }, + "node-uuid": { + "version": "1.4.7", + "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.7.tgz", + "integrity": "sha1-baWhdmjEs91ZYjvaEc9/pMH2Cm8=", + "dev": true + }, + "oauth-sign": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", + "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=", + "dev": true + }, + "qs": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-3.1.0.tgz", + "integrity": "sha1-0OmudFIzoS3EP7TzBVu6RGJhFTw=", + "dev": true + }, + "stringstream": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", + "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=", + "dev": true + }, + "tough-cookie": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.2.tgz", + "integrity": "sha1-8IH3bkyFcg5sN6X6ztc3FQ2EByo=", + "dev": true, + "requires": { + "punycode": "^1.4.1" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + } + } + }, + "tunnel-agent": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz", + "integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=", + "dev": true + } + } + }, + "saucelabs": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/saucelabs/-/saucelabs-1.0.1.tgz", + "integrity": "sha1-tQoQDZxaQUB0izUzWm5dcAF9rfk=", + "dev": true, + "requires": { + "https-proxy-agent": "^1.0.0" + }, + "dependencies": { + "https-proxy-agent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-1.0.0.tgz", + "integrity": "sha1-NffabEjOTdv6JkiRrFk+5f+GceY=", + "dev": true, + "requires": { + "agent-base": "2", + "debug": "2", + "extend": "3" + }, + "dependencies": { + "agent-base": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-2.0.1.tgz", + "integrity": "sha1-vY+ehqjrIh//oHvRS+/VXfFCgV4=", + "dev": true, + "requires": { + "extend": "~3.0.0", + "semver": "~5.0.1" + }, + "dependencies": { + "semver": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.0.3.tgz", + "integrity": "sha1-d0Zt5YnNXTyV8TiqeLxWmjy10no=", + "dev": true + } + } + }, + "debug": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", + "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", + "dev": true, + "requires": { + "ms": "0.7.1" + }, + "dependencies": { + "ms": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", + "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=", + "dev": true + } + } + }, + "extend": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz", + "integrity": "sha1-WkdDU7nzNT3dgXbf03uRyDpG8dQ=", + "dev": true + } + } + } + } + }, + "selenium-webdriver": { + "version": "2.47.0", + "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-2.47.0.tgz", + "integrity": "sha1-4ptS0tqg9kjED2AvTSqOi+41HqU=", + "dev": true, + "requires": { + "adm-zip": "0.4.4", + "rimraf": "^2.2.8", + "tmp": "0.0.24", + "ws": "^0.8.0", + "xml2js": "0.4.4" + }, + "dependencies": { + "rimraf": { + "version": "2.5.4", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.5.4.tgz", + "integrity": "sha1-loAAk8vxoMhr2VtGJUZ1NcKd+gQ=", + "dev": true, + "requires": { + "glob": "^7.0.5" + }, + "dependencies": { + "glob": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz", + "integrity": "sha1-gFIR3wT6rxxjo2ADBs31reULLsg=", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.2", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "dependencies": { + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + }, + "dependencies": { + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + } + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "minimatch": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz", + "integrity": "sha1-Kk5AkLlrLbBqnX3wEFWmKnfJt3Q=", + "dev": true, + "requires": { + "brace-expansion": "^1.0.0" + }, + "dependencies": { + "brace-expansion": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.6.tgz", + "integrity": "sha1-cZfX6qm4fmSDkOph/GbIRCdCDfk=", + "dev": true, + "requires": { + "balanced-match": "^0.4.1", + "concat-map": "0.0.1" + }, + "dependencies": { + "balanced-match": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", + "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + } + } + } + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + }, + "dependencies": { + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + } + } + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + } + } + } + } + }, + "tmp": { + "version": "0.0.24", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.24.tgz", + "integrity": "sha1-1qXhmNFKmDXMby18PZ4wJCjIzxI=", + "dev": true + }, + "ws": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-0.8.1.tgz", + "integrity": "sha1-a2UnO5kZPF8Gekz1gJWY93fjt1k=", + "dev": true, + "requires": { + "bufferutil": "1.2.x", + "options": ">=0.0.5", + "ultron": "1.0.x", + "utf-8-validate": "1.2.x" + }, + "dependencies": { + "bufferutil": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-1.2.1.tgz", + "integrity": "sha1-N75dNuHgZJIiHmjUdLGsWOUQy9c=", + "dev": true, + "optional": true, + "requires": { + "bindings": "1.2.x", + "nan": "^2.0.5" + }, + "dependencies": { + "bindings": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.2.1.tgz", + "integrity": "sha1-FK1hE4EtLTfXLme0ystLtyZQXxE=", + "dev": true, + "optional": true + }, + "nan": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.4.0.tgz", + "integrity": "sha1-+zxZ1F/k7/4hXwuJD4rfbrMtIjI=", + "dev": true, + "optional": true + } + } + }, + "options": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/options/-/options-0.0.6.tgz", + "integrity": "sha1-7CLTEoBrtT5zF3Pnza788cZDEo8=", + "dev": true + }, + "ultron": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.0.2.tgz", + "integrity": "sha1-rOEWq1V80Zc4ak6I9GhTeMiy5Po=", + "dev": true + }, + "utf-8-validate": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-1.2.1.tgz", + "integrity": "sha1-RMt8burXPWtARI9x90WQQ1e59yw=", + "dev": true, + "optional": true, + "requires": { + "bindings": "1.2.x", + "nan": "^2.0.5" + }, + "dependencies": { + "bindings": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.2.1.tgz", + "integrity": "sha1-FK1hE4EtLTfXLme0ystLtyZQXxE=", + "dev": true, + "optional": true + }, + "nan": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.4.0.tgz", + "integrity": "sha1-+zxZ1F/k7/4hXwuJD4rfbrMtIjI=", + "dev": true, + "optional": true + } + } + } + } + }, + "xml2js": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.4.tgz", + "integrity": "sha1-MREBAAMAiuGSQOuhdJe1fHKcVV0=", + "dev": true, + "requires": { + "sax": "0.6.x", + "xmlbuilder": ">=1.0.0" + }, + "dependencies": { + "sax": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/sax/-/sax-0.6.1.tgz", + "integrity": "sha1-VjsZx8HeiS4Jv8Ty/DDjwn8JUrk=", + "dev": true + }, + "xmlbuilder": { + "version": "8.2.2", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-8.2.2.tgz", + "integrity": "sha1-aSSGc0ELS6QuGmE2VR0pIjNap3M=", + "dev": true + } + } + } + } + }, + "source-map-support": { + "version": "0.2.10", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.2.10.tgz", + "integrity": "sha1-6lo5AKHByyUJagrozFwrSxDe09w=", + "dev": true, + "requires": { + "source-map": "0.1.32" + }, + "dependencies": { + "source-map": { + "version": "0.1.32", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.32.tgz", + "integrity": "sha1-yLbBZ3l7pHQKjqMyUhYv8IWRsmY=", + "dev": true, + "requires": { + "amdefine": ">=0.0.4" + }, + "dependencies": { + "amdefine": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.0.tgz", + "integrity": "sha1-/RdHRwDLXMnCtwnwvp0jzjwZjDM=", + "dev": true + } + } + } + } + } + } + }, + "sinon": { + "version": "1.17.6", + "resolved": "https://registry.npmjs.org/sinon/-/sinon-1.17.6.tgz", + "integrity": "sha1-pDEW21lXfIKWNWr+4T+vwjMuWOE=", + "dev": true, + "requires": { + "formatio": "1.1.1", + "lolex": "1.3.2", + "samsam": "1.1.2", + "util": ">=0.10.3 <1" + }, + "dependencies": { + "formatio": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/formatio/-/formatio-1.1.1.tgz", + "integrity": "sha1-XtPM1jZVEJc4NGXZlhmRAOhhYek=", + "dev": true, + "requires": { + "samsam": "~1.1" + } + }, + "lolex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/lolex/-/lolex-1.3.2.tgz", + "integrity": "sha1-fD2mL/yzDw9agKJWbKJORdigHzE=", + "dev": true + }, + "samsam": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/samsam/-/samsam-1.1.2.tgz", + "integrity": "sha1-vsEf3IOp/aBjQBIQ5AF2wwJNFWc=", + "dev": true + }, + "util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "dev": true, + "requires": { + "inherits": "2.0.1" + }, + "dependencies": { + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", + "dev": true + } + } + } + } + }, + "sinon-chai": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/sinon-chai/-/sinon-chai-2.8.0.tgz", + "integrity": "sha1-Qyqbv9Uab8AHmPTSUmqCnAYGh6w=", + "dev": true + }, + "streamqueue": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/streamqueue/-/streamqueue-0.1.3.tgz", + "integrity": "sha1-sQ1lFYr1ec46X0jJJ20B2yPU+LU=", + "dev": true, + "requires": { + "isstream": "~0.1.1", + "readable-stream": "~1.0.33" + }, + "dependencies": { + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true + }, + "readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + }, + "dependencies": { + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + } + } + } + } + }, + "tv4": { + "version": "1.0.18", + "resolved": "https://registry.npmjs.org/tv4/-/tv4-1.0.18.tgz", + "integrity": "sha1-c5d2nwA1jjO/Uo3FyHZMYbbegkU=" + }, + "uglify-js": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.7.4.tgz", + "integrity": "sha1-opWg3hK2plDAMcQN6w3ECxRWi9I=", + "dev": true, + "requires": { + "async": "~0.2.6", + "source-map": "~0.5.1", + "uglify-to-browserify": "~1.0.0", + "yargs": "~3.10.0" + }, + "dependencies": { + "async": { + "version": "0.2.10", + "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", + "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=", + "dev": true + }, + "source-map": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", + "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=", + "dev": true + }, + "uglify-to-browserify": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", + "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", + "dev": true + }, + "yargs": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", + "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", + "dev": true, + "requires": { + "camelcase": "^1.0.2", + "cliui": "^2.1.0", + "decamelize": "^1.0.0", + "window-size": "0.1.0" + }, + "dependencies": { + "camelcase": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", + "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", + "dev": true + }, + "cliui": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", + "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", + "dev": true, + "requires": { + "center-align": "^0.1.1", + "right-align": "^0.1.1", + "wordwrap": "0.0.2" + }, + "dependencies": { + "center-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", + "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", + "dev": true, + "requires": { + "align-text": "^0.1.3", + "lazy-cache": "^1.0.3" + }, + "dependencies": { + "align-text": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", + "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", + "dev": true, + "requires": { + "kind-of": "^3.0.2", + "longest": "^1.0.1", + "repeat-string": "^1.5.2" + }, + "dependencies": { + "kind-of": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.0.4.tgz", + "integrity": "sha1-e47PGKThf4Jp1ztQHJ8jLJaIenQ=", + "dev": true, + "requires": { + "is-buffer": "^1.0.2" + }, + "dependencies": { + "is-buffer": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.4.tgz", + "integrity": "sha1-z8hszV3FpS+oBIkRHGkgxFfi2Ys=", + "dev": true + } + } + }, + "longest": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", + "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true + } + } + }, + "lazy-cache": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", + "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", + "dev": true + } + } + }, + "right-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", + "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", + "dev": true, + "requires": { + "align-text": "^0.1.1" + }, + "dependencies": { + "align-text": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", + "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", + "dev": true, + "requires": { + "kind-of": "^3.0.2", + "longest": "^1.0.1", + "repeat-string": "^1.5.2" + }, + "dependencies": { + "kind-of": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.0.4.tgz", + "integrity": "sha1-e47PGKThf4Jp1ztQHJ8jLJaIenQ=", + "dev": true, + "requires": { + "is-buffer": "^1.0.2" + }, + "dependencies": { + "is-buffer": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.4.tgz", + "integrity": "sha1-z8hszV3FpS+oBIkRHGkgxFfi2Ys=", + "dev": true + } + } + }, + "longest": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", + "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true + } + } + } + } + }, + "wordwrap": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", + "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", + "dev": true + } + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "window-size": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", + "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", + "dev": true + } + } + } + } + }, + "webpack": { + "version": "1.13.3", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-1.13.3.tgz", + "integrity": "sha1-55xG/lo3xcpwCEugiUxZXNy0KBU=", + "dev": true, + "requires": { + "acorn": "^3.0.0", + "async": "^1.3.0", + "clone": "^1.0.2", + "enhanced-resolve": "~0.9.0", + "interpret": "^0.6.4", + "loader-utils": "^0.2.11", + "memory-fs": "~0.3.0", + "mkdirp": "~0.5.0", + "node-libs-browser": "^0.6.0", + "optimist": "~0.6.0", + "supports-color": "^3.1.0", + "tapable": "~0.1.8", + "uglify-js": "~2.7.3", + "watchpack": "^0.2.1", + "webpack-core": "~0.6.0" + }, + "dependencies": { + "acorn": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", + "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=", + "dev": true + }, + "async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "dev": true + }, + "clone": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.2.tgz", + "integrity": "sha1-Jgt6meux7f4kdTgXX3gyQ8sZ0Uk=", + "dev": true + }, + "enhanced-resolve": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-0.9.1.tgz", + "integrity": "sha1-TW5omzcl+GCQknzMhs2fFjW4ni4=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.2.0", + "tapable": "^0.1.8" + }, + "dependencies": { + "graceful-fs": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.9.tgz", + "integrity": "sha1-uqy6N9GdEfnRRtNXi8mZWMN4fik=", + "dev": true + }, + "memory-fs": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.2.0.tgz", + "integrity": "sha1-8rslNovBIeORwlIN6Slpyu4KApA=", + "dev": true + } + } + }, + "interpret": { + "version": "0.6.6", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-0.6.6.tgz", + "integrity": "sha1-/s16GOfOXKar+5U+H4YhOknxYls=", + "dev": true + }, + "loader-utils": { + "version": "0.2.16", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.16.tgz", + "integrity": "sha1-8IYyBm7YKCg13/iN+1JwR2Wt7m0=", + "dev": true, + "requires": { + "big.js": "^3.1.3", + "emojis-list": "^2.0.0", + "json5": "^0.5.0", + "object-assign": "^4.0.1" + }, + "dependencies": { + "big.js": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.1.3.tgz", + "integrity": "sha1-TK2iGTZS6zyp7I5VyQFWacmAaXg=", + "dev": true + }, + "emojis-list": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", + "dev": true + }, + "json5": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.0.tgz", + "integrity": "sha1-myBxWwJsvjd4/Xae3M2CLYMypbI=", + "dev": true + }, + "object-assign": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz", + "integrity": "sha1-ejs9DpgGPUP0wD8uiubNUahog6A=", + "dev": true + } + } + }, + "memory-fs": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.3.0.tgz", + "integrity": "sha1-e8xrYp46Q+hx1+Kaymrop/FcuyA=", + "dev": true, + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + }, + "dependencies": { + "errno": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.4.tgz", + "integrity": "sha1-uJbiOp5ei6M4cfyZar02NfyaHH0=", + "dev": true, + "requires": { + "prr": "~0.0.0" + }, + "dependencies": { + "prr": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/prr/-/prr-0.0.0.tgz", + "integrity": "sha1-GoS4WQgyVQFBGFPQCB7j+obikmo=", + "dev": true + } + } + }, + "readable-stream": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.1.5.tgz", + "integrity": "sha1-ZvqLcg4UOLNkaB8q0aY8YYRIydA=", + "dev": true, + "requires": { + "buffer-shims": "^1.0.0", + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "string_decoder": "~0.10.x", + "util-deprecate": "~1.0.1" + }, + "dependencies": { + "buffer-shims": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz", + "integrity": "sha1-mXjOMXOIxkmth5MCjDR37wRKi1E=", + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "process-nextick-args": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", + "dev": true + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + } + } + } + } + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "dev": true, + "requires": { + "minimist": "0.0.8" + }, + "dependencies": { + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true + } + } + }, + "node-libs-browser": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-0.6.0.tgz", + "integrity": "sha1-JEgG1E0xngSLyGB7XMTq+aKdLjw=", + "dev": true, + "requires": { + "assert": "^1.1.1", + "browserify-zlib": "~0.1.4", + "buffer": "^4.9.0", + "console-browserify": "^1.1.0", + "constants-browserify": "0.0.1", + "crypto-browserify": "~3.2.6", + "domain-browser": "^1.1.1", + "events": "^1.0.0", + "http-browserify": "^1.3.2", + "https-browserify": "0.0.0", + "os-browserify": "~0.1.2", + "path-browserify": "0.0.0", + "process": "^0.11.0", + "punycode": "^1.2.4", + "querystring-es3": "~0.2.0", + "readable-stream": "^1.1.13", + "stream-browserify": "^1.0.0", + "string_decoder": "~0.10.25", + "timers-browserify": "^1.0.1", + "tty-browserify": "0.0.0", + "url": "~0.10.1", + "util": "~0.10.3", + "vm-browserify": "0.0.4" + }, + "dependencies": { + "assert": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz", + "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=", + "dev": true, + "requires": { + "util": "0.10.3" + } + }, + "browserify-zlib": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz", + "integrity": "sha1-uzX4pRn2AOD6a4SFJByXnQFB+y0=", + "dev": true, + "requires": { + "pako": "~0.2.0" + }, + "dependencies": { + "pako": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", + "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=", + "dev": true + } + } + }, + "buffer": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", + "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", + "dev": true, + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + }, + "dependencies": { + "base64-js": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.2.0.tgz", + "integrity": "sha1-o5mS1yNYSBGYK+XikLtqU9hnAPE=", + "dev": true + }, + "ieee754": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.8.tgz", + "integrity": "sha1-vjPUCsEO8ZJnAfbwii2G+/0a0+Q=", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + } + } + }, + "console-browserify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", + "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", + "dev": true, + "requires": { + "date-now": "^0.1.4" + }, + "dependencies": { + "date-now": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", + "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=", + "dev": true + } + } + }, + "constants-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-0.0.1.tgz", + "integrity": "sha1-kld9tSe6bEzwpFaNhLwDH0QeIfI=", + "dev": true + }, + "crypto-browserify": { + "version": "3.2.8", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.2.8.tgz", + "integrity": "sha1-ubEdvm2WUd2IKgHmzEZ99xjs8Yk=", + "dev": true, + "requires": { + "pbkdf2-compat": "2.0.1", + "ripemd160": "0.2.0", + "sha.js": "2.2.6" + }, + "dependencies": { + "pbkdf2-compat": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pbkdf2-compat/-/pbkdf2-compat-2.0.1.tgz", + "integrity": "sha1-tuDI+plJTZTgURV1gCpZpcFC8og=", + "dev": true + }, + "ripemd160": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-0.2.0.tgz", + "integrity": "sha1-K/GYveFnys+lHAqSjoS2i74XH84=", + "dev": true + }, + "sha.js": { + "version": "2.2.6", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.2.6.tgz", + "integrity": "sha1-F93t3F9yL7ZlAWWIlUYZd4ZzFbo=", + "dev": true + } + } + }, + "domain-browser": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.1.7.tgz", + "integrity": "sha1-hnqksJP6oF8d4IwG9NeyH9+GmLw=", + "dev": true + }, + "events": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", + "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=", + "dev": true + }, + "http-browserify": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/http-browserify/-/http-browserify-1.7.0.tgz", + "integrity": "sha1-M3la3nLfiKz7/TZ3PO/tp2RzWyA=", + "dev": true, + "requires": { + "Base64": "~0.2.0", + "inherits": "~2.0.1" + }, + "dependencies": { + "Base64": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/Base64/-/Base64-0.2.1.tgz", + "integrity": "sha1-ujpCMHCOGGcFBl5mur3Uw1z2ACg=", + "dev": true + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + } + } + }, + "https-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-0.0.0.tgz", + "integrity": "sha1-s//f5zSyo9Sp79WOhlTJH86G6v0=", + "dev": true + }, + "os-browserify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.1.2.tgz", + "integrity": "sha1-ScoCk+CxlZCl9d4Qx/JlphfY/lQ=", + "dev": true + }, + "path-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz", + "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=", + "dev": true + }, + "process": { + "version": "0.11.9", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.9.tgz", + "integrity": "sha1-e9WtIapiU+fahoImTx4R0RwDGME=", + "dev": true + }, + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + }, + "querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", + "dev": true + }, + "readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + }, + "dependencies": { + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + } + } + }, + "stream-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-1.0.0.tgz", + "integrity": "sha1-v5tKv7QrJ011FHnkTg/yZWtvEZM=", + "dev": true, + "requires": { + "inherits": "~2.0.1", + "readable-stream": "^1.0.27-1" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + } + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + }, + "timers-browserify": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-1.4.2.tgz", + "integrity": "sha1-ycWLV1voQHN1y14kYtrO50NZ9B0=", + "dev": true, + "requires": { + "process": "~0.11.0" + } + }, + "tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", + "dev": true + }, + "url": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/url/-/url-0.10.3.tgz", + "integrity": "sha1-Ah5NnHcF8hu/N9A861h2dAJ3TGQ=", + "dev": true, + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + }, + "dependencies": { + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", + "dev": true + }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", + "dev": true + } + } + }, + "util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "dev": true, + "requires": { + "inherits": "2.0.1" + }, + "dependencies": { + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", + "dev": true + } + } + }, + "vm-browserify": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz", + "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=", + "dev": true, + "requires": { + "indexof": "0.0.1" + }, + "dependencies": { + "indexof": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", + "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=", + "dev": true + } + } + } + } + }, + "optimist": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", + "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", + "dev": true, + "requires": { + "minimist": "~0.0.1", + "wordwrap": "~0.0.2" + }, + "dependencies": { + "minimist": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", + "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=", + "dev": true + }, + "wordwrap": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", + "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", + "dev": true + } + } + }, + "supports-color": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.1.2.tgz", + "integrity": "sha1-cqJiiU2dQIuVbKBf83su2KbiotU=", + "dev": true, + "requires": { + "has-flag": "^1.0.0" + }, + "dependencies": { + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + } + } + }, + "tapable": { + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-0.1.10.tgz", + "integrity": "sha1-KcNXB8K3DlDQdIK10gLo7URtr9Q=", + "dev": true + }, + "watchpack": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-0.2.9.tgz", + "integrity": "sha1-Yuqkq15bo1/fwBgnVibjwPXj+ws=", + "dev": true, + "requires": { + "async": "^0.9.0", + "chokidar": "^1.0.0", + "graceful-fs": "^4.1.2" + }, + "dependencies": { + "async": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", + "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=", + "dev": true + }, + "chokidar": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.6.1.tgz", + "integrity": "sha1-L0RHq16W5Q+z14n9kNTHLg5McMI=", + "dev": true, + "requires": { + "anymatch": "^1.3.0", + "async-each": "^1.0.0", + "fsevents": "^1.0.0", + "glob-parent": "^2.0.0", + "inherits": "^2.0.1", + "is-binary-path": "^1.0.0", + "is-glob": "^2.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.0.0" + }, + "dependencies": { + "anymatch": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.0.tgz", + "integrity": "sha1-o+Uvo5FoyCX/V7AkgSbOWo/5VQc=", + "dev": true, + "requires": { + "arrify": "^1.0.0", + "micromatch": "^2.1.5" + }, + "dependencies": { + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "dev": true + }, + "micromatch": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "dev": true, + "requires": { + "arr-diff": "^2.0.0", + "array-unique": "^0.2.1", + "braces": "^1.8.2", + "expand-brackets": "^0.1.4", + "extglob": "^0.3.1", + "filename-regex": "^2.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.1", + "kind-of": "^3.0.2", + "normalize-path": "^2.0.1", + "object.omit": "^2.0.0", + "parse-glob": "^3.0.4", + "regex-cache": "^0.4.2" + }, + "dependencies": { + "arr-diff": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", + "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", + "dev": true, + "requires": { + "arr-flatten": "^1.0.1" + }, + "dependencies": { + "arr-flatten": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.0.1.tgz", + "integrity": "sha1-5f/lTUXhnzLyFukeuZyM6JK7YEs=", + "dev": true + } + } + }, + "array-unique": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", + "dev": true + }, + "braces": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "dev": true, + "requires": { + "expand-range": "^1.8.1", + "preserve": "^0.2.0", + "repeat-element": "^1.1.2" + }, + "dependencies": { + "expand-range": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", + "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", + "dev": true, + "requires": { + "fill-range": "^2.1.0" + }, + "dependencies": { + "fill-range": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz", + "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=", + "dev": true, + "requires": { + "is-number": "^2.1.0", + "isobject": "^2.0.0", + "randomatic": "^1.1.3", + "repeat-element": "^1.1.2", + "repeat-string": "^1.5.2" + }, + "dependencies": { + "is-number": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", + "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "requires": { + "isarray": "1.0.0" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + } + } + }, + "randomatic": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.5.tgz", + "integrity": "sha1-Xp718tVzxnvSuBJK6QtRVuRXhAs=", + "dev": true, + "requires": { + "is-number": "^2.0.2", + "kind-of": "^3.0.2" + } + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true + } + } + } + } + }, + "preserve": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", + "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", + "dev": true + }, + "repeat-element": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", + "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=", + "dev": true + } + } + }, + "expand-brackets": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", + "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", + "dev": true, + "requires": { + "is-posix-bracket": "^0.1.0" + }, + "dependencies": { + "is-posix-bracket": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", + "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=", + "dev": true + } + } + }, + "extglob": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", + "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "dev": true, + "requires": { + "is-extglob": "^1.0.0" + } + }, + "filename-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.0.tgz", + "integrity": "sha1-mW4+gEebmLmJfxWopYs9CE6SZ3U=", + "dev": true + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "kind-of": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.0.4.tgz", + "integrity": "sha1-e47PGKThf4Jp1ztQHJ8jLJaIenQ=", + "dev": true, + "requires": { + "is-buffer": "^1.0.2" + }, + "dependencies": { + "is-buffer": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.4.tgz", + "integrity": "sha1-z8hszV3FpS+oBIkRHGkgxFfi2Ys=", + "dev": true + } + } + }, + "normalize-path": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.0.1.tgz", + "integrity": "sha1-R4hqwWYnYNQmG32XnSQXCdPOP3o=", + "dev": true + }, + "object.omit": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", + "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", + "dev": true, + "requires": { + "for-own": "^0.1.4", + "is-extendable": "^0.1.1" + }, + "dependencies": { + "for-own": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.4.tgz", + "integrity": "sha1-AUm0GjkIjHUV9R6+HBOG1F+TUHI=", + "dev": true, + "requires": { + "for-in": "^0.1.5" + }, + "dependencies": { + "for-in": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-0.1.6.tgz", + "integrity": "sha1-yfluib+tGKVFr17D7TUqHZ5bTcg=", + "dev": true + } + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true + } + } + }, + "parse-glob": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", + "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", + "dev": true, + "requires": { + "glob-base": "^0.3.0", + "is-dotfile": "^1.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.0" + }, + "dependencies": { + "glob-base": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", + "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", + "dev": true, + "requires": { + "glob-parent": "^2.0.0", + "is-glob": "^2.0.0" + } + }, + "is-dotfile": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.2.tgz", + "integrity": "sha1-LBMjg/ORmfjtwmjKAbmwB9IFzE0=", + "dev": true + } + } + }, + "regex-cache": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.3.tgz", + "integrity": "sha1-mxpsNdTQ3871cRrmUejp09cRQUU=", + "dev": true, + "requires": { + "is-equal-shallow": "^0.1.3", + "is-primitive": "^2.0.0" + }, + "dependencies": { + "is-equal-shallow": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", + "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", + "dev": true, + "requires": { + "is-primitive": "^2.0.0" + } + }, + "is-primitive": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", + "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", + "dev": true + } + } + } + } + } + } + }, + "async-each": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz", + "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=", + "dev": true + }, + "fsevents": { + "version": "1.0.14", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.0.14.tgz", + "integrity": "sha1-VY6Mw4ZD2O9A/kUVhIbQ0ldY7uQ=", + "dev": true, + "optional": true, + "requires": { + "nan": "^2.3.0", + "node-pre-gyp": "^0.6.29" + }, + "dependencies": { + "abbrev": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz", + "integrity": "sha1-kbR5JYinc4wl813W9jdSovh3YTU=", + "dev": true, + "optional": true + }, + "ansi-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz", + "integrity": "sha1-xQYbbg74qBd15Q9dZhUb9r83EQc=", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true, + "optional": true + }, + "aproba": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.0.4.tgz", + "integrity": "sha1-JxNoB3XnYUyLoYbAZdTi5S0QcsA=", + "dev": true, + "optional": true + }, + "are-we-there-yet": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.2.tgz", + "integrity": "sha1-gORw6VoIR5T+GJkmLFZnxuiN4bM=", + "dev": true, + "optional": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.0 || ^1.1.13" + } + }, + "asn1": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", + "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=", + "dev": true, + "optional": true + }, + "assert-plus": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", + "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=", + "dev": true, + "optional": true + }, + "async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "dev": true, + "optional": true + }, + "aws-sign2": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", + "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=", + "dev": true, + "optional": true + }, + "aws4": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.4.1.tgz", + "integrity": "sha1-/efVKSRm0jDl7g9OA42d+qsI/GE=", + "dev": true, + "optional": true + }, + "balanced-match": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", + "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=", + "dev": true + }, + "bl": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.1.2.tgz", + "integrity": "sha1-/cqHGplxOqANGeO7ukHER4emU5g=", + "dev": true, + "optional": true, + "requires": { + "readable-stream": "~2.0.5" + }, + "dependencies": { + "readable-stream": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", + "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", + "dev": true, + "optional": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "string_decoder": "~0.10.x", + "util-deprecate": "~1.0.1" + } + } + } + }, + "block-stream": { + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", + "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", + "dev": true, + "requires": { + "inherits": "~2.0.0" + } + }, + "boom": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", + "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", + "dev": true, + "requires": { + "hoek": "2.x.x" + } + }, + "brace-expansion": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.5.tgz", + "integrity": "sha1-9bStV04st8zB64Pm/nm47K33pSY=", + "dev": true, + "requires": { + "balanced-match": "^0.4.1", + "concat-map": "0.0.1" + } + }, + "buffer-shims": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz", + "integrity": "sha1-mXjOMXOIxkmth5MCjDR37wRKi1E=", + "dev": true + }, + "caseless": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz", + "integrity": "sha1-cVuW6phBWTzDMGeSP17GDr2k99c=", + "dev": true, + "optional": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "optional": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "code-point-at": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.0.0.tgz", + "integrity": "sha1-9psZLT99keOC5Lcb3bd4eGGasMY=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "combined-stream": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", + "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=", + "dev": true, + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commander": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", + "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=", + "dev": true, + "optional": true, + "requires": { + "graceful-readlink": ">= 1.0.0" + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "cryptiles": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", + "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", + "dev": true, + "optional": true, + "requires": { + "boom": "2.x.x" + } + }, + "dashdash": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.0.tgz", + "integrity": "sha1-KeSGxUGL8PNWA0qZPVFoajPoQUE=", + "dev": true, + "optional": true, + "requires": { + "assert-plus": "^1.0.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true, + "optional": true + } + } + }, + "debug": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", + "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", + "dev": true, + "optional": true, + "requires": { + "ms": "0.7.1" + } + }, + "deep-extend": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.1.tgz", + "integrity": "sha1-7+QRPQgIX05vlod1mBD4B0aeIlM=", + "dev": true, + "optional": true + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true + }, + "delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", + "dev": true, + "optional": true + }, + "ecc-jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", + "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", + "dev": true, + "optional": true, + "requires": { + "jsbn": "~0.1.0" + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true, + "optional": true + }, + "extend": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz", + "integrity": "sha1-WkdDU7nzNT3dgXbf03uRyDpG8dQ=", + "dev": true, + "optional": true + }, + "extsprintf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz", + "integrity": "sha1-4QgOBljjALBilJkMxw4VAiNf1VA=", + "dev": true + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true, + "optional": true + }, + "form-data": { + "version": "1.0.0-rc4", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-1.0.0-rc4.tgz", + "integrity": "sha1-BaxrwiIntD5EYfSIFhVUaZ1Pi14=", + "dev": true, + "optional": true, + "requires": { + "async": "^1.5.2", + "combined-stream": "^1.0.5", + "mime-types": "^2.1.10" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "fstream": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.10.tgz", + "integrity": "sha1-YE6Kkv4m/9n2+uMDmdSYThqyKCI=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "inherits": "~2.0.0", + "mkdirp": ">=0.5 0", + "rimraf": "2" + } + }, + "fstream-ignore": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/fstream-ignore/-/fstream-ignore-1.0.5.tgz", + "integrity": "sha1-nDHa40dnAY/h0kmyTa2mfQktoQU=", + "dev": true, + "optional": true, + "requires": { + "fstream": "^1.0.0", + "inherits": "2", + "minimatch": "^3.0.0" + } + }, + "gauge": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.6.0.tgz", + "integrity": "sha1-01MBrRjpaQK0dR3LvkD0IYuUKkY=", + "dev": true, + "optional": true, + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-color": "^0.1.7", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "generate-function": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz", + "integrity": "sha1-aFj+fAlpt9TpCTM3ZHrHn2DfvnQ=", + "dev": true, + "optional": true + }, + "generate-object-property": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", + "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=", + "dev": true, + "optional": true, + "requires": { + "is-property": "^1.0.0" + } + }, + "getpass": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.6.tgz", + "integrity": "sha1-KD/9n8ElaECHUxHBtg6MQBhxEOY=", + "dev": true, + "optional": true, + "requires": { + "assert-plus": "^1.0.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true, + "optional": true + } + } + }, + "glob": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.5.tgz", + "integrity": "sha1-tCAqaQmbu00pKnwblbZoK2fr3JU=", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.2", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "graceful-fs": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.4.tgz", + "integrity": "sha1-7widKIDwM7ARgjzlyPrnmNp3Xb0=", + "dev": true + }, + "graceful-readlink": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", + "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=", + "dev": true, + "optional": true + }, + "har-validator": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz", + "integrity": "sha1-zcvAgYgmWtEZtqWnyKtw7s+10n0=", + "dev": true, + "optional": true, + "requires": { + "chalk": "^1.1.1", + "commander": "^2.9.0", + "is-my-json-valid": "^2.12.4", + "pinkie-promise": "^2.0.0" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "optional": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "has-color": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/has-color/-/has-color-0.1.7.tgz", + "integrity": "sha1-ZxRKUmDDT8PMpnfQQdr1L+e3iy8=", + "dev": true, + "optional": true + }, + "has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", + "dev": true, + "optional": true + }, + "hawk": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", + "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", + "dev": true, + "optional": true, + "requires": { + "boom": "2.x.x", + "cryptiles": "2.x.x", + "hoek": "2.x.x", + "sntp": "1.x.x" + } + }, + "hoek": { + "version": "2.16.3", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", + "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=", + "dev": true + }, + "http-signature": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", + "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", + "dev": true, + "optional": true, + "requires": { + "assert-plus": "^0.2.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "inflight": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.5.tgz", + "integrity": "sha1-2zIEzVqd4ubNiQuFxuL2a89PYgo=", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", + "dev": true + }, + "ini": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz", + "integrity": "sha1-BTfLedr1m1mhpRff9wbIbsA5Fi4=", + "dev": true, + "optional": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "is-my-json-valid": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.13.1.tgz", + "integrity": "sha1-1Vd4qC/rawlj/0vhEdXRaE6JBwc=", + "dev": true, + "optional": true, + "requires": { + "generate-function": "^2.0.0", + "generate-object-property": "^1.1.0", + "jsonpointer": "2.0.0", + "xtend": "^4.0.0" + } + }, + "is-property": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", + "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=", + "dev": true, + "optional": true + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true, + "optional": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true, + "optional": true + }, + "jodid25519": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/jodid25519/-/jodid25519-1.0.2.tgz", + "integrity": "sha1-BtSRIlUJNBlHfUJWM2BuDpB4KWc=", + "dev": true, + "optional": true, + "requires": { + "jsbn": "~0.1.0" + } + }, + "jsbn": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.0.tgz", + "integrity": "sha1-ZQmH2g3XT06/WhE3eiqi0nPpff0=", + "dev": true, + "optional": true + }, + "json-schema": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.2.tgz", + "integrity": "sha1-UDVPGfYDkXxpX3C4Wvp3w7DyNQY=", + "dev": true, + "optional": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true, + "optional": true + }, + "jsonpointer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-2.0.0.tgz", + "integrity": "sha1-OvHdIP6FRjkQ1GmjheMwF9KgMNk=", + "dev": true, + "optional": true + }, + "jsprim": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.3.0.tgz", + "integrity": "sha1-zi4b74NSBLTzCZkoxgL4tq5hVlA=", + "dev": true, + "optional": true, + "requires": { + "extsprintf": "1.0.2", + "json-schema": "0.2.2", + "verror": "1.3.6" + } + }, + "mime-db": { + "version": "1.23.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.23.0.tgz", + "integrity": "sha1-oxtAcK2uon1zLqMzdApk0OyaZlk=", + "dev": true + }, + "mime-types": { + "version": "2.1.11", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.11.tgz", + "integrity": "sha1-wlnEcb2oCKhdbNGTtDCl+uRHOzw=", + "dev": true, + "requires": { + "mime-db": "~1.23.0" + } + }, + "minimatch": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.2.tgz", + "integrity": "sha1-DzmKcwDqRB6cNIyD2Yq4ydv5xAo=", + "dev": true, + "requires": { + "brace-expansion": "^1.0.0" + } + }, + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "dev": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", + "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=", + "dev": true, + "optional": true + }, + "nan": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.4.0.tgz", + "integrity": "sha1-+zxZ1F/k7/4hXwuJD4rfbrMtIjI=", + "dev": true, + "optional": true + }, + "node-pre-gyp": { + "version": "0.6.29", + "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.6.29.tgz", + "integrity": "sha1-sL0TY1uvfRvnriM8FvvPMwms03w=", + "dev": true, + "optional": true, + "requires": { + "mkdirp": "~0.5.0", + "nopt": "~3.0.1", + "npmlog": "~3.1.2", + "rc": "~1.1.0", + "request": "2.x", + "rimraf": "~2.5.0", + "semver": "~5.2.0", + "tar": "~2.2.0", + "tar-pack": "~3.1.0" + } + }, + "node-uuid": { + "version": "1.4.7", + "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.7.tgz", + "integrity": "sha1-baWhdmjEs91ZYjvaEc9/pMH2Cm8=", + "dev": true, + "optional": true + }, + "nopt": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", + "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "dev": true, + "optional": true, + "requires": { + "abbrev": "1" + } + }, + "npmlog": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-3.1.2.tgz", + "integrity": "sha1-LUb6h0M3r5SYovErtD2NC+SjaHM=", + "dev": true, + "optional": true, + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.6.0", + "set-blocking": "~2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.0.tgz", + "integrity": "sha1-wCD1KcUoKt/dIz2R1LGBw9aG3Es=", + "dev": true + }, + "oauth-sign": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", + "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=", + "dev": true, + "optional": true + }, + "object-assign": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz", + "integrity": "sha1-ejs9DpgGPUP0wD8uiubNUahog6A=", + "dev": true, + "optional": true + }, + "once": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz", + "integrity": "sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA=", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "path-is-absolute": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.0.tgz", + "integrity": "sha1-Jj2tpmqz8vsQv3+dJN2PPlcO+RI=", + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true, + "optional": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "optional": true, + "requires": { + "pinkie": "^2.0.0" + } + }, + "process-nextick-args": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", + "dev": true + }, + "qs": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.2.0.tgz", + "integrity": "sha1-O3hIwDwt7OaalSKw+ujEEm10Xzs=", + "dev": true, + "optional": true + }, + "rc": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.1.6.tgz", + "integrity": "sha1-Q2UbdrauU7XIAvEVH6P8OwWZack=", + "dev": true, + "optional": true, + "requires": { + "deep-extend": "~0.4.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~1.0.4" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true, + "optional": true + } + } + }, + "readable-stream": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.1.4.tgz", + "integrity": "sha1-cLl5HG/LhIDbRL0VWg9rtY8XJGg=", + "dev": true, + "requires": { + "buffer-shims": "^1.0.0", + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "string_decoder": "~0.10.x", + "util-deprecate": "~1.0.1" + } + }, + "request": { + "version": "2.73.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.73.0.tgz", + "integrity": "sha1-X3ip/eQ3CryP9kedeoSnGhS4eKI=", + "dev": true, + "optional": true, + "requires": { + "aws-sign2": "~0.6.0", + "aws4": "^1.2.1", + "bl": "~1.1.2", + "caseless": "~0.11.0", + "combined-stream": "~1.0.5", + "extend": "~3.0.0", + "forever-agent": "~0.6.1", + "form-data": "~1.0.0-rc4", + "har-validator": "~2.0.6", + "hawk": "~3.1.3", + "http-signature": "~1.1.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.7", + "node-uuid": "~1.4.7", + "oauth-sign": "~0.8.1", + "qs": "~6.2.0", + "stringstream": "~0.0.4", + "tough-cookie": "~2.2.0", + "tunnel-agent": "~0.4.1" + } + }, + "rimraf": { + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.5.3.tgz", + "integrity": "sha1-bl792kqi8DQX9rKldK7Cn0tlJwU=", + "dev": true, + "requires": { + "glob": "^7.0.5" + } + }, + "semver": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.2.0.tgz", + "integrity": "sha1-KBmVuAwUSCCUFd28TPUMJpzvVcU=", + "dev": true, + "optional": true + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true, + "optional": true + }, + "signal-exit": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.0.tgz", + "integrity": "sha1-PAVDtl17T7xgts2UWT2b9DZzm+g=", + "dev": true, + "optional": true + }, + "sntp": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", + "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", + "dev": true, + "optional": true, + "requires": { + "hoek": "2.x.x" + } + }, + "sshpk": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.8.3.tgz", + "integrity": "sha1-iQzJ1hTcUpLlyxpUOwPJq6pcN04=", + "dev": true, + "optional": true, + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jodid25519": "^1.0.0", + "jsbn": "~0.1.0", + "tweetnacl": "~0.13.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true, + "optional": true + } + } + }, + "string-width": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.1.tgz", + "integrity": "sha1-ySEptvHX9SrPmvQkom44ZKBc6wo=", + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + }, + "stringstream": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", + "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=", + "dev": true, + "optional": true + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-json-comments": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz", + "integrity": "sha1-HhX7ysl9Pumb8tc7TGVrCCu6+5E=", + "dev": true, + "optional": true + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true, + "optional": true + }, + "tar": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz", + "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", + "dev": true, + "requires": { + "block-stream": "*", + "fstream": "^1.0.2", + "inherits": "2" + } + }, + "tar-pack": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/tar-pack/-/tar-pack-3.1.4.tgz", + "integrity": "sha1-vIz5oi9YMnOfEvORDaweuXtJcIw=", + "dev": true, + "optional": true, + "requires": { + "debug": "~2.2.0", + "fstream": "~1.0.10", + "fstream-ignore": "~1.0.5", + "once": "~1.3.3", + "readable-stream": "~2.1.4", + "rimraf": "~2.5.1", + "tar": "~2.2.1", + "uid-number": "~0.0.6" + } + }, + "tough-cookie": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.2.2.tgz", + "integrity": "sha1-yDoYMPTl7wuT7yo0iOck+N4Basc=", + "dev": true, + "optional": true + }, + "tunnel-agent": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz", + "integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=", + "dev": true, + "optional": true + }, + "tweetnacl": { + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.13.3.tgz", + "integrity": "sha1-1ii1bzvMPVrnS6nUwacE3vWrS1Y=", + "dev": true, + "optional": true + }, + "uid-number": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/uid-number/-/uid-number-0.0.6.tgz", + "integrity": "sha1-DqEOgDXo61uOREnwbaHHMGY7qoE=", + "dev": true, + "optional": true + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "verror": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz", + "integrity": "sha1-z/XfEpRtKX0rqu+qJoniW+AcAFw=", + "dev": true, + "optional": true, + "requires": { + "extsprintf": "1.0.2" + } + }, + "wide-align": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.0.tgz", + "integrity": "sha1-QO3egCpx/qHwcNo+YtzaLnrdlq0=", + "dev": true, + "optional": true, + "requires": { + "string-width": "^1.0.1" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "xtend": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", + "dev": true, + "optional": true + } + } + }, + "glob-parent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", + "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", + "dev": true, + "requires": { + "is-glob": "^2.0.0" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "requires": { + "binary-extensions": "^1.0.0" + }, + "dependencies": { + "binary-extensions": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.7.0.tgz", + "integrity": "sha1-bBYQ2xY6v7NO3+QvpCM0Oh4BGF0=", + "dev": true + } + } + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "requires": { + "is-extglob": "^1.0.0" + }, + "dependencies": { + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + } + } + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "readdirp": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz", + "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "minimatch": "^3.0.2", + "readable-stream": "^2.0.2", + "set-immediate-shim": "^1.0.1" + }, + "dependencies": { + "minimatch": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz", + "integrity": "sha1-Kk5AkLlrLbBqnX3wEFWmKnfJt3Q=", + "dev": true, + "requires": { + "brace-expansion": "^1.0.0" + }, + "dependencies": { + "brace-expansion": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.6.tgz", + "integrity": "sha1-cZfX6qm4fmSDkOph/GbIRCdCDfk=", + "dev": true, + "requires": { + "balanced-match": "^0.4.1", + "concat-map": "0.0.1" + }, + "dependencies": { + "balanced-match": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", + "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + } + } + } + } + }, + "readable-stream": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.1.5.tgz", + "integrity": "sha1-ZvqLcg4UOLNkaB8q0aY8YYRIydA=", + "dev": true, + "requires": { + "buffer-shims": "^1.0.0", + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "string_decoder": "~0.10.x", + "util-deprecate": "~1.0.1" + }, + "dependencies": { + "buffer-shims": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz", + "integrity": "sha1-mXjOMXOIxkmth5MCjDR37wRKi1E=", + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "process-nextick-args": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", + "dev": true + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + } + } + }, + "set-immediate-shim": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", + "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", + "dev": true + } + } + } + } + }, + "graceful-fs": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.9.tgz", + "integrity": "sha1-uqy6N9GdEfnRRtNXi8mZWMN4fik=", + "dev": true + } + } + }, + "webpack-core": { + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/webpack-core/-/webpack-core-0.6.8.tgz", + "integrity": "sha1-7fkTXeAKajwm3Q8UsgivCqSvjQo=", + "dev": true, + "requires": { + "source-list-map": "~0.1.0", + "source-map": "~0.4.1" + }, + "dependencies": { + "source-list-map": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-0.1.6.tgz", + "integrity": "sha1-4eb5TwtAxNKNz49bh2bg5FY2h38=", + "dev": true + }, + "source-map": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "dev": true, + "requires": { + "amdefine": ">=0.0.4" + }, + "dependencies": { + "amdefine": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.0.tgz", + "integrity": "sha1-/RdHRwDLXMnCtwnwvp0jzjwZjDM=", + "dev": true + } + } + } + } + } + } + }, + "webpack-dev-server": { + "version": "1.16.2", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-1.16.2.tgz", + "integrity": "sha1-i+vCxM4cRaFcct12nZugjbMGp5M=", + "dev": true, + "requires": { + "compression": "^1.5.2", + "connect-history-api-fallback": "^1.3.0", + "express": "^4.13.3", + "http-proxy-middleware": "~0.17.1", + "open": "0.0.5", + "optimist": "~0.6.1", + "serve-index": "^1.7.2", + "sockjs": "^0.3.15", + "sockjs-client": "^1.0.3", + "stream-cache": "~0.0.1", + "strip-ansi": "^3.0.0", + "supports-color": "^3.1.1", + "webpack-dev-middleware": "^1.4.0" + }, + "dependencies": { + "compression": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.6.2.tgz", + "integrity": "sha1-zOsSHsydCcUtetDDNQ6pPd1AK8M=", + "dev": true, + "requires": { + "accepts": "~1.3.3", + "bytes": "2.3.0", + "compressible": "~2.0.8", + "debug": "~2.2.0", + "on-headers": "~1.0.1", + "vary": "~1.1.0" + }, + "dependencies": { + "accepts": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.3.tgz", + "integrity": "sha1-w8p0NJOGSMPg2cHjKN1otiLChMo=", + "dev": true, + "requires": { + "mime-types": "~2.1.11", + "negotiator": "0.6.1" + }, + "dependencies": { + "mime-types": { + "version": "2.1.12", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.12.tgz", + "integrity": "sha1-FSuiVndwIN1GY/VMLnvCY4HnFyk=", + "dev": true, + "requires": { + "mime-db": "~1.24.0" + }, + "dependencies": { + "mime-db": { + "version": "1.24.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.24.0.tgz", + "integrity": "sha1-4tE/k58AFsbk6a0lqGUvEmxGfww=", + "dev": true + } + } + }, + "negotiator": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", + "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=", + "dev": true + } + } + }, + "bytes": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-2.3.0.tgz", + "integrity": "sha1-1baAoWW2IBc5rLYRVCqrwtjOsHA=", + "dev": true + }, + "compressible": { + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.9.tgz", + "integrity": "sha1-baq04rWZwncN2eIeeokbHFp1VCU=", + "dev": true, + "requires": { + "mime-db": ">= 1.24.0 < 2" + }, + "dependencies": { + "mime-db": { + "version": "1.24.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.24.0.tgz", + "integrity": "sha1-4tE/k58AFsbk6a0lqGUvEmxGfww=", + "dev": true + } + } + }, + "debug": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", + "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", + "dev": true, + "requires": { + "ms": "0.7.1" + }, + "dependencies": { + "ms": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", + "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=", + "dev": true + } + } + }, + "on-headers": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz", + "integrity": "sha1-ko9dD0cNSTQmUepnlLCFfBAGk/c=", + "dev": true + }, + "vary": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.0.tgz", + "integrity": "sha1-4eWv+70WrnaN0mdDlLmtMCJlMUA=", + "dev": true + } + } + }, + "connect-history-api-fallback": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.3.0.tgz", + "integrity": "sha1-5R0X+PDvDbkKZP20feMFFVbp8Wk=", + "dev": true + }, + "express": { + "version": "4.14.0", + "resolved": "https://registry.npmjs.org/express/-/express-4.14.0.tgz", + "integrity": "sha1-we4/Qs3Ikfs9xlCoki1R7IR9DWY=", + "dev": true, + "requires": { + "accepts": "~1.3.3", + "array-flatten": "1.1.1", + "content-disposition": "0.5.1", + "content-type": "~1.0.2", + "cookie": "0.3.1", + "cookie-signature": "1.0.6", + "debug": "~2.2.0", + "depd": "~1.1.0", + "encodeurl": "~1.0.1", + "escape-html": "~1.0.3", + "etag": "~1.7.0", + "finalhandler": "0.5.0", + "fresh": "0.3.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.1", + "path-to-regexp": "0.1.7", + "proxy-addr": "~1.1.2", + "qs": "6.2.0", + "range-parser": "~1.2.0", + "send": "0.14.1", + "serve-static": "~1.11.1", + "type-is": "~1.6.13", + "utils-merge": "1.0.0", + "vary": "~1.1.0" + }, + "dependencies": { + "accepts": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.3.tgz", + "integrity": "sha1-w8p0NJOGSMPg2cHjKN1otiLChMo=", + "dev": true, + "requires": { + "mime-types": "~2.1.11", + "negotiator": "0.6.1" + }, + "dependencies": { + "mime-types": { + "version": "2.1.12", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.12.tgz", + "integrity": "sha1-FSuiVndwIN1GY/VMLnvCY4HnFyk=", + "dev": true, + "requires": { + "mime-db": "~1.24.0" + }, + "dependencies": { + "mime-db": { + "version": "1.24.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.24.0.tgz", + "integrity": "sha1-4tE/k58AFsbk6a0lqGUvEmxGfww=", + "dev": true + } + } + }, + "negotiator": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", + "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=", + "dev": true + } + } + }, + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", + "dev": true + }, + "content-disposition": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.1.tgz", + "integrity": "sha1-h0dsamfI2qh+Muh2Ft+IO6f7Bxs=", + "dev": true + }, + "content-type": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.2.tgz", + "integrity": "sha1-t9ETrueo3Se9IRM8TcJSnfFyHu0=", + "dev": true + }, + "cookie": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", + "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=", + "dev": true + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", + "dev": true + }, + "debug": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", + "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", + "dev": true, + "requires": { + "ms": "0.7.1" + }, + "dependencies": { + "ms": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", + "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=", + "dev": true + } + } + }, + "depd": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.0.tgz", + "integrity": "sha1-4b2Cxqq2ztlluXuIsX7T5SjKGMM=", + "dev": true + }, + "encodeurl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.1.tgz", + "integrity": "sha1-eePVhlU0aQn+bw9Fpd5oEDspTSA=", + "dev": true + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", + "dev": true + }, + "etag": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.7.0.tgz", + "integrity": "sha1-A9MLX2fdbmMtKUXTDWZScxo01dg=", + "dev": true + }, + "finalhandler": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-0.5.0.tgz", + "integrity": "sha1-6VCKvs6bbbqHGmlCodeRG5GRGsc=", + "dev": true, + "requires": { + "debug": "~2.2.0", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "statuses": "~1.3.0", + "unpipe": "~1.0.0" + }, + "dependencies": { + "statuses": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.0.tgz", + "integrity": "sha1-jlV1jLIOdoLB9Pzo3KswvwHR4Ho=", + "dev": true + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "dev": true + } + } + }, + "fresh": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.3.0.tgz", + "integrity": "sha1-ZR+DjiJCTnVm3hYdg1jKoZn4PU8=", + "dev": true + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", + "dev": true + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", + "dev": true + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "dev": true, + "requires": { + "ee-first": "1.1.1" + }, + "dependencies": { + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", + "dev": true + } + } + }, + "parseurl": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.1.tgz", + "integrity": "sha1-yKuMkiO6NIiKpkopeyiFO+wY2lY=", + "dev": true + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", + "dev": true + }, + "proxy-addr": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-1.1.2.tgz", + "integrity": "sha1-tMxfImENlTWCTBI675089zxAujc=", + "dev": true, + "requires": { + "forwarded": "~0.1.0", + "ipaddr.js": "1.1.1" + }, + "dependencies": { + "forwarded": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.0.tgz", + "integrity": "sha1-Ge+YdMSuHCl7zweP3mOgm2aoQ2M=", + "dev": true + }, + "ipaddr.js": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.1.1.tgz", + "integrity": "sha1-x5HZX1KynBJH1d+AraObinNkcjA=", + "dev": true + } + } + }, + "qs": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.2.0.tgz", + "integrity": "sha1-O3hIwDwt7OaalSKw+ujEEm10Xzs=", + "dev": true + }, + "range-parser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", + "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=", + "dev": true + }, + "send": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/send/-/send-0.14.1.tgz", + "integrity": "sha1-qVSYQyU5L1FTKndgdg5FlZjIn3o=", + "dev": true, + "requires": { + "debug": "~2.2.0", + "depd": "~1.1.0", + "destroy": "~1.0.4", + "encodeurl": "~1.0.1", + "escape-html": "~1.0.3", + "etag": "~1.7.0", + "fresh": "0.3.0", + "http-errors": "~1.5.0", + "mime": "1.3.4", + "ms": "0.7.1", + "on-finished": "~2.3.0", + "range-parser": "~1.2.0", + "statuses": "~1.3.0" + }, + "dependencies": { + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", + "dev": true + }, + "http-errors": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.5.0.tgz", + "integrity": "sha1-scs9gmD9jiOGytMYkEWUM3LUghE=", + "dev": true, + "requires": { + "inherits": "2.0.1", + "setprototypeof": "1.0.1", + "statuses": ">= 1.3.0 < 2" + }, + "dependencies": { + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", + "dev": true + }, + "setprototypeof": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.1.tgz", + "integrity": "sha1-UgCbJ4iMTcSPWRlJwKgnWDTByn4=", + "dev": true + } + } + }, + "mime": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz", + "integrity": "sha1-EV+eO2s9rylZmDyzjxSaLUDrXVM=", + "dev": true + }, + "ms": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", + "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=", + "dev": true + }, + "statuses": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.0.tgz", + "integrity": "sha1-jlV1jLIOdoLB9Pzo3KswvwHR4Ho=", + "dev": true + } + } + }, + "serve-static": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.11.1.tgz", + "integrity": "sha1-1sznaTUF9zPHWd5Xvvwa92wPCAU=", + "dev": true, + "requires": { + "encodeurl": "~1.0.1", + "escape-html": "~1.0.3", + "parseurl": "~1.3.1", + "send": "0.14.1" + } + }, + "type-is": { + "version": "1.6.13", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.13.tgz", + "integrity": "sha1-boO6e8MM0zp7sLf7AHN6IIW/nQg=", + "dev": true, + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.11" + }, + "dependencies": { + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", + "dev": true + }, + "mime-types": { + "version": "2.1.12", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.12.tgz", + "integrity": "sha1-FSuiVndwIN1GY/VMLnvCY4HnFyk=", + "dev": true, + "requires": { + "mime-db": "~1.24.0" + }, + "dependencies": { + "mime-db": { + "version": "1.24.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.24.0.tgz", + "integrity": "sha1-4tE/k58AFsbk6a0lqGUvEmxGfww=", + "dev": true + } + } + } + } + }, + "utils-merge": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz", + "integrity": "sha1-ApT7kiu5N1FTVBxPcJYjHyh8ivg=", + "dev": true + }, + "vary": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.0.tgz", + "integrity": "sha1-4eWv+70WrnaN0mdDlLmtMCJlMUA=", + "dev": true + } + } + }, + "http-proxy-middleware": { + "version": "0.17.2", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.17.2.tgz", + "integrity": "sha1-Vy1Rem0vsQY6Rp3ilO7ZYGY1IAc=", + "dev": true, + "requires": { + "http-proxy": "^1.15.1", + "is-glob": "^3.0.0", + "lodash": "^4.16.2", + "micromatch": "^2.3.11" + }, + "dependencies": { + "http-proxy": { + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.15.2.tgz", + "integrity": "sha1-ZC/cr/5S00SNK9o7AHnpQJBk2jE=", + "dev": true, + "requires": { + "eventemitter3": "1.x.x", + "requires-port": "1.x.x" + }, + "dependencies": { + "eventemitter3": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-1.2.0.tgz", + "integrity": "sha1-HIaZHYFq0eUEdQ5zh0Ik7PO+xQg=", + "dev": true + }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", + "dev": true + } + } + }, + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + }, + "dependencies": { + "is-extglob": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.0.tgz", + "integrity": "sha1-M0EaSCsEa/leawyyfuJxGvTPFa0=", + "dev": true + } + } + }, + "lodash": { + "version": "4.16.6", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.16.6.tgz", + "integrity": "sha1-0iyaxmAojzhD4Wun0rXQbMon13c=", + "dev": true + }, + "micromatch": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "dev": true, + "requires": { + "arr-diff": "^2.0.0", + "array-unique": "^0.2.1", + "braces": "^1.8.2", + "expand-brackets": "^0.1.4", + "extglob": "^0.3.1", + "filename-regex": "^2.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.1", + "kind-of": "^3.0.2", + "normalize-path": "^2.0.1", + "object.omit": "^2.0.0", + "parse-glob": "^3.0.4", + "regex-cache": "^0.4.2" + }, + "dependencies": { + "arr-diff": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", + "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", + "dev": true, + "requires": { + "arr-flatten": "^1.0.1" + }, + "dependencies": { + "arr-flatten": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.0.1.tgz", + "integrity": "sha1-5f/lTUXhnzLyFukeuZyM6JK7YEs=", + "dev": true + } + } + }, + "array-unique": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", + "dev": true + }, + "braces": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "dev": true, + "requires": { + "expand-range": "^1.8.1", + "preserve": "^0.2.0", + "repeat-element": "^1.1.2" + }, + "dependencies": { + "expand-range": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", + "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", + "dev": true, + "requires": { + "fill-range": "^2.1.0" + }, + "dependencies": { + "fill-range": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz", + "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=", + "dev": true, + "requires": { + "is-number": "^2.1.0", + "isobject": "^2.0.0", + "randomatic": "^1.1.3", + "repeat-element": "^1.1.2", + "repeat-string": "^1.5.2" + }, + "dependencies": { + "is-number": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", + "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "requires": { + "isarray": "1.0.0" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + } + } + }, + "randomatic": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.5.tgz", + "integrity": "sha1-Xp718tVzxnvSuBJK6QtRVuRXhAs=", + "dev": true, + "requires": { + "is-number": "^2.0.2", + "kind-of": "^3.0.2" + } + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true + } + } + } + } + }, + "preserve": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", + "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", + "dev": true + }, + "repeat-element": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", + "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=", + "dev": true + } + } + }, + "expand-brackets": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", + "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", + "dev": true, + "requires": { + "is-posix-bracket": "^0.1.0" + }, + "dependencies": { + "is-posix-bracket": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", + "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=", + "dev": true + } + } + }, + "extglob": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", + "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "dev": true, + "requires": { + "is-extglob": "^1.0.0" + } + }, + "filename-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.0.tgz", + "integrity": "sha1-mW4+gEebmLmJfxWopYs9CE6SZ3U=", + "dev": true + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "requires": { + "is-extglob": "^1.0.0" + } + }, + "kind-of": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.0.4.tgz", + "integrity": "sha1-e47PGKThf4Jp1ztQHJ8jLJaIenQ=", + "dev": true, + "requires": { + "is-buffer": "^1.0.2" + }, + "dependencies": { + "is-buffer": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.4.tgz", + "integrity": "sha1-z8hszV3FpS+oBIkRHGkgxFfi2Ys=", + "dev": true + } + } + }, + "normalize-path": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.0.1.tgz", + "integrity": "sha1-R4hqwWYnYNQmG32XnSQXCdPOP3o=", + "dev": true + }, + "object.omit": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", + "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", + "dev": true, + "requires": { + "for-own": "^0.1.4", + "is-extendable": "^0.1.1" + }, + "dependencies": { + "for-own": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.4.tgz", + "integrity": "sha1-AUm0GjkIjHUV9R6+HBOG1F+TUHI=", + "dev": true, + "requires": { + "for-in": "^0.1.5" + }, + "dependencies": { + "for-in": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-0.1.6.tgz", + "integrity": "sha1-yfluib+tGKVFr17D7TUqHZ5bTcg=", + "dev": true + } + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true + } + } + }, + "parse-glob": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", + "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", + "dev": true, + "requires": { + "glob-base": "^0.3.0", + "is-dotfile": "^1.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.0" + }, + "dependencies": { + "glob-base": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", + "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", + "dev": true, + "requires": { + "glob-parent": "^2.0.0", + "is-glob": "^2.0.0" + }, + "dependencies": { + "glob-parent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", + "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", + "dev": true, + "requires": { + "is-glob": "^2.0.0" + } + } + } + }, + "is-dotfile": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.2.tgz", + "integrity": "sha1-LBMjg/ORmfjtwmjKAbmwB9IFzE0=", + "dev": true + } + } + }, + "regex-cache": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.3.tgz", + "integrity": "sha1-mxpsNdTQ3871cRrmUejp09cRQUU=", + "dev": true, + "requires": { + "is-equal-shallow": "^0.1.3", + "is-primitive": "^2.0.0" + }, + "dependencies": { + "is-equal-shallow": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", + "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", + "dev": true, + "requires": { + "is-primitive": "^2.0.0" + } + }, + "is-primitive": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", + "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", + "dev": true + } + } + } + } + } + } + }, + "open": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/open/-/open-0.0.5.tgz", + "integrity": "sha1-QsPhjslUZra/DcQvOilFw/DK2Pw=", + "dev": true + }, + "optimist": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", + "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", + "dev": true, + "requires": { + "minimist": "~0.0.1", + "wordwrap": "~0.0.2" + }, + "dependencies": { + "minimist": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", + "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=", + "dev": true + }, + "wordwrap": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", + "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", + "dev": true + } + } + }, + "serve-index": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.8.0.tgz", + "integrity": "sha1-fF2WwT+xMRAfk8HFd0+FFqHnjTs=", + "dev": true, + "requires": { + "accepts": "~1.3.3", + "batch": "0.5.3", + "debug": "~2.2.0", + "escape-html": "~1.0.3", + "http-errors": "~1.5.0", + "mime-types": "~2.1.11", + "parseurl": "~1.3.1" + }, + "dependencies": { + "accepts": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.3.tgz", + "integrity": "sha1-w8p0NJOGSMPg2cHjKN1otiLChMo=", + "dev": true, + "requires": { + "mime-types": "~2.1.11", + "negotiator": "0.6.1" + }, + "dependencies": { + "negotiator": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", + "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=", + "dev": true + } + } + }, + "batch": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.5.3.tgz", + "integrity": "sha1-PzQU84AyF0O/wQQvmoP/HVgk1GQ=", + "dev": true + }, + "debug": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", + "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", + "dev": true, + "requires": { + "ms": "0.7.1" + }, + "dependencies": { + "ms": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", + "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=", + "dev": true + } + } + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", + "dev": true + }, + "http-errors": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.5.0.tgz", + "integrity": "sha1-scs9gmD9jiOGytMYkEWUM3LUghE=", + "dev": true, + "requires": { + "inherits": "2.0.1", + "setprototypeof": "1.0.1", + "statuses": ">= 1.3.0 < 2" + }, + "dependencies": { + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", + "dev": true + }, + "setprototypeof": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.1.tgz", + "integrity": "sha1-UgCbJ4iMTcSPWRlJwKgnWDTByn4=", + "dev": true + }, + "statuses": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.0.tgz", + "integrity": "sha1-jlV1jLIOdoLB9Pzo3KswvwHR4Ho=", + "dev": true + } + } + }, + "mime-types": { + "version": "2.1.12", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.12.tgz", + "integrity": "sha1-FSuiVndwIN1GY/VMLnvCY4HnFyk=", + "dev": true, + "requires": { + "mime-db": "~1.24.0" + }, + "dependencies": { + "mime-db": { + "version": "1.24.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.24.0.tgz", + "integrity": "sha1-4tE/k58AFsbk6a0lqGUvEmxGfww=", + "dev": true + } + } + }, + "parseurl": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.1.tgz", + "integrity": "sha1-yKuMkiO6NIiKpkopeyiFO+wY2lY=", + "dev": true + } + } + }, + "sockjs": { + "version": "0.3.18", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.18.tgz", + "integrity": "sha1-2bKJMWyn33dZXvKZ4HXw+TfrQgc=", + "dev": true, + "requires": { + "faye-websocket": "^0.10.0", + "uuid": "^2.0.2" + }, + "dependencies": { + "faye-websocket": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", + "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", + "dev": true, + "requires": { + "websocket-driver": ">=0.5.1" + }, + "dependencies": { + "websocket-driver": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.6.5.tgz", + "integrity": "sha1-XLJVbOuF9Dc8bYI4qmkchFThOjY=", + "dev": true, + "requires": { + "websocket-extensions": ">=0.1.1" + }, + "dependencies": { + "websocket-extensions": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.1.tgz", + "integrity": "sha1-domUmcGEtu91Q3fC27DNbLVdKec=", + "dev": true + } + } + } + } + }, + "uuid": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz", + "integrity": "sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho=", + "dev": true + } + } + }, + "sockjs-client": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.1.1.tgz", + "integrity": "sha1-KEhD6al4TXxHSxVxsyQPyp3aS7A=", + "dev": true, + "requires": { + "debug": "^2.2.0", + "eventsource": "~0.1.6", + "faye-websocket": "~0.11.0", + "inherits": "^2.0.1", + "json3": "^3.3.2", + "url-parse": "^1.1.1" + }, + "dependencies": { + "debug": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", + "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", + "dev": true, + "requires": { + "ms": "0.7.1" + }, + "dependencies": { + "ms": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", + "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=", + "dev": true + } + } + }, + "eventsource": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-0.1.6.tgz", + "integrity": "sha1-Cs7ehJ7X3RzMMsgRuxG5RNTykjI=", + "dev": true, + "requires": { + "original": ">=0.0.5" + }, + "dependencies": { + "original": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/original/-/original-1.0.0.tgz", + "integrity": "sha1-kUf5P6FpbQS+YeAb1QuurKZWvTs=", + "dev": true, + "requires": { + "url-parse": "1.0.x" + }, + "dependencies": { + "url-parse": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.0.5.tgz", + "integrity": "sha1-CFSGBCKv3P7+tsllxmLUgAFpkns=", + "dev": true, + "requires": { + "querystringify": "0.0.x", + "requires-port": "1.0.x" + }, + "dependencies": { + "querystringify": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-0.0.4.tgz", + "integrity": "sha1-DPf4T5Rj/wrlHExLFC2VvjdyTZw=", + "dev": true + }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", + "dev": true + } + } + } + } + } + } + }, + "faye-websocket": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.0.tgz", + "integrity": "sha1-2czw54nn23JddLxId9I6pClyrFA=", + "dev": true, + "requires": { + "websocket-driver": ">=0.5.1" + }, + "dependencies": { + "websocket-driver": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.6.5.tgz", + "integrity": "sha1-XLJVbOuF9Dc8bYI4qmkchFThOjY=", + "dev": true, + "requires": { + "websocket-extensions": ">=0.1.1" + }, + "dependencies": { + "websocket-extensions": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.1.tgz", + "integrity": "sha1-domUmcGEtu91Q3fC27DNbLVdKec=", + "dev": true + } + } + } + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "json3": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.2.tgz", + "integrity": "sha1-PAQ0dD35Pi9cQq7nsZvLSDV19OE=", + "dev": true + }, + "url-parse": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.1.7.tgz", + "integrity": "sha1-Alz/mZZTpFmrNCMhR9iVFMyH10o=", + "dev": true, + "requires": { + "querystringify": "0.0.x", + "requires-port": "1.0.x" + }, + "dependencies": { + "querystringify": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-0.0.4.tgz", + "integrity": "sha1-DPf4T5Rj/wrlHExLFC2VvjdyTZw=", + "dev": true + }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", + "dev": true + } + } + } + } + }, + "stream-cache": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/stream-cache/-/stream-cache-0.0.2.tgz", + "integrity": "sha1-GsWtaDJCjKVWZ9ve45Xa1ObbEY8=", + "dev": true + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz", + "integrity": "sha1-xQYbbg74qBd15Q9dZhUb9r83EQc=", + "dev": true + } + } + }, + "supports-color": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.1.2.tgz", + "integrity": "sha1-cqJiiU2dQIuVbKBf83su2KbiotU=", + "dev": true, + "requires": { + "has-flag": "^1.0.0" + }, + "dependencies": { + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + } + } + }, + "webpack-dev-middleware": { + "version": "1.8.4", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-1.8.4.tgz", + "integrity": "sha1-6HZckSKIfOnjq9TMnD6zG2HglI0=", + "dev": true, + "requires": { + "memory-fs": "~0.3.0", + "mime": "^1.3.4", + "path-is-absolute": "^1.0.0", + "range-parser": "^1.0.3" + }, + "dependencies": { + "memory-fs": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.3.0.tgz", + "integrity": "sha1-e8xrYp46Q+hx1+Kaymrop/FcuyA=", + "dev": true, + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + }, + "dependencies": { + "errno": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.4.tgz", + "integrity": "sha1-uJbiOp5ei6M4cfyZar02NfyaHH0=", + "dev": true, + "requires": { + "prr": "~0.0.0" + }, + "dependencies": { + "prr": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/prr/-/prr-0.0.0.tgz", + "integrity": "sha1-GoS4WQgyVQFBGFPQCB7j+obikmo=", + "dev": true + } + } + }, + "readable-stream": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.1.5.tgz", + "integrity": "sha1-ZvqLcg4UOLNkaB8q0aY8YYRIydA=", + "dev": true, + "requires": { + "buffer-shims": "^1.0.0", + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "string_decoder": "~0.10.x", + "util-deprecate": "~1.0.1" + }, + "dependencies": { + "buffer-shims": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz", + "integrity": "sha1-mXjOMXOIxkmth5MCjDR37wRKi1E=", + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "process-nextick-args": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", + "dev": true + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + } + } + } + } + }, + "mime": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz", + "integrity": "sha1-EV+eO2s9rylZmDyzjxSaLUDrXVM=", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "range-parser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", + "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=", + "dev": true + } + } + } + } + } + } +} diff --git a/package.json b/package.json index 4a2ac71..066fb72 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "angular-schema-form-material", - "version": "1.0.0-alpha.1", + "version": "1.0.0-alpha.2", "description": "Angular Material decorator for Angular Schema Form", "main": "dist/material-decorator.js", "scripts": { diff --git a/src/angular-schema-form-material-templates.js b/src/angular-schema-form-material-templates.js index e9d61c1..a181661 100644 --- a/src/angular-schema-form-material-templates.js +++ b/src/angular-schema-form-material-templates.js @@ -1,7 +1,7 @@ angular.module("schemaForm").run(["$templateCache", function($templateCache) {$templateCache.put("decorators/material/actions-trcl.html","
"); $templateCache.put("decorators/material/actions.html","
"); $templateCache.put("decorators/material/array.html","
= modelArray.length\" class=\"md-icon-button\" aria-label=\"More\" style=\"position: relative; z-index: 20;\">close
{{ form.add || \'Add\'}}
"); -$templateCache.put("decorators/material/autocomplete.html","
{{item.name}}No matches found
"); +$templateCache.put("decorators/material/autocomplete.html","
{{item.name}}No matches found
"); $templateCache.put("decorators/material/card-content.html",""); $templateCache.put("decorators/material/card.html","{{ form.title }}"); $templateCache.put("decorators/material/checkbox.html","
{{::form.title}}
"); @@ -16,10 +16,11 @@ $templateCache.put("decorators/material/radio-buttons.html","
"); $templateCache.put("decorators/material/radios.html","
"); $templateCache.put("decorators/material/section.html",""); -$templateCache.put("decorators/material/select.html","{{::filtered.name}}{{::opt.name}}
"); +$templateCache.put("decorators/material/select.html","{{::filtered.name}}{{::opt.name}}
"); $templateCache.put("decorators/material/slider.html",""); $templateCache.put("decorators/material/submit.html","
{{::form.tip}}{{::form.title}}
"); $templateCache.put("decorators/material/switch.html","{{::form.title}}"); $templateCache.put("decorators/material/tabarray.html",""); $templateCache.put("decorators/material/tabs.html","
"); -$templateCache.put("decorators/material/textarea.html"," ");}]); \ No newline at end of file +$templateCache.put("decorators/material/textarea.html"," "); +$templateCache.put("decorators/material/timepicker.html","");}]); \ No newline at end of file diff --git a/src/angular-schema-form-material-templates.min.js b/src/angular-schema-form-material-templates.min.js index 52d148b..ce93a2f 100644 --- a/src/angular-schema-form-material-templates.min.js +++ b/src/angular-schema-form-material-templates.min.js @@ -1 +1 @@ -angular.module("schemaForm").run(["$templateCache",function(e){e.put("decorators/material/actions-trcl.html",'
'),e.put("decorators/material/actions.html",'
'),e.put("decorators/material/array.html",'
close
{{ form.add || \'Add\'}}
'),e.put("decorators/material/autocomplete.html",'
{{item.name}}No matches found
'),e.put("decorators/material/card-content.html",''),e.put("decorators/material/card.html",'{{ form.title }}'),e.put("decorators/material/checkbox.html",'
{{::form.title}}
'),e.put("decorators/material/checkboxes.html",'
{{::form.titleMap[$index].name}}
'),e.put("decorators/material/chips.html",'
{{$chip}}
'),e.put("decorators/material/date.html",''),e.put("decorators/material/default.html",' '),e.put("decorators/material/fieldset-trcl.html",'
{{ form.title }}
'),e.put("decorators/material/fieldset.html",'
{{ form.title }}
'),e.put("decorators/material/help.html",'
'),e.put("decorators/material/radio-buttons.html",'
'),e.put("decorators/material/radios-inline.html",'
'),e.put("decorators/material/radios.html",'
'),e.put("decorators/material/section.html",''),e.put("decorators/material/select.html",'{{::filtered.name}}{{::opt.name}}
'),e.put("decorators/material/slider.html",''),e.put("decorators/material/submit.html",'
{{::form.tip}}{{::form.title}}
'),e.put("decorators/material/switch.html",'{{::form.title}}'),e.put("decorators/material/tabarray.html",''),e.put("decorators/material/tabs.html",'
'),e.put("decorators/material/textarea.html",' ')}]); \ No newline at end of file +angular.module("schemaForm").run(["$templateCache",function(e){e.put("decorators/material/actions-trcl.html",'
'),e.put("decorators/material/actions.html",'
'),e.put("decorators/material/array.html",'
close
{{ form.add || \'Add\'}}
'),e.put("decorators/material/autocomplete.html",'
{{item.name}}No matches found
'),e.put("decorators/material/card-content.html",''),e.put("decorators/material/card.html",'{{ form.title }}'),e.put("decorators/material/checkbox.html",'
{{::form.title}}
'),e.put("decorators/material/checkboxes.html",'
{{::form.titleMap[$index].name}}
'),e.put("decorators/material/chips.html",'
{{$chip}}
'),e.put("decorators/material/date.html",''),e.put("decorators/material/default.html",' '),e.put("decorators/material/fieldset-trcl.html",'
{{ form.title }}
'),e.put("decorators/material/fieldset.html",'
{{ form.title }}
'),e.put("decorators/material/help.html",'
'),e.put("decorators/material/radio-buttons.html",'
'),e.put("decorators/material/radios-inline.html",'
'),e.put("decorators/material/radios.html",'
'),e.put("decorators/material/section.html",''),e.put("decorators/material/select.html",'{{::filtered.name}}{{::opt.name}}
'),e.put("decorators/material/slider.html",''),e.put("decorators/material/submit.html",'
{{::form.tip}}{{::form.title}}
'),e.put("decorators/material/switch.html",'{{::form.title}}'),e.put("decorators/material/tabarray.html",''),e.put("decorators/material/tabs.html",'
'),e.put("decorators/material/textarea.html",' '),e.put("decorators/material/timepicker.html",'')}]); \ No newline at end of file diff --git a/src/autocomplete.html b/src/autocomplete.html index fb02568..81b64a7 100644 --- a/src/autocomplete.html +++ b/src/autocomplete.html @@ -17,7 +17,7 @@ md-menu-class="autocomplete-custom-template" > - {{item.name}} + {{item.name}} No matches found diff --git a/src/date.html b/src/date.html index f3f964c..1ff6c13 100644 --- a/src/date.html +++ b/src/date.html @@ -1,14 +1,14 @@ - - {{::form.title}} + - + > + diff --git a/src/material-decorator.js b/src/material-decorator.js index 89be834..fffa9b1 100644 --- a/src/material-decorator.js +++ b/src/material-decorator.js @@ -1,411 +1,437 @@ -(function(angular, undefined) { - 'use strict'; - angular - .module('schemaForm') - .config(materialDecoratorConfig) - .directive('sfmExternalOptions', sfmExternalOptionsDirective) - .filter('sfCamelKey', sfCamelKeyFilter) - .directive('sfChangedAutoComplete', function() { - // Duplicate of sf-changed, but instead of adding a watcher, adds a function on the scope to fire the onchange. - return { - require: 'ngModel', - restrict: 'AC', - link: function(scope, element, attrs, ctrl) { - var form = scope.$eval(attrs.sfChangedAutoComplete); - //"form" is really guaranteed to be here since the decorator directive - //waits for it. But best be sure. - if (form && form.onChange) { - scope.onChangeFn = function() { - if (angular.isFunction(form.onChange)) { - form.onChange(ctrl.$modelValue, form); - } else { - scope.evalExpr(form.onChange, {'modelValue': ctrl.$modelValue, form: form}); - } - }; - } - } - }; - }); - - materialDecoratorConfig.$inject = [ - 'schemaFormProvider', 'schemaFormDecoratorsProvider', 'sfBuilderProvider', 'sfPathProvider', '$injector' - ]; - - function materialDecoratorConfig( schemaFormProvider, decoratorsProvider, sfBuilderProvider, sfPathProvider, $injector ) { - var base = 'decorators/material/'; - - var simpleTransclusion = sfBuilderProvider.builders.simpleTransclusion; - var transclusion = sfBuilderProvider.builders.transclusion; - var ngModelOptions = sfBuilderProvider.builders.ngModelOptions; - var ngModel = sfBuilderProvider.builders.ngModel; - var sfField = sfBuilderProvider.builders.sfField; - var condition = sfBuilderProvider.builders.condition; - var array = sfBuilderProvider.builders.array; - var numeric = sfBuilderProvider.builders.numeric; - - var sfLayout = sfLayout; - var sfMessagesNode = sfMessagesNodeHandler(); - var sfMessages = sfMessagesBuilder; - var sfOptions = sfOptionsBuilder; - var mdAutocomplete = mdAutocompleteBuilder; - var mdSwitch = mdSwitchBuilder; - var mdDatepicker = mdDatepickerBuilder; - var mdTimepicker = mdTimepickerBuilder; - var mdTabs = mdTabsBuilder; - var textarea = textareaBuilder; - - - var sfFieldMaterial = function(args) { - - sfField(args); - var container = args.fieldFrag.querySelector( 'md-input-container' ); - var field = args.fieldFrag.querySelector('input, textarea, md-select, button, md-button'); - - if ( args.form.required && field ) { - field.setAttribute('ng-required', 'form.required'); - } - - if ( args.form.mdIcon && container ) { - var icon = angular.element('{{form.mdIcon}}'); - - angular.element( container ).prepend( icon ); +(function (angular, undefined) { + 'use strict'; + angular + .module('schemaForm') + .config(materialDecoratorConfig) + .directive('sfmExternalOptions', sfmExternalOptionsDirective) + .filter('sfCamelKey', sfCamelKeyFilter) + .directive('sfChangedAutoComplete', function () { + // Duplicate of sf-changed, but instead of adding a watcher, adds a function on the scope to fire the onchange. + return { + require: 'ngModel', + restrict: 'AC', + link: function (scope, element, attrs, ctrl) { + var form = scope.$eval(attrs.sfChangedAutoComplete); + //"form" is really guaranteed to be here since the decorator directive + //waits for it. But best be sure. + if (form && form.onChange) { + scope.onChangeFn = function () { + if (angular.isFunction(form.onChange)) { + form.onChange(ctrl.$modelValue, form); + } else { + scope.evalExpr(form.onChange, {'modelValue': ctrl.$modelValue, form: form}); + } + }; + } + } + }; + }); + + materialDecoratorConfig.$inject = [ + 'schemaFormProvider', 'schemaFormDecoratorsProvider', 'sfBuilderProvider', 'sfPathProvider', '$injector' + ]; + + function materialDecoratorConfig(schemaFormProvider, decoratorsProvider, sfBuilderProvider, sfPathProvider, $injector) { + var base = 'decorators/material/'; + + var simpleTransclusion = sfBuilderProvider.builders.simpleTransclusion; + var transclusion = sfBuilderProvider.builders.transclusion; + var ngModelOptions = sfBuilderProvider.builders.ngModelOptions; + var ngModel = sfBuilderProvider.builders.ngModel; + var sfField = sfBuilderProvider.builders.sfField; + var condition = sfBuilderProvider.builders.condition; + var array = sfBuilderProvider.builders.array; + var numeric = sfBuilderProvider.builders.numeric; + + var sfLayout = sfLayout; + var sfMessagesNode = sfMessagesNodeHandler(); + var sfMessages = sfMessagesBuilder; + var sfOptions = sfOptionsBuilder; + var mdAutocomplete = mdAutocompleteBuilder; + var mdSwitch = mdSwitchBuilder; + var mdDatepicker = mdDatepickerBuilder; + var mdTimepicker = mdTimepickerBuilder; + var mdTabs = mdTabsBuilder; + var textarea = textareaBuilder; + + + var sfFieldMaterial = function (args) { + + sfField(args); + var container = args.fieldFrag.querySelector('md-input-container'); + var field = args.fieldFrag.querySelector('input, textarea, md-select, button, md-button'); + + if (args.form.required && field) { + field.setAttribute('ng-required', 'form.required'); + } + + if (args.form.mdIcon && container) { + var icon = angular.element('{{form.mdIcon}}'); + + angular.element(container).prepend(icon); + } + + }; + + var core = [sfFieldMaterial, ngModel, ngModelOptions, condition, sfLayout]; + var defaults = core.concat(sfMessages); + var arrays = core.concat(array); + + schemaFormProvider.defaults.string.unshift(dateDefault); + schemaFormProvider.defaults.object.unshift(dateObjectDefault); + + schemaFormProvider.defaults.string.unshift(timeDefault); + schemaFormProvider.defaults.object.unshift(timeObjectDefault); + + + decoratorsProvider.defineDecorator('materialDecorator', { + actions: {template: base + 'actions.html', builder: [sfField, simpleTransclusion, condition]}, + array: {template: base + 'array.html', builder: arrays}, + autocomplete: {template: base + 'autocomplete.html', builder: defaults.concat(mdAutocomplete)}, + boolean: {template: base + 'checkbox.html', builder: defaults}, + button: {template: base + 'submit.html', builder: defaults}, + card: {template: base + 'card.html', builder: [sfField, transclusion, condition]}, + checkbox: {template: base + 'checkbox.html', builder: defaults}, + checkboxes: {template: base + 'checkboxes.html', builder: arrays}, + date: {template: base + 'date.html', builder: defaults.concat(mdDatepicker)}, + 'default': {template: base + 'default.html', builder: defaults}, + fieldset: {template: base + 'fieldset.html', builder: [sfField, transclusion, condition]}, + help: {template: base + 'help.html', builder: defaults}, + number: {template: base + 'default.html', builder: defaults.concat(numeric)}, + password: {template: base + 'default.html', builder: defaults}, + radios: {template: base + 'radios.html', builder: defaults}, + 'radios-inline': {template: base + 'radios-inline.html', builder: defaults}, + radiobuttons: {template: base + 'radio-buttons.html', builder: defaults}, + section: {template: base + 'section.html', builder: [sfField, simpleTransclusion, condition, sfLayout]}, + select: {template: base + 'select.html', builder: defaults.concat(sfOptions)}, + submit: {template: base + 'submit.html', builder: defaults}, + tabs: {template: base + 'tabs.html', builder: [sfField, mdTabs, condition]}, + time: {template: base + 'timepicker.html', builder: defaults.concat(mdTimepicker)}, + tabarray: {template: base + 'tabarray.html', builder: arrays}, + textarea: {template: base + 'textarea.html', builder: defaults.concat(textarea)}, + switch: {template: base + 'switch.html', builder: defaults.concat(mdSwitch)} + }); + + + // ISO Format - 2016-08-02T17:03:18.608Z - new Date().toISOString() + var dateFormat = /^[0-9]{4,}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\.[0-9]+|)(?:[+-][0-9]{2}:?(?:[0-9]{2}|)|Z)$/; + // Standard Format - Tue Aug 02 2016 12:03:59 GMT-0500 (CDT) - new Date().toString() + var mdDateFormat = /^(:?[A-Z][a-z]{2}\s){2}\d{1,2}\s\d{4}\s(:?\d{2}\:?){3}\s[A-Z]{3}\-\d{4}\s\([A-Z]{3}\)$/; + + var formats = { + date: function (value) { + if (value && typeof value !== 'string' && value.toISOString) { + value = value.toISOString() || ''; + } + + if (dateFormat.test(value) || mdDateFormat.test(value)) { + return null; + } + + return 'A valid date expected'; + } + }; + tv4.addFormat('date', formats.date); + + function sfLayout(args) { + var layoutDiv = args.fieldFrag.querySelector('[sf-layout]'); + + if (args.form.grid) { + Object.getOwnPropertyNames(args.form.grid).forEach(function (property, idx, array) { + layoutDiv.setAttribute(property, args.form.grid[property]); + }); + } + ; + }; + + function sfMessagesNodeHandler() { + var html = '
' + + '
'; + var div = document.createElement('div'); + div.innerHTML = html; + return div.firstChild; + }; + + function sfMessagesBuilder(args) { + var messagesDiv = args.fieldFrag.querySelector('[sf-messages]'); + if (messagesDiv && sfMessagesNode) { + var child = sfMessagesNode.cloneNode(true); + messagesDiv.appendChild(child); + } + }; + + function textareaBuilder(args) { + var textareaFrag = args.fieldFrag.querySelector('textarea'); + var maxLength = args.form.maxlength || false; + if (textareaFrag && maxLength) { + textareaFrag.setAttribute('md-maxlength', maxLength); + } + ; + }; + + function mdAutocompleteBuilder(args) { + var mdAutocompleteFrag = args.fieldFrag.querySelector('md-autocomplete'); + + + var minLength = args.form.minLength !== undefined ? args.form.minLength : 1; // Allow the user to pass "0" for min-length to use md-autocomplete as a dropdown with filter. + var maxLength = args.form.maxLength || false; + var title = args.form.title || args.form.placeholder || args.form.key.slice(-1)[0]; + if (mdAutocompleteFrag) { + if (args.form.onChange) { + mdAutocompleteFrag.setAttribute('md-selected-item-change', 'onChangeFn()'); + mdAutocompleteFrag.setAttribute('md-search-text-change', 'onChangeFn(searchText)'); + } + ; + + mdAutocompleteFrag.setAttribute('md-min-length', minLength); + if (maxLength) { + mdAutocompleteFrag.setAttribute('md-max-length', maxLength); + } + ; + + if (title) { + mdAutocompleteFrag.setAttribute('md-floating-label', title); + } + ; + + if (args.form.schema.requireMatch) { + mdAutocompleteFrag.setAttribute('md-require-match', true); + } + } + }; + + function mdSwitchBuilder(args) { + var mdSwitchFrag = args.fieldFrag.querySelector('md-switch'); + if (args.form.schema.titleMap) { + mdSwitchFrag.setAttribute('ng-true-value', args.form.schema.titleMap.true); + mdSwitchFrag.setAttribute('ng-false-value', args.form.schema.titleMap.false); + } + ; + }; + + function sfOptionsBuilder(args) { + var mdSelectFrag = args.fieldFrag.querySelector('md-select'); + var enumTitleMap = []; + var i; + + args.form.selectOptions = []; + args.form.getOptions = getOptionsHandler; + + if (args.form.schema.links && (typeof args.form.schema.links) === 'object') { + var link; + var related = /({)([^}]*)(})/gm; + var source = /{{([^}]*)}}/gm; + var matched; + + for (i = 0; i < args.form.schema.links.length; i++) { + link = args.form.schema.links[i]; + if (link.rel === 'options') { + // TODO enable filter to allow processing results + // args.form.optionSource = link.href.replace(related, '$1$1 model.$2 | _externalOptionUri $3$3'); + args.form.optionSource = link.href.replace(related, '$1$1 model.$2 $3$3'); + } + ; + } + ; + + mdSelectFrag.setAttribute('sfm-external-options', args.form.optionSource); + } + else { + args.form.selectOptions = sfOptionsProcessor(args.form); + } + ; + }; + + function mdDatepickerBuilder(args) { + console.log("Date Picker", args); + var mdDatepickerFrag = args.fieldFrag.querySelector('md-datepicker'); + if (mdDatepickerFrag) { + if (args.form.onChange) { + mdDatepickerFrag.setAttribute('ng-change', 'args.form.onChange(searchText)'); + } + // mdDatepickerFrag.setAttribute('md-items', 'item in $filter(''autocomplete'')(searchText);'); + var minDate = args.form.minimum || false; + var maxDate = args.form.maximum || false; + if (minDate) { + mdDatepickerFrag.setAttribute('md-min-date', minDate); + } + if (maxDate) { + mdDatepickerFrag.setAttribute('md-max-date', maxDate); + } + + if (args.form.mdHideIcons) { + mdDatepickerFrag.setAttribute('md-hide-icons', args.form.mdHideIcons); + } + } + }; + + function mdTimepickerBuilder(args) { + var mdTimepickerFrag = args.fieldFrag.querySelector('md-time-picker'); + if (mdTimepickerFrag) { + if (args.form.onChange) { + mdTimepickerFrag.setAttribute('ng-change', 'args.form.onChange(searchText)'); + } + // mdTimepickerFrag.setAttribute('md-items', 'item in $filter(''autocomplete'')(searchText);'); + var minHour = args.form.minimum || undefined; + var maxHour = args.form.maximum || undefined; + var increment = args.form.step || undefined; + + var options = { + minHour: minHour, + maxHour: maxHour, + minuteIncrement: increment + }; + + mdTimepickerFrag.setAttribute('options', JSON.stringify(options)); + + + if (args.form.mdHideIcons) { + mdTimepickerFrag.setAttribute('md-hide-icons', args.form.mdHideIcons); + } + } + }; + + function mdTabsBuilder(args) { + if (args.form.tabs && args.form.tabs.length > 0) { + var mdTabsFrag = args.fieldFrag.querySelector('md-tabs'); + + args.form.tabs.forEach(function (tab, index) { + var mdTab = document.createElement('md-tab'); + mdTab.setAttribute('label', '{{' + args.path + '.tabs[' + index + '].title}}'); + var mdTabBody = document.createElement('md-tab-body'); + var childFrag = args.build(tab.items, args.path + '.tabs[' + index + '].items', args.state); + mdTabBody.appendChild(childFrag); + mdTab.appendChild(mdTabBody); + mdTabsFrag.appendChild(mdTab); + }); + } + }; + + /** + * Material Datepicker + */ + function dateDefault(name, schema, options) { + if (schema.type === 'string' && (schema.format === 'date' || schema.format === 'date-time')) { + var f = schemaFormProvider.stdFormObj(name, schema, options); + f.key = options.path; + f.type = 'date'; + options.lookup[sfPathProvider.stringify(options.path)] = f; + return f; + } + }; + + function dateObjectDefault(name, schema, options) { + if (schema.type === 'object' && (schema.format === 'date' || schema.format === 'date-time')) { + var f = schemaFormProvider.stdFormObj(name, schema, options); + f.key = options.path; + f.type = 'date'; + options.lookup[sfPathProvider.stringify(options.path)] = f; + return f; + } + }; + + /** + * Material Timepicker + */ + function timeDefault(name, schema, options) { + if (schema.type === 'string' && schema.format === 'time') { + var f = schemaFormProvider.stdFormObj(name, schema, options); + f.key = options.path; + f.type = 'time'; + options.lookup[sfPathProvider.stringify(options.path)] = f; + return f; + } + }; + + function timeObjectDefault(name, schema, options) { + if (schema.type === 'object' && schema.format === 'time') { + var f = schemaFormProvider.stdFormObj(name, schema, options); + f.key = options.path; + f.type = 'time'; + options.lookup[sfPathProvider.stringify(options.path)] = f; + return f; + } + }; + + }; + + function getOptionsHandler(form, evalExpr) { + if (form.optionData) { + return evalExpr(form.optionData); } + ; - }; - - var core = [ sfFieldMaterial, ngModel, ngModelOptions, condition, sfLayout ]; - var defaults = core.concat(sfMessages); - var arrays = core.concat(array); - - schemaFormProvider.defaults.string.unshift(dateDefault); - schemaFormProvider.defaults.object.unshift(dateObjectDefault); - - schemaFormProvider.defaults.string.unshift(timeDefault); - schemaFormProvider.defaults.object.unshift(timeObjectDefault); - - - decoratorsProvider.defineDecorator('materialDecorator', { - actions: { template: base + 'actions.html', builder: [ sfField, simpleTransclusion, condition ] }, - array: { template: base + 'array.html', builder: arrays }, - autocomplete: { template: base + 'autocomplete.html', builder: defaults.concat(mdAutocomplete) }, - boolean: { template: base + 'checkbox.html', builder: defaults }, - button: { template: base + 'submit.html', builder: defaults }, - card: { template: base + 'card.html', builder: [ sfField, transclusion, condition ] }, - checkbox: { template: base + 'checkbox.html', builder: defaults }, - checkboxes: { template: base + 'checkboxes.html', builder: arrays }, - date: { template: base + 'date.html', builder: defaults.concat(mdDatepicker) }, - 'default': { template: base + 'default.html', builder: defaults }, - fieldset: { template: base + 'fieldset.html', builder: [ sfField, transclusion, condition ] }, - help: { template: base + 'help.html', builder: defaults }, - number: { template: base + 'default.html', builder: defaults.concat(numeric) }, - password: { template: base + 'default.html', builder: defaults }, - radios: { template: base + 'radios.html', builder: defaults }, - 'radios-inline': { template: base + 'radios-inline.html', builder: defaults }, - radiobuttons: { template: base + 'radio-buttons.html', builder: defaults }, - section: { template: base + 'section.html', builder: [ sfField, simpleTransclusion, condition, sfLayout ] }, - select: { template: base + 'select.html', builder: defaults.concat(sfOptions) }, - submit: { template: base + 'submit.html', builder: defaults }, - tabs: { template: base + 'tabs.html', builder: [ sfField, mdTabs, condition ] }, - time: { template: base + 'timepicker.html', builder: defaults.concat(mdTimepicker) }, - tabarray: { template: base + 'tabarray.html', builder: arrays }, - textarea: { template: base + 'textarea.html', builder: defaults.concat(textarea) }, - switch: { template: base + 'switch.html', builder: defaults.concat(mdSwitch) } - }); - - - // ISO Format - 2016-08-02T17:03:18.608Z - new Date().toISOString() - var dateFormat = /^[0-9]{4,}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\.[0-9]+|)(?:[+-][0-9]{2}:?(?:[0-9]{2}|)|Z)$/; - // Standard Format - Tue Aug 02 2016 12:03:59 GMT-0500 (CDT) - new Date().toString() - var mdDateFormat = /^(:?[A-Z][a-z]{2}\s){2}\d{1,2}\s\d{4}\s(:?\d{2}\:?){3}\s[A-Z]{3}\-\d{4}\s\([A-Z]{3}\)$/; - - var formats = { - date: function (value) { - if ( value && typeof value !== 'string' && value.toISOString ) { - value = value.toISOString() || ''; - } - - if (dateFormat.test(value) || mdDateFormat.test(value) ) { - return null; - } - - return 'A valid date expected'; - } - }; - tv4.addFormat( 'date', formats.date ); - - function sfLayout(args) { - var layoutDiv = args.fieldFrag.querySelector('[sf-layout]'); - - if (args.form.grid) { - Object.getOwnPropertyNames(args.form.grid).forEach(function(property, idx, array) { - layoutDiv.setAttribute(property, args.form.grid[property]); - }); - }; - }; - - function sfMessagesNodeHandler() { - var html = '
' + - '
'; - var div = document.createElement('div'); - div.innerHTML = html; - return div.firstChild; - }; - - function sfMessagesBuilder(args) { - var messagesDiv = args.fieldFrag.querySelector('[sf-messages]'); - if (messagesDiv && sfMessagesNode) { - var child = sfMessagesNode.cloneNode(true); - messagesDiv.appendChild(child); - } - }; - - function textareaBuilder(args) { - var textareaFrag = args.fieldFrag.querySelector('textarea'); - var maxLength = args.form.maxlength || false; - if (textareaFrag && maxLength) { - textareaFrag.setAttribute('md-maxlength', maxLength); - }; - }; - - function mdAutocompleteBuilder(args) { - var mdAutocompleteFrag = args.fieldFrag.querySelector('md-autocomplete'); - - - var minLength = args.form.minLength !== undefined ? args.form.minLength : 1; // Allow the user to pass "0" for min-length to use md-autocomplete as a dropdown with filter. - var maxLength = args.form.maxLength || false; - var title = args.form.title || args.form.placeholder || args.form.key.slice(-1)[0]; - if (mdAutocompleteFrag) { - if (args.form.onChange) { - mdAutocompleteFrag.setAttribute('md-selected-item-change', 'onChangeFn()'); - mdAutocompleteFrag.setAttribute('md-search-text-change', 'onChangeFn(searchText)'); - }; - - mdAutocompleteFrag.setAttribute('md-min-length', minLength); - if (maxLength) { - mdAutocompleteFrag.setAttribute('md-max-length', maxLength); - }; - - if (title) { - mdAutocompleteFrag.setAttribute('md-floating-label', title); - }; - - if ( args.form.schema.requireMatch ) { - mdAutocompleteFrag.setAttribute('md-require-match', true); - } - } - }; - - function mdSwitchBuilder(args) { - var mdSwitchFrag = args.fieldFrag.querySelector('md-switch'); - if (args.form.schema.titleMap) { - mdSwitchFrag.setAttribute('ng-true-value', args.form.schema.titleMap.true); - mdSwitchFrag.setAttribute('ng-false-value', args.form.schema.titleMap.false); - }; - }; - - function sfOptionsBuilder(args) { - var mdSelectFrag = args.fieldFrag.querySelector('md-select'); - var enumTitleMap = []; - var i; - - args.form.selectOptions = []; - args.form.getOptions = getOptionsHandler; - - if (args.form.schema.links && (typeof args.form.schema.links) === 'object') { - var link; - var related = /({)([^}]*)(})/gm; - var source = /{{([^}]*)}}/gm; - var matched; - - for (i = 0; i < args.form.schema.links.length; i++) { - link = args.form.schema.links[i]; - if (link.rel === 'options') { - // TODO enable filter to allow processing results - // args.form.optionSource = link.href.replace(related, '$1$1 model.$2 | _externalOptionUri $3$3'); - args.form.optionSource = link.href.replace(related, '$1$1 model.$2 $3$3'); - }; - }; - - mdSelectFrag.setAttribute('sfm-external-options', args.form.optionSource); - } - else { - args.form.selectOptions = sfOptionsProcessor(args.form); - }; - }; - - function mdDatepickerBuilder(args) { - console.log( "Date Picker", args ); - var mdDatepickerFrag = args.fieldFrag.querySelector('md-datepicker'); - if (mdDatepickerFrag) { - if (args.form.onChange) { - mdDatepickerFrag.setAttribute('ng-change', 'args.form.onChange(searchText)'); - } - // mdDatepickerFrag.setAttribute('md-items', 'item in $filter(''autocomplete'')(searchText);'); - var minDate = args.form.minimum || false; - var maxDate = args.form.maximum || false; - if (minDate) { - mdDatepickerFrag.setAttribute('md-min-date', minDate); - } - if (maxDate) { - mdDatepickerFrag.setAttribute('md-max-date', maxDate); - } - - if ( args.form.mdHideIcons ) { - mdDatepickerFrag.setAttribute('md-hide-icons', args.form.mdHideIcons ); - } - } - }; - - function mdTimepickerBuilder(args) { - console.log( "Time Picker", args ); - var mdDatepickerFrag = args.fieldFrag.querySelector('md-datepicker'); - if (mdDatepickerFrag) { - if (args.form.onChange) { - mdDatepickerFrag.setAttribute('ng-change', 'args.form.onChange(searchText)'); - } - // mdDatepickerFrag.setAttribute('md-items', 'item in $filter(''autocomplete'')(searchText);'); - var minDate = args.form.minimum || false; - var maxDate = args.form.maximum || false; - if (minDate) { - mdDatepickerFrag.setAttribute('md-min-date', minDate); - } - if (maxDate) { - mdDatepickerFrag.setAttribute('md-max-date', maxDate); - } - - if ( args.form.mdHideIcons ) { - mdDatepickerFrag.setAttribute('md-hide-icons', args.form.mdHideIcons ); - } - } - }; - - function mdTabsBuilder(args) { - if (args.form.tabs && args.form.tabs.length > 0) { - var mdTabsFrag = args.fieldFrag.querySelector('md-tabs'); - - args.form.tabs.forEach(function(tab, index) { - var mdTab = document.createElement('md-tab'); - mdTab.setAttribute('label', '{{' + args.path + '.tabs[' + index + '].title}}'); - var mdTabBody = document.createElement('md-tab-body'); - var childFrag = args.build(tab.items, args.path + '.tabs[' + index + '].items', args.state); - mdTabBody.appendChild(childFrag); - mdTab.appendChild(mdTabBody); - mdTabsFrag.appendChild(mdTab); - }); - } - }; - - /** - * Material Datepicker - */ - function dateDefault(name, schema, options) { - if (schema.type === 'string' && (schema.format === 'date' || schema.format === 'date-time')) { - var f = schemaFormProvider.stdFormObj(name, schema, options); - f.key = options.path; - f.type = 'date'; - options.lookup[sfPathProvider.stringify(options.path)] = f; - return f; - } - }; - function dateObjectDefault(name, schema, options) { - if (schema.type === 'object' && (schema.format === 'date' || schema.format === 'date-time')) { - var f = schemaFormProvider.stdFormObj(name, schema, options); - f.key = options.path; - f.type = 'date'; - options.lookup[sfPathProvider.stringify(options.path)] = f; - return f; - } - }; - - /** - * Material Timepicker - */ - function timeDefault(name, schema, options) { - if (schema.type === 'string' && schema.format === 'time' ) { - var f = schemaFormProvider.stdFormObj(name, schema, options); - f.key = options.path; - f.type = 'time'; - options.lookup[sfPathProvider.stringify(options.path)] = f; - return f; - } - }; - function timeObjectDefault(name, schema, options) { - if (schema.type === 'object' && schema.format === 'time' ) { - var f = schemaFormProvider.stdFormObj(name, schema, options); - f.key = options.path; - f.type = 'time'; - options.lookup[sfPathProvider.stringify(options.path)] = f; - return f; - } - }; - - }; - - function getOptionsHandler(form, evalExpr) { - if (form.optionData) { - return evalExpr(form.optionData); - }; - - if (form.selectOptions) { - return form.selectOptions; - }; - - return []; - }; - - function sfOptionsProcessor(data) { - var enumTitleMap = []; - - if (data.titleMap) { - return data.titleMap; - } - else if (data.enum && data.enum.length) { - for (i = 0; i < data.enum.length; i++) { - if (data.enum[i] && data.enum[i].length) { - enumTitleMap.push({ name: data.enum[i], value: data.enum[i] }); - }; - }; - }; - - return enumTitleMap; - }; - - sfmExternalOptionsDirective.$inject = [ '$http' ]; - - function sfmExternalOptionsDirective($http) { - var directive = { - link: link, - restrict: 'A' - }; - - return directive; - - function link(scope, element, attrs) { - attrs.$observe('sfmExternalOptions', function(dataURI) { - $http.get(dataURI) - .then(function(response) { - scope.form.selectOptions = sfOptionsProcessor(response.data); - }); - }); - }; - }; - - /** - * sfCamelKey Filter - */ - function sfCamelKeyFilter() { - return function(formKey) { - if (!formKey) { return ''; }; - var part, i, key; - key = formKey.slice(); - for (i = 0; i < key.length; i++) { - part = key[i].toLowerCase().split(''); - if (i && part.length) { part[0] = part[0].toUpperCase(); }; - key[i] = part.join(''); - }; - return key.join(''); - }; - }; + if (form.selectOptions) { + return form.selectOptions; + } + ; + + return []; + }; + + function sfOptionsProcessor(data) { + var enumTitleMap = []; + + if (data.titleMap) { + return data.titleMap; + } + else if (data.enum && data.enum.length) { + for (i = 0; i < data.enum.length; i++) { + if (data.enum[i] && data.enum[i].length) { + enumTitleMap.push({name: data.enum[i], value: data.enum[i]}); + } + ; + } + ; + } + ; + + return enumTitleMap; + }; + + sfmExternalOptionsDirective.$inject = ['$http']; + + function sfmExternalOptionsDirective($http) { + var directive = { + link: link, + restrict: 'A' + }; + + return directive; + + function link(scope, element, attrs) { + attrs.$observe('sfmExternalOptions', function (dataURI) { + $http.get(dataURI) + .then(function (response) { + scope.form.selectOptions = sfOptionsProcessor(response.data); + }); + }); + }; + }; + + /** + * sfCamelKey Filter + */ + function sfCamelKeyFilter() { + return function (formKey) { + if (!formKey) { + return ''; + } + ; + var part, i, key; + key = formKey.slice(); + for (i = 0; i < key.length; i++) { + part = key[i].toLowerCase().split(''); + if (i && part.length) { + part[0] = part[0].toUpperCase(); + } + ; + key[i] = part.join(''); + } + ; + return key.join(''); + }; + }; })(angular, undefined); /* diff --git a/src/select.html b/src/select.html index 43374c6..598d202 100644 --- a/src/select.html +++ b/src/select.html @@ -3,7 +3,7 @@ ng-class="{'has-error': hasError(), 'has-success': hasSuccess(), 'has-feedback': form.feedback !== false}" sf-messages sf-layout> - + - - + From 2314256cef9a8c3e3ff562026f96a8b85ffc71d0 Mon Sep 17 00:00:00 2001 From: Brian Kelley Date: Tue, 31 Jul 2018 10:41:32 -0500 Subject: [PATCH 22/23] bump --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 066fb72..0449f37 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "angular-schema-form-material", - "version": "1.0.0-alpha.2", + "version": "1.0.0-alpha.5", "description": "Angular Material decorator for Angular Schema Form", "main": "dist/material-decorator.js", "scripts": { From 15c2ef4dcd0519eeb6a1c30a6b1d219cb90d670a Mon Sep 17 00:00:00 2001 From: Brian Kelley Date: Mon, 13 Apr 2020 10:07:09 -0500 Subject: [PATCH 23/23] updates --- dist/angular-schema-form-material.js | 4 ++-- src/angular-schema-form-material-templates.js | 2 +- src/angular-schema-form-material-templates.min.js | 2 +- src/card.html | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/dist/angular-schema-form-material.js b/dist/angular-schema-form-material.js index 8b14e36..aed1830 100644 --- a/dist/angular-schema-form-material.js +++ b/dist/angular-schema-form-material.js @@ -1,6 +1,6 @@ /*! * angular-schema-form-material - * @version 1.0.0-alpha.1 + * @version 1.0.0-alpha.5 * @link https://github.com/json-schema-form/angular-schema-form-material * @license MIT * Copyright (c) 2016 JSON Schema Form @@ -3743,7 +3743,7 @@ return /******/ (function(modules) { // webpackBootstrap $templateCache.put("decorators/material/array.html", "
= modelArray.length\" class=\"md-icon-button\" aria-label=\"More\" style=\"position: relative; z-index: 20;\">close
{{ form.add || \'Add\'}}
"); $templateCache.put("decorators/material/autocomplete.html", "
{{item.name}}No matches found
"); $templateCache.put("decorators/material/card-content.html", ""); - $templateCache.put("decorators/material/card.html", "{{ form.title }}"); + $templateCache.put("decorators/material/card.html", "{{ form.title }}"); $templateCache.put("decorators/material/checkbox.html", "
{{::form.title}}
"); $templateCache.put("decorators/material/checkboxes.html", "
{{::form.titleMap[$index].name}}
"); $templateCache.put("decorators/material/chips.html", "
{{$chip}}
"); diff --git a/src/angular-schema-form-material-templates.js b/src/angular-schema-form-material-templates.js index a181661..54092a9 100644 --- a/src/angular-schema-form-material-templates.js +++ b/src/angular-schema-form-material-templates.js @@ -3,7 +3,7 @@ $templateCache.put("decorators/material/actions.html","
= modelArray.length\" class=\"md-icon-button\" aria-label=\"More\" style=\"position: relative; z-index: 20;\">close
{{ form.add || \'Add\'}}
"); $templateCache.put("decorators/material/autocomplete.html","
{{item.name}}No matches found
"); $templateCache.put("decorators/material/card-content.html",""); -$templateCache.put("decorators/material/card.html","{{ form.title }}"); +$templateCache.put("decorators/material/card.html","{{ form.title }}"); $templateCache.put("decorators/material/checkbox.html","
{{::form.title}}
"); $templateCache.put("decorators/material/checkboxes.html","
{{::form.titleMap[$index].name}}
"); $templateCache.put("decorators/material/chips.html","
{{$chip}}
"); diff --git a/src/angular-schema-form-material-templates.min.js b/src/angular-schema-form-material-templates.min.js index ce93a2f..ec72ee1 100644 --- a/src/angular-schema-form-material-templates.min.js +++ b/src/angular-schema-form-material-templates.min.js @@ -1 +1 @@ -angular.module("schemaForm").run(["$templateCache",function(e){e.put("decorators/material/actions-trcl.html",'
'),e.put("decorators/material/actions.html",'
'),e.put("decorators/material/array.html",'
close
{{ form.add || \'Add\'}}
'),e.put("decorators/material/autocomplete.html",'
{{item.name}}No matches found
'),e.put("decorators/material/card-content.html",''),e.put("decorators/material/card.html",'{{ form.title }}'),e.put("decorators/material/checkbox.html",'
{{::form.title}}
'),e.put("decorators/material/checkboxes.html",'
{{::form.titleMap[$index].name}}
'),e.put("decorators/material/chips.html",'
{{$chip}}
'),e.put("decorators/material/date.html",''),e.put("decorators/material/default.html",' '),e.put("decorators/material/fieldset-trcl.html",'
{{ form.title }}
'),e.put("decorators/material/fieldset.html",'
{{ form.title }}
'),e.put("decorators/material/help.html",'
'),e.put("decorators/material/radio-buttons.html",'
'),e.put("decorators/material/radios-inline.html",'
'),e.put("decorators/material/radios.html",'
'),e.put("decorators/material/section.html",''),e.put("decorators/material/select.html",'{{::filtered.name}}{{::opt.name}}
'),e.put("decorators/material/slider.html",''),e.put("decorators/material/submit.html",'
{{::form.tip}}{{::form.title}}
'),e.put("decorators/material/switch.html",'{{::form.title}}'),e.put("decorators/material/tabarray.html",''),e.put("decorators/material/tabs.html",'
'),e.put("decorators/material/textarea.html",' '),e.put("decorators/material/timepicker.html",'')}]); \ No newline at end of file +angular.module("schemaForm").run(["$templateCache",function(e){e.put("decorators/material/actions-trcl.html",'
'),e.put("decorators/material/actions.html",'
'),e.put("decorators/material/array.html",'
close
{{ form.add || \'Add\'}}
'),e.put("decorators/material/autocomplete.html",'
{{item.name}}No matches found
'),e.put("decorators/material/card-content.html",''),e.put("decorators/material/card.html",'{{ form.title }}'),e.put("decorators/material/checkbox.html",'
{{::form.title}}
'),e.put("decorators/material/checkboxes.html",'
{{::form.titleMap[$index].name}}
'),e.put("decorators/material/chips.html",'
{{$chip}}
'),e.put("decorators/material/date.html",''),e.put("decorators/material/default.html",' '),e.put("decorators/material/fieldset-trcl.html",'
{{ form.title }}
'),e.put("decorators/material/fieldset.html",'
{{ form.title }}
'),e.put("decorators/material/help.html",'
'),e.put("decorators/material/radio-buttons.html",'
'),e.put("decorators/material/radios-inline.html",'
'),e.put("decorators/material/radios.html",'
'),e.put("decorators/material/section.html",''),e.put("decorators/material/select.html",'{{::filtered.name}}{{::opt.name}}
'),e.put("decorators/material/slider.html",''),e.put("decorators/material/submit.html",'
{{::form.tip}}{{::form.title}}
'),e.put("decorators/material/switch.html",'{{::form.title}}'),e.put("decorators/material/tabarray.html",''),e.put("decorators/material/tabs.html",'
'),e.put("decorators/material/textarea.html",' '),e.put("decorators/material/timepicker.html",'')}]); \ No newline at end of file diff --git a/src/card.html b/src/card.html index dee8c6d..9eb534e 100644 --- a/src/card.html +++ b/src/card.html @@ -5,5 +5,5 @@ {{ form.title }}
- +