diff --git a/.eslintignore b/.eslintignore index f303467c475..84abc5ab840 100644 --- a/.eslintignore +++ b/.eslintignore @@ -13,6 +13,7 @@ coverage **/build css packages/react-icons/src/icons +packages/react-docs/static # package managers yarn-error.log diff --git a/package.json b/package.json index e12d858aafe..ca25d34a6e5 100644 --- a/package.json +++ b/package.json @@ -75,8 +75,8 @@ "lint": "node --max-old-space-size=4096 node_modules/.bin/eslint --ext js,jsx,ts,tsx --cache", "lint:md": "yarn eslint packages --ext md --no-eslintrc --config .eslintrc-md.json --cache", "lint:ts": "yarn lint packages", - "lint:versions": "node ./scripts/verifyPatternflyVersions.js", - "prettier": "node node_modules/.bin/prettier --write \"packages/**/*.{js,ts,tsx}\" \"scripts/**/*.{js,ts,tsx}\"", + "lint:versions": "node scripts/verifyPatternflyVersions.js", + "prettier": "node node_modules/.bin/prettier --write \"packages/**/*.{js,jsx,ts,tsx}\" \"scripts/**/*.{js,jsx,ts,tsx}\"", "serve:docs": "lerna run serve", "serve:integration": "lerna run serve:demo-app", "start": "yarn build && lerna run develop --parallel --stream", diff --git a/packages/react-catalog-view-extension/package.json b/packages/react-catalog-view-extension/package.json index 0264b4b0d41..397556ddc85 100644 --- a/packages/react-catalog-view-extension/package.json +++ b/packages/react-catalog-view-extension/package.json @@ -29,7 +29,7 @@ }, "homepage": "https://github.com/patternfly/patternfly-react/blob/master/packages/react-catalog-view-extension/README.md", "scripts": { - "build": "yarn build:babel && yarn build:types && node ./scripts/copyTS.js && yarn build:sass", + "build": "yarn build:babel && yarn build:types && yarn build:sass", "build:babel": "concurrently 'yarn build:babel:esm && yarn build:babel:umd' 'yarn build:babel:cjs'", "build:babel:cjs": "babel --source-maps --extensions '.js,.ts,.tsx' src --out-dir dist/js --presets=@babel/env", "build:babel:esm": "babel --source-maps --extensions '.js,.ts,.tsx' src --out-dir dist/esm", diff --git a/packages/react-catalog-view-extension/scripts/copyTS.js b/packages/react-catalog-view-extension/scripts/copyTS.js deleted file mode 100644 index 569890d173f..00000000000 --- a/packages/react-catalog-view-extension/scripts/copyTS.js +++ /dev/null @@ -1,15 +0,0 @@ -const path = require('path'); -const glob = require('glob'); -const fse = require('fs-extra'); - -const srcDir = path.join('./src'); -const distDir = path.join('./dist/js'); - -const files = glob.sync('**/*.d.ts', { - cwd: srcDir -}); -files.forEach(file => { - const from = path.join(srcDir, file); - const to = path.join(distDir, file); - fse.copySync(from, to); -}); diff --git a/packages/react-catalog-view-extension/src/components/CatalogItemHeader/CatalogItemHeader.tsx b/packages/react-catalog-view-extension/src/components/CatalogItemHeader/CatalogItemHeader.tsx index f955d68c235..50eb6412d49 100644 --- a/packages/react-catalog-view-extension/src/components/CatalogItemHeader/CatalogItemHeader.tsx +++ b/packages/react-catalog-view-extension/src/components/CatalogItemHeader/CatalogItemHeader.tsx @@ -1,8 +1,6 @@ import * as React from 'react'; import classNames from 'classnames'; -import { Omit } from '../../helpers/typeUtils'; - export interface CatalogItemHeaderProps extends Omit, 'title'> { /** Additional css classes */ className?: string; diff --git a/packages/react-catalog-view-extension/src/components/CatalogTile/CatalogTile.tsx b/packages/react-catalog-view-extension/src/components/CatalogTile/CatalogTile.tsx index 17d6a4d730d..8f0156d1101 100644 --- a/packages/react-catalog-view-extension/src/components/CatalogTile/CatalogTile.tsx +++ b/packages/react-catalog-view-extension/src/components/CatalogTile/CatalogTile.tsx @@ -7,7 +7,6 @@ import { CardBody } from '@patternfly/react-core/dist/js/components/Card/CardBod import { CardFooter } from '@patternfly/react-core/dist/js/components/Card/CardFooter'; import classNames from 'classnames'; -import { Omit } from '../../helpers/typeUtils'; export interface CatalogTileProps extends Omit, 'title'> { /** Id */ id?: any; diff --git a/packages/react-catalog-view-extension/src/components/CatalogTile/CatalogTileBadge.tsx b/packages/react-catalog-view-extension/src/components/CatalogTile/CatalogTileBadge.tsx index 7f779ca5fb9..2812c2561ca 100644 --- a/packages/react-catalog-view-extension/src/components/CatalogTile/CatalogTileBadge.tsx +++ b/packages/react-catalog-view-extension/src/components/CatalogTile/CatalogTileBadge.tsx @@ -2,8 +2,6 @@ import * as React from 'react'; import { Tooltip } from '@patternfly/react-core'; import classNames from 'classnames'; -import { Omit } from '../../helpers/typeUtils'; - export interface CatalogTileBadgeProps extends Omit, 'title'> { /** Children (typically an Icon) */ children?: React.ReactNode; diff --git a/packages/react-catalog-view-extension/src/components/FilterSidePanel/FilterSidePanelCategory.tsx b/packages/react-catalog-view-extension/src/components/FilterSidePanel/FilterSidePanelCategory.tsx index b1c25e00f2a..400ff7beb62 100644 --- a/packages/react-catalog-view-extension/src/components/FilterSidePanel/FilterSidePanelCategory.tsx +++ b/packages/react-catalog-view-extension/src/components/FilterSidePanel/FilterSidePanelCategory.tsx @@ -5,7 +5,6 @@ import { default as formStyles } from '@patternfly/react-styles/css/components/F import { css } from '@patternfly/react-styles'; import { childrenToArray } from '../../helpers/util'; -import { Omit } from '../../helpers/typeUtils'; export interface FilterSidePanelCategoryProps extends Omit, 'title'> { /** Children nodes */ diff --git a/packages/react-catalog-view-extension/src/components/PropertiesSidePanel/PropertyItem.tsx b/packages/react-catalog-view-extension/src/components/PropertiesSidePanel/PropertyItem.tsx index 3630c14f25e..0621e5ce4b8 100644 --- a/packages/react-catalog-view-extension/src/components/PropertiesSidePanel/PropertyItem.tsx +++ b/packages/react-catalog-view-extension/src/components/PropertiesSidePanel/PropertyItem.tsx @@ -1,7 +1,6 @@ import * as React from 'react'; import classNames from 'classnames'; -import { Omit } from '../../helpers/typeUtils'; import { Text, TextVariants } from '@patternfly/react-core/dist/js/components/Text/Text'; export interface PropertyItemProps extends Omit, 'label' | 'value'> { diff --git a/packages/react-catalog-view-extension/src/components/VerticalTabs/VerticalTabsTab.tsx b/packages/react-catalog-view-extension/src/components/VerticalTabs/VerticalTabsTab.tsx index 9b839c758bf..6a3c06dabaa 100644 --- a/packages/react-catalog-view-extension/src/components/VerticalTabs/VerticalTabsTab.tsx +++ b/packages/react-catalog-view-extension/src/components/VerticalTabs/VerticalTabsTab.tsx @@ -1,8 +1,6 @@ import * as React from 'react'; import classNames from 'classnames'; -import { Omit } from '../../helpers/typeUtils'; - export interface VerticalTabsTabProps extends Omit, 'title'> { /** Child tab nodes (VerticalTabsTab's) */ children?: React.ReactNode; diff --git a/packages/react-catalog-view-extension/src/helpers/typeUtils.ts b/packages/react-catalog-view-extension/src/helpers/typeUtils.ts deleted file mode 100644 index 12e2c0ebd43..00000000000 --- a/packages/react-catalog-view-extension/src/helpers/typeUtils.ts +++ /dev/null @@ -1,4 +0,0 @@ -export type OneOf = T[K]; - -// https://www.typescriptlang.org/docs/handbook/release-notes/typescript-2-8.html -export type Omit = Pick>; diff --git a/packages/react-charts/CHANGELOG.md b/packages/react-charts/CHANGELOG.md index e5b78d4207e..1e03cf91277 100644 --- a/packages/react-charts/CHANGELOG.md +++ b/packages/react-charts/CHANGELOG.md @@ -3,9 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [6.1.1](https://github.com/patternfly/patternfly-react/compare/@patternfly/react-charts@6.1.0...@patternfly/react-charts@6.1.1) (2020-03-27) - - ### Bug Fixes * **icons:** fix types, upgrade typescript ([#3978](https://github.com/patternfly/patternfly-react/issues/3978)) ([aa28738](https://github.com/patternfly/patternfly-react/commit/aa28738c2864b637d1ef1d0cc380a379cc6d3a51)) @@ -16,7 +13,6 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline # [6.1.0](https://github.com/patternfly/patternfly-react/compare/@patternfly/react-charts@6.0.4...@patternfly/react-charts@6.1.0) (2020-03-26) - ### Features * **Charts:** Bump Victory packages (3973) ([#3974](https://github.com/patternfly/patternfly-react/issues/3974)) ([23bd48e](https://github.com/patternfly/patternfly-react/commit/23bd48e1f14fd45a2d403ccd630313971e6a2ebe)) diff --git a/packages/react-charts/package.json b/packages/react-charts/package.json index 1737ad56455..dc69a813bc3 100644 --- a/packages/react-charts/package.json +++ b/packages/react-charts/package.json @@ -42,7 +42,7 @@ "react": "^16.4.0" }, "scripts": { - "build": "yarn build:babel && yarn build:types && node ./scripts/copyTS.js", + "build": "yarn build:babel && yarn build:types", "build:babel": "concurrently \"yarn build:babel:esm && yarn build:babel:umd\" \"yarn build:babel:cjs\"", "build:babel:cjs": "babel --source-maps --extensions \".js,.ts,.tsx\" src --out-dir dist/js --presets=@babel/env", "build:babel:esm": "babel --source-maps --extensions \".js,.ts,.tsx\" src --out-dir dist/esm", diff --git a/packages/react-charts/scripts/copyTS.js b/packages/react-charts/scripts/copyTS.js deleted file mode 100644 index 569890d173f..00000000000 --- a/packages/react-charts/scripts/copyTS.js +++ /dev/null @@ -1,15 +0,0 @@ -const path = require('path'); -const glob = require('glob'); -const fse = require('fs-extra'); - -const srcDir = path.join('./src'); -const distDir = path.join('./dist/js'); - -const files = glob.sync('**/*.d.ts', { - cwd: srcDir -}); -files.forEach(file => { - const from = path.join(srcDir, file); - const to = path.join(distDir, file); - fse.copySync(from, to); -}); diff --git a/packages/react-charts/src/components/ChartLegend/ChartLegend.tsx b/packages/react-charts/src/components/ChartLegend/ChartLegend.tsx index a4c4c8786eb..6029d7e1690 100644 --- a/packages/react-charts/src/components/ChartLegend/ChartLegend.tsx +++ b/packages/react-charts/src/components/ChartLegend/ChartLegend.tsx @@ -4,7 +4,6 @@ import { BlockProps, ColorScalePropType, EventPropTypeInterface, - Omit, OrientationTypes, PaddingProps, StringOrNumberOrCallback, diff --git a/packages/react-charts/src/typeUtils.d.ts b/packages/react-charts/src/typeUtils.d.ts deleted file mode 100644 index 12e2c0ebd43..00000000000 --- a/packages/react-charts/src/typeUtils.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -export type OneOf = T[K]; - -// https://www.typescriptlang.org/docs/handbook/release-notes/typescript-2-8.html -export type Omit = Pick>; diff --git a/packages/react-core/package.json b/packages/react-core/package.json index 3a223154904..16764a0248d 100644 --- a/packages/react-core/package.json +++ b/packages/react-core/package.json @@ -29,12 +29,13 @@ }, "homepage": "https://github.com/patternfly/patternfly-react#readme", "scripts": { - "build": "yarn build:babel && yarn build:types && node ./scripts/copyTS.js && node ./scripts/copyStyles.js", + "build": "yarn build:babel && yarn build:umd && yarn build:types && node ./scripts/copyStyles.js", "build:babel": "concurrently \"yarn build:babel:esm && yarn build:babel:umd\" \"yarn build:babel:cjs\"", "build:babel:cjs": "babel --source-maps --extensions \".js,.ts,.tsx\" src --out-dir dist/js --presets=@babel/env", "build:babel:esm": "babel --source-maps --extensions \".js,.ts,.tsx\" src --out-dir dist/esm", "build:babel:umd": "babel --source-maps --extensions \".js\" dist/esm --out-dir dist/umd --plugins=transform-es2015-modules-umd", "build:types": "tsc -p tsconfig.gen-dts.json", + "build:umd": "rollup -c && rollup -c --environment IS_PRODUCTION", "clean": "rimraf dist", "develop": "yarn build:babel:esm --skip-initial-build --watch --verbose", "gen:tests": "yo tsx-docgen" @@ -43,9 +44,7 @@ "@patternfly/react-icons": "^4.0.5", "@patternfly/react-styles": "^4.0.5", "@patternfly/react-tokens": "^4.0.2", - "emotion": "^9.2.9", - "exenv": "^1.2.2", - "focus-trap-react": "^4.0.1", + "focus-trap": "4.0.2", "react-dropzone": "9.0.0", "tippy.js": "5.1.2" }, @@ -60,6 +59,9 @@ "@babel/preset-react": "^7.0.0", "@patternfly/patternfly": "4.0.4", "@types/exenv": "^1.2.0", + "@rollup/plugin-commonjs": "^11.0.2", + "@rollup/plugin-node-resolve": "^7.1.1", + "@rollup/plugin-replace": "^2.3.1", "@types/jest": "^24.0.11", "@types/react": "^16.4.0", "@types/react-dom": "^16.4.0", @@ -70,6 +72,9 @@ "generator-tsx-docgen": "^0.1.0", "glob": "^7.1.2", "rimraf": "^2.6.2", + "rollup": "^2.2.0", + "rollup-plugin-scss": "^2.1.0", + "rollup-plugin-terser": "^5.3.0", "typescript": "^3.8.3", "yo": "^3.1.1" }, diff --git a/packages/react-core/rollup.config.js b/packages/react-core/rollup.config.js new file mode 100644 index 00000000000..27882cb0069 --- /dev/null +++ b/packages/react-core/rollup.config.js @@ -0,0 +1,31 @@ +import resolve from '@rollup/plugin-node-resolve'; +import commonjs from '@rollup/plugin-commonjs'; +import scss from 'rollup-plugin-scss'; +import replace from '@rollup/plugin-replace'; +import { terser } from 'rollup-plugin-terser'; + +const isProduction = process.env.IS_PRODUCTION; + +module.exports = { + input: 'dist/esm/index.js', + output: { + file: `dist/umd/react-core${isProduction ? '.min' : ''}.js`, + format: 'umd', + name: 'PatternFlyReact', + globals: { + react: 'React', + 'react-dom': 'ReactDOM', + 'prop-types': 'PropTypes' + } + }, + external: ['react', 'react-dom', 'prop-types'], + plugins: [ + replace({ + 'process.env.NODE_ENV': `'${isProduction ? 'production' : 'development'}'` + }), + resolve(), + commonjs(), + scss(), + isProduction && terser() + ] +}; diff --git a/packages/react-core/scripts/convertComponentHelpers.js b/packages/react-core/scripts/convertComponentHelpers.js deleted file mode 100644 index 5a92dcb24e3..00000000000 --- a/packages/react-core/scripts/convertComponentHelpers.js +++ /dev/null @@ -1,119 +0,0 @@ -/* eslint-disable no-console */ -/** - * @param {string} string String - * @param {object} pattern - RegExp pattern - */ -function getMatches(string, pattern) { - return string - .match(new RegExp(pattern.source, pattern.flags)) - .map(match => (match ? new RegExp(pattern.source, pattern.flags).exec(match) : [[]])); -} - -/** - * @param {string} srcText - Source text - */ -function fixImports(srcText) { - // Get where styles are coming from - const styleRegex = /import styles from '(.*)';/g; - - let res = "import React, { HTMLProps, ReactNode } from 'react';"; - res += "\nimport { css } from '@patternfly/react-styles';"; - if (srcText.match(styleRegex)) { - const styleImport = getMatches(srcText, styleRegex)[0][1]; - res += `\nimport styles from '${styleImport}';`; - } - return res; -} - -/** - * @param {string} type - String of type - */ -function getType(type) { - switch (type) { - case 'bool': - return 'boolean'; - case 'node': - return 'ReactNode'; - default: - return type; - } -} - -/** - * @param {string} srcText - Source string - * @param {string} name - Props name string - */ -function fixProps(srcText, name) { - const propRegex1 = /\/\*\*\s+(.*)\*\/\n\s+([\w']+):\s+PropTypes.([\w.]+)/g; - const propRegex2 = /([\w']+):\s+PropTypes.([\w.]+)/g; - let res = `export interface ${name}Props extends HTMLProps<> {`; - - let propTypes; - let indexOffset = 0; - if (srcText.match(propRegex1)) { - propTypes = getMatches(srcText, propRegex1); - } else { - propTypes = getMatches(srcText, propRegex2); - indexOffset = 1; - } - - for (const p of propTypes) { - if (p[2 - indexOffset] !== "''") { - res += `\n /** ${p[1]} */`; - res += `\n ${p[2 - indexOffset]}?: ${getType(p[3 - indexOffset])};`; - } - } - res += '\n};'; - - return res; -} - -/** - * @param {string} srcText - Source text string - * @param {string} name - component name - */ -function fixDefaultProps(srcText, name) { - const defaultPropRegex = /defaultProps\s*=\s*({[\s\S]*};)/g; - const props = getMatches(srcText, defaultPropRegex)[0][1]; - return `export const default${name}Props = ${props}`; -} - -/** - * @param {string} srcText - Default export string - */ -function getComponentName(srcText) { - const nameRegex = /export default (.*);/g; - return getMatches(srcText, nameRegex)[0][1]; -} - -/** - * @param {string} srcText - Source text string - * @param {string} name - Component name string - */ -function fixFunctionalComponent(srcText, name) { - let res = `export const ${name}: React.FunctionComponent<${name}Props> = `; - res += res.replace(/}\)\s*=>\s*\(/, `}: ${name}Props) => (`); - res += `;\n\n${name}.defaultProps = default${name}Props;`; - return res; -} - -module.exports = { - // Runs some regexs to extremely roughly convert a JS component to TS. You'll - // need to have the JS on hand to finish the conversion. - // Usage: node scripts/convertComponentToTS.js src/components/Alert - convertToTS(srcText) { - const name = getComponentName(srcText); - console.log('Converting', name); - - let res = fixImports(srcText); - res += `\n\n${fixProps(srcText, name)}`; - res += `\n\n${fixDefaultProps(srcText, name)}`; - if (srcText.indexOf('extends React.Component') === -1) { - res += `\n\n${fixFunctionalComponent(srcText, name)}`; - } else { - console.log('detected stateful component, skipping'); - } - res += '\n'; - return res; - } -}; diff --git a/packages/react-core/scripts/convertComponentToTS.js b/packages/react-core/scripts/convertComponentToTS.js deleted file mode 100644 index 21e9c99976e..00000000000 --- a/packages/react-core/scripts/convertComponentToTS.js +++ /dev/null @@ -1,46 +0,0 @@ -/* eslint-disable @typescript-eslint/no-var-requires */ -const path = require('path'); -const glob = require('glob'); -const fse = require('fs-extra'); -const regex = require('./convertComponentHelpers'); -/* eslint-enable @typescript-eslint/no-var-requires */ - -// Usage: node scripts/convertComponentToTS.js src/components/Alert -const srcDir = process.argv[2]; - -const testFiles = glob.sync('*.test.js', { - cwd: srcDir -}); -testFiles.forEach(file => { - const from = path.join(srcDir, file); - fse.moveSync(from, from.replace('.test.js', '.test.tsx')); -}); - -const typeFiles = glob.sync('*.d.ts', { - cwd: srcDir -}); -typeFiles.forEach(file => { - const from = path.join(srcDir, file); - fse.removeSync(from); -}); - -const indexFile = path.join(srcDir, 'index.js'); -if (fse.pathExistsSync(indexFile)) { - fse.moveSync(indexFile, path.join(srcDir, 'index.ts')); -} - -const files = glob.sync('*.js', { - cwd: srcDir -}); -files - .filter(file => file.indexOf('.docs') === -1) - .forEach(file => { - // eslint-disable-next-line no-console - console.log('Converting file', file); - const from = path.join(srcDir, file); - const sourceText = fse.readFileSync(from).toString(); - const outTest = regex.convertToTS(sourceText); - // process.exit(0); - fse.removeSync(from); - fse.writeFileSync(from.replace('.js', '.tsx'), outTest); - }); diff --git a/packages/react-core/scripts/copyTS.js b/packages/react-core/scripts/copyTS.js deleted file mode 100644 index cb35e3ddca2..00000000000 --- a/packages/react-core/scripts/copyTS.js +++ /dev/null @@ -1,17 +0,0 @@ -/* eslint-disable @typescript-eslint/no-var-requires */ -const path = require('path'); -const glob = require('glob'); -const fse = require('fs-extra'); -/* eslint-enable @typescript-eslint/no-var-requires */ - -const srcDir = path.join('./src'); -const distDir = path.join('./dist/js'); - -const files = glob.sync('**/*.d.ts', { - cwd: srcDir -}); -files.forEach(file => { - const from = path.join(srcDir, file); - const to = path.join(distDir, file); - fse.copySync(from, to); -}); diff --git a/packages/react-core/scripts/snapshot-serializer.js b/packages/react-core/scripts/snapshot-serializer.js deleted file mode 100644 index ed93fbc96b8..00000000000 --- a/packages/react-core/scripts/snapshot-serializer.js +++ /dev/null @@ -1,10 +0,0 @@ -/* eslint-disable @typescript-eslint/no-var-requires */ -const fs = require('fs'); -const { createSerializer } = require('@patternfly/react-styles/snapshot-serializer'); -/* eslint-enable @typescript-eslint/no-var-requires */ - -const pf4CSS = fs.readFileSync(require.resolve('@patternfly/patternfly/patternfly-base.css'), 'utf8'); - -module.exports = createSerializer({ - globalCSS: pf4CSS.match(/:root\W?\{(.|\n)*?\}/)[0] -}); diff --git a/packages/react-core/src/components/AboutModal/AboutModalContainer.tsx b/packages/react-core/src/components/AboutModal/AboutModalContainer.tsx index 3b5ed7c4fc8..4de0c74fc54 100644 --- a/packages/react-core/src/components/AboutModal/AboutModalContainer.tsx +++ b/packages/react-core/src/components/AboutModal/AboutModalContainer.tsx @@ -1,10 +1,7 @@ import * as React from 'react'; - -// eslint-disable-next-line @typescript-eslint/no-var-requires -const FocusTrap: any = require('focus-trap-react'); - -import styles from '@patternfly/react-styles/css/layouts/Bullseye/bullseye'; import { css } from '@patternfly/react-styles'; +import styles from '@patternfly/react-styles/css/layouts/Bullseye/bullseye'; +import { FocusTrap } from '../../helpers'; import { AboutModalBoxContent } from './AboutModalBoxContent'; import { AboutModalBoxHeader } from './AboutModalBoxHeader'; @@ -68,7 +65,7 @@ export const AboutModalContainer: React.FunctionComponent - + {productName && } { }); test('AboutModalBoxCloseButton Test close button aria label', () => { - const closeButtonAriaLabel = 'Klose Daylok' + const closeButtonAriaLabel = 'Klose Daylok'; const view = shallow(); expect(view).toMatchSnapshot(); }); diff --git a/packages/react-core/src/components/AboutModal/__tests__/__snapshots__/AboutModalContainer.test.tsx.snap b/packages/react-core/src/components/AboutModal/__tests__/__snapshots__/AboutModalContainer.test.tsx.snap index bf52b8e2227..713f990d4c9 100644 --- a/packages/react-core/src/components/AboutModal/__tests__/__snapshots__/AboutModalContainer.test.tsx.snap +++ b/packages/react-core/src/components/AboutModal/__tests__/__snapshots__/AboutModalContainer.test.tsx.snap @@ -3,7 +3,6 @@ exports[`About Modal Container Test isOpen 1`] = ` , 'type'> { diff --git a/packages/react-core/src/components/Alert/Alert.tsx b/packages/react-core/src/components/Alert/Alert.tsx index ff61eda17bc..33292e63e40 100644 --- a/packages/react-core/src/components/Alert/Alert.tsx +++ b/packages/react-core/src/components/Alert/Alert.tsx @@ -4,7 +4,7 @@ import styles from '@patternfly/react-styles/css/components/Alert/alert'; import accessibleStyles from '@patternfly/react-styles/css/utilities/Accessibility/accessibility'; import { AlertIcon } from './AlertIcon'; import { capitalize, getOUIAProps, OUIAProps } from '../../helpers'; -import { Omit } from '../../helpers/typeUtils'; +import { AlertContext } from './AlertContext'; export enum AlertVariant { success = 'success', @@ -48,7 +48,7 @@ export const Alert: React.FunctionComponent = ({ ouiaId, ...props }: AlertProps & OUIAProps) => { - const readerTitle = ( + const getHeadingContent = ( {variantLabel} {title} @@ -74,11 +74,13 @@ export const Alert: React.FunctionComponent = ({ })} > -

{readerTitle}

+

{getHeadingContent}

{children &&
{children}
} - {action && ( -
{React.cloneElement(action as any, { title, variantLabel })}
- )} + + {action && (typeof action === 'object' || typeof action === 'string') && ( +
{action}
+ )} +
); }; diff --git a/packages/react-core/src/components/Alert/AlertActionCloseButton.tsx b/packages/react-core/src/components/Alert/AlertActionCloseButton.tsx index 5956dd268c7..023edb31001 100644 --- a/packages/react-core/src/components/Alert/AlertActionCloseButton.tsx +++ b/packages/react-core/src/components/Alert/AlertActionCloseButton.tsx @@ -1,6 +1,7 @@ import * as React from 'react'; import { Button, ButtonVariant, ButtonProps } from '../Button'; import TimesIcon from '@patternfly/react-icons/dist/js/icons/times-icon'; +import { AlertContext } from './AlertContext'; interface AlertActionCloseButtonProps extends ButtonProps { /** Additional classes added to the AlertActionCloseButton */ @@ -18,16 +19,19 @@ export const AlertActionCloseButton = ({ className = '', onClose = () => undefined as any, 'aria-label': ariaLabel = '', - title, - variantLabel = '', + variantLabel, ...props }: AlertActionCloseButtonProps) => ( - + + {({ title, variantLabel: alertVariantLabel }) => ( + + )} + ); diff --git a/packages/react-core/src/components/Alert/AlertActionLink.tsx b/packages/react-core/src/components/Alert/AlertActionLink.tsx index 1daeeacf6fc..c947498786f 100644 --- a/packages/react-core/src/components/Alert/AlertActionLink.tsx +++ b/packages/react-core/src/components/Alert/AlertActionLink.tsx @@ -10,7 +10,7 @@ export interface AlertActionLinkProps extends ButtonProps { export const AlertActionLink: React.FunctionComponent = ({ className = '', - children = '', + children, ...props }: AlertActionLinkProps) => ( + + + `; diff --git a/packages/react-core/src/components/Alert/__tests__/__snapshots__/Alert.test.tsx.snap b/packages/react-core/src/components/Alert/__tests__/__snapshots__/Alert.test.tsx.snap index b91fca20c42..9be7889477e 100644 --- a/packages/react-core/src/components/Alert/__tests__/__snapshots__/Alert.test.tsx.snap +++ b/packages/react-core/src/components/Alert/__tests__/__snapshots__/Alert.test.tsx.snap @@ -8,7 +8,7 @@ exports[`Alert - danger Action Close Button 1`] = ` onClose={[MockFunction]} /> } - title="" + title="Sample danger alert" variant="danger" >
Danger alert: + Sample danger alert
+ + + + + + + + + +); +``` + ```js title=Spinner import React from 'react'; import { diff --git a/packages/react-core/src/components/FileUpload/FileUpload.tsx b/packages/react-core/src/components/FileUpload/FileUpload.tsx index be5dd00a61d..6e1f16443a9 100644 --- a/packages/react-core/src/components/FileUpload/FileUpload.tsx +++ b/packages/react-core/src/components/FileUpload/FileUpload.tsx @@ -1,6 +1,5 @@ import * as React from 'react'; import Dropzone, { DropzoneProps, DropFileEventHandler } from 'react-dropzone'; -import { Omit } from '../../helpers'; import { FileUploadField, FileUploadFieldProps } from './FileUploadField'; import { readFile, fileReaderType } from '../../helpers/fileUtils'; diff --git a/packages/react-core/src/components/FileUpload/FileUploadField.tsx b/packages/react-core/src/components/FileUpload/FileUploadField.tsx index 30a79de04f3..b1d7295eb96 100644 --- a/packages/react-core/src/components/FileUpload/FileUploadField.tsx +++ b/packages/react-core/src/components/FileUpload/FileUploadField.tsx @@ -1,7 +1,6 @@ import * as React from 'react'; import styles from '@patternfly/react-styles/css/components/FileUpload/file-upload'; import { css } from '@patternfly/react-styles'; -import { Omit } from '../../helpers'; import { InputGroup } from '../InputGroup'; import { TextInput } from '../TextInput'; import { Button, ButtonVariant } from '../Button'; @@ -95,7 +94,7 @@ export const FileUploadField: React.FunctionComponent = ({ validated = 'default' as 'success' | 'error' | 'default', 'aria-label': ariaLabel = 'File upload', filenamePlaceholder = 'Drag a file here or browse to upload', - filenameAriaLabel = filename ? 'Read only' : filenamePlaceholder, + filenameAriaLabel = filename ? 'Read only filename' : filenamePlaceholder, browseButtonText = 'Browse...', clearButtonText = 'Clear', isClearButtonDisabled = !filename && !value, diff --git a/packages/react-core/src/components/FileUpload/__tests__/FileUpload.test.tsx b/packages/react-core/src/components/FileUpload/__tests__/FileUpload.test.tsx index a192bd1fb40..e8d4945a5a8 100644 --- a/packages/react-core/src/components/FileUpload/__tests__/FileUpload.test.tsx +++ b/packages/react-core/src/components/FileUpload/__tests__/FileUpload.test.tsx @@ -7,16 +7,17 @@ test('simple fileupload', () => { const readStartedHandler = jest.fn(); const readFinishedHandler = jest.fn(); - const view = shallow(); + const view = shallow( + + ); expect(view).toMatchSnapshot(); }); - diff --git a/packages/react-core/src/components/FileUpload/__tests__/FileUploadField.test.tsx b/packages/react-core/src/components/FileUpload/__tests__/FileUploadField.test.tsx index 8247d26a019..cc50e8011de 100644 --- a/packages/react-core/src/components/FileUpload/__tests__/FileUploadField.test.tsx +++ b/packages/react-core/src/components/FileUpload/__tests__/FileUploadField.test.tsx @@ -7,21 +7,23 @@ test('simple fileuploadfield', () => { const browserBtnClickHandler = jest.fn(); const clearBtnClickHandler = jest.fn(); - const view = shallow( - {

A custom preview of the uploaded file can be passed as children

} -
); + const view = shallow( + + {

A custom preview of the uploaded file can be passed as children

} +
+ ); expect(view).toMatchSnapshot(); }); diff --git a/packages/react-core/src/components/Form/FormGroup.tsx b/packages/react-core/src/components/Form/FormGroup.tsx index f4860a69791..fea2597a549 100644 --- a/packages/react-core/src/components/Form/FormGroup.tsx +++ b/packages/react-core/src/components/Form/FormGroup.tsx @@ -1,5 +1,4 @@ import * as React from 'react'; -import { Omit } from '../../helpers/typeUtils'; import styles from '@patternfly/react-styles/css/components/Form/form'; import { ASTERISK } from '../../helpers/htmlConstants'; import { FormContext } from './FormContext'; diff --git a/packages/react-core/src/components/FormSelect/FormSelect.tsx b/packages/react-core/src/components/FormSelect/FormSelect.tsx index b225564b5cb..374795fe276 100644 --- a/packages/react-core/src/components/FormSelect/FormSelect.tsx +++ b/packages/react-core/src/components/FormSelect/FormSelect.tsx @@ -1,7 +1,7 @@ import * as React from 'react'; import styles from '@patternfly/react-styles/css/components/FormControl/form-control'; import { css } from '@patternfly/react-styles'; -import { Omit, PickOptional } from '../../helpers/typeUtils'; +import { PickOptional } from '../../helpers/typeUtils'; import { ValidatedOptions } from '../../helpers/constants'; export interface FormSelectProps diff --git a/packages/react-core/src/components/FormSelect/FormSelectOption.tsx b/packages/react-core/src/components/FormSelect/FormSelectOption.tsx index 51eff5c9b3f..21a6fe31a33 100644 --- a/packages/react-core/src/components/FormSelect/FormSelectOption.tsx +++ b/packages/react-core/src/components/FormSelect/FormSelectOption.tsx @@ -1,5 +1,4 @@ import * as React from 'react'; -import { Omit } from '../../helpers/typeUtils'; export interface FormSelectOptionProps extends Omit, 'disabled'> { /** additional classes added to the Select Option */ diff --git a/packages/react-core/src/components/FormSelect/FormSelectOptionGroup.tsx b/packages/react-core/src/components/FormSelect/FormSelectOptionGroup.tsx index cb01b909b61..adbf69e1e21 100644 --- a/packages/react-core/src/components/FormSelect/FormSelectOptionGroup.tsx +++ b/packages/react-core/src/components/FormSelect/FormSelectOptionGroup.tsx @@ -1,5 +1,4 @@ import * as React from 'react'; -import { Omit } from '../../helpers/typeUtils'; export interface FormSelectOptionGroupProps extends Omit, 'disabled'> { /** content rendered inside the Select Option Group */ diff --git a/packages/react-core/src/components/List/List.tsx b/packages/react-core/src/components/List/List.tsx index 8b4dc8f8102..d37814492ca 100644 --- a/packages/react-core/src/components/List/List.tsx +++ b/packages/react-core/src/components/List/List.tsx @@ -1,7 +1,6 @@ import * as React from 'react'; import styles from '@patternfly/react-styles/css/components/List/list'; import { css } from '@patternfly/react-styles'; -import { Omit } from '../../helpers/typeUtils'; export enum OrderType { number = '1', diff --git a/packages/react-core/src/components/Modal/Modal.tsx b/packages/react-core/src/components/Modal/Modal.tsx index 1f74c72d12d..63a6135b0d1 100644 --- a/packages/react-core/src/components/Modal/Modal.tsx +++ b/packages/react-core/src/components/Modal/Modal.tsx @@ -1,13 +1,9 @@ import * as React from 'react'; import * as ReactDOM from 'react-dom'; -import { canUseDOM } from '../../helpers'; - +import { canUseDOM, KEY_CODES, PickOptional } from '../../helpers'; import { css } from '@patternfly/react-styles'; import styles from '@patternfly/react-styles/css/components/Backdrop/backdrop'; - -import { KEY_CODES } from '../../helpers/constants'; import { ModalContent } from './ModalContent'; -import { PickOptional } from '../../helpers/typeUtils'; export interface ModalProps extends React.HTMLProps { /** Content rendered inside the Modal. */ diff --git a/packages/react-core/src/components/Modal/ModalContent.tsx b/packages/react-core/src/components/Modal/ModalContent.tsx index 527499e9370..b180db4da33 100644 --- a/packages/react-core/src/components/Modal/ModalContent.tsx +++ b/packages/react-core/src/components/Modal/ModalContent.tsx @@ -1,12 +1,7 @@ import * as React from 'react'; - -// Can't use ES6 imports :( -// The types for it are also wrong, we should probably ditch this dependency. -// eslint-disable-next-line @typescript-eslint/no-var-requires -const FocusTrap: any = require('focus-trap-react'); - -import styles from '@patternfly/react-styles/css/layouts/Bullseye/bullseye'; +import { FocusTrap } from '../../helpers'; import titleStyles from '@patternfly/react-styles/css/components/Title/title'; +import styles from '@patternfly/react-styles/css/layouts/Bullseye/bullseye'; import { css } from '@patternfly/react-styles'; import { Backdrop } from '../Backdrop/Backdrop'; diff --git a/packages/react-core/src/components/Modal/__tests__/__snapshots__/ModalContent.test.tsx.snap b/packages/react-core/src/components/Modal/__tests__/__snapshots__/ModalContent.test.tsx.snap index 587397a77a9..15283e586ef 100644 --- a/packages/react-core/src/components/Modal/__tests__/__snapshots__/ModalContent.test.tsx.snap +++ b/packages/react-core/src/components/Modal/__tests__/__snapshots__/ModalContent.test.tsx.snap @@ -3,7 +3,6 @@ exports[`Modal Content Test description 1`] = ` , diff --git a/packages/react-core/src/components/Nav/NavItem.tsx b/packages/react-core/src/components/Nav/NavItem.tsx index 425a4009ff4..c49766dd7fc 100644 --- a/packages/react-core/src/components/Nav/NavItem.tsx +++ b/packages/react-core/src/components/Nav/NavItem.tsx @@ -1,7 +1,6 @@ import * as React from 'react'; import styles from '@patternfly/react-styles/css/components/Nav/nav'; import { css } from '@patternfly/react-styles'; -import { Omit } from '../../helpers/typeUtils'; import { NavContext, NavSelectClickHandler } from './Nav'; export interface NavItemProps extends Omit, 'onClick'> { diff --git a/packages/react-core/src/components/OptionsMenu/OptionsMenuItem.tsx b/packages/react-core/src/components/OptionsMenu/OptionsMenuItem.tsx index 93115f3a49c..b3ecffa3c2e 100644 --- a/packages/react-core/src/components/OptionsMenu/OptionsMenuItem.tsx +++ b/packages/react-core/src/components/OptionsMenu/OptionsMenuItem.tsx @@ -3,7 +3,6 @@ import { css } from '@patternfly/react-styles'; import styles from '@patternfly/react-styles/css/components/OptionsMenu/options-menu'; import { DropdownItem } from '../Dropdown'; import CheckIcon from '@patternfly/react-icons/dist/js/icons/check-icon'; -import { Omit } from '../../helpers/typeUtils'; export interface OptionsMenuItemProps extends Omit, 'onSelect' | 'onClick' | 'onKeyDown' | 'type'> { diff --git a/packages/react-core/src/components/OptionsMenu/__tests__/__snapshots__/OptionsMenu.test.tsx.snap b/packages/react-core/src/components/OptionsMenu/__tests__/__snapshots__/OptionsMenu.test.tsx.snap index 472776bdc55..764657a4188 100644 --- a/packages/react-core/src/components/OptionsMenu/__tests__/__snapshots__/OptionsMenu.test.tsx.snap +++ b/packages/react-core/src/components/OptionsMenu/__tests__/__snapshots__/OptionsMenu.test.tsx.snap @@ -728,7 +728,6 @@ exports[`optionsMenu expanded 1`] = ` } } enterTriggersArrowDown={false} - href="" id="" index={-1} isDisabled={false} @@ -750,7 +749,6 @@ exports[`optionsMenu expanded 1`] = `
{hasOnClear && hasAnySelections && clearBtn} diff --git a/packages/react-core/src/components/Select/SelectMenu.tsx b/packages/react-core/src/components/Select/SelectMenu.tsx index 8e485aba094..68af8aada3f 100644 --- a/packages/react-core/src/components/Select/SelectMenu.tsx +++ b/packages/react-core/src/components/Select/SelectMenu.tsx @@ -4,10 +4,9 @@ import { default as formStyles } from '@patternfly/react-styles/css/components/F import { css } from '@patternfly/react-styles'; import { SelectOptionObject, SelectOption } from './SelectOption'; import { SelectConsumer, SelectVariant } from './selectConstants'; -import { Omit, PickOptional } from '../../helpers/typeUtils'; +import { PickOptional } from '../../helpers/typeUtils'; -// eslint-disable-next-line @typescript-eslint/no-var-requires -const FocusTrap: any = require('focus-trap-react'); +import { FocusTrap } from '../../helpers'; export interface SelectMenuProps extends Omit, 'checked' | 'selected' | 'ref'> { /** Content rendered inside the SelectMenu */ diff --git a/packages/react-core/src/components/Select/SelectOption.tsx b/packages/react-core/src/components/Select/SelectOption.tsx index ed8f071591e..177703e9bc3 100644 --- a/packages/react-core/src/components/Select/SelectOption.tsx +++ b/packages/react-core/src/components/Select/SelectOption.tsx @@ -4,7 +4,6 @@ import { default as checkStyles } from '@patternfly/react-styles/css/components/ import { css } from '@patternfly/react-styles'; import CheckIcon from '@patternfly/react-icons/dist/js/icons/check-icon'; import { SelectConsumer, SelectVariant, KeyTypes } from './selectConstants'; -import { Omit } from '../../helpers/typeUtils'; export interface SelectOptionObject { /** Function returns a string to represent the select option object */ diff --git a/packages/react-core/src/components/Select/__tests__/Select.test.tsx b/packages/react-core/src/components/Select/__tests__/Select.test.tsx index 189f02c59be..bc6a92d23bc 100644 --- a/packages/react-core/src/components/Select/__tests__/Select.test.tsx +++ b/packages/react-core/src/components/Select/__tests__/Select.test.tsx @@ -37,7 +37,8 @@ describe('select', () => { describe('single select', () => { test('renders closed successfully', () => { const view = mount( - {selectOptions} ); @@ -46,7 +47,8 @@ describe('select', () => { test('renders disabled successfully', () => { const view = mount( - {selectOptions} ); @@ -71,9 +73,10 @@ describe('select', () => { }); }); - test('renders up drection successfully', () => { + test('renders up direction successfully', () => { const view = mount( - {selectOptions} ); @@ -97,6 +100,7 @@ describe('select', () => { }; const view = mount( + + ); + expect(view).toMatchSnapshot(); + }); + + test('renders checkbox select selections properly', () => { + const view = mount( + + ); + expect(view).toMatchSnapshot(); + }); + + test('renders checkbox select selections properly when isCheckboxSelectionBadgeHidden is true', () => { + const view = mount( + ); @@ -159,6 +181,23 @@ describe('checkbox select', () => { expect(view).toMatchSnapshot(); }); + test('renders expanded with filtering successfully', () => { + const view = mount( + + ); + expect(view).toMatchSnapshot(); + }); + test('renders expanded successfully with custom objects', () => { const view = mount( + ); @@ -237,7 +276,7 @@ describe('typeahead select', () => { describe('typeahead multi select', () => { test('renders closed successfully', () => { const view = mount( - {selectOptions} ); @@ -256,6 +295,7 @@ describe('typeahead multi select', () => { test('renders selected successfully', () => { const view = mount( + ); @@ -324,7 +364,7 @@ describe('toggle icon', () => { test('select checkbox', () => { const view = mount( - {selectOptions} ); @@ -333,7 +373,7 @@ describe('toggle icon', () => { test('typeahead select', () => { const view = mount( - {selectOptions} ); @@ -342,7 +382,7 @@ describe('toggle icon', () => { test('typeahead multi select', () => { const view = mount( - {selectOptions} ); @@ -352,7 +392,7 @@ describe('toggle icon', () => { describe('select with custom content', () => { test('renders closed successfully', () => { - const view = mount(); expect(view).toMatchSnapshot(); }); test('renders expanded successfully', () => { diff --git a/packages/react-core/src/components/Select/__tests__/__snapshots__/Select.test.tsx.snap b/packages/react-core/src/components/Select/__tests__/__snapshots__/Select.test.tsx.snap index 1669be65340..c6d82017453 100644 --- a/packages/react-core/src/components/Select/__tests__/__snapshots__/Select.test.tsx.snap +++ b/packages/react-core/src/components/Select/__tests__/__snapshots__/Select.test.tsx.snap @@ -34,7 +34,7 @@ exports[`checkbox select renders checkbox select groups successfully 1`] = ` >
+ + +
+ , + } + } + type="button" + variant="checkbox" + > +
+
+
- - + +
+ `; @@ -2151,7 +2716,7 @@ exports[`select custom select filter filters properly 1`] = ` selections={Array []} toggleAriaLabel="Options menu" toggleIcon={null} - toggleId={null} + toggleId="custom-select-filters" typeAheadAriaLabel="" variant="typeahead" width="" @@ -2169,11 +2734,11 @@ exports[`select custom select filter filters properly 1`] = ` > @@ -2596,11 +3161,11 @@ exports[`select renders select groups successfully 1`] = ` >
`; -exports[`select renders up drection successfully 1`] = ` +exports[`select renders up direction successfully 1`] = ` + {this.options} + +
+ ); + } +} +``` + ```js title=Checkbox-input import React from 'react'; import { Select, SelectOption, SelectVariant } from '@patternfly/react-core'; @@ -219,6 +292,81 @@ class CheckboxSelectInput extends React.Component { } ``` +```js title=Checkbox-input-no-badge +import React from 'react'; +import { Select, SelectOption, SelectVariant } from '@patternfly/react-core'; + +class CheckboxSelectInputNoBadge extends React.Component { + constructor(props) { + super(props); + + this.state = { + isExpanded: false, + selected: [] + }; + + this.onToggle = isExpanded => { + this.setState({ + isExpanded + }); + }; + + this.onSelect = (event, selection) => { + const { selected } = this.state; + if (selected.includes(selection)) { + this.setState( + prevState => ({ selected: prevState.selected.filter(item => item !== selection) }), + () => console.log('selections: ', this.state.selected) + ); + } else { + this.setState( + prevState => ({ selected: [...prevState.selected, selection] }), + () => console.log('selections: ', this.state.selected) + ); + } + }; + + this.clearSelection = () => { + this.setState({ + selected: [] + }); + }; + + this.options = [ + , + , + , + , + ]; + } + + render() { + const { isExpanded, selected } = this.state; + const titleId = 'checkbox-select-id'; + return ( +
+ + +
+ ); + } +} +``` + ```js title=Grouped-checkbox-input import React from 'react'; import { Select, SelectOption, SelectVariant, SelectGroup } from '@patternfly/react-core'; @@ -404,6 +552,110 @@ class FilteringCheckboxSelectInput extends React.Component { } ``` +```js title=Grouped-checkbox-input-with-filtering +import React from 'react'; +import { Select, SelectOption, SelectGroup, SelectVariant } from '@patternfly/react-core'; + +class FilteringCheckboxSelectInput extends React.Component { + constructor(props) { + super(props); + + this.state = { + isExpanded: false, + selected: [] + }; + + this.options = [ + + + + + + + , + + + + + + ]; + + this.onToggle = isExpanded => { + this.setState({ + isExpanded + }); + }; + + this.onSelect = (event, selection) => { + const { selected } = this.state; + if (selected.includes(selection)) { + this.setState( + prevState => ({ selected: prevState.selected.filter(item => item !== selection) }), + () => console.log('selections: ', this.state.selected) + ); + } else { + this.setState( + prevState => ({ selected: [...prevState.selected, selection] }), + () => console.log('selections: ', this.state.selected) + ); + } + }; + + this.onFilter = evt => { + const textInput = evt.target.value; + if (textInput === '') { + return this.options; + } else { + let filteredGroups = this.options + .map(group => { + let filteredGroup = React.cloneElement(group, { + children: group.props.children.filter(item => { + return item.props.value.toLowerCase().includes(textInput.toLowerCase()); + }) + }); + if (filteredGroup.props.children.length > 0) return filteredGroup; + }) + .filter(newGroup => newGroup); + return filteredGroups; + } + }; + + this.clearSelection = () => { + this.setState({ + selected: [] + }); + }; + } + + render() { + const { isExpanded, selected, filteredOptions } = this.state; + const titleId = 'checkbox-filtering-select-id'; + return ( +
+ + +
+ ); + } +} +``` + ```js title=Typeahead import React from 'react'; import { Checkbox, Select, SelectOption, SelectVariant } from '@patternfly/react-core'; diff --git a/packages/react-core/src/components/SimpleList/SimpleList.tsx b/packages/react-core/src/components/SimpleList/SimpleList.tsx index a03336ffbe2..d8089cfbb1b 100644 --- a/packages/react-core/src/components/SimpleList/SimpleList.tsx +++ b/packages/react-core/src/components/SimpleList/SimpleList.tsx @@ -3,7 +3,6 @@ import { css } from '@patternfly/react-styles'; import styles from '@patternfly/react-styles/css/components/SimpleList/simple-list'; import { SimpleListGroup } from './SimpleListGroup'; import { SimpleListItemProps } from './SimpleListItem'; -import { Omit } from '../../helpers/typeUtils'; export interface SimpleListProps extends Omit, 'onSelect'> { /** Content rendered inside the SimpleList */ diff --git a/packages/react-core/src/components/SimpleList/SimpleListGroup.tsx b/packages/react-core/src/components/SimpleList/SimpleListGroup.tsx index 94d10aa1802..ebdcf4b81f8 100644 --- a/packages/react-core/src/components/SimpleList/SimpleListGroup.tsx +++ b/packages/react-core/src/components/SimpleList/SimpleListGroup.tsx @@ -1,7 +1,6 @@ import * as React from 'react'; import { css } from '@patternfly/react-styles'; import styles from '@patternfly/react-styles/css/components/SimpleList/simple-list'; -import { Omit } from '../../helpers/typeUtils'; export interface SimpleListGroupProps extends Omit, 'title'> { /** Content rendered inside the SimpleList group */ diff --git a/packages/react-core/src/components/Spinner/Spinner.tsx b/packages/react-core/src/components/Spinner/Spinner.tsx index 093e25b2d73..2654c1e9d0a 100644 --- a/packages/react-core/src/components/Spinner/Spinner.tsx +++ b/packages/react-core/src/components/Spinner/Spinner.tsx @@ -1,7 +1,6 @@ import * as React from 'react'; import styles from '@patternfly/react-styles/css/components/Spinner/spinner'; import { css } from '@patternfly/react-styles'; -import { Omit } from '../../helpers/typeUtils'; export enum spinnerSize { sm = 'sm', diff --git a/packages/react-core/src/components/Switch/Switch.tsx b/packages/react-core/src/components/Switch/Switch.tsx index 33893e96ff9..3f3baac1027 100644 --- a/packages/react-core/src/components/Switch/Switch.tsx +++ b/packages/react-core/src/components/Switch/Switch.tsx @@ -3,7 +3,6 @@ import styles from '@patternfly/react-styles/css/components/Switch/switch'; import { css } from '@patternfly/react-styles'; import CheckIcon from '@patternfly/react-icons/dist/js/icons/check-icon'; import { getUniqueId } from '../../helpers/util'; -import { Omit } from '../../helpers/typeUtils'; import { getOUIAProps, OUIAProps } from '../../helpers'; export interface SwitchProps diff --git a/packages/react-core/src/components/Tabs/Tab.tsx b/packages/react-core/src/components/Tabs/Tab.tsx index e4a2d4fa68f..fe623f3abc8 100644 --- a/packages/react-core/src/components/Tabs/Tab.tsx +++ b/packages/react-core/src/components/Tabs/Tab.tsx @@ -1,5 +1,4 @@ import * as React from 'react'; -import { Omit } from '../../helpers/typeUtils'; export interface TabProps extends Omit, 'title'> { /** content rendered inside the Tab content area. */ diff --git a/packages/react-core/src/components/Tabs/TabButton.tsx b/packages/react-core/src/components/Tabs/TabButton.tsx index 3f338d836f2..96ce2da5cf7 100644 --- a/packages/react-core/src/components/Tabs/TabButton.tsx +++ b/packages/react-core/src/components/Tabs/TabButton.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; -export interface TabButtonProps extends React.HTMLProps { +export interface TabButtonProps extends Omit, 'ref'> { /** content rendered inside the Tab content area. */ children?: React.ReactNode; /** additional classes added to the Tab */ @@ -8,10 +8,10 @@ export interface TabButtonProps extends React.HTMLProps instead of a - - + Tab item 1 + +
  • - - - - - + Tab item 2 + +
  • - - - - - + Tab item 3 + +
  • @@ -235,7 +214,7 @@ exports[`should call handleScrollButtons tabs with scrolls 1`] = ` id="tab1" key="0/.0" > - Tab 1 section - + - Tab 2 section - + - Tab 3 section - + `; @@ -424,29 +403,22 @@ exports[`should call scrollLeft tabs with scrolls 1`] = ` id="pf-tab-0-tab1" onClick={[Function]} > - - - - - + Tab item 1 + +
  • - - - - - + Tab item 2 + +
  • - - - - - + Tab item 3 + +
  • @@ -579,7 +537,7 @@ exports[`should call scrollLeft tabs with scrolls 1`] = ` id="tab1" key="0/.0" > - Tab 1 section - + - Tab 2 section - + - Tab 3 section - + `; @@ -768,29 +726,22 @@ exports[`should call scrollRight tabs with scrolls 1`] = ` id="pf-tab-0-tab1" onClick={[Function]} > - - - - - + Tab item 1 + +
  • - - - - - + Tab item 2 + +
  • - - - - - + Tab item 3 + +
  • @@ -923,7 +860,7 @@ exports[`should call scrollRight tabs with scrolls 1`] = ` id="tab1" key="0/.0" > - Tab 1 section - + - Tab 2 section - + - Tab 3 section - + `; diff --git a/packages/react-core/src/components/TextArea/TextArea.tsx b/packages/react-core/src/components/TextArea/TextArea.tsx index 2ca58863c9e..66f2e2506ff 100644 --- a/packages/react-core/src/components/TextArea/TextArea.tsx +++ b/packages/react-core/src/components/TextArea/TextArea.tsx @@ -2,9 +2,7 @@ import * as React from 'react'; import { HTMLProps } from 'react'; import styles from '@patternfly/react-styles/css/components/FormControl/form-control'; import { css } from '@patternfly/react-styles'; -import { capitalize } from '../../helpers'; -import { Omit } from '../../helpers/typeUtils'; -import { ValidatedOptions } from '../../helpers/constants'; +import { capitalize, ValidatedOptions } from '../../helpers'; export enum TextAreResizeOrientation { horizontal = 'horizontal', diff --git a/packages/react-core/src/components/TextInput/TextInput.tsx b/packages/react-core/src/components/TextInput/TextInput.tsx index 0b597c65cd2..d9f34a25a14 100644 --- a/packages/react-core/src/components/TextInput/TextInput.tsx +++ b/packages/react-core/src/components/TextInput/TextInput.tsx @@ -1,7 +1,6 @@ import * as React from 'react'; import styles from '@patternfly/react-styles/css/components/FormControl/form-control'; import { css } from '@patternfly/react-styles'; -import { Omit, withInnerRef } from '../../helpers'; import { ValidatedOptions } from '../../helpers/constants'; export enum TextInputTypes { @@ -18,7 +17,7 @@ export enum TextInputTypes { url = 'url' } -export interface TextInputProps extends Omit, 'onChange' | 'disabled'> { +export interface TextInputProps extends Omit, 'onChange' | 'disabled' | 'ref'> { /** Additional classes added to the TextInput. */ className?: string; /** Flag to show if the input is disabled. */ @@ -55,7 +54,7 @@ export interface TextInputProps extends Omit, innerRef?: React.Ref; } -class TextInputBase extends React.Component { +export class TextInputBase extends React.Component { static defaultProps: TextInputProps = { 'aria-label': null, className: '', @@ -116,5 +115,6 @@ class TextInputBase extends React.Component { } } -const TextInputFR = withInnerRef(TextInputBase); -export { TextInputFR as TextInput, TextInputBase }; +export const TextInput = React.forwardRef((props: TextInputProps, ref: React.Ref) => ( + +)); diff --git a/packages/react-core/src/components/Title/Title.tsx b/packages/react-core/src/components/Title/Title.tsx index 1fe224bda1a..21347cb16af 100644 --- a/packages/react-core/src/components/Title/Title.tsx +++ b/packages/react-core/src/components/Title/Title.tsx @@ -1,6 +1,5 @@ import * as React from 'react'; import { css } from '@patternfly/react-styles'; -import { Omit } from '../../helpers/typeUtils'; import styles from '@patternfly/react-styles/css/components/Title/title'; export enum TitleSizes { diff --git a/packages/react-core/src/components/Wizard/Wizard.tsx b/packages/react-core/src/components/Wizard/Wizard.tsx index f24fd2ba946..e501777ceb7 100644 --- a/packages/react-core/src/components/Wizard/Wizard.tsx +++ b/packages/react-core/src/components/Wizard/Wizard.tsx @@ -15,8 +15,7 @@ import { WizardContextProvider } from './WizardContext'; import { PickOptional } from '../../helpers/typeUtils'; // Can't use ES6 imports :( // The types for it are also wrong, we should probably ditch this dependency. -// eslint-disable-next-line @typescript-eslint/no-var-requires -const FocusTrap: any = require('focus-trap-react'); +import { FocusTrap } from '../../helpers'; export interface WizardStep { /** Optional identifier */ diff --git a/packages/react-core/src/components/Wizard/__tests__/__snapshots__/Wizard.test.tsx.snap b/packages/react-core/src/components/Wizard/__tests__/__snapshots__/Wizard.test.tsx.snap index 75637de85e3..cae83e68a59 100644 --- a/packages/react-core/src/components/Wizard/__tests__/__snapshots__/Wizard.test.tsx.snap +++ b/packages/react-core/src/components/Wizard/__tests__/__snapshots__/Wizard.test.tsx.snap @@ -5,7 +5,6 @@ exports[`Wizard should match snapshot 1`] = ` Object { "$$typeof": Symbol(react.portal), "children": diff --git a/packages/react-core/src/demos/CardView/examples/CardView.md b/packages/react-core/src/demos/CardView/examples/CardView.md new file mode 100644 index 00000000000..616209998cc --- /dev/null +++ b/packages/react-core/src/demos/CardView/examples/CardView.md @@ -0,0 +1,769 @@ +--- +title: 'Card view' +section: 'demos' +experimentalStage: 'early' +--- + +import React from 'react'; +import { + Avatar, + Brand, + Button, + ButtonVariant, + Card, + CardHead, + CardActions, + CardHeader, + CardBody, + Checkbox, + Dropdown, + DropdownToggle, + DropdownItem, + DropdownSeparator, + DropdownPosition, + DropdownDirection, + Gallery, + GalleryItem, + KebabToggle, + Nav, + NavItem, + NavList, + NavVariants, + Page, + PageHeader, + PageSection, + PageSectionVariants, + PageSidebar, + SkipToContent, + TextContent, + Text, + Toolbar, + ToolbarGroup, + ToolbarItem +} from '@patternfly/react-core'; +import accessibleStyles from '@patternfly/react-styles/css/utilities/Accessibility/accessibility'; +import spacingStyles from '@patternfly/react-styles/css/utilities/Spacing/spacing'; +import { css } from '@patternfly/react-styles'; +import { BellIcon, CogIcon, FilterIcon, TrashIcon } from '@patternfly/react-icons'; +import imgBrand from '@patternfly/react-core/src/demos/PageLayout/examples/imgBrand.svg'; +import imgAvatar from '@patternfly/react-core/src/demos/PageLayout/examples/imgAvatar.svg'; +import pfIcon from './pf-logo-small.svg'; +import activeMQIcon from './activemq-core_200x150.png'; +import avroIcon from './camel-avro_200x150.png'; +import dropBoxIcon from './camel-dropbox_200x150.png'; +import infinispanIcon from './camel-infinispan_200x150.png'; +import saxonIcon from './camel-saxon_200x150.png'; +import sparkIcon from './camel-spark_200x150.png'; +import swaggerIcon from './camel-swagger-java_200x150.png'; +import azureIcon from './FuseConnector_Icons_AzureServices.png'; +import restIcon from './FuseConnector_Icons_REST.png'; + +This is a demo that showcases Patternfly cards. + +## Examples + +```js title=Basic isFullscreen +import React from 'react'; +import { + Avatar, + Brand, + Button, + ButtonVariant, + Card, + CardHead, + CardActions, + CardHeader, + CardBody, + Checkbox, + Dropdown, + DropdownToggle, + DropdownItem, + DropdownSeparator, + DropdownPosition, + DropdownDirection, + DropdownToggleCheckbox, + Gallery, + GalleryItem, + KebabToggle, + Nav, + NavItem, + NavList, + NavVariants, + Page, + PageHeader, + PageSection, + PageSectionVariants, + PageSidebar, + Pagination, + Select, + SelectOption, + SkipToContent, + TextContent, + Text, + Toolbar, + ToolbarGroup, + ToolbarItem +} from '@patternfly/react-core'; +import { + DataToolbar, + DataToolbarContent, + DataToolbarFilter, + DataToolbarToggleGroup, + DataToolbarGroup, + DataToolbarItem +} from '@patternfly/react-core/dist/esm/experimental'; +// make sure you've installed @patternfly/patternfly +import accessibleStyles from '@patternfly/react-styles/css/utilities/Accessibility/accessibility'; +import spacingStyles from '@patternfly/react-styles/css/utilities/Spacing/spacing'; +import { css } from '@patternfly/react-styles'; +import { BellIcon, CogIcon, FilterIcon, TrashIcon } from '@patternfly/react-icons'; +import imgBrand from '@patternfly/react-core/src/demos/PageLayout/examples/imgBrand.svg'; +import imgAvatar from '@patternfly/react-core/src/demos/PageLayout/examples/imgAvatar.svg'; +import pfIcon from './pf-logo-small.svg'; +import activeMQIcon from './activemq-core_200x150.png'; +import avroIcon from './camel-avro_200x150.png'; +import dropBoxIcon from './camel-dropbox_200x150.png'; +import infinispanIcon from './camel-infinispan_200x150.png'; +import saxonIcon from './camel-saxon_200x150.png'; +import sparkIcon from './camel-spark_200x150.png'; +import swaggerIcon from './camel-swagger-java_200x150.png'; +import azureIcon from './FuseConnector_Icons_AzureServices.png'; +import restIcon from './FuseConnector_Icons_REST.png'; + +class CardViewBasic extends React.Component { + constructor(props) { + super(props); + + this.handleCheckboxClick = this.handleCheckboxClick.bind(this); + + this.state = { + filters: { + products: [] + }, + res: [], + selectedItems: [], + areAllSelected: false, + itemsCheckedByDefault: false, + isUpperToolbarDropdownOpen: false, + isUpperToolbarKebabDropdownOpen: false, + isLowerToolbarDropdownOpen: false, + isLowerToolbarKebabDropdownOpen: false, + isCardKebabDropdownOpen: false, + activeItem: 0, + splitButtonDropdownIsOpen: false, + page: 1, + perPage: 10, + totalItemCount: 10 + }; + + this.onPageDropdownToggle = isUpperToolbarDropdownOpen => { + this.setState({ + isUpperToolbarDropdownOpen + }); + }; + + this.onPageDropdownSelect = event => { + this.setState({ + isUpperToolbarDropdownOpen: !this.state.isUpperToolbarDropdownOpen + }); + }; + + this.onPageToolbarDropdownToggle = isPageToolbarDropdownOpen => { + this.setState({ + isPageToolbarDropdownOpen + }); + }; + + this.onPageToolbarKebabDropdownToggle = isUpperToolbarKebabDropdownOpen => { + this.setState({ + isUpperToolbarKebabDropdownOpen + }); + }; + + this.onToolbarDropdownToggle = isLowerToolbarDropdownOpen => { + this.setState(prevState => ({ + isLowerToolbarDropdownOpen + })); + }; + + this.onToolbarDropdownSelect = event => { + this.setState({ + isLowerToolbarDropdownOpen: !this.state.isLowerToolbarDropdownOpen + }); + }; + + this.onToolbarKebabDropdownToggle = isLowerToolbarKebabDropdownOpen => { + this.setState({ + isLowerToolbarKebabDropdownOpen + }); + }; + + this.onToolbarKebabDropdownSelect = event => { + this.setState({ + isLowerToolbarKebabDropdownOpen: !this.state.isLowerToolbarKebabDropdownOpen + }); + }; + + this.onCardKebabDropdownToggle = (key, isCardKebabDropdownOpen) => { + this.setState({ + [key]: isCardKebabDropdownOpen + }); + }; + + this.onCardKebabDropdownSelect = (key, event) => { + this.setState({ + [key]: !this.state[key] + }); + }; + + this.onNavSelect = result => { + this.setState({ + activeItem: result.itemId + }); + }; + + this.deleteItem = item => event => { + const filter = getter => val => getter(val) !== item.id; + this.setState({ + res: this.state.res.filter(filter(({ id }) => id)), + selectedItems: this.state.selectedItems.filter(filter(id => id)) + }); + }; + + this.onSetPage = (_event, pageNumber) => { + this.setState({ + page: pageNumber + }); + }; + + this.onPerPageSelect = (_event, perPage) => { + this.setState({ + perPage + }); + }; + + this.onSplitButtonToggle = isOpen => { + this.setState({ + splitButtonDropdownIsOpen: isOpen + }); + }; + + this.onSplitButtonSelect = event => { + this.setState((prevState, props) => { + return { splitButtonDropdownIsOpen: !prevState.splitButtonDropdownIsOpen }; + }); + }; + + this.onNameSelect = (event, selection) => { + const checked = event.target.checked; + this.setState(prevState => { + const prevSelections = prevState.filters['products']; + return { + filters: { + ...prevState.filters, + ['products']: checked ? [...prevSelections, selection] : prevSelections.filter(value => value !== selection) + } + }; + }); + }; + + this.onDelete = (type = '', id = '') => { + if (type) { + this.setState(prevState => { + prevState.filters[type.toLowerCase()] = prevState.filters[type.toLowerCase()].filter(s => s !== id); + return { + filters: prevState.filters + }; + }); + } else { + this.setState({ + filters: { + products: [] + } + }); + } + }; + } + + selectedItems(e) { + const { value, checked } = e.target; + let { selectedItems } = this.state; + + if (checked) { + selectedItems = [...selectedItems, value]; + } else { + selectedItems = selectedItems.filter(el => el !== value); + if (this.state.areAllSelected) { + this.setState({ + areAllSelected: !this.state.areAllSelected + }); + } + } + this.setState({ selectedItems }); + } + + splitCheckboxSelectAll(e) { + const { checked } = e.target; + const { isChecked, res } = this.state; + let collection = []; + + if (checked) { + for (var i = 0; i <= 9; i++) collection = [...collection, i]; + } + + this.setState( + { + selectedItems: collection, + isChecked: isChecked, + areAllSelected: checked + }, + this.updateSelected + ); + } + + selectPage(e) { + const { checked } = e.target; + const { isChecked, totalItemCount, perPage } = this.state; + let collection = []; + + collection = this.getAllItems(); + + this.setState( + { + selectedItems: collection, + isChecked: checked, + areAllSelected: totalItemCount === perPage ? true : false + }, + this.updateSelected + ); + } + + selectAll(e) { + const { checked } = e.target; + const { isChecked } = this.state; + + let collection = []; + for (var i = 0; i <= 9; i++) collection = [...collection, i]; + + this.setState( + { + selectedItems: collection, + isChecked: true, + areAllSelected: true + }, + this.updateSelected + ); + } + + selectNone(e) { + const { checked } = e.target; + const { isChecked, selectedItems } = this.state; + this.setState( + { + selectedItems: [], + isChecked: false, + areAllSelected: false + }, + this.updateSelected + ); + } + + getAllItems() { + const { res } = this.state; + const collection = []; + for (const items of res) { + collection.push(items.id); + } + + return collection; + } + + handleCheckboxClick(checked, e) { + const { value } = e.target; + const { totalItemCount } = this.state; + + if (checked) { + const collection = this.getAllItems(); + this.setState(prevState => ({ + selectedItems: [...prevState.selectedItems, value * 1], + areAllSelected: totalItemCount === prevState.selectedItems.length + 1 + })); + } else { + this.setState(prevState => ({ + selectedItems: prevState.selectedItems.filter(item => item != value), + areAllSelected: false + })); + } + } + + updateSelected() { + const { res, selectedItems } = this.state; + let rows = res.map(post => { + post.selected = selectedItems.includes(post.id); + return post; + }); + + this.setState({ + res: rows + }); + } + + fetch(page, perPage) { + fetch(`https://my-json-server.typicode.com/jenny-s51/cardviewdata/posts?_page=${page}&_limit=${perPage}`) + .then(resp => resp.json()) + .then(resp => this.setState({ res: resp, perPage, page })) + .then(() => this.updateSelected()) + .catch(err => this.setState({ error: err })); + } + + componentDidMount() { + this.fetch(this.state.page, this.state.perPage); + } + + renderPagination() { + const { page, perPage, totalItemCount } = this.state; + + const defaultPerPageOptions = [ + { + title: '1', + value: 1 + }, + { + title: '5', + value: 5 + }, + { + title: '10', + value: 10 + } + ]; + + return ( + { + this.fetch(value, perPage); + }} + onPerPageSelect={(_evt, value) => { + this.fetch(1, value); + }} + variant="top" + /> + ); + } + + buildSelectDropdown() { + const { splitButtonDropdownIsOpen, selectedItems, areAllSelected } = this.state; + const numSelected = selectedItems.length; + const allSelected = areAllSelected; + const anySelected = numSelected > 0; + const someChecked = anySelected ? null : false; + const isChecked = allSelected ? true : someChecked; + const splitButtonDropdownItems = [ + + Select none (0 items) + , + + Select page ({this.state.perPage} items) + , + + Select all ({this.state.totalItemCount} items) + + ]; + + return ( + + ]} + onToggle={this.onSplitButtonToggle} + > + {numSelected !== 0 && {numSelected} selected} + + } + isOpen={splitButtonDropdownIsOpen} + dropdownItems={splitButtonDropdownItems} + /> + ); + } + + buildFilterDropdown() { + const { isLowerToolbarDropdownOpen, filters } = this.state; + + const filterDropdownItems = [ + , + , + , + , + , + , + , + , + , + + ]; + + return ( + + + + ); + } + + render() { + const { + isUpperToolbarDropdownOpen, + isLowerToolbarDropdownOpen, + isUpperToolbarKebabDropdownOpen, + isLowerToolbarKebabDropdownOpen, + isCardKebabDropdownOpen, + splitButtonDropdownIsOpen, + activeItem, + filters, + res, + checked, + selectedItems, + itemsCheckedByDefault, + areAllSelected, + isChecked + } = this.state; + + const toolbarKebabDropdownItems = [ + Link, + + Action + , + + Disabled Link + , + + Disabled Action + , + , + Separated Link, + + Separated Action + + ]; + + const toolbarItems = ( + + {this.buildSelectDropdown()} + {this.buildFilterDropdown()} + + + + + } + isOpen={isLowerToolbarKebabDropdownOpen} + isPlain + dropdownItems={toolbarKebabDropdownItems} + /> + + + {this.renderPagination()} + + + ); + + const PageNav = ( + + ); + + const userDropdownItems = [ + Link, + Action, + Disabled Link, + + Disabled Action + , + , + Separated Link, + Separated Action + ]; + + const PageToolbar = ( + + + + + + + + + + + + } + isOpen={isUpperToolbarKebabDropdownOpen} + dropdownItems={toolbarKebabDropdownItems} + /> + + + Kyle Baker} + dropdownItems={userDropdownItems} + /> + + + + ); + + const Header = ( + } + toolbar={PageToolbar} + avatar={} + showNavToggle + /> + ); + const Sidebar = ; + const pageId = 'main-content-card-view-default-nav'; + const PageSkipToContent = Skip to Content; + + const filtered = + filters.products.length > 0 + ? res.filter(card => { + return filters.products.length === 0 || filters.products.includes(card.name); + }) + : res; + + const icons = { + pfIcon, + activeMQIcon, + sparkIcon, + avroIcon, + azureIcon, + saxonIcon, + dropBoxIcon, + infinispanIcon, + restIcon, + swaggerIcon + }; + + return ( + + + + + Projects + This is a demo that showcases Patternfly Cards. + + + {toolbarItems} + + + + + {filtered.map((product, key) => ( + + + + {`${product.name} + + this.onCardKebabDropdownSelect(key, e)} + toggle={ + + this.onCardKebabDropdownToggle(key, isCardKebabDropdownOpen) + } + /> + } + isOpen={this.state[key]} + dropdownItems={[ + + + Delete + + ]} + /> + + + + {product.name} + {product.description} + + + ))} + + + + + ); + } +} +``` diff --git a/packages/react-core/src/demos/CardView/examples/FuseConnector_Icons_AzureServices.png b/packages/react-core/src/demos/CardView/examples/FuseConnector_Icons_AzureServices.png new file mode 100644 index 00000000000..2b901285bf3 Binary files /dev/null and b/packages/react-core/src/demos/CardView/examples/FuseConnector_Icons_AzureServices.png differ diff --git a/packages/react-core/src/demos/CardView/examples/FuseConnector_Icons_REST.png b/packages/react-core/src/demos/CardView/examples/FuseConnector_Icons_REST.png new file mode 100644 index 00000000000..c37c95b5f5b Binary files /dev/null and b/packages/react-core/src/demos/CardView/examples/FuseConnector_Icons_REST.png differ diff --git a/packages/react-core/src/demos/CardView/examples/activemq-core_200x150.png b/packages/react-core/src/demos/CardView/examples/activemq-core_200x150.png new file mode 100644 index 00000000000..b022627b75e Binary files /dev/null and b/packages/react-core/src/demos/CardView/examples/activemq-core_200x150.png differ diff --git a/packages/react-core/src/demos/CardView/examples/camel-avro_200x150.png b/packages/react-core/src/demos/CardView/examples/camel-avro_200x150.png new file mode 100644 index 00000000000..4114648d355 Binary files /dev/null and b/packages/react-core/src/demos/CardView/examples/camel-avro_200x150.png differ diff --git a/packages/react-core/src/demos/CardView/examples/camel-dropbox_200x150.png b/packages/react-core/src/demos/CardView/examples/camel-dropbox_200x150.png new file mode 100644 index 00000000000..4c6237510bb Binary files /dev/null and b/packages/react-core/src/demos/CardView/examples/camel-dropbox_200x150.png differ diff --git a/packages/react-core/src/demos/CardView/examples/camel-infinispan_200x150.png b/packages/react-core/src/demos/CardView/examples/camel-infinispan_200x150.png new file mode 100644 index 00000000000..ad48236b44f Binary files /dev/null and b/packages/react-core/src/demos/CardView/examples/camel-infinispan_200x150.png differ diff --git a/packages/react-core/src/demos/CardView/examples/camel-saxon_200x150.png b/packages/react-core/src/demos/CardView/examples/camel-saxon_200x150.png new file mode 100644 index 00000000000..6b3110f7652 Binary files /dev/null and b/packages/react-core/src/demos/CardView/examples/camel-saxon_200x150.png differ diff --git a/packages/react-core/src/demos/CardView/examples/camel-spark_200x150.png b/packages/react-core/src/demos/CardView/examples/camel-spark_200x150.png new file mode 100644 index 00000000000..44ba194573a Binary files /dev/null and b/packages/react-core/src/demos/CardView/examples/camel-spark_200x150.png differ diff --git a/packages/react-core/src/demos/CardView/examples/camel-swagger-java_200x150.png b/packages/react-core/src/demos/CardView/examples/camel-swagger-java_200x150.png new file mode 100644 index 00000000000..2134e75e535 Binary files /dev/null and b/packages/react-core/src/demos/CardView/examples/camel-swagger-java_200x150.png differ diff --git a/packages/react-core/src/demos/CardView/examples/pf-logo-small.svg b/packages/react-core/src/demos/CardView/examples/pf-logo-small.svg new file mode 100644 index 00000000000..44c092431cb --- /dev/null +++ b/packages/react-core/src/demos/CardView/examples/pf-logo-small.svg @@ -0,0 +1,23 @@ + + + + Group 12 + Created with Sketch. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/packages/react-core/src/demos/FilterTableDemo.md b/packages/react-core/src/demos/FilterTableDemo.md index 5b71fcfe888..67f6217922d 100644 --- a/packages/react-core/src/demos/FilterTableDemo.md +++ b/packages/react-core/src/demos/FilterTableDemo.md @@ -8,21 +8,21 @@ section: 'demos' Uses the DataToolbar component to filter results in the table based on user input. import { -Title, -Bullseye, -DataToolbar, -DataToolbarItem, -DataToolbarContent, -DataToolbarFilter, -DataToolbarGroup, -DataToolbarToggleGroup, -EmptyState, -EmptyStateIcon, -EmptyStateBody, -EmptyStateSecondaryActions, -Select, -SelectOption, -SelectVariant + Title, + Bullseye, + DataToolbar, + DataToolbarItem, + DataToolbarContent, + DataToolbarFilter, + DataToolbarGroup, + DataToolbarToggleGroup, + EmptyState, + EmptyStateIcon, + EmptyStateBody, + EmptyStateSecondaryActions, + Select, + SelectOption, + SelectVariant } from '@patternfly/react-core'; import { SearchIcon } from '@patternfly/react-icons'; import { Table, TableHeader, TableBody} from '@patternfly/react-table'; diff --git a/packages/react-core/src/demos/TableColumnManagementDemo.md b/packages/react-core/src/demos/TableColumnManagementDemo.md new file mode 100644 index 00000000000..54ff5bf682b --- /dev/null +++ b/packages/react-core/src/demos/TableColumnManagementDemo.md @@ -0,0 +1,593 @@ +--- +title: Table column management +section: 'demos' +--- + +## Examples + +import { + Button, + Checkbox, + DataList, + DataListCheck, + DataListItem, + DataListItemRow, + DataListCell, + DataListItemCells, + DataToolbar, + DataToolbarContent, + DataToolbarGroup, + DataToolbarItem, + Modal, + OptionsMenu, + OptionsMenuToggle, + Pagination, + PaginationVariant, + Text, + TextContent, + Select, + SelectVariant +} from '@patternfly/react-core'; +import { Table, TableHeader, TableBody } from '@patternfly/react-table'; +import { + CodeIcon, + CodeBranchIcon, + CubeIcon, + FilterIcon, + SortAmountDownIcon +} from '@patternfly/react-icons'; + +```js title=Column-management-action +import React from 'react'; +import { + Button, + Checkbox, + DataList, + DataListCheck, + DataListItem, + DataListItemRow, + DataListCell, + DataListItemCells, + DataToolbar, + DataToolbarContent, + DataToolbarGroup, + DataToolbarItem, + Modal, + OptionsMenu, + OptionsMenuToggle, + Pagination, + PaginationVariant, + Text, + TextContent, + Select, + SelectVariant +} from '@patternfly/react-core'; +import { Table, TableHeader, TableBody } from '@patternfly/react-table'; +import { + CodeIcon, + CodeBranchIcon, + CubeIcon, + FilterIcon, + SortAmountDownIcon +} from '@patternfly/react-icons'; + +class ColumnManagementAction extends React.Component { + constructor(props) { + super(props); + this.actions = [ + { + title: Link + }, + { + title: 'Action' + }, + { + isSeparator: true + }, + { + title: Separated link + } + ]; + this.defaultColumns = [ + 'Repositories', + 'Branches', + 'Pull requests', + 'Workspaces', + 'Last commit', + '' + ]; + this.defaultRows = [ + { + cells: [ + { + title: ( + +
    Node 1
    + siemur/test-space +
    + ), + props: { column: 'Repositories' } + }, + { + title: ( + + 10 + + ), + props: { column: 'Branches' } + }, + { + title: ( + 25 + ), + props: { column: 'Pull requests' } + }, + { + title: ( + 5 + ), + props: { column: 'Workspaces' } + }, + { + title: '2 days ago', + props: { column: 'Last commit' } + }, + { + title: ( + Action link + ), + props: { column: '' } + } + ] + }, + { + cells: [ + { + title: ( + +
    Node 2
    + siemur/test-space +
    + ), + props: { column: 'Repositories' } + }, + { + title: ( + + 8 + + ), + props: { column: 'Branches' } + }, + { + title: ( + 30 + ), + props: { column: 'Pull requests' } + }, + { + title: ( + 2 + ), + props: { column: 'Workspaces' } + }, + { + title: '2 days ago', + props: { column: 'Last commit' } + }, + { + title: ( + Action link + ), + props: { column: '' } + } + ] + }, + { + cells: [ + { + title:( + +
    Node 3
    + siemur/test-space +
    + ), + props: { column: 'Repositories' } + }, + { + title: ( + + 12 + + ), + props: { column: 'Branches' } + }, + { + title: ( + 48 + ), + props: { column: 'Pull requests' } + }, + { + title: ( + 13 + ), + props: { column: 'Workspaces' } + }, + { + title: '30 days ago', + props: { column: 'Last commit' } + }, + { + title: ( + Action link + ), + props: { column: '' } + } + ] + }, + { + cells: [ + { title: ( + +
    Node 4
    + siemur/test-space +
    + ), + props: { column: 'Repositories' } + }, + { + title: ( + + 3 + + ), + props: { column: 'Branches' } + }, + { + title: ( + 8 + ), + props: { column: 'Pull requests' } + }, + { + title: ( + 20 + ), + props: { column: 'Workspaces' } + }, + { + title: '8 days ago', + props: { column: 'Last commit' } + }, + { + title: ( + Action link + ), + props: { column: '' } + } + ] + }, + { + cells: [ + { + title: ( + +
    Node 5
    + siemur/test-space +
    + ), + props: { column: 'Repositories' } + }, + { + title: ( + + 34 + + ), + props: { column: 'Branches' } + }, + { + title: ( + 21 + ), + props: { column: 'Pull requests' } + }, + { + title: ( + 26 + ), + props: { column: 'Workspaces' } + }, + { + title: '2 days ago', + props: { column: 'Last commit' } + }, + { + title: ( + Action link + ), + props: { column: '' } + } + ] + }, + ]; + this.state = { + filters: [], + filteredColumns: [], + filteredRows: [], + columns: this.defaultColumns, + rows: this.defaultRows, + canSelectAll: true, + isModalOpen: false, + check1: true, + check2: true, + check3: true, + check4: true, + check5: true + }; + this.onSelect = this.onSelect.bind(this); + this.toggleSelect = this.toggleSelect.bind(this); + this.renderModal = this.renderModal.bind(this); + this.matchCheckboxNameToColumn = (name) => { + switch (name) { + case 'check1': + return 'Repositories'; + case 'check2': + return 'Branches'; + case 'check3': + return 'Pull requests'; + case 'check4': + return 'Workspaces'; + case 'check5': + return 'Last commit'; + } + }; + this.filterData = (checked, name) => { + const { rows, columns, filters } = this.state; + if (checked) { + const updatedFilters = filters.filter(item => item !== name); + const filteredColumns = this.defaultColumns.filter(column => !updatedFilters.includes(column)); + const filteredRows = this.defaultRows.map(({...row}) => { row.cells = row.cells.filter(cell=>(!updatedFilters.includes(cell.props.column))); return row;}); + this.setState({ + filters: updatedFilters, + filteredColumns: filteredColumns, + filteredRows: filteredRows + }); + } else { + let updatedFilters = filters; + updatedFilters.push(name); + const filteredColumns = columns.filter(column => !filters.includes(column)); + const filteredRows = rows.map(({...row}) => { row.cells = row.cells.filter(cell=>(!filters.includes(cell.props.column))); return row;}); + this.setState({ + filters: updatedFilters, + filteredColumns: filteredColumns, + filteredRows: filteredRows + }); + } + }; + this.unfilterAllData = () => { + this.setState({ + filters: [], + filteredColumns: this.defaultColumns, + filteredRows: this.defaultRows + }); + }; + this.handleChange = (checked, event) => { + const target = event.target; + const value = target.type === 'checkbox' ? target.checked : target.value; + this.filterData(checked, this.matchCheckboxNameToColumn(target.name)); + this.setState({ + [target.name]: value, + }); + }; + this.handleModalToggle = () => { + this.setState(({ isModalOpen }) => ({ + isModalOpen: !isModalOpen + })); + }; + this.onSave = () => { + this.setState(({ filteredColumns, filteredRows, isModalOpen }) => ({ + columns: filteredColumns, + rows: filteredRows, + isModalOpen: !isModalOpen + })); + } + this.selectAllColumns = () => { + this.unfilterAllData(); + this.setState(({ + check1: true, + check2: true, + check3: true, + check4: true, + check5: true, + })); + }; + } + + onSelect(event, isSelected, rowId) { + let rows; + if (rowId === -1) { + rows = this.state.rows.map(oneRow => { + oneRow.selected = isSelected; + return oneRow; + }); + } else { + rows = [...this.state.rows]; + rows[rowId].selected = isSelected; + } + this.setState({ + rows + }); + } + + toggleSelect(checked) { + this.setState({ + canSelectAll: checked + }); + } + + renderModal() { + const { isModalOpen } = this.state; + return + + Selected categories will be displayed in the table. + + + + } + onClose={this.handleModalToggle} + actions={[ + , + + ]} + isFooterLeftAligned + > + + + + + + Repositories + + ]} + /> + + + + + + + Branches + + ]} + /> + + + + + + + Pull requests + + ]} + /> + + + + + + + Workspaces + + ]} + /> + + + + + + + Last commit + + ]} + /> + + + + ; + } + + render() { + const { canSelectAll, columns, rows } = this.state; + + const dataToolbarItems = + + + + + {this.checkboxOptions} + + + + ); + } + renderTypeaheadSelect() { const { typeaheadOptions, @@ -826,6 +882,7 @@ export class SelectDemo extends Component { {this.renderCustomSingleSelect()} {this.renderDisabledSingleSelect()} {this.renderCheckboxSelect()} + {this.renderNoBadgeCheckboxSelect()} {this.renderTypeaheadSelect()} {this.renderTypeaheadMultiSelect()} {this.renderCustomDataTypeaheadMultiSelect()} diff --git a/packages/react-integration/demo-app-ts/src/components/demos/TableDemo/TableEmptyStateDemo.tsx b/packages/react-integration/demo-app-ts/src/components/demos/TableDemo/TableEmptyStateDemo.tsx index 5e1463ec865..eda08c3fe91 100644 --- a/packages/react-integration/demo-app-ts/src/components/demos/TableDemo/TableEmptyStateDemo.tsx +++ b/packages/react-integration/demo-app-ts/src/components/demos/TableDemo/TableEmptyStateDemo.tsx @@ -5,7 +5,6 @@ import { EmptyStateBody, EmptyStateIcon, EmptyStateSecondaryActions, - EmptyStateVariant, Title, Button } from '@patternfly/react-core'; @@ -27,7 +26,7 @@ export class EmptyStateTable extends React.Component + Empty State diff --git a/packages/react-table/package.json b/packages/react-table/package.json index 6e8867fc19f..19cccf9f35f 100644 --- a/packages/react-table/package.json +++ b/packages/react-table/package.json @@ -33,7 +33,6 @@ "@patternfly/react-styles": "^4.0.5", "@patternfly/react-tokens": "^4.0.2", "classnames": "^2.2.5", - "exenv": "^1.2.2", "lodash": "^4.17.15" }, "peerDependencies": { @@ -42,7 +41,7 @@ "react-dom": "^15.6.2 || ^16.4.0" }, "scripts": { - "build": "yarn build:babel && yarn build:types && node ./scripts/copyTS.js && node ./build/copyStyles.js", + "build": "yarn build:babel && yarn build:types && node ./build/copyStyles.js", "build:babel": "concurrently 'yarn build:babel:esm && yarn build:babel:umd' 'yarn build:babel:cjs'", "build:babel:cjs": "babel --source-maps --extensions '.js,.ts,.tsx' src --out-dir dist/js --presets=@babel/env", "build:babel:esm": "babel --source-maps --extensions '.js,.ts,.tsx' src --out-dir dist/esm", diff --git a/packages/react-table/scripts/copyTS.js b/packages/react-table/scripts/copyTS.js deleted file mode 100644 index cb35e3ddca2..00000000000 --- a/packages/react-table/scripts/copyTS.js +++ /dev/null @@ -1,17 +0,0 @@ -/* eslint-disable @typescript-eslint/no-var-requires */ -const path = require('path'); -const glob = require('glob'); -const fse = require('fs-extra'); -/* eslint-enable @typescript-eslint/no-var-requires */ - -const srcDir = path.join('./src'); -const distDir = path.join('./dist/js'); - -const files = glob.sync('**/*.d.ts', { - cwd: srcDir -}); -files.forEach(file => { - const from = path.join(srcDir, file); - const to = path.join(distDir, file); - fse.copySync(from, to); -}); diff --git a/packages/react-table/src/components/Table/Table.tsx b/packages/react-table/src/components/Table/Table.tsx index 0aae7d78695..c06ddce4cbe 100644 --- a/packages/react-table/src/components/Table/Table.tsx +++ b/packages/react-table/src/components/Table/Table.tsx @@ -7,7 +7,6 @@ import { DropdownPosition } from '@patternfly/react-core/dist/js/components/Dropdown/dropdownConstants'; import { DropdownItemProps } from '@patternfly/react-core/dist/js/components/Dropdown/DropdownItem'; -import { Omit } from '@patternfly/react-core/dist/js/helpers/typeUtils'; import inlineStyles from '@patternfly/react-styles/css/components/InlineEdit/inline-edit'; import { css } from '@patternfly/react-styles'; import { Provider } from './base'; diff --git a/packages/react-tokens/package.json b/packages/react-tokens/package.json index 9559276bd36..ae6e26b0712 100644 --- a/packages/react-tokens/package.json +++ b/packages/react-tokens/package.json @@ -25,8 +25,9 @@ }, "homepage": "https://github.com/patternfly/patternfly-react#readme", "scripts": { - "build": "node src/generateTokens.js && yarn build:babel:umd", + "build": "node src/generateTokens.js && node src/variablesByFile.js && yarn build:babel:umd && yarn build:babel:umd:variables", "build:babel:umd": "babel dist/esm --out-dir dist/umd --plugins transform-es2015-modules-umd -q", + "build:babel:umd:variables": "babel dist/variables/esm --out-dir dist/variables/umd --plugins transform-es2015-modules-umd -q", "clean": "rimraf dist" }, "devDependencies": { diff --git a/packages/react-tokens/src/variablesByFile.js b/packages/react-tokens/src/variablesByFile.js new file mode 100644 index 00000000000..532836a146f --- /dev/null +++ b/packages/react-tokens/src/variablesByFile.js @@ -0,0 +1,252 @@ +const glob = require('glob'); +const { dirname, resolve, join, basename } = require('path'); +const { parse } = require('css'); +const { readFileSync, readdirSync } = require('fs'); +const { outputFileSync } = require('fs-extra'); + +const outDir = resolve(__dirname, '../dist/variables'); +const pfStylesDir = dirname(require.resolve('@patternfly/patternfly/patternfly.css')); +const templateDir = resolve(__dirname, './templates'); + +const cssFiles = glob.sync('{**/{components,layouts}/**/*.css,**/patternfly-charts.css,**/patternfly-variables.css}', { + cwd: pfStylesDir, + ignore: ['assets/**'] +}); + +const formatCustomPropertyName = key => key.replace('--pf-', '').replace(/-+/g, '_'); + +const getRegexMatches = (string, regex) => { + const res = {}; + let matches; + while ((matches = regex.exec(string))) { + res[matches[1]] = matches[2].trim(); + } + return res; +}; + +// various lookup tables to resolve variables + +const variables = readFileSync(require.resolve('@patternfly/patternfly/_variables.scss'), 'utf8'); +const cssGlobalsToScssVarsMap = getRegexMatches(variables, /(--pf-.*):\s*(?:#{)?(\$?pf-[\w- _]+)}?;/g); + +// contains default values and mappings to colors.scss for color values +const scssVariables = readFileSync( + require.resolve('@patternfly/patternfly/sass-utilities/scss-variables.scss'), + 'utf8' +); +const scssVarsMap = getRegexMatches(scssVariables, /(\$.*):\s*([^;^!]+)/g); + +// contains default values and mappings to colors.scss for color values +const scssColorVariables = readFileSync(require.resolve('@patternfly/patternfly/sass-utilities/colors.scss'), 'utf8'); +const scssColorsMap = getRegexMatches(scssColorVariables, /(\$.*):\s*([^\s]+)\s*(?:!default);/g); + +// contains default values and mappings to colors.scss for color values +const cssGlobalVariables = readFileSync(require.resolve('@patternfly/patternfly/patternfly-variables.css'), 'utf8'); +const cssGlobalVariablesMap = getRegexMatches(cssGlobalVariables, /(--pf-[\w-]*):\s*([\w -_]+);/g); + +const combinedScssVarsColorsMap = { + ...scssVarsMap, + ...scssColorsMap +}; + +const formatFilePathToName = filePath => { + // const filePathArr = filePath.split('/'); + let prefix = ''; + if (filePath.indexOf('components/') > -1) { + prefix = 'c_'; + } else if (filePath.indexOf('layouts/') > -1) { + prefix = 'l_'; + } + return `${prefix}${basename(filePath, '.css').replace(/-+/g, '_')}`; +}; + +// pre-populate the localVarsMap so we can lookup local variables within or across files, e.g. if we have the declaration: +// --pf-c-chip-group--MarginBottom: calc(var(--pf-c-chip-group--c-chip--MarginBottom) * -1); +// then we need to find: +// --pf-c-chip-group--c-chip--MarginBottom: var(--pf-global--spacer--xs); +const localVarsMap = {}; +cssFiles.forEach(filePath => { + const absFilePath = resolve(pfStylesDir, filePath); + const cssAst = parse(readFileSync(absFilePath, 'utf8')); + + cssAst.stylesheet.rules + .filter(node => node.type === 'rule' && node.selectors.indexOf('.pf-t-dark') === -1) + .forEach(node => { + node.declarations + .filter(decl => decl.type === 'declaration') + .forEach(decl => { + const { property, value, parent } = decl; + if (property.startsWith('--pf')) { + localVarsMap[property] = { + ...localVarsMap[property], + [parent.selectors[0]]: value + }; + } + }); + }); +}); + +const getFromLocalMap = (match, selector) => { + if (localVarsMap[match]) { + // have exact selectors match + if (localVarsMap[match][selector]) { + return localVarsMap[match][selector]; + } else if (Object.keys(localVarsMap[match]).length === 1) { + // only one match, return its value + return Object.values(localVarsMap[match])[0]; + } else { + // find the nearest parent selector and return its value + let bestMatch = ''; + let bestValue = ''; + for (const key in localVarsMap[match]) { + if (localVarsMap[match].hasOwnProperty(key)) { + // remove trailing * from key to compare + let sanitizedKey = key.replace(/\*$/, '').trim(); + sanitizedKey = sanitizedKey.replace(/>$/, '').trim(); + sanitizedKey = sanitizedKey.replace(/\[.*\]$/, '').trim(); + // is key a parent of selector? + if (selector.indexOf(sanitizedKey) > -1) { + if (sanitizedKey.length > bestMatch.length) { + // longest matching key is the winner + bestMatch = key; + bestValue = localVarsMap[match][key]; + } + } + } + } + if (!bestMatch) { + // eslint-disable-next-line no-console + console.error(`no matching selector found for ${match} in localVarsMap`); + } + return bestValue; + } + } else { + // eslint-disable-next-line no-console + console.error(`no matching property found for ${match} in localVarsMap`); + } +}; + +const getComputedCssVarValue = (value, selector) => + value.replace(/var\(([\w|-]*)\)/g, (full, match) => { + if (match.startsWith('--pf-global')) { + if (cssGlobalsToScssVarsMap[match]) { + return cssGlobalsToScssVarsMap[match]; + } else { + return full; + } + } else { + if (selector) { + return getFromLocalMap(match, selector); + } + } + }); + +const getFinalValue = (value, selector) => + value.replace(/var\(([\w|-]*)\)/g, (full, match) => { + if (match.startsWith('--pf-global')) { + if (cssGlobalVariablesMap[match]) { + return cssGlobalVariablesMap[match]; + } else { + return full; + } + } else { + if (selector) { + return getFromLocalMap(match, selector); + } + } + }); + +const getComputedScssVarValue = value => + value.replace(/\$pf[^,)\s*/]*/g, match => { + if (combinedScssVarsColorsMap[match]) { + return combinedScssVarsColorsMap[match]; + } else { + return match; + } + }); + +const getVarsMap = (value, selector) => { + // evaluate the value and follow the variable chain + let varsMap = [value]; + + let computedValue = value; + let finalValue = value; + while ( + finalValue.indexOf('var(--pf') > -1 || + computedValue.indexOf('var(--pf') > -1 || + computedValue.indexOf('$pf-') > -1 + ) { + // keep following the variable chain until we get to a value + if (finalValue.indexOf('var(--pf') > -1) { + finalValue = getFinalValue(finalValue, selector); + } + if (computedValue.indexOf('var(--pf') > -1) { + computedValue = getComputedCssVarValue(computedValue, selector); + } else { + computedValue = getComputedScssVarValue(computedValue); + } + varsMap.push(computedValue); + } + const lastElement = varsMap[varsMap.length - 1]; + if (lastElement.indexOf('pf-') > -1) { + varsMap.push(finalValue); + } + // all values should not be boxed by var() + varsMap = varsMap.map(variable => variable.replace(/var\(([\w|-]*)\)/g, (full, match) => match)); + + return varsMap; +}; + +const tokens = {}; +cssFiles.forEach(filePath => { + const absFilePath = resolve(pfStylesDir, filePath); + const cssAst = parse(readFileSync(absFilePath, 'utf8')); + // key is the formatted file name, e.g. c_about_modal_box + const key = formatFilePathToName(filePath); + + cssAst.stylesheet.rules + .filter(node => node.type === 'rule' && node.selectors.indexOf('.pf-t-dark') === -1) + .forEach(node => { + node.declarations + .filter(decl => decl.type === 'declaration') + .forEach(decl => { + const { property, value, parent } = decl; + if (property.startsWith('--pf')) { + const selector = parent.selectors[0]; + + const varsMap = getVarsMap(value, selector); + const propertyObj = { + property, + value: varsMap[varsMap.length - 1], + token: formatCustomPropertyName(property) + }; + if (varsMap.length > 1) { + propertyObj.values = varsMap; + } + + if (tokens[key]) { + if (tokens[key][selector]) { + tokens[key][selector].push(propertyObj); + } else { + tokens[key][selector] = [propertyObj]; + } + } else { + tokens[key] = { + [selector]: [propertyObj] + }; + } + } + }); + }); +}); + +readdirSync(templateDir).forEach(templateFile => { + const template = require(join(templateDir, templateFile)); + outputFileSync(template.getOutputPath({ outDir }), template.getContent({ tokens })); + Object.entries(tokens).forEach(([tokenName, tokenValue]) => { + outputFileSync( + template.getSingleOutputPath({ outDir, tokenName }), + template.getSingleContent({ tokenName, tokenValue }) + ); + }); +}); diff --git a/packages/react-virtualized-extension/package.json b/packages/react-virtualized-extension/package.json index dbd3875fe9e..f3298c6ac1d 100644 --- a/packages/react-virtualized-extension/package.json +++ b/packages/react-virtualized-extension/package.json @@ -34,7 +34,6 @@ "@types/react-virtualized": "^9.21.5", "clsx": "^1.0.1", "dom-helpers": "^2.4.0 || ^3.0.0", - "exenv": "^1.2.2", "linear-layout-vector": "0.0.1", "react-lifecycles-compat": "^3.0.4", "react-virtualized": "^9.21.1" @@ -46,7 +45,7 @@ "react-dom": "^15.6.2 || ^16.4.0" }, "scripts": { - "build": "yarn build:babel && node ./scripts/copyTS.js && node ./build/copyStyles.js", + "build": "yarn build:babel && node ./build/copyStyles.js", "build:babel": "concurrently \"yarn build:babel:esm && yarn build:babel:umd\" \"yarn build:babel:cjs\"", "build:babel:cjs": "babel --source-maps --extensions \".js,.ts,.tsx\" src --out-dir dist/js --presets=@babel/env", "build:babel:esm": "babel --source-maps --extensions \".js,.ts,.tsx\" src --out-dir dist/esm", diff --git a/packages/react-virtualized-extension/scripts/copyTS.js b/packages/react-virtualized-extension/scripts/copyTS.js deleted file mode 100644 index 569890d173f..00000000000 --- a/packages/react-virtualized-extension/scripts/copyTS.js +++ /dev/null @@ -1,15 +0,0 @@ -const path = require('path'); -const glob = require('glob'); -const fse = require('fs-extra'); - -const srcDir = path.join('./src'); -const distDir = path.join('./dist/js'); - -const files = glob.sync('**/*.d.ts', { - cwd: srcDir -}); -files.forEach(file => { - const from = path.join(srcDir, file); - const to = path.join(distDir, file); - fse.copySync(from, to); -}); diff --git a/scripts/generators/patternfly-4-component/templates/component/component.tsx.hbs b/scripts/generators/patternfly-4-component/templates/component/component.tsx.hbs index da49dfa1a38..9b43c517a72 100644 --- a/scripts/generators/patternfly-4-component/templates/component/component.tsx.hbs +++ b/scripts/generators/patternfly-4-component/templates/component/component.tsx.hbs @@ -1,24 +1,19 @@ -import React, { DetailedHTMLProps } from 'react'; +import * as React from 'react'; import styles from '@patternfly/react-styles/css/{{typeDir}}/{{componentName}}'; import { css } from '@patternfly/react-styles'; -import PropTypes from 'prop-types'; - -const defaultProps = { -children: null, -className: '' -}; interface {{ componentName }}Props { -children?: any; -className?: string; + children?: any; + className?: string; } -const {{componentName}}: React.SFC<{{componentName}}Props> = (props) => ( - <div {...props} className={css(styles.{{ camelCase componentName }}, props.className)}> - {props.children} - </div> +export const {{componentName}}: React.SFC<{{componentName}}Props> = ({ + className, + children +}) => { + return ( + <div {...props} className={css(styles.{{ camelCase componentName }}, props.className)}> + {props.children} + </div> ); - - {{ componentName }}.defaultProps = defaultProps; - - export default {{ componentName }}; \ No newline at end of file +} diff --git a/scripts/verifyPatternflyVersions.js b/scripts/verifyPatternflyVersions.js index 867dcd952bb..02b5ebb3bc9 100644 --- a/scripts/verifyPatternflyVersions.js +++ b/scripts/verifyPatternflyVersions.js @@ -34,18 +34,21 @@ async function verifyPatternflyVersions() { }); let failed = false; - const mismatchedVersions = Object.entries(patternflyDeps) - .filter(([_dep, versions]) => Object.keys(versions).length > 1); - + const mismatchedVersions = Object.entries(patternflyDeps).filter( + ([_dep, versions]) => Object.keys(versions).length > 1 + ); + mismatchedVersions.forEach(([dep, versions]) => { - failed = true; - console.error(`Mismatching versions for ${dep}:`); - Object.entries(versions).forEach(([version, packages]) => console.error(`${version}: ${packages.join(' ')}`)); - }); - + failed = true; + console.error(`Mismatching versions for ${dep}:`); + Object.entries(versions).forEach(([version, packages]) => console.error(`${version}: ${packages.join(' ')}`)); + }); + if (process.argv[2] === '--fix') { mismatchedVersions.forEach(([dep, versions]) => { - const highestVersion = Object.keys(versions).sort().reverse()[0]; + const highestVersion = Object.keys(versions) + .sort() + .reverse()[0]; Object.keys(versions) .filter(version => version !== highestVersion) .map(version => versions[version]) diff --git a/yarn.lock b/yarn.lock index e86f1810477..e09be417791 100644 --- a/yarn.lock +++ b/yarn.lock @@ -24,7 +24,7 @@ dependencies: "@babel/highlight" "^7.0.0" -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.0.0-beta.35", "@babel/code-frame@^7.5.5": +"@babel/code-frame@7.5.5", "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.0.0-beta.35", "@babel/code-frame@^7.5.5": version "7.5.5" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.5.5.tgz#bc0782f6d69f7b7d49531219699b988f669a8f9d" dependencies: @@ -36,11 +36,12 @@ dependencies: "@babel/highlight" "^7.8.3" -"@babel/compat-data@^7.8.4": - version "7.8.5" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.8.5.tgz#d28ce872778c23551cbb9432fc68d28495b613b9" +"@babel/compat-data@^7.8.6", "@babel/compat-data@^7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.9.0.tgz#04815556fc90b0c174abd2c0c1bb966faa036a6c" + integrity sha512-zeFQrr+284Ekvd9e7KAX954LkapWiOmQtsfHirhxqfdlX6MEC32iRE+pqUGlYIBchdevaCwvzxWGSy/YBNI85g== dependencies: - browserslist "^4.8.5" + browserslist "^4.9.1" invariant "^2.2.4" semver "^5.5.0" @@ -159,6 +160,28 @@ semver "^5.4.1" source-map "^0.5.0" +"@babel/core@^7.8.7": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.9.0.tgz#ac977b538b77e132ff706f3b8a4dbad09c03c56e" + integrity sha512-kWc7L0fw1xwvI0zi8OKVBuxRVefwGOrKSQMvrQ3dW+bIIavBY3/NpXmpjMy7bQnLgwgzWQZ8TlM57YHpHNHz4w== + dependencies: + "@babel/code-frame" "^7.8.3" + "@babel/generator" "^7.9.0" + "@babel/helper-module-transforms" "^7.9.0" + "@babel/helpers" "^7.9.0" + "@babel/parser" "^7.9.0" + "@babel/template" "^7.8.6" + "@babel/traverse" "^7.9.0" + "@babel/types" "^7.9.0" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.1" + json5 "^2.1.2" + lodash "^4.17.13" + resolve "^1.3.2" + semver "^5.4.1" + source-map "^0.5.0" + "@babel/generator@^7.1.6", "@babel/generator@^7.2.2", "@babel/generator@^7.4.0", "@babel/generator@^7.6.2", "@babel/generator@^7.6.3", "@babel/generator@^7.6.4": version "7.6.4" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.6.4.tgz#a4f8437287bf9671b07f483b76e3bb731bc97671" @@ -186,6 +209,16 @@ lodash "^4.17.13" source-map "^0.5.0" +"@babel/generator@^7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.9.0.tgz#0f67adea4ec39dad6e63345f70eec33014d78c89" + integrity sha512-onl4Oy46oGCzymOXtKMQpI7VXtCbTSHK1kqBydZ6AmzuNcacEVqGk9tZtAS+48IA9IstZcDCgIg8hQKnb7suRw== + dependencies: + "@babel/types" "^7.9.0" + jsesc "^2.5.1" + lodash "^4.17.13" + source-map "^0.5.0" + "@babel/helper-annotate-as-pure@^7.0.0": version "7.0.0" resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz#323d39dd0b50e10c7c06ca7d7638e6864d8c5c32" @@ -225,6 +258,15 @@ "@babel/helper-explode-assignable-expression" "^7.8.3" "@babel/types" "^7.8.3" +"@babel/helper-builder-react-jsx-experimental@^7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx-experimental/-/helper-builder-react-jsx-experimental-7.9.0.tgz#066d80262ade488f9c1b1823ce5db88a4cedaa43" + integrity sha512-3xJEiyuYU4Q/Ar9BsHisgdxZsRlsShMe90URZ0e6przL26CCs8NJbDoxH94kKT17PcxlMhsCAwZd90evCo26VQ== + dependencies: + "@babel/helper-annotate-as-pure" "^7.8.3" + "@babel/helper-module-imports" "^7.8.3" + "@babel/types" "^7.9.0" + "@babel/helper-builder-react-jsx@^7.3.0": version "7.3.0" resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.3.0.tgz#a1ac95a5d2b3e88ae5e54846bf462eeb81b318a4" @@ -239,6 +281,14 @@ "@babel/types" "^7.7.4" esutils "^2.0.0" +"@babel/helper-builder-react-jsx@^7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.9.0.tgz#16bf391990b57732700a3278d4d9a81231ea8d32" + integrity sha512-weiIo4gaoGgnhff54GQ3P5wsUQmnSwpkvU0r6ZHq6TzoSzKy4JxHEgnxNytaKbov2a9z/CVNyzliuCOUPEX3Jw== + dependencies: + "@babel/helper-annotate-as-pure" "^7.8.3" + "@babel/types" "^7.9.0" + "@babel/helper-call-delegate@^7.4.4": version "7.4.4" resolved "https://registry.yarnpkg.com/@babel/helper-call-delegate/-/helper-call-delegate-7.4.4.tgz#87c1f8ca19ad552a736a7a27b1c1fcf8b1ff1f43" @@ -255,20 +305,22 @@ "@babel/traverse" "^7.7.4" "@babel/types" "^7.7.4" -"@babel/helper-call-delegate@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/helper-call-delegate/-/helper-call-delegate-7.8.3.tgz#de82619898aa605d409c42be6ffb8d7204579692" +"@babel/helper-call-delegate@^7.8.7": + version "7.8.7" + resolved "https://registry.yarnpkg.com/@babel/helper-call-delegate/-/helper-call-delegate-7.8.7.tgz#28a279c2e6c622a6233da548127f980751324cab" + integrity sha512-doAA5LAKhsFCR0LAFIf+r2RSMmC+m8f/oQ+URnUET/rWeEzC0yTRmAGyWkD4sSu3xwbS7MYQ2u+xlt1V5R56KQ== dependencies: "@babel/helper-hoist-variables" "^7.8.3" "@babel/traverse" "^7.8.3" - "@babel/types" "^7.8.3" + "@babel/types" "^7.8.7" -"@babel/helper-compilation-targets@^7.8.4": - version "7.8.4" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.8.4.tgz#03d7ecd454b7ebe19a254f76617e61770aed2c88" +"@babel/helper-compilation-targets@^7.8.7": + version "7.8.7" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.8.7.tgz#dac1eea159c0e4bd46e309b5a1b04a66b53c1dde" + integrity sha512-4mWm8DCK2LugIS+p1yArqvG1Pf162upsIsjE7cNBjez+NjliQpVhj20obE520nao0o14DaTnFJv+Fw5a0JpoUw== dependencies: - "@babel/compat-data" "^7.8.4" - browserslist "^4.8.5" + "@babel/compat-data" "^7.8.6" + browserslist "^4.9.1" invariant "^2.2.4" levenary "^1.1.1" semver "^5.5.0" @@ -284,16 +336,17 @@ "@babel/helper-replace-supers" "^7.5.5" "@babel/helper-split-export-declaration" "^7.4.4" -"@babel/helper-create-class-features-plugin@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.7.4.tgz#fce60939fd50618610942320a8d951b3b639da2d" +"@babel/helper-create-class-features-plugin@^7.8.3": + version "7.8.6" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.8.6.tgz#243a5b46e2f8f0f674dc1387631eb6b28b851de0" + integrity sha512-klTBDdsr+VFFqaDHm5rR69OpEQtO2Qv8ECxHS1mNhJJvaHArR6a1xTf5K/eZW7eZpJbhCx3NW1Yt/sKsLXLblg== dependencies: - "@babel/helper-function-name" "^7.7.4" - "@babel/helper-member-expression-to-functions" "^7.7.4" - "@babel/helper-optimise-call-expression" "^7.7.4" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-replace-supers" "^7.7.4" - "@babel/helper-split-export-declaration" "^7.7.4" + "@babel/helper-function-name" "^7.8.3" + "@babel/helper-member-expression-to-functions" "^7.8.3" + "@babel/helper-optimise-call-expression" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-replace-supers" "^7.8.6" + "@babel/helper-split-export-declaration" "^7.8.3" "@babel/helper-create-regexp-features-plugin@^7.7.4": version "7.7.4" @@ -309,6 +362,15 @@ "@babel/helper-regex" "^7.8.3" regexpu-core "^4.6.0" +"@babel/helper-create-regexp-features-plugin@^7.8.8": + version "7.8.8" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.8.8.tgz#5d84180b588f560b7864efaeea89243e58312087" + integrity sha512-LYVPdwkrQEiX9+1R29Ld/wTrmQu1SSKYnuOk3g0CkcZMA1p0gsNxJFj/3gBdaJ7Cg0Fnek5z0DsMULePP7Lrqg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.8.3" + "@babel/helper-regex" "^7.8.3" + regexpu-core "^4.7.0" + "@babel/helper-define-map@^7.1.0", "@babel/helper-define-map@^7.5.5": version "7.5.5" resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.5.5.tgz#3dec32c2046f37e09b28c93eb0b103fd2a25d369" @@ -472,15 +534,17 @@ "@babel/types" "^7.7.4" lodash "^4.17.13" -"@babel/helper-module-transforms@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.8.3.tgz#d305e35d02bee720fbc2c3c3623aa0c316c01590" +"@babel/helper-module-transforms@^7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.9.0.tgz#43b34dfe15961918707d247327431388e9fe96e5" + integrity sha512-0FvKyu0gpPfIQ8EkxlrAydOWROdHpBmiCiRwLkUiBGhCUPRRbVD2/tm3sFr/c/GWFrQ/ffutGUAnx7V0FzT2wA== dependencies: "@babel/helper-module-imports" "^7.8.3" + "@babel/helper-replace-supers" "^7.8.6" "@babel/helper-simple-access" "^7.8.3" "@babel/helper-split-export-declaration" "^7.8.3" - "@babel/template" "^7.8.3" - "@babel/types" "^7.8.3" + "@babel/template" "^7.8.6" + "@babel/types" "^7.9.0" lodash "^4.17.13" "@babel/helper-optimise-call-expression@^7.0.0": @@ -578,6 +642,16 @@ "@babel/traverse" "^7.8.3" "@babel/types" "^7.8.3" +"@babel/helper-replace-supers@^7.8.6": + version "7.8.6" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.8.6.tgz#5ada744fd5ad73203bf1d67459a27dcba67effc8" + integrity sha512-PeMArdA4Sv/Wf4zXwBKPqVj7n9UF/xg6slNRtZW84FM7JpE1CbG8B612FyM4cxrf4fMAMGO0kR7voy1ForHHFA== + dependencies: + "@babel/helper-member-expression-to-functions" "^7.8.3" + "@babel/helper-optimise-call-expression" "^7.8.3" + "@babel/traverse" "^7.8.6" + "@babel/types" "^7.8.6" + "@babel/helper-simple-access@^7.1.0": version "7.1.0" resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz#65eeb954c8c245beaa4e859da6188f39d71e585c" @@ -617,6 +691,11 @@ dependencies: "@babel/types" "^7.8.3" +"@babel/helper-validator-identifier@^7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.0.tgz#ad53562a7fc29b3b9a91bbf7d10397fd146346ed" + integrity sha512-6G8bQKjOh+of4PV/ThDm/rRqlU7+IGoJuofpagU5GlEl29Vv0RGqqt86ZGRV8ZuSOY3o+8yXl5y782SMcG7SHw== + "@babel/helper-wrap-function@^7.1.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz#c4e0012445769e2815b55296ead43a958549f6fa" @@ -668,6 +747,15 @@ "@babel/traverse" "^7.8.4" "@babel/types" "^7.8.3" +"@babel/helpers@^7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.9.0.tgz#ab2c1bc4821af766cab51d4868a5038874ea5a12" + integrity sha512-/9GvfYTCG1NWCNwDj9e+XlnSCmWW/r9T794Xi58vPF9WCcnZCAZ0kWLSn54oqP40SUvh1T2G6VwKmFO5AOlW3A== + dependencies: + "@babel/template" "^7.8.3" + "@babel/traverse" "^7.9.0" + "@babel/types" "^7.9.0" + "@babel/highlight@^7.0.0": version "7.5.0" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.5.0.tgz#56d11312bd9248fa619591d02472be6e8cb32540" @@ -688,6 +776,11 @@ version "7.6.4" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.6.4.tgz#cb9b36a7482110282d5cb6dd424ec9262b473d81" +"@babel/parser@^7.7.0", "@babel/parser@^7.8.6", "@babel/parser@^7.8.8", "@babel/parser@^7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.9.0.tgz#f821b32313f07ee570976d3f6238e8d2d66e0a8e" + integrity sha512-Iwyp00CZsypoNJcpXCbq3G4tcDgphtlMwMVrMhhZ//XBkqjXF7LW6V511yk0+pBX3ZwwGnPea+pTKNJiqA7pUg== + "@babel/parser@^7.7.4", "@babel/parser@^7.7.5": version "7.7.5" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.7.5.tgz#cbf45321619ac12d83363fcf9c94bb67fa646d71" @@ -734,12 +827,13 @@ "@babel/helper-create-class-features-plugin" "^7.5.5" "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-proposal-class-properties@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.7.4.tgz#2f964f0cb18b948450362742e33e15211e77c2ba" +"@babel/plugin-proposal-class-properties@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.8.3.tgz#5e06654af5cd04b608915aada9b2a6788004464e" + integrity sha512-EqFhbo7IosdgPgZggHaNObkmO1kNUe3slaKu54d5OWvy+p9QIKOzK1GAEpAIsZtWVtPXUHSMcT4smvDrCfY4AA== dependencies: - "@babel/helper-create-class-features-plugin" "^7.7.4" - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-create-class-features-plugin" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-proposal-decorators@7.3.0": version "7.3.0" @@ -798,13 +892,21 @@ "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-syntax-json-strings" "^7.8.0" -"@babel/plugin-proposal-nullish-coalescing-operator@^7.7.4", "@babel/plugin-proposal-nullish-coalescing-operator@^7.8.3": +"@babel/plugin-proposal-nullish-coalescing-operator@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.8.3.tgz#e4572253fdeed65cddeecfdab3f928afeb2fd5d2" dependencies: "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" +"@babel/plugin-proposal-numeric-separator@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.8.3.tgz#5d6769409699ec9b3b68684cd8116cedff93bad8" + integrity sha512-jWioO1s6R/R+wEHizfaScNsAx+xKgwTLNXSh7tTC4Usj3ItsPEhYkEpU4h+lpnBwq7NBVOJXfO6cRFYcX69JUQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-numeric-separator" "^7.8.3" + "@babel/plugin-proposal-object-rest-spread@7.3.2": version "7.3.2" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.3.2.tgz#6d1859882d4d778578e41f82cc5d7bf3d5daf6c1" @@ -826,9 +928,10 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-object-rest-spread" "^7.7.4" -"@babel/plugin-proposal-object-rest-spread@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.8.3.tgz#eb5ae366118ddca67bed583b53d7554cad9951bb" +"@babel/plugin-proposal-object-rest-spread@^7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.9.0.tgz#a28993699fc13df165995362693962ba6b061d6f" + integrity sha512-UgqBv6bjq4fDb8uku9f+wcm1J7YxJ5nT7WO/jBr0cl0PLKb7t1O6RNR1kZbjgx2LQtsDI9hwoQVmn0yhXeQyow== dependencies: "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-syntax-object-rest-spread" "^7.8.0" @@ -854,13 +957,21 @@ "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" -"@babel/plugin-proposal-optional-chaining@^7.7.5", "@babel/plugin-proposal-optional-chaining@^7.8.3": +"@babel/plugin-proposal-optional-chaining@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.8.3.tgz#ae10b3214cb25f7adb1f3bc87ba42ca10b7e2543" dependencies: "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-syntax-optional-chaining" "^7.8.0" +"@babel/plugin-proposal-optional-chaining@^7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.9.0.tgz#31db16b154c39d6b8a645292472b98394c292a58" + integrity sha512-NDn5tu3tcv4W30jNhmc2hyD5c56G6cXx4TesJubhxrJeCvuuMpttxr0OnNCqbZGhFjLrg+NIhxxC+BK5F6yS3w== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-optional-chaining" "^7.8.0" + "@babel/plugin-proposal-unicode-property-regex@^7.2.0", "@babel/plugin-proposal-unicode-property-regex@^7.6.2": version "7.6.2" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.6.2.tgz#05413762894f41bfe42b9a5e80919bd575dcc802" @@ -869,6 +980,14 @@ "@babel/helper-regex" "^7.4.4" regexpu-core "^4.6.0" +"@babel/plugin-proposal-unicode-property-regex@^7.4.4": + version "7.8.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.8.8.tgz#ee3a95e90cdc04fe8cd92ec3279fa017d68a0d1d" + integrity sha512-EVhjVsMpbhLw9ZfHWSx2iy13Q8Z/eg8e8ccVWt23sWQK5l1UdkoLJPN5w69UA4uITGBnEZD2JOe4QOHycYKv8A== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.8.8" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-proposal-unicode-property-regex@^7.7.4": version "7.7.4" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.7.4.tgz#7c239ccaf09470dbe1d453d50057460e84517ebb" @@ -925,7 +1044,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-syntax-dynamic-import@^7.8.0": +"@babel/plugin-syntax-dynamic-import@^7.8.0", "@babel/plugin-syntax-dynamic-import@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" dependencies: @@ -973,12 +1092,26 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" +"@babel/plugin-syntax-jsx@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.8.3.tgz#521b06c83c40480f1e58b4fd33b92eceb1d6ea94" + integrity sha512-WxdW9xyLgBdefoo0Ynn3MRSkhe5tFVxxKNVdnZSh318WrG2e2jH+E9wd/++JsqcLJZPfz87njQJ8j2Upjm0M0A== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-nullish-coalescing-operator@^7.8.0": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" dependencies: "@babel/helper-plugin-utils" "^7.8.0" +"@babel/plugin-syntax-numeric-separator@^7.8.0", "@babel/plugin-syntax-numeric-separator@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.8.3.tgz#0e3fb63e09bea1b11e96467271c8308007e7c41f" + integrity sha512-H7dCMAdN83PcCmqmkHB5dtp+Xa9a6LKSvA2hiFBC/5alSHxM5VgWZXFqDi0YFe8XNGT6iCa+z4V4zSt/PdZ7Dw== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-object-rest-spread@7.2.0", "@babel/plugin-syntax-object-rest-spread@^7.0.0", "@babel/plugin-syntax-object-rest-spread@^7.2.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz#3b7a3e733510c57e820b9142a6579ac8b0dfad2e" @@ -1159,16 +1292,17 @@ "@babel/helper-split-export-declaration" "^7.7.4" globals "^11.1.0" -"@babel/plugin-transform-classes@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.8.3.tgz#46fd7a9d2bb9ea89ce88720477979fe0d71b21b8" +"@babel/plugin-transform-classes@^7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.9.0.tgz#ab89c175ecf5b4c8911194aa8657966615324ce9" + integrity sha512-xt/0CuBRBsBkqfk95ILxf0ge3gnXjEhOHrNxIiS8fdzSWgecuf9Vq2ogLUfaozJgt3LDO49ThMVWiyezGkei7A== dependencies: "@babel/helper-annotate-as-pure" "^7.8.3" "@babel/helper-define-map" "^7.8.3" "@babel/helper-function-name" "^7.8.3" "@babel/helper-optimise-call-expression" "^7.8.3" "@babel/helper-plugin-utils" "^7.8.3" - "@babel/helper-replace-supers" "^7.8.3" + "@babel/helper-replace-supers" "^7.8.6" "@babel/helper-split-export-declaration" "^7.8.3" globals "^11.1.0" @@ -1222,6 +1356,13 @@ "@babel/helper-regex" "^7.4.4" regexpu-core "^4.6.0" +"@babel/plugin-transform-dotall-regex@^7.4.4", "@babel/plugin-transform-dotall-regex@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.8.3.tgz#c3c6ec5ee6125c6993c5cbca20dc8621a9ea7a6e" + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-transform-dotall-regex@^7.7.4": version "7.7.4" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.7.4.tgz#f7ccda61118c5b7a2599a72d5e3210884a021e96" @@ -1229,13 +1370,6 @@ "@babel/helper-create-regexp-features-plugin" "^7.7.4" "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-dotall-regex@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.8.3.tgz#c3c6ec5ee6125c6993c5cbca20dc8621a9ea7a6e" - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.8.3" - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/plugin-transform-duplicate-keys@^7.2.0", "@babel/plugin-transform-duplicate-keys@^7.5.0": version "7.5.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.5.0.tgz#c5dbf5106bf84cdf691222c0974c12b1df931853" @@ -1301,9 +1435,10 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-for-of@^7.8.4": - version "7.8.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.8.4.tgz#6fe8eae5d6875086ee185dd0b098a8513783b47d" +"@babel/plugin-transform-for-of@^7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.9.0.tgz#0f260e27d3e29cd1bb3128da5e76c761aa6c108e" + integrity sha512-lTAnWOpMwOXpyDx06N+ywmF3jNbafZEqZ96CGYabxHrxNX8l5ny7dt4bK/rGwAh9utyP2b2Hv7PlZh1AAS54FQ== dependencies: "@babel/helper-plugin-utils" "^7.8.3" @@ -1380,11 +1515,12 @@ "@babel/helper-plugin-utils" "^7.0.0" babel-plugin-dynamic-import-node "^2.3.0" -"@babel/plugin-transform-modules-amd@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.8.3.tgz#65606d44616b50225e76f5578f33c568a0b876a5" +"@babel/plugin-transform-modules-amd@^7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.9.0.tgz#19755ee721912cf5bb04c07d50280af3484efef4" + integrity sha512-vZgDDF003B14O8zJy0XXLnPH4sg+9X5hFBBGN1V+B2rgrB+J2xIypSN6Rk9imB2hSTHQi5OHLrFWsZab1GMk+Q== dependencies: - "@babel/helper-module-transforms" "^7.8.3" + "@babel/helper-module-transforms" "^7.9.0" "@babel/helper-plugin-utils" "^7.8.3" babel-plugin-dynamic-import-node "^2.3.0" @@ -1406,11 +1542,12 @@ "@babel/helper-simple-access" "^7.7.4" babel-plugin-dynamic-import-node "^2.3.0" -"@babel/plugin-transform-modules-commonjs@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.8.3.tgz#df251706ec331bd058a34bdd72613915f82928a5" +"@babel/plugin-transform-modules-commonjs@^7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.9.0.tgz#e3e72f4cbc9b4a260e30be0ea59bdf5a39748940" + integrity sha512-qzlCrLnKqio4SlgJ6FMMLBe4bySNis8DFn1VkGmOcxG9gqEyPIOzeQrA//u0HAKrWpJlpZbZMPB1n/OPa4+n8g== dependencies: - "@babel/helper-module-transforms" "^7.8.3" + "@babel/helper-module-transforms" "^7.9.0" "@babel/helper-plugin-utils" "^7.8.3" "@babel/helper-simple-access" "^7.8.3" babel-plugin-dynamic-import-node "^2.3.0" @@ -1431,12 +1568,13 @@ "@babel/helper-plugin-utils" "^7.0.0" babel-plugin-dynamic-import-node "^2.3.0" -"@babel/plugin-transform-modules-systemjs@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.8.3.tgz#d8bbf222c1dbe3661f440f2f00c16e9bb7d0d420" +"@babel/plugin-transform-modules-systemjs@^7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.9.0.tgz#e9fd46a296fc91e009b64e07ddaa86d6f0edeb90" + integrity sha512-FsiAv/nao/ud2ZWy4wFacoLOm5uxl0ExSQ7ErvP7jpoihLR6Cq90ilOFyX9UXct3rbtKsAiZ9kFt5XGfPe/5SQ== dependencies: "@babel/helper-hoist-variables" "^7.8.3" - "@babel/helper-module-transforms" "^7.8.3" + "@babel/helper-module-transforms" "^7.9.0" "@babel/helper-plugin-utils" "^7.8.3" babel-plugin-dynamic-import-node "^2.3.0" @@ -1454,11 +1592,12 @@ "@babel/helper-module-transforms" "^7.7.4" "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-modules-umd@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.8.3.tgz#592d578ce06c52f5b98b02f913d653ffe972661a" +"@babel/plugin-transform-modules-umd@^7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.9.0.tgz#e909acae276fec280f9b821a5f38e1f08b480697" + integrity sha512-uTWkXkIVtg/JGRSIABdBoMsoIeoHQHPTL0Y2E7xf5Oj7sLqwVsNXOkNk0VJc7vF0IMBsPeikHxFjGe+qmwPtTQ== dependencies: - "@babel/helper-module-transforms" "^7.8.3" + "@babel/helper-module-transforms" "^7.9.0" "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-transform-named-capturing-groups-regex@^7.3.0", "@babel/plugin-transform-named-capturing-groups-regex@^7.6.3": @@ -1534,11 +1673,12 @@ "@babel/helper-get-function-arity" "^7.7.4" "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-parameters@^7.8.4": - version "7.8.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.8.4.tgz#1d5155de0b65db0ccf9971165745d3bb990d77d3" +"@babel/plugin-transform-parameters@^7.8.7": + version "7.8.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.8.8.tgz#0381de466c85d5404565243660c4496459525daf" + integrity sha512-hC4Ld/Ulpf1psQciWWwdnUspQoQco2bMzSrwU6TmzRlvoYQe4rQFy9vnCZDTlVeCQj0JPfL+1RX0V8hCJvkgBA== dependencies: - "@babel/helper-call-delegate" "^7.8.3" + "@babel/helper-call-delegate" "^7.8.7" "@babel/helper-get-function-arity" "^7.8.3" "@babel/helper-plugin-utils" "^7.8.3" @@ -1586,6 +1726,22 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" +"@babel/plugin-transform-react-display-name@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.8.3.tgz#70ded987c91609f78353dd76d2fb2a0bb991e8e5" + integrity sha512-3Jy/PCw8Fe6uBKtEgz3M82ljt+lTg+xJaM4og+eyu83qLT87ZUSckn0wy7r31jflURWLO83TW6Ylf7lyXj3m5A== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-transform-react-jsx-development@^7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.9.0.tgz#3c2a130727caf00c2a293f0aed24520825dbf754" + integrity sha512-tK8hWKrQncVvrhvtOiPpKrQjfNX3DtkNLSX4ObuGcpS9p0QrGetKmlySIGR07y48Zft8WVgPakqd/bk46JrMSw== + dependencies: + "@babel/helper-builder-react-jsx-experimental" "^7.9.0" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-jsx" "^7.8.3" + "@babel/plugin-transform-react-jsx-self@^7.0.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.2.0.tgz#461e21ad9478f1031dd5e276108d027f1b5240ba" @@ -1600,6 +1756,14 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-jsx" "^7.7.4" +"@babel/plugin-transform-react-jsx-self@^7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.9.0.tgz#f4f26a325820205239bb915bad8e06fcadabb49b" + integrity sha512-K2ObbWPKT7KUTAoyjCsFilOkEgMvFG+y0FqOl6Lezd0/13kMkkjHskVsZvblRPj1PHA44PrToaZANrryppzTvQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-jsx" "^7.8.3" + "@babel/plugin-transform-react-jsx-source@^7.0.0": version "7.5.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.5.0.tgz#583b10c49cf057e237085bcbd8cc960bd83bd96b" @@ -1614,6 +1778,14 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-jsx" "^7.7.4" +"@babel/plugin-transform-react-jsx-source@^7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.9.0.tgz#89ef93025240dd5d17d3122294a093e5e0183de0" + integrity sha512-K6m3LlSnTSfRkM6FcRk8saNEeaeyG5k7AVkBU2bZK3+1zdkSED3qNdsWrUgQBeTVD2Tp3VMmerxVO2yM5iITmw== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-jsx" "^7.8.3" + "@babel/plugin-transform-react-jsx@^7.0.0": version "7.3.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.3.0.tgz#f2cab99026631c767e2745a5368b331cfe8f5290" @@ -1630,6 +1802,16 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-jsx" "^7.7.4" +"@babel/plugin-transform-react-jsx@^7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.9.0.tgz#d9f0e10a0a154f86fb2f3b04ef856d709284cb25" + integrity sha512-eOjxtrHDt0R3WRTyya6yxV7LkC+wRgTkiT8UGHUh7TPYVqIltDmY2djm60283OzD1R0YJB8tJij3tLNlKFgnYQ== + dependencies: + "@babel/helper-builder-react-jsx" "^7.9.0" + "@babel/helper-builder-react-jsx-experimental" "^7.9.0" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-jsx" "^7.8.3" + "@babel/plugin-transform-regenerator@^7.0.0", "@babel/plugin-transform-regenerator@^7.4.5": version "7.4.5" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.4.5.tgz#629dc82512c55cee01341fb27bdfcb210354680f" @@ -1642,11 +1824,12 @@ dependencies: regenerator-transform "^0.14.0" -"@babel/plugin-transform-regenerator@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.8.3.tgz#b31031e8059c07495bf23614c97f3d9698bc6ec8" +"@babel/plugin-transform-regenerator@^7.8.7": + version "7.8.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.8.7.tgz#5e46a0dca2bee1ad8285eb0527e6abc9c37672f8" + integrity sha512-TIg+gAl4Z0a3WmD3mbYSk+J9ZUH6n/Yc57rtKRnlA/7rcCvpekHXe0CMZHP1gYp7/KLe9GHTuIba0vXmls6drA== dependencies: - regenerator-transform "^0.14.0" + regenerator-transform "^0.14.2" "@babel/plugin-transform-reserved-words@^7.2.0": version "7.2.0" @@ -1675,9 +1858,10 @@ resolve "^1.8.1" semver "^5.5.1" -"@babel/plugin-transform-runtime@^7.7.6": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.8.3.tgz#c0153bc0a5375ebc1f1591cb7eea223adea9f169" +"@babel/plugin-transform-runtime@^7.8.3": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.9.0.tgz#45468c0ae74cc13204e1d3b1f4ce6ee83258af0b" + integrity sha512-pUu9VSf3kI1OqbWINQ7MaugnitRss1z533436waNXp+0N3ur3zfut37sXiQMxkuCF4VUjwZucen/quskCh7NHw== dependencies: "@babel/helper-module-imports" "^7.8.3" "@babel/helper-plugin-utils" "^7.8.3" @@ -1810,12 +1994,13 @@ "@babel/helper-create-regexp-features-plugin" "^7.8.3" "@babel/helper-plugin-utils" "^7.8.3" -"@babel/polyfill@^7.7.0": - version "7.7.0" - resolved "https://registry.yarnpkg.com/@babel/polyfill/-/polyfill-7.7.0.tgz#e1066e251e17606ec7908b05617f9b7f8180d8f3" +"@babel/polyfill@^7.8.7": + version "7.8.7" + resolved "https://registry.yarnpkg.com/@babel/polyfill/-/polyfill-7.8.7.tgz#151ec24c7135481336168c3bd8b8bf0cf91c032f" + integrity sha512-LeSfP9bNZH2UOZgcGcZ0PIHUt1ZuHub1L3CVmEyqLxCeDLm4C5Gi8jRH8ZX2PNpDhQCo0z6y/+DIs2JlliXW8w== dependencies: core-js "^2.6.5" - regenerator-runtime "^0.13.2" + regenerator-runtime "^0.13.4" "@babel/preset-env@7.3.1": version "7.3.1" @@ -1976,26 +2161,29 @@ js-levenshtein "^1.1.3" semver "^5.5.0" -"@babel/preset-env@^7.7.6": - version "7.8.4" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.8.4.tgz#9dac6df5f423015d3d49b6e9e5fa3413e4a72c4e" +"@babel/preset-env@^7.8.7": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.9.0.tgz#a5fc42480e950ae8f5d9f8f2bbc03f52722df3a8" + integrity sha512-712DeRXT6dyKAM/FMbQTV/FvRCms2hPCx+3weRjZ8iQVQWZejWWk1wwG6ViWMyqb/ouBbGOl5b6aCk0+j1NmsQ== dependencies: - "@babel/compat-data" "^7.8.4" - "@babel/helper-compilation-targets" "^7.8.4" + "@babel/compat-data" "^7.9.0" + "@babel/helper-compilation-targets" "^7.8.7" "@babel/helper-module-imports" "^7.8.3" "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-proposal-async-generator-functions" "^7.8.3" "@babel/plugin-proposal-dynamic-import" "^7.8.3" "@babel/plugin-proposal-json-strings" "^7.8.3" "@babel/plugin-proposal-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-proposal-object-rest-spread" "^7.8.3" + "@babel/plugin-proposal-numeric-separator" "^7.8.3" + "@babel/plugin-proposal-object-rest-spread" "^7.9.0" "@babel/plugin-proposal-optional-catch-binding" "^7.8.3" - "@babel/plugin-proposal-optional-chaining" "^7.8.3" + "@babel/plugin-proposal-optional-chaining" "^7.9.0" "@babel/plugin-proposal-unicode-property-regex" "^7.8.3" "@babel/plugin-syntax-async-generators" "^7.8.0" "@babel/plugin-syntax-dynamic-import" "^7.8.0" "@babel/plugin-syntax-json-strings" "^7.8.0" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" + "@babel/plugin-syntax-numeric-separator" "^7.8.0" "@babel/plugin-syntax-object-rest-spread" "^7.8.0" "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" "@babel/plugin-syntax-optional-chaining" "^7.8.0" @@ -2004,26 +2192,26 @@ "@babel/plugin-transform-async-to-generator" "^7.8.3" "@babel/plugin-transform-block-scoped-functions" "^7.8.3" "@babel/plugin-transform-block-scoping" "^7.8.3" - "@babel/plugin-transform-classes" "^7.8.3" + "@babel/plugin-transform-classes" "^7.9.0" "@babel/plugin-transform-computed-properties" "^7.8.3" "@babel/plugin-transform-destructuring" "^7.8.3" "@babel/plugin-transform-dotall-regex" "^7.8.3" "@babel/plugin-transform-duplicate-keys" "^7.8.3" "@babel/plugin-transform-exponentiation-operator" "^7.8.3" - "@babel/plugin-transform-for-of" "^7.8.4" + "@babel/plugin-transform-for-of" "^7.9.0" "@babel/plugin-transform-function-name" "^7.8.3" "@babel/plugin-transform-literals" "^7.8.3" "@babel/plugin-transform-member-expression-literals" "^7.8.3" - "@babel/plugin-transform-modules-amd" "^7.8.3" - "@babel/plugin-transform-modules-commonjs" "^7.8.3" - "@babel/plugin-transform-modules-systemjs" "^7.8.3" - "@babel/plugin-transform-modules-umd" "^7.8.3" + "@babel/plugin-transform-modules-amd" "^7.9.0" + "@babel/plugin-transform-modules-commonjs" "^7.9.0" + "@babel/plugin-transform-modules-systemjs" "^7.9.0" + "@babel/plugin-transform-modules-umd" "^7.9.0" "@babel/plugin-transform-named-capturing-groups-regex" "^7.8.3" "@babel/plugin-transform-new-target" "^7.8.3" "@babel/plugin-transform-object-super" "^7.8.3" - "@babel/plugin-transform-parameters" "^7.8.4" + "@babel/plugin-transform-parameters" "^7.8.7" "@babel/plugin-transform-property-literals" "^7.8.3" - "@babel/plugin-transform-regenerator" "^7.8.3" + "@babel/plugin-transform-regenerator" "^7.8.7" "@babel/plugin-transform-reserved-words" "^7.8.3" "@babel/plugin-transform-shorthand-properties" "^7.8.3" "@babel/plugin-transform-spread" "^7.8.3" @@ -2031,13 +2219,25 @@ "@babel/plugin-transform-template-literals" "^7.8.3" "@babel/plugin-transform-typeof-symbol" "^7.8.4" "@babel/plugin-transform-unicode-regex" "^7.8.3" - "@babel/types" "^7.8.3" - browserslist "^4.8.5" + "@babel/preset-modules" "^0.1.3" + "@babel/types" "^7.9.0" + browserslist "^4.9.1" core-js-compat "^3.6.2" invariant "^2.2.2" levenary "^1.1.1" semver "^5.5.0" +"@babel/preset-modules@^0.1.3": + version "0.1.3" + resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.3.tgz#13242b53b5ef8c883c3cf7dddd55b36ce80fbc72" + integrity sha512-Ra3JXOHBq2xd56xSF7lMKXdjBn3T772Y1Wet3yWnkDly9zHvJki029tAFzvAAK5cf4YV3yoxuP61crYRol6SVg== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" + "@babel/plugin-transform-dotall-regex" "^7.4.4" + "@babel/types" "^7.4.4" + esutils "^2.0.2" + "@babel/preset-react@7.0.0": version "7.0.0" resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.0.0.tgz#e86b4b3d99433c7b3e9e91747e2653958bc6b3c0" @@ -2068,6 +2268,18 @@ "@babel/plugin-transform-react-jsx-self" "^7.7.4" "@babel/plugin-transform-react-jsx-source" "^7.7.4" +"@babel/preset-react@^7.8.3": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.9.0.tgz#cdc5b6dd35ff8248047a070ec15d136c88193c9d" + integrity sha512-56vOLSR9yTi+5WwPoTfi4L2C2wN76RcVhFZ6DPeJT9lrlaA/wqTNUP1XCehnBxOMhTk5yWLQT7MwxyhejJVnJA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-transform-react-display-name" "^7.8.3" + "@babel/plugin-transform-react-jsx" "^7.9.0" + "@babel/plugin-transform-react-jsx-development" "^7.9.0" + "@babel/plugin-transform-react-jsx-self" "^7.9.0" + "@babel/plugin-transform-react-jsx-source" "^7.9.0" + "@babel/preset-typescript@7.1.0": version "7.1.0" resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.1.0.tgz#49ad6e2084ff0bfb5f1f7fb3b5e76c434d442c7f" @@ -2075,13 +2287,21 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-transform-typescript" "^7.1.0" +"@babel/runtime-corejs3@^7.8.3": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.9.0.tgz#0d4119c44ad05bfa0ca16f2f4f91cde430056c08" + integrity sha512-Fe3z3yVZNCUTaOFBAofwkEtFiYi7a7Gg2F5S1QX+mqP403i2iKJtyHJYEp/PV2ijUheT0PiKWbmXcqtwLhmBzg== + dependencies: + core-js-pure "^3.0.0" + regenerator-runtime "^0.13.4" + "@babel/runtime@7.3.1": version "7.3.1" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.3.1.tgz#574b03e8e8a9898eaf4a872a92ea20b7846f6f2a" dependencies: regenerator-runtime "^0.12.0" -"@babel/runtime@^7.1.2", "@babel/runtime@^7.4.2", "@babel/runtime@^7.4.5", "@babel/runtime@^7.6.3": +"@babel/runtime@^7.1.2", "@babel/runtime@^7.4.5", "@babel/runtime@^7.6.3": version "7.6.3" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.6.3.tgz#935122c74c73d2240cafd32ddb5fc2a6cd35cf1f" dependencies: @@ -2105,6 +2325,13 @@ dependencies: regenerator-runtime "^0.13.2" +"@babel/runtime@^7.8.7": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.9.0.tgz#337eda67401f5b066a6f205a3113d4ac18ba495b" + integrity sha512-cTIudHnzuWLS56ik4DnRnqqNf8MkdUzV4iFFI1h7Jo9xvrpQROYaAnaSd2mHLQAzzZAPfATynX5ord6YlNYNMA== + dependencies: + regenerator-runtime "^0.13.4" + "@babel/template@^7.1.0", "@babel/template@^7.1.2", "@babel/template@^7.2.2", "@babel/template@^7.4.0", "@babel/template@^7.4.4", "@babel/template@^7.6.0": version "7.6.0" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.6.0.tgz#7f0159c7f5012230dad64cca42ec9bdb5c9536e6" @@ -2129,6 +2356,15 @@ "@babel/parser" "^7.8.3" "@babel/types" "^7.8.3" +"@babel/template@^7.8.6": + version "7.8.6" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.8.6.tgz#86b22af15f828dfb086474f964dcc3e39c43ce2b" + integrity sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg== + dependencies: + "@babel/code-frame" "^7.8.3" + "@babel/parser" "^7.8.6" + "@babel/types" "^7.8.6" + "@babel/traverse@^7.0.0", "@babel/traverse@^7.1.0", "@babel/traverse@^7.1.6", "@babel/traverse@^7.2.2", "@babel/traverse@^7.4.3", "@babel/traverse@^7.4.4", "@babel/traverse@^7.5.5", "@babel/traverse@^7.6.2", "@babel/traverse@^7.6.3": version "7.6.3" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.6.3.tgz#66d7dba146b086703c0fb10dd588b7364cec47f9" @@ -2143,6 +2379,21 @@ globals "^11.1.0" lodash "^4.17.13" +"@babel/traverse@^7.7.0", "@babel/traverse@^7.8.6", "@babel/traverse@^7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.9.0.tgz#d3882c2830e513f4fe4cec9fe76ea1cc78747892" + integrity sha512-jAZQj0+kn4WTHO5dUZkZKhbFrqZE7K5LAQ5JysMnmvGij+wOdr+8lWqPeW0BcF4wFwrEXXtdGO7wcV6YPJcf3w== + dependencies: + "@babel/code-frame" "^7.8.3" + "@babel/generator" "^7.9.0" + "@babel/helper-function-name" "^7.8.3" + "@babel/helper-split-export-declaration" "^7.8.3" + "@babel/parser" "^7.9.0" + "@babel/types" "^7.9.0" + debug "^4.1.0" + globals "^11.1.0" + lodash "^4.17.13" + "@babel/traverse@^7.7.4": version "7.7.4" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.7.4.tgz#9c1e7c60fb679fe4fcfaa42500833333c2058558" @@ -2179,6 +2430,15 @@ lodash "^4.17.13" to-fast-properties "^2.0.0" +"@babel/types@^7.7.0", "@babel/types@^7.8.6", "@babel/types@^7.8.7", "@babel/types@^7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.9.0.tgz#00b064c3df83ad32b2dbf5ff07312b15c7f1efb5" + integrity sha512-BS9JKfXkzzJl8RluW4JGknzpiUV7ZrvTayM6yfqLTVBEnFtyowVIOu6rqxRd5cVO6yGoWf4T8u8dgK9oB+GCng== + dependencies: + "@babel/helper-validator-identifier" "^7.9.0" + lodash "^4.17.13" + to-fast-properties "^2.0.0" + "@babel/types@^7.7.4": version "7.7.4" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.7.4.tgz#516570d539e44ddf308c07569c258ff94fde9193" @@ -2233,46 +2493,6 @@ debug "^3.1.0" lodash.once "^4.1.1" -"@emotion/babel-utils@^0.6.4": - version "0.6.10" - resolved "https://registry.yarnpkg.com/@emotion/babel-utils/-/babel-utils-0.6.10.tgz#83dbf3dfa933fae9fc566e54fbb45f14674c6ccc" - dependencies: - "@emotion/hash" "^0.6.6" - "@emotion/memoize" "^0.6.6" - "@emotion/serialize" "^0.9.1" - convert-source-map "^1.5.1" - find-root "^1.1.0" - source-map "^0.7.2" - -"@emotion/hash@^0.6.2", "@emotion/hash@^0.6.6": - version "0.6.6" - resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.6.6.tgz#62266c5f0eac6941fece302abad69f2ee7e25e44" - -"@emotion/memoize@^0.6.1", "@emotion/memoize@^0.6.6": - version "0.6.6" - resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.6.6.tgz#004b98298d04c7ca3b4f50ca2035d4f60d2eed1b" - -"@emotion/serialize@^0.9.1": - version "0.9.1" - resolved "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-0.9.1.tgz#a494982a6920730dba6303eb018220a2b629c145" - dependencies: - "@emotion/hash" "^0.6.6" - "@emotion/memoize" "^0.6.6" - "@emotion/unitless" "^0.6.7" - "@emotion/utils" "^0.8.2" - -"@emotion/stylis@^0.7.0": - version "0.7.1" - resolved "https://registry.yarnpkg.com/@emotion/stylis/-/stylis-0.7.1.tgz#50f63225e712d99e2b2b39c19c70fff023793ca5" - -"@emotion/unitless@^0.6.2", "@emotion/unitless@^0.6.7": - version "0.6.7" - resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.6.7.tgz#53e9f1892f725b194d5e6a1684a7b394df592397" - -"@emotion/utils@^0.8.2": - version "0.8.2" - resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-0.8.2.tgz#576ff7fb1230185b619a75d258cbc98f0867a8dc" - "@evocateur/libnpmaccess@^3.1.2": version "3.1.2" resolved "https://registry.yarnpkg.com/@evocateur/libnpmaccess/-/libnpmaccess-3.1.2.tgz#ecf7f6ce6b004e9f942b098d92200be4a4b1c845" @@ -3391,15 +3611,63 @@ string-width "^2.0.0" strip-ansi "^3" -"@reach/router@1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@reach/router/-/router-1.2.1.tgz#34ae3541a5ac44fa7796e5506a5d7274a162be4e" +"@pmmmwh/react-refresh-webpack-plugin@^0.2.0": + version "0.2.0" + resolved "https://registry.yarnpkg.com/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.2.0.tgz#e2a684d430f74ad6465680d9a5869f52f307ec1e" + integrity sha512-rjdNzcWroULJeD/Y0+eETy9LhM7c5tbPF+wqT5G680rwDkh3iothIPEqGAuEE2WJlXEaAq293aO6ySzsIU518Q== + dependencies: + ansi-html "^0.0.7" + error-stack-parser "^2.0.4" + html-entities "^1.2.1" + lodash.debounce "^4.0.8" + react-dev-utils "^9.1.0" + +"@reach/router@^1.3.3": + version "1.3.3" + resolved "https://registry.yarnpkg.com/@reach/router/-/router-1.3.3.tgz#58162860dce6c9449d49be86b0561b5ef46d80db" + integrity sha512-gOIAiFhWdiVGSVjukKeNKkCRBLmnORoTPyBihI/jLunICPgxdP30DroAvPQuf1eVfQbfGJQDJkwhJXsNPMnVWw== dependencies: - create-react-context "^0.2.1" + create-react-context "0.3.0" invariant "^2.2.3" prop-types "^15.6.1" react-lifecycles-compat "^3.0.4" - warning "^3.0.0" + +"@rollup/plugin-commonjs@^11.0.2": + version "11.0.2" + resolved "https://registry.yarnpkg.com/@rollup/plugin-commonjs/-/plugin-commonjs-11.0.2.tgz#837cc6950752327cb90177b608f0928a4e60b582" + integrity sha512-MPYGZr0qdbV5zZj8/2AuomVpnRVXRU5XKXb3HVniwRoRCreGlf5kOE081isNWeiLIi6IYkwTX9zE0/c7V8g81g== + dependencies: + "@rollup/pluginutils" "^3.0.0" + estree-walker "^1.0.1" + is-reference "^1.1.2" + magic-string "^0.25.2" + resolve "^1.11.0" + +"@rollup/plugin-node-resolve@^7.1.1": + version "7.1.1" + resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-7.1.1.tgz#8c6e59c4b28baf9d223028d0e450e06a485bb2b7" + integrity sha512-14ddhD7TnemeHE97a4rLOhobfYvUVcaYuqTnL8Ti7Jxi9V9Jr5LY7Gko4HZ5k4h4vqQM0gBQt6tsp9xXW94WPA== + dependencies: + "@rollup/pluginutils" "^3.0.6" + "@types/resolve" "0.0.8" + builtin-modules "^3.1.0" + is-module "^1.0.0" + resolve "^1.14.2" + +"@rollup/plugin-replace@^2.3.1": + version "2.3.1" + resolved "https://registry.yarnpkg.com/@rollup/plugin-replace/-/plugin-replace-2.3.1.tgz#16fb0563628f9e6c6ef9e05d48d3608916d466f5" + integrity sha512-qDcXj2VOa5+j0iudjb+LiwZHvBRRgWbHPhRmo1qde2KItTjuxDVQO21rp9/jOlzKR5YO0EsgRQoyox7fnL7y/A== + dependencies: + "@rollup/pluginutils" "^3.0.4" + magic-string "^0.25.5" + +"@rollup/pluginutils@^3.0.0", "@rollup/pluginutils@^3.0.4", "@rollup/pluginutils@^3.0.6": + version "3.0.8" + resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-3.0.8.tgz#4e94d128d94b90699e517ef045422960d18c8fde" + integrity sha512-rYGeAc4sxcZ+kPG/Tw4/fwJODC3IXHYDH4qusdN/b6aLw5LPUbzpecYbEJh4sVQGPFJxd2dBU4kc1H3oy9/bnw== + dependencies: + estree-walker "^1.0.1" "@sindresorhus/is@^0.14.0": version "0.14.0" @@ -3668,9 +3936,10 @@ "@types/d3-voronoi" "*" "@types/d3-zoom" "*" -"@types/debug@^0.0.29": - version "0.0.29" - resolved "https://registry.yarnpkg.com/@types/debug/-/debug-0.0.29.tgz#a1e514adfbd92f03a224ba54d693111dbf1f3754" +"@types/debug@^0.0.30": + version "0.0.30" + resolved "https://registry.yarnpkg.com/@types/debug/-/debug-0.0.30.tgz#dc1e40f7af3b9c815013a7860e6252f6352a84df" + integrity sha512-orGL5LXERPYsLov6CWs3Fh6203+dXzJkR7OnddIr2514Hsecwc8xRpzCapshBbKFImCsvS/mk6+FWiN5LyZJAQ== "@types/dom-helpers@^3.4.1": version "3.4.1" @@ -3687,6 +3956,11 @@ version "1.0.0" resolved "https://registry.yarnpkg.com/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#1ee30d79544ca84d68d4b3cdb0af4f205663dd2d" +"@types/estree@0.0.39": + version "0.0.39" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" + integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== + "@types/events@*": version "3.0.0" resolved "https://registry.yarnpkg.com/@types/events/-/events-3.0.0.tgz#2862f3f58a9a7f7c3e78d79f130dd4d71c25c2a7" @@ -3694,26 +3968,29 @@ "@types/exenv@^1.2.0": version "1.2.0" resolved "https://registry.yarnpkg.com/@types/exenv/-/exenv-1.2.0.tgz#84ff936feeafc917c3c66f80b43e917f56eed00b" + integrity sha512-kSyh9q6bvrOGEnJ9X9Io5gjXaakcSRQTax/Nj2ZKJHuOZ7bH4uvUgLyXA9uV2QBCP7+T8KS0JHbPfP1/79ckKw== "@types/geojson@*": version "7946.0.7" resolved "https://registry.yarnpkg.com/@types/geojson/-/geojson-7946.0.7.tgz#c8fa532b60a0042219cdf173ca21a975ef0666ad" -"@types/get-port@^0.0.4": - version "0.0.4" - resolved "https://registry.yarnpkg.com/@types/get-port/-/get-port-0.0.4.tgz#eb6bb7423d9f888b632660dc7d2fd3e69a35643e" +"@types/get-port@^3.2.0": + version "3.2.0" + resolved "https://registry.yarnpkg.com/@types/get-port/-/get-port-3.2.0.tgz#f9e0a11443cc21336470185eae3dfba4495d29bc" + integrity sha512-TiNg8R1kjDde5Pub9F9vCwZA/BNW9HeXP5b9j7Qucqncy/McfPZ6xze/EyBdXS5FhMIGN6Fx3vg75l5KHy3V1Q== -"@types/glob@^5.0.30": - version "5.0.36" - resolved "https://registry.yarnpkg.com/@types/glob/-/glob-5.0.36.tgz#0c80a9c8664fc7d19781de229f287077fd622cb2" +"@types/glob@*", "@types/glob@^7.1.1": + version "7.1.1" + resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.1.tgz#aa59a1c6e3fbc421e07ccd31a944c30eba521575" dependencies: "@types/events" "*" "@types/minimatch" "*" "@types/node" "*" -"@types/glob@^7.1.1": - version "7.1.1" - resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.1.tgz#aa59a1c6e3fbc421e07ccd31a944c30eba521575" +"@types/glob@^5.0.34": + version "5.0.36" + resolved "https://registry.yarnpkg.com/@types/glob/-/glob-5.0.36.tgz#0c80a9c8664fc7d19781de229f287077fd622cb2" + integrity sha512-KEzSKuP2+3oOjYYjujue6Z3Yqis5HKA1BsIC+jZ1v3lrRNdsqyNNtX0rQf6LSuI4DJJ2z5UV//zBZCcvM0xikg== dependencies: "@types/events" "*" "@types/minimatch" "*" @@ -3777,13 +4054,21 @@ version "4.14.144" resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.144.tgz#12e57fc99064bce45e5ab3c8bc4783feb75eab8e" +"@types/lodash@^4.14.92": + version "4.14.149" + resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.149.tgz#1342d63d948c6062838fbf961012f74d4e638440" + integrity sha512-ijGqzZt/b7BfzcK9vTrS6MFljQRPn5BFWOx8oE0GYxribu6uV+aA9zZuXI1zc/etK9E8nrgdoF2+LgUw7+9tJQ== + "@types/minimatch@*", "@types/minimatch@^3.0.3": version "3.0.3" resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d" -"@types/mkdirp@^0.3.29": - version "0.3.29" - resolved "https://registry.yarnpkg.com/@types/mkdirp/-/mkdirp-0.3.29.tgz#7f2ad7ec55f914482fc9b1ec4bb1ae6028d46066" +"@types/mkdirp@^0.5.2": + version "0.5.2" + resolved "https://registry.yarnpkg.com/@types/mkdirp/-/mkdirp-0.5.2.tgz#503aacfe5cc2703d5484326b1b27efa67a339c1f" + integrity sha512-U5icWpv7YnZYGsN4/cmh3WD2onMY0aJIiTE6+51TwJCttdHvtCYmkBNOobHlXwrJRL0nkH9jH4kD+1FAdMN4Tg== + dependencies: + "@types/node" "*" "@types/node@*", "@types/node@^12.11.1": version "12.11.6" @@ -3793,9 +4078,10 @@ version "13.5.0" resolved "https://registry.yarnpkg.com/@types/node/-/node-13.5.0.tgz#4e498dbf355795a611a87ae5ef811a8660d42662" -"@types/node@^7.0.11": - version "7.10.7" - resolved "https://registry.yarnpkg.com/@types/node/-/node-7.10.7.tgz#8604623912010235185f1166c7a5a9aa7de9fcd8" +"@types/node@^8.5.7": + version "8.10.59" + resolved "https://registry.yarnpkg.com/@types/node/-/node-8.10.59.tgz#9e34261f30183f9777017a13d185dfac6b899e04" + integrity sha512-8RkBivJrDCyPpBXhVZcjh7cQxVBSmRk9QM7hOketZzp6Tg79c0N8kkpAIito9bnJ3HCVCHVYz+KHTEbfQNfeVQ== "@types/normalize-package-data@^2.4.0": version "2.4.0" @@ -3813,9 +4099,10 @@ version "1.5.2" resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.2.tgz#690a1475b84f2a884fd07cd797c00f5f31356ea8" -"@types/reach__router@^1.2.6": - version "1.2.6" - resolved "https://registry.yarnpkg.com/@types/reach__router/-/reach__router-1.2.6.tgz#b14cf1adbd1a365d204bbf6605cd9dd7b8816c87" +"@types/reach__router@^1.3.0": + version "1.3.1" + resolved "https://registry.yarnpkg.com/@types/reach__router/-/reach__router-1.3.1.tgz#ca8b431acb12bb897d2b806f6fdd815f056d6d02" + integrity sha512-E51ntVeunnxofXmOoPFiOvElHWf+jBEs3B56gGx7XhPHOkJdjWxWDY4V1AsUiwhtOCXPM7atFy30wj7glyv2Fg== dependencies: "@types/history" "*" "@types/react" "*" @@ -3861,6 +4148,21 @@ "@types/prop-types" "*" csstype "^2.2.0" +"@types/resolve@0.0.8": + version "0.0.8" + resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-0.0.8.tgz#f26074d238e02659e323ce1a13d041eee280e194" + integrity sha512-auApPaJf3NPfe18hSoJkp8EbZzer2ISk7o8mCC3M9he/a04+gbMF97NkpD2S8riMGvm4BMRI59/SZQSaLTKpsQ== + dependencies: + "@types/node" "*" + +"@types/rimraf@^2.0.2": + version "2.0.4" + resolved "https://registry.yarnpkg.com/@types/rimraf/-/rimraf-2.0.4.tgz#403887b0b53c6100a6c35d2ab24f6ccc042fec46" + integrity sha512-8gBudvllD2A/c0CcEX/BivIDorHFt5UI5m46TsNj8DjWCCTTZT74kEe4g+QsY7P/B9WdO98d82zZgXO/RQzu2Q== + dependencies: + "@types/glob" "*" + "@types/node" "*" + "@types/sizzle@2.3.2": version "2.3.2" resolved "https://registry.yarnpkg.com/@types/sizzle/-/sizzle-2.3.2.tgz#a811b8c18e2babab7d542b3365887ae2e4d9de47" @@ -3879,9 +4181,10 @@ dependencies: "@types/node" "*" -"@types/tmp@^0.0.32": - version "0.0.32" - resolved "https://registry.yarnpkg.com/@types/tmp/-/tmp-0.0.32.tgz#0d3cb31022f8427ea58c008af32b80da126ca4e3" +"@types/tmp@^0.0.33": + version "0.0.33" + resolved "https://registry.yarnpkg.com/@types/tmp/-/tmp-0.0.33.tgz#1073c4bc824754ae3d10cfab88ab0237ba964e4d" + integrity sha1-EHPEvIJHVK49EM+riKsCN7qWTk0= "@types/unist@*", "@types/unist@^2.0.0", "@types/unist@^2.0.2", "@types/unist@^2.0.3": version "2.0.3" @@ -3925,21 +4228,22 @@ dependencies: "@types/yargs-parser" "*" -"@typescript-eslint/eslint-plugin@^2.11.0": - version "2.19.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.19.0.tgz#bf743448a4633e4b52bee0c40148ba072ab3adbd" +"@typescript-eslint/eslint-plugin@^2.18.0": + version "2.18.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.18.0.tgz#f8cf272dfb057ecf1ea000fea1e0b3f06a32f9cb" dependencies: - "@typescript-eslint/experimental-utils" "2.19.0" + "@typescript-eslint/experimental-utils" "2.18.0" eslint-utils "^1.4.3" functional-red-black-tree "^1.0.1" regexpp "^3.0.0" tsutils "^3.17.1" -"@typescript-eslint/eslint-plugin@^2.18.0": - version "2.18.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.18.0.tgz#f8cf272dfb057ecf1ea000fea1e0b3f06a32f9cb" +"@typescript-eslint/eslint-plugin@^2.24.0": + version "2.24.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.24.0.tgz#a86cf618c965a462cddf3601f594544b134d6d68" + integrity sha512-wJRBeaMeT7RLQ27UQkDFOu25MqFOBus8PtOa9KaT5ZuxC1kAsd7JEHqWt4YXuY9eancX0GK9C68i5OROnlIzBA== dependencies: - "@typescript-eslint/experimental-utils" "2.18.0" + "@typescript-eslint/experimental-utils" "2.24.0" eslint-utils "^1.4.3" functional-red-black-tree "^1.0.1" regexpp "^3.0.0" @@ -3953,23 +4257,15 @@ "@typescript-eslint/typescript-estree" "2.18.0" eslint-scope "^5.0.0" -"@typescript-eslint/experimental-utils@2.19.0": - version "2.19.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-2.19.0.tgz#d5ca732f22c009e515ba09fcceb5f2127d841568" +"@typescript-eslint/experimental-utils@2.24.0": + version "2.24.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-2.24.0.tgz#a5cb2ed89fedf8b59638dc83484eb0c8c35e1143" + integrity sha512-DXrwuXTdVh3ycNCMYmWhUzn/gfqu9N0VzNnahjiDJvcyhfBy4gb59ncVZVxdp5XzBC77dCncu0daQgOkbvPwBw== dependencies: "@types/json-schema" "^7.0.3" - "@typescript-eslint/typescript-estree" "2.19.0" + "@typescript-eslint/typescript-estree" "2.24.0" eslint-scope "^5.0.0" -"@typescript-eslint/parser@^2.11.0": - version "2.19.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-2.19.0.tgz#912160d9425395d09857dcd5382352bc98be11ae" - dependencies: - "@types/eslint-visitor-keys" "^1.0.0" - "@typescript-eslint/experimental-utils" "2.19.0" - "@typescript-eslint/typescript-estree" "2.19.0" - eslint-visitor-keys "^1.1.0" - "@typescript-eslint/parser@^2.18.0": version "2.18.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-2.18.0.tgz#d5f7fc1839abd4a985394e40e9d2454bd56aeb1f" @@ -3979,6 +4275,16 @@ "@typescript-eslint/typescript-estree" "2.18.0" eslint-visitor-keys "^1.1.0" +"@typescript-eslint/parser@^2.24.0": + version "2.24.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-2.24.0.tgz#2cf0eae6e6dd44d162486ad949c126b887f11eb8" + integrity sha512-H2Y7uacwSSg8IbVxdYExSI3T7uM1DzmOn2COGtCahCC3g8YtM1xYAPi2MAHyfPs61VKxP/J/UiSctcRgw4G8aw== + dependencies: + "@types/eslint-visitor-keys" "^1.0.0" + "@typescript-eslint/experimental-utils" "2.24.0" + "@typescript-eslint/typescript-estree" "2.24.0" + eslint-visitor-keys "^1.1.0" + "@typescript-eslint/typescript-estree@2.18.0": version "2.18.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-2.18.0.tgz#cfbd16ed1b111166617d718619c19b62764c8460" @@ -3991,9 +4297,10 @@ semver "^6.3.0" tsutils "^3.17.1" -"@typescript-eslint/typescript-estree@2.19.0": - version "2.19.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-2.19.0.tgz#6bd7310b9827e04756fe712909f26956aac4b196" +"@typescript-eslint/typescript-estree@2.24.0": + version "2.24.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-2.24.0.tgz#38bbc8bb479790d2f324797ffbcdb346d897c62a" + integrity sha512-RJ0yMe5owMSix55qX7Mi9V6z2FDuuDpN6eR5fzRJrp+8in9UF41IGNQHbg5aMK4/PjVaEQksLvz0IA8n+Mr/FA== dependencies: debug "^4.1.1" eslint-visitor-keys "^1.1.0" @@ -4456,7 +4763,7 @@ ansi-escapes@^1.0.0, ansi-escapes@^1.1.0: version "1.4.0" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e" -ansi-escapes@^3.0.0, ansi-escapes@^3.2.0: +ansi-escapes@^3.0.0, ansi-escapes@^3.1.0, ansi-escapes@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" @@ -4472,7 +4779,7 @@ ansi-gray@^0.1.1: dependencies: ansi-wrap "0.1.0" -ansi-html@0.0.7: +ansi-html@0.0.7, ansi-html@^0.0.7: version "0.0.7" resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e" @@ -4553,6 +4860,11 @@ append-transform@^1.0.0: dependencies: default-require-extensions "^2.0.0" +application-config-path@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/application-config-path/-/application-config-path-0.1.0.tgz#193c5f0a86541a4c66fba1e2dc38583362ea5e8f" + integrity sha1-GTxfCoZUGkxm+6Hi3DhYM2LqXo8= + aproba@^1.0.3, aproba@^1.1.1: version "1.2.0" resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" @@ -4874,7 +5186,7 @@ autoprefixer@^9.3.1: postcss "^7.0.19" postcss-value-parser "^4.0.2" -autoprefixer@^9.7.3: +autoprefixer@^9.7.4: version "9.7.4" resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.7.4.tgz#f8bf3e06707d047f0641d87aee8cfb174b2a5378" dependencies: @@ -4913,12 +5225,12 @@ axios@^0.16.2: follow-redirects "^1.2.3" is-buffer "^1.1.5" -axios@^0.19.0: - version "0.19.0" - resolved "https://registry.yarnpkg.com/axios/-/axios-0.19.0.tgz#8e09bff3d9122e133f7b8101c8fbdd00ed3d2ab8" +axios@^0.19.2: + version "0.19.2" + resolved "https://registry.yarnpkg.com/axios/-/axios-0.19.2.tgz#3ea36c5d8818d0d5f8a8a97a6d36b86cdc00cb27" + integrity sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA== dependencies: follow-redirects "1.5.10" - is-buffer "^2.0.2" axobject-query@^2.0.1, axobject-query@^2.0.2: version "2.0.2" @@ -4973,14 +5285,15 @@ babel-eslint@9.0.0: eslint-scope "3.7.1" eslint-visitor-keys "^1.0.0" -babel-eslint@^10.0.3: - version "10.0.3" - resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-10.0.3.tgz#81a2c669be0f205e19462fed2482d33e4687a88a" +babel-eslint@^10.1.0: + version "10.1.0" + resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-10.1.0.tgz#6968e568a910b78fb3779cdd8b6ac2f479943232" + integrity sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg== dependencies: "@babel/code-frame" "^7.0.0" - "@babel/parser" "^7.0.0" - "@babel/traverse" "^7.0.0" - "@babel/types" "^7.0.0" + "@babel/parser" "^7.7.0" + "@babel/traverse" "^7.7.0" + "@babel/types" "^7.7.0" eslint-visitor-keys "^1.0.0" resolve "^1.12.0" @@ -5173,23 +5486,6 @@ babel-plugin-dynamic-import-node@^2.3.0: dependencies: object.assign "^4.1.0" -babel-plugin-emotion@^9.2.11: - version "9.2.11" - resolved "https://registry.yarnpkg.com/babel-plugin-emotion/-/babel-plugin-emotion-9.2.11.tgz#319c005a9ee1d15bb447f59fe504c35fd5807728" - dependencies: - "@babel/helper-module-imports" "^7.0.0" - "@emotion/babel-utils" "^0.6.4" - "@emotion/hash" "^0.6.2" - "@emotion/memoize" "^0.6.1" - "@emotion/stylis" "^0.7.0" - babel-plugin-macros "^2.0.0" - babel-plugin-syntax-jsx "^6.18.0" - convert-source-map "^1.5.0" - find-root "^1.1.0" - mkdirp "^0.5.1" - source-map "^0.5.7" - touch "^2.0.1" - babel-plugin-extract-import-names@^1.5.1: version "1.5.1" resolved "https://registry.yarnpkg.com/babel-plugin-extract-import-names/-/babel-plugin-extract-import-names-1.5.1.tgz#79fb8550e3e0a9e8654f9461ccade56c9a669a74" @@ -5247,14 +5543,6 @@ babel-plugin-macros@2.5.0: cosmiconfig "^5.0.5" resolve "^1.8.1" -babel-plugin-macros@^2.0.0: - version "2.6.1" - resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-2.6.1.tgz#41f7ead616fc36f6a93180e89697f69f51671181" - dependencies: - "@babel/runtime" "^7.4.2" - cosmiconfig "^5.2.0" - resolve "^1.10.0" - babel-plugin-macros@^2.8.0: version "2.8.0" resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz#0f958a7cc6556b1e65344465d99111a1e5e10138" @@ -5267,9 +5555,10 @@ babel-plugin-named-asset-import@^0.3.0: version "0.3.4" resolved "https://registry.yarnpkg.com/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.4.tgz#4a8fc30e9a3e2b1f5ed36883386ab2d84e1089bd" -babel-plugin-remove-graphql-queries@^2.7.23: - version "2.7.23" - resolved "https://registry.yarnpkg.com/babel-plugin-remove-graphql-queries/-/babel-plugin-remove-graphql-queries-2.7.23.tgz#7cecb19b6057eb4de92d147dfd4d51c885cc356a" +babel-plugin-remove-graphql-queries@^2.8.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/babel-plugin-remove-graphql-queries/-/babel-plugin-remove-graphql-queries-2.8.0.tgz#d600e75e48da2a38bc7a373dc9898c9f67245e10" + integrity sha512-OTpYDyRyXCwSNnYLyZsbQRDmq0GMwNdXB+qHaVVeaEREjCSfDNOfk2IR39+nZRPpyd9xS+iSqUDnW6UF7CNdaw== babel-plugin-syntax-class-properties@^6.8.0: version "6.13.0" @@ -5279,7 +5568,7 @@ babel-plugin-syntax-flow@^6.18.0, babel-plugin-syntax-flow@^6.8.0: version "6.18.0" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz#4c3ab20a2af26aa20cd25995c398c4eb70310c8d" -babel-plugin-syntax-jsx@^6.18.0, babel-plugin-syntax-jsx@^6.8.0: +babel-plugin-syntax-jsx@^6.8.0: version "6.18.0" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz#0af32a9a6e13ca7a3fd5069e62d7b0f58d0d8946" @@ -5523,22 +5812,24 @@ babel-preset-fbjs@^2.1.2: babel-plugin-transform-react-display-name "^6.8.0" babel-plugin-transform-react-jsx "^6.8.0" -babel-preset-gatsby@^0.2.28: - version "0.2.28" - resolved "https://registry.yarnpkg.com/babel-preset-gatsby/-/babel-preset-gatsby-0.2.28.tgz#6bd421e1a18115889e608b2a8fa5076205bacd1a" +babel-preset-gatsby@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/babel-preset-gatsby/-/babel-preset-gatsby-0.3.0.tgz#bdbaa346c8a17f5b9cbceb65afede1ae748eed07" + integrity sha512-exUK6AWGeau1tWl6EB0CCVPR7J7f/HZGRzgP0ATUuGql0LvbaIJAOZwaRXs4Shlu6erftzg0URQRe5MvFY126g== dependencies: - "@babel/plugin-proposal-class-properties" "^7.7.4" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.7.4" - "@babel/plugin-proposal-optional-chaining" "^7.7.5" - "@babel/plugin-syntax-dynamic-import" "^7.7.4" - "@babel/plugin-transform-runtime" "^7.7.6" - "@babel/plugin-transform-spread" "^7.7.4" - "@babel/preset-env" "^7.7.6" - "@babel/preset-react" "^7.7.4" - "@babel/runtime" "^7.7.6" + "@babel/plugin-proposal-class-properties" "^7.8.3" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.8.3" + "@babel/plugin-proposal-optional-chaining" "^7.8.3" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + "@babel/plugin-transform-runtime" "^7.8.3" + "@babel/plugin-transform-spread" "^7.8.3" + "@babel/preset-env" "^7.8.7" + "@babel/preset-react" "^7.8.3" + "@babel/runtime" "^7.8.7" babel-plugin-dynamic-import-node "^2.3.0" babel-plugin-macros "^2.8.0" babel-plugin-transform-react-remove-prop-types "^0.4.24" + gatsby-core-utils "^1.1.0" babel-preset-jest@^23.2.0: version "23.2.0" @@ -6012,13 +6303,6 @@ browserify-zlib@^0.2.0: dependencies: pako "~1.0.5" -browserslist@3.2.8: - version "3.2.8" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-3.2.8.tgz#b0005361d6471f0f5952797a76fc985f1f978fc6" - dependencies: - caniuse-lite "^1.0.30000844" - electron-to-chromium "^1.3.47" - browserslist@4.4.1: version "4.4.1" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.4.1.tgz#42e828954b6b29a7a53e352277be429478a69062" @@ -6027,6 +6311,15 @@ browserslist@4.4.1: electron-to-chromium "^1.3.103" node-releases "^1.1.3" +browserslist@4.7.0: + version "4.7.0" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.7.0.tgz#9ee89225ffc07db03409f2fee524dc8227458a17" + integrity sha512-9rGNDtnj+HaahxiVV38Gn8n8Lr8REKsel68v1sPFfIGEK6uSXTY3h9acgiT1dZVtOOUtifo/Dn8daDQ5dUgVsA== + dependencies: + caniuse-lite "^1.0.30000989" + electron-to-chromium "^1.3.247" + node-releases "^1.1.29" + browserslist@^4.0.0, browserslist@^4.3.4, browserslist@^4.6.0, browserslist@^4.7.1, browserslist@^4.7.2: version "4.7.2" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.7.2.tgz#1bb984531a476b5d389cedecb195b2cd69fb1348" @@ -6043,7 +6336,7 @@ browserslist@^4.8.0: electron-to-chromium "^1.3.322" node-releases "^1.1.42" -browserslist@^4.8.3, browserslist@^4.8.5: +browserslist@^4.8.3: version "4.8.6" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.8.6.tgz#96406f3f5f0755d272e27a66f4163ca821590a7e" dependencies: @@ -6051,6 +6344,16 @@ browserslist@^4.8.3, browserslist@^4.8.5: electron-to-chromium "^1.3.341" node-releases "^1.1.47" +browserslist@^4.9.1: + version "4.10.0" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.10.0.tgz#f179737913eaf0d2b98e4926ac1ca6a15cbcc6a9" + integrity sha512-TpfK0TDgv71dzuTsEAlQiHeWQ/tiPqgNZVdv046fvNtBZrjbv2O3TsWCDU0AWGJJKCF/KsjNdLzR9hXOsh/CfA== + dependencies: + caniuse-lite "^1.0.30001035" + electron-to-chromium "^1.3.378" + node-releases "^1.1.52" + pkg-up "^3.1.0" + bser@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" @@ -6119,7 +6422,7 @@ builtin-modules@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" -builtin-modules@^3.0.0: +builtin-modules@^3.0.0, builtin-modules@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.1.0.tgz#aad97c15131eb76b65b50ef208e7584cd76a7484" @@ -6268,11 +6571,13 @@ cache-manager-fs-hash@^0.0.7: es6-promisify "^6.0.0" lockfile "^1.0.4" -cache-manager@^2.10.1: - version "2.10.1" - resolved "https://registry.yarnpkg.com/cache-manager/-/cache-manager-2.10.1.tgz#d8f312381255966cfc19c990bc8834c8d24edb2a" +cache-manager@^2.11.1: + version "2.11.1" + resolved "https://registry.yarnpkg.com/cache-manager/-/cache-manager-2.11.1.tgz#212e8c3db15288af653b029a1d9fe12f1fd9df61" + integrity sha512-XhUuc9eYwkzpK89iNewFwtvcDYMUsvtwzHeyEOPJna/WsVsXcrzsA1ft2M0QqPNunEzLhNCYPo05tEfG+YuNow== dependencies: async "1.5.2" + lodash.clonedeep "4.5.0" lru-cache "4.0.0" cacheable-request@^2.1.1: @@ -6398,10 +6703,15 @@ caniuse-api@^3.0.0: lodash.memoize "^4.1.2" lodash.uniq "^4.5.0" -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000844, caniuse-lite@^1.0.30000905, caniuse-lite@^1.0.30000929, caniuse-lite@^1.0.30001004: +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000905, caniuse-lite@^1.0.30000929, caniuse-lite@^1.0.30001004: version "1.0.30001004" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001004.tgz#d879b73981b255488316da946c39327d8c00a586" +caniuse-lite@^1.0.30000989, caniuse-lite@^1.0.30001035: + version "1.0.30001035" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001035.tgz#2bb53b8aa4716b2ed08e088d4dc816a5fe089a1e" + integrity sha512-C1ZxgkuA4/bUEdMbU5WrGY4+UhMFFiXrgNAfxiMIqWgFTWfv/xsZCS2xEHT2LMq7xAZfuAnu6mcqyDl0ZR6wLQ== + caniuse-lite@^1.0.30001015: version "1.0.30001015" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001015.tgz#15a7ddf66aba786a71d99626bc8f2b91c6f0f5f0" @@ -6576,6 +6886,21 @@ chokidar@3.3.0: optionalDependencies: fsevents "~2.1.1" +chokidar@3.3.1: + version "3.3.1" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.3.1.tgz#c84e5b3d18d9a4d77558fef466b1bf16bbeb3450" + integrity sha512-4QYCEWOcK3OJrxwvyyAOxFuhpvOVCYkr33LPfFNBjAD/w3sEzWsp2BUOkI4l9bHvWioAd0rc6NlHUOEaWkTeqg== + dependencies: + anymatch "~3.1.1" + braces "~3.0.2" + glob-parent "~5.1.0" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.3.0" + optionalDependencies: + fsevents "~2.1.2" + chokidar@^2.0.0, chokidar@^2.0.2, chokidar@^2.0.4, chokidar@^2.1.8: version "2.1.8" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917" @@ -6736,12 +7061,14 @@ clipboard@^2.0.0: select "^1.1.2" tiny-emitter "^2.0.0" -clipboardy@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/clipboardy/-/clipboardy-2.1.0.tgz#0123a0c8fac92f256dc56335e0bb8be97a4909a5" +clipboardy@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/clipboardy/-/clipboardy-2.3.0.tgz#3c2903650c68e46a91b388985bc2774287dba290" + integrity sha512-mKhiIL2DrQIsuXMgBgnfEHOZOryC7kY7YO//TN6c63wlEm3NG5tz+YgY5rVi29KCmq/QQjKYvM7a19+MDOTHOQ== dependencies: arch "^2.1.1" execa "^1.0.0" + is-wsl "^2.1.1" cliui@^3.2.0: version "3.2.0" @@ -6990,9 +7317,10 @@ comma-separated-tokens@^1.0.0: version "1.0.7" resolved "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-1.0.7.tgz#419cd7fb3258b1ed838dc0953167a25e152f5b59" -command-exists@^1.2.2: +command-exists@^1.2.4: version "1.2.8" resolved "https://registry.yarnpkg.com/command-exists/-/command-exists-1.2.8.tgz#715acefdd1223b9c9b37110a149c6392c2852291" + integrity sha512-PM54PkseWbiiD/mMsbvW351/u+dafwTJ0ye2qB60G1aGQP9j3xK2gmMDc+R34L3nDtx4qMCitXT75mkbkGJDLw== command-line-args@^5.0.2: version "5.1.1" @@ -7206,11 +7534,12 @@ configstore@^4.0.0: write-file-atomic "^2.0.0" xdg-basedir "^3.0.0" -configstore@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/configstore/-/configstore-5.0.0.tgz#37de662c7a49b5fe8dbcf8f6f5818d2d81ed852b" +configstore@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/configstore/-/configstore-5.0.1.tgz#d365021b5df4b98cdd187d6a3b0e3f6a7cc5ed96" + integrity sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA== dependencies: - dot-prop "^5.1.0" + dot-prop "^5.2.0" graceful-fs "^4.1.2" make-dir "^3.0.0" unique-string "^2.0.0" @@ -7344,7 +7673,7 @@ convert-hrtime@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/convert-hrtime/-/convert-hrtime-3.0.0.tgz#62c7593f5809ca10be8da858a6d2f702bcda00aa" -convert-source-map@^1.1.0, convert-source-map@^1.4.0, convert-source-map@^1.5.0, convert-source-map@^1.5.1: +convert-source-map@^1.1.0, convert-source-map@^1.4.0, convert-source-map@^1.5.1: version "1.6.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.6.0.tgz#51b537a8c43e0f04dec1993bffcdd504e758ac20" dependencies: @@ -7394,9 +7723,10 @@ copy-to@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/copy-to/-/copy-to-2.0.1.tgz#2680fbb8068a48d08656b6098092bdafc906f4a5" -copyfiles@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/copyfiles/-/copyfiles-2.1.1.tgz#d430e122d7880f92c45d372208b0af03b0c39db6" +copyfiles@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/copyfiles/-/copyfiles-2.2.0.tgz#d9fc6c06f299337fb7eeb7ea5887e9d7188d9d47" + integrity sha512-iJbHJI+8OKqsq+4JF0rqgRkZzo++jqO6Wf4FUU1JM41cJF6JcY5968XyF4tm3Kkm7ZOMrqlljdm8N9oyY5raGw== dependencies: glob "^7.0.5" minimatch "^3.0.3" @@ -7426,6 +7756,11 @@ core-js-compat@^3.6.2: browserslist "^4.8.3" semver "7.0.0" +core-js-pure@^3.0.0: + version "3.6.4" + resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.6.4.tgz#4bf1ba866e25814f149d4e9aaa08c36173506e3a" + integrity sha512-epIhRLkXdgv32xIUFaaAry2wdxZYBi6bgM7cB136dzzXXa+dFyRLTZeLUJxnd8ShrmyVXBub63n2NHo2JAt8Cw== + core-js@2, core-js@^2.4.0, core-js@^2.4.1, core-js@^2.5.0, core-js@^2.6.5: version "2.6.10" resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.10.tgz#8a5b8391f8cc7013da703411ce5b585706300d7f" @@ -7461,7 +7796,7 @@ cors@^2.8.5: object-assign "^4" vary "^1" -cosmiconfig@^5.0.0, cosmiconfig@^5.0.5, cosmiconfig@^5.0.6, cosmiconfig@^5.1.0, cosmiconfig@^5.2.0: +cosmiconfig@^5.0.0, cosmiconfig@^5.0.5, cosmiconfig@^5.0.6, cosmiconfig@^5.1.0: version "5.2.1" resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a" dependencies: @@ -7487,19 +7822,6 @@ create-ecdh@^4.0.0: bn.js "^4.1.0" elliptic "^6.0.0" -create-emotion@^9.2.12: - version "9.2.12" - resolved "https://registry.yarnpkg.com/create-emotion/-/create-emotion-9.2.12.tgz#0fc8e7f92c4f8bb924b0fef6781f66b1d07cb26f" - integrity sha512-P57uOF9NL2y98Xrbl2OuiDQUZ30GVmASsv5fbsjF4Hlraip2kyAvMm+2PoYUvFFw03Fhgtxk3RqZSm2/qHL9hA== - dependencies: - "@emotion/hash" "^0.6.2" - "@emotion/memoize" "^0.6.1" - "@emotion/stylis" "^0.7.0" - "@emotion/unitless" "^0.6.2" - csstype "^2.5.2" - stylis "^3.5.0" - stylis-rule-sheet "^0.0.10" - create-error-class@^3.0.0: version "3.0.2" resolved "https://registry.yarnpkg.com/create-error-class/-/create-error-class-3.0.2.tgz#06be7abef947a3f14a30fd610671d401bca8b7b6" @@ -7534,12 +7856,13 @@ create-react-context@0.2.2: fbjs "^0.8.0" gud "^1.0.0" -create-react-context@^0.2.1: - version "0.2.3" - resolved "https://registry.yarnpkg.com/create-react-context/-/create-react-context-0.2.3.tgz#9ec140a6914a22ef04b8b09b7771de89567cb6f3" +create-react-context@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/create-react-context/-/create-react-context-0.3.0.tgz#546dede9dc422def0d3fc2fe03afe0bc0f4f7d8c" + integrity sha512-dNldIoSuNSvlTJ7slIKC/ZFGKexBMBrrcc+TTe1NdmROnaASuLPvqpwj9v4XS4uXZ8+YPu0sNmShX2rXI5LNsw== dependencies: - fbjs "^0.8.0" gud "^1.0.0" + warning "^4.0.3" cross-fetch@2.2.2: version "2.2.2" @@ -7832,11 +8155,6 @@ csstype@^2.2.0: version "2.6.7" resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.7.tgz#20b0024c20b6718f4eda3853a1f5a1cce7f5e4a5" -csstype@^2.5.2: - version "2.6.9" - resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.9.tgz#05141d0cd557a56b8891394c1911c40c8a98d098" - integrity sha512-xz39Sb4+OaTsULgUERcCk+TJj8ylkL4aSVDQiX/ksxbELSqwkgt4d4RD7fovIdgJGSuNYqwZEiVjYY5l0ask+Q== - currently-unhandled@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" @@ -8054,6 +8372,11 @@ date-fns@^1.23.0, date-fns@^1.27.2: version "1.30.1" resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-1.30.1.tgz#2e71bf0b119153dbb4cc4e88d9ea5acfb50dc05c" +date-fns@^2.11.0: + version "2.11.0" + resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.11.0.tgz#ec2b44977465b9dcb370021d5e6c019b19f36d06" + integrity sha512-8P1cDi8ebZyDxUyUprBXwidoEtiQAawYPGvpfb+Dg0G6JrQ+VozwOmm91xYC0vAv1+0VmLehEPb+isg4BGUFfA== + date-now@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b" @@ -8375,26 +8698,34 @@ detect-port@^1.3.0: address "^1.0.1" debug "^2.6.0" -devcert-san@^0.3.3: - version "0.3.3" - resolved "https://registry.yarnpkg.com/devcert-san/-/devcert-san-0.3.3.tgz#aa77244741b2d831771c011f22ee25e396ad4ba9" +devcert@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/devcert/-/devcert-1.1.0.tgz#255508c20dd21045e3020acf438491b745835dfd" + integrity sha512-ppyIBJueMMisYvJABaXESY10CwEm1pUXoLOm6TeBO2bbDUQE8ZjJPNADlu31I2InL7hduSgratzRG/dHUDF41w== dependencies: "@types/configstore" "^2.1.1" - "@types/debug" "^0.0.29" - "@types/get-port" "^0.0.4" - "@types/glob" "^5.0.30" - "@types/mkdirp" "^0.3.29" - "@types/node" "^7.0.11" - "@types/tmp" "^0.0.32" - command-exists "^1.2.2" + "@types/debug" "^0.0.30" + "@types/get-port" "^3.2.0" + "@types/glob" "^5.0.34" + "@types/lodash" "^4.14.92" + "@types/mkdirp" "^0.5.2" + "@types/node" "^8.5.7" + "@types/rimraf" "^2.0.2" + "@types/tmp" "^0.0.33" + application-config-path "^0.1.0" + command-exists "^1.2.4" configstore "^3.0.0" - debug "^2.6.3" - eol "^0.8.1" - get-port "^3.0.0" - glob "^7.1.1" + debug "^3.1.0" + eol "^0.9.1" + get-port "^3.2.0" + glob "^7.1.2" + lodash "^4.17.4" mkdirp "^0.5.1" - tmp "^0.0.31" - tslib "^1.6.0" + password-prompt "^1.0.4" + rimraf "^2.6.2" + sudo-prompt "^8.2.0" + tmp "^0.0.33" + tslib "^1.10.0" dezalgo@^1.0.0: version "1.0.3" @@ -8488,7 +8819,7 @@ dom-converter@^0.2: dependencies: utila "~0.4" -"dom-helpers@^2.4.0 || ^3.0.0", dom-helpers@^3.2.1: +"dom-helpers@^2.4.0 || ^3.0.0", dom-helpers@^3.4.0: version "3.4.0" resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-3.4.0.tgz#e9b369700f959f62ecde5a6babde4bccd9169af8" dependencies: @@ -8575,9 +8906,10 @@ dot-prop@^4.1.0, dot-prop@^4.1.1, dot-prop@^4.2.0: dependencies: is-obj "^1.0.0" -dot-prop@^5.1.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.1.1.tgz#85783b39f2a54e04ae1981489a0ef2b9719bbd7d" +dot-prop@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.2.0.tgz#c34ecc29556dc45f1f4c22697b6f4904e0cc4fcb" + integrity sha512-uEUyaDKoSQ1M4Oq8l45hSE26SnTxL6snNnqvK/VWx5wJhmff5z0FUVJDKDanor/6w3kzE3i7XZOk+7wC0EXr1A== dependencies: is-obj "^2.0.0" @@ -8652,10 +8984,15 @@ ejs@^2.6.1: version "2.7.1" resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.7.1.tgz#5b5ab57f718b79d4aca9254457afecd36fa80228" -electron-to-chromium@^1.3.103, electron-to-chromium@^1.3.295, electron-to-chromium@^1.3.47: +electron-to-chromium@^1.3.103, electron-to-chromium@^1.3.295: version "1.3.295" resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.295.tgz#4727eabfa2642f9b21c43ec17d794c004724657b" +electron-to-chromium@^1.3.247, electron-to-chromium@^1.3.378: + version "1.3.379" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.379.tgz#81dc5e82a3e72bbb830d93e15bc35eda2bbc910e" + integrity sha512-NK9DBBYEBb5f9D7zXI0hiE941gq3wkBeQmXs1ingigA/jnTg5mhwY2Z5egwA+ZI8OLGKCx0h1Cl8/xeuIBuLlg== + electron-to-chromium@^1.3.322: version "1.3.322" resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.322.tgz#a6f7e1c79025c2b05838e8e344f6e89eb83213a8" @@ -8700,14 +9037,6 @@ emojis-list@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" -emotion@^9.2.9: - version "9.2.12" - resolved "https://registry.yarnpkg.com/emotion/-/emotion-9.2.12.tgz#53925aaa005614e65c6e43db8243c843574d1ea9" - integrity sha512-hcx7jppaI8VoXxIWEhxpDW7I+B4kq9RNzQLmsrF6LY8BGKqe2N+gFAQr0EfuFucFlPs2A9HM4+xNj4NeqEWIOQ== - dependencies: - babel-plugin-emotion "^9.2.11" - create-emotion "^9.2.12" - encodeurl@^1.0.2, encodeurl@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" @@ -8841,9 +9170,10 @@ enzyme@3.10.0: rst-selector-parser "^2.2.3" string.prototype.trim "^1.1.2" -eol@^0.8.1: - version "0.8.1" - resolved "https://registry.yarnpkg.com/eol/-/eol-0.8.1.tgz#defc3224990c7eca73bb34461a56cf9dc24761d0" +eol@^0.9.1: + version "0.9.1" + resolved "https://registry.yarnpkg.com/eol/-/eol-0.9.1.tgz#f701912f504074be35c6117a5c4ade49cd547acd" + integrity sha512-Ds/TEoZjwggRoz/Q2O7SE3i4Jm66mqTDfmdHdq/7DKVk3bro9Q8h6WdXKdPqFLMoqxrDK5SVRzHVPOS6uuGtrg== eonasdan-bootstrap-datetimepicker@^4.17.47: version "4.17.47" @@ -8890,6 +9220,13 @@ error-stack-parser@^2.0.0: dependencies: stackframe "^1.1.0" +error-stack-parser@^2.0.4: + version "2.0.6" + resolved "https://registry.yarnpkg.com/error-stack-parser/-/error-stack-parser-2.0.6.tgz#5a99a707bd7a4c58a797902d48d82803ede6aad8" + integrity sha512-d51brTeqC+BHlwF0BhPtcYgF5nlzf9ZZ0ZIUQNZpc9ZB9qw5IJ2diTrBY9jlCJkTLITYPjmiX6OWCwH+fuyNgQ== + dependencies: + stackframe "^1.1.1" + error@^7.0.2: version "7.2.1" resolved "https://registry.yarnpkg.com/error/-/error-7.2.1.tgz#eab21a4689b5f684fc83da84a0e390de82d94894" @@ -8911,7 +9248,7 @@ es-abstract@^1.12.0, es-abstract@^1.13.0, es-abstract@^1.15.0, es-abstract@^1.5. string.prototype.trimleft "^2.1.0" string.prototype.trimright "^2.1.0" -es-abstract@^1.16.3, es-abstract@^1.17.0, es-abstract@^1.17.0-next.1, es-abstract@^1.17.4: +es-abstract@^1.16.3, es-abstract@^1.17.0, es-abstract@^1.17.0-next.1, es-abstract@^1.17.2, es-abstract@^1.17.4: version "1.17.4" resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.4.tgz#e3aedf19706b20e7c2594c35fc0d57605a79e184" dependencies: @@ -9006,7 +9343,7 @@ eslint-config-react-app@^3.0.6: dependencies: confusing-browser-globals "^1.0.6" -eslint-config-react-app@^5.1.0: +eslint-config-react-app@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/eslint-config-react-app/-/eslint-config-react-app-5.2.0.tgz#135110ba56a9e378f7acfe5f36e2ae76a2317899" dependencies: @@ -9053,10 +9390,6 @@ eslint-module-utils@^2.4.1: debug "^2.6.9" pkg-dir "^2.0.0" -eslint-plugin-eslint-plugin@^2.1.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-eslint-plugin/-/eslint-plugin-eslint-plugin-2.2.1.tgz#9d567f2bb6891935d5d3e741f66c9ac42dc688fd" - eslint-plugin-flowtype@2.50.1: version "2.50.1" resolved "https://registry.yarnpkg.com/eslint-plugin-flowtype/-/eslint-plugin-flowtype-2.50.1.tgz#36d4c961ac8b9e9e1dc091d3fba0537dad34ae8a" @@ -9069,9 +9402,10 @@ eslint-plugin-flowtype@^3.13.0: dependencies: lodash "^4.17.15" -eslint-plugin-graphql@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-graphql/-/eslint-plugin-graphql-3.1.0.tgz#ccf0d3c61961f6307170ac565c1fb0902dd4f11f" +eslint-plugin-graphql@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-graphql/-/eslint-plugin-graphql-3.1.1.tgz#640f7f73f12cee2f7145140bd2ff21694018bff5" + integrity sha512-VNu2AipS8P1BAnE/tcJ2EmBWjFlCnG+1jKdUlFNDQjocWZlFiPpMu9xYNXePoEXK+q+jG51M/6PdhOjEgJZEaQ== dependencies: graphql-config "^2.0.1" lodash "^4.11.1" @@ -9091,7 +9425,7 @@ eslint-plugin-import@2.14.0: read-pkg-up "^2.0.0" resolve "^1.6.0" -eslint-plugin-import@^2.19.1: +eslint-plugin-import@^2.20.1: version "2.20.1" resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.20.1.tgz#802423196dcb11d9ce8435a5fc02a6d3b46939b3" dependencies: @@ -9182,24 +9516,24 @@ eslint-plugin-react@7.11.1: jsx-ast-utils "^2.0.1" prop-types "^15.6.2" -eslint-plugin-react@^7.17.0: - version "7.17.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.17.0.tgz#a31b3e134b76046abe3cd278e7482bd35a1d12d7" +eslint-plugin-react@^7.18.0: + version "7.18.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.18.0.tgz#2317831284d005b30aff8afb7c4e906f13fa8e7e" dependencies: - array-includes "^3.0.3" + array-includes "^3.1.1" doctrine "^2.1.0" - eslint-plugin-eslint-plugin "^2.1.0" has "^1.0.3" jsx-ast-utils "^2.2.3" - object.entries "^1.1.0" - object.fromentries "^2.0.1" - object.values "^1.1.0" + object.entries "^1.1.1" + object.fromentries "^2.0.2" + object.values "^1.1.1" prop-types "^15.7.2" - resolve "^1.13.1" + resolve "^1.14.2" -eslint-plugin-react@^7.18.0: - version "7.18.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.18.0.tgz#2317831284d005b30aff8afb7c4e906f13fa8e7e" +eslint-plugin-react@^7.19.0: + version "7.19.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.19.0.tgz#6d08f9673628aa69c5559d33489e855d83551666" + integrity sha512-SPT8j72CGuAP+JFbT0sJHOB80TX/pu44gQ4vXH/cq+hQTiY2PuZ6IHkqXJV6x1b28GDdo1lbInjKUrrdUf0LOQ== dependencies: array-includes "^3.1.1" doctrine "^2.1.0" @@ -9209,7 +9543,10 @@ eslint-plugin-react@^7.18.0: object.fromentries "^2.0.2" object.values "^1.1.1" prop-types "^15.7.2" - resolve "^1.14.2" + resolve "^1.15.1" + semver "^6.3.0" + string.prototype.matchall "^4.0.2" + xregexp "^4.3.0" eslint-scope@3.7.1: version "3.7.1" @@ -9285,7 +9622,7 @@ eslint@5.6.0: table "^4.0.3" text-table "^0.2.0" -eslint@^6.7.2: +eslint@^6.8.0: version "6.8.0" resolved "https://registry.yarnpkg.com/eslint/-/eslint-6.8.0.tgz#62262d6729739f9275723824302fb227c8c93ffb" dependencies: @@ -9367,6 +9704,16 @@ estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1, estraverse@^4.2.0: version "4.3.0" resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" +estree-walker@^0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.6.1.tgz#53049143f40c6eb918b23671d1fe3219f3a1b362" + integrity sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w== + +estree-walker@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-1.0.1.tgz#31bc5d612c96b704106b477e6dd5d8aa138cb700" + integrity sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg== + esutils@^2.0.0, esutils@^2.0.2: version "2.0.3" resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" @@ -9381,7 +9728,7 @@ eval@^0.1.0, eval@^0.1.4: dependencies: require-like ">= 0.1.1" -event-source-polyfill@^1.0.11: +event-source-polyfill@^1.0.12: version "1.0.12" resolved "https://registry.yarnpkg.com/event-source-polyfill/-/event-source-polyfill-1.0.12.tgz#38546c4fee76dcadae2560185610ae46c5a39520" @@ -9501,10 +9848,6 @@ executable@4.1.1: dependencies: pify "^2.2.0" -exenv@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/exenv/-/exenv-1.2.2.tgz#2ae78e85d9894158670b03d47bec1f03bd91bb9d" - exit-hook@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/exit-hook/-/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8" @@ -9998,7 +10341,7 @@ find-replace@^3.0.0: dependencies: array-back "^3.0.1" -find-root@1.1.0, find-root@^1.1.0: +find-root@1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4" @@ -10111,17 +10454,12 @@ flush-write-stream@^1.0.0: inherits "^2.0.3" readable-stream "^2.3.6" -focus-trap-react@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/focus-trap-react/-/focus-trap-react-4.0.1.tgz#3cffd39341df3b2f546a4a2fe94cfdea66154683" - dependencies: - focus-trap "^3.0.0" - -focus-trap@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/focus-trap/-/focus-trap-3.0.0.tgz#4d2ee044ae66bf7eb6ebc6c93bd7a1039481d7dc" +focus-trap@4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/focus-trap/-/focus-trap-4.0.2.tgz#4ee2b96547c9ea0e4252a2d4b2cca68944194663" + integrity sha512-HtLjfAK7Hp2qbBtLS6wEznID1mPT+48ZnP2nkHzgjpL4kroYHg0CdqJ5cTXk+UO5znAxF5fRUkhdyfgrhh8Lzw== dependencies: - tabbable "^3.1.0" + tabbable "^3.1.2" xtend "^4.0.1" follow-redirects@1.5.10: @@ -10185,6 +10523,20 @@ fork-ts-checker-webpack-plugin-alt@0.4.14: resolve "^1.5.0" tapable "^1.0.0" +fork-ts-checker-webpack-plugin@1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-1.5.0.tgz#ce1d77190b44d81a761b10b6284a373795e41f0c" + integrity sha512-zEhg7Hz+KhZlBhILYpXy+Beu96gwvkROWJiTXOCyOOMMrdBIRPvsBpBqgTI4jfJGrJXcqGwJR8zsBGDmzY0jsA== + dependencies: + babel-code-frame "^6.22.0" + chalk "^2.4.1" + chokidar "^2.0.4" + micromatch "^3.1.10" + minimatch "^3.0.4" + semver "^5.6.0" + tapable "^1.0.0" + worker-rpc "^0.1.0" + form-data@~2.3.2: version "2.3.3" resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" @@ -10325,7 +10677,7 @@ fsevents@^1.2.3, fsevents@^1.2.7: nan "^2.12.1" node-pre-gyp "^0.12.0" -fsevents@^2.1.2, fsevents@~2.1.1: +fsevents@^2.1.2, fsevents@~2.1.1, fsevents@~2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.2.tgz#4c0a1fb34bc68e543b4b82a9ec392bfbda840805" @@ -10370,39 +10722,40 @@ functions-have-names@^1.1.1: version "1.2.0" resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.0.tgz#83da7583e4ea0c9ac5ff530f73394b033e0bf77d" -gatsby-cli@2.8.29, gatsby-cli@^2.8.29: - version "2.8.29" - resolved "https://registry.yarnpkg.com/gatsby-cli/-/gatsby-cli-2.8.29.tgz#53dd79d2ff01d555570cd2a81a51c95be585bd7e" +gatsby-cli@2.11.0, gatsby-cli@^2.11.0: + version "2.11.0" + resolved "https://registry.yarnpkg.com/gatsby-cli/-/gatsby-cli-2.11.0.tgz#922ee3d0bb97c5a4465ed1d259b476a2dc688a5f" + integrity sha512-JkT76SaJkJgPTcPrJ9YUav8hQe9INFoXWHyp49tXPyaP0MHsE1wx1cudlQfwqM8SG+hhQQhvOdP9nUZEfBBq6g== dependencies: - "@babel/code-frame" "^7.5.5" - "@babel/runtime" "^7.7.6" + "@babel/code-frame" "^7.8.3" + "@babel/runtime" "^7.8.7" "@hapi/joi" "^15.1.1" better-opn "^1.0.0" bluebird "^3.7.2" chalk "^2.4.2" - clipboardy "^2.1.0" + clipboardy "^2.2.0" common-tags "^1.8.0" - configstore "^5.0.0" + configstore "^5.0.1" convert-hrtime "^3.0.0" core-js "^2.6.11" envinfo "^7.5.0" execa "^3.4.0" fs-exists-cached "^1.0.0" fs-extra "^8.1.0" - gatsby-core-utils "^1.0.28" - gatsby-telemetry "^1.1.49" - hosted-git-info "^3.0.2" + gatsby-core-utils "^1.1.0" + gatsby-telemetry "^1.2.0" + hosted-git-info "^3.0.4" is-valid-path "^0.1.1" lodash "^4.17.15" meant "^1.0.1" node-fetch "^2.6.0" - object.entries "^1.1.0" + object.entries "^1.1.1" opentracing "^0.14.4" pretty-error "^2.1.1" progress "^2.0.3" - prompts "^2.3.0" - react "^16.12.0" - redux "^4.0.4" + prompts "^2.3.1" + react "^16.8.0" + redux "^4.0.5" resolve-cwd "^2.0.0" semver "^6.3.0" signal-exit "^3.0.2" @@ -10410,11 +10763,11 @@ gatsby-cli@2.8.29, gatsby-cli@^2.8.29: stack-trace "^0.0.10" strip-ansi "^5.2.0" update-notifier "^3.0.1" - uuid "3.3.3" + uuid "3.4.0" yargs "^12.0.5" - yurnalist "^1.1.1" + yurnalist "^1.1.2" optionalDependencies: - ink "^2.6.0" + ink "^2.7.1" ink-spinner "^3.0.1" gatsby-core-utils@^1.0.22: @@ -10424,36 +10777,41 @@ gatsby-core-utils@^1.0.22: ci-info "2.0.0" node-object-hash "^2.0.0" -gatsby-core-utils@^1.0.28: - version "1.0.28" - resolved "https://registry.yarnpkg.com/gatsby-core-utils/-/gatsby-core-utils-1.0.28.tgz#aa66e49cdcc1892e7817a32fdd806cf5e16ea309" +gatsby-core-utils@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/gatsby-core-utils/-/gatsby-core-utils-1.1.0.tgz#bbc62ed9ec3f4d379215b346d1837423d3a32f2e" + integrity sha512-rgSwkqOjc/Sclug1rRmIcZvinVE/XZmZYQVfkh+WqGsPXV6vrGp0wkRjHDZ259/LS2cOWv9AToSqBczdlpsiiw== dependencies: ci-info "2.0.0" + configstore "^5.0.1" node-object-hash "^2.0.0" -gatsby-graphiql-explorer@^0.2.33: - version "0.2.33" - resolved "https://registry.yarnpkg.com/gatsby-graphiql-explorer/-/gatsby-graphiql-explorer-0.2.33.tgz#0414f50369c82f3b156fbb1b0968d81ca8bc8bc3" +gatsby-graphiql-explorer@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/gatsby-graphiql-explorer/-/gatsby-graphiql-explorer-0.3.0.tgz#79db602d4b943e9b8309cdaed366a7a2b251a9f1" + integrity sha512-Q/Us+cTa4YeZqCZGYo3+f6hDwgxVi8uHYS+huw+aHpUyJfcQrBX7WV8g+izsgD8nrixhVsv21PtgI/DHNdnn4g== dependencies: - "@babel/runtime" "^7.7.6" + "@babel/runtime" "^7.8.7" -gatsby-link@^2.2.29: - version "2.2.29" - resolved "https://registry.yarnpkg.com/gatsby-link/-/gatsby-link-2.2.29.tgz#adde4f8d548728282f375affffa34d2c10bc5327" +gatsby-link@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/gatsby-link/-/gatsby-link-2.3.0.tgz#9982d5e6ab85698a35afe916bda81466fcb249e0" + integrity sha512-c9mbrJfgcc1s8rghLi+ShBC17eg0CDtu/+FZxwADm8NqvUT/rXGPvpto5NsLXrBt1J9REosAwsQp+fdInjjHPw== dependencies: - "@babel/runtime" "^7.7.6" - "@types/reach__router" "^1.2.6" + "@babel/runtime" "^7.8.7" + "@types/reach__router" "^1.3.0" prop-types "^15.7.2" -gatsby-page-utils@^0.0.39: - version "0.0.39" - resolved "https://registry.yarnpkg.com/gatsby-page-utils/-/gatsby-page-utils-0.0.39.tgz#5d331b40488b984b95ded9a36470e77c46a9400e" +gatsby-page-utils@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/gatsby-page-utils/-/gatsby-page-utils-0.1.0.tgz#fa9b093d0a0979036d8b4fb0cb2ad8106d7908cb" + integrity sha512-XVo2CBfMnMwWxEyPJVO/4h13SoHR2HBIkhJq+8fv79tWx5bNgG3P+FT7FD0w9yQvgN7B6jgxcWkebjZQx1zONQ== dependencies: - "@babel/runtime" "^7.7.6" + "@babel/runtime" "^7.8.7" bluebird "^3.7.2" - chokidar "3.3.0" + chokidar "3.3.1" fs-exists-cached "^1.0.0" - gatsby-core-utils "^1.0.28" + gatsby-core-utils "^1.1.0" glob "^7.1.6" lodash "^4.17.15" micromatch "^3.1.10" @@ -10507,14 +10865,15 @@ gatsby-plugin-mdx@^1.0.59: unist-util-remove "^1.0.3" unist-util-visit "^1.4.1" -gatsby-plugin-page-creator@^2.1.40: - version "2.1.40" - resolved "https://registry.yarnpkg.com/gatsby-plugin-page-creator/-/gatsby-plugin-page-creator-2.1.40.tgz#96c817781dfb1f191570c69d2e9af114a3cd23df" +gatsby-plugin-page-creator@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/gatsby-plugin-page-creator/-/gatsby-plugin-page-creator-2.2.0.tgz#e48257a0450fbc16742fc91a19b7a4e00330b6ff" + integrity sha512-wZtFANzcxl7Qs/234dkP0rKqePFnk/D1YyTPxfm946PUp5QtVOCzq3M6EewbECx76XDMCYngvImOgdasFqC0Ag== dependencies: - "@babel/runtime" "^7.7.6" + "@babel/runtime" "^7.8.7" bluebird "^3.7.2" fs-exists-cached "^1.0.0" - gatsby-page-utils "^0.0.39" + gatsby-page-utils "^0.1.0" glob "^7.1.6" lodash "^4.17.15" micromatch "^3.1.10" @@ -10525,12 +10884,13 @@ gatsby-plugin-react-helmet@^3.1.16: dependencies: "@babel/runtime" "^7.7.4" -gatsby-react-router-scroll@^2.1.21: - version "2.1.21" - resolved "https://registry.yarnpkg.com/gatsby-react-router-scroll/-/gatsby-react-router-scroll-2.1.21.tgz#bc4aeee424da034287b6fe64d6b08f47d6cb6881" +gatsby-react-router-scroll@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/gatsby-react-router-scroll/-/gatsby-react-router-scroll-2.2.0.tgz#1d5ca513ca2daae8c01dbb2023ca8d59b8c5f660" + integrity sha512-ZREAZ2x3P1eb9OLwwj2A2chBiGDD+dUkE/Hmr83IP2btaGgjPmwmrynK6WL+0XSGw21hhMWZhhBvZkIHQdUNog== dependencies: - "@babel/runtime" "^7.7.6" - scroll-behavior "^0.9.10" + "@babel/runtime" "^7.8.7" + scroll-behavior "^0.9.12" warning "^3.0.0" gatsby-source-filesystem@^2.1.40: @@ -10553,18 +10913,19 @@ gatsby-source-filesystem@^2.1.40: valid-url "^1.0.9" xstate "^4.6.7" -gatsby-telemetry@^1.1.49: - version "1.1.49" - resolved "https://registry.yarnpkg.com/gatsby-telemetry/-/gatsby-telemetry-1.1.49.tgz#f577738fe03a4aeef4bb5b481969e91fd52ca22d" +gatsby-telemetry@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/gatsby-telemetry/-/gatsby-telemetry-1.2.0.tgz#e69bfe2a0041cf6a4afc238af879d07453f15cbd" + integrity sha512-vvH2GXXXunW11QEuMAUsAeQDssg4ivt5R7tgfU+W58VuZeanXIHIg3hr7rncDuhrWFEzxdYaPDe7b6t8d26p8g== dependencies: - "@babel/code-frame" "^7.5.5" - "@babel/runtime" "^7.7.6" + "@babel/code-frame" "^7.8.3" + "@babel/runtime" "^7.8.7" bluebird "^3.7.2" boxen "^4.2.0" - configstore "^5.0.0" + configstore "^5.0.1" envinfo "^7.5.0" fs-extra "^8.1.0" - gatsby-core-utils "^1.0.28" + gatsby-core-utils "^1.1.0" git-up "4.0.1" is-docker "2.0.0" lodash "^4.17.15" @@ -10573,7 +10934,7 @@ gatsby-telemetry@^1.1.49: source-map "^0.7.3" stack-trace "^0.0.10" stack-utils "1.0.2" - uuid "3.3.3" + uuid "3.4.0" gatsby-theme-patternfly-org@^1.4.9: version "1.4.9" @@ -10608,62 +10969,65 @@ gatsby-transformer-react-docgen-typescript@^0.2.5: dependencies: react-docgen "^5.1.0" -gatsby@2.19.12: - version "2.19.12" - resolved "https://registry.yarnpkg.com/gatsby/-/gatsby-2.19.12.tgz#9819d47407386912ad89f8067d69cec4ef7aec23" +gatsby@2.20.2: + version "2.20.2" + resolved "https://registry.yarnpkg.com/gatsby/-/gatsby-2.20.2.tgz#6ac71097f27e732d7b38ae7dba2e1088d62ba7a5" + integrity sha512-Ye2E7Was/blR7uMg/3UiwN9jT/gRFD3LMXQoRuw7ut+//Lmkf3HTrEAPPjItn9YlZ7Lgqhpe1o4nz+qxXOxKKg== dependencies: - "@babel/code-frame" "^7.5.5" - "@babel/core" "^7.7.5" - "@babel/parser" "^7.7.5" - "@babel/polyfill" "^7.7.0" - "@babel/runtime" "^7.7.6" - "@babel/traverse" "^7.7.4" + "@babel/code-frame" "^7.8.3" + "@babel/core" "^7.8.7" + "@babel/parser" "^7.8.8" + "@babel/polyfill" "^7.8.7" + "@babel/runtime" "^7.8.7" + "@babel/traverse" "^7.8.6" "@hapi/joi" "^15.1.1" "@mikaelkristiansson/domready" "^1.0.10" "@pieh/friendly-errors-webpack-plugin" "1.7.0-chalk-2" - "@reach/router" "1.2.1" - "@typescript-eslint/eslint-plugin" "^2.11.0" - "@typescript-eslint/parser" "^2.11.0" + "@pmmmwh/react-refresh-webpack-plugin" "^0.2.0" + "@reach/router" "^1.3.3" + "@typescript-eslint/eslint-plugin" "^2.24.0" + "@typescript-eslint/parser" "^2.24.0" address "1.1.2" - autoprefixer "^9.7.3" - axios "^0.19.0" + autoprefixer "^9.7.4" + axios "^0.19.2" babel-core "7.0.0-bridge.0" - babel-eslint "^10.0.3" + babel-eslint "^10.1.0" babel-loader "^8.0.6" babel-plugin-add-module-exports "^0.3.3" babel-plugin-dynamic-import-node "^2.3.0" - babel-plugin-remove-graphql-queries "^2.7.23" - babel-preset-gatsby "^0.2.28" + babel-plugin-remove-graphql-queries "^2.8.0" + babel-preset-gatsby "^0.3.0" better-opn "1.0.0" better-queue "^3.8.10" bluebird "^3.7.2" - browserslist "3.2.8" - cache-manager "^2.10.1" + browserslist "^4.9.1" + cache-manager "^2.11.1" cache-manager-fs-hash "^0.0.7" chalk "^2.4.2" - chokidar "3.3.0" + chokidar "3.3.1" common-tags "^1.8.0" compression "^1.7.4" convert-hrtime "^3.0.0" - copyfiles "^2.1.1" + copyfiles "^2.2.0" core-js "^2.6.11" cors "^2.8.5" css-loader "^1.0.1" + date-fns "^2.11.0" debug "^3.2.6" del "^5.1.0" detect-port "^1.3.0" - devcert-san "^0.3.3" + devcert "^1.1.0" dotenv "^8.2.0" - eslint "^6.7.2" - eslint-config-react-app "^5.1.0" + eslint "^6.8.0" + eslint-config-react-app "^5.2.0" eslint-loader "^2.2.1" eslint-plugin-flowtype "^3.13.0" - eslint-plugin-graphql "^3.1.0" - eslint-plugin-import "^2.19.1" + eslint-plugin-graphql "^3.1.1" + eslint-plugin-import "^2.20.1" eslint-plugin-jsx-a11y "^6.2.3" - eslint-plugin-react "^7.17.0" + eslint-plugin-react "^7.19.0" eslint-plugin-react-hooks "^1.7.0" - event-source-polyfill "^1.0.11" + event-source-polyfill "^1.0.12" express "^4.17.1" express-graphql "^0.9.0" fast-levenshtein "^2.0.6" @@ -10671,19 +11035,19 @@ gatsby@2.19.12: flat "^4.1.0" fs-exists-cached "1.0.0" fs-extra "^8.1.0" - gatsby-cli "^2.8.29" - gatsby-core-utils "^1.0.28" - gatsby-graphiql-explorer "^0.2.33" - gatsby-link "^2.2.29" - gatsby-plugin-page-creator "^2.1.40" - gatsby-react-router-scroll "^2.1.21" - gatsby-telemetry "^1.1.49" + gatsby-cli "^2.11.0" + gatsby-core-utils "^1.1.0" + gatsby-graphiql-explorer "^0.3.0" + gatsby-link "^2.3.0" + gatsby-plugin-page-creator "^2.2.0" + gatsby-react-router-scroll "^2.2.0" + gatsby-telemetry "^1.2.0" glob "^7.1.6" got "8.3.2" - graphql "^14.5.8" - graphql-compose "^6.3.7" + graphql "^14.6.0" + graphql-compose "^6.3.8" graphql-playground-middleware-express "^1.7.12" - hasha "^5.1.0" + hasha "^5.2.0" invariant "^2.2.4" is-relative "^1.0.0" is-relative-url "^3.0.0" @@ -10691,58 +11055,60 @@ gatsby@2.19.12: jest-worker "^24.9.0" json-loader "^0.5.7" json-stringify-safe "^5.0.1" + latest-version "5.1.0" lodash "^4.17.15" lokijs "^1.5.8" md5 "^2.2.1" md5-file "^3.2.3" micromatch "^3.1.10" mime "^2.4.4" - mini-css-extract-plugin "^0.8.0" + mini-css-extract-plugin "^0.8.2" mitt "^1.2.0" mkdirp "^0.5.1" moment "^2.24.0" name-all-modules-plugin "^1.0.1" normalize-path "^2.1.1" - null-loader "^0.1.1" + null-loader "^3.0.0" opentracing "^0.14.4" optimize-css-assets-webpack-plugin "^5.0.3" p-defer "^3.0.0" parseurl "^1.3.3" physical-cpu-count "^2.0.0" - pnp-webpack-plugin "^1.5.0" - postcss-flexbugs-fixes "^3.3.1" - postcss-loader "^2.1.6" - prompts "^2.3.0" + pnp-webpack-plugin "^1.6.4" + postcss-flexbugs-fixes "^4.2.0" + postcss-loader "^3.0.0" + prompts "^2.3.1" prop-types "^15.7.2" raw-loader "^0.5.1" react-dev-utils "^4.2.3" react-error-overlay "^3.0.0" - react-hot-loader "^4.12.18" - redux "^4.0.4" + react-hot-loader "^4.12.20" + react-refresh "^0.7.0" + redux "^4.0.5" redux-thunk "^2.3.0" semver "^5.7.1" shallow-compare "^1.2.2" sift "^5.1.0" signal-exit "^3.0.2" - slugify "^1.3.6" + slugify "^1.4.0" socket.io "^2.3.0" stack-trace "^0.0.10" string-similarity "^1.2.2" style-loader "^0.23.1" - terser-webpack-plugin "^1.4.2" + terser-webpack-plugin "^1.4.3" "true-case-path" "^2.2.1" type-of "^2.0.1" url-loader "^1.1.2" - util.promisify "^1.0.0" - uuid "^3.3.3" + util.promisify "^1.0.1" + uuid "^3.4.0" v8-compile-cache "^1.1.2" - webpack "~4.41.2" + webpack "~4.42.0" webpack-dev-middleware "^3.7.2" - webpack-dev-server "^3.9.0" + webpack-dev-server "^3.10.3" webpack-hot-middleware "^2.25.0" webpack-merge "^4.2.2" - webpack-stats-plugin "^0.3.0" - xstate "^4.7.2" + webpack-stats-plugin "^0.3.1" + xstate "^4.8.0" yaml-loader "^0.5.0" gauge@~1.2.5: @@ -10820,9 +11186,10 @@ get-pkg-repo@^1.0.0: parse-github-repo-url "^1.3.0" through2 "^2.0.0" -get-port@^3.0.0: +get-port@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/get-port/-/get-port-3.2.0.tgz#dd7ce7de187c06c8bf353796ac71e099f0980ebc" + integrity sha1-3Xzn3hh8Bsi/NTeWrHHgmfCYDrw= get-port@^4.2.0: version "4.2.0" @@ -11265,9 +11632,10 @@ graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6 version "4.2.3" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423" -graphql-compose@^6.3.7: - version "6.3.7" - resolved "https://registry.yarnpkg.com/graphql-compose/-/graphql-compose-6.3.7.tgz#a252076818260d861bc01d5a8d1fcfc90cda3eff" +graphql-compose@^6.3.8: + version "6.3.8" + resolved "https://registry.yarnpkg.com/graphql-compose/-/graphql-compose-6.3.8.tgz#9f82a85d5001a83adf1f7c4d3b5e5f72c432a062" + integrity sha512-o0/jzQEMIpSjryLKwmD1vGrCubiPxD0LxlGTgWDSu38TBepu2GhugC9gYgTEbtiCZAHPtvkZ90SzzABOWZyQLA== dependencies: graphql-type-json "^0.2.4" object-path "^0.11.4" @@ -11309,9 +11677,10 @@ graphql-type-json@^0.2.4: version "0.2.4" resolved "https://registry.yarnpkg.com/graphql-type-json/-/graphql-type-json-0.2.4.tgz#545af27903e40c061edd30840a272ea0a49992f9" -graphql@^14.5.8: - version "14.5.8" - resolved "https://registry.yarnpkg.com/graphql/-/graphql-14.5.8.tgz#504f3d3114cb9a0a3f359bbbcf38d9e5bf6a6b3c" +graphql@^14.6.0: + version "14.6.0" + resolved "https://registry.yarnpkg.com/graphql/-/graphql-14.6.0.tgz#57822297111e874ea12f5cd4419616930cd83e49" + integrity sha512-VKzfvHEKybTKjQVpTFrA5yUq2S9ihcZvfJAtsDBBCuV6wauPu1xl/f9ehgVf0FcEJJs4vz6ysb/ZMkGigQZseg== dependencies: iterall "^1.2.2" @@ -11351,6 +11720,14 @@ gzip-size@5.0.0: duplexer "^0.1.1" pify "^3.0.0" +gzip-size@5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-5.1.1.tgz#cb9bee692f87c0612b232840a873904e4c135274" + integrity sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA== + dependencies: + duplexer "^0.1.1" + pify "^4.0.1" + h2x-core@^1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/h2x-core/-/h2x-core-1.1.1.tgz#7fb31ab28e30ebf11818e3c7d183487ecf489f9f" @@ -11518,9 +11895,10 @@ hash.js@^1.0.0, hash.js@^1.0.3: inherits "^2.0.3" minimalistic-assert "^1.0.1" -hasha@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/hasha/-/hasha-5.1.0.tgz#dd05ccdfcfe7dab626247ce2a58efe461922f4ca" +hasha@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/hasha/-/hasha-5.2.0.tgz#33094d1f69c40a4a6ac7be53d5fe3ff95a269e0c" + integrity sha512-2W+jKdQbAdSIrggA8Q35Br8qKadTrqCTC8+XZvBWepKDK6m9XkX6Iz1a2yh2KP01kzAR/dpuMeUnocoLYDcskw== dependencies: is-stream "^2.0.0" type-fest "^0.8.0" @@ -11651,9 +12029,10 @@ hosted-git-info@^2.1.4, hosted-git-info@^2.4.2, hosted-git-info@^2.7.1: version "2.8.5" resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.5.tgz#759cfcf2c4d156ade59b0b2dfabddc42a6b9c70c" -hosted-git-info@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-3.0.2.tgz#8b7e3bd114b59b51786f8bade0f39ddc80275a97" +hosted-git-info@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-3.0.4.tgz#be4973eb1fd2737b11c9c7c19380739bb249f60d" + integrity sha512-4oT62d2jwSDBbLLFLZE+1vPuQ1h8p9wjrJ8Mqx5TjsyWmBMV5B13eJqn8pvluqubLf3cJPTfiYCIwNwDNmzScQ== dependencies: lru-cache "^5.1.1" @@ -12064,9 +12443,10 @@ ink-spinner@^3.0.1: cli-spinners "^1.0.0" prop-types "^15.5.10" -ink@^2.6.0: - version "2.7.0" - resolved "https://registry.yarnpkg.com/ink/-/ink-2.7.0.tgz#ea29aad91e60cf8cb7c9b85fc78d5d098a0856d3" +ink@^2.7.1: + version "2.7.1" + resolved "https://registry.yarnpkg.com/ink/-/ink-2.7.1.tgz#ff1c75b4b022924e2993af62297fa0e48e85618b" + integrity sha512-s7lJuQDJEdjqtaIWhp3KYHl6WV3J04U9zoQ6wVc+Xoa06XM27SXUY57qC5DO46xkF0CfgXMKkKNcgvSu/SAEpA== dependencies: ansi-escapes "^4.2.1" arrify "^2.0.1" @@ -12143,7 +12523,26 @@ inquirer@6.2.1: run-async "^2.2.0" rxjs "^6.1.0" string-width "^2.1.0" - strip-ansi "^5.0.0" + strip-ansi "^5.0.0" + through "^2.3.6" + +inquirer@6.5.0: + version "6.5.0" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.5.0.tgz#2303317efc9a4ea7ec2e2df6f86569b734accf42" + integrity sha512-scfHejeG/lVZSpvCXpsB4j/wQNPM5JC8kiElOI0OUTwmc1RTpXr4H32/HOlQHcZiYl2z2VElwuCVDRG8vFmbnA== + dependencies: + ansi-escapes "^3.2.0" + chalk "^2.4.2" + cli-cursor "^2.1.0" + cli-width "^2.0.0" + external-editor "^3.0.3" + figures "^2.0.0" + lodash "^4.17.12" + mute-stream "0.0.7" + run-async "^2.2.0" + rxjs "^6.4.0" + string-width "^2.1.0" + strip-ansi "^5.1.0" through "^2.3.6" inquirer@^1.0.2: @@ -12230,6 +12629,15 @@ internal-ip@^4.3.0: default-gateway "^4.2.0" ipaddr.js "^1.9.0" +internal-slot@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.2.tgz#9c2e9fb3cd8e5e4256c6f45fe310067fcfa378a3" + integrity sha512-2cQNfwhAfJIkU4KZPkDI+Gj5yNNnbqi40W9Gge6dfnk4TocEVm00B3bdiL+JINrbGJil2TeHvM4rETGzk/f/0g== + dependencies: + es-abstract "^1.17.0-next.1" + has "^1.0.3" + side-channel "^1.0.2" + interpret@^1.0.0, interpret@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.2.0.tgz#d5061a6224be58e8083985f5014d844359576296" @@ -12349,7 +12757,7 @@ is-buffer@^1.0.2, is-buffer@^1.1.4, is-buffer@^1.1.5, is-buffer@~1.1.1: version "1.1.6" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" -is-buffer@^2.0.0, is-buffer@^2.0.2, is-buffer@~2.0.3: +is-buffer@^2.0.0, is-buffer@~2.0.3: version "2.0.4" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.4.tgz#3e572f23c8411a5cfd9557c849e3665e0b290623" @@ -12547,6 +12955,11 @@ is-map@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.1.tgz#520dafc4307bb8ebc33b813de5ce7c9400d644a1" +is-module@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591" + integrity sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE= + is-npm@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-1.0.0.tgz#f2fb63a65e4905b406c86072765a1a4dc793b9f4" @@ -12663,6 +13076,13 @@ is-redirect@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24" +is-reference@^1.1.2: + version "1.1.4" + resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-1.1.4.tgz#3f95849886ddb70256a3e6d062b1a68c13c51427" + integrity sha512-uJA/CDPO3Tao3GTrxYn6AwkM4nUPJiGGYu5+cB8qbC7WGFlrKZbiRo7SFKxUAEpFUfiHofWCXBUNhvYJMh+6zw== + dependencies: + "@types/estree" "0.0.39" + is-regex@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" @@ -12707,6 +13127,11 @@ is-root@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-root/-/is-root-2.0.0.tgz#838d1e82318144e5a6f77819d90207645acc7019" +is-root@2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-root/-/is-root-2.1.0.tgz#809e18129cf1129644302a4f8544035d51984a9c" + integrity sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg== + is-scoped@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-scoped/-/is-scoped-1.0.0.tgz#449ca98299e713038256289ecb2b540dc437cb30" @@ -13945,6 +14370,13 @@ json5@^2.1.0, json5@^2.1.1: dependencies: minimist "^1.2.0" +json5@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.2.tgz#43ef1f0af9835dd624751a6b7fa48874fb2d608e" + integrity sha512-MoUOQ4WdiN3yxhm7NEVJSJrieAo5hNSLQ5sj05OTRHPL9HOBy8u4Bu88jsC1jvqAdN+E1bJmsUcZH+1HQxliqQ== + dependencies: + minimist "^1.2.5" + jsonfile@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-3.0.1.tgz#a5ecc6f65f53f662c4415c7675a0331d0992ec66" @@ -14214,18 +14646,18 @@ last-call-webpack-plugin@^3.0.0: lodash "^4.17.5" webpack-sources "^1.1.0" +latest-version@5.1.0, latest-version@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-5.1.0.tgz#119dfe908fe38d15dfa43ecd13fa12ec8832face" + dependencies: + package-json "^6.3.0" + latest-version@^3.0.0, latest-version@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-3.1.0.tgz#a205383fea322b33b5ae3b18abee0dc2f356ee15" dependencies: package-json "^4.0.0" -latest-version@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-5.1.0.tgz#119dfe908fe38d15dfa43ecd13fa12ec8832face" - dependencies: - package-json "^6.3.0" - lazy-ass@1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/lazy-ass/-/lazy-ass-1.6.0.tgz#7999655e8646c17f089fdd187d150d3324d54513" @@ -14509,7 +14941,7 @@ lodash.camelcase@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" -lodash.clonedeep@^4.5.0: +lodash.clonedeep@4.5.0, lodash.clonedeep@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" @@ -14677,10 +15109,15 @@ log-update@^3.0.0: cli-cursor "^2.1.0" wrap-ansi "^5.0.0" -loglevel@^1.4.1, loglevel@^1.6.4: +loglevel@^1.4.1: version "1.6.4" resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.6.4.tgz#f408f4f006db8354d0577dcf6d33485b3cb90d56" +loglevel@^1.6.6: + version "1.6.7" + resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.6.7.tgz#b3e034233188c68b889f5b862415306f565e2c56" + integrity sha512-cY2eLFrQSAfVPhCgH1s7JI73tMbg9YC3v3+ZHVW67sBS7UxWzNEk/ZBbSfLykBWHp33dqqtOv82gjhKEi81T/A== + lokijs@^1.5.8: version "1.5.8" resolved "https://registry.yarnpkg.com/lokijs/-/lokijs-1.5.8.tgz#9296f288edb2147389ec692fc972c428c59179d1" @@ -14896,6 +15333,13 @@ magic-string@^0.25.1: dependencies: sourcemap-codec "^1.4.4" +magic-string@^0.25.2, magic-string@^0.25.5: + version "0.25.7" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.7.tgz#3f497d6fd34c669c6798dcb821f2ef31f5445051" + integrity sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA== + dependencies: + sourcemap-codec "^1.4.4" + make-dir@^1.0.0: version "1.3.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c" @@ -15224,6 +15668,11 @@ methods@~1.1.0, methods@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" +microevent.ts@~0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/microevent.ts/-/microevent.ts-0.1.1.tgz#70b09b83f43df5172d0205a63025bce0f7357fa0" + integrity sha512-jo1OfR4TaEwd5HOrt5+tAZ9mqT4jmpNAusXtyfNzqVm9uiSYFZlKM1wYL4oU7azZW/PxQW53wM0S6OR1JHNa2g== + micromatch@^2.3.11: version "2.3.11" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" @@ -15334,9 +15783,10 @@ mini-css-extract-plugin@0.4.3: schema-utils "^1.0.0" webpack-sources "^1.1.0" -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" +mini-css-extract-plugin@^0.8.2: + version "0.8.2" + resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-0.8.2.tgz#a875e169beb27c88af77dd962771c9eedc3da161" + integrity sha512-a3Y4of27Wz+mqK3qrcd3VhYz6cU0iW5x3Sgvqzbj+XmlrSizmvu8QQMl5oMYJjgHOC4iyt+w7l4umP+dQeW3bw== dependencies: loader-utils "^1.1.0" normalize-url "1.9.1" @@ -15382,6 +15832,11 @@ minimist@1.2.0, minimist@^1.1.0, minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2 version "1.2.0" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" +minimist@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" + integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== + minimist@~0.0.1: version "0.0.10" resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" @@ -15861,6 +16316,13 @@ node-pre-gyp@^0.12.0: semver "^5.3.0" tar "^4" +node-releases@^1.1.29, node-releases@^1.1.52: + version "1.1.52" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.52.tgz#bcffee3e0a758e92e44ecfaecd0a47554b0bcba9" + integrity sha512-snSiT1UypkgGt2wxPqS6ImEUICbNCMb31yaxWrOLXjhlt2z2/IBpaOxzONExqSm4y5oLnAqjjRWu+wsDzK5yNQ== + dependencies: + semver "^6.3.0" + node-releases@^1.1.3, node-releases@^1.1.38: version "1.1.38" resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.38.tgz#d81b365df2936654ba37f509ba2fbe91eff2578b" @@ -15879,6 +16341,29 @@ node-releases@^1.1.47: dependencies: semver "^6.3.0" +node-sass@4: + version "4.13.1" + resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-4.13.1.tgz#9db5689696bb2eec2c32b98bfea4c7a2e992d0a3" + integrity sha512-TTWFx+ZhyDx1Biiez2nB0L3YrCZ/8oHagaDalbuBSlqXgUPsdkUSzJsVxeDO9LtPB49+Fh3WQl3slABo6AotNw== + dependencies: + async-foreach "^0.1.3" + chalk "^1.1.1" + cross-spawn "^3.0.0" + gaze "^1.0.0" + get-stdin "^4.0.1" + glob "^7.0.3" + in-publish "^2.0.0" + lodash "^4.17.15" + meow "^3.7.0" + mkdirp "^0.5.1" + nan "^2.13.2" + node-gyp "^3.8.0" + npmlog "^4.0.0" + request "^2.88.0" + sass-graph "^2.2.4" + stdout-stream "^1.4.0" + "true-case-path" "^1.0.2" + node-sass@^4.12.0: version "4.13.0" resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-4.13.0.tgz#b647288babdd6a1cb726de4545516b31f90da066" @@ -15931,12 +16416,6 @@ nopt@^4.0.1: abbrev "1" osenv "^0.1.4" -nopt@~1.0.10: - version "1.0.10" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-1.0.10.tgz#6ddd21bd2a31417b92727dd585f8a6f37608ebee" - dependencies: - abbrev "1" - normalize-package-data@^2.0.0, normalize-package-data@^2.3.0, normalize-package-data@^2.3.2, normalize-package-data@^2.3.4, normalize-package-data@^2.3.5, normalize-package-data@^2.4.0, normalize-package-data@^2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" @@ -16091,9 +16570,13 @@ nth-check@^1.0.2, nth-check@~1.0.1: dependencies: boolbase "~1.0.0" -null-loader@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/null-loader/-/null-loader-0.1.1.tgz#17be9abfcd3ff0e1512f6fc4afcb1f5039378fae" +null-loader@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/null-loader/-/null-loader-3.0.0.tgz#3e2b6c663c5bda8c73a54357d8fa0708dc61b245" + integrity sha512-hf5sNLl8xdRho4UPBOOeoIwT3WhjYcMUQm0zj44EhD6UscMAz72o2udpoDFBgykucdEDGIcd6SXbc/G6zssbzw== + dependencies: + loader-utils "^1.2.3" + schema-utils "^1.0.0" num2fraction@^1.2.2: version "1.2.2" @@ -16218,6 +16701,14 @@ object.getownpropertydescriptors@^2.0.3: define-properties "^1.1.2" es-abstract "^1.5.1" +object.getownpropertydescriptors@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz#369bf1f9592d8ab89d712dced5cb81c7c5352649" + integrity sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.0-next.1" + object.map@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/object.map/-/object.map-1.0.1.tgz#cf83e59dc8fcc0ad5f4250e1f78b3b81bd801d37" @@ -16880,6 +17371,14 @@ passwd-user@^3.0.0: dependencies: execa "^1.0.0" +password-prompt@^1.0.4: + version "1.1.2" + resolved "https://registry.yarnpkg.com/password-prompt/-/password-prompt-1.1.2.tgz#85b2f93896c5bd9e9f2d6ff0627fa5af3dc00923" + integrity sha512-bpuBhROdrhuN3E7G/koAju0WjVw9/uQOG5Co5mokNj0MiOSBVZS1JTwM4zl55hu0WFmIEFvO9cU9sJQiBIYeIA== + dependencies: + ansi-escapes "^3.1.0" + cross-spawn "^6.0.5" + path-browserify@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.1.tgz#e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a" @@ -17051,6 +17550,11 @@ picomatch@^2.0.4, picomatch@^2.0.5: version "2.0.7" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.0.7.tgz#514169d8c7cd0bdbeecc8a2609e34a7163de69f6" +picomatch@^2.0.7: + version "2.2.1" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.1.tgz#21bac888b6ed8601f831ce7816e335bc779f0a4a" + integrity sha512-ISBaA8xQNmwELC7eOjqFKMESB2VIqt4PPDD0nsS95b/9dZXvVKOlz9keMSnoGGKcOHXfTvDD6WMaRoSc9UuhRA== + pify@^2.0.0, pify@^2.2.0, pify@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" @@ -17103,6 +17607,13 @@ pkg-up@2.0.0, pkg-up@^2.0.0: dependencies: find-up "^2.1.0" +pkg-up@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-3.1.0.tgz#100ec235cc150e4fd42519412596a28512a0def5" + integrity sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA== + dependencies: + find-up "^3.0.0" + pkginfo@0.3.x: version "0.3.1" resolved "https://registry.yarnpkg.com/pkginfo/-/pkginfo-0.3.1.tgz#5b29f6a81f70717142e09e765bbeab97b4f81e21" @@ -17145,11 +17656,12 @@ pnp-webpack-plugin@1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/pnp-webpack-plugin/-/pnp-webpack-plugin-1.1.0.tgz#947a96d1db94bb5a1fc014d83b581e428699ac8c" -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" +pnp-webpack-plugin@^1.6.4: + version "1.6.4" + resolved "https://registry.yarnpkg.com/pnp-webpack-plugin/-/pnp-webpack-plugin-1.6.4.tgz#c9711ac4dc48a685dabafc86f8b6dd9f8df84149" + integrity sha512-7Wjy+9E3WwLOEL30D+m8TSTF7qJJUJLONBnwQp0518siuMxUQUbgZwssaFX+QKlZkjHZcw/IpZCt/H0srrntSg== dependencies: - ts-pnp "^1.1.2" + ts-pnp "^1.1.6" popper.js@^1.16.0: version "1.16.0" @@ -17308,11 +17820,12 @@ postcss-flexbugs-fixes@4.1.0: dependencies: postcss "^7.0.0" -postcss-flexbugs-fixes@^3.3.1: - version "3.3.1" - resolved "https://registry.yarnpkg.com/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-3.3.1.tgz#0783cc7212850ef707f97f8bc8b6fb624e00c75d" +postcss-flexbugs-fixes@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-4.2.0.tgz#662b3dcb6354638b9213a55eed8913bcdc8d004a" + integrity sha512-QRE0n3hpkxxS/OGvzOa+PDuy4mh/Jg4o9ui22/ko5iGYOG3M5dfJabjnAZjTdh2G9F85c7Hv8hWcEDEKW/xceQ== dependencies: - postcss "^6.0.1" + postcss "^7.0.26" postcss-focus-visible@^4.0.0: version "4.0.0" @@ -17367,7 +17880,7 @@ postcss-load-config@^2.0.0: cosmiconfig "^5.0.0" import-cwd "^2.0.0" -postcss-loader@3.0.0: +postcss-loader@3.0.0, postcss-loader@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-3.0.0.tgz#6b97943e47c72d845fa9e03f273773d4e8dd6c2d" dependencies: @@ -17376,15 +17889,6 @@ postcss-loader@3.0.0: postcss-load-config "^2.0.0" schema-utils "^1.0.0" -postcss-loader@^2.1.6: - version "2.1.6" - resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-2.1.6.tgz#1d7dd7b17c6ba234b9bed5af13e0bea40a42d740" - dependencies: - loader-utils "^1.1.0" - postcss "^6.0.0" - postcss-load-config "^2.0.0" - schema-utils "^0.4.0" - postcss-logical@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/postcss-logical/-/postcss-logical-3.0.0.tgz#2495d0f8b82e9f262725f75f9401b34e7b45d5b5" @@ -17724,7 +18228,7 @@ postcss-values-parser@^2.0.0, postcss-values-parser@^2.0.1: indexes-of "^1.0.1" uniq "^1.0.1" -postcss@^6.0.0, postcss@^6.0.1, postcss@^6.0.23: +postcss@^6.0.1, postcss@^6.0.23: version "6.0.23" resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.23.tgz#61c82cc328ac60e677645f979054eb98bc0e3324" dependencies: @@ -17906,12 +18410,13 @@ prompts@^2.0.1: kleur "^3.0.3" sisteransi "^1.0.3" -prompts@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.3.0.tgz#a444e968fa4cc7e86689a74050685ac8006c4cc4" +prompts@^2.3.1: + version "2.3.2" + resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.3.2.tgz#480572d89ecf39566d2bd3fe2c9fccb7c4c0b068" + integrity sha512-Q06uKs2CkNYVID0VqwfAl9mipo99zkBv/n2JtWY89Yxa3ZabWSrs0e2KTudKVa3peLUvYXMefDqIleLPVUBZMA== dependencies: kleur "^3.0.3" - sisteransi "^1.0.3" + sisteransi "^1.0.4" promzard@^0.3.0: version "0.3.0" @@ -18226,6 +18731,37 @@ react-dev-utils@^7.0.1: strip-ansi "5.0.0" text-table "0.2.0" +react-dev-utils@^9.1.0: + version "9.1.0" + resolved "https://registry.yarnpkg.com/react-dev-utils/-/react-dev-utils-9.1.0.tgz#3ad2bb8848a32319d760d0a84c56c14bdaae5e81" + integrity sha512-X2KYF/lIGyGwP/F/oXgGDF24nxDA2KC4b7AFto+eqzc/t838gpSGiaU8trTqHXOohuLxxc5qi1eDzsl9ucPDpg== + dependencies: + "@babel/code-frame" "7.5.5" + address "1.1.2" + browserslist "4.7.0" + chalk "2.4.2" + cross-spawn "6.0.5" + detect-port-alt "1.1.6" + escape-string-regexp "1.0.5" + filesize "3.6.1" + find-up "3.0.0" + fork-ts-checker-webpack-plugin "1.5.0" + global-modules "2.0.0" + globby "8.0.2" + gzip-size "5.1.1" + immer "1.10.0" + inquirer "6.5.0" + is-root "2.1.0" + loader-utils "1.2.3" + open "^6.3.0" + pkg-up "2.0.0" + react-error-overlay "^6.0.3" + recursive-readdir "2.2.2" + shell-quote "1.7.2" + sockjs-client "1.4.0" + strip-ansi "5.2.0" + text-table "0.2.0" + react-docgen@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/react-docgen/-/react-docgen-5.1.0.tgz#8e69f1d2e9153c535c20162ea1b85878b059b474" @@ -18266,6 +18802,11 @@ react-error-overlay@^5.1.4: version "5.1.6" resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-5.1.6.tgz#0cd73407c5d141f9638ae1e0c63e7b2bf7e9929d" +react-error-overlay@^6.0.3: + version "6.0.6" + resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.6.tgz#ac4d9dc4c1b5c536c2c312bf66aa2b09bfa384e2" + integrity sha512-Yzpno3enVzSrSCnnljmr4b/2KUQSMZaPuqmS26t9k4nW7uwJk6STWmH9heNjPuvqUTO3jOSPkHoKgO4+Dw7uIw== + react-fast-compare@^2.0.0, react-fast-compare@^2.0.2: version "2.0.4" resolved "https://registry.yarnpkg.com/react-fast-compare/-/react-fast-compare-2.0.4.tgz#e84b4d455b0fec113e0402c329352715196f81f9" @@ -18279,9 +18820,10 @@ react-helmet@^5.2.1: react-fast-compare "^2.0.2" react-side-effect "^1.1.0" -react-hot-loader@^4.12.18: - version "4.12.18" - resolved "https://registry.yarnpkg.com/react-hot-loader/-/react-hot-loader-4.12.18.tgz#a9029e34af2690d76208f9a35189d73c2dfea6a7" +react-hot-loader@^4.12.20: + version "4.12.20" + resolved "https://registry.yarnpkg.com/react-hot-loader/-/react-hot-loader-4.12.20.tgz#c2c42362a7578e5c30357a5ff7afa680aa0bef8a" + integrity sha512-lPlv1HVizi0lsi+UFACBJaydtRYILWkfHAC/lyCs6ZlAxlOZRQIfYHDqiGaRvL/GF7zyti+Qn9XpnDAUvdFA4A== dependencies: fast-levenshtein "^2.0.6" global "^4.3.0" @@ -18327,6 +18869,11 @@ react-reconciler@^0.24.0: prop-types "^15.6.2" scheduler "^0.18.0" +react-refresh@^0.7.0: + version "0.7.2" + resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.7.2.tgz#f30978d21eb8cac6e2f2fde056a7d04f6844dd50" + integrity sha512-u5l7fhAJXecWUJzVxzMRU2Zvw8m4QmDNHlTrT5uo3KBlYBhmChd7syAakBoay1yIiVhx/8Fi7a6v6kQZfsw81Q== + react-router-dom@^4.3.1: version "4.3.1" resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-4.3.1.tgz#4c2619fc24c4fa87c9fd18f4fb4a43fe63fbd5c6" @@ -18435,14 +18982,6 @@ react-virtualized@^9.21.1: prop-types "^15.6.0" react-lifecycles-compat "^3.0.4" -react@^16.12.0: - version "16.12.0" - resolved "https://registry.yarnpkg.com/react/-/react-16.12.0.tgz#0c0a9c6a142429e3614834d5a778e18aa78a0b83" - dependencies: - loose-envify "^1.1.0" - object-assign "^4.1.1" - prop-types "^15.6.2" - react@^16.4.0, react@^16.8.0: version "16.11.0" resolved "https://registry.yarnpkg.com/react/-/react-16.11.0.tgz#d294545fe62299ccee83363599bf904e4a07fdbb" @@ -18621,6 +19160,13 @@ readdirp@~3.2.0: dependencies: picomatch "^2.0.4" +readdirp@~3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.3.0.tgz#984458d13a1e42e2e9f5841b129e162f369aff17" + integrity sha512-zz0pAkSPOXXm1viEwygWIPSPkcBYjW1xU5j/JBh5t9bGCJwa6f9+BJa6VaB2g+b55yVrmXzqkyLf4xaWYM0IkQ== + dependencies: + picomatch "^2.0.7" + realpath-native@^1.0.0, realpath-native@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/realpath-native/-/realpath-native-1.1.0.tgz#2003294fea23fb0672f2476ebe22fcf498a2d65c" @@ -18671,9 +19217,10 @@ redux-thunk@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/redux-thunk/-/redux-thunk-2.3.0.tgz#51c2c19a185ed5187aaa9a2d08b666d0d6467622" -redux@^4.0.4: - version "4.0.4" - resolved "https://registry.yarnpkg.com/redux/-/redux-4.0.4.tgz#4ee1aeb164b63d6a1bcc57ae4aa0b6e6fa7a3796" +redux@^4.0.5: + version "4.0.5" + resolved "https://registry.yarnpkg.com/redux/-/redux-4.0.5.tgz#4db5de5816e17891de8a80c424232d06f051d93f" + integrity sha512-VSz1uMAH24DM6MF72vcojpYPtrTUu3ByVWfPL1nPfVRb5mZVTve5GnNCUV53QM/BZ66xfWrm0CTWoM+Xlz8V1w== dependencies: loose-envify "^1.4.0" symbol-observable "^1.2.0" @@ -18688,6 +19235,13 @@ regenerate-unicode-properties@^8.1.0: dependencies: regenerate "^1.4.0" +regenerate-unicode-properties@^8.2.0: + version "8.2.0" + resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz#e5de7111d655e7ba60c057dbe9ff37c87e65cdec" + integrity sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA== + dependencies: + regenerate "^1.4.0" + regenerate@^1.2.1, regenerate@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11" @@ -18704,12 +19258,25 @@ regenerator-runtime@^0.13.2: version "0.13.3" resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz#7cf6a77d8f5c6f60eb73c5fc1955b2ceb01e6bf5" +regenerator-runtime@^0.13.4: + version "0.13.5" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz#d878a1d094b4306d10b9096484b33ebd55e26697" + integrity sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA== + regenerator-transform@^0.14.0: version "0.14.1" resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.1.tgz#3b2fce4e1ab7732c08f665dfdb314749c7ddd2fb" dependencies: private "^0.1.6" +regenerator-transform@^0.14.2: + version "0.14.4" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.4.tgz#5266857896518d1616a78a0479337a30ea974cc7" + integrity sha512-EaJaKPBI9GvKpvUz2mz4fhx7WPgvwRLY9v3hlNHWmAuJHI13T4nwKnNvm5RWJzEdnI5g5UwtOww+S8IdoUC2bw== + dependencies: + "@babel/runtime" "^7.8.4" + private "^0.1.8" + regex-cache@^0.4.2: version "0.4.4" resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.4.tgz#75bdc58a2a1496cec48a12835bc54c8d562336dd" @@ -18729,6 +19296,14 @@ regexp.prototype.flags@^1.2.0: dependencies: define-properties "^1.1.2" +regexp.prototype.flags@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz#7aba89b3c13a64509dabcf3ca8d9fbb9bdf5cb75" + integrity sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.0-next.1" + regexpp@^2.0.0, regexpp@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" @@ -18756,6 +19331,18 @@ regexpu-core@^4.2.0, regexpu-core@^4.6.0: unicode-match-property-ecmascript "^1.0.4" unicode-match-property-value-ecmascript "^1.1.0" +regexpu-core@^4.7.0: + version "4.7.0" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.7.0.tgz#fcbf458c50431b0bb7b45d6967b8192d91f3d938" + integrity sha512-TQ4KXRnIn6tz6tjnrXEkD/sshygKH/j5KzK86X8MkeHyZ8qst/LZ89j3X4/8HEIfHANTFIP/AbXakeRhWIl5YQ== + dependencies: + regenerate "^1.4.0" + regenerate-unicode-properties "^8.2.0" + regjsgen "^0.5.1" + regjsparser "^0.6.4" + unicode-match-property-ecmascript "^1.0.4" + unicode-match-property-value-ecmascript "^1.2.0" + regextras@^0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/regextras/-/regextras-0.7.0.tgz#2298bef8cfb92b1b7e3b9b12aa8f69547b7d71e4" @@ -18790,7 +19377,7 @@ regjsgen@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7" -regjsgen@^0.5.0: +regjsgen@^0.5.0, regjsgen@^0.5.1: version "0.5.1" resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.1.tgz#48f0bf1a5ea205196929c0d9798b42d1ed98443c" @@ -18806,6 +19393,13 @@ regjsparser@^0.6.0: dependencies: jsesc "~0.5.0" +regjsparser@^0.6.4: + version "0.6.4" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.4.tgz#a769f8684308401a66e9b529d2436ff4d0666272" + integrity sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw== + dependencies: + jsesc "~0.5.0" + relateurl@0.2.x: version "0.2.7" resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" @@ -19125,9 +19719,10 @@ resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.12.0, resolve@^1.3.2 dependencies: path-parse "^1.0.6" -resolve@^1.13.1: +resolve@^1.11.0, resolve@^1.15.1: version "1.15.1" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.15.1.tgz#27bdcdeffeaf2d6244b95bb0f9f4b4653451f3e8" + integrity sha512-84oo6ZTtoTUpjgNEr5SJyzQhzL72gaRodsSfyxC/AXRvwu0Yse9H8eF9IpGo7b8YetZhlI6v7ZQ6bKBFV/6S7w== dependencies: path-parse "^1.0.6" @@ -19239,6 +19834,39 @@ roarr@^2.15.2: semver-compare "^1.0.0" sprintf-js "^1.1.2" +rollup-plugin-scss@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/rollup-plugin-scss/-/rollup-plugin-scss-2.1.0.tgz#7aecb1750d8ab48c9eacd8fbd849ecb7d75e4b27" + integrity sha512-Caj1QU16dw8BYZ/q/4tTgeI42pI3xKHJJDy+LmPSStRMjM7F/0Uh/9gER5JicE2FTaWoz/RMi96xiOuDsd3/eg== + dependencies: + node-sass "4" + rollup-pluginutils "2" + +rollup-plugin-terser@^5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/rollup-plugin-terser/-/rollup-plugin-terser-5.3.0.tgz#9c0dd33d5771df9630cd027d6a2559187f65885e" + integrity sha512-XGMJihTIO3eIBsVGq7jiNYOdDMb3pVxuzY0uhOE/FM4x/u9nQgr3+McsjzqBn3QfHIpNSZmFnpoKAwHBEcsT7g== + dependencies: + "@babel/code-frame" "^7.5.5" + jest-worker "^24.9.0" + rollup-pluginutils "^2.8.2" + serialize-javascript "^2.1.2" + terser "^4.6.2" + +rollup-pluginutils@2, rollup-pluginutils@^2.8.2: + version "2.8.2" + resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz#72f2af0748b592364dbd3389e600e5a9444a351e" + integrity sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ== + dependencies: + estree-walker "^0.6.1" + +rollup@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.2.0.tgz#d82cfd6eda6d9561593a7e8a2fc0b72811a89b49" + integrity sha512-iAu/j9/WJ0i+zT0sAMuQnsEbmOKzdQ4Yxu5rbPs9aUCyqveI1Kw3H4Fi9NWfCOpb8luEySD2lDyFWL9CrLE8iw== + optionalDependencies: + fsevents "~2.1.2" + root-check@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/root-check/-/root-check-1.0.0.tgz#c52a794bf0db9fad567536e41898f0c9e0a86697" @@ -19402,7 +20030,7 @@ scheduler@^0.18.0: loose-envify "^1.1.0" object-assign "^4.1.1" -schema-utils@^0.4.0, schema-utils@^0.4.4, schema-utils@^0.4.5: +schema-utils@^0.4.4, schema-utils@^0.4.5: version "0.4.7" resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-0.4.7.tgz#ba74f597d2be2ea880131746ee17d0a093c68187" dependencies: @@ -19421,12 +20049,13 @@ scoped-regex@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/scoped-regex/-/scoped-regex-1.0.0.tgz#a346bb1acd4207ae70bd7c0c7ca9e566b6baddb8" -scroll-behavior@^0.9.10: - version "0.9.10" - resolved "https://registry.yarnpkg.com/scroll-behavior/-/scroll-behavior-0.9.10.tgz#c8953adeeb3586060b903328d860aa8346d62861" +scroll-behavior@^0.9.12: + version "0.9.12" + resolved "https://registry.yarnpkg.com/scroll-behavior/-/scroll-behavior-0.9.12.tgz#1c22d273ec4ce6cd4714a443fead50227da9424c" + integrity sha512-18sirtyq1P/VsBX6O/vgw20Np+ngduFXEMO4/NDFXabdOKBL2kjPVUpz1y0+jm99EWwFJafxf5/tCyMeXt9Xyg== dependencies: - dom-helpers "^3.2.1" - invariant "^2.2.2" + dom-helpers "^3.4.0" + invariant "^2.2.4" scss-tokenizer@^0.2.3: version "0.2.3" @@ -19685,6 +20314,11 @@ shell-quote@1.6.1: array-reduce "~0.0.0" jsonify "~0.0.0" +shell-quote@1.7.2: + version "1.7.2" + resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.2.tgz#67a7d02c76c9da24f99d20808fcaded0e0e04be2" + integrity sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg== + shelljs@0.7.6: version "0.7.6" resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.7.6.tgz#379cccfb56b91c8601e4793356eb5382924de9ad" @@ -19719,7 +20353,7 @@ shx@^0.3.2: minimist "^1.2.0" shelljs "^0.8.1" -side-channel@^1.0.1: +side-channel@^1.0.1, side-channel@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.2.tgz#df5d1abadb4e4bf4af1cd8852bf132d2f7876947" dependencies: @@ -19760,6 +20394,11 @@ sisteransi@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.3.tgz#98168d62b79e3a5e758e27ae63c4a053d748f4eb" +sisteransi@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" + integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== + slash@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" @@ -19802,9 +20441,10 @@ slide@^1.1.6: version "1.1.6" resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707" -slugify@^1.3.6: - version "1.3.6" - resolved "https://registry.yarnpkg.com/slugify/-/slugify-1.3.6.tgz#ba5fd6159b570fe4811d02ea9b1f4906677638c3" +slugify@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/slugify/-/slugify-1.4.0.tgz#c9557c653c54b0c7f7a8e786ef3431add676d2cb" + integrity sha512-FtLNsMGBSRB/0JOE2A0fxlqjI6fJsgHGS13iTuVT28kViI4JjUiNqp/vyis0ZXYcMnpR3fzGNkv+6vRlI2GwdQ== smart-buffer@4.0.2: version "4.0.2" @@ -20019,7 +20659,7 @@ 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" -source-map@0.7.3, source-map@^0.7.2, source-map@^0.7.3: +source-map@0.7.3, source-map@^0.7.3: version "0.7.3" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" @@ -20179,6 +20819,11 @@ stackframe@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-1.1.0.tgz#e3fc2eb912259479c9822f7d1f1ff365bd5cbc83" +stackframe@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-1.1.1.tgz#ffef0a3318b1b60c3b58564989aca5660729ec71" + integrity sha512-0PlYhdKh6AfFxRyK/v+6/k+/mMfyiEBbTM5L94D0ZytQnJ166wuwoTYLHFWGbs2dpA8Rgq763KGWmN1EQEYHRQ== + state-toggle@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/state-toggle/-/state-toggle-1.0.2.tgz#75e93a61944116b4959d665c8db2d243631d6ddc" @@ -20348,6 +20993,18 @@ string-width@^4.1.0: is-fullwidth-code-point "^3.0.0" strip-ansi "^5.2.0" +string.prototype.matchall@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.2.tgz#48bb510326fb9fdeb6a33ceaa81a6ea04ef7648e" + integrity sha512-N/jp6O5fMf9os0JU3E72Qhf590RSRZU/ungsL/qJUYVTNv7hTG0P/dbPjxINVN9jpscu3nzYwKESU3P3RY5tOg== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.0" + has-symbols "^1.0.1" + internal-slot "^1.0.2" + regexp.prototype.flags "^1.3.0" + side-channel "^1.0.2" + string.prototype.trim@^1.1.2: version "1.2.0" resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.0.tgz#75a729b10cfc1be439543dae442129459ce61e3d" @@ -20429,18 +21086,18 @@ strip-ansi@5.0.0: dependencies: ansi-regex "^4.0.0" +strip-ansi@5.2.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" + dependencies: + ansi-regex "^4.1.0" + strip-ansi@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" dependencies: ansi-regex "^3.0.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" - dependencies: - ansi-regex "^4.1.0" - strip-ansi@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" @@ -20553,16 +21210,6 @@ stylehacks@^4.0.0: postcss "^7.0.0" postcss-selector-parser "^3.0.0" -stylis-rule-sheet@^0.0.10: - version "0.0.10" - resolved "https://registry.yarnpkg.com/stylis-rule-sheet/-/stylis-rule-sheet-0.0.10.tgz#44e64a2b076643f4b52e5ff71efc04d8c3c4a430" - integrity sha512-nTbZoaqoBnmK+ptANthb10ZRZOGC+EmTLLUxeYIuHNkEKcmKgXX1XWKkUBT2Ac4es3NybooPe0SmvKdhKJZAuw== - -stylis@^3.5.0: - version "3.5.4" - resolved "https://registry.yarnpkg.com/stylis/-/stylis-3.5.4.tgz#f665f25f5e299cf3d64654ab949a57c768b73fbe" - integrity sha512-8/3pSmthWM7lsPBKv7NXkzn2Uc9W7NotcwGNpJaa3k7WMM1XDCA4MgT5k/8BIexd5ydZdboXtU90XH9Ec4Bv/Q== - sudo-block@^1.1.0: version "1.2.0" resolved "https://registry.yarnpkg.com/sudo-block/-/sudo-block-1.2.0.tgz#cc539bf8191624d4f507d83eeb45b4cea27f3463" @@ -20571,6 +21218,11 @@ sudo-block@^1.1.0: is-docker "^1.0.0" is-root "^1.0.0" +sudo-prompt@^8.2.0: + version "8.2.5" + resolved "https://registry.yarnpkg.com/sudo-prompt/-/sudo-prompt-8.2.5.tgz#cc5ef3769a134bb94b24a631cc09628d4d53603e" + integrity sha512-rlBo3HU/1zAJUrkY6jNxDOC9eVYliG6nS4JA8u8KAshITd07tafMc/Br7xQwCSseXwJ2iCcHCE8SNWX3q8Z+kw== + supports-color@5.5.0, supports-color@^5.1.0, supports-color@^5.3.0, supports-color@^5.4.0: version "5.5.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" @@ -20668,9 +21320,10 @@ symbol-tree@^3.2.2: version "3.2.4" resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" -tabbable@^3.1.0: +tabbable@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/tabbable/-/tabbable-3.1.2.tgz#f2d16cccd01f400e38635c7181adfe0ad965a4a2" + integrity sha512-wjB6puVXTYO0BSFtCmWQubA/KIn7Xvajw0x0l6eJUudMG/EAiJvIUnyNX6xO4NpGrJ16lbD0eUseB9WxW0vlpQ== table-layout@^0.4.3, table-layout@~0.4.0: version "0.4.5" @@ -20863,7 +21516,7 @@ terser-webpack-plugin@^1.4.1: webpack-sources "^1.4.0" worker-farm "^1.7.0" -terser-webpack-plugin@^1.4.2: +terser-webpack-plugin@^1.4.3: version "1.4.3" resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.4.3.tgz#5ecaf2dbdc5fb99745fd06791f46fc9ddb1c9a7c" dependencies: @@ -20893,6 +21546,15 @@ terser@^4.1.2: source-map "~0.6.1" source-map-support "~0.5.12" +terser@^4.6.2: + version "4.6.7" + resolved "https://registry.yarnpkg.com/terser/-/terser-4.6.7.tgz#478d7f9394ec1907f0e488c5f6a6a9a2bad55e72" + integrity sha512-fmr7M1f7DBly5cX2+rFDvmGBAaaZyPrHYK4mMdHEDAdNTqXSZgSOfqsfGq2HqPGT/1V0foZZuCZFx8CHKgAk3g== + dependencies: + commander "^2.20.0" + source-map "~0.6.1" + source-map-support "~0.5.12" + test-exclude@^4.2.1: version "4.2.3" resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-4.2.3.tgz#a9a5e64474e4398339245a0a769ad7c2f4a97c20" @@ -21042,12 +21704,6 @@ tmp@^0.0.29: dependencies: os-tmpdir "~1.0.1" -tmp@^0.0.31: - version "0.0.31" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.31.tgz#8f38ab9438e17315e5dbd8b3657e8bfb277ae4a7" - dependencies: - os-tmpdir "~1.0.1" - tmp@^0.0.33: version "0.0.33" resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" @@ -21120,12 +21776,6 @@ topo@2.x.x: dependencies: hoek "4.x.x" -touch@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/touch/-/touch-2.0.2.tgz#ca0b2a3ae3211246a61b16ba9e6cbf1596287164" - dependencies: - nopt "~1.0.10" - tough-cookie@^2.3.3, tough-cookie@^2.3.4: version "2.5.0" resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" @@ -21214,11 +21864,17 @@ ts-loader@^5.3.3: micromatch "^3.1.4" semver "^5.0.1" -ts-pnp@^1.1.2: - version "1.1.4" - resolved "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.1.4.tgz#ae27126960ebaefb874c6d7fa4729729ab200d90" +ts-pnp@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.1.6.tgz#389a24396d425a0d3162e96d2b4638900fdc289a" + integrity sha512-CrG5GqAAzMT7144Cl+UIFP7mz/iIhiy+xQ6GGcnjTezhALT02uPMRw7tgDSESgB5MsfKt55+GPWw4ir1kVtMIQ== + +tslib@^1.10.0: + version "1.11.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.11.1.tgz#eb15d128827fbee2841549e171f45ed338ac7e35" + integrity sha512-aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA== -tslib@^1.6.0, tslib@^1.7.1, tslib@^1.8.0, tslib@^1.8.1, tslib@^1.9.0: +tslib@^1.7.1, tslib@^1.8.0, tslib@^1.8.1, tslib@^1.9.0: version "1.10.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a" @@ -21444,6 +22100,11 @@ unicode-match-property-value-ecmascript@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.1.0.tgz#5b4b426e08d13a80365e0d657ac7a6c1ec46a277" +unicode-match-property-value-ecmascript@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz#0d91f600eeeb3096aa962b1d6fc88876e64ea531" + integrity sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ== + unicode-property-aliases-ecmascript@^1.0.4: version "1.0.5" resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz#a9cc6cc7ce63a0a3023fc99e341b94431d405a57" @@ -21798,6 +22459,16 @@ util.promisify@1.0.0, util.promisify@^1.0.0, util.promisify@~1.0.0: define-properties "^1.1.2" object.getownpropertydescriptors "^2.0.3" +util.promisify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.1.tgz#6baf7774b80eeb0f7520d8b81d07982a59abbaee" + integrity sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.2" + has-symbols "^1.0.1" + object.getownpropertydescriptors "^2.1.0" + util@0.10.3: version "0.10.3" resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" @@ -21835,7 +22506,12 @@ utils-merge@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" -uuid@3.3.3, uuid@^3.0.0, uuid@^3.0.1, uuid@^3.3.2, uuid@^3.3.3: +uuid@3.4.0, uuid@^3.4.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" + integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== + +uuid@^3.0.0, uuid@^3.0.1, uuid@^3.3.2: version "3.3.3" resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.3.tgz#4568f0216e78760ee1dbf3a4d2cf53e224112866" @@ -22294,7 +22970,7 @@ warning@^3.0.0: dependencies: loose-envify "^1.0.0" -warning@^4.0.0, warning@^4.0.1: +warning@^4.0.0, warning@^4.0.1, warning@^4.0.3: version "4.0.3" resolved "https://registry.yarnpkg.com/warning/-/warning-4.0.3.tgz#16e9e077eb8a86d6af7d64aa1e05fd85b4678ca3" dependencies: @@ -22389,9 +23065,10 @@ webpack-dev-server@3.1.14: webpack-log "^2.0.0" yargs "12.0.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" +webpack-dev-server@^3.10.3: + version "3.10.3" + resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-3.10.3.tgz#f35945036813e57ef582c2420ef7b470e14d3af0" + integrity sha512-e4nWev8YzEVNdOMcNzNeCN947sWJNd43E5XvsJzbAL08kGc2frm1tQ32hTJslRS+H65LCb/AaUCYU7fjHCpDeQ== dependencies: ansi-html "0.0.7" bonjour "^3.5.0" @@ -22408,7 +23085,7 @@ webpack-dev-server@^3.9.0: ip "^1.1.5" is-absolute-url "^3.0.3" killable "^1.0.1" - loglevel "^1.6.4" + loglevel "^1.6.6" opn "^5.5.0" p-retry "^3.0.1" portfinder "^1.0.25" @@ -22471,9 +23148,10 @@ webpack-sources@^1.1.0, webpack-sources@^1.2.0, webpack-sources@^1.4.0, webpack- source-list-map "^2.0.0" source-map "~0.6.1" -webpack-stats-plugin@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/webpack-stats-plugin/-/webpack-stats-plugin-0.3.0.tgz#6952f63feb9a5393a328d774fb3eccac78d2f51b" +webpack-stats-plugin@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/webpack-stats-plugin/-/webpack-stats-plugin-0.3.1.tgz#1103c39a305a4e6ba15d5078db84bc0b35447417" + integrity sha512-pxqzFE055NlNTlNyfDG3xlB2QwT1EWdm/CF5dCJI/e+rRHVxrWhWg1rf1lfsWhI1/EePv8gi/A36YxO/+u0FgQ== webpack@4.19.1: version "4.19.1" @@ -22504,7 +23182,7 @@ webpack@4.19.1: watchpack "^1.5.0" webpack-sources "^1.2.0" -webpack@^4.25.1, webpack@~4.41.2: +webpack@^4.25.1: version "4.41.2" resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.41.2.tgz#c34ec76daa3a8468c9b61a50336d8e3303dce74e" dependencies: @@ -22532,6 +23210,35 @@ webpack@^4.25.1, webpack@~4.41.2: watchpack "^1.6.0" webpack-sources "^1.4.1" +webpack@~4.42.0: + version "4.42.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.42.0.tgz#b901635dd6179391d90740a63c93f76f39883eb8" + integrity sha512-EzJRHvwQyBiYrYqhyjW9AqM90dE4+s1/XtCfn7uWg6cS72zH+2VPFAlsnW0+W0cDi0XRjNKUMoJtpSi50+Ph6w== + 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.3" + json-parse-better-errors "^1.0.2" + 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.3" + watchpack "^1.6.0" + webpack-sources "^1.4.1" + websocket-driver@>=0.5.1: version "0.7.3" resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.3.tgz#a2d4e0d4f4f116f1e6297eba58b05d430100e9f9" @@ -22802,6 +23509,13 @@ worker-farm@^1.5.2, worker-farm@^1.7.0: dependencies: errno "~0.1.7" +worker-rpc@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/worker-rpc/-/worker-rpc-0.1.1.tgz#cb565bd6d7071a8f16660686051e969ad32f54d5" + integrity sha512-P1WjMrUB3qgJNI9jfmpZ/htmBEjFh//6l/5y8SD9hg1Ef5zTTVVoRjTrTEzPrNBQvmhMxkoTsjOXN10GWU7aCg== + dependencies: + microevent.ts "~0.1.1" + wrap-ansi@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" @@ -22975,13 +23689,21 @@ xregexp@4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/xregexp/-/xregexp-4.0.0.tgz#e698189de49dd2a18cc5687b05e17c8e43943020" +xregexp@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/xregexp/-/xregexp-4.3.0.tgz#7e92e73d9174a99a59743f67a4ce879a04b5ae50" + integrity sha512-7jXDIFXh5yJ/orPn4SXjuVrWWoi4Cr8jfV1eHv9CixKSbU+jY4mxfrBwAuDvupPNKpMUY+FeIqsVw/JLT9+B8g== + dependencies: + "@babel/runtime-corejs3" "^7.8.3" + xstate@^4.6.7: version "4.6.7" resolved "https://registry.yarnpkg.com/xstate/-/xstate-4.6.7.tgz#1f325df07d75676c90d65b17a3a56692f259fd41" -xstate@^4.7.2: - version "4.7.8" - resolved "https://registry.yarnpkg.com/xstate/-/xstate-4.7.8.tgz#a12ae521b105711b06cf95ab2652c1640d75d62d" +xstate@^4.8.0: + version "4.8.0" + resolved "https://registry.yarnpkg.com/xstate/-/xstate-4.8.0.tgz#1aefa1f7828f84f61c356785615ffc0824ebf5a2" + integrity sha512-xHSYQtCHLkcrFRxa5lK4Lp1rnKt00a80jcKFMQiMBuE+6MvTYv7twwqYpzjsJoKFjGZB3GGEpZAuY1dmlPTh/g== xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.1: version "4.0.2" @@ -23304,9 +24026,10 @@ yosay@^2.0.2: taketalk "^1.0.0" wrap-ansi "^2.0.0" -yurnalist@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/yurnalist/-/yurnalist-1.1.1.tgz#701fea4d6a02f7a44d57bc0dcf75138590549dcb" +yurnalist@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/yurnalist/-/yurnalist-1.1.2.tgz#0fce283f1c53ea25ec278e2d1ab58537323b63e0" + integrity sha512-y7bsTXqL+YMJQ2De2CBtSftJNLQnB7gWIzzKm10GDyC8Fg4Dsmd2LG5YhT8pudvUiuotic80WVXt/g1femRVQg== dependencies: babel-runtime "^6.26.0" chalk "^2.4.2"