diff --git a/samples/pnp-controls/.editorconfig b/samples/pnp-controls/.editorconfig new file mode 100644 index 000000000..8ffcdc4ec --- /dev/null +++ b/samples/pnp-controls/.editorconfig @@ -0,0 +1,25 @@ +# EditorConfig helps developers define and maintain consistent +# coding styles between different editors and IDEs +# editorconfig.org + +root = true + + +[*] + +# change these settings to your own preference +indent_style = space +indent_size = 2 + +# we recommend you to keep these unchanged +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true + +[*.md] +trim_trailing_whitespace = false + +[{package,bower}.json] +indent_style = space +indent_size = 2 \ No newline at end of file diff --git a/samples/pnp-controls/.gitignore b/samples/pnp-controls/.gitignore new file mode 100644 index 000000000..b19bbe123 --- /dev/null +++ b/samples/pnp-controls/.gitignore @@ -0,0 +1,32 @@ +# Logs +logs +*.log +npm-debug.log* + +# Dependency directories +node_modules + +# Build generated files +dist +lib +solution +temp +*.sppkg + +# Coverage directory used by tools like istanbul +coverage + +# OSX +.DS_Store + +# Visual Studio files +.ntvs_analysis.dat +.vs +bin +obj + +# Resx Generated Code +*.resx.ts + +# Styles Generated Code +*.scss.ts diff --git a/samples/pnp-controls/.yo-rc.json b/samples/pnp-controls/.yo-rc.json new file mode 100644 index 000000000..f01dcd4b0 --- /dev/null +++ b/samples/pnp-controls/.yo-rc.json @@ -0,0 +1,8 @@ +{ + "@microsoft/generator-sharepoint": { + "version": "1.2.0", + "libraryName": "component-test", + "libraryId": "7d4d5b98-cea3-4361-8e3d-5143d5c86334", + "environment": "spo" + } +} \ No newline at end of file diff --git a/samples/pnp-controls/README.md b/samples/pnp-controls/README.md new file mode 100644 index 000000000..8bfb387a7 --- /dev/null +++ b/samples/pnp-controls/README.md @@ -0,0 +1,57 @@ +# SharePoint Framework PnP Controls Sample + +## Summary + +This is a sample project that contains a web part which makes use of the PnP SPFx Controls: + +- [SharePoint Framework React Controls](https://www.npmjs.com/package/@pnp/spfx-controls-react) +- [SharePoint Framework Property Controls](https://www.npmjs.com/package/@pnp/spfx-property-controls) + +![Web part outcome](./assets/webpart-outcome.gif) + +## Used SharePoint Framework Version +![drop](https://img.shields.io/badge/drop-1.2.0-green.svg) + +## Which PnP SPFx controls are being used in this sample? + +The sample makes use of the following controls: +- PropertyFieldListPicker +- PropertyFieldTermPicker +- Placeholder +- ListView (which also uses the FileTypeIcon control) + +## Applies to + +* [SharePoint Framework](http://dev.office.com/sharepoint/docs/spfx/sharepoint-framework-overview) + +## Solution + +Solution|Author(s) +--------|--------- +pnp-controls|Elio Struyf (MVP, U2U, [@eliostruyf](https://twitter.com/eliostruyf)) + +## Version history + +Version|Date|Comments +-------|----|-------- +0.0.1|September 20, 2017|Initial release + +## Disclaimer +**THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.** + +--- + +## Minimal Path to Awesome + +To test out this web part, you need to have a library with a managed metadata field. In my case, I made use of a field called **Country**. + +![Documents](./assets/documents.png) + +Once you have such a library in place, you can copy the code and run the following commands: + +```bash +npm install +gulp serve --nobrowser +``` + +![](https://telemetry.sharepointpnp.com/sp-dev-fx-webparts/samples/pnp-controls) diff --git a/samples/pnp-controls/assets/documents.png b/samples/pnp-controls/assets/documents.png new file mode 100644 index 000000000..eef533b53 Binary files /dev/null and b/samples/pnp-controls/assets/documents.png differ diff --git a/samples/pnp-controls/assets/webpart-outcome.gif b/samples/pnp-controls/assets/webpart-outcome.gif new file mode 100644 index 000000000..e0eaa2872 Binary files /dev/null and b/samples/pnp-controls/assets/webpart-outcome.gif differ diff --git a/samples/pnp-controls/config/config.json b/samples/pnp-controls/config/config.json new file mode 100644 index 000000000..60fd971aa --- /dev/null +++ b/samples/pnp-controls/config/config.json @@ -0,0 +1,15 @@ +{ + "version": "2.0", + "bundles": { + "pnp-controls-web-part": { + "components": [{ + "entrypoint": "./lib/webparts/pnpControls/PnPControlsWebPart.js", + "manifest": "./src/webparts/pnpControls/PnPControlsWebPart.manifest.json" + }] + } + }, + "externals": {}, + "localizedResources": { + "PnPControlsWebPartStrings": "lib/webparts/pnpControls/loc/{locale}.js" + } +} diff --git a/samples/pnp-controls/config/copy-assets.json b/samples/pnp-controls/config/copy-assets.json new file mode 100644 index 000000000..0e8bfce27 --- /dev/null +++ b/samples/pnp-controls/config/copy-assets.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://dev.office.com/json-schemas/spfx-build/copy-assets.schema.json", + "deployCdnPath": "temp/deploy" +} diff --git a/samples/pnp-controls/config/deploy-azure-storage.json b/samples/pnp-controls/config/deploy-azure-storage.json new file mode 100644 index 000000000..137d56f69 --- /dev/null +++ b/samples/pnp-controls/config/deploy-azure-storage.json @@ -0,0 +1,7 @@ +{ + "$schema": "https://dev.office.com/json-schemas/spfx-build/deploy-azure-storage.schema.json", + "workingDir": "./temp/deploy/", + "account": "", + "container": "component-test", + "accessKey": "" +} \ No newline at end of file diff --git a/samples/pnp-controls/config/package-solution.json b/samples/pnp-controls/config/package-solution.json new file mode 100644 index 000000000..6293b9d7b --- /dev/null +++ b/samples/pnp-controls/config/package-solution.json @@ -0,0 +1,12 @@ +{ + "$schema": "https://dev.office.com/json-schemas/spfx-build/package-solution.schema.json", + "solution": { + "name": "component-test-client-side-solution", + "id": "7d4d5b98-cea3-4361-8e3d-5143d5c86334", + "version": "1.0.0.0", + "skipFeatureDeployment": false + }, + "paths": { + "zippedPackage": "solution/component-test.sppkg" + } +} diff --git a/samples/pnp-controls/config/serve.json b/samples/pnp-controls/config/serve.json new file mode 100644 index 000000000..64080556c --- /dev/null +++ b/samples/pnp-controls/config/serve.json @@ -0,0 +1,10 @@ +{ + "$schema": "https://dev.office.com/json-schemas/core-build/serve.schema.json", + "port": 4321, + "initialPage": "https://localhost:5432/workbench", + "https": true, + "api": { + "port": 5432, + "entryPath": "node_modules/@microsoft/sp-webpart-workbench/lib/api/" + } +} diff --git a/samples/pnp-controls/config/tslint.json b/samples/pnp-controls/config/tslint.json new file mode 100644 index 000000000..6ffbc651e --- /dev/null +++ b/samples/pnp-controls/config/tslint.json @@ -0,0 +1,45 @@ +{ + "$schema": "https://dev.office.com/json-schemas/core-build/tslint.schema.json", + // Display errors as warnings + "displayAsWarning": true, + // The TSLint task may have been configured with several custom lint rules + // before this config file is read (for example lint rules from the tslint-microsoft-contrib + // project). If true, this flag will deactivate any of these rules. + "removeExistingRules": true, + // When true, the TSLint task is configured with some default TSLint "rules.": + "useDefaultConfigAsBase": false, + // Since removeExistingRules=true and useDefaultConfigAsBase=false, there will be no lint rules + // which are active, other than the list of rules below. + "lintConfig": { + // Opt-in to Lint rules which help to eliminate bugs in JavaScript + "rules": { + "class-name": false, + "export-name": false, + "forin": false, + "label-position": false, + "member-access": true, + "no-arg": false, + "no-console": false, + "no-construct": false, + "no-duplicate-case": true, + "no-duplicate-variable": true, + "no-eval": false, + "no-function-expression": true, + "no-internal-module": true, + "no-shadowed-variable": true, + "no-switch-case-fall-through": true, + "no-unnecessary-semicolons": true, + "no-unused-expression": true, + "no-use-before-declare": true, + "no-with-statement": true, + "semicolon": true, + "trailing-comma": false, + "typedef": false, + "typedef-whitespace": false, + "use-named-parameter": true, + "valid-typeof": true, + "variable-name": false, + "whitespace": false + } + } +} \ No newline at end of file diff --git a/samples/pnp-controls/config/write-manifests.json b/samples/pnp-controls/config/write-manifests.json new file mode 100644 index 000000000..2263bfdba --- /dev/null +++ b/samples/pnp-controls/config/write-manifests.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://dev.office.com/json-schemas/spfx-build/write-manifests.schema.json", + "cdnBasePath": "" +} \ No newline at end of file diff --git a/samples/pnp-controls/gulpfile.js b/samples/pnp-controls/gulpfile.js new file mode 100644 index 000000000..de5b70ed8 --- /dev/null +++ b/samples/pnp-controls/gulpfile.js @@ -0,0 +1,6 @@ +'use strict'; + +const gulp = require('gulp'); +const build = require('@microsoft/sp-build-web'); + +build.initialize(gulp); diff --git a/samples/pnp-controls/package.json b/samples/pnp-controls/package.json new file mode 100644 index 000000000..da1f3eeeb --- /dev/null +++ b/samples/pnp-controls/package.json @@ -0,0 +1,36 @@ +{ + "name": "component-test", + "version": "0.0.1", + "private": true, + "engines": { + "node": ">=0.10.0" + }, + "scripts": { + "build": "gulp bundle", + "clean": "gulp clean", + "test": "gulp test" + }, + "dependencies": { + "@microsoft/sp-core-library": "~1.2.0", + "@microsoft/sp-webpart-base": "~1.2.0", + "@pnp/spfx-controls-react": "1.0.0-beta.5", + "@pnp/spfx-property-controls": "1.0.0-beta.1", + "@types/react": "15.0.38", + "@types/react-addons-shallow-compare": "0.14.17", + "@types/react-addons-test-utils": "0.14.15", + "@types/react-addons-update": "0.14.14", + "@types/react-dom": "0.14.18", + "@types/webpack-env": ">=1.12.1 <1.14.0", + "moment": "2.18.1", + "react": "15.4.2", + "react-dom": "15.4.2" + }, + "devDependencies": { + "@microsoft/sp-build-web": "~1.2.0", + "@microsoft/sp-module-interfaces": "~1.2.0", + "@microsoft/sp-webpart-workbench": "~1.2.0", + "gulp": "~3.9.1", + "@types/chai": ">=3.4.34 <3.6.0", + "@types/mocha": ">=2.2.33 <2.6.0" + } +} diff --git a/samples/pnp-controls/src/webparts/pnpControls/IPnPControlsWebPartProps.ts b/samples/pnp-controls/src/webparts/pnpControls/IPnPControlsWebPartProps.ts new file mode 100644 index 000000000..7ed6f0870 --- /dev/null +++ b/samples/pnp-controls/src/webparts/pnpControls/IPnPControlsWebPartProps.ts @@ -0,0 +1,7 @@ +import { ICheckedTerms } from "@pnp/spfx-property-controls/lib/PropertyFieldTermPicker"; + +export interface IPnPControlsWebPartProps { + lists: string | string[]; // Stores the list ID(s) + terms: ICheckedTerms; // Keeps hold of the selected terms + description: string; +} diff --git a/samples/pnp-controls/src/webparts/pnpControls/PnPControlsWebPart.manifest.json b/samples/pnp-controls/src/webparts/pnpControls/PnPControlsWebPart.manifest.json new file mode 100644 index 000000000..2143f177e --- /dev/null +++ b/samples/pnp-controls/src/webparts/pnpControls/PnPControlsWebPart.manifest.json @@ -0,0 +1,33 @@ +{ + "$schema": "https://dev.office.com/json-schemas/spfx/client-side-web-part-manifest.schema.json", + "id": "8909dae1-5562-4f0f-be6c-aa14eac34c66", + "alias": "PnPControlsWebPart", + "componentType": "WebPart", + + // The "*" signifies that the version should be taken from the package.json + "version": "*", + "manifestVersion": 2, + + // If true, the component can only be installed on sites where Custom Script is allowed. + // Components that allow authors to embed arbitrary script code should set this to true. + // https://support.office.com/en-us/article/Turn-scripting-capabilities-on-or-off-1f2c515f-5d7e-448a-9fd7-835da935584f + "requiresCustomScript": false, + + "preconfiguredEntries": [{ + "groupId": "8909dae1-5562-4f0f-be6c-aa14eac34c66", + "group": { + "default": "Under Development" + }, + "title": { + "default": "PnPControls" + }, + "description": { + "default": "Web part to test out the PnP SPFx controls" + }, + "iconImageUrl": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAcCAYAAAATFf3WAAAAAXNSR0IArs4c6QAAAAlwSFlzAAALEwAACxMBAJqcGAAAA6ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDUuNC4wIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIgogICAgICAgICAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyIKICAgICAgICAgICAgeG1sbnM6ZXhpZj0iaHR0cDovL25zLmFkb2JlLmNvbS9leGlmLzEuMC8iPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxNy0wOS0xOVQxMjowOTozOTwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6Q3JlYXRvclRvb2w+UGl4ZWxtYXRvciAzLjY8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHRpZmY6T3JpZW50YXRpb24+MTwvdGlmZjpPcmllbnRhdGlvbj4KICAgICAgICAgPHRpZmY6Q29tcHJlc3Npb24+NTwvdGlmZjpDb21wcmVzc2lvbj4KICAgICAgICAgPHRpZmY6UmVzb2x1dGlvblVuaXQ+MjwvdGlmZjpSZXNvbHV0aW9uVW5pdD4KICAgICAgICAgPHRpZmY6WVJlc29sdXRpb24+NzI8L3RpZmY6WVJlc29sdXRpb24+CiAgICAgICAgIDx0aWZmOlhSZXNvbHV0aW9uPjcyPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+NDA8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjE8L2V4aWY6Q29sb3JTcGFjZT4KICAgICAgICAgPGV4aWY6UGl4ZWxZRGltZW5zaW9uPjI4PC9leGlmOlBpeGVsWURpbWVuc2lvbj4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CjwcPPMAAAP9SURBVFgJnZfLi49RGMdn3GsUCymXDM0wGCHFkin+ABZYTGTkmmxZoazYSuS2UZNEYiFFJJeFRimxYGE0CwvKXe6X7+c3z1dn3jnv/H6/+db397znnOd5zvd5znnfaRob8hip6cZY+iMLc5igyWaxTZwfdoXsAfG0OEr8JQ4bJMjhd2ESvynibLE9OE+2RWR+hJiCAgFFeq2syIpj2U+ZwCUKQMCCYKvsdHG8mAMFIQA7TvwrGhaGUObTNfuU2jKBDxXhI06D2cwbMs+m+NGx9Fq4az81T3Ec80sR4F+zSCeqRCY/JKAbbEByd4jkFGVaoKYGwEV0a/Z58Gh4kDtXfCzXZhBGohzZ3IKL647rkg8d9ZgYfHeIoOzk+leT37IO5ipkE7rJmuPYNAd8KOJtLH4PuzQscc4RU3lTk5NCEYevK7dQhOREModvkwi8T6eeN4s+Ac/jk0VVB0VZ3Fc97xUXi3z31oqfxJxIjpciekUwRnwg3hPPiOdEQG7i6wbJ6QIJqJbnNWIRfZpgzT6+c75rk7W2SaRzfH7AbpGYEwyE0aJPpjJRy48FesOeCJope1t8LB4SX4k5gds0nwOdBQdF4jpEo65OWuAPRZPoQmRZH2PmTLrsZxe0Pfw5WroDEZBeqV6N34iXRTpcFyzQG96JaC499wdB6fGXCSwenQXyV4o33HHYDWLNsEBEuEMrk+iNev4iktj3j2cX5A4WBXp8OGK/yfLyEXtfHARXNGghJjgWBILz4qrKU0PDWdnV8UwONqgHufuWmyvN6Q6ycZH7kqirse7O2ZZ10C/JQsV9KOTekuSt+miBPt6PhWTLI8ORmPfLVBQ41EvyQrHvxeviVjEL34nsoia5X/jcEHmT94uvxT4RTOo3g3595BZsBzpI0ZzCLJErc1OsG+6gO3Mpk2GG5t6JiKEQrAX5Q00BneI6cawIdon4nmIg0IBqjao4pj8W6I35JOwRF4lzRF6QJyIb2Td99pE9Ch/W7orXYnxR1qj2otpvgE035UjYwHRXU0Fecwe75M9xfo44Pif4ELtTNKqKq+qgTLz+iEQ04G8nnYV+K/U4AMSwzrcyRbcGx0X2heQdEmVnT7UpnNDzjBFRBvwQPzEcvE9PjIl3wTGVNzjm4A5wZCSiG66WtaHEafl/l68wENjnpHiMgUC+muDKis4+Oluv0xnfT0S6kxZs68J5e9sj5pkswMcnUZkY6qdM4DIFzRXTfzunadwk5mLoCJtiKcrd5r4+FQGi8alZHEG5zZjnrvi+MMZvqtgq0hFIAS0i/7i7087nTmqpIgxr0TzXDCcsBrChNyExx9oXvCVr8I98s8i3EdFtYofoO0a3hiVMcRX8A255OkxXy9tuAAAAAElFTkSuQmCC", + "properties": { + "description": "PnPControls", + "fieldName": "Country" + } + }] +} diff --git a/samples/pnp-controls/src/webparts/pnpControls/PnPControlsWebPart.ts b/samples/pnp-controls/src/webparts/pnpControls/PnPControlsWebPart.ts new file mode 100644 index 000000000..edc0f3093 --- /dev/null +++ b/samples/pnp-controls/src/webparts/pnpControls/PnPControlsWebPart.ts @@ -0,0 +1,90 @@ +import * as React from 'react'; +import * as ReactDom from 'react-dom'; +import { Version } from '@microsoft/sp-core-library'; +import { + BaseClientSideWebPart, + IPropertyPaneConfiguration, + PropertyPaneTextField +} from '@microsoft/sp-webpart-base'; + +import * as strings from 'PnPControlsWebPartStrings'; +import PnPControls from './components/PnPControls'; +import { IPnPControlsProps } from './components/IPnPControlsProps'; +import { IPnPControlsWebPartProps } from './IPnPControlsWebPartProps'; + +import { PropertyFieldListPicker, PropertyFieldListPickerOrderBy } from '@pnp/spfx-property-controls/lib/PropertyFieldListPicker'; +import { PropertyFieldTermPicker } from '@pnp/spfx-property-controls/lib/PropertyFieldTermPicker'; + +export default class PnPControlsWebPart extends BaseClientSideWebPart { + + public render(): void { + const element: React.ReactElement = React.createElement( + PnPControls, + { + context: this.context, + description: this.properties.description, + list: this.properties.lists || "", + terms: this.properties.terms || null + } + ); + + ReactDom.render(element, this.domElement); + } + + protected get dataVersion(): Version { + return Version.parse('1.0'); + } + + protected get disableReactivePropertyChanges(): boolean { + return true; + } + + protected getPropertyPaneConfiguration(): IPropertyPaneConfiguration { + return { + pages: [ + { + header: { + description: strings.PropertyPaneDescription + }, + groups: [ + { + groupName: strings.BasicGroupName, + groupFields: [ + PropertyPaneTextField('description', { + label: strings.DescriptionFieldLabel + }), + PropertyFieldListPicker('lists', { + label: 'Select a list', + selectedList: this.properties.lists, + includeHidden: false, + orderBy: PropertyFieldListPickerOrderBy.Title, + disabled: false, + baseTemplate: 101, + onPropertyChange: this.onPropertyPaneFieldChanged.bind(this), + properties: this.properties, + context: this.context, + onGetErrorMessage: null, + deferredValidationTime: 0, + key: 'listPickerFieldId' + }), + PropertyFieldTermPicker('terms', { + label: 'Select a term', + panelTitle: 'Select a term', + initialValues: this.properties.terms, + allowMultipleSelections: false, + excludeSystemGroup: false, + onPropertyChange: this.onPropertyPaneFieldChanged, + properties: this.properties, + context: this.context, + onGetErrorMessage: null, + deferredValidationTime: 0, + key: 'termSetsPickerFieldId' + }) + ] + } + ] + } + ] + }; + } +} diff --git a/samples/pnp-controls/src/webparts/pnpControls/components/IPnPControlsProps.ts b/samples/pnp-controls/src/webparts/pnpControls/components/IPnPControlsProps.ts new file mode 100644 index 000000000..3f97bf9c1 --- /dev/null +++ b/samples/pnp-controls/src/webparts/pnpControls/components/IPnPControlsProps.ts @@ -0,0 +1,15 @@ +import { ICheckedTerms } from '@pnp/spfx-property-controls/lib/PropertyFieldTermPicker'; +import { WebPartContext } from "@microsoft/sp-webpart-base"; + +export interface IPnPControlsProps { + context: WebPartContext; + description: string; + list: string | string[]; + terms: ICheckedTerms; +} + +export interface IPnpControlsState { + items?: any[]; + loading?: boolean; + showPlaceholder?: boolean; +} diff --git a/samples/pnp-controls/src/webparts/pnpControls/components/PnPControls.module.scss b/samples/pnp-controls/src/webparts/pnpControls/components/PnPControls.module.scss new file mode 100644 index 000000000..2bcfb4b1f --- /dev/null +++ b/samples/pnp-controls/src/webparts/pnpControls/components/PnPControls.module.scss @@ -0,0 +1 @@ +.pnpControls {} diff --git a/samples/pnp-controls/src/webparts/pnpControls/components/PnPControls.tsx b/samples/pnp-controls/src/webparts/pnpControls/components/PnPControls.tsx new file mode 100644 index 000000000..4cd2e17ba --- /dev/null +++ b/samples/pnp-controls/src/webparts/pnpControls/components/PnPControls.tsx @@ -0,0 +1,160 @@ +import * as React from 'react'; +import * as moment from 'moment'; +import { IPnPControlsProps, IPnpControlsState } from './IPnPControlsProps'; +import { Spinner, SpinnerSize } from 'office-ui-fabric-react/lib/components/Spinner'; +import { Placeholder } from '@pnp/spfx-controls-react/lib/Placeholder'; +import { ListView } from '@pnp/spfx-controls-react/lib/ListView'; +import { SPHttpClient } from '@microsoft/sp-http'; +import { IViewField } from '@pnp/spfx-controls-react/lib/controls/listView'; + +export default class PnPControls extends React.Component { + // Specify the fields that need to be viewed in the listview + private _viewFields: IViewField[] = [ + { + name: "Id", + displayName: "ID", + maxWidth: 25, + minWidth: 25, + sorting: true + }, + { + name: "File.Name", + linkPropertyName: "File.ServerRelativeUrl", + displayName: "Name", + sorting: true + }, + { + name: "File.TimeCreated", + displayName: "Created", + minWidth: 150, + render: (item: any) => { + const created = item["File.TimeCreated"]; + if (created) { + const createdDate = moment(created); + return {createdDate.format('DD/MM/YYYY HH:mm:ss')}; + } + } + } + ]; + + /** + * Constructor + * @param props + */ + constructor(props: IPnPControlsProps) { + super(props); + + this.state = { + items: [], + loading: false, + showPlaceholder: (this.props.list === null || this.props.list === "") + }; + } + + /** + * componentDidMount lifecycle hook + */ + public componentDidMount() { + if (this.props.list !== null && this.props.list !== "") { + this._getListItems(); + } + } + + /** + * componentDidUpdate lifecycle hook + * @param nextProps + * @param nextState + */ + public componentDidUpdate(prevProps: IPnPControlsProps, prevState: IPnpControlsState) { + if (this.props.list !== prevProps.list || this.props.terms !== prevProps.terms) { + if (this.props.list !== null && this.props.list !== "") { + this._getListItems(); + } else { + this.setState({ + showPlaceholder: true + }); + } + } + } + + /** + * Retrieves items for the specified list + * @param listId + */ + private _getListItems() { + this.setState({ + loading: true + }); + + let restApi = `${this.props.context.pageContext.web.absoluteUrl}/_api/web/lists(guid'${this.props.list.toString()}')/items?$expand=File`; + + // Check if results need to be filtered + if (typeof this.props.terms !== "undefined" && this.props.terms !== null && this.props.terms.length > 0) { + // Get the first term (single selection) + const term = this.props.terms[0]; + // Add the filter to the restApi URL + restApi += `,TaxCatchAll&$select=*,TaxCatchAll/Term&$filter=TaxCatchAll/Term eq '${term.name}'`; + } + + this.props.context.spHttpClient.get(restApi, SPHttpClient.configurations.v1) + .then(resp => { return resp.json(); }) + .then(items => { + console.log('List Items:', items); + this.setState({ + items: items.value ? items.value : [], + loading: false, + showPlaceholder: false + }); + }); + } + + /* + * Opens the web part property pane + */ + private _configureWebPart() { + this.props.context.propertyPane.open(); + } + + + /** + * React render method + */ + public render(): React.ReactElement { + // Check if placeholder needs to be shown + if (this.state.showPlaceholder) { + return ( + + ); + } + + return ( +
+ { + this.state.loading ? + ( + + ) : ( + this.state.items.length === 0 ? + ( + + ) : ( +
+

{this.props.description}

+ +
+ ) + ) + } +
+ ); + } +} + diff --git a/samples/pnp-controls/src/webparts/pnpControls/loc/en-us.js b/samples/pnp-controls/src/webparts/pnpControls/loc/en-us.js new file mode 100644 index 000000000..7f779dd04 --- /dev/null +++ b/samples/pnp-controls/src/webparts/pnpControls/loc/en-us.js @@ -0,0 +1,7 @@ +define([], function () { + return { + "PropertyPaneDescription": "Web Part Configuration", + "BasicGroupName": "PnP Controls", + "DescriptionFieldLabel": "List view title" + } +}); diff --git a/samples/pnp-controls/src/webparts/pnpControls/loc/mystrings.d.ts b/samples/pnp-controls/src/webparts/pnpControls/loc/mystrings.d.ts new file mode 100644 index 000000000..273e0c190 --- /dev/null +++ b/samples/pnp-controls/src/webparts/pnpControls/loc/mystrings.d.ts @@ -0,0 +1,10 @@ +declare interface IPnPControlsWebPartStrings { + PropertyPaneDescription: string; + BasicGroupName: string; + DescriptionFieldLabel: string; +} + +declare module 'PnPControlsWebPartStrings' { + const strings: IPnPControlsWebPartStrings; + export = strings; +} diff --git a/samples/pnp-controls/src/webparts/pnpControls/test/PnPControlsWebPart.test.ts b/samples/pnp-controls/src/webparts/pnpControls/test/PnPControlsWebPart.test.ts new file mode 100644 index 000000000..d0683acda --- /dev/null +++ b/samples/pnp-controls/src/webparts/pnpControls/test/PnPControlsWebPart.test.ts @@ -0,0 +1,9 @@ +/// + +import { assert } from 'chai'; + +describe('PnPControlsWebPart', () => { + it('should do something', () => { + assert.ok(true); + }); +}); diff --git a/samples/pnp-controls/tsconfig.json b/samples/pnp-controls/tsconfig.json new file mode 100644 index 000000000..896ef66c6 --- /dev/null +++ b/samples/pnp-controls/tsconfig.json @@ -0,0 +1,16 @@ +{ + "compilerOptions": { + "target": "es5", + "forceConsistentCasingInFileNames": true, + "module": "commonjs", + "jsx": "react", + "declaration": true, + "sourceMap": true, + "experimentalDecorators": true, + "types": [ + "es6-promise", + "es6-collections", + "webpack-env" + ] + } +} diff --git a/samples/pnp-controls/typings/@ms/odsp.d.ts b/samples/pnp-controls/typings/@ms/odsp.d.ts new file mode 100644 index 000000000..8f2343c25 --- /dev/null +++ b/samples/pnp-controls/typings/@ms/odsp.d.ts @@ -0,0 +1,11 @@ +// Type definitions for Microsoft ODSP projects +// Project: ODSP + +/* Global definition for UNIT_TEST builds + Code that is wrapped inside an if(UNIT_TEST) {...} + block will not be included in the final bundle when the + --ship flag is specified */ +declare const UNIT_TEST: boolean; + +/* Global defintion for SPO builds */ +declare const DATACENTER: boolean; \ No newline at end of file diff --git a/samples/pnp-controls/typings/tsd.d.ts b/samples/pnp-controls/typings/tsd.d.ts new file mode 100644 index 000000000..a248cbd2c --- /dev/null +++ b/samples/pnp-controls/typings/tsd.d.ts @@ -0,0 +1 @@ +/// diff --git a/samples/react-content-query-webpart/README.md b/samples/react-content-query-webpart/README.md index e2e5b2319..3d61588bf 100644 --- a/samples/react-content-query-webpart/README.md +++ b/samples/react-content-query-webpart/README.md @@ -29,6 +29,7 @@ Version|Date|Comments 1.0.3|August 12, 2017|Added external scripts functionnality 1.0.4|August 31, 2017|Fixed a bug where tenant sites/subsites were missing from the **Web Url** dropdown 1.0.5|September 1st, 2017|Added a **Site Url** parameter next to the **Web Url** parameter in order to narrow down the results +1.0.6|September 19, 2017| Upgraded to SharePoint drop 1.2.0 and added the site url and web url preselection when adding the WebPart for the first time on a page. Also fixed a bug with fields that had spaces in their internal names (automatically replaced with `_x0020_` by SharePoint). ## Disclaimer **THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.** @@ -37,7 +38,8 @@ Version|Date|Comments ### Cross site collection -The WebPart uses the search in order to get all sites under the current domain, which makes it possible to query not only subsites but other site collections and their subsites as well. +The WebPart uses the search in order to get all sites under the current domain, which makes it possible to query not only subsites but other site collections and their subsites as well. By default, the current site collection and the current web on which the user is adding the WebPart will be pre-selected automatically. +
diff --git a/samples/react-content-query-webpart/config/config.json b/samples/react-content-query-webpart/config/config.json index 72190eac1..712063be4 100644 --- a/samples/react-content-query-webpart/config/config.json +++ b/samples/react-content-query-webpart/config/config.json @@ -1,13 +1,18 @@ { - "entries": [ - { - "entry": "./lib/webparts/contentQuery/ContentQueryWebPart.js", - "manifest": "./src/webparts/contentQuery/ContentQueryWebPart.manifest.json", - "outputPath": "./dist/content-query.bundle.js" + "$schema": "https://dev.office.com/json-schemas/spfx-build/config.2.0.schema.json", + "version": "2.0", + "bundles": { + "content-query-bundle": { + "components": [ + { + "entrypoint": "./lib/webparts/contentQuery/ContentQueryWebPart.js", + "manifest": "./src/webparts/contentQuery/ContentQueryWebPart.manifest.json" + } + ] } - ], - "externals": {}, + }, "localizedResources": { - "contentQueryStrings": "webparts/contentQuery/loc/{locale}.js" - } -} + "contentQueryStrings": "lib/webparts/contentQuery/loc/{locale}.js" + }, + "externals": {} +} \ No newline at end of file diff --git a/samples/react-content-query-webpart/config/package-solution.json b/samples/react-content-query-webpart/config/package-solution.json index 41683ca79..4c519228a 100644 --- a/samples/react-content-query-webpart/config/package-solution.json +++ b/samples/react-content-query-webpart/config/package-solution.json @@ -2,7 +2,7 @@ "solution": { "name": "React Content Query", "id": "00406271-0276-406f-9666-512623eb6709", - "version": "1.0.5.0" + "version": "1.0.6.0" }, "paths": { "zippedPackage": "solution/react-content-query-webpart.sppkg" diff --git a/samples/react-content-query-webpart/config/write-manifests.json b/samples/react-content-query-webpart/config/write-manifests.json index 7a73a41bf..0252f8b8d 100644 --- a/samples/react-content-query-webpart/config/write-manifests.json +++ b/samples/react-content-query-webpart/config/write-manifests.json @@ -1,2 +1,3 @@ { + "cdnBasePath": "https://publiccdn.sharepointonline.com/spptechnologies.sharepoint.com/110700492eeea162ee5bad0f35b1f0061ded8bf436ce0199efe2a4d24109e1c0df1ec594/react-content-query-1.0.6" } \ No newline at end of file diff --git a/samples/react-content-query-webpart/package-lock.json b/samples/react-content-query-webpart/package-lock.json index 5154c3713..e050f2738 100644 --- a/samples/react-content-query-webpart/package-lock.json +++ b/samples/react-content-query-webpart/package-lock.json @@ -1,13 +1,13 @@ { "name": "react-content-query", - "version": "1.0.4", + "version": "1.0.5", "lockfileVersion": 1, "requires": true, "dependencies": { "@microsoft/api-extractor": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@microsoft/api-extractor/-/api-extractor-2.2.0.tgz", - "integrity": "sha1-pWap7SVj1TlhR3NFGfXdig/Bz9w=", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@microsoft/api-extractor/-/api-extractor-2.3.2.tgz", + "integrity": "sha1-pVZ78Y5vGuhNhjE5j0kzlMJeIdM=", "dev": true, "requires": { "@types/es6-collections": "0.5.29", @@ -16,7 +16,7 @@ "@types/z-schema": "3.16.31", "fs-extra": "0.26.7", "jju": "1.3.0", - "typescript": "2.2.2", + "typescript": "2.4.2", "z-schema": "3.17.0" }, "dependencies": { @@ -35,19 +35,18 @@ } }, "@microsoft/decorators": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@microsoft/decorators/-/decorators-1.1.0.tgz", - "integrity": "sha1-/RTmpQ0Dh4Lo1FC7m+wWWmdm0MM=" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@microsoft/decorators/-/decorators-1.2.0.tgz", + "integrity": "sha1-rLeI5xZ1GUtx4JC7WdZ1oqBCjN4=" }, "@microsoft/gulp-core-build": { - "version": "2.5.3", - "resolved": "https://registry.npmjs.org/@microsoft/gulp-core-build/-/gulp-core-build-2.5.3.tgz", - "integrity": "sha1-26R2Li/7oxiYdlmTx3d7AVk8/rc=", + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@microsoft/gulp-core-build/-/gulp-core-build-2.9.3.tgz", + "integrity": "sha1-HJbOC5DAUmm9jMurTY5VskofCVg=", "dev": true, "requires": { "@types/assertion-error": "1.0.30", "@types/chai": "3.4.34", - "@types/chalk": "0.4.31", "@types/gulp": "3.8.32", "@types/gulp-util": "3.0.30", "@types/mocha": "2.2.38", @@ -56,7 +55,7 @@ "@types/orchestrator": "0.0.30", "@types/q": "0.0.32", "@types/rimraf": "0.0.28", - "@types/semver": "5.3.31", + "@types/semver": "5.3.33", "@types/through2": "2.0.32", "@types/vinyl": "1.2.30", "@types/yargs": "0.0.34", @@ -74,6 +73,7 @@ "merge2": "1.0.3", "node-notifier": "5.0.2", "object-assign": "4.1.1", + "orchestrator": "0.3.8", "pretty-hrtime": "1.0.3", "rimraf": "2.5.4", "semver": "5.3.0", @@ -103,12 +103,12 @@ } }, "@microsoft/gulp-core-build-karma": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/@microsoft/gulp-core-build-karma/-/gulp-core-build-karma-2.2.2.tgz", - "integrity": "sha1-L910uWl7x2VZjGwrOCxR9XBhSmg=", + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/@microsoft/gulp-core-build-karma/-/gulp-core-build-karma-2.3.8.tgz", + "integrity": "sha1-MdsOvht/vxQzpmvGPwQFvAzNPVo=", "dev": true, "requires": { - "@microsoft/gulp-core-build": "2.5.3", + "@microsoft/gulp-core-build": "2.9.3", "chai": "3.5.0", "gulp": "3.9.1", "gulp-karma": "0.0.5", @@ -121,9 +121,9 @@ "karma-sinon-chai": "1.2.4", "karma-webpack": "2.0.4", "lolex": "1.4.0", - "mocha": "2.5.3", + "mocha": "3.4.2", "phantomjs-polyfill": "0.0.2", - "phantomjs-prebuilt": "2.1.14", + "phantomjs-prebuilt": "2.1.15", "sinon": "1.17.7", "sinon-chai": "2.8.0", "webpack": "1.13.3" @@ -184,9 +184,9 @@ } }, "source-map": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", - "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=", + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true }, "string_decoder": { @@ -214,7 +214,7 @@ "dev": true, "requires": { "async": "0.2.10", - "source-map": "0.5.6", + "source-map": "0.5.7", "uglify-to-browserify": "1.0.2", "yargs": "3.10.0" }, @@ -277,13 +277,13 @@ } }, "@microsoft/gulp-core-build-sass": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@microsoft/gulp-core-build-sass/-/gulp-core-build-sass-3.1.2.tgz", - "integrity": "sha1-msehN3WBLY3s1/BOQrfy1BKjnCc=", + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/@microsoft/gulp-core-build-sass/-/gulp-core-build-sass-3.2.6.tgz", + "integrity": "sha1-H2u747BPQo7jkUaKwNlf/nJTlDs=", "dev": true, "requires": { - "@microsoft/gulp-core-build": "2.5.3", - "@microsoft/load-themed-styles": "1.4.0", + "@microsoft/gulp-core-build": "2.9.3", + "@microsoft/load-themed-styles": "1.7.1", "@types/node": "6.0.62", "autoprefixer": "6.3.7", "gulp": "3.9.1", @@ -306,12 +306,12 @@ } }, "@microsoft/gulp-core-build-serve": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@microsoft/gulp-core-build-serve/-/gulp-core-build-serve-2.1.3.tgz", - "integrity": "sha1-k9LYWMLwL+3wxZSKal4KQ8XjqCU=", + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/@microsoft/gulp-core-build-serve/-/gulp-core-build-serve-2.1.8.tgz", + "integrity": "sha1-z0/iZuToYbJxXoUURxZ+DH5zdVM=", "dev": true, "requires": { - "@microsoft/gulp-core-build": "2.5.3", + "@microsoft/gulp-core-build": "2.9.3", "@types/node": "6.0.62", "deasync": "0.1.10", "express": "4.14.1", @@ -332,13 +332,13 @@ } }, "@microsoft/gulp-core-build-typescript": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@microsoft/gulp-core-build-typescript/-/gulp-core-build-typescript-3.1.1.tgz", - "integrity": "sha1-e3gdjlKeSQzz5hB5eh+7fuZx01s=", + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/@microsoft/gulp-core-build-typescript/-/gulp-core-build-typescript-3.4.1.tgz", + "integrity": "sha1-fk44Di6xp3sPq8cake8HzvvuK4g=", "dev": true, "requires": { - "@microsoft/api-extractor": "2.2.0", - "@microsoft/gulp-core-build": "2.5.3", + "@microsoft/api-extractor": "2.3.2", + "@microsoft/gulp-core-build": "2.9.3", "@types/fs-extra": "0.0.37", "@types/gulp": "3.8.32", "@types/node": "6.0.62", @@ -357,9 +357,9 @@ "merge2": "1.0.3", "object-assign": "4.1.1", "through2": "2.0.3", - "tslint": "4.5.1", - "tslint-microsoft-contrib": "4.0.1", - "typescript": "2.2.2" + "tslint": "5.5.0", + "tslint-microsoft-contrib": "5.0.1", + "typescript": "2.4.2" }, "dependencies": { "@types/node": { @@ -371,12 +371,12 @@ } }, "@microsoft/gulp-core-build-webpack": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/@microsoft/gulp-core-build-webpack/-/gulp-core-build-webpack-1.1.6.tgz", - "integrity": "sha1-OloimWPldBfH8WPd99iNfPdm8uA=", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/@microsoft/gulp-core-build-webpack/-/gulp-core-build-webpack-1.2.5.tgz", + "integrity": "sha1-psp9OutIMMiQhKizLQwqwI4VTdI=", "dev": true, "requires": { - "@microsoft/gulp-core-build": "2.5.3", + "@microsoft/gulp-core-build": "2.9.3", "@types/gulp": "3.8.32", "@types/node": "6.0.62", "gulp": "3.9.1", @@ -445,9 +445,9 @@ } }, "source-map": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", - "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=", + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true }, "string_decoder": { @@ -475,7 +475,7 @@ "dev": true, "requires": { "async": "0.2.10", - "source-map": "0.5.6", + "source-map": "0.5.7", "uglify-to-browserify": "1.0.2", "yargs": "3.10.0" }, @@ -538,14 +538,14 @@ } }, "@microsoft/load-themed-styles": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@microsoft/load-themed-styles/-/load-themed-styles-1.4.0.tgz", - "integrity": "sha1-GDC9288QFxLKJgIX5Vq3RKUgQdw=" + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/@microsoft/load-themed-styles/-/load-themed-styles-1.7.1.tgz", + "integrity": "sha1-hpLvLfbRmczGF5AIJqcM88yex2E=" }, "@microsoft/loader-cased-file": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@microsoft/loader-cased-file/-/loader-cased-file-1.0.1.tgz", - "integrity": "sha1-89JNxxtO1lEt6I+u0AyCf5ehWhY=", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@microsoft/loader-cased-file/-/loader-cased-file-1.2.0.tgz", + "integrity": "sha1-NEsnII+JAyRIHJ5HSol3guWQ+fQ=", "dev": true, "requires": { "@types/lodash": "4.14.52", @@ -570,12 +570,12 @@ } }, "@microsoft/loader-load-themed-styles": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@microsoft/loader-load-themed-styles/-/loader-load-themed-styles-1.2.0.tgz", - "integrity": "sha1-S9TfPuiymFiKSBu0hBUhN1JcVUg=", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@microsoft/loader-load-themed-styles/-/loader-load-themed-styles-1.4.1.tgz", + "integrity": "sha1-zNaBlacnYmdBfxfNymeYhbOD9i4=", "dev": true, "requires": { - "@microsoft/load-themed-styles": "1.4.0", + "@microsoft/load-themed-styles": "1.7.1", "loader-utils": "1.1.0" }, "dependencies": { @@ -592,56 +592,33 @@ } } }, - "@microsoft/loader-set-webpack-public-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@microsoft/loader-set-webpack-public-path/-/loader-set-webpack-public-path-2.1.0.tgz", - "integrity": "sha1-osSnwyfQAbomOivSMxUNKnuCFgA=", - "dev": true, - "requires": { - "@types/webpack": "2.2.4", - "loader-utils": "1.1.0", - "lodash": "4.15.0", - "uglify-js": "2.8.29" - }, - "dependencies": { - "loader-utils": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz", - "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", - "dev": true, - "requires": { - "big.js": "3.1.3", - "emojis-list": "2.1.0", - "json5": "0.5.1" - } - } - } - }, "@microsoft/office-ui-fabric-react-bundle": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@microsoft/office-ui-fabric-react-bundle/-/office-ui-fabric-react-bundle-1.1.0.tgz", - "integrity": "sha1-ar84pi9JImr7jswkt0K/bZ8tcYs=", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@microsoft/office-ui-fabric-react-bundle/-/office-ui-fabric-react-bundle-1.2.0.tgz", + "integrity": "sha1-xhhI5oSbpTPKpspBSwthuR8GL4U=", "requires": { - "@types/react": "0.14.46", + "@types/react": "15.0.38", "@types/webpack-env": "1.13.0", - "office-ui-fabric-react": "2.31.0", + "office-ui-fabric-react": "4.32.0", "react": "15.4.2", "react-dom": "15.4.2" } }, "@microsoft/rush-lib": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/@microsoft/rush-lib/-/rush-lib-3.0.7.tgz", - "integrity": "sha1-bKgpmEgMMxDKcHqeWW+NXAA+MMQ=", + "version": "3.0.12", + "resolved": "https://registry.npmjs.org/@microsoft/rush-lib/-/rush-lib-3.0.12.tgz", + "integrity": "sha1-EQYu0qO0nvRUaJPuQPWmctNBgIM=", "dev": true, "requires": { - "@microsoft/stream-collator": "2.0.2", + "@microsoft/stream-collator": "2.0.7", "@types/es6-collections": "0.5.29", "@types/fs-extra": "0.0.37", "@types/node": "6.0.62", "@types/z-schema": "3.16.31", "fs-extra": "0.26.7", + "git-repo-info": "1.1.4", "jju": "1.3.0", + "lodash": "4.15.0", "rimraf": "2.5.4", "semver": "5.3.0", "z-schema": "3.17.0" @@ -661,35 +638,48 @@ } } }, - "@microsoft/sp-application-base": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@microsoft/sp-application-base/-/sp-application-base-1.1.1.tgz", - "integrity": "sha1-r9Io2fDIvYigqje/i3S9KhiC4Mk=", + "@microsoft/set-webpack-public-path-plugin": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@microsoft/set-webpack-public-path-plugin/-/set-webpack-public-path-plugin-1.1.0.tgz", + "integrity": "sha1-j+EOEBRLkK2qL2GeViQKQJhI3oM=", "dev": true, "requires": { - "@microsoft/decorators": "1.1.0", - "@microsoft/load-themed-styles": "1.4.0", - "@microsoft/sp-core-library": "1.1.0", - "@microsoft/sp-extension-base": "0.1.1", - "@microsoft/sp-http": "1.1.1", - "@microsoft/sp-loader": "1.1.1", - "@microsoft/sp-module-interfaces": "1.1.0", - "@microsoft/sp-odata-types": "1.1.0", - "@microsoft/sp-page-context": "1.1.0", + "@types/webpack": "2.2.4", + "lodash": "4.15.0", + "uglify-js": "2.8.29" + } + }, + "@microsoft/sp-application-base": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@microsoft/sp-application-base/-/sp-application-base-1.2.0.tgz", + "integrity": "sha1-HsLMIeO4J9/OywtP+M670WX5IPI=", + "dev": true, + "requires": { + "@microsoft/decorators": "1.2.0", + "@microsoft/load-themed-styles": "1.7.1", + "@microsoft/sp-component-base": "1.2.0", + "@microsoft/sp-core-library": "1.2.0", + "@microsoft/sp-extension-base": "1.2.0", + "@microsoft/sp-http": "1.2.0", + "@microsoft/sp-loader": "1.2.0", + "@microsoft/sp-lodash-subset": "1.2.0", + "@microsoft/sp-module-interfaces": "1.2.0", + "@microsoft/sp-odata-types": "1.2.0", + "@microsoft/sp-page-context": "1.2.0", "@types/es6-collections": "0.5.29", "@types/es6-promise": "0.0.32", "@types/webpack-env": "1.13.0" } }, "@microsoft/sp-build-common": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@microsoft/sp-build-common/-/sp-build-common-1.1.0.tgz", - "integrity": "sha1-lzCRSjgVLl4/UEO9DLT9Z6urrmY=", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@microsoft/sp-build-common/-/sp-build-common-1.2.0.tgz", + "integrity": "sha1-Q2rCiJxFxHcQ06CJj8fgskfzArE=", "dev": true, "requires": { - "@microsoft/gulp-core-build": "2.5.3", - "@microsoft/gulp-core-build-typescript": "3.1.1", - "@microsoft/sp-tslint-rules": "1.1.0", + "@microsoft/gulp-core-build": "2.9.3", + "@microsoft/gulp-core-build-typescript": "3.4.1", + "@microsoft/sp-tslint-rules": "1.2.0", "@types/es6-collections": "0.5.29", "@types/yargs": "0.0.35", "@types/z-schema": "3.16.20-alpha", @@ -708,21 +698,22 @@ } }, "@microsoft/sp-build-core-tasks": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@microsoft/sp-build-core-tasks/-/sp-build-core-tasks-1.1.1.tgz", - "integrity": "sha1-fjXpjrqWpMlMQNoGIoU8n05vOVY=", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@microsoft/sp-build-core-tasks/-/sp-build-core-tasks-1.2.0.tgz", + "integrity": "sha1-J9tvDkCluoM8zCoT1YPTTODf9XA=", "dev": true, "requires": { - "@microsoft/gulp-core-build": "2.5.3", - "@microsoft/gulp-core-build-karma": "2.2.2", - "@microsoft/gulp-core-build-webpack": "1.1.6", - "@microsoft/load-themed-styles": "1.4.0", - "@microsoft/loader-cased-file": "1.0.1", - "@microsoft/loader-load-themed-styles": "1.2.0", - "@microsoft/loader-set-webpack-public-path": "2.1.0", - "@microsoft/rush-lib": "3.0.7", - "@microsoft/sp-module-interfaces": "1.1.0", - "@microsoft/sp-tslint-rules": "1.1.0", + "@microsoft/gulp-core-build": "2.9.3", + "@microsoft/gulp-core-build-karma": "2.3.8", + "@microsoft/gulp-core-build-serve": "2.1.8", + "@microsoft/gulp-core-build-webpack": "1.2.5", + "@microsoft/load-themed-styles": "1.7.1", + "@microsoft/loader-cased-file": "1.2.0", + "@microsoft/loader-load-themed-styles": "1.4.1", + "@microsoft/rush-lib": "3.0.12", + "@microsoft/set-webpack-public-path-plugin": "1.1.0", + "@microsoft/sp-module-interfaces": "1.2.0", + "@microsoft/sp-polyfills": "1.2.0", "@types/colors": "1.1.1", "@types/es6-collections": "0.5.29", "@types/es6-promise": "0.0.32", @@ -733,16 +724,16 @@ "@types/lodash": "4.14.52", "@types/merge2": "0.3.29", "@types/node": "6.0.64", - "@types/node-uuid": "0.0.28", "@types/resolve": "0.0.4", "@types/rimraf": "0.0.28", "@types/serve-static": "1.7.31", + "@types/uuid": "3.0.0", "@types/webpack": "2.2.4", "@types/webpack-stream": "3.2.5", "azure-storage": "0.10.0", "colors": "1.1.2", "css-loader": "0.24.0", - "es6-promise": "3.1.2", + "es6-promise": "4.1.1", "finalhandler": "0.4.1", "fs-extra": "0.26.7", "glob": "7.0.6", @@ -751,18 +742,18 @@ "gulp-replace": "0.5.4", "gulp-util": "3.0.8", "html-loader": "0.4.5", - "json-loader": "0.5.4", + "json-loader": "0.5.7", "loader-utils": "0.2.16", "lodash": "4.15.0", "merge2": "1.0.3", - "node-uuid": "1.4.8", "node-zip": "1.1.1", - "phantomjs-prebuilt": "2.1.14", + "phantomjs-prebuilt": "2.1.15", "resolve": "1.1.7", - "rimraf": "2.6.1", + "rimraf": "2.6.2", "serve-static": "1.10.3", "source-map-loader": "0.1.6", "through2": "2.0.3", + "uuid": "3.1.0", "webpack": "2.2.1", "webpack-bundle-analyzer": "2.4.1", "webpack-stream": "3.2.0", @@ -838,12 +829,6 @@ "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=", "dev": true }, - "node-uuid": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.8.tgz", - "integrity": "sha1-sEDrCSOWivq/jTL7HxfxFn/auQc=", - "dev": true - }, "range-parser": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.0.3.tgz", @@ -857,9 +842,9 @@ "dev": true }, "rimraf": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz", - "integrity": "sha1-wjOOxkPfeht/5cVPqG9XQopV8z0=", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", + "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "dev": true, "requires": { "glob": "7.0.6" @@ -872,7 +857,7 @@ "dev": true, "requires": { "debug": "2.2.0", - "depd": "1.1.0", + "depd": "1.1.1", "destroy": "1.0.4", "escape-html": "1.0.3", "etag": "1.7.0", @@ -892,7 +877,7 @@ "dev": true, "requires": { "escape-html": "1.0.3", - "parseurl": "1.3.1", + "parseurl": "1.3.2", "send": "0.13.2" } }, @@ -905,21 +890,21 @@ } }, "@microsoft/sp-build-web": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@microsoft/sp-build-web/-/sp-build-web-1.1.0.tgz", - "integrity": "sha1-hAxtV8FVsubPaIGrlxFbw7sL3TU=", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@microsoft/sp-build-web/-/sp-build-web-1.2.0.tgz", + "integrity": "sha1-TUgf23TpEgmNxzEXvYe94STcCbY=", "dev": true, "requires": { - "@microsoft/gulp-core-build": "2.5.3", - "@microsoft/gulp-core-build-karma": "2.2.2", - "@microsoft/gulp-core-build-sass": "3.1.2", - "@microsoft/gulp-core-build-serve": "2.1.3", - "@microsoft/gulp-core-build-typescript": "3.1.1", - "@microsoft/gulp-core-build-webpack": "1.1.6", - "@microsoft/sp-build-common": "1.1.0", - "@microsoft/sp-build-core-tasks": "1.1.1", - "@microsoft/sp-polyfills": "1.1.0", - "@microsoft/sp-tslint-rules": "1.1.0", + "@microsoft/gulp-core-build": "2.9.3", + "@microsoft/gulp-core-build-karma": "2.3.8", + "@microsoft/gulp-core-build-sass": "3.2.6", + "@microsoft/gulp-core-build-serve": "2.1.8", + "@microsoft/gulp-core-build-typescript": "3.4.1", + "@microsoft/gulp-core-build-webpack": "1.2.5", + "@microsoft/sp-build-common": "1.2.0", + "@microsoft/sp-build-core-tasks": "1.2.0", + "@microsoft/sp-polyfills": "1.2.0", + "@microsoft/sp-tslint-rules": "1.2.0", "@types/es6-collections": "0.5.29", "@types/karma": "0.13.33", "@types/webpack": "2.2.4", @@ -929,133 +914,115 @@ } }, "@microsoft/sp-client-preview": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@microsoft/sp-client-preview/-/sp-client-preview-1.1.1.tgz", - "integrity": "sha1-GDiF+CtYsmrhPFLuiF8VUK6mmH8=", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@microsoft/sp-client-preview/-/sp-client-preview-1.2.0.tgz", + "integrity": "sha1-G3C0f+VhVz2fwkTmpYk+CpZe+k0=", "dev": true, "requires": { - "@microsoft/load-themed-styles": "1.4.0", - "@microsoft/sp-core-library": "1.1.0", - "@microsoft/sp-http": "1.1.1", - "@microsoft/sp-loader": "1.1.1", - "@microsoft/sp-lodash-subset": "1.1.0", - "@microsoft/sp-module-interfaces": "1.1.0", - "@microsoft/sp-odata-types": "1.1.0", - "@microsoft/sp-page-context": "1.1.0", - "@types/enzyme": "2.5.39", + "@microsoft/load-themed-styles": "1.7.1", + "@microsoft/sp-core-library": "1.2.0", + "@microsoft/sp-http": "1.2.0", + "@microsoft/sp-loader": "1.2.0", + "@microsoft/sp-lodash-subset": "1.2.0", + "@microsoft/sp-module-interfaces": "1.2.0", + "@microsoft/sp-odata-types": "1.2.0", + "@microsoft/sp-page-context": "1.2.0", "@types/es6-collections": "0.5.29", "@types/es6-promise": "0.0.32", - "@types/react": "0.14.46", + "@types/react": "15.0.38", "@types/react-dom": "0.14.18", "@types/webpack-env": "1.13.0", "react": "15.4.2", - "react-dom": "15.4.2", - "whatwg-fetch": "0.11.0" - }, - "dependencies": { - "whatwg-fetch": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-0.11.0.tgz", - "integrity": "sha1-RrHRjQqpmVWXHvGi9arFBq3SiBU=", - "dev": true - } + "react-dom": "15.4.2" } }, "@microsoft/sp-component-base": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@microsoft/sp-component-base/-/sp-component-base-1.1.0.tgz", - "integrity": "sha1-IYx2vcas6fgeMgEDtPBeCyHZKnc=", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@microsoft/sp-component-base/-/sp-component-base-1.2.0.tgz", + "integrity": "sha1-RsqlVgaCWSntxdFmsHnaPPYgxSs=", "requires": { - "@microsoft/decorators": "1.1.0", - "@microsoft/sp-core-library": "1.1.0", - "@microsoft/sp-loader": "1.1.1", - "@microsoft/sp-lodash-subset": "1.1.0", - "@microsoft/sp-module-interfaces": "1.1.0", + "@microsoft/decorators": "1.2.0", + "@microsoft/sp-core-library": "1.2.0", + "@microsoft/sp-loader": "1.2.0", + "@microsoft/sp-lodash-subset": "1.2.0", + "@microsoft/sp-module-interfaces": "1.2.0", + "@microsoft/sp-page-context": "1.2.0", "@types/es6-collections": "0.5.29", "@types/es6-promise": "0.0.32", "@types/webpack-env": "1.13.0" } }, "@microsoft/sp-core-library": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@microsoft/sp-core-library/-/sp-core-library-1.1.0.tgz", - "integrity": "sha1-kZeo3I0sUC/Qh8x+cOFUCnI+jP4=", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@microsoft/sp-core-library/-/sp-core-library-1.2.0.tgz", + "integrity": "sha1-Yqeoee9unF9QjtKS0pjIZ2KdfNA=", "requires": { - "@microsoft/sp-lodash-subset": "1.1.0", - "@microsoft/sp-module-interfaces": "1.1.0", + "@microsoft/sp-lodash-subset": "1.2.0", + "@microsoft/sp-module-interfaces": "1.2.0", "@types/es6-collections": "0.5.29", "@types/webpack-env": "1.13.0", "es6-collections": "0.5.6" } }, "@microsoft/sp-extension-base": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@microsoft/sp-extension-base/-/sp-extension-base-0.1.1.tgz", - "integrity": "sha1-RBaeovG6J8pKXoV31hMDHck2/tw=", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@microsoft/sp-extension-base/-/sp-extension-base-1.2.0.tgz", + "integrity": "sha1-/37tNjMPdLcsIsV9ta5ZLsxJ5bw=", "dev": true, "requires": { - "@microsoft/decorators": "1.1.0", - "@microsoft/sp-component-base": "1.1.0", - "@microsoft/sp-core-library": "1.1.0", - "@microsoft/sp-http": "1.1.1", - "@microsoft/sp-loader": "1.1.1", - "@microsoft/sp-lodash-subset": "1.1.0", - "@microsoft/sp-module-interfaces": "1.1.0", + "@microsoft/decorators": "1.2.0", + "@microsoft/sp-component-base": "1.2.0", + "@microsoft/sp-core-library": "1.2.0", + "@microsoft/sp-http": "1.2.0", + "@microsoft/sp-loader": "1.2.0", + "@microsoft/sp-lodash-subset": "1.2.0", + "@microsoft/sp-module-interfaces": "1.2.0", + "@microsoft/sp-page-context": "1.2.0", "@types/es6-collections": "0.5.29", "@types/es6-promise": "0.0.32", "@types/webpack-env": "1.13.0" } }, "@microsoft/sp-http": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@microsoft/sp-http/-/sp-http-1.1.1.tgz", - "integrity": "sha1-gvuIiZOtDpWmXClspOkwhywdwXM=", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@microsoft/sp-http/-/sp-http-1.2.0.tgz", + "integrity": "sha1-/ae4IHrkVEWwJR2VNnPx44r8TG8=", "requires": { - "@microsoft/decorators": "1.1.0", - "@microsoft/sp-core-library": "1.1.0", - "@microsoft/sp-lodash-subset": "1.1.0", + "@microsoft/decorators": "1.2.0", + "@microsoft/sp-core-library": "1.2.0", + "@microsoft/sp-lodash-subset": "1.2.0", "@types/es6-collections": "0.5.29", "@types/es6-promise": "0.0.32", "@types/webpack-env": "1.13.0" } }, "@microsoft/sp-loader": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@microsoft/sp-loader/-/sp-loader-1.1.1.tgz", - "integrity": "sha1-xF3KOJyX5QPcuwHHDnmk6sRM2DE=", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@microsoft/sp-loader/-/sp-loader-1.2.0.tgz", + "integrity": "sha1-wtSqIN4N3xCQXG53TC5OZNdJX/4=", "requires": { - "@microsoft/office-ui-fabric-react-bundle": "1.1.0", - "@microsoft/sp-core-library": "1.1.0", - "@microsoft/sp-lodash-subset": "1.1.0", - "@microsoft/sp-module-interfaces": "1.1.0", - "@microsoft/sp-odata-types": "1.1.0", - "@microsoft/sp-polyfills": "1.1.0", + "@microsoft/office-ui-fabric-react-bundle": "1.2.0", + "@microsoft/sp-core-library": "1.2.0", + "@microsoft/sp-lodash-subset": "1.2.0", + "@microsoft/sp-module-interfaces": "1.2.0", + "@microsoft/sp-odata-types": "1.2.0", + "@microsoft/sp-polyfills": "1.2.0", "@types/es6-collections": "0.5.29", "@types/es6-promise": "0.0.32", - "@types/react": "0.14.46", + "@types/react": "15.0.38", "@types/react-dom": "0.14.18", "@types/requirejs": "2.1.29", "@types/webpack-env": "1.13.0", - "es6-collections": "0.5.6", - "es6-promise": "3.1.2", - "office-ui-fabric-react": "2.31.0", + "office-ui-fabric-react": "4.32.0", "react": "15.4.2", "react-dom": "15.4.2", - "requirejs": "2.1.20", - "whatwg-fetch": "0.11.0" - }, - "dependencies": { - "whatwg-fetch": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-0.11.0.tgz", - "integrity": "sha1-RrHRjQqpmVWXHvGi9arFBq3SiBU=" - } + "requirejs": "2.1.20" } }, "@microsoft/sp-lodash-subset": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@microsoft/sp-lodash-subset/-/sp-lodash-subset-1.1.0.tgz", - "integrity": "sha1-DyjTBsZ0E1z00/dmj4RJIfrMl9Y=", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@microsoft/sp-lodash-subset/-/sp-lodash-subset-1.2.0.tgz", + "integrity": "sha1-U1EPfn4iu5roO2czvHLquUvG5ms=", "requires": { "@types/lodash": "4.14.52", "@types/webpack-env": "1.13.0", @@ -1063,9 +1030,9 @@ } }, "@microsoft/sp-module-interfaces": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@microsoft/sp-module-interfaces/-/sp-module-interfaces-1.1.0.tgz", - "integrity": "sha1-YW9ITO45IbtqnopIphZ7cyYxz54=", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@microsoft/sp-module-interfaces/-/sp-module-interfaces-1.2.0.tgz", + "integrity": "sha1-/0ob+VqxdFAktdJqMTsJoSxGTs0=", "requires": { "@types/node": "6.0.64", "@types/z-schema": "3.16.20-alpha", @@ -1073,122 +1040,48 @@ } }, "@microsoft/sp-odata-types": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@microsoft/sp-odata-types/-/sp-odata-types-1.1.0.tgz", - "integrity": "sha1-m099Sx6873UFDNl8mzTEaX/wRLY=" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@microsoft/sp-odata-types/-/sp-odata-types-1.2.0.tgz", + "integrity": "sha1-ghaBjv358JN8eonUJkwkxjpVQGE=" }, "@microsoft/sp-page-context": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@microsoft/sp-page-context/-/sp-page-context-1.1.0.tgz", - "integrity": "sha1-w81XkNmswlCDL/ZRAb1xUyi8d9U=", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@microsoft/sp-page-context/-/sp-page-context-1.2.0.tgz", + "integrity": "sha1-mNLV9ZvhXRwWW5BYOkRFmCh82lg=", "requires": { - "@microsoft/sp-core-library": "1.1.0", - "@microsoft/sp-http": "1.1.1", - "@microsoft/sp-lodash-subset": "1.1.0", - "@microsoft/sp-odata-types": "1.1.0", + "@microsoft/sp-core-library": "1.2.0", + "@microsoft/sp-http": "1.2.0", + "@microsoft/sp-lodash-subset": "1.2.0", + "@microsoft/sp-odata-types": "1.2.0", "@types/es6-promise": "0.0.32", "@types/webpack-env": "1.13.0" } }, "@microsoft/sp-polyfills": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@microsoft/sp-polyfills/-/sp-polyfills-1.1.0.tgz", - "integrity": "sha1-oFberMuTQLO3eg2QlYELTw/mAOo=", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@microsoft/sp-polyfills/-/sp-polyfills-1.2.0.tgz", + "integrity": "sha1-w6MYuEq9uEl8jKzi5LPU8hoPAII=", "requires": { "@types/es6-promise": "0.0.32", "@types/webpack-env": "1.13.0", "es6-collections": "0.5.6", - "es6-promise": "3.1.2", - "whatwg-fetch": "0.11.0", + "es6-promise": "4.1.1", + "whatwg-fetch": "2.0.3", "whatwg-url": "4.7.1" - }, - "dependencies": { - "whatwg-fetch": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-0.11.0.tgz", - "integrity": "sha1-RrHRjQqpmVWXHvGi9arFBq3SiBU=" - } } }, "@microsoft/sp-tslint-rules": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@microsoft/sp-tslint-rules/-/sp-tslint-rules-1.1.0.tgz", - "integrity": "sha1-t0IKEO0oXp+RyN+/R5dDkdJiRmk=", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@microsoft/sp-tslint-rules/-/sp-tslint-rules-1.2.0.tgz", + "integrity": "sha1-9vdwBxggUmSP94Q3QVuGr8ypT7Y=", "dev": true, "requires": { - "@microsoft/gulp-core-build": "2.5.3", - "@microsoft/gulp-core-build-typescript": "3.1.1", + "@microsoft/gulp-core-build": "2.9.3", + "@microsoft/gulp-core-build-typescript": "3.4.1", "tslint": "4.0.2", "tslint-microsoft-contrib": "4.0.0" }, "dependencies": { - "ansi-align": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-1.1.0.tgz", - "integrity": "sha1-LwwWWIKXOa3V67FeawxuNCPwFro=", - "dev": true, - "requires": { - "string-width": "1.0.2" - } - }, - "boxen": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-0.6.0.tgz", - "integrity": "sha1-g2TUJIrDT/DvGy8r9JpsYM4NgbY=", - "dev": true, - "requires": { - "ansi-align": "1.1.0", - "camelcase": "2.1.1", - "chalk": "1.1.3", - "cli-boxes": "1.0.0", - "filled-array": "1.1.0", - "object-assign": "4.1.1", - "repeating": "2.0.1", - "string-width": "1.0.2", - "widest-line": "1.0.0" - } - }, - "configstore": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/configstore/-/configstore-2.1.0.tgz", - "integrity": "sha1-c3o6cDbpiGECqmCZ5HuzOrGroaE=", - "dev": true, - "requires": { - "dot-prop": "3.0.0", - "graceful-fs": "4.1.11", - "mkdirp": "0.5.1", - "object-assign": "4.1.1", - "os-tmpdir": "1.0.2", - "osenv": "0.1.4", - "uuid": "2.0.3", - "write-file-atomic": "1.3.4", - "xdg-basedir": "2.0.0" - } - }, - "diff": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.3.0.tgz", - "integrity": "sha512-w0XZubFWn0Adlsapj9EAWX0FqWdO4tz8kc3RiYdWLh4k/V8PTb6i0SMgXt0vRM3zyKnT8tKO7mUlieRQHIjMNg==", - "dev": true - }, - "dot-prop": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-3.0.0.tgz", - "integrity": "sha1-G3CK8JSknJoOfbyteQq6U52sEXc=", - "dev": true, - "requires": { - "is-obj": "1.0.1" - } - }, - "duplexer2": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", - "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=", - "dev": true, - "requires": { - "readable-stream": "2.3.3" - } - }, "findup-sync": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.3.0.tgz", @@ -1213,86 +1106,6 @@ } } }, - "got": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/got/-/got-5.7.1.tgz", - "integrity": "sha1-X4FjWmHkplifGAVp6k44FoClHzU=", - "dev": true, - "requires": { - "create-error-class": "3.0.2", - "duplexer2": "0.1.4", - "is-redirect": "1.0.0", - "is-retry-allowed": "1.1.0", - "is-stream": "1.1.0", - "lowercase-keys": "1.0.0", - "node-status-codes": "1.0.0", - "object-assign": "4.1.1", - "parse-json": "2.2.0", - "pinkie-promise": "2.0.1", - "read-all-stream": "3.1.0", - "readable-stream": "2.3.3", - "timed-out": "3.1.3", - "unzip-response": "1.0.2", - "url-parse-lax": "1.0.0" - } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "latest-version": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-2.0.0.tgz", - "integrity": "sha1-VvjWE5YghHuAF/jx9NeOIRMkFos=", - "dev": true, - "requires": { - "package-json": "2.4.0" - } - }, - "package-json": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/package-json/-/package-json-2.4.0.tgz", - "integrity": "sha1-DRW9Z9HLvduyyiIv8u24a8sxqLs=", - "dev": true, - "requires": { - "got": "5.7.1", - "registry-auth-token": "3.3.1", - "registry-url": "3.1.0", - "semver": "5.3.0" - } - }, - "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==", - "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" - } - }, - "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==", - "dev": true, - "requires": { - "safe-buffer": "5.1.1" - } - }, - "timed-out": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-3.1.3.tgz", - "integrity": "sha1-lYYL/MXHbCd/j4Mm/Q9bLiDrohc=", - "dev": true - }, "tslint": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/tslint/-/tslint-4.0.2.tgz", @@ -1300,7 +1113,7 @@ "dev": true, "requires": { "colors": "1.1.2", - "diff": "3.3.0", + "diff": "3.2.0", "findup-sync": "0.3.0", "glob": "7.1.2", "optimist": "0.6.1", @@ -1314,115 +1127,69 @@ "resolved": "https://registry.npmjs.org/tslint-microsoft-contrib/-/tslint-microsoft-contrib-4.0.0.tgz", "integrity": "sha1-fgClbBQXJR0/kaiA78xDNhpp+yo=", "dev": true - }, - "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": "1.0.3", - "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-1.0.3.tgz", - "integrity": "sha1-j5LFFUgr1oMbfJMBPnD4dVLHz1o=", - "dev": true, - "requires": { - "boxen": "0.6.0", - "chalk": "1.1.3", - "configstore": "2.1.0", - "is-npm": "1.0.0", - "latest-version": "2.0.0", - "lazy-req": "1.1.0", - "semver-diff": "2.1.0", - "xdg-basedir": "2.0.0" - } - }, - "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 - }, - "write-file-atomic": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.3.4.tgz", - "integrity": "sha1-+Aek8LHZ6ROuekgRLmzDrxmRtF8=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "imurmurhash": "0.1.4", - "slide": "1.1.6" - } - }, - "xdg-basedir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-2.0.0.tgz", - "integrity": "sha1-7byQPMOF/ARSPZZqM1UEtVBNG9I=", - "dev": true, - "requires": { - "os-homedir": "1.0.2" - } } } }, "@microsoft/sp-webpart-base": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@microsoft/sp-webpart-base/-/sp-webpart-base-1.1.1.tgz", - "integrity": "sha1-960aj2XwZ7IF/05XM8HDhY/LDwU=", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@microsoft/sp-webpart-base/-/sp-webpart-base-1.2.0.tgz", + "integrity": "sha1-wGI5WWaxsmrsqzd+xVYGGsDTBMA=", "requires": { - "@microsoft/decorators": "1.1.0", - "@microsoft/load-themed-styles": "1.4.0", - "@microsoft/office-ui-fabric-react-bundle": "1.1.0", - "@microsoft/sp-component-base": "1.1.0", - "@microsoft/sp-core-library": "1.1.0", - "@microsoft/sp-http": "1.1.1", - "@microsoft/sp-loader": "1.1.1", - "@microsoft/sp-lodash-subset": "1.1.0", - "@microsoft/sp-module-interfaces": "1.1.0", - "@microsoft/sp-page-context": "1.1.0", - "@types/enzyme": "2.5.39", + "@microsoft/decorators": "1.2.0", + "@microsoft/load-themed-styles": "1.7.1", + "@microsoft/office-ui-fabric-react-bundle": "1.2.0", + "@microsoft/sp-component-base": "1.2.0", + "@microsoft/sp-core-library": "1.2.0", + "@microsoft/sp-http": "1.2.0", + "@microsoft/sp-loader": "1.2.0", + "@microsoft/sp-lodash-subset": "1.2.0", + "@microsoft/sp-module-interfaces": "1.2.0", + "@microsoft/sp-page-context": "1.2.0", "@types/es6-collections": "0.5.29", "@types/es6-promise": "0.0.32", - "@types/react": "0.14.46", + "@types/react": "15.0.38", "@types/react-dom": "0.14.18", + "@types/scrollreveal": "0.0.2", "@types/webpack-env": "1.13.0", "office-ui-fabric": "2.6.1", - "office-ui-fabric-react": "2.31.0", + "office-ui-fabric-react": "4.32.0", "react": "15.4.2", - "react-dom": "15.4.2" + "react-dom": "15.4.2", + "scrollreveal": "3.3.6" } }, "@microsoft/sp-webpart-workbench": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@microsoft/sp-webpart-workbench/-/sp-webpart-workbench-1.1.0.tgz", - "integrity": "sha1-C06DL7zZlhqISMlUPJBevkuixIk=", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@microsoft/sp-webpart-workbench/-/sp-webpart-workbench-1.2.0.tgz", + "integrity": "sha1-epqQ70UDcAA90dKwifYGUdTvpk4=", "dev": true, "requires": { - "@microsoft/gulp-core-build-serve": "2.1.3", - "@microsoft/office-ui-fabric-react-bundle": "1.1.0", - "@microsoft/sp-application-base": "1.1.1", - "@microsoft/sp-build-core-tasks": "1.1.1", - "@microsoft/sp-client-preview": "1.1.1", - "@microsoft/sp-core-library": "1.1.0", - "@microsoft/sp-loader": "1.1.1", - "@microsoft/sp-lodash-subset": "1.1.0", - "@microsoft/sp-module-interfaces": "1.1.0", - "@microsoft/sp-webpart-base": "1.1.1", - "@types/enzyme": "2.5.39", + "@microsoft/gulp-core-build-serve": "2.1.8", + "@microsoft/office-ui-fabric-react-bundle": "1.2.0", + "@microsoft/sp-application-base": "1.2.0", + "@microsoft/sp-build-core-tasks": "1.2.0", + "@microsoft/sp-client-preview": "1.2.0", + "@microsoft/sp-core-library": "1.2.0", + "@microsoft/sp-loader": "1.2.0", + "@microsoft/sp-lodash-subset": "1.2.0", + "@microsoft/sp-module-interfaces": "1.2.0", + "@microsoft/sp-webpart-base": "1.2.0", "@types/es6-collections": "0.5.29", "@types/es6-promise": "0.0.32", - "@types/react": "0.14.46", + "@types/fs-extra": "0.0.37", + "@types/react": "15.0.38", "@types/react-dom": "0.14.18", "@types/webpack-env": "1.13.0", - "office-ui-fabric-react": "2.31.0", + "fs-extra": "0.26.7", + "office-ui-fabric-react": "4.32.0", "react": "15.4.2", "react-dom": "15.4.2" } }, "@microsoft/stream-collator": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@microsoft/stream-collator/-/stream-collator-2.0.2.tgz", - "integrity": "sha1-hdtaOc8wAAClCWnB3AaXex8yLvs=", + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@microsoft/stream-collator/-/stream-collator-2.0.7.tgz", + "integrity": "sha1-WugQU81DUXZSpIxudpidCJMKFwo=", "dev": true, "requires": { "@types/node": "6.0.62", @@ -1444,9 +1211,9 @@ "dev": true }, "@types/bluebird": { - "version": "3.5.8", - "resolved": "https://registry.npmjs.org/@types/bluebird/-/bluebird-3.5.8.tgz", - "integrity": "sha512-rBfrD56OxaqVjghtVqp2EEX0ieHkRk6IefDVrQXIVGvlhDOEBTvZff4Q02uo84ukVkH4k5eB1cPKGDM2NlFL8A==", + "version": "3.5.11", + "resolved": "https://registry.npmjs.org/@types/bluebird/-/bluebird-3.5.11.tgz", + "integrity": "sha512-tL3ySMpaih/6mJqP8NLfIhQ+qxXvU1Lb+AP+fQ46ZA6/gAQm09GfDiS+C32UgP05kbA2tA4M3B6+oXfkRDpKMQ==", "dev": true }, "@types/chai": { @@ -1467,14 +1234,6 @@ "integrity": "sha1-SXM5KPtHzxElS3YR4vb4X/YCBSE=", "dev": true }, - "@types/enzyme": { - "version": "2.5.39", - "resolved": "https://registry.npmjs.org/@types/enzyme/-/enzyme-2.5.39.tgz", - "integrity": "sha1-c176tDqTKFquFp6paOoPsln6jWg=", - "requires": { - "@types/react": "0.14.46" - } - }, "@types/es6-collections": { "version": "0.5.29", "resolved": "https://registry.npmjs.org/@types/es6-collections/-/es6-collections-0.5.29.tgz", @@ -1486,19 +1245,19 @@ "integrity": "sha1-O89E+x5Cnz33YYjIxth0Rjujcf0=" }, "@types/express": { - "version": "4.0.36", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.0.36.tgz", - "integrity": "sha512-bT9q2eqH/E72AGBQKT50dh6AXzheTqigGZ1GwDiwmx7vfHff0bZOrvUWjvGpNWPNkRmX1vDF6wonG6rlpBHb1A==", + "version": "4.0.37", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.0.37.tgz", + "integrity": "sha512-tIULTLzQpFFs5/PKnFIAFOsXQxss76glppbVKR3/jddPK26SBsD5HF5grn5G2jOGtpRWSBvYmDYoduVv+3wOXg==", "dev": true, "requires": { - "@types/express-serve-static-core": "4.0.49", + "@types/express-serve-static-core": "4.0.53", "@types/serve-static": "1.7.31" } }, "@types/express-serve-static-core": { - "version": "4.0.49", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.0.49.tgz", - "integrity": "sha512-b7mVHoURu1xaP/V6xw1sYwyv9V0EZ7euyi+sdnbnTZxEkAh4/hzPsI6Eflq+ZzHQ/Tgl7l16Jz+0oz8F46MLnA==", + "version": "4.0.53", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.0.53.tgz", + "integrity": "sha512-zaGeOpEYp5G2EhjaUFdVwysDrfEYc6Q6iPhd3Kl4ip30x0tvVv7SuJvY3yzCUSuFlzAG8N5KsyY6BJg93/cn+Q==", "dev": true, "requires": { "@types/node": "6.0.64" @@ -1528,7 +1287,7 @@ "integrity": "sha1-ECZAnFYlqGiQdGAoCNCCsoZ7ilE=", "dev": true, "requires": { - "@types/minimatch": "2.0.29", + "@types/minimatch": "3.0.1", "@types/node": "6.0.64" } }, @@ -1575,8 +1334,8 @@ "integrity": "sha1-ODXT2U6IS23oiEo+cKb1aQ5qWFA=", "dev": true, "requires": { - "@types/bluebird": "3.5.8", - "@types/log4js": "0.0.32", + "@types/bluebird": "3.5.11", + "@types/log4js": "0.0.33", "@types/node": "6.0.64" } }, @@ -1586,12 +1345,12 @@ "integrity": "sha1-3lx6sU2hKJczIzybDsb543fbkPU=" }, "@types/log4js": { - "version": "0.0.32", - "resolved": "https://registry.npmjs.org/@types/log4js/-/log4js-0.0.32.tgz", - "integrity": "sha1-wVYhz6lvkuxrDPtJCWvdI82JPHw=", + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/@types/log4js/-/log4js-0.0.33.tgz", + "integrity": "sha512-AiV2aDM8FZoSh/cRzWA3y9kffXjzTMS1x002FfwzYzbg8cYJpTgTGyjWuJl0b0bZxluOpgqcA248xmtXrJ1TBg==", "dev": true, "requires": { - "@types/express": "4.0.36" + "@types/express": "4.0.37" } }, "@types/merge2": { @@ -1604,15 +1363,15 @@ } }, "@types/mime": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.1.tgz", - "integrity": "sha512-rek8twk9C58gHYqIrUlJsx8NQMhlxqHzln9Z9ODqiNgv3/s+ZwIrfr+djqzsnVM12xe9hL98iJ20lj2RvCBv6A==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-2.0.0.tgz", + "integrity": "sha512-A2TAGbTFdBw9azHbpVd+/FkdW2T6msN1uct1O9bH3vTerEHKZhTXJUQXy+hNq1B0RagfU8U+KBdqiZpxjhOUQA==", "dev": true }, "@types/minimatch": { - "version": "2.0.29", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-2.0.29.tgz", - "integrity": "sha1-UALhT3Xi1x5WQoHfBDHIwbSio2o=", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.1.tgz", + "integrity": "sha512-rUO/jz10KRSyA9SHoCWQ8WX9BICyj5jZYu1/ucKEJKb4KzLZCKMURdYbadP157Q6Zl1x0vHsrU+Z/O0XlhYQDw==", "dev": true }, "@types/mocha": { @@ -1635,15 +1394,6 @@ "@types/node": "6.0.64" } }, - "@types/node-uuid": { - "version": "0.0.28", - "resolved": "https://registry.npmjs.org/@types/node-uuid/-/node-uuid-0.0.28.tgz", - "integrity": "sha1-QWVbXOY7LzN0xOgmtN0h5ykFjj0=", - "dev": true, - "requires": { - "@types/node": "6.0.64" - } - }, "@types/orchestrator": { "version": "0.0.30", "resolved": "https://registry.npmjs.org/@types/orchestrator/-/orchestrator-0.0.30.tgz", @@ -1660,16 +1410,16 @@ "dev": true }, "@types/react": { - "version": "0.14.46", - "resolved": "https://registry.npmjs.org/@types/react/-/react-0.14.46.tgz", - "integrity": "sha1-Vl0rhWGjmlXMvWyQNSxSrnXtKGI=" + "version": "15.0.38", + "resolved": "https://registry.npmjs.org/@types/react/-/react-15.0.38.tgz", + "integrity": "sha512-CkRB27L/kMDu7K20U0V7BwYK9/kPd9Im6Jlxv2vAEolYBvQy6JrSpPJsbZXtOk4MoDUomkct8Q7PNBUSLd0fmg==" }, "@types/react-addons-shallow-compare": { "version": "0.14.17", "resolved": "https://registry.npmjs.org/@types/react-addons-shallow-compare/-/react-addons-shallow-compare-0.14.17.tgz", "integrity": "sha1-cwb175hXmit3Jn8MgD52Quo2IyA=", "requires": { - "@types/react": "0.14.46" + "@types/react": "15.0.38" } }, "@types/react-addons-test-utils": { @@ -1677,7 +1427,7 @@ "resolved": "https://registry.npmjs.org/@types/react-addons-test-utils/-/react-addons-test-utils-0.14.15.tgz", "integrity": "sha1-x4Zjjo7hl74OfUrAN9YUaznvPhM=", "requires": { - "@types/react": "0.14.46" + "@types/react": "15.0.38" } }, "@types/react-addons-update": { @@ -1685,7 +1435,7 @@ "resolved": "https://registry.npmjs.org/@types/react-addons-update/-/react-addons-update-0.14.14.tgz", "integrity": "sha1-U7bjVEtmgZp0OLuRpF7UYAbi4ZQ=", "requires": { - "@types/react": "0.14.46" + "@types/react": "15.0.38" } }, "@types/react-dom": { @@ -1693,7 +1443,7 @@ "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-0.14.18.tgz", "integrity": "sha1-r0+0CS9DNmf18JTnYrMsKU4AENw=", "requires": { - "@types/react": "0.14.46" + "@types/react": "15.0.38" } }, "@types/requirejs": { @@ -1716,10 +1466,15 @@ "integrity": "sha1-VWJRm8eWPKyoq/fxKMrjtZTUHQY=", "dev": true }, + "@types/scrollreveal": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/@types/scrollreveal/-/scrollreveal-0.0.2.tgz", + "integrity": "sha1-erQNpSRC0dTkF1N/cO9afuXiutk=" + }, "@types/semver": { - "version": "5.3.31", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-5.3.31.tgz", - "integrity": "sha1-uZnX2TX0P1IHsBsA094ghS9Mp18=", + "version": "5.3.33", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-5.3.33.tgz", + "integrity": "sha512-UwrBgjsRS8BSsckIEdrAhIAmdh0MJidtKTvD3S6tpMq6qHLY3uGaNYcRDUjPxpF4hOAOEbMNSXhhfxmNHB1QNQ==", "dev": true }, "@types/serve-static": { @@ -1728,20 +1483,20 @@ "integrity": "sha1-FUVt6NmNa0z/Mb5savdJKuY/Uho=", "dev": true, "requires": { - "@types/express-serve-static-core": "4.0.49", - "@types/mime": "1.3.1" + "@types/express-serve-static-core": "4.0.53", + "@types/mime": "2.0.0" } }, "@types/source-map": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@types/source-map/-/source-map-0.5.0.tgz", - "integrity": "sha1-3TS72OMv5OdPLj2KwH+KpbRaR6w=", + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@types/source-map/-/source-map-0.5.1.tgz", + "integrity": "sha512-/GVAjL1Y8puvZab63n8tsuBiYwZt1bApMdx58/msQ9ID5T05ov+wm/ZV1DvYC/DKKEygpTJViqQvkh5Rhrl4CA==", "dev": true }, "@types/tapable": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@types/tapable/-/tapable-0.2.3.tgz", - "integrity": "sha1-CIiw8gzH5Y4cIqGIi06WPu+qgQo=", + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/@types/tapable/-/tapable-0.2.4.tgz", + "integrity": "sha512-pclMAvhPnXJcJu1ZZ8bQthuUcdDWzDuxDdbSf6l1U6s4fP6EBiZpPsOZYqFOrbqDV97sXGFSsb6AUpiLfv4xIA==", "dev": true }, "@types/through2": { @@ -1759,7 +1514,16 @@ "integrity": "sha512-BdFLCZW0GTl31AbqXSak8ss/MqEZ3DN2MH9rkAyGoTuzK7ifGUlX+u0nfbWeTsa7IPcZhtn8BlpYBXSV+vqGhQ==", "dev": true, "requires": { - "@types/source-map": "0.5.0" + "@types/source-map": "0.5.1" + } + }, + "@types/uuid": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-3.0.0.tgz", + "integrity": "sha512-CGaBAcUB4o+YTaUBZ2VfBc7PcIZXwHflZs4FDtr5Kk7MpAl0PVfH7W/VqoHH+OAG41d9YSCV8eWDfz/KKqVm+A==", + "dev": true, + "requires": { + "@types/node": "6.0.64" } }, "@types/vinyl": { @@ -1778,7 +1542,7 @@ "dev": true, "requires": { "@types/node": "6.0.64", - "@types/tapable": "0.2.3", + "@types/tapable": "0.2.4", "@types/uglify-js": "2.6.29" } }, @@ -1808,10 +1572,33 @@ "resolved": "https://registry.npmjs.org/@types/z-schema/-/z-schema-3.16.20-alpha.tgz", "integrity": "sha1-NvWIzMon2Oht1rtZWpc67eiAN2Y=" }, + "@uifabric/styling": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@uifabric/styling/-/styling-0.24.0.tgz", + "integrity": "sha512-Qmye+KeUqScYCPpCFgOQmOshIelXFhokEFNSa4PIVZMWYjl3JfpXDRogEL8gRgyl3qC4fcZas4GJxPfGswifyA==", + "requires": { + "@uifabric/utilities": "4.13.1", + "glamor": "2.20.40", + "rtl-css-js": "1.4.2", + "tslib": "1.7.1" + } + }, "@uifabric/utilities": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/@uifabric/utilities/-/utilities-1.10.4.tgz", - "integrity": "sha512-mKfsbPebdrDkDbsJkDKuu522JVeaCkIuOsbAM1BOTK5o/DQfKtU24KZpkUvZALG1SOgEDds0UqeImhs7Gg6dAQ==" + "version": "4.13.1", + "resolved": "https://registry.npmjs.org/@uifabric/utilities/-/utilities-4.13.1.tgz", + "integrity": "sha512-jGSQ3E+GXey1N6y3wvKX+7D3dexf4vKZOybdynEu7i6ZZMaQzTuQwsQp4kmaneFS4edylfhNWcHebgKKPAbGxA==", + "requires": { + "@microsoft/load-themed-styles": "1.7.4", + "prop-types": "15.5.10", + "tslib": "1.7.1" + }, + "dependencies": { + "@microsoft/load-themed-styles": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/@microsoft/load-themed-styles/-/load-themed-styles-1.7.4.tgz", + "integrity": "sha1-3SU9gMgiCRPSerBu5WxLLsRR89M=" + } + } }, "abbrev": { "version": "1.0.9", @@ -1825,7 +1612,7 @@ "integrity": "sha1-w8p0NJOGSMPg2cHjKN1otiLChMo=", "dev": true, "requires": { - "mime-types": "2.1.15", + "mime-types": "2.1.17", "negotiator": "0.6.1" } }, @@ -1895,45 +1682,12 @@ "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=", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-1.1.0.tgz", + "integrity": "sha1-LwwWWIKXOa3V67FeawxuNCPwFro=", "dev": true, "requires": { - "string-width": "2.1.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.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.0.tgz", - "integrity": "sha1-AwZkVh/BRslCPsfZeP4kV0N/5tA=", - "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" - } - } + "string-width": "1.0.2" } }, "ansi-escapes": { @@ -1952,13 +1706,13 @@ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" }, "anymatch": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.0.tgz", - "integrity": "sha1-o+Uvo5FoyCX/V7AkgSbOWo/5VQc=", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz", + "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==", "dev": true, "requires": { - "arrify": "1.0.1", - "micromatch": "2.3.11" + "micromatch": "2.3.11", + "normalize-path": "2.1.1" } }, "aproba": { @@ -2158,7 +1912,7 @@ "integrity": "sha1-SLokC0WpKA6UdImQull9IWYX/UA=", "dev": true, "requires": { - "bn.js": "4.11.7", + "bn.js": "4.11.8", "inherits": "2.0.3", "minimalistic-assert": "1.0.0" } @@ -2229,7 +1983,7 @@ "dev": true, "requires": { "browserslist": "1.3.6", - "caniuse-db": "1.0.30000701", + "caniuse-db": "1.0.30000733", "normalize-range": "0.1.2", "num2fraction": "1.2.2", "postcss": "5.2.17", @@ -2599,7 +2353,7 @@ "requires": { "async": "2.5.0", "combined-stream": "1.0.5", - "mime-types": "2.1.15" + "mime-types": "2.1.17" } }, "har-validator": { @@ -2610,7 +2364,7 @@ "requires": { "chalk": "1.1.3", "commander": "2.11.0", - "is-my-json-valid": "2.16.0", + "is-my-json-valid": "2.16.1", "pinkie-promise": "2.0.1" } }, @@ -2666,7 +2420,7 @@ "is-typedarray": "1.0.0", "isstream": "0.1.2", "json-stringify-safe": "5.0.1", - "mime-types": "2.1.15", + "mime-types": "2.1.17", "node-uuid": "1.4.8", "oauth-sign": "0.8.2", "qs": "6.0.4", @@ -2704,9 +2458,9 @@ } }, "babel-code-frame": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.22.0.tgz", - "integrity": "sha1-AnYgvuVnqIwyVhV05/0IAdMxGOQ=", + "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", @@ -2872,9 +2626,9 @@ "dev": true }, "binary-extensions": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.8.0.tgz", - "integrity": "sha1-SOyNFt9Dd+rl+liEaCSAr02Vx3Q=", + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.10.0.tgz", + "integrity": "sha1-muuabF6IY4qtFx4Wf1kAq+JINdA=", "dev": true }, "binaryextensions": { @@ -2942,33 +2696,48 @@ "dev": true }, "bn.js": { - "version": "4.11.7", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.7.tgz", - "integrity": "sha512-LxFiV5mefv0ley0SzqkOPR1bC4EbpPx8LkOz5vMe/Yi15t5hzwgO/G+tc7wOtL4PZTYjwHu8JnEiSLumuSjSfA==", + "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.17.2", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.17.2.tgz", - "integrity": "sha1-+IkqvI+eYn1Crtr7yma/WrmRBO4=", + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.1.tgz", + "integrity": "sha512-KL2pZpGvy6xuZHgYUznB1Zfw4AoGMApfRanT5NafeLvglbaSM+4CCtmlyYOv66oYXqvKL1xpaFb94V/AZVUnYg==", "dev": true, "requires": { - "bytes": "2.4.0", - "content-type": "1.0.2", - "debug": "2.6.7", - "depd": "1.1.0", - "http-errors": "1.6.1", - "iconv-lite": "0.4.15", + "bytes": "3.0.0", + "content-type": "1.0.4", + "debug": "2.6.8", + "depd": "1.1.1", + "http-errors": "1.6.2", + "iconv-lite": "0.4.19", "on-finished": "2.3.0", - "qs": "6.4.0", - "raw-body": "2.2.0", + "qs": "6.5.1", + "raw-body": "2.3.2", "type-is": "1.6.15" }, "dependencies": { + "debug": { + "version": "2.6.8", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz", + "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, "iconv-lite": { - "version": "0.4.15", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.15.tgz", - "integrity": "sha1-/iZaIYrGpXz+hUkn6dBMGYJe3es=", + "version": "0.4.19", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", + "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==", + "dev": true + }, + "qs": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", + "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==", "dev": true } } @@ -2981,93 +2750,26 @@ "hoek": "2.16.3" } }, + "bowser": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/bowser/-/bowser-1.7.3.tgz", + "integrity": "sha1-UEvbQxGMqNucu63yj9YPJlr5bk8=" + }, "boxen": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-1.2.0.tgz", - "integrity": "sha512-tfKK3nq0qXXOxvXEYW1k1XNRrDuQzO2oFPvLD3Fs1I58n0leuTNlftBmu3seUCyZvDfiqgRaxlqZs9WJAbSA7g==", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-0.6.0.tgz", + "integrity": "sha1-g2TUJIrDT/DvGy8r9JpsYM4NgbY=", "dev": true, "requires": { - "ansi-align": "2.0.0", - "camelcase": "4.1.0", - "chalk": "2.0.1", + "ansi-align": "1.1.0", + "camelcase": "2.1.1", + "chalk": "1.1.3", "cli-boxes": "1.0.0", - "string-width": "2.1.0", - "term-size": "1.2.0", + "filled-array": "1.1.0", + "object-assign": "4.1.1", + "repeating": "2.0.1", + "string-width": "1.0.2", "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.1.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.1.0.tgz", - "integrity": "sha1-CcIC1ckX7CMYjKpcnLkXnNlUd1A=", - "dev": true, - "requires": { - "color-convert": "1.9.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.0.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.0.1.tgz", - "integrity": "sha512-Mp+FXEI+FrwY/XYV45b2YD3E8i3HwnEAoFcM0qlZzq/RZ9RwWitt2Y/c7cqRAz70U7hfekqx6qNYthuKFO6K0g==", - "dev": true, - "requires": { - "ansi-styles": "3.1.0", - "escape-string-regexp": "1.0.5", - "supports-color": "4.2.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.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.0.tgz", - "integrity": "sha1-AwZkVh/BRslCPsfZeP4kV0N/5tA=", - "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.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.2.0.tgz", - "integrity": "sha512-Ts0Mu/A1S1aZxEJNG88I4Oc9rcZSBFNac5e27yh4j2mqbhZSSzR1Ah79EYwSn9Zuh7lrlGD2cVGzw1RKGzyLSg==", - "dev": true, - "requires": { - "has-flag": "2.0.0" - } - } } }, "brace": { @@ -3104,17 +2806,24 @@ "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", "dev": true }, + "browser-stdout": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.0.tgz", + "integrity": "sha1-81HTKWnTL6XXpVZxVCY9korjvR8=", + "dev": true + }, "browserify-aes": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.0.6.tgz", - "integrity": "sha1-Xncl297x/Vkw1OurSFZ85FHEigo=", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.0.8.tgz", + "integrity": "sha512-WYCMOT/PtGTlpOKFht0YJFYcPy6pLCR98CtWfzK13zoynLlBMvAdEMSRGmgnJCw2M2j/5qxBkinZQFobieM8dQ==", "dev": true, "requires": { "buffer-xor": "1.0.3", "cipher-base": "1.0.4", "create-hash": "1.1.3", - "evp_bytestokey": "1.0.0", - "inherits": "2.0.3" + "evp_bytestokey": "1.0.3", + "inherits": "2.0.3", + "safe-buffer": "5.1.1" } }, "browserify-cipher": { @@ -3123,9 +2832,9 @@ "integrity": "sha1-mYgkSHS/XtTijalWZtzWasj8Njo=", "dev": true, "requires": { - "browserify-aes": "1.0.6", + "browserify-aes": "1.0.8", "browserify-des": "1.0.0", - "evp_bytestokey": "1.0.0" + "evp_bytestokey": "1.0.3" } }, "browserify-des": { @@ -3151,7 +2860,7 @@ "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", "dev": true, "requires": { - "bn.js": "4.11.7", + "bn.js": "4.11.8", "randombytes": "2.0.5" } }, @@ -3161,7 +2870,7 @@ "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", "dev": true, "requires": { - "bn.js": "4.11.7", + "bn.js": "4.11.8", "browserify-rsa": "4.0.1", "create-hash": "1.1.3", "create-hmac": "1.1.6", @@ -3185,7 +2894,7 @@ "integrity": "sha1-lS/0jVZGPTtTj4XvL46t39KEsTM=", "dev": true, "requires": { - "caniuse-db": "1.0.30000701" + "caniuse-db": "1.0.30000733" } }, "buffer": { @@ -3226,9 +2935,9 @@ "dev": true }, "bytes": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-2.4.0.tgz", - "integrity": "sha1-fZcZb51br39pNeJZhVSe3SpsIzk=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", "dev": true }, "cache-base": { @@ -3296,7 +3005,7 @@ "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", "dev": true, "requires": { - "no-case": "2.3.1", + "no-case": "2.3.2", "upper-case": "1.1.3" } }, @@ -3323,15 +3032,15 @@ "dev": true, "requires": { "browserslist": "1.3.6", - "caniuse-db": "1.0.30000701", + "caniuse-db": "1.0.30000733", "lodash.memoize": "4.1.2", "lodash.uniq": "4.5.0" } }, "caniuse-db": { - "version": "1.0.30000701", - "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000701.tgz", - "integrity": "sha1-LjKwaZO/Pb2QtD2T8E4m0Rr93Lo=", + "version": "1.0.30000733", + "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000733.tgz", + "integrity": "sha1-OmJbxBx6n5nVnWRVKFfdGvDt2dQ=", "dev": true }, "capture-stack-trace": { @@ -3389,7 +3098,7 @@ "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=", "dev": true, "requires": { - "anymatch": "1.3.0", + "anymatch": "1.3.2", "async-each": "1.0.1", "glob-parent": "2.0.0", "inherits": "2.0.3", @@ -3410,9 +3119,9 @@ } }, "clap": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/clap/-/clap-1.2.0.tgz", - "integrity": "sha1-WckP4+E3EEdG/xlGmiemNP9oyFc=", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/clap/-/clap-1.2.2.tgz", + "integrity": "sha1-aD9vk6MgeU0Sk4bXSyodLWb+3n4=", "dev": true, "requires": { "chalk": "1.1.3" @@ -3449,18 +3158,18 @@ } }, "clean-css": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.1.7.tgz", - "integrity": "sha1-ua6k+FZ5iJzz6ui0A0nsTr390DI=", + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.1.8.tgz", + "integrity": "sha1-BhRVsklKdQrJj0bY1euxfGeeqdE=", "dev": true, "requires": { - "source-map": "0.5.6" + "source-map": "0.5.7" }, "dependencies": { "source-map": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", - "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=", + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true } } @@ -3633,12 +3342,12 @@ "dev": true }, "compressible": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.10.tgz", - "integrity": "sha1-/tocf3YXkScyspv4zyYlKiC57s0=", + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.11.tgz", + "integrity": "sha1-FnGKdd4oPtjmBAQWJaIGRYZ5fYo=", "dev": true, "requires": { - "mime-db": "1.27.0" + "mime-db": "1.30.0" } }, "compression": { @@ -3649,7 +3358,7 @@ "requires": { "accepts": "1.2.13", "bytes": "2.1.0", - "compressible": "2.0.10", + "compressible": "2.0.11", "debug": "2.2.0", "on-headers": "1.0.1", "vary": "1.0.1" @@ -3661,7 +3370,7 @@ "integrity": "sha1-5fHzkoxtlf2WVYw27D2dDeSm7Oo=", "dev": true, "requires": { - "mime-types": "2.1.15", + "mime-types": "2.1.17", "negotiator": "0.5.3" } }, @@ -3707,13 +3416,13 @@ "dev": true }, "concat-stream": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.0.tgz", - "integrity": "sha1-U/fUPFHF5D+ByP3QMyHGMb5o1hE=", + "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.0.6", + "readable-stream": "2.3.3", "typedarray": "0.0.6" }, "dependencies": { @@ -3724,45 +3433,77 @@ "dev": true }, "readable-stream": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", - "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", + "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", "dev": true, "requires": { "core-util-is": "1.0.2", "inherits": "2.0.3", "isarray": "1.0.0", "process-nextick-args": "1.0.7", - "string_decoder": "0.10.31", + "safe-buffer": "5.1.1", + "string_decoder": "1.0.3", "util-deprecate": "1.0.2" } + }, + "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==", + "dev": true, + "requires": { + "safe-buffer": "5.1.1" + } } } }, "configstore": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.0.tgz", - "integrity": "sha1-Rd+QcHPibfoc9LLVL1tgVF6qEdE=", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-2.1.0.tgz", + "integrity": "sha1-c3o6cDbpiGECqmCZ5HuzOrGroaE=", "dev": true, "requires": { - "dot-prop": "4.1.1", + "dot-prop": "3.0.0", "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" + "mkdirp": "0.5.1", + "object-assign": "4.1.1", + "os-tmpdir": "1.0.2", + "osenv": "0.1.4", + "uuid": "2.0.3", + "write-file-atomic": "1.3.4", + "xdg-basedir": "2.0.0" + }, + "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 + } } }, "connect": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/connect/-/connect-3.6.2.tgz", - "integrity": "sha1-aU6NIGgb/kkCgsiriGvpjwn0L+c=", + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/connect/-/connect-3.6.3.tgz", + "integrity": "sha512-GLSZqgjVxPvGYVD/2vz//gS201MEXk4b7t3nHV6OVnTdDNWi/Gm7Rpxs/ybvljPWvULys/wrzIV3jB3YvEc3nQ==", "dev": true, "requires": { - "debug": "2.6.7", - "finalhandler": "1.0.3", - "parseurl": "1.3.1", + "debug": "2.6.8", + "finalhandler": "1.0.4", + "parseurl": "1.3.2", "utils-merge": "1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.8", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz", + "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } } }, "connect-livereload": { @@ -3838,9 +3579,9 @@ "dev": true }, "content-type": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.2.tgz", - "integrity": "sha1-t9ETrueo3Se9IRM8TcJSnfFyHu0=", + "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 }, "convert-source-map": { @@ -3893,17 +3634,16 @@ "core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "dev": true + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" }, "cosmiconfig": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-2.1.3.tgz", - "integrity": "sha1-lSdx6w3dwcs/ovb75RpSLpOz7go=", + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-2.2.2.tgz", + "integrity": "sha512-GiNXLwAFPYHy25XmTPpafYvn3CLAkJ8FLsscq78MQd1Kh0OU6Yzhn4eV2MVF4G9WEQZoWEGltatdR+ntGPMl5A==", "dev": true, "requires": { "is-directory": "0.3.1", - "js-yaml": "3.9.0", + "js-yaml": "3.10.0", "minimist": "1.2.0", "object-assign": "4.1.1", "os-homedir": "1.0.2", @@ -3923,7 +3663,7 @@ "integrity": "sha1-iIxyNZbN92EvZJgjPuvXo1MBc30=", "dev": true, "requires": { - "bn.js": "4.11.7", + "bn.js": "4.11.8", "elliptic": "6.4.0" } }, @@ -4077,12 +3817,6 @@ "sha.js": "2.2.6" } }, - "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 - }, "csrf": { "version": "3.0.6", "resolved": "https://registry.npmjs.org/csrf/-/csrf-3.0.6.tgz", @@ -4100,13 +3834,21 @@ "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=", "dev": true }, + "css-in-js-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/css-in-js-utils/-/css-in-js-utils-2.0.0.tgz", + "integrity": "sha512-yuWmPMD9FLi50Xf3k8W8oO3WM1eVnxEGCldCLyfusQ+CgivFk0s23yst4ooW6tfxMuSa03S6uUEga9UhX6GRrA==", + "requires": { + "hyphenate-style-name": "1.0.2" + } + }, "css-loader": { "version": "0.24.0", "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-0.24.0.tgz", "integrity": "sha1-evqvtMD7L5CzNe0Qocd7NNZIQ/4=", "dev": true, "requires": { - "babel-code-frame": "6.22.0", + "babel-code-frame": "6.26.0", "css-selector-tokenizer": "0.6.0", "cssnano": "3.10.0", "loader-utils": "0.2.17", @@ -4154,14 +3896,14 @@ "dev": true, "requires": { "chalk": "1.1.3", - "source-map": "0.5.6", + "source-map": "0.5.7", "supports-color": "3.2.3" } }, "source-map": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", - "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=", + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true }, "supports-color": { @@ -4238,14 +3980,14 @@ "integrity": "sha1-3dUsWHAz9J6Utx/FVWnyUuj/X4U=", "dev": true, "requires": { - "clap": "1.2.0", - "source-map": "0.5.6" + "clap": "1.2.2", + "source-map": "0.5.7" }, "dependencies": { "source-map": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", - "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=", + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true } } @@ -4351,7 +4093,7 @@ "dev": true, "requires": { "bindings": "1.2.1", - "nan": "2.6.2" + "nan": "2.7.0" } }, "debug": { @@ -4464,9 +4206,9 @@ "dev": true }, "depd": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.0.tgz", - "integrity": "sha1-4b2Cxqq2ztlluXuIsX7T5SjKGMM=", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz", + "integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k=", "dev": true }, "deprecated": { @@ -4507,9 +4249,9 @@ "dev": true }, "diff": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-1.4.0.tgz", - "integrity": "sha1-fyjS657nsVqX79ic5j3P2qPMur8=", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.2.0.tgz", + "integrity": "sha1-yc45Okt8vQsFinJck98pkCeGj/k=", "dev": true }, "diffie-hellman": { @@ -4518,7 +4260,7 @@ "integrity": "sha1-tYNXOScM/ias9jIJn97SoH8gnl4=", "dev": true, "requires": { - "bn.js": "4.11.7", + "bn.js": "4.11.8", "miller-rabin": "4.0.0", "randombytes": "2.0.5" } @@ -4542,9 +4284,9 @@ "dev": true }, "dot-prop": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.1.1.tgz", - "integrity": "sha1-qEk/C3te7sglJbXHWH+n3nyoWcE=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-3.0.0.tgz", + "integrity": "sha1-G3CK8JSknJoOfbyteQq6U52sEXc=", "dev": true, "requires": { "is-obj": "1.0.1" @@ -4565,48 +4307,24 @@ "readable-stream": "1.1.14" } }, - "duplexer3": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", - "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", - "dev": true - }, "duplexify": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.5.0.tgz", - "integrity": "sha1-GqdzAC4VeEV+nZ1KULDMquvL1gQ=", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.5.1.tgz", + "integrity": "sha512-j5goxHTwVED1Fpe5hh3q9R93Kip0Bg2KVAt4f8CEYM3UEwYcPSvWbXaUQOzdX/HtiNomipv+gU7ASQPDbV7pGQ==", "dev": true, "requires": { - "end-of-stream": "1.0.0", + "end-of-stream": "1.1.0", "inherits": "2.0.3", "readable-stream": "2.3.3", "stream-shift": "1.0.0" }, "dependencies": { - "end-of-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.0.0.tgz", - "integrity": "sha1-1FlucCc0qT5A6a+GQxnqvZn/Lw4=", - "dev": true, - "requires": { - "once": "1.3.3" - } - }, "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", "dev": true }, - "once": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz", - "integrity": "sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA=", - "dev": true, - "requires": { - "wrappy": "1.0.2" - } - }, "readable-stream": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", @@ -4649,15 +4367,15 @@ "dev": true }, "ejs": { - "version": "2.5.6", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.5.6.tgz", - "integrity": "sha1-R5Y2v6P+Ox3r1SCH8KyyBLTxnIg=", + "version": "2.5.7", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.5.7.tgz", + "integrity": "sha1-zIcsFoiArjxxiXYv1f/ACJbJUYo=", "dev": true }, "electron-to-chromium": { - "version": "1.3.15", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.15.tgz", - "integrity": "sha1-CDl5NIkcvPrrvRi4KpW1pIETg2k=", + "version": "1.3.21", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.21.tgz", + "integrity": "sha1-qWfr3P6O0Ag/wkTRiUAiqOgRPqI=", "dev": true }, "elliptic": { @@ -4666,7 +4384,7 @@ "integrity": "sha1-ysmvh2LIWDYYcAPI3+GT5eLq5d8=", "dev": true, "requires": { - "bn.js": "4.11.7", + "bn.js": "4.11.8", "brorand": "1.1.0", "hash.js": "1.1.3", "hmac-drbg": "1.0.1", @@ -4871,9 +4589,9 @@ "integrity": "sha1-VVLoAK0SwYIM2ivUp5rn27A9iaI=" }, "es6-promise": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.1.2.tgz", - "integrity": "sha1-eV4lzrR/e6uyY9FRr77dktGOagc=" + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.1.1.tgz", + "integrity": "sha512-OaU1hHjgJf+b0NzsxCg7NdIYERD6Hy/PEmFLTjw+b65scuisG3Kt4QoTvJ66BBkPZ581gr0kpoVzKnxniM8nng==" }, "es6-templates": { "version": "0.2.3", @@ -4961,50 +4679,13 @@ "dev": true }, "evp_bytestokey": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.0.tgz", - "integrity": "sha1-SXtmrZ/vZc18CKYYCCS6FHa2blM=", + "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": { - "create-hash": "1.1.3" - } - }, - "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.2.14" - } - }, - "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" - } - } + "md5.js": "1.3.4", + "safe-buffer": "5.1.1" } }, "expand-braces": { @@ -5091,11 +4772,11 @@ "accepts": "1.3.3", "array-flatten": "1.1.1", "content-disposition": "0.5.2", - "content-type": "1.0.2", + "content-type": "1.0.4", "cookie": "0.3.1", "cookie-signature": "1.0.6", "debug": "2.2.0", - "depd": "1.1.0", + "depd": "1.1.1", "encodeurl": "1.0.1", "escape-html": "1.0.3", "etag": "1.7.0", @@ -5104,9 +4785,9 @@ "merge-descriptors": "1.0.1", "methods": "1.1.2", "on-finished": "2.3.0", - "parseurl": "1.3.1", + "parseurl": "1.3.2", "path-to-regexp": "0.1.7", - "proxy-addr": "1.1.4", + "proxy-addr": "1.1.5", "qs": "6.2.0", "range-parser": "1.2.0", "send": "0.14.2", @@ -5164,7 +4845,7 @@ "debug": "2.2.0", "depd": "1.0.1", "on-headers": "1.0.1", - "parseurl": "1.3.1", + "parseurl": "1.3.2", "uid-safe": "2.0.0", "utils-merge": "1.0.0" }, @@ -5239,22 +4920,25 @@ } }, "extract-zip": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.5.0.tgz", - "integrity": "sha1-ksz22B73Cp+kwXRxFMzvbYaIpsQ=", + "version": "1.6.5", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.6.5.tgz", + "integrity": "sha1-maBnNbbqIOqbcF13ms/8yHz/BEA=", "dev": true, "requires": { - "concat-stream": "1.5.0", - "debug": "0.7.4", + "concat-stream": "1.6.0", + "debug": "2.2.0", "mkdirp": "0.5.0", "yauzl": "2.4.1" }, "dependencies": { "debug": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-0.7.4.tgz", - "integrity": "sha1-BuHqgILCyxTjmAbiLi9vdX+Srzk=", - "dev": true + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", + "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", + "dev": true, + "requires": { + "ms": "0.7.1" + } }, "minimist": { "version": "0.0.8", @@ -5270,13 +4954,19 @@ "requires": { "minimist": "0.0.8" } + }, + "ms": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", + "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=", + "dev": true } } }, "extsprintf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz", - "integrity": "sha1-4QgOBljjALBilJkMxw4VAiNf1VA=" + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" }, "fancy-log": { "version": "1.3.0", @@ -5306,7 +4996,7 @@ "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", "dev": true, "requires": { - "websocket-driver": "0.6.5" + "websocket-driver": "0.7.0" } }, "fbjs": { @@ -5379,18 +5069,29 @@ "dev": true }, "finalhandler": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.0.3.tgz", - "integrity": "sha1-70fneVDpmXgOhgIqVg4yF+DQzIk=", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.0.4.tgz", + "integrity": "sha512-16l/r8RgzlXKmFOhZpHBztvye+lAhC5SU7hXavnerC9UfZqZxxXl3BzL8MhffPT3kF61lj9Oav2LKEzh0ei7tg==", "dev": true, "requires": { - "debug": "2.6.7", + "debug": "2.6.8", "encodeurl": "1.0.1", "escape-html": "1.0.3", "on-finished": "2.3.0", - "parseurl": "1.3.1", + "parseurl": "1.3.2", "statuses": "1.3.1", "unpipe": "1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.8", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz", + "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } } }, "find-index": { @@ -5494,7 +5195,7 @@ "requires": { "asynckit": "0.4.0", "combined-stream": "1.0.5", - "mime-types": "2.1.15" + "mime-types": "2.1.17" } }, "formatio": { @@ -5507,9 +5208,9 @@ } }, "forwarded": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.0.tgz", - "integrity": "sha1-Ge+YdMSuHCl7zweP3mOgm2aoQ2M=", + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", + "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", "dev": true }, "fragment-cache": { @@ -5570,9 +5271,9 @@ } }, "function-bind": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.0.tgz", - "integrity": "sha1-FhdnFMgBeY5Ojyz391KUZ7tKV3E=", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", "dev": true }, "gauge": { @@ -5652,12 +5353,6 @@ "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 - }, "get-value": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", @@ -5678,6 +5373,24 @@ } } }, + "git-repo-info": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/git-repo-info/-/git-repo-info-1.1.4.tgz", + "integrity": "sha1-E0n6OIinZh6h/2OgR8L/Q7PglgI=", + "dev": true + }, + "glamor": { + "version": "2.20.40", + "resolved": "https://registry.npmjs.org/glamor/-/glamor-2.20.40.tgz", + "integrity": "sha512-DNXCd+c14N9QF8aAKrfl4xakPk5FdcFwmH7sD0qnC0Pr7xoZ5W9yovhUrY/dJc3psfGGXC58vqQyRtuskyUJxA==", + "requires": { + "fbjs": "0.8.12", + "inline-style-prefixer": "3.0.8", + "object-assign": "4.1.1", + "prop-types": "15.5.10", + "through": "2.3.8" + } + }, "glob": { "version": "7.1.2", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", @@ -5890,22 +5603,67 @@ } }, "got": { - "version": "6.7.1", - "resolved": "https://registry.npmjs.org/got/-/got-6.7.1.tgz", - "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=", + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/got/-/got-5.7.1.tgz", + "integrity": "sha1-X4FjWmHkplifGAVp6k44FoClHzU=", "dev": true, "requires": { "create-error-class": "3.0.2", - "duplexer3": "0.1.4", - "get-stream": "3.0.0", + "duplexer2": "0.1.4", "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", + "node-status-codes": "1.0.0", + "object-assign": "4.1.1", + "parse-json": "2.2.0", + "pinkie-promise": "2.0.1", + "read-all-stream": "3.1.0", + "readable-stream": "2.3.3", + "timed-out": "3.1.3", + "unzip-response": "1.0.2", "url-parse-lax": "1.0.0" + }, + "dependencies": { + "duplexer2": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", + "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=", + "dev": true, + "requires": { + "readable-stream": "2.3.3" + } + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "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==", + "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" + } + }, + "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==", + "dev": true, + "requires": { + "safe-buffer": "5.1.1" + } + } } }, "graceful-fs": { @@ -6043,7 +5801,7 @@ "integrity": "sha1-DFrY0EVAfIjzwrnwNXCWOWfc/VQ=", "dev": true, "requires": { - "clean-css": "4.1.7", + "clean-css": "4.1.8", "gulp-util": "3.0.8", "through2": "2.0.3", "vinyl-sourcemaps-apply": "0.2.1" @@ -6284,7 +6042,7 @@ "dev": true, "requires": { "bytes": "2.1.0", - "content-type": "1.0.2", + "content-type": "1.0.4", "debug": "2.2.0", "depd": "1.0.1", "http-errors": "1.3.1", @@ -6312,7 +6070,7 @@ "bytes": "2.1.0", "compression": "1.5.2", "connect-timeout": "1.6.2", - "content-type": "1.0.2", + "content-type": "1.0.4", "cookie": "0.1.3", "cookie-parser": "1.3.5", "cookie-signature": "1.0.6", @@ -6328,7 +6086,7 @@ "morgan": "1.6.1", "multiparty": "3.3.2", "on-headers": "1.0.1", - "parseurl": "1.3.1", + "parseurl": "1.3.2", "pause": "0.1.0", "qs": "4.0.0", "response-time": "2.3.2", @@ -6472,7 +6230,7 @@ "dev": true, "requires": { "debug": "2.2.0", - "depd": "1.1.0", + "depd": "1.1.1", "destroy": "1.0.4", "escape-html": "1.0.3", "etag": "1.7.0", @@ -6486,9 +6244,9 @@ }, "dependencies": { "depd": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.0.tgz", - "integrity": "sha1-4b2Cxqq2ztlluXuIsX7T5SjKGMM=", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz", + "integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k=", "dev": true }, "escape-html": { @@ -6512,7 +6270,7 @@ "dev": true, "requires": { "escape-html": "1.0.3", - "parseurl": "1.3.1", + "parseurl": "1.3.2", "send": "0.13.2" }, "dependencies": { @@ -6814,7 +6572,7 @@ "requires": { "istextorbinary": "1.0.2", "readable-stream": "2.3.3", - "replacestream": "4.0.2" + "replacestream": "4.0.3" }, "dependencies": { "isarray": { @@ -6954,7 +6712,7 @@ "dev": true, "requires": { "gulp-util": "3.0.8", - "source-map": "0.5.6", + "source-map": "0.5.7", "through2": "2.0.3", "vinyl-fs": "2.4.4" }, @@ -7081,9 +6839,9 @@ } }, "source-map": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", - "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=", + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true }, "string_decoder": { @@ -7131,7 +6889,7 @@ "integrity": "sha1-vm/zJwy1Xf19MGNkDegfJddTIjk=", "dev": true, "requires": { - "duplexify": "3.5.0", + "duplexify": "3.5.1", "glob-stream": "5.3.5", "graceful-fs": "4.1.11", "gulp-sourcemaps": "1.6.0", @@ -7317,7 +7075,7 @@ "integrity": "sha1-hGFzP1OLCDfJNh45qauelwTcLyg=", "dev": true, "requires": { - "function-bind": "1.1.0" + "function-bind": "1.1.1" } }, "has-ansi": { @@ -7504,7 +7262,7 @@ "requires": { "es6-templates": "0.2.3", "fastparse": "1.1.1", - "html-minifier": "3.5.2", + "html-minifier": "3.5.5", "loader-utils": "1.1.0", "object-assign": "4.1.1" }, @@ -7523,44 +7281,35 @@ } }, "html-minifier": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.2.tgz", - "integrity": "sha1-1zvD/0SJQkCIGM5gm/P7DqfvTrc=", + "version": "3.5.5", + "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.5.tgz", + "integrity": "sha512-g+1+NBycQI0fGnggd52JM8TRUweG7+9W2wrtjGitMAqc4G7maweAHvVAAjz9veHseIH3tYKE2lk2USGSoewIrQ==", "dev": true, "requires": { "camel-case": "3.0.0", - "clean-css": "4.1.7", - "commander": "2.9.0", + "clean-css": "4.1.8", + "commander": "2.11.0", "he": "1.1.1", "ncname": "1.0.0", "param-case": "2.1.1", "relateurl": "0.2.7", - "uglify-js": "3.0.25" + "uglify-js": "3.1.1" }, "dependencies": { - "commander": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", - "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=", - "dev": true, - "requires": { - "graceful-readlink": "1.0.1" - } - }, "source-map": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", - "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=", + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true }, "uglify-js": { - "version": "3.0.25", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.0.25.tgz", - "integrity": "sha512-JO1XE0WZ9m6UpDkN7WCyPNAWI6EN3K0g40ekcoJKejViYmryJ0BaLxXjvra1IsAeIlJfq72scTbhl0jknsT2GA==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.1.1.tgz", + "integrity": "sha512-f7DpmEgt/RYAKzQzcfahn3JYZHobDwTZCa8oixC7pweVGEIizTX2kTYdNWcdk00xsMJqUhI8RDAa9HXHXGhNxA==", "dev": true, "requires": { - "commander": "2.9.0", - "source-map": "0.5.6" + "commander": "2.11.0", + "source-map": "0.5.7" } } } @@ -7592,17 +7341,23 @@ } }, "http-errors": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.1.tgz", - "integrity": "sha1-X4uO2YrKVFZWv1cplzh/kEpyIlc=", + "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.0", + "depd": "1.1.1", "inherits": "2.0.3", "setprototypeof": "1.0.3", "statuses": "1.3.1" } }, + "http-parser-js": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.6.tgz", + "integrity": "sha1-GVJz9YcExFLWcQdr4gEyndNB3FU=", + "dev": true + }, "http-proxy": { "version": "1.16.2", "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.16.2.tgz", @@ -7619,7 +7374,7 @@ "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", "requires": { "assert-plus": "0.2.0", - "jsprim": "1.4.0", + "jsprim": "1.4.1", "sshpk": "1.13.1" } }, @@ -7629,6 +7384,11 @@ "integrity": "sha1-s//f5zSyo9Sp79WOhlTJH86G6v0=", "dev": true }, + "hyphenate-style-name": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.0.2.tgz", + "integrity": "sha1-MRYKNpMK2vH8BMYHT360FGXU7Es=" + }, "iconv-lite": { "version": "0.4.18", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.18.tgz", @@ -7646,12 +7406,6 @@ "integrity": "sha1-vjPUCsEO8ZJnAfbwii2G+/0a0+Q=", "dev": true }, - "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 - }, "imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", @@ -7712,6 +7466,15 @@ "integrity": "sha1-BTfLedr1m1mhpRff9wbIbsA5Fi4=", "dev": true }, + "inline-style-prefixer": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/inline-style-prefixer/-/inline-style-prefixer-3.0.8.tgz", + "integrity": "sha1-hVG45bTVcyROZqNLBPfTIHaitTQ=", + "requires": { + "bowser": "1.7.3", + "css-in-js-utils": "2.0.0" + } + }, "inpath": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/inpath/-/inpath-1.0.2.tgz", @@ -7782,9 +7545,9 @@ "dev": true }, "ipaddr.js": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.3.0.tgz", - "integrity": "sha1-HgOlL9rYOou7KyXL9JmLTP/NPew=", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.4.0.tgz", + "integrity": "sha1-KWrKh4qCGBbluF0KKFqZvP9FgvA=", "dev": true }, "is": { @@ -7829,7 +7592,7 @@ "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", "dev": true, "requires": { - "binary-extensions": "1.8.0" + "binary-extensions": "1.10.0" } }, "is-buffer": { @@ -7939,9 +7702,9 @@ } }, "is-my-json-valid": { - "version": "2.16.0", - "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.16.0.tgz", - "integrity": "sha1-8Hndm/2uZe4gOKrorLyGqxCeNpM=", + "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==", "dev": true, "requires": { "generate-function": "2.0.0", @@ -8182,7 +7945,7 @@ "esprima": "2.7.3", "glob": "5.0.15", "handlebars": "4.0.10", - "js-yaml": "3.9.0", + "js-yaml": "3.10.0", "mkdirp": "0.5.1", "nopt": "3.0.6", "once": "1.4.0", @@ -8249,30 +8012,6 @@ "textextensions": "1.0.2" } }, - "jade": { - "version": "0.26.3", - "resolved": "https://registry.npmjs.org/jade/-/jade-0.26.3.tgz", - "integrity": "sha1-jxDXl32NefL2/4YqgbBRPMslaGw=", - "dev": true, - "requires": { - "commander": "0.6.1", - "mkdirp": "0.3.0" - }, - "dependencies": { - "commander": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-0.6.1.tgz", - "integrity": "sha1-+mihT2qUXVTbvlDYzbMyDp47GgY=", - "dev": true - }, - "mkdirp": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.0.tgz", - "integrity": "sha1-G79asbqCevI1dRQ0kEJkVfSB/h4=", - "dev": true - } - } - }, "jju": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/jju/-/jju-1.3.0.tgz", @@ -8280,9 +8019,9 @@ "dev": true }, "js-base64": { - "version": "2.1.9", - "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.1.9.tgz", - "integrity": "sha1-8OgK4DmkvWVLXygfyT8EqRSn/M4=", + "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": { @@ -8291,9 +8030,9 @@ "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" }, "js-yaml": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.9.0.tgz", - "integrity": "sha512-0LoUNELX4S+iofCT8f4uEHIiRBR+c2AINyC8qRWfC6QNruLtxVZRJaPcu/xwMgFIgDxF25tGHaDjvxzJCNE9yw==", + "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", @@ -8326,9 +8065,9 @@ "dev": true }, "json-loader": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/json-loader/-/json-loader-0.5.4.tgz", - "integrity": "sha1-i6oTZaYy9Yo8RtIBdfxgAsluN94=", + "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": { @@ -8382,14 +8121,14 @@ "dev": true }, "jsprim": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.0.tgz", - "integrity": "sha1-o7h+QCmNjDgFUtjMdiigu5WiKRg=", + "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.0.2", + "extsprintf": "1.3.0", "json-schema": "0.2.3", - "verror": "1.3.6" + "verror": "1.10.0" }, "dependencies": { "assert-plus": { @@ -8416,11 +8155,11 @@ "requires": { "batch": "0.5.3", "bluebird": "2.11.0", - "body-parser": "1.17.2", + "body-parser": "1.18.1", "chokidar": "1.7.0", "colors": "1.1.2", - "connect": "3.6.2", - "core-js": "2.4.1", + "connect": "3.6.3", + "core-js": "2.5.1", "di": "0.0.1", "dom-serialize": "2.2.1", "expand-braces": "0.1.2", @@ -8430,19 +8169,19 @@ "isbinaryfile": "3.0.2", "lodash": "3.10.1", "log4js": "0.6.38", - "mime": "1.3.6", + "mime": "1.4.0", "minimatch": "3.0.4", "optimist": "0.6.1", "rimraf": "2.5.4", "socket.io": "1.7.4", - "source-map": "0.5.6", + "source-map": "0.5.7", "useragent": "2.2.1" }, "dependencies": { "core-js": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz", - "integrity": "sha1-TekR5mew6ukSTjQlS1OupvxhjT4=", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.1.tgz", + "integrity": "sha1-rmh03GaTd4m4B1T/VCjfZoGcpQs=", "dev": true }, "lodash": { @@ -8452,9 +8191,9 @@ "dev": true }, "source-map": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", - "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=", + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true } } @@ -8468,7 +8207,7 @@ "dateformat": "1.0.12", "istanbul": "0.4.5", "minimatch": "3.0.4", - "source-map": "0.5.6" + "source-map": "0.5.7" }, "dependencies": { "dateformat": { @@ -8482,9 +8221,9 @@ } }, "source-map": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", - "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=", + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true } } @@ -8514,7 +8253,7 @@ "dev": true, "requires": { "lodash": "4.15.0", - "phantomjs-prebuilt": "2.1.14" + "phantomjs-prebuilt": "2.1.15" } }, "karma-sinon-chai": { @@ -8544,7 +8283,7 @@ "loader-utils": "0.2.17", "lodash": "3.10.1", "source-map": "0.1.43", - "webpack-dev-middleware": "1.11.0" + "webpack-dev-middleware": "1.12.0" }, "dependencies": { "async": { @@ -8594,12 +8333,12 @@ } }, "latest-version": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-3.1.0.tgz", - "integrity": "sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-2.0.0.tgz", + "integrity": "sha1-VvjWE5YghHuAF/jx9NeOIRMkFos=", "dev": true, "requires": { - "package-json": "4.0.1" + "package-json": "2.4.0" } }, "lazy-cache": { @@ -8743,6 +8482,16 @@ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.15.0.tgz", "integrity": "sha1-MWI5HY8BQKoiz49rPDTWt/Y9Oqk=" }, + "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._baseclone": { "version": "4.5.7", "resolved": "https://registry.npmjs.org/lodash._baseclone/-/lodash._baseclone-4.5.7.tgz", @@ -8755,6 +8504,12 @@ "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=", "dev": true }, + "lodash._basecreate": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash._basecreate/-/lodash._basecreate-3.0.3.tgz", + "integrity": "sha1-G8ZhYU2qf8MRt9A78WgGoCE8+CE=", + "dev": true + }, "lodash._basetostring": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz", @@ -8911,6 +8666,17 @@ "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", "dev": true }, + "lodash.create": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lodash.create/-/lodash.create-3.1.1.tgz", + "integrity": "sha1-1/KEnw29p+BGgruM1yqwIkYd6+c=", + "dev": true, + "requires": { + "lodash._baseassign": "3.2.0", + "lodash._basecreate": "3.0.3", + "lodash._isiterateecall": "3.0.9" + } + }, "lodash.deburr": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/lodash.deburr/-/lodash.deburr-3.2.0.tgz", @@ -9260,15 +9026,6 @@ "integrity": "sha1-WQTcU3w57G2+/q6QIycTX6hRHxI=", "dev": true }, - "make-dir": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.0.0.tgz", - "integrity": "sha1-l6ARdR6R3YfPre9Ygy67BJNt6Xg=", - "dev": true, - "requires": { - "pify": "2.3.0" - } - }, "make-iterator": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-0.3.1.tgz", @@ -9333,6 +9090,28 @@ "is-buffer": "1.1.5" } }, + "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", @@ -9460,7 +9239,7 @@ "requires": { "debug": "2.6.8", "methods": "1.1.2", - "parseurl": "1.3.1", + "parseurl": "1.3.2", "vary": "1.1.1" }, "dependencies": { @@ -9507,27 +9286,27 @@ "integrity": "sha1-SmL7HUKTPAVYOYL0xxb2+55sbT0=", "dev": true, "requires": { - "bn.js": "4.11.7", + "bn.js": "4.11.8", "brorand": "1.1.0" } }, "mime": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.3.6.tgz", - "integrity": "sha1-WR2E02U6awtKO5343lqoEI5y5eA=", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.0.tgz", + "integrity": "sha512-n9ChLv77+QQEapYz8lV+rIZAW3HhAPW2CXnzb1GN5uMkuczshwvkW7XPsbzU0ZQN3sP47Er2KVkp2p3KyqZKSQ==", "dev": true }, "mime-db": { - "version": "1.27.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.27.0.tgz", - "integrity": "sha1-gg9XIpa70g7CXtVeW13oaeVDbrE=" + "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.15", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.15.tgz", - "integrity": "sha1-pOv1BkCUVpI3uM9wBGd20J/JKu0=", + "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.27.0" + "mime-db": "1.30.0" } }, "mimic-fn": { @@ -9588,75 +9367,70 @@ } }, "mocha": { - "version": "2.5.3", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-2.5.3.tgz", - "integrity": "sha1-FhvlvetJZ3HrmzV0UFC2IrWu/Fg=", + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-3.4.2.tgz", + "integrity": "sha1-0O9NMyEm2/GNDWQMmzgt1IvpdZQ=", "dev": true, "requires": { - "commander": "2.3.0", - "debug": "2.2.0", - "diff": "1.4.0", - "escape-string-regexp": "1.0.2", - "glob": "3.2.11", + "browser-stdout": "1.3.0", + "commander": "2.9.0", + "debug": "2.6.0", + "diff": "3.2.0", + "escape-string-regexp": "1.0.5", + "glob": "7.1.1", "growl": "1.9.2", - "jade": "0.26.3", + "json3": "3.3.2", + "lodash.create": "3.1.1", "mkdirp": "0.5.1", - "supports-color": "1.2.0", - "to-iso-string": "0.0.2" + "supports-color": "3.1.2" }, "dependencies": { "commander": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.3.0.tgz", - "integrity": "sha1-/UMOiJgy7DU7ms0d4hfBHLPu+HM=", - "dev": true + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", + "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=", + "dev": true, + "requires": { + "graceful-readlink": "1.0.1" + } }, "debug": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", - "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.0.tgz", + "integrity": "sha1-vFlryr52F/Edn6FTYe3tVgi4SZs=", "dev": true, "requires": { - "ms": "0.7.1" + "ms": "0.7.2" } }, - "escape-string-regexp": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.2.tgz", - "integrity": "sha1-Tbwv5nTnGUnK8/smlc5/LcHZqNE=", - "dev": true - }, "glob": { - "version": "3.2.11", - "resolved": "https://registry.npmjs.org/glob/-/glob-3.2.11.tgz", - "integrity": "sha1-Spc/Y1uRkPcV0QmH1cAP0oFevj0=", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz", + "integrity": "sha1-gFIR3wT6rxxjo2ADBs31reULLsg=", "dev": true, "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", "inherits": "2.0.3", - "minimatch": "0.3.0" - } - }, - "minimatch": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz", - "integrity": "sha1-J12O2qxPG7MyZHIInnlJyDlGmd0=", - "dev": true, - "requires": { - "lru-cache": "2.7.3", - "sigmund": "1.0.1" + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" } }, "ms": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", - "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=", + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz", + "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=", "dev": true }, "supports-color": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-1.2.0.tgz", - "integrity": "sha1-/x7R5hFp0Gs88tWI4YixjYhH4X4=", - "dev": true + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.1.2.tgz", + "integrity": "sha1-cqJiiU2dQIuVbKBf83su2KbiotU=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } } } }, @@ -9738,9 +9512,9 @@ "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=" }, "nan": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.6.2.tgz", - "integrity": "sha1-5P805slf37WuzAjeZZb0NgWn20U=", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.7.0.tgz", + "integrity": "sha1-2Vv3IeyHfgjbJ27T/G63j5CDrUY=", "dev": true }, "nanomatch": { @@ -9884,9 +9658,9 @@ "dev": true }, "no-case": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.1.tgz", - "integrity": "sha1-euuhxzpSGEJlVUt9wDuvcg34AIE=", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", + "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", "dev": true, "requires": { "lower-case": "1.1.4" @@ -9967,7 +9741,7 @@ "requires": { "growly": "1.3.0", "semver": "5.3.0", - "shellwords": "0.1.0", + "shellwords": "0.1.1", "which": "1.2.14" } }, @@ -9989,7 +9763,7 @@ "lodash.mergewith": "4.6.0", "meow": "3.7.0", "mkdirp": "0.5.1", - "nan": "2.6.2", + "nan": "2.7.0", "node-gyp": "3.6.2", "npmlog": "4.1.2", "request": "2.81.0", @@ -10096,15 +9870,6 @@ "sort-keys": "1.1.2" } }, - "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", @@ -10224,12 +9989,15 @@ "integrity": "sha1-4qyf8+T8eI2mYReN6/CUA2sKLiY=" }, "office-ui-fabric-react": { - "version": "2.31.0", - "resolved": "https://registry.npmjs.org/office-ui-fabric-react/-/office-ui-fabric-react-2.31.0.tgz", - "integrity": "sha1-cOuk53NRw3Mza8ZKVJyUTmn4SU8=", + "version": "4.32.0", + "resolved": "https://registry.npmjs.org/office-ui-fabric-react/-/office-ui-fabric-react-4.32.0.tgz", + "integrity": "sha512-0P7OgvX2rI+BjCYSqhG2yKrmlTSC9pQrus1RZZecb4dKRPLxZ0qqngh6MtsUwqPrWmCG8qf1yPfnsWvO5+jd+g==", "requires": { - "@microsoft/load-themed-styles": "1.4.0", - "@uifabric/utilities": "1.10.4" + "@microsoft/load-themed-styles": "1.7.1", + "@uifabric/styling": "0.24.0", + "@uifabric/utilities": "4.13.1", + "prop-types": "15.5.10", + "tslib": "1.7.1" } }, "on-finished": { @@ -10426,19 +10194,13 @@ "os-tmpdir": "1.0.2" } }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "dev": true - }, "package-json": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/package-json/-/package-json-4.0.1.tgz", - "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/package-json/-/package-json-2.4.0.tgz", + "integrity": "sha1-DRW9Z9HLvduyyiIv8u24a8sxqLs=", "dev": true, "requires": { - "got": "6.7.1", + "got": "5.7.1", "registry-auth-token": "3.3.1", "registry-url": "3.1.0", "semver": "5.3.0" @@ -10456,7 +10218,7 @@ "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", "dev": true, "requires": { - "no-case": "2.3.1" + "no-case": "2.3.2" } }, "parse-asn1": { @@ -10466,10 +10228,10 @@ "dev": true, "requires": { "asn1.js": "4.9.1", - "browserify-aes": "1.0.6", + "browserify-aes": "1.0.8", "create-hash": "1.1.3", - "evp_bytestokey": "1.0.0", - "pbkdf2": "3.0.12" + "evp_bytestokey": "1.0.3", + "pbkdf2": "3.0.14" } }, "parse-filepath": { @@ -10537,9 +10299,9 @@ } }, "parseurl": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.1.tgz", - "integrity": "sha1-yKuMkiO6NIiKpkopeyiFO+wY2lY=", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz", + "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=", "dev": true }, "pascalcase": { @@ -10581,12 +10343,6 @@ "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", @@ -10641,9 +10397,9 @@ } }, "pbkdf2": { - "version": "3.0.12", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.12.tgz", - "integrity": "sha1-vjZ4XFBn6kjYBv+SMojF91C2uKI=", + "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", @@ -10698,28 +10454,22 @@ "dev": true }, "phantomjs-prebuilt": { - "version": "2.1.14", - "resolved": "https://registry.npmjs.org/phantomjs-prebuilt/-/phantomjs-prebuilt-2.1.14.tgz", - "integrity": "sha1-1T0xH8+30dCN2yQBRVjxGIxRbaA=", + "version": "2.1.15", + "resolved": "https://registry.npmjs.org/phantomjs-prebuilt/-/phantomjs-prebuilt-2.1.15.tgz", + "integrity": "sha1-IPhugtM0nFBZF1J3RbekEeCLOQM=", "dev": true, "requires": { "es6-promise": "4.0.5", - "extract-zip": "1.5.0", + "extract-zip": "1.6.5", "fs-extra": "1.0.0", "hasha": "2.2.0", "kew": "0.7.0", "progress": "1.1.8", - "request": "2.79.0", + "request": "2.81.0", "request-progress": "2.0.1", "which": "1.2.14" }, "dependencies": { - "caseless": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz", - "integrity": "sha1-cVuW6phBWTzDMGeSP17GDr2k99c=", - "dev": true - }, "es6-promise": { "version": "4.0.5", "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.0.5.tgz", @@ -10736,58 +10486,6 @@ "jsonfile": "2.4.0", "klaw": "1.3.1" } - }, - "har-validator": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz", - "integrity": "sha1-zcvAgYgmWtEZtqWnyKtw7s+10n0=", - "dev": true, - "requires": { - "chalk": "1.1.3", - "commander": "2.11.0", - "is-my-json-valid": "2.16.0", - "pinkie-promise": "2.0.1" - } - }, - "qs": { - "version": "6.3.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.3.2.tgz", - "integrity": "sha1-51vV9uJoEioqDgvaYwslUMFmUCw=", - "dev": true - }, - "request": { - "version": "2.79.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.79.0.tgz", - "integrity": "sha1-Tf5b9r6LjNw3/Pk+BLZVd3InEN4=", - "dev": true, - "requires": { - "aws-sign2": "0.6.0", - "aws4": "1.6.0", - "caseless": "0.11.0", - "combined-stream": "1.0.5", - "extend": "3.0.1", - "forever-agent": "0.6.1", - "form-data": "2.1.4", - "har-validator": "2.0.6", - "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", - "qs": "6.3.2", - "stringstream": "0.0.5", - "tough-cookie": "2.3.2", - "tunnel-agent": "0.4.3", - "uuid": "3.1.0" - } - }, - "tunnel-agent": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz", - "integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=", - "dev": true } } }, @@ -10841,15 +10539,15 @@ "dev": true, "requires": { "chalk": "1.1.3", - "js-base64": "2.1.9", - "source-map": "0.5.6", + "js-base64": "2.3.2", + "source-map": "0.5.7", "supports-color": "3.2.3" }, "dependencies": { "source-map": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", - "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=", + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true }, "supports-color": { @@ -10957,7 +10655,7 @@ "integrity": "sha1-U56a/J3chiASHr+djDZz4M5Q0oo=", "dev": true, "requires": { - "cosmiconfig": "2.1.3", + "cosmiconfig": "2.2.2", "object-assign": "4.1.1", "postcss-load-options": "1.2.0", "postcss-load-plugins": "2.3.0" @@ -10969,7 +10667,7 @@ "integrity": "sha1-sJixVZ3awt8EvAuzdfmaXP4rbYw=", "dev": true, "requires": { - "cosmiconfig": "2.1.3", + "cosmiconfig": "2.2.2", "object-assign": "4.1.1" } }, @@ -10979,7 +10677,7 @@ "integrity": "sha1-dFdoEWWZrKLwCfrUJrABdQSdjZI=", "dev": true, "requires": { - "cosmiconfig": "2.1.3", + "cosmiconfig": "2.2.2", "object-assign": "4.1.1" } }, @@ -11022,8 +10720,8 @@ "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", "dev": true, "requires": { - "caniuse-db": "1.0.30000701", - "electron-to-chromium": "1.3.15" + "caniuse-db": "1.0.30000733", + "electron-to-chromium": "1.3.21" } } } @@ -11097,27 +10795,27 @@ "integrity": "sha1-thTJcgvmgW6u41+zpfqh26agXds=", "dev": true, "requires": { - "postcss": "6.0.7" + "postcss": "6.0.11" }, "dependencies": { "ansi-styles": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.1.0.tgz", - "integrity": "sha1-CcIC1ckX7CMYjKpcnLkXnNlUd1A=", + "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.0" } }, "chalk": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.0.1.tgz", - "integrity": "sha512-Mp+FXEI+FrwY/XYV45b2YD3E8i3HwnEAoFcM0qlZzq/RZ9RwWitt2Y/c7cqRAz70U7hfekqx6qNYthuKFO6K0g==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.1.0.tgz", + "integrity": "sha512-LUHGS/dge4ujbXMJrnihYMcL4AoOweGnw9Tp3kQuqy1Kx5c1qKjqvMJZ6nVJPMWJtKCTN72ZogH3oeSO9g9rXQ==", "dev": true, "requires": { - "ansi-styles": "3.1.0", + "ansi-styles": "3.2.0", "escape-string-regexp": "1.0.5", - "supports-color": "4.2.0" + "supports-color": "4.4.0" } }, "has-flag": { @@ -11127,26 +10825,26 @@ "dev": true }, "postcss": { - "version": "6.0.7", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.7.tgz", - "integrity": "sha512-8h/GrGLLyxM5ZvzpCH2XTYPysaSL3Ku5kWD7tKXeKRj8NVg1tyldHFCQGF4NTvRUDvjQfmcCRuowHHFFlAURUg==", + "version": "6.0.11", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.11.tgz", + "integrity": "sha512-DsnIzznNRQprsGTALpkC0xjDygo+QcOd+qVjP9+RjyzrPiyYOXBGOwoJ4rAiiE4lu6JggQ/jW4niY24WLxuncg==", "dev": true, "requires": { - "chalk": "2.0.1", - "source-map": "0.5.6", - "supports-color": "4.2.0" + "chalk": "2.1.0", + "source-map": "0.5.7", + "supports-color": "4.4.0" } }, "source-map": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", - "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=", + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true }, "supports-color": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.2.0.tgz", - "integrity": "sha512-Ts0Mu/A1S1aZxEJNG88I4Oc9rcZSBFNac5e27yh4j2mqbhZSSzR1Ah79EYwSn9Zuh7lrlGD2cVGzw1RKGzyLSg==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.4.0.tgz", + "integrity": "sha512-rKC3+DyXWgK0ZLKwmRsrkyHVZAjNkfzeehuFWdGGcqGDTZFH73+RH6S/RDAAxl9GusSjZSUWYLmT9N5pzXFOXQ==", "dev": true, "requires": { "has-flag": "2.0.0" @@ -11161,27 +10859,27 @@ "dev": true, "requires": { "css-selector-tokenizer": "0.7.0", - "postcss": "6.0.7" + "postcss": "6.0.11" }, "dependencies": { "ansi-styles": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.1.0.tgz", - "integrity": "sha1-CcIC1ckX7CMYjKpcnLkXnNlUd1A=", + "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.0" } }, "chalk": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.0.1.tgz", - "integrity": "sha512-Mp+FXEI+FrwY/XYV45b2YD3E8i3HwnEAoFcM0qlZzq/RZ9RwWitt2Y/c7cqRAz70U7hfekqx6qNYthuKFO6K0g==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.1.0.tgz", + "integrity": "sha512-LUHGS/dge4ujbXMJrnihYMcL4AoOweGnw9Tp3kQuqy1Kx5c1qKjqvMJZ6nVJPMWJtKCTN72ZogH3oeSO9g9rXQ==", "dev": true, "requires": { - "ansi-styles": "3.1.0", + "ansi-styles": "3.2.0", "escape-string-regexp": "1.0.5", - "supports-color": "4.2.0" + "supports-color": "4.4.0" } }, "has-flag": { @@ -11191,26 +10889,26 @@ "dev": true }, "postcss": { - "version": "6.0.7", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.7.tgz", - "integrity": "sha512-8h/GrGLLyxM5ZvzpCH2XTYPysaSL3Ku5kWD7tKXeKRj8NVg1tyldHFCQGF4NTvRUDvjQfmcCRuowHHFFlAURUg==", + "version": "6.0.11", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.11.tgz", + "integrity": "sha512-DsnIzznNRQprsGTALpkC0xjDygo+QcOd+qVjP9+RjyzrPiyYOXBGOwoJ4rAiiE4lu6JggQ/jW4niY24WLxuncg==", "dev": true, "requires": { - "chalk": "2.0.1", - "source-map": "0.5.6", - "supports-color": "4.2.0" + "chalk": "2.1.0", + "source-map": "0.5.7", + "supports-color": "4.4.0" } }, "source-map": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", - "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=", + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true }, "supports-color": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.2.0.tgz", - "integrity": "sha512-Ts0Mu/A1S1aZxEJNG88I4Oc9rcZSBFNac5e27yh4j2mqbhZSSzR1Ah79EYwSn9Zuh7lrlGD2cVGzw1RKGzyLSg==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.4.0.tgz", + "integrity": "sha512-rKC3+DyXWgK0ZLKwmRsrkyHVZAjNkfzeehuFWdGGcqGDTZFH73+RH6S/RDAAxl9GusSjZSUWYLmT9N5pzXFOXQ==", "dev": true, "requires": { "has-flag": "2.0.0" @@ -11225,27 +10923,27 @@ "dev": true, "requires": { "css-selector-tokenizer": "0.7.0", - "postcss": "6.0.7" + "postcss": "6.0.11" }, "dependencies": { "ansi-styles": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.1.0.tgz", - "integrity": "sha1-CcIC1ckX7CMYjKpcnLkXnNlUd1A=", + "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.0" } }, "chalk": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.0.1.tgz", - "integrity": "sha512-Mp+FXEI+FrwY/XYV45b2YD3E8i3HwnEAoFcM0qlZzq/RZ9RwWitt2Y/c7cqRAz70U7hfekqx6qNYthuKFO6K0g==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.1.0.tgz", + "integrity": "sha512-LUHGS/dge4ujbXMJrnihYMcL4AoOweGnw9Tp3kQuqy1Kx5c1qKjqvMJZ6nVJPMWJtKCTN72ZogH3oeSO9g9rXQ==", "dev": true, "requires": { - "ansi-styles": "3.1.0", + "ansi-styles": "3.2.0", "escape-string-regexp": "1.0.5", - "supports-color": "4.2.0" + "supports-color": "4.4.0" } }, "has-flag": { @@ -11255,26 +10953,26 @@ "dev": true }, "postcss": { - "version": "6.0.7", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.7.tgz", - "integrity": "sha512-8h/GrGLLyxM5ZvzpCH2XTYPysaSL3Ku5kWD7tKXeKRj8NVg1tyldHFCQGF4NTvRUDvjQfmcCRuowHHFFlAURUg==", + "version": "6.0.11", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.11.tgz", + "integrity": "sha512-DsnIzznNRQprsGTALpkC0xjDygo+QcOd+qVjP9+RjyzrPiyYOXBGOwoJ4rAiiE4lu6JggQ/jW4niY24WLxuncg==", "dev": true, "requires": { - "chalk": "2.0.1", - "source-map": "0.5.6", - "supports-color": "4.2.0" + "chalk": "2.1.0", + "source-map": "0.5.7", + "supports-color": "4.4.0" } }, "source-map": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", - "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=", + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true }, "supports-color": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.2.0.tgz", - "integrity": "sha512-Ts0Mu/A1S1aZxEJNG88I4Oc9rcZSBFNac5e27yh4j2mqbhZSSzR1Ah79EYwSn9Zuh7lrlGD2cVGzw1RKGzyLSg==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.4.0.tgz", + "integrity": "sha512-rKC3+DyXWgK0ZLKwmRsrkyHVZAjNkfzeehuFWdGGcqGDTZFH73+RH6S/RDAAxl9GusSjZSUWYLmT9N5pzXFOXQ==", "dev": true, "requires": { "has-flag": "2.0.0" @@ -11289,27 +10987,27 @@ "dev": true, "requires": { "icss-replace-symbols": "1.1.0", - "postcss": "6.0.7" + "postcss": "6.0.11" }, "dependencies": { "ansi-styles": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.1.0.tgz", - "integrity": "sha1-CcIC1ckX7CMYjKpcnLkXnNlUd1A=", + "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.0" } }, "chalk": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.0.1.tgz", - "integrity": "sha512-Mp+FXEI+FrwY/XYV45b2YD3E8i3HwnEAoFcM0qlZzq/RZ9RwWitt2Y/c7cqRAz70U7hfekqx6qNYthuKFO6K0g==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.1.0.tgz", + "integrity": "sha512-LUHGS/dge4ujbXMJrnihYMcL4AoOweGnw9Tp3kQuqy1Kx5c1qKjqvMJZ6nVJPMWJtKCTN72ZogH3oeSO9g9rXQ==", "dev": true, "requires": { - "ansi-styles": "3.1.0", + "ansi-styles": "3.2.0", "escape-string-regexp": "1.0.5", - "supports-color": "4.2.0" + "supports-color": "4.4.0" } }, "has-flag": { @@ -11319,26 +11017,26 @@ "dev": true }, "postcss": { - "version": "6.0.7", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.7.tgz", - "integrity": "sha512-8h/GrGLLyxM5ZvzpCH2XTYPysaSL3Ku5kWD7tKXeKRj8NVg1tyldHFCQGF4NTvRUDvjQfmcCRuowHHFFlAURUg==", + "version": "6.0.11", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.11.tgz", + "integrity": "sha512-DsnIzznNRQprsGTALpkC0xjDygo+QcOd+qVjP9+RjyzrPiyYOXBGOwoJ4rAiiE4lu6JggQ/jW4niY24WLxuncg==", "dev": true, "requires": { - "chalk": "2.0.1", - "source-map": "0.5.6", - "supports-color": "4.2.0" + "chalk": "2.1.0", + "source-map": "0.5.7", + "supports-color": "4.4.0" } }, "source-map": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", - "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=", + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true }, "supports-color": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.2.0.tgz", - "integrity": "sha512-Ts0Mu/A1S1aZxEJNG88I4Oc9rcZSBFNac5e27yh4j2mqbhZSSzR1Ah79EYwSn9Zuh7lrlGD2cVGzw1RKGzyLSg==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.4.0.tgz", + "integrity": "sha512-rKC3+DyXWgK0ZLKwmRsrkyHVZAjNkfzeehuFWdGGcqGDTZFH73+RH6S/RDAAxl9GusSjZSUWYLmT9N5pzXFOXQ==", "dev": true, "requires": { "has-flag": "2.0.0" @@ -11523,13 +11221,13 @@ } }, "proxy-addr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-1.1.4.tgz", - "integrity": "sha1-J+VF9pYKRKYn2bREZ+NcG2tM4vM=", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-1.1.5.tgz", + "integrity": "sha1-ccDuOxAt4/IC87ZPYI0XP8uhqRg=", "dev": true, "requires": { - "forwarded": "0.1.0", - "ipaddr.js": "1.3.0" + "forwarded": "0.1.2", + "ipaddr.js": "1.4.0" } }, "prr": { @@ -11550,7 +11248,7 @@ "integrity": "sha1-OfaZ86RlYN1eusvKaTyvfGXBjMY=", "dev": true, "requires": { - "bn.js": "4.11.7", + "bn.js": "4.11.8", "browserify-rsa": "4.0.1", "create-hash": "1.1.3", "parse-asn1": "5.1.0", @@ -11654,20 +11352,21 @@ "dev": true }, "raw-body": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.2.0.tgz", - "integrity": "sha1-mUl2z2pQlqQRYoQEkvC9xdbn+5Y=", + "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": "2.4.0", - "iconv-lite": "0.4.15", + "bytes": "3.0.0", + "http-errors": "1.6.2", + "iconv-lite": "0.4.19", "unpipe": "1.0.0" }, "dependencies": { "iconv-lite": { - "version": "0.4.15", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.15.tgz", - "integrity": "sha1-/iZaIYrGpXz+hUkn6dBMGYJe3es=", + "version": "0.4.19", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", + "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==", "dev": true } } @@ -11853,7 +11552,7 @@ "ast-types": "0.9.6", "esprima": "3.1.3", "private": "0.1.7", - "source-map": "0.5.6" + "source-map": "0.5.7" }, "dependencies": { "esprima": { @@ -11863,9 +11562,9 @@ "dev": true }, "source-map": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", - "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=", + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true } } @@ -11926,9 +11625,9 @@ } }, "regenerate": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.3.2.tgz", - "integrity": "sha1-0ZQcZ7rUN+G+dkM63Vs4X5WxkmA=", + "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": { @@ -11960,7 +11659,7 @@ "integrity": "sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs=", "dev": true, "requires": { - "regenerate": "1.3.2", + "regenerate": "1.3.3", "regjsgen": "0.2.0", "regjsparser": "0.1.5" } @@ -12074,9 +11773,9 @@ "dev": true }, "replacestream": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/replacestream/-/replacestream-4.0.2.tgz", - "integrity": "sha1-DEFAcH5PAyP1DeBEhRcIz1i8N70=", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/replacestream/-/replacestream-4.0.3.tgz", + "integrity": "sha512-AC0FiLS352pBBiZhd4VXB1Ab/lh0lEgpP+GGvZqbQh8a5cmXVoTe5EX/YeTFArnp4SRGTHh1qCHu9lGs1qG8sA==", "dev": true, "requires": { "escape-string-regexp": "1.0.5", @@ -12134,7 +11833,7 @@ "is-typedarray": "1.0.0", "isstream": "0.1.2", "json-stringify-safe": "5.0.1", - "mime-types": "2.1.15", + "mime-types": "2.1.17", "oauth-sign": "0.8.2", "performance-now": "0.2.0", "qs": "6.4.0", @@ -12220,7 +11919,7 @@ "integrity": "sha1-/6cbq5UtYvfB1Jt0NDVfvGjf/Fo=", "dev": true, "requires": { - "depd": "1.1.0", + "depd": "1.1.1", "on-headers": "1.0.1" } }, @@ -12262,6 +11961,11 @@ "integrity": "sha1-8z/pz7Urv9UgqhgyO8ZdsRCht2w=", "dev": true }, + "rtl-css-js": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/rtl-css-js/-/rtl-css-js-1.4.2.tgz", + "integrity": "sha512-B8FeAyK3MLawmJK5BD1qo52MzNoOZw2FjoO43SkU0PQXX2v4H6jd+mRgpk7a78FgxNq4cbdbZudyD+uPGKJXHg==" + }, "run-async": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", @@ -12342,13 +12046,18 @@ "integrity": "sha1-c1/6o5oc/4/7lZjwIjq9sDqfsuo=", "dev": true }, + "scrollreveal": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/scrollreveal/-/scrollreveal-3.3.6.tgz", + "integrity": "sha512-5HiAtVqwffX18w/kqXkD+S54A0MoE4xLAwQcszEYGuy+EsRUoHsw1BhFpxGCcbTXIy5HMtj/qmLDbpQ+J3llig==" + }, "scss-tokenizer": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz", "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=", "dev": true, "requires": { - "js-base64": "2.1.9", + "js-base64": "2.3.2", "source-map": "0.4.4" }, "dependencies": { @@ -12385,7 +12094,7 @@ "dev": true, "requires": { "debug": "2.2.0", - "depd": "1.1.0", + "depd": "1.1.1", "destroy": "1.0.4", "encodeurl": "1.0.1", "escape-html": "1.0.3", @@ -12462,7 +12171,7 @@ "etag": "1.7.0", "fresh": "0.3.0", "ms": "0.7.2", - "parseurl": "1.3.1" + "parseurl": "1.3.2" }, "dependencies": { "ms": { @@ -12484,8 +12193,8 @@ "debug": "2.2.0", "escape-html": "1.0.3", "http-errors": "1.3.1", - "mime-types": "2.1.15", - "parseurl": "1.3.1" + "mime-types": "2.1.17", + "parseurl": "1.3.2" }, "dependencies": { "accepts": { @@ -12494,7 +12203,7 @@ "integrity": "sha1-5fHzkoxtlf2WVYw27D2dDeSm7Oo=", "dev": true, "requires": { - "mime-types": "2.1.15", + "mime-types": "2.1.17", "negotiator": "0.5.3" } }, @@ -12539,7 +12248,7 @@ "requires": { "encodeurl": "1.0.1", "escape-html": "1.0.3", - "parseurl": "1.3.1", + "parseurl": "1.3.2", "send": "0.14.2" } }, @@ -12592,25 +12301,10 @@ "integrity": "sha1-F93t3F9yL7ZlAWWIlUYZd4ZzFbo=", "dev": true }, - "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 - }, "shellwords": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.0.tgz", - "integrity": "sha1-Zq/Ue2oSky2Qccv9mKUueFzQuhQ=", + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", + "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", "dev": true }, "sigmund": { @@ -13258,12 +12952,6 @@ } } }, - "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", @@ -13356,22 +13044,13 @@ "inherits": "2.0.3" } }, - "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" - } - }, "ternary-stream": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/ternary-stream/-/ternary-stream-2.0.1.tgz", "integrity": "sha1-Bk5Im0tb9gumpre8fy9cJ07Pgmk=", "dev": true, "requires": { - "duplexify": "3.5.0", + "duplexify": "3.5.1", "fork-stream": "0.0.4", "merge-stream": "1.0.1", "through2": "2.0.3" @@ -13462,9 +13141,9 @@ "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=", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-3.1.3.tgz", + "integrity": "sha1-lYYL/MXHbCd/j4Mm/Q9bLiDrohc=", "dev": true }, "timers-browserify": { @@ -13486,7 +13165,7 @@ "debug": "2.2.0", "faye-websocket": "0.10.0", "livereload-js": "2.2.2", - "parseurl": "1.3.1", + "parseurl": "1.3.2", "qs": "5.1.0" }, "dependencies": { @@ -13497,9 +13176,9 @@ "dev": true, "requires": { "bytes": "2.2.0", - "content-type": "1.0.2", + "content-type": "1.0.4", "debug": "2.2.0", - "depd": "1.1.0", + "depd": "1.1.1", "http-errors": "1.3.1", "iconv-lite": "0.4.13", "on-finished": "2.3.0", @@ -13614,12 +13293,6 @@ "resolved": "https://registry.npmjs.org/to-gfm-code-block/-/to-gfm-code-block-0.1.1.tgz", "integrity": "sha1-JdBFpfrlUxielje1kJANpzLYqoI=" }, - "to-iso-string": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/to-iso-string/-/to-iso-string-0.0.2.tgz", - "integrity": "sha1-TcGeZk38y+Jb2NtQiwDG2hWCVdE=", - "dev": true - }, "to-object-path": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", @@ -13685,60 +13358,45 @@ "integrity": "sha1-jbAWIuh35RuDFAyu58gIZK05DII=", "dev": true }, + "tslib": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.7.1.tgz", + "integrity": "sha1-vIAEFkaRkjp5/oN4u+s9ogF1OOw=" + }, "tslint": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/tslint/-/tslint-4.5.1.tgz", - "integrity": "sha1-BTVocb7yOkNJBnNABvwYgza6gks=", + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.5.0.tgz", + "integrity": "sha1-EOjas+MGH6YelELozuOYKs8gpqo=", "dev": true, "requires": { - "babel-code-frame": "6.22.0", + "babel-code-frame": "6.26.0", "colors": "1.1.2", - "diff": "3.3.0", - "findup-sync": "0.3.0", + "commander": "2.11.0", + "diff": "3.2.0", "glob": "7.1.2", - "optimist": "0.6.1", + "minimatch": "3.0.4", "resolve": "1.3.3", - "tsutils": "1.9.1", - "update-notifier": "2.2.0" - }, - "dependencies": { - "diff": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.3.0.tgz", - "integrity": "sha512-w0XZubFWn0Adlsapj9EAWX0FqWdO4tz8kc3RiYdWLh4k/V8PTb6i0SMgXt0vRM3zyKnT8tKO7mUlieRQHIjMNg==", - "dev": true - }, - "findup-sync": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.3.0.tgz", - "integrity": "sha1-N5MKpdgWt3fANEXhlmzGeQpMCxY=", - "dev": true, - "requires": { - "glob": "5.0.15" - }, - "dependencies": { - "glob": { - "version": "5.0.15", - "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", - "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", - "dev": true, - "requires": { - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" - } - } - } - } + "semver": "5.3.0", + "tslib": "1.7.1", + "tsutils": "2.8.2" } }, "tslint-microsoft-contrib": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/tslint-microsoft-contrib/-/tslint-microsoft-contrib-4.0.1.tgz", - "integrity": "sha1-niAaFjn1hZZY/88rTcuxmZL45sA=", - "dev": true + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/tslint-microsoft-contrib/-/tslint-microsoft-contrib-5.0.1.tgz", + "integrity": "sha1-Mo7pwo0HzfeTKTIEyW4v+rkiGZQ=", + "dev": true, + "requires": { + "tsutils": "1.9.1" + }, + "dependencies": { + "tsutils": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-1.9.1.tgz", + "integrity": "sha1-ufmrROVa+WgYMdXyjQrur1x1DLA=", + "dev": true + } + } }, "tsscmp": { "version": "1.0.5", @@ -13747,10 +13405,13 @@ "dev": true }, "tsutils": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-1.9.1.tgz", - "integrity": "sha1-ufmrROVa+WgYMdXyjQrur1x1DLA=", - "dev": true + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.8.2.tgz", + "integrity": "sha1-LBSGukMSYIRbCsb5Aq/Z1wio6mo=", + "dev": true, + "requires": { + "tslib": "1.7.1" + } }, "tty-browserify": { "version": "0.0.0", @@ -13794,7 +13455,7 @@ "dev": true, "requires": { "media-typer": "0.3.0", - "mime-types": "2.1.15" + "mime-types": "2.1.17" } }, "typedarray": { @@ -13804,9 +13465,9 @@ "dev": true }, "typescript": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.2.2.tgz", - "integrity": "sha1-YGAiUIR5tV/6NotY/uljoD39eww=", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.4.2.tgz", + "integrity": "sha1-+DlfhdRZJ2BnyYiqQYN6j4KHCEQ=", "dev": true }, "ua-parser-js": { @@ -13948,15 +13609,6 @@ "integrity": "sha1-1ZpKdUJ0R9mqbJHnAmP40mpLEEs=", "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" - } - }, "unlazy-loader": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/unlazy-loader/-/unlazy-loader-0.1.2.tgz", @@ -13991,25 +13643,25 @@ } }, "unzip-response": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-2.0.1.tgz", - "integrity": "sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c=", + "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.2.0", - "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-2.2.0.tgz", - "integrity": "sha1-G1g3z5DAc22IYncytmHBOPht5y8=", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-1.0.3.tgz", + "integrity": "sha1-j5LFFUgr1oMbfJMBPnD4dVLHz1o=", "dev": true, "requires": { - "boxen": "1.2.0", + "boxen": "0.6.0", "chalk": "1.1.3", - "configstore": "3.1.0", - "import-lazy": "2.1.0", + "configstore": "2.1.0", "is-npm": "1.0.0", - "latest-version": "3.1.0", + "latest-version": "2.0.0", + "lazy-req": "1.1.0", "semver-diff": "2.1.0", - "xdg-basedir": "3.0.0" + "xdg-basedir": "2.0.0" } }, "upper-case": { @@ -14180,11 +13832,20 @@ "dev": true }, "verror": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz", - "integrity": "sha1-z/XfEpRtKX0rqu+qJoniW+AcAFw=", + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", "requires": { - "extsprintf": "1.0.2" + "assert-plus": "1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "1.3.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + } } }, "vhost": { @@ -14275,13 +13936,13 @@ "integrity": "sha1-q2VJ1h0XLCsbh75cUI0jnI74dwU=", "dev": true, "requires": { - "source-map": "0.5.6" + "source-map": "0.5.7" }, "dependencies": { "source-map": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", - "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=", + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true } } @@ -14340,17 +14001,17 @@ "ajv": "4.11.8", "ajv-keywords": "1.5.1", "async": "2.5.0", - "enhanced-resolve": "3.3.0", + "enhanced-resolve": "3.4.1", "interpret": "1.0.3", - "json-loader": "0.5.4", + "json-loader": "0.5.7", "loader-runner": "2.3.0", "loader-utils": "0.2.17", "memory-fs": "0.4.1", "mkdirp": "0.5.1", "node-libs-browser": "2.0.0", - "source-map": "0.5.6", + "source-map": "0.5.7", "supports-color": "3.2.3", - "tapable": "0.2.6", + "tapable": "0.2.8", "uglify-js": "2.8.29", "watchpack": "1.4.0", "webpack-sources": "0.1.5", @@ -14397,21 +14058,21 @@ "create-hmac": "1.1.6", "diffie-hellman": "5.0.2", "inherits": "2.0.3", - "pbkdf2": "3.0.12", + "pbkdf2": "3.0.14", "public-encrypt": "4.0.0", "randombytes": "2.0.5" } }, "enhanced-resolve": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-3.3.0.tgz", - "integrity": "sha512-2qbxE7ek3YxPJ1ML6V+satHkzHpJQKWkRHmRx6mfAoW59yP8YH8BFplbegSP+u2hBd6B6KCOpvJQ3dZAP+hkpg==", + "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.6" + "tapable": "0.2.8" } }, "https-browserify": { @@ -14450,7 +14111,7 @@ "stream-browserify": "2.0.1", "stream-http": "2.7.2", "string_decoder": "0.10.31", - "timers-browserify": "2.0.2", + "timers-browserify": "2.0.4", "tty-browserify": "0.0.0", "url": "0.11.0", "util": "0.10.3", @@ -14490,9 +14151,9 @@ } }, "source-map": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", - "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=", + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true }, "stream-browserify": { @@ -14515,15 +14176,15 @@ } }, "tapable": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-0.2.6.tgz", - "integrity": "sha1-IGvo4YiGC1FEJTdebxrom/sB/Y0=", + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-0.2.8.tgz", + "integrity": "sha1-mTcqXJmb8t8WCvwNdL7U9HlIzSI=", "dev": true }, "timers-browserify": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.2.tgz", - "integrity": "sha1-q0iDz1l9zVCvIRNJoA+8pWrIa4Y=", + "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" @@ -14596,11 +14257,11 @@ "integrity": "sha1-H1o98pe1naL4IWybdhs/pAaG9HE=", "dev": true, "requires": { - "acorn": "5.1.1", + "acorn": "5.1.2", "chalk": "1.1.3", "commander": "2.11.0", - "ejs": "2.5.6", - "express": "4.15.3", + "ejs": "2.5.7", + "express": "4.15.4", "filesize": "3.5.10", "gzip-size": "3.0.0", "lodash": "4.17.4", @@ -14609,46 +14270,55 @@ }, "dependencies": { "acorn": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.1.1.tgz", - "integrity": "sha512-vOk6uEMctu0vQrvuSqFdJyqj1Q0S5VTDL79qtjo+DhRr+1mmaD+tluFSCZqhvi/JUhXSzoZN2BhtstaPEeE8cw==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.1.2.tgz", + "integrity": "sha512-o96FZLJBPY1lvTuJylGA9Bk3t/GKPPJG8H0ydQQl01crzwJgspa4AEIq/pVTXigmK0PHVQhiAtn8WMBLL9D2WA==", "dev": true }, + "debug": { + "version": "2.6.8", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz", + "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, "etag": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.0.tgz", - "integrity": "sha1-b2Ma7zNtbEY2K1F2QETOIWvjwFE=", + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", "dev": true }, "express": { - "version": "4.15.3", - "resolved": "https://registry.npmjs.org/express/-/express-4.15.3.tgz", - "integrity": "sha1-urZdDwOqgMNYQIly/HAPkWlEtmI=", + "version": "4.15.4", + "resolved": "https://registry.npmjs.org/express/-/express-4.15.4.tgz", + "integrity": "sha1-Ay4iU0ic+PzgJma+yj0R7XotrtE=", "dev": true, "requires": { "accepts": "1.3.3", "array-flatten": "1.1.1", "content-disposition": "0.5.2", - "content-type": "1.0.2", + "content-type": "1.0.4", "cookie": "0.3.1", "cookie-signature": "1.0.6", - "debug": "2.6.7", - "depd": "1.1.0", + "debug": "2.6.8", + "depd": "1.1.1", "encodeurl": "1.0.1", "escape-html": "1.0.3", - "etag": "1.8.0", - "finalhandler": "1.0.3", + "etag": "1.8.1", + "finalhandler": "1.0.4", "fresh": "0.5.0", "merge-descriptors": "1.0.1", "methods": "1.1.2", "on-finished": "2.3.0", - "parseurl": "1.3.1", + "parseurl": "1.3.2", "path-to-regexp": "0.1.7", - "proxy-addr": "1.1.4", - "qs": "6.4.0", + "proxy-addr": "1.1.5", + "qs": "6.5.0", "range-parser": "1.2.0", - "send": "0.15.3", - "serve-static": "1.12.3", + "send": "0.15.4", + "serve-static": "1.12.4", "setprototypeof": "1.0.3", "statuses": "1.3.1", "type-is": "1.6.15", @@ -14674,20 +14344,26 @@ "integrity": "sha1-EV+eO2s9rylZmDyzjxSaLUDrXVM=", "dev": true }, + "qs": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.0.tgz", + "integrity": "sha512-fjVFjW9yhqMhVGwRExCXLhJKrLlkYSaxNWdyc9rmHlrVZbk35YHH312dFd7191uQeXkI3mKLZTIbSvIeFwFemg==", + "dev": true + }, "send": { - "version": "0.15.3", - "resolved": "https://registry.npmjs.org/send/-/send-0.15.3.tgz", - "integrity": "sha1-UBP5+ZAj31DRvZiSwZ4979HVMwk=", + "version": "0.15.4", + "resolved": "https://registry.npmjs.org/send/-/send-0.15.4.tgz", + "integrity": "sha1-mF+qPihLAnPHkzZKNcZze9k5Bbk=", "dev": true, "requires": { - "debug": "2.6.7", - "depd": "1.1.0", + "debug": "2.6.8", + "depd": "1.1.1", "destroy": "1.0.4", "encodeurl": "1.0.1", "escape-html": "1.0.3", - "etag": "1.8.0", + "etag": "1.8.1", "fresh": "0.5.0", - "http-errors": "1.6.1", + "http-errors": "1.6.2", "mime": "1.3.4", "ms": "2.0.0", "on-finished": "2.3.0", @@ -14696,15 +14372,15 @@ } }, "serve-static": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.12.3.tgz", - "integrity": "sha1-n0uhni8wMMVH+K+ZEHg47DjVseI=", + "version": "1.12.4", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.12.4.tgz", + "integrity": "sha1-m2qpjutyU8Tu3Ewfb9vKYJkBqWE=", "dev": true, "requires": { "encodeurl": "1.0.1", "escape-html": "1.0.3", - "parseurl": "1.3.1", - "send": "0.15.3" + "parseurl": "1.3.2", + "send": "0.15.4" } } } @@ -14731,15 +14407,24 @@ } }, "webpack-dev-middleware": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-1.11.0.tgz", - "integrity": "sha1-CWkdCXOjCtH4Ksc6EuIIfwpHVPk=", + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-1.12.0.tgz", + "integrity": "sha1-007++y7dp+HTtdvgcolRMhllFwk=", "dev": true, "requires": { "memory-fs": "0.4.1", - "mime": "1.3.6", + "mime": "1.4.0", "path-is-absolute": "1.0.1", - "range-parser": "1.2.0" + "range-parser": "1.2.0", + "time-stamp": "2.0.0" + }, + "dependencies": { + "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 + } } }, "webpack-sources": { @@ -14749,13 +14434,13 @@ "dev": true, "requires": { "source-list-map": "0.1.8", - "source-map": "0.5.6" + "source-map": "0.5.7" }, "dependencies": { "source-map": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", - "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=", + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true } } @@ -14871,7 +14556,7 @@ "stream-browserify": "2.0.1", "stream-http": "2.7.2", "string_decoder": "0.10.31", - "timers-browserify": "2.0.2", + "timers-browserify": "2.0.4", "tty-browserify": "0.0.0", "url": "0.11.0", "util": "0.10.3", @@ -14908,9 +14593,9 @@ } }, "source-map": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", - "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=", + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true }, "stream-browserify": { @@ -14942,9 +14627,9 @@ } }, "timers-browserify": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.2.tgz", - "integrity": "sha1-q0iDz1l9zVCvIRNJoA+8pWrIa4Y=", + "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" @@ -14957,7 +14642,7 @@ "dev": true, "requires": { "async": "0.2.10", - "source-map": "0.5.6", + "source-map": "0.5.7", "uglify-to-browserify": "1.0.2", "yargs": "3.10.0" }, @@ -15049,18 +14734,19 @@ } }, "websocket-driver": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.6.5.tgz", - "integrity": "sha1-XLJVbOuF9Dc8bYI4qmkchFThOjY=", + "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": { - "websocket-extensions": "0.1.1" + "http-parser-js": "0.4.6", + "websocket-extensions": "0.1.2" } }, "websocket-extensions": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.1.tgz", - "integrity": "sha1-domUmcGEtu91Q3fC27DNbLVdKec=", + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.2.tgz", + "integrity": "sha1-Dhh4HeYpoYMIzhSBZQ9n/6JpOl0=", "dev": true }, "whatwg-fetch": { @@ -15144,9 +14830,9 @@ "dev": true }, "write-file-atomic": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.1.0.tgz", - "integrity": "sha512-0TZ20a+xcIl4u0+Mj5xDH2yOWdmQiXlKf9Hm+TgDXjTMsEYb+gDrmb8e8UNAzMCitX8NBqG4Z/FUQIyzv/R1JQ==", + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.3.4.tgz", + "integrity": "sha1-+Aek8LHZ6ROuekgRLmzDrxmRtF8=", "dev": true, "requires": { "graceful-fs": "4.1.11", @@ -15171,10 +14857,13 @@ "dev": true }, "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 + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-2.0.0.tgz", + "integrity": "sha1-7byQPMOF/ARSPZZqM1UEtVBNG9I=", + "dev": true, + "requires": { + "os-homedir": "1.0.2" + } }, "xml": { "version": "1.0.1", diff --git a/samples/react-content-query-webpart/package.json b/samples/react-content-query-webpart/package.json index b0461d2c4..d3efddbb9 100644 --- a/samples/react-content-query-webpart/package.json +++ b/samples/react-content-query-webpart/package.json @@ -1,15 +1,15 @@ { "name": "react-content-query", - "version": "1.0.5", + "version": "1.0.6", "private": true, "engines": { "node": ">=0.10.0" }, "dependencies": { - "@microsoft/sp-core-library": "~1.1.0", - "@microsoft/sp-webpart-base": "~1.1.1", + "@microsoft/sp-core-library": "~1.2.0", + "@microsoft/sp-webpart-base": "~1.2.0", "@types/handlebars": "4.0.32", - "@types/react": "0.14.46", + "@types/react": "15.0.38", "@types/react-addons-shallow-compare": "0.14.17", "@types/react-addons-test-utils": "0.14.15", "@types/react-addons-update": "0.14.14", @@ -23,9 +23,9 @@ "react-dom": "15.4.2" }, "devDependencies": { - "@microsoft/sp-build-web": "~1.1.0", - "@microsoft/sp-module-interfaces": "~1.1.0", - "@microsoft/sp-webpart-workbench": "~1.1.0", + "@microsoft/sp-build-web": "~1.2.0", + "@microsoft/sp-module-interfaces": "~1.2.0", + "@microsoft/sp-webpart-workbench": "~1.2.0", "@types/chai": ">=3.4.34 <3.6.0", "@types/mocha": ">=2.2.33 <2.6.0", "awesome-typescript-loader": "^3.2.1", diff --git a/samples/react-content-query-webpart/sharepoint/solution/react-content-query-webpart.sppkg b/samples/react-content-query-webpart/sharepoint/solution/react-content-query-webpart.sppkg new file mode 100644 index 000000000..24ed500a9 Binary files /dev/null and b/samples/react-content-query-webpart/sharepoint/solution/react-content-query-webpart.sppkg differ diff --git a/samples/react-content-query-webpart/src/common/helpers/CamlQueryHelper.ts b/samples/react-content-query-webpart/src/common/helpers/CamlQueryHelper.ts index f3aa63492..2ddc3d872 100644 --- a/samples/react-content-query-webpart/src/common/helpers/CamlQueryHelper.ts +++ b/samples/react-content-query-webpart/src/common/helpers/CamlQueryHelper.ts @@ -161,7 +161,7 @@ export class CamlQueryHelper { } else if (filter.operator == QueryFilterOperator.ContainsAny || filterUsers == null) { - let values = filterUsers != null ? filterUsers.map(x => Text.format("{0}", x.value)).join('') : ''; + let values = filterUsers != null ? filterUsers.map(x => Text.format("{0}", x.optionalText)).join('') : ''; filterOutput = Text.format("{1}", filter.field.internalName, values); } else if (filter.operator == QueryFilterOperator.ContainsAll) @@ -244,8 +244,8 @@ export class CamlQueryHelper { let digit = parseInt(operatorSplit[operatorSplit.length - 1].replace("[", "").replace("]", "").trim()) * addOrRemove; let dt = new Date(); dt.setDate(dt.getDate() + digit); - let formattedDate = moment(dt).format("YYYY-MM-DDTHH:mm:ss\\Z"); - filterValue = filterValue.replace(result, formattedDate); + let formatDate = moment(dt).format("YYYY-MM-DDTHH:mm:ss\\Z"); + filterValue = filterValue.replace(result, formatDate); } } diff --git a/samples/react-content-query-webpart/src/common/services/ContentQueryService.ts b/samples/react-content-query-webpart/src/common/services/ContentQueryService.ts index 47fbc90c1..42e4e957c 100644 --- a/samples/react-content-query-webpart/src/common/services/ContentQueryService.ts +++ b/samples/react-content-query-webpart/src/common/services/ContentQueryService.ts @@ -162,6 +162,10 @@ export class ContentQueryService implements IContentQueryService { this.searchService.getSitesStartingWith(serverUrl) .then((urls) => { + // Adds the current site collection url to the ones returned by the search (in case the current site isn't indexed yet) + this.ensureUrl(urls, this.context.pageContext.site.absoluteUrl); + + // Builds the IDropdownOption[] based on the urls let options:IDropdownOption[] = [ { key: "", text: strings.SiteUrlFieldPlaceholder } ]; let urlOptions:IDropdownOption[] = urls.sort().map((url) => { let serverRelativeUrl = !isEmpty(url.replace(serverUrl, '')) ? url.replace(serverUrl, '') : '/'; @@ -201,6 +205,12 @@ export class ContentQueryService implements IContentQueryService { this.searchService.getWebsFromSite(siteUrl) .then((urls) => { + // If querying the current site, adds the current site collection url to the ones returned by the search (in case the current web isn't indexed yet) + if(siteUrl.toLowerCase().trim() === this.context.pageContext.site.absoluteUrl.toLowerCase().trim()) { + this.ensureUrl(urls, this.context.pageContext.web.absoluteUrl); + } + + // Builds the IDropdownOption[] based on the urls let options:IDropdownOption[] = [ { key: "", text: strings.WebUrlFieldPlaceholder } ]; let urlOptions:IDropdownOption[] = urls.sort().map((url) => { let siteRelativeUrl = !isEmpty(url.replace(siteUrl, '')) ? url.replace(siteUrl, '') : '/'; @@ -372,7 +382,7 @@ export class ContentQueryService implements IContentQueryService { let users: any[] = JSON.parse(data.value); let userSuggestions:IPersonaProps[] = users.map((user) => { return { primaryText: user.DisplayText, - value: user.EntityData.SPUserID || user.EntityData.SPGroupID + optionalText: user.EntityData.SPUserID || user.EntityData.SPGroupID }; }); resolve(this.removeUserSuggestionsDuplicates(userSuggestions, currentPersonas)); }) @@ -546,9 +556,11 @@ export class ContentQueryService implements IContentQueryService { let normalizedResult: any = {}; for(let viewField of viewFields) { + let spacesFormattedName = viewField.replace(new RegExp("_x0020_", "g"), "_x005f_x0020_x005f_"); + normalizedResult[viewField] = { - textValue: result.FieldValuesAsText[viewField], - htmlValue: result.FieldValuesAsHtml[viewField], + textValue: result.FieldValuesAsText[spacesFormattedName], + htmlValue: result.FieldValuesAsHtml[spacesFormattedName], rawValue: result[viewField] || result[viewField + 'Id'] }; } @@ -626,7 +638,7 @@ export class ContentQueryService implements IContentQueryService { let trimmedUsers: IPersonaProps[] = []; for(let user of users) { - let isDuplicate = currentUsers.filter((u) => { return u.value === user.value; }).length > 0; + let isDuplicate = currentUsers.filter((u) => { return u.optionalText === user.optionalText; }).length > 0; if(!isDuplicate) { trimmedUsers.push(user); @@ -654,4 +666,19 @@ export class ContentQueryService implements IContentQueryService { } return trimmedTerms; } + + + /*************************************************************************** + * Makes sure the specified url is in the given collection, otherwise adds it + * @param urls : An array of urls + * @param urlToEnsure : The url that needs to be ensured + ***************************************************************************/ + private ensureUrl(urls: string[], urlToEnsure: string) { + urlToEnsure = urlToEnsure.toLowerCase().trim(); + let urlExist = urls.filter((u) => { return u.toLowerCase().trim() === urlToEnsure; }).length > 0; + + if(!urlExist) { + urls.push(urlToEnsure); + } + } } \ No newline at end of file diff --git a/samples/react-content-query-webpart/src/common/services/SearchService.ts b/samples/react-content-query-webpart/src/common/services/SearchService.ts index 22bfb02ff..1a6ebb6a6 100644 --- a/samples/react-content-query-webpart/src/common/services/SearchService.ts +++ b/samples/react-content-query-webpart/src/common/services/SearchService.ts @@ -166,7 +166,7 @@ export class SearchService { let pathCell = result.Cells.filter((cell) => { return cell.Key == "Path"; })[0]; pathIndex = result.Cells.indexOf(pathCell); } - urls.push(result.Cells[pathIndex].Value); + urls.push(result.Cells[pathIndex].Value.toLowerCase().trim()); } return urls; } diff --git a/samples/react-content-query-webpart/src/controls/PropertyPaneAsyncChecklist/components/AsyncChecklist/AsyncChecklist.tsx b/samples/react-content-query-webpart/src/controls/PropertyPaneAsyncChecklist/components/AsyncChecklist/AsyncChecklist.tsx index 28bce68bc..93a92601c 100644 --- a/samples/react-content-query-webpart/src/controls/PropertyPaneAsyncChecklist/components/AsyncChecklist/AsyncChecklist.tsx +++ b/samples/react-content-query-webpart/src/controls/PropertyPaneAsyncChecklist/components/AsyncChecklist/AsyncChecklist.tsx @@ -40,7 +40,7 @@ export class AsyncChecklist extends React.Component, checked?: boolean) { - let checkboxKey = ev.currentTarget.attributes.getNamedItem('data').value; + let checkboxKey = ev.currentTarget.attributes.getNamedItem('value').value; let itemIndex = this.checkedItems.indexOf(checkboxKey); if(checked) { @@ -127,12 +127,12 @@ export class AsyncChecklist extends React.Component { return ( - ); diff --git a/samples/react-content-query-webpart/src/controls/PropertyPaneAsyncDropdown/components/AsyncDropdown/AsyncDropdown.tsx b/samples/react-content-query-webpart/src/controls/PropertyPaneAsyncDropdown/components/AsyncDropdown/AsyncDropdown.tsx index 7ec1d9958..918b16337 100644 --- a/samples/react-content-query-webpart/src/controls/PropertyPaneAsyncDropdown/components/AsyncDropdown/AsyncDropdown.tsx +++ b/samples/react-content-query-webpart/src/controls/PropertyPaneAsyncDropdown/components/AsyncDropdown/AsyncDropdown.tsx @@ -3,9 +3,11 @@ import { Text } from '@microsoft/sp-core-library import { Dropdown, IDropdownOption, Spinner } from 'office-ui-fabric-react'; import { IAsyncDropdownProps } from './IAsyncDropdownProps'; import { IAsyncDropdownState } from './IAsyncDropdownState'; +import { cloneDeep } from '@microsoft/sp-lodash-subset'; export class AsyncDropdown extends React.Component { + /************************************************************************************* * Component's constructor * @param props @@ -17,6 +19,7 @@ export class AsyncDropdown extends React.Component(), + selectedKey: props.selectedKey, error: null }; } @@ -47,14 +50,16 @@ export class AsyncDropdown extends React.Component() + options: new Array(), + selectedKey: null }); this.props.loadOptions().then((options: IDropdownOption[]) => { this.setState({ processed: true, error: null, - options: options + options: options, + selectedKey: this.props.selectedKey }); }) .catch((error: any) => { @@ -67,6 +72,32 @@ export class AsyncDropdown extends React.Component { + if (o.key !== option.key) { + o.selected = false; + } + }); + this.setState((prevState: IAsyncDropdownState, props: IAsyncDropdownProps): IAsyncDropdownState => { + prevState.options = options; + prevState.selectedKey = option.key; + return prevState; + }); + if (this.props.onChanged) { + this.props.onChanged(option, index); + } + } + + /************************************************************************************* * Renders the the AsyncDropdown component *************************************************************************************/ @@ -79,8 +110,8 @@ export class AsyncDropdown extends React.Component {loading} diff --git a/samples/react-content-query-webpart/src/controls/PropertyPaneAsyncDropdown/components/AsyncDropdown/IAsyncDropdownState.ts b/samples/react-content-query-webpart/src/controls/PropertyPaneAsyncDropdown/components/AsyncDropdown/IAsyncDropdownState.ts index 1b1e175d0..d5c037f0e 100644 --- a/samples/react-content-query-webpart/src/controls/PropertyPaneAsyncDropdown/components/AsyncDropdown/IAsyncDropdownState.ts +++ b/samples/react-content-query-webpart/src/controls/PropertyPaneAsyncDropdown/components/AsyncDropdown/IAsyncDropdownState.ts @@ -3,5 +3,6 @@ import { IDropdownOption } from 'office-ui-fabric-react'; export interface IAsyncDropdownState { processed: boolean; options: IDropdownOption[]; + selectedKey: string | number; error: string; } \ No newline at end of file diff --git a/samples/react-content-query-webpart/src/controls/PropertyPaneQueryFilterPanel/components/QueryFilter/QueryFilter.module.scss b/samples/react-content-query-webpart/src/controls/PropertyPaneQueryFilterPanel/components/QueryFilter/QueryFilter.module.scss index 49aa128a3..bc816e9d2 100644 --- a/samples/react-content-query-webpart/src/controls/PropertyPaneQueryFilterPanel/components/QueryFilter/QueryFilter.module.scss +++ b/samples/react-content-query-webpart/src/controls/PropertyPaneQueryFilterPanel/components/QueryFilter/QueryFilter.module.scss @@ -19,20 +19,29 @@ $lightgray: #f5f5f5; } } - div[class~="ms-BasePicker-text"] { - background: #fff; + :global .ms-BasePicker-text { + background-color: #fff; + } + + :global .ms-Checkbox { + margin-top: 10px; + } + + :global .ms-Persona-details { + max-width: 165px; } .peoplePicker { &.disabled { - div[class~="ms-PickerPersona-container"] { - display: none; + :global .ms-BasePicker-text { + background-color: #ccc; + + :global .ms-BasePicker-input, + :global .ms-PickerPersona-container { + display: none; + } } } } - - span[class~="ms-TagItem-text"] { - max-width: 201px; - } } } \ No newline at end of file diff --git a/samples/react-content-query-webpart/src/webparts/contentQuery/ContentQueryWebPart.manifest.json b/samples/react-content-query-webpart/src/webparts/contentQuery/ContentQueryWebPart.manifest.json index 2ce441fed..efae0a14e 100644 --- a/samples/react-content-query-webpart/src/webparts/contentQuery/ContentQueryWebPart.manifest.json +++ b/samples/react-content-query-webpart/src/webparts/contentQuery/ContentQueryWebPart.manifest.json @@ -4,7 +4,7 @@ "id": "46edf08f-95c7-4ca7-9146-6471f9f471be", "alias": "ContentQueryWebPart", "componentType": "WebPart", - "version": "1.0.5", + "version": "1.0.6", "manifestVersion": 2, "preconfiguredEntries": [{ diff --git a/samples/react-content-query-webpart/src/webparts/contentQuery/ContentQueryWebPart.ts b/samples/react-content-query-webpart/src/webparts/contentQuery/ContentQueryWebPart.ts index 0d2f9c33f..74b9fd657 100644 --- a/samples/react-content-query-webpart/src/webparts/contentQuery/ContentQueryWebPart.ts +++ b/samples/react-content-query-webpart/src/webparts/contentQuery/ContentQueryWebPart.ts @@ -56,7 +56,7 @@ export default class ContentQueryWebPart extends BaseClientSideWebPart { return new Promise((resolve, reject) => { this.ContentQueryService = new ContentQueryService(this.context, this.context.spHttpClient); + this.properties.siteUrl = this.properties.siteUrl ? this.properties.siteUrl : this.context.pageContext.site.absoluteUrl.toLowerCase().trim(); + this.properties.webUrl = this.properties.webUrl ? this.properties.webUrl : this.context.pageContext.web.absoluteUrl.toLocaleLowerCase().trim(); resolve(); }); } @@ -413,31 +415,6 @@ export default class ContentQueryWebPart extends BaseClientSideWebPart { return this.properties.webUrl; }); this.webUrlDropdown.properties.selectedKey = ""; diff --git a/samples/react-content-query-webpart/src/webparts/contentQuery/components/ContentQuery.module.scss b/samples/react-content-query-webpart/src/webparts/contentQuery/components/ContentQuery.module.scss index a2b4143e6..d3e709e0c 100644 --- a/samples/react-content-query-webpart/src/webparts/contentQuery/components/ContentQuery.module.scss +++ b/samples/react-content-query-webpart/src/webparts/contentQuery/components/ContentQuery.module.scss @@ -7,10 +7,8 @@ $container-border: 1px solid #dadada; border: $container-border; padding: 20px 20px 15px 20px; - div[class*='ms-Checkbox'] { - &:first-child { - margin-top: 5px; - } + :global .ms-Checkbox { + margin-top: 10px; } } .cqwpError {