|
{plugin.name}
@@ -161,7 +161,9 @@ class Plugins extends React.PureComponent {
- {error}
+
+ {error}
+
)}
diff --git a/app/ui/components/settings/shortcuts.js b/packages/insomnia-app/app/ui/components/settings/shortcuts.js
similarity index 100%
rename from app/ui/components/settings/shortcuts.js
rename to packages/insomnia-app/app/ui/components/settings/shortcuts.js
diff --git a/app/ui/components/settings/theme.js b/packages/insomnia-app/app/ui/components/settings/theme.js
similarity index 100%
rename from app/ui/components/settings/theme.js
rename to packages/insomnia-app/app/ui/components/settings/theme.js
diff --git a/app/ui/components/sidebar/sidebar-children.js b/packages/insomnia-app/app/ui/components/sidebar/sidebar-children.js
similarity index 100%
rename from app/ui/components/sidebar/sidebar-children.js
rename to packages/insomnia-app/app/ui/components/sidebar/sidebar-children.js
diff --git a/app/ui/components/sidebar/sidebar-filter.js b/packages/insomnia-app/app/ui/components/sidebar/sidebar-filter.js
similarity index 100%
rename from app/ui/components/sidebar/sidebar-filter.js
rename to packages/insomnia-app/app/ui/components/sidebar/sidebar-filter.js
diff --git a/app/ui/components/sidebar/sidebar-request-group-row.js b/packages/insomnia-app/app/ui/components/sidebar/sidebar-request-group-row.js
similarity index 100%
rename from app/ui/components/sidebar/sidebar-request-group-row.js
rename to packages/insomnia-app/app/ui/components/sidebar/sidebar-request-group-row.js
diff --git a/app/ui/components/sidebar/sidebar-request-row.js b/packages/insomnia-app/app/ui/components/sidebar/sidebar-request-row.js
similarity index 100%
rename from app/ui/components/sidebar/sidebar-request-row.js
rename to packages/insomnia-app/app/ui/components/sidebar/sidebar-request-row.js
diff --git a/app/ui/components/sidebar/sidebar.js b/packages/insomnia-app/app/ui/components/sidebar/sidebar.js
similarity index 100%
rename from app/ui/components/sidebar/sidebar.js
rename to packages/insomnia-app/app/ui/components/sidebar/sidebar.js
diff --git a/app/ui/components/tags/method-tag.js b/packages/insomnia-app/app/ui/components/tags/method-tag.js
similarity index 100%
rename from app/ui/components/tags/method-tag.js
rename to packages/insomnia-app/app/ui/components/tags/method-tag.js
diff --git a/app/ui/components/tags/size-tag.js b/packages/insomnia-app/app/ui/components/tags/size-tag.js
similarity index 100%
rename from app/ui/components/tags/size-tag.js
rename to packages/insomnia-app/app/ui/components/tags/size-tag.js
diff --git a/app/ui/components/tags/status-tag.js b/packages/insomnia-app/app/ui/components/tags/status-tag.js
similarity index 100%
rename from app/ui/components/tags/status-tag.js
rename to packages/insomnia-app/app/ui/components/tags/status-tag.js
diff --git a/app/ui/components/tags/time-tag.js b/packages/insomnia-app/app/ui/components/tags/time-tag.js
similarity index 100%
rename from app/ui/components/tags/time-tag.js
rename to packages/insomnia-app/app/ui/components/tags/time-tag.js
diff --git a/app/ui/components/templating/tag-editor.js b/packages/insomnia-app/app/ui/components/templating/tag-editor.js
similarity index 100%
rename from app/ui/components/templating/tag-editor.js
rename to packages/insomnia-app/app/ui/components/templating/tag-editor.js
diff --git a/app/ui/components/templating/variable-editor.js b/packages/insomnia-app/app/ui/components/templating/variable-editor.js
similarity index 100%
rename from app/ui/components/templating/variable-editor.js
rename to packages/insomnia-app/app/ui/components/templating/variable-editor.js
diff --git a/app/ui/components/time-from-now.js b/packages/insomnia-app/app/ui/components/time-from-now.js
similarity index 100%
rename from app/ui/components/time-from-now.js
rename to packages/insomnia-app/app/ui/components/time-from-now.js
diff --git a/app/ui/components/toast.js b/packages/insomnia-app/app/ui/components/toast.js
similarity index 100%
rename from app/ui/components/toast.js
rename to packages/insomnia-app/app/ui/components/toast.js
diff --git a/app/ui/components/tooltip.js b/packages/insomnia-app/app/ui/components/tooltip.js
similarity index 100%
rename from app/ui/components/tooltip.js
rename to packages/insomnia-app/app/ui/components/tooltip.js
diff --git a/app/ui/components/viewers/response-cookies-viewer.js b/packages/insomnia-app/app/ui/components/viewers/response-cookies-viewer.js
similarity index 100%
rename from app/ui/components/viewers/response-cookies-viewer.js
rename to packages/insomnia-app/app/ui/components/viewers/response-cookies-viewer.js
diff --git a/app/ui/components/viewers/response-error.js b/packages/insomnia-app/app/ui/components/viewers/response-error.js
similarity index 100%
rename from app/ui/components/viewers/response-error.js
rename to packages/insomnia-app/app/ui/components/viewers/response-error.js
diff --git a/app/ui/components/viewers/response-headers-viewer.js b/packages/insomnia-app/app/ui/components/viewers/response-headers-viewer.js
similarity index 100%
rename from app/ui/components/viewers/response-headers-viewer.js
rename to packages/insomnia-app/app/ui/components/viewers/response-headers-viewer.js
diff --git a/app/ui/components/viewers/response-multipart.js b/packages/insomnia-app/app/ui/components/viewers/response-multipart.js
similarity index 100%
rename from app/ui/components/viewers/response-multipart.js
rename to packages/insomnia-app/app/ui/components/viewers/response-multipart.js
diff --git a/app/ui/components/viewers/response-raw.js b/packages/insomnia-app/app/ui/components/viewers/response-raw.js
similarity index 100%
rename from app/ui/components/viewers/response-raw.js
rename to packages/insomnia-app/app/ui/components/viewers/response-raw.js
diff --git a/app/ui/components/viewers/response-timeline-viewer.js b/packages/insomnia-app/app/ui/components/viewers/response-timeline-viewer.js
similarity index 100%
rename from app/ui/components/viewers/response-timeline-viewer.js
rename to packages/insomnia-app/app/ui/components/viewers/response-timeline-viewer.js
diff --git a/app/ui/components/viewers/response-viewer.js b/packages/insomnia-app/app/ui/components/viewers/response-viewer.js
similarity index 100%
rename from app/ui/components/viewers/response-viewer.js
rename to packages/insomnia-app/app/ui/components/viewers/response-viewer.js
diff --git a/app/ui/components/viewers/response-webview.js b/packages/insomnia-app/app/ui/components/viewers/response-webview.js
similarity index 100%
rename from app/ui/components/viewers/response-webview.js
rename to packages/insomnia-app/app/ui/components/viewers/response-webview.js
diff --git a/app/ui/components/wrap.js b/packages/insomnia-app/app/ui/components/wrap.js
similarity index 100%
rename from app/ui/components/wrap.js
rename to packages/insomnia-app/app/ui/components/wrap.js
diff --git a/app/ui/components/wrapper.js b/packages/insomnia-app/app/ui/components/wrapper.js
similarity index 100%
rename from app/ui/components/wrapper.js
rename to packages/insomnia-app/app/ui/components/wrapper.js
diff --git a/app/ui/containers/app.js b/packages/insomnia-app/app/ui/containers/app.js
similarity index 100%
rename from app/ui/containers/app.js
rename to packages/insomnia-app/app/ui/containers/app.js
diff --git a/app/ui/css/components/app.less b/packages/insomnia-app/app/ui/css/components/app.less
similarity index 100%
rename from app/ui/css/components/app.less
rename to packages/insomnia-app/app/ui/css/components/app.less
diff --git a/app/ui/css/components/blocker-overlay.less b/packages/insomnia-app/app/ui/css/components/blocker-overlay.less
similarity index 100%
rename from app/ui/css/components/blocker-overlay.less
rename to packages/insomnia-app/app/ui/css/components/blocker-overlay.less
diff --git a/app/ui/css/components/changelog.less b/packages/insomnia-app/app/ui/css/components/changelog.less
similarity index 100%
rename from app/ui/css/components/changelog.less
rename to packages/insomnia-app/app/ui/css/components/changelog.less
diff --git a/app/ui/css/components/cookie-list.less b/packages/insomnia-app/app/ui/css/components/cookie-list.less
similarity index 100%
rename from app/ui/css/components/cookie-list.less
rename to packages/insomnia-app/app/ui/css/components/cookie-list.less
diff --git a/app/ui/css/components/cookie-modify-modal.less b/packages/insomnia-app/app/ui/css/components/cookie-modify-modal.less
similarity index 100%
rename from app/ui/css/components/cookie-modify-modal.less
rename to packages/insomnia-app/app/ui/css/components/cookie-modify-modal.less
diff --git a/app/ui/css/components/dropdown.less b/packages/insomnia-app/app/ui/css/components/dropdown.less
similarity index 100%
rename from app/ui/css/components/dropdown.less
rename to packages/insomnia-app/app/ui/css/components/dropdown.less
diff --git a/app/ui/css/components/editable.less b/packages/insomnia-app/app/ui/css/components/editable.less
similarity index 100%
rename from app/ui/css/components/editable.less
rename to packages/insomnia-app/app/ui/css/components/editable.less
diff --git a/app/ui/css/components/environment-editor.less b/packages/insomnia-app/app/ui/css/components/environment-editor.less
similarity index 100%
rename from app/ui/css/components/environment-editor.less
rename to packages/insomnia-app/app/ui/css/components/environment-editor.less
diff --git a/app/ui/css/components/environment-modal.less b/packages/insomnia-app/app/ui/css/components/environment-modal.less
similarity index 100%
rename from app/ui/css/components/environment-modal.less
rename to packages/insomnia-app/app/ui/css/components/environment-modal.less
diff --git a/app/ui/css/components/forms.less b/packages/insomnia-app/app/ui/css/components/forms.less
similarity index 100%
rename from app/ui/css/components/forms.less
rename to packages/insomnia-app/app/ui/css/components/forms.less
diff --git a/app/ui/css/components/graph-ql-editor.less b/packages/insomnia-app/app/ui/css/components/graph-ql-editor.less
similarity index 100%
rename from app/ui/css/components/graph-ql-editor.less
rename to packages/insomnia-app/app/ui/css/components/graph-ql-editor.less
diff --git a/app/ui/css/components/header-editor.less b/packages/insomnia-app/app/ui/css/components/header-editor.less
similarity index 100%
rename from app/ui/css/components/header-editor.less
rename to packages/insomnia-app/app/ui/css/components/header-editor.less
diff --git a/app/ui/css/components/key-value-editor.less b/packages/insomnia-app/app/ui/css/components/key-value-editor.less
similarity index 100%
rename from app/ui/css/components/key-value-editor.less
rename to packages/insomnia-app/app/ui/css/components/key-value-editor.less
diff --git a/app/ui/css/components/links.less b/packages/insomnia-app/app/ui/css/components/links.less
similarity index 100%
rename from app/ui/css/components/links.less
rename to packages/insomnia-app/app/ui/css/components/links.less
diff --git a/app/ui/css/components/markdown-editor.less b/packages/insomnia-app/app/ui/css/components/markdown-editor.less
similarity index 100%
rename from app/ui/css/components/markdown-editor.less
rename to packages/insomnia-app/app/ui/css/components/markdown-editor.less
diff --git a/app/ui/css/components/markdown-preview.less b/packages/insomnia-app/app/ui/css/components/markdown-preview.less
similarity index 100%
rename from app/ui/css/components/markdown-preview.less
rename to packages/insomnia-app/app/ui/css/components/markdown-preview.less
diff --git a/app/ui/css/components/method-dropdown.less b/packages/insomnia-app/app/ui/css/components/method-dropdown.less
similarity index 100%
rename from app/ui/css/components/method-dropdown.less
rename to packages/insomnia-app/app/ui/css/components/method-dropdown.less
diff --git a/app/ui/css/components/modal.less b/packages/insomnia-app/app/ui/css/components/modal.less
similarity index 100%
rename from app/ui/css/components/modal.less
rename to packages/insomnia-app/app/ui/css/components/modal.less
diff --git a/app/ui/css/components/overlay.less b/packages/insomnia-app/app/ui/css/components/overlay.less
similarity index 100%
rename from app/ui/css/components/overlay.less
rename to packages/insomnia-app/app/ui/css/components/overlay.less
diff --git a/app/ui/css/components/pane.less b/packages/insomnia-app/app/ui/css/components/pane.less
similarity index 100%
rename from app/ui/css/components/pane.less
rename to packages/insomnia-app/app/ui/css/components/pane.less
diff --git a/app/ui/css/components/query-editor.less b/packages/insomnia-app/app/ui/css/components/query-editor.less
similarity index 100%
rename from app/ui/css/components/query-editor.less
rename to packages/insomnia-app/app/ui/css/components/query-editor.less
diff --git a/app/ui/css/components/request-pane.less b/packages/insomnia-app/app/ui/css/components/request-pane.less
similarity index 100%
rename from app/ui/css/components/request-pane.less
rename to packages/insomnia-app/app/ui/css/components/request-pane.less
diff --git a/app/ui/css/components/request-switcher.less b/packages/insomnia-app/app/ui/css/components/request-switcher.less
similarity index 100%
rename from app/ui/css/components/request-switcher.less
rename to packages/insomnia-app/app/ui/css/components/request-switcher.less
diff --git a/app/ui/css/components/request-url-bar.less b/packages/insomnia-app/app/ui/css/components/request-url-bar.less
similarity index 100%
rename from app/ui/css/components/request-url-bar.less
rename to packages/insomnia-app/app/ui/css/components/request-url-bar.less
diff --git a/app/ui/css/components/response-pane.less b/packages/insomnia-app/app/ui/css/components/response-pane.less
similarity index 100%
rename from app/ui/css/components/response-pane.less
rename to packages/insomnia-app/app/ui/css/components/response-pane.less
diff --git a/app/ui/css/components/scrollbar.less b/packages/insomnia-app/app/ui/css/components/scrollbar.less
similarity index 100%
rename from app/ui/css/components/scrollbar.less
rename to packages/insomnia-app/app/ui/css/components/scrollbar.less
diff --git a/app/ui/css/components/sidebar.less b/packages/insomnia-app/app/ui/css/components/sidebar.less
similarity index 100%
rename from app/ui/css/components/sidebar.less
rename to packages/insomnia-app/app/ui/css/components/sidebar.less
diff --git a/app/ui/css/components/tabs.less b/packages/insomnia-app/app/ui/css/components/tabs.less
similarity index 100%
rename from app/ui/css/components/tabs.less
rename to packages/insomnia-app/app/ui/css/components/tabs.less
diff --git a/app/ui/css/components/tag.less b/packages/insomnia-app/app/ui/css/components/tag.less
similarity index 100%
rename from app/ui/css/components/tag.less
rename to packages/insomnia-app/app/ui/css/components/tag.less
diff --git a/app/ui/css/components/themes.less b/packages/insomnia-app/app/ui/css/components/themes.less
similarity index 100%
rename from app/ui/css/components/themes.less
rename to packages/insomnia-app/app/ui/css/components/themes.less
diff --git a/app/ui/css/components/toast.less b/packages/insomnia-app/app/ui/css/components/toast.less
similarity index 100%
rename from app/ui/css/components/toast.less
rename to packages/insomnia-app/app/ui/css/components/toast.less
diff --git a/app/ui/css/components/tooltip.less b/packages/insomnia-app/app/ui/css/components/tooltip.less
similarity index 100%
rename from app/ui/css/components/tooltip.less
rename to packages/insomnia-app/app/ui/css/components/tooltip.less
diff --git a/app/ui/css/components/workspace-dropdown.less b/packages/insomnia-app/app/ui/css/components/workspace-dropdown.less
similarity index 100%
rename from app/ui/css/components/workspace-dropdown.less
rename to packages/insomnia-app/app/ui/css/components/workspace-dropdown.less
diff --git a/app/ui/css/components/wrapper.less b/packages/insomnia-app/app/ui/css/components/wrapper.less
similarity index 100%
rename from app/ui/css/components/wrapper.less
rename to packages/insomnia-app/app/ui/css/components/wrapper.less
diff --git a/app/ui/css/constants/animations.less b/packages/insomnia-app/app/ui/css/constants/animations.less
similarity index 100%
rename from app/ui/css/constants/animations.less
rename to packages/insomnia-app/app/ui/css/constants/animations.less
diff --git a/app/ui/css/constants/colors.less b/packages/insomnia-app/app/ui/css/constants/colors.less
similarity index 100%
rename from app/ui/css/constants/colors.less
rename to packages/insomnia-app/app/ui/css/constants/colors.less
diff --git a/app/ui/css/constants/dimensions.less b/packages/insomnia-app/app/ui/css/constants/dimensions.less
similarity index 100%
rename from app/ui/css/constants/dimensions.less
rename to packages/insomnia-app/app/ui/css/constants/dimensions.less
diff --git a/app/ui/css/constants/fonts.less b/packages/insomnia-app/app/ui/css/constants/fonts.less
similarity index 100%
rename from app/ui/css/constants/fonts.less
rename to packages/insomnia-app/app/ui/css/constants/fonts.less
diff --git a/app/ui/css/editor/dialog.less b/packages/insomnia-app/app/ui/css/editor/dialog.less
similarity index 100%
rename from app/ui/css/editor/dialog.less
rename to packages/insomnia-app/app/ui/css/editor/dialog.less
diff --git a/app/ui/css/editor/general.less b/packages/insomnia-app/app/ui/css/editor/general.less
similarity index 100%
rename from app/ui/css/editor/general.less
rename to packages/insomnia-app/app/ui/css/editor/general.less
diff --git a/app/ui/css/editor/hints.less b/packages/insomnia-app/app/ui/css/editor/hints.less
similarity index 100%
rename from app/ui/css/editor/hints.less
rename to packages/insomnia-app/app/ui/css/editor/hints.less
diff --git a/app/ui/css/editor/index.less b/packages/insomnia-app/app/ui/css/editor/index.less
similarity index 100%
rename from app/ui/css/editor/index.less
rename to packages/insomnia-app/app/ui/css/editor/index.less
diff --git a/app/ui/css/editor/nunjucks-tag.less b/packages/insomnia-app/app/ui/css/editor/nunjucks-tag.less
similarity index 100%
rename from app/ui/css/editor/nunjucks-tag.less
rename to packages/insomnia-app/app/ui/css/editor/nunjucks-tag.less
diff --git a/app/ui/css/editor/one-line-editor.less b/packages/insomnia-app/app/ui/css/editor/one-line-editor.less
similarity index 100%
rename from app/ui/css/editor/one-line-editor.less
rename to packages/insomnia-app/app/ui/css/editor/one-line-editor.less
diff --git a/app/ui/css/editor/theme.less b/packages/insomnia-app/app/ui/css/editor/theme.less
similarity index 100%
rename from app/ui/css/editor/theme.less
rename to packages/insomnia-app/app/ui/css/editor/theme.less
diff --git a/app/ui/css/editor/tooltip.less b/packages/insomnia-app/app/ui/css/editor/tooltip.less
similarity index 100%
rename from app/ui/css/editor/tooltip.less
rename to packages/insomnia-app/app/ui/css/editor/tooltip.less
diff --git a/app/ui/css/index.less b/packages/insomnia-app/app/ui/css/index.less
similarity index 100%
rename from app/ui/css/index.less
rename to packages/insomnia-app/app/ui/css/index.less
diff --git a/app/ui/css/layout/base.less b/packages/insomnia-app/app/ui/css/layout/base.less
similarity index 100%
rename from app/ui/css/layout/base.less
rename to packages/insomnia-app/app/ui/css/layout/base.less
diff --git a/app/ui/css/lib/chrome/platform_app.css b/packages/insomnia-app/app/ui/css/lib/chrome/platform_app.css
similarity index 100%
rename from app/ui/css/lib/chrome/platform_app.css
rename to packages/insomnia-app/app/ui/css/lib/chrome/platform_app.css
diff --git a/app/ui/css/lib/codemirror/codemirror.css b/packages/insomnia-app/app/ui/css/lib/codemirror/codemirror.css
similarity index 100%
rename from app/ui/css/lib/codemirror/codemirror.css
rename to packages/insomnia-app/app/ui/css/lib/codemirror/codemirror.css
diff --git a/app/ui/css/lib/codemirror/material.css b/packages/insomnia-app/app/ui/css/lib/codemirror/material.css
similarity index 100%
rename from app/ui/css/lib/codemirror/material.css
rename to packages/insomnia-app/app/ui/css/lib/codemirror/material.css
diff --git a/app/ui/css/lib/fontawesome/css/font-awesome.css b/packages/insomnia-app/app/ui/css/lib/fontawesome/css/font-awesome.css
similarity index 100%
rename from app/ui/css/lib/fontawesome/css/font-awesome.css
rename to packages/insomnia-app/app/ui/css/lib/fontawesome/css/font-awesome.css
diff --git a/app/ui/css/lib/fontawesome/fonts/fontawesome-webfont.woff2 b/packages/insomnia-app/app/ui/css/lib/fontawesome/fonts/fontawesome-webfont.woff2
similarity index 100%
rename from app/ui/css/lib/fontawesome/fonts/fontawesome-webfont.woff2
rename to packages/insomnia-app/app/ui/css/lib/fontawesome/fonts/fontawesome-webfont.woff2
diff --git a/app/ui/css/lib/fonts/fonts/Bold/OpenSans-Bold.woff2 b/packages/insomnia-app/app/ui/css/lib/fonts/fonts/Bold/OpenSans-Bold.woff2
similarity index 100%
rename from app/ui/css/lib/fonts/fonts/Bold/OpenSans-Bold.woff2
rename to packages/insomnia-app/app/ui/css/lib/fonts/fonts/Bold/OpenSans-Bold.woff2
diff --git a/app/ui/css/lib/fonts/fonts/BoldItalic/OpenSans-BoldItalic.woff2 b/packages/insomnia-app/app/ui/css/lib/fonts/fonts/BoldItalic/OpenSans-BoldItalic.woff2
similarity index 100%
rename from app/ui/css/lib/fonts/fonts/BoldItalic/OpenSans-BoldItalic.woff2
rename to packages/insomnia-app/app/ui/css/lib/fonts/fonts/BoldItalic/OpenSans-BoldItalic.woff2
diff --git a/app/ui/css/lib/fonts/fonts/ExtraBold/OpenSans-ExtraBold.woff2 b/packages/insomnia-app/app/ui/css/lib/fonts/fonts/ExtraBold/OpenSans-ExtraBold.woff2
similarity index 100%
rename from app/ui/css/lib/fonts/fonts/ExtraBold/OpenSans-ExtraBold.woff2
rename to packages/insomnia-app/app/ui/css/lib/fonts/fonts/ExtraBold/OpenSans-ExtraBold.woff2
diff --git a/app/ui/css/lib/fonts/fonts/ExtraBoldItalic/OpenSans-ExtraBoldItalic.woff2 b/packages/insomnia-app/app/ui/css/lib/fonts/fonts/ExtraBoldItalic/OpenSans-ExtraBoldItalic.woff2
similarity index 100%
rename from app/ui/css/lib/fonts/fonts/ExtraBoldItalic/OpenSans-ExtraBoldItalic.woff2
rename to packages/insomnia-app/app/ui/css/lib/fonts/fonts/ExtraBoldItalic/OpenSans-ExtraBoldItalic.woff2
diff --git a/app/ui/css/lib/fonts/fonts/Italic/OpenSans-Italic.woff2 b/packages/insomnia-app/app/ui/css/lib/fonts/fonts/Italic/OpenSans-Italic.woff2
similarity index 100%
rename from app/ui/css/lib/fonts/fonts/Italic/OpenSans-Italic.woff2
rename to packages/insomnia-app/app/ui/css/lib/fonts/fonts/Italic/OpenSans-Italic.woff2
diff --git a/app/ui/css/lib/fonts/fonts/Light/OpenSans-Light.woff2 b/packages/insomnia-app/app/ui/css/lib/fonts/fonts/Light/OpenSans-Light.woff2
similarity index 100%
rename from app/ui/css/lib/fonts/fonts/Light/OpenSans-Light.woff2
rename to packages/insomnia-app/app/ui/css/lib/fonts/fonts/Light/OpenSans-Light.woff2
diff --git a/app/ui/css/lib/fonts/fonts/LightItalic/OpenSans-LightItalic.woff2 b/packages/insomnia-app/app/ui/css/lib/fonts/fonts/LightItalic/OpenSans-LightItalic.woff2
similarity index 100%
rename from app/ui/css/lib/fonts/fonts/LightItalic/OpenSans-LightItalic.woff2
rename to packages/insomnia-app/app/ui/css/lib/fonts/fonts/LightItalic/OpenSans-LightItalic.woff2
diff --git a/app/ui/css/lib/fonts/fonts/Regular/OpenSans-Regular.woff2 b/packages/insomnia-app/app/ui/css/lib/fonts/fonts/Regular/OpenSans-Regular.woff2
similarity index 100%
rename from app/ui/css/lib/fonts/fonts/Regular/OpenSans-Regular.woff2
rename to packages/insomnia-app/app/ui/css/lib/fonts/fonts/Regular/OpenSans-Regular.woff2
diff --git a/app/ui/css/lib/fonts/fonts/Semibold/OpenSans-Semibold.woff2 b/packages/insomnia-app/app/ui/css/lib/fonts/fonts/Semibold/OpenSans-Semibold.woff2
similarity index 100%
rename from app/ui/css/lib/fonts/fonts/Semibold/OpenSans-Semibold.woff2
rename to packages/insomnia-app/app/ui/css/lib/fonts/fonts/Semibold/OpenSans-Semibold.woff2
diff --git a/app/ui/css/lib/fonts/fonts/SemiboldItalic/OpenSans-SemiboldItalic.woff2 b/packages/insomnia-app/app/ui/css/lib/fonts/fonts/SemiboldItalic/OpenSans-SemiboldItalic.woff2
similarity index 100%
rename from app/ui/css/lib/fonts/fonts/SemiboldItalic/OpenSans-SemiboldItalic.woff2
rename to packages/insomnia-app/app/ui/css/lib/fonts/fonts/SemiboldItalic/OpenSans-SemiboldItalic.woff2
diff --git a/app/ui/css/lib/fonts/open-sans.css b/packages/insomnia-app/app/ui/css/lib/fonts/open-sans.css
similarity index 100%
rename from app/ui/css/lib/fonts/open-sans.css
rename to packages/insomnia-app/app/ui/css/lib/fonts/open-sans.css
diff --git a/app/ui/css/reset.less b/packages/insomnia-app/app/ui/css/reset.less
similarity index 100%
rename from app/ui/css/reset.less
rename to packages/insomnia-app/app/ui/css/reset.less
diff --git a/app/ui/dnd-backend.js b/packages/insomnia-app/app/ui/dnd-backend.js
similarity index 100%
rename from app/ui/dnd-backend.js
rename to packages/insomnia-app/app/ui/dnd-backend.js
diff --git a/app/ui/images/dark.png b/packages/insomnia-app/app/ui/images/dark.png
similarity index 100%
rename from app/ui/images/dark.png
rename to packages/insomnia-app/app/ui/images/dark.png
diff --git a/app/ui/images/default.png b/packages/insomnia-app/app/ui/images/default.png
similarity index 100%
rename from app/ui/images/default.png
rename to packages/insomnia-app/app/ui/images/default.png
diff --git a/app/ui/images/light.png b/packages/insomnia-app/app/ui/images/light.png
similarity index 100%
rename from app/ui/images/light.png
rename to packages/insomnia-app/app/ui/images/light.png
diff --git a/app/ui/images/material.png b/packages/insomnia-app/app/ui/images/material.png
similarity index 100%
rename from app/ui/images/material.png
rename to packages/insomnia-app/app/ui/images/material.png
diff --git a/app/ui/images/purple.png b/packages/insomnia-app/app/ui/images/purple.png
similarity index 100%
rename from app/ui/images/purple.png
rename to packages/insomnia-app/app/ui/images/purple.png
diff --git a/app/ui/images/railscasts.png b/packages/insomnia-app/app/ui/images/railscasts.png
similarity index 100%
rename from app/ui/images/railscasts.png
rename to packages/insomnia-app/app/ui/images/railscasts.png
diff --git a/app/ui/images/solarized-dark.png b/packages/insomnia-app/app/ui/images/solarized-dark.png
similarity index 100%
rename from app/ui/images/solarized-dark.png
rename to packages/insomnia-app/app/ui/images/solarized-dark.png
diff --git a/app/ui/images/solarized-light.png b/packages/insomnia-app/app/ui/images/solarized-light.png
similarity index 100%
rename from app/ui/images/solarized-light.png
rename to packages/insomnia-app/app/ui/images/solarized-light.png
diff --git a/app/ui/images/solarized.png b/packages/insomnia-app/app/ui/images/solarized.png
similarity index 100%
rename from app/ui/images/solarized.png
rename to packages/insomnia-app/app/ui/images/solarized.png
diff --git a/app/ui/index.js b/packages/insomnia-app/app/ui/index.js
similarity index 100%
rename from app/ui/index.js
rename to packages/insomnia-app/app/ui/index.js
diff --git a/app/ui/redux/create.js b/packages/insomnia-app/app/ui/redux/create.js
similarity index 100%
rename from app/ui/redux/create.js
rename to packages/insomnia-app/app/ui/redux/create.js
diff --git a/app/ui/redux/modules/entities.js b/packages/insomnia-app/app/ui/redux/modules/entities.js
similarity index 100%
rename from app/ui/redux/modules/entities.js
rename to packages/insomnia-app/app/ui/redux/modules/entities.js
diff --git a/app/ui/redux/modules/global.js b/packages/insomnia-app/app/ui/redux/modules/global.js
similarity index 100%
rename from app/ui/redux/modules/global.js
rename to packages/insomnia-app/app/ui/redux/modules/global.js
diff --git a/app/ui/redux/modules/index.js b/packages/insomnia-app/app/ui/redux/modules/index.js
similarity index 100%
rename from app/ui/redux/modules/index.js
rename to packages/insomnia-app/app/ui/redux/modules/index.js
diff --git a/app/ui/redux/selectors.js b/packages/insomnia-app/app/ui/redux/selectors.js
similarity index 100%
rename from app/ui/redux/selectors.js
rename to packages/insomnia-app/app/ui/redux/selectors.js
diff --git a/bin/yarn-standalone.js b/packages/insomnia-app/bin/yarn-standalone.js
similarity index 100%
rename from bin/yarn-standalone.js
rename to packages/insomnia-app/bin/yarn-standalone.js
diff --git a/flow-typed/autobind-decorator.js b/packages/insomnia-app/flow-typed/autobind-decorator.js
similarity index 100%
rename from flow-typed/autobind-decorator.js
rename to packages/insomnia-app/flow-typed/autobind-decorator.js
diff --git a/flow-typed/aws4.js b/packages/insomnia-app/flow-typed/aws4.js
similarity index 100%
rename from flow-typed/aws4.js
rename to packages/insomnia-app/flow-typed/aws4.js
diff --git a/flow-typed/classnames.js b/packages/insomnia-app/flow-typed/classnames.js
similarity index 100%
rename from flow-typed/classnames.js
rename to packages/insomnia-app/flow-typed/classnames.js
diff --git a/flow-typed/clone.js b/packages/insomnia-app/flow-typed/clone.js
similarity index 100%
rename from flow-typed/clone.js
rename to packages/insomnia-app/flow-typed/clone.js
diff --git a/flow-typed/deep-equal.js b/packages/insomnia-app/flow-typed/deep-equal.js
similarity index 100%
rename from flow-typed/deep-equal.js
rename to packages/insomnia-app/flow-typed/deep-equal.js
diff --git a/flow-typed/electron-squirrel-startup.js b/packages/insomnia-app/flow-typed/electron-squirrel-startup.js
similarity index 100%
rename from flow-typed/electron-squirrel-startup.js
rename to packages/insomnia-app/flow-typed/electron-squirrel-startup.js
diff --git a/flow-typed/electron.js b/packages/insomnia-app/flow-typed/electron.js
similarity index 100%
rename from flow-typed/electron.js
rename to packages/insomnia-app/flow-typed/electron.js
diff --git a/flow-typed/graphql.js b/packages/insomnia-app/flow-typed/graphql.js
similarity index 100%
rename from flow-typed/graphql.js
rename to packages/insomnia-app/flow-typed/graphql.js
diff --git a/flow-typed/hawk.js b/packages/insomnia-app/flow-typed/hawk.js
similarity index 100%
rename from flow-typed/hawk.js
rename to packages/insomnia-app/flow-typed/hawk.js
diff --git a/flow-typed/iconv-lite.js b/packages/insomnia-app/flow-typed/iconv-lite.js
similarity index 100%
rename from flow-typed/iconv-lite.js
rename to packages/insomnia-app/flow-typed/iconv-lite.js
diff --git a/packages/insomnia-app/flow-typed/insomnia-cookies.js b/packages/insomnia-app/flow-typed/insomnia-cookies.js
new file mode 100644
index 0000000000..9425bd2c4a
--- /dev/null
+++ b/packages/insomnia-app/flow-typed/insomnia-cookies.js
@@ -0,0 +1,7 @@
+declare module 'insomnia-cookies' {
+ declare module.exports: {
+ cookieToString: Function,
+ jarFromCookies: Function,
+ cookiesFromJar: Function
+ }
+}
diff --git a/flow-typed/insomnia-importers.js b/packages/insomnia-app/flow-typed/insomnia-importers.js
similarity index 100%
rename from flow-typed/insomnia-importers.js
rename to packages/insomnia-app/flow-typed/insomnia-importers.js
diff --git a/flow-typed/insomnia-node-libcurl.js b/packages/insomnia-app/flow-typed/insomnia-node-libcurl.js
similarity index 100%
rename from flow-typed/insomnia-node-libcurl.js
rename to packages/insomnia-app/flow-typed/insomnia-node-libcurl.js
diff --git a/packages/insomnia-app/flow-typed/insomnia-plugin-hash.js b/packages/insomnia-app/flow-typed/insomnia-plugin-hash.js
new file mode 100644
index 0000000000..cde869e67a
--- /dev/null
+++ b/packages/insomnia-app/flow-typed/insomnia-plugin-hash.js
@@ -0,0 +1,7 @@
+import type {PluginTemplateTag} from '../app/templating/extensions/index';
+
+declare module 'insomnia-plugin-hash' {
+ declare module.exports: {
+ templateTags: Array
+ }
+}
diff --git a/packages/insomnia-app/flow-typed/insomnia-prettify.js b/packages/insomnia-app/flow-typed/insomnia-prettify.js
new file mode 100644
index 0000000000..a9cb2cd617
--- /dev/null
+++ b/packages/insomnia-app/flow-typed/insomnia-prettify.js
@@ -0,0 +1,5 @@
+declare module 'insomnia-prettify' {
+ declare module.exports: {
+ json: Function
+ }
+}
diff --git a/packages/insomnia-app/flow-typed/insomnia-url.js b/packages/insomnia-app/flow-typed/insomnia-url.js
new file mode 100644
index 0000000000..6761464499
--- /dev/null
+++ b/packages/insomnia-app/flow-typed/insomnia-url.js
@@ -0,0 +1,11 @@
+declare module 'insomnia-url' {
+ declare module.exports: {
+ setDefaultProtocol: Function,
+ smartEncodeUrl: Function,
+ joinUrlAndQueryString: Function,
+ deconstructQueryStringToParams: Function,
+ extractQueryStringFromUrl: Function,
+ buildQueryParameter: Function,
+ buildQueryStringFromParams: Function
+ }
+}
diff --git a/flow-typed/jsonpath.js b/packages/insomnia-app/flow-typed/jsonpath.js
similarity index 100%
rename from flow-typed/jsonpath.js
rename to packages/insomnia-app/flow-typed/jsonpath.js
diff --git a/flow-typed/jwt-authentication.js b/packages/insomnia-app/flow-typed/jwt-authentication.js
similarity index 100%
rename from flow-typed/jwt-authentication.js
rename to packages/insomnia-app/flow-typed/jwt-authentication.js
diff --git a/flow-typed/mime-types.js b/packages/insomnia-app/flow-typed/mime-types.js
similarity index 100%
rename from flow-typed/mime-types.js
rename to packages/insomnia-app/flow-typed/mime-types.js
diff --git a/flow-typed/mkdirp.js b/packages/insomnia-app/flow-typed/mkdirp.js
similarity index 100%
rename from flow-typed/mkdirp.js
rename to packages/insomnia-app/flow-typed/mkdirp.js
diff --git a/flow-typed/moment.js b/packages/insomnia-app/flow-typed/moment.js
similarity index 100%
rename from flow-typed/moment.js
rename to packages/insomnia-app/flow-typed/moment.js
diff --git a/flow-typed/multiparty.js b/packages/insomnia-app/flow-typed/multiparty.js
similarity index 100%
rename from flow-typed/multiparty.js
rename to packages/insomnia-app/flow-typed/multiparty.js
diff --git a/flow-typed/nedb.js b/packages/insomnia-app/flow-typed/nedb.js
similarity index 100%
rename from flow-typed/nedb.js
rename to packages/insomnia-app/flow-typed/nedb.js
diff --git a/flow-typed/nunjucks.js b/packages/insomnia-app/flow-typed/nunjucks.js
similarity index 100%
rename from flow-typed/nunjucks.js
rename to packages/insomnia-app/flow-typed/nunjucks.js
diff --git a/flow-typed/oauth-1.0a.js b/packages/insomnia-app/flow-typed/oauth-1.0a.js
similarity index 100%
rename from flow-typed/oauth-1.0a.js
rename to packages/insomnia-app/flow-typed/oauth-1.0a.js
diff --git a/flow-typed/pdfjs-dist.js b/packages/insomnia-app/flow-typed/pdfjs-dist.js
similarity index 100%
rename from flow-typed/pdfjs-dist.js
rename to packages/insomnia-app/flow-typed/pdfjs-dist.js
diff --git a/flow-typed/react-tabs.js b/packages/insomnia-app/flow-typed/react-tabs.js
similarity index 100%
rename from flow-typed/react-tabs.js
rename to packages/insomnia-app/flow-typed/react-tabs.js
diff --git a/flow-typed/tar.js b/packages/insomnia-app/flow-typed/tar.js
similarity index 100%
rename from flow-typed/tar.js
rename to packages/insomnia-app/flow-typed/tar.js
diff --git a/flow-typed/tough-cookie.js b/packages/insomnia-app/flow-typed/tough-cookie.js
similarity index 100%
rename from flow-typed/tough-cookie.js
rename to packages/insomnia-app/flow-typed/tough-cookie.js
diff --git a/flow-typed/uuid.js b/packages/insomnia-app/flow-typed/uuid.js
similarity index 100%
rename from flow-typed/uuid.js
rename to packages/insomnia-app/flow-typed/uuid.js
diff --git a/flow-typed/xmldom.js b/packages/insomnia-app/flow-typed/xmldom.js
similarity index 100%
rename from flow-typed/xmldom.js
rename to packages/insomnia-app/flow-typed/xmldom.js
diff --git a/flow-typed/xpath.js b/packages/insomnia-app/flow-typed/xpath.js
similarity index 100%
rename from flow-typed/xpath.js
rename to packages/insomnia-app/flow-typed/xpath.js
diff --git a/packages/insomnia-app/package-lock.json b/packages/insomnia-app/package-lock.json
new file mode 100644
index 0000000000..985deb5453
--- /dev/null
+++ b/packages/insomnia-app/package-lock.json
@@ -0,0 +1,18559 @@
+{
+ "name": "insomnia-app",
+ "version": "1.0.0",
+ "lockfileVersion": 1,
+ "requires": true,
+ "dependencies": {
+ "7zip-bin": {
+ "version": "2.2.7",
+ "resolved": "https://registry.npmjs.org/7zip-bin/-/7zip-bin-2.2.7.tgz",
+ "integrity": "sha512-+rr4OgeTNrLuJAf09o3USdttEYiXvZshWMkhD6wR9v1ieXH0JM1Q2yT41/cJuJcqiPpSXlM/g3aR+Y5MWQdr0Q==",
+ "dev": true,
+ "requires": {
+ "7zip-bin-mac": "1.0.1"
+ }
+ },
+ "7zip-bin-mac": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/7zip-bin-mac/-/7zip-bin-mac-1.0.1.tgz",
+ "integrity": "sha1-Pmh3i78JJq3GgVlCcHRQXUdVXAI=",
+ "dev": true,
+ "optional": true
+ },
+ "@types/node": {
+ "version": "7.0.48",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-7.0.48.tgz",
+ "integrity": "sha512-LLlXafM3BD52MH056tHxTXO8JFCnpJJQkdzIU3+m8ew+CXJY/5zIXgDNb4TK/QFvlI8QexLS5tL+sE0Qhegr1w==",
+ "dev": true
+ },
+ "JSONSelect": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/JSONSelect/-/JSONSelect-0.4.0.tgz",
+ "integrity": "sha1-oI7cxn6z/L6Z7WMIVTRKDPKCu40="
+ },
+ "JSV": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/JSV/-/JSV-4.0.2.tgz",
+ "integrity": "sha1-0Hf2glVx+CEy+d/67Vh7QCn+/1c="
+ },
+ "a-sync-waterfall": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/a-sync-waterfall/-/a-sync-waterfall-1.0.0.tgz",
+ "integrity": "sha1-OOgxnXk3niRiiEW1O5ZyKyng5Hw="
+ },
+ "abab": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/abab/-/abab-1.0.4.tgz",
+ "integrity": "sha1-X6rZwsB/YN12dw9xzwJbYqY8/U4=",
+ "dev": true
+ },
+ "abbrev": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
+ "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q=="
+ },
+ "accepts": {
+ "version": "1.3.4",
+ "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.4.tgz",
+ "integrity": "sha1-hiRnWMfdbSGmR0/whKR0DsBesh8=",
+ "dev": true,
+ "requires": {
+ "mime-types": "2.1.17",
+ "negotiator": "0.6.1"
+ }
+ },
+ "acorn": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.2.1.tgz",
+ "integrity": "sha512-jG0u7c4Ly+3QkkW18V+NRDN+4bWHdln30NL1ZL2AvFZZmQe/BfopYCtghCKKVBUSetZ4QKcyA0pY6/4Gw8Pv8w==",
+ "dev": true
+ },
+ "acorn-dynamic-import": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-2.0.2.tgz",
+ "integrity": "sha1-x1K9IQvvZ5UBtsbLf8hPj0cVjMQ=",
+ "dev": true,
+ "requires": {
+ "acorn": "4.0.13"
+ },
+ "dependencies": {
+ "acorn": {
+ "version": "4.0.13",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz",
+ "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=",
+ "dev": true
+ }
+ }
+ },
+ "acorn-globals": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-3.1.0.tgz",
+ "integrity": "sha1-/YJw9x+7SZawBPqIDuXUZXOnMb8=",
+ "dev": true,
+ "requires": {
+ "acorn": "4.0.13"
+ },
+ "dependencies": {
+ "acorn": {
+ "version": "4.0.13",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz",
+ "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=",
+ "dev": true
+ }
+ }
+ },
+ "acorn-jsx": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz",
+ "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=",
+ "dev": true,
+ "requires": {
+ "acorn": "3.3.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
+ }
+ }
+ },
+ "ajv": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.0.tgz",
+ "integrity": "sha1-6yhAdG6dxIvV4GOjbj/UAMXqtak=",
+ "requires": {
+ "co": "4.6.0",
+ "fast-deep-equal": "1.0.0",
+ "fast-json-stable-stringify": "2.0.0",
+ "json-schema-traverse": "0.3.1"
+ }
+ },
+ "ajv-keywords": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.1.tgz",
+ "integrity": "sha1-YXmX/F9gV2iUxDX5QNgZ4TW4B2I=",
+ "dev": true
+ },
+ "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.2.2",
+ "longest": "1.0.1",
+ "repeat-string": "1.6.1"
+ }
+ },
+ "alphanum-sort": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz",
+ "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=",
+ "dev": true
+ },
+ "amdefine": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
+ "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU="
+ },
+ "ansi-align": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-2.0.0.tgz",
+ "integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=",
+ "dev": true,
+ "requires": {
+ "string-width": "2.1.1"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
+ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
+ "dev": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+ "dev": true
+ },
+ "string-width": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
+ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
+ "dev": true,
+ "requires": {
+ "is-fullwidth-code-point": "2.0.0",
+ "strip-ansi": "4.0.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
+ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "3.0.0"
+ }
+ }
+ }
+ },
+ "ansi-escapes": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz",
+ "integrity": "sha1-06ioOzGapneTZisT52HHkRQiMG4=",
+ "dev": true
+ },
+ "ansi-html": {
+ "version": "0.0.7",
+ "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz",
+ "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=",
+ "dev": true
+ },
+ "ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
+ },
+ "ansi-styles": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4="
+ },
+ "anymatch": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz",
+ "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==",
+ "requires": {
+ "micromatch": "2.3.11",
+ "normalize-path": "2.1.1"
+ }
+ },
+ "app-package-builder": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/app-package-builder/-/app-package-builder-1.5.1.tgz",
+ "integrity": "sha512-kSSYzcoc5Qm5yATmKAoXg0+4bhHfGf5isyMOV/XZHDJ0Z9DUNMi6cp1u5V7qGpOgHlbWAKiALxxI3q4rWc+AaA==",
+ "dev": true,
+ "requires": {
+ "bluebird-lst": "1.0.5",
+ "builder-util": "3.4.1",
+ "builder-util-runtime": "3.2.0",
+ "fs-extra-p": "4.4.4",
+ "int64-buffer": "0.1.9",
+ "rabin-bindings": "1.7.3"
+ }
+ },
+ "append-transform": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-0.4.0.tgz",
+ "integrity": "sha1-126/jKlNJ24keja61EpLdKthGZE=",
+ "dev": true,
+ "requires": {
+ "default-require-extensions": "1.0.0"
+ }
+ },
+ "aproba": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
+ "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw=="
+ },
+ "archiver": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/archiver/-/archiver-2.1.0.tgz",
+ "integrity": "sha1-0t8ujVdzqCwdzOklzMQUUOqZmv0=",
+ "dev": true,
+ "requires": {
+ "archiver-utils": "1.3.0",
+ "async": "2.6.0",
+ "buffer-crc32": "0.2.13",
+ "glob": "7.1.2",
+ "lodash": "4.17.4",
+ "readable-stream": "2.3.3",
+ "tar-stream": "1.5.5",
+ "zip-stream": "1.2.0"
+ }
+ },
+ "archiver-utils": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-1.3.0.tgz",
+ "integrity": "sha1-5QtMCccL89aA4y/xt5lOn52JUXQ=",
+ "dev": true,
+ "requires": {
+ "glob": "7.1.2",
+ "graceful-fs": "4.1.11",
+ "lazystream": "1.0.0",
+ "lodash": "4.17.4",
+ "normalize-path": "2.1.1",
+ "readable-stream": "2.3.3"
+ }
+ },
+ "are-we-there-yet": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz",
+ "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=",
+ "requires": {
+ "delegates": "1.0.0",
+ "readable-stream": "2.3.3"
+ }
+ },
+ "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.3"
+ }
+ },
+ "arr-diff": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz",
+ "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=",
+ "requires": {
+ "arr-flatten": "1.1.0"
+ }
+ },
+ "arr-flatten": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
+ "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg=="
+ },
+ "array-equal": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz",
+ "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=",
+ "dev": true
+ },
+ "array-filter": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-0.0.1.tgz",
+ "integrity": "sha1-fajPLiZijtcygDWB/SH2fKzS7uw="
+ },
+ "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
+ },
+ "array-flatten": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.1.tgz",
+ "integrity": "sha1-Qmu52oQJDBg42BLIFQryCoMx4pY=",
+ "dev": true
+ },
+ "array-includes": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.0.3.tgz",
+ "integrity": "sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0=",
+ "dev": true,
+ "requires": {
+ "define-properties": "1.1.2",
+ "es-abstract": "1.10.0"
+ }
+ },
+ "array-map": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/array-map/-/array-map-0.0.0.tgz",
+ "integrity": "sha1-iKK6tz0c97zVwbEYoAP2b2ZfpmI="
+ },
+ "array-reduce": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/array-reduce/-/array-reduce-0.0.0.tgz",
+ "integrity": "sha1-FziZ0//Rx9k4PkR5Ul2+J4yrXys="
+ },
+ "array-union": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
+ "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=",
+ "dev": true,
+ "requires": {
+ "array-uniq": "1.0.3"
+ }
+ },
+ "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
+ },
+ "array-unique": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz",
+ "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM="
+ },
+ "arrify": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
+ "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
+ "dev": true
+ },
+ "asap": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
+ "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY="
+ },
+ "asar-integrity": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/asar-integrity/-/asar-integrity-0.2.3.tgz",
+ "integrity": "sha512-c+oMuxlpKRDv9Kv6WdjbnkySfSYATAmW+cvy8NIdMg9twY9RMvSdvOoPssroWlTpSra1qX9vLew2ROpV4jQm7w==",
+ "dev": true,
+ "requires": {
+ "bluebird-lst": "1.0.5",
+ "fs-extra-p": "4.4.4"
+ }
+ },
+ "asn1": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz",
+ "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y="
+ },
+ "asn1.js": {
+ "version": "4.9.2",
+ "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.9.2.tgz",
+ "integrity": "sha512-b/OsSjvWEo8Pi8H0zsDd2P6Uqo2TK2pH8gNLSJtNLM2Db0v2QaAZ0pBQJXVjAn4gBuugeVDr7s63ZogpUIwWDg==",
+ "dev": true,
+ "requires": {
+ "bn.js": "4.11.8",
+ "inherits": "2.0.3",
+ "minimalistic-assert": "1.0.0"
+ }
+ },
+ "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"
+ }
+ },
+ "assert-plus": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
+ },
+ "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="
+ },
+ "astral-regex": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz",
+ "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==",
+ "dev": true
+ },
+ "async": {
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/async/-/async-2.6.0.tgz",
+ "integrity": "sha512-xAfGg1/NTLBBKlHFmnd7PlmUW9KhVQIUuSrYem9xzFUZy13ScvtyGGejaae9iAVRiRq9+Cx7DPFaAAhCpyxyPw==",
+ "requires": {
+ "lodash": "4.17.4"
+ }
+ },
+ "async-each": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz",
+ "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0="
+ },
+ "async-exit-hook": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/async-exit-hook/-/async-exit-hook-2.0.1.tgz",
+ "integrity": "sha512-NW2cX8m1Q7KPA7a5M2ULQeZ2wR5qI5PAbw5L0UOMxdioVk9PMZ0h1TmyZEkPYrCvYjDlFICusOu1dlEKAAeXBw==",
+ "dev": true
+ },
+ "asynckit": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+ "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
+ },
+ "autobind-decorator": {
+ "version": "1.4.3",
+ "resolved": "https://registry.npmjs.org/autobind-decorator/-/autobind-decorator-1.4.3.tgz",
+ "integrity": "sha1-TJb/p3sQYi7eJPEQ9du/VmkUF9E="
+ },
+ "autoprefixer": {
+ "version": "6.7.7",
+ "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-6.7.7.tgz",
+ "integrity": "sha1-Hb0cg1ZY41zj+ZhAmdsAWFx4IBQ=",
+ "dev": true,
+ "requires": {
+ "browserslist": "1.7.7",
+ "caniuse-db": "1.0.30000770",
+ "normalize-range": "0.1.2",
+ "num2fraction": "1.2.2",
+ "postcss": "5.2.18",
+ "postcss-value-parser": "3.3.0"
+ },
+ "dependencies": {
+ "browserslist": {
+ "version": "1.7.7",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz",
+ "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=",
+ "dev": true,
+ "requires": {
+ "caniuse-db": "1.0.30000770",
+ "electron-to-chromium": "1.3.27"
+ }
+ }
+ }
+ },
+ "aws-sign2": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
+ "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg="
+ },
+ "aws4": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz",
+ "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4="
+ },
+ "axios": {
+ "version": "0.15.3",
+ "resolved": "https://registry.npmjs.org/axios/-/axios-0.15.3.tgz",
+ "integrity": "sha1-LJ1jiy4ZGgjqHWzJiOrda6W9wFM=",
+ "requires": {
+ "follow-redirects": "1.0.0"
+ }
+ },
+ "babel-cli": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-cli/-/babel-cli-6.26.0.tgz",
+ "integrity": "sha1-UCq1SHTX24itALiHoGODzgPQAvE=",
+ "dev": true,
+ "requires": {
+ "babel-core": "6.26.0",
+ "babel-polyfill": "6.26.0",
+ "babel-register": "6.26.0",
+ "babel-runtime": "6.26.0",
+ "chokidar": "1.7.0",
+ "commander": "2.12.1",
+ "convert-source-map": "1.5.1",
+ "fs-readdir-recursive": "1.1.0",
+ "glob": "7.1.2",
+ "lodash": "4.17.4",
+ "output-file-sync": "1.1.2",
+ "path-is-absolute": "1.0.1",
+ "slash": "1.0.0",
+ "source-map": "0.5.7",
+ "v8flags": "2.1.1"
+ }
+ },
+ "babel-code-frame": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz",
+ "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=",
+ "dev": true,
+ "requires": {
+ "chalk": "1.1.3",
+ "esutils": "2.0.2",
+ "js-tokens": "3.0.2"
+ }
+ },
+ "babel-core": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.0.tgz",
+ "integrity": "sha1-rzL3izGm/O8RnIew/Y2XU/A6C7g=",
+ "dev": true,
+ "requires": {
+ "babel-code-frame": "6.26.0",
+ "babel-generator": "6.26.0",
+ "babel-helpers": "6.24.1",
+ "babel-messages": "6.23.0",
+ "babel-register": "6.26.0",
+ "babel-runtime": "6.26.0",
+ "babel-template": "6.26.0",
+ "babel-traverse": "6.26.0",
+ "babel-types": "6.26.0",
+ "babylon": "6.18.0",
+ "convert-source-map": "1.5.1",
+ "debug": "2.6.9",
+ "json5": "0.5.1",
+ "lodash": "4.17.4",
+ "minimatch": "3.0.4",
+ "path-is-absolute": "1.0.1",
+ "private": "0.1.8",
+ "slash": "1.0.0",
+ "source-map": "0.5.7"
+ }
+ },
+ "babel-eslint": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-7.2.3.tgz",
+ "integrity": "sha1-sv4tgBJkcPXBlELcdXJTqJdxCCc=",
+ "dev": true,
+ "requires": {
+ "babel-code-frame": "6.26.0",
+ "babel-traverse": "6.26.0",
+ "babel-types": "6.26.0",
+ "babylon": "6.18.0"
+ }
+ },
+ "babel-generator": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.0.tgz",
+ "integrity": "sha1-rBriAHC3n248odMmlhMFN3TyDcU=",
+ "dev": true,
+ "requires": {
+ "babel-messages": "6.23.0",
+ "babel-runtime": "6.26.0",
+ "babel-types": "6.26.0",
+ "detect-indent": "4.0.0",
+ "jsesc": "1.3.0",
+ "lodash": "4.17.4",
+ "source-map": "0.5.7",
+ "trim-right": "1.0.1"
+ }
+ },
+ "babel-helper-builder-binary-assignment-operator-visitor": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz",
+ "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=",
+ "dev": true,
+ "requires": {
+ "babel-helper-explode-assignable-expression": "6.24.1",
+ "babel-runtime": "6.26.0",
+ "babel-types": "6.26.0"
+ }
+ },
+ "babel-helper-builder-react-jsx": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-helper-builder-react-jsx/-/babel-helper-builder-react-jsx-6.26.0.tgz",
+ "integrity": "sha1-Of+DE7dci2Xc7/HzHTg+D/KkCKA=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.26.0",
+ "babel-types": "6.26.0",
+ "esutils": "2.0.2"
+ }
+ },
+ "babel-helper-call-delegate": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz",
+ "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=",
+ "dev": true,
+ "requires": {
+ "babel-helper-hoist-variables": "6.24.1",
+ "babel-runtime": "6.26.0",
+ "babel-traverse": "6.26.0",
+ "babel-types": "6.26.0"
+ }
+ },
+ "babel-helper-define-map": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz",
+ "integrity": "sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=",
+ "dev": true,
+ "requires": {
+ "babel-helper-function-name": "6.24.1",
+ "babel-runtime": "6.26.0",
+ "babel-types": "6.26.0",
+ "lodash": "4.17.4"
+ }
+ },
+ "babel-helper-explode-assignable-expression": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz",
+ "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.26.0",
+ "babel-traverse": "6.26.0",
+ "babel-types": "6.26.0"
+ }
+ },
+ "babel-helper-function-name": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz",
+ "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=",
+ "dev": true,
+ "requires": {
+ "babel-helper-get-function-arity": "6.24.1",
+ "babel-runtime": "6.26.0",
+ "babel-template": "6.26.0",
+ "babel-traverse": "6.26.0",
+ "babel-types": "6.26.0"
+ }
+ },
+ "babel-helper-get-function-arity": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz",
+ "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.26.0",
+ "babel-types": "6.26.0"
+ }
+ },
+ "babel-helper-hoist-variables": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz",
+ "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.26.0",
+ "babel-types": "6.26.0"
+ }
+ },
+ "babel-helper-optimise-call-expression": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz",
+ "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.26.0",
+ "babel-types": "6.26.0"
+ }
+ },
+ "babel-helper-regex": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz",
+ "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.26.0",
+ "babel-types": "6.26.0",
+ "lodash": "4.17.4"
+ }
+ },
+ "babel-helper-remap-async-to-generator": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz",
+ "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=",
+ "dev": true,
+ "requires": {
+ "babel-helper-function-name": "6.24.1",
+ "babel-runtime": "6.26.0",
+ "babel-template": "6.26.0",
+ "babel-traverse": "6.26.0",
+ "babel-types": "6.26.0"
+ }
+ },
+ "babel-helper-replace-supers": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz",
+ "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=",
+ "dev": true,
+ "requires": {
+ "babel-helper-optimise-call-expression": "6.24.1",
+ "babel-messages": "6.23.0",
+ "babel-runtime": "6.26.0",
+ "babel-template": "6.26.0",
+ "babel-traverse": "6.26.0",
+ "babel-types": "6.26.0"
+ }
+ },
+ "babel-helpers": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz",
+ "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.26.0",
+ "babel-template": "6.26.0"
+ }
+ },
+ "babel-jest": {
+ "version": "19.0.0",
+ "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-19.0.0.tgz",
+ "integrity": "sha1-WTI87ZmjqE01naIZyogQdP/Gzj8=",
+ "dev": true,
+ "requires": {
+ "babel-core": "6.26.0",
+ "babel-plugin-istanbul": "4.1.5",
+ "babel-preset-jest": "19.0.0"
+ }
+ },
+ "babel-loader": {
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-7.1.2.tgz",
+ "integrity": "sha512-jRwlFbINAeyDStqK6Dd5YuY0k5YuzQUvlz2ZamuXrXmxav3pNqe9vfJ402+2G+OmlJSXxCOpB6Uz0INM7RQe2A==",
+ "dev": true,
+ "requires": {
+ "find-cache-dir": "1.0.0",
+ "loader-utils": "1.1.0",
+ "mkdirp": "0.5.1"
+ }
+ },
+ "babel-messages": {
+ "version": "6.23.0",
+ "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz",
+ "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.26.0"
+ }
+ },
+ "babel-plugin-check-es2015-constants": {
+ "version": "6.22.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz",
+ "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.26.0"
+ }
+ },
+ "babel-plugin-istanbul": {
+ "version": "4.1.5",
+ "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-4.1.5.tgz",
+ "integrity": "sha1-Z2DN2Xf0EdPhdbsGTyvDJ9mbK24=",
+ "dev": true,
+ "requires": {
+ "find-up": "2.1.0",
+ "istanbul-lib-instrument": "1.9.1",
+ "test-exclude": "4.1.1"
+ }
+ },
+ "babel-plugin-jest-hoist": {
+ "version": "19.0.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-19.0.0.tgz",
+ "integrity": "sha1-SuKgTqYSpuc2UfP95SwXiZEwS+o=",
+ "dev": true
+ },
+ "babel-plugin-syntax-async-functions": {
+ "version": "6.13.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz",
+ "integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=",
+ "dev": true
+ },
+ "babel-plugin-syntax-decorators": {
+ "version": "6.13.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz",
+ "integrity": "sha1-MSVjtNvePMgGzuPkFszurd0RrAs=",
+ "dev": true
+ },
+ "babel-plugin-syntax-exponentiation-operator": {
+ "version": "6.13.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz",
+ "integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=",
+ "dev": true
+ },
+ "babel-plugin-syntax-flow": {
+ "version": "6.18.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz",
+ "integrity": "sha1-TDqyCiryaqIM0lmVw5jE63AxDI0=",
+ "dev": true
+ },
+ "babel-plugin-syntax-jsx": {
+ "version": "6.18.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz",
+ "integrity": "sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=",
+ "dev": true
+ },
+ "babel-plugin-syntax-object-rest-spread": {
+ "version": "6.13.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz",
+ "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=",
+ "dev": true
+ },
+ "babel-plugin-syntax-trailing-function-commas": {
+ "version": "6.22.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz",
+ "integrity": "sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM=",
+ "dev": true
+ },
+ "babel-plugin-transform-async-to-generator": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz",
+ "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=",
+ "dev": true,
+ "requires": {
+ "babel-helper-remap-async-to-generator": "6.24.1",
+ "babel-plugin-syntax-async-functions": "6.13.0",
+ "babel-runtime": "6.26.0"
+ }
+ },
+ "babel-plugin-transform-decorators-legacy": {
+ "version": "1.3.4",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-decorators-legacy/-/babel-plugin-transform-decorators-legacy-1.3.4.tgz",
+ "integrity": "sha1-dBtY9sW86eYCfgiC2cmU8E82aSU=",
+ "dev": true,
+ "requires": {
+ "babel-plugin-syntax-decorators": "6.13.0",
+ "babel-runtime": "6.26.0",
+ "babel-template": "6.26.0"
+ }
+ },
+ "babel-plugin-transform-es2015-arrow-functions": {
+ "version": "6.22.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz",
+ "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.26.0"
+ }
+ },
+ "babel-plugin-transform-es2015-block-scoped-functions": {
+ "version": "6.22.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz",
+ "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.26.0"
+ }
+ },
+ "babel-plugin-transform-es2015-block-scoping": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz",
+ "integrity": "sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.26.0",
+ "babel-template": "6.26.0",
+ "babel-traverse": "6.26.0",
+ "babel-types": "6.26.0",
+ "lodash": "4.17.4"
+ }
+ },
+ "babel-plugin-transform-es2015-classes": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz",
+ "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=",
+ "dev": true,
+ "requires": {
+ "babel-helper-define-map": "6.26.0",
+ "babel-helper-function-name": "6.24.1",
+ "babel-helper-optimise-call-expression": "6.24.1",
+ "babel-helper-replace-supers": "6.24.1",
+ "babel-messages": "6.23.0",
+ "babel-runtime": "6.26.0",
+ "babel-template": "6.26.0",
+ "babel-traverse": "6.26.0",
+ "babel-types": "6.26.0"
+ }
+ },
+ "babel-plugin-transform-es2015-computed-properties": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz",
+ "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.26.0",
+ "babel-template": "6.26.0"
+ }
+ },
+ "babel-plugin-transform-es2015-destructuring": {
+ "version": "6.23.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz",
+ "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.26.0"
+ }
+ },
+ "babel-plugin-transform-es2015-duplicate-keys": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz",
+ "integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.26.0",
+ "babel-types": "6.26.0"
+ }
+ },
+ "babel-plugin-transform-es2015-for-of": {
+ "version": "6.23.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz",
+ "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.26.0"
+ }
+ },
+ "babel-plugin-transform-es2015-function-name": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz",
+ "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=",
+ "dev": true,
+ "requires": {
+ "babel-helper-function-name": "6.24.1",
+ "babel-runtime": "6.26.0",
+ "babel-types": "6.26.0"
+ }
+ },
+ "babel-plugin-transform-es2015-literals": {
+ "version": "6.22.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz",
+ "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.26.0"
+ }
+ },
+ "babel-plugin-transform-es2015-modules-amd": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz",
+ "integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=",
+ "dev": true,
+ "requires": {
+ "babel-plugin-transform-es2015-modules-commonjs": "6.26.0",
+ "babel-runtime": "6.26.0",
+ "babel-template": "6.26.0"
+ }
+ },
+ "babel-plugin-transform-es2015-modules-commonjs": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.0.tgz",
+ "integrity": "sha1-DYOUApt9xqvhqX7xgeAHWN0uXYo=",
+ "dev": true,
+ "requires": {
+ "babel-plugin-transform-strict-mode": "6.24.1",
+ "babel-runtime": "6.26.0",
+ "babel-template": "6.26.0",
+ "babel-types": "6.26.0"
+ }
+ },
+ "babel-plugin-transform-es2015-modules-systemjs": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz",
+ "integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=",
+ "dev": true,
+ "requires": {
+ "babel-helper-hoist-variables": "6.24.1",
+ "babel-runtime": "6.26.0",
+ "babel-template": "6.26.0"
+ }
+ },
+ "babel-plugin-transform-es2015-modules-umd": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz",
+ "integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=",
+ "dev": true,
+ "requires": {
+ "babel-plugin-transform-es2015-modules-amd": "6.24.1",
+ "babel-runtime": "6.26.0",
+ "babel-template": "6.26.0"
+ }
+ },
+ "babel-plugin-transform-es2015-object-super": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz",
+ "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=",
+ "dev": true,
+ "requires": {
+ "babel-helper-replace-supers": "6.24.1",
+ "babel-runtime": "6.26.0"
+ }
+ },
+ "babel-plugin-transform-es2015-parameters": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz",
+ "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=",
+ "dev": true,
+ "requires": {
+ "babel-helper-call-delegate": "6.24.1",
+ "babel-helper-get-function-arity": "6.24.1",
+ "babel-runtime": "6.26.0",
+ "babel-template": "6.26.0",
+ "babel-traverse": "6.26.0",
+ "babel-types": "6.26.0"
+ }
+ },
+ "babel-plugin-transform-es2015-shorthand-properties": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz",
+ "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.26.0",
+ "babel-types": "6.26.0"
+ }
+ },
+ "babel-plugin-transform-es2015-spread": {
+ "version": "6.22.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz",
+ "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.26.0"
+ }
+ },
+ "babel-plugin-transform-es2015-sticky-regex": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz",
+ "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=",
+ "dev": true,
+ "requires": {
+ "babel-helper-regex": "6.26.0",
+ "babel-runtime": "6.26.0",
+ "babel-types": "6.26.0"
+ }
+ },
+ "babel-plugin-transform-es2015-template-literals": {
+ "version": "6.22.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz",
+ "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.26.0"
+ }
+ },
+ "babel-plugin-transform-es2015-typeof-symbol": {
+ "version": "6.23.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz",
+ "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.26.0"
+ }
+ },
+ "babel-plugin-transform-es2015-unicode-regex": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz",
+ "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=",
+ "dev": true,
+ "requires": {
+ "babel-helper-regex": "6.26.0",
+ "babel-runtime": "6.26.0",
+ "regexpu-core": "2.0.0"
+ }
+ },
+ "babel-plugin-transform-exponentiation-operator": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz",
+ "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=",
+ "dev": true,
+ "requires": {
+ "babel-helper-builder-binary-assignment-operator-visitor": "6.24.1",
+ "babel-plugin-syntax-exponentiation-operator": "6.13.0",
+ "babel-runtime": "6.26.0"
+ }
+ },
+ "babel-plugin-transform-flow-strip-types": {
+ "version": "6.22.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.22.0.tgz",
+ "integrity": "sha1-hMtnKTXUNxT9wyvOhFaNh0Qc988=",
+ "dev": true,
+ "requires": {
+ "babel-plugin-syntax-flow": "6.18.0",
+ "babel-runtime": "6.26.0"
+ }
+ },
+ "babel-plugin-transform-object-rest-spread": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz",
+ "integrity": "sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY=",
+ "dev": true,
+ "requires": {
+ "babel-plugin-syntax-object-rest-spread": "6.13.0",
+ "babel-runtime": "6.26.0"
+ }
+ },
+ "babel-plugin-transform-react-display-name": {
+ "version": "6.25.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-display-name/-/babel-plugin-transform-react-display-name-6.25.0.tgz",
+ "integrity": "sha1-Z+K/Hx6ck6sI25Z5LgU5K/LMKNE=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.26.0"
+ }
+ },
+ "babel-plugin-transform-react-jsx": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx/-/babel-plugin-transform-react-jsx-6.24.1.tgz",
+ "integrity": "sha1-hAoCjn30YN/DotKfDA2R9jduZqM=",
+ "dev": true,
+ "requires": {
+ "babel-helper-builder-react-jsx": "6.26.0",
+ "babel-plugin-syntax-jsx": "6.18.0",
+ "babel-runtime": "6.26.0"
+ }
+ },
+ "babel-plugin-transform-react-jsx-self": {
+ "version": "6.22.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-self/-/babel-plugin-transform-react-jsx-self-6.22.0.tgz",
+ "integrity": "sha1-322AqdomEqEh5t3XVYvL7PBuY24=",
+ "dev": true,
+ "requires": {
+ "babel-plugin-syntax-jsx": "6.18.0",
+ "babel-runtime": "6.26.0"
+ }
+ },
+ "babel-plugin-transform-react-jsx-source": {
+ "version": "6.22.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-source/-/babel-plugin-transform-react-jsx-source-6.22.0.tgz",
+ "integrity": "sha1-ZqwSFT9c0tF7PBkmj0vwGX9E7NY=",
+ "dev": true,
+ "requires": {
+ "babel-plugin-syntax-jsx": "6.18.0",
+ "babel-runtime": "6.26.0"
+ }
+ },
+ "babel-plugin-transform-regenerator": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz",
+ "integrity": "sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=",
+ "dev": true,
+ "requires": {
+ "regenerator-transform": "0.10.1"
+ }
+ },
+ "babel-plugin-transform-strict-mode": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz",
+ "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.26.0",
+ "babel-types": "6.26.0"
+ }
+ },
+ "babel-polyfill": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.26.0.tgz",
+ "integrity": "sha1-N5k3q8Z9eJWXCtxiHyhM2WbPIVM=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.26.0",
+ "core-js": "2.5.1",
+ "regenerator-runtime": "0.10.5"
+ },
+ "dependencies": {
+ "regenerator-runtime": {
+ "version": "0.10.5",
+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz",
+ "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=",
+ "dev": true
+ }
+ }
+ },
+ "babel-preset-env": {
+ "version": "1.6.1",
+ "resolved": "https://registry.npmjs.org/babel-preset-env/-/babel-preset-env-1.6.1.tgz",
+ "integrity": "sha512-W6VIyA6Ch9ePMI7VptNn2wBM6dbG0eSz25HEiL40nQXCsXGTGZSTZu1Iap+cj3Q0S5a7T9+529l/5Bkvd+afNA==",
+ "dev": true,
+ "requires": {
+ "babel-plugin-check-es2015-constants": "6.22.0",
+ "babel-plugin-syntax-trailing-function-commas": "6.22.0",
+ "babel-plugin-transform-async-to-generator": "6.24.1",
+ "babel-plugin-transform-es2015-arrow-functions": "6.22.0",
+ "babel-plugin-transform-es2015-block-scoped-functions": "6.22.0",
+ "babel-plugin-transform-es2015-block-scoping": "6.26.0",
+ "babel-plugin-transform-es2015-classes": "6.24.1",
+ "babel-plugin-transform-es2015-computed-properties": "6.24.1",
+ "babel-plugin-transform-es2015-destructuring": "6.23.0",
+ "babel-plugin-transform-es2015-duplicate-keys": "6.24.1",
+ "babel-plugin-transform-es2015-for-of": "6.23.0",
+ "babel-plugin-transform-es2015-function-name": "6.24.1",
+ "babel-plugin-transform-es2015-literals": "6.22.0",
+ "babel-plugin-transform-es2015-modules-amd": "6.24.1",
+ "babel-plugin-transform-es2015-modules-commonjs": "6.26.0",
+ "babel-plugin-transform-es2015-modules-systemjs": "6.24.1",
+ "babel-plugin-transform-es2015-modules-umd": "6.24.1",
+ "babel-plugin-transform-es2015-object-super": "6.24.1",
+ "babel-plugin-transform-es2015-parameters": "6.24.1",
+ "babel-plugin-transform-es2015-shorthand-properties": "6.24.1",
+ "babel-plugin-transform-es2015-spread": "6.22.0",
+ "babel-plugin-transform-es2015-sticky-regex": "6.24.1",
+ "babel-plugin-transform-es2015-template-literals": "6.22.0",
+ "babel-plugin-transform-es2015-typeof-symbol": "6.23.0",
+ "babel-plugin-transform-es2015-unicode-regex": "6.24.1",
+ "babel-plugin-transform-exponentiation-operator": "6.24.1",
+ "babel-plugin-transform-regenerator": "6.26.0",
+ "browserslist": "2.9.1",
+ "invariant": "2.2.2",
+ "semver": "5.4.1"
+ }
+ },
+ "babel-preset-flow": {
+ "version": "6.23.0",
+ "resolved": "https://registry.npmjs.org/babel-preset-flow/-/babel-preset-flow-6.23.0.tgz",
+ "integrity": "sha1-5xIYiHCFrpoktb5Baa/7WZgWxJ0=",
+ "dev": true,
+ "requires": {
+ "babel-plugin-transform-flow-strip-types": "6.22.0"
+ }
+ },
+ "babel-preset-jest": {
+ "version": "19.0.0",
+ "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-19.0.0.tgz",
+ "integrity": "sha1-ItZyAdAjJKGVgRKI6zgpS7PKw5Y=",
+ "dev": true,
+ "requires": {
+ "babel-plugin-jest-hoist": "19.0.0"
+ }
+ },
+ "babel-preset-react": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-preset-react/-/babel-preset-react-6.24.1.tgz",
+ "integrity": "sha1-umnfrqRfw+xjm2pOzqbhdwLJE4A=",
+ "dev": true,
+ "requires": {
+ "babel-plugin-syntax-jsx": "6.18.0",
+ "babel-plugin-transform-react-display-name": "6.25.0",
+ "babel-plugin-transform-react-jsx": "6.24.1",
+ "babel-plugin-transform-react-jsx-self": "6.22.0",
+ "babel-plugin-transform-react-jsx-source": "6.22.0",
+ "babel-preset-flow": "6.23.0"
+ }
+ },
+ "babel-register": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz",
+ "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=",
+ "dev": true,
+ "requires": {
+ "babel-core": "6.26.0",
+ "babel-runtime": "6.26.0",
+ "core-js": "2.5.1",
+ "home-or-tmp": "2.0.0",
+ "lodash": "4.17.4",
+ "mkdirp": "0.5.1",
+ "source-map-support": "0.4.18"
+ }
+ },
+ "babel-runtime": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
+ "dev": true,
+ "requires": {
+ "core-js": "2.5.1",
+ "regenerator-runtime": "0.11.0"
+ }
+ },
+ "babel-template": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz",
+ "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.26.0",
+ "babel-traverse": "6.26.0",
+ "babel-types": "6.26.0",
+ "babylon": "6.18.0",
+ "lodash": "4.17.4"
+ }
+ },
+ "babel-traverse": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz",
+ "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=",
+ "dev": true,
+ "requires": {
+ "babel-code-frame": "6.26.0",
+ "babel-messages": "6.23.0",
+ "babel-runtime": "6.26.0",
+ "babel-types": "6.26.0",
+ "babylon": "6.18.0",
+ "debug": "2.6.9",
+ "globals": "9.18.0",
+ "invariant": "2.2.2",
+ "lodash": "4.17.4"
+ }
+ },
+ "babel-types": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz",
+ "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.26.0",
+ "esutils": "2.0.2",
+ "lodash": "4.17.4",
+ "to-fast-properties": "1.0.3"
+ }
+ },
+ "babylon": {
+ "version": "6.18.0",
+ "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz",
+ "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==",
+ "dev": true
+ },
+ "balanced-match": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
+ "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c="
+ },
+ "base62": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/base62/-/base62-0.1.1.tgz",
+ "integrity": "sha1-e0F0wvlESXU7EcJlHAg9qEGnsIQ="
+ },
+ "base64-js": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.2.0.tgz",
+ "integrity": "sha1-o5mS1yNYSBGYK+XikLtqU9hnAPE="
+ },
+ "base64url": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/base64url/-/base64url-2.0.0.tgz",
+ "integrity": "sha1-6sFuA+oUOO/5Qj1puqNiYu0fcLs="
+ },
+ "batch": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz",
+ "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=",
+ "dev": true
+ },
+ "bcrypt-pbkdf": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz",
+ "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=",
+ "optional": true,
+ "requires": {
+ "tweetnacl": "0.14.5"
+ }
+ },
+ "big.js": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz",
+ "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q=="
+ },
+ "binary-extensions": {
+ "version": "1.11.0",
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.11.0.tgz",
+ "integrity": "sha1-RqoXUftqL5PuXmibsQh9SxTGwgU="
+ },
+ "binary-search-tree": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/binary-search-tree/-/binary-search-tree-0.2.5.tgz",
+ "integrity": "sha1-fbs7IQ/coIJFDa0jNMMErzm9x4Q=",
+ "requires": {
+ "underscore": "1.4.4"
+ },
+ "dependencies": {
+ "underscore": {
+ "version": "1.4.4",
+ "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz",
+ "integrity": "sha1-YaajIBBiKvoHljvzJSA88SI51gQ="
+ }
+ }
+ },
+ "bindings": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.3.0.tgz",
+ "integrity": "sha512-DpLh5EzMR2kzvX1KIlVC0VkC3iZtHKTgdtZ0a3pglBZdaQFjt5S9g9xd1lE+YvXyfd6mtCeRnrUfOLYiTMlNSw==",
+ "dev": true
+ },
+ "bl": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.1.tgz",
+ "integrity": "sha1-ysMo977kVzDUBLaSID/LWQ4XLV4=",
+ "dev": true,
+ "requires": {
+ "readable-stream": "2.3.3"
+ }
+ },
+ "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=",
+ "requires": {
+ "inherits": "2.0.3"
+ }
+ },
+ "bluebird": {
+ "version": "3.5.1",
+ "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz",
+ "integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA=="
+ },
+ "bluebird-lst": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/bluebird-lst/-/bluebird-lst-1.0.5.tgz",
+ "integrity": "sha512-Ey0bDNys5qpYPhZ/oQ9vOEvD0TYQDTILMXWP2iGfvMg7rSDde+oV4aQQgqRH+CvBFNz2BSDQnPGMUl6LKBUUQA==",
+ "dev": true,
+ "requires": {
+ "bluebird": "3.5.1"
+ }
+ },
+ "bn.js": {
+ "version": "4.11.8",
+ "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz",
+ "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==",
+ "dev": true
+ },
+ "body-parser": {
+ "version": "1.18.2",
+ "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.2.tgz",
+ "integrity": "sha1-h2eKGdhLR9hZuDGZvVm84iKxBFQ=",
+ "dev": true,
+ "requires": {
+ "bytes": "3.0.0",
+ "content-type": "1.0.4",
+ "debug": "2.6.9",
+ "depd": "1.1.1",
+ "http-errors": "1.6.2",
+ "iconv-lite": "0.4.19",
+ "on-finished": "2.3.0",
+ "qs": "6.5.1",
+ "raw-body": "2.3.2",
+ "type-is": "1.6.15"
+ }
+ },
+ "bonjour": {
+ "version": "3.5.0",
+ "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz",
+ "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=",
+ "dev": true,
+ "requires": {
+ "array-flatten": "2.1.1",
+ "deep-equal": "1.0.1",
+ "dns-equal": "1.0.0",
+ "dns-txt": "2.0.2",
+ "multicast-dns": "6.2.1",
+ "multicast-dns-service-types": "1.1.0"
+ }
+ },
+ "boom": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/boom/-/boom-4.3.1.tgz",
+ "integrity": "sha1-T4owBctKfjiJ90kDD9JbluAdLjE=",
+ "requires": {
+ "hoek": "4.2.0"
+ }
+ },
+ "boxen": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/boxen/-/boxen-1.2.2.tgz",
+ "integrity": "sha1-Px1AMsMP/qnUsCwyLq8up0HcvOU=",
+ "dev": true,
+ "requires": {
+ "ansi-align": "2.0.0",
+ "camelcase": "4.1.0",
+ "chalk": "2.3.0",
+ "cli-boxes": "1.0.0",
+ "string-width": "2.1.1",
+ "term-size": "1.2.0",
+ "widest-line": "1.0.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
+ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
+ "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==",
+ "dev": true,
+ "requires": {
+ "color-convert": "1.9.1"
+ }
+ },
+ "camelcase": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz",
+ "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=",
+ "dev": true
+ },
+ "chalk": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz",
+ "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "3.2.0",
+ "escape-string-regexp": "1.0.5",
+ "supports-color": "4.5.0"
+ }
+ },
+ "has-flag": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz",
+ "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=",
+ "dev": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+ "dev": true
+ },
+ "string-width": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
+ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
+ "dev": true,
+ "requires": {
+ "is-fullwidth-code-point": "2.0.0",
+ "strip-ansi": "4.0.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
+ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "3.0.0"
+ }
+ },
+ "supports-color": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz",
+ "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=",
+ "dev": true,
+ "requires": {
+ "has-flag": "2.0.0"
+ }
+ }
+ }
+ },
+ "brace-expansion": {
+ "version": "1.1.8",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz",
+ "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=",
+ "requires": {
+ "balanced-match": "1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "braces": {
+ "version": "1.8.5",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz",
+ "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=",
+ "requires": {
+ "expand-range": "1.8.2",
+ "preserve": "0.2.0",
+ "repeat-element": "1.1.2"
+ }
+ },
+ "brorand": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz",
+ "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=",
+ "dev": true
+ },
+ "browser-resolve": {
+ "version": "1.11.2",
+ "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.2.tgz",
+ "integrity": "sha1-j/CbCixCFxihBRwmCzLkj0QpOM4=",
+ "dev": true,
+ "requires": {
+ "resolve": "1.1.7"
+ },
+ "dependencies": {
+ "resolve": {
+ "version": "1.1.7",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz",
+ "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=",
+ "dev": true
+ }
+ }
+ },
+ "browserify-aes": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.1.1.tgz",
+ "integrity": "sha512-UGnTYAnB2a3YuYKIRy1/4FB2HdM866E0qC46JXvVTYKlBlZlnvfpSfY6OKfXZAkv70eJ2a1SqzpAo5CRhZGDFg==",
+ "dev": true,
+ "requires": {
+ "buffer-xor": "1.0.3",
+ "cipher-base": "1.0.4",
+ "create-hash": "1.1.3",
+ "evp_bytestokey": "1.0.3",
+ "inherits": "2.0.3",
+ "safe-buffer": "5.1.1"
+ }
+ },
+ "browserify-cipher": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.0.tgz",
+ "integrity": "sha1-mYgkSHS/XtTijalWZtzWasj8Njo=",
+ "dev": true,
+ "requires": {
+ "browserify-aes": "1.1.1",
+ "browserify-des": "1.0.0",
+ "evp_bytestokey": "1.0.3"
+ }
+ },
+ "browserify-des": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.0.tgz",
+ "integrity": "sha1-2qJ3cXRwki7S/hhZQRihdUOXId0=",
+ "dev": true,
+ "requires": {
+ "cipher-base": "1.0.4",
+ "des.js": "1.0.0",
+ "inherits": "2.0.3"
+ }
+ },
+ "browserify-rsa": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz",
+ "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=",
+ "dev": true,
+ "requires": {
+ "bn.js": "4.11.8",
+ "randombytes": "2.0.5"
+ }
+ },
+ "browserify-sign": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz",
+ "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=",
+ "dev": true,
+ "requires": {
+ "bn.js": "4.11.8",
+ "browserify-rsa": "4.0.1",
+ "create-hash": "1.1.3",
+ "create-hmac": "1.1.6",
+ "elliptic": "6.4.0",
+ "inherits": "2.0.3",
+ "parse-asn1": "5.1.0"
+ }
+ },
+ "browserify-zlib": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz",
+ "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==",
+ "dev": true,
+ "requires": {
+ "pako": "1.0.6"
+ }
+ },
+ "browserslist": {
+ "version": "2.9.1",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-2.9.1.tgz",
+ "integrity": "sha512-3n3nPdbUqn3nWmsy4PeSQthz2ja1ndpoXta+dwFFNhveGjMg6FXpWYe12vsTpNoXJbzx3j7GZXdtoVIdvh3JbA==",
+ "dev": true,
+ "requires": {
+ "caniuse-lite": "1.0.30000770",
+ "electron-to-chromium": "1.3.27"
+ }
+ },
+ "bser": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/bser/-/bser-2.0.0.tgz",
+ "integrity": "sha1-mseNPtXZFYBP2HrLFYvHlxR6Fxk=",
+ "dev": true,
+ "requires": {
+ "node-int64": "0.4.0"
+ }
+ },
+ "buffer": {
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.0.8.tgz",
+ "integrity": "sha512-xXvjQhVNz50v2nPeoOsNqWCLGfiv4ji/gXZM28jnVwdLJxH4mFyqgqCKfaK9zf1KUbG6zTkjLOy7ou+jSMarGA==",
+ "requires": {
+ "base64-js": "1.2.0",
+ "ieee754": "1.1.8"
+ }
+ },
+ "buffer-crc32": {
+ "version": "0.2.13",
+ "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
+ "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=",
+ "dev": true
+ },
+ "buffer-equal-constant-time": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz",
+ "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk="
+ },
+ "buffer-indexof": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz",
+ "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==",
+ "dev": true
+ },
+ "buffer-xor": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz",
+ "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=",
+ "dev": true
+ },
+ "builder-util": {
+ "version": "3.4.1",
+ "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-3.4.1.tgz",
+ "integrity": "sha512-st7TuC6xX7vtkQhNLzxrsBa2nUXcUQ3DGD+QfG7GpxY3OFBN1ZqMGn02u7tLoCzKB7ixo7RbhbfMyceb43VrmA==",
+ "dev": true,
+ "requires": {
+ "7zip-bin": "2.2.7",
+ "bluebird-lst": "1.0.5",
+ "builder-util-runtime": "3.2.0",
+ "chalk": "2.3.0",
+ "debug": "3.1.0",
+ "fs-extra-p": "4.4.4",
+ "ini": "1.3.5",
+ "is-ci": "1.0.10",
+ "js-yaml": "3.10.0",
+ "lazy-val": "1.0.2",
+ "node-emoji": "1.8.1",
+ "semver": "5.4.1",
+ "source-map-support": "0.5.0",
+ "stat-mode": "0.2.2",
+ "temp-file": "2.1.3",
+ "tunnel-agent": "0.6.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
+ "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==",
+ "dev": true,
+ "requires": {
+ "color-convert": "1.9.1"
+ }
+ },
+ "chalk": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz",
+ "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "3.2.0",
+ "escape-string-regexp": "1.0.5",
+ "supports-color": "4.5.0"
+ }
+ },
+ "debug": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
+ "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "esprima": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz",
+ "integrity": "sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw==",
+ "dev": true
+ },
+ "has-flag": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz",
+ "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=",
+ "dev": true
+ },
+ "js-yaml": {
+ "version": "3.10.0",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.10.0.tgz",
+ "integrity": "sha512-O2v52ffjLa9VeM43J4XocZE//WT9N0IiwDa3KSHH7Tu8CtH+1qM8SIZvnsTh6v+4yFy5KUY3BHUVwjpfAWsjIA==",
+ "dev": true,
+ "requires": {
+ "argparse": "1.0.9",
+ "esprima": "4.0.0"
+ }
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ },
+ "source-map-support": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.0.tgz",
+ "integrity": "sha512-vUoN3I7fHQe0R/SJLKRdKYuEdRGogsviXFkHHo17AWaTGv17VLnxw+CFXvqy+y4ORZ3doWLQcxRYfwKrsd/H7Q==",
+ "dev": true,
+ "requires": {
+ "source-map": "0.6.1"
+ }
+ },
+ "supports-color": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz",
+ "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=",
+ "dev": true,
+ "requires": {
+ "has-flag": "2.0.0"
+ }
+ }
+ }
+ },
+ "builder-util-runtime": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-3.2.0.tgz",
+ "integrity": "sha512-VRvyyLiZZSBjcUTqEsHlBJSK0s6uVQChO7kbmVeU6QmSJ7TtsotNQELO6lbahwZMAQ4Z/haCKhlLBDdhW+3aqA==",
+ "dev": true,
+ "requires": {
+ "bluebird-lst": "1.0.5",
+ "debug": "3.1.0",
+ "fs-extra-p": "4.4.4",
+ "sax": "1.2.4"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
+ "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ }
+ }
+ },
+ "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
+ },
+ "builtin-status-codes": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz",
+ "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=",
+ "dev": true
+ },
+ "bytes": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
+ "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=",
+ "dev": true
+ },
+ "caller-path": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz",
+ "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=",
+ "dev": true,
+ "requires": {
+ "callsites": "0.2.0"
+ }
+ },
+ "callsites": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz",
+ "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=",
+ "dev": true
+ },
+ "camelcase": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz",
+ "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8="
+ },
+ "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.1.1",
+ "map-obj": "1.0.1"
+ }
+ },
+ "caniuse-api": {
+ "version": "1.6.1",
+ "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-1.6.1.tgz",
+ "integrity": "sha1-tTTnxzTE+B7F++isoq0kNUuWLGw=",
+ "dev": true,
+ "requires": {
+ "browserslist": "1.7.7",
+ "caniuse-db": "1.0.30000770",
+ "lodash.memoize": "4.1.2",
+ "lodash.uniq": "4.5.0"
+ },
+ "dependencies": {
+ "browserslist": {
+ "version": "1.7.7",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz",
+ "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=",
+ "dev": true,
+ "requires": {
+ "caniuse-db": "1.0.30000770",
+ "electron-to-chromium": "1.3.27"
+ }
+ }
+ }
+ },
+ "caniuse-db": {
+ "version": "1.0.30000770",
+ "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000770.tgz",
+ "integrity": "sha1-z2iuHLioL208Nd9Bxi3Glz5HAkQ=",
+ "dev": true
+ },
+ "caniuse-lite": {
+ "version": "1.0.30000770",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000770.tgz",
+ "integrity": "sha1-vI5/ULBzJzOQ22qzVzeJCaFOm9s=",
+ "dev": true
+ },
+ "capture-stack-trace": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz",
+ "integrity": "sha1-Sm+gc5nCa7pH8LJJa00PtAjFVQ0=",
+ "dev": true
+ },
+ "caseless": {
+ "version": "0.12.0",
+ "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
+ "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw="
+ },
+ "catharsis": {
+ "version": "0.8.9",
+ "resolved": "https://registry.npmjs.org/catharsis/-/catharsis-0.8.9.tgz",
+ "integrity": "sha1-mMyJDKZS3S7w5ws3klMQ/56Q/Is=",
+ "requires": {
+ "underscore-contrib": "0.3.0"
+ }
+ },
+ "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.4",
+ "lazy-cache": "1.0.4"
+ }
+ },
+ "chalk": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "requires": {
+ "ansi-styles": "2.2.1",
+ "escape-string-regexp": "1.0.5",
+ "has-ansi": "2.0.0",
+ "strip-ansi": "3.0.1",
+ "supports-color": "2.0.0"
+ }
+ },
+ "chokidar": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz",
+ "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=",
+ "requires": {
+ "anymatch": "1.3.2",
+ "async-each": "1.0.1",
+ "fsevents": "1.1.3",
+ "glob-parent": "2.0.0",
+ "inherits": "2.0.3",
+ "is-binary-path": "1.0.1",
+ "is-glob": "2.0.1",
+ "path-is-absolute": "1.0.1",
+ "readdirp": "2.1.0"
+ }
+ },
+ "chownr": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.0.1.tgz",
+ "integrity": "sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE="
+ },
+ "chromium-pickle-js": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/chromium-pickle-js/-/chromium-pickle-js-0.2.0.tgz",
+ "integrity": "sha1-BKEGZywYsIWrd02YPfo+oTjyIgU=",
+ "dev": true
+ },
+ "ci-info": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.1.2.tgz",
+ "integrity": "sha512-uTGIPNx/nSpBdsF6xnseRXLLtfr9VLqkz8ZqHXr3Y7b6SftyRxBGjwMtJj1OhNbmlc1wZzLNAlAcvyIiE8a6ZA==",
+ "dev": true
+ },
+ "cipher-base": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz",
+ "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==",
+ "dev": true,
+ "requires": {
+ "inherits": "2.0.3",
+ "safe-buffer": "5.1.1"
+ }
+ },
+ "circular-json": {
+ "version": "0.3.3",
+ "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz",
+ "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==",
+ "dev": true
+ },
+ "cjson": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/cjson/-/cjson-0.2.1.tgz",
+ "integrity": "sha1-c82KrWXZ4VBfmvF0TTt5wVJ2gqU="
+ },
+ "clap": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/clap/-/clap-1.2.3.tgz",
+ "integrity": "sha512-4CoL/A3hf90V3VIEjeuhSvlGFEHKzOz+Wfc2IVZc+FaUgU0ZQafJTP49fvnULipOPcAfqhyI2duwQyns6xqjYA==",
+ "dev": true,
+ "requires": {
+ "chalk": "1.1.3"
+ }
+ },
+ "classnames": {
+ "version": "2.2.5",
+ "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.5.tgz",
+ "integrity": "sha1-+zgB1FNGdknvNgPH1hoCvRKb3m0="
+ },
+ "cli": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/cli/-/cli-1.0.1.tgz",
+ "integrity": "sha1-IoF1NPJL+klQw01TLUjsvGIbjBQ=",
+ "dev": true,
+ "requires": {
+ "exit": "0.1.2",
+ "glob": "7.1.2"
+ }
+ },
+ "cli-boxes": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-1.0.0.tgz",
+ "integrity": "sha1-T6kXw+WclKAEzWH47lCdplFocUM=",
+ "dev": true
+ },
+ "cli-cursor": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz",
+ "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=",
+ "dev": true,
+ "requires": {
+ "restore-cursor": "2.0.0"
+ }
+ },
+ "cli-spinners": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-1.1.0.tgz",
+ "integrity": "sha1-8YR7FohE2RemceudFH499JfJDQY=",
+ "dev": true
+ },
+ "cli-width": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz",
+ "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=",
+ "dev": true
+ },
+ "cliui": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
+ "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=",
+ "requires": {
+ "string-width": "1.0.2",
+ "strip-ansi": "3.0.1",
+ "wrap-ansi": "2.1.0"
+ }
+ },
+ "clone": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.1.tgz",
+ "integrity": "sha1-0hfR6WERjjrJpLi7oyhVU79kfNs="
+ },
+ "co": {
+ "version": "4.6.0",
+ "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
+ "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ="
+ },
+ "coa": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/coa/-/coa-1.0.4.tgz",
+ "integrity": "sha1-qe8VNmDWqGqL3sAomlxoTSF0Mv0=",
+ "dev": true,
+ "requires": {
+ "q": "1.5.1"
+ }
+ },
+ "code-point-at": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
+ "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c="
+ },
+ "codemirror": {
+ "version": "5.32.0",
+ "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.32.0.tgz",
+ "integrity": "sha512-95OxAlYiigW0g4n4ixFdavG07clJGILp3MvHh2pKR3FvyrTuHHvqtKSVbrV3/Jz6o0YqGvyCDLDTbH4h6ciaSw=="
+ },
+ "codemirror-graphql": {
+ "version": "0.6.11",
+ "resolved": "https://registry.npmjs.org/codemirror-graphql/-/codemirror-graphql-0.6.11.tgz",
+ "integrity": "sha512-wh9lS3FvcKU1NvvE1pAOnsEfgzhSxe0EqxkL1qjbDC/chqPgfEyQB8WmQWnvglmmsUQHTcARY9jfYr6uZYQTVg==",
+ "requires": {
+ "graphql-language-service-interface": "0.0.19",
+ "graphql-language-service-parser": "0.0.15"
+ }
+ },
+ "color": {
+ "version": "0.11.4",
+ "resolved": "https://registry.npmjs.org/color/-/color-0.11.4.tgz",
+ "integrity": "sha1-bXtcdPtl6EHNSHkq0e1eB7kE12Q=",
+ "dev": true,
+ "requires": {
+ "clone": "1.0.3",
+ "color-convert": "1.9.1",
+ "color-string": "0.3.0"
+ },
+ "dependencies": {
+ "clone": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.3.tgz",
+ "integrity": "sha1-KY1+IjFmD0DAA8LtMUDezz9TCF8=",
+ "dev": true
+ }
+ }
+ },
+ "color-convert": {
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz",
+ "integrity": "sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "1.1.3"
+ }
+ },
+ "color-name": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
+ "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.1.3"
+ }
+ },
+ "colormin": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/colormin/-/colormin-1.1.2.tgz",
+ "integrity": "sha1-6i90IKcrlogaOKrlnsEkpvcpgTM=",
+ "dev": true,
+ "requires": {
+ "color": "0.11.4",
+ "css-color-names": "0.0.4",
+ "has": "1.0.1"
+ }
+ },
+ "colors": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz",
+ "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=",
+ "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=",
+ "requires": {
+ "delayed-stream": "1.0.0"
+ }
+ },
+ "commander": {
+ "version": "2.12.1",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.12.1.tgz",
+ "integrity": "sha512-PCNLExLlI5HiPdaJs4pMXwOTHkSCpNQ1QJH9ykZLKtKEyKu3p9HgmH5l97vM8c0IUz6d54l+xEu2GG9yuYrFzA=="
+ },
+ "commondir": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
+ "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=",
+ "dev": true
+ },
+ "compare-version": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/compare-version/-/compare-version-0.1.2.tgz",
+ "integrity": "sha1-AWLsLZNR9d3VmpICy6k1NmpyUIA=",
+ "dev": true
+ },
+ "compress-commons": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-1.2.2.tgz",
+ "integrity": "sha1-UkqfEJA/OoEzibAiXSfEi7dRiQ8=",
+ "dev": true,
+ "requires": {
+ "buffer-crc32": "0.2.13",
+ "crc32-stream": "2.0.0",
+ "normalize-path": "2.1.1",
+ "readable-stream": "2.3.3"
+ }
+ },
+ "compressible": {
+ "version": "2.0.12",
+ "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.12.tgz",
+ "integrity": "sha1-xZpcmdt2dn6YdlAOJx72OzSTvWY=",
+ "dev": true,
+ "requires": {
+ "mime-db": "1.30.0"
+ }
+ },
+ "compression": {
+ "version": "1.7.1",
+ "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.1.tgz",
+ "integrity": "sha1-7/JgPvwuIs+G810uuTWJ+YdTc9s=",
+ "dev": true,
+ "requires": {
+ "accepts": "1.3.4",
+ "bytes": "3.0.0",
+ "compressible": "2.0.12",
+ "debug": "2.6.9",
+ "on-headers": "1.0.1",
+ "safe-buffer": "5.1.1",
+ "vary": "1.1.2"
+ }
+ },
+ "concat-map": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
+ },
+ "concat-stream": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz",
+ "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=",
+ "dev": true,
+ "requires": {
+ "inherits": "2.0.3",
+ "readable-stream": "2.3.3",
+ "typedarray": "0.0.6"
+ }
+ },
+ "concurrently": {
+ "version": "3.5.1",
+ "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-3.5.1.tgz",
+ "integrity": "sha512-689HrwGw8Rbk1xtV9C4dY6TPJAvIYZbRbnKSAtfJ7tHqICFGoZ0PCWYjxfmerRyxBG0o3sbG3pe7N8vqPwIHuQ==",
+ "dev": true,
+ "requires": {
+ "chalk": "0.5.1",
+ "commander": "2.6.0",
+ "date-fns": "1.29.0",
+ "lodash": "4.17.4",
+ "rx": "2.3.24",
+ "spawn-command": "0.0.2-1",
+ "supports-color": "3.2.3",
+ "tree-kill": "1.2.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz",
+ "integrity": "sha1-DY6UaWej2BQ/k+JOKYUl/BsiNfk=",
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.1.0.tgz",
+ "integrity": "sha1-6uy/Zs1waIJ2Cy9GkVgrj1XXp94=",
+ "dev": true
+ },
+ "chalk": {
+ "version": "0.5.1",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.5.1.tgz",
+ "integrity": "sha1-Zjs6ZItotV0EaQ1JFnqoN4WPIXQ=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "1.1.0",
+ "escape-string-regexp": "1.0.5",
+ "has-ansi": "0.1.0",
+ "strip-ansi": "0.3.0",
+ "supports-color": "0.2.0"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-0.2.0.tgz",
+ "integrity": "sha1-2S3iaU6z9nMjlz1649i1W0wiGQo=",
+ "dev": true
+ }
+ }
+ },
+ "commander": {
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.6.0.tgz",
+ "integrity": "sha1-nfflL7Kgyw+4kFjugMMQQiXzfh0=",
+ "dev": true
+ },
+ "has-ansi": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-0.1.0.tgz",
+ "integrity": "sha1-hPJlqujA5qiKEtcCKJS3VoiUxi4=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "0.2.1"
+ }
+ },
+ "strip-ansi": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz",
+ "integrity": "sha1-JfSOoiynkYfzF0pNuHWTR7sSYiA=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "0.2.1"
+ }
+ },
+ "supports-color": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "dev": true,
+ "requires": {
+ "has-flag": "1.0.0"
+ }
+ }
+ }
+ },
+ "configstore": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.1.tgz",
+ "integrity": "sha512-5oNkD/L++l0O6xGXxb1EWS7SivtjfGQlRyxJsYgE0Z495/L81e2h4/d3r969hoPXuFItzNOKMtsXgYG4c7dYvw==",
+ "dev": true,
+ "requires": {
+ "dot-prop": "4.2.0",
+ "graceful-fs": "4.1.11",
+ "make-dir": "1.1.0",
+ "unique-string": "1.0.0",
+ "write-file-atomic": "2.3.0",
+ "xdg-basedir": "3.0.0"
+ }
+ },
+ "connect-history-api-fallback": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.5.0.tgz",
+ "integrity": "sha1-sGhzk0vF40T+9hGhlqb6rgruAVo=",
+ "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"
+ }
+ },
+ "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="
+ },
+ "constants-browserify": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz",
+ "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=",
+ "dev": true
+ },
+ "contains-path": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz",
+ "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=",
+ "dev": true
+ },
+ "content-disposition": {
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz",
+ "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=",
+ "dev": true
+ },
+ "content-type": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
+ "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==",
+ "dev": true
+ },
+ "content-type-parser": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/content-type-parser/-/content-type-parser-1.0.2.tgz",
+ "integrity": "sha512-lM4l4CnMEwOLHAHr/P6MEZwZFPJFtAAKgL6pogbXmVZggIqXhdB6RbBtPOTsw2FcXwYhehRGERJmRrjOiIB8pQ==",
+ "dev": true
+ },
+ "convert-source-map": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz",
+ "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=",
+ "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
+ },
+ "core-js": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.1.tgz",
+ "integrity": "sha1-rmh03GaTd4m4B1T/VCjfZoGcpQs=",
+ "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="
+ },
+ "crc": {
+ "version": "3.5.0",
+ "resolved": "https://registry.npmjs.org/crc/-/crc-3.5.0.tgz",
+ "integrity": "sha1-mLi6fUiWZbo5efWbITgTdBAaGWQ=",
+ "dev": true
+ },
+ "crc32-stream": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-2.0.0.tgz",
+ "integrity": "sha1-483TtN8xaN10494/u8t7KX/pCPQ=",
+ "dev": true,
+ "requires": {
+ "crc": "3.5.0",
+ "readable-stream": "2.3.3"
+ }
+ },
+ "create-ecdh": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.0.tgz",
+ "integrity": "sha1-iIxyNZbN92EvZJgjPuvXo1MBc30=",
+ "dev": true,
+ "requires": {
+ "bn.js": "4.11.8",
+ "elliptic": "6.4.0"
+ }
+ },
+ "create-error-class": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz",
+ "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=",
+ "dev": true,
+ "requires": {
+ "capture-stack-trace": "1.0.0"
+ }
+ },
+ "create-hash": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.3.tgz",
+ "integrity": "sha1-YGBCrIuSYnUPSDyt2rD1gZFy2P0=",
+ "dev": true,
+ "requires": {
+ "cipher-base": "1.0.4",
+ "inherits": "2.0.3",
+ "ripemd160": "2.0.1",
+ "sha.js": "2.4.9"
+ }
+ },
+ "create-hmac": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.6.tgz",
+ "integrity": "sha1-rLniIaThe9sHbpBlfEK5PjcmzwY=",
+ "dev": true,
+ "requires": {
+ "cipher-base": "1.0.4",
+ "create-hash": "1.1.3",
+ "inherits": "2.0.3",
+ "ripemd160": "2.0.1",
+ "safe-buffer": "5.1.1",
+ "sha.js": "2.4.9"
+ }
+ },
+ "cross-env": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-2.0.1.tgz",
+ "integrity": "sha1-8oO0A56nWa2pq36YetO92yQbeaY=",
+ "dev": true,
+ "requires": {
+ "cross-spawn": "3.0.1",
+ "lodash.assign": "3.2.0"
+ }
+ },
+ "cross-spawn": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz",
+ "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=",
+ "dev": true,
+ "requires": {
+ "lru-cache": "4.1.1",
+ "which": "1.3.0"
+ }
+ },
+ "cryptiles": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-3.1.2.tgz",
+ "integrity": "sha1-qJ+7Ig9c4l7FboxKqKT9e1sNKf4=",
+ "requires": {
+ "boom": "5.2.0"
+ },
+ "dependencies": {
+ "boom": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz",
+ "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==",
+ "requires": {
+ "hoek": "4.2.0"
+ }
+ }
+ }
+ },
+ "crypto": {
+ "version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/crypto/-/crypto-0.0.3.tgz",
+ "integrity": "sha1-RwqBuGvkxe4XrMggeh9TFa4g27A="
+ },
+ "crypto-browserify": {
+ "version": "3.12.0",
+ "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz",
+ "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==",
+ "dev": true,
+ "requires": {
+ "browserify-cipher": "1.0.0",
+ "browserify-sign": "4.0.4",
+ "create-ecdh": "4.0.0",
+ "create-hash": "1.1.3",
+ "create-hmac": "1.1.6",
+ "diffie-hellman": "5.0.2",
+ "inherits": "2.0.3",
+ "pbkdf2": "3.0.14",
+ "public-encrypt": "4.0.0",
+ "randombytes": "2.0.5",
+ "randomfill": "1.0.3"
+ }
+ },
+ "crypto-random-string": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz",
+ "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=",
+ "dev": true
+ },
+ "css-color-names": {
+ "version": "0.0.4",
+ "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz",
+ "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=",
+ "dev": true
+ },
+ "css-loader": {
+ "version": "0.28.7",
+ "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-0.28.7.tgz",
+ "integrity": "sha512-GxMpax8a/VgcfRrVy0gXD6yLd5ePYbXX/5zGgTVYp4wXtJklS8Z2VaUArJgc//f6/Dzil7BaJObdSv8eKKCPgg==",
+ "dev": true,
+ "requires": {
+ "babel-code-frame": "6.26.0",
+ "css-selector-tokenizer": "0.7.0",
+ "cssnano": "3.10.0",
+ "icss-utils": "2.1.0",
+ "loader-utils": "1.1.0",
+ "lodash.camelcase": "4.3.0",
+ "object-assign": "4.1.1",
+ "postcss": "5.2.18",
+ "postcss-modules-extract-imports": "1.1.0",
+ "postcss-modules-local-by-default": "1.2.0",
+ "postcss-modules-scope": "1.1.0",
+ "postcss-modules-values": "1.3.0",
+ "postcss-value-parser": "3.3.0",
+ "source-list-map": "2.0.0"
+ }
+ },
+ "css-selector-tokenizer": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.0.tgz",
+ "integrity": "sha1-5piEdK6MlTR3v15+/s/OzNnPTIY=",
+ "dev": true,
+ "requires": {
+ "cssesc": "0.1.0",
+ "fastparse": "1.1.1",
+ "regexpu-core": "1.0.0"
+ },
+ "dependencies": {
+ "regexpu-core": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-1.0.0.tgz",
+ "integrity": "sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs=",
+ "dev": true,
+ "requires": {
+ "regenerate": "1.3.3",
+ "regjsgen": "0.2.0",
+ "regjsparser": "0.1.5"
+ }
+ }
+ }
+ },
+ "cssesc": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-0.1.0.tgz",
+ "integrity": "sha1-yBSQPkViM3GgR3tAEJqq++6t27Q=",
+ "dev": true
+ },
+ "cssnano": {
+ "version": "3.10.0",
+ "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-3.10.0.tgz",
+ "integrity": "sha1-Tzj2zqK5sX+gFJDyPx3GjqZcHDg=",
+ "dev": true,
+ "requires": {
+ "autoprefixer": "6.7.7",
+ "decamelize": "1.2.0",
+ "defined": "1.0.0",
+ "has": "1.0.1",
+ "object-assign": "4.1.1",
+ "postcss": "5.2.18",
+ "postcss-calc": "5.3.1",
+ "postcss-colormin": "2.2.2",
+ "postcss-convert-values": "2.6.1",
+ "postcss-discard-comments": "2.0.4",
+ "postcss-discard-duplicates": "2.1.0",
+ "postcss-discard-empty": "2.1.0",
+ "postcss-discard-overridden": "0.1.1",
+ "postcss-discard-unused": "2.2.3",
+ "postcss-filter-plugins": "2.0.2",
+ "postcss-merge-idents": "2.1.7",
+ "postcss-merge-longhand": "2.0.2",
+ "postcss-merge-rules": "2.1.2",
+ "postcss-minify-font-values": "1.0.5",
+ "postcss-minify-gradients": "1.0.5",
+ "postcss-minify-params": "1.2.2",
+ "postcss-minify-selectors": "2.1.1",
+ "postcss-normalize-charset": "1.1.1",
+ "postcss-normalize-url": "3.0.8",
+ "postcss-ordered-values": "2.2.3",
+ "postcss-reduce-idents": "2.4.0",
+ "postcss-reduce-initial": "1.0.1",
+ "postcss-reduce-transforms": "1.0.4",
+ "postcss-svgo": "2.1.6",
+ "postcss-unique-selectors": "2.0.2",
+ "postcss-value-parser": "3.3.0",
+ "postcss-zindex": "2.2.0"
+ }
+ },
+ "csso": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/csso/-/csso-2.3.2.tgz",
+ "integrity": "sha1-3dUsWHAz9J6Utx/FVWnyUuj/X4U=",
+ "dev": true,
+ "requires": {
+ "clap": "1.2.3",
+ "source-map": "0.5.7"
+ }
+ },
+ "cssom": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.2.tgz",
+ "integrity": "sha1-uANhcMefB6kP8vFuIihAJ6JDhIs=",
+ "dev": true
+ },
+ "cssstyle": {
+ "version": "0.2.37",
+ "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-0.2.37.tgz",
+ "integrity": "sha1-VBCXI0yyUTyDzu06zdwn/yeYfVQ=",
+ "dev": true,
+ "requires": {
+ "cssom": "0.3.2"
+ }
+ },
+ "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.2"
+ }
+ },
+ "d": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz",
+ "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=",
+ "dev": true,
+ "requires": {
+ "es5-ext": "0.10.37"
+ }
+ },
+ "dashdash": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
+ "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
+ "requires": {
+ "assert-plus": "1.0.0"
+ }
+ },
+ "date-fns": {
+ "version": "1.29.0",
+ "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-1.29.0.tgz",
+ "integrity": "sha512-lbTXWZ6M20cWH8N9S6afb0SBm6tMk+uUg6z3MqHPKE9atmsY3kJkTm8vKe93izJ2B2+q5MV990sM2CHgtAZaOw==",
+ "dev": true
+ },
+ "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
+ },
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "decamelize": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
+ "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA="
+ },
+ "deep-equal": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz",
+ "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU="
+ },
+ "deep-extend": {
+ "version": "0.4.2",
+ "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.2.tgz",
+ "integrity": "sha1-SLaZwn4zS/ifEIkr5DL25MfTSn8="
+ },
+ "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="
+ },
+ "default-require-extensions": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-1.0.0.tgz",
+ "integrity": "sha1-836hXT4T/9m0N9M+GnW1+5eHTLg=",
+ "dev": true,
+ "requires": {
+ "strip-bom": "2.0.0"
+ }
+ },
+ "define-properties": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz",
+ "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=",
+ "dev": true,
+ "requires": {
+ "foreach": "2.0.5",
+ "object-keys": "1.0.11"
+ },
+ "dependencies": {
+ "object-keys": {
+ "version": "1.0.11",
+ "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.11.tgz",
+ "integrity": "sha1-xUYBd4rVYPEULODgG8yotW0TQm0=",
+ "dev": true
+ }
+ }
+ },
+ "defined": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz",
+ "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=",
+ "dev": true
+ },
+ "del": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz",
+ "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=",
+ "dev": true,
+ "requires": {
+ "globby": "5.0.0",
+ "is-path-cwd": "1.0.0",
+ "is-path-in-cwd": "1.0.0",
+ "object-assign": "4.1.1",
+ "pify": "2.3.0",
+ "pinkie-promise": "2.0.1",
+ "rimraf": "2.6.2"
+ }
+ },
+ "delayed-stream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
+ "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
+ },
+ "delegates": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
+ "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o="
+ },
+ "depd": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz",
+ "integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k=",
+ "dev": true
+ },
+ "des.js": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz",
+ "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=",
+ "dev": true,
+ "requires": {
+ "inherits": "2.0.3",
+ "minimalistic-assert": "1.0.0"
+ }
+ },
+ "destroy": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
+ "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=",
+ "dev": true
+ },
+ "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.1"
+ }
+ },
+ "detect-libc": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz",
+ "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups="
+ },
+ "detect-node": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.3.tgz",
+ "integrity": "sha1-ogM8CcyOFY03dI+951B4Mr1s4Sc=",
+ "dev": true
+ },
+ "diff": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/diff/-/diff-3.4.0.tgz",
+ "integrity": "sha512-QpVuMTEoJMF7cKzi6bvWhRulU1fZqZnvyVQgNhPaxxuTYwyjn/j1v9falseQ/uXWwPnO56RBfwtg4h/EQXmucA==",
+ "dev": true
+ },
+ "diffie-hellman": {
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.2.tgz",
+ "integrity": "sha1-tYNXOScM/ias9jIJn97SoH8gnl4=",
+ "dev": true,
+ "requires": {
+ "bn.js": "4.11.8",
+ "miller-rabin": "4.0.1",
+ "randombytes": "2.0.5"
+ }
+ },
+ "disposables": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/disposables/-/disposables-1.0.1.tgz",
+ "integrity": "sha1-BkcnoltU9QK9griaot+4358bOeM="
+ },
+ "dmg-builder": {
+ "version": "2.1.7",
+ "resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-2.1.7.tgz",
+ "integrity": "sha512-ZHM1t6kZFO2Qf6c0IpxtJc6dQ/lO+fPY/8O4UK+FCMmajzML4IEEL3zKsEooJV6KmarYnm7kqAWPL2nSNRlLhg==",
+ "dev": true,
+ "requires": {
+ "bluebird-lst": "1.0.5",
+ "builder-util": "3.4.1",
+ "debug": "3.1.0",
+ "fs-extra-p": "4.4.4",
+ "iconv-lite": "0.4.19",
+ "js-yaml": "3.10.0",
+ "parse-color": "1.0.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
+ "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "esprima": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz",
+ "integrity": "sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw==",
+ "dev": true
+ },
+ "js-yaml": {
+ "version": "3.10.0",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.10.0.tgz",
+ "integrity": "sha512-O2v52ffjLa9VeM43J4XocZE//WT9N0IiwDa3KSHH7Tu8CtH+1qM8SIZvnsTh6v+4yFy5KUY3BHUVwjpfAWsjIA==",
+ "dev": true,
+ "requires": {
+ "argparse": "1.0.9",
+ "esprima": "4.0.0"
+ }
+ }
+ }
+ },
+ "dnd-core": {
+ "version": "2.5.4",
+ "resolved": "https://registry.npmjs.org/dnd-core/-/dnd-core-2.5.4.tgz",
+ "integrity": "sha512-BcI782MfTm3wCxeIS5c7tAutyTwEIANtuu3W6/xkoJRwiqhRXKX3BbGlycUxxyzMsKdvvoavxgrC3EMPFNYL9A==",
+ "requires": {
+ "asap": "2.0.6",
+ "invariant": "2.2.2",
+ "lodash": "4.17.4",
+ "redux": "3.7.2"
+ }
+ },
+ "dns-equal": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz",
+ "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=",
+ "dev": true
+ },
+ "dns-packet": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.2.2.tgz",
+ "integrity": "sha512-kN+DjfGF7dJGUL7nWRktL9Z18t1rWP3aQlyZdY8XlpvU3Nc6GeFTQApftcjtWKxAZfiggZSGrCEoszNgvnpwDg==",
+ "dev": true,
+ "requires": {
+ "ip": "1.1.5",
+ "safe-buffer": "5.1.1"
+ }
+ },
+ "dns-txt": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz",
+ "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=",
+ "dev": true,
+ "requires": {
+ "buffer-indexof": "1.1.1"
+ }
+ },
+ "doctrine": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.0.0.tgz",
+ "integrity": "sha1-xz2NKQnSIpHhoAejlYBNqLZl/mM=",
+ "dev": true,
+ "requires": {
+ "esutils": "2.0.2",
+ "isarray": "1.0.0"
+ }
+ },
+ "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.3",
+ "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
+ }
+ }
+ },
+ "dom-walk": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.1.tgz",
+ "integrity": "sha1-ZyIm3HTI95mtNTB9+TaroRrNYBg=",
+ "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
+ },
+ "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.4.1",
+ "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.1.tgz",
+ "integrity": "sha1-iS5HAAqZvlW783dP/qBWHYh5wlk=",
+ "dev": true,
+ "requires": {
+ "domelementtype": "1.3.0"
+ }
+ },
+ "domutils": {
+ "version": "1.6.2",
+ "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.6.2.tgz",
+ "integrity": "sha1-GVjMC0yUJuntNn+xyOhUiRsPo/8=",
+ "dev": true,
+ "requires": {
+ "dom-serializer": "0.1.0",
+ "domelementtype": "1.3.0"
+ }
+ },
+ "dot-prop": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz",
+ "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==",
+ "dev": true,
+ "requires": {
+ "is-obj": "1.0.1"
+ }
+ },
+ "dotenv": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-4.0.0.tgz",
+ "integrity": "sha1-hk7xN5rO1Vzm+V3r7NzhefegzR0=",
+ "dev": true
+ },
+ "dotenv-expand": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-4.0.1.tgz",
+ "integrity": "sha1-aP3cFWGBTgoQlkERBX/xOM7X16g=",
+ "dev": true
+ },
+ "ducktype": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/ducktype/-/ducktype-1.1.0.tgz",
+ "integrity": "sha1-owrBwDIJFrDCRl19HKj5Vo59kYg="
+ },
+ "duplexer": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz",
+ "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E="
+ },
+ "duplexer3": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz",
+ "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=",
+ "dev": true
+ },
+ "ebnf-parser": {
+ "version": "0.1.10",
+ "resolved": "https://registry.npmjs.org/ebnf-parser/-/ebnf-parser-0.1.10.tgz",
+ "integrity": "sha1-zR9rpHfFY4xAyX7ZtXLbW6tdgzE="
+ },
+ "ecc-jsbn": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz",
+ "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=",
+ "optional": true,
+ "requires": {
+ "jsbn": "0.1.1"
+ }
+ },
+ "ecdsa-sig-formatter": {
+ "version": "1.0.9",
+ "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.9.tgz",
+ "integrity": "sha1-S8kmJ07Dtau1AW5+HWCSGsJisqE=",
+ "requires": {
+ "base64url": "2.0.0",
+ "safe-buffer": "5.1.1"
+ }
+ },
+ "ee-first": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
+ "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=",
+ "dev": true
+ },
+ "ejs": {
+ "version": "2.5.7",
+ "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.5.7.tgz",
+ "integrity": "sha1-zIcsFoiArjxxiXYv1f/ACJbJUYo=",
+ "dev": true
+ },
+ "electron": {
+ "version": "1.7.9",
+ "resolved": "https://registry.npmjs.org/electron/-/electron-1.7.9.tgz",
+ "integrity": "sha1-rdVOn4+D7QL2UZ7BATX2mLGTNs8=",
+ "dev": true,
+ "requires": {
+ "@types/node": "7.0.48",
+ "electron-download": "3.3.0",
+ "extract-zip": "1.6.6"
+ }
+ },
+ "electron-builder": {
+ "version": "19.46.4",
+ "resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-19.46.4.tgz",
+ "integrity": "sha512-h5f+7RIz/9pQAZMI7lNe2V/grSvHTbPsOY18JqkUIQkImSJdTcAx/jUrI5bVUXA0GW/ANibVPDw1ZSG6zqK7uA==",
+ "dev": true,
+ "requires": {
+ "bluebird-lst": "1.0.5",
+ "builder-util": "3.4.1",
+ "builder-util-runtime": "3.2.0",
+ "chalk": "2.3.0",
+ "electron-builder-lib": "19.46.4",
+ "electron-download-tf": "4.3.4",
+ "fs-extra-p": "4.4.4",
+ "is-ci": "1.0.10",
+ "lazy-val": "1.0.2",
+ "read-config-file": "1.2.0",
+ "sanitize-filename": "1.6.1",
+ "update-notifier": "2.3.0",
+ "yargs": "10.0.3"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
+ "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==",
+ "dev": true,
+ "requires": {
+ "color-convert": "1.9.1"
+ }
+ },
+ "chalk": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz",
+ "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "3.2.0",
+ "escape-string-regexp": "1.0.5",
+ "supports-color": "4.5.0"
+ }
+ },
+ "debug": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
+ "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "electron-builder-lib": {
+ "version": "19.46.4",
+ "resolved": "https://registry.npmjs.org/electron-builder-lib/-/electron-builder-lib-19.46.4.tgz",
+ "integrity": "sha512-Pvrl/otLyODkCONybO/HQCyJj+UxRXKKt0oZdjFCRcHX9oYODB7bTkz2NRanaob6yWiFkaB6pnnrVMUpN/kNhQ==",
+ "dev": true,
+ "requires": {
+ "7zip-bin": "2.2.7",
+ "app-package-builder": "1.5.1",
+ "asar-integrity": "0.2.3",
+ "async-exit-hook": "2.0.1",
+ "bluebird-lst": "1.0.5",
+ "builder-util": "3.4.1",
+ "builder-util-runtime": "3.2.0",
+ "chromium-pickle-js": "0.2.0",
+ "debug": "3.1.0",
+ "dmg-builder": "2.1.7",
+ "ejs": "2.5.7",
+ "electron-osx-sign": "0.4.7",
+ "electron-publish": "19.46.4",
+ "fs-extra-p": "4.4.4",
+ "hosted-git-info": "2.5.0",
+ "is-ci": "1.0.10",
+ "isbinaryfile": "3.0.2",
+ "js-yaml": "3.10.0",
+ "lazy-val": "1.0.2",
+ "minimatch": "3.0.4",
+ "normalize-package-data": "2.4.0",
+ "plist": "2.1.0",
+ "read-config-file": "1.2.0",
+ "sanitize-filename": "1.6.1",
+ "semver": "5.4.1",
+ "temp-file": "2.1.3"
+ }
+ },
+ "electron-download-tf": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/electron-download-tf/-/electron-download-tf-4.3.4.tgz",
+ "integrity": "sha512-SQYDGMLpTgty1bx3NycuDb7dNPzktVSdK2sqPZjyRocauq/uN/V4S2lcpFVLupaHhKlD8zozm9fTpm5UdohvTg==",
+ "dev": true,
+ "requires": {
+ "debug": "3.1.0",
+ "env-paths": "1.0.0",
+ "fs-extra": "4.0.2",
+ "minimist": "1.2.0",
+ "nugget": "2.0.1",
+ "path-exists": "3.0.0",
+ "rc": "1.2.2",
+ "semver": "5.4.1",
+ "sumchecker": "2.0.2"
+ }
+ },
+ "esprima": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz",
+ "integrity": "sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw==",
+ "dev": true
+ },
+ "fs-extra": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.2.tgz",
+ "integrity": "sha1-+RcExT0bRh+JNFKwwwfZmXZHq2s=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11",
+ "jsonfile": "4.0.0",
+ "universalify": "0.1.1"
+ }
+ },
+ "has-flag": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz",
+ "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=",
+ "dev": true
+ },
+ "js-yaml": {
+ "version": "3.10.0",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.10.0.tgz",
+ "integrity": "sha512-O2v52ffjLa9VeM43J4XocZE//WT9N0IiwDa3KSHH7Tu8CtH+1qM8SIZvnsTh6v+4yFy5KUY3BHUVwjpfAWsjIA==",
+ "dev": true,
+ "requires": {
+ "argparse": "1.0.9",
+ "esprima": "4.0.0"
+ }
+ },
+ "jsonfile": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
+ "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11"
+ }
+ },
+ "minimist": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+ "dev": true
+ },
+ "sumchecker": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/sumchecker/-/sumchecker-2.0.2.tgz",
+ "integrity": "sha1-D0LBDl0F2l1C7qPlbDOZo31sWz4=",
+ "dev": true,
+ "requires": {
+ "debug": "2.6.9"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ }
+ }
+ },
+ "supports-color": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz",
+ "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=",
+ "dev": true,
+ "requires": {
+ "has-flag": "2.0.0"
+ }
+ }
+ }
+ },
+ "electron-builder-lib": {
+ "version": "19.46.5",
+ "resolved": "https://registry.npmjs.org/electron-builder-lib/-/electron-builder-lib-19.46.5.tgz",
+ "integrity": "sha512-zV8XVs2zHrWcRtN5pEFHK4KvhlwHa/keGdHas5vZwmwJgpvLbVIVVnJp1R28yyr0fur32ATLtioV3TPOjjjGHA==",
+ "dev": true,
+ "requires": {
+ "7zip-bin": "2.2.7",
+ "app-package-builder": "1.5.2",
+ "asar-integrity": "0.2.3",
+ "async-exit-hook": "2.0.1",
+ "bluebird-lst": "1.0.5",
+ "builder-util": "3.4.2",
+ "builder-util-runtime": "3.3.0",
+ "chromium-pickle-js": "0.2.0",
+ "debug": "3.1.0",
+ "dmg-builder": "2.1.8",
+ "ejs": "2.5.7",
+ "electron-osx-sign": "0.4.7",
+ "electron-publish": "19.46.5",
+ "fs-extra-p": "4.4.4",
+ "hosted-git-info": "2.5.0",
+ "is-ci": "1.0.10",
+ "isbinaryfile": "3.0.2",
+ "js-yaml": "3.10.0",
+ "lazy-val": "1.0.2",
+ "minimatch": "3.0.4",
+ "normalize-package-data": "2.4.0",
+ "plist": "2.1.0",
+ "read-config-file": "1.2.0",
+ "sanitize-filename": "1.6.1",
+ "semver": "5.4.1",
+ "temp-file": "3.0.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
+ "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==",
+ "dev": true,
+ "requires": {
+ "color-convert": "1.9.1"
+ }
+ },
+ "app-package-builder": {
+ "version": "1.5.2",
+ "resolved": "https://registry.npmjs.org/app-package-builder/-/app-package-builder-1.5.2.tgz",
+ "integrity": "sha512-CgUVUZmRSR7+7LHCNcldSKQhJCewEN2zhH1uVkHsQmU8bDd5nwa7LRZTzTmxVnKpTv1+duOytq78an/Yf83NVg==",
+ "dev": true,
+ "requires": {
+ "bluebird-lst": "1.0.5",
+ "builder-util": "3.4.2",
+ "builder-util-runtime": "3.3.0",
+ "fs-extra-p": "4.4.4",
+ "int64-buffer": "0.1.9",
+ "rabin-bindings": "1.7.3"
+ }
+ },
+ "builder-util": {
+ "version": "3.4.2",
+ "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-3.4.2.tgz",
+ "integrity": "sha512-/PINOWgq3PolxDIiPLV1nxw54XduN/Ev16BR71iRii442yqxykrzj6Pxg1TWBHo1jtL/LL6vuGoTdWRCTqogXA==",
+ "dev": true,
+ "requires": {
+ "7zip-bin": "2.2.7",
+ "bluebird-lst": "1.0.5",
+ "builder-util-runtime": "3.3.0",
+ "chalk": "2.3.0",
+ "debug": "3.1.0",
+ "fs-extra-p": "4.4.4",
+ "ini": "1.3.5",
+ "is-ci": "1.0.10",
+ "js-yaml": "3.10.0",
+ "lazy-val": "1.0.2",
+ "node-emoji": "1.8.1",
+ "semver": "5.4.1",
+ "source-map-support": "0.5.0",
+ "stat-mode": "0.2.2",
+ "temp-file": "3.0.0",
+ "tunnel-agent": "0.6.0"
+ }
+ },
+ "builder-util-runtime": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-3.3.0.tgz",
+ "integrity": "sha512-rJreKRttTNgq6gQ5jphlUu8zMk/s0+rAYLIkmHMSTkkFpYJopj1PcimnTTJORUheJ8JLKejv+g2293f9o9YATA==",
+ "dev": true,
+ "requires": {
+ "bluebird-lst": "1.0.5",
+ "debug": "3.1.0",
+ "fs-extra-p": "4.4.4",
+ "sax": "1.2.4"
+ }
+ },
+ "chalk": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz",
+ "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "3.2.0",
+ "escape-string-regexp": "1.0.5",
+ "supports-color": "4.5.0"
+ }
+ },
+ "debug": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
+ "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "dmg-builder": {
+ "version": "2.1.8",
+ "resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-2.1.8.tgz",
+ "integrity": "sha512-fcdvE+Af1nGb0vB5+eDjC2+FWXAjsgpS7HAuM1Gk3wIUQTIv2n503+akKnA2be/5kGlqyJ4zjfo/Lk1f+G/new==",
+ "dev": true,
+ "requires": {
+ "bluebird-lst": "1.0.5",
+ "builder-util": "3.4.2",
+ "debug": "3.1.0",
+ "fs-extra-p": "4.4.4",
+ "iconv-lite": "0.4.19",
+ "js-yaml": "3.10.0",
+ "parse-color": "1.0.0"
+ }
+ },
+ "electron-publish": {
+ "version": "19.46.5",
+ "resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-19.46.5.tgz",
+ "integrity": "sha512-VuQf8RbtC9At/43nd6fndCBjMWnQfmgP8k1P37c1bTqQtE7YIO0OOw8m3mPfJ1B6RjIlszbamgOjH/C/Zynsfg==",
+ "dev": true,
+ "requires": {
+ "bluebird-lst": "1.0.5",
+ "builder-util": "3.4.2",
+ "builder-util-runtime": "3.3.0",
+ "chalk": "2.3.0",
+ "fs-extra-p": "4.4.4",
+ "mime": "2.0.3"
+ }
+ },
+ "esprima": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz",
+ "integrity": "sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw==",
+ "dev": true
+ },
+ "has-flag": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz",
+ "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=",
+ "dev": true
+ },
+ "js-yaml": {
+ "version": "3.10.0",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.10.0.tgz",
+ "integrity": "sha512-O2v52ffjLa9VeM43J4XocZE//WT9N0IiwDa3KSHH7Tu8CtH+1qM8SIZvnsTh6v+4yFy5KUY3BHUVwjpfAWsjIA==",
+ "dev": true,
+ "requires": {
+ "argparse": "1.0.9",
+ "esprima": "4.0.0"
+ }
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ },
+ "source-map-support": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.0.tgz",
+ "integrity": "sha512-vUoN3I7fHQe0R/SJLKRdKYuEdRGogsviXFkHHo17AWaTGv17VLnxw+CFXvqy+y4ORZ3doWLQcxRYfwKrsd/H7Q==",
+ "dev": true,
+ "requires": {
+ "source-map": "0.6.1"
+ }
+ },
+ "supports-color": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz",
+ "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=",
+ "dev": true,
+ "requires": {
+ "has-flag": "2.0.0"
+ }
+ },
+ "temp-file": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/temp-file/-/temp-file-3.0.0.tgz",
+ "integrity": "sha512-WaSZQMckvo975nF1fSv05Nuya63AiLtyn0oYURF1xw1BF092CpIXgRv/Y0vQeocL5pv4ouVsBOnTCoK4kAK2uQ==",
+ "dev": true,
+ "requires": {
+ "async-exit-hook": "2.0.1",
+ "bluebird-lst": "1.0.5",
+ "fs-extra-p": "4.4.4",
+ "lazy-val": "1.0.2"
+ }
+ }
+ }
+ },
+ "electron-builder-squirrel-windows": {
+ "version": "19.46.5",
+ "resolved": "https://registry.npmjs.org/electron-builder-squirrel-windows/-/electron-builder-squirrel-windows-19.46.5.tgz",
+ "integrity": "sha512-MYMh8vasBjE0kXXit3qUN2Zl76klXbr2+SFM450q0HjU/58+nTO/9Vw7cCVfPU6xrVOPdYK2le221rNJJTAkZA==",
+ "dev": true,
+ "requires": {
+ "7zip-bin": "2.2.7",
+ "archiver": "2.1.0",
+ "bluebird-lst": "1.0.5",
+ "builder-util": "3.4.2",
+ "fs-extra-p": "4.4.4",
+ "sanitize-filename": "1.6.1"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
+ "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==",
+ "dev": true,
+ "requires": {
+ "color-convert": "1.9.1"
+ }
+ },
+ "builder-util": {
+ "version": "3.4.2",
+ "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-3.4.2.tgz",
+ "integrity": "sha512-/PINOWgq3PolxDIiPLV1nxw54XduN/Ev16BR71iRii442yqxykrzj6Pxg1TWBHo1jtL/LL6vuGoTdWRCTqogXA==",
+ "dev": true,
+ "requires": {
+ "7zip-bin": "2.2.7",
+ "bluebird-lst": "1.0.5",
+ "builder-util-runtime": "3.3.0",
+ "chalk": "2.3.0",
+ "debug": "3.1.0",
+ "fs-extra-p": "4.4.4",
+ "ini": "1.3.5",
+ "is-ci": "1.0.10",
+ "js-yaml": "3.10.0",
+ "lazy-val": "1.0.2",
+ "node-emoji": "1.8.1",
+ "semver": "5.4.1",
+ "source-map-support": "0.5.0",
+ "stat-mode": "0.2.2",
+ "temp-file": "3.0.0",
+ "tunnel-agent": "0.6.0"
+ }
+ },
+ "builder-util-runtime": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-3.3.0.tgz",
+ "integrity": "sha512-rJreKRttTNgq6gQ5jphlUu8zMk/s0+rAYLIkmHMSTkkFpYJopj1PcimnTTJORUheJ8JLKejv+g2293f9o9YATA==",
+ "dev": true,
+ "requires": {
+ "bluebird-lst": "1.0.5",
+ "debug": "3.1.0",
+ "fs-extra-p": "4.4.4",
+ "sax": "1.2.4"
+ }
+ },
+ "chalk": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz",
+ "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "3.2.0",
+ "escape-string-regexp": "1.0.5",
+ "supports-color": "4.5.0"
+ }
+ },
+ "debug": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
+ "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "esprima": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz",
+ "integrity": "sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw==",
+ "dev": true
+ },
+ "has-flag": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz",
+ "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=",
+ "dev": true
+ },
+ "js-yaml": {
+ "version": "3.10.0",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.10.0.tgz",
+ "integrity": "sha512-O2v52ffjLa9VeM43J4XocZE//WT9N0IiwDa3KSHH7Tu8CtH+1qM8SIZvnsTh6v+4yFy5KUY3BHUVwjpfAWsjIA==",
+ "dev": true,
+ "requires": {
+ "argparse": "1.0.9",
+ "esprima": "4.0.0"
+ }
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ },
+ "source-map-support": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.0.tgz",
+ "integrity": "sha512-vUoN3I7fHQe0R/SJLKRdKYuEdRGogsviXFkHHo17AWaTGv17VLnxw+CFXvqy+y4ORZ3doWLQcxRYfwKrsd/H7Q==",
+ "dev": true,
+ "requires": {
+ "source-map": "0.6.1"
+ }
+ },
+ "supports-color": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz",
+ "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=",
+ "dev": true,
+ "requires": {
+ "has-flag": "2.0.0"
+ }
+ },
+ "temp-file": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/temp-file/-/temp-file-3.0.0.tgz",
+ "integrity": "sha512-WaSZQMckvo975nF1fSv05Nuya63AiLtyn0oYURF1xw1BF092CpIXgRv/Y0vQeocL5pv4ouVsBOnTCoK4kAK2uQ==",
+ "dev": true,
+ "requires": {
+ "async-exit-hook": "2.0.1",
+ "bluebird-lst": "1.0.5",
+ "fs-extra-p": "4.4.4",
+ "lazy-val": "1.0.2"
+ }
+ }
+ }
+ },
+ "electron-context-menu": {
+ "version": "0.9.1",
+ "resolved": "https://registry.npmjs.org/electron-context-menu/-/electron-context-menu-0.9.1.tgz",
+ "integrity": "sha1-7U3yDAgEkcPJlqv8s2MVmUajgFg=",
+ "requires": {
+ "electron-dl": "1.10.0",
+ "electron-is-dev": "0.1.2"
+ }
+ },
+ "electron-dl": {
+ "version": "1.10.0",
+ "resolved": "https://registry.npmjs.org/electron-dl/-/electron-dl-1.10.0.tgz",
+ "integrity": "sha1-+UQWBkBW/G8qhq5JhhTJNSaJCvk=",
+ "requires": {
+ "ext-name": "5.0.0",
+ "pupa": "1.0.0",
+ "unused-filename": "1.0.0"
+ }
+ },
+ "electron-download": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/electron-download/-/electron-download-3.3.0.tgz",
+ "integrity": "sha1-LP1U1pZsAZxNSa1l++Zcyc3vaMg=",
+ "dev": true,
+ "requires": {
+ "debug": "2.6.9",
+ "fs-extra": "0.30.0",
+ "home-path": "1.0.5",
+ "minimist": "1.2.0",
+ "nugget": "2.0.1",
+ "path-exists": "2.1.0",
+ "rc": "1.2.2",
+ "semver": "5.4.1",
+ "sumchecker": "1.3.1"
+ },
+ "dependencies": {
+ "minimist": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+ "dev": true
+ },
+ "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.1"
+ }
+ }
+ }
+ },
+ "electron-is-dev": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/electron-is-dev/-/electron-is-dev-0.1.2.tgz",
+ "integrity": "sha1-ihBD4ys6HaHD9VPc4oznZCRhZ+M="
+ },
+ "electron-osx-sign": {
+ "version": "0.4.7",
+ "resolved": "https://registry.npmjs.org/electron-osx-sign/-/electron-osx-sign-0.4.7.tgz",
+ "integrity": "sha1-HXVkeoJ0jqzUi+pwYW7IP/rePuU=",
+ "dev": true,
+ "requires": {
+ "bluebird": "3.5.1",
+ "compare-version": "0.1.2",
+ "debug": "2.6.9",
+ "isbinaryfile": "3.0.2",
+ "minimist": "1.2.0",
+ "plist": "2.1.0"
+ },
+ "dependencies": {
+ "minimist": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+ "dev": true
+ }
+ }
+ },
+ "electron-publish": {
+ "version": "19.46.4",
+ "resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-19.46.4.tgz",
+ "integrity": "sha512-WhWAhPm/ynGQmrbFN4vm4jvlQqUUmsCN3PB7KVoxePtKI9Am99pkRWTjZ5ZKKNJbvanRIn6G8f4nYrc79nT2Ig==",
+ "dev": true,
+ "requires": {
+ "bluebird-lst": "1.0.5",
+ "builder-util": "3.4.1",
+ "builder-util-runtime": "3.2.0",
+ "chalk": "2.3.0",
+ "fs-extra-p": "4.4.4",
+ "mime": "2.0.3"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
+ "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==",
+ "dev": true,
+ "requires": {
+ "color-convert": "1.9.1"
+ }
+ },
+ "chalk": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz",
+ "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "3.2.0",
+ "escape-string-regexp": "1.0.5",
+ "supports-color": "4.5.0"
+ }
+ },
+ "has-flag": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz",
+ "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz",
+ "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=",
+ "dev": true,
+ "requires": {
+ "has-flag": "2.0.0"
+ }
+ }
+ }
+ },
+ "electron-rebuild": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/electron-rebuild/-/electron-rebuild-1.6.0.tgz",
+ "integrity": "sha1-6NJvTY6f5TiN81hks2WOXP1Ny34=",
+ "dev": true,
+ "requires": {
+ "colors": "1.1.2",
+ "debug": "2.6.9",
+ "fs-extra": "3.0.1",
+ "node-abi": "2.1.2",
+ "node-gyp": "3.6.2",
+ "ora": "1.3.0",
+ "rimraf": "2.6.2",
+ "spawn-rx": "2.0.12",
+ "yargs": "7.1.0"
+ },
+ "dependencies": {
+ "camelcase": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz",
+ "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=",
+ "dev": true
+ },
+ "fs-extra": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-3.0.1.tgz",
+ "integrity": "sha1-N5TzeMWLNC6n27sjCVEJxLO2IpE=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11",
+ "jsonfile": "3.0.1",
+ "universalify": "0.1.1"
+ }
+ },
+ "jsonfile": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-3.0.1.tgz",
+ "integrity": "sha1-pezG9l9T9mLEQVx2daAzHQmS7GY=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11"
+ }
+ },
+ "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"
+ }
+ },
+ "which-module": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz",
+ "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=",
+ "dev": true
+ },
+ "yargs": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz",
+ "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=",
+ "dev": true,
+ "requires": {
+ "camelcase": "3.0.0",
+ "cliui": "3.2.0",
+ "decamelize": "1.2.0",
+ "get-caller-file": "1.0.2",
+ "os-locale": "1.4.0",
+ "read-pkg-up": "1.0.1",
+ "require-directory": "2.1.1",
+ "require-main-filename": "1.0.1",
+ "set-blocking": "2.0.0",
+ "string-width": "1.0.2",
+ "which-module": "1.0.0",
+ "y18n": "3.2.1",
+ "yargs-parser": "5.0.0"
+ }
+ },
+ "yargs-parser": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz",
+ "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=",
+ "dev": true,
+ "requires": {
+ "camelcase": "3.0.0"
+ }
+ }
+ }
+ },
+ "electron-squirrel-startup": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/electron-squirrel-startup/-/electron-squirrel-startup-1.0.0.tgz",
+ "integrity": "sha1-GbTlWTP6Dvj1VnhLnGYPdyVGoLg=",
+ "requires": {
+ "debug": "2.6.9"
+ }
+ },
+ "electron-to-chromium": {
+ "version": "1.3.27",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.27.tgz",
+ "integrity": "sha1-eOy4o5kGYYe7N07t412ccFZagD0=",
+ "dev": true
+ },
+ "elliptic": {
+ "version": "6.4.0",
+ "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.0.tgz",
+ "integrity": "sha1-ysmvh2LIWDYYcAPI3+GT5eLq5d8=",
+ "dev": true,
+ "requires": {
+ "bn.js": "4.11.8",
+ "brorand": "1.1.0",
+ "hash.js": "1.1.3",
+ "hmac-drbg": "1.0.1",
+ "inherits": "2.0.3",
+ "minimalistic-assert": "1.0.0",
+ "minimalistic-crypto-utils": "1.0.1"
+ }
+ },
+ "emojis-list": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz",
+ "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k="
+ },
+ "encodeurl": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.1.tgz",
+ "integrity": "sha1-eePVhlU0aQn+bw9Fpd5oEDspTSA=",
+ "dev": true
+ },
+ "encoding": {
+ "version": "0.1.12",
+ "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz",
+ "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=",
+ "requires": {
+ "iconv-lite": "0.4.19"
+ }
+ },
+ "end-of-stream": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.0.tgz",
+ "integrity": "sha1-epDYM+/abPpurA9JSduw+tOmMgY=",
+ "dev": true,
+ "requires": {
+ "once": "1.4.0"
+ }
+ },
+ "enhanced-resolve": {
+ "version": "3.4.1",
+ "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz",
+ "integrity": "sha1-BCHjOf1xQZs9oT0Smzl5BAIwR24=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11",
+ "memory-fs": "0.4.1",
+ "object-assign": "4.1.1",
+ "tapable": "0.2.8"
+ }
+ },
+ "entities": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz",
+ "integrity": "sha1-blwtClYhtdra7O+AuQ7ftc13cvA=",
+ "dev": true
+ },
+ "env-paths": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-1.0.0.tgz",
+ "integrity": "sha1-QWgTO0K7BcOKNbGuQ5fIKYqzaeA=",
+ "dev": true
+ },
+ "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"
+ }
+ },
+ "error-ex": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz",
+ "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=",
+ "dev": true,
+ "requires": {
+ "is-arrayish": "0.2.1"
+ }
+ },
+ "error-stack-parser": {
+ "version": "1.3.6",
+ "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-1.3.6.tgz",
+ "integrity": "sha1-4Oc7k+QXE40c18C3RrGkoUhUwpI=",
+ "dev": true,
+ "requires": {
+ "stackframe": "0.3.1"
+ }
+ },
+ "es-abstract": {
+ "version": "1.10.0",
+ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.10.0.tgz",
+ "integrity": "sha512-/uh/DhdqIOSkAWifU+8nG78vlQxdLckUdI/sPgy0VhuXi2qJ7T8czBmqIYtLQVpCIFYafChnsRsB5pyb1JdmCQ==",
+ "dev": true,
+ "requires": {
+ "es-to-primitive": "1.1.1",
+ "function-bind": "1.1.1",
+ "has": "1.0.1",
+ "is-callable": "1.1.3",
+ "is-regex": "1.0.4"
+ }
+ },
+ "es-to-primitive": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.1.1.tgz",
+ "integrity": "sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=",
+ "dev": true,
+ "requires": {
+ "is-callable": "1.1.3",
+ "is-date-object": "1.0.1",
+ "is-symbol": "1.0.1"
+ }
+ },
+ "es3ify": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/es3ify/-/es3ify-0.1.4.tgz",
+ "integrity": "sha1-rZ+l3xrjTz8x4SEbWBiy1RB439E=",
+ "requires": {
+ "esprima-fb": "3001.1.0-dev-harmony-fb",
+ "jstransform": "3.0.0",
+ "through": "2.3.8"
+ },
+ "dependencies": {
+ "esprima-fb": {
+ "version": "3001.1.0-dev-harmony-fb",
+ "resolved": "https://registry.npmjs.org/esprima-fb/-/esprima-fb-3001.0001.0000-dev-harmony-fb.tgz",
+ "integrity": "sha1-t303q8046gt3Qmu4vCkizmtCZBE="
+ }
+ }
+ },
+ "es5-ext": {
+ "version": "0.10.37",
+ "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.37.tgz",
+ "integrity": "sha1-DudB0Ui4AGm6J9AgOTdWryV978M=",
+ "dev": true,
+ "requires": {
+ "es6-iterator": "2.0.3",
+ "es6-symbol": "3.1.1"
+ }
+ },
+ "es6-iterator": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz",
+ "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=",
+ "dev": true,
+ "requires": {
+ "d": "1.0.0",
+ "es5-ext": "0.10.37",
+ "es6-symbol": "3.1.1"
+ }
+ },
+ "es6-map": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz",
+ "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=",
+ "dev": true,
+ "requires": {
+ "d": "1.0.0",
+ "es5-ext": "0.10.37",
+ "es6-iterator": "2.0.3",
+ "es6-set": "0.1.5",
+ "es6-symbol": "3.1.1",
+ "event-emitter": "0.3.5"
+ }
+ },
+ "es6-promise": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.1.1.tgz",
+ "integrity": "sha512-OaU1hHjgJf+b0NzsxCg7NdIYERD6Hy/PEmFLTjw+b65scuisG3Kt4QoTvJ66BBkPZ581gr0kpoVzKnxniM8nng==",
+ "dev": true
+ },
+ "es6-set": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz",
+ "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=",
+ "dev": true,
+ "requires": {
+ "d": "1.0.0",
+ "es5-ext": "0.10.37",
+ "es6-iterator": "2.0.3",
+ "es6-symbol": "3.1.1",
+ "event-emitter": "0.3.5"
+ }
+ },
+ "es6-symbol": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz",
+ "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=",
+ "dev": true,
+ "requires": {
+ "d": "1.0.0",
+ "es5-ext": "0.10.37"
+ }
+ },
+ "es6-weak-map": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz",
+ "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=",
+ "dev": true,
+ "requires": {
+ "d": "1.0.0",
+ "es5-ext": "0.10.37",
+ "es6-iterator": "2.0.3",
+ "es6-symbol": "3.1.1"
+ }
+ },
+ "escape-html": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
+ "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=",
+ "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="
+ },
+ "escodegen": {
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.9.0.tgz",
+ "integrity": "sha512-v0MYvNQ32bzwoG2OSFzWAkuahDQHK92JBN0pTAALJ4RIxEZe766QJPDR8Hqy7XNUy5K3fnVL76OqYAdc4TZEIw==",
+ "requires": {
+ "esprima": "3.1.3",
+ "estraverse": "4.2.0",
+ "esutils": "2.0.2",
+ "optionator": "0.8.2",
+ "source-map": "0.5.7"
+ },
+ "dependencies": {
+ "esprima": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz",
+ "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM="
+ }
+ }
+ },
+ "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.5",
+ "es6-weak-map": "2.0.2",
+ "esrecurse": "4.2.0",
+ "estraverse": "4.2.0"
+ }
+ },
+ "eslint": {
+ "version": "3.19.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-3.19.0.tgz",
+ "integrity": "sha1-yPxiAcf0DdCJQbh8CFdnOGpnmsw=",
+ "dev": true,
+ "requires": {
+ "babel-code-frame": "6.26.0",
+ "chalk": "1.1.3",
+ "concat-stream": "1.6.0",
+ "debug": "2.6.9",
+ "doctrine": "2.0.0",
+ "escope": "3.6.0",
+ "espree": "3.5.2",
+ "esquery": "1.0.0",
+ "estraverse": "4.2.0",
+ "esutils": "2.0.2",
+ "file-entry-cache": "2.0.0",
+ "glob": "7.1.2",
+ "globals": "9.18.0",
+ "ignore": "3.3.7",
+ "imurmurhash": "0.1.4",
+ "inquirer": "0.12.0",
+ "is-my-json-valid": "2.16.1",
+ "is-resolvable": "1.0.0",
+ "js-yaml": "3.7.0",
+ "json-stable-stringify": "1.0.1",
+ "levn": "0.3.0",
+ "lodash": "4.17.4",
+ "mkdirp": "0.5.1",
+ "natural-compare": "1.4.0",
+ "optionator": "0.8.2",
+ "path-is-inside": "1.0.2",
+ "pluralize": "1.2.1",
+ "progress": "1.1.8",
+ "require-uncached": "1.0.3",
+ "shelljs": "0.7.8",
+ "strip-bom": "3.0.0",
+ "strip-json-comments": "2.0.1",
+ "table": "3.8.3",
+ "text-table": "0.2.0",
+ "user-home": "2.0.0"
+ },
+ "dependencies": {
+ "strip-bom": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
+ "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
+ "dev": true
+ },
+ "user-home": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/user-home/-/user-home-2.0.0.tgz",
+ "integrity": "sha1-nHC/2Babwdy/SGBODwS4tJzenp8=",
+ "dev": true,
+ "requires": {
+ "os-homedir": "1.0.2"
+ }
+ }
+ }
+ },
+ "eslint-config-semistandard": {
+ "version": "11.0.0",
+ "resolved": "https://registry.npmjs.org/eslint-config-semistandard/-/eslint-config-semistandard-11.0.0.tgz",
+ "integrity": "sha1-RO73z9/Uchnjp7gbkbVA6IC7JhU=",
+ "dev": true
+ },
+ "eslint-config-standard": {
+ "version": "10.2.1",
+ "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-10.2.1.tgz",
+ "integrity": "sha1-wGHk0GbzedwXzVYsZOgZtN1FRZE=",
+ "dev": true
+ },
+ "eslint-import-resolver-node": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.1.tgz",
+ "integrity": "sha512-yUtXS15gIcij68NmXmP9Ni77AQuCN0itXbCc/jWd8C6/yKZaSNXicpC8cgvjnxVdmfsosIXrjpzFq7GcDryb6A==",
+ "dev": true,
+ "requires": {
+ "debug": "2.6.9",
+ "resolve": "1.5.0"
+ }
+ },
+ "eslint-module-utils": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.1.1.tgz",
+ "integrity": "sha512-jDI/X5l/6D1rRD/3T43q8Qgbls2nq5km5KSqiwlyUbGo5+04fXhMKdCPhjwbqAa6HXWaMxj8Q4hQDIh7IadJQw==",
+ "dev": true,
+ "requires": {
+ "debug": "2.6.9",
+ "pkg-dir": "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.1.0",
+ "pinkie-promise": "2.0.1"
+ }
+ },
+ "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.1"
+ }
+ },
+ "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.1.2"
+ }
+ }
+ }
+ },
+ "eslint-plugin-filenames": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-filenames/-/eslint-plugin-filenames-1.2.0.tgz",
+ "integrity": "sha1-runByQGJyV0uSZAsFg7O7+zZn1M=",
+ "dev": true,
+ "requires": {
+ "lodash.camelcase": "4.3.0",
+ "lodash.kebabcase": "4.1.1",
+ "lodash.snakecase": "4.1.1",
+ "lodash.upperfirst": "4.3.1"
+ }
+ },
+ "eslint-plugin-flowtype": {
+ "version": "2.39.1",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-2.39.1.tgz",
+ "integrity": "sha512-RiQv+7Z9QDJuzt+NO8sYgkLGT+h+WeCrxP7y8lI7wpU41x3x/2o3PGtHk9ck8QnA9/mlbNcy/hG0eKvmd7npaA==",
+ "dev": true,
+ "requires": {
+ "lodash": "4.17.4"
+ }
+ },
+ "eslint-plugin-html": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-html/-/eslint-plugin-html-2.0.3.tgz",
+ "integrity": "sha1-fImIOrDIX6XSi2ZqFKTpBqqQuJc=",
+ "dev": true,
+ "requires": {
+ "htmlparser2": "3.9.2"
+ }
+ },
+ "eslint-plugin-import": {
+ "version": "2.8.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.8.0.tgz",
+ "integrity": "sha512-Rf7dfKJxZ16QuTgVv1OYNxkZcsu/hULFnC+e+w0Gzi6jMC3guQoWQgxYxc54IDRinlb6/0v5z/PxxIKmVctN+g==",
+ "dev": true,
+ "requires": {
+ "builtin-modules": "1.1.1",
+ "contains-path": "0.1.0",
+ "debug": "2.6.9",
+ "doctrine": "1.5.0",
+ "eslint-import-resolver-node": "0.3.1",
+ "eslint-module-utils": "2.1.1",
+ "has": "1.0.1",
+ "lodash.cond": "4.5.2",
+ "minimatch": "3.0.4",
+ "read-pkg-up": "2.0.0"
+ },
+ "dependencies": {
+ "doctrine": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz",
+ "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=",
+ "dev": true,
+ "requires": {
+ "esutils": "2.0.2",
+ "isarray": "1.0.0"
+ }
+ },
+ "load-json-file": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz",
+ "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11",
+ "parse-json": "2.2.0",
+ "pify": "2.3.0",
+ "strip-bom": "3.0.0"
+ }
+ },
+ "path-type": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz",
+ "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=",
+ "dev": true,
+ "requires": {
+ "pify": "2.3.0"
+ }
+ },
+ "read-pkg": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz",
+ "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=",
+ "dev": true,
+ "requires": {
+ "load-json-file": "2.0.0",
+ "normalize-package-data": "2.4.0",
+ "path-type": "2.0.0"
+ }
+ },
+ "read-pkg-up": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz",
+ "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=",
+ "dev": true,
+ "requires": {
+ "find-up": "2.1.0",
+ "read-pkg": "2.0.0"
+ }
+ },
+ "strip-bom": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
+ "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
+ "dev": true
+ }
+ }
+ },
+ "eslint-plugin-jest": {
+ "version": "19.0.1",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-19.0.1.tgz",
+ "integrity": "sha1-QqQg6Q6BqnThYsFhZuQ6MbiQ7s4=",
+ "dev": true
+ },
+ "eslint-plugin-json": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-json/-/eslint-plugin-json-1.2.0.tgz",
+ "integrity": "sha1-m6c7sL6Z1QCT6In1uWhGPSow764=",
+ "dev": true,
+ "requires": {
+ "jshint": "2.9.5"
+ }
+ },
+ "eslint-plugin-node": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-5.2.1.tgz",
+ "integrity": "sha512-xhPXrh0Vl/b7870uEbaumb2Q+LxaEcOQ3kS1jtIXanBAwpMre1l5q/l2l/hESYJGEFKuI78bp6Uw50hlpr7B+g==",
+ "dev": true,
+ "requires": {
+ "ignore": "3.3.7",
+ "minimatch": "3.0.4",
+ "resolve": "1.5.0",
+ "semver": "5.3.0"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
+ "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=",
+ "dev": true
+ }
+ }
+ },
+ "eslint-plugin-promise": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-3.6.0.tgz",
+ "integrity": "sha512-YQzM6TLTlApAr7Li8vWKR+K3WghjwKcYzY0d2roWap4SLK+kzuagJX/leTetIDWsFcTFnKNJXWupDCD6aZkP2Q==",
+ "dev": true
+ },
+ "eslint-plugin-react": {
+ "version": "7.5.1",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.5.1.tgz",
+ "integrity": "sha512-YGSjB9Qu6QbVTroUZi66pYky3DfoIPLdHQ/wmrBGyBRnwxQsBXAov9j2rpXt/55i8nyMv6IRWJv2s4d4YnduzQ==",
+ "dev": true,
+ "requires": {
+ "doctrine": "2.0.0",
+ "has": "1.0.1",
+ "jsx-ast-utils": "2.0.1",
+ "prop-types": "15.6.0"
+ }
+ },
+ "eslint-plugin-standard": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-standard/-/eslint-plugin-standard-3.0.1.tgz",
+ "integrity": "sha1-NNDJFbRe3G8BA5PH7vOCOwhWXPI=",
+ "dev": true
+ },
+ "esmangle-evaluator": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/esmangle-evaluator/-/esmangle-evaluator-1.0.1.tgz",
+ "integrity": "sha1-Yg2GbvSGGzMR91dm1SqFcrs8YzY="
+ },
+ "espree": {
+ "version": "3.5.2",
+ "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.2.tgz",
+ "integrity": "sha512-sadKeYwaR/aJ3stC2CdvgXu1T16TdYN+qwCpcWbMnGJ8s0zNWemzrvb2GbD4OhmJ/fwpJjudThAlLobGbWZbCQ==",
+ "dev": true,
+ "requires": {
+ "acorn": "5.2.1",
+ "acorn-jsx": "3.0.1"
+ }
+ },
+ "esprima": {
+ "version": "2.7.3",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz",
+ "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=",
+ "dev": true
+ },
+ "esquery": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.0.tgz",
+ "integrity": "sha1-z7qLV9f7qT8XKYqKAGoEzaE9gPo=",
+ "dev": true,
+ "requires": {
+ "estraverse": "4.2.0"
+ }
+ },
+ "esrecurse": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.0.tgz",
+ "integrity": "sha1-+pVo2Y04I/mkHZHpAtyrnqblsWM=",
+ "dev": true,
+ "requires": {
+ "estraverse": "4.2.0",
+ "object-assign": "4.1.1"
+ }
+ },
+ "estraverse": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz",
+ "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM="
+ },
+ "esutils": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
+ "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs="
+ },
+ "etag": {
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
+ "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=",
+ "dev": true
+ },
+ "event-emitter": {
+ "version": "0.3.5",
+ "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz",
+ "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=",
+ "dev": true,
+ "requires": {
+ "d": "1.0.0",
+ "es5-ext": "0.10.37"
+ }
+ },
+ "event-stream": {
+ "version": "3.3.4",
+ "resolved": "https://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz",
+ "integrity": "sha1-SrTJoPWlTbkzi0w02Gv86PSzVXE=",
+ "requires": {
+ "duplexer": "0.1.1",
+ "from": "0.1.7",
+ "map-stream": "0.1.0",
+ "pause-stream": "0.0.11",
+ "split": "0.3.3",
+ "stream-combiner": "0.0.4",
+ "through": "2.3.8"
+ }
+ },
+ "eventemitter3": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-1.2.0.tgz",
+ "integrity": "sha1-HIaZHYFq0eUEdQ5zh0Ik7PO+xQg=",
+ "dev": true
+ },
+ "events": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz",
+ "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=",
+ "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": "1.0.0"
+ }
+ },
+ "evp_bytestokey": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz",
+ "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==",
+ "dev": true,
+ "requires": {
+ "md5.js": "1.3.4",
+ "safe-buffer": "5.1.1"
+ }
+ },
+ "exec-sh": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.2.1.tgz",
+ "integrity": "sha512-aLt95pexaugVtQerpmE51+4QfWrNc304uez7jvj6fWnN8GeEHpttB8F36n8N7uVhUMbH/1enbxQ9HImZ4w/9qg==",
+ "dev": true,
+ "requires": {
+ "merge": "1.2.0"
+ }
+ },
+ "execa": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz",
+ "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=",
+ "dev": true,
+ "requires": {
+ "cross-spawn": "5.1.0",
+ "get-stream": "3.0.0",
+ "is-stream": "1.1.0",
+ "npm-run-path": "2.0.2",
+ "p-finally": "1.0.0",
+ "signal-exit": "3.0.2",
+ "strip-eof": "1.0.0"
+ },
+ "dependencies": {
+ "cross-spawn": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz",
+ "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=",
+ "dev": true,
+ "requires": {
+ "lru-cache": "4.1.1",
+ "shebang-command": "1.2.0",
+ "which": "1.3.0"
+ }
+ }
+ }
+ },
+ "exit": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz",
+ "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=",
+ "dev": true
+ },
+ "exit-hook": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz",
+ "integrity": "sha1-8FyiM7SMBdVP/wd2XfhQfpXAL/g=",
+ "dev": true
+ },
+ "expand-brackets": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz",
+ "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=",
+ "requires": {
+ "is-posix-bracket": "0.1.1"
+ }
+ },
+ "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=",
+ "requires": {
+ "fill-range": "2.2.3"
+ }
+ },
+ "expand-template": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-1.1.0.tgz",
+ "integrity": "sha512-kkjwkMqj0h4w/sb32ERCDxCQkREMCAgS39DscDnSwDsbxnwwM1BTZySdC3Bn1lhY7vL08n9GoO/fVTynjDgRyQ==",
+ "dev": true
+ },
+ "expect": {
+ "version": "21.2.1",
+ "resolved": "https://registry.npmjs.org/expect/-/expect-21.2.1.tgz",
+ "integrity": "sha512-orfQQqFRTX0jH7znRIGi8ZMR8kTNpXklTTz8+HGTpmTKZo3Occ6JNB5FXMb8cRuiiC/GyDqsr30zUa66ACYlYw==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "3.2.0",
+ "jest-diff": "21.2.1",
+ "jest-get-type": "21.2.0",
+ "jest-matcher-utils": "21.2.1",
+ "jest-message-util": "21.2.1",
+ "jest-regex-util": "21.2.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
+ "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==",
+ "dev": true,
+ "requires": {
+ "color-convert": "1.9.1"
+ }
+ }
+ }
+ },
+ "express": {
+ "version": "4.16.2",
+ "resolved": "https://registry.npmjs.org/express/-/express-4.16.2.tgz",
+ "integrity": "sha1-41xt/i1kt9ygpc1PIXgb4ymeB2w=",
+ "dev": true,
+ "requires": {
+ "accepts": "1.3.4",
+ "array-flatten": "1.1.1",
+ "body-parser": "1.18.2",
+ "content-disposition": "0.5.2",
+ "content-type": "1.0.4",
+ "cookie": "0.3.1",
+ "cookie-signature": "1.0.6",
+ "debug": "2.6.9",
+ "depd": "1.1.1",
+ "encodeurl": "1.0.1",
+ "escape-html": "1.0.3",
+ "etag": "1.8.1",
+ "finalhandler": "1.1.0",
+ "fresh": "0.5.2",
+ "merge-descriptors": "1.0.1",
+ "methods": "1.1.2",
+ "on-finished": "2.3.0",
+ "parseurl": "1.3.2",
+ "path-to-regexp": "0.1.7",
+ "proxy-addr": "2.0.2",
+ "qs": "6.5.1",
+ "range-parser": "1.2.0",
+ "safe-buffer": "5.1.1",
+ "send": "0.16.1",
+ "serve-static": "1.13.1",
+ "setprototypeof": "1.1.0",
+ "statuses": "1.3.1",
+ "type-is": "1.6.15",
+ "utils-merge": "1.0.1",
+ "vary": "1.1.2"
+ },
+ "dependencies": {
+ "array-flatten": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
+ "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=",
+ "dev": true
+ }
+ }
+ },
+ "ext-list": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/ext-list/-/ext-list-2.2.2.tgz",
+ "integrity": "sha512-u+SQgsubraE6zItfVA0tBuCBhfU9ogSRnsvygI7wht9TS510oLkBRXBsqopeUG/GBOIQyKZO9wjTqIu/sf5zFA==",
+ "requires": {
+ "mime-db": "1.30.0"
+ }
+ },
+ "ext-name": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/ext-name/-/ext-name-5.0.0.tgz",
+ "integrity": "sha512-yblEwXAbGv1VQDmow7s38W77hzAgJAO50ztBLMcUyUBfxv1HC+LGwtiEN+Co6LtlqT/5uwVOxsD4TNIilWhwdQ==",
+ "requires": {
+ "ext-list": "2.2.2",
+ "sort-keys-length": "1.0.1"
+ }
+ },
+ "extend": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz",
+ "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ="
+ },
+ "extglob": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz",
+ "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=",
+ "requires": {
+ "is-extglob": "1.0.0"
+ }
+ },
+ "extract-zip": {
+ "version": "1.6.6",
+ "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.6.6.tgz",
+ "integrity": "sha1-EpDt6NINCHK0Kf0/NRyhKOxe+Fw=",
+ "dev": true,
+ "requires": {
+ "concat-stream": "1.6.0",
+ "debug": "2.6.9",
+ "mkdirp": "0.5.0",
+ "yauzl": "2.4.1"
+ },
+ "dependencies": {
+ "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"
+ }
+ }
+ }
+ },
+ "extsprintf": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
+ "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU="
+ },
+ "falafel": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/falafel/-/falafel-1.2.0.tgz",
+ "integrity": "sha1-wY0k71CRF0pJfzGM0ksCaiXN2rQ=",
+ "requires": {
+ "acorn": "1.2.2",
+ "foreach": "2.0.5",
+ "isarray": "0.0.1",
+ "object-keys": "1.0.11"
+ },
+ "dependencies": {
+ "acorn": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-1.2.2.tgz",
+ "integrity": "sha1-yM4n3grMdtiW0rH6099YjZ6C8BQ="
+ },
+ "isarray": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8="
+ },
+ "object-keys": {
+ "version": "1.0.11",
+ "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.11.tgz",
+ "integrity": "sha1-xUYBd4rVYPEULODgG8yotW0TQm0="
+ }
+ }
+ },
+ "fast-deep-equal": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz",
+ "integrity": "sha1-liVqO8l1WV6zbYLpkp0GDYk0Of8="
+ },
+ "fast-json-stable-stringify": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
+ "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I="
+ },
+ "fast-levenshtein": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
+ "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc="
+ },
+ "fastparse": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.1.tgz",
+ "integrity": "sha1-0eJkOzipTXWDtHkGDmxK/8lAcfg=",
+ "dev": true
+ },
+ "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.7.0"
+ }
+ },
+ "fb-watchman": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.0.tgz",
+ "integrity": "sha1-VOmr99+i8mzZsWNsWIwa/AXeXVg=",
+ "dev": true,
+ "requires": {
+ "bser": "2.0.0"
+ }
+ },
+ "fbjs": {
+ "version": "0.8.16",
+ "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.16.tgz",
+ "integrity": "sha1-XmdDL1UNxBtXK/VYR7ispk5TN9s=",
+ "requires": {
+ "core-js": "1.2.7",
+ "isomorphic-fetch": "2.2.1",
+ "loose-envify": "1.3.1",
+ "object-assign": "4.1.1",
+ "promise": "7.3.1",
+ "setimmediate": "1.0.5",
+ "ua-parser-js": "0.7.17"
+ },
+ "dependencies": {
+ "core-js": {
+ "version": "1.2.7",
+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz",
+ "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY="
+ }
+ }
+ },
+ "fd-slicer": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz",
+ "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=",
+ "requires": {
+ "pend": "1.2.0"
+ }
+ },
+ "figures": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz",
+ "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=",
+ "dev": true,
+ "requires": {
+ "escape-string-regexp": "1.0.5",
+ "object-assign": "4.1.1"
+ }
+ },
+ "file-entry-cache": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz",
+ "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=",
+ "dev": true,
+ "requires": {
+ "flat-cache": "1.3.0",
+ "object-assign": "4.1.1"
+ }
+ },
+ "file-loader": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-1.1.5.tgz",
+ "integrity": "sha512-RzGHDatcVNpGISTvCpfUfOGpYuSR7HSsSg87ki+wF6rw1Hm0RALPTiAdsxAq1UwLf0RRhbe22/eHK6nhXspiOQ==",
+ "dev": true,
+ "requires": {
+ "loader-utils": "1.1.0",
+ "schema-utils": "0.3.0"
+ }
+ },
+ "filename-regex": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz",
+ "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY="
+ },
+ "fileset": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/fileset/-/fileset-2.0.3.tgz",
+ "integrity": "sha1-jnVIqW08wjJ+5eZ0FocjozO7oqA=",
+ "dev": true,
+ "requires": {
+ "glob": "7.1.2",
+ "minimatch": "3.0.4"
+ }
+ },
+ "fill-range": {
+ "version": "2.2.3",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz",
+ "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=",
+ "requires": {
+ "is-number": "2.1.0",
+ "isobject": "2.1.0",
+ "randomatic": "1.1.7",
+ "repeat-element": "1.1.2",
+ "repeat-string": "1.6.1"
+ }
+ },
+ "finalhandler": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.0.tgz",
+ "integrity": "sha1-zgtoVbRYU+eRsvzGgARtiCU91/U=",
+ "dev": true,
+ "requires": {
+ "debug": "2.6.9",
+ "encodeurl": "1.0.1",
+ "escape-html": "1.0.3",
+ "on-finished": "2.3.0",
+ "parseurl": "1.3.2",
+ "statuses": "1.3.1",
+ "unpipe": "1.0.0"
+ }
+ },
+ "find-cache-dir": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz",
+ "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=",
+ "dev": true,
+ "requires": {
+ "commondir": "1.0.1",
+ "make-dir": "1.1.0",
+ "pkg-dir": "2.0.0"
+ }
+ },
+ "find-up": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
+ "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
+ "dev": true,
+ "requires": {
+ "locate-path": "2.0.0"
+ }
+ },
+ "flat-cache": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.0.tgz",
+ "integrity": "sha1-0wMLMrOBVPTjt+nHCfSQ9++XxIE=",
+ "dev": true,
+ "requires": {
+ "circular-json": "0.3.3",
+ "del": "2.2.2",
+ "graceful-fs": "4.1.11",
+ "write": "0.2.1"
+ }
+ },
+ "flatten": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.2.tgz",
+ "integrity": "sha1-2uRqnXj74lKSJYzB54CkHZXAN4I=",
+ "dev": true
+ },
+ "flow": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/flow/-/flow-0.2.3.tgz",
+ "integrity": "sha1-+Npl76JJEn7Jk3aiiJZXKpeV0a8=",
+ "dev": true
+ },
+ "flow-bin": {
+ "version": "0.58.0",
+ "resolved": "https://registry.npmjs.org/flow-bin/-/flow-bin-0.58.0.tgz",
+ "integrity": "sha512-jMImubdtZxLafc0EXZVCtOIJVknqGrruClPbol6kZ1oVQioMWu95iiKQMaSDJ78F4TjYuZCbqsdZ4LSI7TSsjA==",
+ "dev": true
+ },
+ "follow-redirects": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.0.0.tgz",
+ "integrity": "sha1-jjQpjL0uF28lTv/sdaHHjMhJ/Tc=",
+ "requires": {
+ "debug": "2.6.9"
+ }
+ },
+ "for-in": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
+ "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA="
+ },
+ "for-own": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz",
+ "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=",
+ "requires": {
+ "for-in": "1.0.2"
+ }
+ },
+ "foreach": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz",
+ "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k="
+ },
+ "forever-agent": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
+ "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE="
+ },
+ "form-data": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.1.tgz",
+ "integrity": "sha1-b7lPvXGIUwbXPRXMSX/kzE7NRL8=",
+ "requires": {
+ "asynckit": "0.4.0",
+ "combined-stream": "1.0.5",
+ "mime-types": "2.1.17"
+ }
+ },
+ "forwarded": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz",
+ "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=",
+ "dev": true
+ },
+ "fresh": {
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
+ "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=",
+ "dev": true
+ },
+ "from": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/from/-/from-0.1.7.tgz",
+ "integrity": "sha1-g8YK/Fi5xWmXAH7Rp2izqzA6RP4="
+ },
+ "fs-extra": {
+ "version": "0.30.0",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz",
+ "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11",
+ "jsonfile": "2.4.0",
+ "klaw": "1.3.1",
+ "path-is-absolute": "1.0.1",
+ "rimraf": "2.6.2"
+ }
+ },
+ "fs-extra-p": {
+ "version": "4.4.4",
+ "resolved": "https://registry.npmjs.org/fs-extra-p/-/fs-extra-p-4.4.4.tgz",
+ "integrity": "sha512-zHsMNJWhXD184QfHKEIFSQSgAFNV7v9J+Nt2XpaLZp2nTz6WxZNV+R4G2uYeGeLTMaKvUZiqGKrH/4iFCupcUA==",
+ "dev": true,
+ "requires": {
+ "bluebird-lst": "1.0.5",
+ "fs-extra": "4.0.2"
+ },
+ "dependencies": {
+ "fs-extra": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.2.tgz",
+ "integrity": "sha1-+RcExT0bRh+JNFKwwwfZmXZHq2s=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11",
+ "jsonfile": "4.0.0",
+ "universalify": "0.1.1"
+ }
+ },
+ "jsonfile": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
+ "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11"
+ }
+ }
+ }
+ },
+ "fs-readdir-recursive": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz",
+ "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==",
+ "dev": true
+ },
+ "fs-readfile-promise": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/fs-readfile-promise/-/fs-readfile-promise-2.0.1.tgz",
+ "integrity": "sha1-gAI4I5gfn//+AWCei+Zo9prknnA=",
+ "requires": {
+ "graceful-fs": "4.1.11"
+ }
+ },
+ "fs-writefile-promise": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/fs-writefile-promise/-/fs-writefile-promise-1.0.3.tgz",
+ "integrity": "sha1-4C+bWP/CVe2CKtx6ARFPRF1I0GM=",
+ "requires": {
+ "mkdirp-promise": "1.1.0",
+ "pinkie-promise": "1.0.0"
+ },
+ "dependencies": {
+ "pinkie": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-1.0.0.tgz",
+ "integrity": "sha1-Wkfyi6EBXQIBvae/DzWOR77Ix+Q="
+ },
+ "pinkie-promise": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-1.0.0.tgz",
+ "integrity": "sha1-0dpn9UglY7t89X8oauKCLs+/NnA=",
+ "requires": {
+ "pinkie": "1.0.0"
+ }
+ }
+ }
+ },
+ "fs.realpath": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
+ },
+ "fsevents": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.1.3.tgz",
+ "integrity": "sha512-WIr7iDkdmdbxu/Gh6eKEZJL6KPE74/5MEsf2whTOFNxbIoIixogroLdKYqB6FDav4Wavh/lZdzzd3b2KxIXC5Q==",
+ "optional": true,
+ "requires": {
+ "nan": "2.8.0",
+ "node-pre-gyp": "0.6.39"
+ },
+ "dependencies": {
+ "abbrev": {
+ "version": "1.1.0",
+ "bundled": true,
+ "optional": true
+ },
+ "ajv": {
+ "version": "4.11.8",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "co": "4.6.0",
+ "json-stable-stringify": "1.0.1"
+ }
+ },
+ "ansi-regex": {
+ "version": "2.1.1",
+ "bundled": true
+ },
+ "aproba": {
+ "version": "1.1.1",
+ "bundled": true,
+ "optional": true
+ },
+ "are-we-there-yet": {
+ "version": "1.1.4",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "delegates": "1.0.0",
+ "readable-stream": "2.2.9"
+ }
+ },
+ "asn1": {
+ "version": "0.2.3",
+ "bundled": true,
+ "optional": true
+ },
+ "assert-plus": {
+ "version": "0.2.0",
+ "bundled": true,
+ "optional": true
+ },
+ "asynckit": {
+ "version": "0.4.0",
+ "bundled": true,
+ "optional": true
+ },
+ "aws-sign2": {
+ "version": "0.6.0",
+ "bundled": true,
+ "optional": true
+ },
+ "aws4": {
+ "version": "1.6.0",
+ "bundled": true,
+ "optional": true
+ },
+ "balanced-match": {
+ "version": "0.4.2",
+ "bundled": true
+ },
+ "bcrypt-pbkdf": {
+ "version": "1.0.1",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "tweetnacl": "0.14.5"
+ }
+ },
+ "block-stream": {
+ "version": "0.0.9",
+ "bundled": true,
+ "requires": {
+ "inherits": "2.0.3"
+ }
+ },
+ "boom": {
+ "version": "2.10.1",
+ "bundled": true,
+ "requires": {
+ "hoek": "2.16.3"
+ }
+ },
+ "brace-expansion": {
+ "version": "1.1.7",
+ "bundled": true,
+ "requires": {
+ "balanced-match": "0.4.2",
+ "concat-map": "0.0.1"
+ }
+ },
+ "buffer-shims": {
+ "version": "1.0.0",
+ "bundled": true
+ },
+ "caseless": {
+ "version": "0.12.0",
+ "bundled": true,
+ "optional": true
+ },
+ "co": {
+ "version": "4.6.0",
+ "bundled": true,
+ "optional": true
+ },
+ "code-point-at": {
+ "version": "1.1.0",
+ "bundled": true
+ },
+ "combined-stream": {
+ "version": "1.0.5",
+ "bundled": true,
+ "requires": {
+ "delayed-stream": "1.0.0"
+ }
+ },
+ "concat-map": {
+ "version": "0.0.1",
+ "bundled": true
+ },
+ "console-control-strings": {
+ "version": "1.1.0",
+ "bundled": true
+ },
+ "core-util-is": {
+ "version": "1.0.2",
+ "bundled": true
+ },
+ "cryptiles": {
+ "version": "2.0.5",
+ "bundled": true,
+ "requires": {
+ "boom": "2.10.1"
+ }
+ },
+ "dashdash": {
+ "version": "1.14.1",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "assert-plus": "1.0.0"
+ },
+ "dependencies": {
+ "assert-plus": {
+ "version": "1.0.0",
+ "bundled": true,
+ "optional": true
+ }
+ }
+ },
+ "debug": {
+ "version": "2.6.8",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "deep-extend": {
+ "version": "0.4.2",
+ "bundled": true,
+ "optional": true
+ },
+ "delayed-stream": {
+ "version": "1.0.0",
+ "bundled": true
+ },
+ "delegates": {
+ "version": "1.0.0",
+ "bundled": true,
+ "optional": true
+ },
+ "detect-libc": {
+ "version": "1.0.2",
+ "bundled": true,
+ "optional": true
+ },
+ "ecc-jsbn": {
+ "version": "0.1.1",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "jsbn": "0.1.1"
+ }
+ },
+ "extend": {
+ "version": "3.0.1",
+ "bundled": true,
+ "optional": true
+ },
+ "extsprintf": {
+ "version": "1.0.2",
+ "bundled": true
+ },
+ "forever-agent": {
+ "version": "0.6.1",
+ "bundled": true,
+ "optional": true
+ },
+ "form-data": {
+ "version": "2.1.4",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "asynckit": "0.4.0",
+ "combined-stream": "1.0.5",
+ "mime-types": "2.1.15"
+ }
+ },
+ "fs.realpath": {
+ "version": "1.0.0",
+ "bundled": true
+ },
+ "fstream": {
+ "version": "1.0.11",
+ "bundled": true,
+ "requires": {
+ "graceful-fs": "4.1.11",
+ "inherits": "2.0.3",
+ "mkdirp": "0.5.1",
+ "rimraf": "2.6.1"
+ }
+ },
+ "fstream-ignore": {
+ "version": "1.0.5",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "fstream": "1.0.11",
+ "inherits": "2.0.3",
+ "minimatch": "3.0.4"
+ }
+ },
+ "gauge": {
+ "version": "2.7.4",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "aproba": "1.1.1",
+ "console-control-strings": "1.1.0",
+ "has-unicode": "2.0.1",
+ "object-assign": "4.1.1",
+ "signal-exit": "3.0.2",
+ "string-width": "1.0.2",
+ "strip-ansi": "3.0.1",
+ "wide-align": "1.1.2"
+ }
+ },
+ "getpass": {
+ "version": "0.1.7",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "assert-plus": "1.0.0"
+ },
+ "dependencies": {
+ "assert-plus": {
+ "version": "1.0.0",
+ "bundled": true,
+ "optional": true
+ }
+ }
+ },
+ "glob": {
+ "version": "7.1.2",
+ "bundled": true,
+ "requires": {
+ "fs.realpath": "1.0.0",
+ "inflight": "1.0.6",
+ "inherits": "2.0.3",
+ "minimatch": "3.0.4",
+ "once": "1.4.0",
+ "path-is-absolute": "1.0.1"
+ }
+ },
+ "graceful-fs": {
+ "version": "4.1.11",
+ "bundled": true
+ },
+ "har-schema": {
+ "version": "1.0.5",
+ "bundled": true,
+ "optional": true
+ },
+ "har-validator": {
+ "version": "4.2.1",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "ajv": "4.11.8",
+ "har-schema": "1.0.5"
+ }
+ },
+ "has-unicode": {
+ "version": "2.0.1",
+ "bundled": true,
+ "optional": true
+ },
+ "hawk": {
+ "version": "3.1.3",
+ "bundled": true,
+ "requires": {
+ "boom": "2.10.1",
+ "cryptiles": "2.0.5",
+ "hoek": "2.16.3",
+ "sntp": "1.0.9"
+ }
+ },
+ "hoek": {
+ "version": "2.16.3",
+ "bundled": true
+ },
+ "http-signature": {
+ "version": "1.1.1",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "assert-plus": "0.2.0",
+ "jsprim": "1.4.0",
+ "sshpk": "1.13.0"
+ }
+ },
+ "inflight": {
+ "version": "1.0.6",
+ "bundled": true,
+ "requires": {
+ "once": "1.4.0",
+ "wrappy": "1.0.2"
+ }
+ },
+ "inherits": {
+ "version": "2.0.3",
+ "bundled": true
+ },
+ "ini": {
+ "version": "1.3.4",
+ "bundled": true,
+ "optional": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "1.0.0",
+ "bundled": true,
+ "requires": {
+ "number-is-nan": "1.0.1"
+ }
+ },
+ "is-typedarray": {
+ "version": "1.0.0",
+ "bundled": true,
+ "optional": true
+ },
+ "isarray": {
+ "version": "1.0.0",
+ "bundled": true
+ },
+ "isstream": {
+ "version": "0.1.2",
+ "bundled": true,
+ "optional": true
+ },
+ "jodid25519": {
+ "version": "1.0.2",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "jsbn": "0.1.1"
+ }
+ },
+ "jsbn": {
+ "version": "0.1.1",
+ "bundled": true,
+ "optional": true
+ },
+ "json-schema": {
+ "version": "0.2.3",
+ "bundled": true,
+ "optional": true
+ },
+ "json-stable-stringify": {
+ "version": "1.0.1",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "jsonify": "0.0.0"
+ }
+ },
+ "json-stringify-safe": {
+ "version": "5.0.1",
+ "bundled": true,
+ "optional": true
+ },
+ "jsonify": {
+ "version": "0.0.0",
+ "bundled": true,
+ "optional": true
+ },
+ "jsprim": {
+ "version": "1.4.0",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "assert-plus": "1.0.0",
+ "extsprintf": "1.0.2",
+ "json-schema": "0.2.3",
+ "verror": "1.3.6"
+ },
+ "dependencies": {
+ "assert-plus": {
+ "version": "1.0.0",
+ "bundled": true,
+ "optional": true
+ }
+ }
+ },
+ "mime-db": {
+ "version": "1.27.0",
+ "bundled": true
+ },
+ "mime-types": {
+ "version": "2.1.15",
+ "bundled": true,
+ "requires": {
+ "mime-db": "1.27.0"
+ }
+ },
+ "minimatch": {
+ "version": "3.0.4",
+ "bundled": true,
+ "requires": {
+ "brace-expansion": "1.1.7"
+ }
+ },
+ "minimist": {
+ "version": "0.0.8",
+ "bundled": true
+ },
+ "mkdirp": {
+ "version": "0.5.1",
+ "bundled": true,
+ "requires": {
+ "minimist": "0.0.8"
+ }
+ },
+ "ms": {
+ "version": "2.0.0",
+ "bundled": true,
+ "optional": true
+ },
+ "node-pre-gyp": {
+ "version": "0.6.39",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "detect-libc": "1.0.2",
+ "hawk": "3.1.3",
+ "mkdirp": "0.5.1",
+ "nopt": "4.0.1",
+ "npmlog": "4.1.0",
+ "rc": "1.2.1",
+ "request": "2.81.0",
+ "rimraf": "2.6.1",
+ "semver": "5.3.0",
+ "tar": "2.2.1",
+ "tar-pack": "3.4.0"
+ }
+ },
+ "nopt": {
+ "version": "4.0.1",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "abbrev": "1.1.0",
+ "osenv": "0.1.4"
+ }
+ },
+ "npmlog": {
+ "version": "4.1.0",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "are-we-there-yet": "1.1.4",
+ "console-control-strings": "1.1.0",
+ "gauge": "2.7.4",
+ "set-blocking": "2.0.0"
+ }
+ },
+ "number-is-nan": {
+ "version": "1.0.1",
+ "bundled": true
+ },
+ "oauth-sign": {
+ "version": "0.8.2",
+ "bundled": true,
+ "optional": true
+ },
+ "object-assign": {
+ "version": "4.1.1",
+ "bundled": true,
+ "optional": true
+ },
+ "once": {
+ "version": "1.4.0",
+ "bundled": true,
+ "requires": {
+ "wrappy": "1.0.2"
+ }
+ },
+ "os-homedir": {
+ "version": "1.0.2",
+ "bundled": true,
+ "optional": true
+ },
+ "os-tmpdir": {
+ "version": "1.0.2",
+ "bundled": true,
+ "optional": true
+ },
+ "osenv": {
+ "version": "0.1.4",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "os-homedir": "1.0.2",
+ "os-tmpdir": "1.0.2"
+ }
+ },
+ "path-is-absolute": {
+ "version": "1.0.1",
+ "bundled": true
+ },
+ "performance-now": {
+ "version": "0.2.0",
+ "bundled": true,
+ "optional": true
+ },
+ "process-nextick-args": {
+ "version": "1.0.7",
+ "bundled": true
+ },
+ "punycode": {
+ "version": "1.4.1",
+ "bundled": true,
+ "optional": true
+ },
+ "qs": {
+ "version": "6.4.0",
+ "bundled": true,
+ "optional": true
+ },
+ "rc": {
+ "version": "1.2.1",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "deep-extend": "0.4.2",
+ "ini": "1.3.4",
+ "minimist": "1.2.0",
+ "strip-json-comments": "2.0.1"
+ },
+ "dependencies": {
+ "minimist": {
+ "version": "1.2.0",
+ "bundled": true,
+ "optional": true
+ }
+ }
+ },
+ "readable-stream": {
+ "version": "2.2.9",
+ "bundled": true,
+ "requires": {
+ "buffer-shims": "1.0.0",
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "1.0.0",
+ "process-nextick-args": "1.0.7",
+ "string_decoder": "1.0.1",
+ "util-deprecate": "1.0.2"
+ }
+ },
+ "request": {
+ "version": "2.81.0",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "aws-sign2": "0.6.0",
+ "aws4": "1.6.0",
+ "caseless": "0.12.0",
+ "combined-stream": "1.0.5",
+ "extend": "3.0.1",
+ "forever-agent": "0.6.1",
+ "form-data": "2.1.4",
+ "har-validator": "4.2.1",
+ "hawk": "3.1.3",
+ "http-signature": "1.1.1",
+ "is-typedarray": "1.0.0",
+ "isstream": "0.1.2",
+ "json-stringify-safe": "5.0.1",
+ "mime-types": "2.1.15",
+ "oauth-sign": "0.8.2",
+ "performance-now": "0.2.0",
+ "qs": "6.4.0",
+ "safe-buffer": "5.0.1",
+ "stringstream": "0.0.5",
+ "tough-cookie": "2.3.2",
+ "tunnel-agent": "0.6.0",
+ "uuid": "3.0.1"
+ }
+ },
+ "rimraf": {
+ "version": "2.6.1",
+ "bundled": true,
+ "requires": {
+ "glob": "7.1.2"
+ }
+ },
+ "safe-buffer": {
+ "version": "5.0.1",
+ "bundled": true
+ },
+ "semver": {
+ "version": "5.3.0",
+ "bundled": true,
+ "optional": true
+ },
+ "set-blocking": {
+ "version": "2.0.0",
+ "bundled": true,
+ "optional": true
+ },
+ "signal-exit": {
+ "version": "3.0.2",
+ "bundled": true,
+ "optional": true
+ },
+ "sntp": {
+ "version": "1.0.9",
+ "bundled": true,
+ "requires": {
+ "hoek": "2.16.3"
+ }
+ },
+ "sshpk": {
+ "version": "1.13.0",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "asn1": "0.2.3",
+ "assert-plus": "1.0.0",
+ "bcrypt-pbkdf": "1.0.1",
+ "dashdash": "1.14.1",
+ "ecc-jsbn": "0.1.1",
+ "getpass": "0.1.7",
+ "jodid25519": "1.0.2",
+ "jsbn": "0.1.1",
+ "tweetnacl": "0.14.5"
+ },
+ "dependencies": {
+ "assert-plus": {
+ "version": "1.0.0",
+ "bundled": true,
+ "optional": true
+ }
+ }
+ },
+ "string-width": {
+ "version": "1.0.2",
+ "bundled": true,
+ "requires": {
+ "code-point-at": "1.1.0",
+ "is-fullwidth-code-point": "1.0.0",
+ "strip-ansi": "3.0.1"
+ }
+ },
+ "string_decoder": {
+ "version": "1.0.1",
+ "bundled": true,
+ "requires": {
+ "safe-buffer": "5.0.1"
+ }
+ },
+ "stringstream": {
+ "version": "0.0.5",
+ "bundled": true,
+ "optional": true
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "bundled": true,
+ "requires": {
+ "ansi-regex": "2.1.1"
+ }
+ },
+ "strip-json-comments": {
+ "version": "2.0.1",
+ "bundled": true,
+ "optional": true
+ },
+ "tar": {
+ "version": "2.2.1",
+ "bundled": true,
+ "requires": {
+ "block-stream": "0.0.9",
+ "fstream": "1.0.11",
+ "inherits": "2.0.3"
+ }
+ },
+ "tar-pack": {
+ "version": "3.4.0",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "debug": "2.6.8",
+ "fstream": "1.0.11",
+ "fstream-ignore": "1.0.5",
+ "once": "1.4.0",
+ "readable-stream": "2.2.9",
+ "rimraf": "2.6.1",
+ "tar": "2.2.1",
+ "uid-number": "0.0.6"
+ }
+ },
+ "tough-cookie": {
+ "version": "2.3.2",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "punycode": "1.4.1"
+ }
+ },
+ "tunnel-agent": {
+ "version": "0.6.0",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "safe-buffer": "5.0.1"
+ }
+ },
+ "tweetnacl": {
+ "version": "0.14.5",
+ "bundled": true,
+ "optional": true
+ },
+ "uid-number": {
+ "version": "0.0.6",
+ "bundled": true,
+ "optional": true
+ },
+ "util-deprecate": {
+ "version": "1.0.2",
+ "bundled": true
+ },
+ "uuid": {
+ "version": "3.0.1",
+ "bundled": true,
+ "optional": true
+ },
+ "verror": {
+ "version": "1.3.6",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "extsprintf": "1.0.2"
+ }
+ },
+ "wide-align": {
+ "version": "1.1.2",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "string-width": "1.0.2"
+ }
+ },
+ "wrappy": {
+ "version": "1.0.2",
+ "bundled": true
+ }
+ }
+ },
+ "fstream": {
+ "version": "1.0.11",
+ "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz",
+ "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=",
+ "requires": {
+ "graceful-fs": "4.1.11",
+ "inherits": "2.0.3",
+ "mkdirp": "0.5.1",
+ "rimraf": "2.6.2"
+ }
+ },
+ "fstream-ignore": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/fstream-ignore/-/fstream-ignore-1.0.5.tgz",
+ "integrity": "sha1-nDHa40dnAY/h0kmyTa2mfQktoQU=",
+ "requires": {
+ "fstream": "1.0.11",
+ "inherits": "2.0.3",
+ "minimatch": "3.0.4"
+ }
+ },
+ "function-bind": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
+ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
+ "dev": true
+ },
+ "gauge": {
+ "version": "2.7.4",
+ "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz",
+ "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=",
+ "requires": {
+ "aproba": "1.2.0",
+ "console-control-strings": "1.1.0",
+ "has-unicode": "2.0.1",
+ "object-assign": "4.1.1",
+ "signal-exit": "3.0.2",
+ "string-width": "1.0.2",
+ "strip-ansi": "3.0.1",
+ "wide-align": "1.1.2"
+ }
+ },
+ "generate-function": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz",
+ "integrity": "sha1-aFj+fAlpt9TpCTM3ZHrHn2DfvnQ="
+ },
+ "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=",
+ "requires": {
+ "is-property": "1.0.2"
+ }
+ },
+ "get-caller-file": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz",
+ "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=",
+ "dev": true
+ },
+ "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
+ },
+ "get-stream": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz",
+ "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=",
+ "dev": true
+ },
+ "getpass": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
+ "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
+ "requires": {
+ "assert-plus": "1.0.0"
+ }
+ },
+ "github-from-package": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz",
+ "integrity": "sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4=",
+ "dev": true
+ },
+ "glob": {
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
+ "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
+ "requires": {
+ "fs.realpath": "1.0.0",
+ "inflight": "1.0.6",
+ "inherits": "2.0.3",
+ "minimatch": "3.0.4",
+ "once": "1.4.0",
+ "path-is-absolute": "1.0.1"
+ }
+ },
+ "glob-base": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz",
+ "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=",
+ "requires": {
+ "glob-parent": "2.0.0",
+ "is-glob": "2.0.1"
+ }
+ },
+ "glob-parent": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
+ "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=",
+ "requires": {
+ "is-glob": "2.0.1"
+ }
+ },
+ "global": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/global/-/global-4.3.2.tgz",
+ "integrity": "sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8=",
+ "dev": true,
+ "requires": {
+ "min-document": "2.19.0",
+ "process": "0.5.2"
+ }
+ },
+ "global-dirs": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz",
+ "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=",
+ "dev": true,
+ "requires": {
+ "ini": "1.3.5"
+ }
+ },
+ "globals": {
+ "version": "9.18.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz",
+ "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==",
+ "dev": true
+ },
+ "globby": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz",
+ "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=",
+ "dev": true,
+ "requires": {
+ "array-union": "1.0.2",
+ "arrify": "1.0.1",
+ "glob": "7.1.2",
+ "object-assign": "4.1.1",
+ "pify": "2.3.0",
+ "pinkie-promise": "2.0.1"
+ }
+ },
+ "got": {
+ "version": "6.7.1",
+ "resolved": "https://registry.npmjs.org/got/-/got-6.7.1.tgz",
+ "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=",
+ "dev": true,
+ "requires": {
+ "create-error-class": "3.0.2",
+ "duplexer3": "0.1.4",
+ "get-stream": "3.0.0",
+ "is-redirect": "1.0.0",
+ "is-retry-allowed": "1.1.0",
+ "is-stream": "1.1.0",
+ "lowercase-keys": "1.0.0",
+ "safe-buffer": "5.1.1",
+ "timed-out": "4.0.1",
+ "unzip-response": "2.0.1",
+ "url-parse-lax": "1.0.0"
+ },
+ "dependencies": {
+ "unzip-response": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-2.0.1.tgz",
+ "integrity": "sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c=",
+ "dev": true
+ }
+ }
+ },
+ "graceful-fs": {
+ "version": "4.1.11",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg="
+ },
+ "graphql": {
+ "version": "0.10.5",
+ "resolved": "https://registry.npmjs.org/graphql/-/graphql-0.10.5.tgz",
+ "integrity": "sha512-Q7cx22DiLhwHsEfUnUip1Ww/Vfx7FS0w6+iHItNuN61+XpegHSa3k5U0+6M5BcpavQImBwFiy0z3uYwY7cXMLQ==",
+ "requires": {
+ "iterall": "1.1.3"
+ }
+ },
+ "graphql-language-service-config": {
+ "version": "0.0.17",
+ "resolved": "https://registry.npmjs.org/graphql-language-service-config/-/graphql-language-service-config-0.0.17.tgz",
+ "integrity": "sha512-TCR3AklPuTfG+tM92XvAx1aiWwa/SuTaQaouMmTV8eoVCBhm98XzoVP626QzQpJ/VnE1+83l9Ljv6PieWgdVDQ==",
+ "requires": {
+ "graphql-language-service-types": "0.0.21"
+ }
+ },
+ "graphql-language-service-interface": {
+ "version": "0.0.19",
+ "resolved": "https://registry.npmjs.org/graphql-language-service-interface/-/graphql-language-service-interface-0.0.19.tgz",
+ "integrity": "sha512-mlZZJeCjv1Gc6cpJHuKOkXY+pne7KlfOo9Lzv9hAW9//zkzKCl9iuv71JnGN/su87z0VqjIUc0Eng4gyd7i1/Q==",
+ "requires": {
+ "graphql": "0.10.5",
+ "graphql-language-service-config": "0.0.17",
+ "graphql-language-service-parser": "0.0.15",
+ "graphql-language-service-types": "0.0.21",
+ "graphql-language-service-utils": "0.0.17"
+ }
+ },
+ "graphql-language-service-parser": {
+ "version": "0.0.15",
+ "resolved": "https://registry.npmjs.org/graphql-language-service-parser/-/graphql-language-service-parser-0.0.15.tgz",
+ "integrity": "sha512-D/aWjI8EWQvlpdxN4SuU9Pa6MLq05Kne+nz9UtSFM/H30eNy8vy6HWqQik2qRcxscFJYW6adNvh/i6q23y8hFg==",
+ "requires": {
+ "graphql-language-service-types": "0.0.21"
+ }
+ },
+ "graphql-language-service-types": {
+ "version": "0.0.21",
+ "resolved": "https://registry.npmjs.org/graphql-language-service-types/-/graphql-language-service-types-0.0.21.tgz",
+ "integrity": "sha512-/fSs1JmGEee8IPd7a7FJRmzK1o0W35nJZO0aJSGk2mq7QCvyKqNC8rgKG5YozAEj4ZY2psKUIxIpm6ssCTuUbw==",
+ "requires": {
+ "graphql": "0.10.5"
+ }
+ },
+ "graphql-language-service-utils": {
+ "version": "0.0.17",
+ "resolved": "https://registry.npmjs.org/graphql-language-service-utils/-/graphql-language-service-utils-0.0.17.tgz",
+ "integrity": "sha512-rL5qQ7Qw55BUHq2CEZEpOarb70eiPPCVNkJbPgUwYsS3FVlONf46+DlKhY7d6OKqNIgelPFZfr5cusuockANTg==",
+ "requires": {
+ "graphql": "0.10.5",
+ "graphql-language-service-types": "0.0.21"
+ }
+ },
+ "growly": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz",
+ "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=",
+ "dev": true
+ },
+ "handle-thing": {
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-1.2.5.tgz",
+ "integrity": "sha1-/Xqtcmvxpf0W38KbL3pmAdJxOcQ=",
+ "dev": true
+ },
+ "handlebars": {
+ "version": "4.0.11",
+ "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.11.tgz",
+ "integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=",
+ "dev": true,
+ "requires": {
+ "async": "1.5.2",
+ "optimist": "0.6.1",
+ "source-map": "0.4.4",
+ "uglify-js": "2.8.29"
+ },
+ "dependencies": {
+ "async": {
+ "version": "1.5.2",
+ "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
+ "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=",
+ "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": "1.0.1"
+ }
+ }
+ }
+ },
+ "har-schema": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
+ "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI="
+ },
+ "har-validator": {
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz",
+ "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=",
+ "requires": {
+ "ajv": "5.5.0",
+ "har-schema": "2.0.0"
+ }
+ },
+ "has": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/has/-/has-1.0.1.tgz",
+ "integrity": "sha1-hGFzP1OLCDfJNh45qauelwTcLyg=",
+ "dev": true,
+ "requires": {
+ "function-bind": "1.1.1"
+ }
+ },
+ "has-ansi": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
+ "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
+ "requires": {
+ "ansi-regex": "2.1.1"
+ }
+ },
+ "has-color": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/has-color/-/has-color-0.1.7.tgz",
+ "integrity": "sha1-ZxRKUmDDT8PMpnfQQdr1L+e3iy8="
+ },
+ "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
+ },
+ "has-unicode": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
+ "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk="
+ },
+ "hash-base": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-2.0.2.tgz",
+ "integrity": "sha1-ZuodhW206KVHDK32/OI65SRO8uE=",
+ "dev": true,
+ "requires": {
+ "inherits": "2.0.3"
+ }
+ },
+ "hash.js": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz",
+ "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==",
+ "dev": true,
+ "requires": {
+ "inherits": "2.0.3",
+ "minimalistic-assert": "1.0.0"
+ }
+ },
+ "hawk": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/hawk/-/hawk-6.0.2.tgz",
+ "integrity": "sha512-miowhl2+U7Qle4vdLqDdPt9m09K6yZhkLDTWGoUiUzrQCn+mHHSmfJgAyGaLRZbPmTqfFFjRV1QWCW0VWUJBbQ==",
+ "requires": {
+ "boom": "4.3.1",
+ "cryptiles": "3.1.2",
+ "hoek": "4.2.0",
+ "sntp": "2.1.0"
+ }
+ },
+ "highlight.js": {
+ "version": "9.12.0",
+ "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.12.0.tgz",
+ "integrity": "sha1-5tnb5Xy+/mB1HwKvM2GVhwyQwB4="
+ },
+ "hkdf": {
+ "version": "0.0.2",
+ "resolved": "https://registry.npmjs.org/hkdf/-/hkdf-0.0.2.tgz",
+ "integrity": "sha1-L422Ff3vhwIB+C0rYZym00fQZH4="
+ },
+ "hmac-drbg": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz",
+ "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=",
+ "dev": true,
+ "requires": {
+ "hash.js": "1.1.3",
+ "minimalistic-assert": "1.0.0",
+ "minimalistic-crypto-utils": "1.0.1"
+ }
+ },
+ "hoek": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.0.tgz",
+ "integrity": "sha512-v0XCLxICi9nPfYrS9RL8HbYnXi9obYAeLbSP00BmnZwCK9+Ih9WOjoZ8YoHCoav2csqn4FOz4Orldsy2dmDwmQ=="
+ },
+ "hoist-non-react-statics": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.3.1.tgz",
+ "integrity": "sha1-ND24TGAYxlB3iJgkATWhQg7iLOA="
+ },
+ "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.2",
+ "os-tmpdir": "1.0.2"
+ }
+ },
+ "home-path": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/home-path/-/home-path-1.0.5.tgz",
+ "integrity": "sha1-eIspgVsS1Tus9XVkhHbm+QQdEz8=",
+ "dev": true
+ },
+ "hosted-git-info": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.5.0.tgz",
+ "integrity": "sha512-pNgbURSuab90KbTqvRPsseaTxOJCZBD0a7t+haSN33piP9cCM4l0CqdzAif2hUqm716UovKB2ROmiabGAKVXyg==",
+ "dev": true
+ },
+ "hpack.js": {
+ "version": "2.1.6",
+ "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz",
+ "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=",
+ "dev": true,
+ "requires": {
+ "inherits": "2.0.3",
+ "obuf": "1.1.1",
+ "readable-stream": "2.3.3",
+ "wbuf": "1.7.2"
+ }
+ },
+ "html-comment-regex": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.1.tgz",
+ "integrity": "sha1-ZouTd26q5V696POtRkswekljYl4=",
+ "dev": true
+ },
+ "html-encoding-sniffer": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz",
+ "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==",
+ "dev": true,
+ "requires": {
+ "whatwg-encoding": "1.0.3"
+ }
+ },
+ "html-entities": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.2.1.tgz",
+ "integrity": "sha1-DfKTUfByEWNRXfueVUPl9u7VFi8="
+ },
+ "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.4.1",
+ "domutils": "1.6.2",
+ "entities": "1.1.1",
+ "inherits": "2.0.3",
+ "readable-stream": "2.3.3"
+ }
+ },
+ "http-deceiver": {
+ "version": "1.2.7",
+ "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz",
+ "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=",
+ "dev": true
+ },
+ "http-errors": {
+ "version": "1.6.2",
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz",
+ "integrity": "sha1-CgAsyFcHGSp+eUbO7cERVfYOxzY=",
+ "dev": true,
+ "requires": {
+ "depd": "1.1.1",
+ "inherits": "2.0.3",
+ "setprototypeof": "1.0.3",
+ "statuses": "1.3.1"
+ },
+ "dependencies": {
+ "setprototypeof": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz",
+ "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ=",
+ "dev": true
+ }
+ }
+ },
+ "http-parser-js": {
+ "version": "0.4.9",
+ "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.9.tgz",
+ "integrity": "sha1-6hoE+2St/wJC6ZdPKX3Uw8rSceE=",
+ "dev": true
+ },
+ "http-proxy": {
+ "version": "1.16.2",
+ "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.16.2.tgz",
+ "integrity": "sha1-Bt/ykpUr9k2+hHH6nfcwZtTzd0I=",
+ "dev": true,
+ "requires": {
+ "eventemitter3": "1.2.0",
+ "requires-port": "1.0.0"
+ }
+ },
+ "http-proxy-middleware": {
+ "version": "0.17.4",
+ "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.17.4.tgz",
+ "integrity": "sha1-ZC6ISIUdZvCdTxJJEoRtuutBuDM=",
+ "dev": true,
+ "requires": {
+ "http-proxy": "1.16.2",
+ "is-glob": "3.1.0",
+ "lodash": "4.17.4",
+ "micromatch": "2.3.11"
+ },
+ "dependencies": {
+ "is-extglob": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+ "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
+ "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.1"
+ }
+ }
+ }
+ },
+ "http-signature": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
+ "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
+ "requires": {
+ "assert-plus": "1.0.0",
+ "jsprim": "1.4.1",
+ "sshpk": "1.13.1"
+ }
+ },
+ "https-browserify": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz",
+ "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=",
+ "dev": true
+ },
+ "iconv-lite": {
+ "version": "0.4.19",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz",
+ "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ=="
+ },
+ "icss-replace-symbols": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz",
+ "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=",
+ "dev": true
+ },
+ "icss-utils": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-2.1.0.tgz",
+ "integrity": "sha1-g/Cg7DeL8yRheLbCrZE28TWxyWI=",
+ "dev": true,
+ "requires": {
+ "postcss": "6.0.14"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
+ "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==",
+ "dev": true,
+ "requires": {
+ "color-convert": "1.9.1"
+ }
+ },
+ "chalk": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz",
+ "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "3.2.0",
+ "escape-string-regexp": "1.0.5",
+ "supports-color": "4.5.0"
+ }
+ },
+ "has-flag": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz",
+ "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=",
+ "dev": true
+ },
+ "postcss": {
+ "version": "6.0.14",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.14.tgz",
+ "integrity": "sha512-NJ1z0f+1offCgadPhz+DvGm5Mkci+mmV5BqD13S992o0Xk9eElxUfPPF+t2ksH5R/17gz4xVK8KWocUQ5o3Rog==",
+ "dev": true,
+ "requires": {
+ "chalk": "2.3.0",
+ "source-map": "0.6.1",
+ "supports-color": "4.5.0"
+ }
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz",
+ "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=",
+ "dev": true,
+ "requires": {
+ "has-flag": "2.0.0"
+ }
+ }
+ }
+ },
+ "ieee754": {
+ "version": "1.1.8",
+ "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.8.tgz",
+ "integrity": "sha1-vjPUCsEO8ZJnAfbwii2G+/0a0+Q="
+ },
+ "ignore": {
+ "version": "3.3.7",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.7.tgz",
+ "integrity": "sha512-YGG3ejvBNHRqu0559EOxxNFihD0AjpvHlC/pdGKd3X3ofe+CoJkYazwNJYTNebqpPKN+VVQbh4ZFn1DivMNuHA==",
+ "dev": true
+ },
+ "image-size": {
+ "version": "0.5.5",
+ "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz",
+ "integrity": "sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=",
+ "dev": true,
+ "optional": true
+ },
+ "immediate": {
+ "version": "3.0.6",
+ "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz",
+ "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps="
+ },
+ "import-lazy": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz",
+ "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=",
+ "dev": true
+ },
+ "import-local": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/import-local/-/import-local-0.1.1.tgz",
+ "integrity": "sha1-sReVcqrNwRxqkQCftDDbyrX2aKg=",
+ "dev": true,
+ "requires": {
+ "pkg-dir": "2.0.0",
+ "resolve-cwd": "2.0.0"
+ }
+ },
+ "imurmurhash": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
+ "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
+ "dev": true
+ },
+ "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.1"
+ }
+ },
+ "indexes-of": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz",
+ "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=",
+ "dev": true
+ },
+ "indexof": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz",
+ "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=",
+ "dev": true
+ },
+ "inflight": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
+ "requires": {
+ "once": "1.4.0",
+ "wrappy": "1.0.2"
+ }
+ },
+ "inherits": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
+ },
+ "ini": {
+ "version": "1.3.5",
+ "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz",
+ "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw=="
+ },
+ "inline-process-browser": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/inline-process-browser/-/inline-process-browser-1.0.0.tgz",
+ "integrity": "sha1-RqYbFT3TybFiSxoAYm7bT39BTyI=",
+ "requires": {
+ "falafel": "1.2.0",
+ "through2": "0.6.5"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8="
+ },
+ "readable-stream": {
+ "version": "1.0.34",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "0.0.1",
+ "string_decoder": "0.10.31"
+ }
+ },
+ "string_decoder": {
+ "version": "0.10.31",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ="
+ },
+ "through2": {
+ "version": "0.6.5",
+ "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
+ "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
+ "requires": {
+ "readable-stream": "1.0.34",
+ "xtend": "4.0.1"
+ }
+ },
+ "xtend": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz",
+ "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68="
+ }
+ }
+ },
+ "inquirer": {
+ "version": "0.12.0",
+ "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-0.12.0.tgz",
+ "integrity": "sha1-HvK/1jUE3wvHV4X/+MLEHfEvB34=",
+ "dev": true,
+ "requires": {
+ "ansi-escapes": "1.4.0",
+ "ansi-regex": "2.1.1",
+ "chalk": "1.1.3",
+ "cli-cursor": "1.0.2",
+ "cli-width": "2.2.0",
+ "figures": "1.7.0",
+ "lodash": "4.17.4",
+ "readline2": "1.0.1",
+ "run-async": "0.1.0",
+ "rx-lite": "3.1.2",
+ "string-width": "1.0.2",
+ "strip-ansi": "3.0.1",
+ "through": "2.3.8"
+ },
+ "dependencies": {
+ "cli-cursor": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz",
+ "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=",
+ "dev": true,
+ "requires": {
+ "restore-cursor": "1.0.1"
+ }
+ },
+ "onetime": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz",
+ "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=",
+ "dev": true
+ },
+ "restore-cursor": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz",
+ "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=",
+ "dev": true,
+ "requires": {
+ "exit-hook": "1.1.1",
+ "onetime": "1.1.0"
+ }
+ }
+ }
+ },
+ "insomnia-cookies": {
+ "version": "0.0.2",
+ "resolved": "https://registry.npmjs.org/insomnia-cookies/-/insomnia-cookies-0.0.2.tgz",
+ "integrity": "sha512-noG/ZcqtqiMWQWL/Dd0qylfzvc0MTpPlKg169rQSRNcJr486gFdbSd1/XH0gqfx+UuavDs1oXkZ/cFblS4hOMQ==",
+ "requires": {
+ "tough-cookie": "2.3.3"
+ }
+ },
+ "insomnia-httpsnippet": {
+ "version": "1.16.5",
+ "resolved": "https://registry.npmjs.org/insomnia-httpsnippet/-/insomnia-httpsnippet-1.16.5.tgz",
+ "integrity": "sha512-ftsDyY3ImscHM3CxQWXLGjaULj32oN7+L/Ppq69CIjIKbQJy18iLX+EkEWfzZNEmuHj17KpGOPiF1XTnHWUiaQ==",
+ "requires": {
+ "chalk": "1.1.3",
+ "commander": "2.12.1",
+ "debug": "2.6.9",
+ "event-stream": "3.3.4",
+ "form-data": "1.0.1",
+ "fs-readfile-promise": "2.0.1",
+ "fs-writefile-promise": "1.0.3",
+ "har-validator": "2.1.3",
+ "pinkie-promise": "2.0.1"
+ },
+ "dependencies": {
+ "form-data": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-1.0.1.tgz",
+ "integrity": "sha1-rjFduaSQf6BlUCMEpm13M0de43w=",
+ "requires": {
+ "async": "2.6.0",
+ "combined-stream": "1.0.5",
+ "mime-types": "2.1.17"
+ }
+ },
+ "har-validator": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.1.3.tgz",
+ "integrity": "sha1-aP9JyFz7wrNPtC9kgKl5a2RB3PM=",
+ "requires": {
+ "chalk": "1.1.3",
+ "commander": "2.12.1",
+ "is-my-json-valid": "2.16.1"
+ }
+ }
+ }
+ },
+ "insomnia-importers": {
+ "version": "1.5.2",
+ "resolved": "https://registry.npmjs.org/insomnia-importers/-/insomnia-importers-1.5.2.tgz",
+ "integrity": "sha512-aZ1RmciJ3rScqj3AJZIKLDeXuDroiknDAgvISkeVsA5GSOH7dL2Xrbp/YwVlIjUckKyEicP5vdqzZVkiQrrgig==",
+ "requires": {
+ "commander": "2.12.1",
+ "shell-quote": "1.6.1"
+ }
+ },
+ "insomnia-node-libcurl": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/insomnia-node-libcurl/-/insomnia-node-libcurl-1.2.4.tgz",
+ "integrity": "sha512-etMWmbQ93mXcHY4K3SBF7mFu7s3dyI2/TPto9qedVVxIMSEGBzBgoSVrqpcXUCoPeKVG2f9AUVZdSM/JV46gEA==",
+ "requires": {
+ "debug": "2.6.9",
+ "fs-extra": "4.0.2",
+ "nan": "2.5.1",
+ "node-gyp": "3.6.2",
+ "node-pre-gyp": "0.6.39",
+ "npmlog": "4.0.2"
+ },
+ "dependencies": {
+ "fs-extra": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.2.tgz",
+ "integrity": "sha1-+RcExT0bRh+JNFKwwwfZmXZHq2s=",
+ "requires": {
+ "graceful-fs": "4.1.11",
+ "jsonfile": "4.0.0",
+ "universalify": "0.1.1"
+ }
+ },
+ "jsonfile": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
+ "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
+ "requires": {
+ "graceful-fs": "4.1.11"
+ }
+ },
+ "nan": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/nan/-/nan-2.5.1.tgz",
+ "integrity": "sha1-1bAWkSUzJql6K77p5hxV2NYDUeI="
+ },
+ "npmlog": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.0.2.tgz",
+ "integrity": "sha1-0DlQ4OeM4VJ7om0qdZLpNIrD518=",
+ "requires": {
+ "are-we-there-yet": "1.1.4",
+ "console-control-strings": "1.1.0",
+ "gauge": "2.7.4",
+ "set-blocking": "2.0.0"
+ }
+ }
+ }
+ },
+ "insomnia-plugin-base64": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/insomnia-plugin-base64/-/insomnia-plugin-base64-1.0.1.tgz",
+ "integrity": "sha512-1iHxTFGcOF7lBODdPPOxR2btFSCpDAQNzQtJ+qnZTOCwKDqViWeAYbNT/mm3HtfT9ldjOFVIKyhn1GO0aQ1GGQ=="
+ },
+ "insomnia-plugin-file": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/insomnia-plugin-file/-/insomnia-plugin-file-1.0.1.tgz",
+ "integrity": "sha512-/HcMHmBB4Iq+FMsULRW+ccsn49WnKO5GQV4jW2nTLFsq4plxXawgNd0JeDEOTjobjYvLBwxp9m4LYZATndHUSA=="
+ },
+ "insomnia-plugin-hash": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/insomnia-plugin-hash/-/insomnia-plugin-hash-1.0.1.tgz",
+ "integrity": "sha512-dxR3aqE7UxF7HB6/yois63yFTSJ1JbK6aEFqGZZY/A6qFoBZVbhAw5SwXNJXg8vBmJf+XA12R0ahA9ofnOkRwQ=="
+ },
+ "insomnia-plugin-now": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/insomnia-plugin-now/-/insomnia-plugin-now-1.0.1.tgz",
+ "integrity": "sha512-+cJObTNm4tMtpAtq7J/jfSnlWODzoB7TSGwrTEx4CVt8P81sXYHLfg9JqbQY66SGd2daeOhuCN5ounno2tbATA==",
+ "requires": {
+ "moment": "2.19.2"
+ }
+ },
+ "insomnia-plugin-request": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/insomnia-plugin-request/-/insomnia-plugin-request-1.0.1.tgz",
+ "integrity": "sha512-l2YWNBcfsiF2Pen7uFWTL80OPzmgR7bngEBV77QzQAItlFUdUSHnuxuGPIvYvv9LgKgmMyAAkwDJuoDFrKljew==",
+ "requires": {
+ "insomnia-cookies": "0.0.2",
+ "insomnia-url": "0.0.2"
+ }
+ },
+ "insomnia-plugin-response": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/insomnia-plugin-response/-/insomnia-plugin-response-1.0.1.tgz",
+ "integrity": "sha512-QG02O3TPkU0n1zdpFp+K+qSLY6hU7PAtMpycNC2OK2PlvLG6aVlSe9hO/V95xmluZnAzvYTJS3RjndNnUGFR+g==",
+ "requires": {
+ "insomnia-xpath": "0.0.2",
+ "jsonpath": "1.0.0"
+ },
+ "dependencies": {
+ "esprima": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.2.2.tgz",
+ "integrity": "sha1-dqD9Zvz+FU/SkmZ9wmQBl1CxZXs="
+ },
+ "jsonpath": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/jsonpath/-/jsonpath-1.0.0.tgz",
+ "integrity": "sha1-Rc2dTE0NaCXZC9fkD4PxGCsT3Qc=",
+ "requires": {
+ "esprima": "1.2.2",
+ "jison": "0.4.13",
+ "static-eval": "2.0.0",
+ "underscore": "1.7.0"
+ }
+ },
+ "static-eval": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/static-eval/-/static-eval-2.0.0.tgz",
+ "integrity": "sha512-6flshd3F1Gwm+Ksxq463LtFd1liC77N/PX1FVVc3OzL3hAmo2fwHFbuArkcfi7s9rTNsLEhcRmXGFZhlgy40uw==",
+ "requires": {
+ "escodegen": "1.9.0"
+ }
+ },
+ "underscore": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.7.0.tgz",
+ "integrity": "sha1-a7rwh3UA02vjTsqlhODbn+8DUgk="
+ }
+ }
+ },
+ "insomnia-plugin-uuid": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/insomnia-plugin-uuid/-/insomnia-plugin-uuid-1.0.1.tgz",
+ "integrity": "sha512-+PiHlCHGWgXQb0HBQo8nTgkELh6d49S3CJxt6L20OGiMiSjqICBgnZJbKJV+MmXpiSPk01n9x9tluEvl1ydFCQ==",
+ "requires": {
+ "uuid": "3.1.0"
+ }
+ },
+ "insomnia-url": {
+ "version": "0.0.2",
+ "resolved": "https://registry.npmjs.org/insomnia-url/-/insomnia-url-0.0.2.tgz",
+ "integrity": "sha512-Ep9gqptCcUCrgvwbua4LBC9v5nZnSANULwuOsaN8pCHgJdNb0//lHNEE26JhlE+Ts6jagfSsgH2mUOZyIJhnQQ=="
+ },
+ "insomnia-xpath": {
+ "version": "0.0.2",
+ "resolved": "https://registry.npmjs.org/insomnia-xpath/-/insomnia-xpath-0.0.2.tgz",
+ "integrity": "sha512-fQ9ir2s9xjkmUpiFmW9xKD+dhe8b0QNHP3LmUNrlYpPF7vSNJPixV3DYe15b9dd7zft9iTLkvxZ30LUXZglGMQ==",
+ "requires": {
+ "insomnia-cookies": "0.0.2",
+ "xmldom": "0.1.27",
+ "xpath": "0.0.26"
+ },
+ "dependencies": {
+ "xpath": {
+ "version": "0.0.26",
+ "resolved": "https://registry.npmjs.org/xpath/-/xpath-0.0.26.tgz",
+ "integrity": "sha512-cn58wPnkUO7woqCLXlg9xeUMsPjMF7ZJ2gExwZ2F0IXkFAkL+6cyMdFUXJkld7Quw4k1y8QY9wlI3lMNNQkroQ=="
+ }
+ }
+ },
+ "int64-buffer": {
+ "version": "0.1.9",
+ "resolved": "https://registry.npmjs.org/int64-buffer/-/int64-buffer-0.1.9.tgz",
+ "integrity": "sha1-ngOdoEOyT3ixlrKD4EZT716ZD2E=",
+ "dev": true
+ },
+ "internal-ip": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-1.2.0.tgz",
+ "integrity": "sha1-rp+/k7mEh4eF1QqN4bNWlWBYz1w=",
+ "dev": true,
+ "requires": {
+ "meow": "3.7.0"
+ }
+ },
+ "interpret": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.0.4.tgz",
+ "integrity": "sha1-ggzdWIuGj/sZGoCVBtbJyPISsbA=",
+ "dev": true
+ },
+ "invariant": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz",
+ "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=",
+ "requires": {
+ "loose-envify": "1.3.1"
+ }
+ },
+ "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="
+ },
+ "ip": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz",
+ "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=",
+ "dev": true
+ },
+ "ipaddr.js": {
+ "version": "1.5.2",
+ "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.5.2.tgz",
+ "integrity": "sha1-1LUFvemUaYfM8PxY2QEP+WB+P6A=",
+ "dev": true
+ },
+ "is-absolute-url": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz",
+ "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=",
+ "dev": true
+ },
+ "is-arrayish": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
+ "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
+ "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=",
+ "requires": {
+ "binary-extensions": "1.11.0"
+ }
+ },
+ "is-buffer": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
+ "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
+ },
+ "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.1.1"
+ }
+ },
+ "is-callable": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.3.tgz",
+ "integrity": "sha1-hut1OSgF3cM69xySoO7fdO52BLI=",
+ "dev": true
+ },
+ "is-ci": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.0.10.tgz",
+ "integrity": "sha1-9zkzayYyNlBhqdSCcM1WrjNpMY4=",
+ "dev": true,
+ "requires": {
+ "ci-info": "1.1.2"
+ }
+ },
+ "is-date-object": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz",
+ "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=",
+ "dev": true
+ },
+ "is-dotfile": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz",
+ "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE="
+ },
+ "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=",
+ "requires": {
+ "is-primitive": "2.0.0"
+ }
+ },
+ "is-extendable": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
+ "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik="
+ },
+ "is-extglob": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
+ "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA="
+ },
+ "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.1"
+ }
+ },
+ "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=",
+ "requires": {
+ "number-is-nan": "1.0.1"
+ }
+ },
+ "is-glob": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
+ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
+ "requires": {
+ "is-extglob": "1.0.0"
+ }
+ },
+ "is-installed-globally": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.1.0.tgz",
+ "integrity": "sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA=",
+ "dev": true,
+ "requires": {
+ "global-dirs": "0.1.1",
+ "is-path-inside": "1.0.0"
+ }
+ },
+ "is-my-json-valid": {
+ "version": "2.16.1",
+ "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.16.1.tgz",
+ "integrity": "sha512-ochPsqWS1WXj8ZnMIV0vnNXooaMhp7cyL4FMSIPKTtnV0Ha/T19G2b9kkhcNsabV9bxYkze7/aLZJb/bYuFduQ==",
+ "requires": {
+ "generate-function": "2.0.0",
+ "generate-object-property": "1.2.0",
+ "jsonpointer": "4.0.1",
+ "xtend": "4.0.1"
+ },
+ "dependencies": {
+ "xtend": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz",
+ "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68="
+ }
+ }
+ },
+ "is-npm": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz",
+ "integrity": "sha1-8vtjpl5JBbQGyGBydloaTceTufQ=",
+ "dev": true
+ },
+ "is-number": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz",
+ "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=",
+ "requires": {
+ "kind-of": "3.2.2"
+ }
+ },
+ "is-obj": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz",
+ "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=",
+ "dev": true
+ },
+ "is-path-cwd": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz",
+ "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=",
+ "dev": true
+ },
+ "is-path-in-cwd": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz",
+ "integrity": "sha1-ZHdYK4IU1gI0YJRWcAO+ip6sBNw=",
+ "dev": true,
+ "requires": {
+ "is-path-inside": "1.0.0"
+ }
+ },
+ "is-path-inside": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.0.tgz",
+ "integrity": "sha1-/AbloWg/vaE95mev9xe7wQpI838=",
+ "dev": true,
+ "requires": {
+ "path-is-inside": "1.0.2"
+ }
+ },
+ "is-plain-obj": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz",
+ "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4="
+ },
+ "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="
+ },
+ "is-primitive": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz",
+ "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU="
+ },
+ "is-property": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz",
+ "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ="
+ },
+ "is-redirect": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz",
+ "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=",
+ "dev": true
+ },
+ "is-regex": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz",
+ "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=",
+ "dev": true,
+ "requires": {
+ "has": "1.0.1"
+ }
+ },
+ "is-resolvable": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.0.0.tgz",
+ "integrity": "sha1-jfV8YeouPFAUCNEA+wE8+NbgzGI=",
+ "dev": true,
+ "requires": {
+ "tryit": "1.0.3"
+ }
+ },
+ "is-retry-allowed": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz",
+ "integrity": "sha1-EaBgVotnM5REAz0BJaYaINVk+zQ=",
+ "dev": true
+ },
+ "is-stream": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
+ "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ="
+ },
+ "is-svg": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-2.1.0.tgz",
+ "integrity": "sha1-z2EJDaDZ77yrhyLeum8DIgjbsOk=",
+ "dev": true,
+ "requires": {
+ "html-comment-regex": "1.1.1"
+ }
+ },
+ "is-symbol": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.1.tgz",
+ "integrity": "sha1-PMWfAAJRlLarLjjbrmaJJWtmBXI=",
+ "dev": true
+ },
+ "is-typedarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
+ "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo="
+ },
+ "is-utf8": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz",
+ "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=",
+ "dev": true
+ },
+ "is-wsl": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz",
+ "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=",
+ "dev": true
+ },
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
+ },
+ "isbinaryfile": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.2.tgz",
+ "integrity": "sha1-Sj6XTsDLqQBNP8bN5yCeppNopiE=",
+ "dev": true
+ },
+ "isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA="
+ },
+ "isobject": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
+ "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
+ "requires": {
+ "isarray": "1.0.0"
+ }
+ },
+ "isomorphic-fetch": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz",
+ "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=",
+ "requires": {
+ "node-fetch": "1.7.3",
+ "whatwg-fetch": "2.0.3"
+ }
+ },
+ "isstream": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
+ "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo="
+ },
+ "istanbul-api": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/istanbul-api/-/istanbul-api-1.2.1.tgz",
+ "integrity": "sha512-oFCwXvd65amgaPCzqrR+a2XjanS1MvpXN6l/MlMUTv6uiA1NOgGX+I0uyq8Lg3GDxsxPsaP1049krz3hIJ5+KA==",
+ "dev": true,
+ "requires": {
+ "async": "2.6.0",
+ "fileset": "2.0.3",
+ "istanbul-lib-coverage": "1.1.1",
+ "istanbul-lib-hook": "1.1.0",
+ "istanbul-lib-instrument": "1.9.1",
+ "istanbul-lib-report": "1.1.2",
+ "istanbul-lib-source-maps": "1.2.2",
+ "istanbul-reports": "1.1.3",
+ "js-yaml": "3.7.0",
+ "mkdirp": "0.5.1",
+ "once": "1.4.0"
+ }
+ },
+ "istanbul-lib-coverage": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.1.1.tgz",
+ "integrity": "sha512-0+1vDkmzxqJIn5rcoEqapSB4DmPxE31EtI2dF2aCkV5esN9EWHxZ0dwgDClivMXJqE7zaYQxq30hj5L0nlTN5Q==",
+ "dev": true
+ },
+ "istanbul-lib-hook": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-1.1.0.tgz",
+ "integrity": "sha512-U3qEgwVDUerZ0bt8cfl3dSP3S6opBoOtk3ROO5f2EfBr/SRiD9FQqzwaZBqFORu8W7O0EXpai+k7kxHK13beRg==",
+ "dev": true,
+ "requires": {
+ "append-transform": "0.4.0"
+ }
+ },
+ "istanbul-lib-instrument": {
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.9.1.tgz",
+ "integrity": "sha512-RQmXeQ7sphar7k7O1wTNzVczF9igKpaeGQAG9qR2L+BS4DCJNTI9nytRmIVYevwO0bbq+2CXvJmYDuz0gMrywA==",
+ "dev": true,
+ "requires": {
+ "babel-generator": "6.26.0",
+ "babel-template": "6.26.0",
+ "babel-traverse": "6.26.0",
+ "babel-types": "6.26.0",
+ "babylon": "6.18.0",
+ "istanbul-lib-coverage": "1.1.1",
+ "semver": "5.4.1"
+ }
+ },
+ "istanbul-lib-report": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-1.1.2.tgz",
+ "integrity": "sha512-UTv4VGx+HZivJQwAo1wnRwe1KTvFpfi/NYwN7DcsrdzMXwpRT/Yb6r4SBPoHWj4VuQPakR32g4PUUeyKkdDkBA==",
+ "dev": true,
+ "requires": {
+ "istanbul-lib-coverage": "1.1.1",
+ "mkdirp": "0.5.1",
+ "path-parse": "1.0.5",
+ "supports-color": "3.2.3"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "dev": true,
+ "requires": {
+ "has-flag": "1.0.0"
+ }
+ }
+ }
+ },
+ "istanbul-lib-source-maps": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.2.tgz",
+ "integrity": "sha512-8BfdqSfEdtip7/wo1RnrvLpHVEd8zMZEDmOFEnpC6dg0vXflHt9nvoAyQUzig2uMSXfF2OBEYBV3CVjIL9JvaQ==",
+ "dev": true,
+ "requires": {
+ "debug": "3.1.0",
+ "istanbul-lib-coverage": "1.1.1",
+ "mkdirp": "0.5.1",
+ "rimraf": "2.6.2",
+ "source-map": "0.5.7"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
+ "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ }
+ }
+ },
+ "istanbul-reports": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-1.1.3.tgz",
+ "integrity": "sha512-ZEelkHh8hrZNI5xDaKwPMFwDsUf5wIEI2bXAFGp1e6deR2mnEKBPhLJEgr4ZBt8Gi6Mj38E/C8kcy9XLggVO2Q==",
+ "dev": true,
+ "requires": {
+ "handlebars": "4.0.11"
+ }
+ },
+ "iterall": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/iterall/-/iterall-1.1.3.tgz",
+ "integrity": "sha512-Cu/kb+4HiNSejAPhSaN1VukdNTTi/r4/e+yykqjlG/IW+1gZH5b4+Bq3whDX4tvbYugta3r8KTMUiqT3fIGxuQ=="
+ },
+ "jest": {
+ "version": "21.2.1",
+ "resolved": "https://registry.npmjs.org/jest/-/jest-21.2.1.tgz",
+ "integrity": "sha512-mXN0ppPvWYoIcC+R+ctKxAJ28xkt/Z5Js875padm4GbgUn6baeR5N4Ng6LjatIRpUQDZVJABT7Y4gucFjPryfw==",
+ "dev": true,
+ "requires": {
+ "jest-cli": "21.2.1"
+ },
+ "dependencies": {
+ "ansi-escapes": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.0.0.tgz",
+ "integrity": "sha512-O/klc27mWNUigtv0F8NJWbLF00OcegQalkqKURWdosW08YZKi4m6CnSUSvIZG1otNJbTWhN01Hhz389DW7mvDQ==",
+ "dev": true
+ },
+ "ansi-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
+ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
+ "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==",
+ "dev": true,
+ "requires": {
+ "color-convert": "1.9.1"
+ }
+ },
+ "camelcase": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz",
+ "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=",
+ "dev": true
+ },
+ "chalk": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz",
+ "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "3.2.0",
+ "escape-string-regexp": "1.0.5",
+ "supports-color": "4.5.0"
+ }
+ },
+ "has-flag": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz",
+ "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=",
+ "dev": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+ "dev": true
+ },
+ "jest-cli": {
+ "version": "21.2.1",
+ "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-21.2.1.tgz",
+ "integrity": "sha512-T1BzrbFxDIW/LLYQqVfo94y/hhaj1NzVQkZgBumAC+sxbjMROI7VkihOdxNR758iYbQykL2ZOWUBurFgkQrzdg==",
+ "dev": true,
+ "requires": {
+ "ansi-escapes": "3.0.0",
+ "chalk": "2.3.0",
+ "glob": "7.1.2",
+ "graceful-fs": "4.1.11",
+ "is-ci": "1.0.10",
+ "istanbul-api": "1.2.1",
+ "istanbul-lib-coverage": "1.1.1",
+ "istanbul-lib-instrument": "1.9.1",
+ "istanbul-lib-source-maps": "1.2.2",
+ "jest-changed-files": "21.2.0",
+ "jest-config": "21.2.1",
+ "jest-environment-jsdom": "21.2.1",
+ "jest-haste-map": "21.2.0",
+ "jest-message-util": "21.2.1",
+ "jest-regex-util": "21.2.0",
+ "jest-resolve-dependencies": "21.2.0",
+ "jest-runner": "21.2.1",
+ "jest-runtime": "21.2.1",
+ "jest-snapshot": "21.2.1",
+ "jest-util": "21.2.1",
+ "micromatch": "2.3.11",
+ "node-notifier": "5.1.2",
+ "pify": "3.0.0",
+ "slash": "1.0.0",
+ "string-length": "2.0.0",
+ "strip-ansi": "4.0.0",
+ "which": "1.3.0",
+ "worker-farm": "1.5.2",
+ "yargs": "9.0.1"
+ }
+ },
+ "load-json-file": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz",
+ "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11",
+ "parse-json": "2.2.0",
+ "pify": "2.3.0",
+ "strip-bom": "3.0.0"
+ },
+ "dependencies": {
+ "pify": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
+ "dev": true
+ }
+ }
+ },
+ "path-type": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz",
+ "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=",
+ "dev": true,
+ "requires": {
+ "pify": "2.3.0"
+ },
+ "dependencies": {
+ "pify": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
+ "dev": true
+ }
+ }
+ },
+ "pify": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
+ "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
+ "dev": true
+ },
+ "read-pkg": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz",
+ "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=",
+ "dev": true,
+ "requires": {
+ "load-json-file": "2.0.0",
+ "normalize-package-data": "2.4.0",
+ "path-type": "2.0.0"
+ }
+ },
+ "read-pkg-up": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz",
+ "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=",
+ "dev": true,
+ "requires": {
+ "find-up": "2.1.0",
+ "read-pkg": "2.0.0"
+ }
+ },
+ "string-width": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
+ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
+ "dev": true,
+ "requires": {
+ "is-fullwidth-code-point": "2.0.0",
+ "strip-ansi": "4.0.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
+ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "3.0.0"
+ }
+ },
+ "strip-bom": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
+ "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz",
+ "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=",
+ "dev": true,
+ "requires": {
+ "has-flag": "2.0.0"
+ }
+ },
+ "yargs": {
+ "version": "9.0.1",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-9.0.1.tgz",
+ "integrity": "sha1-UqzCP+7Kw0BCB47njAwAf1CF20w=",
+ "dev": true,
+ "requires": {
+ "camelcase": "4.1.0",
+ "cliui": "3.2.0",
+ "decamelize": "1.2.0",
+ "get-caller-file": "1.0.2",
+ "os-locale": "2.1.0",
+ "read-pkg-up": "2.0.0",
+ "require-directory": "2.1.1",
+ "require-main-filename": "1.0.1",
+ "set-blocking": "2.0.0",
+ "string-width": "2.1.1",
+ "which-module": "2.0.0",
+ "y18n": "3.2.1",
+ "yargs-parser": "7.0.0"
+ }
+ },
+ "yargs-parser": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz",
+ "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=",
+ "dev": true,
+ "requires": {
+ "camelcase": "4.1.0"
+ }
+ }
+ }
+ },
+ "jest-changed-files": {
+ "version": "21.2.0",
+ "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-21.2.0.tgz",
+ "integrity": "sha512-+lCNP1IZLwN1NOIvBcV5zEL6GENK6TXrDj4UxWIeLvIsIDa+gf6J7hkqsW2qVVt/wvH65rVvcPwqXdps5eclTQ==",
+ "dev": true,
+ "requires": {
+ "throat": "4.1.0"
+ }
+ },
+ "jest-config": {
+ "version": "21.2.1",
+ "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-21.2.1.tgz",
+ "integrity": "sha512-fJru5HtlD/5l2o25eY9xT0doK3t2dlglrqoGpbktduyoI0T5CwuB++2YfoNZCrgZipTwPuAGonYv0q7+8yDc/A==",
+ "dev": true,
+ "requires": {
+ "chalk": "2.3.0",
+ "glob": "7.1.2",
+ "jest-environment-jsdom": "21.2.1",
+ "jest-environment-node": "21.2.1",
+ "jest-get-type": "21.2.0",
+ "jest-jasmine2": "21.2.1",
+ "jest-regex-util": "21.2.0",
+ "jest-resolve": "21.2.0",
+ "jest-util": "21.2.1",
+ "jest-validate": "21.2.1",
+ "pretty-format": "21.2.1"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
+ "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==",
+ "dev": true,
+ "requires": {
+ "color-convert": "1.9.1"
+ }
+ },
+ "chalk": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz",
+ "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "3.2.0",
+ "escape-string-regexp": "1.0.5",
+ "supports-color": "4.5.0"
+ }
+ },
+ "has-flag": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz",
+ "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz",
+ "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=",
+ "dev": true,
+ "requires": {
+ "has-flag": "2.0.0"
+ }
+ }
+ }
+ },
+ "jest-diff": {
+ "version": "21.2.1",
+ "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-21.2.1.tgz",
+ "integrity": "sha512-E5fu6r7PvvPr5qAWE1RaUwIh/k6Zx/3OOkZ4rk5dBJkEWRrUuSgbMt2EO8IUTPTd6DOqU3LW6uTIwX5FRvXoFA==",
+ "dev": true,
+ "requires": {
+ "chalk": "2.3.0",
+ "diff": "3.4.0",
+ "jest-get-type": "21.2.0",
+ "pretty-format": "21.2.1"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
+ "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==",
+ "dev": true,
+ "requires": {
+ "color-convert": "1.9.1"
+ }
+ },
+ "chalk": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz",
+ "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "3.2.0",
+ "escape-string-regexp": "1.0.5",
+ "supports-color": "4.5.0"
+ }
+ },
+ "has-flag": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz",
+ "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz",
+ "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=",
+ "dev": true,
+ "requires": {
+ "has-flag": "2.0.0"
+ }
+ }
+ }
+ },
+ "jest-docblock": {
+ "version": "21.2.0",
+ "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-21.2.0.tgz",
+ "integrity": "sha512-5IZ7sY9dBAYSV+YjQ0Ovb540Ku7AO9Z5o2Cg789xj167iQuZ2cG+z0f3Uct6WeYLbU6aQiM2pCs7sZ+4dotydw==",
+ "dev": true
+ },
+ "jest-environment-jsdom": {
+ "version": "21.2.1",
+ "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-21.2.1.tgz",
+ "integrity": "sha512-mecaeNh0eWmzNrUNMWARysc0E9R96UPBamNiOCYL28k7mksb1d0q6DD38WKP7ABffjnXyUWJPVaWRgUOivwXwg==",
+ "dev": true,
+ "requires": {
+ "jest-mock": "21.2.0",
+ "jest-util": "21.2.1",
+ "jsdom": "9.12.0"
+ }
+ },
+ "jest-environment-node": {
+ "version": "21.2.1",
+ "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-21.2.1.tgz",
+ "integrity": "sha512-R211867wx9mVBVHzrjGRGTy5cd05K7eqzQl/WyZixR/VkJ4FayS8qkKXZyYnwZi6Rxo6WEV81cDbiUx/GfuLNw==",
+ "dev": true,
+ "requires": {
+ "jest-mock": "21.2.0",
+ "jest-util": "21.2.1"
+ }
+ },
+ "jest-get-type": {
+ "version": "21.2.0",
+ "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-21.2.0.tgz",
+ "integrity": "sha512-y2fFw3C+D0yjNSDp7ab1kcd6NUYfy3waPTlD8yWkAtiocJdBRQqNoRqVfMNxgj+IjT0V5cBIHJO0z9vuSSZ43Q==",
+ "dev": true
+ },
+ "jest-haste-map": {
+ "version": "21.2.0",
+ "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-21.2.0.tgz",
+ "integrity": "sha512-5LhsY/loPH7wwOFRMs+PT4aIAORJ2qwgbpMFlbWbxfN0bk3ZCwxJ530vrbSiTstMkYLao6JwBkLhCJ5XbY7ZHw==",
+ "dev": true,
+ "requires": {
+ "fb-watchman": "2.0.0",
+ "graceful-fs": "4.1.11",
+ "jest-docblock": "21.2.0",
+ "micromatch": "2.3.11",
+ "sane": "2.2.0",
+ "worker-farm": "1.5.2"
+ }
+ },
+ "jest-jasmine2": {
+ "version": "21.2.1",
+ "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-21.2.1.tgz",
+ "integrity": "sha512-lw8FXXIEekD+jYNlStfgNsUHpfMWhWWCgHV7n0B7mA/vendH7vBFs8xybjQsDzJSduptBZJHqQX9SMssya9+3A==",
+ "dev": true,
+ "requires": {
+ "chalk": "2.3.0",
+ "expect": "21.2.1",
+ "graceful-fs": "4.1.11",
+ "jest-diff": "21.2.1",
+ "jest-matcher-utils": "21.2.1",
+ "jest-message-util": "21.2.1",
+ "jest-snapshot": "21.2.1",
+ "p-cancelable": "0.3.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
+ "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==",
+ "dev": true,
+ "requires": {
+ "color-convert": "1.9.1"
+ }
+ },
+ "chalk": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz",
+ "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "3.2.0",
+ "escape-string-regexp": "1.0.5",
+ "supports-color": "4.5.0"
+ }
+ },
+ "has-flag": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz",
+ "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz",
+ "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=",
+ "dev": true,
+ "requires": {
+ "has-flag": "2.0.0"
+ }
+ }
+ }
+ },
+ "jest-matcher-utils": {
+ "version": "21.2.1",
+ "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-21.2.1.tgz",
+ "integrity": "sha512-kn56My+sekD43dwQPrXBl9Zn9tAqwoy25xxe7/iY4u+mG8P3ALj5IK7MLHZ4Mi3xW7uWVCjGY8cm4PqgbsqMCg==",
+ "dev": true,
+ "requires": {
+ "chalk": "2.3.0",
+ "jest-get-type": "21.2.0",
+ "pretty-format": "21.2.1"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
+ "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==",
+ "dev": true,
+ "requires": {
+ "color-convert": "1.9.1"
+ }
+ },
+ "chalk": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz",
+ "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "3.2.0",
+ "escape-string-regexp": "1.0.5",
+ "supports-color": "4.5.0"
+ }
+ },
+ "has-flag": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz",
+ "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz",
+ "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=",
+ "dev": true,
+ "requires": {
+ "has-flag": "2.0.0"
+ }
+ }
+ }
+ },
+ "jest-message-util": {
+ "version": "21.2.1",
+ "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-21.2.1.tgz",
+ "integrity": "sha512-EbC1X2n0t9IdeMECJn2BOg7buOGivCvVNjqKMXTzQOu7uIfLml+keUfCALDh8o4rbtndIeyGU8/BKfoTr/LVDQ==",
+ "dev": true,
+ "requires": {
+ "chalk": "2.3.0",
+ "micromatch": "2.3.11",
+ "slash": "1.0.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
+ "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==",
+ "dev": true,
+ "requires": {
+ "color-convert": "1.9.1"
+ }
+ },
+ "chalk": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz",
+ "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "3.2.0",
+ "escape-string-regexp": "1.0.5",
+ "supports-color": "4.5.0"
+ }
+ },
+ "has-flag": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz",
+ "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz",
+ "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=",
+ "dev": true,
+ "requires": {
+ "has-flag": "2.0.0"
+ }
+ }
+ }
+ },
+ "jest-mock": {
+ "version": "21.2.0",
+ "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-21.2.0.tgz",
+ "integrity": "sha512-aZDfyVf0LEoABWiY6N0d+O963dUQSyUa4qgzurHR3TBDPen0YxKCJ6l2i7lQGh1tVdsuvdrCZ4qPj+A7PievCw==",
+ "dev": true
+ },
+ "jest-regex-util": {
+ "version": "21.2.0",
+ "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-21.2.0.tgz",
+ "integrity": "sha512-BKQ1F83EQy0d9Jen/mcVX7D+lUt2tthhK/2gDWRgLDJRNOdRgSp1iVqFxP8EN1ARuypvDflRfPzYT8fQnoBQFQ==",
+ "dev": true
+ },
+ "jest-resolve": {
+ "version": "21.2.0",
+ "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-21.2.0.tgz",
+ "integrity": "sha512-vefQ/Lr+VdNvHUZFQXWtOqHX3HEdOc2MtSahBO89qXywEbUxGPB9ZLP9+BHinkxb60UT2Q/tTDOS6rYc6Mwigw==",
+ "dev": true,
+ "requires": {
+ "browser-resolve": "1.11.2",
+ "chalk": "2.3.0",
+ "is-builtin-module": "1.0.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
+ "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==",
+ "dev": true,
+ "requires": {
+ "color-convert": "1.9.1"
+ }
+ },
+ "chalk": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz",
+ "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "3.2.0",
+ "escape-string-regexp": "1.0.5",
+ "supports-color": "4.5.0"
+ }
+ },
+ "has-flag": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz",
+ "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz",
+ "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=",
+ "dev": true,
+ "requires": {
+ "has-flag": "2.0.0"
+ }
+ }
+ }
+ },
+ "jest-resolve-dependencies": {
+ "version": "21.2.0",
+ "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-21.2.0.tgz",
+ "integrity": "sha512-ok8ybRFU5ScaAcfufIQrCbdNJSRZ85mkxJ1EhUp8Bhav1W1/jv/rl1Q6QoVQHObNxmKnbHVKrfLZbCbOsXQ+bQ==",
+ "dev": true,
+ "requires": {
+ "jest-regex-util": "21.2.0"
+ }
+ },
+ "jest-runner": {
+ "version": "21.2.1",
+ "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-21.2.1.tgz",
+ "integrity": "sha512-Anb72BOQlHqF/zETqZ2K20dbYsnqW/nZO7jV8BYENl+3c44JhMrA8zd1lt52+N7ErnsQMd2HHKiVwN9GYSXmrg==",
+ "dev": true,
+ "requires": {
+ "jest-config": "21.2.1",
+ "jest-docblock": "21.2.0",
+ "jest-haste-map": "21.2.0",
+ "jest-jasmine2": "21.2.1",
+ "jest-message-util": "21.2.1",
+ "jest-runtime": "21.2.1",
+ "jest-util": "21.2.1",
+ "pify": "3.0.0",
+ "throat": "4.1.0",
+ "worker-farm": "1.5.2"
+ },
+ "dependencies": {
+ "pify": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
+ "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
+ "dev": true
+ }
+ }
+ },
+ "jest-runtime": {
+ "version": "21.2.1",
+ "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-21.2.1.tgz",
+ "integrity": "sha512-6omlpA3+NSE+rHwD0PQjNEjZeb2z+oRmuehMfM1tWQVum+E0WV3pFt26Am0DUfQkkPyTABvxITRjCUclYgSOsA==",
+ "dev": true,
+ "requires": {
+ "babel-core": "6.26.0",
+ "babel-jest": "21.2.0",
+ "babel-plugin-istanbul": "4.1.5",
+ "chalk": "2.3.0",
+ "convert-source-map": "1.5.1",
+ "graceful-fs": "4.1.11",
+ "jest-config": "21.2.1",
+ "jest-haste-map": "21.2.0",
+ "jest-regex-util": "21.2.0",
+ "jest-resolve": "21.2.0",
+ "jest-util": "21.2.1",
+ "json-stable-stringify": "1.0.1",
+ "micromatch": "2.3.11",
+ "slash": "1.0.0",
+ "strip-bom": "3.0.0",
+ "write-file-atomic": "2.3.0",
+ "yargs": "9.0.1"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
+ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
+ "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==",
+ "dev": true,
+ "requires": {
+ "color-convert": "1.9.1"
+ }
+ },
+ "babel-jest": {
+ "version": "21.2.0",
+ "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-21.2.0.tgz",
+ "integrity": "sha512-O0W2qLoWu1QOoOGgxiR2JID4O6WSpxPiQanrkyi9SSlM0PJ60Ptzlck47lhtnr9YZO3zYOsxHwnyeWJ6AffoBQ==",
+ "dev": true,
+ "requires": {
+ "babel-plugin-istanbul": "4.1.5",
+ "babel-preset-jest": "21.2.0"
+ }
+ },
+ "babel-plugin-jest-hoist": {
+ "version": "21.2.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-21.2.0.tgz",
+ "integrity": "sha512-yi5QuiVyyvhBUDLP4ButAnhYzkdrUwWDtvUJv71hjH3fclhnZg4HkDeqaitcR2dZZx/E67kGkRcPVjtVu+SJfQ==",
+ "dev": true
+ },
+ "babel-preset-jest": {
+ "version": "21.2.0",
+ "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-21.2.0.tgz",
+ "integrity": "sha512-hm9cBnr2h3J7yXoTtAVV0zg+3vg0Q/gT2GYuzlreTU0EPkJRtlNgKJJ3tBKEn0+VjAi3JykV6xCJkuUYttEEfA==",
+ "dev": true,
+ "requires": {
+ "babel-plugin-jest-hoist": "21.2.0",
+ "babel-plugin-syntax-object-rest-spread": "6.13.0"
+ }
+ },
+ "camelcase": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz",
+ "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=",
+ "dev": true
+ },
+ "chalk": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz",
+ "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "3.2.0",
+ "escape-string-regexp": "1.0.5",
+ "supports-color": "4.5.0"
+ }
+ },
+ "has-flag": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz",
+ "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=",
+ "dev": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+ "dev": true
+ },
+ "load-json-file": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz",
+ "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11",
+ "parse-json": "2.2.0",
+ "pify": "2.3.0",
+ "strip-bom": "3.0.0"
+ }
+ },
+ "path-type": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz",
+ "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=",
+ "dev": true,
+ "requires": {
+ "pify": "2.3.0"
+ }
+ },
+ "read-pkg": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz",
+ "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=",
+ "dev": true,
+ "requires": {
+ "load-json-file": "2.0.0",
+ "normalize-package-data": "2.4.0",
+ "path-type": "2.0.0"
+ }
+ },
+ "read-pkg-up": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz",
+ "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=",
+ "dev": true,
+ "requires": {
+ "find-up": "2.1.0",
+ "read-pkg": "2.0.0"
+ }
+ },
+ "string-width": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
+ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
+ "dev": true,
+ "requires": {
+ "is-fullwidth-code-point": "2.0.0",
+ "strip-ansi": "4.0.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
+ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "3.0.0"
+ }
+ },
+ "strip-bom": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
+ "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz",
+ "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=",
+ "dev": true,
+ "requires": {
+ "has-flag": "2.0.0"
+ }
+ },
+ "yargs": {
+ "version": "9.0.1",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-9.0.1.tgz",
+ "integrity": "sha1-UqzCP+7Kw0BCB47njAwAf1CF20w=",
+ "dev": true,
+ "requires": {
+ "camelcase": "4.1.0",
+ "cliui": "3.2.0",
+ "decamelize": "1.2.0",
+ "get-caller-file": "1.0.2",
+ "os-locale": "2.1.0",
+ "read-pkg-up": "2.0.0",
+ "require-directory": "2.1.1",
+ "require-main-filename": "1.0.1",
+ "set-blocking": "2.0.0",
+ "string-width": "2.1.1",
+ "which-module": "2.0.0",
+ "y18n": "3.2.1",
+ "yargs-parser": "7.0.0"
+ }
+ },
+ "yargs-parser": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz",
+ "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=",
+ "dev": true,
+ "requires": {
+ "camelcase": "4.1.0"
+ }
+ }
+ }
+ },
+ "jest-snapshot": {
+ "version": "21.2.1",
+ "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-21.2.1.tgz",
+ "integrity": "sha512-bpaeBnDpdqaRTzN8tWg0DqOTo2DvD3StOemxn67CUd1p1Po+BUpvePAp44jdJ7Pxcjfg+42o4NHw1SxdCA2rvg==",
+ "dev": true,
+ "requires": {
+ "chalk": "2.3.0",
+ "jest-diff": "21.2.1",
+ "jest-matcher-utils": "21.2.1",
+ "mkdirp": "0.5.1",
+ "natural-compare": "1.4.0",
+ "pretty-format": "21.2.1"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
+ "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==",
+ "dev": true,
+ "requires": {
+ "color-convert": "1.9.1"
+ }
+ },
+ "chalk": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz",
+ "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "3.2.0",
+ "escape-string-regexp": "1.0.5",
+ "supports-color": "4.5.0"
+ }
+ },
+ "has-flag": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz",
+ "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz",
+ "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=",
+ "dev": true,
+ "requires": {
+ "has-flag": "2.0.0"
+ }
+ }
+ }
+ },
+ "jest-util": {
+ "version": "21.2.1",
+ "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-21.2.1.tgz",
+ "integrity": "sha512-r20W91rmHY3fnCoO7aOAlyfC51x2yeV3xF+prGsJAUsYhKeV670ZB8NO88Lwm7ASu8SdH0S+U+eFf498kjhA4g==",
+ "dev": true,
+ "requires": {
+ "callsites": "2.0.0",
+ "chalk": "2.3.0",
+ "graceful-fs": "4.1.11",
+ "jest-message-util": "21.2.1",
+ "jest-mock": "21.2.0",
+ "jest-validate": "21.2.1",
+ "mkdirp": "0.5.1"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
+ "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==",
+ "dev": true,
+ "requires": {
+ "color-convert": "1.9.1"
+ }
+ },
+ "callsites": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz",
+ "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=",
+ "dev": true
+ },
+ "chalk": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz",
+ "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "3.2.0",
+ "escape-string-regexp": "1.0.5",
+ "supports-color": "4.5.0"
+ }
+ },
+ "has-flag": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz",
+ "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz",
+ "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=",
+ "dev": true,
+ "requires": {
+ "has-flag": "2.0.0"
+ }
+ }
+ }
+ },
+ "jest-validate": {
+ "version": "21.2.1",
+ "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-21.2.1.tgz",
+ "integrity": "sha512-k4HLI1rZQjlU+EC682RlQ6oZvLrE5SCh3brseQc24vbZTxzT/k/3urar5QMCVgjadmSO7lECeGdc6YxnM3yEGg==",
+ "dev": true,
+ "requires": {
+ "chalk": "2.3.0",
+ "jest-get-type": "21.2.0",
+ "leven": "2.1.0",
+ "pretty-format": "21.2.1"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
+ "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==",
+ "dev": true,
+ "requires": {
+ "color-convert": "1.9.1"
+ }
+ },
+ "chalk": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz",
+ "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "3.2.0",
+ "escape-string-regexp": "1.0.5",
+ "supports-color": "4.5.0"
+ }
+ },
+ "has-flag": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz",
+ "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz",
+ "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=",
+ "dev": true,
+ "requires": {
+ "has-flag": "2.0.0"
+ }
+ }
+ }
+ },
+ "jison": {
+ "version": "0.4.13",
+ "resolved": "https://registry.npmjs.org/jison/-/jison-0.4.13.tgz",
+ "integrity": "sha1-kEFwfWIkE2f1iDRTK58ZwsNvrHg=",
+ "requires": {
+ "JSONSelect": "0.4.0",
+ "cjson": "0.2.1",
+ "ebnf-parser": "0.1.10",
+ "escodegen": "0.0.21",
+ "esprima": "1.0.4",
+ "jison-lex": "0.2.1",
+ "lex-parser": "0.1.4",
+ "nomnom": "1.5.2"
+ },
+ "dependencies": {
+ "colors": {
+ "version": "0.5.1",
+ "resolved": "https://registry.npmjs.org/colors/-/colors-0.5.1.tgz",
+ "integrity": "sha1-fQAj6usVTo7p/Oddy5I9DtFmd3Q="
+ },
+ "escodegen": {
+ "version": "0.0.21",
+ "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-0.0.21.tgz",
+ "integrity": "sha1-U9ZSz6EDA4gnlFilJmxf/HCcY8M=",
+ "requires": {
+ "esprima": "1.0.4",
+ "estraverse": "0.0.4",
+ "source-map": "0.5.7"
+ }
+ },
+ "esprima": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz",
+ "integrity": "sha1-n1V+CPw7TSbs6d00+Pv0drYlha0="
+ },
+ "estraverse": {
+ "version": "0.0.4",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-0.0.4.tgz",
+ "integrity": "sha1-AaCTLf7ldGhKWYr1pnw7+bZCjbI="
+ },
+ "nomnom": {
+ "version": "1.5.2",
+ "resolved": "https://registry.npmjs.org/nomnom/-/nomnom-1.5.2.tgz",
+ "integrity": "sha1-9DRUSKhTz71cDSYyDyR3qwUm/i8=",
+ "requires": {
+ "colors": "0.5.1",
+ "underscore": "1.1.7"
+ }
+ },
+ "underscore": {
+ "version": "1.1.7",
+ "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.1.7.tgz",
+ "integrity": "sha1-QLq4S60Z0jAJbo1u9ii/8FXYPbA="
+ }
+ }
+ },
+ "jison-lex": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/jison-lex/-/jison-lex-0.2.1.tgz",
+ "integrity": "sha1-rEuBXozOUTLrErXfz+jXB7iETf4=",
+ "requires": {
+ "lex-parser": "0.1.4",
+ "nomnom": "1.5.2"
+ },
+ "dependencies": {
+ "colors": {
+ "version": "0.5.1",
+ "resolved": "https://registry.npmjs.org/colors/-/colors-0.5.1.tgz",
+ "integrity": "sha1-fQAj6usVTo7p/Oddy5I9DtFmd3Q="
+ },
+ "nomnom": {
+ "version": "1.5.2",
+ "resolved": "https://registry.npmjs.org/nomnom/-/nomnom-1.5.2.tgz",
+ "integrity": "sha1-9DRUSKhTz71cDSYyDyR3qwUm/i8=",
+ "requires": {
+ "colors": "0.5.1",
+ "underscore": "1.1.7"
+ }
+ },
+ "underscore": {
+ "version": "1.1.7",
+ "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.1.7.tgz",
+ "integrity": "sha1-QLq4S60Z0jAJbo1u9ii/8FXYPbA="
+ }
+ }
+ },
+ "js-base64": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.3.2.tgz",
+ "integrity": "sha512-Y2/+DnfJJXT1/FCwUebUhLWb3QihxiSC42+ctHLGogmW2jPY6LCapMdFZXRvVP2z6qyKW7s6qncE/9gSqZiArw==",
+ "dev": true
+ },
+ "js-tokens": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz",
+ "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls="
+ },
+ "js-yaml": {
+ "version": "3.7.0",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.7.0.tgz",
+ "integrity": "sha1-XJZ93YN6m/3KXy3oQlOr6KHAO4A=",
+ "dev": true,
+ "requires": {
+ "argparse": "1.0.9",
+ "esprima": "2.7.3"
+ }
+ },
+ "js2xmlparser": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/js2xmlparser/-/js2xmlparser-3.0.0.tgz",
+ "integrity": "sha1-P7YOqgicVED5MZ9RdgzNB+JJlzM=",
+ "requires": {
+ "xmlcreate": "1.0.2"
+ }
+ },
+ "jsbn": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
+ "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM="
+ },
+ "jsdoc": {
+ "version": "3.5.5",
+ "resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-3.5.5.tgz",
+ "integrity": "sha512-6PxB65TAU4WO0Wzyr/4/YhlGovXl0EVYfpKbpSroSj0qBxT4/xod/l40Opkm38dRHRdQgdeY836M0uVnJQG7kg==",
+ "requires": {
+ "babylon": "7.0.0-beta.19",
+ "bluebird": "3.5.1",
+ "catharsis": "0.8.9",
+ "escape-string-regexp": "1.0.5",
+ "js2xmlparser": "3.0.0",
+ "klaw": "2.0.0",
+ "marked": "0.3.6",
+ "mkdirp": "0.5.1",
+ "requizzle": "0.2.1",
+ "strip-json-comments": "2.0.1",
+ "taffydb": "2.6.2",
+ "underscore": "1.8.3"
+ },
+ "dependencies": {
+ "babylon": {
+ "version": "7.0.0-beta.19",
+ "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.19.tgz",
+ "integrity": "sha512-Vg0C9s/REX6/WIXN37UKpv5ZhRi6A4pjHlpkE34+8/a6c2W1Q692n3hmc+SZG5lKRnaExLUbxtJ1SVT+KaCQ/A=="
+ },
+ "klaw": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/klaw/-/klaw-2.0.0.tgz",
+ "integrity": "sha1-WcEo4Nxc5BAgEVEZTuucv4WGUPY=",
+ "requires": {
+ "graceful-fs": "4.1.11"
+ }
+ },
+ "underscore": {
+ "version": "1.8.3",
+ "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz",
+ "integrity": "sha1-Tz+1OxBuYJf8+ctBCfKl6b36UCI="
+ }
+ }
+ },
+ "jsdom": {
+ "version": "9.12.0",
+ "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-9.12.0.tgz",
+ "integrity": "sha1-6MVG//ywbADUgzyoRBD+1/igl9Q=",
+ "dev": true,
+ "requires": {
+ "abab": "1.0.4",
+ "acorn": "4.0.13",
+ "acorn-globals": "3.1.0",
+ "array-equal": "1.0.0",
+ "content-type-parser": "1.0.2",
+ "cssom": "0.3.2",
+ "cssstyle": "0.2.37",
+ "escodegen": "1.9.0",
+ "html-encoding-sniffer": "1.0.2",
+ "nwmatcher": "1.4.3",
+ "parse5": "1.5.1",
+ "request": "2.83.0",
+ "sax": "1.2.4",
+ "symbol-tree": "3.2.2",
+ "tough-cookie": "2.3.3",
+ "webidl-conversions": "4.0.2",
+ "whatwg-encoding": "1.0.3",
+ "whatwg-url": "4.8.0",
+ "xml-name-validator": "2.0.1"
+ },
+ "dependencies": {
+ "acorn": {
+ "version": "4.0.13",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz",
+ "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=",
+ "dev": true
+ }
+ }
+ },
+ "jsesc": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz",
+ "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=",
+ "dev": true
+ },
+ "jshint": {
+ "version": "2.9.5",
+ "resolved": "https://registry.npmjs.org/jshint/-/jshint-2.9.5.tgz",
+ "integrity": "sha1-HnJSkVzmgbQIJ+4UJIxG006apiw=",
+ "dev": true,
+ "requires": {
+ "cli": "1.0.1",
+ "console-browserify": "1.1.0",
+ "exit": "0.1.2",
+ "htmlparser2": "3.8.3",
+ "lodash": "3.7.0",
+ "minimatch": "3.0.4",
+ "shelljs": "0.3.0",
+ "strip-json-comments": "1.0.4"
+ },
+ "dependencies": {
+ "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.3.0"
+ }
+ },
+ "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.1.0",
+ "domelementtype": "1.3.0"
+ }
+ },
+ "entities": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-1.0.0.tgz",
+ "integrity": "sha1-sph6o4ITR/zeZCsk/fyeT7cSvyY=",
+ "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.3.0",
+ "domhandler": "2.3.0",
+ "domutils": "1.5.1",
+ "entities": "1.0.0",
+ "readable-stream": "1.1.14"
+ }
+ },
+ "isarray": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
+ "dev": true
+ },
+ "lodash": {
+ "version": "3.7.0",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.7.0.tgz",
+ "integrity": "sha1-Nni9irmVBXwHreg27S7wh9qBHUU=",
+ "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.2",
+ "inherits": "2.0.3",
+ "isarray": "0.0.1",
+ "string_decoder": "0.10.31"
+ }
+ },
+ "shelljs": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.3.0.tgz",
+ "integrity": "sha1-NZbmMHp4FUT1kfN9phg2DzHbV7E=",
+ "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
+ },
+ "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
+ }
+ }
+ },
+ "json-loader": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/json-loader/-/json-loader-0.5.7.tgz",
+ "integrity": "sha512-QLPs8Dj7lnf3e3QYS1zkCo+4ZwqOiF9d/nZnYozTISxXWCfNs9yuky5rJw4/W34s7POaNlbZmQGaB5NiXCbP4w==",
+ "dev": true
+ },
+ "json-schema": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
+ "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM="
+ },
+ "json-schema-traverse": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz",
+ "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A="
+ },
+ "json-stable-stringify": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz",
+ "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=",
+ "requires": {
+ "jsonify": "0.0.0"
+ }
+ },
+ "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="
+ },
+ "json3": {
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.2.tgz",
+ "integrity": "sha1-PAQ0dD35Pi9cQq7nsZvLSDV19OE=",
+ "dev": true
+ },
+ "json5": {
+ "version": "0.5.1",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
+ "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE="
+ },
+ "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.11"
+ }
+ },
+ "jsonify": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz",
+ "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM="
+ },
+ "jsonlint": {
+ "version": "1.6.2",
+ "resolved": "https://registry.npmjs.org/jsonlint/-/jsonlint-1.6.2.tgz",
+ "integrity": "sha1-VzcEUIX1XrRVxosf9OvAG9UOiDA=",
+ "requires": {
+ "JSV": "4.0.2",
+ "nomnom": "1.8.1"
+ }
+ },
+ "jsonpath": {
+ "version": "0.2.12",
+ "resolved": "https://registry.npmjs.org/jsonpath/-/jsonpath-0.2.12.tgz",
+ "integrity": "sha1-W/nZEftGFsHjNwvs658NskrjTNI=",
+ "requires": {
+ "esprima": "1.2.2",
+ "jison": "0.4.13",
+ "static-eval": "0.2.3",
+ "underscore": "1.7.0"
+ },
+ "dependencies": {
+ "esprima": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.2.2.tgz",
+ "integrity": "sha1-dqD9Zvz+FU/SkmZ9wmQBl1CxZXs="
+ },
+ "underscore": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.7.0.tgz",
+ "integrity": "sha1-a7rwh3UA02vjTsqlhODbn+8DUgk="
+ }
+ }
+ },
+ "jsonpointer": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz",
+ "integrity": "sha1-T9kss04OnbPInIYi7PUfm5eMbLk="
+ },
+ "jsonwebtoken": {
+ "version": "5.7.0",
+ "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-5.7.0.tgz",
+ "integrity": "sha1-HJD5qGzlt0j1+XnBK3BAK0r83bQ=",
+ "requires": {
+ "jws": "3.1.4",
+ "ms": "0.7.3",
+ "xtend": "4.0.1"
+ },
+ "dependencies": {
+ "ms": {
+ "version": "0.7.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.3.tgz",
+ "integrity": "sha1-cIFVpeROM/X9D8U+gdDUCpG+H/8="
+ },
+ "xtend": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz",
+ "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68="
+ }
+ }
+ },
+ "jsprim": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
+ "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
+ "requires": {
+ "assert-plus": "1.0.0",
+ "extsprintf": "1.3.0",
+ "json-schema": "0.2.3",
+ "verror": "1.10.0"
+ }
+ },
+ "jstransform": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/jstransform/-/jstransform-3.0.0.tgz",
+ "integrity": "sha1-olkats7o2XvzvoMNv6IxO4fNZAs=",
+ "requires": {
+ "base62": "0.1.1",
+ "esprima-fb": "3001.1.0-dev-harmony-fb",
+ "source-map": "0.1.31"
+ },
+ "dependencies": {
+ "esprima-fb": {
+ "version": "3001.1.0-dev-harmony-fb",
+ "resolved": "https://registry.npmjs.org/esprima-fb/-/esprima-fb-3001.0001.0000-dev-harmony-fb.tgz",
+ "integrity": "sha1-t303q8046gt3Qmu4vCkizmtCZBE="
+ },
+ "source-map": {
+ "version": "0.1.31",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.31.tgz",
+ "integrity": "sha1-n3BNDWnZ4TioG63267T94z0VHGE=",
+ "requires": {
+ "amdefine": "1.0.1"
+ }
+ }
+ }
+ },
+ "jsx-ast-utils": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-2.0.1.tgz",
+ "integrity": "sha1-6AGxs5mF4g//yHtA43SAgOLcrH8=",
+ "dev": true,
+ "requires": {
+ "array-includes": "3.0.3"
+ }
+ },
+ "jwa": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.1.5.tgz",
+ "integrity": "sha1-oFUs4CIHQs1S4VN3SjKQXDDnVuU=",
+ "requires": {
+ "base64url": "2.0.0",
+ "buffer-equal-constant-time": "1.0.1",
+ "ecdsa-sig-formatter": "1.0.9",
+ "safe-buffer": "5.1.1"
+ }
+ },
+ "jws": {
+ "version": "3.1.4",
+ "resolved": "https://registry.npmjs.org/jws/-/jws-3.1.4.tgz",
+ "integrity": "sha1-+ei5M46KhHJ31kRLFGT2GIDgUKI=",
+ "requires": {
+ "base64url": "2.0.0",
+ "jwa": "1.1.5",
+ "safe-buffer": "5.1.1"
+ }
+ },
+ "jwt-authentication": {
+ "version": "0.3.3",
+ "resolved": "https://registry.npmjs.org/jwt-authentication/-/jwt-authentication-0.3.3.tgz",
+ "integrity": "sha512-v76wJz9evqOAoDFHC7sWpOSY6701QwlH662yzOPOyHfTpNSWUD/c+rYtRr72jFO2XsVO1BDfD9YsdAuXfMf0JA==",
+ "requires": {
+ "axios": "0.15.3",
+ "crypto": "0.0.3",
+ "ducktype": "1.1.0",
+ "jsdoc": "3.5.5",
+ "jsonwebtoken": "5.7.0",
+ "lodash": "3.10.1",
+ "node-cache": "3.2.1",
+ "node-forge": "0.6.49",
+ "q": "1.5.1"
+ },
+ "dependencies": {
+ "lodash": {
+ "version": "3.10.1",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz",
+ "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y="
+ },
+ "node-forge": {
+ "version": "0.6.49",
+ "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.6.49.tgz",
+ "integrity": "sha1-8e6V1ddGI5OP4Z1piqWibVTS9g8="
+ }
+ }
+ },
+ "killable": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.0.tgz",
+ "integrity": "sha1-2ouEvUfeU5WHj5XWTQLyRJ/gXms=",
+ "dev": true
+ },
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "requires": {
+ "is-buffer": "1.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.11"
+ }
+ },
+ "latest-version": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-3.1.0.tgz",
+ "integrity": "sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=",
+ "dev": true,
+ "requires": {
+ "package-json": "4.0.1"
+ }
+ },
+ "lazy-cache": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz",
+ "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=",
+ "dev": true
+ },
+ "lazy-val": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/lazy-val/-/lazy-val-1.0.2.tgz",
+ "integrity": "sha512-2BaSu6qVnicKdWQPysrffZVFAKcPcZQ/q2YyeSjAxWaJlvCvKSrkcvsSHlleeIfA//fW2goTcYDTy2cBLN7+PQ==",
+ "dev": true
+ },
+ "lazystream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz",
+ "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=",
+ "dev": true,
+ "requires": {
+ "readable-stream": "2.3.3"
+ }
+ },
+ "lcid": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz",
+ "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=",
+ "requires": {
+ "invert-kv": "1.0.0"
+ }
+ },
+ "less": {
+ "version": "2.7.3",
+ "resolved": "https://registry.npmjs.org/less/-/less-2.7.3.tgz",
+ "integrity": "sha512-KPdIJKWcEAb02TuJtaLrhue0krtRLoRoo7x6BNJIBelO00t/CCdJQUnHW5V34OnHMWzIktSalJxRO+FvytQlCQ==",
+ "dev": true,
+ "requires": {
+ "errno": "0.1.4",
+ "graceful-fs": "4.1.11",
+ "image-size": "0.5.5",
+ "mime": "1.5.0",
+ "mkdirp": "0.5.1",
+ "promise": "7.3.1",
+ "request": "2.81.0",
+ "source-map": "0.5.7"
+ },
+ "dependencies": {
+ "ajv": {
+ "version": "4.11.8",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz",
+ "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "co": "4.6.0",
+ "json-stable-stringify": "1.0.1"
+ }
+ },
+ "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
+ },
+ "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
+ },
+ "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.16.3"
+ }
+ },
+ "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.10.1"
+ }
+ },
+ "form-data": {
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz",
+ "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "asynckit": "0.4.0",
+ "combined-stream": "1.0.5",
+ "mime-types": "2.1.17"
+ }
+ },
+ "har-schema": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz",
+ "integrity": "sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4=",
+ "dev": true,
+ "optional": true
+ },
+ "har-validator": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz",
+ "integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "ajv": "4.11.8",
+ "har-schema": "1.0.5"
+ }
+ },
+ "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.10.1",
+ "cryptiles": "2.0.5",
+ "hoek": "2.16.3",
+ "sntp": "1.0.9"
+ }
+ },
+ "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.4.1",
+ "sshpk": "1.13.1"
+ }
+ },
+ "mime": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-1.5.0.tgz",
+ "integrity": "sha512-v/jMDoK/qKptnTuC3YUNbIj8uUYvTCIHzVu9BHldKSWja48wusAtfjlcBlqnFrqClu3yf69ScDxBPrIyFnF51g==",
+ "dev": true,
+ "optional": true
+ },
+ "performance-now": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz",
+ "integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU=",
+ "dev": true,
+ "optional": true
+ },
+ "qs": {
+ "version": "6.4.0",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz",
+ "integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=",
+ "dev": true,
+ "optional": true
+ },
+ "request": {
+ "version": "2.81.0",
+ "resolved": "https://registry.npmjs.org/request/-/request-2.81.0.tgz",
+ "integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "aws-sign2": "0.6.0",
+ "aws4": "1.6.0",
+ "caseless": "0.12.0",
+ "combined-stream": "1.0.5",
+ "extend": "3.0.1",
+ "forever-agent": "0.6.1",
+ "form-data": "2.1.4",
+ "har-validator": "4.2.1",
+ "hawk": "3.1.3",
+ "http-signature": "1.1.1",
+ "is-typedarray": "1.0.0",
+ "isstream": "0.1.2",
+ "json-stringify-safe": "5.0.1",
+ "mime-types": "2.1.17",
+ "oauth-sign": "0.8.2",
+ "performance-now": "0.2.0",
+ "qs": "6.4.0",
+ "safe-buffer": "5.1.1",
+ "stringstream": "0.0.5",
+ "tough-cookie": "2.3.3",
+ "tunnel-agent": "0.6.0",
+ "uuid": "3.1.0"
+ }
+ },
+ "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.16.3"
+ }
+ }
+ }
+ },
+ "less-loader": {
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-4.0.5.tgz",
+ "integrity": "sha1-rhVadAbKxqzSk9eFWH/P8PR4xN0=",
+ "dev": true,
+ "requires": {
+ "clone": "2.1.1",
+ "loader-utils": "1.1.0",
+ "pify": "2.3.0"
+ }
+ },
+ "leven": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/leven/-/leven-2.1.0.tgz",
+ "integrity": "sha1-wuep93IJTe6dNCAq6KzORoeHVYA=",
+ "dev": true
+ },
+ "levn": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
+ "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
+ "requires": {
+ "prelude-ls": "1.1.2",
+ "type-check": "0.3.2"
+ }
+ },
+ "lex-parser": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/lex-parser/-/lex-parser-0.1.4.tgz",
+ "integrity": "sha1-ZMTwJfF/1Tv7RXY/rrFvAVp0dVA="
+ },
+ "lie": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/lie/-/lie-3.0.2.tgz",
+ "integrity": "sha1-/9oh17uibzd8rYZdNkmy/Izjn+o=",
+ "requires": {
+ "es3ify": "0.1.4",
+ "immediate": "3.0.6",
+ "inline-process-browser": "1.0.0",
+ "unreachable-branch-transform": "0.3.0"
+ }
+ },
+ "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.11",
+ "parse-json": "2.2.0",
+ "pify": "2.3.0",
+ "pinkie-promise": "2.0.1",
+ "strip-bom": "2.0.0"
+ }
+ },
+ "loader-runner": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.3.0.tgz",
+ "integrity": "sha1-9IKuqC1UPgeSFwDVpG7yb9rGuKI=",
+ "dev": true
+ },
+ "loader-utils": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz",
+ "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=",
+ "requires": {
+ "big.js": "3.2.0",
+ "emojis-list": "2.1.0",
+ "json5": "0.5.1"
+ }
+ },
+ "localforage": {
+ "version": "1.5.3",
+ "resolved": "https://registry.npmjs.org/localforage/-/localforage-1.5.3.tgz",
+ "integrity": "sha1-aYqhavECI0CyQL6dkxkuivAi/xY=",
+ "requires": {
+ "lie": "3.0.2"
+ }
+ },
+ "locate-path": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
+ "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
+ "dev": true,
+ "requires": {
+ "p-locate": "2.0.0",
+ "path-exists": "3.0.0"
+ }
+ },
+ "lodash": {
+ "version": "4.17.4",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz",
+ "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4="
+ },
+ "lodash-es": {
+ "version": "4.17.4",
+ "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.4.tgz",
+ "integrity": "sha1-3MHXVS4VCgZABzupyzHXDwMpUOc="
+ },
+ "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.1",
+ "lodash.keys": "3.1.2"
+ }
+ },
+ "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._bindcallback": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz",
+ "integrity": "sha1-5THCdkTPi1epnhftlbNcdIeJOS4=",
+ "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.1",
+ "lodash._isiterateecall": "3.0.9",
+ "lodash.restparam": "3.6.1"
+ }
+ },
+ "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._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.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.2.0",
+ "lodash._createassigner": "3.1.1",
+ "lodash.keys": "3.1.2"
+ }
+ },
+ "lodash.camelcase": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz",
+ "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=",
+ "dev": true
+ },
+ "lodash.cond": {
+ "version": "4.5.2",
+ "resolved": "https://registry.npmjs.org/lodash.cond/-/lodash.cond-4.5.2.tgz",
+ "integrity": "sha1-9HGh2khr5g9quVXRcRVSPdHSVdU=",
+ "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.kebabcase": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz",
+ "integrity": "sha1-hImxyw0p/4gZXM7KRI/21swpXDY=",
+ "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.9.1",
+ "lodash.isarguments": "3.1.0",
+ "lodash.isarray": "3.0.4"
+ }
+ },
+ "lodash.memoize": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz",
+ "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=",
+ "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.snakecase": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz",
+ "integrity": "sha1-OdcUo1NXFHg3rv1ktdy7Fr7Nj40=",
+ "dev": true
+ },
+ "lodash.toarray": {
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/lodash.toarray/-/lodash.toarray-4.4.0.tgz",
+ "integrity": "sha1-JMS/zWsvuji/0FlNsRedjptlZWE=",
+ "dev": true
+ },
+ "lodash.uniq": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz",
+ "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=",
+ "dev": true
+ },
+ "lodash.upperfirst": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz",
+ "integrity": "sha1-E2Xt9DFIBIHvDRxolXpe2Z1J984=",
+ "dev": true
+ },
+ "log-symbols": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz",
+ "integrity": "sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg=",
+ "dev": true,
+ "requires": {
+ "chalk": "1.1.3"
+ }
+ },
+ "loglevel": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.0.tgz",
+ "integrity": "sha1-rgyqVhERSYxboTcj1vtjHSQAOTQ=",
+ "dev": true
+ },
+ "longest": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz",
+ "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=",
+ "dev": true
+ },
+ "loose-envify": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz",
+ "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=",
+ "requires": {
+ "js-tokens": "3.0.2"
+ }
+ },
+ "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.2"
+ }
+ },
+ "lowercase-keys": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz",
+ "integrity": "sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=",
+ "dev": true
+ },
+ "lru-cache": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz",
+ "integrity": "sha512-q4spe4KTfsAS1SUHLO0wz8Qiyf1+vMIAgpRYioFYDMNqKfHQbg+AVDH3i4fvpl71/P1L0dBl+fQi+P37UYf0ew==",
+ "dev": true,
+ "requires": {
+ "pseudomap": "1.0.2",
+ "yallist": "2.1.2"
+ }
+ },
+ "macaddress": {
+ "version": "0.2.8",
+ "resolved": "https://registry.npmjs.org/macaddress/-/macaddress-0.2.8.tgz",
+ "integrity": "sha1-WQTcU3w57G2+/q6QIycTX6hRHxI=",
+ "dev": true
+ },
+ "make-dir": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.1.0.tgz",
+ "integrity": "sha512-0Pkui4wLJ7rxvmfUvs87skoEaxmu0hCUApF8nonzpl7q//FWp9zu8W61Scz4sd/kUiqDxvUhtoam2efDyiBzcA==",
+ "dev": true,
+ "requires": {
+ "pify": "3.0.0"
+ },
+ "dependencies": {
+ "pify": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
+ "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
+ "dev": true
+ }
+ }
+ },
+ "makeerror": {
+ "version": "1.0.11",
+ "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz",
+ "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=",
+ "dev": true,
+ "requires": {
+ "tmpl": "1.0.4"
+ }
+ },
+ "map-obj": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
+ "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=",
+ "dev": true
+ },
+ "map-stream": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz",
+ "integrity": "sha1-5WqpTEyAVaFkBKBnS3jyFffI4ZQ="
+ },
+ "marked": {
+ "version": "0.3.6",
+ "resolved": "https://registry.npmjs.org/marked/-/marked-0.3.6.tgz",
+ "integrity": "sha1-ssbGGPzOzk74bE/Gy4p8v1rtqNc="
+ },
+ "math-expression-evaluator": {
+ "version": "1.2.17",
+ "resolved": "https://registry.npmjs.org/math-expression-evaluator/-/math-expression-evaluator-1.2.17.tgz",
+ "integrity": "sha1-3oGf282E3M2PrlnGrreWFbnSZqw=",
+ "dev": true
+ },
+ "md5.js": {
+ "version": "1.3.4",
+ "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.4.tgz",
+ "integrity": "sha1-6b296UogpawYsENA/Fdk1bCdkB0=",
+ "dev": true,
+ "requires": {
+ "hash-base": "3.0.4",
+ "inherits": "2.0.3"
+ },
+ "dependencies": {
+ "hash-base": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz",
+ "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=",
+ "dev": true,
+ "requires": {
+ "inherits": "2.0.3",
+ "safe-buffer": "5.1.1"
+ }
+ }
+ }
+ },
+ "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
+ },
+ "mem": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz",
+ "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=",
+ "dev": true,
+ "requires": {
+ "mimic-fn": "1.1.0"
+ }
+ },
+ "memory-fs": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz",
+ "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=",
+ "dev": true,
+ "requires": {
+ "errno": "0.1.4",
+ "readable-stream": "2.3.3"
+ }
+ },
+ "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.1.0",
+ "decamelize": "1.2.0",
+ "loud-rejection": "1.6.0",
+ "map-obj": "1.0.1",
+ "minimist": "1.2.0",
+ "normalize-package-data": "2.4.0",
+ "object-assign": "4.1.1",
+ "read-pkg-up": "1.0.1",
+ "redent": "1.0.0",
+ "trim-newlines": "1.0.0"
+ },
+ "dependencies": {
+ "minimist": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+ "dev": true
+ }
+ }
+ },
+ "merge": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/merge/-/merge-1.2.0.tgz",
+ "integrity": "sha1-dTHjnUlJwoGma4xabgJl6LBYlNo=",
+ "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
+ },
+ "micromatch": {
+ "version": "2.3.11",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz",
+ "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=",
+ "requires": {
+ "arr-diff": "2.0.0",
+ "array-unique": "0.2.1",
+ "braces": "1.8.5",
+ "expand-brackets": "0.1.5",
+ "extglob": "0.3.2",
+ "filename-regex": "2.0.1",
+ "is-extglob": "1.0.0",
+ "is-glob": "2.0.1",
+ "kind-of": "3.2.2",
+ "normalize-path": "2.1.1",
+ "object.omit": "2.0.1",
+ "parse-glob": "3.0.4",
+ "regex-cache": "0.4.4"
+ }
+ },
+ "miller-rabin": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz",
+ "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==",
+ "dev": true,
+ "requires": {
+ "bn.js": "4.11.8",
+ "brorand": "1.1.0"
+ }
+ },
+ "mime": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-2.0.3.tgz",
+ "integrity": "sha512-TrpAd/vX3xaLPDgVRm6JkZwLR0KHfukMdU2wTEbqMDdCnY6Yo3mE+mjs9YE6oMNw2QRfXVeBEYpmpO94BIqiug==",
+ "dev": true
+ },
+ "mime-db": {
+ "version": "1.30.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.30.0.tgz",
+ "integrity": "sha1-dMZD2i3Z1qRTmZY0ZbJtXKfXHwE="
+ },
+ "mime-types": {
+ "version": "2.1.17",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz",
+ "integrity": "sha1-Cdejk/A+mVp5+K+Fe3Cp4KsWVXo=",
+ "requires": {
+ "mime-db": "1.30.0"
+ }
+ },
+ "mimic-fn": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.1.0.tgz",
+ "integrity": "sha1-5md4PZLonb00KBi1IwudYqZyrRg=",
+ "dev": true
+ },
+ "min-document": {
+ "version": "2.19.0",
+ "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz",
+ "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=",
+ "dev": true,
+ "requires": {
+ "dom-walk": "0.1.1"
+ }
+ },
+ "minimalistic-assert": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz",
+ "integrity": "sha1-cCvi3aazf0g2vLP121ZkG2Sh09M=",
+ "dev": true
+ },
+ "minimalistic-crypto-utils": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz",
+ "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=",
+ "dev": true
+ },
+ "minimatch": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+ "requires": {
+ "brace-expansion": "1.1.8"
+ }
+ },
+ "minimist": {
+ "version": "0.0.8",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
+ "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0="
+ },
+ "minipass": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.2.1.tgz",
+ "integrity": "sha512-u1aUllxPJUI07cOqzR7reGmQxmCqlH88uIIsf6XZFEWgw7gXKpJdR+5R9Y3KEDmWYkdIz9wXZs3C0jOPxejk/Q==",
+ "requires": {
+ "yallist": "3.0.2"
+ },
+ "dependencies": {
+ "yallist": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.2.tgz",
+ "integrity": "sha1-hFK0u36Dx8GI2AQcGoN8dz1ti7k="
+ }
+ }
+ },
+ "minizlib": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.0.4.tgz",
+ "integrity": "sha512-sN4U9tIJtBRwKbwgFh9qJfrPIQ/GGTRr1MGqkgOeMTLy8/lM0FcWU//FqlnZ3Vb7gJ+Mxh3FOg1EklibdajbaQ==",
+ "requires": {
+ "minipass": "2.2.1"
+ }
+ },
+ "mkdirp": {
+ "version": "0.5.1",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+ "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
+ "requires": {
+ "minimist": "0.0.8"
+ }
+ },
+ "mkdirp-promise": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/mkdirp-promise/-/mkdirp-promise-1.1.0.tgz",
+ "integrity": "sha1-LISJPtZ24NmPsY+5piEv0bK5qBk="
+ },
+ "modify-filename": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/modify-filename/-/modify-filename-1.1.0.tgz",
+ "integrity": "sha1-mi3sg4Bvuy2XXyK+7IWcoms5OqE="
+ },
+ "moment": {
+ "version": "2.19.2",
+ "resolved": "https://registry.npmjs.org/moment/-/moment-2.19.2.tgz",
+ "integrity": "sha512-Rf6jiHPEfxp9+dlzxPTmRHbvoFXsh2L/U8hOupUMpnuecHQmI6cF6lUbJl3QqKPko1u6ujO+FxtcajLVfLpAtA=="
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
+ },
+ "multicast-dns": {
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.1.tgz",
+ "integrity": "sha512-uV3/ckdsffHx9IrGQrx613mturMdMqQ06WTq+C09NsStJ9iNG6RcUWgPKs1Rfjy+idZT6tfQoXEusGNnEZhT3w==",
+ "dev": true,
+ "requires": {
+ "dns-packet": "1.2.2",
+ "thunky": "0.1.0"
+ }
+ },
+ "multicast-dns-service-types": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz",
+ "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=",
+ "dev": true
+ },
+ "multiparty": {
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/multiparty/-/multiparty-4.1.3.tgz",
+ "integrity": "sha1-PEPH/LGJbhdGBDap3Qtu8WaOT5Q=",
+ "requires": {
+ "fd-slicer": "1.0.1"
+ }
+ },
+ "mute-stream": {
+ "version": "0.0.5",
+ "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.tgz",
+ "integrity": "sha1-j7+rsKmKJT0xhDMfno3rc3L6xsA=",
+ "dev": true
+ },
+ "nan": {
+ "version": "2.8.0",
+ "resolved": "https://registry.npmjs.org/nan/-/nan-2.8.0.tgz",
+ "integrity": "sha1-7XFfP+neArV6XmJS2QqWZ14fCFo="
+ },
+ "natural-compare": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
+ "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
+ "dev": true
+ },
+ "ncp": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ncp/-/ncp-2.0.0.tgz",
+ "integrity": "sha1-GVoh1sRuNh0vsSgbo4uR6d9727M=",
+ "dev": true
+ },
+ "nedb": {
+ "version": "1.8.0",
+ "resolved": "https://registry.npmjs.org/nedb/-/nedb-1.8.0.tgz",
+ "integrity": "sha1-DjUCzYLABNU1WkPJ5VV3vXvZHYg=",
+ "requires": {
+ "async": "0.2.10",
+ "binary-search-tree": "0.2.5",
+ "localforage": "1.5.3",
+ "mkdirp": "0.5.1",
+ "underscore": "1.4.4"
+ },
+ "dependencies": {
+ "async": {
+ "version": "0.2.10",
+ "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz",
+ "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E="
+ },
+ "underscore": {
+ "version": "1.4.4",
+ "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz",
+ "integrity": "sha1-YaajIBBiKvoHljvzJSA88SI51gQ="
+ }
+ }
+ },
+ "negotiator": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz",
+ "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=",
+ "dev": true
+ },
+ "node-abi": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.1.2.tgz",
+ "integrity": "sha512-hmUtb8m75RSi7N+zZLYqe75XDvZB+6LyTBPkj2DConvNgQet2e3BIqEwe1LLvqMrfyjabuT5ZOrTioLCH1HTdA==",
+ "dev": true,
+ "requires": {
+ "semver": "5.4.1"
+ }
+ },
+ "node-cache": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/node-cache/-/node-cache-3.2.1.tgz",
+ "integrity": "sha1-p5WNMqikLZEZziWYZWfqLF+WZ3M=",
+ "requires": {
+ "clone": "1.0.3",
+ "lodash": "4.17.4"
+ },
+ "dependencies": {
+ "clone": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.3.tgz",
+ "integrity": "sha1-KY1+IjFmD0DAA8LtMUDezz9TCF8="
+ }
+ }
+ },
+ "node-emoji": {
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.8.1.tgz",
+ "integrity": "sha512-+ktMAh1Jwas+TnGodfCfjUbJKoANqPaJFN0z0iqh41eqD8dvguNzcitVSBSVK1pidz0AqGbLKcoVuVLRVZ/aVg==",
+ "dev": true,
+ "requires": {
+ "lodash.toarray": "4.4.0"
+ }
+ },
+ "node-ensure": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/node-ensure/-/node-ensure-0.0.0.tgz",
+ "integrity": "sha1-7K52QVDemYYexcgQ/V0Jaxg5Mqc="
+ },
+ "node-fetch": {
+ "version": "1.7.3",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz",
+ "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==",
+ "requires": {
+ "encoding": "0.1.12",
+ "is-stream": "1.1.0"
+ }
+ },
+ "node-forge": {
+ "version": "0.7.1",
+ "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.7.1.tgz",
+ "integrity": "sha1-naYR6giYL0uUIGs760zJZl8gwwA="
+ },
+ "node-gyp": {
+ "version": "3.6.2",
+ "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.6.2.tgz",
+ "integrity": "sha1-m/vlRWIoYoSDjnUOrAUpWFP6HGA=",
+ "requires": {
+ "fstream": "1.0.11",
+ "glob": "7.1.2",
+ "graceful-fs": "4.1.11",
+ "minimatch": "3.0.4",
+ "mkdirp": "0.5.1",
+ "nopt": "3.0.6",
+ "npmlog": "4.1.2",
+ "osenv": "0.1.4",
+ "request": "2.83.0",
+ "rimraf": "2.6.2",
+ "semver": "5.3.0",
+ "tar": "2.2.1",
+ "which": "1.3.0"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
+ "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8="
+ },
+ "tar": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz",
+ "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=",
+ "requires": {
+ "block-stream": "0.0.9",
+ "fstream": "1.0.11",
+ "inherits": "2.0.3"
+ }
+ }
+ }
+ },
+ "node-int64": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz",
+ "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=",
+ "dev": true
+ },
+ "node-libs-browser": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.1.0.tgz",
+ "integrity": "sha512-5AzFzdoIMb89hBGMZglEegffzgRg+ZFoUmisQ8HI4j1KDdpx13J0taNp2y9xPbur6W61gepGDDotGBVQ7mfUCg==",
+ "dev": true,
+ "requires": {
+ "assert": "1.4.1",
+ "browserify-zlib": "0.2.0",
+ "buffer": "4.9.1",
+ "console-browserify": "1.1.0",
+ "constants-browserify": "1.0.0",
+ "crypto-browserify": "3.12.0",
+ "domain-browser": "1.1.7",
+ "events": "1.1.1",
+ "https-browserify": "1.0.0",
+ "os-browserify": "0.3.0",
+ "path-browserify": "0.0.0",
+ "process": "0.11.10",
+ "punycode": "1.4.1",
+ "querystring-es3": "0.2.1",
+ "readable-stream": "2.3.3",
+ "stream-browserify": "2.0.1",
+ "stream-http": "2.7.2",
+ "string_decoder": "1.0.3",
+ "timers-browserify": "2.0.4",
+ "tty-browserify": "0.0.0",
+ "url": "0.11.0",
+ "util": "0.10.3",
+ "vm-browserify": "0.0.4"
+ },
+ "dependencies": {
+ "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.2.0",
+ "ieee754": "1.1.8",
+ "isarray": "1.0.0"
+ }
+ },
+ "process": {
+ "version": "0.11.10",
+ "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
+ "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=",
+ "dev": true
+ }
+ }
+ },
+ "node-notifier": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.1.2.tgz",
+ "integrity": "sha1-L6nhJgX6EACdRFSdb82KY93g5P8=",
+ "dev": true,
+ "requires": {
+ "growly": "1.3.0",
+ "semver": "5.4.1",
+ "shellwords": "0.1.1",
+ "which": "1.3.0"
+ }
+ },
+ "node-pre-gyp": {
+ "version": "0.6.39",
+ "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.6.39.tgz",
+ "integrity": "sha512-OsJV74qxnvz/AMGgcfZoDaeDXKD3oY3QVIbBmwszTFkRisTSXbMQyn4UWzUMOtA5SVhrBZOTp0wcoSBgfMfMmQ==",
+ "requires": {
+ "detect-libc": "1.0.3",
+ "hawk": "3.1.3",
+ "mkdirp": "0.5.1",
+ "nopt": "4.0.1",
+ "npmlog": "4.1.2",
+ "rc": "1.2.2",
+ "request": "2.81.0",
+ "rimraf": "2.6.2",
+ "semver": "5.4.1",
+ "tar": "2.2.1",
+ "tar-pack": "3.4.1"
+ },
+ "dependencies": {
+ "ajv": {
+ "version": "4.11.8",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz",
+ "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=",
+ "requires": {
+ "co": "4.6.0",
+ "json-stable-stringify": "1.0.1"
+ }
+ },
+ "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="
+ },
+ "aws-sign2": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz",
+ "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8="
+ },
+ "boom": {
+ "version": "2.10.1",
+ "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz",
+ "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=",
+ "requires": {
+ "hoek": "2.16.3"
+ }
+ },
+ "cryptiles": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz",
+ "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=",
+ "requires": {
+ "boom": "2.10.1"
+ }
+ },
+ "form-data": {
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz",
+ "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=",
+ "requires": {
+ "asynckit": "0.4.0",
+ "combined-stream": "1.0.5",
+ "mime-types": "2.1.17"
+ }
+ },
+ "har-schema": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz",
+ "integrity": "sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4="
+ },
+ "har-validator": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz",
+ "integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=",
+ "requires": {
+ "ajv": "4.11.8",
+ "har-schema": "1.0.5"
+ }
+ },
+ "hawk": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz",
+ "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=",
+ "requires": {
+ "boom": "2.10.1",
+ "cryptiles": "2.0.5",
+ "hoek": "2.16.3",
+ "sntp": "1.0.9"
+ }
+ },
+ "hoek": {
+ "version": "2.16.3",
+ "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz",
+ "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0="
+ },
+ "http-signature": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz",
+ "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=",
+ "requires": {
+ "assert-plus": "0.2.0",
+ "jsprim": "1.4.1",
+ "sshpk": "1.13.1"
+ }
+ },
+ "nopt": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz",
+ "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=",
+ "requires": {
+ "abbrev": "1.1.1",
+ "osenv": "0.1.4"
+ }
+ },
+ "performance-now": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz",
+ "integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU="
+ },
+ "qs": {
+ "version": "6.4.0",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz",
+ "integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM="
+ },
+ "request": {
+ "version": "2.81.0",
+ "resolved": "https://registry.npmjs.org/request/-/request-2.81.0.tgz",
+ "integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=",
+ "requires": {
+ "aws-sign2": "0.6.0",
+ "aws4": "1.6.0",
+ "caseless": "0.12.0",
+ "combined-stream": "1.0.5",
+ "extend": "3.0.1",
+ "forever-agent": "0.6.1",
+ "form-data": "2.1.4",
+ "har-validator": "4.2.1",
+ "hawk": "3.1.3",
+ "http-signature": "1.1.1",
+ "is-typedarray": "1.0.0",
+ "isstream": "0.1.2",
+ "json-stringify-safe": "5.0.1",
+ "mime-types": "2.1.17",
+ "oauth-sign": "0.8.2",
+ "performance-now": "0.2.0",
+ "qs": "6.4.0",
+ "safe-buffer": "5.1.1",
+ "stringstream": "0.0.5",
+ "tough-cookie": "2.3.3",
+ "tunnel-agent": "0.6.0",
+ "uuid": "3.1.0"
+ }
+ },
+ "sntp": {
+ "version": "1.0.9",
+ "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz",
+ "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=",
+ "requires": {
+ "hoek": "2.16.3"
+ }
+ },
+ "tar": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz",
+ "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=",
+ "requires": {
+ "block-stream": "0.0.9",
+ "fstream": "1.0.11",
+ "inherits": "2.0.3"
+ }
+ }
+ }
+ },
+ "nomnom": {
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/nomnom/-/nomnom-1.8.1.tgz",
+ "integrity": "sha1-IVH3Ikcrp55Qp2/BJbuMjy5Nwqc=",
+ "requires": {
+ "chalk": "0.4.0",
+ "underscore": "1.6.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.0.0.tgz",
+ "integrity": "sha1-yxAt8cVvUSPquLZ817mAJ6AnkXg="
+ },
+ "chalk": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.4.0.tgz",
+ "integrity": "sha1-UZmj3c0MHv4jvAjBsCewYXbgxk8=",
+ "requires": {
+ "ansi-styles": "1.0.0",
+ "has-color": "0.1.7",
+ "strip-ansi": "0.1.1"
+ }
+ },
+ "strip-ansi": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.1.1.tgz",
+ "integrity": "sha1-OeipjQRNFQZgq+SmgIrPcLt7yZE="
+ }
+ }
+ },
+ "noop-logger": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/noop-logger/-/noop-logger-0.1.1.tgz",
+ "integrity": "sha1-lKKxYzxPExdVMAfYlm/Q6EG2pMI=",
+ "dev": true
+ },
+ "nopt": {
+ "version": "3.0.6",
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
+ "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=",
+ "requires": {
+ "abbrev": "1.1.1"
+ }
+ },
+ "normalize-package-data": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz",
+ "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==",
+ "dev": true,
+ "requires": {
+ "hosted-git-info": "2.5.0",
+ "is-builtin-module": "1.0.0",
+ "semver": "5.4.1",
+ "validate-npm-package-license": "3.0.1"
+ }
+ },
+ "normalize-path": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
+ "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
+ "requires": {
+ "remove-trailing-separator": "1.1.0"
+ }
+ },
+ "normalize-range": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz",
+ "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=",
+ "dev": true
+ },
+ "normalize-url": {
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz",
+ "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=",
+ "dev": true,
+ "requires": {
+ "object-assign": "4.1.1",
+ "prepend-http": "1.0.4",
+ "query-string": "4.3.4",
+ "sort-keys": "1.1.2"
+ }
+ },
+ "npm": {
+ "version": "5.5.1",
+ "resolved": "https://registry.npmjs.org/npm/-/npm-5.5.1.tgz",
+ "integrity": "sha512-M3aO8EjHebaCw6uur4C86SZqkypnoaEVo5R63FEEU0dw9wLxf/JlwWtJItShYVyQS2WDxG2It10GEe5GmVEM2Q==",
+ "dev": true,
+ "requires": {
+ "JSONStream": "1.3.1",
+ "abbrev": "1.1.1",
+ "ansi-regex": "3.0.0",
+ "ansicolors": "0.3.2",
+ "ansistyles": "0.1.3",
+ "aproba": "1.2.0",
+ "archy": "1.0.0",
+ "bluebird": "3.5.0",
+ "cacache": "9.2.9",
+ "call-limit": "1.1.0",
+ "chownr": "1.0.1",
+ "cli-table2": "0.2.0",
+ "cmd-shim": "2.0.2",
+ "columnify": "1.5.4",
+ "config-chain": "1.1.11",
+ "debuglog": "1.0.1",
+ "detect-indent": "5.0.0",
+ "dezalgo": "1.0.3",
+ "editor": "1.0.0",
+ "fs-vacuum": "1.2.10",
+ "fs-write-stream-atomic": "1.0.10",
+ "glob": "7.1.2",
+ "graceful-fs": "4.1.11",
+ "has-unicode": "2.0.1",
+ "hosted-git-info": "2.5.0",
+ "iferr": "0.1.5",
+ "imurmurhash": "0.1.4",
+ "inflight": "1.0.6",
+ "inherits": "2.0.3",
+ "ini": "1.3.4",
+ "init-package-json": "1.10.1",
+ "is-cidr": "1.0.0",
+ "lazy-property": "1.0.0",
+ "libnpx": "9.6.0",
+ "lockfile": "1.0.3",
+ "lodash._baseindexof": "3.1.0",
+ "lodash._baseuniq": "4.6.0",
+ "lodash._bindcallback": "3.0.1",
+ "lodash._cacheindexof": "3.0.2",
+ "lodash._createcache": "3.1.2",
+ "lodash._getnative": "3.9.1",
+ "lodash.clonedeep": "4.5.0",
+ "lodash.restparam": "3.6.1",
+ "lodash.union": "4.6.0",
+ "lodash.uniq": "4.5.0",
+ "lodash.without": "4.4.0",
+ "lru-cache": "4.1.1",
+ "meant": "1.0.1",
+ "mississippi": "1.3.0",
+ "mkdirp": "0.5.1",
+ "move-concurrently": "1.0.1",
+ "node-gyp": "3.6.2",
+ "nopt": "4.0.1",
+ "normalize-package-data": "2.4.0",
+ "npm-cache-filename": "1.0.2",
+ "npm-install-checks": "3.0.0",
+ "npm-lifecycle": "1.0.3",
+ "npm-package-arg": "5.1.2",
+ "npm-packlist": "1.1.9",
+ "npm-profile": "2.0.4",
+ "npm-registry-client": "8.5.0",
+ "npm-user-validate": "1.0.0",
+ "npmlog": "4.1.2",
+ "once": "1.4.0",
+ "opener": "1.4.3",
+ "osenv": "0.1.4",
+ "pacote": "6.0.2",
+ "path-is-inside": "1.0.2",
+ "promise-inflight": "1.0.1",
+ "qrcode-terminal": "0.11.0",
+ "query-string": "5.0.0",
+ "qw": "1.0.1",
+ "read": "1.0.7",
+ "read-cmd-shim": "1.0.1",
+ "read-installed": "4.0.3",
+ "read-package-json": "2.0.12",
+ "read-package-tree": "5.1.6",
+ "readable-stream": "2.3.3",
+ "readdir-scoped-modules": "1.0.2",
+ "request": "2.83.0",
+ "retry": "0.10.1",
+ "rimraf": "2.6.2",
+ "safe-buffer": "5.1.1",
+ "semver": "5.4.1",
+ "sha": "2.0.1",
+ "slide": "1.1.6",
+ "sorted-object": "2.0.1",
+ "sorted-union-stream": "2.1.3",
+ "ssri": "4.1.6",
+ "strip-ansi": "4.0.0",
+ "tar": "4.0.1",
+ "text-table": "0.2.0",
+ "uid-number": "0.0.6",
+ "umask": "1.1.0",
+ "unique-filename": "1.1.0",
+ "unpipe": "1.0.0",
+ "update-notifier": "2.2.0",
+ "uuid": "3.1.0",
+ "validate-npm-package-license": "3.0.1",
+ "validate-npm-package-name": "3.0.0",
+ "which": "1.3.0",
+ "worker-farm": "1.5.0",
+ "wrappy": "1.0.2",
+ "write-file-atomic": "2.1.0"
+ },
+ "dependencies": {
+ "JSONStream": {
+ "version": "1.3.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "jsonparse": "1.3.1",
+ "through": "2.3.8"
+ },
+ "dependencies": {
+ "jsonparse": {
+ "version": "1.3.1",
+ "bundled": true,
+ "dev": true
+ },
+ "through": {
+ "version": "2.3.8",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
+ "abbrev": {
+ "version": "1.1.1",
+ "bundled": true,
+ "dev": true
+ },
+ "ansi-regex": {
+ "version": "3.0.0",
+ "bundled": true,
+ "dev": true
+ },
+ "ansicolors": {
+ "version": "0.3.2",
+ "bundled": true,
+ "dev": true
+ },
+ "ansistyles": {
+ "version": "0.1.3",
+ "bundled": true,
+ "dev": true
+ },
+ "aproba": {
+ "version": "1.2.0",
+ "bundled": true,
+ "dev": true
+ },
+ "archy": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true
+ },
+ "bluebird": {
+ "version": "3.5.0",
+ "bundled": true,
+ "dev": true
+ },
+ "cacache": {
+ "version": "9.2.9",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "bluebird": "3.5.0",
+ "chownr": "1.0.1",
+ "glob": "7.1.2",
+ "graceful-fs": "4.1.11",
+ "lru-cache": "4.1.1",
+ "mississippi": "1.3.0",
+ "mkdirp": "0.5.1",
+ "move-concurrently": "1.0.1",
+ "promise-inflight": "1.0.1",
+ "rimraf": "2.6.2",
+ "ssri": "4.1.6",
+ "unique-filename": "1.1.0",
+ "y18n": "3.2.1"
+ },
+ "dependencies": {
+ "lru-cache": {
+ "version": "4.1.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "pseudomap": "1.0.2",
+ "yallist": "2.1.2"
+ },
+ "dependencies": {
+ "pseudomap": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true
+ },
+ "yallist": {
+ "version": "2.1.2",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
+ "y18n": {
+ "version": "3.2.1",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
+ "call-limit": {
+ "version": "1.1.0",
+ "bundled": true,
+ "dev": true
+ },
+ "chownr": {
+ "version": "1.0.1",
+ "bundled": true,
+ "dev": true
+ },
+ "cli-table2": {
+ "version": "0.2.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "colors": "1.1.2",
+ "lodash": "3.10.1",
+ "string-width": "1.0.2"
+ },
+ "dependencies": {
+ "colors": {
+ "version": "1.1.2",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "lodash": {
+ "version": "3.10.1",
+ "bundled": true,
+ "dev": true
+ },
+ "string-width": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "code-point-at": "1.1.0",
+ "is-fullwidth-code-point": "1.0.0",
+ "strip-ansi": "3.0.1"
+ },
+ "dependencies": {
+ "code-point-at": {
+ "version": "1.1.0",
+ "bundled": true,
+ "dev": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "number-is-nan": "1.0.1"
+ },
+ "dependencies": {
+ "number-is-nan": {
+ "version": "1.0.1",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "ansi-regex": "2.1.1"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "2.1.1",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "cmd-shim": {
+ "version": "2.0.2",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11",
+ "mkdirp": "0.5.1"
+ }
+ },
+ "columnify": {
+ "version": "1.5.4",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "strip-ansi": "3.0.1",
+ "wcwidth": "1.0.1"
+ },
+ "dependencies": {
+ "strip-ansi": {
+ "version": "3.0.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "ansi-regex": "2.1.1"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "2.1.1",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
+ "wcwidth": {
+ "version": "1.0.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "defaults": "1.0.3"
+ },
+ "dependencies": {
+ "defaults": {
+ "version": "1.0.3",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "clone": "1.0.2"
+ },
+ "dependencies": {
+ "clone": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "config-chain": {
+ "version": "1.1.11",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "ini": "1.3.4",
+ "proto-list": "1.2.4"
+ },
+ "dependencies": {
+ "proto-list": {
+ "version": "1.2.4",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
+ "debuglog": {
+ "version": "1.0.1",
+ "bundled": true,
+ "dev": true
+ },
+ "detect-indent": {
+ "version": "5.0.0",
+ "bundled": true,
+ "dev": true
+ },
+ "dezalgo": {
+ "version": "1.0.3",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "asap": "2.0.5",
+ "wrappy": "1.0.2"
+ },
+ "dependencies": {
+ "asap": {
+ "version": "2.0.5",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
+ "editor": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true
+ },
+ "fs-vacuum": {
+ "version": "1.2.10",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11",
+ "path-is-inside": "1.0.2",
+ "rimraf": "2.6.2"
+ }
+ },
+ "fs-write-stream-atomic": {
+ "version": "1.0.10",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11",
+ "iferr": "0.1.5",
+ "imurmurhash": "0.1.4",
+ "readable-stream": "2.3.3"
+ }
+ },
+ "glob": {
+ "version": "7.1.2",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "fs.realpath": "1.0.0",
+ "inflight": "1.0.6",
+ "inherits": "2.0.3",
+ "minimatch": "3.0.4",
+ "once": "1.4.0",
+ "path-is-absolute": "1.0.1"
+ },
+ "dependencies": {
+ "fs.realpath": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true
+ },
+ "minimatch": {
+ "version": "3.0.4",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "brace-expansion": "1.1.8"
+ },
+ "dependencies": {
+ "brace-expansion": {
+ "version": "1.1.8",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "balanced-match": "1.0.0",
+ "concat-map": "0.0.1"
+ },
+ "dependencies": {
+ "balanced-match": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true
+ },
+ "concat-map": {
+ "version": "0.0.1",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ }
+ }
+ },
+ "path-is-absolute": {
+ "version": "1.0.1",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
+ "graceful-fs": {
+ "version": "4.1.11",
+ "bundled": true,
+ "dev": true
+ },
+ "has-unicode": {
+ "version": "2.0.1",
+ "bundled": true,
+ "dev": true
+ },
+ "hosted-git-info": {
+ "version": "2.5.0",
+ "bundled": true,
+ "dev": true
+ },
+ "iferr": {
+ "version": "0.1.5",
+ "bundled": true,
+ "dev": true
+ },
+ "imurmurhash": {
+ "version": "0.1.4",
+ "bundled": true,
+ "dev": true
+ },
+ "inflight": {
+ "version": "1.0.6",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "once": "1.4.0",
+ "wrappy": "1.0.2"
+ }
+ },
+ "inherits": {
+ "version": "2.0.3",
+ "bundled": true,
+ "dev": true
+ },
+ "ini": {
+ "version": "1.3.4",
+ "bundled": true,
+ "dev": true
+ },
+ "init-package-json": {
+ "version": "1.10.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "glob": "7.1.2",
+ "npm-package-arg": "5.1.2",
+ "promzard": "0.3.0",
+ "read": "1.0.7",
+ "read-package-json": "2.0.12",
+ "semver": "5.4.1",
+ "validate-npm-package-license": "3.0.1",
+ "validate-npm-package-name": "3.0.0"
+ },
+ "dependencies": {
+ "promzard": {
+ "version": "0.3.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "read": "1.0.7"
+ }
+ }
+ }
+ },
+ "is-cidr": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "cidr-regex": "1.0.6"
+ },
+ "dependencies": {
+ "cidr-regex": {
+ "version": "1.0.6",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
+ "lazy-property": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true
+ },
+ "libnpx": {
+ "version": "9.6.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "dotenv": "4.0.0",
+ "npm-package-arg": "5.1.2",
+ "rimraf": "2.6.2",
+ "safe-buffer": "5.1.1",
+ "update-notifier": "2.2.0",
+ "which": "1.3.0",
+ "y18n": "3.2.1",
+ "yargs": "8.0.2"
+ },
+ "dependencies": {
+ "dotenv": {
+ "version": "4.0.0",
+ "bundled": true,
+ "dev": true
+ },
+ "y18n": {
+ "version": "3.2.1",
+ "bundled": true,
+ "dev": true
+ },
+ "yargs": {
+ "version": "8.0.2",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "camelcase": "4.1.0",
+ "cliui": "3.2.0",
+ "decamelize": "1.2.0",
+ "get-caller-file": "1.0.2",
+ "os-locale": "2.1.0",
+ "read-pkg-up": "2.0.0",
+ "require-directory": "2.1.1",
+ "require-main-filename": "1.0.1",
+ "set-blocking": "2.0.0",
+ "string-width": "2.1.1",
+ "which-module": "2.0.0",
+ "y18n": "3.2.1",
+ "yargs-parser": "7.0.0"
+ },
+ "dependencies": {
+ "camelcase": {
+ "version": "4.1.0",
+ "bundled": true,
+ "dev": true
+ },
+ "cliui": {
+ "version": "3.2.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "string-width": "1.0.2",
+ "strip-ansi": "3.0.1",
+ "wrap-ansi": "2.1.0"
+ },
+ "dependencies": {
+ "string-width": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "code-point-at": "1.1.0",
+ "is-fullwidth-code-point": "1.0.0",
+ "strip-ansi": "3.0.1"
+ },
+ "dependencies": {
+ "code-point-at": {
+ "version": "1.1.0",
+ "bundled": true,
+ "dev": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "number-is-nan": "1.0.1"
+ },
+ "dependencies": {
+ "number-is-nan": {
+ "version": "1.0.1",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ }
+ }
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "ansi-regex": "2.1.1"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "2.1.1",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
+ "wrap-ansi": {
+ "version": "2.1.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "string-width": "1.0.2",
+ "strip-ansi": "3.0.1"
+ }
+ }
+ }
+ },
+ "decamelize": {
+ "version": "1.2.0",
+ "bundled": true,
+ "dev": true
+ },
+ "get-caller-file": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true
+ },
+ "os-locale": {
+ "version": "2.1.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "execa": "0.7.0",
+ "lcid": "1.0.0",
+ "mem": "1.1.0"
+ },
+ "dependencies": {
+ "execa": {
+ "version": "0.7.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "cross-spawn": "5.1.0",
+ "get-stream": "3.0.0",
+ "is-stream": "1.1.0",
+ "npm-run-path": "2.0.2",
+ "p-finally": "1.0.0",
+ "signal-exit": "3.0.2",
+ "strip-eof": "1.0.0"
+ },
+ "dependencies": {
+ "cross-spawn": {
+ "version": "5.1.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "lru-cache": "4.1.1",
+ "shebang-command": "1.2.0",
+ "which": "1.3.0"
+ },
+ "dependencies": {
+ "shebang-command": {
+ "version": "1.2.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "shebang-regex": "1.0.0"
+ },
+ "dependencies": {
+ "shebang-regex": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ }
+ }
+ },
+ "get-stream": {
+ "version": "3.0.0",
+ "bundled": true,
+ "dev": true
+ },
+ "is-stream": {
+ "version": "1.1.0",
+ "bundled": true,
+ "dev": true
+ },
+ "npm-run-path": {
+ "version": "2.0.2",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "path-key": "2.0.1"
+ },
+ "dependencies": {
+ "path-key": {
+ "version": "2.0.1",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
+ "p-finally": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true
+ },
+ "signal-exit": {
+ "version": "3.0.2",
+ "bundled": true,
+ "dev": true
+ },
+ "strip-eof": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
+ "lcid": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "invert-kv": "1.0.0"
+ },
+ "dependencies": {
+ "invert-kv": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
+ "mem": {
+ "version": "1.1.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "mimic-fn": "1.1.0"
+ },
+ "dependencies": {
+ "mimic-fn": {
+ "version": "1.1.0",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ }
+ }
+ },
+ "read-pkg-up": {
+ "version": "2.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "find-up": "2.1.0",
+ "read-pkg": "2.0.0"
+ },
+ "dependencies": {
+ "find-up": {
+ "version": "2.1.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "locate-path": "2.0.0"
+ },
+ "dependencies": {
+ "locate-path": {
+ "version": "2.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "p-locate": "2.0.0",
+ "path-exists": "3.0.0"
+ },
+ "dependencies": {
+ "p-locate": {
+ "version": "2.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "p-limit": "1.1.0"
+ },
+ "dependencies": {
+ "p-limit": {
+ "version": "1.1.0",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
+ "path-exists": {
+ "version": "3.0.0",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ }
+ }
+ },
+ "read-pkg": {
+ "version": "2.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "load-json-file": "2.0.0",
+ "normalize-package-data": "2.4.0",
+ "path-type": "2.0.0"
+ },
+ "dependencies": {
+ "load-json-file": {
+ "version": "2.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11",
+ "parse-json": "2.2.0",
+ "pify": "2.3.0",
+ "strip-bom": "3.0.0"
+ },
+ "dependencies": {
+ "parse-json": {
+ "version": "2.2.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "error-ex": "1.3.1"
+ },
+ "dependencies": {
+ "error-ex": {
+ "version": "1.3.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "is-arrayish": "0.2.1"
+ },
+ "dependencies": {
+ "is-arrayish": {
+ "version": "0.2.1",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ }
+ }
+ },
+ "pify": {
+ "version": "2.3.0",
+ "bundled": true,
+ "dev": true
+ },
+ "strip-bom": {
+ "version": "3.0.0",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
+ "path-type": {
+ "version": "2.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "pify": "2.3.0"
+ },
+ "dependencies": {
+ "pify": {
+ "version": "2.3.0",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "require-directory": {
+ "version": "2.1.1",
+ "bundled": true,
+ "dev": true
+ },
+ "require-main-filename": {
+ "version": "1.0.1",
+ "bundled": true,
+ "dev": true
+ },
+ "set-blocking": {
+ "version": "2.0.0",
+ "bundled": true,
+ "dev": true
+ },
+ "string-width": {
+ "version": "2.1.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "is-fullwidth-code-point": "2.0.0",
+ "strip-ansi": "4.0.0"
+ },
+ "dependencies": {
+ "is-fullwidth-code-point": {
+ "version": "2.0.0",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
+ "which-module": {
+ "version": "2.0.0",
+ "bundled": true,
+ "dev": true
+ },
+ "yargs-parser": {
+ "version": "7.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "camelcase": "4.1.0"
+ }
+ }
+ }
+ }
+ }
+ },
+ "lockfile": {
+ "version": "1.0.3",
+ "bundled": true,
+ "dev": true
+ },
+ "lodash._baseindexof": {
+ "version": "3.1.0",
+ "bundled": true,
+ "dev": true
+ },
+ "lodash._baseuniq": {
+ "version": "4.6.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "lodash._createset": "4.0.3",
+ "lodash._root": "3.0.1"
+ },
+ "dependencies": {
+ "lodash._createset": {
+ "version": "4.0.3",
+ "bundled": true,
+ "dev": true
+ },
+ "lodash._root": {
+ "version": "3.0.1",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
+ "lodash._bindcallback": {
+ "version": "3.0.1",
+ "bundled": true,
+ "dev": true
+ },
+ "lodash._cacheindexof": {
+ "version": "3.0.2",
+ "bundled": true,
+ "dev": true
+ },
+ "lodash._createcache": {
+ "version": "3.1.2",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "lodash._getnative": "3.9.1"
+ }
+ },
+ "lodash._getnative": {
+ "version": "3.9.1",
+ "bundled": true,
+ "dev": true
+ },
+ "lodash.clonedeep": {
+ "version": "4.5.0",
+ "bundled": true,
+ "dev": true
+ },
+ "lodash.restparam": {
+ "version": "3.6.1",
+ "bundled": true,
+ "dev": true
+ },
+ "lodash.union": {
+ "version": "4.6.0",
+ "bundled": true,
+ "dev": true
+ },
+ "lodash.uniq": {
+ "version": "4.5.0",
+ "bundled": true,
+ "dev": true
+ },
+ "lodash.without": {
+ "version": "4.4.0",
+ "bundled": true,
+ "dev": true
+ },
+ "lru-cache": {
+ "version": "4.1.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "pseudomap": "1.0.2",
+ "yallist": "2.1.2"
+ },
+ "dependencies": {
+ "pseudomap": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true
+ },
+ "yallist": {
+ "version": "2.1.2",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
+ "meant": {
+ "version": "1.0.1",
+ "bundled": true,
+ "dev": true
+ },
+ "mississippi": {
+ "version": "1.3.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "concat-stream": "1.6.0",
+ "duplexify": "3.5.0",
+ "end-of-stream": "1.4.0",
+ "flush-write-stream": "1.0.2",
+ "from2": "2.3.0",
+ "parallel-transform": "1.1.0",
+ "pump": "1.0.2",
+ "pumpify": "1.3.5",
+ "stream-each": "1.2.0",
+ "through2": "2.0.3"
+ },
+ "dependencies": {
+ "concat-stream": {
+ "version": "1.6.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "inherits": "2.0.3",
+ "readable-stream": "2.3.3",
+ "typedarray": "0.0.6"
+ },
+ "dependencies": {
+ "typedarray": {
+ "version": "0.0.6",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
+ "duplexify": {
+ "version": "3.5.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "end-of-stream": "1.0.0",
+ "inherits": "2.0.3",
+ "readable-stream": "2.3.3",
+ "stream-shift": "1.0.0"
+ },
+ "dependencies": {
+ "end-of-stream": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "once": "1.3.3"
+ },
+ "dependencies": {
+ "once": {
+ "version": "1.3.3",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "wrappy": "1.0.2"
+ }
+ }
+ }
+ },
+ "stream-shift": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
+ "end-of-stream": {
+ "version": "1.4.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "once": "1.4.0"
+ }
+ },
+ "flush-write-stream": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "inherits": "2.0.3",
+ "readable-stream": "2.3.3"
+ }
+ },
+ "from2": {
+ "version": "2.3.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "inherits": "2.0.3",
+ "readable-stream": "2.3.3"
+ }
+ },
+ "parallel-transform": {
+ "version": "1.1.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "cyclist": "0.2.2",
+ "inherits": "2.0.3",
+ "readable-stream": "2.3.3"
+ },
+ "dependencies": {
+ "cyclist": {
+ "version": "0.2.2",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
+ "pump": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "end-of-stream": "1.4.0",
+ "once": "1.4.0"
+ }
+ },
+ "pumpify": {
+ "version": "1.3.5",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "duplexify": "3.5.0",
+ "inherits": "2.0.3",
+ "pump": "1.0.2"
+ }
+ },
+ "stream-each": {
+ "version": "1.2.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "end-of-stream": "1.4.0",
+ "stream-shift": "1.0.0"
+ },
+ "dependencies": {
+ "stream-shift": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
+ "through2": {
+ "version": "2.0.3",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "readable-stream": "2.3.3",
+ "xtend": "4.0.1"
+ },
+ "dependencies": {
+ "xtend": {
+ "version": "4.0.1",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ }
+ }
+ },
+ "mkdirp": {
+ "version": "0.5.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "minimist": "0.0.8"
+ },
+ "dependencies": {
+ "minimist": {
+ "version": "0.0.8",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
+ "move-concurrently": {
+ "version": "1.0.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "aproba": "1.2.0",
+ "copy-concurrently": "1.0.3",
+ "fs-write-stream-atomic": "1.0.10",
+ "mkdirp": "0.5.1",
+ "rimraf": "2.6.2",
+ "run-queue": "1.0.3"
+ },
+ "dependencies": {
+ "copy-concurrently": {
+ "version": "1.0.3",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "aproba": "1.2.0",
+ "fs-write-stream-atomic": "1.0.10",
+ "iferr": "0.1.5",
+ "mkdirp": "0.5.1",
+ "rimraf": "2.6.2",
+ "run-queue": "1.0.3"
+ }
+ },
+ "run-queue": {
+ "version": "1.0.3",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "aproba": "1.2.0"
+ }
+ }
+ }
+ },
+ "node-gyp": {
+ "version": "3.6.2",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "fstream": "1.0.11",
+ "glob": "7.1.2",
+ "graceful-fs": "4.1.11",
+ "minimatch": "3.0.4",
+ "mkdirp": "0.5.1",
+ "nopt": "3.0.6",
+ "npmlog": "4.1.2",
+ "osenv": "0.1.4",
+ "request": "2.83.0",
+ "rimraf": "2.6.2",
+ "semver": "5.3.0",
+ "tar": "2.2.1",
+ "which": "1.3.0"
+ },
+ "dependencies": {
+ "fstream": {
+ "version": "1.0.11",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11",
+ "inherits": "2.0.3",
+ "mkdirp": "0.5.1",
+ "rimraf": "2.6.2"
+ }
+ },
+ "minimatch": {
+ "version": "3.0.4",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "brace-expansion": "1.1.8"
+ },
+ "dependencies": {
+ "brace-expansion": {
+ "version": "1.1.8",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "balanced-match": "1.0.0",
+ "concat-map": "0.0.1"
+ },
+ "dependencies": {
+ "balanced-match": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true
+ },
+ "concat-map": {
+ "version": "0.0.1",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ }
+ }
+ },
+ "nopt": {
+ "version": "3.0.6",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "abbrev": "1.1.1"
+ }
+ },
+ "semver": {
+ "version": "5.3.0",
+ "bundled": true,
+ "dev": true
+ },
+ "tar": {
+ "version": "2.2.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "block-stream": "0.0.9",
+ "fstream": "1.0.11",
+ "inherits": "2.0.3"
+ },
+ "dependencies": {
+ "block-stream": {
+ "version": "0.0.9",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "inherits": "2.0.3"
+ }
+ }
+ }
+ }
+ }
+ },
+ "nopt": {
+ "version": "4.0.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "abbrev": "1.1.1",
+ "osenv": "0.1.4"
+ }
+ },
+ "normalize-package-data": {
+ "version": "2.4.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "hosted-git-info": "2.5.0",
+ "is-builtin-module": "1.0.0",
+ "semver": "5.4.1",
+ "validate-npm-package-license": "3.0.1"
+ },
+ "dependencies": {
+ "is-builtin-module": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "builtin-modules": "1.1.1"
+ },
+ "dependencies": {
+ "builtin-modules": {
+ "version": "1.1.1",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ }
+ }
+ },
+ "npm-cache-filename": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true
+ },
+ "npm-install-checks": {
+ "version": "3.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "semver": "5.4.1"
+ }
+ },
+ "npm-lifecycle": {
+ "version": "1.0.3",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11",
+ "slide": "1.1.6",
+ "uid-number": "0.0.6",
+ "umask": "1.1.0",
+ "which": "1.3.0"
+ }
+ },
+ "npm-package-arg": {
+ "version": "5.1.2",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "hosted-git-info": "2.5.0",
+ "osenv": "0.1.4",
+ "semver": "5.4.1",
+ "validate-npm-package-name": "3.0.0"
+ }
+ },
+ "npm-packlist": {
+ "version": "1.1.9",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "ignore-walk": "3.0.0",
+ "npm-bundled": "1.0.3"
+ },
+ "dependencies": {
+ "ignore-walk": {
+ "version": "3.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "minimatch": "3.0.4"
+ },
+ "dependencies": {
+ "minimatch": {
+ "version": "3.0.4",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "brace-expansion": "1.1.8"
+ },
+ "dependencies": {
+ "brace-expansion": {
+ "version": "1.1.8",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "balanced-match": "1.0.0",
+ "concat-map": "0.0.1"
+ },
+ "dependencies": {
+ "balanced-match": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true
+ },
+ "concat-map": {
+ "version": "0.0.1",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "npm-bundled": {
+ "version": "1.0.3",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
+ "npm-profile": {
+ "version": "2.0.4",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "aproba": "1.2.0",
+ "make-fetch-happen": "2.5.0"
+ },
+ "dependencies": {
+ "make-fetch-happen": {
+ "version": "2.5.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "agentkeepalive": "3.3.0",
+ "cacache": "9.2.9",
+ "http-cache-semantics": "3.7.3",
+ "http-proxy-agent": "2.0.0",
+ "https-proxy-agent": "2.1.0",
+ "lru-cache": "4.1.1",
+ "mississippi": "1.3.0",
+ "node-fetch-npm": "2.0.2",
+ "promise-retry": "1.1.1",
+ "socks-proxy-agent": "3.0.1",
+ "ssri": "4.1.6"
+ },
+ "dependencies": {
+ "agentkeepalive": {
+ "version": "3.3.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "humanize-ms": "1.2.1"
+ },
+ "dependencies": {
+ "humanize-ms": {
+ "version": "1.2.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ },
+ "dependencies": {
+ "ms": {
+ "version": "2.0.0",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ }
+ }
+ },
+ "http-cache-semantics": {
+ "version": "3.7.3",
+ "bundled": true,
+ "dev": true
+ },
+ "http-proxy-agent": {
+ "version": "2.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "agent-base": "4.1.1",
+ "debug": "2.6.9"
+ },
+ "dependencies": {
+ "agent-base": {
+ "version": "4.1.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "es6-promisify": "5.0.0"
+ },
+ "dependencies": {
+ "es6-promisify": {
+ "version": "5.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "es6-promise": "4.1.1"
+ },
+ "dependencies": {
+ "es6-promise": {
+ "version": "4.1.1",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ }
+ }
+ },
+ "debug": {
+ "version": "2.6.9",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ },
+ "dependencies": {
+ "ms": {
+ "version": "2.0.0",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ }
+ }
+ },
+ "https-proxy-agent": {
+ "version": "2.1.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "agent-base": "4.1.1",
+ "debug": "2.6.9"
+ },
+ "dependencies": {
+ "agent-base": {
+ "version": "4.1.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "es6-promisify": "5.0.0"
+ },
+ "dependencies": {
+ "es6-promisify": {
+ "version": "5.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "es6-promise": "4.1.1"
+ },
+ "dependencies": {
+ "es6-promise": {
+ "version": "4.1.1",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ }
+ }
+ },
+ "debug": {
+ "version": "2.6.9",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ },
+ "dependencies": {
+ "ms": {
+ "version": "2.0.0",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ }
+ }
+ },
+ "node-fetch-npm": {
+ "version": "2.0.2",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "encoding": "0.1.12",
+ "json-parse-better-errors": "1.0.1",
+ "safe-buffer": "5.1.1"
+ },
+ "dependencies": {
+ "encoding": {
+ "version": "0.1.12",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "iconv-lite": "0.4.19"
+ },
+ "dependencies": {
+ "iconv-lite": {
+ "version": "0.4.19",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
+ "json-parse-better-errors": {
+ "version": "1.0.1",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
+ "promise-retry": {
+ "version": "1.1.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "err-code": "1.1.2",
+ "retry": "0.10.1"
+ },
+ "dependencies": {
+ "err-code": {
+ "version": "1.1.2",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
+ "socks-proxy-agent": {
+ "version": "3.0.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "agent-base": "4.1.1",
+ "socks": "1.1.10"
+ },
+ "dependencies": {
+ "agent-base": {
+ "version": "4.1.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "es6-promisify": "5.0.0"
+ },
+ "dependencies": {
+ "es6-promisify": {
+ "version": "5.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "es6-promise": "4.1.1"
+ },
+ "dependencies": {
+ "es6-promise": {
+ "version": "4.1.1",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ }
+ }
+ },
+ "socks": {
+ "version": "1.1.10",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "ip": "1.1.5",
+ "smart-buffer": "1.1.15"
+ },
+ "dependencies": {
+ "ip": {
+ "version": "1.1.5",
+ "bundled": true,
+ "dev": true
+ },
+ "smart-buffer": {
+ "version": "1.1.15",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "npm-registry-client": {
+ "version": "8.5.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "concat-stream": "1.6.0",
+ "graceful-fs": "4.1.11",
+ "normalize-package-data": "2.4.0",
+ "npm-package-arg": "5.1.2",
+ "npmlog": "4.1.2",
+ "once": "1.4.0",
+ "request": "2.83.0",
+ "retry": "0.10.1",
+ "semver": "5.4.1",
+ "slide": "1.1.6",
+ "ssri": "4.1.6"
+ },
+ "dependencies": {
+ "concat-stream": {
+ "version": "1.6.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "inherits": "2.0.3",
+ "readable-stream": "2.3.3",
+ "typedarray": "0.0.6"
+ },
+ "dependencies": {
+ "typedarray": {
+ "version": "0.0.6",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ }
+ }
+ },
+ "npm-user-validate": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true
+ },
+ "npmlog": {
+ "version": "4.1.2",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "are-we-there-yet": "1.1.4",
+ "console-control-strings": "1.1.0",
+ "gauge": "2.7.4",
+ "set-blocking": "2.0.0"
+ },
+ "dependencies": {
+ "are-we-there-yet": {
+ "version": "1.1.4",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "delegates": "1.0.0",
+ "readable-stream": "2.3.3"
+ },
+ "dependencies": {
+ "delegates": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
+ "console-control-strings": {
+ "version": "1.1.0",
+ "bundled": true,
+ "dev": true
+ },
+ "gauge": {
+ "version": "2.7.4",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "aproba": "1.2.0",
+ "console-control-strings": "1.1.0",
+ "has-unicode": "2.0.1",
+ "object-assign": "4.1.1",
+ "signal-exit": "3.0.2",
+ "string-width": "1.0.2",
+ "strip-ansi": "3.0.1",
+ "wide-align": "1.1.2"
+ },
+ "dependencies": {
+ "object-assign": {
+ "version": "4.1.1",
+ "bundled": true,
+ "dev": true
+ },
+ "signal-exit": {
+ "version": "3.0.2",
+ "bundled": true,
+ "dev": true
+ },
+ "string-width": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "code-point-at": "1.1.0",
+ "is-fullwidth-code-point": "1.0.0",
+ "strip-ansi": "3.0.1"
+ },
+ "dependencies": {
+ "code-point-at": {
+ "version": "1.1.0",
+ "bundled": true,
+ "dev": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "number-is-nan": "1.0.1"
+ },
+ "dependencies": {
+ "number-is-nan": {
+ "version": "1.0.1",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ }
+ }
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "ansi-regex": "2.1.1"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "2.1.1",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
+ "wide-align": {
+ "version": "1.1.2",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "string-width": "1.0.2"
+ }
+ }
+ }
+ },
+ "set-blocking": {
+ "version": "2.0.0",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
+ "once": {
+ "version": "1.4.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "wrappy": "1.0.2"
+ }
+ },
+ "opener": {
+ "version": "1.4.3",
+ "bundled": true,
+ "dev": true
+ },
+ "osenv": {
+ "version": "0.1.4",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "os-homedir": "1.0.2",
+ "os-tmpdir": "1.0.2"
+ },
+ "dependencies": {
+ "os-homedir": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true
+ },
+ "os-tmpdir": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
+ "pacote": {
+ "version": "6.0.2",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "bluebird": "3.5.0",
+ "cacache": "9.2.9",
+ "glob": "7.1.2",
+ "lru-cache": "4.1.1",
+ "make-fetch-happen": "2.5.0",
+ "minimatch": "3.0.4",
+ "mississippi": "1.3.0",
+ "normalize-package-data": "2.4.0",
+ "npm-package-arg": "5.1.2",
+ "npm-packlist": "1.1.9",
+ "npm-pick-manifest": "1.0.4",
+ "osenv": "0.1.4",
+ "promise-inflight": "1.0.1",
+ "promise-retry": "1.1.1",
+ "protoduck": "4.0.0",
+ "safe-buffer": "5.1.1",
+ "semver": "5.4.1",
+ "ssri": "4.1.6",
+ "tar": "4.0.1",
+ "unique-filename": "1.1.0",
+ "which": "1.3.0"
+ },
+ "dependencies": {
+ "make-fetch-happen": {
+ "version": "2.5.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "agentkeepalive": "3.3.0",
+ "cacache": "9.2.9",
+ "http-cache-semantics": "3.7.3",
+ "http-proxy-agent": "2.0.0",
+ "https-proxy-agent": "2.1.0",
+ "lru-cache": "4.1.1",
+ "mississippi": "1.3.0",
+ "node-fetch-npm": "2.0.2",
+ "promise-retry": "1.1.1",
+ "socks-proxy-agent": "3.0.0",
+ "ssri": "4.1.6"
+ },
+ "dependencies": {
+ "agentkeepalive": {
+ "version": "3.3.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "humanize-ms": "1.2.1"
+ },
+ "dependencies": {
+ "humanize-ms": {
+ "version": "1.2.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ },
+ "dependencies": {
+ "ms": {
+ "version": "2.0.0",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ }
+ }
+ },
+ "http-cache-semantics": {
+ "version": "3.7.3",
+ "bundled": true,
+ "dev": true
+ },
+ "http-proxy-agent": {
+ "version": "2.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "agent-base": "4.1.1",
+ "debug": "2.6.8"
+ },
+ "dependencies": {
+ "agent-base": {
+ "version": "4.1.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "es6-promisify": "5.0.0"
+ },
+ "dependencies": {
+ "es6-promisify": {
+ "version": "5.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "es6-promise": "4.1.1"
+ },
+ "dependencies": {
+ "es6-promise": {
+ "version": "4.1.1",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ }
+ }
+ },
+ "debug": {
+ "version": "2.6.8",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ },
+ "dependencies": {
+ "ms": {
+ "version": "2.0.0",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ }
+ }
+ },
+ "https-proxy-agent": {
+ "version": "2.1.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "agent-base": "4.1.1",
+ "debug": "2.6.8"
+ },
+ "dependencies": {
+ "agent-base": {
+ "version": "4.1.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "es6-promisify": "5.0.0"
+ },
+ "dependencies": {
+ "es6-promisify": {
+ "version": "5.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "es6-promise": "4.1.1"
+ },
+ "dependencies": {
+ "es6-promise": {
+ "version": "4.1.1",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ }
+ }
+ },
+ "debug": {
+ "version": "2.6.8",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ },
+ "dependencies": {
+ "ms": {
+ "version": "2.0.0",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ }
+ }
+ },
+ "node-fetch-npm": {
+ "version": "2.0.2",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "encoding": "0.1.12",
+ "json-parse-better-errors": "1.0.1",
+ "safe-buffer": "5.1.1"
+ },
+ "dependencies": {
+ "encoding": {
+ "version": "0.1.12",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "iconv-lite": "0.4.18"
+ },
+ "dependencies": {
+ "iconv-lite": {
+ "version": "0.4.18",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
+ "json-parse-better-errors": {
+ "version": "1.0.1",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
+ "socks-proxy-agent": {
+ "version": "3.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "agent-base": "4.1.1",
+ "socks": "1.1.10"
+ },
+ "dependencies": {
+ "agent-base": {
+ "version": "4.1.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "es6-promisify": "5.0.0"
+ },
+ "dependencies": {
+ "es6-promisify": {
+ "version": "5.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "es6-promise": "4.1.1"
+ },
+ "dependencies": {
+ "es6-promise": {
+ "version": "4.1.1",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ }
+ }
+ },
+ "socks": {
+ "version": "1.1.10",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "ip": "1.1.5",
+ "smart-buffer": "1.1.15"
+ },
+ "dependencies": {
+ "ip": {
+ "version": "1.1.5",
+ "bundled": true,
+ "dev": true
+ },
+ "smart-buffer": {
+ "version": "1.1.15",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "minimatch": {
+ "version": "3.0.4",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "brace-expansion": "1.1.8"
+ },
+ "dependencies": {
+ "brace-expansion": {
+ "version": "1.1.8",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "balanced-match": "1.0.0",
+ "concat-map": "0.0.1"
+ },
+ "dependencies": {
+ "balanced-match": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true
+ },
+ "concat-map": {
+ "version": "0.0.1",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ }
+ }
+ },
+ "npm-pick-manifest": {
+ "version": "1.0.4",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "npm-package-arg": "5.1.2",
+ "semver": "5.4.1"
+ }
+ },
+ "promise-retry": {
+ "version": "1.1.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "err-code": "1.1.2",
+ "retry": "0.10.1"
+ },
+ "dependencies": {
+ "err-code": {
+ "version": "1.1.2",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
+ "protoduck": {
+ "version": "4.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "genfun": "4.0.1"
+ },
+ "dependencies": {
+ "genfun": {
+ "version": "4.0.1",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ }
+ }
+ },
+ "path-is-inside": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true
+ },
+ "promise-inflight": {
+ "version": "1.0.1",
+ "bundled": true,
+ "dev": true
+ },
+ "qrcode-terminal": {
+ "version": "0.11.0",
+ "bundled": true,
+ "dev": true
+ },
+ "query-string": {
+ "version": "5.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "decode-uri-component": "0.2.0",
+ "object-assign": "4.1.1",
+ "strict-uri-encode": "1.1.0"
+ },
+ "dependencies": {
+ "decode-uri-component": {
+ "version": "0.2.0",
+ "bundled": true,
+ "dev": true
+ },
+ "object-assign": {
+ "version": "4.1.1",
+ "bundled": true,
+ "dev": true
+ },
+ "strict-uri-encode": {
+ "version": "1.1.0",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
+ "qw": {
+ "version": "1.0.1",
+ "bundled": true,
+ "dev": true
+ },
+ "read": {
+ "version": "1.0.7",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "mute-stream": "0.0.7"
+ },
+ "dependencies": {
+ "mute-stream": {
+ "version": "0.0.7",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
+ "read-cmd-shim": {
+ "version": "1.0.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11"
+ }
+ },
+ "read-installed": {
+ "version": "4.0.3",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "debuglog": "1.0.1",
+ "graceful-fs": "4.1.11",
+ "read-package-json": "2.0.12",
+ "readdir-scoped-modules": "1.0.2",
+ "semver": "5.4.1",
+ "slide": "1.1.6",
+ "util-extend": "1.0.3"
+ },
+ "dependencies": {
+ "util-extend": {
+ "version": "1.0.3",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
+ "read-package-json": {
+ "version": "2.0.12",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "glob": "7.1.2",
+ "graceful-fs": "4.1.11",
+ "json-parse-better-errors": "1.0.1",
+ "normalize-package-data": "2.4.0",
+ "slash": "1.0.0"
+ },
+ "dependencies": {
+ "json-parse-better-errors": {
+ "version": "1.0.1",
+ "bundled": true,
+ "dev": true
+ },
+ "slash": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
+ "read-package-tree": {
+ "version": "5.1.6",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "debuglog": "1.0.1",
+ "dezalgo": "1.0.3",
+ "once": "1.4.0",
+ "read-package-json": "2.0.12",
+ "readdir-scoped-modules": "1.0.2"
+ }
+ },
+ "readable-stream": {
+ "version": "2.3.3",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "1.0.0",
+ "process-nextick-args": "1.0.7",
+ "safe-buffer": "5.1.1",
+ "string_decoder": "1.0.3",
+ "util-deprecate": "1.0.2"
+ },
+ "dependencies": {
+ "core-util-is": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true
+ },
+ "isarray": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true
+ },
+ "process-nextick-args": {
+ "version": "1.0.7",
+ "bundled": true,
+ "dev": true
+ },
+ "string_decoder": {
+ "version": "1.0.3",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "safe-buffer": "5.1.1"
+ }
+ },
+ "util-deprecate": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
+ "readdir-scoped-modules": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "debuglog": "1.0.1",
+ "dezalgo": "1.0.3",
+ "graceful-fs": "4.1.11",
+ "once": "1.4.0"
+ }
+ },
+ "request": {
+ "version": "2.83.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "aws-sign2": "0.7.0",
+ "aws4": "1.6.0",
+ "caseless": "0.12.0",
+ "combined-stream": "1.0.5",
+ "extend": "3.0.1",
+ "forever-agent": "0.6.1",
+ "form-data": "2.3.1",
+ "har-validator": "5.0.3",
+ "hawk": "6.0.2",
+ "http-signature": "1.2.0",
+ "is-typedarray": "1.0.0",
+ "isstream": "0.1.2",
+ "json-stringify-safe": "5.0.1",
+ "mime-types": "2.1.17",
+ "oauth-sign": "0.8.2",
+ "performance-now": "2.1.0",
+ "qs": "6.5.1",
+ "safe-buffer": "5.1.1",
+ "stringstream": "0.0.5",
+ "tough-cookie": "2.3.3",
+ "tunnel-agent": "0.6.0",
+ "uuid": "3.1.0"
+ },
+ "dependencies": {
+ "aws-sign2": {
+ "version": "0.7.0",
+ "bundled": true,
+ "dev": true
+ },
+ "aws4": {
+ "version": "1.6.0",
+ "bundled": true,
+ "dev": true
+ },
+ "caseless": {
+ "version": "0.12.0",
+ "bundled": true,
+ "dev": true
+ },
+ "combined-stream": {
+ "version": "1.0.5",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "delayed-stream": "1.0.0"
+ },
+ "dependencies": {
+ "delayed-stream": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
+ "extend": {
+ "version": "3.0.1",
+ "bundled": true,
+ "dev": true
+ },
+ "forever-agent": {
+ "version": "0.6.1",
+ "bundled": true,
+ "dev": true
+ },
+ "form-data": {
+ "version": "2.3.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "asynckit": "0.4.0",
+ "combined-stream": "1.0.5",
+ "mime-types": "2.1.17"
+ },
+ "dependencies": {
+ "asynckit": {
+ "version": "0.4.0",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
+ "har-validator": {
+ "version": "5.0.3",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "ajv": "5.2.3",
+ "har-schema": "2.0.0"
+ },
+ "dependencies": {
+ "ajv": {
+ "version": "5.2.3",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "co": "4.6.0",
+ "fast-deep-equal": "1.0.0",
+ "json-schema-traverse": "0.3.1",
+ "json-stable-stringify": "1.0.1"
+ },
+ "dependencies": {
+ "co": {
+ "version": "4.6.0",
+ "bundled": true,
+ "dev": true
+ },
+ "fast-deep-equal": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true
+ },
+ "json-schema-traverse": {
+ "version": "0.3.1",
+ "bundled": true,
+ "dev": true
+ },
+ "json-stable-stringify": {
+ "version": "1.0.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "jsonify": "0.0.0"
+ },
+ "dependencies": {
+ "jsonify": {
+ "version": "0.0.0",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ }
+ }
+ },
+ "har-schema": {
+ "version": "2.0.0",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
+ "hawk": {
+ "version": "6.0.2",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "boom": "4.3.1",
+ "cryptiles": "3.1.2",
+ "hoek": "4.2.0",
+ "sntp": "2.0.2"
+ },
+ "dependencies": {
+ "boom": {
+ "version": "4.3.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "hoek": "4.2.0"
+ }
+ },
+ "cryptiles": {
+ "version": "3.1.2",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "boom": "5.2.0"
+ },
+ "dependencies": {
+ "boom": {
+ "version": "5.2.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "hoek": "4.2.0"
+ }
+ }
+ }
+ },
+ "hoek": {
+ "version": "4.2.0",
+ "bundled": true,
+ "dev": true
+ },
+ "sntp": {
+ "version": "2.0.2",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "hoek": "4.2.0"
+ }
+ }
+ }
+ },
+ "http-signature": {
+ "version": "1.2.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "assert-plus": "1.0.0",
+ "jsprim": "1.4.1",
+ "sshpk": "1.13.1"
+ },
+ "dependencies": {
+ "assert-plus": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true
+ },
+ "jsprim": {
+ "version": "1.4.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "assert-plus": "1.0.0",
+ "extsprintf": "1.3.0",
+ "json-schema": "0.2.3",
+ "verror": "1.10.0"
+ },
+ "dependencies": {
+ "extsprintf": {
+ "version": "1.3.0",
+ "bundled": true,
+ "dev": true
+ },
+ "json-schema": {
+ "version": "0.2.3",
+ "bundled": true,
+ "dev": true
+ },
+ "verror": {
+ "version": "1.10.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "assert-plus": "1.0.0",
+ "core-util-is": "1.0.2",
+ "extsprintf": "1.3.0"
+ },
+ "dependencies": {
+ "core-util-is": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ }
+ }
+ },
+ "sshpk": {
+ "version": "1.13.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "asn1": "0.2.3",
+ "assert-plus": "1.0.0",
+ "bcrypt-pbkdf": "1.0.1",
+ "dashdash": "1.14.1",
+ "ecc-jsbn": "0.1.1",
+ "getpass": "0.1.7",
+ "jsbn": "0.1.1",
+ "tweetnacl": "0.14.5"
+ },
+ "dependencies": {
+ "asn1": {
+ "version": "0.2.3",
+ "bundled": true,
+ "dev": true
+ },
+ "bcrypt-pbkdf": {
+ "version": "1.0.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "tweetnacl": "0.14.5"
+ }
+ },
+ "dashdash": {
+ "version": "1.14.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "assert-plus": "1.0.0"
+ }
+ },
+ "ecc-jsbn": {
+ "version": "0.1.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "jsbn": "0.1.1"
+ }
+ },
+ "getpass": {
+ "version": "0.1.7",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "assert-plus": "1.0.0"
+ }
+ },
+ "jsbn": {
+ "version": "0.1.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "tweetnacl": {
+ "version": "0.14.5",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ }
+ }
+ }
+ }
+ },
+ "is-typedarray": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true
+ },
+ "isstream": {
+ "version": "0.1.2",
+ "bundled": true,
+ "dev": true
+ },
+ "json-stringify-safe": {
+ "version": "5.0.1",
+ "bundled": true,
+ "dev": true
+ },
+ "mime-types": {
+ "version": "2.1.17",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "mime-db": "1.30.0"
+ },
+ "dependencies": {
+ "mime-db": {
+ "version": "1.30.0",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
+ "oauth-sign": {
+ "version": "0.8.2",
+ "bundled": true,
+ "dev": true
+ },
+ "performance-now": {
+ "version": "2.1.0",
+ "bundled": true,
+ "dev": true
+ },
+ "qs": {
+ "version": "6.5.1",
+ "bundled": true,
+ "dev": true
+ },
+ "stringstream": {
+ "version": "0.0.5",
+ "bundled": true,
+ "dev": true
+ },
+ "tough-cookie": {
+ "version": "2.3.3",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "punycode": "1.4.1"
+ },
+ "dependencies": {
+ "punycode": {
+ "version": "1.4.1",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
+ "tunnel-agent": {
+ "version": "0.6.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "safe-buffer": "5.1.1"
+ }
+ }
+ }
+ },
+ "retry": {
+ "version": "0.10.1",
+ "bundled": true,
+ "dev": true
+ },
+ "rimraf": {
+ "version": "2.6.2",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "glob": "7.1.2"
+ }
+ },
+ "safe-buffer": {
+ "version": "5.1.1",
+ "bundled": true,
+ "dev": true
+ },
+ "semver": {
+ "version": "5.4.1",
+ "bundled": true,
+ "dev": true
+ },
+ "sha": {
+ "version": "2.0.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11",
+ "readable-stream": "2.3.3"
+ }
+ },
+ "slide": {
+ "version": "1.1.6",
+ "bundled": true,
+ "dev": true
+ },
+ "sorted-object": {
+ "version": "2.0.1",
+ "bundled": true,
+ "dev": true
+ },
+ "sorted-union-stream": {
+ "version": "2.1.3",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "from2": "1.3.0",
+ "stream-iterate": "1.2.0"
+ },
+ "dependencies": {
+ "from2": {
+ "version": "1.3.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "inherits": "2.0.3",
+ "readable-stream": "1.1.14"
+ },
+ "dependencies": {
+ "readable-stream": {
+ "version": "1.1.14",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "0.0.1",
+ "string_decoder": "0.10.31"
+ },
+ "dependencies": {
+ "core-util-is": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true
+ },
+ "isarray": {
+ "version": "0.0.1",
+ "bundled": true,
+ "dev": true
+ },
+ "string_decoder": {
+ "version": "0.10.31",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ }
+ }
+ },
+ "stream-iterate": {
+ "version": "1.2.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "readable-stream": "2.3.3",
+ "stream-shift": "1.0.0"
+ },
+ "dependencies": {
+ "stream-shift": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ }
+ }
+ },
+ "ssri": {
+ "version": "4.1.6",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "safe-buffer": "5.1.1"
+ }
+ },
+ "strip-ansi": {
+ "version": "4.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "ansi-regex": "3.0.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "3.0.0",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
+ "tar": {
+ "version": "4.0.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "chownr": "1.0.1",
+ "minipass": "2.2.1",
+ "minizlib": "1.0.3",
+ "mkdirp": "0.5.1",
+ "yallist": "3.0.2"
+ },
+ "dependencies": {
+ "minipass": {
+ "version": "2.2.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "yallist": "3.0.2"
+ }
+ },
+ "minizlib": {
+ "version": "1.0.3",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "minipass": "2.2.1"
+ }
+ },
+ "yallist": {
+ "version": "3.0.2",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
+ "text-table": {
+ "version": "0.2.0",
+ "bundled": true,
+ "dev": true
+ },
+ "uid-number": {
+ "version": "0.0.6",
+ "bundled": true,
+ "dev": true
+ },
+ "umask": {
+ "version": "1.1.0",
+ "bundled": true,
+ "dev": true
+ },
+ "unique-filename": {
+ "version": "1.1.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "unique-slug": "2.0.0"
+ },
+ "dependencies": {
+ "unique-slug": {
+ "version": "2.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "imurmurhash": "0.1.4"
+ }
+ }
+ }
+ },
+ "unpipe": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true
+ },
+ "update-notifier": {
+ "version": "2.2.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "boxen": "1.1.0",
+ "chalk": "1.1.3",
+ "configstore": "3.1.0",
+ "import-lazy": "2.1.0",
+ "is-npm": "1.0.0",
+ "latest-version": "3.1.0",
+ "semver-diff": "2.1.0",
+ "xdg-basedir": "3.0.0"
+ },
+ "dependencies": {
+ "boxen": {
+ "version": "1.1.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "ansi-align": "2.0.0",
+ "camelcase": "4.1.0",
+ "chalk": "1.1.3",
+ "cli-boxes": "1.0.0",
+ "string-width": "2.1.0",
+ "term-size": "0.1.1",
+ "widest-line": "1.0.0"
+ },
+ "dependencies": {
+ "ansi-align": {
+ "version": "2.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "string-width": "2.1.0"
+ }
+ },
+ "camelcase": {
+ "version": "4.1.0",
+ "bundled": true,
+ "dev": true
+ },
+ "cli-boxes": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true
+ },
+ "string-width": {
+ "version": "2.1.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "is-fullwidth-code-point": "2.0.0",
+ "strip-ansi": "4.0.0"
+ },
+ "dependencies": {
+ "is-fullwidth-code-point": {
+ "version": "2.0.0",
+ "bundled": true,
+ "dev": true
+ },
+ "strip-ansi": {
+ "version": "4.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "ansi-regex": "3.0.0"
+ }
+ }
+ }
+ },
+ "term-size": {
+ "version": "0.1.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "execa": "0.4.0"
+ },
+ "dependencies": {
+ "execa": {
+ "version": "0.4.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "cross-spawn-async": "2.2.5",
+ "is-stream": "1.1.0",
+ "npm-run-path": "1.0.0",
+ "object-assign": "4.1.1",
+ "path-key": "1.0.0",
+ "strip-eof": "1.0.0"
+ },
+ "dependencies": {
+ "cross-spawn-async": {
+ "version": "2.2.5",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "lru-cache": "4.1.1",
+ "which": "1.3.0"
+ }
+ },
+ "is-stream": {
+ "version": "1.1.0",
+ "bundled": true,
+ "dev": true
+ },
+ "npm-run-path": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "path-key": "1.0.0"
+ }
+ },
+ "object-assign": {
+ "version": "4.1.1",
+ "bundled": true,
+ "dev": true
+ },
+ "path-key": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true
+ },
+ "strip-eof": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ }
+ }
+ },
+ "widest-line": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "string-width": "1.0.2"
+ },
+ "dependencies": {
+ "string-width": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "code-point-at": "1.1.0",
+ "is-fullwidth-code-point": "1.0.0",
+ "strip-ansi": "3.0.1"
+ },
+ "dependencies": {
+ "code-point-at": {
+ "version": "1.1.0",
+ "bundled": true,
+ "dev": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "number-is-nan": "1.0.1"
+ },
+ "dependencies": {
+ "number-is-nan": {
+ "version": "1.0.1",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "ansi-regex": "2.1.1"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "2.1.1",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "chalk": {
+ "version": "1.1.3",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "ansi-styles": "2.2.1",
+ "escape-string-regexp": "1.0.5",
+ "has-ansi": "2.0.0",
+ "strip-ansi": "3.0.1",
+ "supports-color": "2.0.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "2.2.1",
+ "bundled": true,
+ "dev": true
+ },
+ "escape-string-regexp": {
+ "version": "1.0.5",
+ "bundled": true,
+ "dev": true
+ },
+ "has-ansi": {
+ "version": "2.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "ansi-regex": "2.1.1"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "2.1.1",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "ansi-regex": "2.1.1"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "2.1.1",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
+ "supports-color": {
+ "version": "2.0.0",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
+ "configstore": {
+ "version": "3.1.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "dot-prop": "4.1.1",
+ "graceful-fs": "4.1.11",
+ "make-dir": "1.0.0",
+ "unique-string": "1.0.0",
+ "write-file-atomic": "2.1.0",
+ "xdg-basedir": "3.0.0"
+ },
+ "dependencies": {
+ "dot-prop": {
+ "version": "4.1.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "is-obj": "1.0.1"
+ },
+ "dependencies": {
+ "is-obj": {
+ "version": "1.0.1",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
+ "make-dir": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "pify": "2.3.0"
+ },
+ "dependencies": {
+ "pify": {
+ "version": "2.3.0",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
+ "unique-string": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "crypto-random-string": "1.0.0"
+ },
+ "dependencies": {
+ "crypto-random-string": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ }
+ }
+ },
+ "import-lazy": {
+ "version": "2.1.0",
+ "bundled": true,
+ "dev": true
+ },
+ "is-npm": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true
+ },
+ "latest-version": {
+ "version": "3.1.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "package-json": "4.0.1"
+ },
+ "dependencies": {
+ "package-json": {
+ "version": "4.0.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "got": "6.7.1",
+ "registry-auth-token": "3.3.1",
+ "registry-url": "3.1.0",
+ "semver": "5.4.1"
+ },
+ "dependencies": {
+ "got": {
+ "version": "6.7.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "create-error-class": "3.0.2",
+ "duplexer3": "0.1.4",
+ "get-stream": "3.0.0",
+ "is-redirect": "1.0.0",
+ "is-retry-allowed": "1.1.0",
+ "is-stream": "1.1.0",
+ "lowercase-keys": "1.0.0",
+ "safe-buffer": "5.1.1",
+ "timed-out": "4.0.1",
+ "unzip-response": "2.0.1",
+ "url-parse-lax": "1.0.0"
+ },
+ "dependencies": {
+ "create-error-class": {
+ "version": "3.0.2",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "capture-stack-trace": "1.0.0"
+ },
+ "dependencies": {
+ "capture-stack-trace": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
+ "duplexer3": {
+ "version": "0.1.4",
+ "bundled": true,
+ "dev": true
+ },
+ "get-stream": {
+ "version": "3.0.0",
+ "bundled": true,
+ "dev": true
+ },
+ "is-redirect": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true
+ },
+ "is-retry-allowed": {
+ "version": "1.1.0",
+ "bundled": true,
+ "dev": true
+ },
+ "is-stream": {
+ "version": "1.1.0",
+ "bundled": true,
+ "dev": true
+ },
+ "lowercase-keys": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true
+ },
+ "timed-out": {
+ "version": "4.0.1",
+ "bundled": true,
+ "dev": true
+ },
+ "unzip-response": {
+ "version": "2.0.1",
+ "bundled": true,
+ "dev": true
+ },
+ "url-parse-lax": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "prepend-http": "1.0.4"
+ },
+ "dependencies": {
+ "prepend-http": {
+ "version": "1.0.4",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ }
+ }
+ },
+ "registry-auth-token": {
+ "version": "3.3.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "rc": "1.2.1",
+ "safe-buffer": "5.1.1"
+ },
+ "dependencies": {
+ "rc": {
+ "version": "1.2.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "deep-extend": "0.4.2",
+ "ini": "1.3.4",
+ "minimist": "1.2.0",
+ "strip-json-comments": "2.0.1"
+ },
+ "dependencies": {
+ "deep-extend": {
+ "version": "0.4.2",
+ "bundled": true,
+ "dev": true
+ },
+ "minimist": {
+ "version": "1.2.0",
+ "bundled": true,
+ "dev": true
+ },
+ "strip-json-comments": {
+ "version": "2.0.1",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ }
+ }
+ },
+ "registry-url": {
+ "version": "3.1.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "rc": "1.2.1"
+ },
+ "dependencies": {
+ "rc": {
+ "version": "1.2.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "deep-extend": "0.4.2",
+ "ini": "1.3.4",
+ "minimist": "1.2.0",
+ "strip-json-comments": "2.0.1"
+ },
+ "dependencies": {
+ "deep-extend": {
+ "version": "0.4.2",
+ "bundled": true,
+ "dev": true
+ },
+ "minimist": {
+ "version": "1.2.0",
+ "bundled": true,
+ "dev": true
+ },
+ "strip-json-comments": {
+ "version": "2.0.1",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "semver-diff": {
+ "version": "2.1.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "semver": "5.4.1"
+ }
+ },
+ "xdg-basedir": {
+ "version": "3.0.0",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
+ "uuid": {
+ "version": "3.1.0",
+ "bundled": true,
+ "dev": true
+ },
+ "validate-npm-package-license": {
+ "version": "3.0.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "spdx-correct": "1.0.2",
+ "spdx-expression-parse": "1.0.4"
+ },
+ "dependencies": {
+ "spdx-correct": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "spdx-license-ids": "1.2.2"
+ },
+ "dependencies": {
+ "spdx-license-ids": {
+ "version": "1.2.2",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
+ "spdx-expression-parse": {
+ "version": "1.0.4",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
+ "validate-npm-package-name": {
+ "version": "3.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "builtins": "1.0.3"
+ },
+ "dependencies": {
+ "builtins": {
+ "version": "1.0.3",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
+ "which": {
+ "version": "1.3.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "isexe": "2.0.0"
+ },
+ "dependencies": {
+ "isexe": {
+ "version": "2.0.0",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
+ "worker-farm": {
+ "version": "1.5.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "errno": "0.1.4",
+ "xtend": "4.0.1"
+ },
+ "dependencies": {
+ "errno": {
+ "version": "0.1.4",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "prr": "0.0.0"
+ },
+ "dependencies": {
+ "prr": {
+ "version": "0.0.0",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
+ "xtend": {
+ "version": "4.0.1",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
+ "wrappy": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true
+ },
+ "write-file-atomic": {
+ "version": "2.1.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11",
+ "imurmurhash": "0.1.4",
+ "slide": "1.1.6"
+ }
+ }
+ }
+ },
+ "npm-run-path": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
+ "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
+ "dev": true,
+ "requires": {
+ "path-key": "2.0.1"
+ }
+ },
+ "npmlog": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz",
+ "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==",
+ "requires": {
+ "are-we-there-yet": "1.1.4",
+ "console-control-strings": "1.1.0",
+ "gauge": "2.7.4",
+ "set-blocking": "2.0.0"
+ }
+ },
+ "nugget": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/nugget/-/nugget-2.0.1.tgz",
+ "integrity": "sha1-IBCVpIfhrTYIGzQy+jytpPjQcbA=",
+ "dev": true,
+ "requires": {
+ "debug": "2.6.9",
+ "minimist": "1.2.0",
+ "pretty-bytes": "1.0.4",
+ "progress-stream": "1.2.0",
+ "request": "2.83.0",
+ "single-line-log": "1.1.2",
+ "throttleit": "0.0.2"
+ },
+ "dependencies": {
+ "minimist": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+ "dev": true
+ }
+ }
+ },
+ "num2fraction": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz",
+ "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=",
+ "dev": true
+ },
+ "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="
+ },
+ "nunjucks": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/nunjucks/-/nunjucks-3.0.1.tgz",
+ "integrity": "sha1-TedKPlULr2+jNwMj89HHwqhr3E0=",
+ "requires": {
+ "a-sync-waterfall": "1.0.0",
+ "asap": "2.0.6",
+ "chokidar": "1.7.0",
+ "yargs": "3.32.0"
+ },
+ "dependencies": {
+ "os-locale": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz",
+ "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=",
+ "requires": {
+ "lcid": "1.0.0"
+ }
+ },
+ "window-size": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.4.tgz",
+ "integrity": "sha1-+OGqHuWlPsW/FR/6CXQqatdpeHY="
+ },
+ "yargs": {
+ "version": "3.32.0",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz",
+ "integrity": "sha1-AwiOnr+edWtpdRYR0qXvWRSCyZU=",
+ "requires": {
+ "camelcase": "2.1.1",
+ "cliui": "3.2.0",
+ "decamelize": "1.2.0",
+ "os-locale": "1.4.0",
+ "string-width": "1.0.2",
+ "window-size": "0.1.4",
+ "y18n": "3.2.1"
+ }
+ }
+ }
+ },
+ "nwmatcher": {
+ "version": "1.4.3",
+ "resolved": "https://registry.npmjs.org/nwmatcher/-/nwmatcher-1.4.3.tgz",
+ "integrity": "sha512-IKdSTiDWCarf2JTS5e9e2+5tPZGdkRJ79XjYV0pzK8Q9BpsFyBq1RGKxzs7Q8UBushGw7m6TzVKz6fcY99iSWw==",
+ "dev": true
+ },
+ "oauth-1.0a": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/oauth-1.0a/-/oauth-1.0a-2.2.2.tgz",
+ "integrity": "sha512-fHRvq3aHoYXq8rZrXOX80nYgMc0svd4a88R4W7QLltJ1Rl+GFjW6Eu3rgR1zWB5MbuyqsWojADsS4vbmDiho/w=="
+ },
+ "oauth-sign": {
+ "version": "0.8.2",
+ "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz",
+ "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM="
+ },
+ "object-assign": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
+ },
+ "object-keys": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz",
+ "integrity": "sha1-KKaq50KN0sOpLz2V8hM13SBOAzY=",
+ "dev": true
+ },
+ "object.omit": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz",
+ "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=",
+ "requires": {
+ "for-own": "0.1.5",
+ "is-extendable": "0.1.1"
+ }
+ },
+ "obuf": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.1.tgz",
+ "integrity": "sha1-EEEktsYCxnlogaBCVB0220OlJk4=",
+ "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"
+ }
+ },
+ "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
+ },
+ "once": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
+ "requires": {
+ "wrappy": "1.0.2"
+ }
+ },
+ "onetime": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz",
+ "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=",
+ "dev": true,
+ "requires": {
+ "mimic-fn": "1.1.0"
+ }
+ },
+ "opn": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/opn/-/opn-5.1.0.tgz",
+ "integrity": "sha512-iPNl7SyM8L30Rm1sjGdLLheyHVw5YXVfi3SKWJzBI7efxRwHojfRFjwE/OLM6qp9xJYMgab8WicTU1cPoY+Hpg==",
+ "dev": true,
+ "requires": {
+ "is-wsl": "1.1.0"
+ }
+ },
+ "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.8",
+ "wordwrap": "0.0.3"
+ },
+ "dependencies": {
+ "wordwrap": {
+ "version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz",
+ "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=",
+ "dev": true
+ }
+ }
+ },
+ "optionator": {
+ "version": "0.8.2",
+ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz",
+ "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=",
+ "requires": {
+ "deep-is": "0.1.3",
+ "fast-levenshtein": "2.0.6",
+ "levn": "0.3.0",
+ "prelude-ls": "1.1.2",
+ "type-check": "0.3.2",
+ "wordwrap": "1.0.0"
+ }
+ },
+ "ora": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/ora/-/ora-1.3.0.tgz",
+ "integrity": "sha1-gAeN0rkqk0r2ajrXKluRBpTt5Ro=",
+ "dev": true,
+ "requires": {
+ "chalk": "1.1.3",
+ "cli-cursor": "2.1.0",
+ "cli-spinners": "1.1.0",
+ "log-symbols": "1.0.2"
+ }
+ },
+ "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.5"
+ },
+ "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.4",
+ "requires-port": "1.0.0"
+ }
+ }
+ }
+ },
+ "os-browserify": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz",
+ "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=",
+ "dev": true
+ },
+ "os-homedir": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
+ "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M="
+ },
+ "os-locale": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz",
+ "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==",
+ "dev": true,
+ "requires": {
+ "execa": "0.7.0",
+ "lcid": "1.0.0",
+ "mem": "1.1.0"
+ }
+ },
+ "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="
+ },
+ "osenv": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.4.tgz",
+ "integrity": "sha1-Qv5tWVPfBsgGS+bxdsPQWqqjRkQ=",
+ "requires": {
+ "os-homedir": "1.0.2",
+ "os-tmpdir": "1.0.2"
+ }
+ },
+ "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.11",
+ "mkdirp": "0.5.1",
+ "object-assign": "4.1.1"
+ }
+ },
+ "p-cancelable": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.3.0.tgz",
+ "integrity": "sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw==",
+ "dev": true
+ },
+ "p-finally": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
+ "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
+ "dev": true
+ },
+ "p-limit": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.1.0.tgz",
+ "integrity": "sha1-sH/y2aXYi+yAYDWJWiurZqJ5iLw=",
+ "dev": true
+ },
+ "p-locate": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
+ "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
+ "dev": true,
+ "requires": {
+ "p-limit": "1.1.0"
+ }
+ },
+ "p-map": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz",
+ "integrity": "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==",
+ "dev": true
+ },
+ "package-json": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/package-json/-/package-json-4.0.1.tgz",
+ "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=",
+ "dev": true,
+ "requires": {
+ "got": "6.7.1",
+ "registry-auth-token": "3.3.1",
+ "registry-url": "3.1.0",
+ "semver": "5.4.1"
+ }
+ },
+ "pako": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.6.tgz",
+ "integrity": "sha512-lQe48YPsMJAig+yngZ87Lus+NF+3mtu7DVOBu6b/gHO1YpKwIj5AWjZ/TOS7i46HD/UixzWb1zeWDZfGZ3iYcg==",
+ "dev": true
+ },
+ "parse-asn1": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.0.tgz",
+ "integrity": "sha1-N8T5t+06tlx0gXtfJICTf7+XxxI=",
+ "dev": true,
+ "requires": {
+ "asn1.js": "4.9.2",
+ "browserify-aes": "1.1.1",
+ "create-hash": "1.1.3",
+ "evp_bytestokey": "1.0.3",
+ "pbkdf2": "3.0.14"
+ }
+ },
+ "parse-color": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/parse-color/-/parse-color-1.0.0.tgz",
+ "integrity": "sha1-e3SLlag/A/FqlPU15S1/PZRlhhk=",
+ "dev": true,
+ "requires": {
+ "color-convert": "0.5.3"
+ },
+ "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
+ }
+ }
+ },
+ "parse-glob": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz",
+ "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=",
+ "requires": {
+ "glob-base": "0.3.0",
+ "is-dotfile": "1.0.3",
+ "is-extglob": "1.0.0",
+ "is-glob": "2.0.1"
+ }
+ },
+ "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.3.1"
+ }
+ },
+ "parse5": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/parse5/-/parse5-1.5.1.tgz",
+ "integrity": "sha1-m387DeMr543CQBsXVzzK8Pb1nZQ=",
+ "dev": true
+ },
+ "parseurl": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz",
+ "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=",
+ "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
+ },
+ "path-exists": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
+ "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU="
+ },
+ "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="
+ },
+ "path-is-inside": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz",
+ "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=",
+ "dev": true
+ },
+ "path-key": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
+ "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
+ "dev": true
+ },
+ "path-parse": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz",
+ "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=",
+ "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
+ },
+ "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.11",
+ "pify": "2.3.0",
+ "pinkie-promise": "2.0.1"
+ }
+ },
+ "pause-stream": {
+ "version": "0.0.11",
+ "resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz",
+ "integrity": "sha1-/lo0sMvOErWqaitAPuLnO2AvFEU=",
+ "requires": {
+ "through": "2.3.8"
+ }
+ },
+ "pbkdf2": {
+ "version": "3.0.14",
+ "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.14.tgz",
+ "integrity": "sha512-gjsZW9O34fm0R7PaLHRJmLLVfSoesxztjPjE9o6R+qtVJij90ltg1joIovN9GKrRW3t1PzhDDG3UMEMFfZ+1wA==",
+ "dev": true,
+ "requires": {
+ "create-hash": "1.1.3",
+ "create-hmac": "1.1.6",
+ "ripemd160": "2.0.1",
+ "safe-buffer": "5.1.1",
+ "sha.js": "2.4.9"
+ }
+ },
+ "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
+ },
+ "pdfjs-dist": {
+ "version": "1.10.97",
+ "resolved": "https://registry.npmjs.org/pdfjs-dist/-/pdfjs-dist-1.10.97.tgz",
+ "integrity": "sha1-05mVhslLdf5eboFhpXxEmhOgMPs=",
+ "requires": {
+ "node-ensure": "0.0.0",
+ "worker-loader": "1.1.0"
+ }
+ },
+ "pend": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
+ "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA="
+ },
+ "performance-now": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
+ "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns="
+ },
+ "pify": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
+ "dev": true
+ },
+ "pinkie": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
+ "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA="
+ },
+ "pinkie-promise": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
+ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
+ "requires": {
+ "pinkie": "2.0.4"
+ }
+ },
+ "pkg-dir": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz",
+ "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=",
+ "dev": true,
+ "requires": {
+ "find-up": "2.1.0"
+ }
+ },
+ "plist": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/plist/-/plist-2.1.0.tgz",
+ "integrity": "sha1-V8zbeggh3yGDEhejytVOPhRqECU=",
+ "dev": true,
+ "requires": {
+ "base64-js": "1.2.0",
+ "xmlbuilder": "8.2.2",
+ "xmldom": "0.1.27"
+ }
+ },
+ "pluralize": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-1.2.1.tgz",
+ "integrity": "sha1-0aIUg/0iu0HlihL6NCGCMUCJfEU=",
+ "dev": true
+ },
+ "portfinder": {
+ "version": "1.0.13",
+ "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.13.tgz",
+ "integrity": "sha1-uzLs2HwnEErm7kS1o8y/Drsa7ek=",
+ "dev": true,
+ "requires": {
+ "async": "1.5.2",
+ "debug": "2.6.9",
+ "mkdirp": "0.5.1"
+ },
+ "dependencies": {
+ "async": {
+ "version": "1.5.2",
+ "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
+ "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=",
+ "dev": true
+ }
+ }
+ },
+ "postcss": {
+ "version": "5.2.18",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
+ "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
+ "dev": true,
+ "requires": {
+ "chalk": "1.1.3",
+ "js-base64": "2.3.2",
+ "source-map": "0.5.7",
+ "supports-color": "3.2.3"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "dev": true,
+ "requires": {
+ "has-flag": "1.0.0"
+ }
+ }
+ }
+ },
+ "postcss-calc": {
+ "version": "5.3.1",
+ "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-5.3.1.tgz",
+ "integrity": "sha1-d7rnypKK2FcW4v2kLyYb98HWW14=",
+ "dev": true,
+ "requires": {
+ "postcss": "5.2.18",
+ "postcss-message-helpers": "2.0.0",
+ "reduce-css-calc": "1.3.0"
+ }
+ },
+ "postcss-colormin": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-2.2.2.tgz",
+ "integrity": "sha1-ZjFBfV8OkJo9fsJrJMio0eT5bks=",
+ "dev": true,
+ "requires": {
+ "colormin": "1.1.2",
+ "postcss": "5.2.18",
+ "postcss-value-parser": "3.3.0"
+ }
+ },
+ "postcss-convert-values": {
+ "version": "2.6.1",
+ "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-2.6.1.tgz",
+ "integrity": "sha1-u9hZPFwf0uPRwyK7kl3K6Nrk1i0=",
+ "dev": true,
+ "requires": {
+ "postcss": "5.2.18",
+ "postcss-value-parser": "3.3.0"
+ }
+ },
+ "postcss-discard-comments": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz",
+ "integrity": "sha1-vv6J+v1bPazlzM5Rt2uBUUvgDj0=",
+ "dev": true,
+ "requires": {
+ "postcss": "5.2.18"
+ }
+ },
+ "postcss-discard-duplicates": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-2.1.0.tgz",
+ "integrity": "sha1-uavye4isGIFYpesSq8riAmO5GTI=",
+ "dev": true,
+ "requires": {
+ "postcss": "5.2.18"
+ }
+ },
+ "postcss-discard-empty": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-2.1.0.tgz",
+ "integrity": "sha1-0rS9nVztXr2Nyt52QMfXzX9PkrU=",
+ "dev": true,
+ "requires": {
+ "postcss": "5.2.18"
+ }
+ },
+ "postcss-discard-overridden": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-0.1.1.tgz",
+ "integrity": "sha1-ix6vVU9ob7KIzYdMVWZ7CqNmjVg=",
+ "dev": true,
+ "requires": {
+ "postcss": "5.2.18"
+ }
+ },
+ "postcss-discard-unused": {
+ "version": "2.2.3",
+ "resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-2.2.3.tgz",
+ "integrity": "sha1-vOMLLMWR/8Y0Mitfs0ZLbZNPRDM=",
+ "dev": true,
+ "requires": {
+ "postcss": "5.2.18",
+ "uniqs": "2.0.0"
+ }
+ },
+ "postcss-filter-plugins": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-filter-plugins/-/postcss-filter-plugins-2.0.2.tgz",
+ "integrity": "sha1-bYWGJTTXNaxCDkqFgG4fXUKG2Ew=",
+ "dev": true,
+ "requires": {
+ "postcss": "5.2.18",
+ "uniqid": "4.1.1"
+ }
+ },
+ "postcss-merge-idents": {
+ "version": "2.1.7",
+ "resolved": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz",
+ "integrity": "sha1-TFUwMTwI4dWzu/PSu8dH4njuonA=",
+ "dev": true,
+ "requires": {
+ "has": "1.0.1",
+ "postcss": "5.2.18",
+ "postcss-value-parser": "3.3.0"
+ }
+ },
+ "postcss-merge-longhand": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-2.0.2.tgz",
+ "integrity": "sha1-I9kM0Sewp3mUkVMyc5A0oaTz1lg=",
+ "dev": true,
+ "requires": {
+ "postcss": "5.2.18"
+ }
+ },
+ "postcss-merge-rules": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-2.1.2.tgz",
+ "integrity": "sha1-0d9d+qexrMO+VT8OnhDofGG19yE=",
+ "dev": true,
+ "requires": {
+ "browserslist": "1.7.7",
+ "caniuse-api": "1.6.1",
+ "postcss": "5.2.18",
+ "postcss-selector-parser": "2.2.3",
+ "vendors": "1.0.1"
+ },
+ "dependencies": {
+ "browserslist": {
+ "version": "1.7.7",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz",
+ "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=",
+ "dev": true,
+ "requires": {
+ "caniuse-db": "1.0.30000770",
+ "electron-to-chromium": "1.3.27"
+ }
+ }
+ }
+ },
+ "postcss-message-helpers": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-message-helpers/-/postcss-message-helpers-2.0.0.tgz",
+ "integrity": "sha1-pPL0+rbk/gAvCu0ABHjN9S+bpg4=",
+ "dev": true
+ },
+ "postcss-minify-font-values": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-1.0.5.tgz",
+ "integrity": "sha1-S1jttWZB66fIR0qzUmyv17vey2k=",
+ "dev": true,
+ "requires": {
+ "object-assign": "4.1.1",
+ "postcss": "5.2.18",
+ "postcss-value-parser": "3.3.0"
+ }
+ },
+ "postcss-minify-gradients": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz",
+ "integrity": "sha1-Xb2hE3NwP4PPtKPqOIHY11/15uE=",
+ "dev": true,
+ "requires": {
+ "postcss": "5.2.18",
+ "postcss-value-parser": "3.3.0"
+ }
+ },
+ "postcss-minify-params": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-1.2.2.tgz",
+ "integrity": "sha1-rSzgcTc7lDs9kwo/pZo1jCjW8fM=",
+ "dev": true,
+ "requires": {
+ "alphanum-sort": "1.0.2",
+ "postcss": "5.2.18",
+ "postcss-value-parser": "3.3.0",
+ "uniqs": "2.0.0"
+ }
+ },
+ "postcss-minify-selectors": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-2.1.1.tgz",
+ "integrity": "sha1-ssapjAByz5G5MtGkllCBFDEXNb8=",
+ "dev": true,
+ "requires": {
+ "alphanum-sort": "1.0.2",
+ "has": "1.0.1",
+ "postcss": "5.2.18",
+ "postcss-selector-parser": "2.2.3"
+ }
+ },
+ "postcss-modules-extract-imports": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.1.0.tgz",
+ "integrity": "sha1-thTJcgvmgW6u41+zpfqh26agXds=",
+ "dev": true,
+ "requires": {
+ "postcss": "6.0.14"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
+ "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==",
+ "dev": true,
+ "requires": {
+ "color-convert": "1.9.1"
+ }
+ },
+ "chalk": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz",
+ "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "3.2.0",
+ "escape-string-regexp": "1.0.5",
+ "supports-color": "4.5.0"
+ }
+ },
+ "has-flag": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz",
+ "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=",
+ "dev": true
+ },
+ "postcss": {
+ "version": "6.0.14",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.14.tgz",
+ "integrity": "sha512-NJ1z0f+1offCgadPhz+DvGm5Mkci+mmV5BqD13S992o0Xk9eElxUfPPF+t2ksH5R/17gz4xVK8KWocUQ5o3Rog==",
+ "dev": true,
+ "requires": {
+ "chalk": "2.3.0",
+ "source-map": "0.6.1",
+ "supports-color": "4.5.0"
+ }
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz",
+ "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=",
+ "dev": true,
+ "requires": {
+ "has-flag": "2.0.0"
+ }
+ }
+ }
+ },
+ "postcss-modules-local-by-default": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz",
+ "integrity": "sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=",
+ "dev": true,
+ "requires": {
+ "css-selector-tokenizer": "0.7.0",
+ "postcss": "6.0.14"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
+ "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==",
+ "dev": true,
+ "requires": {
+ "color-convert": "1.9.1"
+ }
+ },
+ "chalk": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz",
+ "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "3.2.0",
+ "escape-string-regexp": "1.0.5",
+ "supports-color": "4.5.0"
+ }
+ },
+ "has-flag": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz",
+ "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=",
+ "dev": true
+ },
+ "postcss": {
+ "version": "6.0.14",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.14.tgz",
+ "integrity": "sha512-NJ1z0f+1offCgadPhz+DvGm5Mkci+mmV5BqD13S992o0Xk9eElxUfPPF+t2ksH5R/17gz4xVK8KWocUQ5o3Rog==",
+ "dev": true,
+ "requires": {
+ "chalk": "2.3.0",
+ "source-map": "0.6.1",
+ "supports-color": "4.5.0"
+ }
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz",
+ "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=",
+ "dev": true,
+ "requires": {
+ "has-flag": "2.0.0"
+ }
+ }
+ }
+ },
+ "postcss-modules-scope": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz",
+ "integrity": "sha1-1upkmUx5+XtipytCb75gVqGUu5A=",
+ "dev": true,
+ "requires": {
+ "css-selector-tokenizer": "0.7.0",
+ "postcss": "6.0.14"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
+ "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==",
+ "dev": true,
+ "requires": {
+ "color-convert": "1.9.1"
+ }
+ },
+ "chalk": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz",
+ "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "3.2.0",
+ "escape-string-regexp": "1.0.5",
+ "supports-color": "4.5.0"
+ }
+ },
+ "has-flag": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz",
+ "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=",
+ "dev": true
+ },
+ "postcss": {
+ "version": "6.0.14",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.14.tgz",
+ "integrity": "sha512-NJ1z0f+1offCgadPhz+DvGm5Mkci+mmV5BqD13S992o0Xk9eElxUfPPF+t2ksH5R/17gz4xVK8KWocUQ5o3Rog==",
+ "dev": true,
+ "requires": {
+ "chalk": "2.3.0",
+ "source-map": "0.6.1",
+ "supports-color": "4.5.0"
+ }
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz",
+ "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=",
+ "dev": true,
+ "requires": {
+ "has-flag": "2.0.0"
+ }
+ }
+ }
+ },
+ "postcss-modules-values": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz",
+ "integrity": "sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA=",
+ "dev": true,
+ "requires": {
+ "icss-replace-symbols": "1.1.0",
+ "postcss": "6.0.14"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
+ "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==",
+ "dev": true,
+ "requires": {
+ "color-convert": "1.9.1"
+ }
+ },
+ "chalk": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz",
+ "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "3.2.0",
+ "escape-string-regexp": "1.0.5",
+ "supports-color": "4.5.0"
+ }
+ },
+ "has-flag": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz",
+ "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=",
+ "dev": true
+ },
+ "postcss": {
+ "version": "6.0.14",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.14.tgz",
+ "integrity": "sha512-NJ1z0f+1offCgadPhz+DvGm5Mkci+mmV5BqD13S992o0Xk9eElxUfPPF+t2ksH5R/17gz4xVK8KWocUQ5o3Rog==",
+ "dev": true,
+ "requires": {
+ "chalk": "2.3.0",
+ "source-map": "0.6.1",
+ "supports-color": "4.5.0"
+ }
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz",
+ "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=",
+ "dev": true,
+ "requires": {
+ "has-flag": "2.0.0"
+ }
+ }
+ }
+ },
+ "postcss-normalize-charset": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz",
+ "integrity": "sha1-757nEhLX/nWceO0WL2HtYrXLk/E=",
+ "dev": true,
+ "requires": {
+ "postcss": "5.2.18"
+ }
+ },
+ "postcss-normalize-url": {
+ "version": "3.0.8",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-3.0.8.tgz",
+ "integrity": "sha1-EI90s/L82viRov+j6kWSJ5/HgiI=",
+ "dev": true,
+ "requires": {
+ "is-absolute-url": "2.1.0",
+ "normalize-url": "1.9.1",
+ "postcss": "5.2.18",
+ "postcss-value-parser": "3.3.0"
+ }
+ },
+ "postcss-ordered-values": {
+ "version": "2.2.3",
+ "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-2.2.3.tgz",
+ "integrity": "sha1-7sbCpntsQSqNsgQud/6NpD+VwR0=",
+ "dev": true,
+ "requires": {
+ "postcss": "5.2.18",
+ "postcss-value-parser": "3.3.0"
+ }
+ },
+ "postcss-reduce-idents": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-2.4.0.tgz",
+ "integrity": "sha1-wsbSDMlYKE9qv75j92Cb9AkFmtM=",
+ "dev": true,
+ "requires": {
+ "postcss": "5.2.18",
+ "postcss-value-parser": "3.3.0"
+ }
+ },
+ "postcss-reduce-initial": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-1.0.1.tgz",
+ "integrity": "sha1-aPgGlfBF0IJjqHmtJA343WT2ROo=",
+ "dev": true,
+ "requires": {
+ "postcss": "5.2.18"
+ }
+ },
+ "postcss-reduce-transforms": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz",
+ "integrity": "sha1-/3b02CEkN7McKYpC0uFEQCV3GuE=",
+ "dev": true,
+ "requires": {
+ "has": "1.0.1",
+ "postcss": "5.2.18",
+ "postcss-value-parser": "3.3.0"
+ }
+ },
+ "postcss-selector-parser": {
+ "version": "2.2.3",
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz",
+ "integrity": "sha1-+UN3iGBsPJrO4W/+jYsWKX8nu5A=",
+ "dev": true,
+ "requires": {
+ "flatten": "1.0.2",
+ "indexes-of": "1.0.1",
+ "uniq": "1.0.1"
+ }
+ },
+ "postcss-svgo": {
+ "version": "2.1.6",
+ "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-2.1.6.tgz",
+ "integrity": "sha1-tt8YqmE7Zm4TPwittSGcJoSsEI0=",
+ "dev": true,
+ "requires": {
+ "is-svg": "2.1.0",
+ "postcss": "5.2.18",
+ "postcss-value-parser": "3.3.0",
+ "svgo": "0.7.2"
+ }
+ },
+ "postcss-unique-selectors": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-2.0.2.tgz",
+ "integrity": "sha1-mB1X0p3csz57Hf4f1DuGSfkzyh0=",
+ "dev": true,
+ "requires": {
+ "alphanum-sort": "1.0.2",
+ "postcss": "5.2.18",
+ "uniqs": "2.0.0"
+ }
+ },
+ "postcss-value-parser": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz",
+ "integrity": "sha1-h/OPnxj3dKSrTIojL1xc6IcqnRU=",
+ "dev": true
+ },
+ "postcss-zindex": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-2.2.0.tgz",
+ "integrity": "sha1-0hCd3AVbka9n/EyzsCWUZjnSryI=",
+ "dev": true,
+ "requires": {
+ "has": "1.0.1",
+ "postcss": "5.2.18",
+ "uniqs": "2.0.0"
+ }
+ },
+ "prebuild-install": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-2.3.0.tgz",
+ "integrity": "sha512-gzjq2oHB8oMbzJSsSh9MQ64zrXZGt092/uT4TLZlz2qnrPxpWqp4vYB7LZrDxnlxf5RfbCjkgDI/z0EIVuYzAw==",
+ "dev": true,
+ "requires": {
+ "expand-template": "1.1.0",
+ "github-from-package": "0.0.0",
+ "minimist": "1.2.0",
+ "mkdirp": "0.5.1",
+ "node-abi": "2.1.2",
+ "noop-logger": "0.1.1",
+ "npmlog": "4.1.2",
+ "os-homedir": "1.0.2",
+ "pump": "1.0.3",
+ "rc": "1.2.2",
+ "simple-get": "1.4.3",
+ "tar-fs": "1.16.0",
+ "tunnel-agent": "0.6.0",
+ "xtend": "4.0.1"
+ },
+ "dependencies": {
+ "minimist": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+ "dev": true
+ },
+ "xtend": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz",
+ "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=",
+ "dev": true
+ }
+ }
+ },
+ "prelude-ls": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
+ "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ="
+ },
+ "prepend-http": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz",
+ "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=",
+ "dev": true
+ },
+ "preserve": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz",
+ "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks="
+ },
+ "pretty-bytes": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-1.0.4.tgz",
+ "integrity": "sha1-CiLoIQYJrTVUL4yNXSFZr/B1HIQ=",
+ "dev": true,
+ "requires": {
+ "get-stdin": "4.0.1",
+ "meow": "3.7.0"
+ }
+ },
+ "pretty-format": {
+ "version": "21.2.1",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-21.2.1.tgz",
+ "integrity": "sha512-ZdWPGYAnYfcVP8yKA3zFjCn8s4/17TeYH28MXuC8vTp0o21eXjbFGcOAXZEaDaOFJjc3h2qa7HQNHNshhvoh2A==",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "3.0.0",
+ "ansi-styles": "3.2.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
+ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
+ "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==",
+ "dev": true,
+ "requires": {
+ "color-convert": "1.9.1"
+ }
+ }
+ }
+ },
+ "private": {
+ "version": "0.1.8",
+ "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz",
+ "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg=="
+ },
+ "process": {
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/process/-/process-0.5.2.tgz",
+ "integrity": "sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8=",
+ "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="
+ },
+ "progress": {
+ "version": "1.1.8",
+ "resolved": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz",
+ "integrity": "sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74=",
+ "dev": true
+ },
+ "progress-stream": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/progress-stream/-/progress-stream-1.2.0.tgz",
+ "integrity": "sha1-LNPP6jO6OonJwSHsM0er6asSX3c=",
+ "dev": true,
+ "requires": {
+ "speedometer": "0.1.4",
+ "through2": "0.2.3"
+ }
+ },
+ "promise": {
+ "version": "7.3.1",
+ "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz",
+ "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==",
+ "requires": {
+ "asap": "2.0.6"
+ }
+ },
+ "prop-types": {
+ "version": "15.6.0",
+ "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.0.tgz",
+ "integrity": "sha1-zq8IMCL8RrSjX2nhPvda7Q1jmFY=",
+ "requires": {
+ "fbjs": "0.8.16",
+ "loose-envify": "1.3.1",
+ "object-assign": "4.1.1"
+ }
+ },
+ "proxy-addr": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.2.tgz",
+ "integrity": "sha1-ZXFQT0e7mI7IGAJT+F3X4UlSvew=",
+ "dev": true,
+ "requires": {
+ "forwarded": "0.1.2",
+ "ipaddr.js": "1.5.2"
+ }
+ },
+ "prr": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/prr/-/prr-0.0.0.tgz",
+ "integrity": "sha1-GoS4WQgyVQFBGFPQCB7j+obikmo=",
+ "dev": true
+ },
+ "pseudomap": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
+ "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=",
+ "dev": true
+ },
+ "public-encrypt": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.0.tgz",
+ "integrity": "sha1-OfaZ86RlYN1eusvKaTyvfGXBjMY=",
+ "dev": true,
+ "requires": {
+ "bn.js": "4.11.8",
+ "browserify-rsa": "4.0.1",
+ "create-hash": "1.1.3",
+ "parse-asn1": "5.1.0",
+ "randombytes": "2.0.5"
+ }
+ },
+ "pump": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.3.tgz",
+ "integrity": "sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==",
+ "dev": true,
+ "requires": {
+ "end-of-stream": "1.4.0",
+ "once": "1.4.0"
+ }
+ },
+ "punycode": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
+ "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4="
+ },
+ "pupa": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/pupa/-/pupa-1.0.0.tgz",
+ "integrity": "sha1-mpVopa9+ZXuEYqbp1TKHQ1YM7/Y="
+ },
+ "q": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz",
+ "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc="
+ },
+ "qs": {
+ "version": "6.5.1",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz",
+ "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A=="
+ },
+ "query-string": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz",
+ "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=",
+ "dev": true,
+ "requires": {
+ "object-assign": "4.1.1",
+ "strict-uri-encode": "1.1.0"
+ }
+ },
+ "querystring": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
+ "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=",
+ "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
+ },
+ "querystringify": {
+ "version": "0.0.4",
+ "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-0.0.4.tgz",
+ "integrity": "sha1-DPf4T5Rj/wrlHExLFC2VvjdyTZw=",
+ "dev": true
+ },
+ "rabin-bindings": {
+ "version": "1.7.3",
+ "resolved": "https://registry.npmjs.org/rabin-bindings/-/rabin-bindings-1.7.3.tgz",
+ "integrity": "sha512-zeVdstq+EWdwQ5JCyuuvOsP2fmGc6993laN+v8eEQsahHwZCy8bt5TefohUpgsetiwQhMMk/o+m/2sYng13Txw==",
+ "dev": true,
+ "requires": {
+ "bindings": "1.3.0",
+ "nan": "2.8.0",
+ "prebuild-install": "2.3.0"
+ }
+ },
+ "randomatic": {
+ "version": "1.1.7",
+ "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz",
+ "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==",
+ "requires": {
+ "is-number": "3.0.0",
+ "kind-of": "4.0.0"
+ },
+ "dependencies": {
+ "is-number": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
+ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+ "requires": {
+ "kind-of": "3.2.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "requires": {
+ "is-buffer": "1.1.6"
+ }
+ }
+ }
+ },
+ "kind-of": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
+ "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
+ "requires": {
+ "is-buffer": "1.1.6"
+ }
+ }
+ }
+ },
+ "randombytes": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.5.tgz",
+ "integrity": "sha512-8T7Zn1AhMsQ/HI1SjcCfT/t4ii3eAqco3yOcSzS4mozsOz69lHLsoMXmF9nZgnFanYscnSlUSgs8uZyKzpE6kg==",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "5.1.1"
+ }
+ },
+ "randomfill": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.3.tgz",
+ "integrity": "sha512-YL6GrhrWoic0Eq8rXVbMptH7dAxCs0J+mh5Y0euNekPPYaxEmdVGim6GdoxoRzKW2yJoU8tueifS7mYxvcFDEQ==",
+ "dev": true,
+ "requires": {
+ "randombytes": "2.0.5",
+ "safe-buffer": "5.1.1"
+ }
+ },
+ "range-parser": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz",
+ "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=",
+ "dev": true
+ },
+ "raw-body": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.2.tgz",
+ "integrity": "sha1-vNYMd9Prk83gBQKVw/N5OJvIj4k=",
+ "dev": true,
+ "requires": {
+ "bytes": "3.0.0",
+ "http-errors": "1.6.2",
+ "iconv-lite": "0.4.19",
+ "unpipe": "1.0.0"
+ }
+ },
+ "rc": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.2.tgz",
+ "integrity": "sha1-2M6ctX6NZNnHut2YdsfDTL48cHc=",
+ "requires": {
+ "deep-extend": "0.4.2",
+ "ini": "1.3.5",
+ "minimist": "1.2.0",
+ "strip-json-comments": "2.0.1"
+ },
+ "dependencies": {
+ "minimist": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ="
+ }
+ }
+ },
+ "react": {
+ "version": "16.1.1",
+ "resolved": "https://registry.npmjs.org/react/-/react-16.1.1.tgz",
+ "integrity": "sha512-FQfiFfk2z2Fk87OngNJHT05KyC9DOVn8LPeB7ZX+9u5+yU1JK6o5ozRlU3PeOMr0IFkWNvgn9jU8/IhRxR1F0g==",
+ "requires": {
+ "fbjs": "0.8.16",
+ "loose-envify": "1.3.1",
+ "object-assign": "4.1.1",
+ "prop-types": "15.6.0"
+ }
+ },
+ "react-deep-force-update": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/react-deep-force-update/-/react-deep-force-update-2.1.1.tgz",
+ "integrity": "sha1-jqQmPNZFWgULN0RbPwj9g52G6Qk=",
+ "dev": true
+ },
+ "react-dnd": {
+ "version": "2.5.4",
+ "resolved": "https://registry.npmjs.org/react-dnd/-/react-dnd-2.5.4.tgz",
+ "integrity": "sha512-y9YmnusURc+3KPgvhYKvZ9oCucj51MSZWODyaeV0KFU0cquzA7dCD1g/OIYUKtNoZ+MXtacDngkdud2TklMSjw==",
+ "requires": {
+ "disposables": "1.0.1",
+ "dnd-core": "2.5.4",
+ "hoist-non-react-statics": "2.3.1",
+ "invariant": "2.2.2",
+ "lodash": "4.17.4",
+ "prop-types": "15.6.0"
+ }
+ },
+ "react-dnd-html5-backend": {
+ "version": "2.5.4",
+ "resolved": "https://registry.npmjs.org/react-dnd-html5-backend/-/react-dnd-html5-backend-2.5.4.tgz",
+ "integrity": "sha512-jDqAkm/hI8Tl4HcsbhkBgB6HgpJR1e+ML1SbfxaegXYiuMxEVQm0FOwEH5WxUoo6fmIG4N+H0rSm59POuZOCaA==",
+ "requires": {
+ "lodash": "4.17.4"
+ }
+ },
+ "react-dom": {
+ "version": "16.1.1",
+ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.1.1.tgz",
+ "integrity": "sha512-q06jiwST8SEPAMIEkAsu7BgynEZtqF87VrTc70XsW7nxVhWEu2Y4MF5UfxxHQO/mNtQHQWP0YcFxmwm9oMrMaQ==",
+ "requires": {
+ "fbjs": "0.8.16",
+ "loose-envify": "1.3.1",
+ "object-assign": "4.1.1",
+ "prop-types": "15.6.0"
+ }
+ },
+ "react-hot-loader": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/react-hot-loader/-/react-hot-loader-3.1.3.tgz",
+ "integrity": "sha512-d7nZf78irxoGN5PY4zd6CSgZiroOhvIWzRast3qwTn4sSnBwlt08kV8WMQ9mitmxEdlCTwZt+5ClrRSjxWguMQ==",
+ "dev": true,
+ "requires": {
+ "global": "4.3.2",
+ "react-deep-force-update": "2.1.1",
+ "react-proxy": "3.0.0-alpha.1",
+ "redbox-react": "1.5.0",
+ "source-map": "0.6.1"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ }
+ }
+ },
+ "react-proxy": {
+ "version": "3.0.0-alpha.1",
+ "resolved": "https://registry.npmjs.org/react-proxy/-/react-proxy-3.0.0-alpha.1.tgz",
+ "integrity": "sha1-RABCa8+oDKpnJMd1VpUxUgn6Swc=",
+ "dev": true,
+ "requires": {
+ "lodash": "4.17.4"
+ }
+ },
+ "react-redux": {
+ "version": "5.0.6",
+ "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-5.0.6.tgz",
+ "integrity": "sha512-8taaaGu+J7PMJQDJrk/xiWEYQmdo3mkXw6wPr3K3LxvXis3Fymiq7c13S+Tpls/AyNUAsoONkU81AP0RA6y6Vw==",
+ "requires": {
+ "hoist-non-react-statics": "2.3.1",
+ "invariant": "2.2.2",
+ "lodash": "4.17.4",
+ "lodash-es": "4.17.4",
+ "loose-envify": "1.3.1",
+ "prop-types": "15.6.0"
+ }
+ },
+ "react-tabs": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/react-tabs/-/react-tabs-2.1.1.tgz",
+ "integrity": "sha512-55jl6lsYmPTQarnjgrBU68WZlNtVSngpRxOc4iXm+Te27F9ixUr/IBTbhlhDCMiFJreP+cqu1OaMdNGY2Hg10A==",
+ "requires": {
+ "classnames": "2.2.5",
+ "prop-types": "15.6.0"
+ }
+ },
+ "read-config-file": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/read-config-file/-/read-config-file-1.2.0.tgz",
+ "integrity": "sha512-A1MNfKNIfYV7vXMOQ/CPCuVpCdWoPULu8whmrkKxwN8FUsv6EjwU2SPSNueeTKR6tZPl7+Qeondyb4/pAcoozQ==",
+ "dev": true,
+ "requires": {
+ "ajv": "5.5.0",
+ "ajv-keywords": "2.1.1",
+ "bluebird-lst": "1.0.5",
+ "dotenv": "4.0.0",
+ "dotenv-expand": "4.0.1",
+ "fs-extra-p": "4.4.4",
+ "js-yaml": "3.10.0",
+ "json5": "0.5.1",
+ "lazy-val": "1.0.2"
+ },
+ "dependencies": {
+ "esprima": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz",
+ "integrity": "sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw==",
+ "dev": true
+ },
+ "js-yaml": {
+ "version": "3.10.0",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.10.0.tgz",
+ "integrity": "sha512-O2v52ffjLa9VeM43J4XocZE//WT9N0IiwDa3KSHH7Tu8CtH+1qM8SIZvnsTh6v+4yFy5KUY3BHUVwjpfAWsjIA==",
+ "dev": true,
+ "requires": {
+ "argparse": "1.0.9",
+ "esprima": "4.0.0"
+ }
+ }
+ }
+ },
+ "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.1.0",
+ "normalize-package-data": "2.4.0",
+ "path-type": "1.1.0"
+ }
+ },
+ "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.1.2",
+ "read-pkg": "1.1.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.1.0",
+ "pinkie-promise": "2.0.1"
+ }
+ },
+ "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.1"
+ }
+ }
+ }
+ },
+ "readable-stream": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz",
+ "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==",
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "1.0.0",
+ "process-nextick-args": "1.0.7",
+ "safe-buffer": "5.1.1",
+ "string_decoder": "1.0.3",
+ "util-deprecate": "1.0.2"
+ }
+ },
+ "readdirp": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz",
+ "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=",
+ "requires": {
+ "graceful-fs": "4.1.11",
+ "minimatch": "3.0.4",
+ "readable-stream": "2.3.3",
+ "set-immediate-shim": "1.0.1"
+ }
+ },
+ "readline2": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/readline2/-/readline2-1.0.1.tgz",
+ "integrity": "sha1-QQWWCP/BVHV7cV2ZidGZ/783LjU=",
+ "dev": true,
+ "requires": {
+ "code-point-at": "1.1.0",
+ "is-fullwidth-code-point": "1.0.0",
+ "mute-stream": "0.0.5"
+ }
+ },
+ "recast": {
+ "version": "0.10.43",
+ "resolved": "https://registry.npmjs.org/recast/-/recast-0.10.43.tgz",
+ "integrity": "sha1-uV1Q9tYHYaX2JS4V2AZ4FoSRzn8=",
+ "requires": {
+ "ast-types": "0.8.15",
+ "esprima-fb": "15001.1001.0-dev-harmony-fb",
+ "private": "0.1.8",
+ "source-map": "0.5.7"
+ },
+ "dependencies": {
+ "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="
+ }
+ }
+ },
+ "rechoir": {
+ "version": "0.6.2",
+ "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz",
+ "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=",
+ "dev": true,
+ "requires": {
+ "resolve": "1.5.0"
+ }
+ },
+ "redbox-react": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/redbox-react/-/redbox-react-1.5.0.tgz",
+ "integrity": "sha512-mdxArOI3sF8K5Nay5NG+lv/VW516TbXjjd4h1wcV1Iy4IMDQPnCayjoQXBAycAFSME4nyXRUXCjHxsw2rYpVRw==",
+ "dev": true,
+ "requires": {
+ "error-stack-parser": "1.3.6",
+ "object-assign": "4.1.1",
+ "prop-types": "15.6.0",
+ "sourcemapped-stacktrace": "1.1.7"
+ }
+ },
+ "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"
+ }
+ },
+ "reduce-css-calc": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz",
+ "integrity": "sha1-dHyRTgSWFKTJz7umKYca0dKSdxY=",
+ "dev": true,
+ "requires": {
+ "balanced-match": "0.4.2",
+ "math-expression-evaluator": "1.2.17",
+ "reduce-function-call": "1.0.2"
+ },
+ "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
+ }
+ }
+ },
+ "reduce-function-call": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/reduce-function-call/-/reduce-function-call-1.0.2.tgz",
+ "integrity": "sha1-WiAL+S4ON3UXUv5FsKszD9S2vpk=",
+ "dev": true,
+ "requires": {
+ "balanced-match": "0.4.2"
+ },
+ "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
+ }
+ }
+ },
+ "redux": {
+ "version": "3.7.2",
+ "resolved": "https://registry.npmjs.org/redux/-/redux-3.7.2.tgz",
+ "integrity": "sha512-pNqnf9q1hI5HHZRBkj3bAngGZW/JMCmexDlOxw4XagXY2o1327nHH54LoTjiPJ0gizoqPDRqWyX/00g0hD6w+A==",
+ "requires": {
+ "lodash": "4.17.4",
+ "lodash-es": "4.17.4",
+ "loose-envify": "1.3.1",
+ "symbol-observable": "1.0.4"
+ }
+ },
+ "redux-mock-store": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/redux-mock-store/-/redux-mock-store-1.3.0.tgz",
+ "integrity": "sha512-TiwaDF4WLX/lJP0v1j4CMYUEfaIftTGuMUOYb7hmYJjLMAdgj2b/LOf+G9QDssNKFOpSl4B8St8TMUzF3hx92Q==",
+ "dev": true
+ },
+ "redux-thunk": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-2.2.0.tgz",
+ "integrity": "sha1-5hWhbha0ehmlFXZhM9Hj6Zt4UuU="
+ },
+ "regenerate": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.3.3.tgz",
+ "integrity": "sha512-jVpo1GadrDAK59t/0jRx5VxYWQEDkkEKi6+HjE3joFVLfDOh9Xrdh0dF1eSq+BI/SwvTQ44gSscJ8N5zYL61sg==",
+ "dev": true
+ },
+ "regenerator-runtime": {
+ "version": "0.11.0",
+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.0.tgz",
+ "integrity": "sha512-/aA0kLeRb5N9K0d4fw7ooEbI+xDe+DKD499EQqygGqeS8N3xto15p09uY2xj7ixP81sNPXvRLnAQIqdVStgb1A==",
+ "dev": true
+ },
+ "regenerator-transform": {
+ "version": "0.10.1",
+ "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz",
+ "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.26.0",
+ "babel-types": "6.26.0",
+ "private": "0.1.8"
+ }
+ },
+ "regex-cache": {
+ "version": "0.4.4",
+ "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz",
+ "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==",
+ "requires": {
+ "is-equal-shallow": "0.1.3"
+ }
+ },
+ "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.3.3",
+ "regjsgen": "0.2.0",
+ "regjsparser": "0.1.5"
+ }
+ },
+ "registry-auth-token": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.1.tgz",
+ "integrity": "sha1-+w0yie4Nmtosu1KvXf5mywcNMAY=",
+ "dev": true,
+ "requires": {
+ "rc": "1.2.2",
+ "safe-buffer": "5.1.1"
+ }
+ },
+ "registry-url": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz",
+ "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=",
+ "dev": true,
+ "requires": {
+ "rc": "1.2.2"
+ }
+ },
+ "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
+ }
+ }
+ },
+ "remove-trailing-separator": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
+ "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8="
+ },
+ "repeat-element": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz",
+ "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo="
+ },
+ "repeat-string": {
+ "version": "1.6.1",
+ "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
+ "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc="
+ },
+ "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.2"
+ }
+ },
+ "request": {
+ "version": "2.83.0",
+ "resolved": "https://registry.npmjs.org/request/-/request-2.83.0.tgz",
+ "integrity": "sha512-lR3gD69osqm6EYLk9wB/G1W/laGWjzH90t1vEa2xuxHD5KUrSzp9pUSfTm+YC5Nxt2T8nMPEvKlhbQayU7bgFw==",
+ "requires": {
+ "aws-sign2": "0.7.0",
+ "aws4": "1.6.0",
+ "caseless": "0.12.0",
+ "combined-stream": "1.0.5",
+ "extend": "3.0.1",
+ "forever-agent": "0.6.1",
+ "form-data": "2.3.1",
+ "har-validator": "5.0.3",
+ "hawk": "6.0.2",
+ "http-signature": "1.2.0",
+ "is-typedarray": "1.0.0",
+ "isstream": "0.1.2",
+ "json-stringify-safe": "5.0.1",
+ "mime-types": "2.1.17",
+ "oauth-sign": "0.8.2",
+ "performance-now": "2.1.0",
+ "qs": "6.5.1",
+ "safe-buffer": "5.1.1",
+ "stringstream": "0.0.5",
+ "tough-cookie": "2.3.3",
+ "tunnel-agent": "0.6.0",
+ "uuid": "3.1.0"
+ }
+ },
+ "require-directory": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
+ "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
+ "dev": true
+ },
+ "require-main-filename": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz",
+ "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=",
+ "dev": true
+ },
+ "require-uncached": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz",
+ "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=",
+ "dev": true,
+ "requires": {
+ "caller-path": "0.1.0",
+ "resolve-from": "1.0.1"
+ }
+ },
+ "requires-port": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
+ "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=",
+ "dev": true
+ },
+ "requizzle": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/requizzle/-/requizzle-0.2.1.tgz",
+ "integrity": "sha1-aUPDUwxNmn5G8c3dUcFY/GcM294=",
+ "requires": {
+ "underscore": "1.6.0"
+ }
+ },
+ "reselect": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/reselect/-/reselect-3.0.1.tgz",
+ "integrity": "sha1-79qpjqdFEyTQkrKyFjpqHXqaIUc="
+ },
+ "resolve": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.5.0.tgz",
+ "integrity": "sha512-hgoSGrc3pjzAPHNBg+KnFcK2HwlHTs/YrAGUr6qgTVUZmXv1UEXXl0bZNBKMA9fud6lRYFdPGz0xXxycPzmmiw==",
+ "dev": true,
+ "requires": {
+ "path-parse": "1.0.5"
+ }
+ },
+ "resolve-cwd": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz",
+ "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=",
+ "dev": true,
+ "requires": {
+ "resolve-from": "3.0.0"
+ },
+ "dependencies": {
+ "resolve-from": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz",
+ "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=",
+ "dev": true
+ }
+ }
+ },
+ "resolve-from": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz",
+ "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=",
+ "dev": true
+ },
+ "restore-cursor": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz",
+ "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=",
+ "dev": true,
+ "requires": {
+ "onetime": "2.0.1",
+ "signal-exit": "3.0.2"
+ }
+ },
+ "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.4"
+ }
+ },
+ "rimraf": {
+ "version": "2.6.2",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz",
+ "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==",
+ "requires": {
+ "glob": "7.1.2"
+ }
+ },
+ "ripemd160": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.1.tgz",
+ "integrity": "sha1-D0WEKVxTo2KK9+bXmsohzlfRxuc=",
+ "dev": true,
+ "requires": {
+ "hash-base": "2.0.2",
+ "inherits": "2.0.3"
+ }
+ },
+ "run-async": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/run-async/-/run-async-0.1.0.tgz",
+ "integrity": "sha1-yK1KXhEGYeQCp9IbUw4AnyX444k=",
+ "dev": true,
+ "requires": {
+ "once": "1.4.0"
+ }
+ },
+ "rx": {
+ "version": "2.3.24",
+ "resolved": "https://registry.npmjs.org/rx/-/rx-2.3.24.tgz",
+ "integrity": "sha1-FPlQpCF9fjXapxu8vljv9o6ksrc=",
+ "dev": true
+ },
+ "rx-lite": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-3.1.2.tgz",
+ "integrity": "sha1-Gc5QLKVyZl87ZHsQk5+X/RYV8QI=",
+ "dev": true
+ },
+ "rxjs": {
+ "version": "5.5.2",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.2.tgz",
+ "integrity": "sha512-oRYoIKWBU3Ic37fLA5VJu31VqQO4bWubRntcHSJ+cwaDQBwdnZ9x4zmhJfm/nFQ2E82/I4loSioHnACamrKGgA==",
+ "dev": true,
+ "requires": {
+ "symbol-observable": "1.0.4"
+ }
+ },
+ "safe-buffer": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz",
+ "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg=="
+ },
+ "sane": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/sane/-/sane-2.2.0.tgz",
+ "integrity": "sha512-OSJxhHO0CgPUw3lUm3GhfREAfza45smvEI9ozuFrxKG10GHVo0ryW9FK5VYlLvxj0SV7HVKHW0voYJIRu27GWg==",
+ "dev": true,
+ "requires": {
+ "anymatch": "1.3.2",
+ "exec-sh": "0.2.1",
+ "fb-watchman": "2.0.0",
+ "fsevents": "1.1.3",
+ "minimatch": "3.0.4",
+ "minimist": "1.2.0",
+ "walker": "1.0.7",
+ "watch": "0.18.0"
+ },
+ "dependencies": {
+ "minimist": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+ "dev": true
+ }
+ }
+ },
+ "sanitize-filename": {
+ "version": "1.6.1",
+ "resolved": "https://registry.npmjs.org/sanitize-filename/-/sanitize-filename-1.6.1.tgz",
+ "integrity": "sha1-YS2hyWRz+gLczaktzVtKsWSmdyo=",
+ "dev": true,
+ "requires": {
+ "truncate-utf8-bytes": "1.0.2"
+ }
+ },
+ "sax": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
+ "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==",
+ "dev": true
+ },
+ "schema-utils": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.3.0.tgz",
+ "integrity": "sha1-9YdyIs4+kx7a4DnxfrNxbnE3+M8=",
+ "requires": {
+ "ajv": "5.5.0"
+ }
+ },
+ "select-hose": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz",
+ "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=",
+ "dev": true
+ },
+ "selfsigned": {
+ "version": "1.10.1",
+ "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.1.tgz",
+ "integrity": "sha1-v4y3uDJWxFUeMTR8YxF3jbme7FI=",
+ "dev": true,
+ "requires": {
+ "node-forge": "0.6.33"
+ },
+ "dependencies": {
+ "node-forge": {
+ "version": "0.6.33",
+ "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.6.33.tgz",
+ "integrity": "sha1-RjgRh59XPUUVWtap9D3ClujoXrw=",
+ "dev": true
+ }
+ }
+ },
+ "semver": {
+ "version": "5.4.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz",
+ "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg=="
+ },
+ "semver-diff": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-2.1.0.tgz",
+ "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=",
+ "dev": true,
+ "requires": {
+ "semver": "5.4.1"
+ }
+ },
+ "send": {
+ "version": "0.16.1",
+ "resolved": "https://registry.npmjs.org/send/-/send-0.16.1.tgz",
+ "integrity": "sha512-ElCLJdJIKPk6ux/Hocwhk7NFHpI3pVm/IZOYWqUmoxcgeyM+MpxHHKhb8QmlJDX1pU6WrgaHBkVNm73Sv7uc2A==",
+ "dev": true,
+ "requires": {
+ "debug": "2.6.9",
+ "depd": "1.1.1",
+ "destroy": "1.0.4",
+ "encodeurl": "1.0.1",
+ "escape-html": "1.0.3",
+ "etag": "1.8.1",
+ "fresh": "0.5.2",
+ "http-errors": "1.6.2",
+ "mime": "1.4.1",
+ "ms": "2.0.0",
+ "on-finished": "2.3.0",
+ "range-parser": "1.2.0",
+ "statuses": "1.3.1"
+ },
+ "dependencies": {
+ "mime": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz",
+ "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==",
+ "dev": true
+ }
+ }
+ },
+ "serve-index": {
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz",
+ "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=",
+ "dev": true,
+ "requires": {
+ "accepts": "1.3.4",
+ "batch": "0.6.1",
+ "debug": "2.6.9",
+ "escape-html": "1.0.3",
+ "http-errors": "1.6.2",
+ "mime-types": "2.1.17",
+ "parseurl": "1.3.2"
+ }
+ },
+ "serve-static": {
+ "version": "1.13.1",
+ "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.1.tgz",
+ "integrity": "sha512-hSMUZrsPa/I09VYFJwa627JJkNs0NrfL1Uzuup+GqHfToR2KcsXFymXSV90hoyw3M+msjFuQly+YzIH/q0MGlQ==",
+ "dev": true,
+ "requires": {
+ "encodeurl": "1.0.1",
+ "escape-html": "1.0.3",
+ "parseurl": "1.3.2",
+ "send": "0.16.1"
+ }
+ },
+ "set-blocking": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
+ "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc="
+ },
+ "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="
+ },
+ "setimmediate": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
+ "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU="
+ },
+ "setprototypeof": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz",
+ "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==",
+ "dev": true
+ },
+ "sha.js": {
+ "version": "2.4.9",
+ "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.9.tgz",
+ "integrity": "sha512-G8zektVqbiPHrylgew9Zg1VRB1L/DtXNUVAM6q4QLy8NE3qtHlFXTf8VLL4k1Yl6c7NMjtZUTdXV+X44nFaT6A==",
+ "dev": true,
+ "requires": {
+ "inherits": "2.0.3",
+ "safe-buffer": "5.1.1"
+ }
+ },
+ "shebang-command": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
+ "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
+ "dev": true,
+ "requires": {
+ "shebang-regex": "1.0.0"
+ }
+ },
+ "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
+ },
+ "shell-quote": {
+ "version": "1.6.1",
+ "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.6.1.tgz",
+ "integrity": "sha1-9HgZSczkAmlxJ0MOo7PFR29IF2c=",
+ "requires": {
+ "array-filter": "0.0.1",
+ "array-map": "0.0.0",
+ "array-reduce": "0.0.0",
+ "jsonify": "0.0.0"
+ }
+ },
+ "shelljs": {
+ "version": "0.7.8",
+ "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.7.8.tgz",
+ "integrity": "sha1-3svPh0sNHl+3LhSxZKloMEjprLM=",
+ "dev": true,
+ "requires": {
+ "glob": "7.1.2",
+ "interpret": "1.0.4",
+ "rechoir": "0.6.2"
+ }
+ },
+ "shellwords": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz",
+ "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==",
+ "dev": true
+ },
+ "signal-exit": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
+ "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0="
+ },
+ "simple-get": {
+ "version": "1.4.3",
+ "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-1.4.3.tgz",
+ "integrity": "sha1-6XVe2kB+ltpAxeUVjJ6jezO+y+s=",
+ "dev": true,
+ "requires": {
+ "once": "1.4.0",
+ "unzip-response": "1.0.2",
+ "xtend": "4.0.1"
+ },
+ "dependencies": {
+ "xtend": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz",
+ "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=",
+ "dev": true
+ }
+ }
+ },
+ "single-line-log": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/single-line-log/-/single-line-log-1.1.2.tgz",
+ "integrity": "sha1-wvg/Jzo+GhbtsJlWYdoO1e8DM2Q=",
+ "dev": true,
+ "requires": {
+ "string-width": "1.0.2"
+ }
+ },
+ "slash": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz",
+ "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=",
+ "dev": true
+ },
+ "slice-ansi": {
+ "version": "0.0.4",
+ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz",
+ "integrity": "sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=",
+ "dev": true
+ },
+ "sntp": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/sntp/-/sntp-2.1.0.tgz",
+ "integrity": "sha512-FL1b58BDrqS3A11lJ0zEdnJ3UOKqVxawAkF3k7F0CVN7VQ34aZrV+G8BZ1WC9ZL7NyrwsW0oviwsWDgRuVYtJg==",
+ "requires": {
+ "hoek": "4.2.0"
+ }
+ },
+ "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.3"
+ },
+ "dependencies": {
+ "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.4",
+ "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.1.4.tgz",
+ "integrity": "sha1-W6vjhrd15M8U51IJEUUmVAFsixI=",
+ "dev": true,
+ "requires": {
+ "debug": "2.6.9",
+ "eventsource": "0.1.6",
+ "faye-websocket": "0.11.1",
+ "inherits": "2.0.3",
+ "json3": "3.3.2",
+ "url-parse": "1.2.0"
+ },
+ "dependencies": {
+ "faye-websocket": {
+ "version": "0.11.1",
+ "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.1.tgz",
+ "integrity": "sha1-8O/hjE9W5PQK/H4Gxxn9XuYYjzg=",
+ "dev": true,
+ "requires": {
+ "websocket-driver": "0.7.0"
+ }
+ }
+ }
+ },
+ "sort-keys": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz",
+ "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=",
+ "requires": {
+ "is-plain-obj": "1.1.0"
+ }
+ },
+ "sort-keys-length": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/sort-keys-length/-/sort-keys-length-1.0.1.tgz",
+ "integrity": "sha1-nLb09OnkgVWmqgZx7dM2/xR5oYg=",
+ "requires": {
+ "sort-keys": "1.1.2"
+ }
+ },
+ "source-list-map": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.0.tgz",
+ "integrity": "sha512-I2UmuJSRr/T8jisiROLU3A3ltr+swpniSmNPI4Ml3ZCX6tVnDsuZzK7F2hl5jTqbZBWCEKlj5HRQiPExXLgE8A==",
+ "dev": true
+ },
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
+ },
+ "source-map-support": {
+ "version": "0.4.18",
+ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz",
+ "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==",
+ "dev": true,
+ "requires": {
+ "source-map": "0.5.7"
+ }
+ },
+ "sourcemapped-stacktrace": {
+ "version": "1.1.7",
+ "resolved": "https://registry.npmjs.org/sourcemapped-stacktrace/-/sourcemapped-stacktrace-1.1.7.tgz",
+ "integrity": "sha512-pgHNUACbafkQ+M5zR00NSOtSKBc/i40prgN+SY07J/pghClwVNWNTTMa0JuXj4lriR2TvMKcPAHw5KN9tVFRhA==",
+ "dev": true,
+ "requires": {
+ "source-map": "0.5.6"
+ },
+ "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
+ }
+ }
+ },
+ "spawn-command": {
+ "version": "0.0.2-1",
+ "resolved": "https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2-1.tgz",
+ "integrity": "sha1-YvXpRmmBwbeW3Fkpk34RycaSG9A=",
+ "dev": true
+ },
+ "spawn-rx": {
+ "version": "2.0.12",
+ "resolved": "https://registry.npmjs.org/spawn-rx/-/spawn-rx-2.0.12.tgz",
+ "integrity": "sha512-gOPXiQQFQ9lTOLuys0iMn3jfxxv9c7zzwhbYLOEbQGvEShHVJ5sSR1oD3Daj88os7jKArDYT7rbOKdvNhe7iEg==",
+ "dev": true,
+ "requires": {
+ "debug": "2.6.9",
+ "lodash.assign": "4.2.0",
+ "rxjs": "5.5.2"
+ },
+ "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
+ }
+ }
+ },
+ "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.2.2"
+ }
+ },
+ "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
+ },
+ "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
+ },
+ "spdy": {
+ "version": "3.4.7",
+ "resolved": "https://registry.npmjs.org/spdy/-/spdy-3.4.7.tgz",
+ "integrity": "sha1-Qv9B7OXMD5mjpsKKq7c/XDsDrLw=",
+ "dev": true,
+ "requires": {
+ "debug": "2.6.9",
+ "handle-thing": "1.2.5",
+ "http-deceiver": "1.2.7",
+ "safe-buffer": "5.1.1",
+ "select-hose": "2.0.0",
+ "spdy-transport": "2.0.20"
+ }
+ },
+ "spdy-transport": {
+ "version": "2.0.20",
+ "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-2.0.20.tgz",
+ "integrity": "sha1-c15yBUxIayNU/onnAiVgBKOazk0=",
+ "dev": true,
+ "requires": {
+ "debug": "2.6.9",
+ "detect-node": "2.0.3",
+ "hpack.js": "2.1.6",
+ "obuf": "1.1.1",
+ "readable-stream": "2.3.3",
+ "safe-buffer": "5.1.1",
+ "wbuf": "1.7.2"
+ }
+ },
+ "speedometer": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/speedometer/-/speedometer-0.1.4.tgz",
+ "integrity": "sha1-mHbb0qFp0xFUAtSObqYynIgWpQ0=",
+ "dev": true
+ },
+ "split": {
+ "version": "0.3.3",
+ "resolved": "https://registry.npmjs.org/split/-/split-0.3.3.tgz",
+ "integrity": "sha1-zQ7qXmOiEd//frDwkcQTPi0N0o8=",
+ "requires": {
+ "through": "2.3.8"
+ }
+ },
+ "sprintf-js": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
+ "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
+ "dev": true
+ },
+ "srp-js": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/srp-js/-/srp-js-0.2.0.tgz",
+ "integrity": "sha1-G40Jb0RvDW6iiULzUBSKmNpeemk=",
+ "requires": {
+ "buffer": "5.0.8",
+ "jsbn": "0.1.1"
+ }
+ },
+ "sshpk": {
+ "version": "1.13.1",
+ "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz",
+ "integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=",
+ "requires": {
+ "asn1": "0.2.3",
+ "assert-plus": "1.0.0",
+ "bcrypt-pbkdf": "1.0.1",
+ "dashdash": "1.14.1",
+ "ecc-jsbn": "0.1.1",
+ "getpass": "0.1.7",
+ "jsbn": "0.1.1",
+ "tweetnacl": "0.14.5"
+ }
+ },
+ "stackframe": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-0.3.1.tgz",
+ "integrity": "sha1-M6qE8Rd6VUjIk1Uzy/6zQgl19aQ=",
+ "dev": true
+ },
+ "stat-mode": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/stat-mode/-/stat-mode-0.2.2.tgz",
+ "integrity": "sha1-5sgLYjEj19gM8TLOU480YokHJQI=",
+ "dev": true
+ },
+ "static-eval": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/static-eval/-/static-eval-0.2.3.tgz",
+ "integrity": "sha1-Aj8XrJ/uQm6niMEuo5IG3Bdfiyo=",
+ "requires": {
+ "escodegen": "0.0.28"
+ },
+ "dependencies": {
+ "escodegen": {
+ "version": "0.0.28",
+ "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-0.0.28.tgz",
+ "integrity": "sha1-Dk/xcV8yh3XWyrUaxEpAbNer/9M=",
+ "requires": {
+ "esprima": "1.0.4",
+ "estraverse": "1.3.2",
+ "source-map": "0.5.7"
+ }
+ },
+ "esprima": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz",
+ "integrity": "sha1-n1V+CPw7TSbs6d00+Pv0drYlha0="
+ },
+ "estraverse": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.3.2.tgz",
+ "integrity": "sha1-N8K4k+8T1yPydth41g2FNRUqbEI="
+ }
+ }
+ },
+ "statuses": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz",
+ "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=",
+ "dev": true
+ },
+ "stream-browserify": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz",
+ "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=",
+ "dev": true,
+ "requires": {
+ "inherits": "2.0.3",
+ "readable-stream": "2.3.3"
+ }
+ },
+ "stream-combiner": {
+ "version": "0.0.4",
+ "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz",
+ "integrity": "sha1-TV5DPBhSYd3mI8o/RMWGvPXErRQ=",
+ "requires": {
+ "duplexer": "0.1.1"
+ }
+ },
+ "stream-http": {
+ "version": "2.7.2",
+ "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.7.2.tgz",
+ "integrity": "sha512-c0yTD2rbQzXtSsFSVhtpvY/vS6u066PcXOX9kBB3mSO76RiUQzL340uJkGBWnlBg4/HZzqiUXtaVA7wcRcJgEw==",
+ "dev": true,
+ "requires": {
+ "builtin-status-codes": "3.0.0",
+ "inherits": "2.0.3",
+ "readable-stream": "2.3.3",
+ "to-arraybuffer": "1.0.1",
+ "xtend": "4.0.1"
+ },
+ "dependencies": {
+ "xtend": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz",
+ "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=",
+ "dev": true
+ }
+ }
+ },
+ "strict-uri-encode": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz",
+ "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=",
+ "dev": true
+ },
+ "string-length": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/string-length/-/string-length-2.0.0.tgz",
+ "integrity": "sha1-1A27aGo6zpYMHP/KVivyxF+DY+0=",
+ "dev": true,
+ "requires": {
+ "astral-regex": "1.0.0",
+ "strip-ansi": "4.0.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
+ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
+ "dev": true
+ },
+ "strip-ansi": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
+ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "3.0.0"
+ }
+ }
+ }
+ },
+ "string-width": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
+ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+ "requires": {
+ "code-point-at": "1.1.0",
+ "is-fullwidth-code-point": "1.0.0",
+ "strip-ansi": "3.0.1"
+ }
+ },
+ "string_decoder": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz",
+ "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==",
+ "requires": {
+ "safe-buffer": "5.1.1"
+ }
+ },
+ "stringstream": {
+ "version": "0.0.5",
+ "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz",
+ "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg="
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "requires": {
+ "ansi-regex": "2.1.1"
+ }
+ },
+ "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.1"
+ }
+ },
+ "strip-eof": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
+ "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
+ "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"
+ }
+ },
+ "strip-json-comments": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
+ "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo="
+ },
+ "style-loader": {
+ "version": "0.19.0",
+ "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.19.0.tgz",
+ "integrity": "sha512-9mx9sC9nX1dgP96MZOODpGC6l1RzQBITI2D5WJhu+wnbrSYVKLGuy14XJSLVQih/0GFrPpjelt+s//VcZQ2Evw==",
+ "dev": true,
+ "requires": {
+ "loader-utils": "1.1.0",
+ "schema-utils": "0.3.0"
+ }
+ },
+ "sumchecker": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/sumchecker/-/sumchecker-1.3.1.tgz",
+ "integrity": "sha1-ebs7RFbdBPGOvbwNcDodHa7FEF0=",
+ "dev": true,
+ "requires": {
+ "debug": "2.6.9",
+ "es6-promise": "4.1.1"
+ }
+ },
+ "supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
+ },
+ "svgo": {
+ "version": "0.7.2",
+ "resolved": "https://registry.npmjs.org/svgo/-/svgo-0.7.2.tgz",
+ "integrity": "sha1-n1dyQTlSE1xv779Ar+ak+qiLS7U=",
+ "dev": true,
+ "requires": {
+ "coa": "1.0.4",
+ "colors": "1.1.2",
+ "csso": "2.3.2",
+ "js-yaml": "3.7.0",
+ "mkdirp": "0.5.1",
+ "sax": "1.2.4",
+ "whet.extend": "0.9.9"
+ }
+ },
+ "symbol-observable": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.4.tgz",
+ "integrity": "sha1-Kb9hXUqnEhvdiYsi1LP5vE4qoD0="
+ },
+ "symbol-tree": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.2.tgz",
+ "integrity": "sha1-rifbOPZgp64uHDt9G8KQgZuFGeY=",
+ "dev": true
+ },
+ "table": {
+ "version": "3.8.3",
+ "resolved": "https://registry.npmjs.org/table/-/table-3.8.3.tgz",
+ "integrity": "sha1-K7xULw/amGGnVdOUf+/Ys/UThV8=",
+ "dev": true,
+ "requires": {
+ "ajv": "4.11.8",
+ "ajv-keywords": "1.5.1",
+ "chalk": "1.1.3",
+ "lodash": "4.17.4",
+ "slice-ansi": "0.0.4",
+ "string-width": "2.1.1"
+ },
+ "dependencies": {
+ "ajv": {
+ "version": "4.11.8",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz",
+ "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=",
+ "dev": true,
+ "requires": {
+ "co": "4.6.0",
+ "json-stable-stringify": "1.0.1"
+ }
+ },
+ "ajv-keywords": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-1.5.1.tgz",
+ "integrity": "sha1-MU3QpLM2j609/NxU7eYXG4htrzw=",
+ "dev": true
+ },
+ "ansi-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
+ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
+ "dev": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+ "dev": true
+ },
+ "string-width": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
+ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
+ "dev": true,
+ "requires": {
+ "is-fullwidth-code-point": "2.0.0",
+ "strip-ansi": "4.0.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
+ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "3.0.0"
+ }
+ }
+ }
+ },
+ "taffydb": {
+ "version": "2.6.2",
+ "resolved": "https://registry.npmjs.org/taffydb/-/taffydb-2.6.2.tgz",
+ "integrity": "sha1-fLy2S1oUG2ou/CxdLGe04VCyomg="
+ },
+ "tapable": {
+ "version": "0.2.8",
+ "resolved": "https://registry.npmjs.org/tapable/-/tapable-0.2.8.tgz",
+ "integrity": "sha1-mTcqXJmb8t8WCvwNdL7U9HlIzSI=",
+ "dev": true
+ },
+ "tar": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/tar/-/tar-3.2.1.tgz",
+ "integrity": "sha512-ZSzds1E0IqutvMU8HxjMaU8eB7urw2fGwTq88ukDOVuUIh0656l7/P7LiVPxhO5kS4flcRJQk8USG+cghQbTUQ==",
+ "requires": {
+ "chownr": "1.0.1",
+ "minipass": "2.2.1",
+ "minizlib": "1.0.4",
+ "mkdirp": "0.5.1",
+ "yallist": "3.0.2"
+ },
+ "dependencies": {
+ "yallist": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.2.tgz",
+ "integrity": "sha1-hFK0u36Dx8GI2AQcGoN8dz1ti7k="
+ }
+ }
+ },
+ "tar-fs": {
+ "version": "1.16.0",
+ "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-1.16.0.tgz",
+ "integrity": "sha512-I9rb6v7mjWLtOfCau9eH5L7sLJyU2BnxtEZRQ5Mt+eRKmf1F0ohXmT/Jc3fr52kDvjJ/HV5MH3soQfPL5bQ0Yg==",
+ "dev": true,
+ "requires": {
+ "chownr": "1.0.1",
+ "mkdirp": "0.5.1",
+ "pump": "1.0.3",
+ "tar-stream": "1.5.5"
+ }
+ },
+ "tar-pack": {
+ "version": "3.4.1",
+ "resolved": "https://registry.npmjs.org/tar-pack/-/tar-pack-3.4.1.tgz",
+ "integrity": "sha512-PPRybI9+jM5tjtCbN2cxmmRU7YmqT3Zv/UDy48tAh2XRkLa9bAORtSWLkVc13+GJF+cdTh1yEnHEk3cpTaL5Kg==",
+ "requires": {
+ "debug": "2.6.9",
+ "fstream": "1.0.11",
+ "fstream-ignore": "1.0.5",
+ "once": "1.4.0",
+ "readable-stream": "2.3.3",
+ "rimraf": "2.6.2",
+ "tar": "2.2.1",
+ "uid-number": "0.0.6"
+ },
+ "dependencies": {
+ "tar": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz",
+ "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=",
+ "requires": {
+ "block-stream": "0.0.9",
+ "fstream": "1.0.11",
+ "inherits": "2.0.3"
+ }
+ }
+ }
+ },
+ "tar-stream": {
+ "version": "1.5.5",
+ "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.5.5.tgz",
+ "integrity": "sha512-mQdgLPc/Vjfr3VWqWbfxW8yQNiJCbAZ+Gf6GDu1Cy0bdb33ofyiNGBtAY96jHFhDuivCwgW1H9DgTON+INiXgg==",
+ "dev": true,
+ "requires": {
+ "bl": "1.2.1",
+ "end-of-stream": "1.4.0",
+ "readable-stream": "2.3.3",
+ "xtend": "4.0.1"
+ },
+ "dependencies": {
+ "xtend": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz",
+ "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=",
+ "dev": true
+ }
+ }
+ },
+ "temp-file": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/temp-file/-/temp-file-2.1.3.tgz",
+ "integrity": "sha512-UP2O7J8OGDElktJy+WRkKHqNBXTOK2NRQM0TBhq8jpPReHBaWgUsX6sQfElcEVjiyJKVwJWE3kgWz9SIFRAFpA==",
+ "dev": true,
+ "requires": {
+ "async-exit-hook": "2.0.1",
+ "bluebird-lst": "1.0.5",
+ "fs-extra-p": "4.4.4",
+ "lazy-val": "1.0.2"
+ }
+ },
+ "term-size": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz",
+ "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=",
+ "dev": true,
+ "requires": {
+ "execa": "0.7.0"
+ }
+ },
+ "test-exclude": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-4.1.1.tgz",
+ "integrity": "sha512-35+Asrsk3XHJDBgf/VRFexPgh3UyETv8IAn/LRTiZjVy6rjPVqdEk8dJcJYBzl1w0XCJM48lvTy8SfEsCWS4nA==",
+ "dev": true,
+ "requires": {
+ "arrify": "1.0.1",
+ "micromatch": "2.3.11",
+ "object-assign": "4.1.1",
+ "read-pkg-up": "1.0.1",
+ "require-main-filename": "1.0.1"
+ }
+ },
+ "text-table": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
+ "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
+ "dev": true
+ },
+ "throat": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/throat/-/throat-4.1.0.tgz",
+ "integrity": "sha1-iQN8vJLFarGJJua6TLsgDhVnKmo=",
+ "dev": true
+ },
+ "throttleit": {
+ "version": "0.0.2",
+ "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-0.0.2.tgz",
+ "integrity": "sha1-z+34jmDADdlpe2H90qg0OptoDq8=",
+ "dev": true
+ },
+ "through": {
+ "version": "2.3.8",
+ "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
+ "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU="
+ },
+ "through2": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/through2/-/through2-0.2.3.tgz",
+ "integrity": "sha1-6zKE2k6jEbbMis42U3SKUqvyWj8=",
+ "dev": true,
+ "requires": {
+ "readable-stream": "1.1.14",
+ "xtend": "2.1.2"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
+ "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.2",
+ "inherits": "2.0.3",
+ "isarray": "0.0.1",
+ "string_decoder": "0.10.31"
+ }
+ },
+ "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
+ }
+ }
+ },
+ "thunky": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/thunky/-/thunky-0.1.0.tgz",
+ "integrity": "sha1-vzAUaCTituZ7Dy16Ssi+smkIaE4=",
+ "dev": true
+ },
+ "time-stamp": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-2.0.0.tgz",
+ "integrity": "sha1-lcakRTDhW6jW9KPsuMOj+sRto1c=",
+ "dev": true
+ },
+ "timed-out": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz",
+ "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=",
+ "dev": true
+ },
+ "timers-browserify": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.4.tgz",
+ "integrity": "sha512-uZYhyU3EX8O7HQP+J9fTVYwsq90Vr68xPEFo7yrVImIxYvHgukBEgOB/SgGoorWVTzGM/3Z+wUNnboA4M8jWrg==",
+ "dev": true,
+ "requires": {
+ "setimmediate": "1.0.5"
+ }
+ },
+ "tmpl": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz",
+ "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=",
+ "dev": true
+ },
+ "to-arraybuffer": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz",
+ "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=",
+ "dev": true
+ },
+ "to-fast-properties": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz",
+ "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=",
+ "dev": true
+ },
+ "tough-cookie": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz",
+ "integrity": "sha1-C2GKVWW23qkL80JdBNVe3EdadWE=",
+ "requires": {
+ "punycode": "1.4.1"
+ }
+ },
+ "tr46": {
+ "version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
+ "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=",
+ "dev": true
+ },
+ "tree-kill": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.0.tgz",
+ "integrity": "sha512-DlX6dR0lOIRDFxI0mjL9IYg6OTncLm/Zt+JiBhE5OlFcAR8yc9S7FFXU9so0oda47frdM/JFsk7UjNt9vscKcg==",
+ "dev": true
+ },
+ "trim-newlines": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz",
+ "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=",
+ "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
+ },
+ "truncate-utf8-bytes": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz",
+ "integrity": "sha1-QFkjkJWS1W94pYGENLC3hInKXys=",
+ "dev": true,
+ "requires": {
+ "utf8-byte-length": "1.0.4"
+ }
+ },
+ "tryit": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/tryit/-/tryit-1.0.3.tgz",
+ "integrity": "sha1-OTvnMKlEb9Hq1tpZoBQwjzbCics=",
+ "dev": true
+ },
+ "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
+ },
+ "tunnel-agent": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
+ "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
+ "requires": {
+ "safe-buffer": "5.1.1"
+ }
+ },
+ "tweetnacl": {
+ "version": "0.14.5",
+ "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
+ "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
+ "optional": true
+ },
+ "type-check": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
+ "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
+ "requires": {
+ "prelude-ls": "1.1.2"
+ }
+ },
+ "type-is": {
+ "version": "1.6.15",
+ "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.15.tgz",
+ "integrity": "sha1-yrEPtJCeRByChC6v4a1kbIGARBA=",
+ "dev": true,
+ "requires": {
+ "media-typer": "0.3.0",
+ "mime-types": "2.1.17"
+ }
+ },
+ "typedarray": {
+ "version": "0.0.6",
+ "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
+ "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
+ "dev": true
+ },
+ "ua-parser-js": {
+ "version": "0.7.17",
+ "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.17.tgz",
+ "integrity": "sha512-uRdSdu1oA1rncCQL7sCj8vSyZkgtL7faaw9Tc9rZ3mGgraQ7+Pdx7w5mnOSF3gw9ZNG6oc+KXfkon3bKuROm0g=="
+ },
+ "uglify-js": {
+ "version": "2.8.29",
+ "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz",
+ "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=",
+ "dev": true,
+ "requires": {
+ "source-map": "0.5.7",
+ "uglify-to-browserify": "1.0.2",
+ "yargs": "3.10.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.3",
+ "right-align": "0.1.3",
+ "wordwrap": "0.0.2"
+ }
+ },
+ "wordwrap": {
+ "version": "0.0.2",
+ "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz",
+ "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=",
+ "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.2.1",
+ "cliui": "2.1.0",
+ "decamelize": "1.2.0",
+ "window-size": "0.1.0"
+ }
+ }
+ }
+ },
+ "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
+ },
+ "uglifyjs-webpack-plugin": {
+ "version": "0.4.6",
+ "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-0.4.6.tgz",
+ "integrity": "sha1-uVH0q7a9YX5m9j64kUmOORdj4wk=",
+ "dev": true,
+ "requires": {
+ "source-map": "0.5.7",
+ "uglify-js": "2.8.29",
+ "webpack-sources": "1.0.2"
+ }
+ },
+ "uid-number": {
+ "version": "0.0.6",
+ "resolved": "https://registry.npmjs.org/uid-number/-/uid-number-0.0.6.tgz",
+ "integrity": "sha1-DqEOgDXo61uOREnwbaHHMGY7qoE="
+ },
+ "underscore": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz",
+ "integrity": "sha1-izixDKze9jM3uLJOT/htRa6lKag="
+ },
+ "underscore-contrib": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/underscore-contrib/-/underscore-contrib-0.3.0.tgz",
+ "integrity": "sha1-ZltmwkeD+PorGMn4y7Dix9SMJsc=",
+ "requires": {
+ "underscore": "1.6.0"
+ }
+ },
+ "uniq": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz",
+ "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=",
+ "dev": true
+ },
+ "uniqid": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/uniqid/-/uniqid-4.1.1.tgz",
+ "integrity": "sha1-iSIN32t1GuUrX3JISGNShZa7hME=",
+ "dev": true,
+ "requires": {
+ "macaddress": "0.2.8"
+ }
+ },
+ "uniqs": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz",
+ "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=",
+ "dev": true
+ },
+ "unique-string": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz",
+ "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=",
+ "dev": true,
+ "requires": {
+ "crypto-random-string": "1.0.0"
+ }
+ },
+ "universalify": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.1.tgz",
+ "integrity": "sha1-+nG63UQ3r0wUiEHjs7Fl+enlkLc="
+ },
+ "unpipe": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
+ "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=",
+ "dev": true
+ },
+ "unreachable-branch-transform": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/unreachable-branch-transform/-/unreachable-branch-transform-0.3.0.tgz",
+ "integrity": "sha1-2ZzExudG0mSSiEW2EdtUsPNHTKo=",
+ "requires": {
+ "esmangle-evaluator": "1.0.1",
+ "recast": "0.10.43",
+ "through2": "0.6.5"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8="
+ },
+ "readable-stream": {
+ "version": "1.0.34",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "0.0.1",
+ "string_decoder": "0.10.31"
+ }
+ },
+ "string_decoder": {
+ "version": "0.10.31",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ="
+ },
+ "through2": {
+ "version": "0.6.5",
+ "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
+ "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
+ "requires": {
+ "readable-stream": "1.0.34",
+ "xtend": "4.0.1"
+ }
+ },
+ "xtend": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz",
+ "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68="
+ }
+ }
+ },
+ "unused-filename": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/unused-filename/-/unused-filename-1.0.0.tgz",
+ "integrity": "sha1-00CID3GuIRXrqhMlvvBcxmhEacY=",
+ "requires": {
+ "modify-filename": "1.1.0",
+ "path-exists": "3.0.0"
+ }
+ },
+ "unzip-response": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-1.0.2.tgz",
+ "integrity": "sha1-uYTwh3/AqJwsdzzB73tbIytbBv4=",
+ "dev": true
+ },
+ "update-notifier": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-2.3.0.tgz",
+ "integrity": "sha1-TognpruRUUCrCTVZ1wFOPruDdFE=",
+ "dev": true,
+ "requires": {
+ "boxen": "1.2.2",
+ "chalk": "2.3.0",
+ "configstore": "3.1.1",
+ "import-lazy": "2.1.0",
+ "is-installed-globally": "0.1.0",
+ "is-npm": "1.0.0",
+ "latest-version": "3.1.0",
+ "semver-diff": "2.1.0",
+ "xdg-basedir": "3.0.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
+ "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==",
+ "dev": true,
+ "requires": {
+ "color-convert": "1.9.1"
+ }
+ },
+ "chalk": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz",
+ "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "3.2.0",
+ "escape-string-regexp": "1.0.5",
+ "supports-color": "4.5.0"
+ }
+ },
+ "has-flag": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz",
+ "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz",
+ "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=",
+ "dev": true,
+ "requires": {
+ "has-flag": "2.0.0"
+ }
+ }
+ }
+ },
+ "url": {
+ "version": "0.11.0",
+ "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
+ "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=",
+ "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
+ }
+ }
+ },
+ "url-loader": {
+ "version": "0.6.2",
+ "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-0.6.2.tgz",
+ "integrity": "sha512-h3qf9TNn53BpuXTTcpC+UehiRrl0Cv45Yr/xWayApjw6G8Bg2dGke7rIwDQ39piciWCWrC+WiqLjOh3SUp9n0Q==",
+ "dev": true,
+ "requires": {
+ "loader-utils": "1.1.0",
+ "mime": "1.5.0",
+ "schema-utils": "0.3.0"
+ },
+ "dependencies": {
+ "mime": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-1.5.0.tgz",
+ "integrity": "sha512-v/jMDoK/qKptnTuC3YUNbIj8uUYvTCIHzVu9BHldKSWja48wusAtfjlcBlqnFrqClu3yf69ScDxBPrIyFnF51g==",
+ "dev": true
+ }
+ }
+ },
+ "url-parse": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.2.0.tgz",
+ "integrity": "sha512-DT1XbYAfmQP65M/mE6OALxmXzZ/z1+e5zk2TcSKe/KiYbNGZxgtttzC0mR/sjopbpOXcbniq7eIKmocJnUWlEw==",
+ "dev": true,
+ "requires": {
+ "querystringify": "1.0.0",
+ "requires-port": "1.0.0"
+ },
+ "dependencies": {
+ "querystringify": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-1.0.0.tgz",
+ "integrity": "sha1-YoYkIRLFtxL6ZU5SZlK/ahP/Bcs=",
+ "dev": true
+ }
+ }
+ },
+ "url-parse-lax": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz",
+ "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=",
+ "dev": true,
+ "requires": {
+ "prepend-http": "1.0.4"
+ }
+ },
+ "user-home": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz",
+ "integrity": "sha1-K1viOjK2Onyd640PKNSFcko98ZA=",
+ "dev": true
+ },
+ "utf8-byte-length": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz",
+ "integrity": "sha1-9F8VDExm7uloGGUFq5P8u4rWv2E=",
+ "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
+ }
+ }
+ },
+ "util-deprecate": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
+ },
+ "utils-merge": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
+ "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=",
+ "dev": true
+ },
+ "uuid": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz",
+ "integrity": "sha512-DIWtzUkw04M4k3bf1IcpS2tngXEL26YUD2M0tMDUpnUrz2hgzUBlD55a4FjdLGPvfHxS6uluGWvaVEqgBcVa+g=="
+ },
+ "v8flags": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-2.1.1.tgz",
+ "integrity": "sha1-qrGh+jDUX4jdMhFIh1rALAtV5bQ=",
+ "dev": true,
+ "requires": {
+ "user-home": "1.1.1"
+ }
+ },
+ "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.2",
+ "spdx-expression-parse": "1.0.4"
+ }
+ },
+ "vary": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
+ "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=",
+ "dev": true
+ },
+ "vendors": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.1.tgz",
+ "integrity": "sha1-N61zyO5Bf7PVgOeFMSMH0nSEfyI=",
+ "dev": true
+ },
+ "verror": {
+ "version": "1.10.0",
+ "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
+ "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
+ "requires": {
+ "assert-plus": "1.0.0",
+ "core-util-is": "1.0.2",
+ "extsprintf": "1.3.0"
+ }
+ },
+ "vkbeautify": {
+ "version": "0.99.3",
+ "resolved": "https://registry.npmjs.org/vkbeautify/-/vkbeautify-0.99.3.tgz",
+ "integrity": "sha512-2ozZEFfmVvQcHWoHLNuiKlUfDKlhh4KGsy54U0UrlLMR1SO+XKAIDqBxtBwHgNrekurlJwE8A9K6L49T78ZQ9Q=="
+ },
+ "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"
+ }
+ },
+ "walker": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz",
+ "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=",
+ "dev": true,
+ "requires": {
+ "makeerror": "1.0.11"
+ }
+ },
+ "watch": {
+ "version": "0.18.0",
+ "resolved": "https://registry.npmjs.org/watch/-/watch-0.18.0.tgz",
+ "integrity": "sha1-KAlUdsbffJDJYxOJkMClQj60uYY=",
+ "dev": true,
+ "requires": {
+ "exec-sh": "0.2.1",
+ "minimist": "1.2.0"
+ },
+ "dependencies": {
+ "minimist": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+ "dev": true
+ }
+ }
+ },
+ "watchpack": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.4.0.tgz",
+ "integrity": "sha1-ShRyvLuVK9Cpu0A2gB+VTfs5+qw=",
+ "dev": true,
+ "requires": {
+ "async": "2.6.0",
+ "chokidar": "1.7.0",
+ "graceful-fs": "4.1.11"
+ }
+ },
+ "wbuf": {
+ "version": "1.7.2",
+ "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.2.tgz",
+ "integrity": "sha1-1pe5nx9ZUS3ydRvkJ2nBWAtYAf4=",
+ "dev": true,
+ "requires": {
+ "minimalistic-assert": "1.0.0"
+ }
+ },
+ "webidl-conversions": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz",
+ "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==",
+ "dev": true
+ },
+ "webpack": {
+ "version": "3.8.1",
+ "resolved": "https://registry.npmjs.org/webpack/-/webpack-3.8.1.tgz",
+ "integrity": "sha512-5ZXLWWsMqHKFr5y0N3Eo5IIisxeEeRAajNq4mELb/WELOR7srdbQk2N5XiyNy2A/AgvlR3AmeBCZJW8lHrolbw==",
+ "dev": true,
+ "requires": {
+ "acorn": "5.2.1",
+ "acorn-dynamic-import": "2.0.2",
+ "ajv": "5.5.0",
+ "ajv-keywords": "2.1.1",
+ "async": "2.6.0",
+ "enhanced-resolve": "3.4.1",
+ "escope": "3.6.0",
+ "interpret": "1.0.4",
+ "json-loader": "0.5.7",
+ "json5": "0.5.1",
+ "loader-runner": "2.3.0",
+ "loader-utils": "1.1.0",
+ "memory-fs": "0.4.1",
+ "mkdirp": "0.5.1",
+ "node-libs-browser": "2.1.0",
+ "source-map": "0.5.7",
+ "supports-color": "4.5.0",
+ "tapable": "0.2.8",
+ "uglifyjs-webpack-plugin": "0.4.6",
+ "watchpack": "1.4.0",
+ "webpack-sources": "1.0.2",
+ "yargs": "8.0.2"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
+ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
+ "dev": true
+ },
+ "camelcase": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz",
+ "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=",
+ "dev": true
+ },
+ "has-flag": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz",
+ "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=",
+ "dev": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+ "dev": true
+ },
+ "load-json-file": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz",
+ "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11",
+ "parse-json": "2.2.0",
+ "pify": "2.3.0",
+ "strip-bom": "3.0.0"
+ }
+ },
+ "path-type": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz",
+ "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=",
+ "dev": true,
+ "requires": {
+ "pify": "2.3.0"
+ }
+ },
+ "read-pkg": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz",
+ "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=",
+ "dev": true,
+ "requires": {
+ "load-json-file": "2.0.0",
+ "normalize-package-data": "2.4.0",
+ "path-type": "2.0.0"
+ }
+ },
+ "read-pkg-up": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz",
+ "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=",
+ "dev": true,
+ "requires": {
+ "find-up": "2.1.0",
+ "read-pkg": "2.0.0"
+ }
+ },
+ "string-width": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
+ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
+ "dev": true,
+ "requires": {
+ "is-fullwidth-code-point": "2.0.0",
+ "strip-ansi": "4.0.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
+ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "3.0.0"
+ }
+ },
+ "strip-bom": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
+ "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz",
+ "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=",
+ "dev": true,
+ "requires": {
+ "has-flag": "2.0.0"
+ }
+ },
+ "yargs": {
+ "version": "8.0.2",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-8.0.2.tgz",
+ "integrity": "sha1-YpmpBVsc78lp/355wdkY3Osiw2A=",
+ "dev": true,
+ "requires": {
+ "camelcase": "4.1.0",
+ "cliui": "3.2.0",
+ "decamelize": "1.2.0",
+ "get-caller-file": "1.0.2",
+ "os-locale": "2.1.0",
+ "read-pkg-up": "2.0.0",
+ "require-directory": "2.1.1",
+ "require-main-filename": "1.0.1",
+ "set-blocking": "2.0.0",
+ "string-width": "2.1.1",
+ "which-module": "2.0.0",
+ "y18n": "3.2.1",
+ "yargs-parser": "7.0.0"
+ }
+ },
+ "yargs-parser": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz",
+ "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=",
+ "dev": true,
+ "requires": {
+ "camelcase": "4.1.0"
+ }
+ }
+ }
+ },
+ "webpack-core": {
+ "version": "0.6.9",
+ "resolved": "https://registry.npmjs.org/webpack-core/-/webpack-core-0.6.9.tgz",
+ "integrity": "sha1-/FcViMhVjad76e+23r3Fo7FyvcI=",
+ "dev": true,
+ "requires": {
+ "source-list-map": "0.1.8",
+ "source-map": "0.4.4"
+ },
+ "dependencies": {
+ "source-list-map": {
+ "version": "0.1.8",
+ "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-0.1.8.tgz",
+ "integrity": "sha1-xVCyq1Qn9rPyH1r+rYjE9Vh7IQY=",
+ "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": "1.0.1"
+ }
+ }
+ }
+ },
+ "webpack-dev-middleware": {
+ "version": "1.12.1",
+ "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-1.12.1.tgz",
+ "integrity": "sha512-UzyVg/CKBKkymDpqOoQ4mWTs9zQp0DPCY8zbol9K0tPhqoM+JU5knKGXyMQ/Cdrmzb9Cw3eetm67fIsJ7u7ryg==",
+ "dev": true,
+ "requires": {
+ "memory-fs": "0.4.1",
+ "mime": "1.5.0",
+ "path-is-absolute": "1.0.1",
+ "range-parser": "1.2.0",
+ "time-stamp": "2.0.0"
+ },
+ "dependencies": {
+ "mime": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-1.5.0.tgz",
+ "integrity": "sha512-v/jMDoK/qKptnTuC3YUNbIj8uUYvTCIHzVu9BHldKSWja48wusAtfjlcBlqnFrqClu3yf69ScDxBPrIyFnF51g==",
+ "dev": true
+ }
+ }
+ },
+ "webpack-dev-server": {
+ "version": "2.9.4",
+ "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-2.9.4.tgz",
+ "integrity": "sha512-thrqC0EQEoSjXeYgP6pUXcUCZ+LNrKsDPn+mItLnn5VyyNZOJKd06hUP5vqkYwL8nWWXsii0loSF9NHNccT6ow==",
+ "dev": true,
+ "requires": {
+ "ansi-html": "0.0.7",
+ "array-includes": "3.0.3",
+ "bonjour": "3.5.0",
+ "chokidar": "1.7.0",
+ "compression": "1.7.1",
+ "connect-history-api-fallback": "1.5.0",
+ "debug": "3.1.0",
+ "del": "3.0.0",
+ "express": "4.16.2",
+ "html-entities": "1.2.1",
+ "http-proxy-middleware": "0.17.4",
+ "import-local": "0.1.1",
+ "internal-ip": "1.2.0",
+ "ip": "1.1.5",
+ "killable": "1.0.0",
+ "loglevel": "1.6.0",
+ "opn": "5.1.0",
+ "portfinder": "1.0.13",
+ "selfsigned": "1.10.1",
+ "serve-index": "1.9.1",
+ "sockjs": "0.3.18",
+ "sockjs-client": "1.1.4",
+ "spdy": "3.4.7",
+ "strip-ansi": "3.0.1",
+ "supports-color": "4.5.0",
+ "webpack-dev-middleware": "1.12.1",
+ "yargs": "6.6.0"
+ },
+ "dependencies": {
+ "camelcase": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz",
+ "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=",
+ "dev": true
+ },
+ "debug": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
+ "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "del": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/del/-/del-3.0.0.tgz",
+ "integrity": "sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU=",
+ "dev": true,
+ "requires": {
+ "globby": "6.1.0",
+ "is-path-cwd": "1.0.0",
+ "is-path-in-cwd": "1.0.0",
+ "p-map": "1.2.0",
+ "pify": "3.0.0",
+ "rimraf": "2.6.2"
+ }
+ },
+ "globby": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz",
+ "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=",
+ "dev": true,
+ "requires": {
+ "array-union": "1.0.2",
+ "glob": "7.1.2",
+ "object-assign": "4.1.1",
+ "pify": "2.3.0",
+ "pinkie-promise": "2.0.1"
+ },
+ "dependencies": {
+ "pify": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
+ "dev": true
+ }
+ }
+ },
+ "has-flag": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz",
+ "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=",
+ "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"
+ }
+ },
+ "pify": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
+ "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz",
+ "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=",
+ "dev": true,
+ "requires": {
+ "has-flag": "2.0.0"
+ }
+ },
+ "which-module": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz",
+ "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=",
+ "dev": true
+ },
+ "yargs": {
+ "version": "6.6.0",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-6.6.0.tgz",
+ "integrity": "sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg=",
+ "dev": true,
+ "requires": {
+ "camelcase": "3.0.0",
+ "cliui": "3.2.0",
+ "decamelize": "1.2.0",
+ "get-caller-file": "1.0.2",
+ "os-locale": "1.4.0",
+ "read-pkg-up": "1.0.1",
+ "require-directory": "2.1.1",
+ "require-main-filename": "1.0.1",
+ "set-blocking": "2.0.0",
+ "string-width": "1.0.2",
+ "which-module": "1.0.0",
+ "y18n": "3.2.1",
+ "yargs-parser": "4.2.1"
+ }
+ },
+ "yargs-parser": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-4.2.1.tgz",
+ "integrity": "sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw=",
+ "dev": true,
+ "requires": {
+ "camelcase": "3.0.0"
+ }
+ }
+ }
+ },
+ "webpack-sources": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.0.2.tgz",
+ "integrity": "sha512-Y7UddMCv6dGjy81nBv6nuQeFFIt5aalHm7uyDsAsW86nZwfOVPGRr3XMjEQLaT+WKo8rlzhC9qtbJvYKLtAwaw==",
+ "dev": true,
+ "requires": {
+ "source-list-map": "2.0.0",
+ "source-map": "0.6.1"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ }
+ }
+ },
+ "webpack-target-electron-renderer": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/webpack-target-electron-renderer/-/webpack-target-electron-renderer-0.4.0.tgz",
+ "integrity": "sha1-UJM3CIVgRM/vFBk8qvMgriGc/aI=",
+ "dev": true,
+ "requires": {
+ "webpack": "1.15.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
+ },
+ "browserify-aes": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-0.4.0.tgz",
+ "integrity": "sha1-BnFJtmjfMcS1hTPgLQHoBthgjiw=",
+ "dev": true,
+ "requires": {
+ "inherits": "2.0.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.9"
+ }
+ },
+ "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.2.0",
+ "ieee754": "1.1.8",
+ "isarray": "1.0.0"
+ }
+ },
+ "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.3",
+ "right-align": "0.1.3",
+ "wordwrap": "0.0.2"
+ }
+ },
+ "clone": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.3.tgz",
+ "integrity": "sha1-KY1+IjFmD0DAA8LtMUDezz9TCF8=",
+ "dev": true
+ },
+ "crypto-browserify": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.3.0.tgz",
+ "integrity": "sha1-ufx1u0oO1h3PHNXa6W6zDJw+UGw=",
+ "dev": true,
+ "requires": {
+ "browserify-aes": "0.4.0",
+ "pbkdf2-compat": "2.0.1",
+ "ripemd160": "0.2.0",
+ "sha.js": "2.2.6"
+ }
+ },
+ "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.11",
+ "memory-fs": "0.2.0",
+ "tapable": "0.1.10"
+ },
+ "dependencies": {
+ "memory-fs": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.2.0.tgz",
+ "integrity": "sha1-8rslNovBIeORwlIN6Slpyu4KApA=",
+ "dev": true
+ }
+ }
+ },
+ "https-browserify": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-0.0.1.tgz",
+ "integrity": "sha1-P5E2XKvmC3ftDruiS0VOPgnZWoI=",
+ "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.17",
+ "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz",
+ "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=",
+ "dev": true,
+ "requires": {
+ "big.js": "3.2.0",
+ "emojis-list": "2.1.0",
+ "json5": "0.5.1",
+ "object-assign": "4.1.1"
+ }
+ },
+ "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.4",
+ "readable-stream": "2.3.3"
+ }
+ },
+ "node-libs-browser": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-0.7.0.tgz",
+ "integrity": "sha1-PicsCBnjCJNeJmdECNevDhSRuDs=",
+ "dev": true,
+ "requires": {
+ "assert": "1.4.1",
+ "browserify-zlib": "0.1.4",
+ "buffer": "4.9.1",
+ "console-browserify": "1.1.0",
+ "constants-browserify": "1.0.0",
+ "crypto-browserify": "3.3.0",
+ "domain-browser": "1.1.7",
+ "events": "1.1.1",
+ "https-browserify": "0.0.1",
+ "os-browserify": "0.2.1",
+ "path-browserify": "0.0.0",
+ "process": "0.11.10",
+ "punycode": "1.4.1",
+ "querystring-es3": "0.2.1",
+ "readable-stream": "2.3.3",
+ "stream-browserify": "2.0.1",
+ "stream-http": "2.7.2",
+ "string_decoder": "0.10.31",
+ "timers-browserify": "2.0.4",
+ "tty-browserify": "0.0.0",
+ "url": "0.11.0",
+ "util": "0.10.3",
+ "vm-browserify": "0.0.4"
+ }
+ },
+ "os-browserify": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.2.1.tgz",
+ "integrity": "sha1-Y/xMzuXS13Y9Jrv4YBB45sLgBE8=",
+ "dev": true
+ },
+ "pako": {
+ "version": "0.2.9",
+ "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz",
+ "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=",
+ "dev": true
+ },
+ "process": {
+ "version": "0.11.10",
+ "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
+ "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=",
+ "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
+ },
+ "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
+ },
+ "supports-color": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "dev": true,
+ "requires": {
+ "has-flag": "1.0.0"
+ }
+ },
+ "tapable": {
+ "version": "0.1.10",
+ "resolved": "https://registry.npmjs.org/tapable/-/tapable-0.1.10.tgz",
+ "integrity": "sha1-KcNXB8K3DlDQdIK10gLo7URtr9Q=",
+ "dev": true
+ },
+ "uglify-js": {
+ "version": "2.7.5",
+ "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.7.5.tgz",
+ "integrity": "sha1-RhLAx7qu4rp8SH3kkErhIgefLKg=",
+ "dev": true,
+ "requires": {
+ "async": "0.2.10",
+ "source-map": "0.5.7",
+ "uglify-to-browserify": "1.0.2",
+ "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
+ }
+ }
+ },
+ "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.2",
+ "chokidar": "1.7.0",
+ "graceful-fs": "4.1.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
+ }
+ }
+ },
+ "webpack": {
+ "version": "1.15.0",
+ "resolved": "https://registry.npmjs.org/webpack/-/webpack-1.15.0.tgz",
+ "integrity": "sha1-T/MfU9sDM55VFkqdRo7gMklo/pg=",
+ "dev": true,
+ "requires": {
+ "acorn": "3.3.0",
+ "async": "1.5.2",
+ "clone": "1.0.3",
+ "enhanced-resolve": "0.9.1",
+ "interpret": "0.6.6",
+ "loader-utils": "0.2.17",
+ "memory-fs": "0.3.0",
+ "mkdirp": "0.5.1",
+ "node-libs-browser": "0.7.0",
+ "optimist": "0.6.1",
+ "supports-color": "3.2.3",
+ "tapable": "0.1.10",
+ "uglify-js": "2.7.5",
+ "watchpack": "0.2.9",
+ "webpack-core": "0.6.9"
+ }
+ },
+ "wordwrap": {
+ "version": "0.0.2",
+ "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz",
+ "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=",
+ "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.2.1",
+ "cliui": "2.1.0",
+ "decamelize": "1.2.0",
+ "window-size": "0.1.0"
+ }
+ }
+ }
+ },
+ "websocket-driver": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.0.tgz",
+ "integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=",
+ "dev": true,
+ "requires": {
+ "http-parser-js": "0.4.9",
+ "websocket-extensions": "0.1.3"
+ }
+ },
+ "websocket-extensions": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz",
+ "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==",
+ "dev": true
+ },
+ "whatwg-encoding": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.3.tgz",
+ "integrity": "sha512-jLBwwKUhi8WtBfsMQlL4bUUcT8sMkAtQinscJAe/M4KHCkHuUJAF6vuB0tueNIw4c8ziO6AkRmgY+jL3a0iiPw==",
+ "dev": true,
+ "requires": {
+ "iconv-lite": "0.4.19"
+ }
+ },
+ "whatwg-fetch": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz",
+ "integrity": "sha1-nITsLc9oGH/wC8ZOEnS0QhduHIQ="
+ },
+ "whatwg-url": {
+ "version": "4.8.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-4.8.0.tgz",
+ "integrity": "sha1-0pgaqRSMHgCkHFphMRZqtGg7vMA=",
+ "dev": true,
+ "requires": {
+ "tr46": "0.0.3",
+ "webidl-conversions": "3.0.1"
+ },
+ "dependencies": {
+ "webidl-conversions": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
+ "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=",
+ "dev": true
+ }
+ }
+ },
+ "whet.extend": {
+ "version": "0.9.9",
+ "resolved": "https://registry.npmjs.org/whet.extend/-/whet.extend-0.9.9.tgz",
+ "integrity": "sha1-+HfVv2SMl+WqVC+twW1qJZucEaE=",
+ "dev": true
+ },
+ "which": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz",
+ "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==",
+ "requires": {
+ "isexe": "2.0.0"
+ }
+ },
+ "which-module": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
+ "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
+ "dev": true
+ },
+ "wide-align": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz",
+ "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==",
+ "requires": {
+ "string-width": "1.0.2"
+ }
+ },
+ "widest-line": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-1.0.0.tgz",
+ "integrity": "sha1-DAnIXCqUaD0Nfq+O4JfVZL8OEFw=",
+ "dev": true,
+ "requires": {
+ "string-width": "1.0.2"
+ }
+ },
+ "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": "1.0.0",
+ "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
+ "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus="
+ },
+ "worker-farm": {
+ "version": "1.5.2",
+ "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.5.2.tgz",
+ "integrity": "sha512-XxiQ9kZN5n6mmnW+mFJ+wXjNNI/Nx4DIdaAKLX1Bn6LYBWlN/zaBhu34DQYPZ1AJobQuu67S2OfDdNSVULvXkQ==",
+ "dev": true,
+ "requires": {
+ "errno": "0.1.4",
+ "xtend": "4.0.1"
+ },
+ "dependencies": {
+ "xtend": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz",
+ "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=",
+ "dev": true
+ }
+ }
+ },
+ "worker-loader": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/worker-loader/-/worker-loader-1.1.0.tgz",
+ "integrity": "sha512-W91q8Wi1JxbzFQZuLJlFK4x8UuWjKgeOX9IMMyng007K0UkP6I8lOejckoCWY61QmnJq2x9qZ/Viru+uF8g6nA==",
+ "requires": {
+ "loader-utils": "1.1.0",
+ "schema-utils": "0.3.0"
+ }
+ },
+ "wrap-ansi": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
+ "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
+ "requires": {
+ "string-width": "1.0.2",
+ "strip-ansi": "3.0.1"
+ }
+ },
+ "wrappy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
+ },
+ "write": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz",
+ "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=",
+ "dev": true,
+ "requires": {
+ "mkdirp": "0.5.1"
+ }
+ },
+ "write-file-atomic": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.3.0.tgz",
+ "integrity": "sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA==",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11",
+ "imurmurhash": "0.1.4",
+ "signal-exit": "3.0.2"
+ }
+ },
+ "xdg-basedir": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz",
+ "integrity": "sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ=",
+ "dev": true
+ },
+ "xml-name-validator": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-2.0.1.tgz",
+ "integrity": "sha1-TYuPHszTQZqjYgYb7O9RXh5VljU=",
+ "dev": true
+ },
+ "xmlbuilder": {
+ "version": "8.2.2",
+ "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-8.2.2.tgz",
+ "integrity": "sha1-aSSGc0ELS6QuGmE2VR0pIjNap3M=",
+ "dev": true
+ },
+ "xmlcreate": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/xmlcreate/-/xmlcreate-1.0.2.tgz",
+ "integrity": "sha1-+mv3YqYKQT+z3Y9LA8WyaSONMI8="
+ },
+ "xmldom": {
+ "version": "0.1.27",
+ "resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.1.27.tgz",
+ "integrity": "sha1-1QH5ezvbQDr4757MIFcxh6rawOk="
+ },
+ "xpath": {
+ "version": "0.0.23",
+ "resolved": "https://registry.npmjs.org/xpath/-/xpath-0.0.23.tgz",
+ "integrity": "sha1-9ej9xr3H5yiFsyNPQMuiZpWAqvo="
+ },
+ "xtend": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz",
+ "integrity": "sha1-bv7MKk2tjmlixJAbM3znuoe10os=",
+ "dev": true,
+ "requires": {
+ "object-keys": "0.4.0"
+ }
+ },
+ "y18n": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz",
+ "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE="
+ },
+ "yallist": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
+ "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
+ "dev": true
+ },
+ "yargs": {
+ "version": "10.0.3",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-10.0.3.tgz",
+ "integrity": "sha512-DqBpQ8NAUX4GyPP/ijDGHsJya4tYqLQrjPr95HNsr1YwL3+daCfvBwg7+gIC6IdJhR2kATh3hb61vjzMWEtjdw==",
+ "dev": true,
+ "requires": {
+ "cliui": "3.2.0",
+ "decamelize": "1.2.0",
+ "find-up": "2.1.0",
+ "get-caller-file": "1.0.2",
+ "os-locale": "2.1.0",
+ "require-directory": "2.1.1",
+ "require-main-filename": "1.0.1",
+ "set-blocking": "2.0.0",
+ "string-width": "2.1.1",
+ "which-module": "2.0.0",
+ "y18n": "3.2.1",
+ "yargs-parser": "8.0.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
+ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
+ "dev": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+ "dev": true
+ },
+ "string-width": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
+ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
+ "dev": true,
+ "requires": {
+ "is-fullwidth-code-point": "2.0.0",
+ "strip-ansi": "4.0.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
+ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "3.0.0"
+ }
+ }
+ }
+ },
+ "yargs-parser": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-8.0.0.tgz",
+ "integrity": "sha1-IdR2Mw5agieaS4gTRb8GYQLiGcY=",
+ "dev": true,
+ "requires": {
+ "camelcase": "4.1.0"
+ },
+ "dependencies": {
+ "camelcase": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz",
+ "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=",
+ "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"
+ }
+ },
+ "zip-stream": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-1.2.0.tgz",
+ "integrity": "sha1-qLxF9MG0lpnGuQGYuqyqzbzUugQ=",
+ "dev": true,
+ "requires": {
+ "archiver-utils": "1.3.0",
+ "compress-commons": "1.2.2",
+ "lodash": "4.17.4",
+ "readable-stream": "2.3.3"
+ }
+ }
+ }
+}
diff --git a/packages/insomnia-app/package.json b/packages/insomnia-app/package.json
new file mode 100644
index 0000000000..3909084141
--- /dev/null
+++ b/packages/insomnia-app/package.json
@@ -0,0 +1,185 @@
+{
+ "name": "insomnia-app",
+ "private": true,
+ "version": "1.0.0",
+ "description": "Insomnia App",
+ "licence": "GNU AGPLv3",
+ "homepage": "https://insomnia.rest",
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/getinsomnia/insomnia"
+ },
+ "scripts": {
+ "lint": "eslint \"**/*.js\" \"**/*.html\" \"**/*.json\"",
+ "test": "flow check && npm run lint && cross-env NODE_ENV=test jest --silent",
+ "test-appveyor": "npm run test -- --maxWorkers 1",
+ "bootstrap": "npm install && electron-rebuild -f -w node-libcurl",
+ "start:electron": "cross-env NODE_ENV=development webpack --config ./webpack/webpack.config.electron.babel.js && INSOMNIA_ENV=development electron app",
+ "start:dev-server": "webpack-dev-server --config ./webpack/webpack.config.development.babel.js",
+ "start": "concurrently --kill-others \"npm run start:dev-server\" \"npm run start:electron\"",
+ "build": "node ./scripts/build.js",
+ "package": "node ./scripts/package.js"
+ },
+ "dev": {
+ "dev-server-port": 3333
+ },
+ "jest": {
+ "setupFiles": [
+ "./__jest__/setup.js"
+ ],
+ "moduleNameMapper": {
+ "\\.(css|less|png)$": "/__mocks__/dummy.js",
+ "^worker-loader!": "/__mocks__/dummy.js"
+ },
+ "testMatch": [
+ "**/__tests__/**/*.test.js?(x)"
+ ],
+ "rootDir": "app",
+ "verbose": false,
+ "resetMocks": true,
+ "resetModules": true,
+ "collectCoverage": false,
+ "collectCoverageFrom": [
+ "**/*.js",
+ "!**/*.min.js",
+ "!**/main.development.js",
+ "!**/static/**",
+ "!**/ui/components/**",
+ "!**/__fixtures__/**",
+ "!**/__tests__/**",
+ "!**/__jest__/**",
+ "!**/__mocks__/**",
+ "!**/node_modules/**"
+ ]
+ },
+ "packedDependencies": [
+ "autobind-decorator",
+ "codemirror",
+ "codemirror-graphql",
+ "highlight.js",
+ "pdfjs-dist",
+ "prop-types",
+ "react",
+ "react-dnd",
+ "react-dnd-html5-backend",
+ "react-dom",
+ "react-redux",
+ "react-tabs",
+ "redux",
+ "redux-thunk",
+ "reselect",
+ "srp-js",
+ "vkbeautify"
+ ],
+ "dependencies": {
+ "autobind-decorator": "^1.3.4",
+ "aws4": "^1.6.0",
+ "classnames": "^2.2.5",
+ "clone": "^2.1.0",
+ "codemirror": "^5.24.2",
+ "codemirror-graphql": "^0.6.11",
+ "deep-equal": "^1.0.1",
+ "electron-context-menu": "^0.9.0",
+ "electron-squirrel-startup": "^1.0.0",
+ "graphql": "^0.10.5",
+ "hawk": "^6.0.2",
+ "highlight.js": "^9.12.0",
+ "hkdf": "^0.0.2",
+ "html-entities": "^1.2.0",
+ "iconv-lite": "^0.4.15",
+ "insomnia-cookies": "^0.0.2",
+ "insomnia-httpsnippet": "^1.16.5",
+ "insomnia-importers": "^1.5.0",
+ "insomnia-node-libcurl": "^1.2.4",
+ "insomnia-plugin-base64": "^1.0.0",
+ "insomnia-plugin-file": "^1.0.0",
+ "insomnia-plugin-hash": "^1.0.0",
+ "insomnia-plugin-now": "^1.0.0",
+ "insomnia-plugin-request": "^1.0.0",
+ "insomnia-plugin-response": "^1.0.0",
+ "insomnia-plugin-uuid": "^1.0.0",
+ "insomnia-prettify": "^0.0.3",
+ "insomnia-url": "^0.0.2",
+ "insomnia-xpath": "^0.0.2",
+ "jsonlint": "^1.6.2",
+ "jsonpath": "^0.2.12",
+ "jwt-authentication": "^0.3.3",
+ "marked": "^0.3.6",
+ "mime-types": "^2.1.14",
+ "mkdirp": "^0.5.1",
+ "moment": "^2.18.1",
+ "multiparty": "^4.1.3",
+ "nedb": "^1.8.0",
+ "node-forge": "^0.7.0",
+ "nunjucks": "^3.0.0",
+ "oauth-1.0a": "^2.2.2",
+ "pdfjs-dist": "^1.9.640",
+ "prop-types": "^15.5.10",
+ "react": "^16.0.0",
+ "react-dnd": "^2.4.0",
+ "react-dnd-html5-backend": "^2.4.1",
+ "react-dom": "^16.0.0",
+ "react-redux": "^5.0.6",
+ "react-tabs": "^2.1.1",
+ "redux": "^3.7.2",
+ "redux-thunk": "^2.2.0",
+ "reselect": "^3.0.1",
+ "srp-js": "^0.2.0",
+ "tar": "^3.1.7",
+ "tough-cookie": "^2.3.1",
+ "uuid": "^3.0.0",
+ "vkbeautify": "^0.99.1",
+ "whatwg-fetch": "^2.0.1",
+ "xmldom": "^0.1.22",
+ "xpath": "^0.0.23"
+ },
+ "devDependencies": {
+ "babel-cli": "^6.23.0",
+ "babel-core": "^6.23.1",
+ "babel-eslint": "^7.1.1",
+ "babel-jest": "^19.0.0",
+ "babel-loader": "^7.1.2",
+ "babel-plugin-transform-decorators-legacy": "^1.3.4",
+ "babel-plugin-transform-object-rest-spread": "^6.23.0",
+ "babel-preset-env": "^1.6.0",
+ "babel-preset-flow": "^6.23.0",
+ "babel-preset-react": "^6.23.0",
+ "concurrently": "^3.5.0",
+ "cross-env": "^2.0.0",
+ "css-loader": "^0.28.7",
+ "electron": "^1.7.9",
+ "electron-builder": "^19.45.5",
+ "electron-builder-lib": "^19.46.3",
+ "electron-builder-squirrel-windows": "^19.46.0",
+ "electron-rebuild": "^1.6.0",
+ "eslint": "^3.16.1",
+ "eslint-config-semistandard": "^11.0.0",
+ "eslint-config-standard": "^10.2.1",
+ "eslint-plugin-filenames": "^1.1.0",
+ "eslint-plugin-flowtype": "^2.36.0",
+ "eslint-plugin-html": "^2.0.1",
+ "eslint-plugin-import": "^2.8.0",
+ "eslint-plugin-jest": "^19.0.1",
+ "eslint-plugin-json": "^1.2.0",
+ "eslint-plugin-node": "^5.2.1",
+ "eslint-plugin-promise": "^3.5.0",
+ "eslint-plugin-react": "^7.4.0",
+ "eslint-plugin-standard": "^3.0.1",
+ "file-loader": "^1.1.5",
+ "flow": "^0.2.3",
+ "flow-bin": "^0.58.0",
+ "jest": "^21.2.1",
+ "less": "^2.7.2",
+ "less-loader": "^4.0.5",
+ "ncp": "^2.0.0",
+ "npm": "^5.5.1",
+ "react-hot-loader": "^3.1.3",
+ "redux-mock-store": "^1.0.2",
+ "rimraf": "^2.6.2",
+ "style-loader": "^0.19.0",
+ "url-loader": "^0.6.2",
+ "webpack": "^3.5.5",
+ "webpack-dev-server": "^2.9.4",
+ "webpack-target-electron-renderer": "^0.4.0"
+ }
+}
diff --git a/scripts/build.js b/packages/insomnia-app/scripts/build.js
similarity index 59%
rename from scripts/build.js
rename to packages/insomnia-app/scripts/build.js
index 999705fb7c..01cc960f4a 100644
--- a/scripts/build.js
+++ b/packages/insomnia-app/scripts/build.js
@@ -4,10 +4,18 @@ const rimraf = require('rimraf');
const ncp = require('ncp').ncp;
const path = require('path');
const mkdirp = require('mkdirp');
+const fs = require('fs');
const configRenderer = require('../webpack/webpack.config.production.babel');
const configMain = require('../webpack/webpack.config.electron.babel');
-async function run () {
+// Start build if ran from CLI
+if (require.start === module) {
+ process.nextTick(async () => {
+ await module.exports.start();
+ });
+}
+
+module.exports.start = async function () {
// Remove folders first
console.log('[build] Removing existing directories');
await emptyDir('../build');
@@ -19,18 +27,19 @@ async function run () {
// Copy necessary files
console.log('[build] Copying files');
- await copyFiles('../app/package.json', '../build/package.json');
- await copyFiles('../app/package-lock.json', '../build/package-lock.json');
await copyFiles('../bin', '../build/');
await copyFiles('../app/static', '../build/static');
await copyFiles('../app/icons/', '../build/');
+ // Generate package.json
+ await generatePackageJson('../package.json', '../app/package.json', '../build/package.json');
+
// Install Node modules
console.log('[build] Installing dependencies');
await install('../build/');
console.log('[build] Complete!');
-}
+};
async function buildWebpack (config) {
return new Promise((resolve, reject) => {
@@ -75,7 +84,7 @@ async function copyFiles (relSource, relDest) {
async function install (relDir) {
return new Promise((resolve, reject) => {
const prefix = path.resolve(__dirname, relDir);
- npm.load({prefix}, err => {
+ npm.load({prefix, production: true}, err => {
if (err) {
return reject(err);
}
@@ -91,4 +100,33 @@ async function install (relDir) {
});
}
-run();
+function generatePackageJson (relBasePkg, relAppPkg, relOutPkg) {
+ // Read package.json's
+ const basePath = path.resolve(__dirname, relBasePkg);
+ const appPath = path.resolve(__dirname, relAppPkg);
+ const outPath = path.resolve(__dirname, relOutPkg);
+
+ const basePkg = JSON.parse(fs.readFileSync(basePath));
+ const appPkg = JSON.parse(fs.readFileSync(appPath));
+
+ appPkg.dependencies = {};
+
+ // Figure out which dependencies to pack
+ const allDependencies = Object.keys(basePkg.dependencies);
+ const packedDependencies = basePkg.packedDependencies;
+ const unpackedDependencies = allDependencies.filter(
+ name => !packedDependencies.includes(name)
+ );
+
+ // Add dependencies
+ for (const name of unpackedDependencies) {
+ const version = basePkg.dependencies[name];
+ if (!version) {
+ throw new Error(`Failed to find packed dep "${name}" in dependencies`);
+ }
+ appPkg.dependencies[name] = version;
+ console.log(`[build] Setting packed dep ${name}`);
+ }
+
+ fs.writeFileSync(outPath, JSON.stringify(appPkg, null, 2));
+}
diff --git a/scripts/package.js b/packages/insomnia-app/scripts/package.js
similarity index 77%
rename from scripts/package.js
rename to packages/insomnia-app/scripts/package.js
index de1600ea32..01c85c3952 100644
--- a/scripts/package.js
+++ b/packages/insomnia-app/scripts/package.js
@@ -3,6 +3,7 @@ const path = require('path');
const rimraf = require('rimraf');
const fs = require('fs');
const mkdirp = require('mkdirp');
+const buildTask = require('./build');
const PLATFORM_MAP = {
darwin: 'mac',
@@ -10,17 +11,25 @@ const PLATFORM_MAP = {
win32: 'win'
};
-async function run () {
+// Start package if ran from CLI
+if (require.start === module) {
+ process.nextTick(async () => {
+ await buildTask.start();
+ await module.exports.start();
+ });
+}
+
+module.exports.start = async function () {
console.log('[package] Removing existing directories');
await emptyDir('../dist');
console.log('[package] Packaging app');
- await build('../.electronbuilder');
+ await pkg('../.electronbuilder');
console.log('[package] Complete!');
-}
+};
-async function build (relConfigPath) {
+async function pkg (relConfigPath) {
try {
const configPath = path.resolve(__dirname, relConfigPath);
const config = JSON.parse(fs.readFileSync(configPath, 'utf8'));
@@ -31,7 +40,7 @@ async function build (relConfigPath) {
cscKeyPassword: process.env.CSC_KEY_PASSWORD,
[targetPlatform]: config[targetPlatform].target
});
- return packager.build();
+ return packager.start();
} catch
(err) {
console.log('[package] Failed: ' + err.stack);
@@ -52,5 +61,3 @@ async function emptyDir (relPath) {
});
});
}
-
-run();
diff --git a/webpack/webpack.config.base.babel.js b/packages/insomnia-app/webpack/webpack.config.base.babel.js
similarity index 91%
rename from webpack/webpack.config.base.babel.js
rename to packages/insomnia-app/webpack/webpack.config.base.babel.js
index deb3268199..34a1d8167d 100644
--- a/webpack/webpack.config.base.babel.js
+++ b/packages/insomnia-app/webpack/webpack.config.base.babel.js
@@ -1,6 +1,5 @@
-const webpack = require('webpack');
const path = require('path');
-const pkg = require('../app/package.json');
+const pkg = require('../package.json');
module.exports = {
devtool: 'source-map',
@@ -57,7 +56,7 @@ module.exports = {
},
externals: [
// Omit all dependencies in app/package.json (we want them loaded at runtime via NodeJS)
- ...Object.keys(pkg.dependencies),
+ ...Object.keys(pkg.dependencies).filter(name => !pkg.packedDependencies.includes(name)),
// To get jsonlint working...
'file', 'system'
diff --git a/webpack/webpack.config.development.babel.js b/packages/insomnia-app/webpack/webpack.config.development.babel.js
similarity index 87%
rename from webpack/webpack.config.development.babel.js
rename to packages/insomnia-app/webpack/webpack.config.development.babel.js
index e1fc96e204..951abe40a6 100644
--- a/webpack/webpack.config.development.babel.js
+++ b/packages/insomnia-app/webpack/webpack.config.development.babel.js
@@ -2,14 +2,14 @@ const webpack = require('webpack');
const baseConfig = require('./webpack.config.base.babel');
const pkg = require('../package.json');
-const port = pkg.dev['webpack-dev-server-port'];
+const PORT = pkg.dev['dev-server-port'];
module.exports = {
...baseConfig,
devtool: 'eval-source-map',
entry: [
'react-hot-loader/patch',
- `webpack-dev-server/client?http://localhost:${port}`,
+ `webpack-dev-server/client?http://localhost:${PORT}`,
'webpack/hot/only-dev-server',
...baseConfig.entry
],
@@ -19,7 +19,7 @@ module.exports = {
},
devServer: {
host: 'localhost',
- port: port,
+ port: PORT,
publicPath: '/',
hot: true
},
diff --git a/webpack/webpack.config.electron.babel.js b/packages/insomnia-app/webpack/webpack.config.electron.babel.js
similarity index 92%
rename from webpack/webpack.config.electron.babel.js
rename to packages/insomnia-app/webpack/webpack.config.electron.babel.js
index 0ec8400b67..05eaecf0ea 100644
--- a/webpack/webpack.config.electron.babel.js
+++ b/packages/insomnia-app/webpack/webpack.config.electron.babel.js
@@ -3,6 +3,8 @@ const path = require('path');
const productionConfig = require('./webpack.config.production.babel');
const pkg = require('../package.json');
+const PORT = pkg.dev['dev-server-port'];
+
let devtool;
let plugins;
const output = {
@@ -13,14 +15,13 @@ const output = {
if (process.env.NODE_ENV === 'development') {
output.path = path.join(__dirname, '../app');
devtool = 'eval-source-map';
- const port = pkg.dev['webpack-dev-server-port'];
plugins = [
new webpack.DefinePlugin({
- 'process.env.APP_RENDER_URL': JSON.stringify(`http://localhost:${port}/renderer.html`),
+ 'process.env.APP_RENDER_URL': JSON.stringify(`http://localhost:${PORT}/renderer.html`),
'process.env.NODE_ENV': JSON.stringify('development'),
'process.env.INSOMNIA_ENV': JSON.stringify('development')
})
- ]
+ ];
} else {
output.path = path.join(__dirname, '../build');
devtool = productionConfig.devtool;
diff --git a/webpack/webpack.config.production.babel.js b/packages/insomnia-app/webpack/webpack.config.production.babel.js
similarity index 100%
rename from webpack/webpack.config.production.babel.js
rename to packages/insomnia-app/webpack/webpack.config.production.babel.js
diff --git a/packages/insomnia-cookies/README.md b/packages/insomnia-cookies/README.md
new file mode 100644
index 0000000000..6b7402e148
--- /dev/null
+++ b/packages/insomnia-cookies/README.md
@@ -0,0 +1,5 @@
+# Insomnia Cookie Utilities
+
+[](https://www.npmjs.com/package/insomnia-cookies)
+
+Various utility functions for interacting with cookies and cookie jars.
\ No newline at end of file
diff --git a/packages/insomnia-cookies/__tests__/index.test.js b/packages/insomnia-cookies/__tests__/index.test.js
new file mode 100644
index 0000000000..b67ffdaee9
--- /dev/null
+++ b/packages/insomnia-cookies/__tests__/index.test.js
@@ -0,0 +1,65 @@
+const {CookieJar} = require('tough-cookie');
+const {cookieToString, jarFromCookies, cookiesFromJar} = require('..');
+
+describe('jarFromCookies()', () => {
+ it('returns valid cookies', done => {
+ const jar = jarFromCookies([{
+ key: 'foo',
+ value: 'bar',
+ domain: 'google.com'
+ }]);
+
+ jar.store.getAllCookies((err, cookies) => {
+ expect(err).toBeNull();
+ expect(cookies[0].domain).toEqual('google.com');
+ expect(cookies[0].key).toEqual('foo');
+ expect(cookies[0].value).toEqual('bar');
+ expect(cookies[0].creation instanceof Date).toEqual(true);
+ expect(cookies[0].expires).toEqual('Infinity');
+ done();
+ });
+ });
+
+ it('handles malformed JSON', () => {
+ const jar = jarFromCookies('not a jar');
+ expect(jar.constructor.name).toBe('CookieJar');
+ });
+});
+
+describe('cookiesFromJar()', () => {
+ it('returns valid jar', async () => {
+ const d = new Date();
+ const initialCookies = [{
+ key: 'bar',
+ value: 'baz',
+ domain: 'insomnia.rest',
+ expires: d
+ }, {
+ // This one will fail to parse, and be skipped
+ bad: 'cookie'
+ }];
+
+ const jar = CookieJar.fromJSON({cookies: initialCookies});
+
+ const cookies = await cookiesFromJar(jar);
+
+ expect(cookies[0].domain).toBe('insomnia.rest');
+ expect(cookies[0].key).toBe('bar');
+ expect(cookies[0].value).toBe('baz');
+ expect(cookies[0].creation).toMatch(/\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{3}Z/);
+ expect(cookies[0].expires).toEqual(d.toISOString());
+ });
+
+ it('handles bad jar', async () => {
+ const jar = CookieJar.fromJSON({cookies: []});
+
+ // MemoryStore never actually throws errors, so lets mock the
+ // function to force it to this time.
+ jar.store.getAllCookies = cb => cb(new Error('Dummy Error'));
+ const cookies = await cookiesFromJar(jar);
+
+ // Cookies failed to p
+ expect(cookies.length).toBe(0);
+ });
+});
+
diff --git a/app/common/cookies.js b/packages/insomnia-cookies/index.js
similarity index 71%
rename from app/common/cookies.js
rename to packages/insomnia-cookies/index.js
index fae89e211c..59ca172313 100644
--- a/app/common/cookies.js
+++ b/packages/insomnia-cookies/index.js
@@ -1,11 +1,11 @@
-import {CookieJar, Cookie} from 'tough-cookie';
+const {CookieJar, Cookie} = require('tough-cookie');
/**
* Get a list of cookie objects from a request.jar()
*
* @param jar
*/
-export function cookiesFromJar (jar) {
+module.exports.cookiesFromJar = function (jar) {
return new Promise(resolve => {
jar.store.getAllCookies((err, cookies) => {
if (err) {
@@ -17,29 +17,14 @@ export function cookiesFromJar (jar) {
}
});
});
-}
-
-/**
- * Get cookies header
- * @param jar
- * @param uri
- * @returns {Promise}
- */
-export function cookieHeaderValueForUri (jar, uri) {
- return new Promise(resolve => {
- jar.getCookies(uri, (err, cookies) => {
- cookies = err ? [] : cookies;
- resolve(cookies.map(c => c.cookieString()).join('; '));
- });
- });
-}
+};
/**
* Get a request.jar() from a list of cookie objects
*
* @param cookies
*/
-export function jarFromCookies (cookies) {
+module.exports.jarFromCookies = function (cookies) {
let jar;
try {
@@ -56,9 +41,9 @@ export function jarFromCookies (cookies) {
jar.looseMode = true;
return jar;
-}
+};
-export function cookieToString (cookie) {
+module.exports.cookieToString = function (cookie) {
// Cookie can either be a plain JS object or Cookie instance
if (!(cookie instanceof Cookie)) {
cookie = Cookie.fromJSON(cookie);
@@ -73,4 +58,5 @@ export function cookieToString (cookie) {
}
return str;
-}
+};
+
diff --git a/packages/insomnia-cookies/package-lock.json b/packages/insomnia-cookies/package-lock.json
new file mode 100644
index 0000000000..4cff1c53ee
--- /dev/null
+++ b/packages/insomnia-cookies/package-lock.json
@@ -0,0 +1,19 @@
+{
+ "requires": true,
+ "lockfileVersion": 1,
+ "dependencies": {
+ "punycode": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
+ "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4="
+ },
+ "tough-cookie": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz",
+ "integrity": "sha1-C2GKVWW23qkL80JdBNVe3EdadWE=",
+ "requires": {
+ "punycode": "1.4.1"
+ }
+ }
+ }
+}
diff --git a/packages/insomnia-cookies/package.json b/packages/insomnia-cookies/package.json
new file mode 100644
index 0000000000..85d4fd371a
--- /dev/null
+++ b/packages/insomnia-cookies/package.json
@@ -0,0 +1,14 @@
+{
+ "name": "insomnia-cookies",
+ "version": "0.0.2",
+ "author": "Gregory Schier ",
+ "description": "Cookie utilities",
+ "license": "MIT",
+ "main": "index.js",
+ "scripts": {
+ "test": "jest --silent"
+ },
+ "dependencies": {
+ "tough-cookie": "^2.3.3"
+ }
+}
diff --git a/packages/insomnia-importers/README.md b/packages/insomnia-importers/README.md
new file mode 100755
index 0000000000..9dea19eb3b
--- /dev/null
+++ b/packages/insomnia-importers/README.md
@@ -0,0 +1,57 @@
+# Importers
+
+[](https://www.npmjs.com/package/insomnia-importers)
+
+This repository contains converters to translate popular HTTP data formats to
+Insomnia v2 format.
+
+- Insomnia v1
+- Postman v2
+- cURL
+- HTTP Archive Format 1.2 (HAR)
+
+## Installation
+
+For usage on **command line**, install globally
+
+```bash
+npm install -g insomnia-importers
+```
+
+For programmatic usage, install in project
+
+```bash
+npm install --save insomnia-importers
+```
+
+## Command Line Usage
+
+```shell
+insomnia-import /path/to/har-export.json > insomnia-export.json
+```
+
+## Programmatic Usage
+
+```javascript
+const importers = require('insomnia-importers')
+
+// Convert a Curl command
+const output = importers.convert('curl -X POST https://insomnia.rest --data "Cool!"')
+
+// Pretty print the result
+console.log(JSON.stringify(output.data, null, 2));
+```
+
+## Running Tests
+
+Run all tests
+
+```shell
+npm test
+```
+
+Run test watcher
+
+```shell
+npm run test:watch
+```
diff --git a/packages/insomnia-importers/bin/cli b/packages/insomnia-importers/bin/cli
new file mode 100755
index 0000000000..c832b180e1
--- /dev/null
+++ b/packages/insomnia-importers/bin/cli
@@ -0,0 +1,3 @@
+#!/usr/bin/env node
+
+require('../src/cli').go();
diff --git a/packages/insomnia-importers/index.js b/packages/insomnia-importers/index.js
new file mode 100755
index 0000000000..94d2c279c2
--- /dev/null
+++ b/packages/insomnia-importers/index.js
@@ -0,0 +1,36 @@
+const utils = require('./src/utils');
+
+const importers = [
+ require('./src/importers/insomnia-1'),
+ require('./src/importers/insomnia-2'),
+ require('./src/importers/insomnia-3'),
+ require('./src/importers/postman'),
+ require('./src/importers/postman-env'),
+ require('./src/importers/har'),
+ require('./src/importers/curl'),
+];
+
+module.exports.convert = function (contents) {
+ for (const importer of importers) {
+ const resources = importer.convert(contents);
+
+ if (resources) {
+ return {
+ type: {
+ id: importer.id,
+ name: importer.name,
+ description: importer.description
+ },
+ data: {
+ _type: 'export',
+ __export_format: 3,
+ __export_date: utils.getDateString(),
+ __export_source: 'insomnia.importers:v0.1.0',
+ resources: resources.map(utils.setDefaults),
+ }
+ }
+ }
+ }
+
+ throw new Error('No importers found for file');
+};
diff --git a/packages/insomnia-importers/package-lock.json b/packages/insomnia-importers/package-lock.json
new file mode 100644
index 0000000000..c2aca510e1
--- /dev/null
+++ b/packages/insomnia-importers/package-lock.json
@@ -0,0 +1,42 @@
+{
+ "requires": true,
+ "lockfileVersion": 1,
+ "dependencies": {
+ "array-filter": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-0.0.1.tgz",
+ "integrity": "sha1-fajPLiZijtcygDWB/SH2fKzS7uw="
+ },
+ "array-map": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/array-map/-/array-map-0.0.0.tgz",
+ "integrity": "sha1-iKK6tz0c97zVwbEYoAP2b2ZfpmI="
+ },
+ "array-reduce": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/array-reduce/-/array-reduce-0.0.0.tgz",
+ "integrity": "sha1-FziZ0//Rx9k4PkR5Ul2+J4yrXys="
+ },
+ "commander": {
+ "version": "2.12.1",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.12.1.tgz",
+ "integrity": "sha512-PCNLExLlI5HiPdaJs4pMXwOTHkSCpNQ1QJH9ykZLKtKEyKu3p9HgmH5l97vM8c0IUz6d54l+xEu2GG9yuYrFzA=="
+ },
+ "jsonify": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz",
+ "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM="
+ },
+ "shell-quote": {
+ "version": "1.6.1",
+ "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.6.1.tgz",
+ "integrity": "sha1-9HgZSczkAmlxJ0MOo7PFR29IF2c=",
+ "requires": {
+ "array-filter": "0.0.1",
+ "array-map": "0.0.0",
+ "array-reduce": "0.0.0",
+ "jsonify": "0.0.0"
+ }
+ }
+ }
+}
diff --git a/packages/insomnia-importers/package.json b/packages/insomnia-importers/package.json
new file mode 100755
index 0000000000..d27b4a0d7b
--- /dev/null
+++ b/packages/insomnia-importers/package.json
@@ -0,0 +1,22 @@
+{
+ "name": "insomnia-importers",
+ "version": "1.5.2",
+ "author": "Gregory Schier ",
+ "description": "Various data importers for Insomnia",
+ "license": "MIT",
+ "repository": "https://github.com/getinsomnia/insomnia/tree/master/packages/insomnia-importers",
+ "bugs": {
+ "url": "https://github.com/getinsomnia/insomnia"
+ },
+ "main": "index.js",
+ "bin": {
+ "insomnia-import": "./bin/cli"
+ },
+ "scripts": {
+ "test": "jest --silent"
+ },
+ "dependencies": {
+ "commander": "^2.9.0",
+ "shell-quote": "^1.6.1"
+ }
+}
diff --git a/packages/insomnia-importers/src/__tests__/fixtures.test.js b/packages/insomnia-importers/src/__tests__/fixtures.test.js
new file mode 100755
index 0000000000..8b94e66cd6
--- /dev/null
+++ b/packages/insomnia-importers/src/__tests__/fixtures.test.js
@@ -0,0 +1,41 @@
+'use strict';
+
+const fs = require('fs');
+const path = require('path');
+
+const importers = require('../../index');
+const fixturesPath = path.join(__dirname, './fixtures');
+const fixtures = fs.readdirSync(fixturesPath);
+
+
+describe('Fixtures', () => {
+ for (const name of fixtures) {
+ const dir = path.join(fixturesPath, `./${name}`);
+ const inputs = fs.readdirSync(dir)
+ .filter(name => !!name.match(/^(.+)-?input\.[^.]+$/));
+
+ for (const input of inputs) {
+ const prefix = input.replace(/-input\.[^.]+/, '');
+ const output = `${prefix}-output.json`;
+
+ it(`Import ${name} ${input}`, () => {
+
+ expect(typeof input).toBe('string');
+ expect(typeof output).toBe('string');
+
+ const inputContents = fs.readFileSync(path.join(dir, input), 'utf8');
+ const outputContents = fs.readFileSync(path.join(dir, output), 'utf8');
+
+ expect(typeof inputContents).toBe('string');
+ expect(typeof outputContents).toBe('string');
+
+ const results = importers.convert(inputContents);
+ const expected = JSON.parse(outputContents);
+
+ expected.__export_date = results.data.__export_date;
+
+ expect(results.data).toEqual(expected);
+ })
+ }
+ }
+});
diff --git a/packages/insomnia-importers/src/__tests__/fixtures/curl/complex-input.sh b/packages/insomnia-importers/src/__tests__/fixtures/curl/complex-input.sh
new file mode 100755
index 0000000000..35e8d3fd76
--- /dev/null
+++ b/packages/insomnia-importers/src/__tests__/fixtures/curl/complex-input.sh
@@ -0,0 +1,12 @@
+curl \
+ --request POST \
+ -i \
+ --url http://localhost:8000/api/v1/send \
+ --header 'x-custom-header :foo bar' \
+ --header 'content-type: application/json' \
+ --header 'Cookie: foo=bar' \
+ --user 'My User:My:Secret:Password' \
+ --cookie NID=91=iOf1sU9Ovlns9Dzn2Ipz05syr2K4AlZ4Kgp84eRVLf3_6DgcNrkqpWg4lfUvCB5cNxD26t \
+ -H 'another-header: foo' \
+ --data '{"email_id": "tem_123"}';
+
diff --git a/packages/insomnia-importers/src/__tests__/fixtures/curl/complex-output.json b/packages/insomnia-importers/src/__tests__/fixtures/curl/complex-output.json
new file mode 100755
index 0000000000..1c360d8dfa
--- /dev/null
+++ b/packages/insomnia-importers/src/__tests__/fixtures/curl/complex-output.json
@@ -0,0 +1,43 @@
+{
+ "_type": "export",
+ "__export_format": 3,
+ "__export_date": "2016-11-18T22:34:51.526Z",
+ "__export_source": "insomnia.importers:v0.1.0",
+ "resources": [
+ {
+ "_id": "__REQ_1__",
+ "_type": "request",
+ "parentId": "__WORKSPACE_ID__",
+ "url": "http://localhost:8000/api/v1/send",
+ "name": "http://localhost:8000/api/v1/send",
+ "method": "POST",
+ "body": {
+ "mimeType": "application/json",
+ "text": "{\"email_id\": \"tem_123\"}"
+ },
+ "parameters": [],
+ "headers": [
+ {
+ "name": "x-custom-header",
+ "value": "foo bar"
+ },
+ {
+ "name": "content-type",
+ "value": "application/json"
+ },
+ {
+ "name": "Cookie",
+ "value": "foo=bar; NID=91=iOf1sU9Ovlns9Dzn2Ipz05syr2K4AlZ4Kgp84eRVLf3_6DgcNrkqpWg4lfUvCB5cNxD26t"
+ },
+ {
+ "name": "another-header",
+ "value": "foo"
+ }
+ ],
+ "authentication": {
+ "username": "My User",
+ "password": "My:Secret:Password"
+ }
+ }
+ ]
+}
diff --git a/packages/insomnia-importers/src/__tests__/fixtures/curl/form-input.sh b/packages/insomnia-importers/src/__tests__/fixtures/curl/form-input.sh
new file mode 100755
index 0000000000..e6e8817449
--- /dev/null
+++ b/packages/insomnia-importers/src/__tests__/fixtures/curl/form-input.sh
@@ -0,0 +1,4 @@
+curl https://insomnia.rest/signup \
+ -F file=@/home/user/file.txt \
+ -F foo=bar \
+ -F baz=qux
diff --git a/packages/insomnia-importers/src/__tests__/fixtures/curl/form-output.json b/packages/insomnia-importers/src/__tests__/fixtures/curl/form-output.json
new file mode 100755
index 0000000000..60309bfafe
--- /dev/null
+++ b/packages/insomnia-importers/src/__tests__/fixtures/curl/form-output.json
@@ -0,0 +1,40 @@
+{
+ "_type": "export",
+ "__export_format": 3,
+ "__export_date": "2016-11-18T22:34:51.526Z",
+ "__export_source": "insomnia.importers:v0.1.0",
+ "resources": [
+ {
+ "_id": "__REQ_1__",
+ "_type": "request",
+ "parentId": "__WORKSPACE_ID__",
+ "url": "https://insomnia.rest/signup",
+ "name": "https://insomnia.rest/signup",
+ "method": "POST",
+ "body": {
+ "mimeType": "multipart/form-data",
+ "params": [
+ {
+ "name": "file",
+ "type": "file",
+ "fileName": "/home/user/file.txt"
+ },
+ {
+ "type": "text",
+ "name": "foo",
+ "value": "bar"
+ },
+ {
+ "type": "text",
+ "name": "baz",
+ "value": "qux"
+ }
+ ]
+ },
+ "parameters": [],
+ "headers": [],
+ "authentication": {}
+ }
+ ]
+}
+
diff --git a/packages/insomnia-importers/src/__tests__/fixtures/curl/from-chrome-input.sh b/packages/insomnia-importers/src/__tests__/fixtures/curl/from-chrome-input.sh
new file mode 100755
index 0000000000..a40a188762
--- /dev/null
+++ b/packages/insomnia-importers/src/__tests__/fixtures/curl/from-chrome-input.sh
@@ -0,0 +1 @@
+curl 'http://requestb.in/api/v1/bins' -H 'Cookie: __cfduid=d9e3031f00abce97dfdf7119a2d4620cc1478677611; _gat=1; session=eyJyZWNlbnQiOlsiMTlwd3g5NzEiLCIxYTNsaHg2MSJdfQ.CxF25Q.WfyUPLe9lQjtibrpD55c2gOD-YA; _ga=GA1.2.525721040.1478677612' -H 'Origin: http://requestb.in' -H 'Accept-Encoding: gzip, deflate' -H 'Accept-Language: en-US,en;q=0.8' -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.98 Safari/537.36' -H 'Content-Type: application/x-www-form-urlencoded; charset=UTF-8' -H 'Accept: */*' -H 'Referer: http://requestb.in/' -H 'X-Requested-With: XMLHttpRequest' -H 'Connection: keep-alive' --data 'private=false' --compressed
diff --git a/packages/insomnia-importers/src/__tests__/fixtures/curl/from-chrome-output.json b/packages/insomnia-importers/src/__tests__/fixtures/curl/from-chrome-output.json
new file mode 100755
index 0000000000..9a780ea57b
--- /dev/null
+++ b/packages/insomnia-importers/src/__tests__/fixtures/curl/from-chrome-output.json
@@ -0,0 +1,69 @@
+{
+ "_type": "export",
+ "__export_format": 3,
+ "__export_date": "2016-11-18T22:34:51.526Z",
+ "__export_source": "insomnia.importers:v0.1.0",
+ "resources": [
+ {
+ "_id": "__REQ_1__",
+ "_type": "request",
+ "parentId": "__WORKSPACE_ID__",
+ "url": "http://requestb.in/api/v1/bins",
+ "name": "http://requestb.in/api/v1/bins",
+ "method": "POST",
+ "body": {
+ "mimeType": "application/x-www-form-urlencoded",
+ "params": [
+ {
+ "name": "private",
+ "value": "false"
+ }
+ ]
+ },
+ "parameters": [],
+ "headers": [
+ {
+ "name": "Cookie",
+ "value": "__cfduid=d9e3031f00abce97dfdf7119a2d4620cc1478677611; _gat=1; session=eyJyZWNlbnQiOlsiMTlwd3g5NzEiLCIxYTNsaHg2MSJdfQ.CxF25Q.WfyUPLe9lQjtibrpD55c2gOD-YA; _ga=GA1.2.525721040.1478677612"
+ },
+ {
+ "name": "Origin",
+ "value": "http://requestb.in"
+ },
+ {
+ "name": "Accept-Encoding",
+ "value": "gzip, deflate"
+ },
+ {
+ "name": "Accept-Language",
+ "value": "en-US,en;q=0.8"
+ },
+ {
+ "name": "User-Agent",
+ "value": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.98 Safari/537.36"
+ },
+ {
+ "name": "Content-Type",
+ "value": "application/x-www-form-urlencoded; charset=UTF-8"
+ },
+ {
+ "name": "Accept",
+ "value": "*/*"
+ },
+ {
+ "name": "Referer",
+ "value": "http://requestb.in/"
+ },
+ {
+ "name": "X-Requested-With",
+ "value": "XMLHttpRequest"
+ },
+ {
+ "name": "Connection",
+ "value": "keep-alive"
+ }
+ ],
+ "authentication": {}
+ }
+ ]
+}
diff --git a/packages/insomnia-importers/src/__tests__/fixtures/curl/get-input.sh b/packages/insomnia-importers/src/__tests__/fixtures/curl/get-input.sh
new file mode 100755
index 0000000000..888dcdcf44
--- /dev/null
+++ b/packages/insomnia-importers/src/__tests__/fixtures/curl/get-input.sh
@@ -0,0 +1 @@
+curl -X GET 'http://somesite.com/getdata' -i -G -d 'id=1234'
diff --git a/packages/insomnia-importers/src/__tests__/fixtures/curl/get-output.json b/packages/insomnia-importers/src/__tests__/fixtures/curl/get-output.json
new file mode 100755
index 0000000000..f13b503e01
--- /dev/null
+++ b/packages/insomnia-importers/src/__tests__/fixtures/curl/get-output.json
@@ -0,0 +1,23 @@
+{
+ "_type": "export",
+ "__export_format": 3,
+ "__export_date": "2016-11-18T22:34:51.526Z",
+ "__export_source": "insomnia.importers:v0.1.0",
+ "resources": [
+ {
+ "_id": "__REQ_1__",
+ "_type": "request",
+ "parentId": "__WORKSPACE_ID__",
+ "url": "http://somesite.com/getdata",
+ "name": "http://somesite.com/getdata",
+ "method": "GET",
+ "body": {},
+ "parameters": [{
+ "name": "id",
+ "value": "1234"
+ }],
+ "headers": [],
+ "authentication": {}
+ }
+ ]
+}
diff --git a/packages/insomnia-importers/src/__tests__/fixtures/curl/header-colon-input.sh b/packages/insomnia-importers/src/__tests__/fixtures/curl/header-colon-input.sh
new file mode 100755
index 0000000000..7923efec85
--- /dev/null
+++ b/packages/insomnia-importers/src/__tests__/fixtures/curl/header-colon-input.sh
@@ -0,0 +1 @@
+curl https://insomnia.rest -H 'X-Something: foo: bar:baz'
diff --git a/packages/insomnia-importers/src/__tests__/fixtures/curl/header-colon-output.json b/packages/insomnia-importers/src/__tests__/fixtures/curl/header-colon-output.json
new file mode 100755
index 0000000000..e72af774d6
--- /dev/null
+++ b/packages/insomnia-importers/src/__tests__/fixtures/curl/header-colon-output.json
@@ -0,0 +1,23 @@
+{
+ "_type": "export",
+ "__export_format": 3,
+ "__export_date": "2016-11-18T22:34:51.526Z",
+ "__export_source": "insomnia.importers:v0.1.0",
+ "resources": [
+ {
+ "_id": "__REQ_1__",
+ "_type": "request",
+ "parentId": "__WORKSPACE_ID__",
+ "url": "https://insomnia.rest",
+ "name": "https://insomnia.rest",
+ "method": "GET",
+ "body": {},
+ "parameters": [],
+ "headers": [{
+ "name": "X-Something",
+ "value": "foo: bar:baz"
+ }],
+ "authentication": {}
+ }
+ ]
+}
diff --git a/packages/insomnia-importers/src/__tests__/fixtures/curl/multi-input.sh b/packages/insomnia-importers/src/__tests__/fixtures/curl/multi-input.sh
new file mode 100755
index 0000000000..55d329798d
--- /dev/null
+++ b/packages/insomnia-importers/src/__tests__/fixtures/curl/multi-input.sh
@@ -0,0 +1,8 @@
+curl https://insomnia.rest/1/2/3;
+curl https://insomnia.rest/foo/bar;
+
+
+
+curl https://insomnia.rest/ --cookie foo=bar;
+echo "hello";
+curl https://insomnia.rest;
diff --git a/packages/insomnia-importers/src/__tests__/fixtures/curl/multi-output.json b/packages/insomnia-importers/src/__tests__/fixtures/curl/multi-output.json
new file mode 100755
index 0000000000..276fa895d1
--- /dev/null
+++ b/packages/insomnia-importers/src/__tests__/fixtures/curl/multi-output.json
@@ -0,0 +1,59 @@
+{
+ "_type": "export",
+ "__export_format": 3,
+ "__export_date": "2016-11-18T22:34:51.526Z",
+ "__export_source": "insomnia.importers:v0.1.0",
+ "resources": [
+ {
+ "_id": "__REQ_1__",
+ "_type": "request",
+ "parentId": "__WORKSPACE_ID__",
+ "url": "https://insomnia.rest/1/2/3",
+ "name": "https://insomnia.rest/1/2/3",
+ "method": "GET",
+ "body": {},
+ "parameters": [],
+ "headers": [],
+ "authentication": {}
+ },
+ {
+ "_id": "__REQ_2__",
+ "_type": "request",
+ "parentId": "__WORKSPACE_ID__",
+ "url": "https://insomnia.rest/foo/bar",
+ "name": "https://insomnia.rest/foo/bar",
+ "method": "GET",
+ "body": {},
+ "parameters": [],
+ "headers": [],
+ "authentication": {}
+ },
+ {
+ "_id": "__REQ_3__",
+ "_type": "request",
+ "parentId": "__WORKSPACE_ID__",
+ "url": "https://insomnia.rest/",
+ "name": "https://insomnia.rest/",
+ "method": "GET",
+ "body": {},
+ "parameters": [],
+ "headers": [{
+ "name": "Cookie",
+ "value": "foo=bar"
+ }],
+ "authentication": {}
+ },
+ {
+ "_id": "__REQ_4__",
+ "_type": "request",
+ "parentId": "__WORKSPACE_ID__",
+ "url": "https://insomnia.rest",
+ "name": "https://insomnia.rest",
+ "method": "GET",
+ "body": {},
+ "parameters": [],
+ "headers": [],
+ "authentication": {}
+ }
+ ]
+}
diff --git a/packages/insomnia-importers/src/__tests__/fixtures/curl/no-url-input.sh b/packages/insomnia-importers/src/__tests__/fixtures/curl/no-url-input.sh
new file mode 100755
index 0000000000..83f92fdf5a
--- /dev/null
+++ b/packages/insomnia-importers/src/__tests__/fixtures/curl/no-url-input.sh
@@ -0,0 +1 @@
+curl -X POST
diff --git a/packages/insomnia-importers/src/__tests__/fixtures/curl/no-url-output.json b/packages/insomnia-importers/src/__tests__/fixtures/curl/no-url-output.json
new file mode 100755
index 0000000000..95120d0030
--- /dev/null
+++ b/packages/insomnia-importers/src/__tests__/fixtures/curl/no-url-output.json
@@ -0,0 +1,20 @@
+{
+ "_type": "export",
+ "__export_format": 3,
+ "__export_date": "2016-11-18T22:34:51.526Z",
+ "__export_source": "insomnia.importers:v0.1.0",
+ "resources": [
+ {
+ "_id": "__REQ_1__",
+ "_type": "request",
+ "parentId": "__WORKSPACE_ID__",
+ "url": "",
+ "name": "cURL Import 1",
+ "method": "POST",
+ "body": {},
+ "parameters": [],
+ "headers": [],
+ "authentication": {}
+ }
+ ]
+}
diff --git a/packages/insomnia-importers/src/__tests__/fixtures/curl/question-mark-input.sh b/packages/insomnia-importers/src/__tests__/fixtures/curl/question-mark-input.sh
new file mode 100755
index 0000000000..b8d9cb3157
--- /dev/null
+++ b/packages/insomnia-importers/src/__tests__/fixtures/curl/question-mark-input.sh
@@ -0,0 +1 @@
+curl http://192.168.1.1:9200/executions/_search\?pretty --data '{"query":{"match_all":{}}}'
diff --git a/packages/insomnia-importers/src/__tests__/fixtures/curl/question-mark-output.json b/packages/insomnia-importers/src/__tests__/fixtures/curl/question-mark-output.json
new file mode 100755
index 0000000000..1c24a0d17d
--- /dev/null
+++ b/packages/insomnia-importers/src/__tests__/fixtures/curl/question-mark-output.json
@@ -0,0 +1,23 @@
+{
+ "_type": "export",
+ "__export_format": 3,
+ "__export_date": "2016-11-18T22:34:51.526Z",
+ "__export_source": "insomnia.importers:v0.1.0",
+ "resources": [
+ {
+ "_id": "__REQ_1__",
+ "_type": "request",
+ "parentId": "__WORKSPACE_ID__",
+ "url": "http://192.168.1.1:9200/executions/_search?pretty",
+ "name": "http://192.168.1.1:9200/executions/_search?pretty",
+ "method": "POST",
+ "body": {
+ "mimeType": "",
+ "text": "{\"query\":{\"match_all\":{}}}"
+ },
+ "parameters": [],
+ "headers": [],
+ "authentication": {}
+ }
+ ]
+}
diff --git a/packages/insomnia-importers/src/__tests__/fixtures/curl/squished-input.sh b/packages/insomnia-importers/src/__tests__/fixtures/curl/squished-input.sh
new file mode 100755
index 0000000000..c2f458148a
--- /dev/null
+++ b/packages/insomnia-importers/src/__tests__/fixtures/curl/squished-input.sh
@@ -0,0 +1 @@
+curl -XPOST -did=1234 https://insomnia.rest
diff --git a/packages/insomnia-importers/src/__tests__/fixtures/curl/squished-output.json b/packages/insomnia-importers/src/__tests__/fixtures/curl/squished-output.json
new file mode 100755
index 0000000000..8e9121898d
--- /dev/null
+++ b/packages/insomnia-importers/src/__tests__/fixtures/curl/squished-output.json
@@ -0,0 +1,22 @@
+{
+ "__export_format": 3,
+ "__export_source": "insomnia.importers:v0.1.0",
+ "_type": "export",
+ "resources": [
+ {
+ "_id": "__REQ_1__",
+ "_type": "request",
+ "authentication": {},
+ "body": {
+ "mimeType": "",
+ "text": "id=1234"
+ },
+ "headers": [],
+ "method": "POST",
+ "name": "https://insomnia.rest",
+ "parameters": [],
+ "parentId": "__WORKSPACE_ID__",
+ "url": "https://insomnia.rest"
+ }
+ ]
+}
diff --git a/packages/insomnia-importers/src/__tests__/fixtures/curl/url-only-input.sh b/packages/insomnia-importers/src/__tests__/fixtures/curl/url-only-input.sh
new file mode 100755
index 0000000000..62179818e4
--- /dev/null
+++ b/packages/insomnia-importers/src/__tests__/fixtures/curl/url-only-input.sh
@@ -0,0 +1 @@
+curl https://insomnia.rest/foo/bar
diff --git a/packages/insomnia-importers/src/__tests__/fixtures/curl/url-only-output.json b/packages/insomnia-importers/src/__tests__/fixtures/curl/url-only-output.json
new file mode 100755
index 0000000000..5d3d238b1e
--- /dev/null
+++ b/packages/insomnia-importers/src/__tests__/fixtures/curl/url-only-output.json
@@ -0,0 +1,20 @@
+{
+ "_type": "export",
+ "__export_format": 3,
+ "__export_date": "2016-11-18T22:34:51.526Z",
+ "__export_source": "insomnia.importers:v0.1.0",
+ "resources": [
+ {
+ "_id": "__REQ_1__",
+ "_type": "request",
+ "parentId": "__WORKSPACE_ID__",
+ "url": "https://insomnia.rest/foo/bar",
+ "name": "https://insomnia.rest/foo/bar",
+ "method": "GET",
+ "body": {},
+ "parameters": [],
+ "headers": [],
+ "authentication": {}
+ }
+ ]
+}
diff --git a/packages/insomnia-importers/src/__tests__/fixtures/curl/urlencoded-input.sh b/packages/insomnia-importers/src/__tests__/fixtures/curl/urlencoded-input.sh
new file mode 100755
index 0000000000..ce177b1b2d
--- /dev/null
+++ b/packages/insomnia-importers/src/__tests__/fixtures/curl/urlencoded-input.sh
@@ -0,0 +1,3 @@
+curl -X POST https://insomnia.rest/ \
+ --data "foo=bar&baz=qux" \
+ -H Content-Type:application/x-www-form-urlencoded
diff --git a/packages/insomnia-importers/src/__tests__/fixtures/curl/urlencoded-output.json b/packages/insomnia-importers/src/__tests__/fixtures/curl/urlencoded-output.json
new file mode 100755
index 0000000000..84f4b60561
--- /dev/null
+++ b/packages/insomnia-importers/src/__tests__/fixtures/curl/urlencoded-output.json
@@ -0,0 +1,32 @@
+{
+ "_type": "export",
+ "__export_format": 3,
+ "__export_date": "2016-11-18T22:34:51.526Z",
+ "__export_source": "insomnia.importers:v0.1.0",
+ "resources": [
+ {
+ "_id": "__REQ_1__",
+ "_type": "request",
+ "parentId": "__WORKSPACE_ID__",
+ "url": "https://insomnia.rest/",
+ "name": "https://insomnia.rest/",
+ "method": "POST",
+ "body": {
+ "mimeType": "application/x-www-form-urlencoded",
+ "params": [{
+ "name": "foo",
+ "value": "bar"
+ }, {
+ "name": "baz",
+ "value": "qux"
+ }]
+ },
+ "parameters": [],
+ "headers": [{
+ "name": "Content-Type",
+ "value": "application/x-www-form-urlencoded"
+ }],
+ "authentication": {}
+ }
+ ]
+}
diff --git a/packages/insomnia-importers/src/__tests__/fixtures/har/deep-input.json b/packages/insomnia-importers/src/__tests__/fixtures/har/deep-input.json
new file mode 100755
index 0000000000..9695735518
--- /dev/null
+++ b/packages/insomnia-importers/src/__tests__/fixtures/har/deep-input.json
@@ -0,0 +1,153 @@
+{
+ "log": {
+ "version": "1.2",
+ "creator": {
+ "name": "WebInspector",
+ "version": "537.36"
+ },
+ "pages": [],
+ "entries": [
+ {
+ "request": {
+ "method": "POST",
+ "url": "",
+ "httpVersion": "HTTP/1.1",
+ "postData": {}
+ }
+ },
+ {
+ "startedDateTime": "2016-11-18T23:13:35.385Z",
+ "time": 403.58199999900535,
+ "request": {
+ "method": "POST",
+ "url": "https://insomnia.rest/foo/bar",
+ "httpVersion": "HTTP/1.1",
+ "headers": [
+ {
+ "name": "Host",
+ "value": "insomnia.rest"
+ },
+ {
+ "name": "cookie",
+ "value": "foo=bar"
+ }
+ ],
+ "postData": {
+ "params": [],
+ "text": "hello world!"
+ },
+ "queryString": [{
+ "name": "foo",
+ "value": "bar",
+ "comment": "This is a comment"
+ }],
+ "cookies": [
+ {
+ "name": "__cfduid",
+ "value": "df7b43586f071c4aaa79dc8a9de0845771478571055",
+ "expires": null,
+ "httpOnly": false,
+ "secure": false
+ },
+ {
+ "name": "_ga",
+ "value": "GA1.2.697086801.1478571058",
+ "expires": null,
+ "httpOnly": false,
+ "secure": false
+ }
+ ],
+ "headersSize": 529,
+ "bodySize": 0
+ },
+ "response": {
+ "status": 200,
+ "statusText": "OK",
+ "httpVersion": "HTTP/1.1",
+ "headers": [
+ {
+ "name": "Date",
+ "value": "Fri, 18 Nov 2016 23:13:35 GMT"
+ },
+ {
+ "name": "Content-Encoding",
+ "value": "gzip"
+ },
+ {
+ "name": "Vary",
+ "value": "Accept-Encoding"
+ },
+ {
+ "name": "CF-Cache-Status",
+ "value": "EXPIRED"
+ },
+ {
+ "name": "Last-Modified",
+ "value": "Tue, 08 Nov 2016 10:57:32 GMT"
+ },
+ {
+ "name": "Server",
+ "value": "cloudflare-nginx"
+ },
+ {
+ "name": "ETag",
+ "value": "W/\"5821af9c-27563\""
+ },
+ {
+ "name": "Transfer-Encoding",
+ "value": "chunked"
+ },
+ {
+ "name": "Content-Type",
+ "value": "application/json"
+ },
+ {
+ "name": "access-control-allow-origin",
+ "value": "*"
+ },
+ {
+ "name": "Cache-Control",
+ "value": "public, max-age=14400"
+ },
+ {
+ "name": "Connection",
+ "value": "keep-alive"
+ },
+ {
+ "name": "CF-RAY",
+ "value": "303f1d248fc02a43-SEA"
+ },
+ {
+ "name": "Expires",
+ "value": "Sat, 19 Nov 2016 03:13:35 GMT"
+ }
+ ],
+ "cookies": [],
+ "content": {
+ "size": 161123,
+ "mimeType": "application/json",
+ "compression": 142237,
+ "text": "{...}"
+ },
+ "redirectURL": "",
+ "headersSize": 451,
+ "bodySize": 18886,
+ "_transferSize": 19337
+ },
+ "cache": {},
+ "timings": {
+ "blocked": 0.739,
+ "dns": 29.483999999999998,
+ "connect": 29.497999999999998,
+ "send": 0.09900000000000375,
+ "wait": 319.437,
+ "receive": 24.324999999005342,
+ "ssl": 15.764000000000003
+ },
+ "serverIPAddress": "104.20.23.46",
+ "connection": "687662",
+ "pageref": "page_1"
+ }
+ ]
+ }
+}
diff --git a/packages/insomnia-importers/src/__tests__/fixtures/har/deep-output.json b/packages/insomnia-importers/src/__tests__/fixtures/har/deep-output.json
new file mode 100755
index 0000000000..5390aca5ee
--- /dev/null
+++ b/packages/insomnia-importers/src/__tests__/fixtures/har/deep-output.json
@@ -0,0 +1,52 @@
+{
+ "_type": "export",
+ "__export_format": 3,
+ "__export_date": "2016-11-18T22:34:51.526Z",
+ "__export_source": "insomnia.importers:v0.1.0",
+ "resources": [
+ {
+ "_id": "__REQ_1__",
+ "_type": "request",
+ "parentId": "__WORKSPACE_ID__",
+ "url": "",
+ "name": "HAR Import 1",
+ "method": "POST",
+ "body": {
+ "mimeType": "",
+ "text": ""
+ },
+ "parameters": [],
+ "headers": [],
+ "authentication": {}
+ },
+ {
+ "_id": "__REQ_2__",
+ "_type": "request",
+ "parentId": "__WORKSPACE_ID__",
+ "url": "https://insomnia.rest/foo/bar",
+ "name": "https://insomnia.rest/foo/bar",
+ "method": "POST",
+ "body": {
+ "mimeType": "",
+ "text": "hello world!"
+ },
+ "parameters": [
+ {
+ "name": "foo",
+ "value": "bar"
+ }
+ ],
+ "headers": [
+ {
+ "name": "Host",
+ "value": "insomnia.rest"
+ },
+ {
+ "name": "cookie",
+ "value": "foo=bar; __cfduid=df7b43586f071c4aaa79dc8a9de0845771478571055; _ga=GA1.2.697086801.1478571058"
+ }
+ ],
+ "authentication": {}
+ }
+ ]
+}
diff --git a/packages/insomnia-importers/src/__tests__/fixtures/har/form-data-input.json b/packages/insomnia-importers/src/__tests__/fixtures/har/form-data-input.json
new file mode 100755
index 0000000000..728fcd7404
--- /dev/null
+++ b/packages/insomnia-importers/src/__tests__/fixtures/har/form-data-input.json
@@ -0,0 +1,21 @@
+{
+ "method": "POST",
+ "url": "https://insomnia.rest/foo/bar",
+ "httpVersion": "HTTP/1.1",
+ "headers": [],
+ "postData": {
+ "params": [
+ {
+ "name": "file",
+ "fileName": "/home/user/test.txt"
+ },
+ {
+ "name": "foo",
+ "value": "bar",
+ "fileName": null,
+ "contentType": null,
+ "comment": "hahah"
+ }
+ ]
+ }
+}
diff --git a/packages/insomnia-importers/src/__tests__/fixtures/har/form-data-output.json b/packages/insomnia-importers/src/__tests__/fixtures/har/form-data-output.json
new file mode 100755
index 0000000000..057c180905
--- /dev/null
+++ b/packages/insomnia-importers/src/__tests__/fixtures/har/form-data-output.json
@@ -0,0 +1,32 @@
+{
+ "_type": "export",
+ "__export_format": 3,
+ "__export_date": "2016-11-18T22:34:51.526Z",
+ "__export_source": "insomnia.importers:v0.1.0",
+ "resources": [
+ {
+ "_id": "__REQ_1__",
+ "_type": "request",
+ "parentId": "__WORKSPACE_ID__",
+ "url": "https://insomnia.rest/foo/bar",
+ "name": "https://insomnia.rest/foo/bar",
+ "method": "POST",
+ "body": {
+ "mimeType": "application/x-www-form-urlencoded",
+ "params": [
+ {
+ "name": "file",
+ "fileName": "/home/user/test.txt"
+ },
+ {
+ "name": "foo",
+ "value": "bar"
+ }
+ ]
+ },
+ "parameters": [],
+ "headers": [],
+ "authentication": {}
+ }
+ ]
+}
diff --git a/packages/insomnia-importers/src/__tests__/fixtures/har/minimal-input.json b/packages/insomnia-importers/src/__tests__/fixtures/har/minimal-input.json
new file mode 100755
index 0000000000..73cd34a925
--- /dev/null
+++ b/packages/insomnia-importers/src/__tests__/fixtures/har/minimal-input.json
@@ -0,0 +1,6 @@
+{
+ "method": "GET",
+ "httpVersion": "HTTP/1.1",
+ "url": "https://insomnia.rest/foo/bar",
+ "comment": "My Request"
+}
diff --git a/packages/insomnia-importers/src/__tests__/fixtures/har/minimal-output.json b/packages/insomnia-importers/src/__tests__/fixtures/har/minimal-output.json
new file mode 100755
index 0000000000..0e3a001597
--- /dev/null
+++ b/packages/insomnia-importers/src/__tests__/fixtures/har/minimal-output.json
@@ -0,0 +1,20 @@
+{
+ "_type": "export",
+ "__export_format": 3,
+ "__export_date": "2016-11-18T22:34:51.526Z",
+ "__export_source": "insomnia.importers:v0.1.0",
+ "resources": [
+ {
+ "_id": "__REQ_1__",
+ "_type": "request",
+ "parentId": "__WORKSPACE_ID__",
+ "url": "https://insomnia.rest/foo/bar",
+ "name": "My Request",
+ "method": "GET",
+ "body": {},
+ "parameters": [],
+ "headers": [],
+ "authentication": {}
+ }
+ ]
+}
diff --git a/packages/insomnia-importers/src/__tests__/fixtures/har/no-requests-input.json b/packages/insomnia-importers/src/__tests__/fixtures/har/no-requests-input.json
new file mode 100755
index 0000000000..e11e348ca4
--- /dev/null
+++ b/packages/insomnia-importers/src/__tests__/fixtures/har/no-requests-input.json
@@ -0,0 +1,12 @@
+{
+ "log": {
+ "version": "1.2",
+ "creator": {
+ "name": "WebInspector",
+ "version": "537.36"
+ },
+ "pages": [],
+ "entries": []
+ }
+}
+
diff --git a/packages/insomnia-importers/src/__tests__/fixtures/har/no-requests-output.json b/packages/insomnia-importers/src/__tests__/fixtures/har/no-requests-output.json
new file mode 100755
index 0000000000..071cbb6f55
--- /dev/null
+++ b/packages/insomnia-importers/src/__tests__/fixtures/har/no-requests-output.json
@@ -0,0 +1,7 @@
+{
+ "_type": "export",
+ "__export_format": 3,
+ "__export_date": "2016-11-18T22:34:51.526Z",
+ "__export_source": "insomnia.importers:v0.1.0",
+ "resources": []
+}
diff --git a/packages/insomnia-importers/src/__tests__/fixtures/har/shallow-input.json b/packages/insomnia-importers/src/__tests__/fixtures/har/shallow-input.json
new file mode 100755
index 0000000000..704699b25d
--- /dev/null
+++ b/packages/insomnia-importers/src/__tests__/fixtures/har/shallow-input.json
@@ -0,0 +1,46 @@
+{
+ "method": "POST",
+ "url": "https://insomnia.rest/foo/bar",
+ "httpVersion": "HTTP/1.1",
+ "headers": [
+ {
+ "name": "Host",
+ "value": "insomnia.rest"
+ }
+ ],
+ "postData": {
+ "params": [{
+ "name": "foo",
+ "value": "bar",
+ "filename": null,
+ "contentType": null,
+ "comment": "hahah"
+ }],
+ "text": ""
+ },
+ "queryString": [
+ {
+ "name": "foo",
+ "value": "bar",
+ "comment": "This is a comment"
+ }
+ ],
+ "cookies": [
+ {
+ "name": "__cfduid",
+ "value": "df7b43586f071c4aaa79dc8a9de0845771478571055",
+ "expires": null,
+ "httpOnly": false,
+ "secure": false
+ },
+ {
+ "name": "_ga",
+ "value": "GA1.2.697086801.1478571058",
+ "expires": null,
+ "httpOnly": false,
+ "secure": false
+ }
+ ],
+ "headersSize": 529,
+ "bodySize": 0
+}
diff --git a/packages/insomnia-importers/src/__tests__/fixtures/har/shallow-output.json b/packages/insomnia-importers/src/__tests__/fixtures/har/shallow-output.json
new file mode 100755
index 0000000000..be24699bd4
--- /dev/null
+++ b/packages/insomnia-importers/src/__tests__/fixtures/har/shallow-output.json
@@ -0,0 +1,42 @@
+{
+ "_type": "export",
+ "__export_format": 3,
+ "__export_date": "2016-11-18T22:34:51.526Z",
+ "__export_source": "insomnia.importers:v0.1.0",
+ "resources": [
+ {
+ "_id": "__REQ_1__",
+ "_type": "request",
+ "parentId": "__WORKSPACE_ID__",
+ "url": "https://insomnia.rest/foo/bar",
+ "name": "https://insomnia.rest/foo/bar",
+ "method": "POST",
+ "body": {
+ "mimeType": "application/x-www-form-urlencoded",
+ "params": [
+ {
+ "name": "foo",
+ "value": "bar"
+ }
+ ]
+ },
+ "parameters": [
+ {
+ "name": "foo",
+ "value": "bar"
+ }
+ ],
+ "headers": [
+ {
+ "name": "Host",
+ "value": "insomnia.rest"
+ },
+ {
+ "name": "Cookie",
+ "value": "__cfduid=df7b43586f071c4aaa79dc8a9de0845771478571055; _ga=GA1.2.697086801.1478571058"
+ }
+ ],
+ "authentication": {}
+ }
+ ]
+}
diff --git a/packages/insomnia-importers/src/__tests__/fixtures/insomnia-1/complex-input.json b/packages/insomnia-importers/src/__tests__/fixtures/insomnia-1/complex-input.json
new file mode 100755
index 0000000000..318dcf29cc
--- /dev/null
+++ b/packages/insomnia-importers/src/__tests__/fixtures/insomnia-1/complex-input.json
@@ -0,0 +1,52 @@
+{
+ "_type": "export",
+ "__export_format": 1,
+ "__export_date": "2016-04-24T01:54:07.153Z",
+ "__export_source": "insomnia.chrome.app:v2.6.10",
+ "items": [
+ {
+ "_type": "request_group",
+ "_id": "c_1415844880580",
+ "name": "Test Folder",
+ "environments": {
+ "base": {
+ "base_url": "https://insomnia.rest/api/v1",
+ "api_key": "live_123"
+ }
+ },
+ "requests": [
+ {
+ "_type": "request",
+ "_id": "sc_1415844884091",
+ "url": "{{ base_url }}/users",
+ "method": "POST",
+ "body": "{\"foo\": \"bar\"}",
+ "headers": [{
+ "name": "Content-TYPE",
+ "value": "application/json; charset=utf-8"
+ }],
+ "params": [
+ {
+ "name": "testing",
+ "value": "hi 123"
+ },
+ {
+ "name": "testing 2",
+ "value": "hi 456"
+ }
+ ],
+ "authentication": {
+ "_type": "basic",
+ "username": "{{ api_key }}",
+ "password": ""
+ },
+ "__insomnia": {
+ "format": "json",
+ "panel_width": 0.5
+ },
+ "name": "Test Request"
+ }
+ ]
+ }
+ ]
+}
diff --git a/packages/insomnia-importers/src/__tests__/fixtures/insomnia-1/complex-output.json b/packages/insomnia-importers/src/__tests__/fixtures/insomnia-1/complex-output.json
new file mode 100755
index 0000000000..1fdff93109
--- /dev/null
+++ b/packages/insomnia-importers/src/__tests__/fixtures/insomnia-1/complex-output.json
@@ -0,0 +1,50 @@
+{
+ "_type": "export",
+ "__export_format": 3,
+ "__export_date": "2016-11-18T22:34:51.526Z",
+ "__export_source": "insomnia.importers:v0.1.0",
+ "resources": [
+ {
+ "_id": "__GRP_1__",
+ "_type": "request_group",
+ "parentId": "__WORKSPACE_ID__",
+ "name": "Test Folder",
+ "environment": {
+ "base_url": "https://insomnia.rest/api/v1",
+ "api_key": "live_123"
+ }
+ },
+ {
+ "_id": "__REQ_1__",
+ "_type": "request",
+ "parentId": "__GRP_1__",
+ "url": "{{ base_url }}/users",
+ "name": "Test Request",
+ "method": "POST",
+ "body": {
+ "mimeType": "application/json",
+ "text": "{\"foo\": \"bar\"}"
+ },
+ "parameters": [
+ {
+ "name": "testing",
+ "value": "hi 123"
+ },
+ {
+ "name": "testing 2",
+ "value": "hi 456"
+ }
+ ],
+ "headers": [
+ {
+ "name": "Content-TYPE",
+ "value": "application/json; charset=utf-8"
+ }
+ ],
+ "authentication": {
+ "username": "{{ api_key }}",
+ "password": ""
+ }
+ }
+ ]
+}
diff --git a/packages/insomnia-importers/src/__tests__/fixtures/insomnia-1/form-input.json b/packages/insomnia-importers/src/__tests__/fixtures/insomnia-1/form-input.json
new file mode 100755
index 0000000000..7cb6fd99ce
--- /dev/null
+++ b/packages/insomnia-importers/src/__tests__/fixtures/insomnia-1/form-input.json
@@ -0,0 +1,31 @@
+{
+ "_type": "export",
+ "__export_format": 1,
+ "__export_date": "2016-04-24T01:54:07.153Z",
+ "__export_source": "insomnia.chrome.app:v2.6.10",
+ "items": [
+ {
+ "_type": "request_group",
+ "_id": "c_1415844880580",
+ "requests": [
+ {
+ "_type": "request",
+ "_id": "sc_1415844884091",
+ "__insomnia": {
+ "format": "form"
+ },
+ "body": "foo=bar&baz=qux&msg=Hello%20World!&flag"
+ },
+ {
+ "_type": "request",
+ "_id": "sc_123",
+ "headers": [{
+ "name": "content-type",
+ "value": "multipart/form-encoded"
+ }],
+ "body": "foo=bar&baz=qux&msg=Hello%20World!&flag"
+ }
+ ]
+ }
+ ]
+}
diff --git a/packages/insomnia-importers/src/__tests__/fixtures/insomnia-1/form-output.json b/packages/insomnia-importers/src/__tests__/fixtures/insomnia-1/form-output.json
new file mode 100755
index 0000000000..8ce273ec5d
--- /dev/null
+++ b/packages/insomnia-importers/src/__tests__/fixtures/insomnia-1/form-output.json
@@ -0,0 +1,89 @@
+{
+ "_type": "export",
+ "__export_format": 3,
+ "__export_date": "2016-11-18T22:34:51.526Z",
+ "__export_source": "insomnia.importers:v0.1.0",
+ "resources": [
+ {
+ "_id": "__GRP_1__",
+ "_type": "request_group",
+ "parentId": "__WORKSPACE_ID__",
+ "name": "Imported Folder 1",
+ "environment": {}
+ },
+ {
+ "_id": "__REQ_1__",
+ "_type": "request",
+ "parentId": "__GRP_1__",
+ "url": "",
+ "name": "Imported HAR 1",
+ "method": "GET",
+ "body": {
+ "mimeType": "application/x-www-form-urlencoded",
+ "params": [
+ {
+ "name": "foo",
+ "value": "bar"
+ },
+ {
+ "name": "baz",
+ "value": "qux"
+ },
+ {
+ "name": "msg",
+ "value": "Hello World!"
+ },
+ {
+ "name": "flag",
+ "value": ""
+ }
+ ]
+ },
+ "parameters": [],
+ "headers": [
+ {
+ "name": "Content-Type",
+ "value": "application/x-www-form-urlencoded"
+ }
+ ],
+ "authentication": {}
+ },
+ {
+ "_id": "__REQ_2__",
+ "_type": "request",
+ "parentId": "__GRP_1__",
+ "url": "",
+ "name": "Imported HAR 2",
+ "method": "GET",
+ "body": {
+ "mimeType": "multipart/form-encoded",
+ "params": [
+ {
+ "name": "foo",
+ "value": "bar"
+ },
+ {
+ "name": "baz",
+ "value": "qux"
+ },
+ {
+ "name": "msg",
+ "value": "Hello World!"
+ },
+ {
+ "name": "flag",
+ "value": ""
+ }
+ ]
+ },
+ "parameters": [],
+ "headers": [
+ {
+ "name": "content-type",
+ "value": "multipart/form-encoded"
+ }
+ ],
+ "authentication": {}
+ }
+ ]
+}
diff --git a/packages/insomnia-importers/src/__tests__/fixtures/insomnia-1/minimal-input.json b/packages/insomnia-importers/src/__tests__/fixtures/insomnia-1/minimal-input.json
new file mode 100755
index 0000000000..79f145fa04
--- /dev/null
+++ b/packages/insomnia-importers/src/__tests__/fixtures/insomnia-1/minimal-input.json
@@ -0,0 +1,18 @@
+{
+ "_type": "export",
+ "__export_format": 1,
+ "__export_date": "2016-04-24T01:54:07.153Z",
+ "__export_source": "insomnia.chrome.app:v2.6.10",
+ "items": [
+ {
+ "_type": "request_group",
+ "_id": "c_1415844880580",
+ "requests": [
+ {
+ "_type": "request",
+ "_id": "sc_1415844884091"
+ }
+ ]
+ }
+ ]
+}
diff --git a/packages/insomnia-importers/src/__tests__/fixtures/insomnia-1/minimal-output.json b/packages/insomnia-importers/src/__tests__/fixtures/insomnia-1/minimal-output.json
new file mode 100755
index 0000000000..f2e8ac01e3
--- /dev/null
+++ b/packages/insomnia-importers/src/__tests__/fixtures/insomnia-1/minimal-output.json
@@ -0,0 +1,27 @@
+{
+ "_type": "export",
+ "__export_format": 3,
+ "__export_date": "2016-11-18T22:34:51.526Z",
+ "__export_source": "insomnia.importers:v0.1.0",
+ "resources": [
+ {
+ "_id": "__GRP_1__",
+ "_type": "request_group",
+ "parentId": "__WORKSPACE_ID__",
+ "name": "Imported Folder 1",
+ "environment": {}
+ },
+ {
+ "_id": "__REQ_1__",
+ "_type": "request",
+ "parentId": "__GRP_1__",
+ "url": "",
+ "name": "Imported HAR 1",
+ "method": "GET",
+ "body": {},
+ "parameters": [],
+ "headers": [],
+ "authentication": {}
+ }
+ ]
+}
diff --git a/packages/insomnia-importers/src/__tests__/fixtures/insomnia-2/complex-input.json b/packages/insomnia-importers/src/__tests__/fixtures/insomnia-2/complex-input.json
new file mode 100755
index 0000000000..d3d90e78ff
--- /dev/null
+++ b/packages/insomnia-importers/src/__tests__/fixtures/insomnia-2/complex-input.json
@@ -0,0 +1,71 @@
+{
+ "_type": "export",
+ "__export_format": 2,
+ "__export_date": "2016-11-18T22:34:51.526Z",
+ "__export_source": "insomnia.importers:v0.1.0",
+ "resources": [
+ {
+ "_id": "__GRP_1__",
+ "_type": "request_group",
+ "parentId": "__WORKSPACE_ID__",
+ "name": "Test Folder",
+ "environment": {
+ "base_url": "https://insomnia.rest/api/v1",
+ "api_key": "live_123"
+ }
+ },
+ {
+ "_id": "__REQ_1__",
+ "_type": "request",
+ "parentId": "__GRP_1__",
+ "url": "{{ base_url }}/users",
+ "name": "Test Request",
+ "method": "POST",
+ "body": "{\"foo\": \"bar\"}",
+ "parameters": [
+ {
+ "name": "testing",
+ "value": "hi 123"
+ },
+ {
+ "name": "testing 2",
+ "value": "hi 456"
+ }
+ ],
+ "headers": [
+ {
+ "name": "Content-Type",
+ "value": "application/json; charset=utf-8"
+ }
+ ],
+ "authentication": {
+ "username": "{{ api_key }}",
+ "password": ""
+ }
+ },
+ {
+ "_id": "__REQ_2__",
+ "_type": "request",
+ "parentId": "__GRP_1__",
+ "url": "{{ base_url }}/users",
+ "name": "Test Request",
+ "method": "POST",
+ "body": "Hello World!",
+ "parameters": [
+ {
+ "name": "testing",
+ "value": "hi 123"
+ },
+ {
+ "name": "testing 2",
+ "value": "hi 456"
+ }
+ ],
+ "authentication": {
+ "username": "{{ api_key }}",
+ "password": ""
+ }
+ }
+ ]
+}
+
diff --git a/packages/insomnia-importers/src/__tests__/fixtures/insomnia-2/complex-output.json b/packages/insomnia-importers/src/__tests__/fixtures/insomnia-2/complex-output.json
new file mode 100755
index 0000000000..430db6b3d9
--- /dev/null
+++ b/packages/insomnia-importers/src/__tests__/fixtures/insomnia-2/complex-output.json
@@ -0,0 +1,77 @@
+{
+ "_type": "export",
+ "__export_format": 3,
+ "__export_date": "2016-11-18T22:34:51.526Z",
+ "__export_source": "insomnia.importers:v0.1.0",
+ "resources": [
+ {
+ "_id": "__GRP_1__",
+ "_type": "request_group",
+ "parentId": "__WORKSPACE_ID__",
+ "name": "Test Folder",
+ "environment": {
+ "base_url": "https://insomnia.rest/api/v1",
+ "api_key": "live_123"
+ }
+ },
+ {
+ "_id": "__REQ_1__",
+ "_type": "request",
+ "parentId": "__GRP_1__",
+ "url": "{{ base_url }}/users",
+ "name": "Test Request",
+ "method": "POST",
+ "body": {
+ "mimeType": "application/json",
+ "text": "{\"foo\": \"bar\"}"
+ },
+ "parameters": [
+ {
+ "name": "testing",
+ "value": "hi 123"
+ },
+ {
+ "name": "testing 2",
+ "value": "hi 456"
+ }
+ ],
+ "headers": [
+ {
+ "name": "Content-Type",
+ "value": "application/json; charset=utf-8"
+ }
+ ],
+ "authentication": {
+ "username": "{{ api_key }}",
+ "password": ""
+ }
+ },
+ {
+ "_id": "__REQ_2__",
+ "_type": "request",
+ "parentId": "__GRP_1__",
+ "url": "{{ base_url }}/users",
+ "name": "Test Request",
+ "method": "POST",
+ "body": {
+ "mimeType": "",
+ "text": "Hello World!"
+ },
+ "parameters": [
+ {
+ "name": "testing",
+ "value": "hi 123"
+ },
+ {
+ "name": "testing 2",
+ "value": "hi 456"
+ }
+ ],
+ "headers": [],
+ "authentication": {
+ "username": "{{ api_key }}",
+ "password": ""
+ }
+ }
+ ]
+}
diff --git a/packages/insomnia-importers/src/__tests__/fixtures/insomnia-3/basic-input.json b/packages/insomnia-importers/src/__tests__/fixtures/insomnia-3/basic-input.json
new file mode 100755
index 0000000000..fc83f9154a
--- /dev/null
+++ b/packages/insomnia-importers/src/__tests__/fixtures/insomnia-3/basic-input.json
@@ -0,0 +1,18 @@
+{
+ "_type": "export",
+ "__export_format": 3,
+ "__export_date": "2016-12-03T04:07:20.499Z",
+ "__export_source": "insomnia.desktop.app:v4.0.1",
+ "resources": [
+ {
+ "_id": "wrk_123abc",
+ "parentId": null,
+ "modified": 1477939910686,
+ "created": 1474340560460,
+ "name": "Insomnia",
+ "description": "",
+ "certificates": [],
+ "_type": "workspace"
+ }
+ ]
+}
diff --git a/packages/insomnia-importers/src/__tests__/fixtures/insomnia-3/basic-output.json b/packages/insomnia-importers/src/__tests__/fixtures/insomnia-3/basic-output.json
new file mode 100755
index 0000000000..e0684b0450
--- /dev/null
+++ b/packages/insomnia-importers/src/__tests__/fixtures/insomnia-3/basic-output.json
@@ -0,0 +1,18 @@
+{
+ "_type": "export",
+ "__export_format": 3,
+ "__export_date": "2016-11-18T22:34:51.526Z",
+ "__export_source": "insomnia.importers:v0.1.0",
+ "resources": [
+ {
+ "_id": "wrk_123abc",
+ "parentId": null,
+ "modified": 1477939910686,
+ "created": 1474340560460,
+ "name": "Insomnia",
+ "description": "",
+ "certificates": [],
+ "_type": "workspace"
+ }
+ ]
+}
diff --git a/packages/insomnia-importers/src/__tests__/fixtures/postman-env/basic-input.json b/packages/insomnia-importers/src/__tests__/fixtures/postman-env/basic-input.json
new file mode 100755
index 0000000000..7abc5c0015
--- /dev/null
+++ b/packages/insomnia-importers/src/__tests__/fixtures/postman-env/basic-input.json
@@ -0,0 +1,22 @@
+{
+ "id": "fd5ae82a-d4c3-fa38-b53f-cddafb084535",
+ "name": "Production Env",
+ "values": [
+ {
+ "key": "foo",
+ "value": "production",
+ "type": "text",
+ "enabled": true
+ },
+ {
+ "key": "bar",
+ "value": "hahah",
+ "type": "text",
+ "enabled": false
+ }
+ ],
+ "timestamp": 1480561592875,
+ "_postman_variable_scope": "environment",
+ "_postman_exported_at": "2016-12-01T03:06:36.191Z",
+ "_postman_exported_using": "Postman/4.8.3"
+}
diff --git a/packages/insomnia-importers/src/__tests__/fixtures/postman-env/basic-output.json b/packages/insomnia-importers/src/__tests__/fixtures/postman-env/basic-output.json
new file mode 100755
index 0000000000..17a11712bb
--- /dev/null
+++ b/packages/insomnia-importers/src/__tests__/fixtures/postman-env/basic-output.json
@@ -0,0 +1,17 @@
+{
+ "__export_date": "2016-12-01T03:24:37.929Z",
+ "__export_format": 3,
+ "__export_source": "insomnia.importers:v0.1.0",
+ "_type": "export",
+ "resources": [
+ {
+ "_id": "__ENV_1__",
+ "_type": "environment",
+ "name": "Production Env",
+ "parentId": "__BASE_ENVIRONMENT_ID__",
+ "data": {
+ "foo": "production"
+ }
+ }
+ ]
+}
diff --git a/packages/insomnia-importers/src/__tests__/fixtures/postman-env/no-name-input.json b/packages/insomnia-importers/src/__tests__/fixtures/postman-env/no-name-input.json
new file mode 100755
index 0000000000..a1c347c3b9
--- /dev/null
+++ b/packages/insomnia-importers/src/__tests__/fixtures/postman-env/no-name-input.json
@@ -0,0 +1,21 @@
+{
+ "id": "fd5ae82a-d4c3-fa38-b53f-cddafb084535",
+ "values": [
+ {
+ "key": "foo",
+ "value": "production",
+ "type": "text",
+ "enabled": true
+ },
+ {
+ "key": "bar",
+ "value": "hahah",
+ "type": "text",
+ "enabled": false
+ }
+ ],
+ "timestamp": 1480561592875,
+ "_postman_variable_scope": "environment",
+ "_postman_exported_at": "2016-12-01T03:06:36.191Z",
+ "_postman_exported_using": "Postman/4.8.3"
+}
diff --git a/packages/insomnia-importers/src/__tests__/fixtures/postman-env/no-name-output.json b/packages/insomnia-importers/src/__tests__/fixtures/postman-env/no-name-output.json
new file mode 100755
index 0000000000..167d05c00b
--- /dev/null
+++ b/packages/insomnia-importers/src/__tests__/fixtures/postman-env/no-name-output.json
@@ -0,0 +1,17 @@
+{
+ "__export_date": "2016-12-01T03:24:37.929Z",
+ "__export_format": 3,
+ "__export_source": "insomnia.importers:v0.1.0",
+ "_type": "export",
+ "resources": [
+ {
+ "_id": "__ENV_1__",
+ "_type": "environment",
+ "name": "Postman Environment",
+ "parentId": "__BASE_ENVIRONMENT_ID__",
+ "data": {
+ "foo": "production"
+ }
+ }
+ ]
+}
diff --git a/packages/insomnia-importers/src/__tests__/fixtures/postman/complex-input.json b/packages/insomnia-importers/src/__tests__/fixtures/postman/complex-input.json
new file mode 100755
index 0000000000..223edcc4ca
--- /dev/null
+++ b/packages/insomnia-importers/src/__tests__/fixtures/postman/complex-input.json
@@ -0,0 +1,103 @@
+{
+ "variables": [],
+ "info": {
+ "name": "Test Collection",
+ "_postman_id": "250d5bd3-4f7e-8fd0-7744-35e942e36a78",
+ "description": "A collection for testing",
+ "schema": "https://schema.getpostman.com/json/collection/v2.0.0/collection.json"
+ },
+ "item": [
+ {
+ "name": "First Folder",
+ "description": "The first folder",
+ "item": [
+ {
+ "name": "{{base_url}}/api/users",
+ "request": {
+ "url": "{{base_url}}/api/users",
+ "method": "POST",
+ "header": [
+ {
+ "key": "Authorization",
+ "value": "Basic dXNlcm5hbWU6cGFzc3dvcmQ=",
+ "description": ""
+ }
+ ],
+ "body": {
+ "mode": "formdata",
+ "formdata": [
+ {
+ "key": "file",
+ "src": "/home/user/test.txt",
+ "type": "file",
+ "enabled": true
+ },
+ {
+ "key": "foo",
+ "value": "bar",
+ "type": "text",
+ "enabled": true
+ }
+ ]
+ },
+ "description": "First Request"
+ },
+ "response": []
+ },
+ {
+ "name": "Urlencoded Form Test",
+ "request": {
+ "url": "{{base_url}}/api/users",
+ "method": "POST",
+ "header": [
+ {
+ "key": "Authorization",
+ "value": "Basic dXNlcm5hbWU6cGFzc3dvcmQ=",
+ "description": ""
+ }
+ ],
+ "body": {
+ "mode": "urlencoded",
+ "urlencoded": [
+ {
+ "key": "foo",
+ "value": "bar",
+ "type": "text",
+ "enabled": true
+ }
+ ]
+ },
+ "description": "First Request"
+ },
+ "response": []
+ }
+ ]
+ },
+ {
+ "name": "Test Request",
+ "request": {
+ "url": "{{base_url}}/api/users",
+ "method": "POST",
+ "body": {
+ "mode": "raw",
+ "raw": "hello world!"
+ },
+ "description": "Request with raw body"
+ },
+ "response": []
+ },
+ {
+ "name": "Test Request",
+ "request": {
+ "url": "{{base_url}}/api/users",
+ "method": "POST",
+ "body": {
+ "mode": "unknown",
+ "unknown": "foo"
+ },
+ "description": "Request with raw body"
+ },
+ "response": []
+ }
+ ]
+}
diff --git a/packages/insomnia-importers/src/__tests__/fixtures/postman/complex-output.json b/packages/insomnia-importers/src/__tests__/fixtures/postman/complex-output.json
new file mode 100755
index 0000000000..3d62da3448
--- /dev/null
+++ b/packages/insomnia-importers/src/__tests__/fixtures/postman/complex-output.json
@@ -0,0 +1,114 @@
+{
+ "_type": "export",
+ "__export_format": 3,
+ "__export_date": "2016-11-18T22:34:51.526Z",
+ "__export_source": "insomnia.importers:v0.1.0",
+ "resources": [
+ {
+ "_id": "__GRP_1__",
+ "_type": "request_group",
+ "parentId": "__WORKSPACE_ID__",
+ "name": "Test Collection",
+ "description": "A collection for testing",
+ "environment": {}
+ },
+ {
+ "_id": "__GRP_2__",
+ "_type": "request_group",
+ "parentId": "__GRP_1__",
+ "name": "First Folder",
+ "description": "The first folder",
+ "environment": {}
+ },
+ {
+ "_id": "__REQ_1__",
+ "_type": "request",
+ "parentId": "__GRP_2__",
+ "url": "{{base_url}}/api/users",
+ "name": "{{base_url}}/api/users",
+ "description": "First Request",
+ "method": "POST",
+ "body": {
+ "mimeType": "multipart/form-data",
+ "params": [
+ {
+ "disabled": false,
+ "type": "file",
+ "name": "file",
+ "fileName": "/home/user/test.txt"
+ },
+ {
+ "disabled": false,
+ "type": "text",
+ "name": "foo",
+ "value": "bar"
+ }
+ ]
+ },
+ "parameters": [],
+ "headers": [
+ {
+ "name": "Authorization",
+ "value": "Basic dXNlcm5hbWU6cGFzc3dvcmQ="
+ }
+ ],
+ "authentication": {}
+ },
+ {
+ "_id": "__REQ_2__",
+ "_type": "request",
+ "parentId": "__GRP_2__",
+ "url": "{{base_url}}/api/users",
+ "name": "Urlencoded Form Test",
+ "description": "First Request",
+ "method": "POST",
+ "body": {
+ "mimeType": "application/x-www-form-urlencoded",
+ "params": [
+ {
+ "disabled": false,
+ "name": "foo",
+ "value": "bar"
+ }
+ ]
+ },
+ "parameters": [],
+ "headers": [
+ {
+ "name": "Authorization",
+ "value": "Basic dXNlcm5hbWU6cGFzc3dvcmQ="
+ }
+ ],
+ "authentication": {}
+ },
+ {
+ "_id": "__REQ_3__",
+ "_type": "request",
+ "parentId": "__GRP_1__",
+ "url": "{{base_url}}/api/users",
+ "name": "Test Request",
+ "description": "Request with raw body",
+ "method": "POST",
+ "body": {
+ "mimeType": "",
+ "text": "hello world!"
+ },
+ "parameters": [],
+ "headers": [],
+ "authentication": {}
+ },
+ {
+ "_id": "__REQ_4__",
+ "_type": "request",
+ "parentId": "__GRP_1__",
+ "url": "{{base_url}}/api/users",
+ "name": "Test Request",
+ "description": "Request with raw body",
+ "method": "POST",
+ "body": {},
+ "parameters": [],
+ "headers": [],
+ "authentication": {}
+ }
+ ]
+}
diff --git a/packages/insomnia-importers/src/__tests__/fixtures/postman/minimal-input.json b/packages/insomnia-importers/src/__tests__/fixtures/postman/minimal-input.json
new file mode 100755
index 0000000000..8f16ad00ff
--- /dev/null
+++ b/packages/insomnia-importers/src/__tests__/fixtures/postman/minimal-input.json
@@ -0,0 +1,14 @@
+{
+ "variables": [],
+ "info": {
+ "name": "Test Collection",
+ "_postman_id": "250d5bd3-4f7e-8fd0-7744-35e942e36a78",
+ "description": "A collection for testing",
+ "schema": "https://schema.getpostman.com/json/collection/v2.0.0/collection.json"
+ },
+ "item": [
+ {
+ "request": {}
+ }
+ ]
+}
diff --git a/packages/insomnia-importers/src/__tests__/fixtures/postman/minimal-output.json b/packages/insomnia-importers/src/__tests__/fixtures/postman/minimal-output.json
new file mode 100755
index 0000000000..52a13dad06
--- /dev/null
+++ b/packages/insomnia-importers/src/__tests__/fixtures/postman/minimal-output.json
@@ -0,0 +1,29 @@
+{
+ "_type": "export",
+ "__export_format": 3,
+ "__export_date": "2016-11-18T22:34:51.526Z",
+ "__export_source": "insomnia.importers:v0.1.0",
+ "resources": [
+ {
+ "_id": "__GRP_1__",
+ "_type": "request_group",
+ "parentId": "__WORKSPACE_ID__",
+ "name": "Test Collection",
+ "description": "A collection for testing",
+ "environment": {}
+ },
+ {
+ "_id": "__REQ_1__",
+ "_type": "request",
+ "parentId": "__GRP_1__",
+ "url": "",
+ "name": "",
+ "description": "",
+ "method": "GET",
+ "body": {},
+ "parameters": [],
+ "headers": [],
+ "authentication": {}
+ }
+ ]
+}
diff --git a/packages/insomnia-importers/src/__tests__/import-errors.test.js b/packages/insomnia-importers/src/__tests__/import-errors.test.js
new file mode 100755
index 0000000000..6987f0473d
--- /dev/null
+++ b/packages/insomnia-importers/src/__tests__/import-errors.test.js
@@ -0,0 +1,10 @@
+'use strict';
+
+const importers = require('../../index');
+
+describe('Import errors', () => {
+ it('fail to find importer', () => {
+ const fn = () => importers.convert('foo');
+ expect(fn).toThrowError('No importers found for file')
+ })
+});
diff --git a/packages/insomnia-importers/src/__tests__/utils.test.js b/packages/insomnia-importers/src/__tests__/utils.test.js
new file mode 100755
index 0000000000..c0eb8e33c1
--- /dev/null
+++ b/packages/insomnia-importers/src/__tests__/utils.test.js
@@ -0,0 +1,46 @@
+'use strict';
+
+const utils = require('../../src/utils');
+
+describe('setDefaults()', () => {
+ it('should leave non-objects alone', () => {
+ expect(utils.setDefaults(null)).toBe(null)
+ });
+
+ it('should leave unrecognized types alone', () => {
+ const obj = {_type: 'weird'};
+ expect(utils.setDefaults(obj)).toBe(obj)
+ });
+
+ it('should set correct request defaults', () => {
+ expect(utils.setDefaults({_type: 'request'})).toEqual({
+ _type: 'request',
+ parentId: '__WORKSPACE_ID__',
+ name: 'Imported',
+ url: '',
+ body: '',
+ method: 'GET',
+ parameters: [],
+ headers: [],
+ authentication: {},
+ })
+ });
+
+ it('should set correct request_group defaults', () => {
+ expect(utils.setDefaults({_type: 'request_group'})).toEqual({
+ _type: 'request_group',
+ parentId: '__WORKSPACE_ID__',
+ name: 'Imported',
+ environment: {},
+ })
+ });
+
+ it('should set correct environment defaults', () => {
+ expect(utils.setDefaults({_type: 'environment'})).toEqual({
+ _type: 'environment',
+ parentId: '__BASE_ENVIRONMENT_ID__',
+ name: 'Imported Environment',
+ data: {},
+ })
+ });
+});
diff --git a/packages/insomnia-importers/src/cli.js b/packages/insomnia-importers/src/cli.js
new file mode 100755
index 0000000000..093b9ce280
--- /dev/null
+++ b/packages/insomnia-importers/src/cli.js
@@ -0,0 +1,53 @@
+'use strict';
+
+const program = require('commander');
+const path = require('path');
+const importers = require('../index');
+const fs = require('fs');
+const {version} = require('../package.json');
+
+module.exports.go = function () {
+
+ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ //
+ // Configure the arguments parsing //
+ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ //
+
+ program
+ .version(version, '-v, --version')
+ .usage('[options] ')
+ .option('-o, --output ', 'output directory')
+ .parse(process.argv);
+
+ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ //
+ // Set up the directory to work on //
+ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ //
+
+ const inputPath = program.args[0];
+ const outputPath = program.output || program.args[1];
+
+ if (!inputPath) {
+ console.log('Input path not specified');
+ process.exit(1);
+ }
+
+ // ~~~~~~~~~~~~~~~~~~~~~~ //
+ // Convert the input file //
+ // ~~~~~~~~~~~~~~~~~~~~~~ //
+
+ const fullInputPath = path.resolve(inputPath);
+ const fileContents = fs.readFileSync(fullInputPath, 'utf8');
+
+ const result = importers.convert(fileContents);
+ const exportContents = JSON.stringify(result.data, null, 2);
+
+ // ~~~~~~~~~~~~~~~~ //
+ // Write the output //
+ // ~~~~~~~~~~~~~~~~ //
+
+ if (outputPath) {
+ const fullOutputPath = path.resolve(outputPath);
+ fs.writeFileSync(fullOutputPath, exportContents);
+ } else {
+ console.log(exportContents);
+ }
+};
diff --git a/packages/insomnia-importers/src/importers/curl.js b/packages/insomnia-importers/src/importers/curl.js
new file mode 100755
index 0000000000..47a3e0489b
--- /dev/null
+++ b/packages/insomnia-importers/src/importers/curl.js
@@ -0,0 +1,213 @@
+'use strict';
+
+const {parse} = require('shell-quote');
+
+let requestCount = 1;
+
+module.exports.id = 'curl';
+module.exports.name = 'cURL';
+module.exports.description = 'cURL command line tool';
+
+module.exports.convert = function (rawData) {
+ requestCount = 1;
+
+ if (!rawData.match(/^\s*curl /)) {
+ return null;
+ }
+
+ const requests = [];
+
+ // Parse the whole thing into one big tokenized list
+ const allArgs = parse(rawData);
+
+
+ // ~~~~~~~~~~~~~~~~~~~~~~ //
+ // Aggregate the commands //
+ // ~~~~~~~~~~~~~~~~~~~~~~ //
+
+ const commands = [];
+
+ let currentCommand = [];
+ for (const arg of allArgs) {
+ if (typeof arg === 'object' && arg.op === ';') {
+ commands.push(currentCommand);
+ currentCommand = [];
+ } else if (typeof arg === 'object' && arg.op === 'glob') {
+ currentCommand.push(arg.pattern);
+ } else if (typeof arg === 'object') {
+ // Not sure what this could be, so just skip it
+ } else {
+ currentCommand.push(arg);
+ }
+ }
+
+ // Push the last unfinished command
+ commands.push(currentCommand);
+
+ for (const args of commands) {
+ if (args[0] !== 'curl') {
+ continue;
+ }
+
+ requests.push(importArgs(args));
+ }
+
+ return requests;
+};
+
+function importArgs (args) {
+
+ // ~~~~~~~~~~~~~~~~~~~~~ //
+ // Collect all the flags //
+ // ~~~~~~~~~~~~~~~~~~~~~ //
+
+ const pairs = {};
+ const singletons = [];
+
+ // Start at 1 so we can skip the ^curl part
+ for (let i = 1; i < args.length; i++) {
+ const arg = args[i];
+ if (arg.match(/^-{1,2}[\w\-]+/)) {
+ const isSingleDash = arg[0] === '-' && arg[1] !== '-';
+ let name = arg.replace(/^-{1,2}/, '');
+
+ let value;
+ if (isSingleDash && name.length > 1) {
+ // Handle squished arguments like -XPOST
+ value = name.slice(1);
+ name = name.slice(0, 1);
+ } else if (args[i + 1] && args[i + 1].indexOf('-') !== 0) {
+ // Next arg is not a flag, so assign it as the value
+ value = args[i + 1];
+ i++; // Skip next one
+ } else {
+ value = true;
+ }
+
+ if (!pairs[name]) {
+ pairs[name] = [value];
+ } else {
+ pairs[name].push(value);
+ }
+ } else if (arg) {
+ singletons.push(arg);
+ }
+ }
+
+ // ~~~~~~~~~~~~~~~~~ //
+ // Build the request //
+ // ~~~~~~~~~~~~~~~~~ //
+
+ // Url
+ const url = getPairValue(pairs, singletons[0] || '', 'url');
+
+ // Authentication
+ const [username, password] = getPairValue(pairs, '', 'u', 'user').split(/:(.*)$/);
+ const authentication = username
+ ? {username: username.trim(), password: password.trim()}
+ : {};
+
+ // Headers
+ const headers = [
+ ...(pairs['header'] || []),
+ ...(pairs['H'] || [])
+ ].map(str => {
+ const [name, value] = str.split(/:(.*)$/);
+ return {name: name.trim(), value: value.trim()};
+ });
+
+ // Cookies
+ const cookieHeaderValue = [
+ ...(pairs.cookie || []),
+ ...(pairs.b || [])
+ ].map(str => {
+ const name = str.split('=', 1)[0];
+ const value = str.replace(`${name}=`, '');
+ return `${name}=${value}`;
+ }).join('; ');
+
+ // Convert cookie value to header
+ const existingCookieHeader = headers.find(h => h.name.toLowerCase() === 'cookie');
+ if (cookieHeaderValue && existingCookieHeader) {
+ // Has existing cookie header, so let's update it
+ existingCookieHeader.value += `; ${cookieHeaderValue}`;
+ } else if (cookieHeaderValue) {
+ // No existing cookie header, so let's make a new one
+ headers.push({name: 'Cookie', value: cookieHeaderValue});
+ }
+
+ // Body (Text or Blob)
+ const bodyAsGET = getPairValue(pairs, false, 'G', 'get');
+ const textBody = getPairValue(
+ pairs, null, 'd', 'data', 'data-raw', 'data-urlencode', 'data-binary', 'data-ascii');
+ const contentTypeHeader = headers.find(h => h.name.toLowerCase() === 'content-type');
+ const mimeType = contentTypeHeader ? contentTypeHeader.value.split(';')[0] : null;
+
+ // Body (Multipart Form Data)
+ const formDataParams = [
+ ...(pairs['form'] || []),
+ ...(pairs['F'] || [])
+ ].map(str => {
+ const [name, value] = str.split('=');
+ const item = {name};
+
+ if (value.indexOf('@') === 0) {
+ item.fileName = value.slice(1);
+ item.type = 'file';
+ } else {
+ item.value = value;
+ item.type = 'text';
+ }
+ return item;
+ });
+
+ // Body
+ let parameters = [];
+ let body = mimeType ? {mimeType: mimeType} : {};
+ if (textBody && bodyAsGET) {
+ parameters = textBody.split('&').map(v => {
+ const [name, value] = v.split('=');
+ return {name: name || '', value: value || ''};
+ });
+ } else if (textBody && mimeType === 'application/x-www-form-urlencoded') {
+ body.params = textBody.split('&').map(v => {
+ const [name, value] = v.split('=');
+ return {name: name || '', value: value || ''};
+ });
+ } else if (textBody) {
+ body.text = textBody;
+ body.mimeType = mimeType || '';
+ } else if (formDataParams.length) {
+ body.params = formDataParams;
+ body.mimeType = mimeType || 'multipart/form-data';
+ }
+
+ // Method
+ let method = getPairValue(pairs, '__UNSET__', 'X', 'request').toUpperCase();
+ if (method === '__UNSET__') {
+ method = (body.text || body.params) ? 'POST' : 'GET';
+ }
+
+ const count = requestCount++;
+ return {
+ _id: `__REQ_${count}__`,
+ _type: 'request',
+ parentId: '__WORKSPACE_ID__',
+ name: url || `cURL Import ${count}`,
+ parameters,
+ url,
+ method,
+ headers,
+ authentication,
+ body,
+ };
+}
+
+function getPairValue (pairs, defaultValue, ...names) {
+ for (const name of names) {
+ if (pairs[name] && pairs[name].length) {
+ return pairs[name][0];
+ }
+ }
+ return defaultValue;
+}
diff --git a/packages/insomnia-importers/src/importers/har.js b/packages/insomnia-importers/src/importers/har.js
new file mode 100755
index 0000000000..d71fc03857
--- /dev/null
+++ b/packages/insomnia-importers/src/importers/har.js
@@ -0,0 +1,134 @@
+'use strict';
+
+const utils = require('../utils');
+
+let requestCount = 1;
+
+module.exports.id = 'har';
+module.exports.name = 'HAR 1.2';
+module.exports.description = 'Importer for HTTP Archive 1.2';
+
+module.exports.convert = function (rawData) {
+ requestCount = 1;
+
+ let data;
+ try {
+ data = JSON.parse(rawData);
+ const requests = extractRequests(data);
+ return requests.map(importRequest);
+ } catch (e) {
+ return null;
+ }
+};
+
+function importRequest (request) {
+ const cookieHeaderValue = mapImporter(request.cookies, importCookieToHeaderString).join('; ');
+ const headers = mapImporter(request.headers, importHeader);
+
+ // Convert cookie value to header
+ const existingCookieHeader = headers.find(h => h.name.toLowerCase() === 'cookie');
+ if (cookieHeaderValue && existingCookieHeader) {
+ // Has existing cookie header, so let's update it
+ existingCookieHeader.value += `; ${cookieHeaderValue}`;
+ } else if (cookieHeaderValue) {
+ // No existing cookie header, so let's make a new one
+ headers.push({name: 'Cookie', value: cookieHeaderValue});
+ }
+
+ const count = requestCount++;
+
+ return {
+ _type: 'request',
+ _id: `__REQ_${count}__`,
+ name: request.comment || request.url || `HAR Import ${count}`,
+ parentId: '__WORKSPACE_ID__',
+ url: importUrl(request.url),
+ method: importMethod(request.method),
+ body: importPostData(request.postData),
+ parameters: mapImporter(request.queryString, importQueryString),
+ headers: headers,
+
+ // Authentication isn't part of HAR, but we should be able to
+ // sniff for things like Basic Authentication headers and pull
+ // out the auth info
+ authentication: {},
+ };
+}
+
+function importUrl (url) {
+ return url;
+}
+
+function importMethod (method) {
+ return method.toUpperCase();
+}
+
+function importCookieToHeaderString (obj) {
+ return `${obj.name}=${obj.value}`
+}
+
+function importHeader (obj) {
+ return removeComment(obj);
+}
+
+function importQueryString (obj) {
+ return removeComment(obj);
+}
+
+function importPostData (obj) {
+ if (!obj) {
+ return {};
+ }
+
+ if (obj.params && obj.params.length) {
+ const mimeType = obj.mimeType || 'application/x-www-form-urlencoded';
+ const params = obj.params.map(p => {
+ const item = {name: p.name};
+ if (p.fileName) {
+ item.fileName = p.fileName;
+ } else {
+ item.value = p.value || '';
+ }
+ return item;
+ });
+
+ return {params, mimeType};
+ } else {
+ return {
+ mimeType: obj.mimeType || '',
+ text: obj.text || ''
+ };
+ }
+}
+
+function removeComment (obj) {
+ const newObj = Object.assign({}, obj);
+ delete newObj['comment'];
+ return newObj;
+}
+
+function mapImporter (arr, importFn) {
+ if (!arr) {
+ return [];
+ } else {
+ return arr.map(importFn)
+ }
+}
+
+function extractRequests (harRoot) {
+ const requests = [];
+
+ const log = harRoot.log;
+ if (!log && harRoot.httpVersion && harRoot.method && harRoot.url) {
+ // If there is not "log" property, try to use the root object
+ // if it looks like a request
+ requests.push(harRoot);
+ return requests;
+ }
+
+ for (const entry of log.entries) {
+ requests.push(entry.request);
+ }
+
+ return requests;
+}
diff --git a/packages/insomnia-importers/src/importers/insomnia-1.js b/packages/insomnia-importers/src/importers/insomnia-1.js
new file mode 100755
index 0000000000..a227e5c770
--- /dev/null
+++ b/packages/insomnia-importers/src/importers/insomnia-1.js
@@ -0,0 +1,118 @@
+'use strict';
+
+let requestCount = 1;
+let requestGroupCount = 1;
+
+const FORMAT_MAP = {
+ json: 'application/json',
+ xml: 'application/xml',
+ form: 'application/x-www-form-urlencoded',
+ text: 'text/plain'
+};
+
+module.exports.id = 'insomnia-1';
+module.exports.name = 'Insomnia v1';
+module.exports.description = 'Legacy Insomnia format';
+
+module.exports.convert = function (rawData) {
+ requestCount = 1;
+ requestGroupCount = 1;
+
+ let data;
+ try {
+ data = JSON.parse(rawData);
+ } catch (e) {
+ return null;
+ }
+
+ if (data.__export_format !== 1) {
+ // Bail early if it's not the legacy format
+ return null;
+ }
+
+ return importItems(data.items, '__WORKSPACE_ID__');
+};
+
+function importItems (items, parentId) {
+ let resources = [];
+
+ for (const item of items) {
+ const requestGroup = importRequestGroupItem(item, parentId);
+ resources = [
+ ...resources,
+ requestGroup,
+ ...item.requests.map(item => importRequestItem(item, requestGroup._id))
+ ];
+ }
+
+ return resources;
+}
+
+function importRequestGroupItem (item, parentId) {
+ let environment = {};
+ if (item.environments && item.environments.base) {
+ environment = item.environments.base;
+ }
+
+ const count = requestGroupCount++;
+ return {
+ _type: 'request_group',
+ _id: `__GRP_${count}__`,
+ parentId,
+ environment,
+ name: item.name || `Imported Folder ${count}`,
+ }
+}
+
+function importRequestItem (item, parentId) {
+ let authentication = {};
+ if (item.authentication) {
+ authentication.username = item.authentication.username;
+ authentication.password = item.authentication.password;
+ }
+
+ const headers = item.headers || [];
+ let contentTypeHeader = headers.find(h => h.name.toLowerCase() === 'content-type');
+ if (item.__insomnia && item.__insomnia.format) {
+ const contentType = FORMAT_MAP[item.__insomnia.format];
+ if (!contentTypeHeader) {
+ contentTypeHeader = {name: 'Content-Type', value: contentType};
+ headers.push(contentTypeHeader);
+ }
+ }
+
+ let body = {};
+ if (contentTypeHeader && (
+ contentTypeHeader.value.match(/^application\/x-www-form-urlencoded/i) ||
+ contentTypeHeader.value.match(/^multipart\/form-encoded/i)
+ )
+ ) {
+ body.mimeType = contentTypeHeader.value.split(';')[0];
+ body.params = (item.body || '').split('&').map(v => {
+ const [name, value] = v.split('=');
+ return {
+ name: decodeURIComponent(name),
+ value: decodeURIComponent(value || '')
+ };
+ })
+ } else if (item.body) {
+ body = {
+ mimeType: FORMAT_MAP[item.__insomnia.format] || '',
+ text: item.body,
+ }
+ }
+
+ const count = requestCount++;
+ return {
+ _type: 'request',
+ _id: `__REQ_${count}__`,
+ parentId,
+ name: item.name || `Imported HAR ${count}`,
+ url: item.url || '',
+ method: item.method || 'GET',
+ body: body,
+ parameters: item.params || [],
+ headers,
+ authentication,
+ }
+}
diff --git a/packages/insomnia-importers/src/importers/insomnia-2.js b/packages/insomnia-importers/src/importers/insomnia-2.js
new file mode 100755
index 0000000000..2187ce9f1e
--- /dev/null
+++ b/packages/insomnia-importers/src/importers/insomnia-2.js
@@ -0,0 +1,39 @@
+'use strict';
+
+const utils = require('../utils');
+
+module.exports.id = 'insomnia-2';
+module.exports.name = 'Insomnia v2';
+module.exports.description = 'Insomnia export format 2';
+
+module.exports.convert = function (rawData) {
+ let data;
+ try {
+ data = JSON.parse(rawData);
+ } catch (e) {
+ return null;
+ }
+
+ if (data.__export_format !== 2) {
+ // Bail early if it's not the legacy format
+ return null;
+ }
+
+ // The only difference between 2 and 3 is the request body object
+ for (const resource of data.resources) {
+ if (resource._type !== 'request') {
+ continue;
+ }
+
+ // Convert old String request bodies to new (HAR) schema
+ const headers = resource.headers || [];
+ const contentTypeHeader = headers.find(h => h.name.toLowerCase() === 'content-type');
+ const mimeType = contentTypeHeader ? contentTypeHeader.value.split(';')[0] : null;
+ resource.body = {
+ mimeType: mimeType || '',
+ text: resource.body
+ };
+ }
+
+ return data.resources;
+};
diff --git a/packages/insomnia-importers/src/importers/insomnia-3.js b/packages/insomnia-importers/src/importers/insomnia-3.js
new file mode 100755
index 0000000000..9f6ea9f5a7
--- /dev/null
+++ b/packages/insomnia-importers/src/importers/insomnia-3.js
@@ -0,0 +1,24 @@
+'use strict';
+
+const utils = require('../utils');
+
+module.exports.id = 'insomnia-3';
+module.exports.name = 'Insomnia v3';
+module.exports.description = 'Insomnia export format 3';
+
+module.exports.convert = function (rawData) {
+ let data;
+ try {
+ data = JSON.parse(rawData);
+ } catch (e) {
+ return null;
+ }
+
+ if (data.__export_format !== 3) {
+ // Bail early if it's not the legacy format
+ return null;
+ }
+
+ // This is the target export format so nothing needs to change
+ return data.resources;
+};
diff --git a/packages/insomnia-importers/src/importers/postman-env.js b/packages/insomnia-importers/src/importers/postman-env.js
new file mode 100755
index 0000000000..7c87c4d662
--- /dev/null
+++ b/packages/insomnia-importers/src/importers/postman-env.js
@@ -0,0 +1,39 @@
+'use strict';
+
+module.exports.id = 'postman-environment';
+module.exports.name = 'Postman Environment';
+module.exports.description = 'Importer for Postman environments';
+
+module.exports.convert = function (rawData) {
+
+ let data;
+ try {
+ data = JSON.parse(rawData);
+ if (data['_postman_variable_scope'] === 'environment') {
+ return importEnvironment(data);
+ }
+ } catch (e) {
+ // Nothing
+ }
+
+ return null;
+};
+
+function importEnvironment (environment) {
+ const newEnvironment = {
+ _id: '__ENV_1__',
+ _type: 'environment',
+ name: environment.name || 'Postman Environment',
+ data: {}
+ };
+
+ for (const value of environment.values) {
+ if (!value.enabled) {
+ continue;
+ }
+
+ newEnvironment.data[value.key] = value.value;
+ }
+
+ return [newEnvironment];
+}
diff --git a/packages/insomnia-importers/src/importers/postman.js b/packages/insomnia-importers/src/importers/postman.js
new file mode 100755
index 0000000000..4958af86ab
--- /dev/null
+++ b/packages/insomnia-importers/src/importers/postman.js
@@ -0,0 +1,159 @@
+'use strict';
+
+module.exports.id = 'postman';
+module.exports.name = 'Postman';
+module.exports.description = 'Importer for Postman collections';
+
+let requestCount = 1;
+let requestGroupCount = 1;
+
+module.exports.convert = function (rawData) {
+ requestCount = 1;
+ requestGroupCount = 1;
+
+ let data;
+ try {
+ data = JSON.parse(rawData);
+ if (data.info.schema === 'https://schema.getpostman.com/json/collection/v2.0.0/collection.json') {
+ return importCollection(data);
+ }
+ } catch (e) {
+ // Nothing
+ }
+
+ return null;
+};
+
+function importCollection (collection) {
+ const collectionFolder = {
+ parentId: '__WORKSPACE_ID__',
+ _id: `__GRP_${requestGroupCount++}__`,
+ _type: 'request_group',
+ name: collection.info.name,
+ description: collection.info.description,
+ };
+ return [
+ collectionFolder,
+ ...importItem(collection.item, collectionFolder._id)
+ ]
+}
+
+function importItem (items, parentId = '__WORKSPACE_ID__') {
+ let resources = [];
+
+ for (const item of items) {
+ if (item.hasOwnProperty('request')) {
+ resources = [
+ ...resources,
+ importRequestItem(item, parentId)
+ ];
+ } else {
+ const requestGroup = importFolderItem(item, parentId);
+ resources = [
+ ...resources,
+ requestGroup,
+ ...importItem(item.item, requestGroup._id)
+ ];
+ }
+ }
+
+ return resources;
+}
+
+function importFolderItem (item, parentId) {
+ return {
+ parentId,
+ _id: `__GRP_${requestGroupCount++}__`,
+ _type: 'request_group',
+ name: item.name,
+ description: item.description || '',
+ }
+}
+
+function importRequestItem (item, parentId) {
+ const {request} = item;
+ return {
+ parentId,
+ _id: `__REQ_${requestCount++}__`,
+ _type: 'request',
+ name: item.name || '',
+ description: request.description || '',
+ url: request.url || '',
+ method: request.method || 'GET',
+ headers: mapImporter(request.header, importHeader),
+ body: importBody(request.body),
+ }
+}
+
+function importHeader (header) {
+ return Object.assign({
+ name: header.key,
+ value: header.value,
+ })
+}
+
+function importBody (body) {
+ if (!body) {
+ return {};
+ } else if (body.mode === 'raw') {
+ return importBodyRaw(body.raw)
+ } else if (body.mode === 'urlencoded') {
+ return importBodyFormUrlEncoded(body.urlencoded)
+ } else if (body.mode === 'formdata') {
+ // TODO: Handle this as properly as multipart/form-data
+ return importBodyFormdata(body.formdata)
+ } else {
+ return {};
+ }
+}
+
+function importBodyFormdata (formdata) {
+ const params = formdata.map(({key, value, type, enabled, src}) => {
+ const item = {
+ type,
+ name: key,
+ disabled: !enabled
+ };
+
+ if (type === 'file') {
+ item.fileName = src;
+ } else {
+ item.value = value;
+ }
+
+ return item;
+ });
+
+ return {
+ params,
+ mimeType: 'multipart/form-data',
+ }
+}
+
+function importBodyFormUrlEncoded (urlEncoded) {
+ const params = urlEncoded.map(({key, value, enabled}) => ({
+ value,
+ name: key,
+ disabled: !enabled
+ }));
+
+ return {
+ params,
+ mimeType: 'application/x-www-form-urlencoded',
+ }
+}
+
+function importBodyRaw (raw) {
+ return {
+ mimeType: '',
+ text: raw
+ };
+}
+
+function mapImporter (arr, importFn) {
+ if (!arr) {
+ return [];
+ } else {
+ return arr.map(importFn)
+ }
+}
diff --git a/packages/insomnia-importers/src/utils.js b/packages/insomnia-importers/src/utils.js
new file mode 100755
index 0000000000..decac6a3d3
--- /dev/null
+++ b/packages/insomnia-importers/src/utils.js
@@ -0,0 +1,48 @@
+
+module.exports.setDefaults = function (obj) {
+ if (!obj || !obj._type) {
+ return obj;
+ } else if (obj._type === 'request') {
+ return module.exports.setDefaultsRequest(obj);
+ } else if (obj._type === 'request_group') {
+ return module.exports.setDefaultsRequestGroup(obj);
+ } else if (obj._type === 'environment') {
+ return module.exports.setDefaultsEnvironment(obj);
+ } else {
+ return obj;
+ }
+};
+
+module.exports.setDefaultsRequest = function (request) {
+ request.method = (request.method || 'GET').toUpperCase();
+ return Object.assign({
+ parentId: '__WORKSPACE_ID__',
+ name: 'Imported',
+ url: '',
+ body: '',
+ method: 'GET',
+ parameters: [],
+ headers: [],
+ authentication: {},
+ }, request)
+};
+
+module.exports.setDefaultsRequestGroup = function (requestGroup) {
+ return Object.assign({
+ parentId: '__WORKSPACE_ID__',
+ name: 'Imported',
+ environment: {},
+ }, requestGroup)
+};
+
+module.exports.setDefaultsEnvironment = function (environment) {
+ return Object.assign({
+ parentId: '__BASE_ENVIRONMENT_ID__',
+ name: 'Imported Environment',
+ data: {},
+ }, environment)
+};
+
+module.exports.getDateString = function () {
+ return new Date().toISOString();
+};
diff --git a/packages/insomnia-prettify/README.md b/packages/insomnia-prettify/README.md
new file mode 100644
index 0000000000..3385e68228
--- /dev/null
+++ b/packages/insomnia-prettify/README.md
@@ -0,0 +1,5 @@
+# Insomnia Prettify
+
+[](https://www.npmjs.com/package/insomnia-prettify)
+
+Prettification utilities for various formats.
diff --git a/packages/insomnia-prettify/index.js b/packages/insomnia-prettify/index.js
new file mode 100644
index 0000000000..e2562cbfa3
--- /dev/null
+++ b/packages/insomnia-prettify/index.js
@@ -0,0 +1,3 @@
+module.exports = {
+ json: require('./src/json').prettify
+};
diff --git a/packages/insomnia-prettify/package-lock.json b/packages/insomnia-prettify/package-lock.json
new file mode 100644
index 0000000000..0f91264690
--- /dev/null
+++ b/packages/insomnia-prettify/package-lock.json
@@ -0,0 +1,5 @@
+{
+ "name": "insomnia-prettify",
+ "version": "0.0.1",
+ "lockfileVersion": 1
+}
diff --git a/packages/insomnia-prettify/package.json b/packages/insomnia-prettify/package.json
new file mode 100644
index 0000000000..038e7dee20
--- /dev/null
+++ b/packages/insomnia-prettify/package.json
@@ -0,0 +1,11 @@
+{
+ "name": "insomnia-prettify",
+ "version": "0.0.3",
+ "author": "Gregory Schier ",
+ "description": "Prettification utilities for Insomnia",
+ "license": "MIT",
+ "main": "index.js",
+ "scripts": {
+ "test": "jest --silent"
+ }
+}
diff --git a/packages/insomnia-prettify/src/__fixtures__/escaped-characters-input.json b/packages/insomnia-prettify/src/__fixtures__/escaped-characters-input.json
new file mode 100644
index 0000000000..d010282a45
--- /dev/null
+++ b/packages/insomnia-prettify/src/__fixtures__/escaped-characters-input.json
@@ -0,0 +1 @@
+{"slash": "\\", "slashes": "\\\\", "quote": "\""}
diff --git a/packages/insomnia-prettify/src/__fixtures__/escaped-characters-output.json b/packages/insomnia-prettify/src/__fixtures__/escaped-characters-output.json
new file mode 100644
index 0000000000..e090c2d776
--- /dev/null
+++ b/packages/insomnia-prettify/src/__fixtures__/escaped-characters-output.json
@@ -0,0 +1,6 @@
+{
+ "slash": "\\",
+ "slashes": "\\\\",
+ "quote": "\""
+}
+
diff --git a/packages/insomnia-prettify/src/__fixtures__/extra-whitespace-input.json b/packages/insomnia-prettify/src/__fixtures__/extra-whitespace-input.json
new file mode 100644
index 0000000000..ad917731c6
--- /dev/null
+++ b/packages/insomnia-prettify/src/__fixtures__/extra-whitespace-input.json
@@ -0,0 +1,12 @@
+{
+
+ "foo": "bar",
+ "arr": [
+ 1,
+ 2,
+
+ 3,
+ 4
+
+ ]
+}
diff --git a/packages/insomnia-prettify/src/__fixtures__/extra-whitespace-output.json b/packages/insomnia-prettify/src/__fixtures__/extra-whitespace-output.json
new file mode 100644
index 0000000000..4d6acc68a6
--- /dev/null
+++ b/packages/insomnia-prettify/src/__fixtures__/extra-whitespace-output.json
@@ -0,0 +1,9 @@
+{
+ "foo": "bar",
+ "arr": [
+ 1,
+ 2,
+ 3,
+ 4
+ ]
+}
diff --git a/packages/insomnia-prettify/src/__fixtures__/minimal-whitespace-input.json b/packages/insomnia-prettify/src/__fixtures__/minimal-whitespace-input.json
new file mode 100644
index 0000000000..fe03eaf146
--- /dev/null
+++ b/packages/insomnia-prettify/src/__fixtures__/minimal-whitespace-input.json
@@ -0,0 +1 @@
+{"foo":"bar","arr":[1,2,3,4],"object":{"foo":{},"empty":[]}}
diff --git a/packages/insomnia-prettify/src/__fixtures__/minimal-whitespace-output.json b/packages/insomnia-prettify/src/__fixtures__/minimal-whitespace-output.json
new file mode 100644
index 0000000000..05859469de
--- /dev/null
+++ b/packages/insomnia-prettify/src/__fixtures__/minimal-whitespace-output.json
@@ -0,0 +1,13 @@
+{
+ "foo": "bar",
+ "arr": [
+ 1,
+ 2,
+ 3,
+ 4
+ ],
+ "object": {
+ "foo": {},
+ "empty": []
+ }
+}
diff --git a/packages/insomnia-prettify/src/__fixtures__/nunjucks-input.json b/packages/insomnia-prettify/src/__fixtures__/nunjucks-input.json
new file mode 100644
index 0000000000..f9595cd083
--- /dev/null
+++ b/packages/insomnia-prettify/src/__fixtures__/nunjucks-input.json
@@ -0,0 +1 @@
+{"quoted": "{{ bar }}", "variable": {{ hello }}, {# This is a comment #} "tag": {% foo 'bar', "baz" %}}
diff --git a/packages/insomnia-prettify/src/__fixtures__/nunjucks-output.json b/packages/insomnia-prettify/src/__fixtures__/nunjucks-output.json
new file mode 100644
index 0000000000..6231a7af4e
--- /dev/null
+++ b/packages/insomnia-prettify/src/__fixtures__/nunjucks-output.json
@@ -0,0 +1,7 @@
+{
+ "quoted": "{{ bar }}",
+ "variable": {{ hello }},
+ {# This is a comment #}
+ "tag": {% foo 'bar', "baz" %}
+}
+
diff --git a/packages/insomnia-prettify/src/__fixtures__/precision-input.json b/packages/insomnia-prettify/src/__fixtures__/precision-input.json
new file mode 100644
index 0000000000..5a9c3ab3c0
--- /dev/null
+++ b/packages/insomnia-prettify/src/__fixtures__/precision-input.json
@@ -0,0 +1,6 @@
+{
+ "float": 1.24815739284710478594274018450372432784024,
+ "round": 1.000000,
+ "invalid": foo,
+ "exponent": 1E5
+}
\ No newline at end of file
diff --git a/packages/insomnia-prettify/src/__fixtures__/precision-output.json b/packages/insomnia-prettify/src/__fixtures__/precision-output.json
new file mode 100644
index 0000000000..c375ecc361
--- /dev/null
+++ b/packages/insomnia-prettify/src/__fixtures__/precision-output.json
@@ -0,0 +1,6 @@
+{
+ "float": 1.24815739284710478594274018450372432784024,
+ "round": 1.000000,
+ "invalid": foo,
+ "exponent": 1E5
+}
diff --git a/packages/insomnia-prettify/src/__fixtures__/root-array-input.json b/packages/insomnia-prettify/src/__fixtures__/root-array-input.json
new file mode 100644
index 0000000000..3a26a2e5e9
--- /dev/null
+++ b/packages/insomnia-prettify/src/__fixtures__/root-array-input.json
@@ -0,0 +1 @@
+[1,2,3]
\ No newline at end of file
diff --git a/packages/insomnia-prettify/src/__fixtures__/root-array-output.json b/packages/insomnia-prettify/src/__fixtures__/root-array-output.json
new file mode 100644
index 0000000000..e7023e6f13
--- /dev/null
+++ b/packages/insomnia-prettify/src/__fixtures__/root-array-output.json
@@ -0,0 +1,6 @@
+[
+ 1,
+ 2,
+ 3
+]
+
diff --git a/packages/insomnia-prettify/src/__fixtures__/root-string-input.json b/packages/insomnia-prettify/src/__fixtures__/root-string-input.json
new file mode 100644
index 0000000000..693cf43e59
--- /dev/null
+++ b/packages/insomnia-prettify/src/__fixtures__/root-string-input.json
@@ -0,0 +1 @@
+"Hello World!"
\ No newline at end of file
diff --git a/packages/insomnia-prettify/src/__fixtures__/root-string-output.json b/packages/insomnia-prettify/src/__fixtures__/root-string-output.json
new file mode 100644
index 0000000000..cdeaded96e
--- /dev/null
+++ b/packages/insomnia-prettify/src/__fixtures__/root-string-output.json
@@ -0,0 +1 @@
+"Hello World!"
diff --git a/packages/insomnia-prettify/src/__fixtures__/trailing-comma-input.json b/packages/insomnia-prettify/src/__fixtures__/trailing-comma-input.json
new file mode 100644
index 0000000000..32034b614a
--- /dev/null
+++ b/packages/insomnia-prettify/src/__fixtures__/trailing-comma-input.json
@@ -0,0 +1 @@
+{"foo": "bar", "array": [1,2,3,4,],"last": "comma",}
\ No newline at end of file
diff --git a/packages/insomnia-prettify/src/__fixtures__/trailing-comma-output.json b/packages/insomnia-prettify/src/__fixtures__/trailing-comma-output.json
new file mode 100644
index 0000000000..04a19d2f28
--- /dev/null
+++ b/packages/insomnia-prettify/src/__fixtures__/trailing-comma-output.json
@@ -0,0 +1,10 @@
+{
+ "foo": "bar",
+ "array": [
+ 1,
+ 2,
+ 3,
+ 4,
+ ],
+ "last": "comma",
+}
diff --git a/packages/insomnia-prettify/src/__fixtures__/unquoted-strings-input.json b/packages/insomnia-prettify/src/__fixtures__/unquoted-strings-input.json
new file mode 100644
index 0000000000..6b7e616034
--- /dev/null
+++ b/packages/insomnia-prettify/src/__fixtures__/unquoted-strings-input.json
@@ -0,0 +1 @@
+{foo: bar, bar: [1,2,3,number?]}
\ No newline at end of file
diff --git a/packages/insomnia-prettify/src/__fixtures__/unquoted-strings-output.json b/packages/insomnia-prettify/src/__fixtures__/unquoted-strings-output.json
new file mode 100644
index 0000000000..dc0dc6bead
--- /dev/null
+++ b/packages/insomnia-prettify/src/__fixtures__/unquoted-strings-output.json
@@ -0,0 +1,10 @@
+{
+ foo: bar,
+ bar: [
+ 1,
+ 2,
+ 3,
+ number?
+ ]
+}
+
diff --git a/app/common/__tests__/prettify.test.js b/packages/insomnia-prettify/src/__tests__/json.test.js
similarity index 64%
rename from app/common/__tests__/prettify.test.js
rename to packages/insomnia-prettify/src/__tests__/json.test.js
index 107731c584..e609fb36e7 100644
--- a/app/common/__tests__/prettify.test.js
+++ b/packages/insomnia-prettify/src/__tests__/json.test.js
@@ -1,11 +1,9 @@
-import {prettifyJson} from '../prettify';
-import fs from 'fs';
-import path from 'path';
-import {globalBeforeEach} from '../../__jest__/before-each';
+const fs = require('fs');
+const path = require('path');
+const {prettify} = require('../json');
describe('prettify()', () => {
- beforeEach(globalBeforeEach);
- const basePath = path.join(__dirname, '../__fixtures__/prettify');
+ const basePath = path.join(__dirname, '../__fixtures__');
const files = fs.readdirSync(basePath);
for (const file of files) {
if (!file.match(/-input\.json$/)) {
@@ -18,7 +16,7 @@ describe('prettify()', () => {
it(`handles ${name}`, () => {
const input = fs.readFileSync(path.join(basePath, `${slug}-input.json`), 'utf8').trim();
const output = fs.readFileSync(path.join(basePath, `${slug}-output.json`), 'utf8').trim();
- const result = prettifyJson(input, ' ');
+ const result = prettify(input, ' ');
expect(result).toBe(output);
});
}
diff --git a/app/common/prettify.js b/packages/insomnia-prettify/src/json.js
similarity index 98%
rename from app/common/prettify.js
rename to packages/insomnia-prettify/src/json.js
index 207989d087..a0a2bc4865 100644
--- a/app/common/prettify.js
+++ b/packages/insomnia-prettify/src/json.js
@@ -25,7 +25,7 @@ const NUNJUCKS_CLOSE_STATES = {
* @param indentChars
* @returns {string}
*/
-export function prettifyJson (json, indentChars = '\t') {
+module.exports.prettify = function (json, indentChars = '\t') {
if (!json) {
return '';
}
@@ -152,7 +152,7 @@ export function prettifyJson (json, indentChars = '\t') {
// Remove lines that only contain whitespace
return newJson.replace(/^\s*\n/gm, '');
-}
+};
function _repeatString (s, count) {
return new Array(count + 1).join(s);
diff --git a/packages/insomnia-url/README.md b/packages/insomnia-url/README.md
new file mode 100644
index 0000000000..4b23053873
--- /dev/null
+++ b/packages/insomnia-url/README.md
@@ -0,0 +1,5 @@
+# Insomnia URL Utilities
+
+[](https://www.npmjs.com/package/insomnia-url)
+
+Utilities for URLs.
diff --git a/packages/insomnia-url/index.js b/packages/insomnia-url/index.js
new file mode 100644
index 0000000000..39bb81d69c
--- /dev/null
+++ b/packages/insomnia-url/index.js
@@ -0,0 +1,12 @@
+const protocol = require('./src/protocol');
+const querystring = require('./src/querystring');
+
+module.exports = {
+ setDefaultProtocol: protocol.setDefaultProtocol,
+ smartEncodeUrl: querystring.smartEncodeUrl,
+ joinUrlAndQueryString: querystring.joinUrlAndQueryString,
+ extractQueryStringFromUrl: querystring.extractQueryStringFromUrl,
+ deconstructQueryStringToParams: querystring.deconstructQueryStringToParams,
+ buildQueryParameter: querystring.buildQueryParameter,
+ buildQueryStringFromParams: querystring.buildQueryStringFromParams
+};
diff --git a/packages/insomnia-url/package.json b/packages/insomnia-url/package.json
new file mode 100644
index 0000000000..77c186d82d
--- /dev/null
+++ b/packages/insomnia-url/package.json
@@ -0,0 +1,11 @@
+{
+ "name": "insomnia-url",
+ "version": "0.0.2",
+ "author": "Gregory Schier ",
+ "description": "URL Utilities",
+ "license": "MIT",
+ "main": "index.js",
+ "scripts": {
+ "test": "jest --silent"
+ }
+}
diff --git a/packages/insomnia-url/src/__tests__/protocol.test.js b/packages/insomnia-url/src/__tests__/protocol.test.js
new file mode 100644
index 0000000000..fb01044495
--- /dev/null
+++ b/packages/insomnia-url/src/__tests__/protocol.test.js
@@ -0,0 +1,30 @@
+const {setDefaultProtocol} = require('../protocol');
+
+describe('setDefaultProtocol()', () => {
+ it('no-ops on empty url', () => {
+ const url = setDefaultProtocol('');
+ expect(url).toBe('');
+ });
+
+ it('correctly sets protocol for empty', () => {
+ const url = setDefaultProtocol('google.com');
+ expect(url).toBe('http://google.com');
+ });
+
+ it('does not set for valid url', () => {
+ const url = setDefaultProtocol('https://google.com');
+ expect(url).toBe('https://google.com');
+ });
+
+ it('does not set for valid url', () => {
+ const url = setDefaultProtocol('http://google.com');
+ expect(url).toBe('http://google.com');
+ });
+
+ it('does not set for invalid url', () => {
+ const url = setDefaultProtocol('httbad://google.com');
+ expect(url).toBe('httbad://google.com');
+ });
+});
+
+
diff --git a/packages/insomnia-url/src/__tests__/querystring.test.js b/packages/insomnia-url/src/__tests__/querystring.test.js
new file mode 100644
index 0000000000..2009288b34
--- /dev/null
+++ b/packages/insomnia-url/src/__tests__/querystring.test.js
@@ -0,0 +1,239 @@
+const querystring = require('../querystring');
+const {getJoiner} = querystring._internal;
+const {
+ joinUrlAndQueryString,
+ buildQueryParameter,
+ buildQueryStringFromParams,
+ deconstructQueryStringToParams,
+ smartEncodeUrl
+} = querystring;
+
+describe('querystring', () => {
+ describe('_getJoiner()', () => {
+ it('gets joiner for bare URL', () => {
+ const joiner = getJoiner('http://google.com');
+ expect(joiner).toBe('?');
+ });
+
+ it('gets joiner for invalid URL', () => {
+ const joiner = getJoiner('hi');
+ expect(joiner).toBe('?');
+ });
+
+ it('gets joiner for URL with question mark', () => {
+ const joiner = getJoiner('http://google.com?');
+ expect(joiner).toBe('&');
+ });
+
+ it('gets joiner for URL with params', () => {
+ const joiner = getJoiner('http://google.com?foo=bar');
+ expect(joiner).toBe('&');
+ });
+
+ it('gets joiner for URL with hash', () => {
+ const joiner = getJoiner('http://google.com?foo=bar#hi');
+ expect(joiner).toBe('&');
+ });
+
+ it('gets joiner for URL with ampersand', () => {
+ const joiner = getJoiner(
+ 'http://google.com?foo=bar&baz=qux'
+ );
+ expect(joiner).toBe('&');
+ });
+ });
+
+ describe('joinUrlAndQueryString()', () => {
+ it('joins bare URL', () => {
+ const url = joinUrlAndQueryString(
+ 'http://google.com',
+ 'foo=bar'
+ );
+ expect(url).toBe('http://google.com?foo=bar');
+ });
+
+ it('joins with hash', () => {
+ const url = joinUrlAndQueryString(
+ 'http://google.com#hash',
+ 'foo=bar'
+ );
+ expect(url).toBe('http://google.com?foo=bar#hash');
+ });
+
+ it('joins hash and querystring', () => {
+ const url = joinUrlAndQueryString(
+ 'http://google.com?baz=qux#hash',
+ 'foo=bar'
+ );
+ expect(url).toBe('http://google.com?baz=qux&foo=bar#hash');
+ });
+
+ it('joins multi-hash and querystring', () => {
+ const url = joinUrlAndQueryString(
+ 'http://google.com?hi=there&baz=qux#hash#hi#hi',
+ 'foo=bar'
+ );
+ expect(url).toBe('http://google.com?hi=there&baz=qux&foo=bar#hash#hi#hi');
+ });
+
+ it('joins URL with querystring', () => {
+ const url = joinUrlAndQueryString(
+ 'http://google.com?hi=there',
+ 'foo=bar%20baz'
+ );
+ expect(url).toBe('http://google.com?hi=there&foo=bar%20baz');
+ });
+ });
+
+ describe('build()', () => {
+ it('builds simple param', () => {
+ const str = buildQueryParameter({name: 'foo', value: 'bar??'});
+ expect(str).toBe('foo=bar%3F%3F');
+ });
+
+ it('builds param without value', () => {
+ const str = buildQueryParameter({name: 'foo'});
+ expect(str).toBe('foo');
+ });
+
+ it('builds empty param without name', () => {
+ const str = buildQueryParameter({value: 'bar'});
+ expect(str).toBe('');
+ });
+
+ it('builds with numbers', () => {
+ const str = buildQueryParameter({name: 'number', value: 10});
+ const str2 = buildQueryParameter({name: 'number', value: 0});
+
+ expect(str).toBe('number=10');
+ expect(str2).toBe('number=0');
+ });
+ });
+
+ describe('buildFromParams()', () => {
+ it('builds from params', () => {
+ const str = buildQueryStringFromParams([
+ {name: 'foo', value: 'bar??'},
+ {name: 'hello'},
+ {name: 'hi there', value: 'bar??'},
+ {name: '', value: 'bar??'},
+ {name: '', value: ''}
+ ]);
+
+ expect(str).toBe('foo=bar%3F%3F&hello&hi%20there=bar%3F%3F');
+ });
+ it('builds from params', () => {
+ const str = buildQueryStringFromParams([
+ {name: 'foo', value: 'bar??'},
+ {name: 'hello'},
+ {name: 'hi there', value: 'bar??'},
+ {name: '', value: 'bar??'},
+ {name: '', value: ''}
+ ], false);
+
+ expect(str).toBe('foo=bar%3F%3F&hello=&hi%20there=bar%3F%3F&=bar%3F%3F&=');
+ });
+ });
+
+ describe('deconstructToParams()', () => {
+ it('builds from params', () => {
+ const str = deconstructQueryStringToParams(
+ 'foo=bar%3F%3F&hello&hi%20there=bar%3F%3F&=&=val'
+ );
+
+ expect(str).toEqual([
+ {name: 'foo', value: 'bar??'},
+ {name: 'hello', value: ''},
+ {name: 'hi there', value: 'bar??'}
+ ]);
+ });
+ it('builds from params with =', () => {
+ const str = deconstructQueryStringToParams(
+ 'foo=bar&1=2=3=4&hi'
+ );
+
+ expect(str).toEqual([
+ {name: 'foo', value: 'bar'},
+ {name: '1', value: '2=3=4'},
+ {name: 'hi', value: ''}
+ ]);
+ });
+
+ it('builds from params not strict', () => {
+ const str = deconstructQueryStringToParams(
+ 'foo=bar%3F%3F&hello&hi%20there=bar%3F%3F&=&=val',
+ false
+ );
+
+ expect(str).toEqual([
+ {name: 'foo', value: 'bar??'},
+ {name: 'hello', value: ''},
+ {name: 'hi there', value: 'bar??'},
+ {name: '', value: ''},
+ {name: '', value: 'val'}
+ ]);
+ });
+ });
+
+ describe('smartEncodeUrl()', () => {
+ it('does not touch normal url', () => {
+ const url = smartEncodeUrl('http://google.com');
+ expect(url).toBe('http://google.com/');
+ });
+
+ it('works with no protocol', () => {
+ const url = smartEncodeUrl('google.com');
+ expect(url).toBe('http://google.com/');
+ });
+
+ it('encodes pathname', () => {
+ const url = smartEncodeUrl('https://google.com/foo bar/100%/foo');
+ expect(url).toBe('https://google.com/foo%20bar/100%25/foo');
+ });
+
+ it('encodes pathname mixed encoding', () => {
+ const url = smartEncodeUrl('https://google.com/foo bar baz%20qux/100%/foo%25');
+ expect(url).toBe('https://google.com/foo%20bar%20baz%20qux/100%25/foo%25');
+ });
+
+ it('leaves already encoded pathname', () => {
+ const url = smartEncodeUrl('https://google.com/foo%20bar%20baz/100%25/foo');
+ expect(url).toBe('https://google.com/foo%20bar%20baz/100%25/foo');
+ });
+
+ it('encodes querystring', () => {
+ const url = smartEncodeUrl('https://google.com?s=foo bar 100%&hi');
+ expect(url).toBe('https://google.com/?s=foo%20bar%20100%25&hi');
+ });
+
+ it('encodes querystring with mixed spaces', () => {
+ const url = smartEncodeUrl('https://google.com?s=foo %20100%');
+ expect(url).toBe('https://google.com/?s=foo%20%20100%25');
+ });
+
+ it('encodes querystring with repeated keys', () => {
+ const url = smartEncodeUrl('https://google.com/;@,!?s=foo,;@-!&s=foo %20100%');
+ expect(url).toBe('https://google.com/;@,!?s=foo,%3B%40-!&s=foo%20%20100%25');
+ });
+
+ it('doesn\'t decode ignored characters', () => {
+ // Encoded should skip raw versions of @ ; ,
+ const url = smartEncodeUrl('https://google.com/@;,&^+');
+ expect(url).toBe('https://google.com/@;,%26%5E+');
+
+ // Encoded should skip encoded versions of @ ; ,
+ const url2 = smartEncodeUrl('https://google.com/%40%3B%2C%26%5E');
+ expect(url2).toBe('https://google.com/%40%3B%2C%26%5E');
+ });
+
+ it('leaves already encoded characters alone', () => {
+ const url = smartEncodeUrl('https://google.com/%2B%2A%2F>');
+ expect(url).toBe('https://google.com/%2B%2A%2F%3E');
+ });
+
+ it('doesn\'t encode if last param set', () => {
+ const url = smartEncodeUrl('https://google.com/%%?foo=%%', false);
+ expect(url).toBe('https://google.com/%%?foo=%%');
+ });
+ });
+});
diff --git a/packages/insomnia-url/src/protocol.js b/packages/insomnia-url/src/protocol.js
new file mode 100644
index 0000000000..fe616b1124
--- /dev/null
+++ b/packages/insomnia-url/src/protocol.js
@@ -0,0 +1,21 @@
+/**
+ * Set a default protocol for a URL
+ * @param url {string} - URL to set protocol on
+ * @param [defaultProto='http:'] {string} - default protocol
+ * @returns {string}
+ */
+module.exports.setDefaultProtocol = function (url, defaultProto) {
+ defaultProto = defaultProto || 'http:';
+
+ // If no url, don't bother returning anything
+ if (!url) {
+ return '';
+ }
+
+ // Default the proto if it doesn't exist
+ if (url.indexOf('://') === -1) {
+ url = `${defaultProto}//${url}`;
+ }
+
+ return url;
+};
diff --git a/packages/insomnia-url/src/querystring.js b/packages/insomnia-url/src/querystring.js
new file mode 100644
index 0000000000..0fc58e5077
--- /dev/null
+++ b/packages/insomnia-url/src/querystring.js
@@ -0,0 +1,253 @@
+const {parse: urlParse, format: urlFormat} = require('url');
+const {setDefaultProtocol} = require('./protocol');
+
+const ESCAPE_REGEX_MATCH = /[-[\]/{}()*+?.\\^$|]/g;
+const URL_PATH_CHARACTER_WHITELIST = '+,;@=:';
+
+/**
+ * Join querystring to URL
+ * @param url {string}
+ * @param qs {string}
+ * @returns {string}
+ */
+module.exports.joinUrlAndQueryString = function (url, qs) {
+ if (!qs) {
+ return url;
+ }
+
+ if (!url) {
+ return qs;
+ }
+
+ const [base, ...hashes] = url.split('#');
+
+ // TODO: Make this work with URLs that have a #hash component
+ const baseUrl = base || '';
+ const joiner = _getJoiner(base);
+ const hash = hashes.length ? `#${hashes.join('#')}` : '';
+ return `${baseUrl}${joiner}${qs}${hash}`;
+};
+
+/**
+ * Extract querystring from URL
+ * @param url {string}
+ * @returns {string}
+ */
+module.exports.extractQueryStringFromUrl = function (url) {
+ if (!url) {
+ return '';
+ }
+
+ // NOTE: This only splits on first ? sign. '1=2=3' --> ['1', '2=3']
+ const things = url.split('?');
+ if (things.length === 1) {
+ return '';
+ } else {
+ const qsWithHash = things.slice(1).join('?');
+ return qsWithHash.replace(/#.*/, '');
+ }
+};
+
+/**
+ * Build a querystring parameter from a param object
+ * @param param <{name: string, value: string}>
+ * @param [strict=true] {boolean}
+ * @returns {string}
+ */
+module.exports.buildQueryParameter = function (param, strict) {
+ strict = strict === undefined ? true : strict;
+
+ // Skip non-name ones in strict mode
+ if (strict && !param.name) {
+ return '';
+ }
+
+ // Cast number values to strings
+ if (typeof param.value === 'number') {
+ param.value += '';
+ }
+
+ if (!strict || param.value) {
+ // Don't encode ',' in values
+ const value = module.exports.flexibleEncodeComponent(param.value || '').replace(/%2C/gi, ',');
+ const name = module.exports.flexibleEncodeComponent(param.name || '');
+
+ return `${name}=${value}`;
+ } else {
+ return module.exports.flexibleEncodeComponent(param.name);
+ }
+};
+
+/**
+ * Build a querystring from a list of name/value pairs
+ * @param parameters {{name: string, value: string}[]}
+ * @param [strict=true] {boolean} - allow empty names and values
+ * @returns {string}
+ */
+module.exports.buildQueryStringFromParams = function (parameters, strict) {
+ strict = strict === undefined ? true : strict;
+ let items = [];
+
+ for (const param of parameters) {
+ let built = module.exports.buildQueryParameter(param, strict);
+
+ if (!built) {
+ continue;
+ }
+
+ items.push(built);
+ }
+
+ return items.join('&');
+};
+
+/**
+ * Deconstruct a querystring to name/value pairs
+ * @param [qs] {string}
+ * @param [strict=true] {boolean} - allow empty names and values
+ * @returns {{name: string, value: string}[]}
+ */
+module.exports.deconstructQueryStringToParams = function (qs, strict) {
+ strict = strict === undefined ? true : strict;
+ const pairs = [];
+
+ if (!qs) {
+ return pairs;
+ }
+
+ const stringPairs = qs.split('&');
+
+ for (let stringPair of stringPairs) {
+ // NOTE: This only splits on first equals sign. '1=2=3' --> ['1', '2=3']
+ const [encodedName, ...encodedValues] = stringPair.split('=');
+ const encodedValue = encodedValues.join('=');
+
+ let name = '';
+ try {
+ name = decodeURIComponent(encodedName || '');
+ } catch (e) {
+ // Just leave it
+ name = encodedName;
+ }
+
+ let value = '';
+ try {
+ value = decodeURIComponent(encodedValue || '');
+ } catch (e) {
+ // Just leave it
+ value = encodedValue;
+ }
+
+ if (strict && !name) {
+ continue;
+ }
+
+ pairs.push({name, value});
+ }
+
+ return pairs;
+};
+
+/**
+ * Automatically encode the path and querystring components
+ * @param url {string} - url to encode
+ * @param [encode=true] - enable encoding
+ * @returns {string}
+ */
+module.exports.smartEncodeUrl = function (url, encode) {
+ // Default autoEncode = true if not passed
+ encode = encode === undefined ? true : encode;
+
+ const urlWithProto = setDefaultProtocol(url);
+
+ if (!encode) {
+ return urlWithProto;
+ } else {
+ // Parse the URL into components
+ const parsedUrl = urlParse(urlWithProto);
+
+ // ~~~~~~~~~~~ //
+ // 1. Pathname //
+ // ~~~~~~~~~~~ //
+
+ if (parsedUrl.pathname) {
+ const segments = parsedUrl.pathname.split('/');
+ parsedUrl.pathname = segments.map(
+ s => module.exports.flexibleEncodeComponent(s, URL_PATH_CHARACTER_WHITELIST)
+ ).join('/');
+ }
+
+ // ~~~~~~~~~~~~~~ //
+ // 2. Querystring //
+ // ~~~~~~~~~~~~~~ //
+
+ if (parsedUrl.query) {
+ const qsParams = module.exports.deconstructQueryStringToParams(parsedUrl.query);
+ const encodedQsParams = [];
+ for (const {name, value} of qsParams) {
+ encodedQsParams.push({
+ name: module.exports.flexibleEncodeComponent(name),
+ value: module.exports.flexibleEncodeComponent(value)
+ });
+ }
+
+ parsedUrl.query = module.exports.buildQueryStringFromParams(encodedQsParams);
+ parsedUrl.search = `?${parsedUrl.query}`;
+ }
+
+ return urlFormat(parsedUrl);
+ }
+};
+
+/**
+ * URL encode a string in a module.exports.flexible way
+ * @param str {string} - string to encode
+ * @param [ignore=''] {string} - characters to ignore
+ * @returns {string}
+ */
+module.exports.flexibleEncodeComponent = function (str, ignore) {
+ ignore = ignore || '';
+ // Sometimes spaces screw things up because of url.parse
+ str = str.replace(/%20/g, ' ');
+
+ // Handle all already-encoded characters so we don't touch them
+ str = str.replace(/%([0-9a-fA-F]{2})/g, '__ENC__$1');
+
+ // Do a special encode of ignored chars, so they aren't touched.
+ // This first pass, surrounds them with a special tag (anything unique
+ // will work), so it can change them back later
+ // Example: will replace %40 with __LEAVE_40_LEAVE__, and we'll change
+ // it back to %40 at the end.
+ for (const c of ignore) {
+ const code = encodeURIComponent(c).replace('%', '');
+ const escaped = c.replace(ESCAPE_REGEX_MATCH, '\\$&');
+ const re2 = new RegExp(escaped, 'g');
+ str = str.replace(re2, `__RAW__${code}`);
+ }
+
+ // Encode it
+ str = encodeURIComponent(str);
+
+ // Put back the raw version of the ignored chars
+ for (const match of str.match(/__RAW__([0-9a-fA-F]{2})/g) || []) {
+ const code = match.replace('__RAW__', '');
+ str = str.replace(match, decodeURIComponent(`%${code}`));
+ }
+
+ // Put back the encoded version of the ignored chars
+ for (const match of str.match(/__ENC__([0-9a-fA-F]{2})/g) || []) {
+ const code = match.replace('__ENC__', '');
+ str = str.replace(match, `%${code}`);
+ }
+
+ return str;
+};
+
+function _getJoiner (url) {
+ url = url || '';
+ return url.indexOf('?') === -1 ? '?' : '&';
+}
+
+module.exports._internal = {
+ getJoiner: _getJoiner
+};
diff --git a/packages/insomnia-xpath/README.md b/packages/insomnia-xpath/README.md
new file mode 100644
index 0000000000..2792534073
--- /dev/null
+++ b/packages/insomnia-xpath/README.md
@@ -0,0 +1,5 @@
+# Insomnia XPath
+
+[](https://www.npmjs.com/package/insomnia-xpath)
+
+Execute XPath queries on XML.
diff --git a/packages/insomnia-xpath/__tests__/index.test.js b/packages/insomnia-xpath/__tests__/index.test.js
new file mode 100644
index 0000000000..1bf602fa01
--- /dev/null
+++ b/packages/insomnia-xpath/__tests__/index.test.js
@@ -0,0 +1,33 @@
+const {query} = require('..');
+
+function q (description, args, result) {
+ it(description, () => {
+ expect(query(...args)).toEqual(result);
+ });
+}
+
+describe('query()', () => {
+ q('handles missing query',
+ [''],
+ []
+ );
+
+ q('handles basic query',
+ ['foobar', '//y'],
+ [
+ {inner: 'foo', outer: 'foo'},
+ {inner: 'bar', outer: 'bar'}
+ ]
+ );
+
+ q('handles attribute query',
+ ['foobar', '//*[@foo="bar"]'],
+ [
+ {inner: 'foo', outer: 'foo'}
+ ]
+ );
+
+ it('handles invalid query', () => {
+ expect(() => query('there', '//[]')).toThrowError('Invalid XPath query: //[]');
+ });
+});
diff --git a/app/common/xpath.js b/packages/insomnia-xpath/index.js
similarity index 70%
rename from app/common/xpath.js
rename to packages/insomnia-xpath/index.js
index be77442499..1157aa1d73 100644
--- a/app/common/xpath.js
+++ b/packages/insomnia-xpath/index.js
@@ -1,8 +1,13 @@
-// @flow
-import xpath from 'xpath';
-import {DOMParser} from 'xmldom';
+const xpath = require('xpath');
+const {DOMParser} = require('xmldom');
-export function query (xml: string, query: string): Array<{outer: string, inner: string}> {
+/**
+ * Query an XML blob with XPath
+ * @param xml {string}
+ * @param query {string}
+ * @returns {Array<{outer: string, inner: string}>}
+ */
+module.exports.query = function (xml, query) {
const dom = new DOMParser().parseFromString(xml);
let rawResults = [];
@@ -28,4 +33,4 @@ export function query (xml: string, query: string): Array<{outer: string, inner:
}
return results;
-}
+};
diff --git a/packages/insomnia-xpath/package-lock.json b/packages/insomnia-xpath/package-lock.json
new file mode 100644
index 0000000000..b624788181
--- /dev/null
+++ b/packages/insomnia-xpath/package-lock.json
@@ -0,0 +1,16 @@
+{
+ "requires": true,
+ "lockfileVersion": 1,
+ "dependencies": {
+ "xmldom": {
+ "version": "0.1.27",
+ "resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.1.27.tgz",
+ "integrity": "sha1-1QH5ezvbQDr4757MIFcxh6rawOk="
+ },
+ "xpath": {
+ "version": "0.0.26",
+ "resolved": "https://registry.npmjs.org/xpath/-/xpath-0.0.26.tgz",
+ "integrity": "sha512-cn58wPnkUO7woqCLXlg9xeUMsPjMF7ZJ2gExwZ2F0IXkFAkL+6cyMdFUXJkld7Quw4k1y8QY9wlI3lMNNQkroQ=="
+ }
+ }
+}
diff --git a/packages/insomnia-xpath/package.json b/packages/insomnia-xpath/package.json
new file mode 100644
index 0000000000..436e5b823a
--- /dev/null
+++ b/packages/insomnia-xpath/package.json
@@ -0,0 +1,16 @@
+{
+ "name": "insomnia-xpath",
+ "version": "0.0.2",
+ "author": "Gregory Schier ",
+ "description": "Query XML using XPath",
+ "license": "MIT",
+ "main": "index.js",
+ "scripts": {
+ "test": "jest --silent"
+ },
+ "dependencies": {
+ "insomnia-cookies": "^0.0.2",
+ "xmldom": "^0.1.27",
+ "xpath": "^0.0.26"
+ }
+}
diff --git a/plugins/insomnia-plugin-base64/README.md b/plugins/insomnia-plugin-base64/README.md
new file mode 100644
index 0000000000..e806ef01a4
--- /dev/null
+++ b/plugins/insomnia-plugin-base64/README.md
@@ -0,0 +1,5 @@
+# Insomnia Base64 Template Tag
+
+[](https://www.npmjs.com/package/insomnia-plugin-base64)
+
+This is a core Insomnia plugin.
\ No newline at end of file
diff --git a/plugins/insomnia-plugin-base64/__tests__/index.test.js b/plugins/insomnia-plugin-base64/__tests__/index.test.js
new file mode 100644
index 0000000000..2b78ef34e6
--- /dev/null
+++ b/plugins/insomnia-plugin-base64/__tests__/index.test.js
@@ -0,0 +1,27 @@
+const tag = require('..').templateTags[0];
+
+function assertTemplate (args, expected) {
+ return async function () {
+ const result = await tag.run(null, ...args);
+ expect(result).toBe(expected);
+ };
+}
+
+function assertTemplateFails (args, expected) {
+ return async function () {
+ try {
+ await tag.run(null, ...args);
+ fail(`Render should have thrown ${expected}`);
+ } catch (err) {
+ expect(err.message).toContain(expected);
+ }
+ };
+}
+
+describe('Base64EncodeExtension', () => {
+ it('encodes nothing', assertTemplate(['encode'], ''));
+ it('encodes something', assertTemplate(['encode', 'my string'], 'bXkgc3RyaW5n'));
+ it('decodes nothing', assertTemplate(['decode'], ''));
+ it('decodes something', assertTemplate(['decode', 'bXkgc3RyaW5n'], 'my string'));
+ it('fails on invalid op', assertTemplateFails(['foo'], 'Unsupported operation "foo". Must be encode or decode.'));
+});
diff --git a/app/templating/extensions/base-64-extension.js b/plugins/insomnia-plugin-base64/index.js
similarity index 95%
rename from app/templating/extensions/base-64-extension.js
rename to plugins/insomnia-plugin-base64/index.js
index e4c996e548..f6f7160157 100644
--- a/app/templating/extensions/base-64-extension.js
+++ b/plugins/insomnia-plugin-base64/index.js
@@ -1,4 +1,4 @@
-export default {
+module.exports.templateTags = [{
name: 'base64',
displayName: 'Base64',
description: 'encode or decode values',
@@ -28,4 +28,4 @@ export default {
throw new Error('Unsupported operation "' + op + '". Must be encode or decode.');
}
}
-};
+}];
diff --git a/plugins/insomnia-plugin-base64/package.json b/plugins/insomnia-plugin-base64/package.json
new file mode 100644
index 0000000000..c1f1b664ec
--- /dev/null
+++ b/plugins/insomnia-plugin-base64/package.json
@@ -0,0 +1,19 @@
+{
+ "name": "insomnia-plugin-base64",
+ "version": "1.0.1",
+ "author": "Gregory Schier ",
+ "description": "Insomnia base64 template tag",
+ "license": "MIT",
+ "repository": "https://github.com/getinsomnia/insomnia/tree/master/plugins/insomnia-plugin-base64",
+ "bugs": {
+ "url": "https://github.com/getinsomnia/insomnia"
+ },
+ "main": "index.js",
+ "insomnia": {
+ "name": "base64",
+ "description": "Encode/Decode base64 strings"
+ },
+ "scripts": {
+ "test": "node --version"
+ }
+}
diff --git a/plugins/insomnia-plugin-default-headers/README.md b/plugins/insomnia-plugin-default-headers/README.md
new file mode 100644
index 0000000000..b119de8c39
--- /dev/null
+++ b/plugins/insomnia-plugin-default-headers/README.md
@@ -0,0 +1,24 @@
+# Insomnia Default Headers
+
+[](https://www.npmjs.com/package/insomnia-plugin-default-headers)
+
+This is a plugin for [Insomnia](https://insomnia.rest) that allows users to set default
+headers for requests.
+
+## Installation
+
+Install the `insomnia-plugin-default-headers` plugin from Preferences > Plugins.
+
+## Usage
+
+Headers can be added by setting a `DEFAULT_HEADERS` environment variable.
+
+```json
+{
+ "DEFAULT_HEADERS": {
+ "Content-Type": "application/json",
+ "Connection": "close"
+ }
+}
+```
+
diff --git a/plugins/insomnia-plugin-default-headers/index.js b/plugins/insomnia-plugin-default-headers/index.js
new file mode 100644
index 0000000000..073897e3d6
--- /dev/null
+++ b/plugins/insomnia-plugin-default-headers/index.js
@@ -0,0 +1,3 @@
+module.exports.requestHooks = [
+ require('./src/request-hook')
+];
diff --git a/plugins/insomnia-plugin-default-headers/package.json b/plugins/insomnia-plugin-default-headers/package.json
new file mode 100644
index 0000000000..259c4bd887
--- /dev/null
+++ b/plugins/insomnia-plugin-default-headers/package.json
@@ -0,0 +1,16 @@
+{
+ "name": "insomnia-plugin-default-headers",
+ "version": "1.0.2",
+ "author": "Gregory Schier ",
+ "description": "Various data importers for Insomnia",
+ "license": "MIT",
+ "repository": "https://github.com/getinsomnia/insomnia/tree/master/plugins/insomnia-plugin-default-headers",
+ "bugs": {
+ "url": "https://github.com/getinsomnia/insomnia"
+ },
+ "main": "index.js",
+ "insomnia": {
+ "name": "default-headers",
+ "description": "Add default headers to requests"
+ }
+}
diff --git a/plugins/insomnia-plugin-default-headers/src/request-hook.js b/plugins/insomnia-plugin-default-headers/src/request-hook.js
new file mode 100644
index 0000000000..64f7fbcd08
--- /dev/null
+++ b/plugins/insomnia-plugin-default-headers/src/request-hook.js
@@ -0,0 +1,13 @@
+module.exports = function (context) {
+ const headers = context.request.getEnvironmentVariable('DEFAULT_HEADERS');
+
+ if (!headers) {
+ return;
+ }
+
+ for (const name of Object.keys(headers)) {
+ const value = headers[name];
+ context.request.setHeader(name, value);
+ console.log(`[header] Set default header ${name}: ${value}`);
+ }
+};
diff --git a/plugins/insomnia-plugin-file/README.md b/plugins/insomnia-plugin-file/README.md
new file mode 100644
index 0000000000..17f7b72f94
--- /dev/null
+++ b/plugins/insomnia-plugin-file/README.md
@@ -0,0 +1,5 @@
+# Insomnia File Template Tag
+
+[](https://www.npmjs.com/package/insomnia-plugin-file)
+
+This is a core Insomnia plugin.
\ No newline at end of file
diff --git a/plugins/insomnia-plugin-file/__tests__/index.test.js b/plugins/insomnia-plugin-file/__tests__/index.test.js
new file mode 100644
index 0000000000..f480d70238
--- /dev/null
+++ b/plugins/insomnia-plugin-file/__tests__/index.test.js
@@ -0,0 +1,28 @@
+const path = require('path');
+const tag = require('..').templateTags[0];
+
+function assertTemplate (args, expected) {
+ return async function () {
+ const result = await tag.run(null, ...args);
+ expect(result).toBe(expected);
+ };
+}
+
+function assertTemplateFails (args, expected) {
+ return async function () {
+ try {
+ await tag.run(null, ...args);
+ fail(`Render should have thrown ${expected}`);
+ } catch (err) {
+ expect(err.message).toContain(expected);
+ }
+ };
+}
+
+describe('FileExtension', () => {
+ const filename = path.resolve(__dirname, path.join('./test.txt'));
+ const escaped = filename.replace(/\\/g, '\\\\');
+ it('reads from string', assertTemplate([escaped], 'Hello World!'));
+ it('fails on missing file', assertTemplateFails(['/foo'], `ENOENT: no such file or directory, open '${path.resolve('/foo')}'`));
+ it('fails on no 2nd param', assertTemplateFails([], 'No file selected'));
+});
diff --git a/app/templating/extensions/__tests__/test.txt b/plugins/insomnia-plugin-file/__tests__/test.txt
similarity index 100%
rename from app/templating/extensions/__tests__/test.txt
rename to plugins/insomnia-plugin-file/__tests__/test.txt
diff --git a/app/templating/extensions/file-extension.js b/plugins/insomnia-plugin-file/index.js
similarity index 73%
rename from app/templating/extensions/file-extension.js
rename to plugins/insomnia-plugin-file/index.js
index eef25db0e3..361d2fde37 100644
--- a/app/templating/extensions/file-extension.js
+++ b/plugins/insomnia-plugin-file/index.js
@@ -1,7 +1,6 @@
-// @flow
-import fs from 'fs';
+const fs = require('fs');
-export default {
+module.exports.templateTags = [{
name: 'file',
displayName: 'File',
description: 'read contents from a file',
@@ -11,11 +10,11 @@ export default {
type: 'file'
}
],
- run (context: Object, path: string): string {
+ run (context, path) {
if (!path) {
throw new Error('No file selected');
}
return fs.readFileSync(path, 'utf8');
}
-};
+}];
diff --git a/plugins/insomnia-plugin-file/package.json b/plugins/insomnia-plugin-file/package.json
new file mode 100644
index 0000000000..abc495452d
--- /dev/null
+++ b/plugins/insomnia-plugin-file/package.json
@@ -0,0 +1,18 @@
+{
+ "name": "insomnia-plugin-file",
+ "version": "1.0.1",
+ "author": "Gregory Schier ",
+ "description": "Insomnia file templte tag",
+ "license": "MIT",
+ "repository": "https://github.com/getinsomnia/insomnia/tree/master/plugins/insomnia-plugin-file",
+ "bugs": {
+ "url": "https://github.com/getinsomnia/insomnia"
+ },
+ "main": "index.js",
+ "insomnia": {
+ "name": "file"
+ },
+ "scripts": {
+ "test": "jest --silent"
+ }
+}
diff --git a/plugins/insomnia-plugin-hash/README.md b/plugins/insomnia-plugin-hash/README.md
new file mode 100644
index 0000000000..34ab7db23d
--- /dev/null
+++ b/plugins/insomnia-plugin-hash/README.md
@@ -0,0 +1,5 @@
+# Insomnia Hash Template Tag
+
+[](https://www.npmjs.com/package/insomnia-plugin-hash)
+
+This is a core Insomnia plugin.
\ No newline at end of file
diff --git a/app/templating/extensions/__tests__/hash-extension.test.js b/plugins/insomnia-plugin-hash/__tests__/index.test.js
similarity index 60%
rename from app/templating/extensions/__tests__/hash-extension.test.js
rename to plugins/insomnia-plugin-hash/__tests__/index.test.js
index 8a0c05a449..9df1099d46 100644
--- a/app/templating/extensions/__tests__/hash-extension.test.js
+++ b/plugins/insomnia-plugin-hash/__tests__/index.test.js
@@ -1,17 +1,16 @@
-import * as templating from '../../index';
-import {globalBeforeEach} from '../../../__jest__/before-each';
+const tag = require('..').templateTags[0];
-function assertTemplate (txt, expected) {
+function assertTemplate (args, expected) {
return async function () {
- const result = await templating.render(txt);
+ const result = await tag.run(null, ...args);
expect(result).toBe(expected);
};
}
-function assertTemplateFails (txt, expected) {
+function assertTemplateFails (args, expected) {
return async function () {
try {
- await templating.render(txt);
+ await tag.run(null, ...args);
fail(`Render should have thrown ${expected}`);
} catch (err) {
expect(err.message).toContain(expected);
@@ -19,55 +18,54 @@ function assertTemplateFails (txt, expected) {
};
}
-describe('FileExtension', () => {
- beforeEach(globalBeforeEach);
+describe('Plugin', () => {
// Algorithms
it('hashes sha1', assertTemplate(
- '{% hash "sha1", "hex", "foo" %}',
+ ['sha1', 'hex', 'foo'],
'0beec7b5ea3f0fdbc95d0dd47f3c5bc275da8a33'
));
it('hashes sha256', assertTemplate(
- '{% hash "sha256", "hex", "foo" %}',
+ ['sha256', 'hex', 'foo'],
'2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae'
));
it('hashes md5', assertTemplate(
- '{% hash "md5", "hex", "foo" %}',
+ ['md5', 'hex', 'foo'],
'acbd18db4cc2f85cedef654fccc4a4d8'
));
it('fails to hash invalid algorithm', assertTemplateFails(
- '{% hash "bad", "hex", "foo" %}',
+ ['bad', 'hex', 'foo'],
'Digest method not supported'
));
// Digests
it('hashes to latin1', assertTemplate(
- '{% hash "md5", "latin1", "foo" %}',
+ ['md5', 'latin1', 'foo'],
'¬½ÛLÂø\\íïeOÌĤØ'
));
it('hashes to hex', assertTemplate(
- '{% hash "md5", "hex", "foo" %}',
+ ['md5', 'hex', 'foo'],
'acbd18db4cc2f85cedef654fccc4a4d8'
));
it('hashes to base64', assertTemplate(
- '{% hash "md5", "base64", "foo" %}',
+ ['md5', 'base64', 'foo'],
'rL0Y20zC+Fzt72VPzMSk2A=='
));
it('fails to hash to invalid', assertTemplateFails(
- '{% hash "md5", "bad", "foo" %}',
- 'Invalid encoding bad. Choices are hex, latin1, base64'
+ ['md5', 'bad', 'foo'],
+ 'Invalid encoding bad. Choices are hex, latin1, base64'
));
// Values
it('hashes empty string', assertTemplate(
- '{% hash "md5", "hex", "" %}',
+ ['md5', 'hex', ''],
'd41d8cd98f00b204e9800998ecf8427e'
));
it('hashes no string', assertTemplate(
- '{% hash "md5", "hex" %}',
+ ['md5', 'hex'],
'd41d8cd98f00b204e9800998ecf8427e'
));
it('fails to hash non string', assertTemplateFails(
- '{% hash "md5", "hex", true %}',
+ ['md5', 'hex', true],
'Cannot hash value of type "boolean"'
));
});
diff --git a/app/templating/extensions/hash-extension.js b/plugins/insomnia-plugin-hash/index.js
similarity index 84%
rename from app/templating/extensions/hash-extension.js
rename to plugins/insomnia-plugin-hash/index.js
index 1b9174eac0..143b9b7be0 100644
--- a/app/templating/extensions/hash-extension.js
+++ b/plugins/insomnia-plugin-hash/index.js
@@ -1,8 +1,6 @@
-// @flow
-import crypto from 'crypto';
-import type {PluginTemplateTag} from './index';
+const crypto = require('crypto');
-export default ({
+module.exports.templateTags = [{
name: 'hash',
displayName: 'Hash',
description: 'Apply hash to a value',
@@ -32,7 +30,7 @@ export default ({
placeholder: 'Value to hash'
}
],
- run (context: Object, algorithm: string, encoding: string, value: string = ''): string {
+ run (context, algorithm, encoding, value = '') {
if (encoding !== 'hex' && encoding !== 'latin1' && encoding !== 'base64') {
throw new Error(`Invalid encoding ${encoding}. Choices are hex, latin1, base64`);
}
@@ -46,4 +44,4 @@ export default ({
hash.update(value || '', 'utf8');
return hash.digest(encoding);
}
-}: PluginTemplateTag);
+}];
diff --git a/plugins/insomnia-plugin-hash/package.json b/plugins/insomnia-plugin-hash/package.json
new file mode 100644
index 0000000000..cf6909b799
--- /dev/null
+++ b/plugins/insomnia-plugin-hash/package.json
@@ -0,0 +1,19 @@
+{
+ "name": "insomnia-plugin-hash",
+ "version": "1.0.1",
+ "author": "Gregory Schier ",
+ "description": "Insomnia hash template tag",
+ "license": "MIT",
+ "repository": "https://github.com/getinsomnia/insomnia/tree/master/plugins/insomnia-plugin-hash",
+ "bugs": {
+ "url": "https://github.com/getinsomnia/insomnia"
+ },
+ "main": "index.js",
+ "insomnia": {
+ "name": "hash",
+ "core": true
+ },
+ "scripts": {
+ "test": "jest --silent"
+ }
+}
diff --git a/plugins/insomnia-plugin-now/README.md b/plugins/insomnia-plugin-now/README.md
new file mode 100644
index 0000000000..c1dcf0d5d2
--- /dev/null
+++ b/plugins/insomnia-plugin-now/README.md
@@ -0,0 +1,5 @@
+# Insomnia Timestamp Template Tag
+
+[](https://www.npmjs.com/package/insomnia-plugin-now)
+
+This is a core Insomnia plugin.
\ No newline at end of file
diff --git a/plugins/insomnia-plugin-now/__tests__/index.test.js b/plugins/insomnia-plugin-now/__tests__/index.test.js
new file mode 100644
index 0000000000..5c99c9fb92
--- /dev/null
+++ b/plugins/insomnia-plugin-now/__tests__/index.test.js
@@ -0,0 +1,38 @@
+const tag = require('..').templateTags[0];
+
+function assertTemplate (args, expected) {
+ return async function () {
+ const result = await tag.run(null, ...args);
+ if (expected instanceof RegExp) {
+ expect(result).toMatch(expected);
+ } else {
+ expect(result).toBe(expected);
+ }
+ };
+}
+
+function assertTemplateFails (args, expected) {
+ return async function () {
+ try {
+ await tag.run(null, ...args);
+ fail(`Render should have thrown ${expected}`);
+ } catch (err) {
+ expect(err.message).toContain(expected);
+ }
+ };
+}
+
+const isoRe = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{3}Z$/;
+const secondsRe = /^\d{10}$/;
+const millisRe = /^\d{13}$/;
+
+describe('NowExtension', () => {
+ it('renders default ISO', assertTemplate([], isoRe));
+ it('renders ISO-8601', assertTemplate(['ISO-8601'], isoRe));
+ it('renders seconds', assertTemplate(['seconds'], secondsRe));
+ it('renders s', assertTemplate(['s'], secondsRe));
+ it('renders unix', assertTemplate(['unix'], secondsRe));
+ it('renders millis', assertTemplate(['millis'], millisRe));
+ it('renders ms', assertTemplate(['ms'], millisRe));
+ it('fails on other', assertTemplateFails(['foo'], 'Invalid date type "foo"'));
+});
diff --git a/app/templating/extensions/now-extension.js b/plugins/insomnia-plugin-now/index.js
similarity index 75%
rename from app/templating/extensions/now-extension.js
rename to plugins/insomnia-plugin-now/index.js
index 190cdb1943..96ef6de0c4 100644
--- a/app/templating/extensions/now-extension.js
+++ b/plugins/insomnia-plugin-now/index.js
@@ -1,6 +1,6 @@
-import moment from 'moment';
+const moment = require('moment');
-export default {
+module.exports.templateTags = [{
name: 'now',
displayName: 'Timestamp',
description: 'get the current time',
@@ -33,11 +33,11 @@ export default {
switch (dateType) {
case 'millis':
case 'ms':
- return now.getTime();
+ return now.getTime() + '';
case 'unix':
case 'seconds':
case 's':
- return Math.round(now.getTime() / 1000);
+ return Math.round(now.getTime() / 1000) + '';
case 'iso-8601':
return now.toISOString();
case 'custom':
@@ -46,4 +46,13 @@ export default {
throw new Error(`Invalid date type "${dateType}"`);
}
}
-};
+}, {
+ // Old deprecated "timestamp" tag
+ deprecated: true,
+ name: 'timestamp',
+ displayName: 'Timestamp',
+ description: 'generate timestamp in milliseconds',
+ run (context) {
+ return Date.now();
+ }
+}];
diff --git a/plugins/insomnia-plugin-now/package-lock.json b/plugins/insomnia-plugin-now/package-lock.json
new file mode 100644
index 0000000000..b9415f25b7
--- /dev/null
+++ b/plugins/insomnia-plugin-now/package-lock.json
@@ -0,0 +1,11 @@
+{
+ "requires": true,
+ "lockfileVersion": 1,
+ "dependencies": {
+ "moment": {
+ "version": "2.19.2",
+ "resolved": "https://registry.npmjs.org/moment/-/moment-2.19.2.tgz",
+ "integrity": "sha512-Rf6jiHPEfxp9+dlzxPTmRHbvoFXsh2L/U8hOupUMpnuecHQmI6cF6lUbJl3QqKPko1u6ujO+FxtcajLVfLpAtA=="
+ }
+ }
+}
diff --git a/plugins/insomnia-plugin-now/package.json b/plugins/insomnia-plugin-now/package.json
new file mode 100644
index 0000000000..e724c9f2d9
--- /dev/null
+++ b/plugins/insomnia-plugin-now/package.json
@@ -0,0 +1,21 @@
+{
+ "name": "insomnia-plugin-now",
+ "version": "1.0.1",
+ "author": "Gregory Schier ",
+ "description": "Insomnia now template tag",
+ "license": "MIT",
+ "repository": "https://github.com/getinsomnia/insomnia/tree/master/plugins/insomnia-plugin-now",
+ "bugs": {
+ "url": "https://github.com/getinsomnia/insomnia"
+ },
+ "main": "index.js",
+ "insomnia": {
+ "name": "now"
+ },
+ "scripts": {
+ "test": "jest --silent"
+ },
+ "dependencies": {
+ "moment": "^2.19.2"
+ }
+}
diff --git a/plugins/insomnia-plugin-request/README.md b/plugins/insomnia-plugin-request/README.md
new file mode 100644
index 0000000000..ac1cce2484
--- /dev/null
+++ b/plugins/insomnia-plugin-request/README.md
@@ -0,0 +1,5 @@
+# Insomnia Request Template Tag
+
+[](https://www.npmjs.com/package/insomnia-plugin-request)
+
+This is a core Insomnia plugin.
\ No newline at end of file
diff --git a/plugins/insomnia-plugin-request/__tests__/index.test.js b/plugins/insomnia-plugin-request/__tests__/index.test.js
new file mode 100644
index 0000000000..3abeaf01f1
--- /dev/null
+++ b/plugins/insomnia-plugin-request/__tests__/index.test.js
@@ -0,0 +1,99 @@
+const {jarFromCookies, cookiesFromJar} = require('insomnia-cookies');
+const tag = require('..').templateTags[0];
+
+describe('plugin', () => {
+ describe('RequestExtension cookie', async () => {
+ it('should get cookie by name', async () => {
+ const jar = jarFromCookies([]);
+ jar.setCookieSync([
+ 'foo=bar',
+ 'path=/',
+ 'domain=.insomnia.rest',
+ 'HttpOnly Cache-Control: public, no-cache'
+ ].join('; '), 'https://insomnia.rest');
+
+ const cookies = await cookiesFromJar(jar);
+ const requests = [{_id: 'req_1', parameters: [], url: 'https://insomnia.rest/foo/bar'}];
+ const jars = [{_id: 'jar_1', parentId: 'wrk_1', cookies}];
+ const context = _getTestContext([{_id: 'wrk_1'}], requests, jars);
+ const result = await tag.run(context, 'cookie', 'foo');
+
+ expect(result).toBe('bar');
+ });
+ });
+
+ describe('RequestExtension url', async () => {
+ it('should get url', async () => {
+ const requests = [{
+ _id: 'req_1',
+ parameters: [{name: 'foo', value: 'bar'}],
+ url: 'https://insomnia.rest/foo/bar'
+ }];
+ const context = _getTestContext([{_id: 'wrk_1'}], requests);
+ const result = await tag.run(context, 'url');
+
+ expect(result).toBe('https://insomnia.rest/foo/bar?foo=bar');
+ });
+
+ it('should get rendered url', async () => {
+ const requests = [{
+ _id: 'req_1',
+ parameters: [{name: 'foo', value: '{{ foo }}'}],
+ url: 'https://insomnia.rest/foo/bar'
+ }];
+ const context = _getTestContext([{_id: 'wrk_1'}], requests);
+ const result = await tag.run(context, 'url');
+
+ expect(result).toBe('https://insomnia.rest/foo/bar?foo=bar');
+ });
+ });
+
+ describe('RequestExtension header', async () => {
+ it('should get url', async () => {
+ const requests = [{
+ _id: 'req_1',
+ headers: [{name: 'foo', value: '{{ foo }}'}],
+ url: 'https://insomnia.rest/foo/bar'
+ }];
+ const context = _getTestContext([{_id: 'wrk_1'}], requests);
+ const result = await tag.run(context, 'header', 'foo');
+
+ expect(result).toBe('bar');
+ });
+ });
+});
+
+function _getTestContext (workspaces, requests, jars) {
+ jars = jars || [];
+ return {
+ meta: {
+ requestId: requests[0]._id,
+ workspaceId: workspaces[0]._id
+ },
+ util: {
+ render (str) {
+ return str.replace(/{{ foo }}/g, 'bar');
+ },
+ models: {
+ request: {
+ getById (id) {
+ return requests.find(r => r._id === id);
+ }
+ },
+ workspace: {
+ getById (id) {
+ return workspaces.find(w => w._id === id);
+ }
+ },
+ cookieJar: {
+ getOrCreateForWorkspace (workspace) {
+ return jars.find(j => j.parentId === workspace._id) || {
+ parentId: workspace._id,
+ cookies: []
+ };
+ }
+ }
+ }
+ }
+ };
+}
diff --git a/app/templating/extensions/request-extension.js b/plugins/insomnia-plugin-request/index.js
similarity index 88%
rename from app/templating/extensions/request-extension.js
rename to plugins/insomnia-plugin-request/index.js
index 47ef200caf..80020c1c11 100644
--- a/app/templating/extensions/request-extension.js
+++ b/plugins/insomnia-plugin-request/index.js
@@ -1,8 +1,7 @@
-import * as querystring from '../../common/querystring';
-import {prepareUrlForSending} from '../../common/misc';
-import {jarFromCookies} from '../../common/cookies';
+const {buildQueryStringFromParams, joinUrlAndQueryString, smartEncodeUrl} = require('insomnia-url');
+const {jarFromCookies} = require('insomnia-cookies');
-export default {
+module.exports.templateTags = [{
name: 'request',
displayName: 'Request',
description: 'reference value from current request',
@@ -61,8 +60,7 @@ export default {
const cookieJar = await context.util.models.cookieJar.getOrCreateForWorkspace(workspace);
const url = await getRequestUrl(context, request);
- const value = await getCookieValue(cookieJar, url, name);
- return value;
+ return getCookieValue(cookieJar, url, name);
case 'header':
if (!name) {
throw new Error('No header specified');
@@ -88,7 +86,7 @@ export default {
return null;
}
-};
+}];
async function getRequestUrl (context, request) {
const url = await context.util.render(request.url);
@@ -100,10 +98,10 @@ async function getRequestUrl (context, request) {
});
}
- const qs = querystring.buildFromParams(parameters);
- const finalUrl = querystring.joinUrl(url, qs);
+ const qs = buildQueryStringFromParams(parameters);
+ const finalUrl = joinUrlAndQueryString(url, qs);
- return prepareUrlForSending(finalUrl, request.settingEncodeUrl);
+ return smartEncodeUrl(finalUrl, request.settingEncodeUrl);
}
function getCookieValue (cookieJar, url, name) {
diff --git a/plugins/insomnia-plugin-request/package.json b/plugins/insomnia-plugin-request/package.json
new file mode 100644
index 0000000000..b5000dc987
--- /dev/null
+++ b/plugins/insomnia-plugin-request/package.json
@@ -0,0 +1,22 @@
+{
+ "name": "insomnia-plugin-request",
+ "version": "1.0.1",
+ "author": "Gregory Schier ",
+ "description": "Insomnia request template tag",
+ "license": "MIT",
+ "repository": "https://github.com/getinsomnia/insomnia/tree/master/plugins/insomnia-plugin-request",
+ "bugs": {
+ "url": "https://github.com/getinsomnia/insomnia"
+ },
+ "main": "index.js",
+ "insomnia": {
+ "name": "request"
+ },
+ "scripts": {
+ "test": "jest --silent"
+ },
+ "dependencies": {
+ "insomnia-cookies": "^0.0.2",
+ "insomnia-url": "^0.0.2"
+ }
+}
diff --git a/plugins/insomnia-plugin-response/README.md b/plugins/insomnia-plugin-response/README.md
new file mode 100644
index 0000000000..67a92901f1
--- /dev/null
+++ b/plugins/insomnia-plugin-response/README.md
@@ -0,0 +1,5 @@
+# Insomnia Response Template Tag
+
+[](https://www.npmjs.com/package/insomnia-plugin-response)
+
+This is a core Insomnia plugin.
\ No newline at end of file
diff --git a/plugins/insomnia-plugin-response/__tests__/index.test.js b/plugins/insomnia-plugin-response/__tests__/index.test.js
new file mode 100644
index 0000000000..adf9ca6d8e
--- /dev/null
+++ b/plugins/insomnia-plugin-response/__tests__/index.test.js
@@ -0,0 +1,364 @@
+const tag = require('..').templateTags[0];
+
+describe('Response tag', () => {
+ describe('General', () => {
+ it('fails on no responses', async () => {
+ const requests = [{_id: 'req_1', parentId: 'wrk_1'}];
+
+ const context = _genTestContext(requests);
+
+ try {
+ await tag.run(context, 'body', 'req_1', '$.foo');
+ fail('JSON should have failed');
+ } catch (err) {
+ expect(err.message).toContain('No responses for request');
+ }
+ });
+
+ it('fails on no request', async () => {
+ const requests = [{_id: 'req_1', parentId: 'wrk_1'}];
+
+ const responses = [{
+ _id: 'res_1',
+ parentId: 'req_1',
+ statusCode: 200,
+ _body: '{"foo": "bar"}'
+ }];
+
+ const context = _genTestContext(requests, responses);
+
+ try {
+ await tag.run(context, 'body', 'req_test', '$.foo');
+ fail('JSON should have failed');
+ } catch (err) {
+ expect(err.message).toContain('Could not find request req_test');
+ }
+ });
+
+ it('fails on empty filter', async () => {
+ const requests = [{_id: 'req_1', parentId: 'wrk_1'}];
+
+ const responses = [{
+ _id: 'res_1',
+ parentId: 'req_1',
+ statusCode: 200,
+ _body: '{"foo": "bar"}'
+ }];
+
+ const context = _genTestContext(requests, responses);
+
+ try {
+ await tag.run(context, 'body', 'req_1', '');
+ fail('JSON should have failed');
+ } catch (err) {
+ expect(err.message).toContain('No body filter specified');
+ }
+ });
+ });
+
+ describe('JSONPath', () => {
+ it('basic query', async () => {
+ const requests = [{_id: 'req_1', parentId: 'wrk_1'}];
+
+ const responses = [{
+ _id: 'res_1',
+ parentId: 'req_1',
+ statusCode: 200,
+ _body: '{"foo": "bar"}'
+ }];
+
+ const context = _genTestContext(requests, responses);
+ const result = await tag.run(context, 'body', 'req_1', '$.foo');
+
+ expect(result).toBe('bar');
+ });
+
+ it('fails on invalid JSON', async () => {
+ const requests = [{_id: 'req_1', parentId: 'wrk_1'}];
+
+ const responses = [{
+ _id: 'res_1',
+ parentId: 'req_1',
+ statusCode: 200,
+ _body: '{"foo": "'
+ }];
+
+ const context = _genTestContext(requests, responses);
+
+ try {
+ await tag.run(context, 'body', 'req_1', '$.foo');
+ fail('JSON should have failed');
+ } catch (err) {
+ expect(err.message).toContain('Invalid JSON: Unexpected end of JSON input');
+ }
+ });
+
+ it('fails on invalid query', async () => {
+ const requests = [{_id: 'req_1', parentId: 'wrk_1'}];
+
+ const responses = [{
+ _id: 'res_1',
+ parentId: 'req_1',
+ statusCode: 200,
+ _body: '{"foo": "bar"}'
+ }];
+
+ const context = _genTestContext(requests, responses);
+
+ try {
+ await tag.run(context, 'body', 'req_1', '$$');
+ fail('JSON should have failed');
+ } catch (err) {
+ expect(err.message).toContain('Invalid JSONPath query: $$');
+ }
+ });
+
+ it('fails on no results', async () => {
+ const requests = [{_id: 'req_1', parentId: 'wrk_1'}];
+
+ const responses = [{
+ _id: 'res_1',
+ parentId: 'req_1',
+ statusCode: 200,
+ _body: '{"foo": "bar"}'
+ }];
+
+ const context = _genTestContext(requests, responses);
+
+ try {
+ await tag.run(context, 'body', 'req_1', '$.missing');
+ fail('JSON should have failed');
+ } catch (err) {
+ expect(err.message).toContain('Returned no results: $.missing');
+ }
+ });
+
+ it('fails on more than 1 result', async () => {
+ const requests = [{_id: 'req_1', parentId: 'wrk_1'}];
+
+ const responses = [{
+ _id: 'res_1',
+ parentId: 'req_1',
+ statusCode: 200,
+ _body: '{"array": ["bar", "baz"]}'
+ }];
+
+ const context = _genTestContext(requests, responses);
+
+ try {
+ await tag.run(context, 'body', 'req_1', '$.array.*');
+ fail('JSON should have failed to parse');
+ } catch (err) {
+ expect(err.message).toContain('Returned more than one result: $.array.*');
+ }
+ });
+ });
+
+ describe('XPath', async () => {
+ it('renders basic response "body" query', async () => {
+ const requests = [{_id: 'req_1', parentId: 'wrk_1'}];
+
+ const responses = [{
+ _id: 'res_1',
+ parentId: 'req_1',
+ statusCode: 200,
+ _body: 'Hello World!'
+ }];
+
+ const context = _genTestContext(requests, responses);
+ const result = await tag.run(context, 'body', 'req_1', '/foo/bar');
+
+ expect(result).toBe('Hello World!');
+ });
+
+ it('renders basic response "body" attribute query', async () => {
+ const requests = [{_id: 'req_1', parentId: 'wrk_1'}];
+
+ const responses = [{
+ _id: 'res_1',
+ parentId: 'req_1',
+ statusCode: 200,
+ _body: 'Hello World!'
+ }];
+
+ const context = _genTestContext(requests, responses);
+ const result = await tag.run(context, 'body', 'req_1', '/foo/bar/@hello');
+
+ expect(result).toBe('World');
+ });
+
+ it('no results on invalid XML', async () => {
+ const requests = [{_id: 'req_1', parentId: 'wrk_1'}];
+
+ const responses = [{
+ _id: 'res_1',
+ parentId: 'req_1',
+ statusCode: 200,
+ _body: ''
+ }];
+
+ const context = _genTestContext(requests, responses);
+
+ try {
+ await tag.run(context, 'body', 'req_1', '/foo');
+ fail('Should have failed');
+ } catch (err) {
+ expect(err.message).toContain('Returned no results: /foo');
+ }
+ });
+
+ it('fails on invalid query', async () => {
+ const requests = [{_id: 'req_1', parentId: 'wrk_1'}];
+
+ const responses = [{
+ _id: 'res_1',
+ parentId: 'req_1',
+ statusCode: 200,
+ _body: ''
+ }];
+
+ const context = _genTestContext(requests, responses);
+
+ try {
+ await tag.run(context, 'body', 'req_1', '//');
+ fail('Should have failed');
+ } catch (err) {
+ expect(err.message).toContain('Invalid XPath query: //');
+ }
+ });
+
+ it('fails on no results', async () => {
+ const requests = [{_id: 'req_1', parentId: 'wrk_1'}];
+
+ const responses = [{
+ _id: 'res_1',
+ parentId: 'req_1',
+ statusCode: 200,
+ _body: ''
+ }];
+
+ const context = _genTestContext(requests, responses);
+
+ try {
+ await tag.run(context, 'body', 'req_1', '/missing');
+ fail('Should have failed');
+ } catch (err) {
+ expect(err.message).toContain('Returned no results: /missing');
+ }
+ });
+
+ it('fails on more than 1 result', async () => {
+ const requests = [{_id: 'req_1', parentId: 'wrk_1'}];
+
+ const responses = [{
+ _id: 'res_1',
+ parentId: 'req_1',
+ statusCode: 200,
+ _body: 'Hello World!And again!'
+ }];
+
+ const context = _genTestContext(requests, responses);
+
+ try {
+ await tag.run(context, 'body', 'req_1', '/foo/*');
+ fail('Should have failed');
+ } catch (err) {
+ expect(err.message).toContain('Returned more than one result: /foo/*');
+ }
+ });
+ });
+
+ describe('ResponseExtension Header', async () => {
+ it('renders basic response "header"', async () => {
+ const requests = [{_id: 'req_1', parentId: 'wrk_1'}];
+
+ const responses = [{
+ _id: 'res_1',
+ parentId: 'req_1',
+ statusCode: 200,
+ headers: [
+ {name: 'Content-Type', value: 'application/json'},
+ {name: 'Content-Length', value: '20'}
+ ]
+ }];
+
+ const context = _genTestContext(requests, responses);
+
+ expect(await tag.run(context, 'header', 'req_1', 'content-type')).toBe('application/json');
+ expect(await tag.run(context, 'header', 'req_1', 'Content-Type')).toBe('application/json');
+ expect(await tag.run(context, 'header', 'req_1', 'CONTENT-type')).toBe('application/json');
+ expect(await tag.run(context, 'header', 'req_1', 'CONTENT-type ')).toBe('application/json');
+ });
+
+ it('no results on missing header', async () => {
+ const requests = [{_id: 'req_1', parentId: 'wrk_1'}];
+
+ const responses = [{
+ _id: 'res_1',
+ parentId: 'req_1',
+ statusCode: 200,
+ headers: [
+ {name: 'Content-Type', value: 'application/json'},
+ {name: 'Content-Length', value: '20'}
+ ]
+ }];
+
+ const context = _genTestContext(requests, responses);
+
+ try {
+ await tag.run(context, 'header', 'req_1', 'missing');
+ fail('should have failed');
+ } catch (err) {
+ expect(err.message).toBe('No header with name "missing".\n' +
+ 'Choices are [\n\t"Content-Type",\n\t"Content-Length"\n]');
+ }
+ });
+ });
+
+ describe('Raw', async () => {
+ it('renders basic response', async () => {
+ const requests = [{_id: 'req_1', parentId: 'wrk_1'}];
+
+ const responses = [{
+ _id: 'res_1',
+ parentId: 'req_1',
+ statusCode: 200,
+ _body: 'Hello World!'
+ }];
+
+ const context = _genTestContext(requests, responses);
+
+ expect(await tag.run(context, 'raw', 'req_1')).toBe('Hello World!');
+ });
+ });
+});
+
+function _genTestContext (requests, responses) {
+ requests = requests || [];
+ responses = responses || [];
+ const bodies = {};
+ for (const res of responses) {
+ bodies[res._id] = res._body || null;
+ delete res._body;
+ }
+ return {
+ util: {
+ models: {
+ request: {
+ getById (requestId) {
+ return requests.find(r => r._id === requestId) || null;
+ }
+ },
+ response: {
+ getLatestForRequestId (requestId) {
+ return responses.find(r => r.parentId === requestId) || null;
+ },
+ getBodyBuffer (response) {
+ const str = bodies[response._id];
+ return str ? Buffer.from(str) : null;
+ }
+ }
+ }
+ }
+ };
+}
diff --git a/app/templating/extensions/response-extension.js b/plugins/insomnia-plugin-response/index.js
similarity index 81%
rename from app/templating/extensions/response-extension.js
rename to plugins/insomnia-plugin-response/index.js
index 286513b8a1..4e49207e2e 100644
--- a/app/templating/extensions/response-extension.js
+++ b/plugins/insomnia-plugin-response/index.js
@@ -1,11 +1,7 @@
-// @flow
-import jq from 'jsonpath';
-import * as xpath from '../../common/xpath';
-import type {ResponseHeader} from '../../models/response';
-import type {PluginTemplateTag, PluginTemplateTagContext} from './index';
-import type {NunjucksParsedTagArg} from '../utils';
+const jq = require('jsonpath');
+const {query: queryXPath} = require('insomnia-xpath');
-export default ({
+module.exports.templateTags = [{
name: 'response',
displayName: 'Response',
description: 'reference values from other request\'s responses',
@@ -26,8 +22,8 @@ export default ({
},
{
type: 'string',
- hide: (args: Array): boolean => args[0].value === 'raw',
- displayName: (args: Array |