diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 871bd07640..a9920c19b9 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -14,6 +14,7 @@ jobs: ci: name: Unit Tests runs-on: ubuntu-latest + timeout-minutes: 20 steps: - name: Checkout @@ -30,7 +31,7 @@ jobs: restore-keys: | ${{ runner.os }}-yarn- - name: yarn install - run: yarn install + run: yarn working-directory: Composer - name: yarn build:dev run: yarn build:dev @@ -57,6 +58,7 @@ jobs: e2e: name: E2E Tests runs-on: ubuntu-latest + timeout-minutes: 20 steps: - name: Checkout @@ -73,7 +75,7 @@ jobs: restore-keys: | ${{ runner.os }}-yarn- - name: yarn install - run: yarn install + run: yarn working-directory: Composer - name: yarn build:prod run: yarn build:prod @@ -95,13 +97,15 @@ jobs: botproject: name: BotProject runs-on: windows-latest + timeout-minutes: 20 + steps: - name: Checkout uses: actions/checkout@v1 - name: Set Dotnet Version uses: actions/setup-dotnet@v1 with: - dotnet-version: "2.1.802" # SDK Version to use. + dotnet-version: "3.0.100" # SDK Version to use. - name: dotnet build run: dotnet build working-directory: BotProject/CSharp diff --git a/.vscode/launch.json b/.vscode/launch.json index ca988a664a..2506014c71 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -30,7 +30,7 @@ "type": "node", "request": "attach", "name": "Server: Attach", - "port": 9229, + "port": 9228, "sourceMaps": true } ] diff --git a/Composer/.eslintrc.js b/Composer/.eslintrc.js index 1f2073e10f..678fddde71 100644 --- a/Composer/.eslintrc.js +++ b/Composer/.eslintrc.js @@ -6,8 +6,9 @@ module.exports = { 'plugin:@typescript-eslint/recommended-requiring-type-checking', 'plugin:@typescript-eslint/eslint-recommended', 'prettier/@typescript-eslint', + 'plugin:@bfc/bfcomposer/recommended', ], - plugins: ['import', 'notice', 'security'], + plugins: ['import', 'notice', 'security', 'lodash'], env: { browser: true, es6: true, @@ -21,6 +22,8 @@ module.exports = { templateFile: require.resolve('./license.js'), }, ], + + // typescript '@typescript-eslint/ban-ts-ignore': 'warn', '@typescript-eslint/explicit-function-return-type': 'off', '@typescript-eslint/interface-name-prefix': 'off', @@ -54,6 +57,27 @@ module.exports = { 'security/detect-possible-timing-attacks': 'error', 'security/detect-pseudoRandomBytes': 'error', 'security/detect-unsafe-regex': 'error', + + // lodash + 'lodash/callback-binding': 'error', + 'lodash/collection-method-value': 'error', + 'lodash/collection-return': 'error', + 'lodash/no-double-unwrap': 'error', + 'lodash/no-extra-args': 'error', + 'lodash/no-unbound-this': 'error', + 'lodash/unwrap': 'error', + 'lodash/identity-shorthand': 'error', + 'lodash/import-scope': ['error', 'method'], + 'lodash/matches-prop-shorthand': 'error', + 'lodash/matches-shorthand': 'error', + 'lodash/path-style': 'error', + 'lodash/prefer-compact': 'error', + 'lodash/prefer-flat-map': 'error', + 'lodash/prefer-immutable-method': 'error', + 'lodash/prefer-map': 'error', + 'lodash/prefer-reject': 'error', + 'lodash/preferred-alias': 'error', + 'lodash/prop-shorthand': 'error', }, overrides: [ { diff --git a/Composer/.eslintrc.react.js b/Composer/.eslintrc.react.js index e6b9ee820e..5463727b2f 100644 --- a/Composer/.eslintrc.react.js +++ b/Composer/.eslintrc.react.js @@ -1,6 +1,6 @@ module.exports = { extends: ['./.eslintrc.js', 'plugin:react/recommended'], - plugins: ['react-hooks', 'format-message'], + plugins: ['react-hooks', 'format-message', 'emotion'], settings: { react: { version: '16.9.0', @@ -14,17 +14,23 @@ module.exports = { }, }, rules: { + // format message 'format-message/literal-pattern': 'error', 'format-message/no-invalid-pattern': 'error', 'format-message/no-missing-params': ['error', { allowNonLiteral: false }], + // react hooks 'react-hooks/exhaustive-deps': 'off', 'react-hooks/rules-of-hooks': 'error', + // react 'react/display-name': 'off', 'react/no-danger': 'error', 'react/no-deprecated': 'warn', 'react/prop-types': 'warn', + + // emotion + 'emotion/jsx-import': 'error', }, overrides: [ { diff --git a/Composer/package.json b/Composer/package.json index 37096dafe5..e398eab00a 100644 --- a/Composer/package.json +++ b/Composer/package.json @@ -61,6 +61,7 @@ "@babel/preset-env": "7.3.0", "@babel/preset-react": "^7.0.0", "@babel/preset-typescript": "^7.3.3", + "@bfc/eslint-plugin-bfcomposer": "*", "@emotion/babel-preset-css-prop": "^10.0.17", "@typescript-eslint/eslint-plugin": "2.6.0", "@typescript-eslint/parser": "2.6.0", @@ -72,9 +73,11 @@ "cypress-testing-library": "^3.0.1", "eslint": "^5.15.1", "eslint-config-prettier": "^4.1.0", + "eslint-plugin-emotion": "^10.0.14", "eslint-plugin-format-message": "^6.2.3", "eslint-plugin-import": "^2.16.0", "eslint-plugin-jsx-a11y": "6.1.2", + "eslint-plugin-lodash": "^6.0.0", "eslint-plugin-notice": "^0.7.8", "eslint-plugin-prettier": "^3.0.1", "eslint-plugin-react": "7.12.4", diff --git a/Composer/packages/client/__tests__/components/errorBoundary.test.js b/Composer/packages/client/__tests__/components/errorBoundary.test.js index cb1431475b..b5ade17ce8 100644 --- a/Composer/packages/client/__tests__/components/errorBoundary.test.js +++ b/Composer/packages/client/__tests__/components/errorBoundary.test.js @@ -24,20 +24,31 @@ const ProblemChild = () => { }; describe('', () => { + let consoleErrorStub, consoleLogStub; + + beforeEach(() => { + consoleErrorStub = jest.spyOn(console, 'error').mockImplementation(() => {}); + consoleLogStub = jest.spyOn(console, 'log').mockImplementation(() => {}); + }); + + afterEach(() => { + consoleErrorStub.mockRestore(); + consoleLogStub.mockRestore(); + }); + it('should just render the children if error not occur', () => { ErrorBoundary.contextType = Store; - const { container, debug } = render( + const { container } = render(
test
); - debug(); expect(container).toHaveTextContent('test'); }); it('all the components will not crash with ErrorBoundary even child compoent throw a error', () => { ErrorBoundary.contextType = Store; - const { container, debug } = render( + const { container } = render(
@@ -45,7 +56,6 @@ describe('', () => {
will not crash
); - debug(); expect(container).toHaveTextContent('will not crash'); }); diff --git a/Composer/packages/client/config/webpack.config.js b/Composer/packages/client/config/webpack.config.js index d7e11d067e..0a98e430f2 100644 --- a/Composer/packages/client/config/webpack.config.js +++ b/Composer/packages/client/config/webpack.config.js @@ -1,14 +1,11 @@ 'use strict'; -const fs = require('fs'); const path = require('path'); const webpack = require('webpack'); -const resolve = require('resolve'); const PnpWebpackPlugin = require('pnp-webpack-plugin'); const HtmlWebpackPlugin = require('html-webpack-plugin'); const CaseSensitivePathsPlugin = require('case-sensitive-paths-webpack-plugin'); -const InlineChunkHtmlPlugin = require('react-dev-utils/InlineChunkHtmlPlugin'); const TerserPlugin = require('terser-webpack-plugin'); const MiniCssExtractPlugin = require('mini-css-extract-plugin'); const OptimizeCSSAssetsPlugin = require('optimize-css-assets-webpack-plugin'); @@ -20,8 +17,6 @@ const WatchMissingNodeModulesPlugin = require('react-dev-utils/WatchMissingNodeM const ModuleScopePlugin = require('react-dev-utils/ModuleScopePlugin'); const getCSSModuleLocalIdent = require('react-dev-utils/getCSSModuleLocalIdent'); const ModuleNotFoundPlugin = require('react-dev-utils/ModuleNotFoundPlugin'); -const ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin-alt'); -const typescriptFormatter = require('react-dev-utils/typescriptFormatter'); const MonacoWebpackPlugin = require('@bfcomposer/monaco-editor-webpack-plugin'); const getClientEnvironment = require('./env'); @@ -30,9 +25,6 @@ const paths = require('./paths'); // Source maps are resource heavy and can cause out of memory issue for large source files. const shouldUseSourceMap = process.env.GENERATE_SOURCEMAP !== 'false'; -// Check if TypeScript is setup -const useTypeScript = fs.existsSync(paths.appTsConfig); - // style files regexes const cssRegex = /\.css$/; const cssModuleRegex = /\.module\.css$/; @@ -190,11 +182,6 @@ module.exports = function(webpackEnv) { ascii_only: true, }, }, - // Use multi-process parallel running to improve the build speed - // Default number of concurrent runs: os.cpus().length - 1 - parallel: true, - // Enable file caching - cache: true, sourceMap: shouldUseSourceMap, }), // This is only used in production mode @@ -240,12 +227,7 @@ module.exports = function(webpackEnv) { // https://github.com/facebook/create-react-app/issues/290 // `web` extension prefixes have been added for better support // for React Native Web. - extensions: paths.moduleFileExtensions.map(ext => `.${ext}`).filter(ext => useTypeScript || !ext.includes('ts')), - alias: { - // Support React Native Web - // https://www.smashingmagazine.com/2016/08/a-glimpse-into-the-future-with-react-native-for-web/ - 'react-native': 'react-native-web', - }, + extensions: paths.moduleFileExtensions.map(ext => `.${ext}`), plugins: [ // Adds support for installing with Plug'n'Play, leading to faster installs and adding // guards against forgotten dependencies and such. @@ -304,10 +286,19 @@ module.exports = function(webpackEnv) { name: 'static/media/[name].[hash:8].[ext]', }, }, + { + test: /\.tsx?$/, + include: paths.appSrc, + loader: require.resolve('ts-loader'), + options: PnpWebpackPlugin.tsLoaderOptions({ + transpileOnly: isEnvDevelopment, + configFile: path.resolve(__dirname, '../tsconfig.build.json'), + }), + }, // Process application JS with Babel. - // The preset includes JSX, Flow, TypeScript, and some ESnext features. + // The preset includes JSX, Flow, and some ESnext features. { - test: /\.(js|mjs|jsx|ts|tsx)$/, + test: /\.(js|jsx)$/, include: paths.appSrc, loader: require.resolve('babel-loader'), options: { @@ -336,7 +327,7 @@ module.exports = function(webpackEnv) { // Process any JS outside of the app with Babel. // Unlike the application JS, we only compile the standard ES features. { - test: /\.(js|mjs)$/, + test: /\.(js)$/, exclude: /@babel(?:\/|\\{1,2})runtime/, loader: require.resolve('babel-loader'), options: { @@ -516,35 +507,6 @@ module.exports = function(webpackEnv) { new RegExp('/[^/]+\\.[^/]+$'), ], }), - // TypeScript type checking - useTypeScript && - new ForkTsCheckerWebpackPlugin({ - typescript: resolve.sync('typescript', { - basedir: paths.appNodeModules, - }), - async: false, - checkSyntacticErrors: true, - tsconfig: paths.appTsConfig, - compilerOptions: { - module: 'esnext', - moduleResolution: 'node', - resolveJsonModule: true, - isolatedModules: true, - noEmit: true, - jsx: 'preserve', - }, - reportFiles: [ - '**', - '!**/*.json', - '!**/__tests__/**', - '!**/?(*.)(spec|test).*', - '!**/src/setupProxy.*', - '!**/src/setupTests.*', - ], - watch: paths.appSrc, - silent: true, - formatter: typescriptFormatter, - }), ].filter(Boolean), // Some libraries import Node modules but don't use them in the browser. // Tell Webpack to provide empty mocks for them so importing them works. diff --git a/Composer/packages/client/jest.config.js b/Composer/packages/client/jest.config.js index 2dbdb09207..e89860abc6 100644 --- a/Composer/packages/client/jest.config.js +++ b/Composer/packages/client/jest.config.js @@ -1,20 +1,32 @@ // eslint-disable-next-line const path = require('path'); module.exports = { + preset: 'ts-jest/presets/js-with-ts', + // transform: { + // '^.+\\.tsx?$': 'ts-jest', + // '^.+\\.jsx?$': 'babel-jest', + // }, moduleNameMapper: { // Any imports of .scss / .css files will instead import styleMock.js which is an empty object '\\.(jpg|jpeg|png|svg|gif)$': '/__tests__/jestMocks/styleMock.js', '\\.(s)?css$': '/__tests__/jestMocks/styleMock.js', + + // use commonjs modules for test so they do not need to be compiled + 'office-ui-fabric-react/lib/(.*)$': 'office-ui-fabric-react/lib-commonjs/$1', + '@uifabric/fluent-theme/lib/(.*)$': '@uifabric/fluent-theme/lib-commonjs/$1', }, testPathIgnorePatterns: ['/node_modules/', '/jestMocks/', '/testUtils/'], - transform: { - '^.+\\.(j|t)sx?$': 'babel-jest', - }, // Some node modules are packaged and distributed in a non-transpiled form // (ex. contain import & export statements); and Jest won't be able to // understand them because node_modules aren't transformed by default. So // we can specify that they need to be transformed here. - transformIgnorePatterns: ['"/node_modules/(?!office-ui-fabric-react).+\\.js$"'], + transformIgnorePatterns: ['/node_modules/'], setupFilesAfterEnv: [path.resolve(__dirname, './setupTests.js')], + globals: { + 'ts-jest': { + tsConfig: path.resolve(__dirname, './tsconfig.json'), + diagnostics: false, + }, + }, }; diff --git a/Composer/packages/client/package.json b/Composer/packages/client/package.json index c210e74d50..7f0d60486d 100644 --- a/Composer/packages/client/package.json +++ b/Composer/packages/client/package.json @@ -16,71 +16,25 @@ "@bfc/extensions": "*", "@bfc/indexers": "*", "@bfc/shared": "*", - "@bfcomposer/monaco-editor-webpack-plugin": "^1.7.2", "@emotion/core": "^10.0.7", "@reach/router": "^1.2.1", - "@svgr/webpack": "4.1.0", "axios": "^0.18.0", - "babel-core": "7.0.0-bridge.0", - "babel-eslint": "9.0.0", - "babel-loader": "8.0.5", - "babel-plugin-named-asset-import": "^0.3.1", - "babel-preset-react-app": "^7.0.1", - "bfj": "6.1.1", "botbuilder-lg": "https://botbuilder.myget.org/F/botbuilder-declarative/npm/botbuilder-lg/-/4.7.0-preview2.tgz", - "case-sensitive-paths-webpack-plugin": "2.2.0", - "codemirror": "^5.45.0", - "css-loader": "1.0.0", - "dotenv": "6.0.0", - "dotenv-expand": "4.2.0", - "eslint-config-react-app": "^3.0.7", - "eslint-loader": "2.1.1", - "file-loader": "2.0.0", - "fork-ts-checker-webpack-plugin-alt": "0.4.14", - "format-message": "^6.2.1", - "fs-extra": "7.0.1", - "html-webpack-plugin": "4.0.0-alpha.2", - "identity-obj-proxy": "3.0.0", + "format-message": "^6.2.3", "immer": "^2.1.4", - "jsonlint-webpack": "^1.1.0", "jwt-decode": "^2.2.0", - "lodash.clonedeep": "^4.5.0", - "lodash.debounce": "^4.0.8", - "lodash.find": "^4.6.0", - "lodash.findindex": "^4.6.0", - "lodash.findlastindex": "^4.6.0", - "lodash.get": "^4.4.2", - "lodash.isequal": "^4.5.0", - "lodash.once": "^4.1.1", - "lodash.set": "^4.3.2", - "lodash.startcase": "^4.4.0", - "mini-css-extract-plugin": "0.5.0", + "lodash": "^4.17.15", "nanoid": "^2.1.6", "office-ui-fabric-react": "7.37.1", - "optimize-css-assets-webpack-plugin": "5.0.1", - "pnp-webpack-plugin": "1.2.1", - "postcss-flexbugs-fixes": "4.1.0", - "postcss-loader": "3.0.0", - "postcss-preset-env": "6.5.0", - "postcss-safe-parser": "4.0.1", "prop-types": "^15.7.2", "query-string": "^6.8.2", "react": "16.9.0", "react-app-polyfill": "^0.2.1", - "react-codemirror2": "^5.1.0", "react-dev-utils": "^7.0.3", "react-dom": "16.9.0", "react-frame-component": "^4.0.2", "react-timeago": "^4.4.0", - "resolve": "1.10.0", - "style-loader": "0.23.1", - "styled-components": "^4.1.3", - "terser-webpack-plugin": "1.2.2", - "url-loader": "1.1.2", - "webpack": "4.28.3", - "webpack-dev-server": "3.8.2", - "webpack-manifest-plugin": "2.0.4", - "workbox-webpack-plugin": "3.6.3" + "styled-components": "^4.1.3" }, "browserslist": [ ">0.2%", @@ -96,23 +50,48 @@ "@babel/preset-env": "7.3.0", "@babel/preset-react": "7.0.0", "@babel/runtime": "7.3.4", + "@bfcomposer/monaco-editor-webpack-plugin": "^1.7.2", "@emotion/babel-preset-css-prop": "^10.0.14", + "@svgr/webpack": "4.1.0", "@types/jest": "^24.0.16", "@types/jwt-decode": "^2.2.1", - "@types/lodash.clonedeep": "^4.5.6", - "@types/lodash.find": "^4.6.6", - "@types/lodash.findindex": "^4.6.6", - "@types/lodash.get": "^4.4.6", - "@types/lodash.isequal": "^4.5.5", - "@types/lodash.once": "^4.1.6", - "@types/lodash.set": "^4.3.6", + "@types/lodash": "^4.14.146", "@types/reach__router": "^1.2.4", "@types/react": "16.9.0", "@types/react-dom": "16.9.0", + "babel-core": "7.0.0-bridge.0", + "babel-eslint": "9.0.0", "babel-jest": "24.0.0", + "babel-loader": "8.0.5", "babel-plugin-emotion": "^10.0.7", + "babel-plugin-named-asset-import": "^0.3.1", + "babel-preset-react-app": "^7.0.1", + "bfj": "6.1.1", + "case-sensitive-paths-webpack-plugin": "2.2.0", + "css-loader": "3.2.0", + "dotenv": "6.0.0", + "dotenv-expand": "4.2.0", + "eslint-config-react-app": "^3.0.7", + "eslint-loader": "3.0.2", + "file-loader": "4.2.0", + "fs-extra": "7.0.1", + "html-webpack-plugin": "4.0.0-beta.8", "jest": "24.0.0", "jest-dom": "^3.2.2", - "react-testing-library": "^6.0.1" + "mini-css-extract-plugin": "0.8.0", + "optimize-css-assets-webpack-plugin": "5.0.3", + "pnp-webpack-plugin": "1.5.0", + "postcss-flexbugs-fixes": "4.1.0", + "postcss-loader": "3.0.0", + "postcss-preset-env": "6.5.0", + "postcss-safe-parser": "4.0.1", + "react-testing-library": "^6.0.1", + "style-loader": "1.0.0", + "terser-webpack-plugin": "2.2.1", + "url-loader": "2.2.0", + "webpack": "4.41.2", + "webpack-dev-server": "3.9.0", + "webpack-manifest-plugin": "2.1.0", + "workbox-webpack-plugin": "4.3.1" } } diff --git a/Composer/packages/client/setupTests.js b/Composer/packages/client/setupTests.js index 10e94c5c34..f54e2b5c17 100644 --- a/Composer/packages/client/setupTests.js +++ b/Composer/packages/client/setupTests.js @@ -1,3 +1,4 @@ +import formatMessage from 'format-message'; import { setIconOptions } from 'office-ui-fabric-react/lib/Styling'; import 'jest-dom/extend-expect'; import { cleanup } from 'react-testing-library'; @@ -7,4 +8,8 @@ setIconOptions({ disableWarnings: true, }); +formatMessage.setup({ + missingTranslation: 'ignore', +}); + afterEach(cleanup); diff --git a/Composer/packages/client/src/App.tsx b/Composer/packages/client/src/App.tsx index 942a53c467..b2da050ff8 100644 --- a/Composer/packages/client/src/App.tsx +++ b/Composer/packages/client/src/App.tsx @@ -1,7 +1,9 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -import React, { forwardRef, useContext, useState } from 'react'; +/** @jsx jsx */ +import { jsx } from '@emotion/core'; +import React, { forwardRef, useContext, useState, Fragment, Suspense } from 'react'; import { initializeIcons } from 'office-ui-fabric-react/lib/Icons'; import { IconButton } from 'office-ui-fabric-react/lib/Button'; import formatMessage from 'format-message'; @@ -17,10 +19,11 @@ import { CreationFlow } from './CreationFlow'; import { ErrorBoundary } from './components/ErrorBoundary'; import { RequireAuth } from './components/RequireAuth'; import { CreationFlowStatus } from './constants'; -import Onboarding from './Onboarding'; +import { LoadingSpinner } from './components/LoadingSpinner'; initializeIcons(undefined, { disableWarnings: true }); +const Onboarding = React.lazy(() => import('./Onboarding')); // eslint-disable-next-line react/display-name const Content = forwardRef((props, ref) =>
); @@ -116,7 +119,7 @@ export const App: React.FC = () => { const mapNavItemTo = x => resolveToBasePath(BASEPATH, x); return ( - <> +
- + }>{!state.onboarding.complete && }
- + ); }; diff --git a/Composer/packages/client/src/CreationFlow/CreateOptions/index.js b/Composer/packages/client/src/CreationFlow/CreateOptions/index.js index d4177a10be..93203bf763 100644 --- a/Composer/packages/client/src/CreationFlow/CreateOptions/index.js +++ b/Composer/packages/client/src/CreationFlow/CreateOptions/index.js @@ -1,9 +1,14 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -import React, { useState, Fragment } from 'react'; +/** @jsx jsx */ +import { jsx } from '@emotion/core'; +import { useState, Fragment } from 'react'; import formatMessage from 'format-message'; -import { DialogFooter, PrimaryButton, DefaultButton, ChoiceGroup, Icon } from 'office-ui-fabric-react'; +import { PrimaryButton, DefaultButton } from 'office-ui-fabric-react/lib/Button'; +import { Icon } from 'office-ui-fabric-react/lib/Icon'; +import { ChoiceGroup } from 'office-ui-fabric-react/lib/ChoiceGroup'; +import { DialogFooter } from 'office-ui-fabric-react/lib/Dialog'; import { choiceGroup, templateItem, optionRoot, optionIcon, placeholder } from './styles'; diff --git a/Composer/packages/client/src/CreationFlow/DefineConversation/index.js b/Composer/packages/client/src/CreationFlow/DefineConversation/index.js index 50b69fc576..5c6b9d3853 100644 --- a/Composer/packages/client/src/CreationFlow/DefineConversation/index.js +++ b/Composer/packages/client/src/CreationFlow/DefineConversation/index.js @@ -3,7 +3,10 @@ import React, { useState, Fragment } from 'react'; import formatMessage from 'format-message'; -import { DialogFooter, PrimaryButton, DefaultButton, Stack, StackItem, TextField } from 'office-ui-fabric-react'; +import { PrimaryButton, DefaultButton } from 'office-ui-fabric-react/lib/Button'; +import { DialogFooter } from 'office-ui-fabric-react/lib/Dialog'; +import { Stack, StackItem } from 'office-ui-fabric-react/lib/Stack'; +import { TextField } from 'office-ui-fabric-react/lib/TextField'; import { LocationSelectContent } from '../LocationBrowser/LocationSelectContent'; import { styles as wizardStyles } from '../StepWizard/styles'; diff --git a/Composer/packages/client/src/CreationFlow/LocationBrowser/FileSelector.tsx b/Composer/packages/client/src/CreationFlow/LocationBrowser/FileSelector.tsx index f947a338f7..c92fc8a582 100644 --- a/Composer/packages/client/src/CreationFlow/LocationBrowser/FileSelector.tsx +++ b/Composer/packages/client/src/CreationFlow/LocationBrowser/FileSelector.tsx @@ -20,7 +20,8 @@ import { } from 'office-ui-fabric-react/lib/DetailsList'; import formatMessage from 'format-message'; import { Fragment } from 'react'; -import { Dropdown, Stack, StackItem, IDropdownOption } from 'office-ui-fabric-react'; +import { Dropdown, IDropdownOption } from 'office-ui-fabric-react/lib/Dropdown'; +import { Stack, StackItem } from 'office-ui-fabric-react/lib/Stack'; import { FileTypes } from '../../constants/index'; import { styles as wizardStyles } from '../StepWizard/styles'; diff --git a/Composer/packages/client/src/CreationFlow/OpenProject/index.js b/Composer/packages/client/src/CreationFlow/OpenProject/index.js index 4ed36f86f6..e9adb0cb8c 100644 --- a/Composer/packages/client/src/CreationFlow/OpenProject/index.js +++ b/Composer/packages/client/src/CreationFlow/OpenProject/index.js @@ -4,7 +4,8 @@ /* eslint-disable react/prop-types */ /** @jsx jsx */ import { jsx } from '@emotion/core'; -import { DialogFooter, DefaultButton } from 'office-ui-fabric-react'; +import { DialogFooter } from 'office-ui-fabric-react/lib/Dialog'; +import { DefaultButton } from 'office-ui-fabric-react/lib/Button'; import formatMessage from 'format-message'; import { LocationSelectContent } from '../LocationBrowser/LocationSelectContent'; diff --git a/Composer/packages/client/src/CreationFlow/SelectLocation/index.js b/Composer/packages/client/src/CreationFlow/SelectLocation/index.js index 76819dc60f..180e1deeab 100644 --- a/Composer/packages/client/src/CreationFlow/SelectLocation/index.js +++ b/Composer/packages/client/src/CreationFlow/SelectLocation/index.js @@ -1,9 +1,14 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -import React, { useState, useContext, Fragment } from 'react'; +/** @jsx jsx */ +import { jsx } from '@emotion/core'; +import { useState, useContext, Fragment } from 'react'; import formatMessage from 'format-message'; -import { DialogFooter, PrimaryButton, DefaultButton, ChoiceGroup, Icon } from 'office-ui-fabric-react'; +import { PrimaryButton, DefaultButton } from 'office-ui-fabric-react/lib/Button'; +import { Icon } from 'office-ui-fabric-react/lib/Icon'; +import { DialogFooter } from 'office-ui-fabric-react/lib/Dialog'; +import { ChoiceGroup } from 'office-ui-fabric-react/lib/ChoiceGroup'; import { navigateTo } from '../../utils'; diff --git a/Composer/packages/client/src/CreationFlow/StepWizard/StepWizard.js b/Composer/packages/client/src/CreationFlow/StepWizard/StepWizard.js index c353018222..1c6ab32bab 100644 --- a/Composer/packages/client/src/CreationFlow/StepWizard/StepWizard.js +++ b/Composer/packages/client/src/CreationFlow/StepWizard/StepWizard.js @@ -2,7 +2,7 @@ // Licensed under the MIT License. import React from 'react'; -import { Dialog, DialogType } from 'office-ui-fabric-react'; +import { Dialog, DialogType } from 'office-ui-fabric-react/lib/Dialog'; import { styles } from './styles'; diff --git a/Composer/packages/client/src/CreationFlow/index.js b/Composer/packages/client/src/CreationFlow/index.js index 1358b2dbb4..53a6b5daa6 100644 --- a/Composer/packages/client/src/CreationFlow/index.js +++ b/Composer/packages/client/src/CreationFlow/index.js @@ -4,7 +4,7 @@ import Path from 'path'; import React, { useState, useEffect, useContext } from 'react'; -import get from 'lodash.get'; +import get from 'lodash/get'; import { CreationFlowStatus, DialogCreationCopy, Steps, FileTypes } from '../constants'; diff --git a/Composer/packages/client/src/Onboarding/TeachingBubbles/styles.ts b/Composer/packages/client/src/Onboarding/TeachingBubbles/styles.ts index ef2dc63512..b5382ecf29 100644 --- a/Composer/packages/client/src/Onboarding/TeachingBubbles/styles.ts +++ b/Composer/packages/client/src/Onboarding/TeachingBubbles/styles.ts @@ -1,7 +1,8 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -import { createTheme, ITeachingBubbleStyles, ITheme } from 'office-ui-fabric-react'; +import { createTheme, ITheme } from 'office-ui-fabric-react/lib/Styling'; +import { ITeachingBubbleStyles } from 'office-ui-fabric-react/lib/TeachingBubble'; import { palette } from '../palette'; diff --git a/Composer/packages/client/src/Onboarding/WelcomeModal/Collapsed/index.js b/Composer/packages/client/src/Onboarding/WelcomeModal/Collapsed/index.js index 2621bb6d2e..93b675c008 100644 --- a/Composer/packages/client/src/Onboarding/WelcomeModal/Collapsed/index.js +++ b/Composer/packages/client/src/Onboarding/WelcomeModal/Collapsed/index.js @@ -1,9 +1,11 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -import React, { useContext } from 'react'; +/** @jsx jsx */ +import { jsx } from '@emotion/core'; +import { useContext } from 'react'; import formatMessage from 'format-message'; -import { IconButton } from 'office-ui-fabric-react'; +import { IconButton } from 'office-ui-fabric-react/lib/Button'; import OnboardingContext from '../../context'; import { palette } from '../../palette'; diff --git a/Composer/packages/client/src/Onboarding/WelcomeModal/Collapsed/styles.ts b/Composer/packages/client/src/Onboarding/WelcomeModal/Collapsed/styles.ts index 5c829ba288..0f5f4eab87 100644 --- a/Composer/packages/client/src/Onboarding/WelcomeModal/Collapsed/styles.ts +++ b/Composer/packages/client/src/Onboarding/WelcomeModal/Collapsed/styles.ts @@ -2,7 +2,7 @@ // Licensed under the MIT License. import { css } from '@emotion/core'; -import { IButtonStyles } from 'office-ui-fabric-react'; +import { IButtonStyles } from 'office-ui-fabric-react/lib/Button'; import { palette } from '../../palette'; diff --git a/Composer/packages/client/src/Onboarding/WelcomeModal/Expanded/index.js b/Composer/packages/client/src/Onboarding/WelcomeModal/Expanded/index.js index f4c2be217f..d41b950cf4 100644 --- a/Composer/packages/client/src/Onboarding/WelcomeModal/Expanded/index.js +++ b/Composer/packages/client/src/Onboarding/WelcomeModal/Expanded/index.js @@ -1,10 +1,12 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -import React, { useContext } from 'react'; +/** @jsx jsx */ +import { jsx } from '@emotion/core'; +import { useContext } from 'react'; import formatMessage from 'format-message'; import { Icon } from 'office-ui-fabric-react/lib/Icon'; -import { IconButton, PrimaryButton } from 'office-ui-fabric-react'; +import { IconButton, PrimaryButton } from 'office-ui-fabric-react/lib/Button'; import OnboardingContext from '../../context'; diff --git a/Composer/packages/client/src/Onboarding/WelcomeModal/index.tsx b/Composer/packages/client/src/Onboarding/WelcomeModal/index.tsx index 0adb850e2e..ba6978d94e 100644 --- a/Composer/packages/client/src/Onboarding/WelcomeModal/index.tsx +++ b/Composer/packages/client/src/Onboarding/WelcomeModal/index.tsx @@ -2,7 +2,7 @@ // Licensed under the MIT License. import React, { useContext } from 'react'; -import { Modal } from 'office-ui-fabric-react'; +import { Modal } from 'office-ui-fabric-react/lib/Modal'; import OnboardingContext from '../context'; diff --git a/Composer/packages/client/src/Onboarding/WelcomeModal/style.ts b/Composer/packages/client/src/Onboarding/WelcomeModal/style.ts index cea77c54ca..7050e0e5e0 100644 --- a/Composer/packages/client/src/Onboarding/WelcomeModal/style.ts +++ b/Composer/packages/client/src/Onboarding/WelcomeModal/style.ts @@ -1,11 +1,11 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -import { IModalStyleProps, IModalStyles, IStyleFunctionOrObject } from 'office-ui-fabric-react'; +import { IModalStyles } from 'office-ui-fabric-react/lib/Modal'; import { palette } from '../palette'; -export const collapsedStyles: IStyleFunctionOrObject = { +export const collapsedStyles: Partial = { main: { backgroundColor: palette.themePrimary, bottom: '30px', @@ -16,7 +16,7 @@ export const collapsedStyles: IStyleFunctionOrObject = { +export const expandedStyles: Partial = { main: { bottom: '30px', padding: '15px', diff --git a/Composer/packages/client/src/Onboarding/onboarding.tsx b/Composer/packages/client/src/Onboarding/onboarding.tsx index 684153ad40..cccfac7f8e 100644 --- a/Composer/packages/client/src/Onboarding/onboarding.tsx +++ b/Composer/packages/client/src/Onboarding/onboarding.tsx @@ -3,7 +3,7 @@ import React from 'react'; import formatMessage from 'format-message'; -import { ITeachingBubbleProps } from 'office-ui-fabric-react'; +import { ITeachingBubbleProps } from 'office-ui-fabric-react/lib/TeachingBubble'; export interface IComposerTeachingBubble extends ITeachingBubbleProps { children?: any; diff --git a/Composer/packages/client/src/Onboarding/palette.ts b/Composer/packages/client/src/Onboarding/palette.ts index cac44251ed..e35aab72a3 100644 --- a/Composer/packages/client/src/Onboarding/palette.ts +++ b/Composer/packages/client/src/Onboarding/palette.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -import { IPalette } from 'office-ui-fabric-react'; +import { IPalette } from 'office-ui-fabric-react/lib/Styling'; export const palette: Partial = { themePrimary: '#5c2e91', diff --git a/Composer/packages/client/src/ShellApi.ts b/Composer/packages/client/src/ShellApi.ts index 4953062cbf..fcdfc80b54 100644 --- a/Composer/packages/client/src/ShellApi.ts +++ b/Composer/packages/client/src/ShellApi.ts @@ -3,8 +3,8 @@ import React, { useEffect, useContext, useMemo } from 'react'; import { ShellData } from '@bfc/shared'; -import isEqual from 'lodash.isequal'; -import get from 'lodash.get'; +import isEqual from 'lodash/isEqual'; +import get from 'lodash/get'; import { isExpression } from './utils'; import * as lgUtil from './utils/lgUtil'; diff --git a/Composer/packages/client/src/TestController.tsx b/Composer/packages/client/src/TestController.tsx index 4f107e8f6c..5c0575fb51 100644 --- a/Composer/packages/client/src/TestController.tsx +++ b/Composer/packages/client/src/TestController.tsx @@ -1,16 +1,13 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. +/** @jsx jsx */ +import { jsx } from '@emotion/core'; import React, { useState, useRef, Fragment, useContext, useEffect, useCallback } from 'react'; -import { - ActionButton, - PrimaryButton, - Spinner, - SpinnerSize, - Callout, - DefaultButton, - Stack, -} from 'office-ui-fabric-react'; +import { ActionButton, PrimaryButton, DefaultButton } from 'office-ui-fabric-react/lib/Button'; +import { Spinner, SpinnerSize } from 'office-ui-fabric-react/lib/Spinner'; +import { Callout } from 'office-ui-fabric-react/lib/Callout'; +import { Stack } from 'office-ui-fabric-react/lib/Stack'; import formatMessage from 'format-message'; import { DialogInfo } from '@bfc/shared'; diff --git a/Composer/packages/client/src/components/Collapse/index.js b/Composer/packages/client/src/components/Collapse/index.js index ae39d40731..5d8362e453 100644 --- a/Composer/packages/client/src/components/Collapse/index.js +++ b/Composer/packages/client/src/components/Collapse/index.js @@ -1,8 +1,10 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. +/** @jsx jsx */ +import { jsx } from '@emotion/core'; +import { Fragment, useState, useEffect, useLayoutEffect, useRef } from 'react'; import { PropTypes } from 'prop-types'; -import React, { Fragment, useState, useEffect, useLayoutEffect, useRef } from 'react'; import { IconButton } from 'office-ui-fabric-react/lib/Button'; import './index.css'; diff --git a/Composer/packages/client/src/components/Conversation/index.js b/Composer/packages/client/src/components/Conversation/index.js index 6ae109d938..35d17acc4a 100644 --- a/Composer/packages/client/src/components/Conversation/index.js +++ b/Composer/packages/client/src/components/Conversation/index.js @@ -1,12 +1,17 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -import React from 'react'; +/** @jsx jsx */ +import { jsx } from '@emotion/core'; import { PropTypes } from 'prop-types'; import { container } from './styles'; -export const Conversation = props =>
{props.children}
; +export const Conversation = props => ( +
+ {props.children} +
+); Conversation.propTypes = { children: PropTypes.element, diff --git a/Composer/packages/client/src/components/DialogWrapper/index.js b/Composer/packages/client/src/components/DialogWrapper/index.js index 09b31cd3dc..ea6839d508 100644 --- a/Composer/packages/client/src/components/DialogWrapper/index.js +++ b/Composer/packages/client/src/components/DialogWrapper/index.js @@ -2,7 +2,7 @@ // Licensed under the MIT License. import React from 'react'; -import { Dialog, DialogType } from 'office-ui-fabric-react'; +import { Dialog, DialogType } from 'office-ui-fabric-react/lib/Dialog'; import { styles } from './styles'; diff --git a/Composer/packages/client/src/components/ErrorPopup/index.js b/Composer/packages/client/src/components/ErrorPopup/index.js index c2cdcdabda..1aeeac27aa 100644 --- a/Composer/packages/client/src/components/ErrorPopup/index.js +++ b/Composer/packages/client/src/components/ErrorPopup/index.js @@ -1,9 +1,12 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -import React, { useState } from 'react'; +/** @jsx jsx */ +import { jsx } from '@emotion/core'; +import { useState } from 'react'; import { PropTypes } from 'prop-types'; -import { Dialog, DialogFooter, PrimaryButton, DialogType } from 'office-ui-fabric-react'; +import { Dialog, DialogType, DialogFooter } from 'office-ui-fabric-react/lib/Dialog'; +import { PrimaryButton } from 'office-ui-fabric-react/lib/Button'; import { consoleStyle, dialog } from './styles'; diff --git a/Composer/packages/client/src/components/Header/index.js b/Composer/packages/client/src/components/Header/index.js index 467df43f5b..7a09e19019 100644 --- a/Composer/packages/client/src/components/Header/index.js +++ b/Composer/packages/client/src/components/Header/index.js @@ -1,7 +1,8 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -import React from 'react'; +/** @jsx jsx */ +import { jsx } from '@emotion/core'; import formatMessage from 'format-message'; import composerIcon from '../../images/composerIcon.svg'; diff --git a/Composer/packages/client/src/components/LoadingSpinner/index.tsx b/Composer/packages/client/src/components/LoadingSpinner/index.tsx new file mode 100644 index 0000000000..a2729b2544 --- /dev/null +++ b/Composer/packages/client/src/components/LoadingSpinner/index.tsx @@ -0,0 +1,18 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +/** @jsx jsx */ +import { jsx } from '@emotion/core'; +import React from 'react'; +import { Spinner } from 'office-ui-fabric-react/lib/Spinner'; +import formatMessage from 'format-message'; + +import { container } from './styles'; + +export const LoadingSpinner: React.FC = () => { + return ( +
+ +
+ ); +}; diff --git a/Composer/packages/client/src/components/LoadingSpinner/styles.ts b/Composer/packages/client/src/components/LoadingSpinner/styles.ts new file mode 100644 index 0000000000..7a3c404e81 --- /dev/null +++ b/Composer/packages/client/src/components/LoadingSpinner/styles.ts @@ -0,0 +1,12 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +import { css } from '@emotion/core'; + +export const container = css` + height: 100%; + width: 100%; + display: flex; + align-items: center; + justify-content: center; +`; diff --git a/Composer/packages/client/src/components/MainContent/index.js b/Composer/packages/client/src/components/MainContent/index.js index 37dc260c16..c5e9a82e52 100644 --- a/Composer/packages/client/src/components/MainContent/index.js +++ b/Composer/packages/client/src/components/MainContent/index.js @@ -1,7 +1,8 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -import React from 'react'; +/** @jsx jsx */ +import { jsx } from '@emotion/core'; import { PropTypes } from 'prop-types'; import { contentContainer } from './styles'; diff --git a/Composer/packages/client/src/components/NavItem/index.js b/Composer/packages/client/src/components/NavItem/index.js index 00163c0384..9ddbee5a89 100644 --- a/Composer/packages/client/src/components/NavItem/index.js +++ b/Composer/packages/client/src/components/NavItem/index.js @@ -1,10 +1,13 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -import React, { useCallback, useContext, useState } from 'react'; +/** @jsx jsx */ +import { jsx } from '@emotion/core'; +import { useCallback, useContext, useState } from 'react'; import { Link } from '@reach/router'; import { PropTypes } from 'prop-types'; -import { CommandBarButton, FocusZone } from 'office-ui-fabric-react'; +import { CommandBarButton } from 'office-ui-fabric-react/lib/Button'; +import { FocusZone } from 'office-ui-fabric-react/lib/FocusZone'; import { StoreContext } from '../../store'; @@ -63,4 +66,5 @@ NavItem.propTypes = { labelHide: PropTypes.bool, index: PropTypes.number, targetUrl: PropTypes.string, + underTest: PropTypes.bool, }; diff --git a/Composer/packages/client/src/components/NavItem/styles.ts b/Composer/packages/client/src/components/NavItem/styles.ts index 934f7a2d28..682f0074af 100644 --- a/Composer/packages/client/src/components/NavItem/styles.ts +++ b/Composer/packages/client/src/components/NavItem/styles.ts @@ -4,7 +4,7 @@ import { css } from '@emotion/core'; import { FontSizes } from '@uifabric/fluent-theme'; import { NeutralColors, CommunicationColors } from '@uifabric/fluent-theme'; -import { IButtonStyles } from 'office-ui-fabric-react'; +import { IButtonStyles } from 'office-ui-fabric-react/lib/Button'; export const link = (active, underTest) => css` display: block; diff --git a/Composer/packages/client/src/components/NotFound/index.js b/Composer/packages/client/src/components/NotFound/index.js index 52510678e1..4deae2cf83 100644 --- a/Composer/packages/client/src/components/NotFound/index.js +++ b/Composer/packages/client/src/components/NotFound/index.js @@ -1,7 +1,8 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -import React from 'react'; +/** @jsx jsx */ +import { jsx } from '@emotion/core'; import formatMessage from 'format-message'; import { BASEPATH } from '../../constants'; diff --git a/Composer/packages/client/src/components/ProjectTree/TriggerCreationModal.tsx b/Composer/packages/client/src/components/ProjectTree/TriggerCreationModal.tsx index eef10712d4..e052d54eba 100644 --- a/Composer/packages/client/src/components/ProjectTree/TriggerCreationModal.tsx +++ b/Composer/packages/client/src/components/ProjectTree/TriggerCreationModal.tsx @@ -1,12 +1,16 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. +/** @jsx jsx */ +import { jsx } from '@emotion/core'; import React, { useState, useContext } from 'react'; -import { Dialog, DialogType } from 'office-ui-fabric-react'; import formatMessage from 'format-message'; -import { DialogFooter, PrimaryButton, DefaultButton, Stack, IDropdownOption } from 'office-ui-fabric-react'; +import { Dialog, DialogType, DialogFooter } from 'office-ui-fabric-react/lib/Dialog'; +import { PrimaryButton, DefaultButton } from 'office-ui-fabric-react/lib/Button'; +import { Stack } from 'office-ui-fabric-react/lib/Stack'; +import { IDropdownOption } from 'office-ui-fabric-react/lib/Dropdown'; import { Dropdown } from 'office-ui-fabric-react/lib/Dropdown'; -import { get } from 'lodash'; +import get from 'lodash/get'; import { DialogInfo } from '@bfc/shared'; import { diff --git a/Composer/packages/client/src/components/ProjectTree/index.tsx b/Composer/packages/client/src/components/ProjectTree/index.tsx index ae77a60ce9..358ededa04 100644 --- a/Composer/packages/client/src/components/ProjectTree/index.tsx +++ b/Composer/packages/client/src/components/ProjectTree/index.tsx @@ -1,18 +1,20 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. +/** @jsx jsx */ +import { jsx } from '@emotion/core'; +import React, { useCallback, useContext, useMemo, useRef, useState } from 'react'; import { - ActionButton, GroupedList, IGroup, IGroupHeaderProps, IGroupRenderProps, IGroupedList, - IIconProps, - SearchBox, -} from 'office-ui-fabric-react'; -import React, { useCallback, useContext, useMemo, useRef, useState } from 'react'; -import { cloneDeep } from 'lodash'; +} from 'office-ui-fabric-react/lib/GroupedList'; +import { ActionButton } from 'office-ui-fabric-react/lib/Button'; +import { SearchBox } from 'office-ui-fabric-react/lib/SearchBox'; +import { IIconProps } from 'office-ui-fabric-react/lib/Icon'; +import cloneDeep from 'lodash/cloneDeep'; import formatMessage from 'format-message'; import { DialogInfo, ITrigger } from '@bfc/shared'; diff --git a/Composer/packages/client/src/components/ProjectTree/styles.ts b/Composer/packages/client/src/components/ProjectTree/styles.ts index 06704821d1..254a889ead 100644 --- a/Composer/packages/client/src/components/ProjectTree/styles.ts +++ b/Composer/packages/client/src/components/ProjectTree/styles.ts @@ -4,7 +4,9 @@ import { css } from '@emotion/core'; import { FontWeights } from '@uifabric/styling'; import { NeutralColors, FontSizes } from '@uifabric/fluent-theme'; -import { IButtonStyles, ICalloutContentStyles, IGroupedListStyles } from 'office-ui-fabric-react'; +import { IButtonStyles } from 'office-ui-fabric-react/lib/Button'; +import { ICalloutContentStyles } from 'office-ui-fabric-react/lib/Callout'; +import { IGroupedListStyles } from 'office-ui-fabric-react/lib/GroupedList'; export const groupListStyle: Partial = { root: { diff --git a/Composer/packages/client/src/components/ProjectTree/treeItem.js b/Composer/packages/client/src/components/ProjectTree/treeItem.js index 6737a6895c..c6d4b1e1ab 100644 --- a/Composer/packages/client/src/components/ProjectTree/treeItem.js +++ b/Composer/packages/client/src/components/ProjectTree/treeItem.js @@ -1,8 +1,11 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -import React from 'react'; -import { OverflowSet, IconButton, Icon } from 'office-ui-fabric-react'; +/** @jsx jsx */ +import { jsx } from '@emotion/core'; +import { OverflowSet } from 'office-ui-fabric-react/lib/OverflowSet'; +import { IconButton } from 'office-ui-fabric-react/lib/Button'; +import { Icon } from 'office-ui-fabric-react/lib/Icon'; import { moreButton, overflowSet, moreMenu, navItem, itemText } from './styles'; diff --git a/Composer/packages/client/src/components/RequireAuth/index.tsx b/Composer/packages/client/src/components/RequireAuth/index.tsx index e6dc6d45bc..909cfc47b4 100644 --- a/Composer/packages/client/src/components/RequireAuth/index.tsx +++ b/Composer/packages/client/src/components/RequireAuth/index.tsx @@ -4,9 +4,11 @@ /** @jsx jsx */ import { jsx } from '@emotion/core'; import React, { useEffect, useState, useContext } from 'react'; -import { Spinner, SpinnerSize, Dialog, DialogType, DialogFooter, PrimaryButton } from 'office-ui-fabric-react'; +import { PrimaryButton } from 'office-ui-fabric-react/lib/Button'; +import { Dialog, DialogType, DialogFooter } from 'office-ui-fabric-react/lib/Dialog'; +import { Spinner, SpinnerSize } from 'office-ui-fabric-react/lib/Spinner'; import formatMessage from 'format-message'; -import once from 'lodash.once'; +import once from 'lodash/once'; import { StoreContext } from '../../store'; import { BoundAction } from '../../store/types'; diff --git a/Composer/packages/client/src/components/ToolBar/index.js b/Composer/packages/client/src/components/ToolBar/index.js index a8d59d9e0f..c579ac4651 100644 --- a/Composer/packages/client/src/components/ToolBar/index.js +++ b/Composer/packages/client/src/components/ToolBar/index.js @@ -1,7 +1,9 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -import React, { Fragment } from 'react'; +/** @jsx jsx */ +import { jsx } from '@emotion/core'; +import { Fragment } from 'react'; import { ActionButton } from 'office-ui-fabric-react/lib/Button'; import { headerSub, leftActions, rightActions, actionButton } from './styles'; diff --git a/Composer/packages/client/src/components/Tree/index.js b/Composer/packages/client/src/components/Tree/index.js index bd9b24bee3..75e5586d17 100644 --- a/Composer/packages/client/src/components/Tree/index.js +++ b/Composer/packages/client/src/components/Tree/index.js @@ -1,13 +1,14 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -import React from 'react'; +/** @jsx jsx */ +import { jsx } from '@emotion/core'; import { PropTypes } from 'prop-types'; import { container } from './styles'; export const Tree = props => ( -
+
{props.children}
); diff --git a/Composer/packages/client/src/extension-container/ExtensionContainer.tsx b/Composer/packages/client/src/extension-container/ExtensionContainer.tsx index 66aa822b7d..7ac8814c49 100644 --- a/Composer/packages/client/src/extension-container/ExtensionContainer.tsx +++ b/Composer/packages/client/src/extension-container/ExtensionContainer.tsx @@ -2,7 +2,7 @@ // Licensed under the MIT License. import React, { useState, useEffect } from 'react'; -import { initializeIcons } from 'office-ui-fabric-react'; +import { initializeIcons } from '@uifabric/icons'; import { LuFile, ShellData } from '@bfc/shared'; import ApiClient from '../messenger/ApiClient'; diff --git a/Composer/packages/client/src/pages/about/index.js b/Composer/packages/client/src/pages/about/index.tsx similarity index 96% rename from Composer/packages/client/src/pages/about/index.js rename to Composer/packages/client/src/pages/about/index.tsx index f96d796558..d7d7577f81 100644 --- a/Composer/packages/client/src/pages/about/index.js +++ b/Composer/packages/client/src/pages/about/index.tsx @@ -1,14 +1,16 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -import React from 'react'; +/** @jsx jsx */ +import { jsx } from '@emotion/core'; import { IconButton } from 'office-ui-fabric-react/lib/Button'; import { Link } from 'office-ui-fabric-react/lib/Link'; import formatMessage from 'format-message'; +import { RouteComponentProps } from '@reach/router'; import * as about from './styles'; -export const About = () => { +export const About: React.FC = () => { return (
diff --git a/Composer/packages/client/src/pages/design/index.tsx b/Composer/packages/client/src/pages/design/index.tsx index 5dd986387f..b4da4944ea 100644 --- a/Composer/packages/client/src/pages/design/index.tsx +++ b/Composer/packages/client/src/pages/design/index.tsx @@ -1,11 +1,16 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -import React, { Fragment, useCallback, useContext, useEffect, useMemo, useState } from 'react'; -import { ActionButton, Breadcrumb, Icon, IBreadcrumbItem } from 'office-ui-fabric-react'; +/** @jsx jsx */ +import { jsx } from '@emotion/core'; +import { Fragment, useCallback, useContext, useEffect, useMemo, useState } from 'react'; +import { ActionButton } from 'office-ui-fabric-react/lib/Button'; +import { Breadcrumb, IBreadcrumbItem } from 'office-ui-fabric-react/lib/Breadcrumb'; +import { Icon } from 'office-ui-fabric-react/lib/Icon'; import formatMessage from 'format-message'; import { globalHistory } from '@reach/router'; -import { toLower, get } from 'lodash'; +import toLower from 'lodash/toLower'; +import get from 'lodash/get'; import { PromptTab } from '@bfc/shared'; import { getNewDesigner, seedNewDialog } from '@bfc/shared'; @@ -381,7 +386,7 @@ function DesignPage(props) { />
{match && } - +
diff --git a/Composer/packages/client/src/pages/home/ExampleList.tsx b/Composer/packages/client/src/pages/home/ExampleList.tsx index 8e4644aa5d..a47af5e5c3 100644 --- a/Composer/packages/client/src/pages/home/ExampleList.tsx +++ b/Composer/packages/client/src/pages/home/ExampleList.tsx @@ -45,7 +45,7 @@ export const ExampleList: React.FC = props => {
{item.name}
-
{item.description.slice(0, 60)}
+
{item.description}
); diff --git a/Composer/packages/client/src/pages/home/index.tsx b/Composer/packages/client/src/pages/home/index.tsx index de1e4981e3..c2808f3c8a 100644 --- a/Composer/packages/client/src/pages/home/index.tsx +++ b/Composer/packages/client/src/pages/home/index.tsx @@ -1,10 +1,13 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. +/** @jsx jsx */ +import { jsx } from '@emotion/core'; import React, { useCallback, useContext, useEffect } from 'react'; -import { Link } from 'office-ui-fabric-react/lib/Link'; import formatMessage from 'format-message'; -import { Icon } from 'office-ui-fabric-react'; +import { Link } from 'office-ui-fabric-react/lib/Link'; +import { Icon } from 'office-ui-fabric-react/lib/Icon'; +import { RouteComponentProps } from '@reach/router'; import { StoreContext } from '../../store'; import { CreationFlowStatus } from '../../constants'; @@ -45,7 +48,7 @@ const turtorials = [ }, ]; -export const Home = props => { +const Home: React.FC = () => { const { state, actions } = useContext(StoreContext); const { botName, recentProjects, templateProjects } = state; const { @@ -224,3 +227,5 @@ export const Home = props => {
); }; + +export default Home; diff --git a/Composer/packages/client/src/pages/home/styles.ts b/Composer/packages/client/src/pages/home/styles.ts index fc4ba72b15..09852cda63 100644 --- a/Composer/packages/client/src/pages/home/styles.ts +++ b/Composer/packages/client/src/pages/home/styles.ts @@ -2,7 +2,7 @@ // Licensed under the MIT License. import { css } from '@emotion/core'; -import { IIconStyles } from 'office-ui-fabric-react'; +import { IIconStyles } from 'office-ui-fabric-react/lib/Icon'; import { ITheme, getTheme } from 'office-ui-fabric-react/lib/Styling'; import { Depths, MotionTimings, MotionDurations } from '@uifabric/fluent-theme'; diff --git a/Composer/packages/client/src/pages/language-generation/code-editor.js b/Composer/packages/client/src/pages/language-generation/code-editor.tsx similarity index 77% rename from Composer/packages/client/src/pages/language-generation/code-editor.js rename to Composer/packages/client/src/pages/language-generation/code-editor.tsx index d7b2d9cafa..075e01b43d 100644 --- a/Composer/packages/client/src/pages/language-generation/code-editor.js +++ b/Composer/packages/client/src/pages/language-generation/code-editor.tsx @@ -3,12 +3,20 @@ /* eslint-disable react/display-name */ import React, { useState, useEffect } from 'react'; -import { PropTypes } from 'prop-types'; import { LgEditor } from '@bfc/code-editor'; -import { get, debounce, isEmpty } from 'lodash'; +import get from 'lodash/get'; +import debounce from 'lodash/debounce'; +import isEmpty from 'lodash/isEmpty'; +import { CodeRange } from '@bfc/shared'; import * as lgUtil from '../../utils/lgUtil'; +interface CodeEditorProps { + file: object; + onChange: (value: string) => void; + codeRange: Partial; +} + export default function CodeEditor(props) { const { file, codeRange } = props; const onChange = debounce(props.onChange, 500); @@ -36,6 +44,9 @@ export default function CodeEditor(props) { return ( ); } - -CodeEditor.propTypes = { - file: PropTypes.object, - onChange: PropTypes.func, - codeRange: PropTypes.object, -}; diff --git a/Composer/packages/client/src/pages/language-generation/index.js b/Composer/packages/client/src/pages/language-generation/index.tsx similarity index 72% rename from Composer/packages/client/src/pages/language-generation/index.js rename to Composer/packages/client/src/pages/language-generation/index.tsx index e99f890045..65fc47e74f 100644 --- a/Composer/packages/client/src/pages/language-generation/index.js +++ b/Composer/packages/client/src/pages/language-generation/index.tsx @@ -1,12 +1,17 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -import React, { useContext, Fragment, useEffect, useState, useMemo } from 'react'; +/** @jsx jsx */ +import { jsx } from '@emotion/core'; +import React, { useContext, Fragment, useEffect, useState, useMemo, Suspense } from 'react'; import formatMessage from 'format-message'; import { Toggle } from 'office-ui-fabric-react/lib/Toggle'; -import { Nav } from 'office-ui-fabric-react/lib/Nav'; -import get from 'lodash.get'; +import { Nav, INavLinkGroup, INavLink } from 'office-ui-fabric-react/lib/Nav'; +import get from 'lodash/get'; +import { RouteComponentProps } from '@reach/router'; +import { CodeRange } from '@bfc/shared'; +import { LoadingSpinner } from '../../components/LoadingSpinner'; import { OpenAlertModal, DialogStyle } from '../../components/Modal'; import { StoreContext } from '../../store'; import { @@ -20,18 +25,19 @@ import { projectContainer, projectTree, projectWrapper } from '../design/styles' import { navigateTo } from '../../utils'; import * as lgUtil from '../../utils/lgUtil'; -import CodeEditor from './code-editor'; import { Tree } from './../../components/Tree'; import TableView from './table-view'; import { ToolBar } from './../../components/ToolBar/index'; import { TestController } from './../../TestController'; -export const LGPage = props => { +const CodeEditor = React.lazy(() => import('./code-editor')); + +const LGPage: React.FC = props => { const { state, actions } = useContext(StoreContext); const { lgFiles, dialogs } = state; const [editMode, setEditMode] = useState(false); const [fileValid, setFileValid] = useState(true); - const [codeRange, setCodeRange] = useState(null); + const [codeRange, setCodeRange] = useState(null); const subPath = props['*']; const isRoot = subPath === ''; @@ -41,32 +47,30 @@ export const LGPage = props => { // file. const lgFile = lgFiles.length ? lgFiles[0] : null; - const navLinks = useMemo(() => { - const subLinks = dialogs.reduce((result, file) => { - if (result.length === 0) { - result = [ - { - links: [], - }, - ]; - } - const item = { - id: file.id, - key: file.id, - name: file.displayName, - }; - - if (file.isRoot) { - result[0] = { - ...result[0], - ...item, - isExpanded: true, + const navLinks = useMemo(() => { + const subLinks = dialogs.reduce( + (result, file) => { + const item = { + id: file.id, + key: file.id, + name: file.displayName, + url: file.id, }; - } else { - result[0].links.push(item); - } - return result; - }, []); + + if (file.isRoot) { + result = { + ...result, + ...item, + isExpanded: true, + }; + } else { + result.links = result.links || []; + result.links.push(item); + } + return result; + }, + {} as INavLink + ); return [ { @@ -75,8 +79,9 @@ export const LGPage = props => { id: '_all', key: '_all', name: 'All', + url: '', isExpanded: true, - links: subLinks, + links: [subLinks], }, ], }, @@ -120,6 +125,10 @@ export const LGPage = props => { } async function onChange(newContent) { + if (!lgFile) { + return; + } + const payload = { id: lgFile.id, content: newContent, @@ -172,12 +181,14 @@ export const LGPage = props => {
- +
-
- {editMode ? ( - - ) : ( - - )} -
+ {lgFile && ( +
+ {editMode ? ( + }> + + + ) : ( + + )} +
+ )}
); }; + +export default LGPage; diff --git a/Composer/packages/client/src/pages/language-generation/table-view.js b/Composer/packages/client/src/pages/language-generation/table-view.tsx similarity index 90% rename from Composer/packages/client/src/pages/language-generation/table-view.js rename to Composer/packages/client/src/pages/language-generation/table-view.tsx index c7c1a784f0..b6ec6e59a4 100644 --- a/Composer/packages/client/src/pages/language-generation/table-view.js +++ b/Composer/packages/client/src/pages/language-generation/table-view.tsx @@ -1,45 +1,49 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -/* eslint-disable react/display-name */ +/** @jsx jsx */ +import { jsx } from '@emotion/core'; import React, { useContext, useRef, useEffect, useState } from 'react'; -import { PropTypes } from 'prop-types'; -import { debounce, isEmpty } from 'lodash'; +import debounce from 'lodash/debounce'; +import isEmpty from 'lodash/isEmpty'; import { DetailsList, DetailsListLayoutMode, SelectionMode } from 'office-ui-fabric-react/lib/DetailsList'; import { ActionButton } from 'office-ui-fabric-react/lib/Button'; import { Link } from 'office-ui-fabric-react/lib/Link'; -import { IconButton } from 'office-ui-fabric-react'; +import { IconButton } from 'office-ui-fabric-react/lib/Button'; import { TooltipHost } from 'office-ui-fabric-react/lib/Tooltip'; import { ScrollablePane, ScrollbarVisibility } from 'office-ui-fabric-react/lib/ScrollablePane'; import { Sticky, StickyPositionType } from 'office-ui-fabric-react/lib/Sticky'; import formatMessage from 'format-message'; import { NeutralColors, FontSizes } from '@uifabric/fluent-theme'; +import { DialogInfo, LgFile } from '@bfc/shared'; +import { LGTemplate } from 'botbuilder-lg'; import { StoreContext } from '../../store'; import * as lgUtil from '../../utils/lgUtil'; import { navigateTo } from '../../utils'; import { actionButton, formCell } from '../language-understanding/styles'; -export default function TableView(props) { +interface TableViewProps { + file: LgFile; + activeDialog?: DialogInfo; + onClickEdit: (template: LGTemplate) => void; +} + +const TableView: React.FC = props => { const { state, actions } = useContext(StoreContext); const { dialogs } = state; const { file: lgFile, activeDialog, onClickEdit } = props; const createLgTemplate = useRef(debounce(actions.createLgTemplate, 500)).current; const copyLgTemplate = useRef(debounce(actions.copyLgTemplate, 500)).current; const removeLgTemplate = useRef(debounce(actions.removeLgTemplate, 500)).current; - const [templates, setTemplates] = useState([]); + const [templates, setTemplates] = useState([]); const listRef = useRef(null); useEffect(() => { if (isEmpty(lgFile)) return; - let allTemplates = []; + let allTemplates: LGTemplate[] = []; try { - allTemplates = lgUtil.parse(lgFile.content).map((template, templateIndex) => { - return { - ...template, - index: templateIndex, - }; - }); + allTemplates = lgUtil.parse(lgFile.content); // mute lg file invalid cause page crash, setState is async, this component may render at first } catch (error) { console.error(error); @@ -48,7 +52,7 @@ export default function TableView(props) { if (!activeDialog) { setTemplates(allTemplates); } else { - const dialogsTemplates = []; + const dialogsTemplates: LGTemplate[] = []; activeDialog.lgTemplates.forEach(item => { const template = allTemplates.find(t => t.Name === item); if (template) { @@ -147,7 +151,7 @@ export default function TableView(props) { // build usedIn map templates.forEach(template => { - templateUsedInDialogMap[template.Name] = dialogs.reduce((result, dialog) => { + templateUsedInDialogMap[template.Name] = dialogs.reduce((result, dialog) => { if (dialog.lgTemplates.includes(template.Name)) { result.push(dialog.id); } @@ -267,10 +271,6 @@ export default function TableView(props) {
); -} - -TableView.propTypes = { - file: PropTypes.object, - activeDialog: PropTypes.object, - onClickEdit: PropTypes.func, }; + +export default TableView; diff --git a/Composer/packages/client/src/pages/language-understanding/code-editor.js b/Composer/packages/client/src/pages/language-understanding/code-editor.js index 95ed7df6e7..c339cc7974 100644 --- a/Composer/packages/client/src/pages/language-understanding/code-editor.js +++ b/Composer/packages/client/src/pages/language-understanding/code-editor.js @@ -5,7 +5,9 @@ import React, { useState, useEffect } from 'react'; import { PropTypes } from 'prop-types'; import { LuEditor } from '@bfc/code-editor'; -import { get, debounce, isEmpty } from 'lodash'; +import get from 'lodash/get'; +import debounce from 'lodash/debounce'; +import isEmpty from 'lodash/isEmpty'; import * as luUtil from '../../utils/luUtil'; diff --git a/Composer/packages/client/src/pages/language-understanding/index.js b/Composer/packages/client/src/pages/language-understanding/index.js index 42100bd99a..5a9964dda9 100644 --- a/Composer/packages/client/src/pages/language-understanding/index.js +++ b/Composer/packages/client/src/pages/language-understanding/index.js @@ -1,7 +1,9 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -import React, { useContext, Fragment, useEffect, useState, useMemo } from 'react'; +/** @jsx jsx */ +import { jsx } from '@emotion/core'; +import React, { useContext, Fragment, useEffect, useState, useMemo, Suspense } from 'react'; import formatMessage from 'format-message'; import { Toggle } from 'office-ui-fabric-react/lib/Toggle'; import { Nav } from 'office-ui-fabric-react/lib/Nav'; @@ -16,14 +18,16 @@ import { } from '../language-understanding/styles'; import { projectContainer, projectTree, projectWrapper } from '../design/styles'; import { navigateTo } from '../../utils'; +import { LoadingSpinner } from '../../components/LoadingSpinner'; -import CodeEditor from './code-editor'; import { Tree } from './../../components/Tree'; import TableView from './table-view'; import { ToolBar } from './../../components/ToolBar/index'; import { TestController } from './../../TestController'; -export const LUPage = props => { +const CodeEditor = React.lazy(() => import('./code-editor')); + +const LUPage = props => { const { state, actions } = useContext(StoreContext); const { luFiles, dialogs } = state; const [editMode, setEditMode] = useState(false); @@ -148,7 +152,7 @@ export const LUPage = props => {
- +
{editMode ? ( - + }> + + ) : ( )} @@ -187,3 +193,5 @@ export const LUPage = props => { ); }; + +export default LUPage; diff --git a/Composer/packages/client/src/pages/language-understanding/publish-luis-modal.js b/Composer/packages/client/src/pages/language-understanding/publish-luis-modal.js index ce2090d05e..b17e141391 100644 --- a/Composer/packages/client/src/pages/language-understanding/publish-luis-modal.js +++ b/Composer/packages/client/src/pages/language-understanding/publish-luis-modal.js @@ -1,24 +1,20 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -import React, { useState, useContext, Fragment } from 'react'; -import { - Dialog, - DialogType, - DialogFooter, - PrimaryButton, - DefaultButton, - TextField, - Spinner, - SpinnerSize, - Link, - Stack, - IconButton, - TooltipHost, -} from 'office-ui-fabric-react'; +/** @jsx jsx */ +import { jsx } from '@emotion/core'; +import { useState, useContext, Fragment } from 'react'; +import { Dialog, DialogType, DialogFooter } from 'office-ui-fabric-react/lib/Dialog'; +import { PrimaryButton, DefaultButton } from 'office-ui-fabric-react/lib/Button'; +import { TextField } from 'office-ui-fabric-react/lib/TextField'; +import { Link } from 'office-ui-fabric-react/lib/Link'; +import { IconButton } from 'office-ui-fabric-react/lib/Button'; +import { Spinner, SpinnerSize } from 'office-ui-fabric-react/lib/Spinner'; +import { Stack } from 'office-ui-fabric-react/lib/Stack'; +import { TooltipHost } from 'office-ui-fabric-react/lib/Tooltip'; import formatMessage from 'format-message'; import { PropTypes } from 'prop-types'; -import { keys } from 'lodash'; +import keys from 'lodash/keys'; import { StoreContext } from '../../store'; diff --git a/Composer/packages/client/src/pages/language-understanding/table-view.js b/Composer/packages/client/src/pages/language-understanding/table-view.js index e444939ef4..e1af376044 100644 --- a/Composer/packages/client/src/pages/language-understanding/table-view.js +++ b/Composer/packages/client/src/pages/language-understanding/table-view.js @@ -2,12 +2,15 @@ // Licensed under the MIT License. /* eslint-disable react/display-name */ -import React, { useContext, useRef, useEffect, useState } from 'react'; +/** @jsx jsx */ +import { jsx } from '@emotion/core'; +import { useContext, useRef, useEffect, useState } from 'react'; import { PropTypes } from 'prop-types'; -import { isEmpty, get } from 'lodash'; +import isEmpty from 'lodash/isEmpty'; +import get from 'lodash/get'; import { DetailsList, DetailsListLayoutMode, SelectionMode } from 'office-ui-fabric-react/lib/DetailsList'; import { Link } from 'office-ui-fabric-react/lib/Link'; -import { IconButton } from 'office-ui-fabric-react'; +import { IconButton } from 'office-ui-fabric-react/lib/Button'; import { TooltipHost } from 'office-ui-fabric-react/lib/Tooltip'; import { ScrollablePane, ScrollbarVisibility } from 'office-ui-fabric-react/lib/ScrollablePane'; import { Sticky, StickyPositionType } from 'office-ui-fabric-react/lib/Sticky'; diff --git a/Composer/packages/client/src/pages/setting/deployment/deployWizard.js b/Composer/packages/client/src/pages/setting/deployment/deployWizard.js index f1f339e98a..a44c84f7e7 100644 --- a/Composer/packages/client/src/pages/setting/deployment/deployWizard.js +++ b/Composer/packages/client/src/pages/setting/deployment/deployWizard.js @@ -3,7 +3,7 @@ import React, { Fragment, useState, useEffect } from 'react'; import formatMessage from 'format-message'; -import { Dialog, DialogType } from 'office-ui-fabric-react'; +import { Dialog, DialogType } from 'office-ui-fabric-react/lib/Dialog'; import { DeployWizardStepCreate } from './deployWizardStep-createDeploy'; import { DeployWizardStepDeploy } from './deployWizardStep-deployOnly'; diff --git a/Composer/packages/client/src/pages/setting/deployment/deployWizardStep-createDeploy.js b/Composer/packages/client/src/pages/setting/deployment/deployWizardStep-createDeploy.js index d8245177cd..7b4d47b4cb 100644 --- a/Composer/packages/client/src/pages/setting/deployment/deployWizardStep-createDeploy.js +++ b/Composer/packages/client/src/pages/setting/deployment/deployWizardStep-createDeploy.js @@ -3,16 +3,11 @@ import React, { Fragment, useContext, useState } from 'react'; import formatMessage from 'format-message'; -import { - Stack, - // Dropdown, - ComboBox, - DialogFooter, - PrimaryButton, - DefaultButton, - StackItem, - TextField, -} from 'office-ui-fabric-react'; +import { Stack, StackItem } from 'office-ui-fabric-react/lib/Stack'; +import { PrimaryButton, DefaultButton } from 'office-ui-fabric-react/lib/Button'; +import { DialogFooter } from 'office-ui-fabric-react/lib/Dialog'; +import { TextField } from 'office-ui-fabric-react/lib/TextField'; +import { ComboBox } from 'office-ui-fabric-react/lib/ComboBox'; import { StoreContext } from '../../../store'; diff --git a/Composer/packages/client/src/pages/setting/deployment/deployWizardStep-deployOnly.js b/Composer/packages/client/src/pages/setting/deployment/deployWizardStep-deployOnly.js index 40c5798b4f..5c65509981 100644 --- a/Composer/packages/client/src/pages/setting/deployment/deployWizardStep-deployOnly.js +++ b/Composer/packages/client/src/pages/setting/deployment/deployWizardStep-deployOnly.js @@ -3,7 +3,10 @@ import React, { Fragment, useContext, useState } from 'react'; import formatMessage from 'format-message'; -import { Stack, DialogFooter, PrimaryButton, DefaultButton, StackItem, TextField } from 'office-ui-fabric-react'; +import { Stack, StackItem } from 'office-ui-fabric-react/lib/Stack'; +import { PrimaryButton, DefaultButton } from 'office-ui-fabric-react/lib/Button'; +import { DialogFooter } from 'office-ui-fabric-react/lib/Dialog'; +import { TextField } from 'office-ui-fabric-react/lib/TextField'; import { StoreContext } from '../../../store'; diff --git a/Composer/packages/client/src/pages/setting/deployment/deployWizardStep-getCreate.js b/Composer/packages/client/src/pages/setting/deployment/deployWizardStep-getCreate.js index 71385e9852..274651e884 100644 --- a/Composer/packages/client/src/pages/setting/deployment/deployWizardStep-getCreate.js +++ b/Composer/packages/client/src/pages/setting/deployment/deployWizardStep-getCreate.js @@ -4,7 +4,10 @@ import React, { Fragment } from 'react'; import { useContext } from 'react'; import formatMessage from 'format-message'; -import { Stack, DialogFooter, PrimaryButton, DefaultButton, StackItem, TextField } from 'office-ui-fabric-react'; +import { Stack, StackItem } from 'office-ui-fabric-react/lib/Stack'; +import { PrimaryButton, DefaultButton } from 'office-ui-fabric-react/lib/Button'; +import { DialogFooter } from 'office-ui-fabric-react/lib/Dialog'; +import { TextField } from 'office-ui-fabric-react/lib/TextField'; import { StoreContext } from '../../../store'; diff --git a/Composer/packages/client/src/pages/setting/deployment/deployWizardStep-getDeploy.js b/Composer/packages/client/src/pages/setting/deployment/deployWizardStep-getDeploy.js index 55683e38ee..5697cfc81d 100644 --- a/Composer/packages/client/src/pages/setting/deployment/deployWizardStep-getDeploy.js +++ b/Composer/packages/client/src/pages/setting/deployment/deployWizardStep-getDeploy.js @@ -3,7 +3,10 @@ import React, { Fragment } from 'react'; import formatMessage from 'format-message'; -import { Stack, DialogFooter, PrimaryButton, StackItem, TextField } from 'office-ui-fabric-react'; +import { Stack, StackItem } from 'office-ui-fabric-react/lib/Stack'; +import { PrimaryButton } from 'office-ui-fabric-react/lib/Button'; +import { DialogFooter } from 'office-ui-fabric-react/lib/Dialog'; +import { TextField } from 'office-ui-fabric-react/lib/TextField'; import { styles } from './styles'; import processGif from './deploy-deploy-output.gif'; diff --git a/Composer/packages/client/src/pages/setting/deployment/index.js b/Composer/packages/client/src/pages/setting/deployment/index.js index ebeb612db5..b738856a65 100644 --- a/Composer/packages/client/src/pages/setting/deployment/index.js +++ b/Composer/packages/client/src/pages/setting/deployment/index.js @@ -3,7 +3,8 @@ import React, { useState, Fragment } from 'react'; import formatMessage from 'format-message'; -import { DefaultButton, Stack } from 'office-ui-fabric-react'; +import { DefaultButton } from 'office-ui-fabric-react/lib/Button'; +import { Stack } from 'office-ui-fabric-react/lib/Stack'; import { DeployWizard } from './deployWizard.js'; import { styles } from './styles'; diff --git a/Composer/packages/client/src/pages/setting/dialog-settings/index.tsx b/Composer/packages/client/src/pages/setting/dialog-settings/index.tsx index 3f77b9cf12..b3ea3052cb 100644 --- a/Composer/packages/client/src/pages/setting/dialog-settings/index.tsx +++ b/Composer/packages/client/src/pages/setting/dialog-settings/index.tsx @@ -6,7 +6,10 @@ import { jsx } from '@emotion/core'; import { useState, useContext } from 'react'; import { JsonEditor } from '@bfc/code-editor'; import formatMessage from 'format-message'; -import { DefaultButton, ChoiceGroup, Link, Toggle } from 'office-ui-fabric-react'; +import { DefaultButton } from 'office-ui-fabric-react/lib/Button'; +import { ChoiceGroup } from 'office-ui-fabric-react/lib/ChoiceGroup'; +import { Link } from 'office-ui-fabric-react/lib/Link'; +import { Toggle } from 'office-ui-fabric-react/lib/Toggle'; import { StoreContext } from '../../../store'; import { isAbsHosted } from '../../../utils/envUtil'; diff --git a/Composer/packages/client/src/pages/setting/index.js b/Composer/packages/client/src/pages/setting/index.tsx similarity index 71% rename from Composer/packages/client/src/pages/setting/index.js rename to Composer/packages/client/src/pages/setting/index.tsx index 821f59fcf6..94d6e18f3c 100644 --- a/Composer/packages/client/src/pages/setting/index.js +++ b/Composer/packages/client/src/pages/setting/index.tsx @@ -1,21 +1,23 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -import React, { Fragment, useState } from 'react'; +/** @jsx jsx */ +import { jsx } from '@emotion/core'; +import { Fragment, useState } from 'react'; import formatMessage from 'format-message'; -import { Nav } from 'office-ui-fabric-react'; -import { Link } from '@reach/router'; +import { Nav } from 'office-ui-fabric-react/lib/Nav'; +import { Link, RouteComponentProps } from '@reach/router'; import { ToolBar } from '../../components/ToolBar'; import { navigateTo } from '../../utils'; import { isAbsHosted } from '../../utils/envUtil'; +import { Tree } from '../../components/Tree/index'; +import { Conversation } from '../../components/Conversation/index'; +import { MainContent } from '../../components/MainContent/index'; +import { TestController } from '../../TestController'; import Routes from './router'; -import { Tree } from './../../components/Tree/index'; -import { Conversation } from './../../components/Conversation/index'; import { title, fileList, contentEditor, linkItem } from './styles'; -import { MainContent } from './../../components/MainContent/index'; -import { TestController } from './../../TestController'; const settingLabels = { title: formatMessage('Configuration'), @@ -27,15 +29,15 @@ const settingLabels = { const absHosted = isAbsHosted(); const links = [ - { key: '/setting/dialog-settings', name: settingLabels.settings }, - { key: `/setting/${absHosted ? 'remote-publish' : 'deployment'}`, name: settingLabels.publish }, - { key: '/setting/onboarding-settings', name: settingLabels.onboarding }, + { key: '/setting/dialog-settings', name: settingLabels.settings, url: '' }, + { key: `/setting/${absHosted ? 'remote-publish' : 'deployment'}`, name: settingLabels.publish, url: '' }, + { key: '/setting/onboarding-settings', name: settingLabels.onboarding, url: '' }, // { key: 'services', name: formatMessage('Services') }, // { key: 'composer-configuration', name: formatMessage('Composer configuration'), disabled: true }, // { key: 'publishing-staging', name: formatMessage('Publishing and staging'), disabled: true }, ]; -export const SettingPage = () => { +const SettingPage: React.FC = () => { const [active, setActive] = useState(); function onRenderLink(link) { @@ -44,10 +46,11 @@ export const SettingPage = () => { to={link.key} css={linkItem(link.disabled)} tabIndex={-1} - getProps={({ isCurrent }) => { - if (isCurrent && active !== link.key) { + getProps={linkProps => { + if (linkProps.isCurrent && active !== link.key) { setActive(link.key); } + return {}; }} onClick={() => {}} > @@ -78,13 +81,15 @@ export const SettingPage = () => { onRenderLink={onRenderLink} selectedKey={active} onLinkClick={(e, item) => { - navigateTo(item.key); + if (item && item.key) { + navigateTo(item.key); + } }} />
- + @@ -92,3 +97,5 @@ export const SettingPage = () => { ); }; + +export default SettingPage; diff --git a/Composer/packages/client/src/pages/setting/onboarding-settings/index.tsx b/Composer/packages/client/src/pages/setting/onboarding-settings/index.tsx index 3c0dd0afa5..56bb7b8599 100644 --- a/Composer/packages/client/src/pages/setting/onboarding-settings/index.tsx +++ b/Composer/packages/client/src/pages/setting/onboarding-settings/index.tsx @@ -1,7 +1,9 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -import React, { useCallback, useContext } from 'react'; +/** @jsx jsx */ +import { jsx } from '@emotion/core'; +import { useCallback, useContext } from 'react'; import formatMessage from 'format-message'; import { Toggle } from 'office-ui-fabric-react/lib/Toggle'; diff --git a/Composer/packages/client/src/pages/setting/remote-publish/index.js b/Composer/packages/client/src/pages/setting/remote-publish/index.js index ceedc5b242..a1984b2f16 100644 --- a/Composer/packages/client/src/pages/setting/remote-publish/index.js +++ b/Composer/packages/client/src/pages/setting/remote-publish/index.js @@ -4,18 +4,11 @@ import React, { useContext, useEffect, useState } from 'react'; import formatMessage from 'format-message'; import TimeAgo from 'react-timeago'; -import { - PrimaryButton, - DefaultButton, - Icon, - Stack, - StackItem, - Dialog, - DialogFooter, - DialogType, - Spinner, - SpinnerSize, -} from 'office-ui-fabric-react'; +import { PrimaryButton, DefaultButton } from 'office-ui-fabric-react/lib/Button'; +import { Icon } from 'office-ui-fabric-react/lib/Icon'; +import { Stack, StackItem } from 'office-ui-fabric-react/lib/Stack'; +import { Dialog, DialogFooter, DialogType } from 'office-ui-fabric-react/lib/Dialog'; +import { Spinner, SpinnerSize } from 'office-ui-fabric-react/lib/Spinner'; import { StoreContext } from './../../../store'; import { styles } from './styles'; diff --git a/Composer/packages/client/src/publishDialog.tsx b/Composer/packages/client/src/publishDialog.tsx index 858995f29a..ab2d83f3ba 100644 --- a/Composer/packages/client/src/publishDialog.tsx +++ b/Composer/packages/client/src/publishDialog.tsx @@ -2,7 +2,7 @@ // Licensed under the MIT License. import React from 'react'; -import { Dialog, DialogType } from 'office-ui-fabric-react'; +import { Dialog, DialogType } from 'office-ui-fabric-react/lib/Dialog'; import formatMessage from 'format-message'; import { dialog, dialogModal } from './pages/language-understanding/styles'; diff --git a/Composer/packages/client/src/router.tsx b/Composer/packages/client/src/router.tsx index 500ebefb41..7e21f73421 100644 --- a/Composer/packages/client/src/router.tsx +++ b/Composer/packages/client/src/router.tsx @@ -1,25 +1,30 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -import React, { useContext, useEffect } from 'react'; +/** @jsx jsx */ +import { jsx } from '@emotion/core'; +import React, { useContext, useEffect, useRef, Suspense } from 'react'; import { Router, Match, Redirect } from '@reach/router'; -import DesignPage from './pages/design'; -import { SettingPage } from './pages/setting'; -import { LUPage } from './pages/language-understanding'; -import { LGPage } from './pages/language-generation'; -import { Home } from './pages/home'; import { About } from './pages/about'; import { showDesign, data } from './styles'; import { NotFound } from './components/NotFound'; import { BASEPATH } from './constants'; import { StoreContext } from './store'; import { resolveToBasePath } from './utils/fileUtil'; +import { LoadingSpinner } from './components/LoadingSpinner'; + +const Home = React.lazy(() => import('./pages/home')); +const DesignPage = React.lazy(() => import('./pages/design')); +const LUPage = React.lazy(() => import('./pages/language-understanding')); +const LGPage = React.lazy(() => import('./pages/language-generation')); +const SettingPage = React.lazy(() => import('./pages/setting')); const Routes = props => { const { actions } = useContext(StoreContext); const Content = props.component; const parentProps = props; + const shouldRenderDesignPage = useRef(false); useEffect(() => { actions.fetchProject(); @@ -27,24 +32,32 @@ const Routes = props => { return ( - {({ match, navigate, location }) => ( -
- - - - {!match && ( - - - - - - - - - - )} -
- )} + {({ match, navigate, location }) => { + if (match) { + shouldRenderDesignPage.current = true; + } + + return ( +
+ }> + + {shouldRenderDesignPage.current && } + + {!match && ( + + + + + + + + + + )} + +
+ ); + }}
); }; diff --git a/Composer/packages/client/src/store/action/dialog.ts b/Composer/packages/client/src/store/action/dialog.ts index 275602d92c..b0e0b5a6fa 100644 --- a/Composer/packages/client/src/store/action/dialog.ts +++ b/Composer/packages/client/src/store/action/dialog.ts @@ -1,10 +1,10 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -import clonedeep from 'lodash.clonedeep'; -import { remove } from 'lodash'; +import clonedeep from 'lodash/cloneDeep'; +import reject from 'lodash/reject'; import { DialogInfo } from '@bfc/shared'; -import debounce from 'lodash.debounce'; +import debounce from 'lodash/debounce'; import { ActionCreator, State } from '../types'; import { undoable, Pick } from '../middlewares/undo'; @@ -19,9 +19,9 @@ import { fetchProject } from './project'; const pickDialog: Pick = (state: State, args: any[], isStackEmpty) => { const id = args[0]; const dialog = state.dialogs.find(dialog => dialog.id === id); - const dialogs = clonedeep(state.dialogs); + let dialogs = clonedeep(state.dialogs); if (!isStackEmpty) { - remove(dialogs, (item: DialogInfo) => item.id === id); + dialogs = reject(dialogs, ['id', id]); } return [{ id, content: dialog ? dialog.content : {}, dialogs }]; }; diff --git a/Composer/packages/client/src/store/action/setting.ts b/Composer/packages/client/src/store/action/setting.ts index 7383ece0a7..e4d17f681e 100644 --- a/Composer/packages/client/src/store/action/setting.ts +++ b/Composer/packages/client/src/store/action/setting.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -import { get } from 'lodash'; +import get from 'lodash/get'; import { SensitiveProperties } from '@bfc/shared'; import { ActionCreator, DialogSetting } from '../types'; diff --git a/Composer/packages/client/src/store/index.tsx b/Composer/packages/client/src/store/index.tsx index b74b0ab320..428d82da50 100644 --- a/Composer/packages/client/src/store/index.tsx +++ b/Composer/packages/client/src/store/index.tsx @@ -2,7 +2,7 @@ // Licensed under the MIT License. import React, { useReducer, useRef } from 'react'; -import once from 'lodash.once'; +import once from 'lodash/once'; import { prepareAxios } from '../utils/auth'; diff --git a/Composer/packages/client/src/store/middlewares/undo/history.ts b/Composer/packages/client/src/store/middlewares/undo/history.ts index f8b00988b3..e2024dc17a 100644 --- a/Composer/packages/client/src/store/middlewares/undo/history.ts +++ b/Composer/packages/client/src/store/middlewares/undo/history.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -import { keys } from 'lodash'; +import keys from 'lodash/keys'; import { ActionCreator } from '../../types'; diff --git a/Composer/packages/client/src/store/middlewares/undo/stack.ts b/Composer/packages/client/src/store/middlewares/undo/stack.ts index 671ef055fb..3658723f20 100644 --- a/Composer/packages/client/src/store/middlewares/undo/stack.ts +++ b/Composer/packages/client/src/store/middlewares/undo/stack.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -import { uniqueId } from 'lodash'; +import uniqueId from 'lodash/uniqueId'; import { ActionCreator, Store } from '../../types'; diff --git a/Composer/packages/client/src/store/reducer/index.ts b/Composer/packages/client/src/store/reducer/index.ts index 9823589a28..40f7fd0890 100644 --- a/Composer/packages/client/src/store/reducer/index.ts +++ b/Composer/packages/client/src/store/reducer/index.ts @@ -1,7 +1,8 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -import { get, set } from 'lodash'; +import get from 'lodash/get'; +import set from 'lodash/set'; import { dialogIndexer } from '@bfc/indexers/lib/dialogIndexer'; import { SensitiveProperties } from '@bfc/shared'; diff --git a/Composer/packages/client/src/utils/dialogSettingStorage.ts b/Composer/packages/client/src/utils/dialogSettingStorage.ts index e34f1aa815..511d20a28a 100644 --- a/Composer/packages/client/src/utils/dialogSettingStorage.ts +++ b/Composer/packages/client/src/utils/dialogSettingStorage.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -import { set } from 'lodash'; +import set from 'lodash/set'; import storage from './storage'; diff --git a/Composer/packages/client/src/utils/dialogUtil.ts b/Composer/packages/client/src/utils/dialogUtil.ts index aac6b0e4ab..99d0eaad8b 100644 --- a/Composer/packages/client/src/utils/dialogUtil.ts +++ b/Composer/packages/client/src/utils/dialogUtil.ts @@ -2,9 +2,11 @@ // Licensed under the MIT License. import { ConceptLabels, DialogGroup, SDKTypes, dialogGroups, seedNewDialog } from '@bfc/shared'; -import { cloneDeep, get, set } from 'lodash'; +import get from 'lodash/get'; +import set from 'lodash/set'; +import cloneDeep from 'lodash/cloneDeep'; import { ExpressionEngine } from 'botbuilder-expression-parser'; -import { IDropdownOption } from 'office-ui-fabric-react'; +import { IDropdownOption } from 'office-ui-fabric-react/lib/Dropdown'; import { DialogInfo } from '@bfc/shared'; import { getFocusPath } from './navigation'; diff --git a/Composer/packages/client/src/utils/lgUtil.ts b/Composer/packages/client/src/utils/lgUtil.ts index af92667ecb..e40e00303c 100644 --- a/Composer/packages/client/src/utils/lgUtil.ts +++ b/Composer/packages/client/src/utils/lgUtil.ts @@ -8,7 +8,7 @@ */ import { LGParser, StaticChecker, DiagnosticSeverity, ImportResolver, Diagnostic, LGTemplate } from 'botbuilder-lg'; -import get from 'lodash.get'; +import get from 'lodash/get'; const lgStaticChecker = new StaticChecker(); diff --git a/Composer/packages/client/src/utils/navigation.ts b/Composer/packages/client/src/utils/navigation.ts index 4030d7db4b..412496422e 100644 --- a/Composer/packages/client/src/utils/navigation.ts +++ b/Composer/packages/client/src/utils/navigation.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -import { cloneDeep } from 'lodash'; +import cloneDeep from 'lodash/cloneDeep'; import { navigate, NavigateOptions } from '@reach/router'; import { BreadcrumbItem, DesignPageLocation } from '../store/types'; diff --git a/Composer/packages/client/tsconfig.build.json b/Composer/packages/client/tsconfig.build.json new file mode 100644 index 0000000000..398b6a50b3 --- /dev/null +++ b/Composer/packages/client/tsconfig.build.json @@ -0,0 +1,4 @@ +{ + "extends": "./tsconfig.json", + "include": ["./src/**/*"] +} diff --git a/Composer/packages/client/tsconfig.json b/Composer/packages/client/tsconfig.json index 9e197cb6c2..46407dba78 100644 --- a/Composer/packages/client/tsconfig.json +++ b/Composer/packages/client/tsconfig.json @@ -1,16 +1,15 @@ { "compilerOptions": { - "outDir": "./dist/", "noImplicitAny": false, - "module": "es6", + "module": "esnext", "target": "es5", - "jsx": "preserve", + "jsx": "react", "sourceMap": true, - "declaration": true, "moduleResolution": "node", "esModuleInterop": true, "strict": true, - "resolveJsonModule": true + "resolveJsonModule": true, + "allowJs": true }, "include": ["./src/**/*", "./__tests__/**/*"], "exclude": [ diff --git a/Composer/packages/extensions/obiformeditor/__tests__/jestMocks/schema.ts b/Composer/packages/extensions/obiformeditor/__tests__/jestMocks/schema.ts index 798cc44ada..56f423d8c3 100644 --- a/Composer/packages/extensions/obiformeditor/__tests__/jestMocks/schema.ts +++ b/Composer/packages/extensions/obiformeditor/__tests__/jestMocks/schema.ts @@ -2,7 +2,7 @@ // Licensed under the MIT License. import { JSONSchema6 } from 'json-schema'; -import merge from 'lodash.merge'; +import merge from 'lodash/merge'; const schema: JSONSchema6 = { title: 'Mock Schema', diff --git a/Composer/packages/extensions/obiformeditor/demo/src/index.tsx b/Composer/packages/extensions/obiformeditor/demo/src/index.tsx index 911a73aa0c..8f097f2474 100644 --- a/Composer/packages/extensions/obiformeditor/demo/src/index.tsx +++ b/Composer/packages/extensions/obiformeditor/demo/src/index.tsx @@ -2,7 +2,7 @@ import React, { Fragment, useState, useEffect, useRef } from 'react'; import { render } from 'react-dom'; import { Controlled as CodeMirror } from 'react-codemirror2'; import { PrimaryButton, DefaultButton, DirectionalHint } from 'office-ui-fabric-react'; -import debounce from 'lodash.debounce'; +import debounce from 'lodash/debounce'; import nanoid from 'nanoid'; import { initializeIcons } from '@uifabric/icons'; import { ExpressionEngine } from 'botbuilder-expression-parser'; diff --git a/Composer/packages/extensions/obiformeditor/package.json b/Composer/packages/extensions/obiformeditor/package.json index c6ab1ea358..83afabd09b 100644 --- a/Composer/packages/extensions/obiformeditor/package.json +++ b/Composer/packages/extensions/obiformeditor/package.json @@ -32,12 +32,7 @@ "@uifabric/styling": "7.7.1", "classnames": "^2.2.6", "format-message": "^6.2.1", - "lodash.debounce": "^4.0.8", - "lodash.get": "^4.4.2", - "lodash.isequal": "^4.5.0", - "lodash.merge": "^4.6.2", - "lodash.omit": "^4.5.0", - "lodash.pick": "^4.4.0", + "lodash": "^4.17.15", "nanoid": "^2.0.1", "office-ui-fabric-react": "7.37.1", "react-error-boundary": "^1.2.5" @@ -56,14 +51,7 @@ "@types/codemirror": "^0.0.74", "@types/jest": "^24.0.11", "@types/json-schema": "^7.0.3", - "@types/lodash": "^4.14.123", - "@types/lodash.debounce": "^4.0.6", - "@types/lodash.get": "^4.4.6", - "@types/lodash.isequal": "^4.5.5", - "@types/lodash.merge": "^4.6.6", - "@types/lodash.omit": "^4.5.6", - "@types/lodash.pick": "^4.4.6", - "@types/lodash.startcase": "^4.4.6", + "@types/lodash": "^4.14.146", "@types/nanoid": "^1.2.1", "@types/react": "16.9.0", "@types/react-dom": "16.9.0", @@ -83,7 +71,7 @@ "react-testing-library": "^6.0.2", "rimraf": "^2.6.3", "style-loader": "^0.23.1", - "ts-jest": "^24.0.2", + "ts-jest": "^24.1.0", "ts-loader": "^5.3.3", "tsconfig-paths-webpack-plugin": "^3.2.0", "url-loader": "^1.1.2", diff --git a/Composer/packages/extensions/obiformeditor/src/Form/ArrayFieldTemplate/ArrayItem.tsx b/Composer/packages/extensions/obiformeditor/src/Form/ArrayFieldTemplate/ArrayItem.tsx index fc9964c562..94a2dedbab 100644 --- a/Composer/packages/extensions/obiformeditor/src/Form/ArrayFieldTemplate/ArrayItem.tsx +++ b/Composer/packages/extensions/obiformeditor/src/Form/ArrayFieldTemplate/ArrayItem.tsx @@ -2,8 +2,8 @@ // Licensed under the MIT License. import React from 'react'; -import { IconButton } from 'office-ui-fabric-react'; -import { IContextualMenuItem } from 'office-ui-fabric-react'; +import { IconButton } from 'office-ui-fabric-react/lib/Button'; +import { IContextualMenuItem } from 'office-ui-fabric-react/lib/ContextualMenu'; import { ArrayFieldItem } from '@bfcomposer/react-jsonschema-form'; import formatMessage from 'format-message'; import { NeutralColors, FontSizes } from '@uifabric/fluent-theme'; diff --git a/Composer/packages/extensions/obiformeditor/src/Form/ArrayFieldTemplate/IDialogArray.tsx b/Composer/packages/extensions/obiformeditor/src/Form/ArrayFieldTemplate/IDialogArray.tsx index 5dcadd621f..af5bda01d8 100644 --- a/Composer/packages/extensions/obiformeditor/src/Form/ArrayFieldTemplate/IDialogArray.tsx +++ b/Composer/packages/extensions/obiformeditor/src/Form/ArrayFieldTemplate/IDialogArray.tsx @@ -2,7 +2,7 @@ // Licensed under the MIT License. import React from 'react'; -import { PrimaryButton } from 'office-ui-fabric-react'; +import { PrimaryButton } from 'office-ui-fabric-react/lib/Button'; import { ArrayFieldTemplateProps } from '@bfcomposer/react-jsonschema-form'; import formatMessage from 'format-message'; import { createStepMenu, DialogGroup } from '@bfc/shared'; diff --git a/Composer/packages/extensions/obiformeditor/src/Form/ArrayFieldTemplate/ObjectArray.tsx b/Composer/packages/extensions/obiformeditor/src/Form/ArrayFieldTemplate/ObjectArray.tsx index 86ada8ada6..2147497540 100644 --- a/Composer/packages/extensions/obiformeditor/src/Form/ArrayFieldTemplate/ObjectArray.tsx +++ b/Composer/packages/extensions/obiformeditor/src/Form/ArrayFieldTemplate/ObjectArray.tsx @@ -2,7 +2,7 @@ // Licensed under the MIT License. import React from 'react'; -import { DefaultButton } from 'office-ui-fabric-react'; +import { DefaultButton } from 'office-ui-fabric-react/lib/Button'; import { ArrayFieldTemplateProps } from '@bfcomposer/react-jsonschema-form'; import formatMessage from 'format-message'; diff --git a/Composer/packages/extensions/obiformeditor/src/Form/ArrayFieldTemplate/StringArray.tsx b/Composer/packages/extensions/obiformeditor/src/Form/ArrayFieldTemplate/StringArray.tsx index 8bf7b48dbc..5f9161dd1c 100644 --- a/Composer/packages/extensions/obiformeditor/src/Form/ArrayFieldTemplate/StringArray.tsx +++ b/Composer/packages/extensions/obiformeditor/src/Form/ArrayFieldTemplate/StringArray.tsx @@ -2,7 +2,7 @@ // Licensed under the MIT License. import React from 'react'; -import { DefaultButton } from 'office-ui-fabric-react'; +import { DefaultButton } from 'office-ui-fabric-react/lib/Button'; import { ArrayFieldTemplateProps } from '@bfcomposer/react-jsonschema-form'; import formatMessage from 'format-message'; diff --git a/Composer/packages/extensions/obiformeditor/src/Form/FieldTemplate.tsx b/Composer/packages/extensions/obiformeditor/src/Form/FieldTemplate.tsx index 5174f1f364..14402b0ff7 100644 --- a/Composer/packages/extensions/obiformeditor/src/Form/FieldTemplate.tsx +++ b/Composer/packages/extensions/obiformeditor/src/Form/FieldTemplate.tsx @@ -2,7 +2,7 @@ // Licensed under the MIT License. import React from 'react'; -import get from 'lodash.get'; +import get from 'lodash/get'; import { FieldTemplateProps } from '@bfcomposer/react-jsonschema-form'; import { FIELDS_TO_HIDE } from '@bfc/shared'; diff --git a/Composer/packages/extensions/obiformeditor/src/Form/ObjectFieldTemplate/NewPropertyModal.tsx b/Composer/packages/extensions/obiformeditor/src/Form/ObjectFieldTemplate/NewPropertyModal.tsx index 8f14a319e3..aac4195e0e 100644 --- a/Composer/packages/extensions/obiformeditor/src/Form/ObjectFieldTemplate/NewPropertyModal.tsx +++ b/Composer/packages/extensions/obiformeditor/src/Form/ObjectFieldTemplate/NewPropertyModal.tsx @@ -2,10 +2,11 @@ // Licensed under the MIT License. import React, { useState, FormEvent } from 'react'; -import { TextField, PrimaryButton } from 'office-ui-fabric-react'; +import { TextField } from 'office-ui-fabric-react/lib/TextField'; +import { PrimaryButton } from 'office-ui-fabric-react/lib/Button'; import formatMessage from 'format-message'; import { JSONSchema6 } from 'json-schema'; -import get from 'lodash.get'; +import get from 'lodash/get'; import Modal from '../../Modal'; diff --git a/Composer/packages/extensions/obiformeditor/src/Form/ObjectFieldTemplate/ObjectItem.tsx b/Composer/packages/extensions/obiformeditor/src/Form/ObjectFieldTemplate/ObjectItem.tsx index fa334b8400..52c1492894 100644 --- a/Composer/packages/extensions/obiformeditor/src/Form/ObjectFieldTemplate/ObjectItem.tsx +++ b/Composer/packages/extensions/obiformeditor/src/Form/ObjectFieldTemplate/ObjectItem.tsx @@ -2,7 +2,8 @@ // Licensed under the MIT License. import React from 'react'; -import { IContextualMenuItem, ContextualMenuItemType, IconButton } from 'office-ui-fabric-react'; +import { IContextualMenuItem, ContextualMenuItemType } from 'office-ui-fabric-react/lib/ContextualMenu'; +import { IconButton } from 'office-ui-fabric-react/lib/Button'; import formatMessage from 'format-message'; import { NeutralColors, FontSizes } from '@uifabric/fluent-theme'; import classnames from 'classnames'; diff --git a/Composer/packages/extensions/obiformeditor/src/Form/ObjectFieldTemplate/index.tsx b/Composer/packages/extensions/obiformeditor/src/Form/ObjectFieldTemplate/index.tsx index 1b2e931ad9..c3eee380a8 100644 --- a/Composer/packages/extensions/obiformeditor/src/Form/ObjectFieldTemplate/index.tsx +++ b/Composer/packages/extensions/obiformeditor/src/Form/ObjectFieldTemplate/index.tsx @@ -2,10 +2,10 @@ // Licensed under the MIT License. import React, { useState } from 'react'; -import { DefaultButton } from 'office-ui-fabric-react'; +import { DefaultButton } from 'office-ui-fabric-react/lib/Button'; import { getUiOptions } from '@bfcomposer/react-jsonschema-form/lib/utils'; -import get from 'lodash.get'; -import omit from 'lodash.omit'; +import get from 'lodash/get'; +import omit from 'lodash/omit'; import { ObjectFieldTemplateProps } from '@bfcomposer/react-jsonschema-form'; import formatMessage from 'format-message'; diff --git a/Composer/packages/extensions/obiformeditor/src/Form/fields/BaseField.tsx b/Composer/packages/extensions/obiformeditor/src/Form/fields/BaseField.tsx index bd76b04eb3..f1748a4e91 100644 --- a/Composer/packages/extensions/obiformeditor/src/Form/fields/BaseField.tsx +++ b/Composer/packages/extensions/obiformeditor/src/Form/fields/BaseField.tsx @@ -2,10 +2,10 @@ // Licensed under the MIT License. import React from 'react'; -import startCase from 'lodash.startcase'; +import startCase from 'lodash/startCase'; import { JSONSchema6 } from 'json-schema'; import { IdSchema, UiSchema } from '@bfcomposer/react-jsonschema-form'; -import get from 'lodash.get'; +import get from 'lodash/get'; import classnames from 'classnames'; import { FormContext } from '../types'; diff --git a/Composer/packages/extensions/obiformeditor/src/Form/fields/CasesField.tsx b/Composer/packages/extensions/obiformeditor/src/Form/fields/CasesField.tsx index 4984dadb63..59eaf1ac92 100644 --- a/Composer/packages/extensions/obiformeditor/src/Form/fields/CasesField.tsx +++ b/Composer/packages/extensions/obiformeditor/src/Form/fields/CasesField.tsx @@ -5,10 +5,12 @@ import { jsx } from '@emotion/core'; import React, { useState } from 'react'; import formatMessage from 'format-message'; -import { IContextualMenuItem, IconButton, TextField } from 'office-ui-fabric-react'; +import { IContextualMenuItem } from 'office-ui-fabric-react/lib/ContextualMenu'; +import { IconButton } from 'office-ui-fabric-react/lib/Button'; +import { TextField } from 'office-ui-fabric-react/lib/TextField'; import { NeutralColors, FontSizes } from '@uifabric/fluent-theme'; import { CaseCondition } from '@bfc/shared'; -import cloneDeep from 'lodash.clonedeep'; +import cloneDeep from 'lodash/cloneDeep'; import { swap, remove } from '../utils'; import { BFDFieldProps } from '../types'; diff --git a/Composer/packages/extensions/obiformeditor/src/Form/fields/CodeField.tsx b/Composer/packages/extensions/obiformeditor/src/Form/fields/CodeField.tsx index 09638914c8..1432c8cfd4 100644 --- a/Composer/packages/extensions/obiformeditor/src/Form/fields/CodeField.tsx +++ b/Composer/packages/extensions/obiformeditor/src/Form/fields/CodeField.tsx @@ -4,7 +4,8 @@ import React, { useState } from 'react'; import { UnControlled as CodeMirror } from 'react-codemirror2'; import { FieldProps } from '@bfcomposer/react-jsonschema-form'; -import { Dropdown, IDropdownOption, MessageBar, MessageBarType } from 'office-ui-fabric-react'; +import { Dropdown, IDropdownOption } from 'office-ui-fabric-react/lib/Dropdown'; +import { MessageBar, MessageBarType } from 'office-ui-fabric-react/lib/MessageBar'; import formatMessage from 'format-message'; import 'codemirror/mode/javascript/javascript'; diff --git a/Composer/packages/extensions/obiformeditor/src/Form/fields/DesignerField.tsx b/Composer/packages/extensions/obiformeditor/src/Form/fields/DesignerField.tsx index 2a2ea7e860..28e8949264 100644 --- a/Composer/packages/extensions/obiformeditor/src/Form/fields/DesignerField.tsx +++ b/Composer/packages/extensions/obiformeditor/src/Form/fields/DesignerField.tsx @@ -4,9 +4,9 @@ import React, { useEffect } from 'react'; import formatMessage from 'format-message'; import { getDesignerId, DesignerData } from '@bfc/shared'; -import { TextField } from 'office-ui-fabric-react'; +import { TextField } from 'office-ui-fabric-react/lib/TextField'; import { NeutralColors } from '@uifabric/fluent-theme'; -import get from 'lodash.get'; +import get from 'lodash/get'; import './DesignerField.css'; diff --git a/Composer/packages/extensions/obiformeditor/src/Form/fields/EditableField.tsx b/Composer/packages/extensions/obiformeditor/src/Form/fields/EditableField.tsx index d145d6722b..ab11d33236 100644 --- a/Composer/packages/extensions/obiformeditor/src/Form/fields/EditableField.tsx +++ b/Composer/packages/extensions/obiformeditor/src/Form/fields/EditableField.tsx @@ -2,7 +2,7 @@ // Licensed under the MIT License. import React, { useState, useEffect } from 'react'; -import { TextField, ITextFieldStyles, ITextFieldProps } from 'office-ui-fabric-react'; +import { TextField, ITextFieldStyles, ITextFieldProps } from 'office-ui-fabric-react/lib/TextField'; import { NeutralColors } from '@uifabric/fluent-theme'; import { mergeStyles } from '@uifabric/styling'; diff --git a/Composer/packages/extensions/obiformeditor/src/Form/fields/LgEditorField.tsx b/Composer/packages/extensions/obiformeditor/src/Form/fields/LgEditorField.tsx index fc33b0736d..bafb511190 100644 --- a/Composer/packages/extensions/obiformeditor/src/Form/fields/LgEditorField.tsx +++ b/Composer/packages/extensions/obiformeditor/src/Form/fields/LgEditorField.tsx @@ -1,22 +1,26 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -import React from 'react'; +import React, { Suspense } from 'react'; import { BFDFieldProps } from '../types'; -import { LgEditorWidget } from '../widgets/LgEditorWidget'; +import { LoadingSpinner } from '../../LoadingSpinner'; import { BaseField } from './BaseField'; +const LgEditorWidget = React.lazy(() => import('../widgets/LgEditorWidget')); + export const LgEditorField: React.FC = props => { return ( - + }> + + ); }; diff --git a/Composer/packages/extensions/obiformeditor/src/Form/fields/PromptField/ChoiceInput/ChoiceOptions.tsx b/Composer/packages/extensions/obiformeditor/src/Form/fields/PromptField/ChoiceInput/ChoiceOptions.tsx index c24e4eb476..95c544bced 100644 --- a/Composer/packages/extensions/obiformeditor/src/Form/fields/PromptField/ChoiceInput/ChoiceOptions.tsx +++ b/Composer/packages/extensions/obiformeditor/src/Form/fields/PromptField/ChoiceInput/ChoiceOptions.tsx @@ -1,10 +1,12 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -import React from 'react'; +/** @jsx jsx */ +import { jsx } from '@emotion/core'; +import React, { Fragment } from 'react'; import formatMessage from 'format-message'; import { IdSchema } from '@bfcomposer/react-jsonschema-form'; -import get from 'lodash.get'; +import get from 'lodash/get'; import { IChoiceOption, OBISchema } from '@bfc/shared'; import { field } from '../styles'; @@ -27,7 +29,7 @@ export const ChoiceOptions: React.FC = props => { }; return ( - <> +
= props => { formContext={formContext} />
- +
); }; diff --git a/Composer/packages/extensions/obiformeditor/src/Form/fields/PromptField/ChoiceInput/Choices.tsx b/Composer/packages/extensions/obiformeditor/src/Form/fields/PromptField/ChoiceInput/Choices.tsx index 79b3e158b8..cd1650871b 100644 --- a/Composer/packages/extensions/obiformeditor/src/Form/fields/PromptField/ChoiceInput/Choices.tsx +++ b/Composer/packages/extensions/obiformeditor/src/Form/fields/PromptField/ChoiceInput/Choices.tsx @@ -6,7 +6,9 @@ import { jsx } from '@emotion/core'; import React, { useState } from 'react'; import { JSONSchema6 } from 'json-schema'; import formatMessage from 'format-message'; -import { TextField, IconButton, IContextualMenuItem } from 'office-ui-fabric-react'; +import { TextField } from 'office-ui-fabric-react/lib/TextField'; +import { IconButton } from 'office-ui-fabric-react/lib/Button'; +import { IContextualMenuItem } from 'office-ui-fabric-react/lib/ContextualMenu'; import { NeutralColors, FontSizes } from '@uifabric/fluent-theme'; import { IChoice } from '@bfc/shared'; diff --git a/Composer/packages/extensions/obiformeditor/src/Form/fields/PromptField/ChoiceInput/index.tsx b/Composer/packages/extensions/obiformeditor/src/Form/fields/PromptField/ChoiceInput/index.tsx index d5c09e251a..c17609e6b5 100644 --- a/Composer/packages/extensions/obiformeditor/src/Form/fields/PromptField/ChoiceInput/index.tsx +++ b/Composer/packages/extensions/obiformeditor/src/Form/fields/PromptField/ChoiceInput/index.tsx @@ -1,7 +1,9 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -import React from 'react'; +/** @jsx jsx */ +import { jsx } from '@emotion/core'; +import React, { Fragment } from 'react'; import { FieldProps, IdSchema } from '@bfcomposer/react-jsonschema-form'; import formatMessage from 'format-message'; import { ChoiceInput, IChoiceOption } from '@bfc/shared'; @@ -27,7 +29,7 @@ export const ChoiceInputSettings: React.FC = props => }; return ( - <> + = props => formContext={formContext} />
- + ); }; diff --git a/Composer/packages/extensions/obiformeditor/src/Form/fields/PromptField/UserInput.tsx b/Composer/packages/extensions/obiformeditor/src/Form/fields/PromptField/UserInput.tsx index a1f2db72d7..2f6e01d125 100644 --- a/Composer/packages/extensions/obiformeditor/src/Form/fields/PromptField/UserInput.tsx +++ b/Composer/packages/extensions/obiformeditor/src/Form/fields/PromptField/UserInput.tsx @@ -1,7 +1,9 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -import React from 'react'; +/** @jsx jsx */ +import { jsx } from '@emotion/core'; +import React, { Fragment } from 'react'; import { FieldProps } from '@bfcomposer/react-jsonschema-form'; import formatMessage from 'format-message'; import { JSONSchema6 } from 'json-schema'; @@ -31,7 +33,7 @@ export const UserInput: React.FC = props => { const { onChange, getSchema, idSchema, formData, errorSchema } = props; return ( - <> +
= props => { {formData.$type === SDKTypes.ConfirmInput && ( )} - + ); }; diff --git a/Composer/packages/extensions/obiformeditor/src/Form/fields/PromptField/Validations.tsx b/Composer/packages/extensions/obiformeditor/src/Form/fields/PromptField/Validations.tsx index b77d0bf256..376e93097f 100644 --- a/Composer/packages/extensions/obiformeditor/src/Form/fields/PromptField/Validations.tsx +++ b/Composer/packages/extensions/obiformeditor/src/Form/fields/PromptField/Validations.tsx @@ -6,7 +6,8 @@ import { jsx } from '@emotion/core'; import React, { useState } from 'react'; import formatMessage from 'format-message'; import { JSONSchema6 } from 'json-schema'; -import { IconButton, IContextualMenuItem } from 'office-ui-fabric-react'; +import { IconButton } from 'office-ui-fabric-react/lib/Button'; +import { IContextualMenuItem } from 'office-ui-fabric-react/lib/ContextualMenu'; import { NeutralColors, FontSizes } from '@uifabric/fluent-theme'; import { swap, remove } from '../../utils'; diff --git a/Composer/packages/extensions/obiformeditor/src/Form/fields/PromptField/index.tsx b/Composer/packages/extensions/obiformeditor/src/Form/fields/PromptField/index.tsx index 35e57ec272..e1c1a6a4b8 100644 --- a/Composer/packages/extensions/obiformeditor/src/Form/fields/PromptField/index.tsx +++ b/Composer/packages/extensions/obiformeditor/src/Form/fields/PromptField/index.tsx @@ -6,8 +6,8 @@ import { jsx } from '@emotion/core'; import React from 'react'; import { IdSchema } from '@bfcomposer/react-jsonschema-form'; import formatMessage from 'format-message'; -import { Pivot, PivotLinkSize, PivotItem } from 'office-ui-fabric-react'; -import get from 'lodash.get'; +import { Pivot, PivotLinkSize, PivotItem } from 'office-ui-fabric-react/lib/Pivot'; +import get from 'lodash/get'; import { PromptTab } from '@bfc/shared'; import { BaseField } from '../BaseField'; diff --git a/Composer/packages/extensions/obiformeditor/src/Form/fields/PromptField/styles.ts b/Composer/packages/extensions/obiformeditor/src/Form/fields/PromptField/styles.ts index 9122b28e86..e72e63dd59 100644 --- a/Composer/packages/extensions/obiformeditor/src/Form/fields/PromptField/styles.ts +++ b/Composer/packages/extensions/obiformeditor/src/Form/fields/PromptField/styles.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -import { IPivotStyles } from 'office-ui-fabric-react'; +import { IPivotStyles } from 'office-ui-fabric-react/lib/Pivot'; import { css } from '@emotion/core'; export const tabs: Partial = { diff --git a/Composer/packages/extensions/obiformeditor/src/Form/fields/RecognizerField/ToggleEditor.tsx b/Composer/packages/extensions/obiformeditor/src/Form/fields/RecognizerField/ToggleEditor.tsx index 29a806714c..18345b64ba 100644 --- a/Composer/packages/extensions/obiformeditor/src/Form/fields/RecognizerField/ToggleEditor.tsx +++ b/Composer/packages/extensions/obiformeditor/src/Form/fields/RecognizerField/ToggleEditor.tsx @@ -2,7 +2,8 @@ // Licensed under the MIT License. import React, { useState, ReactNode } from 'react'; -import { Link, FontSizes } from 'office-ui-fabric-react'; +import { Link } from 'office-ui-fabric-react/lib/Link'; +import { FontSizes } from 'office-ui-fabric-react/lib/Styling'; import formatMessage from 'format-message'; interface ToggleEditorProps { diff --git a/Composer/packages/extensions/obiformeditor/src/Form/fields/RecognizerField/index.tsx b/Composer/packages/extensions/obiformeditor/src/Form/fields/RecognizerField/index.tsx index 3d45fe8ab7..36642be565 100644 --- a/Composer/packages/extensions/obiformeditor/src/Form/fields/RecognizerField/index.tsx +++ b/Composer/packages/extensions/obiformeditor/src/Form/fields/RecognizerField/index.tsx @@ -1,20 +1,23 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -import React, { useState, ReactElement } from 'react'; +import React, { useState, ReactElement, Suspense } from 'react'; import formatMessage from 'format-message'; import { FieldProps } from '@bfcomposer/react-jsonschema-form'; -import { Dropdown, ResponsiveMode, IDropdownOption, Spinner, SpinnerSize } from 'office-ui-fabric-react'; +import { Dropdown, ResponsiveMode, IDropdownOption } from 'office-ui-fabric-react/lib/Dropdown'; +import { Spinner, SpinnerSize } from 'office-ui-fabric-react/lib/Spinner'; import { MicrosoftIRecognizer, LuFile } from '@bfc/shared'; import { BaseField } from '../BaseField'; +import { LoadingSpinner } from '../../../LoadingSpinner'; import ToggleEditor from './ToggleEditor'; import RegexEditor from './RegexEditor'; -import InlineLuEditor from './InlineLuEditor'; import './styles.css'; +const InlineLuEditor = React.lazy(() => import('./InlineLuEditor')); + export const RecognizerField: React.FC> = props => { const { formData } = props; const [loading, setLoading] = useState(false); @@ -147,7 +150,11 @@ export const RecognizerField: React.FC> = props }); }; - return ; + return ( + }> + + + ); } if (isRegex) { return ; diff --git a/Composer/packages/extensions/obiformeditor/src/Form/fields/RootField.tsx b/Composer/packages/extensions/obiformeditor/src/Form/fields/RootField.tsx index 54b8f1acca..65e9cd7a08 100644 --- a/Composer/packages/extensions/obiformeditor/src/Form/fields/RootField.tsx +++ b/Composer/packages/extensions/obiformeditor/src/Form/fields/RootField.tsx @@ -1,7 +1,8 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -import { startCase, get } from 'lodash'; +import startCase from 'lodash/startCase'; +import get from 'lodash/get'; import React from 'react'; import { FontClassNames, FontWeights } from '@uifabric/styling'; import classnames from 'classnames'; diff --git a/Composer/packages/extensions/obiformeditor/src/Form/fields/RulesField.tsx b/Composer/packages/extensions/obiformeditor/src/Form/fields/RulesField.tsx index 1fe0bc1f7e..30cd2fb2a0 100644 --- a/Composer/packages/extensions/obiformeditor/src/Form/fields/RulesField.tsx +++ b/Composer/packages/extensions/obiformeditor/src/Form/fields/RulesField.tsx @@ -3,9 +3,10 @@ import React from 'react'; import formatMessage from 'format-message'; -import { DirectionalHint, DefaultButton } from 'office-ui-fabric-react'; +import { DefaultButton } from 'office-ui-fabric-react/lib/Button'; +import { DirectionalHint } from 'office-ui-fabric-react/lib/ContextualMenu'; import { FieldProps } from '@bfcomposer/react-jsonschema-form'; -import get from 'lodash.get'; +import get from 'lodash/get'; import { createStepMenu, DialogGroup, ITriggerCondition, OnIntent } from '@bfc/shared'; import { setOverridesOnField } from '../utils'; diff --git a/Composer/packages/extensions/obiformeditor/src/Form/fields/StepsField.tsx b/Composer/packages/extensions/obiformeditor/src/Form/fields/StepsField.tsx index 37e7f9ed21..b4d06721a5 100644 --- a/Composer/packages/extensions/obiformeditor/src/Form/fields/StepsField.tsx +++ b/Composer/packages/extensions/obiformeditor/src/Form/fields/StepsField.tsx @@ -4,7 +4,8 @@ import React from 'react'; import { DialogGroup, createStepMenu, MicrosoftIDialog } from '@bfc/shared'; import formatMessage from 'format-message'; -import { DefaultButton, DirectionalHint } from 'office-ui-fabric-react'; +import { DefaultButton } from 'office-ui-fabric-react/lib/Button'; +import { DirectionalHint } from 'office-ui-fabric-react/lib/ContextualMenu'; import { setOverridesOnField } from '../utils'; import { BFDFieldProps } from '../types'; diff --git a/Composer/packages/extensions/obiformeditor/src/Form/fields/TableField.tsx b/Composer/packages/extensions/obiformeditor/src/Form/fields/TableField.tsx index c41cd41393..a693b0fd32 100644 --- a/Composer/packages/extensions/obiformeditor/src/Form/fields/TableField.tsx +++ b/Composer/packages/extensions/obiformeditor/src/Form/fields/TableField.tsx @@ -2,22 +2,19 @@ // Licensed under the MIT License. import React from 'react'; -import { - ContextualMenuItemType, - DetailsList, - IContextualMenuItem, - SelectionMode, - DetailsListLayoutMode, - IconButton, -} from 'office-ui-fabric-react'; import formatMessage from 'format-message'; -import { IColumn } from 'office-ui-fabric-react'; import { JSONSchema6 } from 'json-schema'; -import { DirectionalHint } from 'office-ui-fabric-react'; -import get from 'lodash.get'; +import get from 'lodash/get'; import { FieldProps } from '@bfcomposer/react-jsonschema-form'; import { NeutralColors, FontSizes } from '@uifabric/fluent-theme'; import { COMPOUND_TYPES, MicrosoftIDialog } from '@bfc/shared'; +import { DetailsList, SelectionMode, DetailsListLayoutMode, IColumn } from 'office-ui-fabric-react/lib/DetailsList'; +import { IconButton } from 'office-ui-fabric-react/lib/Button'; +import { + ContextualMenuItemType, + IContextualMenuItem, + DirectionalHint, +} from 'office-ui-fabric-react/lib/ContextualMenu'; import { buildDialogOptions, swap, remove, insertAt, DialogOptionsOpts } from '../utils'; import { FormContext } from '../types'; diff --git a/Composer/packages/extensions/obiformeditor/src/Form/utils.ts b/Composer/packages/extensions/obiformeditor/src/Form/utils.ts index cfd782f68d..0eb0d6677d 100644 --- a/Composer/packages/extensions/obiformeditor/src/Form/utils.ts +++ b/Composer/packages/extensions/obiformeditor/src/Form/utils.ts @@ -1,15 +1,11 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -import { - DropdownMenuItemType, - IContextualMenuItem, - ContextualMenuItemType, - IDropdownOption, -} from 'office-ui-fabric-react'; +import { IContextualMenuItem, ContextualMenuItemType } from 'office-ui-fabric-react/lib/ContextualMenu'; +import { DropdownMenuItemType, IDropdownOption } from 'office-ui-fabric-react/lib/Dropdown'; import { useState } from 'react'; -import merge from 'lodash.merge'; -import get from 'lodash.get'; +import merge from 'lodash/merge'; +import get from 'lodash/get'; import { dialogGroups, DialogGroup, DialogGroupItem, getDesignerId } from '@bfc/shared'; import { FormMemory, MemoryScope } from '../types'; diff --git a/Composer/packages/extensions/obiformeditor/src/Form/widgets/CheckboxWidget.tsx b/Composer/packages/extensions/obiformeditor/src/Form/widgets/CheckboxWidget.tsx index 2a81fe2166..ac8e581389 100644 --- a/Composer/packages/extensions/obiformeditor/src/Form/widgets/CheckboxWidget.tsx +++ b/Composer/packages/extensions/obiformeditor/src/Form/widgets/CheckboxWidget.tsx @@ -2,7 +2,7 @@ // Licensed under the MIT License. import React from 'react'; -import { Checkbox } from 'office-ui-fabric-react'; +import { Checkbox } from 'office-ui-fabric-react/lib/Checkbox'; import { BFDWidgetProps } from '../types'; diff --git a/Composer/packages/extensions/obiformeditor/src/Form/widgets/DateTimeWidget.tsx b/Composer/packages/extensions/obiformeditor/src/Form/widgets/DateTimeWidget.tsx index 779c47f06b..31a4c4b6a3 100644 --- a/Composer/packages/extensions/obiformeditor/src/Form/widgets/DateTimeWidget.tsx +++ b/Composer/packages/extensions/obiformeditor/src/Form/widgets/DateTimeWidget.tsx @@ -2,7 +2,7 @@ // Licensed under the MIT License. import React from 'react'; -import { DatePicker } from 'office-ui-fabric-react'; +import { DatePicker } from 'office-ui-fabric-react/lib/DatePicker'; import { BFDWidgetProps } from '../types'; diff --git a/Composer/packages/extensions/obiformeditor/src/Form/widgets/DialogSelectWidget.tsx b/Composer/packages/extensions/obiformeditor/src/Form/widgets/DialogSelectWidget.tsx index 1c4fff5ebc..a9a36453bb 100644 --- a/Composer/packages/extensions/obiformeditor/src/Form/widgets/DialogSelectWidget.tsx +++ b/Composer/packages/extensions/obiformeditor/src/Form/widgets/DialogSelectWidget.tsx @@ -2,14 +2,10 @@ // Licensed under the MIT License. import React, { useState, useEffect } from 'react'; -import { - SelectableOptionMenuItemType, - ComboBox, - IComboBoxOption, - IRenderFunction, - ISelectableOption, - Icon, -} from 'office-ui-fabric-react'; +import { SelectableOptionMenuItemType, ComboBox, IComboBoxOption } from 'office-ui-fabric-react/lib/ComboBox'; +import { IRenderFunction } from 'office-ui-fabric-react/lib/Utilities'; +import { ISelectableOption } from 'office-ui-fabric-react/lib/utilities/selectableOption'; +import { Icon } from 'office-ui-fabric-react/lib/Icon'; import formatMessage from 'format-message'; import { BFDWidgetProps } from '../types'; diff --git a/Composer/packages/extensions/obiformeditor/src/Form/widgets/ExpressionWidget.tsx b/Composer/packages/extensions/obiformeditor/src/Form/widgets/ExpressionWidget.tsx index 1690fd1ecc..9cb01fa08a 100644 --- a/Composer/packages/extensions/obiformeditor/src/Form/widgets/ExpressionWidget.tsx +++ b/Composer/packages/extensions/obiformeditor/src/Form/widgets/ExpressionWidget.tsx @@ -3,7 +3,7 @@ import React from 'react'; import formatMessage from 'format-message'; -import { TextField, ITextFieldProps } from 'office-ui-fabric-react'; +import { TextField, ITextFieldProps } from 'office-ui-fabric-react/lib/TextField'; import { JSONSchema6 } from 'json-schema'; import { FormContext } from '../types'; diff --git a/Composer/packages/extensions/obiformeditor/src/Form/widgets/IntentWidget.tsx b/Composer/packages/extensions/obiformeditor/src/Form/widgets/IntentWidget.tsx index 9bb1139730..2b6645f936 100644 --- a/Composer/packages/extensions/obiformeditor/src/Form/widgets/IntentWidget.tsx +++ b/Composer/packages/extensions/obiformeditor/src/Form/widgets/IntentWidget.tsx @@ -2,8 +2,8 @@ // Licensed under the MIT License. import React from 'react'; -import { Dropdown, ResponsiveMode, IDropdownOption } from 'office-ui-fabric-react'; -import get from 'lodash.get'; +import { Dropdown, ResponsiveMode, IDropdownOption } from 'office-ui-fabric-react/lib/Dropdown'; +import get from 'lodash/get'; import formatMessage from 'format-message'; import { LuFile, DialogInfo, RegexRecognizer } from '@bfc/shared'; diff --git a/Composer/packages/extensions/obiformeditor/src/Form/widgets/LgEditorWidget.tsx b/Composer/packages/extensions/obiformeditor/src/Form/widgets/LgEditorWidget.tsx index 315779a726..6518e172a8 100644 --- a/Composer/packages/extensions/obiformeditor/src/Form/widgets/LgEditorWidget.tsx +++ b/Composer/packages/extensions/obiformeditor/src/Form/widgets/LgEditorWidget.tsx @@ -3,7 +3,7 @@ import React, { useState, useMemo, useLayoutEffect } from 'react'; import { LgEditor } from '@bfc/code-editor'; -import debounce from 'lodash.debounce'; +import debounce from 'lodash/debounce'; import * as monacoEditor from '@bfcomposer/monaco-editor/esm/vs/editor/editor.api'; import { FormContext } from '../types'; @@ -179,3 +179,5 @@ export const LgEditorWidget: React.FC = props => { /> ); }; + +export default LgEditorWidget; diff --git a/Composer/packages/extensions/obiformeditor/src/Form/widgets/RadioWidget.tsx b/Composer/packages/extensions/obiformeditor/src/Form/widgets/RadioWidget.tsx index bfca3cc637..6e989fb761 100644 --- a/Composer/packages/extensions/obiformeditor/src/Form/widgets/RadioWidget.tsx +++ b/Composer/packages/extensions/obiformeditor/src/Form/widgets/RadioWidget.tsx @@ -2,8 +2,7 @@ // Licensed under the MIT License. import React from 'react'; -import { ChoiceGroup } from 'office-ui-fabric-react'; -import { IChoiceGroupOption } from 'office-ui-fabric-react'; +import { ChoiceGroup, IChoiceGroupOption } from 'office-ui-fabric-react/lib/ChoiceGroup'; import { RadioWidgetProps } from '../types'; diff --git a/Composer/packages/extensions/obiformeditor/src/Form/widgets/SelectWidget.tsx b/Composer/packages/extensions/obiformeditor/src/Form/widgets/SelectWidget.tsx index 9fa167a88f..7d2112cbb9 100644 --- a/Composer/packages/extensions/obiformeditor/src/Form/widgets/SelectWidget.tsx +++ b/Composer/packages/extensions/obiformeditor/src/Form/widgets/SelectWidget.tsx @@ -2,7 +2,7 @@ // Licensed under the MIT License. import React from 'react'; -import { Dropdown, IDropdownOption } from 'office-ui-fabric-react'; +import { Dropdown, IDropdownOption } from 'office-ui-fabric-react/lib/Dropdown'; import { ResponsiveMode } from 'office-ui-fabric-react/lib/utilities/decorators/withResponsiveMode'; import { SelectWidgetProps } from '../types'; diff --git a/Composer/packages/extensions/obiformeditor/src/Form/widgets/TextWidget.tsx b/Composer/packages/extensions/obiformeditor/src/Form/widgets/TextWidget.tsx index aaecbfafe2..326274036c 100644 --- a/Composer/packages/extensions/obiformeditor/src/Form/widgets/TextWidget.tsx +++ b/Composer/packages/extensions/obiformeditor/src/Form/widgets/TextWidget.tsx @@ -2,7 +2,8 @@ // Licensed under the MIT License. import React from 'react'; -import { TextField, SpinButton } from 'office-ui-fabric-react'; +import { TextField } from 'office-ui-fabric-react/lib/TextField'; +import { SpinButton } from 'office-ui-fabric-react/lib/SpinButton'; import { BFDWidgetProps } from '../types'; diff --git a/Composer/packages/extensions/obiformeditor/src/Form/widgets/TextareaWidget.tsx b/Composer/packages/extensions/obiformeditor/src/Form/widgets/TextareaWidget.tsx index 59375d4cce..ba4d7eceb0 100644 --- a/Composer/packages/extensions/obiformeditor/src/Form/widgets/TextareaWidget.tsx +++ b/Composer/packages/extensions/obiformeditor/src/Form/widgets/TextareaWidget.tsx @@ -2,7 +2,7 @@ // Licensed under the MIT License. import React from 'react'; -import { TextField } from 'office-ui-fabric-react'; +import { TextField } from 'office-ui-fabric-react/lib/TextField'; import { BFDWidgetProps } from '../types'; diff --git a/Composer/packages/extensions/obiformeditor/src/Form/widgets/ToggleWidget.tsx b/Composer/packages/extensions/obiformeditor/src/Form/widgets/ToggleWidget.tsx index aa6ea1569e..3a8da19186 100644 --- a/Composer/packages/extensions/obiformeditor/src/Form/widgets/ToggleWidget.tsx +++ b/Composer/packages/extensions/obiformeditor/src/Form/widgets/ToggleWidget.tsx @@ -2,7 +2,7 @@ // Licensed under the MIT License. import React from 'react'; -import { Toggle } from 'office-ui-fabric-react'; +import { Toggle } from 'office-ui-fabric-react/lib/Toggle'; import { WidgetProps } from '@bfcomposer/react-jsonschema-form'; import { WidgetLabel } from './WidgetLabel'; diff --git a/Composer/packages/extensions/obiformeditor/src/Form/widgets/WidgetLabel.tsx b/Composer/packages/extensions/obiformeditor/src/Form/widgets/WidgetLabel.tsx index 3c0707bea7..52cdc12b44 100644 --- a/Composer/packages/extensions/obiformeditor/src/Form/widgets/WidgetLabel.tsx +++ b/Composer/packages/extensions/obiformeditor/src/Form/widgets/WidgetLabel.tsx @@ -2,7 +2,9 @@ // Licensed under the MIT License. import React from 'react'; -import { Label, DirectionalHint, IconButton, TooltipHost, TooltipDelay } from 'office-ui-fabric-react'; +import { DirectionalHint, TooltipHost, TooltipDelay } from 'office-ui-fabric-react/lib/Tooltip'; +import { IconButton } from 'office-ui-fabric-react/lib/Button'; +import { Label } from 'office-ui-fabric-react/lib/Label'; import { NeutralColors } from '@uifabric/fluent-theme'; interface DescriptionCalloutProps { diff --git a/Composer/packages/extensions/obiformeditor/src/FormEditor.tsx b/Composer/packages/extensions/obiformeditor/src/FormEditor.tsx index 415a8a860e..789788cedb 100644 --- a/Composer/packages/extensions/obiformeditor/src/FormEditor.tsx +++ b/Composer/packages/extensions/obiformeditor/src/FormEditor.tsx @@ -4,9 +4,9 @@ import React, { useState } from 'react'; import { Dropdown } from 'office-ui-fabric-react/lib/Dropdown'; import { JSONSchema6Definition, JSONSchema6 } from 'json-schema'; -import merge from 'lodash.merge'; -import get from 'lodash.get'; -import isEqual from 'lodash.isequal'; +import merge from 'lodash/merge'; +import get from 'lodash/get'; +import isEqual from 'lodash/isEqual'; import { appschema, ShellData, ShellApi } from '@bfc/shared'; import Form from './Form'; diff --git a/Composer/packages/extensions/obiformeditor/src/LoadingSpinner.tsx b/Composer/packages/extensions/obiformeditor/src/LoadingSpinner.tsx new file mode 100644 index 0000000000..a2729b2544 --- /dev/null +++ b/Composer/packages/extensions/obiformeditor/src/LoadingSpinner.tsx @@ -0,0 +1,18 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +/** @jsx jsx */ +import { jsx } from '@emotion/core'; +import React from 'react'; +import { Spinner } from 'office-ui-fabric-react/lib/Spinner'; +import formatMessage from 'format-message'; + +import { container } from './styles'; + +export const LoadingSpinner: React.FC = () => { + return ( +
+ +
+ ); +}; diff --git a/Composer/packages/extensions/obiformeditor/src/Modal.tsx b/Composer/packages/extensions/obiformeditor/src/Modal.tsx index 892bbce8ef..f3584e48b1 100644 --- a/Composer/packages/extensions/obiformeditor/src/Modal.tsx +++ b/Composer/packages/extensions/obiformeditor/src/Modal.tsx @@ -2,7 +2,8 @@ // Licensed under the MIT License. import React from 'react'; -import { Modal as FabricModal, IconButton } from 'office-ui-fabric-react'; +import { Modal as FabricModal } from 'office-ui-fabric-react/lib/Modal'; +import { IconButton } from 'office-ui-fabric-react/lib/Button'; import formatMessage from 'format-message'; interface ModalProps { diff --git a/Composer/packages/extensions/obiformeditor/src/ObiFormEditor.tsx b/Composer/packages/extensions/obiformeditor/src/ObiFormEditor.tsx index ef63a3a87d..ff8ef1da5b 100644 --- a/Composer/packages/extensions/obiformeditor/src/ObiFormEditor.tsx +++ b/Composer/packages/extensions/obiformeditor/src/ObiFormEditor.tsx @@ -1,14 +1,15 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -import React from 'react'; +import React, { Suspense } from 'react'; import ErrorBoundary, { FallbackProps } from 'react-error-boundary'; -import { MessageBar, MessageBarType } from 'office-ui-fabric-react'; -import get from 'lodash.get'; +import { MessageBar, MessageBarType } from 'office-ui-fabric-react/lib/MessageBar'; +import get from 'lodash/get'; import { CacheProvider } from '@emotion/core'; import createCache from '@emotion/cache'; import { FormEditor, FormEditorProps } from './FormEditor'; +import { LoadingSpinner } from './LoadingSpinner'; const emotionCache = createCache({ // @ts-ignore @@ -44,11 +45,13 @@ const ObiFormEditor: React.FC = props => { const key = get(props.data, '$designer.id', props.focusPath); return ( - - - - - + }> + + + + + + ); }; diff --git a/Composer/packages/extensions/obiformeditor/src/styles.ts b/Composer/packages/extensions/obiformeditor/src/styles.ts new file mode 100644 index 0000000000..7a3c404e81 --- /dev/null +++ b/Composer/packages/extensions/obiformeditor/src/styles.ts @@ -0,0 +1,12 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +import { css } from '@emotion/core'; + +export const container = css` + height: 100%; + width: 100%; + display: flex; + align-items: center; + justify-content: center; +`; diff --git a/Composer/packages/extensions/obiformeditor/tsconfig.json b/Composer/packages/extensions/obiformeditor/tsconfig.json index eb3f0aed43..d6f621d54c 100644 --- a/Composer/packages/extensions/obiformeditor/tsconfig.json +++ b/Composer/packages/extensions/obiformeditor/tsconfig.json @@ -2,16 +2,16 @@ "compilerOptions": { "outDir": "./lib/", "noImplicitAny": false, - "module": "es6", + "module": "esnext", "target": "es5", "jsx": "react", "sourceMap": true, - "declaration": true, "moduleResolution": "node", "esModuleInterop": true, "strict": true, + "resolveJsonModule": true, "noUnusedLocals": true, - "resolveJsonModule": true + "allowJs": false }, "include": ["./src/**/*", "./__tests__/**/*"], "exclude": [ diff --git a/Composer/packages/extensions/visual-designer/package.json b/Composer/packages/extensions/visual-designer/package.json index 88e547a0e7..157a576892 100644 --- a/Composer/packages/extensions/visual-designer/package.json +++ b/Composer/packages/extensions/visual-designer/package.json @@ -30,7 +30,7 @@ "dagre": "^0.8.4", "dagre-d3": "^0.6.3", "format-message": "^6.2.1", - "lodash": "^4.17.11", + "lodash": "^4.17.15", "office-ui-fabric-react": "7.37.1", "prop-types": "^15.7.2", "source-map-loader": "^0.2.4" @@ -46,6 +46,7 @@ "@babel/preset-env": "7.3.0", "@babel/preset-react": "7.0.0", "@types/jest": "^24.0.11", + "@types/lodash": "^4.14.146", "babel-jest": "24.0.0", "babel-plugin-emotion": "^10.0.7", "jest": "^24.5.0", @@ -53,7 +54,7 @@ "react": "16.9.0", "react-dom": "16.9.0", "react-testing-library": "^6.0.2", - "ts-jest": "^24.0.2", + "ts-jest": "^24.1.0", "ts-loader": "^6.0.3" }, "author": "", diff --git a/Composer/packages/extensions/visual-designer/src/components/decorations/IconBrick.tsx b/Composer/packages/extensions/visual-designer/src/components/decorations/IconBrick.tsx index 8bfa0701eb..ff583618e0 100644 --- a/Composer/packages/extensions/visual-designer/src/components/decorations/IconBrick.tsx +++ b/Composer/packages/extensions/visual-designer/src/components/decorations/IconBrick.tsx @@ -3,7 +3,7 @@ /** @jsx jsx */ import { jsx } from '@emotion/core'; -import { Icon } from 'office-ui-fabric-react'; +import { Icon } from 'office-ui-fabric-react/lib/Icon'; import { IconBrickSize } from '../../constants/ElementSizes'; diff --git a/Composer/packages/extensions/visual-designer/src/components/menus/EdgeMenu.tsx b/Composer/packages/extensions/visual-designer/src/components/menus/EdgeMenu.tsx index d95de1b35d..3c499954e0 100644 --- a/Composer/packages/extensions/visual-designer/src/components/menus/EdgeMenu.tsx +++ b/Composer/packages/extensions/visual-designer/src/components/menus/EdgeMenu.tsx @@ -7,7 +7,8 @@ import { useContext } from 'react'; import classnames from 'classnames'; import formatMessage from 'format-message'; import { createStepMenu, DialogGroup, SDKTypes } from '@bfc/shared'; -import { IContextualMenu, ContextualMenuItemType, FontIcon } from 'office-ui-fabric-react'; +import { IContextualMenu, ContextualMenuItemType } from 'office-ui-fabric-react/lib/ContextualMenu'; +import { FontIcon } from 'office-ui-fabric-react/lib/Icon'; import { EdgeAddButtonSize } from '../../constants/ElementSizes'; import { NodeRendererContext } from '../../store/NodeRendererContext'; diff --git a/Composer/packages/extensions/visual-designer/src/components/menus/IconMenu.tsx b/Composer/packages/extensions/visual-designer/src/components/menus/IconMenu.tsx index 799a92667c..2219441bda 100644 --- a/Composer/packages/extensions/visual-designer/src/components/menus/IconMenu.tsx +++ b/Composer/packages/extensions/visual-designer/src/components/menus/IconMenu.tsx @@ -2,15 +2,11 @@ // Licensed under the MIT License. import React, { useRef, useEffect } from 'react'; -import { - OverflowSet, - IconButton, - Link, - IRenderFunction, - IContextualMenuItem, - IButtonStyles, - IButton, -} from 'office-ui-fabric-react'; +import { IconButton, IButtonStyles, IButton } from 'office-ui-fabric-react/lib/Button'; +import { Link } from 'office-ui-fabric-react/lib/Link'; +import { IContextualMenuItem } from 'office-ui-fabric-react/lib/ContextualMenu'; +import { OverflowSet } from 'office-ui-fabric-react/lib/OverflowSet'; +import { IRenderFunction } from 'office-ui-fabric-react/lib/Utilities'; interface IconMenuProps { nodeSelected?: boolean; diff --git a/Composer/packages/extensions/visual-designer/src/components/nodes/steps/BeginDialog.tsx b/Composer/packages/extensions/visual-designer/src/components/nodes/steps/BeginDialog.tsx index ccfd02f023..d70f182e23 100644 --- a/Composer/packages/extensions/visual-designer/src/components/nodes/steps/BeginDialog.tsx +++ b/Composer/packages/extensions/visual-designer/src/components/nodes/steps/BeginDialog.tsx @@ -4,7 +4,6 @@ /** @jsx jsx */ import { jsx } from '@emotion/core'; import React from 'react'; -import { Icon as FabricIcon } from 'office-ui-fabric-react'; import { NodeEventTypes } from '../../../constants/NodeEventTypes'; import { getElementColor } from '../../../utils/obiPropertyResolver'; diff --git a/Composer/packages/extensions/visual-designer/src/components/nodes/steps/ReplaceDialog.tsx b/Composer/packages/extensions/visual-designer/src/components/nodes/steps/ReplaceDialog.tsx index 74c846bd56..88a33422f4 100644 --- a/Composer/packages/extensions/visual-designer/src/components/nodes/steps/ReplaceDialog.tsx +++ b/Composer/packages/extensions/visual-designer/src/components/nodes/steps/ReplaceDialog.tsx @@ -4,7 +4,6 @@ /** @jsx jsx */ import { jsx } from '@emotion/core'; import React from 'react'; -import { Icon as FabricIcon } from 'office-ui-fabric-react'; import formatMessage from 'format-message'; import { NodeEventTypes } from '../../../constants/NodeEventTypes'; diff --git a/Composer/packages/extensions/visual-designer/src/components/nodes/templates/IconCard.tsx b/Composer/packages/extensions/visual-designer/src/components/nodes/templates/IconCard.tsx index 9503ab8403..63b9ca773b 100644 --- a/Composer/packages/extensions/visual-designer/src/components/nodes/templates/IconCard.tsx +++ b/Composer/packages/extensions/visual-designer/src/components/nodes/templates/IconCard.tsx @@ -3,7 +3,7 @@ /** @jsx jsx */ import { jsx } from '@emotion/core'; -import { Icon as FabricIcon } from 'office-ui-fabric-react'; +import { Icon as FabricIcon } from 'office-ui-fabric-react/lib/Icon'; import { ElementIcon } from '../../../utils/obiPropertyResolver'; import { Icon } from '../../decorations/icon'; diff --git a/Composer/packages/extensions/visual-designer/src/components/nodes/utils.ts b/Composer/packages/extensions/visual-designer/src/components/nodes/utils.ts index 175c7d7b79..45725c10de 100644 --- a/Composer/packages/extensions/visual-designer/src/components/nodes/utils.ts +++ b/Composer/packages/extensions/visual-designer/src/components/nodes/utils.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -import get from 'lodash.get'; +import get from 'lodash/get'; import { ConceptLabels } from '@bfc/shared'; import { ObiTypes } from '../../constants/ObiTypes'; diff --git a/Composer/packages/extensions/visual-designer/src/editors/ObiEditor.tsx b/Composer/packages/extensions/visual-designer/src/editors/ObiEditor.tsx index 806fbaf985..19e40120b7 100644 --- a/Composer/packages/extensions/visual-designer/src/editors/ObiEditor.tsx +++ b/Composer/packages/extensions/visual-designer/src/editors/ObiEditor.tsx @@ -5,7 +5,8 @@ import { jsx } from '@emotion/core'; import { useContext, FC, useEffect, useState, useRef } from 'react'; import { MarqueeSelection, Selection } from 'office-ui-fabric-react/lib/MarqueeSelection'; -import { has, get } from 'lodash'; +import has from 'lodash/has'; +import get from 'lodash/get'; import { NodeEventTypes } from '../constants/NodeEventTypes'; import { KeyboardCommandTypes, KeyboardPrimaryTypes } from '../constants/KeyboardCommandTypes'; diff --git a/Composer/packages/extensions/visual-designer/src/editors/RuleEditor.tsx b/Composer/packages/extensions/visual-designer/src/editors/RuleEditor.tsx index bd72b01320..a2b15bb49e 100644 --- a/Composer/packages/extensions/visual-designer/src/editors/RuleEditor.tsx +++ b/Composer/packages/extensions/visual-designer/src/editors/RuleEditor.tsx @@ -4,7 +4,7 @@ /** @jsx jsx */ import { jsx } from '@emotion/core'; import { useMemo, useRef } from 'react'; -import { isEqual } from 'lodash'; +import isEqual from 'lodash/isEqual'; import { Trigger } from '../components/nodes/Trigger'; import { defaultNodeProps } from '../components/nodes/nodeProps'; diff --git a/Composer/packages/extensions/visual-designer/src/index.tsx b/Composer/packages/extensions/visual-designer/src/index.tsx index 80c622e76f..5147b34eaf 100644 --- a/Composer/packages/extensions/visual-designer/src/index.tsx +++ b/Composer/packages/extensions/visual-designer/src/index.tsx @@ -5,7 +5,7 @@ import { jsx, CacheProvider } from '@emotion/core'; import createCache from '@emotion/cache'; import React, { useRef, useState, useEffect } from 'react'; -import { isEqual } from 'lodash'; +import isEqual from 'lodash/isEqual'; import formatMessage from 'format-message'; import { ObiEditor } from './editors/ObiEditor'; diff --git a/Composer/packages/extensions/visual-designer/src/utils/isLayoutEqual.ts b/Composer/packages/extensions/visual-designer/src/utils/isLayoutEqual.ts index 4774102dcb..da2b079a69 100644 --- a/Composer/packages/extensions/visual-designer/src/utils/isLayoutEqual.ts +++ b/Composer/packages/extensions/visual-designer/src/utils/isLayoutEqual.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -import { isEqual } from 'lodash'; +import isEqual from 'lodash/isEqual'; import { outlineObiJson } from './outlineObiJson'; diff --git a/Composer/packages/extensions/visual-designer/src/utils/jsonTracker.ts b/Composer/packages/extensions/visual-designer/src/utils/jsonTracker.ts index f8808f1c73..bffe04aeea 100644 --- a/Composer/packages/extensions/visual-designer/src/utils/jsonTracker.ts +++ b/Composer/packages/extensions/visual-designer/src/utils/jsonTracker.ts @@ -1,7 +1,9 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -import { cloneDeep, get, set } from 'lodash'; +import cloneDeep from 'lodash/cloneDeep'; +import get from 'lodash/get'; +import set from 'lodash/set'; import { seedNewDialog, deepCopyAction } from '@bfc/shared'; import { getFriendlyName } from '../components/nodes/utils'; diff --git a/Composer/packages/extensions/visual-designer/tsconfig.json b/Composer/packages/extensions/visual-designer/tsconfig.json index 07f5aaf6b5..294df87cb6 100644 --- a/Composer/packages/extensions/visual-designer/tsconfig.json +++ b/Composer/packages/extensions/visual-designer/tsconfig.json @@ -1,17 +1,16 @@ { "compilerOptions": { "outDir": "./lib/", - "allowJs": true, "noImplicitAny": false, - "module": "es6", + "module": "esnext", "target": "es5", "jsx": "react", "sourceMap": true, "moduleResolution": "node", "esModuleInterop": true, "strict": true, - "noUnusedLocals": false, - "resolveJsonModule": true + "resolveJsonModule": true, + "allowJs": false }, "include": [ "./src/**/*", @@ -21,4 +20,4 @@ "node_modules", "lib" ], -} \ No newline at end of file +} diff --git a/Composer/packages/lib/code-editor/package.json b/Composer/packages/lib/code-editor/package.json index 0580d57c47..e01574348a 100644 --- a/Composer/packages/lib/code-editor/package.json +++ b/Composer/packages/lib/code-editor/package.json @@ -30,7 +30,7 @@ "@babel/preset-env": "^7.4.5", "@babel/preset-react": "^7.0.0", "@types/jest": "^24.0.11", - "@types/lodash.throttle": "^4.1.6", + "@types/lodash": "^4.14.146", "@types/react": "16.9.0", "@types/react-dom": "16.9.0", "autoprefixer": "^9.5.1", @@ -46,7 +46,7 @@ "react-testing-library": "^6.0.2", "rimraf": "^2.6.3", "style-loader": "^0.23.1", - "ts-jest": "^24.0.2", + "ts-jest": "^24.1.0", "ts-loader": "^5.3.3", "url-loader": "^1.1.2", "webpack": "^4.30.0", @@ -56,6 +56,6 @@ "dependencies": { "@bfcomposer/monaco-editor-webpack-plugin": "^1.7.2", "@bfcomposer/react-monaco-editor": "0.30.12", - "lodash.throttle": "^4.1.1" + "lodash": "^4.17.15" } } diff --git a/Composer/packages/lib/code-editor/src/BaseEditor.tsx b/Composer/packages/lib/code-editor/src/BaseEditor.tsx index 62bba84c94..8013661b26 100644 --- a/Composer/packages/lib/code-editor/src/BaseEditor.tsx +++ b/Composer/packages/lib/code-editor/src/BaseEditor.tsx @@ -4,7 +4,7 @@ import React, { useRef, useState, useLayoutEffect, useEffect } from 'react'; import * as monacoEditor from '@bfcomposer/monaco-editor/esm/vs/editor/editor.api'; import MonacoEditor, { MonacoEditorProps } from '@bfcomposer/react-monaco-editor'; -import throttle from 'lodash.throttle'; +import throttle from 'lodash/throttle'; const defaultOptions: monacoEditor.editor.IEditorConstructionOptions = { scrollBeyondLastLine: false, diff --git a/Composer/packages/lib/eslint-plugin-bfcomposer/package.json b/Composer/packages/lib/eslint-plugin-bfcomposer/package.json new file mode 100644 index 0000000000..6af516e91a --- /dev/null +++ b/Composer/packages/lib/eslint-plugin-bfcomposer/package.json @@ -0,0 +1,8 @@ +{ + "name": "@bfc/eslint-plugin-bfcomposer", + "version": "1.0.0", + "main": "src/index.js", + "devDependencies": { + "lodash": "^4.17.15" + } +} diff --git a/Composer/packages/lib/eslint-plugin-bfcomposer/src/index.js b/Composer/packages/lib/eslint-plugin-bfcomposer/src/index.js new file mode 100644 index 0000000000..60af498974 --- /dev/null +++ b/Composer/packages/lib/eslint-plugin-bfcomposer/src/index.js @@ -0,0 +1,26 @@ +const fs = require('fs'); +const path = require('path'); + +const map = require('lodash/map'); +const reduce = require('lodash/reduce'); +const zipObject = require('lodash/zipObject'); + +const ruleNames = map(fs.readdirSync(path.resolve(__dirname, 'rules')), f => f.replace(/\.js$/, '')); +const allRules = zipObject(ruleNames, map(ruleNames, r => require(`./rules/${r}`))); + +module.exports = { + rules: allRules, + configs: { + recommended: { + plugins: ['@bfc/eslint-plugin-bfcomposer'], + rules: reduce( + ruleNames, + (all, rule) => ({ + ...all, + [`@bfc/bfcomposer/${rule}`]: 'error', + }), + {} + ), + }, + }, +}; diff --git a/Composer/packages/lib/eslint-plugin-bfcomposer/src/rules/office-ui-import-scope.js b/Composer/packages/lib/eslint-plugin-bfcomposer/src/rules/office-ui-import-scope.js new file mode 100644 index 0000000000..f545f7b519 --- /dev/null +++ b/Composer/packages/lib/eslint-plugin-bfcomposer/src/rules/office-ui-import-scope.js @@ -0,0 +1,13 @@ +const isOfficeUiFullImport = str => /office-ui-fabric-react$/.test(str); + +module.exports = { + create(context) { + return { + ImportDeclaration(node) { + if (isOfficeUiFullImport(node.source.value)) { + context.report({ node, message: 'Import Office UI components from /lib directory' }); + } + }, + }; + }, +}; diff --git a/Composer/packages/lib/indexers/package.json b/Composer/packages/lib/indexers/package.json index 0601597182..aede41bb43 100644 --- a/Composer/packages/lib/indexers/package.json +++ b/Composer/packages/lib/indexers/package.json @@ -19,19 +19,15 @@ "watch": "yarn build:ts --watch" }, "devDependencies": { - "@types/lodash.get": "^4.4.6", - "@types/lodash.has": "^4.5.6", - "@types/lodash.uniq": "^4.5.6", + "@types/lodash": "^4.14.146", "jest": "24.0.0", "rimraf": "^2.6.3", - "ts-jest": "^24.0.2" + "ts-jest": "^24.1.0" }, "dependencies": { "botbuilder-expression-parser": "^4.5.11", "botbuilder-lg": "https://botbuilder.myget.org/F/botbuilder-declarative/npm/botbuilder-lg/-/4.7.0-preview2.tgz", - "lodash.get": "^4.4.2", - "lodash.has": "^4.5.2", - "lodash.uniq": "^4.5.0", + "lodash": "^4.17.15", "ludown": "^1.3.4" } } diff --git a/Composer/packages/lib/indexers/src/dialogIndexer.ts b/Composer/packages/lib/indexers/src/dialogIndexer.ts index 207506f58d..ec235de7ae 100644 --- a/Composer/packages/lib/indexers/src/dialogIndexer.ts +++ b/Composer/packages/lib/indexers/src/dialogIndexer.ts @@ -1,8 +1,8 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -import has from 'lodash.has'; -import uniq from 'lodash.uniq'; +import has from 'lodash/has'; +import uniq from 'lodash/uniq'; import { ITrigger, DialogInfo, FileInfo } from './type'; import { DialogChecker } from './utils/dialogChecker'; diff --git a/Composer/packages/lib/indexers/src/lgIndexer.ts b/Composer/packages/lib/indexers/src/lgIndexer.ts index 2919dd08e8..dea21f2d54 100644 --- a/Composer/packages/lib/indexers/src/lgIndexer.ts +++ b/Composer/packages/lib/indexers/src/lgIndexer.ts @@ -2,7 +2,7 @@ // Licensed under the MIT License. import { LGParser, StaticChecker, DiagnosticSeverity, Diagnostic } from 'botbuilder-lg'; -import get from 'lodash.get'; +import get from 'lodash/get'; import { FileInfo, LgFile, LgTemplate } from './type'; import { getBaseName } from './utils/help'; diff --git a/Composer/packages/lib/indexers/src/utils/dialogChecker.ts b/Composer/packages/lib/indexers/src/utils/dialogChecker.ts index 03c7a6a3e1..654bde729b 100644 --- a/Composer/packages/lib/indexers/src/utils/dialogChecker.ts +++ b/Composer/packages/lib/indexers/src/utils/dialogChecker.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -import get from 'lodash.get'; +import get from 'lodash/get'; import { ExpressionEngine } from 'botbuilder-expression-parser'; const ExpressionParser = new ExpressionEngine(); diff --git a/Composer/packages/lib/shared/package.json b/Composer/packages/lib/shared/package.json index addad20706..6cabe2c1d3 100644 --- a/Composer/packages/lib/shared/package.json +++ b/Composer/packages/lib/shared/package.json @@ -11,7 +11,6 @@ "build:css": "copyfiles --up 1 \"src/**/*.css\" \"src/**/*.scss\" lib", "clean": "rimraf lib demo/dist", "prepublishOnly": "npm run build", - "start": "webpack-dev-server --config demo/webpack.config.demo.js", "test": "jest", "lint": "eslint --quiet --ext .js,.jsx,.ts,.tsx ./src ./__tests__", "lint:fix": "yarn lint --fix", @@ -35,24 +34,14 @@ "@types/react-dom": "16.9.0", "autoprefixer": "^9.5.1", "copyfiles": "^2.1.0", - "css-loader": "^2.1.1", - "html-webpack-plugin": "^3.2.0", "jest": "24.0.0", "jest-dom": "^3.1.3", - "mini-css-extract-plugin": "^0.6.0", "office-ui-fabric-react": "7.37.1", - "postcss-loader": "^3.0.0", "react": "16.9.0", "react-dom": "16.9.0", "react-testing-library": "^6.0.2", "rimraf": "^2.6.3", - "style-loader": "^0.23.1", - "ts-jest": "^24.0.2", - "ts-loader": "^5.3.3", - "url-loader": "^1.1.2", - "webpack": "^4.30.0", - "webpack-cli": "^3.3.0", - "webpack-dev-server": "^3.8.2" + "ts-jest": "^24.1.0" }, "dependencies": { "json-schema": "^0.2.5", diff --git a/Composer/packages/lib/shared/src/viewUtils.ts b/Composer/packages/lib/shared/src/viewUtils.ts index 1fc8e6cbfc..332383dc6c 100644 --- a/Composer/packages/lib/shared/src/viewUtils.ts +++ b/Composer/packages/lib/shared/src/viewUtils.ts @@ -1,7 +1,10 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -import { IContextualMenuItem, IContextualMenuProps } from 'office-ui-fabric-react'; +import { + IContextualMenuItem, + IContextualMenuProps, +} from 'office-ui-fabric-react/lib/components/ContextualMenu/ContextualMenu.types'; import { SDKTypes } from './types'; import { ConceptLabels } from './labelMap'; diff --git a/Composer/packages/server/package.json b/Composer/packages/server/package.json index 530e8e73aa..9eb7ba7a42 100644 --- a/Composer/packages/server/package.json +++ b/Composer/packages/server/package.json @@ -4,6 +4,7 @@ "description": "", "main": "index.js", "scripts": { + "analyze": "source-map-explorer 'build/public/static/js/*.js'", "build": "tsc -p tsconfig.build.json", "start": "node build/server.js", "start:dev": "nodemon", @@ -16,7 +17,7 @@ "author": "", "license": "ISC", "nodemonConfig": { - "exec": "cross-env TS_NODE_FILES=true node --inspect=9229 -r ts-node/register src/server.ts", + "exec": "cross-env TS_NODE_FILES=true node --inspect=9228 -r ts-node/register src/server.ts", "watch": [ "src" ], @@ -26,6 +27,7 @@ "devDependencies": { "@types/archiver": "^3.0.0", "@types/body-parser": "^1.17.0", + "@types/compression": "^1.0.1", "@types/cookie-parser": "^1.4.1", "@types/debug": "^4.1.2", "@types/express": "^4.16.1", @@ -34,13 +36,7 @@ "@types/http-errors": "^1.6.1", "@types/jest": "^24.0.9", "@types/jsonwebtoken": "^8.3.3", - "@types/lodash": "^4.14.123", - "@types/lodash.find": "^4.6.6", - "@types/lodash.get": "^4.4.6", - "@types/lodash.has": "^4.5.6", - "@types/lodash.isequal": "^4.5.5", - "@types/lodash.merge": "^4.6.6", - "@types/lodash.uniq": "^4.5.6", + "@types/lodash": "^4.14.146", "@types/lru-cache": "^5.1.0", "@types/mock-fs": "^3.6.30", "@types/morgan": "^1.7.35", @@ -51,6 +47,7 @@ "mock-fs": "^4.10.1", "nodemon": "^1.18.11", "rimraf": "^2.6.3", + "source-map-explorer": "^2.1.0", "ts-node": "^8.4.1" }, "dependencies": { @@ -61,6 +58,7 @@ "axios": "^0.18.0", "azure-storage": "^2.10.3", "body-parser": "^1.18.3", + "compression": "^1.7.4", "cookie-parser": "^1.4.4", "debug": "^4.1.1", "dotenv": "^8.1.0", @@ -73,13 +71,7 @@ "immer": "^2.1.4", "jsonwebtoken": "^8.5.1", "jwks-rsa": "^1.6.0", - "lodash": "^4.17.11", - "lodash.find": "^4.6.0", - "lodash.get": "^4.4.2", - "lodash.has": "^4.5.2", - "lodash.isequal": "^4.5.0", - "lodash.merge": "^4.6.2", - "lodash.uniq": "^4.5.0", + "lodash": "^4.17.15", "lubuild": "https://botbuilder.myget.org/F/botbuilder-declarative/npm/lubuild/-/1.0.3-preview.tgz", "luis-apis": "2.5.1", "minimatch": "^3.0.4", diff --git a/Composer/packages/server/src/models/asset/assetManager.ts b/Composer/packages/server/src/models/asset/assetManager.ts index 885039bd0c..4ecedd844d 100644 --- a/Composer/packages/server/src/models/asset/assetManager.ts +++ b/Composer/packages/server/src/models/asset/assetManager.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -import find from 'lodash.find'; +import find from 'lodash/find'; import { ProjectTemplate } from '@bfc/shared'; import { LocalDiskStorage } from '../storage/localDiskStorage'; diff --git a/Composer/packages/server/src/models/bot/botProject.ts b/Composer/packages/server/src/models/bot/botProject.ts index 3297f9bbfc..e21b8640db 100644 --- a/Composer/packages/server/src/models/bot/botProject.ts +++ b/Composer/packages/server/src/models/bot/botProject.ts @@ -3,7 +3,7 @@ import fs from 'fs'; -import isEqual from 'lodash.isequal'; +import isEqual from 'lodash/isEqual'; import { FileInfo, DialogInfo, LgFile, LuFile } from '@bfc/shared'; import { dialogIndexer, luIndexer, lgIndexer } from '@bfc/indexers'; diff --git a/Composer/packages/server/src/models/bot/luPublisher.ts b/Composer/packages/server/src/models/bot/luPublisher.ts index d6450320cf..4aa6baf774 100644 --- a/Composer/packages/server/src/models/bot/luPublisher.ts +++ b/Composer/packages/server/src/models/bot/luPublisher.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -import isEqual from 'lodash.isequal'; +import isEqual from 'lodash/isEqual'; import { runBuild } from 'lubuild'; import { LuFile } from '@bfc/shared'; diff --git a/Composer/packages/server/src/models/settings/defaultSettingManager.ts b/Composer/packages/server/src/models/settings/defaultSettingManager.ts index a41b858e50..3df934368e 100644 --- a/Composer/packages/server/src/models/settings/defaultSettingManager.ts +++ b/Composer/packages/server/src/models/settings/defaultSettingManager.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -import { omit } from 'lodash'; +import omit from 'lodash/omit'; import { SensitiveProperties } from '@bfc/shared'; import { Path } from '../../utility/path'; diff --git a/Composer/packages/server/src/server.ts b/Composer/packages/server/src/server.ts index a937ad8ea7..58d74569c9 100644 --- a/Composer/packages/server/src/server.ts +++ b/Composer/packages/server/src/server.ts @@ -8,6 +8,7 @@ import crypto from 'crypto'; import express, { Express, Request, Response, NextFunction } from 'express'; import bodyParser from 'body-parser'; import morgan from 'morgan'; +import compression from 'compression'; import { getAuthProvider } from './router/auth'; import { apiRouter } from './router/api'; @@ -16,6 +17,7 @@ import { BASEURL } from './constants'; const app: Express = express(); app.set('view engine', 'ejs'); app.set('view options', { delimiter: '?' }); +app.use(compression()); const { login, authorize } = getAuthProvider(); diff --git a/Composer/packages/server/src/services/project.ts b/Composer/packages/server/src/services/project.ts index c25b1ea044..ef966bba08 100644 --- a/Composer/packages/server/src/services/project.ts +++ b/Composer/packages/server/src/services/project.ts @@ -1,7 +1,8 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -import { merge, find } from 'lodash'; +import merge from 'lodash/merge'; +import find from 'lodash/find'; import { BotProject } from '../models/bot/botProject'; import { LocationRef } from '../models/bot/interface'; diff --git a/Composer/packages/server/src/settings/index.ts b/Composer/packages/server/src/settings/index.ts index 316e5a72f8..9d6f9151b4 100644 --- a/Composer/packages/server/src/settings/index.ts +++ b/Composer/packages/server/src/settings/index.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -import merge from 'lodash.merge'; +import merge from 'lodash/merge'; import settings from './settings.json'; diff --git a/Composer/yarn.lock b/Composer/yarn.lock index 16455cd187..1da3444ed4 100644 --- a/Composer/yarn.lock +++ b/Composer/yarn.lock @@ -1331,6 +1331,13 @@ dependencies: regenerator-runtime "^0.12.0" +"@babel/runtime@^7.0.0": + version "7.7.2" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.7.2.tgz#111a78002a5c25fc8e3361bedc9529c696b85a6a" + integrity sha512-JONRbXbTXc9WQE2mAZd1p0Z3DZ/6vaQIkgYMSTP3KjRCyd7rCZCcfhCyX+YjwcKxcZ82UrxbRD358bpExNgrjw== + dependencies: + regenerator-runtime "^0.13.2" + "@babel/runtime@^7.3.1", "@babel/runtime@^7.3.4": version "7.4.2" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.4.2.tgz#f5ab6897320f16decd855eed70b705908a313fe8" @@ -1696,6 +1703,38 @@ resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.2.4.tgz#622a72bebd1e3f48d921563b4b60a762295a81fc" integrity sha512-6PYY5DVdAY1ifaQW6XYTnOMihmBVT27elqSjEoodchsGjzYlEsTQMcEhSud99kVawatyTZRTiVkJ/c6lwbQ7nA== +"@hapi/address@2.x.x": + version "2.1.2" + resolved "https://registry.yarnpkg.com/@hapi/address/-/address-2.1.2.tgz#1c794cd6dbf2354d1eb1ef10e0303f573e1c7222" + integrity sha512-O4QDrx+JoGKZc6aN64L04vqa7e41tIiLU+OvKdcYaEMP97UttL0f9GIi9/0A4WAMx0uBd6SidDIhktZhgOcN8Q== + +"@hapi/bourne@1.x.x": + version "1.3.2" + resolved "https://registry.yarnpkg.com/@hapi/bourne/-/bourne-1.3.2.tgz#0a7095adea067243ce3283e1b56b8a8f453b242a" + integrity sha512-1dVNHT76Uu5N3eJNTYcvxee+jzX4Z9lfciqRRHCU27ihbUcYi+iSc2iml5Ke1LXe1SyJCLA0+14Jh4tXJgOppA== + +"@hapi/hoek@8.x.x", "@hapi/hoek@^8.3.0": + version "8.5.0" + resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-8.5.0.tgz#2f9ce301c8898e1c3248b0a8564696b24d1a9a5a" + integrity sha512-7XYT10CZfPsH7j9F1Jmg1+d0ezOux2oM2GfArAzLwWe4mE2Dr3hVjsAL6+TFY49RRJlCdJDMw3nJsLFroTc8Kw== + +"@hapi/joi@^15.0.0": + version "15.1.1" + resolved "https://registry.yarnpkg.com/@hapi/joi/-/joi-15.1.1.tgz#c675b8a71296f02833f8d6d243b34c57b8ce19d7" + integrity sha512-entf8ZMOK8sc+8YfeOlM8pCfg3b5+WZIKBfUaaJT8UsjAAPjartzxIYm3TIbjvA4u+u++KbcXD38k682nVHDAQ== + dependencies: + "@hapi/address" "2.x.x" + "@hapi/bourne" "1.x.x" + "@hapi/hoek" "8.x.x" + "@hapi/topo" "3.x.x" + +"@hapi/topo@3.x.x": + version "3.1.6" + resolved "https://registry.yarnpkg.com/@hapi/topo/-/topo-3.1.6.tgz#68d935fa3eae7fdd5ab0d7f953f3205d8b2bfc29" + integrity sha512-tAag0jEcjwH+P2quUfipd7liWCNX2F8NvYjQp2wtInsZxnMlypdw0FtAOLxtvvkO+GSRRbmNi8m/5y42PQJYCQ== + dependencies: + "@hapi/hoek" "^8.3.0" + "@jest/console@^24.3.0": version "24.3.0" resolved "https://registry.yarnpkg.com/@jest/console/-/console-24.3.0.tgz#7bd920d250988ba0bf1352c4493a48e1cb97671e" @@ -2083,6 +2122,13 @@ dependencies: "@types/tern" "*" +"@types/compression@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@types/compression/-/compression-1.0.1.tgz#f3682a6b3ce2dbd4aece48547153ebc592281fa7" + integrity sha512-GuoIYzD70h+4JUqUabsm31FGqvpCYHGKcLtor7nQ/YvUyNX0o9SJZ9boFI5HjFfbOda5Oe/XOvNK6FES8Y/79w== + dependencies: + "@types/express" "*" + "@types/connect@*": version "3.4.32" resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.32.tgz#aa0e9616b9435ccad02bc52b5b454ffc2c70ba28" @@ -2253,115 +2299,10 @@ resolved "https://registry.yarnpkg.com/@types/jwt-decode/-/jwt-decode-2.2.1.tgz#afdf5c527fcfccbd4009b5fd02d1e18241f2d2f2" integrity sha512-aWw2YTtAdT7CskFyxEX2K21/zSDStuf/ikI3yBqmwpwJF0pS+/IX5DWv+1UFffZIbruP6cnT9/LAJV1gFwAT1A== -"@types/lodash.clonedeep@^4.5.6": - version "4.5.6" - resolved "https://registry.yarnpkg.com/@types/lodash.clonedeep/-/lodash.clonedeep-4.5.6.tgz#3b6c40a0affe0799a2ce823b440a6cf33571d32b" - integrity sha512-cE1jYr2dEg1wBImvXlNtp0xDoS79rfEdGozQVgliDZj1uERH4k+rmEMTudP9b4VQ8O6nRb5gPqft0QzEQGMQgA== - dependencies: - "@types/lodash" "*" - -"@types/lodash.debounce@^4.0.6": - version "4.0.6" - resolved "https://registry.yarnpkg.com/@types/lodash.debounce/-/lodash.debounce-4.0.6.tgz#c5a2326cd3efc46566c47e4c0aa248dc0ee57d60" - integrity sha512-4WTmnnhCfDvvuLMaF3KV4Qfki93KebocUF45msxhYyjMttZDQYzHkO639ohhk8+oco2cluAFL3t5+Jn4mleylQ== - dependencies: - "@types/lodash" "*" - -"@types/lodash.find@^4.6.6": - version "4.6.6" - resolved "https://registry.yarnpkg.com/@types/lodash.find/-/lodash.find-4.6.6.tgz#9b298092ff15642ddf0c6b04d9e0a2f3c49ac845" - integrity sha512-rpfXWzKWaw12XMcdQYA7f0xVmkXwJkhPPON69pGVFNYF6/66CduGyLiYnoZk1xBOvGwMnmyrCZ/yJewPO4OMeg== - dependencies: - "@types/lodash" "*" - -"@types/lodash.findindex@^4.6.6": - version "4.6.6" - resolved "https://registry.yarnpkg.com/@types/lodash.findindex/-/lodash.findindex-4.6.6.tgz#36079decaaab8bcdcfb86cd5f3c0f20aca908691" - integrity sha512-quPh7tw70yhryaubH6wBvgIQgeU1PFjdoT4eaW6WCKzjIlxgImLKIv4bvJhMTUlRkMgf5VAfECKKXKuB8cexgw== - dependencies: - "@types/lodash" "*" - -"@types/lodash.get@^4.4.6": - version "4.4.6" - resolved "https://registry.yarnpkg.com/@types/lodash.get/-/lodash.get-4.4.6.tgz#0c7ac56243dae0f9f09ab6f75b29471e2e777240" - integrity sha512-E6zzjR3GtNig8UJG/yodBeJeIOtgPkMgsLjDU3CbgCAPC++vJ0eCMnJhVpRZb/ENqEFlov1+3K9TKtY4UdWKtQ== - dependencies: - "@types/lodash" "*" - -"@types/lodash.has@^4.5.6": - version "4.5.6" - resolved "https://botbuilder.myget.org/F/botbuilder-declarative/npm/@types/lodash.has/-/@types/lodash.has-4.5.6.tgz#d94d3f0b45ced2ae76d632080daf70e9b76e29eb" - integrity sha1-2U0/C0XO0q521jIIDa9w6bduKes= - dependencies: - "@types/lodash" "*" - -"@types/lodash.isequal@^4.5.5": - version "4.5.5" - resolved "https://registry.yarnpkg.com/@types/lodash.isequal/-/lodash.isequal-4.5.5.tgz#4fed1b1b00bef79e305de0352d797e9bb816c8ff" - integrity sha512-4IKbinG7MGP131wRfceK6W4E/Qt3qssEFLF30LnJbjYiSfHGGRU/Io8YxXrZX109ir+iDETC8hw8QsDijukUVg== - dependencies: - "@types/lodash" "*" - -"@types/lodash.merge@^4.6.6": - version "4.6.6" - resolved "https://botbuilder.myget.org/F/botbuilder-declarative/npm/@types/lodash.merge/-/@types/lodash.merge-4.6.6.tgz#b84b403c1d31bc42d51772d1cd5557fa008cd3d6" - integrity sha1-uEtAPB0xvELVF3LRzVVX+gCM09Y= - dependencies: - "@types/lodash" "*" - -"@types/lodash.omit@^4.5.6": - version "4.5.6" - resolved "https://registry.yarnpkg.com/@types/lodash.omit/-/lodash.omit-4.5.6.tgz#f2a9518259e481a48ff7ec423420fa8fd58933e2" - integrity sha512-KXPpOSNX2h0DAG2w7ajpk7TXvWF28ZHs5nJhOJyP0BQHkehgr948RVsToItMme6oi0XJkp19CbuNXkIX8FiBlQ== - dependencies: - "@types/lodash" "*" - -"@types/lodash.once@^4.1.6": - version "4.1.6" - resolved "https://registry.yarnpkg.com/@types/lodash.once/-/lodash.once-4.1.6.tgz#f6ea46e3426bc3494b72a45e65efed440103b967" - integrity sha512-kawTe2cBNZ5OI4CvTJT9cs8wacGZK4BoakKAGASl/jH3LxflMTuy82wN2U5klYsxYjrABkNWmzgO33volt7urQ== - dependencies: - "@types/lodash" "*" - -"@types/lodash.pick@^4.4.6": - version "4.4.6" - resolved "https://registry.yarnpkg.com/@types/lodash.pick/-/lodash.pick-4.4.6.tgz#ae4e8f109e982786313bb6aac4b1a73aefa6e9be" - integrity sha512-u8bzA16qQ+8dY280z3aK7PoWb3fzX5ATJ0rJB6F+uqchOX2VYF02Aqa+8aYiHiHgPzQiITqCgeimlyKFy4OA6g== - dependencies: - "@types/lodash" "*" - -"@types/lodash.set@^4.3.6": - version "4.3.6" - resolved "https://registry.yarnpkg.com/@types/lodash.set/-/lodash.set-4.3.6.tgz#33e635c2323f855359225df6a5c8c6f1f1908264" - integrity sha512-ZeGDDlnRYTvS31Laij0RsSaguIUSBTYIlJFKL3vm3T2OAZAQj2YpSvVWJc0WiG4jqg9fGX6PAPGvDqBcHfSgFg== - dependencies: - "@types/lodash" "*" - -"@types/lodash.startcase@^4.4.6": - version "4.4.6" - resolved "https://registry.yarnpkg.com/@types/lodash.startcase/-/lodash.startcase-4.4.6.tgz#0e91c90004c87f738ae495a24e7b858cdecf0e2f" - integrity sha512-wtUyl30SWGQY08prEd5zdflQKbl/lwKXwLfWaQbTLwnGPFAFkAWOOOI/WYVfK8p61CtfmCbxNHvnTK4vW2idxg== - dependencies: - "@types/lodash" "*" - -"@types/lodash.throttle@^4.1.6": - version "4.1.6" - resolved "https://registry.yarnpkg.com/@types/lodash.throttle/-/lodash.throttle-4.1.6.tgz#f5ba2c22244ee42ff6c2c49e614401a870c1009c" - integrity sha512-/UIH96i/sIRYGC60NoY72jGkCJtFN5KVPhEMMMTjol65effe1gPn0tycJqV5tlSwMTzX8FqzB5yAj0rfGHTPNg== - dependencies: - "@types/lodash" "*" - -"@types/lodash.uniq@^4.5.6": - version "4.5.6" - resolved "https://botbuilder.myget.org/F/botbuilder-declarative/npm/@types/lodash.uniq/-/@types/lodash.uniq-4.5.6.tgz#adb052f6c7eeb38b920c13166e7a972dd960b4c5" - integrity sha1-rbBS9sfus4uSDBMWbnqXLdlgtMU= - dependencies: - "@types/lodash" "*" - -"@types/lodash@*", "@types/lodash@^4.14.123": - version "4.14.123" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.123.tgz#39be5d211478c8dd3bdae98ee75bb7efe4abfe4d" - integrity sha512-pQvPkc4Nltyx7G1Ww45OjVqUsJP4UsZm+GWJpigXgkikZqJgRm4c48g027o6tdgubWHwFRF15iFd+Y4Pmqv6+Q== +"@types/lodash@^4.14.146": + version "4.14.146" + resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.146.tgz#de0d2c8610012f12a6a796455054cbc654f8fecf" + integrity sha512-JzJcmQ/ikHSv7pbvrVNKJU5j9jL9VLf3/gqs048CEnBVVVEv4kve3vLxoPHGvclutS+Il4SBIuQQ087m1eHffw== "@types/lru-cache@^5.1.0": version "5.1.0" @@ -2485,11 +2426,6 @@ resolved "https://registry.yarnpkg.com/@types/tapable/-/tapable-1.0.4.tgz#b4ffc7dc97b498c969b360a41eee247f82616370" integrity sha512-78AdXtlhpCHT0K3EytMpn4JNxaf5tbqbLcbIRoQIHzpTIyjpxLQKRoxU55ujBXAtg3Nl2h/XWvfDa9dsMOd0pQ== -"@types/tapable@1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@types/tapable/-/tapable-1.0.2.tgz#e13182e1b69871a422d7863e11a4a6f5b814a4bd" - integrity sha512-42zEJkBpNfMEAvWR5WlwtTH22oDzcMjFsL9gDGExwF8X8WvAiw7Vwop7hPw03QT8TKfec83LwbHj6SvpqM4ELQ== - "@types/tern@*": version "0.23.2" resolved "https://registry.yarnpkg.com/@types/tern/-/tern-0.23.2.tgz#4f2657832e4e69345ae2afb1f7d72ebb9bbd25d2" @@ -2730,15 +2666,6 @@ office-ui-fabric-react "^7.29.2" tslib "^1.7.1" -"@webassemblyjs/ast@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.7.11.tgz#b988582cafbb2b095e8b556526f30c90d057cace" - integrity sha512-ZEzy4vjvTzScC+SH8RBssQUawpaInUdMTYwYYLh54/s8TuT0gBLuyUnppKsVyZEi876VmmStKsUs28UxPgdvrA== - dependencies: - "@webassemblyjs/helper-module-context" "1.7.11" - "@webassemblyjs/helper-wasm-bytecode" "1.7.11" - "@webassemblyjs/wast-parser" "1.7.11" - "@webassemblyjs/ast@1.8.5": version "1.8.5" resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.8.5.tgz#51b1c5fe6576a34953bf4b253df9f0d490d9e359" @@ -2748,43 +2675,21 @@ "@webassemblyjs/helper-wasm-bytecode" "1.8.5" "@webassemblyjs/wast-parser" "1.8.5" -"@webassemblyjs/floating-point-hex-parser@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.7.11.tgz#a69f0af6502eb9a3c045555b1a6129d3d3f2e313" - integrity sha512-zY8dSNyYcgzNRNT666/zOoAyImshm3ycKdoLsyDw/Bwo6+/uktb7p4xyApuef1dwEBo/U/SYQzbGBvV+nru2Xg== - "@webassemblyjs/floating-point-hex-parser@1.8.5": version "1.8.5" resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.8.5.tgz#1ba926a2923613edce496fd5b02e8ce8a5f49721" integrity sha512-9p+79WHru1oqBh9ewP9zW95E3XAo+90oth7S5Re3eQnECGq59ly1Ri5tsIipKGpiStHsUYmY3zMLqtk3gTcOtQ== -"@webassemblyjs/helper-api-error@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.7.11.tgz#c7b6bb8105f84039511a2b39ce494f193818a32a" - integrity sha512-7r1qXLmiglC+wPNkGuXCvkmalyEstKVwcueZRP2GNC2PAvxbLYwLLPr14rcdJaE4UtHxQKfFkuDFuv91ipqvXg== - "@webassemblyjs/helper-api-error@1.8.5": version "1.8.5" resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.8.5.tgz#c49dad22f645227c5edb610bdb9697f1aab721f7" integrity sha512-Za/tnzsvnqdaSPOUXHyKJ2XI7PDX64kWtURyGiJJZKVEdFOsdKUCPTNEVFZq3zJ2R0G5wc2PZ5gvdTRFgm81zA== -"@webassemblyjs/helper-buffer@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.7.11.tgz#3122d48dcc6c9456ed982debe16c8f37101df39b" - integrity sha512-MynuervdylPPh3ix+mKZloTcL06P8tenNH3sx6s0qE8SLR6DdwnfgA7Hc9NSYeob2jrW5Vql6GVlsQzKQCa13w== - "@webassemblyjs/helper-buffer@1.8.5": version "1.8.5" resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.8.5.tgz#fea93e429863dd5e4338555f42292385a653f204" integrity sha512-Ri2R8nOS0U6G49Q86goFIPNgjyl6+oE1abW1pS84BuhP1Qcr5JqMwRFT3Ah3ADDDYGEgGs1iyb1DGX+kAi/c/Q== -"@webassemblyjs/helper-code-frame@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.7.11.tgz#cf8f106e746662a0da29bdef635fcd3d1248364b" - integrity sha512-T8ESC9KMXFTXA5urJcyor5cn6qWeZ4/zLPyWeEXZ03hj/x9weSokGNkVCdnhSabKGYWxElSdgJ+sFa9G/RdHNw== - dependencies: - "@webassemblyjs/wast-printer" "1.7.11" - "@webassemblyjs/helper-code-frame@1.8.5": version "1.8.5" resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.8.5.tgz#9a740ff48e3faa3022b1dff54423df9aa293c25e" @@ -2792,21 +2697,11 @@ dependencies: "@webassemblyjs/wast-printer" "1.8.5" -"@webassemblyjs/helper-fsm@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.7.11.tgz#df38882a624080d03f7503f93e3f17ac5ac01181" - integrity sha512-nsAQWNP1+8Z6tkzdYlXT0kxfa2Z1tRTARd8wYnc/e3Zv3VydVVnaeePgqUzFrpkGUyhUUxOl5ML7f1NuT+gC0A== - "@webassemblyjs/helper-fsm@1.8.5": version "1.8.5" resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.8.5.tgz#ba0b7d3b3f7e4733da6059c9332275d860702452" integrity sha512-kRuX/saORcg8se/ft6Q2UbRpZwP4y7YrWsLXPbbmtepKr22i8Z4O3V5QE9DbZK908dh5Xya4Un57SDIKwB9eow== -"@webassemblyjs/helper-module-context@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.7.11.tgz#d874d722e51e62ac202476935d649c802fa0e209" - integrity sha512-JxfD5DX8Ygq4PvXDucq0M+sbUFA7BJAv/GGl9ITovqE+idGX+J3QSzJYz+LwQmL7fC3Rs+utvWoJxDb6pmC0qg== - "@webassemblyjs/helper-module-context@1.8.5": version "1.8.5" resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.8.5.tgz#def4b9927b0101dc8cbbd8d1edb5b7b9c82eb245" @@ -2815,26 +2710,11 @@ "@webassemblyjs/ast" "1.8.5" mamacro "^0.0.3" -"@webassemblyjs/helper-wasm-bytecode@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.7.11.tgz#dd9a1e817f1c2eb105b4cf1013093cb9f3c9cb06" - integrity sha512-cMXeVS9rhoXsI9LLL4tJxBgVD/KMOKXuFqYb5oCJ/opScWpkCMEz9EJtkonaNcnLv2R3K5jIeS4TRj/drde1JQ== - "@webassemblyjs/helper-wasm-bytecode@1.8.5": version "1.8.5" resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.8.5.tgz#537a750eddf5c1e932f3744206551c91c1b93e61" integrity sha512-Cu4YMYG3Ddl72CbmpjU/wbP6SACcOPVbHN1dI4VJNJVgFwaKf1ppeFJrwydOG3NDHxVGuCfPlLZNyEdIYlQ6QQ== -"@webassemblyjs/helper-wasm-section@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.7.11.tgz#9c9ac41ecf9fbcfffc96f6d2675e2de33811e68a" - integrity sha512-8ZRY5iZbZdtNFE5UFunB8mmBEAbSI3guwbrsCl4fWdfRiAcvqQpeqd5KHhSWLL5wuxo53zcaGZDBU64qgn4I4Q== - dependencies: - "@webassemblyjs/ast" "1.7.11" - "@webassemblyjs/helper-buffer" "1.7.11" - "@webassemblyjs/helper-wasm-bytecode" "1.7.11" - "@webassemblyjs/wasm-gen" "1.7.11" - "@webassemblyjs/helper-wasm-section@1.8.5": version "1.8.5" resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.8.5.tgz#74ca6a6bcbe19e50a3b6b462847e69503e6bfcbf" @@ -2845,13 +2725,6 @@ "@webassemblyjs/helper-wasm-bytecode" "1.8.5" "@webassemblyjs/wasm-gen" "1.8.5" -"@webassemblyjs/ieee754@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.7.11.tgz#c95839eb63757a31880aaec7b6512d4191ac640b" - integrity sha512-Mmqx/cS68K1tSrvRLtaV/Lp3NZWzXtOHUW2IvDvl2sihAwJh4ACE0eL6A8FvMyDG9abes3saB6dMimLOs+HMoQ== - dependencies: - "@xtuc/ieee754" "^1.2.0" - "@webassemblyjs/ieee754@1.8.5": version "1.8.5" resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.8.5.tgz#712329dbef240f36bf57bd2f7b8fb9bf4154421e" @@ -2859,13 +2732,6 @@ dependencies: "@xtuc/ieee754" "^1.2.0" -"@webassemblyjs/leb128@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.7.11.tgz#d7267a1ee9c4594fd3f7e37298818ec65687db63" - integrity sha512-vuGmgZjjp3zjcerQg+JA+tGOncOnJLWVkt8Aze5eWQLwTQGNgVLcyOTqgSCxWTR4J42ijHbBxnuRaL1Rv7XMdw== - dependencies: - "@xtuc/long" "4.2.1" - "@webassemblyjs/leb128@1.8.5": version "1.8.5" resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.8.5.tgz#044edeb34ea679f3e04cd4fd9824d5e35767ae10" @@ -2873,30 +2739,11 @@ dependencies: "@xtuc/long" "4.2.2" -"@webassemblyjs/utf8@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.7.11.tgz#06d7218ea9fdc94a6793aa92208160db3d26ee82" - integrity sha512-C6GFkc7aErQIAH+BMrIdVSmW+6HSe20wg57HEC1uqJP8E/xpMjXqQUxkQw07MhNDSDcGpxI9G5JSNOQCqJk4sA== - "@webassemblyjs/utf8@1.8.5": version "1.8.5" resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.8.5.tgz#a8bf3b5d8ffe986c7c1e373ccbdc2a0915f0cedc" integrity sha512-U7zgftmQriw37tfD934UNInokz6yTmn29inT2cAetAsaU9YeVCveWEwhKL1Mg4yS7q//NGdzy79nlXh3bT8Kjw== -"@webassemblyjs/wasm-edit@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.7.11.tgz#8c74ca474d4f951d01dbae9bd70814ee22a82005" - integrity sha512-FUd97guNGsCZQgeTPKdgxJhBXkUbMTY6hFPf2Y4OedXd48H97J+sOY2Ltaq6WGVpIH8o/TGOVNiVz/SbpEMJGg== - dependencies: - "@webassemblyjs/ast" "1.7.11" - "@webassemblyjs/helper-buffer" "1.7.11" - "@webassemblyjs/helper-wasm-bytecode" "1.7.11" - "@webassemblyjs/helper-wasm-section" "1.7.11" - "@webassemblyjs/wasm-gen" "1.7.11" - "@webassemblyjs/wasm-opt" "1.7.11" - "@webassemblyjs/wasm-parser" "1.7.11" - "@webassemblyjs/wast-printer" "1.7.11" - "@webassemblyjs/wasm-edit@1.8.5": version "1.8.5" resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.8.5.tgz#962da12aa5acc1c131c81c4232991c82ce56e01a" @@ -2911,17 +2758,6 @@ "@webassemblyjs/wasm-parser" "1.8.5" "@webassemblyjs/wast-printer" "1.8.5" -"@webassemblyjs/wasm-gen@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.7.11.tgz#9bbba942f22375686a6fb759afcd7ac9c45da1a8" - integrity sha512-U/KDYp7fgAZX5KPfq4NOupK/BmhDc5Kjy2GIqstMhvvdJRcER/kUsMThpWeRP8BMn4LXaKhSTggIJPOeYHwISA== - dependencies: - "@webassemblyjs/ast" "1.7.11" - "@webassemblyjs/helper-wasm-bytecode" "1.7.11" - "@webassemblyjs/ieee754" "1.7.11" - "@webassemblyjs/leb128" "1.7.11" - "@webassemblyjs/utf8" "1.7.11" - "@webassemblyjs/wasm-gen@1.8.5": version "1.8.5" resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.8.5.tgz#54840766c2c1002eb64ed1abe720aded714f98bc" @@ -2933,16 +2769,6 @@ "@webassemblyjs/leb128" "1.8.5" "@webassemblyjs/utf8" "1.8.5" -"@webassemblyjs/wasm-opt@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.7.11.tgz#b331e8e7cef8f8e2f007d42c3a36a0580a7d6ca7" - integrity sha512-XynkOwQyiRidh0GLua7SkeHvAPXQV/RxsUeERILmAInZegApOUAIJfRuPYe2F7RcjOC9tW3Cb9juPvAC/sCqvg== - dependencies: - "@webassemblyjs/ast" "1.7.11" - "@webassemblyjs/helper-buffer" "1.7.11" - "@webassemblyjs/wasm-gen" "1.7.11" - "@webassemblyjs/wasm-parser" "1.7.11" - "@webassemblyjs/wasm-opt@1.8.5": version "1.8.5" resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.8.5.tgz#b24d9f6ba50394af1349f510afa8ffcb8a63d264" @@ -2953,18 +2779,6 @@ "@webassemblyjs/wasm-gen" "1.8.5" "@webassemblyjs/wasm-parser" "1.8.5" -"@webassemblyjs/wasm-parser@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.7.11.tgz#6e3d20fa6a3519f6b084ef9391ad58211efb0a1a" - integrity sha512-6lmXRTrrZjYD8Ng8xRyvyXQJYUQKYSXhJqXOBLw24rdiXsHAOlvw5PhesjdcaMadU/pyPQOJ5dHreMjBxwnQKg== - dependencies: - "@webassemblyjs/ast" "1.7.11" - "@webassemblyjs/helper-api-error" "1.7.11" - "@webassemblyjs/helper-wasm-bytecode" "1.7.11" - "@webassemblyjs/ieee754" "1.7.11" - "@webassemblyjs/leb128" "1.7.11" - "@webassemblyjs/utf8" "1.7.11" - "@webassemblyjs/wasm-parser@1.8.5": version "1.8.5" resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.8.5.tgz#21576f0ec88b91427357b8536383668ef7c66b8d" @@ -2977,18 +2791,6 @@ "@webassemblyjs/leb128" "1.8.5" "@webassemblyjs/utf8" "1.8.5" -"@webassemblyjs/wast-parser@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.7.11.tgz#25bd117562ca8c002720ff8116ef9072d9ca869c" - integrity sha512-lEyVCg2np15tS+dm7+JJTNhNWq9yTZvi3qEhAIIOaofcYlUp0UR5/tVqOwa/gXYr3gjwSZqw+/lS9dscyLelbQ== - dependencies: - "@webassemblyjs/ast" "1.7.11" - "@webassemblyjs/floating-point-hex-parser" "1.7.11" - "@webassemblyjs/helper-api-error" "1.7.11" - "@webassemblyjs/helper-code-frame" "1.7.11" - "@webassemblyjs/helper-fsm" "1.7.11" - "@xtuc/long" "4.2.1" - "@webassemblyjs/wast-parser@1.8.5": version "1.8.5" resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.8.5.tgz#e10eecd542d0e7bd394f6827c49f3df6d4eefb8c" @@ -3001,15 +2803,6 @@ "@webassemblyjs/helper-fsm" "1.8.5" "@xtuc/long" "4.2.2" -"@webassemblyjs/wast-printer@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.7.11.tgz#c4245b6de242cb50a2cc950174fdbf65c78d7813" - integrity sha512-m5vkAsuJ32QpkdkDOUPGSltrg8Cuk3KBx4YrmAGQwCZPRdUHXxG4phIOuuycLemHFr74sWL9Wthqss4fzdzSwg== - dependencies: - "@webassemblyjs/ast" "1.7.11" - "@webassemblyjs/wast-parser" "1.7.11" - "@xtuc/long" "4.2.1" - "@webassemblyjs/wast-printer@1.8.5": version "1.8.5" resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.8.5.tgz#114bbc481fd10ca0e23b3560fa812748b0bae5bc" @@ -3024,21 +2817,11 @@ resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== -"@xtuc/long@4.2.1": - version "4.2.1" - resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.1.tgz#5c85d662f76fa1d34575766c5dcd6615abcd30d8" - integrity sha512-FZdkNBDqBRHKQ2MEbSC17xnPFOhZxeJ2YGSfr2BKf3sujG49Qe3bB+rGCwQfIaA7WHnGeGkSijX4FuBCdrzW/g== - "@xtuc/long@4.2.2": version "4.2.2" resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== -JSV@^4.0.x: - version "4.0.2" - resolved "https://registry.yarnpkg.com/JSV/-/JSV-4.0.2.tgz#d077f6825571f82132f9dffaed587b4029feff57" - integrity sha1-0Hf2glVx+CEy+d/67Vh7QCn+/1c= - abab@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.0.tgz#aba0ab4c5eee2d4c79d3487d85450fb2376ebb0f" @@ -3065,13 +2848,6 @@ accepts@~1.3.7: mime-types "~2.1.24" negotiator "0.6.2" -acorn-dynamic-import@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/acorn-dynamic-import/-/acorn-dynamic-import-3.0.0.tgz#901ceee4c7faaef7e07ad2a47e890675da50a278" - integrity sha512-zVWV8Z8lislJoOKKqdNMOB+s6+XV5WERty8MnKBeFgwA+19XJjJHs2RP5dzM57FftIs+jQnRToLiWazKr6sSWg== - dependencies: - acorn "^5.0.0" - acorn-dynamic-import@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/acorn-dynamic-import/-/acorn-dynamic-import-4.0.0.tgz#482210140582a36b83c3e342e1cfebcaa9240948" @@ -3095,7 +2871,7 @@ acorn-walk@^6.0.1: resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-6.1.1.tgz#d363b66f5fac5f018ff9c3a1e7b6f8e310cc3913" integrity sha512-OtUw6JUTgxA2QoqqmrmQ7F2NYqiBPi/L2jqHyFtllhOUvXYQXf0Z1CYUinIfyT4bTCGmrA7gX9FvHA81uzCoVw== -acorn@^5.0.0, acorn@^5.5.3, acorn@^5.6.2: +acorn@^5.5.3: version "5.7.3" resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.3.tgz#67aa231bf8812974b85235a96771eb6bd07ea279" integrity sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw== @@ -3105,11 +2881,24 @@ acorn@^6.0.1, acorn@^6.0.5, acorn@^6.0.7: resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.1.1.tgz#7d25ae05bb8ad1f9b699108e1094ecd7884adc1f" integrity sha512-jPTiwtOxaHNaAPg/dmrJ/beuzLRnXtB0kQPQ8JpotKJgTB6rX6c8mlf315941pyjBSaPg8NHXS9fhP4u17DpGA== +acorn@^6.2.1: + version "6.3.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.3.0.tgz#0087509119ffa4fc0a0041d1e93a417e68cb856e" + integrity sha512-/czfa8BwS88b9gWQVhc8eknunSA2DoJpJyTQkhheIf5E48u1N0R4q/YxxsAeqRrmK9TQ/uYfgLDfZo91UlANIA== + address@1.0.3, address@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/address/-/address-1.0.3.tgz#b5f50631f8d6cec8bd20c963963afb55e06cbce9" integrity sha512-z55ocwKBRLryBs394Sm3ushTtBeg6VAeuku7utSoSnsJKvKcnXFIyC6vh27n3rXyxSgkJBBCAvyOn7gSUcTYjg== +aggregate-error@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.0.1.tgz#db2fe7246e536f40d9b5442a39e117d7dd6a24e0" + integrity sha512-quoaXsZ9/BLNae5yiNoUz+Nhkwz83GhWwtYFglcjEQB2NDHCIpApbqXxIFnm4Pq/Nvhrsq5sYJFyohrrxnTGAA== + dependencies: + clean-stack "^2.0.0" + indent-string "^4.0.0" + ajv-errors@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d" @@ -3120,6 +2909,11 @@ ajv-keywords@^3.1.0: resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.4.0.tgz#4b831e7b531415a7cc518cd404e73f6193c6349d" integrity sha512-aUjdRFISbuFOl0EIZc+9e4FfZp0bDZgAdOOf30bJmw8VM9v84SHyVyxDfbWxpGYbdZD/9XoKxfHVNmxPkhwyGw== +ajv-keywords@^3.4.1: + version "3.4.1" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.4.1.tgz#ef916e271c64ac12171fd8384eaae6b2345854da" + integrity sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ== + ajv@^6.1.0, ajv@^6.5.5, ajv@^6.7.0, ajv@^6.9.1: version "6.10.0" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.10.0.tgz#90d0d54439da587cd7e843bfb7045f50bd22bdf1" @@ -3130,6 +2924,16 @@ ajv@^6.1.0, ajv@^6.5.5, ajv@^6.7.0, ajv@^6.9.1: json-schema-traverse "^0.4.1" uri-js "^4.2.2" +ajv@^6.10.2: + version "6.10.2" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.10.2.tgz#d3cea04d6b017b2894ad69040fec8b623eb4bd52" + integrity sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw== + dependencies: + fast-deep-equal "^2.0.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + ally.js@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/ally.js/-/ally.js-1.4.1.tgz#9fb7e6ba58efac4ee9131cb29aa9ee3b540bcf1e" @@ -3197,11 +3001,6 @@ ansi-styles@^3.2.0, ansi-styles@^3.2.1: dependencies: color-convert "^1.9.0" -ansi-styles@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-1.0.0.tgz#cb102df1c56f5123eab8b67cd7b98027a0279178" - integrity sha1-yxAt8cVvUSPquLZ817mAJ6AnkXg= - antlr4ts@0.5.0-alpha.1: version "0.5.0-alpha.1" resolved "https://registry.yarnpkg.com/antlr4ts/-/antlr4ts-0.5.0-alpha.1.tgz#c421d8269523356c42c5533603aec0410b423806" @@ -3551,15 +3350,6 @@ azure-storage@^2.10.3: xml2js "0.2.8" xmlbuilder "^9.0.7" -babel-code-frame@^6.22.0, babel-code-frame@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" - integrity sha1-Y/1D99weO7fONZR9uP42mj9Yx0s= - dependencies: - chalk "^1.1.3" - esutils "^2.0.2" - js-tokens "^3.0.2" - babel-core@7.0.0-bridge.0: version "7.0.0-bridge.0" resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-7.0.0-bridge.0.tgz#95a492ddd90f9b4e9a4a1da14eb335b87b634ece" @@ -3878,6 +3668,11 @@ bluebird@^3.5.1, bluebird@^3.5.3: resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.3.tgz#7d01c6f9616c9a51ab0f8c549a79dfe6ec33efa7" integrity sha512-/qKPUQlaW1OyR51WeCPBvRnAlnZFUJkCSG5HzGnuIqhgyJtF+T94lFnn33eiazjRm2LAHVy2guNnaq48X9SJuw== +bluebird@^3.5.5: + version "3.7.1" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.1.tgz#df70e302b471d7473489acf26a93d63b53f874de" + integrity sha512-DdmyoGCleJnkbp3nkbxTLJ18rjDsE4yCggEwKNXkeV123sPNfOCYeDoeuOY+F2FrSjO1YXcTU+dsy96KMy+gcg== + bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0: version "4.11.8" resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f" @@ -4158,6 +3953,11 @@ bser@^2.0.0: dependencies: node-int64 "^0.4.0" +btoa@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/btoa/-/btoa-1.2.1.tgz#01a9909f8b2c93f6bf680ba26131eb30f7fa3d73" + integrity sha512-SB4/MIGlsiVkMcHmT+pSmIPoNDoHg+7cMzmt3Uxt628MTz2487DKSqK/fuhFBrkuqrYv5UCEnACpF4dTFNKc/g== + buffer-alloc-unsafe@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz#bd7dc26ae2972d0eda253be061dba992349c19f0" @@ -4253,6 +4053,51 @@ cacache@^11.0.2, cacache@^11.3.1: unique-filename "^1.1.1" y18n "^4.0.0" +cacache@^12.0.2: + version "12.0.3" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-12.0.3.tgz#be99abba4e1bf5df461cd5a2c1071fc432573390" + integrity sha512-kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw== + dependencies: + bluebird "^3.5.5" + chownr "^1.1.1" + figgy-pudding "^3.5.1" + glob "^7.1.4" + graceful-fs "^4.1.15" + infer-owner "^1.0.3" + lru-cache "^5.1.1" + mississippi "^3.0.0" + mkdirp "^0.5.1" + move-concurrently "^1.0.1" + promise-inflight "^1.0.1" + rimraf "^2.6.3" + ssri "^6.0.1" + unique-filename "^1.1.1" + y18n "^4.0.0" + +cacache@^13.0.1: + version "13.0.1" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-13.0.1.tgz#a8000c21697089082f85287a1aec6e382024a71c" + integrity sha512-5ZvAxd05HDDU+y9BVvcqYu2LLXmPnQ0hW62h32g4xBTgL/MppR4/04NHfj/ycM2y6lmTnbw6HVi+1eN0Psba6w== + dependencies: + chownr "^1.1.2" + figgy-pudding "^3.5.1" + fs-minipass "^2.0.0" + glob "^7.1.4" + graceful-fs "^4.2.2" + infer-owner "^1.0.4" + lru-cache "^5.1.1" + minipass "^3.0.0" + minipass-collect "^1.0.2" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.2" + mkdirp "^0.5.1" + move-concurrently "^1.0.1" + p-map "^3.0.0" + promise-inflight "^1.0.1" + rimraf "^2.7.1" + ssri "^7.0.0" + unique-filename "^1.1.1" + cache-base@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" @@ -4330,7 +4175,7 @@ callsites@^3.0.0: resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.0.0.tgz#fb7eb569b72ad7a45812f93fd9430a3e410b3dd3" integrity sha512-tWnkwu9YEq2uzlBDI4RcLn8jrFvF9AOi8PxDNU3hZZjJcjkcRAq3vCI+vZcg1SuxISDYe86k9VZFwAxDiJGoAw== -camel-case@3.0.x: +camel-case@3.0.x, camel-case@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-3.0.0.tgz#ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73" integrity sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M= @@ -4348,6 +4193,11 @@ camelcase@^5.0.0, camelcase@^5.2.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.2.0.tgz#e7522abda5ed94cc0489e1b8466610e88404cf45" integrity sha512-IXFsBS2pC+X0j0N/GE7Dm7j3bsEBp+oTpb7F50dwEVX7rf3IgwO9XatnegTsDtniKCUtEJH4fSU6Asw7uoVLfQ== +camelcase@^5.3.1: + version "5.3.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== + camelize@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/camelize/-/camelize-1.0.0.tgz#164a5483e630fa4321e5af07020e531831b2609b" @@ -4446,15 +4296,6 @@ chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3: strip-ansi "^3.0.0" supports-color "^2.0.0" -chalk@~0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-0.4.0.tgz#5199a3ddcd0c1efe23bc08c1b027b06176e0c64f" - integrity sha1-UZmj3c0MHv4jvAjBsCewYXbgxk8= - dependencies: - ansi-styles "~1.0.0" - has-color "~0.1.0" - strip-ansi "~0.1.0" - chardet@^0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" @@ -4480,7 +4321,7 @@ check-types@^7.3.0: resolved "https://registry.yarnpkg.com/check-types/-/check-types-7.4.0.tgz#0378ec1b9616ec71f774931a3c6516fad8c152f4" integrity sha512-YbulWHdfP99UfZ73NcUDlNJhEIDgm9Doq9GhpyXbF+7Aegi3CVV7qqMCKTTqJxlvEvnQBp9IA+dxsGN6xK/nSg== -chokidar@^2.0.2, chokidar@^2.0.3, chokidar@^2.0.4: +chokidar@^2.0.2, chokidar@^2.0.3: version "2.1.2" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.2.tgz#9c23ea40b01638439e0513864d362aeacc5ad058" integrity sha512-IwXUx0FXc5ibYmPC2XeEj5mpXoV66sR+t3jqu2NS2GYwCktt3KF1/Qqjws/NkegajBA4RbZ5+DDwlOiJsxDHEg== @@ -4542,6 +4383,11 @@ chownr@^1.1.1: resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.1.tgz#54726b8b8fff4df053c42187e801fb4412df1494" integrity sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g== +chownr@^1.1.2: + version "1.1.3" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.3.tgz#42d837d5239688d55f303003a508230fa6727142" + integrity sha512-i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw== + chrome-trace-event@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.0.tgz#45a91bd2c20c9411f0963b5aaeb9a1b95e09cc48" @@ -4549,6 +4395,13 @@ chrome-trace-event@^1.0.0: dependencies: tslib "^1.9.0" +chrome-trace-event@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz#234090ee97c7d4ad1a2c4beae27505deffc608a4" + integrity sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ== + dependencies: + tslib "^1.9.0" + ci-info@^1.5.0: version "1.6.0" resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.6.0.tgz#2ca20dbb9ceb32d4524a683303313f0304b1e497" @@ -4582,13 +4435,18 @@ classnames@^2.2.6: resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.2.6.tgz#43935bffdd291f326dad0a205309b38d00f650ce" integrity sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q== -clean-css@4.2.x: +clean-css@4.2.x, clean-css@^4.2.1: version "4.2.1" resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.1.tgz#2d411ef76b8569b6d0c84068dabe85b0aa5e5c17" integrity sha512-4ZxI6dy4lrY6FHzfiy1aEOXgu4LIsW2MhwG0VBKdcoGoH/XLFgaHSdLTGr4O8Be6A8r3MOphEiI8Gc1n0ecf3g== dependencies: source-map "~0.6.0" +clean-stack@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" + integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== + clean-webpack-plugin@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/clean-webpack-plugin/-/clean-webpack-plugin-2.0.1.tgz#2241526b0030aa0249e78714471298f867fc2829" @@ -4657,6 +4515,15 @@ cliui@^4.0.0: strip-ansi "^4.0.0" wrap-ansi "^2.0.0" +cliui@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" + integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA== + dependencies: + string-width "^3.1.0" + strip-ansi "^5.2.0" + wrap-ansi "^5.1.0" + clone-deep@^0.2.4: version "0.2.4" resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-0.2.4.tgz#4e73dd09e9fb971cc38670c5dced9c1896481cc6" @@ -4694,7 +4561,7 @@ code-point-at@^1.0.0: resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= -codemirror@^5.44.0, codemirror@^5.45.0: +codemirror@^5.44.0: version "5.45.0" resolved "https://registry.yarnpkg.com/codemirror/-/codemirror-5.45.0.tgz#db5ebbb3bf44028c684053f3954d011efcec27ad" integrity sha512-c19j644usCE8gQaXa0jqn2B/HN9MnB2u6qPIrrhrMkB+QAP42y8G4QnTwuwbVSoUS1jEl7JU9HZMGhCDL0nsAw== @@ -4779,12 +4646,12 @@ commander@^2.15.1: resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.0.tgz#d58bb2b5c1ee8f87b0d340027e9e94e222c5a422" integrity sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ== -commander@~2.20.3: +commander@^2.20.0, commander@~2.20.3: version "2.20.3" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== -common-tags@1.8.0, common-tags@^1.4.0: +common-tags@1.8.0, common-tags@^1.8.0: version "1.8.0" resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.0.tgz#8e3153e542d4a39e9b10554434afaaf98956a937" integrity sha512-6P6g0uetGpW/sdyUy/iQQCbFF0kWVMSIVSyYz7Zgjcgh8mgw8PQzDNZeyZ5DQ2gM7LBoZPHmnjz8rUthkBG5tw== @@ -4932,6 +4799,13 @@ convert-source-map@^1.1.0, convert-source-map@^1.4.0, convert-source-map@^1.5.0: dependencies: safe-buffer "~5.1.1" +convert-source-map@^1.6.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" + integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== + dependencies: + safe-buffer "~5.1.1" + cookie-parser@^1.4.4: version "1.4.4" resolved "https://registry.yarnpkg.com/cookie-parser/-/cookie-parser-1.4.4.tgz#e6363de4ea98c3def9697b93421c09f30cf5d188" @@ -5259,23 +5133,23 @@ css-has-pseudo@^0.10.0: postcss "^7.0.6" postcss-selector-parser "^5.0.0-rc.4" -css-loader@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-1.0.0.tgz#9f46aaa5ca41dbe31860e3b62b8e23c42916bf56" - integrity sha512-tMXlTYf3mIMt3b0dDCOQFJiVvxbocJ5Ho577WiGPYPZcqVEO218L2iU22pDXzkTZCLDE+9AmGSUkWxeh/nZReA== +css-loader@3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-3.2.0.tgz#bb570d89c194f763627fcf1f80059c6832d009b2" + integrity sha512-QTF3Ud5H7DaZotgdcJjGMvyDj5F3Pn1j/sC6VBEOVp94cbwqyIBdcs/quzj4MC1BKQSrTpQznegH/5giYbhnCQ== dependencies: - babel-code-frame "^6.26.0" - css-selector-tokenizer "^0.7.0" - icss-utils "^2.1.0" - loader-utils "^1.0.2" - lodash.camelcase "^4.3.0" - postcss "^6.0.23" - postcss-modules-extract-imports "^1.2.0" - postcss-modules-local-by-default "^1.2.0" - postcss-modules-scope "^1.1.0" - postcss-modules-values "^1.3.0" - postcss-value-parser "^3.3.0" - source-list-map "^2.0.0" + camelcase "^5.3.1" + cssesc "^3.0.0" + icss-utils "^4.1.1" + loader-utils "^1.2.3" + normalize-path "^3.0.0" + postcss "^7.0.17" + postcss-modules-extract-imports "^2.0.0" + postcss-modules-local-by-default "^3.0.2" + postcss-modules-scope "^2.1.0" + postcss-modules-values "^3.0.0" + postcss-value-parser "^4.0.0" + schema-utils "^2.0.0" css-loader@^2.1.1: version "2.1.1" @@ -5326,15 +5200,6 @@ css-select@^2.0.0: domutils "^1.7.0" nth-check "^1.0.2" -css-selector-tokenizer@^0.7.0: - version "0.7.1" - resolved "https://registry.yarnpkg.com/css-selector-tokenizer/-/css-selector-tokenizer-0.7.1.tgz#a177271a8bca5019172f4f891fc6eed9cbf68d5d" - integrity sha512-xYL0AMZJ4gFzJQsHUKa5jiWWi2vH77WVNg7JYRyewwj6oPh4yb/y6Y9ZCw9dsj/9UauMhtuxR+ogQd//EdEVNA== - dependencies: - cssesc "^0.1.0" - fastparse "^1.1.1" - regexpu-core "^1.0.0" - css-to-react-native@^2.2.2: version "2.3.0" resolved "https://registry.yarnpkg.com/css-to-react-native/-/css-to-react-native-2.3.0.tgz#bf80d24ec4a08e430306ef429c0586e6ed5485f7" @@ -5395,11 +5260,6 @@ cssdb@^4.3.0: resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-4.4.0.tgz#3bf2f2a68c10f5c6a08abd92378331ee803cddb0" integrity sha512-LsTAR1JPEM9TpGhl/0p3nQecC2LJ0kD8X5YARu1hk/9I1gril5vDtMZyNxcEpxxDj34YNck/ucjuoUd66K03oQ== -cssesc@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-0.1.0.tgz#c814903e45623371a0477b40109aaafbeeaddbb4" - integrity sha1-yBSQPkViM3GgR3tAEJqq++6t27Q= - cssesc@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-2.0.0.tgz#3b13bd1bb1cb36e1bcb5a4dcd27f54c5dcb35703" @@ -5468,7 +5328,7 @@ cssnano-util-same-parent@^4.0.0: resolved "https://registry.yarnpkg.com/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz#574082fb2859d2db433855835d9a8456ea18bbf3" integrity sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q== -cssnano@^4.1.0: +cssnano@^4.1.10: version "4.1.10" resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-4.1.10.tgz#0ac41f0b13d13d465487e111b778d42da631b8b2" integrity sha512-5wny+F6H4/8RgNlaqab4ktc3e0/blKutmq8yNlBFXA//nSFFAqAngjNVRzUvCgYROULmZZUoosL/KSoZo5aUaQ== @@ -6671,7 +6531,7 @@ es-to-primitive@^1.2.0: is-date-object "^1.0.1" is-symbol "^1.0.2" -escape-html@~1.0.3: +escape-html@^1.0.3, escape-html@~1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= @@ -6715,16 +6575,16 @@ eslint-import-resolver-node@^0.3.2: debug "^2.6.9" resolve "^1.5.0" -eslint-loader@2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/eslint-loader/-/eslint-loader-2.1.1.tgz#2a9251523652430bfdd643efdb0afc1a2a89546a" - integrity sha512-1GrJFfSevQdYpoDzx8mEE2TDWsb/zmFuY09l6hURg1AeFIKQOvZ+vH0UPjzmd1CZIbfTV5HUkMeBmFiDBkgIsQ== +eslint-loader@3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/eslint-loader/-/eslint-loader-3.0.2.tgz#5a627316a51d6f41d357b9f6f0554e91506cdd6e" + integrity sha512-S5VnD+UpVY1PyYRqeBd/4pgsmkvSokbHqTXAQMpvCyRr3XN2tvSLo9spm2nEpqQqh9dezw3os/0zWihLeOg2Rw== dependencies: - loader-fs-cache "^1.0.0" - loader-utils "^1.0.2" - object-assign "^4.0.1" - object-hash "^1.1.4" - rimraf "^2.6.1" + fs-extra "^8.1.0" + loader-fs-cache "^1.0.2" + loader-utils "^1.2.3" + object-hash "^1.3.1" + schema-utils "^2.2.0" eslint-module-utils@^2.4.0: version "2.4.1" @@ -6734,6 +6594,11 @@ eslint-module-utils@^2.4.0: debug "^2.6.8" pkg-dir "^2.0.0" +eslint-plugin-emotion@^10.0.14: + version "10.0.14" + resolved "https://registry.yarnpkg.com/eslint-plugin-emotion/-/eslint-plugin-emotion-10.0.14.tgz#c643ff2f34f85ae77a65b2056915e939cf7e8129" + integrity sha512-kI0hTPA5oo7MAc2YcdF1JcT36TZ1Ci0S5sbA9aojZ3leEPyCH34YBB76/8NQ3/9gybqrekIEuEhr8MP6JZf95Q== + eslint-plugin-format-message@^6.2.3: version "6.2.3" resolved "https://registry.yarnpkg.com/eslint-plugin-format-message/-/eslint-plugin-format-message-6.2.3.tgz#737f1b02d6de4c915c1356f6a340bd759c4a80fc" @@ -6776,6 +6641,13 @@ eslint-plugin-jsx-a11y@6.1.2: has "^1.0.3" jsx-ast-utils "^2.0.1" +eslint-plugin-lodash@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-lodash/-/eslint-plugin-lodash-6.0.0.tgz#70fa487ab632e62627ecf01ad3e85c228e3ab9d3" + integrity sha512-iuxToisjIYAJdxWtW8OamFyc3yAsGCjU5WokvuBfTc/k5XdWOp9fAmzw+aFjj520/QXspCc8//xJpqkhYUj4qw== + dependencies: + lodash "^4.17.15" + eslint-plugin-notice@^0.7.8: version "0.7.8" resolved "https://registry.yarnpkg.com/eslint-plugin-notice/-/eslint-plugin-notice-0.7.8.tgz#c6887927061fcf1c638c0559476045a521703006" @@ -7271,11 +7143,6 @@ fast-levenshtein@~2.0.4: resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= -fastparse@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/fastparse/-/fastparse-1.1.2.tgz#91728c5a5942eced8531283c79441ee4122c35a9" - integrity sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ== - faye-websocket@^0.10.0: version "0.10.0" resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.10.0.tgz#4e492f8d04dfb6f89003507f6edbf2d501e7c6f4" @@ -7351,13 +7218,13 @@ file-entry-cache@^5.0.1: dependencies: flat-cache "^2.0.1" -file-loader@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-2.0.0.tgz#39749c82f020b9e85901dcff98e8004e6401cfde" - integrity sha512-YCsBfd1ZGCyonOKLxPiKPdu+8ld9HAaMEvJewzz+b2eTF7uL5Zm/HdBF6FjCrpCMRq25Mi0U1gl4pwn2TlH7hQ== +file-loader@4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-4.2.0.tgz#5fb124d2369d7075d70a9a5abecd12e60a95215e" + integrity sha512-+xZnaK5R8kBJrHK0/6HRlrKNamvVS5rjyuju+rnyxRGuwUJwpAMsVzUl5dz6rK8brkzjV6JpcFNjp6NqV0g1OQ== dependencies: - loader-utils "^1.0.2" - schema-utils "^1.0.0" + loader-utils "^1.2.3" + schema-utils "^2.0.0" fileset@^2.0.3: version "2.0.3" @@ -7424,7 +7291,7 @@ find-cache-dir@^0.1.1: mkdirp "^0.5.1" pkg-dir "^1.0.0" -find-cache-dir@^2.0.0: +find-cache-dir@^2.0.0, find-cache-dir@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7" integrity sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ== @@ -7433,6 +7300,15 @@ find-cache-dir@^2.0.0: make-dir "^2.0.0" pkg-dir "^3.0.0" +find-cache-dir@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.0.0.tgz#cd4b7dd97b7185b7e17dbfe2d6e4115ee3eeb8fc" + integrity sha512-t7ulV1fmbxh5G9l/492O1p5+EBbr3uwpt6odhFTMc+nWyhmbloe+ja9BZ8pIBtqFWhOmCWVjx+pTW4zDkFoclw== + dependencies: + commondir "^1.0.1" + make-dir "^3.0.0" + pkg-dir "^4.1.0" + find-parent-dir@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/find-parent-dir/-/find-parent-dir-0.3.0.tgz#33c44b429ab2b2f0646299c5f9f718f376ff8d54" @@ -7465,6 +7341,14 @@ find-up@^2.0.0, find-up@^2.1.0: dependencies: locate-path "^2.0.0" +find-up@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + findup-sync@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-2.0.0.tgz#9326b1488c22d1a6088650a86901b2d9a90a2cbc" @@ -7543,20 +7427,6 @@ forever-agent@~0.6.1: resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= -fork-ts-checker-webpack-plugin-alt@0.4.14: - version "0.4.14" - resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin-alt/-/fork-ts-checker-webpack-plugin-alt-0.4.14.tgz#1bd6c0d97b7d4682dde61255fcbd78b72f7473a0" - integrity sha512-s0wjOBuPdylMRBzZ4yO8LSJuzem3g0MYZFxsjRXrFDQyL5KJBVSq30+GoHM/t/r2CRU4tI6zi04sq6OXK0UYnw== - dependencies: - babel-code-frame "^6.22.0" - chalk "^2.4.1" - chokidar "^2.0.4" - lodash "^4.17.11" - micromatch "^3.1.10" - minimatch "^3.0.4" - resolve "^1.5.0" - tapable "^1.0.0" - form-data@^2.3.2, form-data@^2.3.3, form-data@~2.3.2: version "2.3.3" resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" @@ -7698,6 +7568,15 @@ fs-extra@^4.0.2: jsonfile "^4.0.0" universalify "^0.1.0" +fs-extra@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" + integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^4.0.0" + universalify "^0.1.0" + fs-minipass@^1.2.5: version "1.2.5" resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.5.tgz#06c277218454ec288df77ada54a03b8702aacb9d" @@ -7705,6 +7584,13 @@ fs-minipass@^1.2.5: dependencies: minipass "^2.2.1" +fs-minipass@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.0.0.tgz#a6415edab02fae4b9e9230bc87ee2e4472003cd1" + integrity sha512-40Qz+LFXmd9tzYVnnBmZvFfvAADfUA14TXPK1s7IfElJTIZ97rA8w4Kin7Wt5JBrC3ShnnFJO/5vPjPEeJIq9A== + dependencies: + minipass "^3.0.0" + fs-readdir-recursive@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz#e32fc030a2ccee44a6b5371308da54be0b397d27" @@ -7726,12 +7612,12 @@ fs.realpath@^1.0.0: integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= fsevents@^1.2.7: - version "1.2.7" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.7.tgz#4851b664a3783e52003b3c66eb0eee1074933aa4" - integrity sha512-Pxm6sI2MeBD7RdD12RYsqaP0nMiwx8eZBXCa6z2L+mRHm2DYrOYwihmhjpkdjUHwQhslWQjRpEgNq4XvBmaAuw== + version "1.2.9" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.9.tgz#3f5ed66583ccd6f400b5a00db6f7e861363e388f" + integrity sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw== dependencies: - nan "^2.9.2" - node-pre-gyp "^0.10.0" + nan "^2.12.1" + node-pre-gyp "^0.12.0" function-bind@^1.1.1: version "1.1.1" @@ -7771,6 +7657,11 @@ get-caller-file@^1.0.1: resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" integrity sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w== +get-caller-file@^2.0.1: + version "2.0.5" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + get-func-name@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.0.tgz#ead774abee72e20409433a066366023dd6887a41" @@ -8033,6 +7924,11 @@ graceful-fs@^4.1.0, graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2 resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00" integrity sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA== +graceful-fs@^4.2.0, graceful-fs@^4.2.2: + version "4.2.3" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423" + integrity sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ== + graphlib@^2.1.7: version "2.1.7" resolved "https://registry.yarnpkg.com/graphlib/-/graphlib-2.1.7.tgz#b6a69f9f44bd9de3963ce6804a2fc9e73d86aecc" @@ -8092,11 +7988,6 @@ har-validator@~5.1.0: ajv "^6.5.5" har-schema "^2.0.0" -harmony-reflect@^1.4.6: - version "1.6.1" - resolved "https://registry.yarnpkg.com/harmony-reflect/-/harmony-reflect-1.6.1.tgz#c108d4f2bb451efef7a37861fdbdae72c9bdefa9" - integrity sha512-WJTeyp0JzGtHcuMsi7rw2VwtkvLa+JyfEKJCFyfcS0+CDkjQ5lHPu7zEhFZP+PDSRrEgXa5Ah0l1MbgbE41XjA== - has-ansi@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" @@ -8104,11 +7995,6 @@ has-ansi@^2.0.0: dependencies: ansi-regex "^2.0.0" -has-color@~0.1.0: - version "0.1.7" - resolved "https://registry.yarnpkg.com/has-color/-/has-color-0.1.7.tgz#67144a5260c34fc3cca677d041daf52fe7b78b2f" - integrity sha1-ZxRKUmDDT8PMpnfQQdr1L+e3iy8= - has-flag@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51" @@ -8226,7 +8112,7 @@ he@1.1.1: resolved "https://registry.yarnpkg.com/he/-/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd" integrity sha1-k0EP0hsAlzUVH4howvJx80J+I/0= -he@1.2.x: +he@1.2.x, he@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== @@ -8245,11 +8131,6 @@ hmac-drbg@^1.0.0: minimalistic-assert "^1.0.0" minimalistic-crypto-utils "^1.0.1" -hoek@4.x.x: - version "4.2.1" - resolved "https://registry.yarnpkg.com/hoek/-/hoek-4.2.1.tgz#9634502aa12c445dd5a7c5734b572bb8738aacbb" - integrity sha512-QLg82fGkfnJ/4iy1xZ81/9SIJiq1NGFUMGs6ParyjBZr6jW2Ufj/snDqTHixNlHdPNwN2RLVD0Pi3igeK9+JfA== - hoek@5.x.x: version "5.0.4" resolved "https://registry.yarnpkg.com/hoek/-/hoek-5.0.4.tgz#0f7fa270a1cafeb364a4b2ddfaa33f864e4157da" @@ -8327,17 +8208,29 @@ html-minifier@^3.2.3: relateurl "0.2.x" uglify-js "3.4.x" -html-webpack-plugin@4.0.0-alpha.2: - version "4.0.0-alpha.2" - resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-4.0.0-alpha.2.tgz#7745967e389a57a098e26963f328ebe4c19b598d" - integrity sha512-tyvhjVpuGqD7QYHi1l1drMQTg5i+qRxpQEGbdnYFREgOKy7aFDf/ocQ/V1fuEDlQx7jV2zMap3Hj2nE9i5eGXw== +html-minifier@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/html-minifier/-/html-minifier-4.0.0.tgz#cca9aad8bce1175e02e17a8c33e46d8988889f56" + integrity sha512-aoGxanpFPLg7MkIl/DDFYtb0iWz7jMFGqFhvEDZga6/4QTjneiD8I/NXL1x5aaoCp7FSIT6h/OhykDdPsbtMig== dependencies: - "@types/tapable" "1.0.2" - html-minifier "^3.2.3" - loader-utils "^1.1.0" - lodash "^4.17.10" - pretty-error "^2.0.2" - tapable "^1.0.0" + camel-case "^3.0.0" + clean-css "^4.2.1" + commander "^2.19.0" + he "^1.2.0" + param-case "^2.1.1" + relateurl "^0.2.7" + uglify-js "^3.5.1" + +html-webpack-plugin@4.0.0-beta.8: + version "4.0.0-beta.8" + resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-4.0.0-beta.8.tgz#d9a8d4322d8cf310f1568f6f4f585a80df0ad378" + integrity sha512-n5S2hJi3/vioRvEDswZP2WFgZU8TUqFoYIrkg5dt+xDC4TigQEhIcl4Y81Qs2La/EqKWuJZP8+ikbHGVmzQ4Mg== + dependencies: + html-minifier "^4.0.0" + loader-utils "^1.2.3" + lodash "^4.17.11" + pretty-error "^2.1.1" + tapable "^1.1.3" util.promisify "1.0.0" html-webpack-plugin@^3.2.0: @@ -8474,12 +8367,12 @@ icss-replace-symbols@^1.1.0: resolved "https://registry.yarnpkg.com/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz#06ea6f83679a7749e386cfe1fe812ae5db223ded" integrity sha1-Bupvg2ead0njhs/h/oEq5dsiPe0= -icss-utils@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-2.1.0.tgz#83f0a0ec378bf3246178b6c2ad9136f135b1c962" - integrity sha1-g/Cg7DeL8yRheLbCrZE28TWxyWI= +icss-utils@^4.0.0, icss-utils@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-4.1.1.tgz#21170b53789ee27447c2f47dd683081403f9a467" + integrity sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA== dependencies: - postcss "^6.0.1" + postcss "^7.0.14" icss-utils@^4.1.0: version "4.1.0" @@ -8488,13 +8381,6 @@ icss-utils@^4.1.0: dependencies: postcss "^7.0.14" -identity-obj-proxy@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz#94d2bda96084453ef36fbc5aaec37e0f79f1fc14" - integrity sha1-lNK9qWCERT7zb7xarsN+D3nx/BQ= - dependencies: - harmony-reflect "^1.4.6" - ieee754@^1.1.4: version "1.1.12" resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.12.tgz#50bf24e5b9c8bb98af4964c941cdb0918da7b60b" @@ -8597,6 +8483,11 @@ indent-string@^3.0.0: resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-3.2.0.tgz#4a5fd6d27cc332f37e5419a504dbb837105c9289" integrity sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok= +indent-string@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" + integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== + indexes-of@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" @@ -8607,6 +8498,11 @@ indexof@0.0.1: resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d" integrity sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10= +infer-owner@^1.0.3, infer-owner@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" + integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A== + inflight@^1.0.4: version "1.0.6" resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" @@ -9618,6 +9514,14 @@ jest-worker@^24.4.0: merge-stream "^1.0.1" supports-color "^6.1.0" +jest-worker@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-24.9.0.tgz#5dbfdb5b2d322e98567898238a9697bcce67b3e5" + integrity sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw== + dependencies: + merge-stream "^2.0.0" + supports-color "^6.1.0" + jest@24.0.0: version "24.0.0" resolved "https://registry.yarnpkg.com/jest/-/jest-24.0.0.tgz#b8e2c8e6274e1092c7f56e57762a1fdc7800201e" @@ -9634,15 +9538,6 @@ jest@^24.5.0: import-local "^2.0.0" jest-cli "^24.5.0" -joi@^11.1.1: - version "11.4.0" - resolved "https://registry.yarnpkg.com/joi/-/joi-11.4.0.tgz#f674897537b625e9ac3d0b7e1604c828ad913ccb" - integrity sha512-O7Uw+w/zEWgbL6OcHbyACKSj0PkQeUgmehdoXVSxt92QFCq4+1390Rwh5moI2K/OgC7D8RHRZqHZxT2husMJHA== - dependencies: - hoek "4.x.x" - isemail "3.x.x" - topo "2.x.x" - joi@^13.0.0: version "13.7.0" resolved "https://registry.yarnpkg.com/joi/-/joi-13.7.0.tgz#cfd85ebfe67e8a1900432400b4d03bbd93fb879f" @@ -9662,11 +9557,6 @@ js-levenshtein@^1.1.3: resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== -js-tokens@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" - integrity sha1-mGbfOVECEw449/mWvOtlRDIJwls= - js-yaml@^3.12.0, js-yaml@^3.9.0: version "3.13.0" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.0.tgz#38ee7178ac0eea2c97ff6d96fff4b18c7d8cf98e" @@ -9825,14 +9715,6 @@ jsonify@~0.0.0: resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" integrity sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM= -jsonlint-webpack@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/jsonlint-webpack/-/jsonlint-webpack-1.1.0.tgz#762a6684fe1187c79f98e7bc9d25765dcd67f889" - integrity sha512-D0/L55PXnuQZwn4UBfZELCNXAZqCkmrdViFA76Qq80ln30FKbf0MFY3uWk9u+JN7GPg9SXtOrQC1SGNnil6Emg== - dependencies: - JSV "^4.0.x" - nomnom "^1.5.x" - jsonparse@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.2.0.tgz#5c0c5685107160e72fe7489bddea0b44c2bc67bd" @@ -10200,15 +10082,15 @@ load-json-file@^4.0.0: pify "^3.0.0" strip-bom "^3.0.0" -loader-fs-cache@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/loader-fs-cache/-/loader-fs-cache-1.0.1.tgz#56e0bf08bd9708b26a765b68509840c8dec9fdbc" - integrity sha1-VuC/CL2XCLJqdltoUJhAyN7J/bw= +loader-fs-cache@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/loader-fs-cache/-/loader-fs-cache-1.0.2.tgz#54cedf6b727e1779fd8f01205f05f6e88706f086" + integrity sha512-70IzT/0/L+M20jUlEqZhZyArTU6VKLRTYRDAYN26g4jfzpJqjipLL3/hgYpySqI9PwsVRHHFja0LfEmsx9X2Cw== dependencies: find-cache-dir "^0.1.1" mkdirp "0.5.1" -loader-runner@^2.3.0: +loader-runner@^2.3.0, loader-runner@^2.4.0: version "2.4.0" resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357" integrity sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw== @@ -10248,6 +10130,13 @@ locate-path@^3.0.0: p-locate "^3.0.0" path-exists "^3.0.0" +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" + integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== + dependencies: + p-locate "^4.1.0" + lock@~0.1.2: version "0.1.4" resolved "https://registry.yarnpkg.com/lock/-/lock-0.1.4.tgz#fec7deaef17e7c3a0a55e1da042803e25d91745d" @@ -10278,21 +10167,6 @@ lodash.assign@^4.2.0: resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-4.2.0.tgz#0d99f3ccd7a6d261d19bdaeb9245005d285808e7" integrity sha1-DZnzzNem0mHRm9rrkkUAXShYCOc= -lodash.camelcase@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" - integrity sha1-soqmKIorn8ZRA1x3EfZathkDMaY= - -lodash.clonedeep@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" - integrity sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8= - -lodash.debounce@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" - integrity sha1-gteb/zCmfEAF/9XiUVMArZyk168= - lodash.defaults@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz#d09178716ffea4dde9e5fb7b37f6f0802274580c" @@ -10303,21 +10177,6 @@ lodash.difference@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.difference/-/lodash.difference-4.5.0.tgz#9ccb4e505d486b91651345772885a2df27fd017c" integrity sha1-nMtOUF1Ia5FlE0V3KIWi3yf9AXw= -lodash.find@^4.6.0: - version "4.6.0" - resolved "https://botbuilder.myget.org/F/botbuilder-declarative/npm/lodash.find/-/lodash.find-4.6.0.tgz#cb0704d47ab71789ffa0de8b97dd926fb88b13b1" - integrity sha1-ywcE1Hq3F4n/oN6Ll92Sb7iLE7E= - -lodash.findindex@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/lodash.findindex/-/lodash.findindex-4.6.0.tgz#a3245dee61fb9b6e0624b535125624bb69c11106" - integrity sha1-oyRd7mH7m24GJLU1ElYku2nBEQY= - -lodash.findlastindex@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/lodash.findlastindex/-/lodash.findlastindex-4.6.0.tgz#b8375ac0f02e9b926375cdf8dc3ea814abf9c6ac" - integrity sha1-uDdawPAum5Jjdc343D6oFKv5xqw= - lodash.flatten@^4.4.0: version "4.4.0" resolved "https://registry.yarnpkg.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz#f31c22225a9632d2bbf8e4addbef240aa765a61f" @@ -10328,11 +10187,6 @@ lodash.get@^4.4.2: resolved "https://botbuilder.myget.org/F/botbuilder-declarative/npm/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" integrity sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk= -lodash.has@^4.5.2: - version "4.5.2" - resolved "https://botbuilder.myget.org/F/botbuilder-declarative/npm/lodash.has/-/lodash.has-4.5.2.tgz#d19f4dc1095058cccbe2b0cdf4ee0fe4aa37c862" - integrity sha1-0Z9NwQlQWMzL4rDN9O4P5Ko3yGI= - lodash.includes@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/lodash.includes/-/lodash.includes-4.3.0.tgz#60bb98a87cb923c68ca1e51325483314849f553f" @@ -10353,11 +10207,6 @@ lodash.isboolean@^3.0.3: resolved "https://registry.yarnpkg.com/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz#6c2e171db2a257cd96802fd43b01b20d5f5870f6" integrity sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY= -lodash.isequal@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" - integrity sha1-QVxEePK8wwEgwizhDtMib30+GOA= - lodash.isinteger@^4.0.4: version "4.0.4" resolved "https://registry.yarnpkg.com/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz#619c0af3d03f8b04c31f5882840b77b11cd68343" @@ -10387,46 +10236,21 @@ lodash.keys@^3.0.0: lodash.isarguments "^3.0.0" lodash.isarray "^3.0.0" -lodash.memoize@^4.1.2: +lodash.memoize@4.x, lodash.memoize@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4= -lodash.merge@^4.6.2: - version "4.6.2" - resolved "https://botbuilder.myget.org/F/botbuilder-declarative/npm/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" - integrity sha1-VYqlO0O2YeGSWgr9+japoQhf5Xo= - -lodash.omit@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.omit/-/lodash.omit-4.5.0.tgz#6eb19ae5a1ee1dd9df0b969e66ce0b7fa30b5e60" - integrity sha1-brGa5aHuHdnfC5aeZs4Lf6MLXmA= - lodash.once@^4.0.0, lodash.once@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac" integrity sha1-DdOXEhPHxW34gJd9UEyI+0cal6w= -lodash.pick@^4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/lodash.pick/-/lodash.pick-4.4.0.tgz#52f05610fff9ded422611441ed1fc123a03001b3" - integrity sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM= - -lodash.set@^4.3.2: - version "4.3.2" - resolved "https://registry.yarnpkg.com/lodash.set/-/lodash.set-4.3.2.tgz#d8757b1da807dde24816b0d6a84bea1a76230b23" - integrity sha1-2HV7HagH3eJIFrDWqEvqGnYjCyM= - lodash.sortby@^4.7.0: version "4.7.0" resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= -lodash.startcase@^4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/lodash.startcase/-/lodash.startcase-4.4.0.tgz#9436e34ed26093ed7ffae1936144350915d9add8" - integrity sha1-lDbjTtJgk+1/+uGTYUQ1CRXZrdg= - lodash.template@^4.2.4, lodash.template@^4.4.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.5.0.tgz#f976195cf3f347d0d5f52483569fe8031ccce8ab" @@ -10442,11 +10266,6 @@ lodash.templatesettings@^4.0.0: dependencies: lodash._reinterpolate "^3.0.0" -lodash.throttle@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/lodash.throttle/-/lodash.throttle-4.1.1.tgz#c23e91b710242ac70c37f1e1cda9274cc39bf2f4" - integrity sha1-wj6RtxAkKscMN/HhzaknTMOb8vQ= - lodash.toarray@^3.0.0: version "3.0.2" resolved "https://registry.yarnpkg.com/lodash.toarray/-/lodash.toarray-3.0.2.tgz#2b204f0fa4f51c285c6f00c81d1cea5a23041179" @@ -10689,6 +10508,13 @@ make-dir@^2.0.0: pify "^4.0.1" semver "^5.6.0" +make-dir@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.0.0.tgz#1b5f39f6b9270ed33f9f054c5c0f84304989f801" + integrity sha512-grNJDhb8b1Jm1qeqW5R/O63wUo4UXo2v2HMic6YT9i/HBlF93S8jkMgH7yugvY9ABDShH4VZMn8I+U8+fCNegw== + dependencies: + semver "^6.0.0" + make-error@1.x, make-error@^1.1.1: version "1.3.5" resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.5.tgz#efe4e81f6db28cadd605c70f29c831b58ef776c8" @@ -10823,6 +10649,11 @@ merge-stream@^1.0.1: dependencies: readable-stream "^2.0.1" +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" + integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== + merge2@^1.2.3: version "1.2.3" resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.2.3.tgz#7ee99dbd69bb6481689253f018488a1b902b0ed5" @@ -10932,12 +10763,13 @@ mimic-response@^1.0.0, mimic-response@^1.0.1: resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== -mini-css-extract-plugin@0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-0.5.0.tgz#ac0059b02b9692515a637115b0cc9fed3a35c7b0" - integrity sha512-IuaLjruM0vMKhUUT51fQdQzBYTX49dLj8w68ALEAe2A4iYNpIC4eMac67mt3NzycvjOlf07/kYxJDc0RTl1Wqw== +mini-css-extract-plugin@0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-0.8.0.tgz#81d41ec4fe58c713a96ad7c723cdb2d0bd4d70e1" + integrity sha512-MNpRGbNA52q6U92i0qbVpQNsgk7LExy41MdAlG84FeytfDOtRIf/mCHdEgG8rpTKOaNKiqUnZdlptF469hxqOw== dependencies: loader-utils "^1.1.0" + normalize-url "1.9.1" schema-utils "^1.0.0" webpack-sources "^1.1.0" @@ -10983,6 +10815,27 @@ minimist@~0.0.1: resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" integrity sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8= +minipass-collect@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/minipass-collect/-/minipass-collect-1.0.2.tgz#22b813bf745dc6edba2576b940022ad6edc8c617" + integrity sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA== + dependencies: + minipass "^3.0.0" + +minipass-flush@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/minipass-flush/-/minipass-flush-1.0.5.tgz#82e7135d7e89a50ffe64610a787953c4c4cbb373" + integrity sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw== + dependencies: + minipass "^3.0.0" + +minipass-pipeline@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/minipass-pipeline/-/minipass-pipeline-1.2.2.tgz#3dcb6bb4a546e32969c7ad710f2c79a86abba93a" + integrity sha512-3JS5A2DKhD2g0Gg8x3yamO0pj7YeKGwVlDS90pF++kxptwx/F+B//roxf9SqYil5tQo65bijy+dAuAFZmYOouA== + dependencies: + minipass "^3.0.0" + minipass@^2.2.1, minipass@^2.3.4: version "2.3.5" resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.3.5.tgz#cacebe492022497f656b0f0f51e2682a9ed2d848" @@ -10991,6 +10844,13 @@ minipass@^2.2.1, minipass@^2.3.4: safe-buffer "^5.1.2" yallist "^3.0.0" +minipass@^3.0.0, minipass@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.1.1.tgz#7607ce778472a185ad6d89082aa2070f79cedcd5" + integrity sha512-UFqVihv6PQgwj8/yTGvl9kPz7xIAY+R5z6XYjRInD3Gk3qx6QGSD6zEcpeG4Dy/lQnv1J6zv8ejV90hyYIKf3w== + dependencies: + yallist "^4.0.0" + minizlib@^1.1.1: version "1.2.1" resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.2.1.tgz#dd27ea6136243c7c880684e8672bb3a45fd9b614" @@ -11141,10 +11001,10 @@ mute-stream@0.0.7: resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" integrity sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s= -nan@^2.9.2: - version "2.13.1" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.13.1.tgz#a15bee3790bde247e8f38f1d446edcdaeb05f2dd" - integrity sha512-I6YB/YEuDeUZMmhscXKxGgZlFnhsn5y0hgOZBadkzfTRrZBtJDZeg6eQf7PYMIEclwmorTKK8GztsyOUSVBREA== +nan@^2.12.1: + version "2.14.0" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c" + integrity sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg== nanoid@^2.0.1: version "2.0.1" @@ -11197,7 +11057,7 @@ negotiator@0.6.2: resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw== -neo-async@^2.5.0, neo-async@^2.6.0: +neo-async@^2.5.0, neo-async@^2.6.0, neo-async@^2.6.1: version "2.6.1" resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.1.tgz#ac27ada66167fa8849a6addd837f6b189ad2081c" integrity sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw== @@ -11266,6 +11126,35 @@ node-libs-browser@^2.0.0: util "^0.11.0" vm-browserify "0.0.4" +node-libs-browser@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.1.tgz#b64f513d18338625f90346d27b0d235e631f6425" + integrity sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q== + dependencies: + assert "^1.1.1" + browserify-zlib "^0.2.0" + buffer "^4.3.0" + console-browserify "^1.1.0" + constants-browserify "^1.0.0" + crypto-browserify "^3.11.0" + domain-browser "^1.1.1" + events "^3.0.0" + https-browserify "^1.0.0" + os-browserify "^0.3.0" + path-browserify "0.0.1" + process "^0.11.10" + punycode "^1.2.4" + querystring-es3 "^0.2.0" + readable-stream "^2.3.3" + stream-browserify "^2.0.1" + stream-http "^2.7.2" + string_decoder "^1.0.0" + timers-browserify "^2.0.4" + tty-browserify "0.0.0" + url "^0.11.0" + util "^0.11.0" + vm-browserify "^1.0.1" + node-modules-regexp@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" @@ -11282,10 +11171,10 @@ node-notifier@^5.2.1: shellwords "^0.1.1" which "^1.3.0" -node-pre-gyp@^0.10.0: - version "0.10.3" - resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.10.3.tgz#3070040716afdc778747b61b6887bf78880b80fc" - integrity sha512-d1xFs+C/IPS8Id0qPTZ4bUT8wWryfR/OzzAFxweG+uLN85oPzyo2Iw6bVlLQ/JOdgNonXLCoRyqDzDWq4iw72A== +node-pre-gyp@^0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.12.0.tgz#39ba4bb1439da030295f899e3b520b7785766149" + integrity sha512-4KghwV8vH5k+g2ylT+sLTjy5wmUOb9vPhnM8NHvRf9dHmnW/CndrFXy2aRPaPST6dugXSdHXfeaHQm77PIz/1A== dependencies: detect-libc "^1.0.2" mkdirp "^0.5.1" @@ -11335,14 +11224,6 @@ nodemon@^1.18.11: undefsafe "^2.0.2" update-notifier "^2.5.0" -nomnom@^1.5.x: - version "1.8.1" - resolved "https://registry.yarnpkg.com/nomnom/-/nomnom-1.8.1.tgz#2151f722472ba79e50a76fc125bb8c8f2e4dc2a7" - integrity sha1-IVH3Ikcrp55Qp2/BJbuMjy5Nwqc= - dependencies: - chalk "~0.4.0" - underscore "~1.6.0" - noms@0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/noms/-/noms-0.0.0.tgz#da8ebd9f3af9d6760919b27d9cdc8092a7332859" @@ -11393,6 +11274,16 @@ normalize-range@^0.1.2: resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" integrity sha1-LRDAa9/TEuqXd2laTShDlFa3WUI= +normalize-url@1.9.1: + version "1.9.1" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-1.9.1.tgz#2cc0d66b31ea23036458436e3620d85954c66c3c" + integrity sha1-LMDWazHqIwNkWENuNiDYWVTGbDw= + dependencies: + object-assign "^4.0.1" + prepend-http "^1.0.0" + query-string "^4.1.0" + sort-keys "^1.0.0" + normalize-url@2.0.1, normalize-url@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-2.0.1.tgz#835a9da1551fa26f70e92329069a23aa6574d7e6" @@ -11499,7 +11390,7 @@ object-copy@^0.1.0: define-property "^0.2.5" kind-of "^3.0.3" -object-hash@^1.1.4: +object-hash@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-1.3.1.tgz#fde452098a951cb145f039bb7d455449ddc126df" integrity sha512-OSuu/pU4ENM9kmREg0BdNrUDIl1heYa4mBZacJc+vVWz4GtAwu7jO8s4AIt2aGRUTqxykpWzI3Oqnsm13tTMDA== @@ -11631,6 +11522,13 @@ onetime@^2.0.0: dependencies: mimic-fn "^1.0.0" +open@^6.4.0: + version "6.4.0" + resolved "https://registry.yarnpkg.com/open/-/open-6.4.0.tgz#5c13e96d0dc894686164f18965ecfe889ecfc8a9" + integrity sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg== + dependencies: + is-wsl "^1.1.0" + opn@5.4.0: version "5.4.0" resolved "https://registry.yarnpkg.com/opn/-/opn-5.4.0.tgz#cb545e7aab78562beb11aa3bfabc7042e1761035" @@ -11653,12 +11551,12 @@ optimist@^0.6.1: minimist "~0.0.1" wordwrap "~0.0.2" -optimize-css-assets-webpack-plugin@5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-5.0.1.tgz#9eb500711d35165b45e7fd60ba2df40cb3eb9159" - integrity sha512-Rqm6sSjWtx9FchdP0uzTQDc7GXDKnwVEGoSxjezPkzMewx7gEWE9IMUYKmigTRC4U3RaNSwYVnUDLuIdtTpm0A== +optimize-css-assets-webpack-plugin@5.0.3: + version "5.0.3" + resolved "https://registry.yarnpkg.com/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-5.0.3.tgz#e2f1d4d94ad8c0af8967ebd7cf138dcb1ef14572" + integrity sha512-q9fbvCRS6EYtUKKSwI87qm2IxlyJK5b4dygW1rKUBT6mMDhdG5e5bZT63v6tnJR9F9FB/H5a0HTmtw+laUBxKA== dependencies: - cssnano "^4.1.0" + cssnano "^4.1.10" last-call-webpack-plugin "^3.0.0" optionator@^0.8.1, optionator@^0.8.2: @@ -11791,6 +11689,13 @@ p-limit@^2.0.0, p-limit@^2.1.0: dependencies: p-try "^2.0.0" +p-limit@^2.2.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.1.tgz#aa07a788cc3151c939b5131f63570f0dd2009537" + integrity sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg== + dependencies: + p-try "^2.0.0" + p-locate@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" @@ -11805,6 +11710,13 @@ p-locate@^3.0.0: dependencies: p-limit "^2.0.0" +p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" + integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== + dependencies: + p-limit "^2.2.0" + p-map@^1.1.1: version "1.2.0" resolved "https://registry.yarnpkg.com/p-map/-/p-map-1.2.0.tgz#e4e94f311eabbc8633a1e79908165fca26241b6b" @@ -11815,6 +11727,13 @@ p-map@^2.0.0: resolved "https://registry.yarnpkg.com/p-map/-/p-map-2.0.0.tgz#be18c5a5adeb8e156460651421aceca56c213a50" integrity sha512-GO107XdrSUmtHxVoi60qc9tUl/KkNKm+X2CF4P9amalpGxv5YqVPJNfSb0wcA+syCopkZvYYIzW8OVTQW59x/w== +p-map@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/p-map/-/p-map-3.0.0.tgz#d704d9af8a2ba684e2600d9a215983d4141a979d" + integrity sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ== + dependencies: + aggregate-error "^3.0.0" + p-reduce@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-reduce/-/p-reduce-1.0.0.tgz#18c2b0dd936a4690a529f8231f58a0fdb6a47dfa" @@ -11888,7 +11807,7 @@ parallel-transform@^1.1.0: inherits "^2.0.3" readable-stream "^2.1.5" -param-case@2.1.x: +param-case@2.1.x, param-case@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/param-case/-/param-case-2.1.1.tgz#df94fd8cf6531ecf75e6bef9a0858fbc72be2247" integrity sha1-35T9jPZTHs915r75oIWPvHK+Ikc= @@ -11964,6 +11883,11 @@ path-browserify@0.0.0: resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.0.tgz#a0b870729aae214005b7d5032ec2cbbb0fb4451a" integrity sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo= +path-browserify@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.1.tgz#e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a" + integrity sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ== + path-dirname@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" @@ -11981,6 +11905,11 @@ path-exists@^3.0.0: resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + path-is-absolute@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" @@ -12123,6 +12052,13 @@ pkg-dir@^3.0.0: dependencies: find-up "^3.0.0" +pkg-dir@^4.1.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" + integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== + dependencies: + find-up "^4.0.0" + pkg-up@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-2.0.0.tgz#c819ac728059a461cab1c3889a2be3c49a004d7f" @@ -12147,14 +12083,14 @@ pn@^1.1.0: resolved "https://registry.yarnpkg.com/pn/-/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb" integrity sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA== -pnp-webpack-plugin@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/pnp-webpack-plugin/-/pnp-webpack-plugin-1.2.1.tgz#cd9d698df2a6fcf7255093c1c9511adf65b9421b" - integrity sha512-W6GctK7K2qQiVR+gYSv/Gyt6jwwIH4vwdviFqx+Y2jAtVf5eZyYIDf5Ac2NCDMBiX5yWscBLZElPTsyA1UtVVA== +pnp-webpack-plugin@1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/pnp-webpack-plugin/-/pnp-webpack-plugin-1.5.0.tgz#62a1cd3068f46d564bb33c56eb250e4d586676eb" + integrity sha512-jd9olUr9D7do+RN8Wspzhpxhgp1n6Vd0NtQ4SFkmIACZoEL1nkyAdW9Ygrinjec0vgDcWjscFQQ1gDW8rsfKTg== dependencies: - ts-pnp "^1.0.0" + ts-pnp "^1.1.2" -portfinder@^1.0.24: +portfinder@^1.0.24, portfinder@^1.0.25: version "1.0.25" resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.25.tgz#254fd337ffba869f4b9d37edc298059cb4d35eca" integrity sha512-6ElJnHBbxVA1XSLgBp7G1FiCkQdlqGzuF7DswL5tcea+E8UpuvPU7beVAjjRwCioTS9ZluNbu+ZyRvgTsmqEBg== @@ -12476,13 +12412,6 @@ postcss-minify-selectors@^4.0.2: postcss "^7.0.0" postcss-selector-parser "^3.0.0" -postcss-modules-extract-imports@^1.2.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.1.tgz#dc87e34148ec7eab5f791f7cd5849833375b741a" - integrity sha512-6jt9XZwUhwmRUhb/CkyJY020PYaPJsCyt3UjbaWo6XEbH/94Hmv6MP7fG2C5NDU/BcHzyGYxNtHvM+LTf9HrYw== - dependencies: - postcss "^6.0.1" - postcss-modules-extract-imports@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz#818719a1ae1da325f9832446b01136eeb493cd7e" @@ -12490,14 +12419,6 @@ postcss-modules-extract-imports@^2.0.0: dependencies: postcss "^7.0.5" -postcss-modules-local-by-default@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz#f7d80c398c5a393fa7964466bd19500a7d61c069" - integrity sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk= - dependencies: - css-selector-tokenizer "^0.7.0" - postcss "^6.0.1" - postcss-modules-local-by-default@^2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-2.0.6.tgz#dd9953f6dd476b5fd1ef2d8830c8929760b56e63" @@ -12507,13 +12428,15 @@ postcss-modules-local-by-default@^2.0.6: postcss-selector-parser "^6.0.0" postcss-value-parser "^3.3.1" -postcss-modules-scope@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz#d6ea64994c79f97b62a72b426fbe6056a194bb90" - integrity sha1-1upkmUx5+XtipytCb75gVqGUu5A= +postcss-modules-local-by-default@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.2.tgz#e8a6561be914aaf3c052876377524ca90dbb7915" + integrity sha512-jM/V8eqM4oJ/22j0gx4jrp63GSvDH6v86OqyTHHUvk4/k1vceipZsaymiZ5PvocqZOl5SFHiFJqjs3la0wnfIQ== dependencies: - css-selector-tokenizer "^0.7.0" - postcss "^6.0.1" + icss-utils "^4.1.1" + postcss "^7.0.16" + postcss-selector-parser "^6.0.2" + postcss-value-parser "^4.0.0" postcss-modules-scope@^2.1.0: version "2.1.0" @@ -12523,14 +12446,6 @@ postcss-modules-scope@^2.1.0: postcss "^7.0.6" postcss-selector-parser "^6.0.0" -postcss-modules-values@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz#ecffa9d7e192518389f42ad0e83f72aec456ea20" - integrity sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA= - dependencies: - icss-replace-symbols "^1.1.0" - postcss "^6.0.1" - postcss-modules-values@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-2.0.0.tgz#479b46dc0c5ca3dc7fa5270851836b9ec7152f64" @@ -12539,6 +12454,14 @@ postcss-modules-values@^2.0.0: icss-replace-symbols "^1.1.0" postcss "^7.0.6" +postcss-modules-values@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz#5b5000d6ebae29b4255301b4a3a54574423e7f10" + integrity sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg== + dependencies: + icss-utils "^4.0.0" + postcss "^7.0.6" + postcss-nesting@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-7.0.0.tgz#6e26a770a0c8fcba33782a6b6f350845e1a448f6" @@ -12777,7 +12700,7 @@ postcss-selector-parser@^5.0.0, postcss-selector-parser@^5.0.0-rc.3, postcss-sel indexes-of "^1.0.1" uniq "^1.0.1" -postcss-selector-parser@^6.0.0: +postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2: version "6.0.2" resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz#934cf799d016c83411859e09dcecade01286ec5c" integrity sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg== @@ -12810,6 +12733,11 @@ postcss-value-parser@^3.0.0, postcss-value-parser@^3.3.0, postcss-value-parser@^ resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281" integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ== +postcss-value-parser@^4.0.0: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.0.2.tgz#482282c09a42706d1fc9a069b73f44ec08391dc9" + integrity sha512-LmeoohTpp/K4UiyQCwuGWlONxXamGzCMtFxLq4W1nZVGIQLYvMCJx3yAF9qyyuFpflABI9yVdtJAqbihOsCsJQ== + postcss-values-parser@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/postcss-values-parser/-/postcss-values-parser-2.0.1.tgz#da8b472d901da1e205b47bdc98637b9e9e550e5f" @@ -12819,15 +12747,6 @@ postcss-values-parser@^2.0.0: indexes-of "^1.0.1" uniq "^1.0.1" -postcss@^6.0.1, postcss@^6.0.23: - version "6.0.23" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.23.tgz#61c82cc328ac60e677645f979054eb98bc0e3324" - integrity sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag== - dependencies: - chalk "^2.4.1" - source-map "^0.6.1" - supports-color "^5.4.0" - postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.2, postcss@^7.0.5, postcss@^7.0.6: version "7.0.14" resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.14.tgz#4527ed6b1ca0d82c53ce5ec1a2041c2346bbd6e5" @@ -12837,12 +12756,21 @@ postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.2, postcss@^7.0.5, source-map "^0.6.1" supports-color "^6.1.0" +postcss@^7.0.16, postcss@^7.0.17: + version "7.0.21" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.21.tgz#06bb07824c19c2021c5d056d5b10c35b989f7e17" + integrity sha512-uIFtJElxJo29QC753JzhidoAhvp/e/Exezkdhfmt8AymWT6/5B7W1WmponYWkHk2eg6sONyTch0A3nkMPun3SQ== + dependencies: + chalk "^2.4.2" + source-map "^0.6.1" + supports-color "^6.1.0" + prelude-ls@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= -prepend-http@^1.0.1: +prepend-http@^1.0.0, prepend-http@^1.0.1: version "1.0.4" resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw= @@ -12864,12 +12792,12 @@ prettier@^1.15.3: resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.16.4.tgz#73e37e73e018ad2db9c76742e2647e21790c9717" integrity sha512-ZzWuos7TI5CKUeQAtFd6Zhm2s6EpAD/ZLApIhsF9pRvRtM1RFo61dM/4MSRUA0SuLugA/zgrZD8m0BaY46Og7g== -pretty-bytes@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-4.0.2.tgz#b2bf82e7350d65c6c33aa95aaa5a4f6327f61cd9" - integrity sha1-sr+C5zUNZcbDOqlaqlpPYyf2HNk= +pretty-bytes@^5.1.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.3.0.tgz#f2849e27db79fb4d6cfe24764fc4134f165989f2" + integrity sha512-hjGrh+P926p4R4WbaB6OckyRtO0F0/lQBiT+0gnxjV+5kjPBrfVBFCsCLbMqVQeydvIoouYTCmmEURiH3R1Bdg== -pretty-error@^2.0.2: +pretty-error@^2.0.2, pretty-error@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.1.tgz#5f4f87c8f91e5ae3f3ba87ab4cf5e03b1a17f1a3" integrity sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM= @@ -13090,6 +13018,14 @@ qs@6.7.0: resolved "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc" integrity sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ== +query-string@^4.1.0: + version "4.3.4" + resolved "https://registry.yarnpkg.com/query-string/-/query-string-4.3.4.tgz#bbb693b9ca915c232515b228b1a02b609043dbeb" + integrity sha1-u7aTucqRXCMlFbIosaArYJBD2+s= + dependencies: + object-assign "^4.1.0" + strict-uri-encode "^1.0.0" + query-string@^5.0.1: version "5.1.1" resolved "https://registry.yarnpkg.com/query-string/-/query-string-5.1.1.tgz#a78c012b71c17e05f2e3fa2319dd330682efb3cb" @@ -13444,7 +13380,7 @@ regenerate-unicode-properties@^8.0.2: dependencies: regenerate "^1.4.0" -regenerate@^1.2.1, regenerate@^1.4.0: +regenerate@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11" integrity sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg== @@ -13501,15 +13437,6 @@ regexpp@^2.0.1: resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" integrity sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw== -regexpu-core@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-1.0.0.tgz#86a763f58ee4d7c2f6b102e4764050de7ed90c6b" - integrity sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs= - dependencies: - regenerate "^1.2.1" - regjsgen "^0.2.0" - regjsparser "^0.1.4" - regexpu-core@^4.1.3, regexpu-core@^4.5.4: version "4.5.4" resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.5.4.tgz#080d9d02289aa87fe1667a4f5136bc98a6aebaae" @@ -13544,23 +13471,11 @@ registry-url@^5.0.0: dependencies: rc "^1.2.8" -regjsgen@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7" - integrity sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc= - regjsgen@^0.5.0: version "0.5.0" resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.0.tgz#a7634dc08f89209c2049adda3525711fb97265dd" integrity sha512-RnIrLhrXCX5ow/E5/Mh2O4e/oa1/jW0eaBKTSy3LaCj+M3Bqvm97GWDp2yUtzIs4LEn65zR2yiYGFqb2ApnzDA== -regjsparser@^0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c" - integrity sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw= - dependencies: - jsesc "~0.5.0" - regjsparser@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.0.tgz#f1e6ae8b7da2bae96c99399b868cd6c933a2ba9c" @@ -13577,7 +13492,7 @@ rehype-parse@^6.0.0: parse5 "^5.0.0" xtend "^4.0.1" -relateurl@0.2.x: +relateurl@0.2.x, relateurl@^0.2.7: version "0.2.7" resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" integrity sha1-VNvzd+UUQKypCkzSdGANP/LYiKk= @@ -13694,6 +13609,11 @@ require-main-filename@^1.0.1: resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" integrity sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE= +require-main-filename@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" + integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== + requireindex@~1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/requireindex/-/requireindex-1.1.0.tgz#e5404b81557ef75db6e49c5a72004893fe03e162" @@ -13739,7 +13659,7 @@ resolve@1.1.7: resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs= -resolve@1.10.0, resolve@1.x, resolve@^1.10.0, resolve@^1.3.2, resolve@^1.5.0, resolve@^1.8.1, resolve@^1.9.0: +resolve@1.x, resolve@^1.10.0, resolve@^1.3.2, resolve@^1.5.0, resolve@^1.8.1, resolve@^1.9.0: version "1.10.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.10.0.tgz#3bdaaeaf45cc07f375656dfd2e54ed0810b101ba" integrity sha512-3sUr9aq5OfSg2S9pNtPA9hL1FVEAjvfOC4leW0SNf/mpnaakz2a9femSd6LqAww2RaFctwyf1lCqnTHuF1rxDg== @@ -13796,13 +13716,20 @@ rgba-regex@^1.0.0: resolved "https://registry.yarnpkg.com/rgba-regex/-/rgba-regex-1.0.0.tgz#43374e2e2ca0968b0ef1523460b7d730ff22eeb3" integrity sha1-QzdOLiyglosO8VI0YLfXMP8i7rM= -rimraf@2.6.3, rimraf@^2.2.8, rimraf@^2.5.2, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2, rimraf@^2.6.3: +rimraf@2.6.3, rimraf@^2.2.8, rimraf@^2.5.2, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2, rimraf@^2.6.3, rimraf@~2.6.2: version "2.6.3" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== dependencies: glob "^7.1.3" +rimraf@^2.7.1: + version "2.7.1" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" + integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== + dependencies: + glob "^7.1.3" + ripemd160@^2.0.0, ripemd160@^2.0.1: version "2.0.2" resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" @@ -13909,14 +13836,6 @@ scheduler@^0.15.0: loose-envify "^1.1.0" object-assign "^4.1.1" -schema-utils@^0.4.4: - version "0.4.7" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-0.4.7.tgz#ba74f597d2be2ea880131746ee17d0a093c68187" - integrity sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ== - dependencies: - ajv "^6.1.0" - ajv-keywords "^3.1.0" - schema-utils@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770" @@ -13926,6 +13845,14 @@ schema-utils@^1.0.0: ajv-errors "^1.0.0" ajv-keywords "^3.1.0" +schema-utils@^2.0.0, schema-utils@^2.0.1, schema-utils@^2.2.0, schema-utils@^2.4.1, schema-utils@^2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.5.0.tgz#8f254f618d402cc80257486213c8970edfd7c22f" + integrity sha512-32ISrwW2scPXHUSusP8qMg5dLUawKkyV+/qIEV9JdXKx+rsM6mi8vZY8khg2M69Qom16rtroWXD3Ybtiws38gQ== + dependencies: + ajv "^6.10.2" + ajv-keywords "^3.4.1" + select-hose@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" @@ -14018,6 +13945,16 @@ serialize-javascript@^1.4.0: resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-1.6.1.tgz#4d1f697ec49429a847ca6f442a2a755126c4d879" integrity sha512-A5MOagrPFga4YaKQSWHryl7AXvbQkEqpw4NNYMTNYUNV51bA8ABHgYFpqKx+YFFrw59xMV1qGH1R4AgoNIVgCw== +serialize-javascript@^1.7.0: + version "1.9.1" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-1.9.1.tgz#cfc200aef77b600c47da9bb8149c943e798c2fdb" + integrity sha512-0Vb/54WJ6k5v8sSWN09S0ora+Hnr+cX40r9F170nT+mSkaxltoE/7R3OrIdBSUv1OoiobH1QoWQbCnAO+e8J1A== + +serialize-javascript@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-2.1.0.tgz#9310276819efd0eb128258bb341957f6eb2fc570" + integrity sha512-a/mxFfU00QT88umAJQsNWOnUKckhNCqOl028N48e7wFmo2/EHpTo9Wso+iJJCMrQnmFvcjto5RJdAHEvVhcyUQ== + serve-index@^1.9.1: version "1.9.1" resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239" @@ -14258,6 +14195,13 @@ sockjs@0.3.19: faye-websocket "^0.10.0" uuid "^3.0.1" +sort-keys@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad" + integrity sha1-RBttTTRnmPG05J6JIK37oOVD+a0= + dependencies: + is-plain-obj "^1.0.0" + sort-keys@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-2.0.0.tgz#658535584861ec97d730d6cf41822e1f56684128" @@ -14270,6 +14214,23 @@ source-list-map@^2.0.0: resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== +source-map-explorer@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/source-map-explorer/-/source-map-explorer-2.1.0.tgz#d80e2a7fef0f15b3c9c1f57bc22bd1aabfaf2309" + integrity sha512-VlOYrBo7gKT72E3IGMzK33ddEWIHGIdyraz8nmpxC7n0ZrzGWq08pWkB8FBxlJJCm9xmP3imlZ9ElUsGbKPpvQ== + dependencies: + btoa "^1.2.1" + chalk "^2.4.2" + convert-source-map "^1.6.0" + ejs "^2.7.1" + escape-html "^1.0.3" + glob "^7.1.4" + lodash "^4.17.15" + open "^6.4.0" + source-map "^0.7.3" + temp "^0.9.0" + yargs "^14.0.0" + source-map-loader@^0.2.4: version "0.2.4" resolved "https://registry.yarnpkg.com/source-map-loader/-/source-map-loader-0.2.4.tgz#c18b0dc6e23bf66f6792437557c569a11e072271" @@ -14305,6 +14266,14 @@ source-map-support@~0.5.10: buffer-from "^1.0.0" source-map "^0.6.0" +source-map-support@~0.5.12: + version "0.5.16" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.16.tgz#0ae069e7fe3ba7538c64c98515e35339eac5a042" + integrity sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + source-map-url@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" @@ -14320,6 +14289,11 @@ source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== +source-map@^0.7.3: + version "0.7.3" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" + integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== + space-separated-tokens@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/space-separated-tokens/-/space-separated-tokens-1.1.2.tgz#e95ab9d19ae841e200808cd96bc7bd0adbbb3412" @@ -14434,6 +14408,14 @@ ssri@^6.0.1: dependencies: figgy-pudding "^3.5.1" +ssri@^7.0.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/ssri/-/ssri-7.1.0.tgz#92c241bf6de82365b5c7fb4bd76e975522e1294d" + integrity sha512-77/WrDZUWocK0mvA5NTRQyveUf+wsrIc6vyrxpS8tVvYBcX215QbafrJR3KtkpskIzoFLqqNuuYQvxaMjXJ/0g== + dependencies: + figgy-pudding "^3.5.1" + minipass "^3.1.1" + stable@^0.1.8: version "0.1.8" resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" @@ -14569,7 +14551,7 @@ string-width@^1.0.1: is-fullwidth-code-point "^2.0.0" strip-ansi "^4.0.0" -string-width@^3.0.0: +string-width@^3.0.0, string-width@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== @@ -14597,7 +14579,7 @@ string_decoder@~1.1.1: dependencies: safe-buffer "~5.1.0" -stringify-object@^3.2.2: +stringify-object@^3.2.2, stringify-object@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629" integrity sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw== @@ -14627,18 +14609,13 @@ strip-ansi@^4.0.0: dependencies: ansi-regex "^3.0.0" -strip-ansi@^5.0.0, strip-ansi@^5.1.0: +strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== dependencies: ansi-regex "^4.1.0" -strip-ansi@~0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-0.1.1.tgz#39e8a98d044d150660abe4a6808acf70bb7bc991" - integrity sha1-OeipjQRNFQZgq+SmgIrPcLt7yZE= - strip-bom@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" @@ -14667,7 +14644,15 @@ strip-json-comments@^2.0.1, strip-json-comments@~2.0.1: resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= -style-loader@0.23.1, style-loader@^0.23.1: +style-loader@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-1.0.0.tgz#1d5296f9165e8e2c85d24eee0b7caf9ec8ca1f82" + integrity sha512-B0dOCFwv7/eY31a5PCieNwMgMhVGFe9w+rh7s/Bx8kfFkrth9zfTZquoYvdw8URgiqxObQKcpW51Ugz1HjfdZw== + dependencies: + loader-utils "^1.2.3" + schema-utils "^2.0.1" + +style-loader@^0.23.1: version "0.23.1" resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-0.23.1.tgz#cb9154606f3e771ab6c4ab637026a1049174d925" integrity sha512-XK+uv9kWwhZMZ1y7mysB+zoihsEj4wneFWAS5qoiLwzW0WzSqMrrsIy+a3zkQJq0ipFtBpX5W3MqyRIBF/WFGg== @@ -14718,7 +14703,7 @@ supports-color@5.4.0: dependencies: has-flag "^3.0.0" -supports-color@5.5.0, supports-color@^5.2.0, supports-color@^5.3.0, supports-color@^5.4.0, supports-color@^5.5.0: +supports-color@5.5.0, supports-color@^5.2.0, supports-color@^5.3.0, supports-color@^5.5.0: version "5.5.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== @@ -14794,7 +14779,7 @@ table@^5.2.3: slice-ansi "^2.1.0" string-width "^3.0.0" -tapable@^1.0.0: +tapable@^1.0.0, tapable@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== @@ -14830,6 +14815,13 @@ tar@^4: safe-buffer "^5.1.2" yallist "^3.0.2" +temp@^0.9.0: + version "0.9.1" + resolved "https://registry.yarnpkg.com/temp/-/temp-0.9.1.tgz#2d666114fafa26966cd4065996d7ceedd4dd4697" + integrity sha512-WMuOgiua1xb5R56lE0eH6ivpVmg/lq2OHm4+LtT/xtEtPQ+sz6N3bBM6WZ5FvO1lO4IKIOb43qnhoc4qxP5OeA== + dependencies: + rimraf "~2.6.2" + term-size@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/term-size/-/term-size-1.2.0.tgz#458b83887f288fc56d6fffbfad262e26638efa69" @@ -14837,19 +14829,19 @@ term-size@^1.2.0: dependencies: execa "^0.7.0" -terser-webpack-plugin@1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.2.2.tgz#9bff3a891ad614855a7dde0d707f7db5a927e3d9" - integrity sha512-1DMkTk286BzmfylAvLXwpJrI7dWa5BnFmscV/2dCr8+c56egFcbaeFAl7+sujAjdmpLam21XRdhA4oifLyiWWg== - dependencies: - cacache "^11.0.2" - find-cache-dir "^2.0.0" - schema-utils "^1.0.0" - serialize-javascript "^1.4.0" +terser-webpack-plugin@2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-2.2.1.tgz#5569e6c7d8be79e5e43d6da23acc3b6ba77d22bd" + integrity sha512-jwdauV5Al7zopR6OAYvIIRcxXCSvLjZjr7uZE8l2tIWb/ryrGN48sJftqGf5k9z09tWhajx53ldp0XPI080YnA== + dependencies: + cacache "^13.0.1" + find-cache-dir "^3.0.0" + jest-worker "^24.9.0" + schema-utils "^2.5.0" + serialize-javascript "^2.1.0" source-map "^0.6.1" - terser "^3.16.1" - webpack-sources "^1.1.0" - worker-farm "^1.5.2" + terser "^4.3.9" + webpack-sources "^1.4.3" terser-webpack-plugin@^1.1.0: version "1.2.3" @@ -14865,6 +14857,21 @@ terser-webpack-plugin@^1.1.0: webpack-sources "^1.1.0" worker-farm "^1.5.2" +terser-webpack-plugin@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.4.1.tgz#61b18e40eaee5be97e771cdbb10ed1280888c2b4" + integrity sha512-ZXmmfiwtCLfz8WKZyYUuuHf3dMYEjg8NrjHMb0JqHVHVOSkzp3cW2/XG1fP3tRhqEqSzMwzzRQGtAPbs4Cncxg== + dependencies: + cacache "^12.0.2" + find-cache-dir "^2.1.0" + is-wsl "^1.1.0" + schema-utils "^1.0.0" + serialize-javascript "^1.7.0" + source-map "^0.6.1" + terser "^4.1.2" + webpack-sources "^1.4.0" + worker-farm "^1.7.0" + terser@^3.16.1: version "3.17.0" resolved "https://registry.yarnpkg.com/terser/-/terser-3.17.0.tgz#f88ffbeda0deb5637f9d24b0da66f4e15ab10cb2" @@ -14874,6 +14881,15 @@ terser@^3.16.1: source-map "~0.6.1" source-map-support "~0.5.10" +terser@^4.1.2, terser@^4.3.9: + version "4.3.9" + resolved "https://registry.yarnpkg.com/terser/-/terser-4.3.9.tgz#e4be37f80553d02645668727777687dad26bbca8" + integrity sha512-NFGMpHjlzmyOtPL+fDw3G7+6Ueh/sz4mkaUYa4lJCxOPTNzd0Uj0aZJOmsDYoSQyfuVoWDMSWTPU3huyOm2zdA== + dependencies: + commander "^2.20.0" + source-map "~0.6.1" + source-map-support "~0.5.12" + test-exclude@^5.0.0: version "5.1.0" resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-5.1.0.tgz#6ba6b25179d2d38724824661323b73e03c0c1de1" @@ -15010,13 +15026,6 @@ toidentifier@1.0.0: resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw== -topo@2.x.x: - version "2.0.2" - resolved "https://registry.yarnpkg.com/topo/-/topo-2.0.2.tgz#cd5615752539057c0dc0491a621c3bc6fbe1d182" - integrity sha1-zVYVdSU5BXwNwEkaYhw7xvvh0YI= - dependencies: - hoek "4.x.x" - topo@3.x.x: version "3.0.3" resolved "https://registry.yarnpkg.com/topo/-/topo-3.0.3.tgz#d5a67fb2e69307ebeeb08402ec2a2a6f5f7ad95c" @@ -15089,15 +15098,16 @@ tryer@^1.0.0: resolved "https://registry.yarnpkg.com/tryer/-/tryer-1.0.1.tgz#f2c85406800b9b0f74c9f7465b81eaad241252f8" integrity sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA== -ts-jest@^24.0.2: - version "24.0.2" - resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-24.0.2.tgz#8dde6cece97c31c03e80e474c749753ffd27194d" - integrity sha512-h6ZCZiA1EQgjczxq+uGLXQlNgeg02WWJBbeT8j6nyIBRQdglqbvzDoHahTEIiS6Eor6x8mK6PfZ7brQ9Q6tzHw== +ts-jest@^24.1.0: + version "24.1.0" + resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-24.1.0.tgz#2eaa813271a2987b7e6c3fefbda196301c131734" + integrity sha512-HEGfrIEAZKfu1pkaxB9au17b1d9b56YZSqz5eCVE8mX68+5reOvlM93xGOzzCREIov9mdH7JBG+s0UyNAqr0tQ== dependencies: bs-logger "0.x" buffer-from "1.x" fast-json-stable-stringify "2.x" json5 "2.x" + lodash.memoize "4.x" make-error "1.x" mkdirp "0.x" resolve "1.x" @@ -15137,10 +15147,10 @@ ts-node@^8.4.1: source-map-support "^0.5.6" yn "^3.0.0" -ts-pnp@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.0.1.tgz#fde74a6371676a167abaeda1ffc0fdb423520098" - integrity sha512-Zzg9XH0anaqhNSlDRibNC8Kp+B9KNM0uRIpLpGkGyrgRIttA7zZBhotTSEoEyuDrz3QW2LGtu2dxuk34HzIGnQ== +ts-pnp@^1.1.2: + version "1.1.4" + resolved "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.1.4.tgz#ae27126960ebaefb874c6d7fa4729729ab200d90" + integrity sha512-1J/vefLC+BWSo+qe8OnJQfWTYRS6ingxjwqmHMqaMxXMj7kFtKLgAaYW3JeX3mktjgUL+etlU8/B4VUAUI9QGw== tsconfig-paths-webpack-plugin@^3.2.0: version "3.2.0" @@ -15260,6 +15270,14 @@ uglify-js@^3.1.4: commander "~2.20.3" source-map "~0.6.1" +uglify-js@^3.5.1: + version "3.6.8" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.6.8.tgz#5edcbcf9d49cbb0403dc49f856fe81530d65145e" + integrity sha512-XhHJ3S3ZyMwP8kY1Gkugqx3CJh2C3O0y8NPiSxtm1tyD/pktLAkFZsFGpuNfTZddKDQ/bbDBLAd2YyA1pbi8HQ== + dependencies: + commander "~2.20.3" + source-map "~0.6.1" + undefsafe@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/undefsafe/-/undefsafe-2.0.2.tgz#225f6b9e0337663e0d8e7cfd686fc2836ccace76" @@ -15267,11 +15285,6 @@ undefsafe@^2.0.2: dependencies: debug "^2.2.0" -underscore@~1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.6.0.tgz#8b38b10cacdef63337b8b24e4ff86d45aea529a8" - integrity sha1-izixDKze9jM3uLJOT/htRa6lKag= - underscore@~1.8.3: version "1.8.3" resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.8.3.tgz#4f3fb53b106e6097fcf9cb4109f2a5e9bdfa5022" @@ -15431,7 +15444,16 @@ urix@^0.1.0: resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= -url-loader@1.1.2, url-loader@^1.1.2: +url-loader@2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/url-loader/-/url-loader-2.2.0.tgz#af321aece1fd0d683adc8aaeb27829f29c75b46e" + integrity sha512-G8nk3np8ZAnwhHXas1JxJEwJyQdqFXAKJehfgZ/XrC48volFBRtO+FIKtF2u0Ma3bw+4vnDVjHPAQYlF9p2vsw== + dependencies: + loader-utils "^1.2.3" + mime "^2.4.4" + schema-utils "^2.4.1" + +url-loader@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/url-loader/-/url-loader-1.1.2.tgz#b971d191b83af693c5e3fea4064be9e1f2d7f8d8" integrity sha512-dXHkKmw8FhPqu8asTc1puBfe3TehOCo2+RmOOev5suNCIYBcT626kxiWg1NBVkwc4rO8BGa7gP70W7VXuqHrjg== @@ -15601,6 +15623,11 @@ vm-browserify@0.0.4: dependencies: indexof "0.0.1" +vm-browserify@^1.0.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" + integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ== + w3c-hr-time@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz#82ac2bff63d950ea9e3189a58a65625fedf19045" @@ -15643,7 +15670,7 @@ warning@^3.0.0: dependencies: loose-envify "^1.0.0" -watchpack@^1.5.0: +watchpack@^1.5.0, watchpack@^1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.6.0.tgz#4bc12c2ebe8aa277a71f1d3f14d685c7b446cd00" integrity sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA== @@ -15714,7 +15741,46 @@ webpack-dev-middleware@^3.7.2: range-parser "^1.2.1" webpack-log "^2.0.0" -webpack-dev-server@3.8.2, webpack-dev-server@^3.8.2: +webpack-dev-server@3.9.0: + version "3.9.0" + resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-3.9.0.tgz#27c3b5d0f6b6677c4304465ac817623c8b27b89c" + integrity sha512-E6uQ4kRrTX9URN9s/lIbqTAztwEPdvzVrcmHE8EQ9YnuT9J8Es5Wrd8n9BKg1a0oZ5EgEke/EQFgUsp18dSTBw== + dependencies: + ansi-html "0.0.7" + bonjour "^3.5.0" + chokidar "^2.1.8" + compression "^1.7.4" + connect-history-api-fallback "^1.6.0" + debug "^4.1.1" + del "^4.1.1" + express "^4.17.1" + html-entities "^1.2.1" + http-proxy-middleware "0.19.1" + import-local "^2.0.0" + internal-ip "^4.3.0" + ip "^1.1.5" + is-absolute-url "^3.0.3" + killable "^1.0.1" + loglevel "^1.6.4" + opn "^5.5.0" + p-retry "^3.0.1" + portfinder "^1.0.25" + schema-utils "^1.0.0" + selfsigned "^1.10.7" + semver "^6.3.0" + serve-index "^1.9.1" + sockjs "0.3.19" + sockjs-client "1.4.0" + spdy "^4.0.1" + strip-ansi "^3.0.1" + supports-color "^6.1.0" + url "^0.11.0" + webpack-dev-middleware "^3.7.2" + webpack-log "^2.0.0" + ws "^6.2.1" + yargs "12.0.5" + +webpack-dev-server@^3.8.2: version "3.8.2" resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-3.8.2.tgz#3292427bf6510da9a3ac2d500b924a4197667ff9" integrity sha512-0xxogS7n5jHDQWy0WST0q6Ykp7UGj4YvWh+HVN71JoE7BwPxMZrwgraBvmdEMbDVMBzF0u+mEzn8TQzBm5NYJQ== @@ -15761,10 +15827,10 @@ webpack-log@^2.0.0: ansi-colors "^3.0.0" uuid "^3.3.2" -webpack-manifest-plugin@2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/webpack-manifest-plugin/-/webpack-manifest-plugin-2.0.4.tgz#e4ca2999b09557716b8ba4475fb79fab5986f0cd" - integrity sha512-nejhOHexXDBKQOj/5v5IZSfCeTO3x1Dt1RZEcGfBSul891X/eLIcIVH31gwxPDdsi2Z8LKKFGpM4w9+oTBOSCg== +webpack-manifest-plugin@2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/webpack-manifest-plugin/-/webpack-manifest-plugin-2.1.0.tgz#5c7c6b3bcfc28fa4a32bcd63c739a83a04eb41bf" + integrity sha512-vQn/mY9okBQUim6fQo+8lYzn/MWcSMGbGpQyKIR6c6NF++lVxfzdlZBL0FGVQsb1RFL/rPdKwu6hkbtWv6CEYg== dependencies: fs-extra "^7.0.0" lodash ">=3.5 <5" @@ -15778,35 +15844,42 @@ webpack-sources@^1.1.0, webpack-sources@^1.3.0: source-list-map "^2.0.0" source-map "~0.6.1" -webpack@4.28.3: - version "4.28.3" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.28.3.tgz#8acef6e77fad8a01bfd0c2b25aa3636d46511874" - integrity sha512-vLZN9k5I7Nr/XB1IDG9GbZB4yQd1sPuvufMFgJkx0b31fi2LD97KQIjwjxE7xytdruAYfu5S0FLBLjdxmwGJCg== - dependencies: - "@webassemblyjs/ast" "1.7.11" - "@webassemblyjs/helper-module-context" "1.7.11" - "@webassemblyjs/wasm-edit" "1.7.11" - "@webassemblyjs/wasm-parser" "1.7.11" - acorn "^5.6.2" - acorn-dynamic-import "^3.0.0" - ajv "^6.1.0" - ajv-keywords "^3.1.0" - chrome-trace-event "^1.0.0" +webpack-sources@^1.4.0, webpack-sources@^1.4.1, webpack-sources@^1.4.3: + version "1.4.3" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933" + integrity sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ== + dependencies: + source-list-map "^2.0.0" + source-map "~0.6.1" + +webpack@4.41.2: + version "4.41.2" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.41.2.tgz#c34ec76daa3a8468c9b61a50336d8e3303dce74e" + integrity sha512-Zhw69edTGfbz9/8JJoyRQ/pq8FYUoY0diOXqW0T6yhgdhCv6wr0hra5DwwWexNRns2Z2+gsnrNcbe9hbGBgk/A== + dependencies: + "@webassemblyjs/ast" "1.8.5" + "@webassemblyjs/helper-module-context" "1.8.5" + "@webassemblyjs/wasm-edit" "1.8.5" + "@webassemblyjs/wasm-parser" "1.8.5" + acorn "^6.2.1" + ajv "^6.10.2" + ajv-keywords "^3.4.1" + chrome-trace-event "^1.0.2" enhanced-resolve "^4.1.0" - eslint-scope "^4.0.0" + eslint-scope "^4.0.3" json-parse-better-errors "^1.0.2" - loader-runner "^2.3.0" - loader-utils "^1.1.0" - memory-fs "~0.4.1" - micromatch "^3.1.8" - mkdirp "~0.5.0" - neo-async "^2.5.0" - node-libs-browser "^2.0.0" - schema-utils "^0.4.4" - tapable "^1.1.0" - terser-webpack-plugin "^1.1.0" - watchpack "^1.5.0" - webpack-sources "^1.3.0" + loader-runner "^2.4.0" + loader-utils "^1.2.3" + memory-fs "^0.4.1" + micromatch "^3.1.10" + mkdirp "^0.5.1" + neo-async "^2.6.1" + node-libs-browser "^2.2.1" + schema-utils "^1.0.0" + tapable "^1.1.3" + terser-webpack-plugin "^1.4.1" + watchpack "^1.6.0" + webpack-sources "^1.4.1" webpack@^4.30.0: version "4.30.0" @@ -15937,132 +16010,140 @@ wordwrap@~1.0.0: resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus= -workbox-background-sync@^3.6.3: - version "3.6.3" - resolved "https://registry.yarnpkg.com/workbox-background-sync/-/workbox-background-sync-3.6.3.tgz#6609a0fac9eda336a7c52e6aa227ba2ae532ad94" - integrity sha512-ypLo0B6dces4gSpaslmDg5wuoUWrHHVJfFWwl1udvSylLdXvnrfhFfriCS42SNEe5lsZtcNZF27W/SMzBlva7Q== +workbox-background-sync@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/workbox-background-sync/-/workbox-background-sync-4.3.1.tgz#26821b9bf16e9e37fd1d640289edddc08afd1950" + integrity sha512-1uFkvU8JXi7L7fCHVBEEnc3asPpiAL33kO495UMcD5+arew9IbKW2rV5lpzhoWcm/qhGB89YfO4PmB/0hQwPRg== dependencies: - workbox-core "^3.6.3" + workbox-core "^4.3.1" -workbox-broadcast-cache-update@^3.6.3: - version "3.6.3" - resolved "https://registry.yarnpkg.com/workbox-broadcast-cache-update/-/workbox-broadcast-cache-update-3.6.3.tgz#3f5dff22ada8c93e397fb38c1dc100606a7b92da" - integrity sha512-pJl4lbClQcvp0SyTiEw0zLSsVYE1RDlCPtpKnpMjxFtu8lCFTAEuVyzxp9w7GF4/b3P4h5nyQ+q7V9mIR7YzGg== +workbox-broadcast-update@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/workbox-broadcast-update/-/workbox-broadcast-update-4.3.1.tgz#e2c0280b149e3a504983b757606ad041f332c35b" + integrity sha512-MTSfgzIljpKLTBPROo4IpKjESD86pPFlZwlvVG32Kb70hW+aob4Jxpblud8EhNb1/L5m43DUM4q7C+W6eQMMbA== dependencies: - workbox-core "^3.6.3" + workbox-core "^4.3.1" -workbox-build@^3.6.3: - version "3.6.3" - resolved "https://registry.yarnpkg.com/workbox-build/-/workbox-build-3.6.3.tgz#77110f9f52dc5d82fa6c1c384c6f5e2225adcbd8" - integrity sha512-w0clZ/pVjL8VXy6GfthefxpEXs0T8uiRuopZSFVQ8ovfbH6c6kUpEh6DcYwm/Y6dyWPiCucdyAZotgjz+nRz8g== +workbox-build@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/workbox-build/-/workbox-build-4.3.1.tgz#414f70fb4d6de47f6538608b80ec52412d233e64" + integrity sha512-UHdwrN3FrDvicM3AqJS/J07X0KXj67R8Cg0waq1MKEOqzo89ap6zh6LmaLnRAjpB+bDIz+7OlPye9iii9KBnxw== dependencies: - babel-runtime "^6.26.0" - common-tags "^1.4.0" + "@babel/runtime" "^7.3.4" + "@hapi/joi" "^15.0.0" + common-tags "^1.8.0" fs-extra "^4.0.2" - glob "^7.1.2" - joi "^11.1.1" + glob "^7.1.3" lodash.template "^4.4.0" - pretty-bytes "^4.0.2" - stringify-object "^3.2.2" + pretty-bytes "^5.1.0" + stringify-object "^3.3.0" strip-comments "^1.0.2" - workbox-background-sync "^3.6.3" - workbox-broadcast-cache-update "^3.6.3" - workbox-cache-expiration "^3.6.3" - workbox-cacheable-response "^3.6.3" - workbox-core "^3.6.3" - workbox-google-analytics "^3.6.3" - workbox-navigation-preload "^3.6.3" - workbox-precaching "^3.6.3" - workbox-range-requests "^3.6.3" - workbox-routing "^3.6.3" - workbox-strategies "^3.6.3" - workbox-streams "^3.6.3" - workbox-sw "^3.6.3" - -workbox-cache-expiration@^3.6.3: - version "3.6.3" - resolved "https://registry.yarnpkg.com/workbox-cache-expiration/-/workbox-cache-expiration-3.6.3.tgz#4819697254a72098a13f94b594325a28a1e90372" - integrity sha512-+ECNph/6doYx89oopO/UolYdDmQtGUgo8KCgluwBF/RieyA1ZOFKfrSiNjztxOrGJoyBB7raTIOlEEwZ1LaHoA== - dependencies: - workbox-core "^3.6.3" - -workbox-cacheable-response@^3.6.3: - version "3.6.3" - resolved "https://registry.yarnpkg.com/workbox-cacheable-response/-/workbox-cacheable-response-3.6.3.tgz#869f1a68fce9063f6869ddbf7fa0a2e0a868b3aa" - integrity sha512-QpmbGA9SLcA7fklBLm06C4zFg577Dt8u3QgLM0eMnnbaVv3rhm4vbmDpBkyTqvgK/Ly8MBDQzlXDtUCswQwqqg== - dependencies: - workbox-core "^3.6.3" - -workbox-core@^3.6.3: - version "3.6.3" - resolved "https://registry.yarnpkg.com/workbox-core/-/workbox-core-3.6.3.tgz#69abba70a4f3f2a5c059295a6f3b7c62bd00e15c" - integrity sha512-cx9cx0nscPkIWs8Pt98HGrS9/aORuUcSkWjG25GqNWdvD/pSe7/5Oh3BKs0fC+rUshCiyLbxW54q0hA+GqZeSQ== - -workbox-google-analytics@^3.6.3: - version "3.6.3" - resolved "https://registry.yarnpkg.com/workbox-google-analytics/-/workbox-google-analytics-3.6.3.tgz#99df2a3d70d6e91961e18a6752bac12e91fbf727" - integrity sha512-RQBUo/6SXtIaQTRFj4RQZ9e1gAl7D8oS5S+Hi173Kk70/BgJjzPwXpC5A249Jv5YfkCOLMQCeF9A27BiD0b0ig== - dependencies: - workbox-background-sync "^3.6.3" - workbox-core "^3.6.3" - workbox-routing "^3.6.3" - workbox-strategies "^3.6.3" - -workbox-navigation-preload@^3.6.3: - version "3.6.3" - resolved "https://registry.yarnpkg.com/workbox-navigation-preload/-/workbox-navigation-preload-3.6.3.tgz#a2c34eb7c17e7485b795125091215f757b3c4964" - integrity sha512-dd26xTX16DUu0i+MhqZK/jQXgfIitu0yATM4jhRXEmpMqQ4MxEeNvl2CgjDMOHBnCVMax+CFZQWwxMx/X/PqCw== - dependencies: - workbox-core "^3.6.3" - -workbox-precaching@^3.6.3: - version "3.6.3" - resolved "https://registry.yarnpkg.com/workbox-precaching/-/workbox-precaching-3.6.3.tgz#5341515e9d5872c58ede026a31e19bafafa4e1c1" - integrity sha512-aBqT66BuMFviPTW6IpccZZHzpA8xzvZU2OM1AdhmSlYDXOJyb1+Z6blVD7z2Q8VNtV1UVwQIdImIX+hH3C3PIw== - dependencies: - workbox-core "^3.6.3" - -workbox-range-requests@^3.6.3: - version "3.6.3" - resolved "https://registry.yarnpkg.com/workbox-range-requests/-/workbox-range-requests-3.6.3.tgz#3cc21cba31f2dd8c43c52a196bcc8f6cdbcde803" - integrity sha512-R+yLWQy7D9aRF9yJ3QzwYnGFnGDhMUij4jVBUVtkl67oaVoP1ymZ81AfCmfZro2kpPRI+vmNMfxxW531cqdx8A== - dependencies: - workbox-core "^3.6.3" - -workbox-routing@^3.6.3: - version "3.6.3" - resolved "https://registry.yarnpkg.com/workbox-routing/-/workbox-routing-3.6.3.tgz#659cd8f9274986cfa98fda0d050de6422075acf7" - integrity sha512-bX20i95OKXXQovXhFOViOK63HYmXvsIwZXKWbSpVeKToxMrp0G/6LZXnhg82ijj/S5yhKNRf9LeGDzaqxzAwMQ== - dependencies: - workbox-core "^3.6.3" - -workbox-strategies@^3.6.3: - version "3.6.3" - resolved "https://registry.yarnpkg.com/workbox-strategies/-/workbox-strategies-3.6.3.tgz#11a0dc249a7bc23d3465ec1322d28fa6643d64a0" - integrity sha512-Pg5eulqeKet2y8j73Yw6xTgLdElktcWExGkzDVCGqfV9JCvnGuEpz5eVsCIK70+k4oJcBCin9qEg3g3CwEIH3g== - dependencies: - workbox-core "^3.6.3" - -workbox-streams@^3.6.3: - version "3.6.3" - resolved "https://registry.yarnpkg.com/workbox-streams/-/workbox-streams-3.6.3.tgz#beaea5d5b230239836cc327b07d471aa6101955a" - integrity sha512-rqDuS4duj+3aZUYI1LsrD2t9hHOjwPqnUIfrXSOxSVjVn83W2MisDF2Bj+dFUZv4GalL9xqErcFW++9gH+Z27w== - dependencies: - workbox-core "^3.6.3" - -workbox-sw@^3.6.3: - version "3.6.3" - resolved "https://registry.yarnpkg.com/workbox-sw/-/workbox-sw-3.6.3.tgz#278ea4c1831b92bbe2d420da8399176c4b2789ff" - integrity sha512-IQOUi+RLhvYCiv80RP23KBW/NTtIvzvjex28B8NW1jOm+iV4VIu3VXKXTA6er5/wjjuhmtB28qEAUqADLAyOSg== - -workbox-webpack-plugin@3.6.3: - version "3.6.3" - resolved "https://registry.yarnpkg.com/workbox-webpack-plugin/-/workbox-webpack-plugin-3.6.3.tgz#a807bb891b4e4e3c808df07e58f17de2d5ba6182" - integrity sha512-RwmKjc7HFHUFHoOlKoZUq9349u0QN3F8W5tZZU0vc1qsBZDINWXRiIBCAKvo/Njgay5sWz7z4I2adnyTo97qIQ== - dependencies: - babel-runtime "^6.26.0" + workbox-background-sync "^4.3.1" + workbox-broadcast-update "^4.3.1" + workbox-cacheable-response "^4.3.1" + workbox-core "^4.3.1" + workbox-expiration "^4.3.1" + workbox-google-analytics "^4.3.1" + workbox-navigation-preload "^4.3.1" + workbox-precaching "^4.3.1" + workbox-range-requests "^4.3.1" + workbox-routing "^4.3.1" + workbox-strategies "^4.3.1" + workbox-streams "^4.3.1" + workbox-sw "^4.3.1" + workbox-window "^4.3.1" + +workbox-cacheable-response@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/workbox-cacheable-response/-/workbox-cacheable-response-4.3.1.tgz#f53e079179c095a3f19e5313b284975c91428c91" + integrity sha512-Rp5qlzm6z8IOvnQNkCdO9qrDgDpoPNguovs0H8C+wswLuPgSzSp9p2afb5maUt9R1uTIwOXrVQMmPfPypv+npw== + dependencies: + workbox-core "^4.3.1" + +workbox-core@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/workbox-core/-/workbox-core-4.3.1.tgz#005d2c6a06a171437afd6ca2904a5727ecd73be6" + integrity sha512-I3C9jlLmMKPxAC1t0ExCq+QoAMd0vAAHULEgRZ7kieCdUd919n53WC0AfvokHNwqRhGn+tIIj7vcb5duCjs2Kg== + +workbox-expiration@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/workbox-expiration/-/workbox-expiration-4.3.1.tgz#d790433562029e56837f341d7f553c4a78ebe921" + integrity sha512-vsJLhgQsQouv9m0rpbXubT5jw0jMQdjpkum0uT+d9tTwhXcEZks7qLfQ9dGSaufTD2eimxbUOJfWLbNQpIDMPw== + dependencies: + workbox-core "^4.3.1" + +workbox-google-analytics@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/workbox-google-analytics/-/workbox-google-analytics-4.3.1.tgz#9eda0183b103890b5c256e6f4ea15a1f1548519a" + integrity sha512-xzCjAoKuOb55CBSwQrbyWBKqp35yg1vw9ohIlU2wTy06ZrYfJ8rKochb1MSGlnoBfXGWss3UPzxR5QL5guIFdg== + dependencies: + workbox-background-sync "^4.3.1" + workbox-core "^4.3.1" + workbox-routing "^4.3.1" + workbox-strategies "^4.3.1" + +workbox-navigation-preload@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/workbox-navigation-preload/-/workbox-navigation-preload-4.3.1.tgz#29c8e4db5843803b34cd96dc155f9ebd9afa453d" + integrity sha512-K076n3oFHYp16/C+F8CwrRqD25GitA6Rkd6+qAmLmMv1QHPI2jfDwYqrytOfKfYq42bYtW8Pr21ejZX7GvALOw== + dependencies: + workbox-core "^4.3.1" + +workbox-precaching@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/workbox-precaching/-/workbox-precaching-4.3.1.tgz#9fc45ed122d94bbe1f0ea9584ff5940960771cba" + integrity sha512-piSg/2csPoIi/vPpp48t1q5JLYjMkmg5gsXBQkh/QYapCdVwwmKlU9mHdmy52KsDGIjVaqEUMFvEzn2LRaigqQ== + dependencies: + workbox-core "^4.3.1" + +workbox-range-requests@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/workbox-range-requests/-/workbox-range-requests-4.3.1.tgz#f8a470188922145cbf0c09a9a2d5e35645244e74" + integrity sha512-S+HhL9+iTFypJZ/yQSl/x2Bf5pWnbXdd3j57xnb0V60FW1LVn9LRZkPtneODklzYuFZv7qK6riZ5BNyc0R0jZA== + dependencies: + workbox-core "^4.3.1" + +workbox-routing@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/workbox-routing/-/workbox-routing-4.3.1.tgz#a675841af623e0bb0c67ce4ed8e724ac0bed0cda" + integrity sha512-FkbtrODA4Imsi0p7TW9u9MXuQ5P4pVs1sWHK4dJMMChVROsbEltuE79fBoIk/BCztvOJ7yUpErMKa4z3uQLX+g== + dependencies: + workbox-core "^4.3.1" + +workbox-strategies@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/workbox-strategies/-/workbox-strategies-4.3.1.tgz#d2be03c4ef214c115e1ab29c9c759c9fe3e9e646" + integrity sha512-F/+E57BmVG8dX6dCCopBlkDvvhg/zj6VDs0PigYwSN23L8hseSRwljrceU2WzTvk/+BSYICsWmRq5qHS2UYzhw== + dependencies: + workbox-core "^4.3.1" + +workbox-streams@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/workbox-streams/-/workbox-streams-4.3.1.tgz#0b57da70e982572de09c8742dd0cb40a6b7c2cc3" + integrity sha512-4Kisis1f/y0ihf4l3u/+ndMkJkIT4/6UOacU3A4BwZSAC9pQ9vSvJpIi/WFGQRH/uPXvuVjF5c2RfIPQFSS2uA== + dependencies: + workbox-core "^4.3.1" + +workbox-sw@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/workbox-sw/-/workbox-sw-4.3.1.tgz#df69e395c479ef4d14499372bcd84c0f5e246164" + integrity sha512-0jXdusCL2uC5gM3yYFT6QMBzKfBr2XTk0g5TPAV4y8IZDyVNDyj1a8uSXy3/XrvkVTmQvLN4O5k3JawGReXr9w== + +workbox-webpack-plugin@4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/workbox-webpack-plugin/-/workbox-webpack-plugin-4.3.1.tgz#47ff5ea1cc074b6c40fb5a86108863a24120d4bd" + integrity sha512-gJ9jd8Mb8wHLbRz9ZvGN57IAmknOipD3W4XNE/Lk/4lqs5Htw4WOQgakQy/o/4CoXQlMCYldaqUg+EJ35l9MEQ== + dependencies: + "@babel/runtime" "^7.0.0" json-stable-stringify "^1.0.1" - workbox-build "^3.6.3" + workbox-build "^4.3.1" + +workbox-window@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/workbox-window/-/workbox-window-4.3.1.tgz#ee6051bf10f06afa5483c9b8dfa0531994ede0f3" + integrity sha512-C5gWKh6I58w3GeSc0wp2Ne+rqVw8qwcmZnQGpjiek8A2wpbxSJb1FdCoQVO+jDJs35bFgo/WETgl1fqgsxN0Hg== + dependencies: + workbox-core "^4.3.1" worker-farm@^1.5.2: version "1.6.0" @@ -16071,6 +16152,13 @@ worker-farm@^1.5.2: dependencies: errno "~0.1.7" +worker-farm@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.7.0.tgz#26a94c5391bbca926152002f69b84a4bf772e5a8" + integrity sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw== + dependencies: + errno "~0.1.7" + wrap-ansi@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" @@ -16087,6 +16175,15 @@ wrap-ansi@^3.0.1: string-width "^2.1.1" strip-ansi "^4.0.0" +wrap-ansi@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" + integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q== + dependencies: + ansi-styles "^3.2.0" + string-width "^3.0.0" + strip-ansi "^5.0.0" + wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" @@ -16225,6 +16322,11 @@ yallist@^3.0.0, yallist@^3.0.2: resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.3.tgz#b4b049e314be545e3ce802236d6cd22cd91c3de9" integrity sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A== +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + yargs-parser@10.x: version "10.1.0" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-10.1.0.tgz#7202265b89f7e9e9f2e5765e0fe735a905edbaa8" @@ -16240,6 +16342,14 @@ yargs-parser@^11.1.1: camelcase "^5.0.0" decamelize "^1.2.0" +yargs-parser@^15.0.0: + version "15.0.0" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-15.0.0.tgz#cdd7a97490ec836195f59f3f4dbe5ea9e8f75f08" + integrity sha512-xLTUnCMc4JhxrPEPUYD5IBR1mWCK/aT6+RJ/K29JY2y1vD+FhtgKK0AXRWvI262q3QSffAQuTouFIKUuHX89wQ== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + yargs-parser@^8.1.0: version "8.1.0" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-8.1.0.tgz#f1376a33b6629a5d063782944da732631e966950" @@ -16308,6 +16418,23 @@ yargs@^11.0.0: y18n "^3.2.1" yargs-parser "^9.0.2" +yargs@^14.0.0: + version "14.2.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-14.2.0.tgz#f116a9242c4ed8668790b40759b4906c276e76c3" + integrity sha512-/is78VKbKs70bVZH7w4YaZea6xcJWOAwkhbR0CFuZBmYtfTYF0xjGJF43AYd8g2Uii1yJwmS5GR2vBmrc32sbg== + dependencies: + cliui "^5.0.0" + decamelize "^1.2.0" + find-up "^3.0.0" + get-caller-file "^2.0.1" + require-directory "^2.1.1" + require-main-filename "^2.0.0" + set-blocking "^2.0.0" + string-width "^3.0.0" + which-module "^2.0.0" + y18n "^4.0.0" + yargs-parser "^15.0.0" + yauzl@2.10.0: version "2.10.0" resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9"