diff --git a/.circleci/config.yml b/.circleci/config.yml index 977a2f70e32..b6bfc0f0d6f 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -21,7 +21,6 @@ references: - packages/react-codemods/node_modules/ - packages/react-icons/node_modules/ build_cache_paths: &build_cache_paths - - .cache/ - packages/react-charts/dist/ - packages/react-core/dist/ - packages/react-inline-edit-extension/dist/ diff --git a/.eslintignore b/.eslintignore index 84abc5ab840..194bd37439a 100644 --- a/.eslintignore +++ b/.eslintignore @@ -12,8 +12,9 @@ coverage **/Generated **/build css -packages/react-icons/src/icons +packages/react-docs/.cache packages/react-docs/static +packages/react-docs/public # package managers yarn-error.log diff --git a/.eslintrc.json b/.eslintrc.json index 2700f274705..43338707aa5 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -17,7 +17,6 @@ "plugin:jsdoc/recommended" ], "parserOptions": { - "project": "packages/tsconfig.base.json", "sourceType": "module", "ecmaFeatures": { "jsx": true @@ -101,6 +100,7 @@ }], "no-unused-labels": "error", "no-var": "error", + "no-prototype-builtins": "off", "object-shorthand": "error", "one-var": [ "error", diff --git a/babel.config.js b/babel.config.js index 469ae67aacd..571e6fee059 100644 --- a/babel.config.js +++ b/babel.config.js @@ -1,4 +1,11 @@ module.exports = { - extends: './packages/.babelrc', - presets: [['@babel/env', {'modules': 'commonjs'}], '@babel/react'], -}; + presets: [ + '@babel/preset-env', + '@babel/preset-typescript', + '@babel/preset-react' + ], + plugins: [ + "@babel/plugin-proposal-class-properties", + "@babel/plugin-proposal-object-rest-spread" + ] +} \ No newline at end of file diff --git a/jest.config.js b/jest.config.js index 242a05d67e9..22b967a721f 100644 --- a/jest.config.js +++ b/jest.config.js @@ -1,29 +1,19 @@ module.exports = { - collectCoverage: true, - coverageReporters: ['lcov'], - clearMocks: true, - testMatch: ['**/__tests__/**/*.{js,ts}?(x)', '**/*.test.{js,ts}?(x)'], - modulePathIgnorePatterns: [ - '/packages/*.*/dist/*.*', - '/packages/*.*/public/*.*', - '/packages/*.*/.cache/*.*' - ], roots: ['/packages'], - setupFiles: ['/jest.env.js'], - snapshotSerializers: [ - 'enzyme-to-json/serializer', - ], transform: { '^.+\\.[jt]sx?$': 'babel-jest' }, - transformIgnorePatterns: ['node_modules/(?!@patternfly|@novnc|tippy.js|lodash)'], - testPathIgnorePatterns: [ - '/packages/react-integration/' - ], - coveragePathIgnorePatterns: [ - '/dist/' - ], + testMatch: ['/packages/**/*.test.{js,ts}?(x)'], + testPathIgnorePatterns: ['/packages/react-integration/'], moduleNameMapper: { - "\\.(css|less)$": "/packages/react-styles/__mocks__/styleMock.js" - } + '\\.css$': '/packages/react-styles/__mocks__/styleMock.js' + }, + // Setup Enzyme + snapshotSerializers: ['enzyme-to-json/serializer'], + setupFilesAfterEnv: ['/packages/setupEnzyme.js'], + // Some suites expect this between test cases + clearMocks: true, + // Record results + collectCoverage: true, + coverageReporters: ['lcov'] }; diff --git a/jest.env.js b/jest.env.js deleted file mode 100644 index 2cd800bf48a..00000000000 --- a/jest.env.js +++ /dev/null @@ -1,10 +0,0 @@ -import 'raf/polyfill'; -import { configure } from 'enzyme'; -import Adapter from 'enzyme-adapter-react-16'; -import MutationObserver from 'mutation-observer'; - -configure({ adapter: new Adapter() }); - -// referenced from '@novnc/nvnc/core/util/events.js' -// The MutationObserver is available in supported browsers, this is workaround for "jest" -global.MutationObserver = MutationObserver; diff --git a/package.json b/package.json index 474182a90d2..4ed1b3de35b 100644 --- a/package.json +++ b/package.json @@ -25,68 +25,76 @@ }, "homepage": "https://github.com/patternfly/patternfly-react#readme", "devDependencies": { + "@babel/core": "^7.9.0", + "@babel/plugin-proposal-class-properties": "^7.8.3", + "@babel/plugin-proposal-object-rest-spread": "^7.9.0", + "@babel/preset-env": "^7.9.0", + "@babel/preset-react": "^7.9.4", + "@babel/preset-typescript": "^7.9.0", "@octokit/rest": "^16.39.0", - "@types/enzyme": "3.9.0", - "@typescript-eslint/eslint-plugin": "^2.18.0", - "@typescript-eslint/parser": "^2.18.0", - "babel-jest": "^25.1.0", - "babel-plugin-typescript-to-proptypes": "^0.17.1", + "@types/enzyme": "^3.10.5", + "@types/enzyme-adapter-react-16": "^1.0.6", + "@types/jest": "^25.1.4", + "@typescript-eslint/eslint-plugin": "^2.26.0", + "@typescript-eslint/parser": "^2.26.0", "change-case": "^3.0.2", "codecov": "^3.2.0", "commitizen": "^3.0.7", - "concurrently": "^3.5.1", + "concurrently": "^5.1.0", "cz-conventional-changelog": "^2.1.0", - "enzyme": "3.10.0", - "enzyme-adapter-react-16": "1.14.0", - "enzyme-to-json": "3.4.0", - "eslint": "5.6.0", + "enzyme": "3.11.0", + "enzyme-adapter-react-16": "1.15.2", + "enzyme-to-json": "3.4.4", + "eslint": "^6.8.0", "eslint-plugin-jsdoc": "^21.0.0", "eslint-plugin-markdown": "^1.0.1", "eslint-plugin-prettier": "^3.1.2", "eslint-plugin-react": "^7.18.0", "fs-extra": "^6.0.1", "glob": "^7.1.2", - "http-get": "^0.5.10", - "jest": "24.1.0", - "jest-cli": "24.1.0", - "lerna": "3.16.2", + "jest": "25.2.7", + "jest-cli": "25.2.7", + "lerna": "3.20.2", "libnpm": "^3.0.1", "minimist": "^1.2.0", - "mutation-observer": "^1.0.3", "plop": "^2.0.0", "prettier": "^1.18.2", "react": "^16.4.0", "react-dom": "^16.4.0", "surge": "^0.21.3", - "tslint": "^5.12.0", + "tslint": "^6.1.1", "tslint-config-prettier": "^1.18.0", - "tslint-plugin-prettier": "^2.0.1", - "tslint-react": "^3.6.0" + "tslint-plugin-prettier": "^2.3.0", + "tslint-react": "^4.2.0" }, "scripts": { "bootstrap": "lerna bootstrap", - "build": "node scripts/incrementalBuild.js", - "build:docs": "lerna run build:docs --stream", - "build:integration:report": "lerna run build:integration:report --stream", + "build": "yarn build:esm && concurrently \"yarn build:cjs\" \"yarn build:umd\"", + "build:esm": "yarn generate && tsc -b packages/tsconfig.json -v", + "build:cjs": "yarn generate && tsc -b packages/tsconfig.cjs.json -v", + "build:umd": "yarn workspace @patternfly/react-core build:umd", + "build:docs": "yarn workspace @patternfly/react-docs build:docs", "build:integration": "lerna run build:demo-app --stream", "clean": "yarn clean:build && yarn clean:pf3 && lerna run clean --parallel", - "clean:build": "rimraf .cache", + "clean:build": "rimraf .cache .eslintcache coverage", "clean:pf3": "rimraf packages/patternfly-3 packages/patternfly-4", "commit": "git-cz", - "generate": "yarn plop", + "generate": "lerna run generate --parallel --stream", "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", + "plop": "plop", "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", + "start": "concurrently \"yarn build && yarn build:esm --watch\" \"yarn workspace @patternfly/react-docs develop\"", "start:cypress": "lerna run cypress:open", "start:demo-app": "lerna run start:demo-app --stream", "start:pf4": "yarn start", "storybook": "start-storybook -c storybook -p 6006", - "test": "jest packages", + "template": "plop", + "test": "jest", "test:pf4": "yarn test", "test:a11y": "lerna run test:a11y --stream", "test:current": "jest --watch", @@ -103,5 +111,14 @@ "packages": [ "packages/**" ] + }, + "resolutions": { + "@babel/helpers": "^7.9.2", + "@babel/parser": "^7.9.2", + "@babel/plugin-transform-classes": "^7.9.2", + "@babel/runtime-corejs3": "^7.9.2", + "@babel/runtime": "^7.9.2", + "@babel/standalone": "^7.9.2", + "browserslist": "4.11.1" } } diff --git a/packages/.babelrc b/packages/.babelrc deleted file mode 100644 index ddb4a62f248..00000000000 --- a/packages/.babelrc +++ /dev/null @@ -1,11 +0,0 @@ -{ - "presets": ["@babel/react"], - "ignore": ["**/__snapshots__", "**/*.d.ts", "**/*.test.*"], - "plugins": [ - "@babel/plugin-transform-typescript", - "babel-plugin-typescript-to-proptypes", - "@babel/plugin-proposal-export-default-from", - "@babel/proposal-class-properties", - "@babel/proposal-object-rest-spread" - ] -} diff --git a/packages/react-catalog-view-extension/.babelrc b/packages/react-catalog-view-extension/.babelrc deleted file mode 100644 index 3eeb33a71bc..00000000000 --- a/packages/react-catalog-view-extension/.babelrc +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": "../.babelrc" -} diff --git a/packages/react-catalog-view-extension/.npmignore b/packages/react-catalog-view-extension/.npmignore index 378eac25d31..4d63a47e6dc 100644 --- a/packages/react-catalog-view-extension/.npmignore +++ b/packages/react-catalog-view-extension/.npmignore @@ -1 +1,2 @@ -build +dist/**/*.map +dist/*.tsbuildinfo diff --git a/packages/react-catalog-view-extension/package.json b/packages/react-catalog-view-extension/package.json index ccd0122ceea..d739f343b70 100644 --- a/packages/react-catalog-view-extension/package.json +++ b/packages/react-catalog-view-extension/package.json @@ -29,15 +29,10 @@ }, "homepage": "https://github.com/patternfly/patternfly-react/blob/master/packages/react-catalog-view-extension/README.md", "scripts": { - "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", - "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:sass": "shx mkdir -p dist/sass && shx cp -r sass/react-catalog-view-extension/* dist/sass && node-sass --output-style compressed --importer=./node-sass-patternfly-importer.js -o dist/css sass/react-catalog-view-extension.scss", - "clean": "rimraf dist", - "develop": "yarn build:babel:esm --skip-initial-build --watch --verbose --source-maps" + "generate": "yarn copy:sass && yarn build:sass", + "build:sass": "node-sass --output-style compressed --importer=./scripts/node-sass-patternfly-importer.js -o dist/css sass/react-catalog-view-extension.scss", + "copy:sass": "shx mkdir -p dist/sass && shx cp -r sass/react-catalog-view-extension/* dist/sass", + "clean": "rimraf dist" }, "dependencies": { "@patternfly/patternfly": "4.6.0", @@ -47,25 +42,16 @@ "patternfly": "^3.59.4" }, "devDependencies": { - "@babel/cli": "^7.0.0", - "@babel/core": "^7.0.0", - "@babel/plugin-proposal-class-properties": "^7.0.0", - "@babel/plugin-proposal-export-default-from": "^7.0.0", - "@babel/plugin-proposal-object-rest-spread": "^7.0.0", - "@babel/plugin-transform-typescript": "^7.0.0", - "@babel/preset-env": "^7.0.0", - "@babel/preset-react": "^7.0.0", "@types/react": "^16.4.0", "@types/react-dom": "^16.4.0", - "babel-plugin-transform-es2015-modules-umd": "^6.24.1", - "babel-plugin-typescript-to-proptypes": "^0.17.1", + "bootstrap-sass": "3.4.1", "node-sass": "^4.12.0", "rimraf": "^2.6.2", "shx": "^0.3.2", + "tslib": "^1.11.1", "typescript": "^3.8.3" }, "peerDependencies": { - "prop-types": "^15.6.1", "react": "^16.4.0", "react-dom": "^15.6.2 || ^16.4.0" } diff --git a/packages/react-catalog-view-extension/node-sass-patternfly-importer.js b/packages/react-catalog-view-extension/scripts/node-sass-patternfly-importer.js similarity index 53% rename from packages/react-catalog-view-extension/node-sass-patternfly-importer.js rename to packages/react-catalog-view-extension/scripts/node-sass-patternfly-importer.js index 58878a8395e..824ecd10eaf 100644 --- a/packages/react-catalog-view-extension/node-sass-patternfly-importer.js +++ b/packages/react-catalog-view-extension/scripts/node-sass-patternfly-importer.js @@ -6,14 +6,14 @@ const path = require('path'); function importer(url) { // Assume yarn hoists these. if (url.startsWith('bootstrap')) { - url = path.join(__dirname, `../../node_modules/bootstrap-sass/assets/stylesheets/${url}`); + url = path.join(__dirname, `../../../node_modules/bootstrap-sass/assets/stylesheets/${url}`); } else if (url.startsWith('patternfly')) { - url = path.join(__dirname, `../../node_modules/patternfly/dist/sass/${url}`); + url = path.join(__dirname, `../../../node_modules/patternfly/dist/sass/${url}`); } else if (url.startsWith('font-awesome')) { // font-awesome is for pf3 docs - url = path.join(__dirname, `../../node_modules/font-awesome/scss/${url}`); + url = path.join(__dirname, `../../../node_modules/font-awesome/scss/${url}`); } else if (url.startsWith('~')) { - url = path.join(__dirname, `../../node_modules/${url.substr(1)}`); + url = path.join(__dirname, `../../../node_modules/${url.substr(1)}`); } return { file: url }; } 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 8f0156d1101..94549d5a3d6 100644 --- a/packages/react-catalog-view-extension/src/components/CatalogTile/CatalogTile.tsx +++ b/packages/react-catalog-view-extension/src/components/CatalogTile/CatalogTile.tsx @@ -1,10 +1,5 @@ import * as React from 'react'; -import { Card } from '@patternfly/react-core/dist/js/components/Card/Card'; -import { CardActions } from '@patternfly/react-core/dist/js/components/Card/CardActions'; -import { CardHead } from '@patternfly/react-core/dist/js/components/Card/CardHead'; -import { CardHeader } from '@patternfly/react-core/dist/js/components/Card/CardHeader'; -import { CardBody } from '@patternfly/react-core/dist/js/components/Card/CardBody'; -import { CardFooter } from '@patternfly/react-core/dist/js/components/Card/CardFooter'; +import { Card, CardActions, CardHead, CardHeader, CardBody, CardFooter } from '@patternfly/react-core'; import classNames from 'classnames'; export interface CatalogTileProps extends Omit, 'title'> { diff --git a/packages/react-catalog-view-extension/src/components/CatalogTile/__snapshots__/CatalogTile.test.tsx.snap b/packages/react-catalog-view-extension/src/components/CatalogTile/__snapshots__/CatalogTile.test.tsx.snap index 971c67d0acb..7a51bfea4c1 100644 --- a/packages/react-catalog-view-extension/src/components/CatalogTile/__snapshots__/CatalogTile.test.tsx.snap +++ b/packages/react-catalog-view-extension/src/components/CatalogTile/__snapshots__/CatalogTile.test.tsx.snap @@ -17,7 +17,7 @@ exports[`CatalogTile href renders properly 1`] = ` title="Patternfly" vendor="Provided by Red Hat" > - -
-
- +
-
+ -
+ `; @@ -112,7 +112,7 @@ exports[`CatalogTile renders properly 1`] = ` } > - - +
- +
@@ -187,11 +187,11 @@ exports[`CatalogTile renders properly 1`] = ` id="certified" role="tooltip" > - Certified - +
} delay={ @@ -303,7 +303,7 @@ exports[`CatalogTile renders properly 1`] = ` id="certified" role="tooltip" > -
Certified
-
+
@@ -371,10 +371,10 @@ exports[`CatalogTile renders properly 1`] = ` - +
-
- +
-
- +
-
+ -
+ - - +
- +
@@ -525,11 +525,11 @@ exports[`CatalogTile renders properly 1`] = ` id="certified" role="tooltip" > - Certified - +
} delay={ @@ -641,7 +641,7 @@ exports[`CatalogTile renders properly 1`] = ` id="certified" role="tooltip" > -
Certified
-
+
@@ -706,11 +706,11 @@ exports[`CatalogTile renders properly 1`] = ` id="approved" role="tooltip" > - USDA Approved - + } delay={ @@ -822,7 +822,7 @@ exports[`CatalogTile renders properly 1`] = ` id="approved" role="tooltip" > -
USDA Approved
-
+
@@ -839,10 +839,10 @@ exports[`CatalogTile renders properly 1`] = ` - + -
- +
-
- +
-
+ -
+
- - +
- +
@@ -983,11 +983,11 @@ exports[`CatalogTile renders properly 1`] = ` id="approved" role="tooltip" > - USDA Approved - +
} delay={ @@ -1099,7 +1099,7 @@ exports[`CatalogTile renders properly 1`] = ` id="approved" role="tooltip" > -
USDA Approved
-
+
@@ -1116,10 +1116,10 @@ exports[`CatalogTile renders properly 1`] = ` - +
-
- +
-
- +
-
+ -
+
- - +
- +
@@ -1262,11 +1262,11 @@ exports[`CatalogTile renders properly 1`] = ` id="certified" role="tooltip" > - Certified - +
} delay={ @@ -1378,7 +1378,7 @@ exports[`CatalogTile renders properly 1`] = ` id="certified" role="tooltip" > -
Certified
-
+
@@ -1395,10 +1395,10 @@ exports[`CatalogTile renders properly 1`] = ` - +
-
- +
-
- +
-
- +
-
+ -
+
- - +
@@ -1551,8 +1551,8 @@ exports[`CatalogTile renders properly 1`] = `
-
- +
-
+ -
+
`; 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 400ff7beb62..8d119e39aa8 100644 --- a/packages/react-catalog-view-extension/src/components/FilterSidePanel/FilterSidePanelCategory.tsx +++ b/packages/react-catalog-view-extension/src/components/FilterSidePanel/FilterSidePanelCategory.tsx @@ -1,7 +1,7 @@ import * as React from 'react'; import classNames from 'classnames'; -import { Button } from '@patternfly/react-core/dist/js/components/Button'; -import { default as formStyles } from '@patternfly/react-styles/css/components/Form/form'; +import { Button } from '@patternfly/react-core'; +import formStyles from '@patternfly/react-styles/css/components/Form/form'; import { css } from '@patternfly/react-styles'; import { childrenToArray } from '../../helpers/util'; diff --git a/packages/react-catalog-view-extension/src/components/FilterSidePanel/FilterSidePanelCategoryItem.tsx b/packages/react-catalog-view-extension/src/components/FilterSidePanel/FilterSidePanelCategoryItem.tsx index e6413cd1566..d3e05b50c98 100644 --- a/packages/react-catalog-view-extension/src/components/FilterSidePanel/FilterSidePanelCategoryItem.tsx +++ b/packages/react-catalog-view-extension/src/components/FilterSidePanel/FilterSidePanelCategoryItem.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import classNames from 'classnames'; -import { Checkbox } from '@patternfly/react-core/dist/js/components/Checkbox/Checkbox'; +import { Checkbox } from '@patternfly/react-core'; import { getUniqueId } from '../../helpers/util'; 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 0621e5ce4b8..01cef4e658c 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 { Text, TextVariants } from '@patternfly/react-core/dist/js/components/Text/Text'; +import { Text, TextVariants } from '@patternfly/react-core'; export interface PropertyItemProps extends Omit, 'label' | 'value'> { /** Additional css classes for the Property Item */ diff --git a/packages/react-catalog-view-extension/tsconfig.cjs.json b/packages/react-catalog-view-extension/tsconfig.cjs.json new file mode 100644 index 00000000000..578d46af9d3 --- /dev/null +++ b/packages/react-catalog-view-extension/tsconfig.cjs.json @@ -0,0 +1,8 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./dist/js", + "module": "commonjs", + "tsBuildInfoFile": "dist/cjs.tsbuildinfo" + } +} diff --git a/packages/react-catalog-view-extension/tsconfig.gen-dts.json b/packages/react-catalog-view-extension/tsconfig.gen-dts.json deleted file mode 100644 index e2a3d669154..00000000000 --- a/packages/react-catalog-view-extension/tsconfig.gen-dts.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "extends": "../tsconfig.base.json", - "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "dist/js" - }, - "include": [ - "./src/*", - "./src/**/*" - ], - "exclude": [ - "./src/**/**.test.tsx", - "./src/**/**.test.ts", - "./src/**/examples/**" - ] -} diff --git a/packages/react-catalog-view-extension/tsconfig.json b/packages/react-catalog-view-extension/tsconfig.json new file mode 100644 index 00000000000..5abe07a0542 --- /dev/null +++ b/packages/react-catalog-view-extension/tsconfig.json @@ -0,0 +1,24 @@ +{ + "extends": "../tsconfig.base.json", + "compilerOptions": { + "rootDir": "./src", + "outDir": "./dist/esm", + "declarationDir": "./dist/js", + "tsBuildInfoFile": "dist/esm.tsbuildinfo" + }, + "include": [ + "./src/*", + "./src/**/*" + ], + "references": [ + { + "path": "../react-core" + }, + { + "path": "../react-styles" + }, + { + "path": "../react-table" + } + ] +} diff --git a/packages/react-charts/.babelrc b/packages/react-charts/.babelrc deleted file mode 100644 index 25c4221a16d..00000000000 --- a/packages/react-charts/.babelrc +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": "../.babelrc" -} \ No newline at end of file diff --git a/packages/react-charts/package.json b/packages/react-charts/package.json index c50b5a778f8..64230659d4c 100644 --- a/packages/react-charts/package.json +++ b/packages/react-charts/package.json @@ -38,36 +38,19 @@ "victory-core": "^34.1.3" }, "peerDependencies": { - "prop-types": "^15.6.1", "react": "^16.4.0" }, "scripts": { - "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", - "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", - "clean": "rimraf dist", - "develop": "yarn build:babel:esm --skip-initial-build --watch --verbose --source-maps" + "clean": "rimraf dist" }, "devDependencies": { - "@babel/cli": "^7.0.0", - "@babel/core": "^7.0.0", - "@babel/plugin-proposal-class-properties": "^7.0.0", - "@babel/plugin-proposal-export-default-from": "^7.0.0", - "@babel/plugin-proposal-object-rest-spread": "^7.0.0", - "@babel/plugin-transform-typescript": "^7.0.0", - "@babel/preset-env": "^7.0.0", - "@babel/preset-react": "^7.0.0", "@types/lodash": "^4.14.138", "@types/victory": "^33.1.4", - "babel-plugin-transform-es2015-modules-umd": "^6.24.1", - "babel-plugin-typescript-to-proptypes": "^0.17.1", "css": "^2.2.3", "fs-extra": "^6.0.1", "glob": "^7.1.2", "rimraf": "^2.6.2", + "tslib": "^1.11.1", "typescript": "^3.8.3" } } diff --git a/packages/react-charts/tsconfig.cjs.json b/packages/react-charts/tsconfig.cjs.json new file mode 100644 index 00000000000..578d46af9d3 --- /dev/null +++ b/packages/react-charts/tsconfig.cjs.json @@ -0,0 +1,8 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./dist/js", + "module": "commonjs", + "tsBuildInfoFile": "dist/cjs.tsbuildinfo" + } +} diff --git a/packages/react-charts/tsconfig.gen-dts.json b/packages/react-charts/tsconfig.gen-dts.json deleted file mode 100644 index 05bf1c16e6f..00000000000 --- a/packages/react-charts/tsconfig.gen-dts.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "extends": "../tsconfig.base.json", - "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "dist/js" - }, - "include": [ - "./src/*", - "./src/**/*" - ], - "exclude": [ - "./src/**/**.test.tsx", - "./src/**/**.test.ts", - "./src/**/examples/**" - ] -} \ No newline at end of file diff --git a/packages/react-charts/tsconfig.json b/packages/react-charts/tsconfig.json new file mode 100644 index 00000000000..a7fc6b54403 --- /dev/null +++ b/packages/react-charts/tsconfig.json @@ -0,0 +1,13 @@ +{ + "extends": "../tsconfig.base.json", + "compilerOptions": { + "rootDir": "./src", + "outDir": "./dist/esm", + "declarationDir": "./dist/js", + "tsBuildInfoFile": "dist/esm.tsbuildinfo" + }, + "include": [ + "./src/*", + "./src/**/*" + ] +} diff --git a/packages/react-core/.babelrc b/packages/react-core/.babelrc deleted file mode 100644 index 25c4221a16d..00000000000 --- a/packages/react-core/.babelrc +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": "../.babelrc" -} \ No newline at end of file diff --git a/packages/react-core/.npmignore b/packages/react-core/.npmignore index 5344519a423..4d63a47e6dc 100644 --- a/packages/react-core/.npmignore +++ b/packages/react-core/.npmignore @@ -1,6 +1,2 @@ -build -dist/**/demos -dist/**/examples -dist/**/__snapshots__ -dist/**/*.test.js dist/**/*.map +dist/*.tsbuildinfo diff --git a/packages/react-core/README.md b/packages/react-core/README.md index 47a2ac4cbe1..76ae2ac88d0 100644 --- a/packages/react-core/README.md +++ b/packages/react-core/README.md @@ -141,7 +141,7 @@ module.exports = { { "@patternfly/react-core": { transform: (importName, matches) => { - let res = '@patternfly/react-core/dist/js/'; + let res = '@patternfly/react-core'; if (components[importName]) { res += 'components'; } else if (beta[importName]) { diff --git a/packages/react-core/package.json b/packages/react-core/package.json index b7bd468339f..d2a006f0581 100644 --- a/packages/react-core/package.json +++ b/packages/react-core/package.json @@ -29,15 +29,9 @@ }, "homepage": "https://github.com/patternfly/patternfly-react#readme", "scripts": { - "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", + "build:umd": "rollup -c && rollup -c --environment IS_PRODUCTION", + "generate": "node scripts/copyStyles.js", "gen:tests": "yo tsx-docgen" }, "dependencies": { @@ -49,14 +43,6 @@ "tippy.js": "5.1.2" }, "devDependencies": { - "@babel/cli": "^7.0.0", - "@babel/core": "^7.0.0", - "@babel/plugin-proposal-class-properties": "^7.0.0", - "@babel/plugin-proposal-export-default-from": "^7.0.0", - "@babel/plugin-proposal-object-rest-spread": "^7.0.0", - "@babel/plugin-transform-typescript": "^7.0.0", - "@babel/preset-env": "^7.0.0", - "@babel/preset-react": "^7.0.0", "@patternfly/patternfly": "4.6.0", "@rollup/plugin-commonjs": "^11.0.2", "@rollup/plugin-node-resolve": "^7.1.1", @@ -64,8 +50,6 @@ "@types/jest": "^24.0.11", "@types/react": "^16.4.0", "@types/react-dom": "^16.4.0", - "babel-plugin-transform-es2015-modules-umd": "^6.24.1", - "babel-plugin-typescript-to-proptypes": "^0.17.1", "css": "^2.2.3", "fs-extra": "^6.0.1", "generator-tsx-docgen": "^0.1.0", @@ -74,11 +58,11 @@ "rollup": "^2.2.0", "rollup-plugin-scss": "^2.1.0", "rollup-plugin-terser": "^5.3.0", + "tslib": "^1.11.1", "typescript": "^3.8.3", "yo": "^3.1.1" }, "peerDependencies": { - "prop-types": "^15.6.1", "react": "^16.4.0", "react-dom": "^15.6.2 || ^16.4.0" } diff --git a/packages/react-core/src/components/Alert/AlertActionCloseButton.tsx b/packages/react-core/src/components/Alert/AlertActionCloseButton.tsx index 023edb31001..1e5afe9223f 100644 --- a/packages/react-core/src/components/Alert/AlertActionCloseButton.tsx +++ b/packages/react-core/src/components/Alert/AlertActionCloseButton.tsx @@ -14,7 +14,7 @@ interface AlertActionCloseButtonProps extends ButtonProps { variantLabel?: string; } -export const AlertActionCloseButton = ({ +export const AlertActionCloseButton: React.FunctionComponent = ({ // eslint-disable-next-line @typescript-eslint/no-unused-vars className = '', onClose = () => undefined as any, diff --git a/packages/react-core/src/components/Alert/AlertIcon.tsx b/packages/react-core/src/components/Alert/AlertIcon.tsx index 75f6a43687e..80d53357fc1 100644 --- a/packages/react-core/src/components/Alert/AlertIcon.tsx +++ b/packages/react-core/src/components/Alert/AlertIcon.tsx @@ -22,7 +22,11 @@ export interface AlertIconProps extends React.HTMLProps { className?: string; } -export const AlertIcon = ({ variant, className = '', ...props }: AlertIconProps) => { +export const AlertIcon: React.FunctionComponent = ({ + variant, + className = '', + ...props +}: AlertIconProps) => { const Icon = variantIcons[variant]; return (
diff --git a/packages/react-core/src/components/AlertGroup/AlertGroupInline.tsx b/packages/react-core/src/components/AlertGroup/AlertGroupInline.tsx index 6002eed3a2c..1d4c2c8f2f6 100644 --- a/packages/react-core/src/components/AlertGroup/AlertGroupInline.tsx +++ b/packages/react-core/src/components/AlertGroup/AlertGroupInline.tsx @@ -3,7 +3,12 @@ import { css } from '@patternfly/react-styles'; import styles from '@patternfly/react-styles/css/components/AlertGroup/alert-group'; import { AlertGroupProps } from './AlertGroup'; -export const AlertGroupInline = ({ className, children, isToast, ...rest }: AlertGroupProps) => ( +export const AlertGroupInline: React.FunctionComponent = ({ + className, + children, + isToast, + ...rest +}: AlertGroupProps) => (
    {React.Children.toArray(children).map((Alert: React.ReactNode, index: number) => (
  • {Alert}
  • diff --git a/packages/react-core/src/components/BackgroundImage/BackgroundImage.tsx b/packages/react-core/src/components/BackgroundImage/BackgroundImage.tsx index cfdb406e134..0e6a3715c8b 100644 --- a/packages/react-core/src/components/BackgroundImage/BackgroundImage.tsx +++ b/packages/react-core/src/components/BackgroundImage/BackgroundImage.tsx @@ -39,7 +39,12 @@ export interface BackgroundImageProps extends Omit { +export const BackgroundImage: React.FunctionComponent = ({ + className, + src, + filter = defaultFilter, + ...props +}: BackgroundImageProps) => { const getUrlValue = (size: keyof BackgroundImageSrcMap) => { if (typeof src === 'string') { return `url(${src})`; diff --git a/packages/react-core/src/components/EmptyState/__tests__/EmptyState.test.tsx b/packages/react-core/src/components/EmptyState/__tests__/EmptyState.test.tsx index 7b47c7fb282..6e7b0822b5c 100644 --- a/packages/react-core/src/components/EmptyState/__tests__/EmptyState.test.tsx +++ b/packages/react-core/src/components/EmptyState/__tests__/EmptyState.test.tsx @@ -78,7 +78,7 @@ describe('EmptyState', () => { /> ); expect(view.find('div').props().className).toBe('pf-c-empty-state__icon custom-empty-state-icon'); - expect(view.find('AddressBookIcon').length).toBe(1); + expect(view.find(AddressBookIcon).length).toBe(1); }); test('Primary div', () => { diff --git a/packages/react-core/src/components/Page/PageHeader.tsx b/packages/react-core/src/components/Page/PageHeader.tsx index e6ce3c359e4..de984b83152 100644 --- a/packages/react-core/src/components/Page/PageHeader.tsx +++ b/packages/react-core/src/components/Page/PageHeader.tsx @@ -37,7 +37,7 @@ export interface PageHeaderProps extends React.HTMLProps { 'aria-label'?: string; } -export const PageHeader = ({ +export const PageHeader: React.FunctionComponent = ({ className = '', logo = null as React.ReactNode, logoProps = null as object, diff --git a/packages/react-core/src/components/Page/PageSection.tsx b/packages/react-core/src/components/Page/PageSection.tsx index d43ae0ef673..686679b41ed 100644 --- a/packages/react-core/src/components/Page/PageSection.tsx +++ b/packages/react-core/src/components/Page/PageSection.tsx @@ -29,7 +29,7 @@ export interface PageSectionProps extends React.HTMLProps { noPadding?: boolean; } -export const PageSection = ({ +export const PageSection: React.FunctionComponent = ({ className = '', children, variant = 'default', diff --git a/packages/react-core/src/components/Pagination/Pagination.tsx b/packages/react-core/src/components/Pagination/Pagination.tsx index ad33eff91f0..e51c927085b 100644 --- a/packages/react-core/src/components/Pagination/Pagination.tsx +++ b/packages/react-core/src/components/Pagination/Pagination.tsx @@ -6,7 +6,7 @@ import { css } from '@patternfly/react-styles'; import { Navigation } from './Navigation'; import { PaginationOptionsMenu } from './PaginationOptionsMenu'; import { getOUIAProps, OUIAProps } from '../../helpers'; -import { c_pagination__nav_page_select_c_form_control_width_chars as widthChars } from '@patternfly/react-tokens'; +import widthChars from '@patternfly/react-tokens/dist/js/c_pagination__nav_page_select_c_form_control_width_chars'; import { PickOptional } from '../../helpers'; export enum PaginationVariant { diff --git a/packages/react-core/src/components/Pagination/ToggleTemplate.tsx b/packages/react-core/src/components/Pagination/ToggleTemplate.tsx index b5a3101eaef..23e3f1aff07 100644 --- a/packages/react-core/src/components/Pagination/ToggleTemplate.tsx +++ b/packages/react-core/src/components/Pagination/ToggleTemplate.tsx @@ -11,7 +11,7 @@ export interface ToggleTemplateProps { itemsTitle?: string; } -export const ToggleTemplate = ({ +export const ToggleTemplate: React.FunctionComponent = ({ firstIndex = 0, lastIndex = 0, itemCount = 0, diff --git a/packages/react-core/src/components/Pagination/__tests__/Pagination.test.tsx b/packages/react-core/src/components/Pagination/__tests__/Pagination.test.tsx index f5ee32f7b6a..d12a129098f 100644 --- a/packages/react-core/src/components/Pagination/__tests__/Pagination.test.tsx +++ b/packages/react-core/src/components/Pagination/__tests__/Pagination.test.tsx @@ -1,4 +1,4 @@ -import React from 'react'; +import * as React from 'react'; import { mount } from 'enzyme'; import { Pagination, PaginationVariant } from '../index'; diff --git a/packages/react-core/src/components/Select/SelectMenu.tsx b/packages/react-core/src/components/Select/SelectMenu.tsx index 68af8aada3f..09d7bf42561 100644 --- a/packages/react-core/src/components/Select/SelectMenu.tsx +++ b/packages/react-core/src/components/Select/SelectMenu.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import styles from '@patternfly/react-styles/css/components/Select/select'; -import { default as formStyles } from '@patternfly/react-styles/css/components/Form/form'; +import formStyles from '@patternfly/react-styles/css/components/Form/form'; import { css } from '@patternfly/react-styles'; import { SelectOptionObject, SelectOption } from './SelectOption'; import { SelectConsumer, SelectVariant } from './selectConstants'; diff --git a/packages/react-core/src/components/Select/SelectOption.tsx b/packages/react-core/src/components/Select/SelectOption.tsx index 177703e9bc3..eb97687b719 100644 --- a/packages/react-core/src/components/Select/SelectOption.tsx +++ b/packages/react-core/src/components/Select/SelectOption.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import styles from '@patternfly/react-styles/css/components/Select/select'; -import { default as checkStyles } from '@patternfly/react-styles/css/components/Check/check'; +import checkStyles from '@patternfly/react-styles/css/components/Check/check'; import { css } from '@patternfly/react-styles'; import CheckIcon from '@patternfly/react-icons/dist/js/icons/check-icon'; import { SelectConsumer, SelectVariant, KeyTypes } from './selectConstants'; diff --git a/packages/react-core/src/components/Tooltip/TooltipArrow.tsx b/packages/react-core/src/components/Tooltip/TooltipArrow.tsx index 89b1c5ec99e..57091e6ae1b 100644 --- a/packages/react-core/src/components/Tooltip/TooltipArrow.tsx +++ b/packages/react-core/src/components/Tooltip/TooltipArrow.tsx @@ -7,6 +7,7 @@ export interface TooltipArrowProps extends React.HTMLProps { className?: string; } -export const TooltipArrow = ({ className, ...props }: TooltipArrowProps) => ( -
    -); +export const TooltipArrow: React.FunctionComponent = ({ + className, + ...props +}: TooltipArrowProps) =>
    ; diff --git a/packages/react-core/src/components/Tooltip/TooltipContent.tsx b/packages/react-core/src/components/Tooltip/TooltipContent.tsx index c538f927dda..c42ffbe78e8 100644 --- a/packages/react-core/src/components/Tooltip/TooltipContent.tsx +++ b/packages/react-core/src/components/Tooltip/TooltipContent.tsx @@ -11,7 +11,12 @@ export interface TooltipContentProps extends React.HTMLProps { isLeftAligned?: boolean; } -export const TooltipContent = ({ className, children, isLeftAligned, ...props }: TooltipContentProps) => ( +export const TooltipContent: React.FunctionComponent = ({ + className, + children, + isLeftAligned, + ...props +}: TooltipContentProps) => (
    {children}
    diff --git a/packages/react-core/src/components/Wizard/examples/SampleForm.js b/packages/react-core/src/components/Wizard/examples/SampleForm.js index 7cd7ceaa8a3..c34cae02eb7 100644 --- a/packages/react-core/src/components/Wizard/examples/SampleForm.js +++ b/packages/react-core/src/components/Wizard/examples/SampleForm.js @@ -1,8 +1,8 @@ import React from 'react'; import PropTypes from 'prop-types'; -import { Form } from '@patternfly/react-core/dist/js/components/Form/Form'; -import { FormGroup } from '@patternfly/react-core/dist/js/components/Form/FormGroup'; -import { TextInput } from '@patternfly/react-core/dist/js/components/TextInput/TextInput'; +import { Form } from '@patternfly/react-core'; +import { FormGroup } from '@patternfly/react-core'; +import { TextInput } from '@patternfly/react-core'; const propTypes = { formValue: PropTypes.string, diff --git a/packages/react-core/src/layouts/Toolbar/examples/SimpleToolbar.js b/packages/react-core/src/layouts/Toolbar/examples/SimpleToolbar.js index 4d1572ffaf7..b1c391a0b32 100644 --- a/packages/react-core/src/layouts/Toolbar/examples/SimpleToolbar.js +++ b/packages/react-core/src/layouts/Toolbar/examples/SimpleToolbar.js @@ -1,7 +1,7 @@ import React from 'react'; -import { Toolbar } from '@patternfly/react-core/dist/js/layouts/Toolbar/Toolbar'; -import { ToolbarGroup } from '@patternfly/react-core/dist/js/layouts/Toolbar/ToolbarGroup'; -import { ToolbarItem } from '@patternfly/react-core/dist/js/layouts/Toolbar/ToolbarItem'; +import { Toolbar } from '@patternfly/react-core'; +import { ToolbarGroup } from '@patternfly/react-core'; +import { ToolbarItem } from '@patternfly/react-core'; class SimpleToolbar extends React.Component { render() { diff --git a/packages/react-core/src/layouts/Toolbar/examples/SimpleToolbarSection.js b/packages/react-core/src/layouts/Toolbar/examples/SimpleToolbarSection.js index 1c7866c3c73..90d9b8bc3a5 100644 --- a/packages/react-core/src/layouts/Toolbar/examples/SimpleToolbarSection.js +++ b/packages/react-core/src/layouts/Toolbar/examples/SimpleToolbarSection.js @@ -1,8 +1,8 @@ import React from 'react'; -import { Toolbar } from '@patternfly/react-core/dist/js/layouts/Toolbar/Toolbar'; -import { ToolbarGroup } from '@patternfly/react-core/dist/js/layouts/Toolbar/ToolbarGroup'; -import { ToolbarSection } from '@patternfly/react-core/dist/js/layouts/Toolbar/ToolbarSection'; -import { ToolbarItem } from '@patternfly/react-core/dist/js/layouts/Toolbar/ToolbarItem'; +import { Toolbar } from '@patternfly/react-core'; +import { ToolbarGroup } from '@patternfly/react-core'; +import { ToolbarSection } from '@patternfly/react-core'; +import { ToolbarItem } from '@patternfly/react-core'; class SimpleToolbarSection extends React.Component { render() { diff --git a/packages/react-core/tsconfig.cjs.json b/packages/react-core/tsconfig.cjs.json new file mode 100644 index 00000000000..578d46af9d3 --- /dev/null +++ b/packages/react-core/tsconfig.cjs.json @@ -0,0 +1,8 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./dist/js", + "module": "commonjs", + "tsBuildInfoFile": "dist/cjs.tsbuildinfo" + } +} diff --git a/packages/react-core/tsconfig.gen-dts.json b/packages/react-core/tsconfig.gen-dts.json deleted file mode 100644 index e2a3d669154..00000000000 --- a/packages/react-core/tsconfig.gen-dts.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "extends": "../tsconfig.base.json", - "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "dist/js" - }, - "include": [ - "./src/*", - "./src/**/*" - ], - "exclude": [ - "./src/**/**.test.tsx", - "./src/**/**.test.ts", - "./src/**/examples/**" - ] -} diff --git a/packages/react-core/tsconfig.json b/packages/react-core/tsconfig.json new file mode 100644 index 00000000000..151e7cb29f7 --- /dev/null +++ b/packages/react-core/tsconfig.json @@ -0,0 +1,18 @@ +{ + "extends": "../tsconfig.base.json", + "compilerOptions": { + "rootDir": "./src", + "outDir": "./dist/esm", + "declarationDir": "./dist/js", + "tsBuildInfoFile": "dist/esm.tsbuildinfo" + }, + "include": [ + "./src/*", + "./src/**/*" + ], + "references": [ + { + "path": "../react-styles" + } + ] +} diff --git a/packages/react-docs/gatsby-config.js b/packages/react-docs/gatsby-config.js index bb100ff651d..bd49a8a4860 100644 --- a/packages/react-docs/gatsby-config.js +++ b/packages/react-docs/gatsby-config.js @@ -51,7 +51,7 @@ module.exports = { '**/build', '**/utils', '**/public', - '**/test-helpers', + '**/test', /.*react-styles.*/, /.*react-docs.*/, /.*react-integration.*/, diff --git a/packages/react-docs/package.json b/packages/react-docs/package.json index 3e8718f1bda..8b5f343131e 100644 --- a/packages/react-docs/package.json +++ b/packages/react-docs/package.json @@ -30,9 +30,8 @@ "@patternfly/react-virtualized-extension": "^4.0.19", "gatsby": "2.20.2", "gatsby-cli": "2.11.0", - "gatsby-theme-patternfly-org": "^1.4.9", + "gatsby-theme-patternfly-org": "^1.4.12", "gatsby-transformer-react-docgen-typescript": "^0.2.5", - "null-loader": "^3.0.0", "react": "^16.8.0", "react-dom": "^16.8.0", "react-helmet": "^5.2.1" diff --git a/packages/react-docs/src/pages/icons.js b/packages/react-docs/src/pages/icons.js index f09c88e7280..df57502da87 100644 --- a/packages/react-docs/src/pages/icons.js +++ b/packages/react-docs/src/pages/icons.js @@ -1,11 +1,11 @@ import React from 'react'; import PropTypes from 'prop-types'; -import { Title } from '@patternfly/react-core/dist/js/components/Title/Title'; -import { Tooltip } from '@patternfly/react-core/dist/js/components/Tooltip/Tooltip'; -import { Text } from '@patternfly/react-core/dist/js/components/Text/Text'; -import { Grid } from '@patternfly/react-core/dist/js/layouts/Grid/Grid'; -import { GridItem } from '@patternfly/react-core/dist/js/layouts/Grid/GridItem'; -import { PageSection } from '@patternfly/react-core/dist/js/components/Page/PageSection'; +import { Title } from '@patternfly/react-core'; +import { Tooltip } from '@patternfly/react-core'; +import { Text } from '@patternfly/react-core'; +import { Grid } from '@patternfly/react-core'; +import { GridItem } from '@patternfly/react-core'; +import { PageSection } from '@patternfly/react-core'; import spacerMd from '@patternfly/react-tokens/dist/js/global_spacer_md'; import labelFontSize from '@patternfly/react-tokens/dist/js/global_FontSize_sm'; import * as IconsModule from '@patternfly/react-icons'; diff --git a/packages/react-docs/src/pages/index.js b/packages/react-docs/src/pages/index.js index 5fff2d6cb7e..da22365b57e 100644 --- a/packages/react-docs/src/pages/index.js +++ b/packages/react-docs/src/pages/index.js @@ -1,7 +1,7 @@ import React from 'react'; import { graphql } from 'gatsby'; -import { Title } from '@patternfly/react-core/dist/js/components/Title/Title'; -import { PageSection, PageSectionVariants } from '@patternfly/react-core/dist/js/components/Page/PageSection'; +import { Title } from '@patternfly/react-core'; +import { PageSection, PageSectionVariants } from '@patternfly/react-core'; import { SideNavLayout } from 'gatsby-theme-patternfly-org/layouts'; const containerStyle = { diff --git a/packages/react-icons/.babelrc b/packages/react-icons/.babelrc deleted file mode 100644 index 25c4221a16d..00000000000 --- a/packages/react-icons/.babelrc +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": "../.babelrc" -} \ No newline at end of file diff --git a/packages/react-icons/.gitignore b/packages/react-icons/.gitignore deleted file mode 100644 index d04ed9997e4..00000000000 --- a/packages/react-icons/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -src/icons -src/index.js -src/index.d.ts diff --git a/packages/react-icons/.npmignore b/packages/react-icons/.npmignore index dd2cdd7ae6b..4d63a47e6dc 100644 --- a/packages/react-icons/.npmignore +++ b/packages/react-icons/.npmignore @@ -1,5 +1,2 @@ -dist/**/demos -dist/**/examples -dist/**/__snapshots__ -dist/**/*.test.js dist/**/*.map +dist/*.tsbuildinfo diff --git a/packages/react-icons/package.json b/packages/react-icons/package.json index d5407343ede..a7729d5c8ec 100644 --- a/packages/react-icons/package.json +++ b/packages/react-icons/package.json @@ -25,36 +25,20 @@ }, "homepage": "https://github.com/patternfly/patternfly-react#readme", "scripts": { - "build": "yarn generate && 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", - "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", - "generate": "node scripts/generateSrc.js", - "clean": "rimraf dist src/icons src/index.js src/index.d.ts" + "generate": "node scripts/generateIcons.js", + "clean": "rimraf dist src/icons" }, "devDependencies": { - "@babel/cli": "^7.0.0", - "@babel/core": "^7.0.0", - "@babel/plugin-proposal-class-properties": "^7.0.0", - "@babel/plugin-proposal-export-default-from": "^7.0.0", - "@babel/plugin-proposal-object-rest-spread": "^7.0.0", - "@babel/plugin-transform-typescript": "^7.0.0", - "@babel/preset-env": "^7.0.0", - "@babel/preset-react": "^7.0.0", "@fortawesome/free-regular-svg-icons": "^5.7.2", "@fortawesome/free-solid-svg-icons": "^5.7.2", "@patternfly/patternfly": "4.6.0", - "babel-plugin-transform-es2015-modules-umd": "^6.24.1", - "babel-plugin-typescript-to-proptypes": "^0.17.1", + "concurrently": "^5.1.0", "fs-extra": "^6.0.1", "glob": "^7.1.2", "rimraf": "^2.6.2", "typescript": "^3.8.3" }, "peerDependencies": { - "prop-types": "^15.6.1", "react": "^16.4.0", "react-dom": "^15.6.2 || ^16.4.0" }, diff --git a/packages/react-icons/scripts/generateIcons.js b/packages/react-icons/scripts/generateIcons.js new file mode 100644 index 00000000000..cfcb7ffcc29 --- /dev/null +++ b/packages/react-icons/scripts/generateIcons.js @@ -0,0 +1,47 @@ +const path = require('path'); +const fs = require('fs-extra'); +const icons = require('./icons'); +const concurrently = require('concurrently'); + +const removeSnake = s => + s + .toUpperCase() + .replace('-', '') + .replace('_', ''); +const pascalCase = s => `${s[0].toUpperCase()}${s.substr(1).replace(/([-_][a-z])/gi, removeSnake)}`; + +/** + * Generates src/icons/*.tsx files + */ +async function generateIcons() { + const outDir = path.join(__dirname, '../dist'); + const templateDir = path.resolve(__dirname, './templates'); + + if (fs.existsSync(outDir)) { + // eslint-disable-next-line no-console + console.log('Not overwriting generate icons files.'); + return; + } + + const templates = fs.readdirSync(templateDir).map(templateFile => require(path.join(templateDir, templateFile))); + + const index = []; + Object.entries(icons).forEach(([iconName, icon]) => { + const fname = `${iconName}-icon`; + const jsName = `${pascalCase(iconName)}Icon`; + + templates.forEach(template => + fs.outputFileSync(template.getSingleOutputPath(outDir, fname), template.getSingleContent(jsName, icon)) + ); + index.push(fname); + }); + templates.forEach(template => fs.outputFileSync(template.getOutputPath(outDir), template.getContent(index))); + + // Compile src folder + const tsDir = path.resolve(__dirname, '..'); + await concurrently([`yarn tsc -p ${tsDir}`, `yarn tsc -p ${tsDir}/tsconfig.cjs.json`]); + // eslint-disable-next-line no-console + console.log('Generated files for', index.length, 'icons'); +} + +generateIcons(); diff --git a/packages/react-icons/scripts/generateSrc.js b/packages/react-icons/scripts/generateSrc.js deleted file mode 100644 index 68817aaf675..00000000000 --- a/packages/react-icons/scripts/generateSrc.js +++ /dev/null @@ -1,73 +0,0 @@ -const path = require('path'); -const fs = require('fs'); -const icons = require('./icons'); - -const destDir = path.join(__dirname, '../src/icons'); - -const removeSnake = s => - s - .toUpperCase() - .replace('-', '') - .replace('_', ''); -const toCamel = s => `${s[0].toUpperCase()}${s.substr(1).replace(/([-_][a-z])/gi, removeSnake)}`; - -/** - * @param {string} val possibly undefined value to transform into a string - */ -function stringify(val) { - return val ? val : ''; -} - -/** - * Generates src/icons/*.tsx files - */ -function generateSrc() { - if (!fs.existsSync(destDir)) { - fs.mkdirSync(destDir); - } - - const index = []; - Object.entries(icons).forEach(([iconName, icon]) => { - const fname = `${iconName}-icon.tsx`; - const jsName = `${toCamel(iconName)}Icon`; - fs.writeFileSync( - path.join(destDir, fname), - `import * as React from 'react'; -import { SVGIcon, SVGIconProps } from '../SVGIcon'; - -export const ${jsName}Config = { - name: '${jsName}', - height: ${icon.height}, - width: ${icon.width}, - svgPath: '${icon.svgPathData}', - yOffset: ${icon.yOffset || 0}, - xOffset: ${icon.xOffset || 0}, - transform: '${stringify(icon.transform)}' -}; - -export const ${jsName}: React.FunctionComponent> = ( - props -) => { - const newProps = Object.assign({ config: ${jsName}Config }, props) as SVGIconProps; - return React.createElement(SVGIcon, newProps); -}; - -export default ${jsName};\n` - ); - - index.push(path.basename(fname, '.tsx')); - }); - - fs.writeFileSync( - path.join(destDir, 'index.ts'), - `${index - .sort() - .map(fname => `export * from './${fname}';`) - .join('\n')}\n` - ); - - // eslint-disable-next-line no-console - console.log('Generated', index.length, 'icons.'); -} - -generateSrc(); diff --git a/packages/react-icons/scripts/templates/cjs.js b/packages/react-icons/scripts/templates/cjs.js new file mode 100644 index 00000000000..48a100cda00 --- /dev/null +++ b/packages/react-icons/scripts/templates/cjs.js @@ -0,0 +1,35 @@ +const { join } = require('path'); + +module.exports = { + getOutputPath: outDir => join(outDir, 'js/icons/index.js'), + getContent: fnames => `"use strict"; +function __export(m) { + for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; +} +Object.defineProperty(exports, "__esModule", { value: true }); +${fnames.map(fname => `__export(require("./${fname}"));`).join('\n')} +`, + getSingleOutputPath: (outDir, fname) => join(outDir, `js/icons/${fname}.js`), + getSingleContent: (jsName, icon) => `"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +var react_1 = __importDefault(require("react")); +var SVGIcon_1 = require("../SVGIcon"); +exports.${jsName}Config = { + name: '${jsName}', + height: ${icon.height}, + width: ${icon.width}, + svgPath: '${icon.svgPathData}', + yOffset: ${icon.yOffset || 0}, + xOffset: ${icon.xOffset || 0}, + transform: '${icon.transform || ''}' +}; +exports.${jsName} = function ${jsName}(props) { + var newProps = Object.assign({ config: exports.${jsName}Config }, props); + return react_1.default.createElement(SVGIcon_1.SVGIcon, newProps); +}; +exports.default = exports.${jsName}; +` +}; diff --git a/packages/react-icons/scripts/templates/d.ts.js b/packages/react-icons/scripts/templates/d.ts.js new file mode 100644 index 00000000000..c15d02f1afa --- /dev/null +++ b/packages/react-icons/scripts/templates/d.ts.js @@ -0,0 +1,26 @@ +const { join } = require('path'); + +module.exports = { + getOutputPath: outDir => join(outDir, 'js/icons/index.d.ts'), + getContent: fnames => + fnames + .sort() + .map(fname => `export * from './${fname}';`) + .join('\n') + '\n', + getSingleOutputPath: (outDir, fname) => join(outDir, `js/icons/${fname}.d.ts`), + getSingleContent: jsName => `"use strict"; +import React from 'react'; +import { SVGIconProps } from '../SVGIcon'; +export declare const ${jsName}Config: { + name: string; + height: number; + width: number; + svgPath: string; + yOffset: number; + xOffset: number; + transform: string; +}; +export declare const ${jsName}: React.FunctionComponent>; +export default ${jsName}; +` +}; diff --git a/packages/react-icons/scripts/templates/esm.js b/packages/react-icons/scripts/templates/esm.js new file mode 100644 index 00000000000..f8ef67bd516 --- /dev/null +++ b/packages/react-icons/scripts/templates/esm.js @@ -0,0 +1,27 @@ +const { join } = require('path'); + +module.exports = { + getOutputPath: outDir => join(outDir, 'esm/icons/index.js'), + getContent: fnames => + fnames + .sort() + .map(fname => `export * from './${fname}';`) + .join('\n') + '\n', + getSingleOutputPath: (outDir, fname) => join(outDir, `esm/icons/${fname}.js`), + getSingleContent: (jsName, icon) => `import React from 'react'; +import { SVGIcon } from '../SVGIcon'; +export var ${jsName}Config = { + name: '${jsName}', + height: ${icon.height}, + width: ${icon.width}, + svgPath: '${icon.svgPathData}', + yOffset: ${icon.yOffset || 0}, + xOffset: ${icon.xOffset || 0}, + transform: '${icon.transform || ''}' +}; +export var ${jsName} = function (props) { + var newProps = Object.assign({ config: ${jsName}Config }, props); + return React.createElement(SVGIcon, newProps); +}; +export default ${jsName};\n` +}; diff --git a/packages/react-icons/src/SVGIcon.tsx b/packages/react-icons/src/SVGIcon.tsx index aac4975b894..a640f09f0bc 100644 --- a/packages/react-icons/src/SVGIcon.tsx +++ b/packages/react-icons/src/SVGIcon.tsx @@ -1,4 +1,4 @@ -import * as React from 'react'; +import React from 'react'; let currentId = 0; diff --git a/packages/react-icons/src/index.ts b/packages/react-icons/src/index.ts index f48f470492a..959a8020b08 100644 --- a/packages/react-icons/src/index.ts +++ b/packages/react-icons/src/index.ts @@ -1,2 +1,4 @@ export { IconSize } from './SVGIcon'; -export * from './icons'; +// This includes the generated icons by using Typescript's `rootDirs` config +// https://www.typescriptlang.org/docs/handbook/module-resolution.html#virtual-directories-with-rootdirs +export * from './icons/index'; diff --git a/packages/react-icons/tsconfig.cjs.json b/packages/react-icons/tsconfig.cjs.json new file mode 100644 index 00000000000..578d46af9d3 --- /dev/null +++ b/packages/react-icons/tsconfig.cjs.json @@ -0,0 +1,8 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./dist/js", + "module": "commonjs", + "tsBuildInfoFile": "dist/cjs.tsbuildinfo" + } +} diff --git a/packages/react-icons/tsconfig.gen-dts.json b/packages/react-icons/tsconfig.gen-dts.json deleted file mode 100644 index e2a3d669154..00000000000 --- a/packages/react-icons/tsconfig.gen-dts.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "extends": "../tsconfig.base.json", - "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "dist/js" - }, - "include": [ - "./src/*", - "./src/**/*" - ], - "exclude": [ - "./src/**/**.test.tsx", - "./src/**/**.test.ts", - "./src/**/examples/**" - ] -} diff --git a/packages/react-icons/tsconfig.json b/packages/react-icons/tsconfig.json new file mode 100644 index 00000000000..6050f8d17c6 --- /dev/null +++ b/packages/react-icons/tsconfig.json @@ -0,0 +1,16 @@ +{ + "extends": "../tsconfig.base.json", + "compilerOptions": { + "rootDir": "./src", + "outDir": "./dist/esm", + "declarationDir": "./dist/js", + "rootDirs": [ + "src/icons", + "dist/js/icons" + ] + }, + "include": [ + "./src/*", + "./src/**/*" + ] +} diff --git a/packages/react-inline-edit-extension/.babelrc b/packages/react-inline-edit-extension/.babelrc deleted file mode 100644 index 25c4221a16d..00000000000 --- a/packages/react-inline-edit-extension/.babelrc +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": "../.babelrc" -} \ No newline at end of file diff --git a/packages/react-inline-edit-extension/.npmignore b/packages/react-inline-edit-extension/.npmignore index 5344519a423..4d63a47e6dc 100644 --- a/packages/react-inline-edit-extension/.npmignore +++ b/packages/react-inline-edit-extension/.npmignore @@ -1,6 +1,2 @@ -build -dist/**/demos -dist/**/examples -dist/**/__snapshots__ -dist/**/*.test.js dist/**/*.map +dist/*.tsbuildinfo diff --git a/packages/react-inline-edit-extension/build/copyStyles.js b/packages/react-inline-edit-extension/build/copyStyles.js deleted file mode 100644 index c33f095490f..00000000000 --- a/packages/react-inline-edit-extension/build/copyStyles.js +++ /dev/null @@ -1,42 +0,0 @@ -const { copySync, readFileSync, writeFileSync } = require('fs-extra'); -const { resolve, dirname, join } = require('path'); -const { parse: parseCSS, stringify: stringifyCSS } = require('css'); - -const baseCSSFilename = 'patternfly-base.css'; -const stylesDir = resolve(__dirname, '../dist/styles'); -const pfDir = dirname(require.resolve(`@patternfly/patternfly/${baseCSSFilename}`)); - -const css = readFileSync(join(pfDir, baseCSSFilename), 'utf8'); -const ast = parseCSS(css); - -const unusedSelectorRegEx = /(\.fas?|\.sr-only)/; -const unusedKeyFramesRegEx = /fa-/; -const unusedFontFamilyRegEx = /Font Awesome 5 Free/; -const ununsedFontFilesRegExt = /(fa-|\.html$|\.css$)/; - -// Core provides font awesome fonts and utlities. React does not use these -ast.stylesheet.rules = ast.stylesheet.rules.filter(rule => { - switch (rule.type) { - case 'rule': - return !rule.selectors.some(sel => unusedSelectorRegEx.test(sel)); - case 'keyframes': - return !unusedKeyFramesRegEx.test(rule.name); - case 'charset': - case 'comment': - return false; - case 'font-face': { - const fontFamilyDecl = rule.declarations.find(decl => decl.property === 'font-family'); - return !unusedFontFamilyRegEx.test(fontFamilyDecl.value); - } - default: - return true; - } -}); - -copySync(join(pfDir, 'assets/images'), join(stylesDir, 'assets/images')); -copySync(join(pfDir, 'assets/fonts'), join(stylesDir, 'assets/fonts'), { - filter(src) { - return !ununsedFontFilesRegExt.test(src); - } -}); -writeFileSync(join(stylesDir, 'base.css'), stringifyCSS(ast)); diff --git a/packages/react-inline-edit-extension/build/snapshot-serializer.js b/packages/react-inline-edit-extension/build/snapshot-serializer.js deleted file mode 100644 index 0edb3cb5b4c..00000000000 --- a/packages/react-inline-edit-extension/build/snapshot-serializer.js +++ /dev/null @@ -1,8 +0,0 @@ -const fs = require('fs'); -const { createSerializer } = require('@patternfly/react-styles/snapshot-serializer'); - -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-inline-edit-extension/package.json b/packages/react-inline-edit-extension/package.json index da0cdeb0325..45b244c2368 100644 --- a/packages/react-inline-edit-extension/package.json +++ b/packages/react-inline-edit-extension/package.json @@ -36,35 +36,19 @@ "reactabular-table": "^8.14.0" }, "peerDependencies": { - "prop-types": "^15.6.1", "react": "^16.4.0", "react-dom": "^15.6.2 || ^16.4.0" }, "scripts": { - "build": "yarn build:babel && node ./scripts/copyTS.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", - "clean": "rimraf dist", - "develop": "yarn build:babel:esm --skip-initial-build --watch --verbose", - "postbuild": "node ./build/copyStyles.js" + "clean": "rimraf dist" }, "devDependencies": { - "@babel/cli": "^7.0.0", - "@babel/core": "^7.0.0", - "@babel/plugin-proposal-class-properties": "^7.0.0", - "@babel/plugin-proposal-export-default-from": "^7.0.0", - "@babel/plugin-proposal-object-rest-spread": "^7.0.0", - "@babel/plugin-transform-typescript": "^7.0.0", - "@babel/preset-env": "^7.0.0", - "@babel/preset-react": "^7.0.0", - "babel-plugin-transform-es2015-modules-umd": "^6.24.1", - "babel-plugin-typescript-to-proptypes": "^0.17.1", "css": "^2.2.3", "fs-extra": "^6.0.1", "glob": "^7.1.2", "npmlog": "^4.1.2", - "rimraf": "^2.6.2" + "rimraf": "^2.6.2", + "tslib": "^1.11.1", + "typescript": "^3.8.3" } } diff --git a/packages/react-inline-edit-extension/scripts/copyTS.js b/packages/react-inline-edit-extension/scripts/copyTS.js deleted file mode 100644 index 7f55c3a234a..00000000000 --- a/packages/react-inline-edit-extension/scripts/copyTS.js +++ /dev/null @@ -1,17 +0,0 @@ -const path = require('path'); -const glob = require('glob'); -const fse = require('fs-extra'); -const log = require('npmlog'); - -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); - log.info('copyTS', `${from} --> ${to}`); - fse.copySync(from, to); -}); diff --git a/packages/react-inline-edit-extension/src/components/InlineEdit/editableTableBody.js b/packages/react-inline-edit-extension/src/components/Body/Body.tsx similarity index 57% rename from packages/react-inline-edit-extension/src/components/InlineEdit/editableTableBody.js rename to packages/react-inline-edit-extension/src/components/Body/Body.tsx index d2c70477faa..b4f78e8ed20 100644 --- a/packages/react-inline-edit-extension/src/components/InlineEdit/editableTableBody.js +++ b/packages/react-inline-edit-extension/src/components/Body/Body.tsx @@ -1,29 +1,17 @@ -import React from 'react'; -import { TableContext, TableBody, isRowExpanded } from '@patternfly/react-table'; - -import PropTypes from 'prop-types'; -import { TableEditConfirmation } from './constants'; -import { showIdWarnings } from './utils/utils'; - -const propTypes = { - ...TableBody.propTypes, - editConfig: PropTypes.shape({ - editConfirmationType: PropTypes.oneOf(Object.values(TableEditConfirmation)), - onEditCellClicked: PropTypes.func, - onEditConfirmed: PropTypes.func, - onEditCanceled: PropTypes.func - }).isRequired, - /** Function that is fired when user clicks on a row if not editing. */ - onRowClick: PropTypes.func -}; - -const defaultProps = { - ...TableBody.defaultProps, - editConfig: null, - onRowClick: () => undefined -}; - -const resolveCascadeEditability = rows => { +import * as React from 'react'; +import { + TableBodyProps, + isRowExpanded, + IRowData, + IExtraRowData, + TableBody, + IRow, + IComputedData +} from '@patternfly/react-table'; +import { showIdWarnings, TableEditConfirmation } from '../../utils'; +import { IEditedCellData } from '../InlineEdit/editableTableBody'; + +const resolveCascadeEditability = (rows: ExtendedIRow[]) => { // eslint-disable-next-line no-undef const isRowExpandedIndexes = new Set( rows.map((row, idx) => (isRowExpanded(row, rows) ? idx : null)).filter(row => row !== null) @@ -56,14 +44,20 @@ const resolveCascadeEditability = rows => { } }; -const onRow = (event, row, rowProps, computedData, { onRowClick, editConfig }) => { - const { target } = event; +const onRow = ( + event: React.MouseEvent, + row: IRow, + rowProps: IExtraRowData, + computedData: IComputedData, + { onRowClick, editConfig }: InlineEditBodyProps +) => { + const target = event.target as any; const cell = target.closest('[data-key]'); // eslint-disable-next-line radix const cellNumber = parseInt(cell && cell.getAttribute('data-key'), 10); const hasCellNumber = !Number.isNaN(cellNumber); - let onEditCellClicked; + let onEditCellClicked: () => void; if (hasCellNumber && editConfig && typeof editConfig.onEditCellClicked === 'function') { // resolve closest (e.g. for dropdowns) usable id of a clicked element inside a cell @@ -75,7 +69,7 @@ const onRow = (event, row, rowProps, computedData, { onRowClick, editConfig }) = } onEditCellClicked = () => { - editConfig.onEditCellClicked(event, row, { + editConfig.onEditCellClicked(event as any, row, { ...rowProps, columnIndex: cellNumber, elementId @@ -98,13 +92,34 @@ const onRow = (event, row, rowProps, computedData, { onRowClick, editConfig }) = }, 0); }; -const Body = ({ BodyComponent, rows, editConfig, onRowClick, ...props }) => { +export interface EditConfig { + editConfirmationType?: typeof TableEditConfirmation | keyof typeof TableEditConfirmation; + onEditCellClicked?: (value: React.MouseEvent, row: IRowData, extra: IEditedCellData) => void; + onEditConfirmed?: (value: React.MouseEvent, row: IRowData, rowProps: IExtraRowData) => void; + onEditCanceled?: (value: React.MouseEvent, row: IRowData, rowProps: IExtraRowData) => void; +} + +export interface InlineEditBodyProps extends TableBodyProps { + editConfig: EditConfig; +} + +export interface BodyProps extends TableBodyProps { + BodyComponent: typeof TableBody; + editConfig: EditConfig; +} + +interface ExtendedIRow extends IRow { + editConfig: EditConfig; + isTableEditing: boolean; +} + +export const Body = ({ BodyComponent, rows = [], editConfig, onRowClick = () => {}, ...props }: BodyProps) => { const isTableEditing = rows.some(row => row.isEditing); const mappedRows = rows.map(row => ({ ...row, editConfig, isTableEditing - })); + })) as ExtendedIRow[]; resolveCascadeEditability(mappedRows); @@ -118,40 +133,3 @@ const Body = ({ BodyComponent, rows, editConfig, onRowClick, ...props }) => { /> ); }; - -Body.propTypes = { - BodyComponent: PropTypes.any.isRequired, - rows: PropTypes.array, - editConfig: PropTypes.any, - onRowClick: PropTypes.func -}; - -Body.defaultProps = { - rows: [], - editConfig: null, - onRowClick: () => undefined -}; - -const editableTableBody = BodyComponent => { - const InlineEditBody = ({ editConfig, onRowClick, ...props }) => ( - - {({ rows, ...consumedProps }) => ( - - )} - - ); - - InlineEditBody.propTypes = propTypes; - InlineEditBody.defaultProps = defaultProps; - - return InlineEditBody; -}; - -export default editableTableBody; diff --git a/packages/react-inline-edit-extension/src/components/Body/index.ts b/packages/react-inline-edit-extension/src/components/Body/index.ts new file mode 100644 index 00000000000..0b63ac83587 --- /dev/null +++ b/packages/react-inline-edit-extension/src/components/Body/index.ts @@ -0,0 +1 @@ +export * from './Body'; diff --git a/packages/react-inline-edit-extension/src/components/CancelButton/CancelButton.js b/packages/react-inline-edit-extension/src/components/CancelButton/CancelButton.js deleted file mode 100644 index 641a3c1d864..00000000000 --- a/packages/react-inline-edit-extension/src/components/CancelButton/CancelButton.js +++ /dev/null @@ -1,20 +0,0 @@ -import React from 'react'; -import CloseIcon from '@patternfly/react-icons/dist/js/icons/close-icon'; -import { Button } from '@patternfly/react-core/dist/js/components/Button/Button'; - -const CancelButton = props => ( - -); - -CancelButton.propTypes = { - ...Button.propTypes -}; - -CancelButton.defaultProps = { - ...Button.defaultProps, - variant: 'plain' -}; - -export default CancelButton; diff --git a/packages/react-inline-edit-extension/src/components/CancelButton/CancelButton.tsx b/packages/react-inline-edit-extension/src/components/CancelButton/CancelButton.tsx new file mode 100644 index 00000000000..8dfbf9e148a --- /dev/null +++ b/packages/react-inline-edit-extension/src/components/CancelButton/CancelButton.tsx @@ -0,0 +1,9 @@ +import * as React from 'react'; +import CloseIcon from '@patternfly/react-icons/dist/js/icons/close-icon'; +import { Button, ButtonProps } from '@patternfly/react-core'; + +export const CancelButton: React.FunctionComponent = ({ variant = 'plain', ...props }: ButtonProps) => ( + +); diff --git a/packages/react-inline-edit-extension/src/components/CancelButton/__snapshots__/CancelButton.test.js.snap b/packages/react-inline-edit-extension/src/components/CancelButton/__snapshots__/CancelButton.test.js.snap index ffa073a376e..0ddb40bbb81 100644 --- a/packages/react-inline-edit-extension/src/components/CancelButton/__snapshots__/CancelButton.test.js.snap +++ b/packages/react-inline-edit-extension/src/components/CancelButton/__snapshots__/CancelButton.test.js.snap @@ -1,9 +1,9 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`it renders properly 1`] = ` - + `; diff --git a/packages/react-inline-edit-extension/src/components/CancelButton/index.js b/packages/react-inline-edit-extension/src/components/CancelButton/index.js deleted file mode 100644 index c4dc29a593a..00000000000 --- a/packages/react-inline-edit-extension/src/components/CancelButton/index.js +++ /dev/null @@ -1 +0,0 @@ -export { default as CancelButton } from './CancelButton'; diff --git a/packages/react-inline-edit-extension/src/components/CancelButton/index.ts b/packages/react-inline-edit-extension/src/components/CancelButton/index.ts new file mode 100644 index 00000000000..886c5b01073 --- /dev/null +++ b/packages/react-inline-edit-extension/src/components/CancelButton/index.ts @@ -0,0 +1 @@ +export * from './CancelButton'; diff --git a/packages/react-inline-edit-extension/src/components/ConfirmButton/ConfirmButton.js b/packages/react-inline-edit-extension/src/components/ConfirmButton/ConfirmButton.js deleted file mode 100644 index b25e66199df..00000000000 --- a/packages/react-inline-edit-extension/src/components/ConfirmButton/ConfirmButton.js +++ /dev/null @@ -1,20 +0,0 @@ -import React from 'react'; -import CheckIcon from '@patternfly/react-icons/dist/js/icons/check-icon'; -import { Button } from '@patternfly/react-core/dist/js/components/Button/Button'; - -const ConfirmButton = props => ( - -); - -ConfirmButton.propTypes = { - ...Button.propTypes -}; - -ConfirmButton.defaultProps = { - ...Button.defaultProps, - variant: 'primary' -}; - -export default ConfirmButton; diff --git a/packages/react-inline-edit-extension/src/components/ConfirmButton/ConfirmButton.tsx b/packages/react-inline-edit-extension/src/components/ConfirmButton/ConfirmButton.tsx new file mode 100644 index 00000000000..49c73aa3748 --- /dev/null +++ b/packages/react-inline-edit-extension/src/components/ConfirmButton/ConfirmButton.tsx @@ -0,0 +1,9 @@ +import * as React from 'react'; +import CheckIcon from '@patternfly/react-icons/dist/js/icons/check-icon'; +import { Button, ButtonProps } from '@patternfly/react-core'; + +export const ConfirmButton: React.FunctionComponent = ({ variant = 'primary', ...props }: ButtonProps) => ( + +); diff --git a/packages/react-inline-edit-extension/src/components/ConfirmButton/__snapshots__/ConfirmButton.test.js.snap b/packages/react-inline-edit-extension/src/components/ConfirmButton/__snapshots__/ConfirmButton.test.js.snap index 28c21f907a5..2a6560f9804 100644 --- a/packages/react-inline-edit-extension/src/components/ConfirmButton/__snapshots__/ConfirmButton.test.js.snap +++ b/packages/react-inline-edit-extension/src/components/ConfirmButton/__snapshots__/ConfirmButton.test.js.snap @@ -1,9 +1,9 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`it renders properly 1`] = ` - + `; diff --git a/packages/react-inline-edit-extension/src/components/ConfirmButton/index.js b/packages/react-inline-edit-extension/src/components/ConfirmButton/index.js deleted file mode 100644 index 4ccccc70087..00000000000 --- a/packages/react-inline-edit-extension/src/components/ConfirmButton/index.js +++ /dev/null @@ -1 +0,0 @@ -export { default as ConfirmButton } from './ConfirmButton'; diff --git a/packages/react-inline-edit-extension/src/components/ConfirmButton/index.ts b/packages/react-inline-edit-extension/src/components/ConfirmButton/index.ts new file mode 100644 index 00000000000..8514cab990e --- /dev/null +++ b/packages/react-inline-edit-extension/src/components/ConfirmButton/index.ts @@ -0,0 +1 @@ +export * from './ConfirmButton'; diff --git a/packages/react-inline-edit-extension/src/components/InlineEdit/ConfirmButtons.test.js b/packages/react-inline-edit-extension/src/components/ConfirmButtons/ConfirmButtons.test.js similarity index 91% rename from packages/react-inline-edit-extension/src/components/InlineEdit/ConfirmButtons.test.js rename to packages/react-inline-edit-extension/src/components/ConfirmButtons/ConfirmButtons.test.js index ac12f4a72d7..f21d887efb7 100644 --- a/packages/react-inline-edit-extension/src/components/InlineEdit/ConfirmButtons.test.js +++ b/packages/react-inline-edit-extension/src/components/ConfirmButtons/ConfirmButtons.test.js @@ -1,7 +1,7 @@ import React from 'react'; import { mount } from 'enzyme/build'; -import { default as ConfirmButtons } from './ConfirmButtons'; +import { ConfirmButtons } from './ConfirmButtons'; const getConfirmButtons = () => ( { + const boldShift = bold ? -1 : 0; + return { + bottom: window.height - rowDimensions.top - 1 + boldShift, + right: window.width - rowDimensions.right + 10 + }; +}; + +const buttonsBottomPosition = (window: WindowDimensions, rowDimensions: ClientBoundingRect, bold: boolean) => { + const boldShift = bold ? -1 : 0; + return { + top: rowDimensions.bottom - 1 + boldShift, + right: window.width - rowDimensions.right + 10 + }; +}; + +export interface Environment { + window: WindowDimensions; + row: ClientBoundingRect; +} + +export interface ConfirmButtonProps { + environment: Environment; + buttonsOnTop?: boolean; + boldBorder?: boolean; + messages?: { confirmButtonLabel: string; cancelButtonLabel: string }; + onConfirm?: (event: React.MouseEvent) => void; + onCancel?: (event: React.MouseEvent) => void; +} + +export const ConfirmButtons = ({ + messages: { confirmButtonLabel, cancelButtonLabel } = { confirmButtonLabel: 'Save', cancelButtonLabel: 'Cancel' }, + onConfirm = () => {}, + onCancel = () => {}, + environment, + buttonsOnTop = false, + boldBorder = false +}: ConfirmButtonProps) => { + if (environment == null) { + return null; + } + const { window, row } = environment; + + const positionStyle = buttonsOnTop + ? buttonsTopPosition(window, row, boldBorder) + : buttonsBottomPosition(window, row, boldBorder); + + const className = css( + styles.tableInlineEditButtons, + buttonsOnTop ? styles.modifiers.top : styles.modifiers.bottom, + boldBorder && styles.modifiers.bold + ); + + return ( +
    + + +
    + ); +}; diff --git a/packages/react-inline-edit-extension/src/components/InlineEdit/__snapshots__/ConfirmButtons.test.js.snap b/packages/react-inline-edit-extension/src/components/ConfirmButtons/__snapshots__/ConfirmButtons.test.js.snap similarity index 98% rename from packages/react-inline-edit-extension/src/components/InlineEdit/__snapshots__/ConfirmButtons.test.js.snap rename to packages/react-inline-edit-extension/src/components/ConfirmButtons/__snapshots__/ConfirmButtons.test.js.snap index e1fe531d27c..2ce19ca5dcf 100644 --- a/packages/react-inline-edit-extension/src/components/InlineEdit/__snapshots__/ConfirmButtons.test.js.snap +++ b/packages/react-inline-edit-extension/src/components/ConfirmButtons/__snapshots__/ConfirmButtons.test.js.snap @@ -41,9 +41,8 @@ exports[`ConfirmButtons renders correctly 1`] = ` aria-label="Confirm" key="confirm" onMouseUp={[MockFunction]} - variant="primary" > - - + - - +
    diff --git a/packages/react-inline-edit-extension/src/components/ConfirmButtons/index.ts b/packages/react-inline-edit-extension/src/components/ConfirmButtons/index.ts new file mode 100644 index 00000000000..c9d98e21e84 --- /dev/null +++ b/packages/react-inline-edit-extension/src/components/ConfirmButtons/index.ts @@ -0,0 +1 @@ +export * from './ConfirmButtons'; diff --git a/packages/react-inline-edit-extension/src/components/InlineEdit/ConfirmButtons.js b/packages/react-inline-edit-extension/src/components/InlineEdit/ConfirmButtons.js deleted file mode 100644 index 1ecd2323501..00000000000 --- a/packages/react-inline-edit-extension/src/components/InlineEdit/ConfirmButtons.js +++ /dev/null @@ -1,94 +0,0 @@ -import React from 'react'; -import PropTypes from 'prop-types'; -import { css } from '@patternfly/react-styles'; -import { CancelButton } from '../CancelButton'; -import { ConfirmButton } from '../ConfirmButton'; -import '@patternfly/react-styles/css/components/Table/inline-edit.css'; -import { inlineEditStyles as styles } from './css/inline-edit-css'; - -const buttonsTopPosition = (window, rowDimensions, bold) => { - const boldShift = bold ? -1 : 0; - return { - bottom: window.height - rowDimensions.top - 1 + boldShift, - right: window.width - rowDimensions.right + 10 - }; -}; - -const buttonsBottomPosition = (window, rowDimensions, bold) => { - const boldShift = bold ? -1 : 0; - return { - top: rowDimensions.bottom - 1 + boldShift, - right: window.width - rowDimensions.right + 10 - }; -}; - -const ConfirmButtons = ({ - messages: { confirmButtonLabel, cancelButtonLabel }, - onConfirm, - onCancel, - environment, - buttonsOnTop, - boldBorder -}) => { - if (environment == null) { - return null; - } - const { window, row } = environment; - - const positionStyle = buttonsOnTop - ? buttonsTopPosition(window, row, boldBorder) - : buttonsBottomPosition(window, row, boldBorder); - - const className = css( - styles.tableInlineEditButtons, - buttonsOnTop ? styles.modifiers.top : styles.modifiers.bottom, - boldBorder && styles.modifiers.bold - ); - - return ( -
    - - -
    - ); -}; - -ConfirmButtons.defaultProps = { - onConfirm: () => undefined, - onCancel: () => undefined, - buttonsOnTop: false, - boldBorder: false, - environment: undefined, - messages: { - confirmButtonLabel: 'Save', - cancelButtonLabel: 'Cancel' - } -}; - -ConfirmButtons.propTypes = { - /** Confirm edit callback */ - onConfirm: PropTypes.func, - /** Cancel edit callback */ - onCancel: PropTypes.func, - /** Inject confirm buttons positions */ - environment: PropTypes.shape({ - window: PropTypes.shape({ - width: PropTypes.number, - height: PropTypes.number - }), - row: PropTypes.shape({ - top: PropTypes.number, - bottom: PropTypes.number, - left: PropTypes.number, - right: PropTypes.number - }) - }), - buttonsOnTop: PropTypes.bool, - boldBorder: PropTypes.bool, - messages: PropTypes.shape({ - confirmButtonLabel: PropTypes.string, - cancelButtonLabel: PropTypes.string - }) -}; - -export default ConfirmButtons; diff --git a/packages/react-inline-edit-extension/src/components/InlineEdit/InlineEdit.api.test.js b/packages/react-inline-edit-extension/src/components/InlineEdit/InlineEdit.api.test.tsx similarity index 93% rename from packages/react-inline-edit-extension/src/components/InlineEdit/InlineEdit.api.test.js rename to packages/react-inline-edit-extension/src/components/InlineEdit/InlineEdit.api.test.tsx index 10515ca04ce..ffe93d0da63 100644 --- a/packages/react-inline-edit-extension/src/components/InlineEdit/InlineEdit.api.test.js +++ b/packages/react-inline-edit-extension/src/components/InlineEdit/InlineEdit.api.test.tsx @@ -1,12 +1,11 @@ import React from 'react'; import { mount } from 'enzyme'; import { Table, TableHeader, TableBody, RowWrapper } from '@patternfly/react-table'; -import { TextInput } from '@patternfly/react-core/dist/js/components/TextInput/TextInput'; +import { TextInput } from '@patternfly/react-core'; -import { default as editableRowWrapper } from './editableRowWrapper'; -import { default as editableTableBody } from './editableTableBody'; -import { inlineEditFormatterFactory } from './utils'; -import { TableEditConfirmation } from './constants'; +import { editableRowWrapper } from './editableRowWrapper'; +import { editableTableBody } from './editableTableBody'; +import { inlineEditFormatterFactory, TableEditConfirmation } from '../../utils'; import { TableTextInput } from '../TableTextInput'; import { rows, columns } from '../../test-helpers/data-sets'; diff --git a/packages/react-inline-edit-extension/src/components/InlineEdit/__snapshots__/editableRowWrapper.test.js.snap b/packages/react-inline-edit-extension/src/components/InlineEdit/__snapshots__/editableRowWrapper.test.tsx.snap similarity index 62% rename from packages/react-inline-edit-extension/src/components/InlineEdit/__snapshots__/editableRowWrapper.test.js.snap rename to packages/react-inline-edit-extension/src/components/InlineEdit/__snapshots__/editableRowWrapper.test.tsx.snap index eef62336519..366a39df03a 100644 --- a/packages/react-inline-edit-extension/src/components/InlineEdit/__snapshots__/editableRowWrapper.test.js.snap +++ b/packages/react-inline-edit-extension/src/components/InlineEdit/__snapshots__/editableRowWrapper.test.tsx.snap @@ -1,8 +1,7 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`editableRowWrapper renders correctly 1`] = ` -, ], - Array [ - null, - ], - Array [ - , - ], ], "results": Array [ Object { "isThrow": false, "value": undefined, }, - Object { - "isThrow": false, - "value": undefined, - }, - Object { - "isThrow": false, - "value": undefined, - }, ], } } > , + } + } > - + `; diff --git a/packages/react-inline-edit-extension/src/components/InlineEdit/constants.d.ts b/packages/react-inline-edit-extension/src/components/InlineEdit/constants.d.ts deleted file mode 100644 index 0a675496a24..00000000000 --- a/packages/react-inline-edit-extension/src/components/InlineEdit/constants.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -export const TableEditConfirmation: { - NONE: 'NONE'; - ROW: 'ROW'; - NO_CONFIRM_ROW: 'NO_CONFIRM_ROW'; - TABLE_TOP: 'TABLE_TOP'; - TABLE_BOTTOM: 'TABLE_BOTTOM'; -}; diff --git a/packages/react-inline-edit-extension/src/components/InlineEdit/css/inline-edit-css.js b/packages/react-inline-edit-extension/src/components/InlineEdit/css/inline-edit-css.ts similarity index 100% rename from packages/react-inline-edit-extension/src/components/InlineEdit/css/inline-edit-css.js rename to packages/react-inline-edit-extension/src/components/InlineEdit/css/inline-edit-css.ts diff --git a/packages/react-inline-edit-extension/src/components/InlineEdit/editableRowWrapper.d.ts b/packages/react-inline-edit-extension/src/components/InlineEdit/editableRowWrapper.d.ts deleted file mode 100644 index 997ef660e41..00000000000 --- a/packages/react-inline-edit-extension/src/components/InlineEdit/editableRowWrapper.d.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { Component, FunctionComponent } from 'react'; -import { RowWrapper, RowWrapperRow } from '@patternfly/react-table'; - -import { EditConfig } from './editableTableBody'; - -export interface EditableRowWrapperRow extends RowWrapperRow { - isEditing: boolean; - isTableEditing: boolean; - isFirstVisible: boolean; - isLastVisible: boolean; - editConfig: EditConfig; -} - -export interface EditableRowWrapperProps extends RowWrapper { - row: EditableRowWrapperRow; -} - -export interface EditableRowWrapper { - // eslint-disable-next-line @typescript-eslint/prefer-function-type - (bodyComponent: Component): FunctionComponent; -} - -/* eslint-disable no-undef */ -export default EditableRowWrapper; diff --git a/packages/react-inline-edit-extension/src/components/InlineEdit/editableRowWrapper.test.js b/packages/react-inline-edit-extension/src/components/InlineEdit/editableRowWrapper.test.tsx similarity index 92% rename from packages/react-inline-edit-extension/src/components/InlineEdit/editableRowWrapper.test.js rename to packages/react-inline-edit-extension/src/components/InlineEdit/editableRowWrapper.test.tsx index 0024bec2777..b546b7cd83a 100644 --- a/packages/react-inline-edit-extension/src/components/InlineEdit/editableRowWrapper.test.js +++ b/packages/react-inline-edit-extension/src/components/InlineEdit/editableRowWrapper.test.tsx @@ -1,17 +1,12 @@ import React from 'react'; -import PropTypes from 'prop-types'; -import { mount } from 'enzyme/build'; +import { mount } from 'enzyme'; -import { default as editableRowWrapper } from './editableRowWrapper'; -import { TableEditConfirmation } from './constants'; +import { editableRowWrapper } from './editableRowWrapper'; +import { TableEditConfirmation } from '../../utils'; import { mockClosest } from '../../test-helpers/helpers'; const TestRow = ({ trRef }) => ; -TestRow.propTypes = { - trRef: PropTypes.func -}; - TestRow.defaultProps = { trRef: null }; @@ -115,7 +110,7 @@ describe('editableRowWrapper', () => { } }; - const view = mount(getRowWrapper(row, null, React.Fragment), mountOptions); + const view = mount(getRowWrapper(row), mountOptions); view.find('.pf-c-table__inline-edit-buttons button.pf-c-button.pf-m-primary').simulate('mouseup'); expect(onEditConfirmed).toHaveBeenCalled(); diff --git a/packages/react-inline-edit-extension/src/components/InlineEdit/editableRowWrapper.js b/packages/react-inline-edit-extension/src/components/InlineEdit/editableRowWrapper.tsx similarity index 51% rename from packages/react-inline-edit-extension/src/components/InlineEdit/editableRowWrapper.js rename to packages/react-inline-edit-extension/src/components/InlineEdit/editableRowWrapper.tsx index 8502032611e..0ecf32cabcc 100644 --- a/packages/react-inline-edit-extension/src/components/InlineEdit/editableRowWrapper.js +++ b/packages/react-inline-edit-extension/src/components/InlineEdit/editableRowWrapper.tsx @@ -1,95 +1,90 @@ -import React from 'react'; +import * as React from 'react'; import { createPortal } from 'react-dom'; -import PropTypes from 'prop-types'; import classNames from 'classnames'; import { css } from '@patternfly/react-styles'; +import { RowWrapper, RowWrapperRow } from '@patternfly/react-table'; import { - combineFunctions, shallowLeftSideEquals, getBoundingClientRect, - getClientWindowDimensions -} from './utils/utils'; -import ConfirmButtons from './ConfirmButtons'; -import { TableEditConfirmation } from './constants'; -import '@patternfly/react-styles/css/components/Table/inline-edit.css'; + getClientWindowDimensions, + WindowDimensions, + ClientBoundingRect +} from '../../utils/utils'; import { inlineEditStyles as styles } from './css/inline-edit-css'; +import { ConfirmButtons } from '../ConfirmButtons'; +import { EditConfig } from '../Body'; +import '@patternfly/react-styles/css/components/Table/inline-edit.css'; -const propTypes = { - trRef: PropTypes.func, - className: PropTypes.string, - onScroll: PropTypes.func, - onResize: PropTypes.func, - row: PropTypes.shape({ - isOpen: PropTypes.bool, - isExpanded: PropTypes.bool, - isEditing: PropTypes.bool, - isTableEditing: PropTypes.bool, - isFirstVisible: PropTypes.bool, - isLastVisible: PropTypes.bool, - isChildEditing: PropTypes.bool, - isParentEditing: PropTypes.bool, - isLastVisibleParent: PropTypes.bool, - editConfig: PropTypes.object - }), - rowProps: PropTypes.object -}; - -const defaultProps = { - trRef: undefined, - className: '', - onScroll: undefined, - onResize: undefined, - row: { - isOpen: undefined, - isExpanded: undefined, - isEditing: undefined, - isTableEditing: undefined, - isFirstVisible: undefined, - isLastVisible: undefined, - isChildEditing: undefined, - isParentEditing: undefined, - isLastVisibleParent: undefined, - editConfig: undefined - }, - rowProps: null -}; +export interface EditableRowWrapperRow extends RowWrapperRow { + isEditing?: boolean; + isTableEditing?: boolean; + isFirstVisible?: boolean; + isLastVisible?: boolean; + isChildEditing?: boolean; + isParentEditing?: boolean; + isLastVisibleParent?: boolean; + editConfig?: EditConfig; +} + +export interface EditableRowWrapperProps extends RowWrapper { + className?: string; + row: EditableRowWrapperRow; + trRef: (instance: any) => void; + onScroll: (event: React.UIEvent) => void; + onResize: (event: React.UIEvent) => void; + rowProps: { + rowIndex: number; + rowKey: string; + }; +} // TableEditConfirmation constants like TABLE_TOP cannot be referenced but must be hardcoded due to this issue: // https://github.com/reactjs/react-docgen/issues/317#issue-393678795 const tableConfirmationMapper = { TABLE_TOP: { - hasConfirmationButtons: ({ isTableEditing, isFirstVisible }) => isTableEditing && isFirstVisible, + hasConfirmationButtons: ({ isTableEditing, isFirstVisible }: EditableRowWrapperRow) => + isTableEditing && isFirstVisible, isTableConfirmation: () => true, areButtonsOnTop: () => true, hasBoldBorder: () => true, - getEditStyles: ({ isTableEditing, isFirstVisible }) => + getEditStyles: ({ isTableEditing, isFirstVisible }: EditableRowWrapperRow) => css(styles.tableEditableRow, isTableEditing && isFirstVisible && styles.modifiers.tableEditingFirstRow) }, TABLE_BOTTOM: { - hasConfirmationButtons: ({ isTableEditing, isLastVisible }) => isTableEditing && isLastVisible, + hasConfirmationButtons: ({ isTableEditing, isLastVisible }: EditableRowWrapperRow) => + isTableEditing && isLastVisible, isTableConfirmation: () => true, areButtonsOnTop: () => false, hasBoldBorder: () => true, - getEditStyles: ({ isTableEditing, isLastVisible }) => + getEditStyles: ({ isTableEditing, isLastVisible }: EditableRowWrapperRow) => css(styles.tableEditableRow, isTableEditing && isLastVisible && styles.modifiers.tableEditingLastRow) }, ROW: { - hasConfirmationButtons: ({ isEditing, isParentEditing, isLastVisibleParent, isChildEditing, isLastVisible }) => + hasConfirmationButtons: ({ + isEditing, + isParentEditing, + isLastVisibleParent, + isChildEditing, + isLastVisible + }: EditableRowWrapperRow) => isEditing && !(isChildEditing && isParentEditing) && // buttons can't appear in the middle !(isParentEditing && isLastVisible) && // parent will show the buttons on top !(isChildEditing && !isLastVisibleParent), // child will show the buttons on bottom isTableConfirmation: () => false, - areButtonsOnTop: ({ isLastVisible, isLastVisibleParent }) => isLastVisible || isLastVisibleParent, + areButtonsOnTop: ({ isLastVisible, isLastVisibleParent }: EditableRowWrapperRow) => + isLastVisible || isLastVisibleParent, hasBoldBorder: () => false, - getEditStyles: ({ isEditing }) => css(styles.tableEditableRow, isEditing && styles.modifiers.editing) + getEditStyles: ({ isEditing }: EditableRowWrapperRow) => + css(styles.tableEditableRow, isEditing && styles.modifiers.editing) }, NO_CONFIRM_ROW: { hasConfirmationButtons: () => false, isTableConfirmation: () => false, areButtonsOnTop: () => false, hasBoldBorder: () => false, - getEditStyles: ({ isEditing }) => css(styles.tableEditableRow, isEditing && styles.modifiers.editing) + getEditStyles: ({ isEditing }: EditableRowWrapperRow) => + css(styles.tableEditableRow, isEditing && styles.modifiers.editing) }, NONE: { hasConfirmationButtons: () => false, @@ -100,49 +95,65 @@ const tableConfirmationMapper = { } }; -const getTableConfirmation = ({ editConfig }) => - tableConfirmationMapper[editConfig && editConfig.editConfirmationType] || - tableConfirmationMapper[TableEditConfirmation.NONE]; - -const editableRowWrapper = RowWrapperComponent => { - class RowWrapper extends React.Component { - constructor(props) { - super(props); - this.state = { - rowDimensions: {}, - window: {}, - ...RowWrapper.getDerivedStateFromProps(props) - }; - } +const getTableConfirmation = ({ editConfig }: EditableRowWrapperRow) => + (editConfig && tableConfirmationMapper[editConfig.editConfirmationType as keyof typeof tableConfirmationMapper]) || + tableConfirmationMapper.NONE; + +interface EditableRowWrapperState { + hasConfirmationButtons?: boolean; + window?: WindowDimensions; + rowDimensions?: ClientBoundingRect; +} + +export const editableRowWrapper = (RowWrapperComponent: typeof RowWrapper) => + class EditableRowWrapper extends React.Component { + state = { + hasConfirmationButtons: false, + window: undefined as WindowDimensions, + rowDimensions: undefined as ClientBoundingRect, + ...EditableRowWrapper.getDerivedStateFromProps(this.props) + }; + element = React.createRef(); + tableElem: HTMLElement; + static defaultProps = { + onScroll: () => {}, + onResize: () => {} + }; - static getDerivedStateFromProps = props => ({ + static getDerivedStateFromProps = (props: EditableRowWrapperProps) => ({ hasConfirmationButtons: getTableConfirmation(props.row).hasConfirmationButtons(props.row) }); - setStateWith2dEquals = newState => { + setStateWith2dEquals = (newState: EditableRowWrapperState) => { this.setState(oldState => - Object.keys(newState).find(key => !shallowLeftSideEquals(newState[key], oldState[key])) ? newState : null + Object.keys(newState).find( + key => + !shallowLeftSideEquals( + newState[key as keyof EditableRowWrapperState], + oldState[key as keyof EditableRowWrapperState] + ) + ) + ? newState + : null ); }; componentDidMount() { + this.tableElem = this.element.current.closest('table'); + if (typeof this.props.trRef === 'function') { + this.props.trRef(this.element.current); + } + this.updateRowDimensions(); + if (this.state.hasConfirmationButtons) { this.fetchClientDimensions(); } } - saveRowDimensions = element => { - if (element) { - this.element = element; - this.tableElem = element.closest('table'); - } - this.updateRowDimensions(); - }; - updateRowDimensions = () => { - if (this.element) { + if (this.element.current) { this.setStateWith2dEquals({ - rowDimensions: getBoundingClientRect(this.element) + rowDimensions: getBoundingClientRect(this.element.current) }); } }; @@ -173,7 +184,7 @@ const editableRowWrapper = RowWrapperComponent => { const tableConfirmation = getTableConfirmation(row); let confirmButtons; - if (this.element && this.state.rowDimensions) { + if (this.element.current && this.state.rowDimensions) { const options = tableConfirmation.isTableConfirmation() ? {} : rowProps; const actionObject = tableConfirmation.isTableConfirmation() ? null : row; confirmButtons = createPortal( @@ -185,10 +196,10 @@ const editableRowWrapper = RowWrapperComponent => { boldBorder={tableConfirmation.hasBoldBorder()} environment={{ window: this.state.window, - row: getBoundingClientRect(this.element) + row: getBoundingClientRect(this.element.current) }} />, - this.tableElem ? this.tableElem.parentNode : document.body + this.tableElem ? (this.tableElem.parentNode as HTMLElement) : document.body ); } return confirmButtons; @@ -196,7 +207,6 @@ const editableRowWrapper = RowWrapperComponent => { render() { const { - trRef, className, onScroll, onResize, @@ -214,21 +224,23 @@ const editableRowWrapper = RowWrapperComponent => { { + if (hasConfirmationButtons) { + this.handleScroll(); + } + onScroll(event); + }} + onResize={event => { + if (hasConfirmationButtons) { + this.handleResize(); + } + onResize(event); + }} /> {hasConfirmationButtons && this.getConfirmationButtons()} ); } - } - - RowWrapper.propTypes = propTypes; - RowWrapper.defaultProps = defaultProps; - - return RowWrapper; -}; - -export default editableRowWrapper; + }; diff --git a/packages/react-inline-edit-extension/src/components/InlineEdit/editableTableBody.d.ts b/packages/react-inline-edit-extension/src/components/InlineEdit/editableTableBody.d.ts deleted file mode 100644 index cb23c427605..00000000000 --- a/packages/react-inline-edit-extension/src/components/InlineEdit/editableTableBody.d.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { Component, FunctionComponent, MouseEvent } from 'react'; -import { TableBodyProps, IRowData, IExtraRowData } from '@patternfly/react-table'; - -import { TableEditConfirmation } from './constants'; - -// eslint-disable-next-line @typescript-eslint/interface-name-prefix -export interface IEditedCellData extends IExtraRowData { - columnIndex: number; - elementId?: string; -} - -export interface EditConfig { - editConfirmationType?: OneOf; - onEditCellClicked?(value: MouseEvent, row: IRowData, extra: IEditedCellData): void; - onEditConfirmed?(value: MouseEvent, row: IRowData, rowProps: IExtraRowData): void; - onEditCanceled?(value: MouseEvent, row: IRowData, rowProps: IExtraRowData): void; -} - -export interface InlineEditBodyProps extends TableBodyProps { - editConfig: EditConfig; -} - -export interface EditableTableBody { - // eslint-disable-next-line @typescript-eslint/prefer-function-type - (bodyComponent: Component): FunctionComponent; -} - -// eslint-disable-next-line no-undef -export default EditableTableBody; diff --git a/packages/react-inline-edit-extension/src/components/InlineEdit/editableTableBody.tsx b/packages/react-inline-edit-extension/src/components/InlineEdit/editableTableBody.tsx new file mode 100644 index 00000000000..760633f4031 --- /dev/null +++ b/packages/react-inline-edit-extension/src/components/InlineEdit/editableTableBody.tsx @@ -0,0 +1,29 @@ +import * as React from 'react'; +import { TableContext } from '@patternfly/react-table'; +import { TableBody, IExtraRowData } from '@patternfly/react-table'; +import { Body } from '../Body'; + +// eslint-disable-next-line @typescript-eslint/interface-name-prefix +export interface IEditedCellData extends IExtraRowData { + columnIndex: number; + elementId?: string; +} + +export const editableTableBody = (BodyComponent: typeof TableBody) => { + const InlineEditBody = ({ editConfig = null, onRowClick = () => {}, ...props }) => ( + + {({ rows, ...consumedProps }) => ( + + )} + + ); + + return InlineEditBody; +}; diff --git a/packages/react-inline-edit-extension/src/components/InlineEdit/index.d.ts b/packages/react-inline-edit-extension/src/components/InlineEdit/index.d.ts deleted file mode 100644 index 4d7fa0ec40e..00000000000 --- a/packages/react-inline-edit-extension/src/components/InlineEdit/index.d.ts +++ /dev/null @@ -1,17 +0,0 @@ -export { TableEditConfirmation } from './constants'; - -export * from './utils'; -export { - default as editableTableBody, - EditableTableBody, - InlineEditBodyProps, - EditConfig, - IEditedCellData -} from './editableTableBody'; - -export { - default as editableRowWrapper, - EditableRowWrapper, - EditableRowWrapperProps, - EditableRowWrapperRow -} from './editableRowWrapper'; diff --git a/packages/react-inline-edit-extension/src/components/InlineEdit/index.js b/packages/react-inline-edit-extension/src/components/InlineEdit/index.js deleted file mode 100644 index 22cf35095f6..00000000000 --- a/packages/react-inline-edit-extension/src/components/InlineEdit/index.js +++ /dev/null @@ -1,4 +0,0 @@ -export { TableEditConfirmation } from './constants'; -export { inlineEditFormatterFactory } from './utils'; -export { default as editableTableBody } from './editableTableBody'; -export { default as editableRowWrapper } from './editableRowWrapper'; diff --git a/packages/react-inline-edit-extension/src/components/InlineEdit/index.ts b/packages/react-inline-edit-extension/src/components/InlineEdit/index.ts new file mode 100644 index 00000000000..8b2c9b95e1a --- /dev/null +++ b/packages/react-inline-edit-extension/src/components/InlineEdit/index.ts @@ -0,0 +1,4 @@ +export * from '../../utils/constants'; +export * from '../../utils'; +export * from './editableTableBody'; +export * from './editableRowWrapper'; diff --git a/packages/react-inline-edit-extension/src/components/InlineEdit/utils/formatters.js b/packages/react-inline-edit-extension/src/components/InlineEdit/utils/formatters.js deleted file mode 100644 index 6129309cae6..00000000000 --- a/packages/react-inline-edit-extension/src/components/InlineEdit/utils/formatters.js +++ /dev/null @@ -1 +0,0 @@ -export { default as inlineEditFormatterFactory } from './formatters/inlineEditFormatterFactory'; diff --git a/packages/react-inline-edit-extension/src/components/InlineEdit/utils/formatters/index.d.ts b/packages/react-inline-edit-extension/src/components/InlineEdit/utils/formatters/index.d.ts deleted file mode 100644 index 102d7711d7e..00000000000 --- a/packages/react-inline-edit-extension/src/components/InlineEdit/utils/formatters/index.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -export { - default as inlineEditFormatterFactory, - InlineEditFormatterFactory, - InlineEditFormatterFactoryProps, - AdditionalData, - Formatter, - FormatterExtra -} from './inlineEditFormatterFactory'; diff --git a/packages/react-inline-edit-extension/src/components/InlineEdit/utils/formatters/inlineEditFormatterFactory.d.ts b/packages/react-inline-edit-extension/src/components/InlineEdit/utils/formatters/inlineEditFormatterFactory.d.ts deleted file mode 100644 index c19124a4fc6..00000000000 --- a/packages/react-inline-edit-extension/src/components/InlineEdit/utils/formatters/inlineEditFormatterFactory.d.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { ReactNode } from 'react'; - -export interface AdditionalData { - columnIndex: number; - rowIndex: number; - /* eslint-disable @typescript-eslint/ban-types */ - column: Object; - rowData: Object; - /* eslint-enable @typescript-eslint/ban-types */ - rowKey: string; -} - -export interface ComputedData { - activeEditId: string; -} - -export interface Formatter { - // eslint-disable-next-line @typescript-eslint/prefer-function-type - (value: ReactNode, additionalData: AdditionalData): ReactNode; -} - -export interface InlineEditFormatterFactoryProps { - isEditable?(additionalData: AdditionalData): boolean; - renderValue?: Formatter; - resolveValue?(value: ReactNode, additionalData: AdditionalData): ReactNode; - renderEdit?(value: ReactNode, additionalData: AdditionalData, computedData: ComputedData): ReactNode; -} - -export interface InlineEditFormatterFactory { - // eslint-disable-next-line @typescript-eslint/prefer-function-type - (props: InlineEditFormatterFactoryProps): Formatter; -} - -// eslint-disable-next-line no-undef -export default InlineEditFormatterFactory; diff --git a/packages/react-inline-edit-extension/src/components/InlineEdit/utils/formatters/inlineEditFormatterFactory.js b/packages/react-inline-edit-extension/src/components/InlineEdit/utils/formatters/inlineEditFormatterFactory.js deleted file mode 100644 index 26f5ebf8ecd..00000000000 --- a/packages/react-inline-edit-extension/src/components/InlineEdit/utils/formatters/inlineEditFormatterFactory.js +++ /dev/null @@ -1,23 +0,0 @@ -const inlineEditFormatterFactory = ({ renderEdit, renderValue, resolveValue, isEditable = null } = {}) => ( - value, - additionalData -) => { - const { rowData } = additionalData; - - if (resolveValue) { - value = resolveValue(value, additionalData); - } - - if (renderEdit && rowData.isEditing && (!isEditable || isEditable(additionalData))) { - const computedData = { - activeEditId: rowData.editConfig && rowData.editConfig.activeEditId - }; - return renderEdit(value, additionalData, computedData); - } else if (renderValue) { - return renderValue(value, additionalData); - } - - return value; -}; - -export default inlineEditFormatterFactory; diff --git a/packages/react-inline-edit-extension/src/components/InlineEdit/utils/index.d.ts b/packages/react-inline-edit-extension/src/components/InlineEdit/utils/index.d.ts deleted file mode 100644 index ad4ce58d7f7..00000000000 --- a/packages/react-inline-edit-extension/src/components/InlineEdit/utils/index.d.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './formatters'; diff --git a/packages/react-inline-edit-extension/src/components/InlineEdit/utils/utils.js b/packages/react-inline-edit-extension/src/components/InlineEdit/utils/utils.js deleted file mode 100644 index 1df8d58f692..00000000000 --- a/packages/react-inline-edit-extension/src/components/InlineEdit/utils/utils.js +++ /dev/null @@ -1,39 +0,0 @@ -const requiredElements = ['INPUT', 'BUTTON']; -let warningCompleted = false; - -export const showIdWarnings = (row, target) => { - if ((row.isEditing || row.isTableEditing) && requiredElements.indexOf(target.tagName) >= 0 && !warningCompleted) { - warningCompleted = true; - // eslint-disable-next-line no-console - console.warn(`${requiredElements.join(', ')} elements are required to have an id for editing to work properly.`); - } -}; - -export const combineFunctions = (...functions) => { - const realFunctions = functions.filter(f => typeof f === 'function'); - - if (realFunctions.length === 1) { - return realFunctions[0]; - } - - if (realFunctions.length > 1) { - return (...params) => { - realFunctions.forEach(f => f(...params)); - }; - } - - return undefined; -}; - -export const shallowLeftSideEquals = (newObject, oldObject) => - !Object.keys(newObject).find(key => newObject[key] !== oldObject[key]); - -export const getBoundingClientRect = element => { - const { top, right, bottom, left, width, height, x, y } = element.getBoundingClientRect(); - return { top, right, bottom, left, width, height, x, y }; -}; - -export const getClientWindowDimensions = () => { - const { clientWidth, clientHeight } = document.documentElement; - return { width: clientWidth, height: clientHeight }; -}; diff --git a/packages/react-inline-edit-extension/src/components/TableTextInput/TableTextInput.d.ts b/packages/react-inline-edit-extension/src/components/TableTextInput/TableTextInput.d.ts index 2571d51fef9..af95b9c3d6b 100644 --- a/packages/react-inline-edit-extension/src/components/TableTextInput/TableTextInput.d.ts +++ b/packages/react-inline-edit-extension/src/components/TableTextInput/TableTextInput.d.ts @@ -1,5 +1,5 @@ import { SFC, FormEvent } from 'react'; -import { TextInputProps } from '@patternfly/react-core/dist/js/components/TextInput'; +import { TextInputProps } from '@patternfly/react-core/dist/esm/components/TextInput'; export interface TableTextInputProps extends Omit { defaultValue?: string; diff --git a/packages/react-inline-edit-extension/src/components/TableTextInput/TableTextInput.js b/packages/react-inline-edit-extension/src/components/TableTextInput/TableTextInput.js deleted file mode 100644 index adada577b48..00000000000 --- a/packages/react-inline-edit-extension/src/components/TableTextInput/TableTextInput.js +++ /dev/null @@ -1,52 +0,0 @@ -import React from 'react'; -import { TextInput } from '@patternfly/react-core/dist/js/components/TextInput/TextInput'; -import PropTypes from 'prop-types'; - -const textInputProptypes = { ...TextInput.propTypes }; -const textInputDefaultProptypes = { ...TextInput.defaultProps }; -[textInputProptypes, textInputDefaultProptypes].forEach(types => { - ['value', 'onChange'].forEach(value => { - delete types[value]; - }); -}); - -const propTypes = { - ...textInputProptypes, - defaultValue: PropTypes.string, - onBlur: PropTypes.func, - autoFocus: PropTypes.bool -}; - -const defaultProps = { - ...textInputDefaultProptypes, - defaultValue: null, - onBlur: null, - autoFocus: false -}; - -class TableTextInput extends React.Component { - handleBlur = event => { - this.props.onBlur(event.currentTarget.value, event); - }; - - render() { - // eslint-disable-next-line @typescript-eslint/no-unused-vars - const { defaultValue, onBlur, autoFocus, value, onChange, ...textInputProps } = this.props; - return ( - - - - ); - } -} - -TableTextInput.propTypes = propTypes; -TableTextInput.defaultProps = defaultProps; - -export default TableTextInput; diff --git a/packages/react-inline-edit-extension/src/components/TableTextInput/TableTextInput.test.js b/packages/react-inline-edit-extension/src/components/TableTextInput/TableTextInput.test.js index 40850c59566..68ecf599d69 100644 --- a/packages/react-inline-edit-extension/src/components/TableTextInput/TableTextInput.test.js +++ b/packages/react-inline-edit-extension/src/components/TableTextInput/TableTextInput.test.js @@ -1,6 +1,6 @@ import React from 'react'; import { shallow } from 'enzyme'; -import TableTextInput from './TableTextInput'; +import { TableTextInput } from './TableTextInput'; const props = { defaultValue: 'test', diff --git a/packages/react-inline-edit-extension/src/components/TableTextInput/TableTextInput.tsx b/packages/react-inline-edit-extension/src/components/TableTextInput/TableTextInput.tsx new file mode 100644 index 00000000000..b9a5e789dba --- /dev/null +++ b/packages/react-inline-edit-extension/src/components/TableTextInput/TableTextInput.tsx @@ -0,0 +1,32 @@ +import * as React from 'react'; +import { TextInput, TextInputProps } from '@patternfly/react-core'; + +export interface TableTextInputProps extends Omit { + defaultValue?: string; + autoFocus?: boolean; + onBlur?(value: string, event: React.FormEvent): void; +} + +export class TableTextInput extends React.Component { + static defaultProps = { + autoFocus: false + }; + + handleBlur = (event: React.FocusEvent) => { + this.props.onBlur(event.currentTarget.value, event); + }; + + render() { + // eslint-disable-next-line @typescript-eslint/no-unused-vars + const { defaultValue, onBlur, autoFocus, value, onChange, ...textInputProps } = this.props; + return ( + + ); + } +} diff --git a/packages/react-inline-edit-extension/src/components/TableTextInput/__snapshots__/TableTextInput.test.js.snap b/packages/react-inline-edit-extension/src/components/TableTextInput/__snapshots__/TableTextInput.test.js.snap index 3dda13cacf5..b06e0b55d45 100644 --- a/packages/react-inline-edit-extension/src/components/TableTextInput/__snapshots__/TableTextInput.test.js.snap +++ b/packages/react-inline-edit-extension/src/components/TableTextInput/__snapshots__/TableTextInput.test.js.snap @@ -1,23 +1,18 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`focused table text input 1`] = ` - - - + `; exports[`simple table text input 1`] = ` - - - + `; diff --git a/packages/react-inline-edit-extension/src/components/TableTextInput/index.ts b/packages/react-inline-edit-extension/src/components/TableTextInput/index.ts index c912d7e19e0..f0a4ac5021f 100644 --- a/packages/react-inline-edit-extension/src/components/TableTextInput/index.ts +++ b/packages/react-inline-edit-extension/src/components/TableTextInput/index.ts @@ -1 +1 @@ -export { default as TableTextInput, TableTextInputProps } from './TableTextInput'; +export * from './TableTextInput'; diff --git a/packages/react-inline-edit-extension/src/components/InlineEdit/constants.js b/packages/react-inline-edit-extension/src/utils/constants.ts similarity index 100% rename from packages/react-inline-edit-extension/src/components/InlineEdit/constants.js rename to packages/react-inline-edit-extension/src/utils/constants.ts diff --git a/packages/react-inline-edit-extension/src/utils/formatters.ts b/packages/react-inline-edit-extension/src/utils/formatters.ts new file mode 100644 index 00000000000..e40660b5d4d --- /dev/null +++ b/packages/react-inline-edit-extension/src/utils/formatters.ts @@ -0,0 +1 @@ +export * from './formatters/inlineEditFormatterFactory'; diff --git a/packages/react-inline-edit-extension/src/utils/formatters/index.ts b/packages/react-inline-edit-extension/src/utils/formatters/index.ts new file mode 100644 index 00000000000..1f995a5057a --- /dev/null +++ b/packages/react-inline-edit-extension/src/utils/formatters/index.ts @@ -0,0 +1 @@ +export * from './inlineEditFormatterFactory'; diff --git a/packages/react-inline-edit-extension/src/components/InlineEdit/utils/formatters/inlineEditFormatterFactory.test.js b/packages/react-inline-edit-extension/src/utils/formatters/inlineEditFormatterFactory.test.js similarity index 95% rename from packages/react-inline-edit-extension/src/components/InlineEdit/utils/formatters/inlineEditFormatterFactory.test.js rename to packages/react-inline-edit-extension/src/utils/formatters/inlineEditFormatterFactory.test.js index c203af249e9..bef98a2c474 100644 --- a/packages/react-inline-edit-extension/src/components/InlineEdit/utils/formatters/inlineEditFormatterFactory.test.js +++ b/packages/react-inline-edit-extension/src/utils/formatters/inlineEditFormatterFactory.test.js @@ -1,4 +1,4 @@ -import { default as inlineEditFormatterFactory } from './inlineEditFormatterFactory'; +import { inlineEditFormatterFactory } from './inlineEditFormatterFactory'; const blue = 'blue'; const alteredValue = 'violet'; diff --git a/packages/react-inline-edit-extension/src/utils/formatters/inlineEditFormatterFactory.ts b/packages/react-inline-edit-extension/src/utils/formatters/inlineEditFormatterFactory.ts new file mode 100644 index 00000000000..3bdb9be738c --- /dev/null +++ b/packages/react-inline-edit-extension/src/utils/formatters/inlineEditFormatterFactory.ts @@ -0,0 +1,59 @@ +import * as React from 'react'; + +export interface AdditionalData { + columnIndex: number; + rowIndex: number; + column: any; + rowData: any; + rowKey: string; +} + +export interface ComputedData { + activeEditId: string; +} + +export interface Formatter { + // eslint-disable-next-line @typescript-eslint/prefer-function-type + (value: React.ReactNode, additionalData: AdditionalData): React.ReactNode; +} + +export interface InlineEditFormatterFactoryProps { + isEditable?(additionalData: AdditionalData): boolean; + renderValue?: Formatter; + resolveValue?(value: React.ReactNode, additionalData: AdditionalData): React.ReactNode; + renderEdit?(value: React.ReactNode, additionalData: AdditionalData, computedData: ComputedData): React.ReactNode; +} + +export interface InlineEditFormatterFactory { + // eslint-disable-next-line @typescript-eslint/prefer-function-type + (props: InlineEditFormatterFactoryProps): Formatter; +} + +/** + * + */ +export function inlineEditFormatterFactory({ + renderEdit, + renderValue, + resolveValue, + isEditable = null +}: InlineEditFormatterFactoryProps = {}) { + return (value: React.ReactNode, additionalData: AdditionalData) => { + const { rowData } = additionalData; + + if (resolveValue) { + value = resolveValue(value, additionalData); + } + + if (renderEdit && rowData.isEditing && (!isEditable || isEditable(additionalData))) { + const computedData = { + activeEditId: rowData.editConfig && rowData.editConfig.activeEditId + }; + return renderEdit(value, additionalData, computedData); + } else if (renderValue) { + return renderValue(value, additionalData); + } + + return value; + }; +} diff --git a/packages/react-inline-edit-extension/src/components/InlineEdit/utils/index.js b/packages/react-inline-edit-extension/src/utils/index.ts similarity index 65% rename from packages/react-inline-edit-extension/src/components/InlineEdit/utils/index.js rename to packages/react-inline-edit-extension/src/utils/index.ts index 3df838ed640..205b6253c57 100644 --- a/packages/react-inline-edit-extension/src/components/InlineEdit/utils/index.js +++ b/packages/react-inline-edit-extension/src/utils/index.ts @@ -1,2 +1,3 @@ +export * from './constants'; export * from './formatters'; export * from './utils'; diff --git a/packages/react-inline-edit-extension/src/utils/utils.ts b/packages/react-inline-edit-extension/src/utils/utils.ts new file mode 100644 index 00000000000..5f9e07a0c1a --- /dev/null +++ b/packages/react-inline-edit-extension/src/utils/utils.ts @@ -0,0 +1,46 @@ +import { IRow } from '@patternfly/react-table'; + +const requiredElements = ['INPUT', 'BUTTON']; +let warningCompleted = false; + +export const showIdWarnings = (row: IRow, target: any) => { + if ((row.isEditing || row.isTableEditing) && requiredElements.indexOf(target.tagName) >= 0 && !warningCompleted) { + warningCompleted = true; + // eslint-disable-next-line no-console + console.warn(`${requiredElements.join(', ')} elements are required to have an id for editing to work properly.`); + } +}; + +export const shallowLeftSideEquals = (newObject: any, oldObject: any) => { + if (!newObject || !oldObject) { + return newObject === oldObject; + } + + return !Object.keys(newObject).find(key => newObject[key] !== oldObject[key]); +}; + +export interface ClientBoundingRect { + top: number; + right: number; + bottom: number; + left: number; + width: number; + height: number; + x: number; + y: number; +} + +export const getBoundingClientRect = (element: HTMLElement) => { + const { top, right, bottom, left, width, height, x, y } = element.getBoundingClientRect(); + return { top, right, bottom, left, width, height, x, y } as ClientBoundingRect; +}; + +export interface WindowDimensions { + width: number; + height: number; +} + +export const getClientWindowDimensions = () => { + const { clientWidth, clientHeight } = document.documentElement; + return { width: clientWidth, height: clientHeight } as WindowDimensions; +}; diff --git a/packages/react-inline-edit-extension/tsconfig.cjs.json b/packages/react-inline-edit-extension/tsconfig.cjs.json new file mode 100644 index 00000000000..578d46af9d3 --- /dev/null +++ b/packages/react-inline-edit-extension/tsconfig.cjs.json @@ -0,0 +1,8 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./dist/js", + "module": "commonjs", + "tsBuildInfoFile": "dist/cjs.tsbuildinfo" + } +} diff --git a/packages/react-inline-edit-extension/tsconfig.json b/packages/react-inline-edit-extension/tsconfig.json new file mode 100644 index 00000000000..417160ee7a1 --- /dev/null +++ b/packages/react-inline-edit-extension/tsconfig.json @@ -0,0 +1,18 @@ +{ + "extends": "../tsconfig.base.json", + "compilerOptions": { + "rootDir": "./src", + "outDir": "./dist/esm", + "declarationDir": "./dist/js", + "tsBuildInfoFile": "dist/esm.tsbuildinfo" + }, + "include": [ + "./src/*", + "./src/**/*" + ], + "references": [ + { + "path": "../react-table" + } + ] +} diff --git a/packages/react-integration/cypress/integration/tablesimpleactions.spec.ts b/packages/react-integration/cypress/integration/tablesimpleactions.spec.ts index 09ff008a0e8..03200308e61 100644 --- a/packages/react-integration/cypress/integration/tablesimpleactions.spec.ts +++ b/packages/react-integration/cypress/integration/tablesimpleactions.spec.ts @@ -22,8 +22,12 @@ describe('Table Simple Actions Test', () => { }); it('Verify dropdown toggle', () => { - cy.get('.pf-c-dropdown__toggle').should('exist'); - cy.get('#pf-toggle-id-0.pf-c-dropdown__toggle').click(); + cy.get('td .pf-c-dropdown__toggle') + .first() + .should('exist'); + cy.get('td .pf-c-dropdown__toggle') + .first() + .click(); cy.get('.pf-c-dropdown__menu').should('exist'); cy.get('.pf-c-dropdown__menu-item') .first() diff --git a/packages/react-integration/demo-app-ts/src/common/State.ts b/packages/react-integration/demo-app-ts/src/common/State.ts index 2c908626ee4..0ec539bc244 100644 --- a/packages/react-integration/demo-app-ts/src/common/State.ts +++ b/packages/react-integration/demo-app-ts/src/common/State.ts @@ -1,4 +1,4 @@ -import { SelectOptionObject } from '@patternfly/react-core/dist/js/components/Select/SelectOption'; +import { SelectOptionObject } from '@patternfly/react-core'; export class State implements SelectOptionObject { name: string; diff --git a/packages/react-integration/demo-app-ts/src/components/demos/TableDemo/TableSortableForCompoundExpandableDemo.tsx b/packages/react-integration/demo-app-ts/src/components/demos/TableDemo/TableSortableForCompoundExpandableDemo.tsx index 086250ff564..030bbffc2d9 100644 --- a/packages/react-integration/demo-app-ts/src/components/demos/TableDemo/TableSortableForCompoundExpandableDemo.tsx +++ b/packages/react-integration/demo-app-ts/src/components/demos/TableDemo/TableSortableForCompoundExpandableDemo.tsx @@ -1,5 +1,4 @@ import * as React from 'react'; -// eslint-disable-next-line import/no-extraneous-dependencies import { Table, TableHeader, diff --git a/packages/react-styles/.babelrc b/packages/react-styles/.babelrc deleted file mode 100644 index 25c4221a16d..00000000000 --- a/packages/react-styles/.babelrc +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": "../.babelrc" -} \ No newline at end of file diff --git a/packages/react-styles/.eslintrc.json b/packages/react-styles/.eslintrc.json deleted file mode 100644 index eb95cf4405d..00000000000 --- a/packages/react-styles/.eslintrc.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "rules": { - "camelcase": "off" - } -} diff --git a/packages/react-styles/.npmignore b/packages/react-styles/.npmignore index 5344519a423..4d63a47e6dc 100644 --- a/packages/react-styles/.npmignore +++ b/packages/react-styles/.npmignore @@ -1,6 +1,2 @@ -build -dist/**/demos -dist/**/examples -dist/**/__snapshots__ -dist/**/*.test.js dist/**/*.map +dist/*.tsbuildinfo diff --git a/packages/react-styles/package.json b/packages/react-styles/package.json index 9d02f451316..3ee78eff458 100644 --- a/packages/react-styles/package.json +++ b/packages/react-styles/package.json @@ -15,40 +15,16 @@ "tag": "prerelease-v4" }, "scripts": { - "build": "yarn build:babel && yarn build:types && yarn build:css && 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/preset-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:css": "node src/generateClasses.js && tsc && node src/removeTS.js", - "clean": "rimraf dist css", - "develop": "yarn build:babel:esm --skip-initial-build --watch --verbose" - }, - "dependencies": { - "camel-case": "^3.0.0" + "generate": "node scripts/generateCSSinJS.js && node scripts/copyImages.js", + "clean": "rimraf dist css" }, "devDependencies": { - "@babel/cli": "^7.0.0", - "@babel/core": "^7.0.0", - "@babel/helper-plugin-utils": "^7.0.0-beta.48", - "@babel/plugin-proposal-class-properties": "^7.0.0", - "@babel/plugin-proposal-export-default-from": "^7.0.0", - "@babel/plugin-proposal-object-rest-spread": "^7.0.0", - "@babel/plugin-transform-flow-strip-types": "^7.0.0", - "@babel/plugin-transform-typescript": "^7.0.0", - "@babel/preset-env": "^7.0.0", - "@babel/preset-react": "^7.0.0", "@patternfly/patternfly": "4.6.0", - "babel-plugin-transform-es2015-modules-umd": "^6.24.1", - "babel-plugin-typescript-to-proptypes": "^0.17.1", + "camel-case": "^3.0.0", "css": "^2.2.3", "cssstyle": "^0.3.1", - "fbjs-scripts": "^0.8.3", "fs-extra": "^6.0.1", "glob": "^7.1.2", - "jsdom": "^15.1.0", - "relative": "^3.0.2", "rimraf": "^2.6.2", "typescript": "^3.8.3" }, diff --git a/packages/react-styles/scripts/copyStyles.js b/packages/react-styles/scripts/copyImages.js similarity index 100% rename from packages/react-styles/scripts/copyStyles.js rename to packages/react-styles/scripts/copyImages.js diff --git a/packages/react-styles/scripts/generateCSSinJS.js b/packages/react-styles/scripts/generateCSSinJS.js new file mode 100644 index 00000000000..80ff42141c8 --- /dev/null +++ b/packages/react-styles/scripts/generateCSSinJS.js @@ -0,0 +1,94 @@ +const path = require('path'); +const fs = require('fs-extra'); +const glob = require('glob'); +const camelcase = require('camel-case'); + +/** + * @param {string} cssString - CSS string + */ +function cssToJSNew(cssString) { + const res = {}; + const distinctClasses = new Set(getCSSClasses(cssString)); + + distinctClasses.forEach(className => { + const key = formatClassName(className); + const value = className.replace('.', '').trim(); + if (isModifier(className)) { + res.modifiers = res.modifiers || {}; + res.modifiers[key] = value; + } else { + res[key] = value; + } + }); + + return res; +} + +/** + * @param {string} cssString - CSS string + */ +function getCSSClasses(cssString) { + return cssString.match(/(.)(?!\d)([^\s.,{[>+~#:)]*)(?![^{]*})/g); +} + +/** + * @param {string} className - Class name + */ +function formatClassName(className) { + return camelcase(className.replace(/pf-((c|l|m|u|is|has)-)?/g, '')); +} + +/** + * @param {string} className - Class name + */ +function isModifier(className) { + return Boolean(className && className.startsWith) && className.startsWith('.pf-m-'); +} + +/** + * + */ +function generateCSSinJS() { + const outDir = path.resolve(__dirname, '../css'); + const pfStylesDir = path.dirname(require.resolve('@patternfly/patternfly/patternfly.css')); + if (fs.existsSync(outDir)) { + // eslint-disable-next-line no-console + console.log('Not overwriting generated CSS-in-JS files.'); + return; + } + + const patternflyCSSFiles = glob.sync('**/*.css', { + cwd: pfStylesDir, + ignore: ['assets/**', '*.css'], + absolute: true + }); + const srcCSSFiles = glob.sync('src/css/**/*.css'); + const combinedCSSFiles = [...patternflyCSSFiles, ...srcCSSFiles]; + + combinedCSSFiles.forEach(filePath => { + const cssContent = fs.readFileSync(filePath, 'utf8'); + const cssOutputPath = path.join(outDir, filePath.replace(pfStylesDir, '').replace('src/css', '')); + const cssOutputFilename = path.basename(cssOutputPath); + const classMap = cssToJSNew(cssContent); + + const jsonString = JSON.stringify(classMap, null, 2); + fs.outputFileSync(cssOutputPath, cssContent); + fs.outputFileSync( + cssOutputPath.replace(/.css$/, '.js'), + `require('./${cssOutputFilename}'); +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = ${jsonString};` + ); + fs.outputFileSync( + cssOutputPath.replace(/.css$/, '.d.ts'), + `import './${cssOutputFilename}'; +declare const _default: ${jsonString}; +export default _default;` + ); + }); + + // eslint-disable-next-line no-console + console.log('Generated files for', combinedCSSFiles.length, 'CSS files.'); +} + +generateCSSinJS(); diff --git a/packages/react-styles/src/generateClasses.js b/packages/react-styles/src/generateClasses.js deleted file mode 100644 index 13276c1077b..00000000000 --- a/packages/react-styles/src/generateClasses.js +++ /dev/null @@ -1,113 +0,0 @@ -const camelcase = require('camel-case'); - -const glob = require('glob'); -const { dirname, basename, resolve, join, parse } = require('path'); -const { readFileSync } = require('fs'); -const { outputFileSync } = require('fs-extra'); - -const outDir = resolve(__dirname, '../css'); -const pfStylesDir = dirname(require.resolve('@patternfly/patternfly/patternfly.css')); - -const cssFiles = glob.sync('**/*.css', { - cwd: pfStylesDir, - ignore: ['assets/**', '*ie11*.css', '*.css'] -}); - -/* Copy @patternfly/patternfly styles */ -cssFiles.forEach(filePath => { - const absFilePath = resolve(pfStylesDir, filePath); - const cssContent = readFileSync(absFilePath, 'utf8'); - const cssOutputPath = getCSSOutputPath(outDir, filePath); - const newClass = cssToJSNew(cssContent, `./${basename(cssOutputPath)}`); - - outputFileSync(cssOutputPath, cssContent); - outputFileSync(cssOutputPath.replace('.css', '.ts'), newClass); -}); - -/* Copy inline styles in the src/css folder */ -const inlineCssFiles = glob.sync('src/css/**/*.css'); - -inlineCssFiles.forEach(filePath => { - const absFilePath = resolve(filePath); - const cssContent = readFileSync(absFilePath, 'utf8'); - const cssOutputPath = getCSSOutputPath(outDir, filePath).replace('src/css/', ''); - const newClass = cssToJSNew(cssContent, `./${basename(cssOutputPath)}`); - - outputFileSync(cssOutputPath, cssContent); - outputFileSync(cssOutputPath.replace('.css', '.ts'), newClass); -}); - -/** - * @param {string} cssString - CSS string - * @param {string} cssOutputPath - Path string - */ -function cssToJSNew(cssString, cssOutputPath = '') { - const cssClasses = getCSSClasses(cssString); - // eslint-disable-next-line no-undef - const distinctValues = [...new Set(cssClasses)]; - const classDeclaration = []; - const modifiersDeclaration = []; - - distinctValues.forEach(className => { - const key = formatClassName(className); - const cleanClass = className.replace('.', '').trim(); - if (isModifier(className)) { - modifiersDeclaration.push(`'${key}': '${cleanClass}'`); - } else { - classDeclaration.push(`${key}: '${cleanClass}'`); - } - }); - const classSection = classDeclaration.length > 0 ? `${classDeclaration.join(',\n ')},` : ''; - - return `import '${cssOutputPath}'; - -export default { - ${classSection} - modifiers: { - ${modifiersDeclaration.join(',\n ')} - } -}`; -} - -/** - * @param {string} cssString - CSS string - */ -function getCSSClasses(cssString) { - return cssString.match(/(\.)(?!\d)([^\s\.,{\[>+~#:)]*)(?![^{]*})/g); //eslint-disable-line -} - -/** - * @param {string} className - Class name - */ -function formatClassName(className) { - return camelcase(className.replace(/pf-((c|l|m|u|is|has)-)?/g, '')); -} - -/** - * @param {string} className - Class name - */ -function isModifier(className) { - return Boolean(className && className.startsWith) && className.startsWith('.pf-m-'); -} - -/** - * @param {any} absFilePath - Absolute file path - * @param {any} pathToCSSFile - Path to CSS file - */ -function getCSSOutputPath(absFilePath, pathToCSSFile) { - return join(absFilePath, getFormattedCSSOutputPath(pathToCSSFile)); -} - -/** - * @param {any} pathToCSSFile - Path to CSS file - */ -function getFormattedCSSOutputPath(pathToCSSFile) { - const { dir, name } = parse(pathToCSSFile); - let formattedDir = dir; - const nodeText = 'node_modules'; - const nodeIndex = formattedDir.lastIndexOf(nodeText); - if (nodeIndex !== -1) { - formattedDir = formattedDir.substring(nodeIndex + nodeText.length); - } - return join(formattedDir, `${name}.css`); -} diff --git a/packages/react-styles/src/removeTS.js b/packages/react-styles/src/removeTS.js deleted file mode 100644 index c6a1468a7e5..00000000000 --- a/packages/react-styles/src/removeTS.js +++ /dev/null @@ -1,4 +0,0 @@ -const glob = require('glob'); -const fs = require('fs'); - -glob.sync('css/**/*.ts', { ignore: ['**/*.d.ts'] }).forEach(file => fs.unlinkSync(file)); diff --git a/packages/react-styles/tsconfig.cjs.json b/packages/react-styles/tsconfig.cjs.json new file mode 100644 index 00000000000..578d46af9d3 --- /dev/null +++ b/packages/react-styles/tsconfig.cjs.json @@ -0,0 +1,8 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./dist/js", + "module": "commonjs", + "tsBuildInfoFile": "dist/cjs.tsbuildinfo" + } +} diff --git a/packages/react-styles/tsconfig.gen-dts.json b/packages/react-styles/tsconfig.gen-dts.json deleted file mode 100644 index 05bf1c16e6f..00000000000 --- a/packages/react-styles/tsconfig.gen-dts.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "extends": "../tsconfig.base.json", - "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "dist/js" - }, - "include": [ - "./src/*", - "./src/**/*" - ], - "exclude": [ - "./src/**/**.test.tsx", - "./src/**/**.test.ts", - "./src/**/examples/**" - ] -} \ No newline at end of file diff --git a/packages/react-styles/tsconfig.json b/packages/react-styles/tsconfig.json index 367e832ddc9..a7fc6b54403 100644 --- a/packages/react-styles/tsconfig.json +++ b/packages/react-styles/tsconfig.json @@ -1,15 +1,13 @@ { + "extends": "../tsconfig.base.json", "compilerOptions": { - "baseUrl": ".", - "module": "commonjs", - "moduleResolution": "node", - "skipLibCheck": true, - "strict": true, - "target": "es5", - "declaration": true + "rootDir": "./src", + "outDir": "./dist/esm", + "declarationDir": "./dist/js", + "tsBuildInfoFile": "dist/esm.tsbuildinfo" }, "include": [ - "./css/*", - "./css/**/*" + "./src/*", + "./src/**/*" ] -} \ No newline at end of file +} diff --git a/packages/react-table/.babelrc b/packages/react-table/.babelrc deleted file mode 100644 index 25c4221a16d..00000000000 --- a/packages/react-table/.babelrc +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": "../.babelrc" -} \ No newline at end of file diff --git a/packages/react-table/.npmignore b/packages/react-table/.npmignore index 5344519a423..4d63a47e6dc 100644 --- a/packages/react-table/.npmignore +++ b/packages/react-table/.npmignore @@ -1,6 +1,2 @@ -build -dist/**/demos -dist/**/examples -dist/**/__snapshots__ -dist/**/*.test.js dist/**/*.map +dist/*.tsbuildinfo diff --git a/packages/react-table/build/copyStyles.js b/packages/react-table/build/copyStyles.js deleted file mode 100644 index 5b36824b2ac..00000000000 --- a/packages/react-table/build/copyStyles.js +++ /dev/null @@ -1,44 +0,0 @@ -/* eslint-disable @typescript-eslint/no-var-requires */ -const { copySync, readFileSync, writeFileSync } = require('fs-extra'); -const { resolve, dirname, join } = require('path'); -const { parse: parseCSS, stringify: stringifyCSS } = require('css'); -/* eslint-enable @typescript-eslint/no-var-requires */ - -const baseCSSFilename = 'patternfly-base.css'; -const stylesDir = resolve(__dirname, '../dist/styles'); -const pfDir = dirname(require.resolve(`@patternfly/patternfly/${baseCSSFilename}`)); - -const css = readFileSync(join(pfDir, baseCSSFilename), 'utf8'); -const ast = parseCSS(css); - -const unusedSelectorRegEx = /(\.fas?|\.sr-only)/; -const unusedKeyFramesRegEx = /fa-/; -const unusedFontFamilyRegEx = /Font Awesome 5 Free/; -const ununsedFontFilesRegExt = /(fa-|\.html$|\.css$)/; - -// Core provides font awesome fonts and utlities. React does not use these -ast.stylesheet.rules = ast.stylesheet.rules.filter(rule => { - switch (rule.type) { - case 'rule': - return !rule.selectors.some(sel => unusedSelectorRegEx.test(sel)); - case 'keyframes': - return !unusedKeyFramesRegEx.test(rule.name); - case 'charset': - case 'comment': - return false; - case 'font-face': - // eslint-disable-next-line no-case-declarations - const fontFamilyDecl = rule.declarations.find(decl => decl.property === 'font-family'); - return !unusedFontFamilyRegEx.test(fontFamilyDecl.value); - default: - return true; - } -}); - -copySync(join(pfDir, 'assets/images'), join(stylesDir, 'assets/images')); -copySync(join(pfDir, 'assets/fonts'), join(stylesDir, 'assets/fonts'), { - filter(src) { - return !ununsedFontFilesRegExt.test(src); - } -}); -writeFileSync(join(stylesDir, 'base.css'), stringifyCSS(ast)); diff --git a/packages/react-table/build/snapshot-serializer.js b/packages/react-table/build/snapshot-serializer.js deleted file mode 100644 index afc30cfc483..00000000000 --- a/packages/react-table/build/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/react-styles/css/patternfly-base.css'), 'utf8'); - -module.exports = createSerializer({ - globalCSS: pf4CSS.match(/:root\W?\{(.|\n)*?\}/)[0] -}); diff --git a/packages/react-table/package.json b/packages/react-table/package.json index d67e549b14d..67d9993c21d 100644 --- a/packages/react-table/package.json +++ b/packages/react-table/package.json @@ -36,37 +36,19 @@ "lodash": "^4.17.15" }, "peerDependencies": { - "prop-types": "^15.6.1", "react": "^16.4.0", "react-dom": "^15.6.2 || ^16.4.0" }, "scripts": { - "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", - "build:babel:umd": "babel --source-maps --extensions '.js' dist/esm --out-dir dist/umd --plugins=transform-es2015-modules-umd", - "watch:types": "tsc -w -p tsconfig.gen-dts.json", - "build:types": "tsc -p tsconfig.gen-dts.json", - "clean": "rimraf dist", - "develop": "yarn build:babel:esm --skip-initial-build --watch --verbose --source-maps" + "clean": "rimraf dist" }, "devDependencies": { - "@babel/cli": "^7.0.0", - "@babel/core": "^7.0.0", - "@babel/plugin-proposal-class-properties": "^7.0.0", - "@babel/plugin-proposal-export-default-from": "^7.0.0", - "@babel/plugin-proposal-object-rest-spread": "^7.0.0", - "@babel/plugin-transform-typescript": "^7.0.0", - "@babel/preset-env": "^7.0.0", - "@babel/preset-react": "^7.0.0", "@types/classnames": "^2.2.9", - "babel-plugin-transform-es2015-modules-umd": "^6.24.1", - "babel-plugin-typescript-to-proptypes": "^0.17.1", "css": "^2.2.3", "fs-extra": "^6.0.1", "glob": "^7.1.2", "rimraf": "^2.6.2", + "tslib": "^1.11.1", "typescript": "^3.8.3" } } diff --git a/packages/react-table/src/components/Table/ActionsColumn.tsx b/packages/react-table/src/components/Table/ActionsColumn.tsx index 58d2ad829b7..a9d5f0e41ca 100644 --- a/packages/react-table/src/components/Table/ActionsColumn.tsx +++ b/packages/react-table/src/components/Table/ActionsColumn.tsx @@ -1,12 +1,9 @@ import * as React from 'react'; -import { Dropdown } from '@patternfly/react-core/dist/js/components/Dropdown/Dropdown'; -import { - DropdownPosition, - DropdownDirection -} from '@patternfly/react-core/dist/js/components/Dropdown/dropdownConstants'; -import { KebabToggle } from '@patternfly/react-core/dist/js/components/Dropdown/KebabToggle'; -import { DropdownItem } from '@patternfly/react-core/dist/js/components/Dropdown/DropdownItem'; -import { DropdownSeparator } from '@patternfly/react-core/dist/js/components/Dropdown/DropdownSeparator'; +import { Dropdown } from '@patternfly/react-core'; +import { DropdownPosition, DropdownDirection } from '@patternfly/react-core'; +import { KebabToggle } from '@patternfly/react-core'; +import { DropdownItem } from '@patternfly/react-core'; +import { DropdownSeparator } from '@patternfly/react-core'; import { IAction, IExtraData, IRowData } from './Table'; @@ -80,7 +77,9 @@ export class ActionsColumn extends React.Component this.onSelect(event, onClick)} + onClick={(event: React.MouseEvent | React.KeyboardEvent | MouseEvent) => + this.onSelect(event, onClick) + } {...props} key={itemKey || key} data-key={itemKey || key} diff --git a/packages/react-table/src/components/Table/CollapseColumn.tsx b/packages/react-table/src/components/Table/CollapseColumn.tsx index b90cf7c10c7..adbbb712994 100644 --- a/packages/react-table/src/components/Table/CollapseColumn.tsx +++ b/packages/react-table/src/components/Table/CollapseColumn.tsx @@ -1,7 +1,7 @@ import * as React from 'react'; import AngleDownIcon from '@patternfly/react-icons/dist/js/icons/angle-down-icon'; import { css } from '@patternfly/react-styles'; -import { Button } from '@patternfly/react-core/dist/js/components/Button/Button'; +import { Button } from '@patternfly/react-core'; import styles from '@patternfly/react-styles/css/components/Table/table'; export interface CollapseColumnProps { diff --git a/packages/react-table/src/components/Table/EditColumn.tsx b/packages/react-table/src/components/Table/EditColumn.tsx index 43467e8c4a0..7c215d8b252 100644 --- a/packages/react-table/src/components/Table/EditColumn.tsx +++ b/packages/react-table/src/components/Table/EditColumn.tsx @@ -31,18 +31,33 @@ export const EditColumn: React.FunctionComponent = ({
    -
    -
    -
    diff --git a/packages/react-table/src/components/Table/EditableTextCell.tsx b/packages/react-table/src/components/Table/EditableTextCell.tsx index 0f6669f950c..e8d75e469f4 100644 --- a/packages/react-table/src/components/Table/EditableTextCell.tsx +++ b/packages/react-table/src/components/Table/EditableTextCell.tsx @@ -37,7 +37,7 @@ export const EditableTextCell: React.FunctionComponent = ({ value={props.editableValue !== undefined ? props.editableValue : value} validated={props.isValid !== false ? 'default' : 'error'} type="text" - onChange={(newValue, event) => { + onChange={(newValue: string, event: React.FormEvent) => { handleTextInputChange(newValue, event, rowIndex, cellIndex); }} aria-label={inputAriaLabel} diff --git a/packages/react-table/src/components/Table/RowWrapper.tsx b/packages/react-table/src/components/Table/RowWrapper.tsx index a87647a9bfb..02372c27c2e 100644 --- a/packages/react-table/src/components/Table/RowWrapper.tsx +++ b/packages/react-table/src/components/Table/RowWrapper.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; -import { getOUIAProps, OUIAProps } from '@patternfly/react-core/dist/js/helpers/ouia'; -import { debounce } from '@patternfly/react-core/dist/js/helpers/util'; +import { getOUIAProps, OUIAProps } from '@patternfly/react-core'; +import { debounce } from '@patternfly/react-core'; import styles from '@patternfly/react-styles/css/components/Table/table'; import inlineStyles from '@patternfly/react-styles/css/components/InlineEdit/inline-edit'; import { css } from '@patternfly/react-styles'; @@ -13,7 +13,7 @@ export interface RowWrapperRow { isEditable?: boolean; } -export interface RowWrapperProps extends OUIAProps { +export interface RowWrapperProps { trRef?: React.Ref | Function; className?: string; onScroll?: React.UIEventHandler; @@ -25,7 +25,7 @@ export interface RowWrapperProps extends OUIAProps { }; } -export class RowWrapper extends React.Component { +export class RowWrapper extends React.Component { static defaultProps = { className: '' as string, row: { diff --git a/packages/react-table/src/components/Table/Table.test.tsx b/packages/react-table/src/components/Table/Table.test.tsx index 3c1a2be736d..fb2e5545a03 100644 --- a/packages/react-table/src/components/Table/Table.test.tsx +++ b/packages/react-table/src/components/Table/Table.test.tsx @@ -18,7 +18,7 @@ import { OnRowEdit, OnSort } from './index'; -import { rows, columns, editableRows, editableColumns, actions } from '../../test-helpers/data-sets'; +import { rows, columns, editableRows, editableColumns, actions } from '../../test/data-sets'; import { ColumnsType } from './base'; describe('Simple table', () => { diff --git a/packages/react-table/src/components/Table/Table.tsx b/packages/react-table/src/components/Table/Table.tsx index c06ddce4cbe..2619d7f0cfb 100644 --- a/packages/react-table/src/components/Table/Table.tsx +++ b/packages/react-table/src/components/Table/Table.tsx @@ -1,12 +1,13 @@ import * as React from 'react'; import styles from '@patternfly/react-styles/css/components/Table/table'; import stylesGrid from '@patternfly/react-styles/css/components/Table/table-grid'; -import { getOUIAProps, OUIAProps } from '@patternfly/react-core/dist/js/helpers/ouia'; import { DropdownDirection, - DropdownPosition -} from '@patternfly/react-core/dist/js/components/Dropdown/dropdownConstants'; -import { DropdownItemProps } from '@patternfly/react-core/dist/js/components/Dropdown/DropdownItem'; + DropdownPosition, + DropdownItemProps, + getOUIAProps, + OUIAProps +} from '@patternfly/react-core'; import inlineStyles from '@patternfly/react-styles/css/components/InlineEdit/inline-edit'; import { css } from '@patternfly/react-styles'; import { Provider } from './base'; @@ -310,18 +311,12 @@ export const TableContext = React.createContext({ export class Table extends React.Component { static hasWarnBeta = false; static defaultProps = { - children: null as React.ReactNode, - className: '', - variant: null as TableVariant, borders: true, rowLabeledBy: 'simple-node', expandId: 'expandable-toggle', contentId: 'expanded-content', dropdownPosition: DropdownPosition.right, dropdownDirection: DropdownDirection.down, - header: undefined as React.ReactNode, - caption: undefined as React.ReactNode, - 'aria-label': undefined as string, gridBreakPoint: TableGridBreakpoint.gridMd, role: 'grid', canSelectAll: true @@ -435,7 +430,7 @@ export class Table extends React.Component { stylesGrid.modifiers[ toCamel(gridBreakPoint).replace(/-?2xl/, '_2xl') as 'grid' | 'gridMd' | 'gridLg' | 'gridXl' | 'grid_2xl' ], - styles.modifiers[variant], + styles.modifiers[variant as 'compact'], ((onCollapse && variant === TableVariant.compact) || onExpand) && styles.modifiers.expandable, variant === TableVariant.compact && borders === false ? styles.modifiers.noBorderRows : null, className diff --git a/packages/react-table/src/components/Table/__snapshots__/Table.test.tsx.snap b/packages/react-table/src/components/Table/__snapshots__/Table.test.tsx.snap index 6f8202bcb10..eeceed17ff3 100644 --- a/packages/react-table/src/components/Table/__snapshots__/Table.test.tsx.snap +++ b/packages/react-table/src/components/Table/__snapshots__/Table.test.tsx.snap @@ -25,7 +25,6 @@ exports[`Actions table 1`] = ` }, ] } - className="" contentId="expanded-content" dropdownDirection="down" dropdownPosition="right" @@ -118,7 +117,6 @@ exports[`Actions table 1`] = ` }, ] } - variant={null} > - Some action - , - , + Another action
    - , - , + , - Third action - , + , ] } isOpen={false} isPlain={true} position="right" toggle={ - @@ -4531,14 +4529,14 @@ exports[`Actions table 1`] = ` direction="down" dropdownItems={ Array [ - Some action - , - , + Another action
- , - , + , - Third action - , + , ] } isGrouped={false} @@ -4566,7 +4564,7 @@ exports[`Actions table 1`] = ` ouiaComponentType="Dropdown" position="right" toggle={ - @@ -4578,7 +4576,7 @@ exports[`Actions table 1`] = ` data-ouia-component-type="PF4/Dropdown" data-ouia-safe={true} > - - + - + @@ -5334,18 +5332,18 @@ exports[`Actions table 1`] = ` } } > - Some action - , - , + Another action - , - , + , - Third action - , + , ] } isOpen={false} isPlain={true} position="right" toggle={ - @@ -5382,14 +5380,14 @@ exports[`Actions table 1`] = ` direction="down" dropdownItems={ Array [ - Some action - , - , + Another action - , - , + , - Third action - , + , ] } isGrouped={false} @@ -5417,7 +5415,7 @@ exports[`Actions table 1`] = ` ouiaComponentType="Dropdown" position="right" toggle={ - @@ -5429,7 +5427,7 @@ exports[`Actions table 1`] = ` data-ouia-component-type="PF4/Dropdown" data-ouia-safe={true} > - - + - + @@ -6185,18 +6183,18 @@ exports[`Actions table 1`] = ` } } > - Some action - , - , + Another action - , - , + , - Third action - , + , ] } isOpen={false} isPlain={true} position="right" toggle={ - @@ -6233,14 +6231,14 @@ exports[`Actions table 1`] = ` direction="down" dropdownItems={ Array [ - Some action - , - , + Another action - , - , + , - Third action - , + , ] } isGrouped={false} @@ -6268,7 +6266,7 @@ exports[`Actions table 1`] = ` ouiaComponentType="Dropdown" position="right" toggle={ - @@ -6280,7 +6278,7 @@ exports[`Actions table 1`] = ` data-ouia-component-type="PF4/Dropdown" data-ouia-safe={true} > - - + - + @@ -7036,18 +7034,18 @@ exports[`Actions table 1`] = ` } } > - Some action - , - , + Another action - , - , + , - Third action - , + , ] } isOpen={false} isPlain={true} position="right" toggle={ - @@ -7084,14 +7082,14 @@ exports[`Actions table 1`] = ` direction="down" dropdownItems={ Array [ - Some action - , - , + Another action - , - , + , - Third action - , + , ] } isGrouped={false} @@ -7119,7 +7117,7 @@ exports[`Actions table 1`] = ` ouiaComponentType="Dropdown" position="right" toggle={ - @@ -7131,7 +7129,7 @@ exports[`Actions table 1`] = ` data-ouia-component-type="PF4/Dropdown" data-ouia-safe={true} > - - + - + @@ -7887,18 +7885,18 @@ exports[`Actions table 1`] = ` } } > - Some action - , - , + Another action - , - , + , - Third action - , + , ] } isOpen={false} isPlain={true} position="right" toggle={ - @@ -7935,14 +7933,14 @@ exports[`Actions table 1`] = ` direction="down" dropdownItems={ Array [ - Some action - , - , + Another action - , - , + , - Third action - , + , ] } isGrouped={false} @@ -7970,7 +7968,7 @@ exports[`Actions table 1`] = ` ouiaComponentType="Dropdown" position="right" toggle={ - @@ -7982,7 +7980,7 @@ exports[`Actions table 1`] = ` data-ouia-component-type="PF4/Dropdown" data-ouia-safe={true} > - - + - + @@ -8738,18 +8736,18 @@ exports[`Actions table 1`] = ` } } > - Some action - , - , + Another action - , - , + , - Third action - , + , ] } isOpen={false} isPlain={true} position="right" toggle={ - @@ -8786,14 +8784,14 @@ exports[`Actions table 1`] = ` direction="down" dropdownItems={ Array [ - Some action - , - , + Another action - , - , + , - Third action - , + , ] } isGrouped={false} @@ -8821,7 +8819,7 @@ exports[`Actions table 1`] = ` ouiaComponentType="Dropdown" position="right" toggle={ - @@ -8833,7 +8831,7 @@ exports[`Actions table 1`] = ` data-ouia-component-type="PF4/Dropdown" data-ouia-safe={true} > - - + - + @@ -9589,18 +9587,18 @@ exports[`Actions table 1`] = ` } } > - Some action - , - , + Another action - , - , + , - Third action - , + , ] } isOpen={false} isPlain={true} position="right" toggle={ - @@ -9637,14 +9635,14 @@ exports[`Actions table 1`] = ` direction="down" dropdownItems={ Array [ - Some action - , - , + Another action - , - , + , - Third action - , + , ] } isGrouped={false} @@ -9672,7 +9670,7 @@ exports[`Actions table 1`] = ` ouiaComponentType="Dropdown" position="right" toggle={ - @@ -9684,7 +9682,7 @@ exports[`Actions table 1`] = ` data-ouia-component-type="PF4/Dropdown" data-ouia-safe={true} > - - + - + @@ -10440,18 +10438,18 @@ exports[`Actions table 1`] = ` } } > - Some action - , - , + Another action - , - , + , - Third action - , + , ] } isOpen={false} isPlain={true} position="right" toggle={ - @@ -10488,14 +10486,14 @@ exports[`Actions table 1`] = ` direction="down" dropdownItems={ Array [ - Some action - , - , + Another action - , - , + , - Third action - , + , ] } isGrouped={false} @@ -10523,7 +10521,7 @@ exports[`Actions table 1`] = ` ouiaComponentType="Dropdown" position="right" toggle={ - @@ -10535,7 +10533,7 @@ exports[`Actions table 1`] = ` data-ouia-component-type="PF4/Dropdown" data-ouia-safe={true} > - - + - + @@ -11291,18 +11289,18 @@ exports[`Actions table 1`] = ` } } > - Some action - , - , + Another action - , - , + , - Third action - , + , ] } isOpen={false} isPlain={true} position="right" toggle={ - @@ -11339,14 +11337,14 @@ exports[`Actions table 1`] = ` direction="down" dropdownItems={ Array [ - Some action - , - , + Another action - , - , + , - Third action - , + , ] } isGrouped={false} @@ -11374,7 +11372,7 @@ exports[`Actions table 1`] = ` ouiaComponentType="Dropdown" position="right" toggle={ - @@ -11386,7 +11384,7 @@ exports[`Actions table 1`] = ` data-ouia-component-type="PF4/Dropdown" data-ouia-safe={true} > - - + - + @@ -11579,7 +11577,6 @@ exports[`Cell header table 1`] = ` }, ] } - className="" contentId="expanded-content" dropdownDirection="down" dropdownPosition="right" @@ -11672,7 +11669,6 @@ exports[`Cell header table 1`] = ` }, ] } - variant={null} > - - + @@ -24005,7 +23999,7 @@ exports[`Collapsible nested table 1`] = ` isOpen={true} onToggle={[Function]} > - - + @@ -25028,7 +25022,7 @@ exports[`Collapsible nested table 1`] = ` isOpen={false} onToggle={[Function]} > - - + @@ -27693,7 +27687,6 @@ exports[`Collapsible table 1`] = ` }, ] } - className="" contentId="expanded-content" dropdownDirection="down" dropdownPosition="right" @@ -27791,7 +27784,6 @@ exports[`Collapsible table 1`] = ` }, ] } - variant={null} > - - + @@ -33586,7 +33578,7 @@ exports[`Collapsible table 1`] = ` isOpen={false} onToggle={[Function]} > - - + @@ -36247,7 +36239,6 @@ exports[`Compound Expandable table 1`] = ` }, ] } - className="" contentId="expanded-content" dropdownDirection="down" dropdownPosition="right" @@ -36318,7 +36309,6 @@ exports[`Compound Expandable table 1`] = ` }, ] } - variant={null} > - - + - - + @@ -38359,7 +38349,7 @@ exports[`Compound Expandable table 1`] = ` data-key={0} data-label="col1" > - - + - - + @@ -38653,7 +38643,6 @@ exports[`Editable table 1`] = ` "Text input col 4", ] } - className="" contentId="expanded-content" dropdownDirection="down" dropdownPosition="right" @@ -38732,7 +38721,6 @@ exports[`Editable table 1`] = ` }, ] } - variant={null} >
- - +
- - +
- - +
@@ -43156,7 +43144,7 @@ exports[`Editable table 1`] = `
- - +
- - +
- - +
@@ -43390,7 +43378,6 @@ exports[`Header width table 1`] = ` }, ] } - className="" contentId="expanded-content" dropdownDirection="down" dropdownPosition="right" @@ -43489,7 +43476,6 @@ exports[`Header width table 1`] = ` }, ] } - variant={null} > - Some action - , - , + Another action - , - , + , - Third action - , + , ] } isOpen={false} isPlain={true} position="right" toggle={ - } @@ -72330,14 +72310,14 @@ exports[`Simple Actions table 1`] = ` direction="down" dropdownItems={ Array [ - Some action - , - , + Another action - , - , + , - Third action - , + , ] } isGrouped={false} @@ -72365,7 +72345,7 @@ exports[`Simple Actions table 1`] = ` ouiaComponentType="Dropdown" position="right" toggle={ - } @@ -72376,7 +72356,7 @@ exports[`Simple Actions table 1`] = ` data-ouia-component-type="PF4/Dropdown" data-ouia-safe={true} > - - + - + @@ -73263,18 +73243,18 @@ exports[`Simple Actions table 1`] = ` } } > - Some action - , - , + Another action - , - , + , - Third action - , + , ] } isOpen={false} isPlain={true} position="right" toggle={ - } @@ -73310,14 +73290,14 @@ exports[`Simple Actions table 1`] = ` direction="down" dropdownItems={ Array [ - Some action - , - , + Another action - , - , + , - Third action - , + , ] } isGrouped={false} @@ -73345,7 +73325,7 @@ exports[`Simple Actions table 1`] = ` ouiaComponentType="Dropdown" position="right" toggle={ - } @@ -73356,7 +73336,7 @@ exports[`Simple Actions table 1`] = ` data-ouia-component-type="PF4/Dropdown" data-ouia-safe={true} > - - + - + @@ -74243,18 +74223,18 @@ exports[`Simple Actions table 1`] = ` } } > - Some action - , - , + Another action - , - , + , - Third action - , + , ] } isOpen={false} isPlain={true} position="right" toggle={ - } @@ -74290,14 +74270,14 @@ exports[`Simple Actions table 1`] = ` direction="down" dropdownItems={ Array [ - Some action - , - , + Another action - , - , + , - Third action - , + , ] } isGrouped={false} @@ -74325,7 +74305,7 @@ exports[`Simple Actions table 1`] = ` ouiaComponentType="Dropdown" position="right" toggle={ - } @@ -74336,7 +74316,7 @@ exports[`Simple Actions table 1`] = ` data-ouia-component-type="PF4/Dropdown" data-ouia-safe={true} > - - + - + @@ -75223,18 +75203,18 @@ exports[`Simple Actions table 1`] = ` } } > - Some action - , - , + Another action - , - , + , - Third action - , + , ] } isOpen={false} isPlain={true} position="right" toggle={ - } @@ -75270,14 +75250,14 @@ exports[`Simple Actions table 1`] = ` direction="down" dropdownItems={ Array [ - Some action - , - , + Another action - , - , + , - Third action - , + , ] } isGrouped={false} @@ -75305,7 +75285,7 @@ exports[`Simple Actions table 1`] = ` ouiaComponentType="Dropdown" position="right" toggle={ - } @@ -75316,7 +75296,7 @@ exports[`Simple Actions table 1`] = ` data-ouia-component-type="PF4/Dropdown" data-ouia-safe={true} > - - + - + @@ -76203,18 +76183,18 @@ exports[`Simple Actions table 1`] = ` } } > - Some action - , - , + Another action - , - , + , - Third action - , + , ] } isOpen={false} isPlain={true} position="right" toggle={ - } @@ -76250,14 +76230,14 @@ exports[`Simple Actions table 1`] = ` direction="down" dropdownItems={ Array [ - Some action - , - , + Another action - , - , + , - Third action - , + , ] } isGrouped={false} @@ -76285,7 +76265,7 @@ exports[`Simple Actions table 1`] = ` ouiaComponentType="Dropdown" position="right" toggle={ - } @@ -76296,7 +76276,7 @@ exports[`Simple Actions table 1`] = ` data-ouia-component-type="PF4/Dropdown" data-ouia-safe={true} > - - + - + @@ -77183,18 +77163,18 @@ exports[`Simple Actions table 1`] = ` } } > - Some action - , - , + Another action - , - , + , - Third action - , + , ] } isOpen={false} isPlain={true} position="right" toggle={ - } @@ -77230,14 +77210,14 @@ exports[`Simple Actions table 1`] = ` direction="down" dropdownItems={ Array [ - Some action - , - , + Another action - , - , + , - Third action - , + , ] } isGrouped={false} @@ -77265,7 +77245,7 @@ exports[`Simple Actions table 1`] = ` ouiaComponentType="Dropdown" position="right" toggle={ - } @@ -77276,7 +77256,7 @@ exports[`Simple Actions table 1`] = ` data-ouia-component-type="PF4/Dropdown" data-ouia-safe={true} > - - + - + @@ -78163,18 +78143,18 @@ exports[`Simple Actions table 1`] = ` } } > - Some action - , - , + Another action - , - , + , - Third action - , + , ] } isOpen={false} isPlain={true} position="right" toggle={ - } @@ -78210,14 +78190,14 @@ exports[`Simple Actions table 1`] = ` direction="down" dropdownItems={ Array [ - Some action - , - , + Another action - , - , + , - Third action - , + , ] } isGrouped={false} @@ -78245,7 +78225,7 @@ exports[`Simple Actions table 1`] = ` ouiaComponentType="Dropdown" position="right" toggle={ - } @@ -78256,7 +78236,7 @@ exports[`Simple Actions table 1`] = ` data-ouia-component-type="PF4/Dropdown" data-ouia-safe={true} > - - + - + @@ -79143,18 +79123,18 @@ exports[`Simple Actions table 1`] = ` } } > - Some action - , - , + Another action - , - , + , - Third action - , + , ] } isOpen={false} isPlain={true} position="right" toggle={ - } @@ -79190,14 +79170,14 @@ exports[`Simple Actions table 1`] = ` direction="down" dropdownItems={ Array [ - Some action - , - , + Another action - , - , + , - Third action - , + , ] } isGrouped={false} @@ -79225,7 +79205,7 @@ exports[`Simple Actions table 1`] = ` ouiaComponentType="Dropdown" position="right" toggle={ - } @@ -79236,7 +79216,7 @@ exports[`Simple Actions table 1`] = ` data-ouia-component-type="PF4/Dropdown" data-ouia-safe={true} > - - + - + @@ -80123,18 +80103,18 @@ exports[`Simple Actions table 1`] = ` } } > - Some action - , - , + Another action - , - , + , - Third action - , + , ] } isOpen={false} isPlain={true} position="right" toggle={ - } @@ -80170,14 +80150,14 @@ exports[`Simple Actions table 1`] = ` direction="down" dropdownItems={ Array [ - Some action - , - , + Another action - , - , + , - Third action - , + , ] } isGrouped={false} @@ -80205,7 +80185,7 @@ exports[`Simple Actions table 1`] = ` ouiaComponentType="Dropdown" position="right" toggle={ - } @@ -80216,7 +80196,7 @@ exports[`Simple Actions table 1`] = ` data-ouia-component-type="PF4/Dropdown" data-ouia-safe={true} > - - + - + @@ -81107,18 +81087,18 @@ exports[`Simple Actions table 1`] = ` } } > - Some action - , - , + Another action - , - , + , - Third action - , + , ] } isOpen={false} isPlain={true} position="right" toggle={ - @@ -81155,14 +81135,14 @@ exports[`Simple Actions table 1`] = ` direction="down" dropdownItems={ Array [ - Some action - , - , + Another action - , - , + , - Third action - , + , ] } isGrouped={false} @@ -81190,7 +81170,7 @@ exports[`Simple Actions table 1`] = ` ouiaComponentType="Dropdown" position="right" toggle={ - @@ -81202,7 +81182,7 @@ exports[`Simple Actions table 1`] = ` data-ouia-component-type="PF4/Dropdown" data-ouia-safe={true} > - - + - + @@ -81391,7 +81371,6 @@ exports[`Simple table aria-label 1`] = ` }, ] } - className="" contentId="expanded-content" dropdownDirection="down" dropdownPosition="right" @@ -81484,7 +81463,6 @@ exports[`Simple table aria-label 1`] = ` }, ] } - variant={null} >

Header title @@ -103483,7 +103457,6 @@ exports[`Sortable table 1`] = ` }, ] } - className="" contentId="expanded-content" dropdownDirection="down" dropdownPosition="right" @@ -103578,7 +103551,6 @@ exports[`Sortable table 1`] = ` ] } sortBy={Object {}} - variant={null} > { diff --git a/packages/react-table/src/test-helpers/MockedTableChanges.js b/packages/react-table/src/test/MockedTableChanges.js similarity index 94% rename from packages/react-table/src/test-helpers/MockedTableChanges.js rename to packages/react-table/src/test/MockedTableChanges.js index ece469f3169..d0940aad297 100644 --- a/packages/react-table/src/test-helpers/MockedTableChanges.js +++ b/packages/react-table/src/test/MockedTableChanges.js @@ -1,10 +1,10 @@ -import React, { Component } from 'react'; +import React from 'react'; import PropTypes from 'prop-types'; import { TableContext } from '../components/Table/Table'; import { TableHeader } from '../components/Table'; export const withContext = ({ context = {}, contextType = {} }) => WrappedComponent => { - class WithContext extends Component { + class WithContext extends React.Component { getChildContext() { return context; } diff --git a/packages/react-table/src/test-helpers/data-helpers.tsx b/packages/react-table/src/test/data-helpers.tsx similarity index 100% rename from packages/react-table/src/test-helpers/data-helpers.tsx rename to packages/react-table/src/test/data-helpers.tsx diff --git a/packages/react-table/src/test-helpers/data-sets.tsx b/packages/react-table/src/test/data-sets.tsx similarity index 100% rename from packages/react-table/src/test-helpers/data-sets.tsx rename to packages/react-table/src/test/data-sets.tsx diff --git a/packages/react-table/tsconfig.cjs.json b/packages/react-table/tsconfig.cjs.json new file mode 100644 index 00000000000..578d46af9d3 --- /dev/null +++ b/packages/react-table/tsconfig.cjs.json @@ -0,0 +1,8 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./dist/js", + "module": "commonjs", + "tsBuildInfoFile": "dist/cjs.tsbuildinfo" + } +} diff --git a/packages/react-table/tsconfig.gen-dts.json b/packages/react-table/tsconfig.gen-dts.json deleted file mode 100644 index 05bf1c16e6f..00000000000 --- a/packages/react-table/tsconfig.gen-dts.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "extends": "../tsconfig.base.json", - "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "dist/js" - }, - "include": [ - "./src/*", - "./src/**/*" - ], - "exclude": [ - "./src/**/**.test.tsx", - "./src/**/**.test.ts", - "./src/**/examples/**" - ] -} \ No newline at end of file diff --git a/packages/react-table/tsconfig.json b/packages/react-table/tsconfig.json new file mode 100644 index 00000000000..cf3cbfd1656 --- /dev/null +++ b/packages/react-table/tsconfig.json @@ -0,0 +1,21 @@ +{ + "extends": "../tsconfig.base.json", + "compilerOptions": { + "rootDir": "./src", + "outDir": "./dist/esm", + "declarationDir": "./dist/js", + "tsBuildInfoFile": "dist/esm.tsbuildinfo" + }, + "include": [ + "./src/*", + "./src/**/*" + ], + "references": [ + { + "path": "../react-core" + }, + { + "path": "../react-styles" + } + ] +} diff --git a/packages/react-tokens/.npmignore b/packages/react-tokens/.npmignore index 5344519a423..4d63a47e6dc 100644 --- a/packages/react-tokens/.npmignore +++ b/packages/react-tokens/.npmignore @@ -1,6 +1,2 @@ -build -dist/**/demos -dist/**/examples -dist/**/__snapshots__ -dist/**/*.test.js dist/**/*.map +dist/*.tsbuildinfo diff --git a/packages/react-tokens/package.json b/packages/react-tokens/package.json index c26a01933ee..321f45694c5 100644 --- a/packages/react-tokens/package.json +++ b/packages/react-tokens/package.json @@ -25,16 +25,11 @@ }, "homepage": "https://github.com/patternfly/patternfly-react#readme", "scripts": { - "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", + "generate": "node scripts/generateTokens.js", "clean": "rimraf dist" }, "devDependencies": { - "@babel/cli": "^7.0.0", - "@babel/core": "^7.0.0", "@patternfly/patternfly": "4.6.0", - "babel-plugin-transform-es2015-modules-umd": "^6.24.1", "css": "^2.2.3", "fs-extra": "^6.0.1", "glob": "^7.1.2", diff --git a/packages/react-tokens/scripts/__snapshots__/generateTokens.test.js.snap b/packages/react-tokens/scripts/__snapshots__/generateTokens.test.js.snap new file mode 100644 index 00000000000..bc4d369e3b6 --- /dev/null +++ b/packages/react-tokens/scripts/__snapshots__/generateTokens.test.js.snap @@ -0,0 +1,9 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`computes variable value 1`] = `Object {}`; + +exports[`it generates token from class selector with value 1`] = `Object {}`; + +exports[`it generates token from root selector with value 1`] = `Object {}`; + +exports[`keeps variable reference if computing fails 1`] = `Object {}`; diff --git a/packages/react-tokens/scripts/generateTokens.js b/packages/react-tokens/scripts/generateTokens.js new file mode 100644 index 00000000000..6cdcdbf9494 --- /dev/null +++ b/packages/react-tokens/scripts/generateTokens.js @@ -0,0 +1,84 @@ +const glob = require('glob'); +const { dirname, resolve, join } = require('path'); +const { parse } = require('css'); +const fs = require('fs'); +const { outputFileSync } = require('fs-extra'); + +const formatCustomPropertyName = key => key.replace('--pf-', '').replace(/-+/g, '_'); + +/** + * Gets tokens from patternfly.css + * + * @returns {any} map of tokens + */ +function getTokens() { + const tokens = {}; + const pfStylesDir = dirname(require.resolve('@patternfly/patternfly/patternfly.css')); + const cssFiles = glob.sync('**/*.css', { + cwd: pfStylesDir, + ignore: ['assets/**'] + }); + cssFiles.forEach(filePath => { + const absFilePath = resolve(pfStylesDir, filePath); + const cssAst = parse(fs.readFileSync(absFilePath, 'utf8')); + cssAst.stylesheet.rules.forEach(node => { + if (node.type !== 'rule' || node.selectors.indexOf('.pf-t-dark') !== -1) { + return; + } + + node.declarations.forEach(decl => { + if (decl.type !== 'declaration') { + return; + } + const { property, value } = decl; + if (decl.property.startsWith('--')) { + const key = formatCustomPropertyName(property); + const populatedValue = value.replace(/var\(([\w|-]*)\)/g, (full, match) => { + const computedValue = tokens[formatCustomPropertyName(match)]; + return computedValue ? computedValue.value : `var(${match})`; + }); + // Avoid stringifying numeric chart values + const chartNum = decl.property.startsWith('--pf-chart-') && !isNaN(populatedValue); + tokens[key] = { + name: property, + value: chartNum ? Number(populatedValue).valueOf() : populatedValue, + var: `var(${property})` + }; + } + }); + }); + }); + + return tokens; +} + +/** + * Generates JS-from-CSS files + */ +function generateTokens() { + const outDir = resolve(__dirname, '../dist'); + if (fs.existsSync(outDir)) { + // eslint-disable-next-line no-console + console.log('Not overwriting generated tokens files.'); + return; + } + + const templateDir = resolve(__dirname, './templates'); + const tokens = getTokens(); + + fs.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 }) + ); + }); + }); + + // eslint-disable-next-line no-console + console.log('Generated files for', Object.keys(tokens).length, 'tokens.'); +} + +generateTokens(); diff --git a/packages/react-tokens/src/generateTokens.test.js b/packages/react-tokens/scripts/generateTokens.test.js similarity index 100% rename from packages/react-tokens/src/generateTokens.test.js rename to packages/react-tokens/scripts/generateTokens.test.js diff --git a/packages/react-tokens/src/templates/cjs.js b/packages/react-tokens/scripts/templates/cjs.js similarity index 100% rename from packages/react-tokens/src/templates/cjs.js rename to packages/react-tokens/scripts/templates/cjs.js diff --git a/packages/react-tokens/src/templates/d.ts.js b/packages/react-tokens/scripts/templates/d.ts.js similarity index 92% rename from packages/react-tokens/src/templates/d.ts.js rename to packages/react-tokens/scripts/templates/d.ts.js index 75f3d640dcc..9f2ea0b31d2 100644 --- a/packages/react-tokens/src/templates/d.ts.js +++ b/packages/react-tokens/scripts/templates/d.ts.js @@ -12,7 +12,7 @@ module.exports = { }, ''), getSingleOutputPath: ({ outDir, tokenName }) => join(outDir, `js/${tokenName}.d.ts`), getSingleContent: ({ tokenName, tokenValue }) => - `const ${tokenName}: {${Object.entries(tokenValue) + `declare const ${tokenName}: {${Object.entries(tokenValue) .map(([key, value]) => `${JSON.stringify(key)}: ${JSON.stringify(value)};`) .join(' ')}}\nexport default ${tokenName}\n` }; diff --git a/packages/react-tokens/src/templates/esm.js b/packages/react-tokens/scripts/templates/esm.js similarity index 100% rename from packages/react-tokens/src/templates/esm.js rename to packages/react-tokens/scripts/templates/esm.js diff --git a/packages/react-tokens/src/variablesByFile.js b/packages/react-tokens/scripts/variablesByFile.js similarity index 100% rename from packages/react-tokens/src/variablesByFile.js rename to packages/react-tokens/scripts/variablesByFile.js diff --git a/packages/react-tokens/src/__snapshots__/generateTokens.test.js.snap b/packages/react-tokens/src/__snapshots__/generateTokens.test.js.snap deleted file mode 100644 index eba402baf48..00000000000 --- a/packages/react-tokens/src/__snapshots__/generateTokens.test.js.snap +++ /dev/null @@ -1,83 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`computes variable value 1`] = ` -Object { - "esm/c_button_BackgroundColor.js": "export default {\\"name\\":\\"--pf-c-button--BackgroundColor\\",\\"value\\":\\"#fff\\",\\"var\\":\\"var(--pf-c-button--BackgroundColor)\\"} -", - "esm/global_BackgroundColor_100.js": "export default {\\"name\\":\\"--pf-global--BackgroundColor--100\\",\\"value\\":\\"#fff\\",\\"var\\":\\"var(--pf-global--BackgroundColor--100)\\"} -", - "esm/index.js": "export const global_BackgroundColor_100 = {\\"name\\":\\"--pf-global--BackgroundColor--100\\",\\"value\\":\\"#fff\\",\\"var\\":\\"var(--pf-global--BackgroundColor--100)\\"} -export const c_button_BackgroundColor = {\\"name\\":\\"--pf-c-button--BackgroundColor\\",\\"value\\":\\"#fff\\",\\"var\\":\\"var(--pf-c-button--BackgroundColor)\\"} -", - "js/c_button_BackgroundColor.d.ts": "const c_button_BackgroundColor: {\\"name\\": \\"--pf-c-button--BackgroundColor\\"; \\"value\\": \\"#fff\\"; \\"var\\": \\"var(--pf-c-button--BackgroundColor)\\";} -export default c_button_BackgroundColor -", - "js/c_button_BackgroundColor.js": "module.exports = {\\"name\\":\\"--pf-c-button--BackgroundColor\\",\\"value\\":\\"#fff\\",\\"var\\":\\"var(--pf-c-button--BackgroundColor)\\"} -", - "js/global_BackgroundColor_100.d.ts": "const global_BackgroundColor_100: {\\"name\\": \\"--pf-global--BackgroundColor--100\\"; \\"value\\": \\"#fff\\"; \\"var\\": \\"var(--pf-global--BackgroundColor--100)\\";} -export default global_BackgroundColor_100 -", - "js/global_BackgroundColor_100.js": "module.exports = {\\"name\\":\\"--pf-global--BackgroundColor--100\\",\\"value\\":\\"#fff\\",\\"var\\":\\"var(--pf-global--BackgroundColor--100)\\"} -", - "js/index.d.ts": "export const global_BackgroundColor_100: { \\"name\\": \\"--pf-global--BackgroundColor--100\\"; \\"value\\": \\"#fff\\"; \\"var\\": \\"var(--pf-global--BackgroundColor--100)\\"; } -export const c_button_BackgroundColor: { \\"name\\": \\"--pf-c-button--BackgroundColor\\"; \\"value\\": \\"#fff\\"; \\"var\\": \\"var(--pf-c-button--BackgroundColor)\\"; } -", - "js/index.js": "module.exports.global_BackgroundColor_100 = {\\"name\\":\\"--pf-global--BackgroundColor--100\\",\\"value\\":\\"#fff\\",\\"var\\":\\"var(--pf-global--BackgroundColor--100)\\"} -module.exports.c_button_BackgroundColor = {\\"name\\":\\"--pf-c-button--BackgroundColor\\",\\"value\\":\\"#fff\\",\\"var\\":\\"var(--pf-c-button--BackgroundColor)\\"} -", -} -`; - -exports[`it generates token from class selector with value 1`] = ` -Object { - "esm/c_button_BackgroundColor.js": "export default {\\"name\\":\\"--pf-c-button--BackgroundColor\\",\\"value\\":\\"#fff\\",\\"var\\":\\"var(--pf-c-button--BackgroundColor)\\"} -", - "esm/index.js": "export const c_button_BackgroundColor = {\\"name\\":\\"--pf-c-button--BackgroundColor\\",\\"value\\":\\"#fff\\",\\"var\\":\\"var(--pf-c-button--BackgroundColor)\\"} -", - "js/c_button_BackgroundColor.d.ts": "const c_button_BackgroundColor: {\\"name\\": \\"--pf-c-button--BackgroundColor\\"; \\"value\\": \\"#fff\\"; \\"var\\": \\"var(--pf-c-button--BackgroundColor)\\";} -export default c_button_BackgroundColor -", - "js/c_button_BackgroundColor.js": "module.exports = {\\"name\\":\\"--pf-c-button--BackgroundColor\\",\\"value\\":\\"#fff\\",\\"var\\":\\"var(--pf-c-button--BackgroundColor)\\"} -", - "js/index.d.ts": "export const c_button_BackgroundColor: { \\"name\\": \\"--pf-c-button--BackgroundColor\\"; \\"value\\": \\"#fff\\"; \\"var\\": \\"var(--pf-c-button--BackgroundColor)\\"; } -", - "js/index.js": "module.exports.c_button_BackgroundColor = {\\"name\\":\\"--pf-c-button--BackgroundColor\\",\\"value\\":\\"#fff\\",\\"var\\":\\"var(--pf-c-button--BackgroundColor)\\"} -", -} -`; - -exports[`it generates token from root selector with value 1`] = ` -Object { - "esm/global_BackgroundColor_100.js": "export default {\\"name\\":\\"--pf-global--BackgroundColor--100\\",\\"value\\":\\"#fff\\",\\"var\\":\\"var(--pf-global--BackgroundColor--100)\\"} -", - "esm/index.js": "export const global_BackgroundColor_100 = {\\"name\\":\\"--pf-global--BackgroundColor--100\\",\\"value\\":\\"#fff\\",\\"var\\":\\"var(--pf-global--BackgroundColor--100)\\"} -", - "js/global_BackgroundColor_100.d.ts": "const global_BackgroundColor_100: {\\"name\\": \\"--pf-global--BackgroundColor--100\\"; \\"value\\": \\"#fff\\"; \\"var\\": \\"var(--pf-global--BackgroundColor--100)\\";} -export default global_BackgroundColor_100 -", - "js/global_BackgroundColor_100.js": "module.exports = {\\"name\\":\\"--pf-global--BackgroundColor--100\\",\\"value\\":\\"#fff\\",\\"var\\":\\"var(--pf-global--BackgroundColor--100)\\"} -", - "js/index.d.ts": "export const global_BackgroundColor_100: { \\"name\\": \\"--pf-global--BackgroundColor--100\\"; \\"value\\": \\"#fff\\"; \\"var\\": \\"var(--pf-global--BackgroundColor--100)\\"; } -", - "js/index.js": "module.exports.global_BackgroundColor_100 = {\\"name\\":\\"--pf-global--BackgroundColor--100\\",\\"value\\":\\"#fff\\",\\"var\\":\\"var(--pf-global--BackgroundColor--100)\\"} -", -} -`; - -exports[`keeps variable reference if computing fails 1`] = ` -Object { - "esm/c_button_BackgroundColor.js": "export default {\\"name\\":\\"--pf-c-button--BackgroundColor\\",\\"value\\":\\"var(--pf-global--BackgroundColor--100)\\",\\"var\\":\\"var(--pf-c-button--BackgroundColor)\\"} -", - "esm/index.js": "export const c_button_BackgroundColor = {\\"name\\":\\"--pf-c-button--BackgroundColor\\",\\"value\\":\\"var(--pf-global--BackgroundColor--100)\\",\\"var\\":\\"var(--pf-c-button--BackgroundColor)\\"} -", - "js/c_button_BackgroundColor.d.ts": "const c_button_BackgroundColor: {\\"name\\": \\"--pf-c-button--BackgroundColor\\"; \\"value\\": \\"var(--pf-global--BackgroundColor--100)\\"; \\"var\\": \\"var(--pf-c-button--BackgroundColor)\\";} -export default c_button_BackgroundColor -", - "js/c_button_BackgroundColor.js": "module.exports = {\\"name\\":\\"--pf-c-button--BackgroundColor\\",\\"value\\":\\"var(--pf-global--BackgroundColor--100)\\",\\"var\\":\\"var(--pf-c-button--BackgroundColor)\\"} -", - "js/index.d.ts": "export const c_button_BackgroundColor: { \\"name\\": \\"--pf-c-button--BackgroundColor\\"; \\"value\\": \\"var(--pf-global--BackgroundColor--100)\\"; \\"var\\": \\"var(--pf-c-button--BackgroundColor)\\"; } -", - "js/index.js": "module.exports.c_button_BackgroundColor = {\\"name\\":\\"--pf-c-button--BackgroundColor\\",\\"value\\":\\"var(--pf-global--BackgroundColor--100)\\",\\"var\\":\\"var(--pf-c-button--BackgroundColor)\\"} -", -} -`; diff --git a/packages/react-tokens/src/generateTokens.js b/packages/react-tokens/src/generateTokens.js deleted file mode 100644 index 9183a616a25..00000000000 --- a/packages/react-tokens/src/generateTokens.js +++ /dev/null @@ -1,59 +0,0 @@ -const glob = require('glob'); -const { dirname, resolve, join } = require('path'); -const { parse } = require('css'); -const { readFileSync, readdirSync } = require('fs'); -const { outputFileSync } = require('fs-extra'); - -const outDir = resolve(__dirname, '../dist'); -const pfStylesDir = dirname(require.resolve('@patternfly/patternfly/patternfly.css')); -const templateDir = resolve(__dirname, './templates'); - -const cssFiles = glob.sync('**/*.css', { - cwd: pfStylesDir, - ignore: ['assets/**'] -}); - -const formatCustomPropertyName = key => key.replace('--pf-', '').replace(/-+/g, '_'); - -const tokens = {}; -cssFiles.forEach(filePath => { - const absFilePath = resolve(pfStylesDir, filePath); - const cssAst = parse(readFileSync(absFilePath, 'utf8')); - cssAst.stylesheet.rules.forEach(node => { - if (node.type !== 'rule' || node.selectors.indexOf('.pf-t-dark') !== -1) { - return; - } - - node.declarations.forEach(decl => { - if (decl.type !== 'declaration') { - return; - } - const { property, value } = decl; - if (decl.property.startsWith('--')) { - const key = formatCustomPropertyName(property); - const populatedValue = value.replace(/var\(([\w|-]*)\)/g, (full, match) => { - const computedValue = tokens[formatCustomPropertyName(match)]; - return computedValue ? computedValue.value : `var(${match})`; - }); - // Avoid stringifying numeric chart values - const chartNum = decl.property.startsWith('--pf-chart-') && !isNaN(populatedValue); - tokens[key] = { - name: property, - value: chartNum ? Number(populatedValue).valueOf() : populatedValue, - var: `var(${property})` - }; - } - }); - }); -}); - -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-topology/.babelrc b/packages/react-topology/.babelrc deleted file mode 100644 index 3eeb33a71bc..00000000000 --- a/packages/react-topology/.babelrc +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": "../.babelrc" -} diff --git a/packages/react-topology/.npmignore b/packages/react-topology/.npmignore index 5344519a423..4d63a47e6dc 100644 --- a/packages/react-topology/.npmignore +++ b/packages/react-topology/.npmignore @@ -1,6 +1,2 @@ -build -dist/**/demos -dist/**/examples -dist/**/__snapshots__ -dist/**/*.test.js dist/**/*.map +dist/*.tsbuildinfo diff --git a/packages/react-topology/build/copyStyles.js b/packages/react-topology/build/copyStyles.js deleted file mode 100644 index cefb1722ab1..00000000000 --- a/packages/react-topology/build/copyStyles.js +++ /dev/null @@ -1,43 +0,0 @@ -/* eslint-disable no-case-declarations, @typescript-eslint/no-var-requires */ -const { copySync, readFileSync, writeFileSync } = require('fs-extra'); -const { resolve, dirname, join } = require('path'); -const { parse: parseCSS, stringify: stringifyCSS } = require('css'); -/* eslint-enable @typescript-eslint/no-var-requiresShadowman06 */ - -const baseCSSFilename = 'patternfly-base.css'; -const stylesDir = resolve(__dirname, '../dist/styles'); -const pfDir = dirname(require.resolve(`@patternfly/patternfly/${baseCSSFilename}`)); - -const css = readFileSync(join(pfDir, baseCSSFilename), 'utf8'); -const ast = parseCSS(css); - -const unusedSelectorRegEx = /(\.fas?|\.sr-only)/; -const unusedKeyFramesRegEx = /fa-/; -const unusedFontFamilyRegEx = /Font Awesome 5 Free/; -const ununsedFontFilesRegExt = /(fa-|\.html$|\.css$)/; - -// Core provides font awesome fonts and utlities. React does not use these -ast.stylesheet.rules = ast.stylesheet.rules.filter(rule => { - switch (rule.type) { - case 'rule': - return !rule.selectors.some(sel => unusedSelectorRegEx.test(sel)); - case 'keyframes': - return !unusedKeyFramesRegEx.test(rule.name); - case 'charset': - case 'comment': - return false; - case 'font-face': - const fontFamilyDecl = rule.declarations.find(decl => decl.property === 'font-family'); - return !unusedFontFamilyRegEx.test(fontFamilyDecl.value); - default: - return true; - } -}); - -copySync(join(pfDir, 'assets/images'), join(stylesDir, 'assets/images')); -copySync(join(pfDir, 'assets/fonts'), join(stylesDir, 'assets/fonts'), { - filter(src) { - return !ununsedFontFilesRegExt.test(src); - } -}); -writeFileSync(join(stylesDir, 'base.css'), stringifyCSS(ast)); diff --git a/packages/react-topology/package.json b/packages/react-topology/package.json index a64031e817e..a14b0517918 100644 --- a/packages/react-topology/package.json +++ b/packages/react-topology/package.json @@ -31,39 +31,22 @@ "@patternfly/react-styles": "^4.0.6" }, "peerDependencies": { - "prop-types": "^15.6.1", "react": "^16.4.0", "react-dom": "^15.6.2 || ^16.4.0" }, "scripts": { - "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", - "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", - "clean": "rimraf dist", - "develop": "yarn build:babel:esm --skip-initial-build --watch --verbose" + "clean": "rimraf dist" }, "devDependencies": { - "@babel/cli": "^7.0.0", - "@babel/core": "^7.0.0", - "@babel/plugin-proposal-class-properties": "^7.0.0", - "@babel/plugin-proposal-export-default-from": "^7.0.0", - "@babel/plugin-proposal-object-rest-spread": "^7.0.0", - "@babel/plugin-transform-typescript": "^7.0.0", - "@babel/preset-env": "^7.0.0", - "@babel/preset-react": "^7.0.0", "@patternfly/react-tokens": "^4.0.4", "@types/prop-types": "^15.7.0", "@types/react": "^16.4.0", "@types/react-dom": "^16.4.0", - "babel-plugin-transform-es2015-modules-umd": "^6.24.1", - "babel-plugin-typescript-to-proptypes": "^0.17.1", "css": "^2.2.3", "fs-extra": "^6.0.1", "glob": "^7.1.2", "rimraf": "^2.6.2", + "tslib": "^1.11.1", "typescript": "^3.8.3" } } diff --git a/packages/react-topology/src/components/TopologyControlBar/__snapshots__/TopologyControlBar.test.tsx.snap b/packages/react-topology/src/components/TopologyControlBar/__snapshots__/TopologyControlBar.test.tsx.snap index 89b8e0043de..4bbe74497f4 100644 --- a/packages/react-topology/src/components/TopologyControlBar/__snapshots__/TopologyControlBar.test.tsx.snap +++ b/packages/react-topology/src/components/TopologyControlBar/__snapshots__/TopologyControlBar.test.tsx.snap @@ -47,7 +47,7 @@ exports[`TopologyControlBar should accept button options correctly 1`] = ` } id="default-test-id" > - @@ -55,11 +55,11 @@ exports[`TopologyControlBar should accept button options correctly 1`] = ` className="pf-l-toolbar default-test-class" id="default-test-id" > - +
-
- test zoom in tooltip - +
} delay={ @@ -154,7 +154,7 @@ exports[`TopologyControlBar should accept button options correctly 1`] = ` trigger="mouseenter focus" zIndex={9999} > - - + @@ -207,7 +207,7 @@ exports[`TopologyControlBar should accept button options correctly 1`] = ` id="" role="tooltip" > -
test zoom in tooltip
-
+
- - +
- Zoom Out - +
} delay={ @@ -317,7 +317,7 @@ exports[`TopologyControlBar should accept button options correctly 1`] = ` trigger="mouseenter focus" zIndex={9999} > - - +
@@ -405,7 +405,7 @@ exports[`TopologyControlBar should accept button options correctly 1`] = ` id="" role="tooltip" > -
Zoom Out
-
+
- - +
- Reset View - +
} delay={ @@ -515,7 +515,7 @@ exports[`TopologyControlBar should accept button options correctly 1`] = ` trigger="mouseenter focus" zIndex={9999} > - - +
@@ -603,7 +603,7 @@ exports[`TopologyControlBar should accept button options correctly 1`] = ` id="" role="tooltip" > -
Reset View
-
+
-
+ -
+ -
+ `; @@ -680,7 +680,7 @@ exports[`TopologyControlBar should display the default controls correctly 1`] = id="default-test-id" onButtonClick={[MockFunction]} > - @@ -688,11 +688,11 @@ exports[`TopologyControlBar should display the default controls correctly 1`] = className="pf-l-toolbar default-test-class" id="default-test-id" > - +
-
- Zoom In - +
} delay={ @@ -787,7 +787,7 @@ exports[`TopologyControlBar should display the default controls correctly 1`] = trigger="mouseenter focus" zIndex={9999} > - - + @@ -875,7 +875,7 @@ exports[`TopologyControlBar should display the default controls correctly 1`] = id="" role="tooltip" > -
Zoom In
-
+
- - +
- Zoom Out - +
} delay={ @@ -985,7 +985,7 @@ exports[`TopologyControlBar should display the default controls correctly 1`] = trigger="mouseenter focus" zIndex={9999} > - - +
@@ -1073,7 +1073,7 @@ exports[`TopologyControlBar should display the default controls correctly 1`] = id="" role="tooltip" > -
Zoom Out
-
+
- - +
- Fit to Screen - +
} delay={ @@ -1183,7 +1183,7 @@ exports[`TopologyControlBar should display the default controls correctly 1`] = trigger="mouseenter focus" zIndex={9999} > - - +
@@ -1271,7 +1271,7 @@ exports[`TopologyControlBar should display the default controls correctly 1`] = id="" role="tooltip" > -
Fit to Screen
-
+
-
- +
- Reset View - +
} delay={ @@ -1381,7 +1381,7 @@ exports[`TopologyControlBar should display the default controls correctly 1`] = trigger="mouseenter focus" zIndex={9999} > - - +
@@ -1469,7 +1469,7 @@ exports[`TopologyControlBar should display the default controls correctly 1`] = id="" role="tooltip" > -
Reset View
-
+
-
- +
- - +
-
+ -
+ -
+ `; diff --git a/packages/react-topology/src/components/TopologySideBar/__snapshots__/TopologySideBar.test.tsx.snap b/packages/react-topology/src/components/TopologySideBar/__snapshots__/TopologySideBar.test.tsx.snap index 7fd9926c43a..06284587221 100644 --- a/packages/react-topology/src/components/TopologySideBar/__snapshots__/TopologySideBar.test.tsx.snap +++ b/packages/react-topology/src/components/TopologySideBar/__snapshots__/TopologySideBar.test.tsx.snap @@ -46,7 +46,7 @@ exports[`TopologySideBar should display topology sidebar w/ close correctly 1`] className="pf-topology-side-bar fade my-test-class shown" role="dialog" > - - +
diff --git a/packages/react-topology/src/components/TopologyView/TopologyView.tsx b/packages/react-topology/src/components/TopologyView/TopologyView.tsx index 6e2b5301e0d..78c8bb5d3e3 100644 --- a/packages/react-topology/src/components/TopologyView/TopologyView.tsx +++ b/packages/react-topology/src/components/TopologyView/TopologyView.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; -import { Stack } from '@patternfly/react-core/dist/js/layouts/Stack/Stack'; -import { StackItem } from '@patternfly/react-core/dist/js/layouts/Stack/StackItem'; +import { Stack } from '@patternfly/react-core'; +import { StackItem } from '@patternfly/react-core'; import '@patternfly/react-styles/css/components/Topology/topology-view.css'; export interface TopologyViewProps extends React.HTMLProps { diff --git a/packages/react-topology/src/components/TopologyView/__snapshots__/TopologyView.test.tsx.snap b/packages/react-topology/src/components/TopologyView/__snapshots__/TopologyView.test.tsx.snap index f4de041350a..ed4d52b4f8d 100644 --- a/packages/react-topology/src/components/TopologyView/__snapshots__/TopologyView.test.tsx.snap +++ b/packages/react-topology/src/components/TopologyView/__snapshots__/TopologyView.test.tsx.snap @@ -5,7 +5,7 @@ exports[`TopologyView should display an empty topology correctly 1`] = ` className="my-test-class" id="simple-test-id" > - @@ -13,7 +13,7 @@ exports[`TopologyView should display an empty topology correctly 1`] = ` className="pf-l-stack my-test-class" id="simple-test-id" > - @@ -24,9 +24,9 @@ exports[`TopologyView should display an empty topology correctly 1`] = ` className="pf-topology-content" />
- + - + `; @@ -50,7 +50,7 @@ exports[`TopologyView should display topology correctly 1`] = ` /> } > - @@ -58,7 +58,7 @@ exports[`TopologyView should display topology correctly 1`] = ` className="pf-l-stack my-test-class" id="simple-test-id" > -
-
- +
-
- + @@ -102,9 +102,9 @@ exports[`TopologyView should display topology correctly 1`] = ` - + -
+ `; @@ -134,7 +134,7 @@ exports[`TopologyView should display topology sidebar correctly 1`] = ` /> } > - @@ -142,7 +142,7 @@ exports[`TopologyView should display topology sidebar correctly 1`] = ` className="pf-l-stack my-test-class" id="simple-test-id" > -
-
- +
-
- + @@ -189,9 +189,9 @@ exports[`TopologyView should display topology sidebar correctly 1`] = ` Test SideBar - + -
+ `; @@ -221,7 +221,7 @@ exports[`TopologyView should display topology w/ open sidebar correctly 1`] = ` /> } > - @@ -229,7 +229,7 @@ exports[`TopologyView should display topology w/ open sidebar correctly 1`] = ` className="pf-l-stack my-test-class" id="simple-test-id" > -
-
- +
-
- + @@ -276,8 +276,8 @@ exports[`TopologyView should display topology w/ open sidebar correctly 1`] = ` Test SideBar - + -
+ `; diff --git a/packages/react-topology/src/components/TopologyView/examples/ItemDetails.js b/packages/react-topology/src/components/TopologyView/examples/ItemDetails.js index e6213d98e06..e57f4f891c2 100644 --- a/packages/react-topology/src/components/TopologyView/examples/ItemDetails.js +++ b/packages/react-topology/src/components/TopologyView/examples/ItemDetails.js @@ -1,6 +1,6 @@ import React from 'react'; import PropTypes from 'prop-types'; -import { Title, TitleSizes } from '@patternfly/react-core/dist/js/components/Title/Title'; +import { Title, TitleSizes } from '@patternfly/react-core/dist/esm/components/Title/Title'; import { TopologySideBar } from '@patternfly/react-topology'; export class ItemDetails extends React.Component { diff --git a/packages/react-topology/src/components/TopologyView/examples/ProjectToolbar.js b/packages/react-topology/src/components/TopologyView/examples/ProjectToolbar.js index 48c412eb652..a135bde16f5 100644 --- a/packages/react-topology/src/components/TopologyView/examples/ProjectToolbar.js +++ b/packages/react-topology/src/components/TopologyView/examples/ProjectToolbar.js @@ -1,13 +1,13 @@ import React from 'react'; -import { Dropdown } from '@patternfly/react-core/dist/js/components/Dropdown/Dropdown'; -import { DropdownItem } from '@patternfly/react-core/dist/js/components/Dropdown/DropdownItem'; -import { DropdownToggle } from '@patternfly/react-core/dist/js/components/Dropdown/DropdownToggle'; -import { DropdownPosition } from '@patternfly/react-core/dist/js/components/Dropdown/dropdownConstants'; -import { Stack } from '@patternfly/react-core/dist/js/layouts/Stack/Stack'; -import { StackItem } from '@patternfly/react-core/dist/js/layouts/Stack/StackItem'; -import { Toolbar } from '@patternfly/react-core/dist/js/layouts/Toolbar/Toolbar'; -import { ToolbarGroup } from '@patternfly/react-core/dist/js/layouts/Toolbar/ToolbarGroup'; -import { ToolbarItem } from '@patternfly/react-core/dist/js/layouts/Toolbar/ToolbarItem'; +import { Dropdown } from '@patternfly/react-core'; +import { DropdownItem } from '@patternfly/react-core'; +import { DropdownToggle } from '@patternfly/react-core'; +import { DropdownPosition } from '@patternfly/react-core'; +import { Stack } from '@patternfly/react-core'; +import { StackItem } from '@patternfly/react-core'; +import { Toolbar } from '@patternfly/react-core'; +import { ToolbarGroup } from '@patternfly/react-core'; +import { ToolbarItem } from '@patternfly/react-core'; const projects = [ { id: 1, name: 'Project 1' }, diff --git a/packages/react-topology/tsconfig.cjs.json b/packages/react-topology/tsconfig.cjs.json new file mode 100644 index 00000000000..578d46af9d3 --- /dev/null +++ b/packages/react-topology/tsconfig.cjs.json @@ -0,0 +1,8 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./dist/js", + "module": "commonjs", + "tsBuildInfoFile": "dist/cjs.tsbuildinfo" + } +} diff --git a/packages/react-topology/tsconfig.gen-dts.json b/packages/react-topology/tsconfig.gen-dts.json deleted file mode 100644 index e2a3d669154..00000000000 --- a/packages/react-topology/tsconfig.gen-dts.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "extends": "../tsconfig.base.json", - "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "dist/js" - }, - "include": [ - "./src/*", - "./src/**/*" - ], - "exclude": [ - "./src/**/**.test.tsx", - "./src/**/**.test.ts", - "./src/**/examples/**" - ] -} diff --git a/packages/react-topology/tsconfig.json b/packages/react-topology/tsconfig.json new file mode 100644 index 00000000000..7555a6bf3ba --- /dev/null +++ b/packages/react-topology/tsconfig.json @@ -0,0 +1,18 @@ +{ + "extends": "../tsconfig.base.json", + "compilerOptions": { + "rootDir": "./src", + "outDir": "./dist/esm", + "declarationDir": "./dist/js", + "tsBuildInfoFile": "dist/esm.tsbuildinfo" + }, + "include": [ + "./src/*", + "./src/**/*" + ], + "references": [ + { + "path": "../react-core" + } + ] +} diff --git a/packages/react-virtualized-extension/.babelrc b/packages/react-virtualized-extension/.babelrc deleted file mode 100644 index 25c4221a16d..00000000000 --- a/packages/react-virtualized-extension/.babelrc +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": "../.babelrc" -} \ No newline at end of file diff --git a/packages/react-virtualized-extension/.npmignore b/packages/react-virtualized-extension/.npmignore index 5344519a423..4d63a47e6dc 100644 --- a/packages/react-virtualized-extension/.npmignore +++ b/packages/react-virtualized-extension/.npmignore @@ -1,6 +1,2 @@ -build -dist/**/demos -dist/**/examples -dist/**/__snapshots__ -dist/**/*.test.js dist/**/*.map +dist/*.tsbuildinfo diff --git a/packages/react-virtualized-extension/build/copyStyles.js b/packages/react-virtualized-extension/build/copyStyles.js deleted file mode 100644 index 3c501ed0ad6..00000000000 --- a/packages/react-virtualized-extension/build/copyStyles.js +++ /dev/null @@ -1,42 +0,0 @@ -/* eslint-disable no-case-declarations */ -const { copySync, readFileSync, writeFileSync } = require('fs-extra'); -const { resolve, dirname, join } = require('path'); -const { parse: parseCSS, stringify: stringifyCSS } = require('css'); - -const baseCSSFilename = 'patternfly-base.css'; -const stylesDir = resolve(__dirname, '../dist/styles'); -const pfDir = dirname(require.resolve(`@patternfly/patternfly/${baseCSSFilename}`)); - -const css = readFileSync(join(pfDir, baseCSSFilename), 'utf8'); -const ast = parseCSS(css); - -const unusedSelectorRegEx = /(\.fas?|\.sr-only)/; -const unusedKeyFramesRegEx = /fa-/; -const unusedFontFamilyRegEx = /Font Awesome 5 Free/; -const ununsedFontFilesRegExt = /(fa-|\.html$|\.css$)/; - -// Core provides font awesome fonts and utlities. React does not use these -ast.stylesheet.rules = ast.stylesheet.rules.filter(rule => { - switch (rule.type) { - case 'rule': - return !rule.selectors.some(sel => unusedSelectorRegEx.test(sel)); - case 'keyframes': - return !unusedKeyFramesRegEx.test(rule.name); - case 'charset': - case 'comment': - return false; - case 'font-face': - const fontFamilyDecl = rule.declarations.find(decl => decl.property === 'font-family'); - return !unusedFontFamilyRegEx.test(fontFamilyDecl.value); - default: - return true; - } -}); - -copySync(join(pfDir, 'assets/images'), join(stylesDir, 'assets/images')); -copySync(join(pfDir, 'assets/fonts'), join(stylesDir, 'assets/fonts'), { - filter(src) { - return !ununsedFontFilesRegExt.test(src); - } -}); -writeFileSync(join(stylesDir, 'base.css'), stringifyCSS(ast)); diff --git a/packages/react-virtualized-extension/package.json b/packages/react-virtualized-extension/package.json index f5f4c2e944d..ed2cb4497cb 100644 --- a/packages/react-virtualized-extension/package.json +++ b/packages/react-virtualized-extension/package.json @@ -40,37 +40,22 @@ }, "peerDependencies": { "@patternfly/react-table": "^2.10.0", - "prop-types": "^15.6.1", "react": "^16.4.0", "react-dom": "^15.6.2 || ^16.4.0" }, "scripts": { - "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", - "build:babel:umd": "babel --source-maps --extensions \".js\" dist/esm --out-dir dist/umd --plugins=transform-es2015-modules-umd", - "clean": "rimraf dist", - "develop": "yarn build:babel:esm --skip-initial-build --watch --verbose" + "clean": "rimraf dist" }, "devDependencies": { - "@babel/cli": "^7.0.0", - "@babel/core": "^7.0.0", - "@babel/plugin-proposal-class-properties": "^7.0.0", - "@babel/plugin-proposal-export-default-from": "^7.0.0", - "@babel/plugin-proposal-object-rest-spread": "^7.0.0", - "@babel/plugin-transform-typescript": "^7.0.0", - "@babel/preset-env": "^7.0.0", - "@babel/preset-react": "^7.0.0", "@types/dom-helpers": "^3.4.1", "@types/react-lifecycles-compat": "^3.0.1", - "babel-plugin-transform-es2015-modules-umd": "^6.24.1", - "babel-plugin-typescript-to-proptypes": "^0.17.1", "css": "^2.2.3", "fs-extra": "^6.0.1", "glob": "^7.1.2", "lodash": "^4.17.15", "rimraf": "^2.6.2", - "uuid": "^3.3.2" + "uuid": "^3.3.2", + "tslib": "^1.11.1", + "typescript": "^3.8.3" } } diff --git a/packages/react-virtualized-extension/src/components/Virtualized/VirtualizedTable.test.tsx b/packages/react-virtualized-extension/src/components/Virtualized/VirtualizedTable.test.tsx index ee05c9661a0..90b52838a33 100644 --- a/packages/react-virtualized-extension/src/components/Virtualized/VirtualizedTable.test.tsx +++ b/packages/react-virtualized-extension/src/components/Virtualized/VirtualizedTable.test.tsx @@ -4,7 +4,7 @@ import clsx from 'clsx'; import { mount } from 'enzyme'; import { Table, TableHeader, sortable } from '@patternfly/react-table'; import { VirtualTableBody } from './index'; -import { rows, columns, actions } from '@patternfly/react-table/src/test-helpers/data-sets'; +import { rows, columns, actions } from '@patternfly/react-table/src/test/data-sets'; import { CellMeasurerCache } from 'react-virtualized'; const measurementCache = new CellMeasurerCache({ diff --git a/packages/react-virtualized-extension/src/components/Virtualized/__snapshots__/VirtualizedTable.test.tsx.snap b/packages/react-virtualized-extension/src/components/Virtualized/__snapshots__/VirtualizedTable.test.tsx.snap index 645a1069a55..c648e73faa0 100644 --- a/packages/react-virtualized-extension/src/components/Virtualized/__snapshots__/VirtualizedTable.test.tsx.snap +++ b/packages/react-virtualized-extension/src/components/Virtualized/__snapshots__/VirtualizedTable.test.tsx.snap @@ -25,7 +25,6 @@ exports[`Actions virtualized table 1`] = ` }, ] } - className="" contentId="expanded-content" dropdownDirection="down" dropdownPosition="right" @@ -118,7 +117,6 @@ exports[`Actions virtualized table 1`] = ` }, ] } - variant={null} > - + -
@@ -708,7 +706,7 @@ exports[`Actions virtualized table 1`] = ` - - - - + - - + Branches - - + Pull requests - - + Workspaces - - + Last Commit - - + - + - + -
+
-
+
@@ -1164,7 +1162,6 @@ exports[`Selectable virtualized table 1`] = ` }, ] } - className="" contentId="expanded-content" dropdownDirection="down" dropdownPosition="right" @@ -1258,7 +1255,6 @@ exports[`Selectable virtualized table 1`] = ` }, ] } - variant={null} > - + -
@@ -1848,7 +1844,7 @@ exports[`Selectable virtualized table 1`] = ` - - - - + - - + - - + - - + Branches - - + Pull requests - - + Workspaces - - + Last Commit - + - + -
+
-
+
@@ -2343,7 +2339,6 @@ exports[`Simple Actions table 1`] = ` }, ] } - className="" contentId="expanded-content" dropdownDirection="down" dropdownPosition="right" @@ -2446,7 +2441,6 @@ exports[`Simple Actions table 1`] = ` }, ] } - variant={null} > - + -
@@ -3264,7 +3258,7 @@ exports[`Simple Actions table 1`] = ` - - - - + - - + Branches - - + Pull requests - - + Workspaces - - + Last Commit - - + - + - + -
+
-
+
@@ -3831,7 +3825,6 @@ exports[`Simple virtualized table aria-label 1`] = ` }, ] } - className="" contentId="expanded-content" dropdownDirection="down" dropdownPosition="right" @@ -3924,7 +3917,6 @@ exports[`Simple virtualized table aria-label 1`] = ` }, ] } - variant={null} > - + -
@@ -4422,7 +4414,7 @@ exports[`Simple virtualized table aria-label 1`] = ` - - Header cell - - + Branches - - + Pull requests - - + Workspaces - - + Last Commit - + - + -
+
-
+
@@ -4760,7 +4752,6 @@ exports[`Simple virtualized table className 1`] = ` }, ] } - className="" contentId="expanded-content" dropdownDirection="down" dropdownPosition="right" @@ -4853,7 +4844,6 @@ exports[`Simple virtualized table className 1`] = ` }, ] } - variant={null} > - + -
@@ -5351,7 +5341,7 @@ exports[`Simple virtualized table className 1`] = ` - - Header cell - - + Branches - - + Pull requests - - + Workspaces - - + Last Commit - + - + -
+
-
+
@@ -5692,7 +5682,6 @@ exports[`Sortable Virtualized Table 1`] = ` }, ] } - className="" contentId="expanded-content" dropdownDirection="down" dropdownPosition="right" @@ -5787,7 +5776,6 @@ exports[`Sortable Virtualized Table 1`] = ` ] } sortBy={Object {}} - variant={null} > - + -
@@ -6287,7 +6275,7 @@ exports[`Sortable Virtualized Table 1`] = ` - - - - + - - + Branches - - + Pull requests - - + Workspaces - - + Last Commit - + - + -
+
-
+
diff --git a/packages/react-virtualized-extension/src/components/Virtualized/utils/ScalingCellSizeAndPositionManager.ts b/packages/react-virtualized-extension/src/components/Virtualized/utils/ScalingCellSizeAndPositionManager.ts index a2a55de9260..4e51d9088b1 100644 --- a/packages/react-virtualized-extension/src/components/Virtualized/utils/ScalingCellSizeAndPositionManager.ts +++ b/packages/react-virtualized-extension/src/components/Virtualized/utils/ScalingCellSizeAndPositionManager.ts @@ -4,6 +4,7 @@ import { Alignment, CellSizeGetter, VisibleCellRange } from '../types'; import CellSizeAndPositionManager from './CellSizeAndPositionManager'; import { getMaxElementSize } from './maxElementSize'; +import { SizeAndPositionData } from 'react-virtualized'; interface ContainerSizeAndOffset { containerSize: number; @@ -75,11 +76,11 @@ export default class ScalingCellSizeAndPositionManager { return Math.round(offsetPercentage * (safeTotalSize - totalSize)); } - getSizeAndPositionOfCell(index: number) { + getSizeAndPositionOfCell(index: number): SizeAndPositionData { return this._cellSizeAndPositionManager.getSizeAndPositionOfCell(index); } - getSizeAndPositionOfLastMeasuredCell() { + getSizeAndPositionOfLastMeasuredCell(): SizeAndPositionData { return this._cellSizeAndPositionManager.getSizeAndPositionOfLastMeasuredCell(); } diff --git a/packages/react-virtualized-extension/tsconfig.cjs.json b/packages/react-virtualized-extension/tsconfig.cjs.json new file mode 100644 index 00000000000..578d46af9d3 --- /dev/null +++ b/packages/react-virtualized-extension/tsconfig.cjs.json @@ -0,0 +1,8 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./dist/js", + "module": "commonjs", + "tsBuildInfoFile": "dist/cjs.tsbuildinfo" + } +} diff --git a/packages/react-virtualized-extension/tsconfig.json b/packages/react-virtualized-extension/tsconfig.json new file mode 100644 index 00000000000..a7fc6b54403 --- /dev/null +++ b/packages/react-virtualized-extension/tsconfig.json @@ -0,0 +1,13 @@ +{ + "extends": "../tsconfig.base.json", + "compilerOptions": { + "rootDir": "./src", + "outDir": "./dist/esm", + "declarationDir": "./dist/js", + "tsBuildInfoFile": "dist/esm.tsbuildinfo" + }, + "include": [ + "./src/*", + "./src/**/*" + ] +} diff --git a/packages/setupEnzyme.js b/packages/setupEnzyme.js new file mode 100644 index 00000000000..a050dada445 --- /dev/null +++ b/packages/setupEnzyme.js @@ -0,0 +1,4 @@ +const { configure } = require('enzyme'); +const Adapter = require('enzyme-adapter-react-16'); + +configure({ adapter: new Adapter() }); diff --git a/packages/tsconfig.base.json b/packages/tsconfig.base.json index a1f68a1569d..cc31c990c1c 100644 --- a/packages/tsconfig.base.json +++ b/packages/tsconfig.base.json @@ -2,15 +2,24 @@ "compilerOptions": { "jsx": "react", "lib": [ - "es2017", + "es2015", "dom" ], - "esModuleInterop": true, - "module": "commonjs", + "target": "es2015", + "module": "es2015", "moduleResolution": "node", + "esModuleInterop": true, "skipLibCheck": true, + "importHelpers": true, + "composite": true, + "sourceMap": true, + "declarationMap": true, "strict": true, - "strictNullChecks": false, - "target": "es5" - } + "strictNullChecks": false + }, + "exclude": [ + "**/**.test.tsx", + "**/**.test.ts", + "**/examples/**" + ] } diff --git a/packages/tsconfig.cjs.json b/packages/tsconfig.cjs.json new file mode 100644 index 00000000000..8973602b6dd --- /dev/null +++ b/packages/tsconfig.cjs.json @@ -0,0 +1,29 @@ +{ + "files": [], + "references": [ + { + "path": "./react-catalog-view-extension/tsconfig.cjs.json" + }, + { + "path": "./react-charts/tsconfig.cjs.json" + }, + { + "path": "./react-core/tsconfig.cjs.json" + }, + { + "path": "./react-inline-edit-extension/tsconfig.cjs.json" + }, + { + "path": "./react-styles/tsconfig.cjs.json" + }, + { + "path": "./react-table/tsconfig.cjs.json" + }, + { + "path": "./react-topology/tsconfig.cjs.json" + }, + { + "path": "./react-virtualized-extension/tsconfig.cjs.json" + } + ] +} \ No newline at end of file diff --git a/packages/tsconfig.json b/packages/tsconfig.json new file mode 100644 index 00000000000..8340810da51 --- /dev/null +++ b/packages/tsconfig.json @@ -0,0 +1,29 @@ +{ + "files": [], + "references": [ + { + "path": "./react-catalog-view-extension" + }, + { + "path": "./react-charts" + }, + { + "path": "./react-core" + }, + { + "path": "./react-inline-edit-extension" + }, + { + "path": "./react-styles" + }, + { + "path": "./react-table" + }, + { + "path": "./react-topology" + }, + { + "path": "./react-virtualized-extension" + } + ] +} \ No newline at end of file diff --git a/scripts/generators/package/.babelrc.hbs b/scripts/generators/package/.babelrc.hbs deleted file mode 100644 index 8ade66d8e14..00000000000 --- a/scripts/generators/package/.babelrc.hbs +++ /dev/null @@ -1,3 +0,0 @@ -{ - "presets": ["../.babelrc.js"] -} diff --git a/scripts/generators/package/.npmignore.hbs b/scripts/generators/package/.npmignore.hbs index 24d7d24d3f5..4d63a47e6dc 100644 --- a/scripts/generators/package/.npmignore.hbs +++ b/scripts/generators/package/.npmignore.hbs @@ -1,2 +1,2 @@ -src -build \ No newline at end of file +dist/**/*.map +dist/*.tsbuildinfo diff --git a/scripts/generators/package/index.js b/scripts/generators/package/index.js index 9b9e9fb569b..c54c8a0666d 100644 --- a/scripts/generators/package/index.js +++ b/scripts/generators/package/index.js @@ -48,11 +48,6 @@ function setPackageGenerators(plop) { name: 'packageType', message: 'What type of package is it?' }, - { - type: 'confirm', - name: 'buildsWithBabel', - message: 'Does this build with Babel?' - }, { type: 'confirm', name: 'includeTypings', @@ -72,14 +67,17 @@ function setPackageGenerators(plop) { { type: 'add', template: '// placeholder\n', - path: answers.buildsWithBabel - ? join(packageBaseTemplate, 'src/index.js') - : join(packageBaseTemplate, 'lib/index.js') + path: join(packageBaseTemplate, 'src/index.js') }, - answers.buildsWithBabel && { + { + type: 'add', + path: join(packageBaseTemplate, 'tsconfig.json'), + templateFile: resolve(__dirname, './tsconfig.json.hbs') + }, + { type: 'add', - path: join(packageBaseTemplate, `.babelrc`), - templateFile: resolve(__dirname, './.babelrc.hbs') + path: join(packageBaseTemplate, 'tsconfig.cjs.json'), + templateFile: resolve(__dirname, './tsconfig.cjs.json.hbs') }, { type: 'add', diff --git a/scripts/generators/package/package.json.hbs b/scripts/generators/package/package.json.hbs index 34c4b24480e..ab6c061a15c 100644 --- a/scripts/generators/package/package.json.hbs +++ b/scripts/generators/package/package.json.hbs @@ -2,18 +2,9 @@ "name": "{{name}}", "version": "1.0.0", "description": "{{description}}", - {{#if buildsWithBabel }} "main": "dist/js/index.js", "module": "dist/esm/index.js", - {{#if includeTypings}} "types": "dist/js/index.d.ts", - {{/if}} - {{else}} - "main": "lib/index.js", - {{#if includeTypings}} - "types": "lib/index.d.ts", - {{/if}} - {{/if}} "sideEffects": false, "publishConfig": { "access": "public" @@ -32,26 +23,17 @@ "url": "https://github.com/patternfly/patternfly-react/issues" }, "homepage": "https://github.com/patternfly/patternfly-react#readme", + "peerDependencies": { + "react": "^16.4.0", + "react-dom": "^15.6.2 || ^16.4.0" + }, "scripts": { - {{#if buildsWithBabel}} - "build": "yarn build:babel", - "build:babel": "concurrently 'yarn build:babel:esm && yarn build:babel:umd' 'yarn build:babel:cjs'", - "build:babel:cjs": "babel --extensions '.js,.ts,.tsx' src --out-dir dist/js --presets=@babel/env", - "build:babel:esm": "babel --extensions '.js,.ts,.tsx' src --out-dir dist/esm", - "build:babel:umd": "babel dist/esm --out-dir dist/umd --plugins=transform-es2015-modules-umd", - {{/if}} + "clean": "rimraf dist" }, "dependencies": {}, "devDependencies": { - "@babel/cli": "^7.0.0", - "@babel/core": "^7.0.0", - "@babel/plugin-proposal-class-properties": "^7.0.0", - "@babel/plugin-proposal-export-default-from": "^7.0.0", - "@babel/plugin-proposal-object-rest-spread": "^7.0.0", - "@babel/plugin-transform-typescript": "^7.0.0", - "@babel/preset-env": "^7.0.0", - "@babel/preset-react": "^7.0.0", - "babel-plugin-transform-es2015-modules-umd": "^6.24.1", - "babel-plugin-typescript-to-proptypes": "^0.17.1", + "rimraf": "^2.6.2", + "tslib": "^1.11.1", + "typescript": "^3.8.3" } } diff --git a/scripts/generators/package/tsconfig.json.cjs.hbs b/scripts/generators/package/tsconfig.json.cjs.hbs new file mode 100644 index 00000000000..578d46af9d3 --- /dev/null +++ b/scripts/generators/package/tsconfig.json.cjs.hbs @@ -0,0 +1,8 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./dist/js", + "module": "commonjs", + "tsBuildInfoFile": "dist/cjs.tsbuildinfo" + } +} diff --git a/scripts/generators/package/tsconfig.json.hbs b/scripts/generators/package/tsconfig.json.hbs new file mode 100644 index 00000000000..151e7cb29f7 --- /dev/null +++ b/scripts/generators/package/tsconfig.json.hbs @@ -0,0 +1,18 @@ +{ + "extends": "../tsconfig.base.json", + "compilerOptions": { + "rootDir": "./src", + "outDir": "./dist/esm", + "declarationDir": "./dist/js", + "tsBuildInfoFile": "dist/esm.tsbuildinfo" + }, + "include": [ + "./src/*", + "./src/**/*" + ], + "references": [ + { + "path": "../react-styles" + } + ] +} diff --git a/scripts/incrementalBuild.js b/scripts/incrementalBuild.js deleted file mode 100644 index c688eab627d..00000000000 --- a/scripts/incrementalBuild.js +++ /dev/null @@ -1,75 +0,0 @@ -// This script should be replaced by some standard incremental build system -// `tsc` is a pretty good example... -const fs = require('fs'); -const { hashDir } = require('./hashDir'); -const Project = require('@lerna/project'); -const RunCommand = require('@lerna/run'); - -// Load cache -const cacheFile = '.cache/incrementalCache'; -let cache = {}; -if (fs.existsSync(cacheFile)) { - cache = JSON.parse(fs.readFileSync(cacheFile, 'utf8')); -} -const yarnLockHash = hashDir('yarn.lock'); - -// Assume src directory gets made into dist -const getSrcDirs = packageName => { - switch (packageName) { - case '@patternfly/react-icons': - return ['src', 'scripts']; - case '@patternfly/react-catalog-view-extension': - return ['src', 'sass']; - default: - return ['src']; - } -}; - -const hashPackageSrc = (packageLoc, packageName) => { - let hash = 0; - for (let srcDir of getSrcDirs(packageName)) { - hash += hashDir(`${packageLoc}/${srcDir}`); - } - - return hash; -}; - -// These are packages we need to rebuild -async function getInvalidPackages() { - const packages = (await new Project(__dirname).getPackages()).filter(p => p.scripts.build); // Only packages that have a build target - - for (let p of packages) { - p.hash = hashPackageSrc(p.location, p.name); - p.valid = cache && cache[p.name] === p.hash; - if (p.valid) { - console.info('Skipping', p.name, '(already built).'); - } - } - - // Invalidate everything if any deps change. - if (cache['yarn.lock'] !== yarnLockHash) { - return packages; - } - - return packages.filter(p => !p.valid); -} - -getInvalidPackages().then(packages => { - if (packages.length > 0) { - // Run for all invalid packages - RunCommand({ - cwd: '.', - script: 'build', - npmClient: 'yarn', - scope: packages.map(p => p.name) - }).then(() => { - // Mark as valid - packages.forEach(p => (cache[p.name] = p.hash)); - if (!fs.existsSync('.cache')) { - fs.mkdirSync('.cache'); - } - cache['yarn.lock'] = yarnLockHash; - fs.writeFileSync(cacheFile, JSON.stringify(cache, null, 2)); - }); - } -}); diff --git a/yarn.lock b/yarn.lock index d512bf27949..01ad4af82d8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,22 +2,6 @@ # yarn lockfile v1 -"@babel/cli@^7.0.0": - version "7.6.4" - resolved "https://registry.yarnpkg.com/@babel/cli/-/cli-7.6.4.tgz#9b35a4e15fa7d8f487418aaa8229c8b0bc815f20" - dependencies: - commander "^2.8.1" - convert-source-map "^1.1.0" - fs-readdir-recursive "^1.1.0" - glob "^7.0.0" - lodash "^4.17.13" - mkdirp "^0.5.1" - output-file-sync "^2.0.0" - slash "^2.0.0" - source-map "^0.5.0" - optionalDependencies: - chokidar "^2.1.8" - "@babel/code-frame@7.0.0": version "7.0.0" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0.tgz#06e2ab19bdb535385559aabb5ba59729482800f8" @@ -102,7 +86,7 @@ semver "^5.4.1" source-map "^0.5.0" -"@babel/core@^7.0.0", "@babel/core@^7.0.1", "@babel/core@^7.1.0": +"@babel/core@^7.0.1", "@babel/core@^7.1.0": version "7.6.4" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.6.4.tgz#6ebd9fe00925f6c3e177bb726a188b5f578088ff" dependencies: @@ -121,25 +105,6 @@ semver "^5.4.1" source-map "^0.5.0" -"@babel/core@^7.7.4": - version "7.7.5" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.7.5.tgz#ae1323cd035b5160293307f50647e83f8ba62f7e" - dependencies: - "@babel/code-frame" "^7.5.5" - "@babel/generator" "^7.7.4" - "@babel/helpers" "^7.7.4" - "@babel/parser" "^7.7.5" - "@babel/template" "^7.7.4" - "@babel/traverse" "^7.7.4" - "@babel/types" "^7.7.4" - convert-source-map "^1.7.0" - debug "^4.1.0" - json5 "^2.1.0" - lodash "^4.17.13" - resolve "^1.3.2" - semver "^5.4.1" - source-map "^0.5.0" - "@babel/core@^7.7.5": version "7.8.4" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.8.4.tgz#d496799e5c12195b3602d0fddd77294e3e38e80e" @@ -160,7 +125,7 @@ semver "^5.4.1" source-map "^0.5.0" -"@babel/core@^7.8.7": +"@babel/core@^7.8.7", "@babel/core@^7.9.0": version "7.9.0" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.9.0.tgz#ac977b538b77e132ff706f3b8a4dbad09c03c56e" integrity sha512-kWc7L0fw1xwvI0zi8OKVBuxRVefwGOrKSQMvrQ3dW+bIIavBY3/NpXmpjMy7bQnLgwgzWQZ8TlM57YHpHNHz4w== @@ -182,7 +147,7 @@ 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": +"@babel/generator@^7.1.6", "@babel/generator@^7.2.2", "@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" dependencies: @@ -209,6 +174,16 @@ lodash "^4.17.13" source-map "^0.5.0" +"@babel/generator@^7.8.8": + version "7.9.4" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.9.4.tgz#12441e90c3b3c4159cdecf312075bf1a8ce2dbce" + integrity sha512-rjP8ahaDy/ouhrvCoU1E5mqaitWrxwuNGU+dy1EpaoK48jZay4MdkskKGIMHLZNewg8sAsqpGSREJwP0zH3YQA== + dependencies: + "@babel/types" "^7.9.0" + jsesc "^2.5.1" + 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" @@ -225,12 +200,6 @@ dependencies: "@babel/types" "^7.0.0" -"@babel/helper-annotate-as-pure@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.7.4.tgz#bb3faf1e74b74bd547e867e48f551fa6b098b6ce" - dependencies: - "@babel/types" "^7.7.4" - "@babel/helper-annotate-as-pure@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.8.3.tgz#60bc0bc657f63a0924ff9a4b4a0b24a13cf4deee" @@ -244,13 +213,6 @@ "@babel/helper-explode-assignable-expression" "^7.1.0" "@babel/types" "^7.0.0" -"@babel/helper-builder-binary-assignment-operator-visitor@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.7.4.tgz#5f73f2b28580e224b5b9bd03146a4015d6217f5f" - dependencies: - "@babel/helper-explode-assignable-expression" "^7.7.4" - "@babel/types" "^7.7.4" - "@babel/helper-builder-binary-assignment-operator-visitor@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.8.3.tgz#c84097a427a061ac56a1c30ebf54b7b22d241503" @@ -274,13 +236,6 @@ "@babel/types" "^7.3.0" esutils "^2.0.0" -"@babel/helper-builder-react-jsx@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.7.4.tgz#da188d247508b65375b2c30cf59de187be6b0c66" - dependencies: - "@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" @@ -297,14 +252,6 @@ "@babel/traverse" "^7.4.4" "@babel/types" "^7.4.4" -"@babel/helper-call-delegate@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/helper-call-delegate/-/helper-call-delegate-7.7.4.tgz#621b83e596722b50c0066f9dc37d3232e461b801" - dependencies: - "@babel/helper-hoist-variables" "^7.7.4" - "@babel/traverse" "^7.7.4" - "@babel/types" "^7.7.4" - "@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" @@ -325,7 +272,7 @@ levenary "^1.1.1" semver "^5.5.0" -"@babel/helper-create-class-features-plugin@^7.3.0", "@babel/helper-create-class-features-plugin@^7.5.5", "@babel/helper-create-class-features-plugin@^7.6.0": +"@babel/helper-create-class-features-plugin@^7.3.0", "@babel/helper-create-class-features-plugin@^7.6.0": version "7.6.0" resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.6.0.tgz#769711acca889be371e9bc2eb68641d55218021f" dependencies: @@ -348,13 +295,6 @@ "@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" - resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.7.4.tgz#6d5762359fd34f4da1500e4cff9955b5299aaf59" - dependencies: - "@babel/helper-regex" "^7.4.4" - regexpu-core "^4.6.0" - "@babel/helper-create-regexp-features-plugin@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.8.3.tgz#c774268c95ec07ee92476a3862b75cc2839beb79" @@ -371,22 +311,6 @@ "@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" - dependencies: - "@babel/helper-function-name" "^7.1.0" - "@babel/types" "^7.5.5" - lodash "^4.17.13" - -"@babel/helper-define-map@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.7.4.tgz#2841bf92eb8bd9c906851546fe6b9d45e162f176" - dependencies: - "@babel/helper-function-name" "^7.7.4" - "@babel/types" "^7.7.4" - lodash "^4.17.13" - "@babel/helper-define-map@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.8.3.tgz#a0655cad5451c3760b726eba875f1cd8faa02c15" @@ -402,13 +326,6 @@ "@babel/traverse" "^7.1.0" "@babel/types" "^7.0.0" -"@babel/helper-explode-assignable-expression@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.7.4.tgz#fa700878e008d85dc51ba43e9fb835cddfe05c84" - dependencies: - "@babel/traverse" "^7.7.4" - "@babel/types" "^7.7.4" - "@babel/helper-explode-assignable-expression@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.8.3.tgz#a728dc5b4e89e30fc2dfc7d04fa28a930653f982" @@ -464,12 +381,6 @@ dependencies: "@babel/types" "^7.4.4" -"@babel/helper-hoist-variables@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.7.4.tgz#612384e3d823fdfaaf9fce31550fe5d4db0f3d12" - dependencies: - "@babel/types" "^7.7.4" - "@babel/helper-hoist-variables@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.8.3.tgz#1dbe9b6b55d78c9b4183fc8cdc6e30ceb83b7134" @@ -482,12 +393,6 @@ dependencies: "@babel/types" "^7.5.5" -"@babel/helper-member-expression-to-functions@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.7.4.tgz#356438e2569df7321a8326644d4b790d2122cb74" - dependencies: - "@babel/types" "^7.7.4" - "@babel/helper-member-expression-to-functions@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.8.3.tgz#659b710498ea6c1d9907e0c73f206eee7dadc24c" @@ -500,12 +405,6 @@ dependencies: "@babel/types" "^7.0.0" -"@babel/helper-module-imports@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.7.4.tgz#e5a92529f8888bf319a6376abfbd1cebc491ad91" - dependencies: - "@babel/types" "^7.7.4" - "@babel/helper-module-imports@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.8.3.tgz#7fe39589b39c016331b6b8c3f441e8f0b1419498" @@ -523,17 +422,6 @@ "@babel/types" "^7.5.5" lodash "^4.17.13" -"@babel/helper-module-transforms@^7.7.4", "@babel/helper-module-transforms@^7.7.5": - version "7.7.5" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.7.5.tgz#d044da7ffd91ec967db25cd6748f704b6b244835" - dependencies: - "@babel/helper-module-imports" "^7.7.4" - "@babel/helper-simple-access" "^7.7.4" - "@babel/helper-split-export-declaration" "^7.7.4" - "@babel/template" "^7.7.4" - "@babel/types" "^7.7.4" - lodash "^4.17.13" - "@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" @@ -553,19 +441,13 @@ dependencies: "@babel/types" "^7.0.0" -"@babel/helper-optimise-call-expression@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.7.4.tgz#034af31370d2995242aa4df402c3b7794b2dcdf2" - dependencies: - "@babel/types" "^7.7.4" - "@babel/helper-optimise-call-expression@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.8.3.tgz#7ed071813d09c75298ef4f208956006b6111ecb9" dependencies: "@babel/types" "^7.8.3" -"@babel/helper-plugin-utils@7.0.0", "@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.0.0-beta.48": +"@babel/helper-plugin-utils@7.0.0", "@babel/helper-plugin-utils@^7.0.0": version "7.0.0" resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz#bbb3fbee98661c569034237cc03967ba99b4f250" @@ -595,16 +477,6 @@ "@babel/traverse" "^7.1.0" "@babel/types" "^7.0.0" -"@babel/helper-remap-async-to-generator@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.7.4.tgz#c68c2407350d9af0e061ed6726afb4fff16d0234" - dependencies: - "@babel/helper-annotate-as-pure" "^7.7.4" - "@babel/helper-wrap-function" "^7.7.4" - "@babel/template" "^7.7.4" - "@babel/traverse" "^7.7.4" - "@babel/types" "^7.7.4" - "@babel/helper-remap-async-to-generator@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.8.3.tgz#273c600d8b9bf5006142c1e35887d555c12edd86" @@ -615,7 +487,7 @@ "@babel/traverse" "^7.8.3" "@babel/types" "^7.8.3" -"@babel/helper-replace-supers@^7.1.0", "@babel/helper-replace-supers@^7.5.5": +"@babel/helper-replace-supers@^7.5.5": version "7.5.5" resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.5.5.tgz#f84ce43df031222d2bad068d2626cb5799c34bc2" dependencies: @@ -624,15 +496,6 @@ "@babel/traverse" "^7.5.5" "@babel/types" "^7.5.5" -"@babel/helper-replace-supers@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.7.4.tgz#3c881a6a6a7571275a72d82e6107126ec9e2cdd2" - dependencies: - "@babel/helper-member-expression-to-functions" "^7.7.4" - "@babel/helper-optimise-call-expression" "^7.7.4" - "@babel/traverse" "^7.7.4" - "@babel/types" "^7.7.4" - "@babel/helper-replace-supers@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.8.3.tgz#91192d25f6abbcd41da8a989d4492574fb1530bc" @@ -659,13 +522,6 @@ "@babel/template" "^7.1.0" "@babel/types" "^7.0.0" -"@babel/helper-simple-access@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.7.4.tgz#a169a0adb1b5f418cfc19f22586b2ebf58a9a294" - dependencies: - "@babel/template" "^7.7.4" - "@babel/types" "^7.7.4" - "@babel/helper-simple-access@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.8.3.tgz#7f8109928b4dab4654076986af575231deb639ae" @@ -673,7 +529,7 @@ "@babel/template" "^7.8.3" "@babel/types" "^7.8.3" -"@babel/helper-split-export-declaration@^7.0.0", "@babel/helper-split-export-declaration@^7.4.4": +"@babel/helper-split-export-declaration@^7.4.4": version "7.4.4" resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz#ff94894a340be78f53f06af038b205c49d993677" dependencies: @@ -705,15 +561,6 @@ "@babel/traverse" "^7.1.0" "@babel/types" "^7.2.0" -"@babel/helper-wrap-function@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.7.4.tgz#37ab7fed5150e22d9d7266e830072c0cdd8baace" - dependencies: - "@babel/helper-function-name" "^7.7.4" - "@babel/template" "^7.7.4" - "@babel/traverse" "^7.7.4" - "@babel/types" "^7.7.4" - "@babel/helper-wrap-function@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.8.3.tgz#9dbdb2bb55ef14aaa01fe8c99b629bd5352d8610" @@ -723,34 +570,10 @@ "@babel/traverse" "^7.8.3" "@babel/types" "^7.8.3" -"@babel/helpers@^7.1.5", "@babel/helpers@^7.2.0", "@babel/helpers@^7.6.2": - version "7.6.2" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.6.2.tgz#681ffe489ea4dcc55f23ce469e58e59c1c045153" - dependencies: - "@babel/template" "^7.6.0" - "@babel/traverse" "^7.6.2" - "@babel/types" "^7.6.0" - -"@babel/helpers@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.7.4.tgz#62c215b9e6c712dadc15a9a0dcab76c92a940302" - dependencies: - "@babel/template" "^7.7.4" - "@babel/traverse" "^7.7.4" - "@babel/types" "^7.7.4" - -"@babel/helpers@^7.8.4": - version "7.8.4" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.8.4.tgz#754eb3ee727c165e0a240d6c207de7c455f36f73" - dependencies: - "@babel/template" "^7.8.3" - "@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== +"@babel/helpers@^7.1.5", "@babel/helpers@^7.2.0", "@babel/helpers@^7.6.2", "@babel/helpers@^7.8.4", "@babel/helpers@^7.9.0", "@babel/helpers@^7.9.2": + version "7.9.2" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.9.2.tgz#b42a81a811f1e7313b88cba8adc66b3d9ae6c09f" + integrity sha512-JwLvzlXVPjO8eU9c/wF9/zOIN7X6h8DYf7mG4CiFRZRvZNKEF5dQ3H3V+ASkHoIB3mWhatgl5ONhyqHRI6MppA== dependencies: "@babel/template" "^7.8.3" "@babel/traverse" "^7.9.0" @@ -772,22 +595,10 @@ esutils "^2.0.2" js-tokens "^4.0.0" -"@babel/parser@^7.0.0", "@babel/parser@^7.1.0", "@babel/parser@^7.1.6", "@babel/parser@^7.2.2", "@babel/parser@^7.4.3", "@babel/parser@^7.6.0", "@babel/parser@^7.6.2", "@babel/parser@^7.6.3", "@babel/parser@^7.6.4": - 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" - -"@babel/parser@^7.8.3", "@babel/parser@^7.8.4": - version "7.8.4" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.8.4.tgz#d1dbe64691d60358a974295fa53da074dd2ce8e8" +"@babel/parser@^7.0.0", "@babel/parser@^7.1.0", "@babel/parser@^7.1.6", "@babel/parser@^7.2.2", "@babel/parser@^7.6.0", "@babel/parser@^7.6.2", "@babel/parser@^7.6.3", "@babel/parser@^7.6.4", "@babel/parser@^7.7.0", "@babel/parser@^7.7.4", "@babel/parser@^7.7.5", "@babel/parser@^7.8.3", "@babel/parser@^7.8.4", "@babel/parser@^7.8.6", "@babel/parser@^7.8.8", "@babel/parser@^7.9.0", "@babel/parser@^7.9.2": + version "7.9.4" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.9.4.tgz#68a35e6b0319bbc014465be43828300113f2f2e8" + integrity sha512-bC49otXX6N0/VYhgOMh4gnP26E9xnDZK3TmbNpxYzzz9BQLBosQwfyOe9/cXUU3txYhTzLCbcqd5c8y/OmCjHA== "@babel/plugin-proposal-async-generator-functions@^7.2.0": version "7.2.0" @@ -797,14 +608,6 @@ "@babel/helper-remap-async-to-generator" "^7.1.0" "@babel/plugin-syntax-async-generators" "^7.2.0" -"@babel/plugin-proposal-async-generator-functions@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.7.4.tgz#0351c5ac0a9e927845fffd5b82af476947b7ce6d" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-remap-async-to-generator" "^7.7.4" - "@babel/plugin-syntax-async-generators" "^7.7.4" - "@babel/plugin-proposal-async-generator-functions@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.8.3.tgz#bad329c670b382589721b27540c7d288601c6e6f" @@ -820,13 +623,6 @@ "@babel/helper-create-class-features-plugin" "^7.3.0" "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-proposal-class-properties@^7.0.0": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.5.5.tgz#a974cfae1e37c3110e71f3c6a2e48b8e71958cd4" - dependencies: - "@babel/helper-create-class-features-plugin" "^7.5.5" - "@babel/helper-plugin-utils" "^7.0.0" - "@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" @@ -850,13 +646,6 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-dynamic-import" "^7.2.0" -"@babel/plugin-proposal-dynamic-import@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.7.4.tgz#dde64a7f127691758cbfed6cf70de0fa5879d52d" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-dynamic-import" "^7.7.4" - "@babel/plugin-proposal-dynamic-import@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.8.3.tgz#38c4fe555744826e97e2ae930b0fb4cc07e66054" @@ -864,13 +653,6 @@ "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-syntax-dynamic-import" "^7.8.0" -"@babel/plugin-proposal-export-default-from@^7.0.0": - version "7.5.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.5.2.tgz#2c0ac2dcc36e3b2443fead2c3c5fc796fb1b5145" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-export-default-from" "^7.2.0" - "@babel/plugin-proposal-json-strings@^7.2.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.2.0.tgz#568ecc446c6148ae6b267f02551130891e29f317" @@ -878,13 +660,6 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-json-strings" "^7.2.0" -"@babel/plugin-proposal-json-strings@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.7.4.tgz#7700a6bfda771d8dc81973249eac416c6b4c697d" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-json-strings" "^7.7.4" - "@babel/plugin-proposal-json-strings@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.8.3.tgz#da5216b238a98b58a1e05d6852104b10f9a70d6b" @@ -914,21 +689,14 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-object-rest-spread" "^7.2.0" -"@babel/plugin-proposal-object-rest-spread@7.6.2", "@babel/plugin-proposal-object-rest-spread@^7.0.0", "@babel/plugin-proposal-object-rest-spread@^7.3.1", "@babel/plugin-proposal-object-rest-spread@^7.6.2": +"@babel/plugin-proposal-object-rest-spread@7.6.2", "@babel/plugin-proposal-object-rest-spread@^7.3.1", "@babel/plugin-proposal-object-rest-spread@^7.6.2": version "7.6.2" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.6.2.tgz#8ffccc8f3a6545e9f78988b6bf4fe881b88e8096" dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-object-rest-spread" "^7.2.0" -"@babel/plugin-proposal-object-rest-spread@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.7.4.tgz#cc57849894a5c774214178c8ab64f6334ec8af71" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-object-rest-spread" "^7.7.4" - -"@babel/plugin-proposal-object-rest-spread@^7.9.0": +"@babel/plugin-proposal-object-rest-spread@^7.8.3", "@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== @@ -943,13 +711,6 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-optional-catch-binding" "^7.2.0" -"@babel/plugin-proposal-optional-catch-binding@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.7.4.tgz#ec21e8aeb09ec6711bc0a39ca49520abee1de379" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-optional-catch-binding" "^7.7.4" - "@babel/plugin-proposal-optional-catch-binding@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.8.3.tgz#9dee96ab1650eed88646ae9734ca167ac4a9c5c9" @@ -988,13 +749,6 @@ "@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" - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.7.4" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-proposal-unicode-property-regex@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.8.3.tgz#b646c3adea5f98800c9ab45105ac34d06cd4a47f" @@ -1008,12 +762,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-syntax-async-generators@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.7.4.tgz#331aaf310a10c80c44a66b238b6e49132bd3c889" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-async-generators@^7.8.0": version "7.8.4" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" @@ -1038,24 +786,12 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-syntax-dynamic-import@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.7.4.tgz#29ca3b4415abfe4a5ec381e903862ad1a54c3aec" - dependencies: - "@babel/helper-plugin-utils" "^7.0.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: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-export-default-from@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.2.0.tgz#edd83b7adc2e0d059e2467ca96c650ab6d2f3820" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-flow@^7.2.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.2.0.tgz#a765f061f803bc48f240c26f8747faf97c26bf7c" @@ -1068,12 +804,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-syntax-json-strings@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.7.4.tgz#86e63f7d2e22f9e27129ac4e83ea989a382e86cc" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-json-strings@^7.8.0": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" @@ -1086,12 +816,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-syntax-jsx@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.7.4.tgz#dab2b56a36fb6c3c222a1fbc71f7bf97f327a9ec" - 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" @@ -1118,12 +842,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-syntax-object-rest-spread@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.7.4.tgz#47cf220d19d6d0d7b154304701f468fc1cc6ff46" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-object-rest-spread@^7.8.0": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" @@ -1136,12 +854,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-syntax-optional-catch-binding@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.7.4.tgz#a3e38f59f4b6233867b4a92dcb0ee05b2c334aa6" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-optional-catch-binding@^7.8.0": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" @@ -1154,12 +866,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-top-level-await@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.7.4.tgz#bd7d8fa7b9fee793a36e4027fd6dd1aa32f946da" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-top-level-await@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.8.3.tgz#3acdece695e6b13aaf57fc291d1a800950c71391" @@ -1172,18 +878,19 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" +"@babel/plugin-syntax-typescript@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.8.3.tgz#c1f659dda97711a569cef75275f7e15dcaa6cabc" + integrity sha512-GO1MQ/SGGGoiEXY0e0bSpHimJvxqB7lktLLIq2pv8xG7WZ8IMEle74jIe1FhprHBWjwjZtXHkycDLZXIWM5Wfg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-transform-arrow-functions@^7.2.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz#9aeafbe4d6ffc6563bf8f8372091628f00779550" dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-arrow-functions@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.7.4.tgz#76309bd578addd8aee3b379d809c802305a98a12" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-transform-arrow-functions@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.8.3.tgz#82776c2ed0cd9e1a49956daeb896024c9473b8b6" @@ -1198,14 +905,6 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/helper-remap-async-to-generator" "^7.1.0" -"@babel/plugin-transform-async-to-generator@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.7.4.tgz#694cbeae6d613a34ef0292713fa42fb45c4470ba" - dependencies: - "@babel/helper-module-imports" "^7.7.4" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-remap-async-to-generator" "^7.7.4" - "@babel/plugin-transform-async-to-generator@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.8.3.tgz#4308fad0d9409d71eafb9b1a6ee35f9d64b64086" @@ -1220,12 +919,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-block-scoped-functions@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.7.4.tgz#d0d9d5c269c78eaea76227ace214b8d01e4d837b" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-transform-block-scoped-functions@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.8.3.tgz#437eec5b799b5852072084b3ae5ef66e8349e8a3" @@ -1239,13 +932,6 @@ "@babel/helper-plugin-utils" "^7.0.0" lodash "^4.17.13" -"@babel/plugin-transform-block-scoping@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.7.4.tgz#200aad0dcd6bb80372f94d9e628ea062c58bf224" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - lodash "^4.17.13" - "@babel/plugin-transform-block-scoping@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.8.3.tgz#97d35dab66857a437c166358b91d09050c868f3a" @@ -1253,49 +939,10 @@ "@babel/helper-plugin-utils" "^7.8.3" lodash "^4.17.13" -"@babel/plugin-transform-classes@7.2.2": - version "7.2.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.2.2.tgz#6c90542f210ee975aa2aa8c8b5af7fa73a126953" - dependencies: - "@babel/helper-annotate-as-pure" "^7.0.0" - "@babel/helper-define-map" "^7.1.0" - "@babel/helper-function-name" "^7.1.0" - "@babel/helper-optimise-call-expression" "^7.0.0" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-replace-supers" "^7.1.0" - "@babel/helper-split-export-declaration" "^7.0.0" - globals "^11.1.0" - -"@babel/plugin-transform-classes@^7.2.0", "@babel/plugin-transform-classes@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.5.5.tgz#d094299d9bd680a14a2a0edae38305ad60fb4de9" - dependencies: - "@babel/helper-annotate-as-pure" "^7.0.0" - "@babel/helper-define-map" "^7.5.5" - "@babel/helper-function-name" "^7.1.0" - "@babel/helper-optimise-call-expression" "^7.0.0" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-replace-supers" "^7.5.5" - "@babel/helper-split-export-declaration" "^7.4.4" - globals "^11.1.0" - -"@babel/plugin-transform-classes@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.7.4.tgz#c92c14be0a1399e15df72667067a8f510c9400ec" - dependencies: - "@babel/helper-annotate-as-pure" "^7.7.4" - "@babel/helper-define-map" "^7.7.4" - "@babel/helper-function-name" "^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" - globals "^11.1.0" - -"@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== +"@babel/plugin-transform-classes@7.2.2", "@babel/plugin-transform-classes@^7.2.0", "@babel/plugin-transform-classes@^7.5.5", "@babel/plugin-transform-classes@^7.9.0", "@babel/plugin-transform-classes@^7.9.2": + version "7.9.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.9.2.tgz#8603fc3cc449e31fdbdbc257f67717536a11af8d" + integrity sha512-TC2p3bPzsfvSsqBZo0kJnuelnoK9O3welkUpqSqBQuBF6R5MN2rysopri8kNvtlGIb2jmUO7i15IooAZJjZuMQ== dependencies: "@babel/helper-annotate-as-pure" "^7.8.3" "@babel/helper-define-map" "^7.8.3" @@ -1312,12 +959,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-computed-properties@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.7.4.tgz#e856c1628d3238ffe12d668eb42559f79a81910d" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-transform-computed-properties@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.8.3.tgz#96d0d28b7f7ce4eb5b120bb2e0e943343c86f81b" @@ -1336,12 +977,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-destructuring@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.7.4.tgz#2b713729e5054a1135097b6a67da1b6fe8789267" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-transform-destructuring@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.8.3.tgz#20ddfbd9e4676906b1056ee60af88590cc7aaa0b" @@ -1363,25 +998,12 @@ "@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" - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.7.4" - "@babel/helper-plugin-utils" "^7.0.0" - "@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" dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-duplicate-keys@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.7.4.tgz#3d21731a42e3f598a73835299dd0169c3b90ac91" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-transform-duplicate-keys@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.8.3.tgz#8d12df309aa537f272899c565ea1768e286e21f1" @@ -1395,13 +1017,6 @@ "@babel/helper-builder-binary-assignment-operator-visitor" "^7.1.0" "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-exponentiation-operator@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.7.4.tgz#dd30c0191e3a1ba19bcc7e389bdfddc0729d5db9" - dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.7.4" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-transform-exponentiation-operator@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.8.3.tgz#581a6d7f56970e06bf51560cd64f5e947b70d7b7" @@ -1416,25 +1031,12 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-flow" "^7.2.0" -"@babel/plugin-transform-flow-strip-types@^7.0.0": - version "7.6.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.6.3.tgz#8110f153e7360cfd5996eee68706cfad92d85256" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-flow" "^7.2.0" - "@babel/plugin-transform-for-of@^7.2.0", "@babel/plugin-transform-for-of@^7.4.4": version "7.4.4" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.4.4.tgz#0267fc735e24c808ba173866c6c4d1440fc3c556" dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-for-of@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.7.4.tgz#248800e3a5e507b1f103d8b4ca998e77c63932bc" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@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" @@ -1449,13 +1051,6 @@ "@babel/helper-function-name" "^7.1.0" "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-function-name@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.7.4.tgz#75a6d3303d50db638ff8b5385d12451c865025b1" - dependencies: - "@babel/helper-function-name" "^7.7.4" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-transform-function-name@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.8.3.tgz#279373cb27322aaad67c2683e776dfc47196ed8b" @@ -1469,12 +1064,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-literals@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.7.4.tgz#27fe87d2b5017a2a5a34d1c41a6b9f6a6262643e" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-transform-literals@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.8.3.tgz#aef239823d91994ec7b68e55193525d76dbd5dc1" @@ -1487,12 +1076,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-member-expression-literals@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.7.4.tgz#aee127f2f3339fc34ce5e3055d7ffbf7aa26f19a" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-transform-member-expression-literals@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.8.3.tgz#963fed4b620ac7cbf6029c755424029fa3a40410" @@ -1507,14 +1090,6 @@ "@babel/helper-plugin-utils" "^7.0.0" babel-plugin-dynamic-import-node "^2.3.0" -"@babel/plugin-transform-modules-amd@^7.7.5": - version "7.7.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.7.5.tgz#39e0fb717224b59475b306402bb8eedab01e729c" - dependencies: - "@babel/helper-module-transforms" "^7.7.5" - "@babel/helper-plugin-utils" "^7.0.0" - babel-plugin-dynamic-import-node "^2.3.0" - "@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" @@ -1533,15 +1108,6 @@ "@babel/helper-simple-access" "^7.1.0" babel-plugin-dynamic-import-node "^2.3.0" -"@babel/plugin-transform-modules-commonjs@^7.7.5": - version "7.7.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.7.5.tgz#1d27f5eb0bcf7543e774950e5b2fa782e637b345" - dependencies: - "@babel/helper-module-transforms" "^7.7.5" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-simple-access" "^7.7.4" - babel-plugin-dynamic-import-node "^2.3.0" - "@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" @@ -1560,14 +1126,6 @@ "@babel/helper-plugin-utils" "^7.0.0" babel-plugin-dynamic-import-node "^2.3.0" -"@babel/plugin-transform-modules-systemjs@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.7.4.tgz#cd98152339d3e763dfe838b7d4273edaf520bb30" - dependencies: - "@babel/helper-hoist-variables" "^7.7.4" - "@babel/helper-plugin-utils" "^7.0.0" - babel-plugin-dynamic-import-node "^2.3.0" - "@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" @@ -1582,14 +1140,7 @@ version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.2.0.tgz#7678ce75169f0877b8eb2235538c074268dd01ae" dependencies: - "@babel/helper-module-transforms" "^7.1.0" - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-modules-umd@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.7.4.tgz#1027c355a118de0aae9fee00ad7813c584d9061f" - dependencies: - "@babel/helper-module-transforms" "^7.7.4" + "@babel/helper-module-transforms" "^7.1.0" "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-transform-modules-umd@^7.9.0": @@ -1606,12 +1157,6 @@ dependencies: regexpu-core "^4.6.0" -"@babel/plugin-transform-named-capturing-groups-regex@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.7.4.tgz#fb3bcc4ee4198e7385805007373d6b6f42c98220" - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.7.4" - "@babel/plugin-transform-named-capturing-groups-regex@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.8.3.tgz#a2a72bffa202ac0e2d0506afd0939c5ecbc48c6c" @@ -1624,12 +1169,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-new-target@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.7.4.tgz#4a0753d2d60639437be07b592a9e58ee00720167" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-transform-new-target@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.8.3.tgz#60cc2ae66d85c95ab540eb34babb6434d4c70c43" @@ -1643,13 +1182,6 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/helper-replace-supers" "^7.5.5" -"@babel/plugin-transform-object-super@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.7.4.tgz#48488937a2d586c0148451bf51af9d7dda567262" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-replace-supers" "^7.7.4" - "@babel/plugin-transform-object-super@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.8.3.tgz#ebb6a1e7a86ffa96858bd6ac0102d65944261725" @@ -1665,14 +1197,6 @@ "@babel/helper-get-function-arity" "^7.0.0" "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-parameters@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.7.4.tgz#da4555c97f39b51ac089d31c7380f03bca4075ce" - dependencies: - "@babel/helper-call-delegate" "^7.7.4" - "@babel/helper-get-function-arity" "^7.7.4" - "@babel/helper-plugin-utils" "^7.0.0" - "@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" @@ -1688,12 +1212,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-property-literals@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.7.4.tgz#2388d6505ef89b266103f450f9167e6bd73f98c2" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-transform-property-literals@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.8.3.tgz#33194300d8539c1ed28c62ad5087ba3807b98263" @@ -1720,12 +1238,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-react-display-name@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.7.4.tgz#9f2b80b14ebc97eef4a9b29b612c58ed9c0d10dd" - 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" @@ -1749,13 +1261,6 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-jsx" "^7.2.0" -"@babel/plugin-transform-react-jsx-self@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.7.4.tgz#81b8fbfd14b2215e8f1c2c3adfba266127b0231c" - dependencies: - "@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" @@ -1771,13 +1276,6 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-jsx" "^7.2.0" -"@babel/plugin-transform-react-jsx-source@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.7.4.tgz#8994b1bf6014b133f5a46d3b7d1ee5f5e3e72c10" - dependencies: - "@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" @@ -1794,14 +1292,6 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-jsx" "^7.2.0" -"@babel/plugin-transform-react-jsx@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.7.4.tgz#d91205717fae4e2f84d020cd3057ec02a10f11da" - dependencies: - "@babel/helper-builder-react-jsx" "^7.7.4" - "@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" @@ -1812,18 +1302,22 @@ "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-syntax-jsx" "^7.8.3" +"@babel/plugin-transform-react-jsx@^7.9.4": + version "7.9.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.9.4.tgz#86f576c8540bd06d0e95e0b61ea76d55f6cbd03f" + integrity sha512-Mjqf3pZBNLt854CK0C/kRuXAnE6H/bo7xYojP+WGtX8glDGSibcwnsWwhwoSuRg0+EBnxPC1ouVnuetUIlPSAw== + 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" dependencies: regenerator-transform "^0.14.0" -"@babel/plugin-transform-regenerator@^7.7.5": - version "7.7.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.7.5.tgz#3a8757ee1a2780f390e89f246065ecf59c26fce9" - dependencies: - regenerator-transform "^0.14.0" - "@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" @@ -1837,12 +1331,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-reserved-words@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.7.4.tgz#6a7cf123ad175bb5c69aec8f6f0770387ed3f1eb" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-transform-reserved-words@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.8.3.tgz#9a0635ac4e665d29b162837dd3cc50745dfdf1f5" @@ -1874,12 +1362,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-shorthand-properties@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.7.4.tgz#74a0a9b2f6d67a684c6fbfd5f0458eb7ba99891e" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-transform-shorthand-properties@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.8.3.tgz#28545216e023a832d4d3a1185ed492bcfeac08c8" @@ -1892,12 +1374,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-spread@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.7.4.tgz#aa673b356fe6b7e70d69b6e33a17fef641008578" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-transform-spread@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.8.3.tgz#9c8ffe8170fdfb88b114ecb920b82fb6e95fe5e8" @@ -1911,13 +1387,6 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/helper-regex" "^7.0.0" -"@babel/plugin-transform-sticky-regex@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.7.4.tgz#ffb68c05090c30732076b1285dc1401b404a123c" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-regex" "^7.0.0" - "@babel/plugin-transform-sticky-regex@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.8.3.tgz#be7a1290f81dae767475452199e1f76d6175b100" @@ -1932,13 +1401,6 @@ "@babel/helper-annotate-as-pure" "^7.0.0" "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-template-literals@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.7.4.tgz#1eb6411736dd3fe87dbd20cc6668e5121c17d604" - dependencies: - "@babel/helper-annotate-as-pure" "^7.7.4" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-transform-template-literals@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.8.3.tgz#7bfa4732b455ea6a43130adc0ba767ec0e402a80" @@ -1952,19 +1414,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-typeof-symbol@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.7.4.tgz#3174626214f2d6de322882e498a38e8371b2140e" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-transform-typeof-symbol@^7.8.4": version "7.8.4" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.8.4.tgz#ede4062315ce0aaf8a657a920858f1a2f35fc412" dependencies: "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-transform-typescript@^7.0.0", "@babel/plugin-transform-typescript@^7.1.0": +"@babel/plugin-transform-typescript@^7.1.0": version "7.6.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.6.3.tgz#dddb50cf3b8b2ef70b22e5326e9a91f05a1db13b" dependencies: @@ -1972,6 +1428,15 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-typescript" "^7.2.0" +"@babel/plugin-transform-typescript@^7.9.0": + version "7.9.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.9.4.tgz#4bb4dde4f10bbf2d787fce9707fb09b483e33359" + integrity sha512-yeWeUkKx2auDbSxRe8MusAG+n4m9BFY/v+lPjmQDgOFX5qnySkUY5oXzkp6FwPdsYqnKay6lorXYdC0n3bZO7w== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-typescript" "^7.8.3" + "@babel/plugin-transform-unicode-regex@^7.2.0", "@babel/plugin-transform-unicode-regex@^7.6.2": version "7.6.2" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.6.2.tgz#b692aad888a7e8d8b1b214be6b9dc03d5031f698" @@ -1980,13 +1445,6 @@ "@babel/helper-regex" "^7.4.4" regexpu-core "^4.6.0" -"@babel/plugin-transform-unicode-regex@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.7.4.tgz#a3c0f65b117c4c81c5b6484f2a5e7b95346b83ae" - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.7.4" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-transform-unicode-regex@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.8.3.tgz#0cef36e3ba73e5c57273effb182f46b91a1ecaad" @@ -2105,63 +1563,7 @@ js-levenshtein "^1.1.3" semver "^5.5.0" -"@babel/preset-env@^7.7.4": - version "7.7.5" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.7.5.tgz#f28573ed493edb4ba763b37fb4fbb85601469370" - dependencies: - "@babel/helper-module-imports" "^7.7.4" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-proposal-async-generator-functions" "^7.7.4" - "@babel/plugin-proposal-dynamic-import" "^7.7.4" - "@babel/plugin-proposal-json-strings" "^7.7.4" - "@babel/plugin-proposal-object-rest-spread" "^7.7.4" - "@babel/plugin-proposal-optional-catch-binding" "^7.7.4" - "@babel/plugin-proposal-unicode-property-regex" "^7.7.4" - "@babel/plugin-syntax-async-generators" "^7.7.4" - "@babel/plugin-syntax-dynamic-import" "^7.7.4" - "@babel/plugin-syntax-json-strings" "^7.7.4" - "@babel/plugin-syntax-object-rest-spread" "^7.7.4" - "@babel/plugin-syntax-optional-catch-binding" "^7.7.4" - "@babel/plugin-syntax-top-level-await" "^7.7.4" - "@babel/plugin-transform-arrow-functions" "^7.7.4" - "@babel/plugin-transform-async-to-generator" "^7.7.4" - "@babel/plugin-transform-block-scoped-functions" "^7.7.4" - "@babel/plugin-transform-block-scoping" "^7.7.4" - "@babel/plugin-transform-classes" "^7.7.4" - "@babel/plugin-transform-computed-properties" "^7.7.4" - "@babel/plugin-transform-destructuring" "^7.7.4" - "@babel/plugin-transform-dotall-regex" "^7.7.4" - "@babel/plugin-transform-duplicate-keys" "^7.7.4" - "@babel/plugin-transform-exponentiation-operator" "^7.7.4" - "@babel/plugin-transform-for-of" "^7.7.4" - "@babel/plugin-transform-function-name" "^7.7.4" - "@babel/plugin-transform-literals" "^7.7.4" - "@babel/plugin-transform-member-expression-literals" "^7.7.4" - "@babel/plugin-transform-modules-amd" "^7.7.5" - "@babel/plugin-transform-modules-commonjs" "^7.7.5" - "@babel/plugin-transform-modules-systemjs" "^7.7.4" - "@babel/plugin-transform-modules-umd" "^7.7.4" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.7.4" - "@babel/plugin-transform-new-target" "^7.7.4" - "@babel/plugin-transform-object-super" "^7.7.4" - "@babel/plugin-transform-parameters" "^7.7.4" - "@babel/plugin-transform-property-literals" "^7.7.4" - "@babel/plugin-transform-regenerator" "^7.7.5" - "@babel/plugin-transform-reserved-words" "^7.7.4" - "@babel/plugin-transform-shorthand-properties" "^7.7.4" - "@babel/plugin-transform-spread" "^7.7.4" - "@babel/plugin-transform-sticky-regex" "^7.7.4" - "@babel/plugin-transform-template-literals" "^7.7.4" - "@babel/plugin-transform-typeof-symbol" "^7.7.4" - "@babel/plugin-transform-unicode-regex" "^7.7.4" - "@babel/types" "^7.7.4" - browserslist "^4.6.0" - core-js-compat "^3.4.7" - invariant "^2.2.2" - js-levenshtein "^1.1.3" - semver "^5.5.0" - -"@babel/preset-env@^7.8.7": +"@babel/preset-env@^7.8.7", "@babel/preset-env@^7.9.0": 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== @@ -2258,16 +1660,6 @@ "@babel/plugin-transform-react-jsx-self" "^7.0.0" "@babel/plugin-transform-react-jsx-source" "^7.0.0" -"@babel/preset-react@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.7.4.tgz#3fe2ea698d8fb536d8e7881a592c3c1ee8bf5707" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-transform-react-display-name" "^7.7.4" - "@babel/plugin-transform-react-jsx" "^7.7.4" - "@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" @@ -2280,6 +1672,18 @@ "@babel/plugin-transform-react-jsx-self" "^7.9.0" "@babel/plugin-transform-react-jsx-source" "^7.9.0" +"@babel/preset-react@^7.9.4": + version "7.9.4" + resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.9.4.tgz#c6c97693ac65b6b9c0b4f25b948a8f665463014d" + integrity sha512-AxylVB3FXeOTQXNXyiuAQJSvss62FEotbX2Pzx3K/7c+MKJMdSg6Ose6QYllkdCFA8EInCJVw7M/o5QbLuA4ZQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-transform-react-display-name" "^7.8.3" + "@babel/plugin-transform-react-jsx" "^7.9.4" + "@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" @@ -2287,52 +1691,35 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-transform-typescript" "^7.1.0" -"@babel/runtime-corejs3@^7.8.3": +"@babel/preset-typescript@^7.9.0": 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.5", "@babel/runtime@^7.6.3": - version "7.6.3" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.6.3.tgz#935122c74c73d2240cafd32ddb5fc2a6cd35cf1f" - dependencies: - regenerator-runtime "^0.13.2" - -"@babel/runtime@^7.7.2": - version "7.7.2" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.7.2.tgz#111a78002a5c25fc8e3361bedc9529c696b85a6a" + resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.9.0.tgz#87705a72b1f0d59df21c179f7c3d2ef4b16ce192" + integrity sha512-S4cueFnGrIbvYJgwsVFKdvOmpiL0XGw9MFW9D0vgRys5g36PBhZRL8NX8Gr2akz8XRtzq6HuDXPD/1nniagNUg== dependencies: - regenerator-runtime "^0.13.2" - -"@babel/runtime@^7.7.4": - version "7.7.5" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.7.5.tgz#4b087f183f5d83647744d4157f66199081d17a00" - dependencies: - regenerator-runtime "^0.13.2" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-transform-typescript" "^7.9.0" -"@babel/runtime@^7.7.6", "@babel/runtime@^7.8.4": - version "7.8.4" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.8.4.tgz#d79f5a2040f7caa24d53e563aad49cbc05581308" +"@babel/runtime-corejs3@^7.8.3", "@babel/runtime-corejs3@^7.9.2": + version "7.9.2" + resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.9.2.tgz#26fe4aa77e9f1ecef9b776559bbb8e84d34284b7" + integrity sha512-HHxmgxbIzOfFlZ+tdeRKtaxWOMUoCG5Mu3wKeUmOxjYrwb3AAHgnmtCUbPPK11/raIWLIBK250t8E2BPO0p7jA== dependencies: - regenerator-runtime "^0.13.2" + core-js-pure "^3.0.0" + regenerator-runtime "^0.13.4" -"@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== +"@babel/runtime@7.3.1", "@babel/runtime@^7.1.2", "@babel/runtime@^7.4.5", "@babel/runtime@^7.6.3", "@babel/runtime@^7.7.2", "@babel/runtime@^7.7.6", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2": + version "7.9.2" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.9.2.tgz#d90df0583a3a252f09aaa619665367bae518db06" + integrity sha512-NE2DtOdufG7R5vnfQUTehdTfNycfUANEtCa9PssN9O/xmTzP4E08UI797ixaei6hBEVL9BI/PsdJS5x7mWoB9Q== 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": +"@babel/standalone@^7.9.2": + version "7.9.4" + resolved "https://registry.yarnpkg.com/@babel/standalone/-/standalone-7.9.4.tgz#078025ada03c3d8e60b4abfb042326ad9bfb035d" + integrity sha512-liRTBSbwxaXmrAqH43qF/fh7soqTMF3+j2eUdsRwKzPwu1WCUBPG1yZQFfk3Wrw3Pk4GFcJpI9dksXY+bhNMwg== + +"@babel/template@^7.1.0", "@babel/template@^7.1.2", "@babel/template@^7.2.2", "@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" dependencies: @@ -2365,7 +1752,7 @@ "@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": +"@babel/traverse@^7.0.0", "@babel/traverse@^7.1.0", "@babel/traverse@^7.1.6", "@babel/traverse@^7.2.2", "@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" dependencies: @@ -2422,7 +1809,7 @@ globals "^11.1.0" lodash "^4.17.13" -"@babel/types@^7.0.0", "@babel/types@^7.1.6", "@babel/types@^7.2.0", "@babel/types@^7.2.2", "@babel/types@^7.3.0", "@babel/types@^7.4.0", "@babel/types@^7.4.4", "@babel/types@^7.5.5", "@babel/types@^7.6.0", "@babel/types@^7.6.3": +"@babel/types@^7.0.0", "@babel/types@^7.1.6", "@babel/types@^7.2.0", "@babel/types@^7.2.2", "@babel/types@^7.3.0", "@babel/types@^7.4.4", "@babel/types@^7.5.5", "@babel/types@^7.6.0", "@babel/types@^7.6.3": version "7.6.3" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.6.3.tgz#3f07d96f854f98e2fbd45c64b0cb942d11e8ba09" dependencies: @@ -2455,6 +1842,11 @@ lodash "^4.17.13" to-fast-properties "^2.0.0" +"@bcoe/v8-coverage@^0.2.3": + version "0.2.3" + resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" + integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== + "@cnakazawa/watch@^1.0.3": version "1.0.3" resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.3.tgz#099139eaec7ebf07a27c1786a3ff64f39464d2ef" @@ -2634,168 +2026,156 @@ version "0.1.2" resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.2.tgz#26520bf09abe4a5644cd5414e37125a8954241dd" -"@jest/console@^24.7.1", "@jest/console@^24.9.0": - version "24.9.0" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-24.9.0.tgz#79b1bc06fb74a8cfb01cbdedf945584b1b9707f0" +"@jest/console@^25.2.6": + version "25.2.6" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-25.2.6.tgz#f594847ec8aef3cf27f448abe97e76e491212e97" + integrity sha512-bGp+0PicZVCEhb+ifnW9wpKWONNdkhtJsRE7ap729hiAfTvCN6VhGx0s/l/V/skA2pnyqq+N/7xl9ZWfykDpsg== dependencies: - "@jest/source-map" "^24.9.0" - chalk "^2.0.1" - slash "^2.0.0" + "@jest/source-map" "^25.2.6" + chalk "^3.0.0" + jest-util "^25.2.6" + slash "^3.0.0" -"@jest/core@^24.9.0": - version "24.9.0" - resolved "https://registry.yarnpkg.com/@jest/core/-/core-24.9.0.tgz#2ceccd0b93181f9c4850e74f2a9ad43d351369c4" +"@jest/core@^25.2.7": + version "25.2.7" + resolved "https://registry.yarnpkg.com/@jest/core/-/core-25.2.7.tgz#58d697687e94ee644273d15e4eed6a20e27187cd" + integrity sha512-Nd6ELJyR+j0zlwhzkfzY70m04hAur0VnMwJXVe4VmmD/SaQ6DEyal++ERQ1sgyKIKKEqRuui6k/R0wHLez4P+g== dependencies: - "@jest/console" "^24.7.1" - "@jest/reporters" "^24.9.0" - "@jest/test-result" "^24.9.0" - "@jest/transform" "^24.9.0" - "@jest/types" "^24.9.0" - ansi-escapes "^3.0.0" - chalk "^2.0.1" + "@jest/console" "^25.2.6" + "@jest/reporters" "^25.2.6" + "@jest/test-result" "^25.2.6" + "@jest/transform" "^25.2.6" + "@jest/types" "^25.2.6" + ansi-escapes "^4.2.1" + chalk "^3.0.0" exit "^0.1.2" - graceful-fs "^4.1.15" - jest-changed-files "^24.9.0" - jest-config "^24.9.0" - jest-haste-map "^24.9.0" - jest-message-util "^24.9.0" - jest-regex-util "^24.3.0" - jest-resolve "^24.9.0" - jest-resolve-dependencies "^24.9.0" - jest-runner "^24.9.0" - jest-runtime "^24.9.0" - jest-snapshot "^24.9.0" - jest-util "^24.9.0" - jest-validate "^24.9.0" - jest-watcher "^24.9.0" - micromatch "^3.1.10" - p-each-series "^1.0.0" - realpath-native "^1.1.0" - rimraf "^2.5.4" - slash "^2.0.0" - strip-ansi "^5.0.0" - -"@jest/environment@^24.9.0": - version "24.9.0" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-24.9.0.tgz#21e3afa2d65c0586cbd6cbefe208bafade44ab18" - dependencies: - "@jest/fake-timers" "^24.9.0" - "@jest/transform" "^24.9.0" - "@jest/types" "^24.9.0" - jest-mock "^24.9.0" - -"@jest/fake-timers@^24.9.0": - version "24.9.0" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-24.9.0.tgz#ba3e6bf0eecd09a636049896434d306636540c93" - dependencies: - "@jest/types" "^24.9.0" - jest-message-util "^24.9.0" - jest-mock "^24.9.0" + graceful-fs "^4.2.3" + jest-changed-files "^25.2.6" + jest-config "^25.2.7" + jest-haste-map "^25.2.6" + jest-message-util "^25.2.6" + jest-regex-util "^25.2.6" + jest-resolve "^25.2.6" + jest-resolve-dependencies "^25.2.7" + jest-runner "^25.2.7" + jest-runtime "^25.2.7" + jest-snapshot "^25.2.7" + jest-util "^25.2.6" + jest-validate "^25.2.6" + jest-watcher "^25.2.7" + micromatch "^4.0.2" + p-each-series "^2.1.0" + realpath-native "^2.0.0" + rimraf "^3.0.0" + slash "^3.0.0" + strip-ansi "^6.0.0" -"@jest/reporters@^24.9.0": - version "24.9.0" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-24.9.0.tgz#86660eff8e2b9661d042a8e98a028b8d631a5b43" - dependencies: - "@jest/environment" "^24.9.0" - "@jest/test-result" "^24.9.0" - "@jest/transform" "^24.9.0" - "@jest/types" "^24.9.0" - chalk "^2.0.1" +"@jest/environment@^25.2.6": + version "25.2.6" + resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-25.2.6.tgz#8f7931e79abd81893ce88b7306f0cc4744835000" + integrity sha512-17WIw+wCb9drRNFw1hi8CHah38dXVdOk7ga9exThhGtXlZ9mK8xH4DjSB9uGDGXIWYSHmrxoyS6KJ7ywGr7bzg== + dependencies: + "@jest/fake-timers" "^25.2.6" + "@jest/types" "^25.2.6" + jest-mock "^25.2.6" + +"@jest/fake-timers@^25.2.6": + version "25.2.6" + resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-25.2.6.tgz#239dbde3f56badf7d05bcf888f5d669296077cad" + integrity sha512-A6qtDIA2zg/hVgUJJYzQSHFBIp25vHdSxW/s4XmTJAYxER6eL0NQdQhe4+232uUSviKitubHGXXirt5M7blPiA== + dependencies: + "@jest/types" "^25.2.6" + jest-message-util "^25.2.6" + jest-mock "^25.2.6" + jest-util "^25.2.6" + lolex "^5.0.0" + +"@jest/reporters@^25.2.6": + version "25.2.6" + resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-25.2.6.tgz#6d87e40fb15adb69e22bb83aa02a4d88b2253b5f" + integrity sha512-DRMyjaxcd6ZKctiXNcuVObnPwB1eUs7xrUVu0J2V0p5/aZJei5UM9GL3s/bmN4hRV8Mt3zXh+/9X2o0Q4ClZIA== + dependencies: + "@bcoe/v8-coverage" "^0.2.3" + "@jest/console" "^25.2.6" + "@jest/test-result" "^25.2.6" + "@jest/transform" "^25.2.6" + "@jest/types" "^25.2.6" + chalk "^3.0.0" + collect-v8-coverage "^1.0.0" exit "^0.1.2" glob "^7.1.2" - istanbul-lib-coverage "^2.0.2" - istanbul-lib-instrument "^3.0.1" - istanbul-lib-report "^2.0.4" - istanbul-lib-source-maps "^3.0.1" - istanbul-reports "^2.2.6" - jest-haste-map "^24.9.0" - jest-resolve "^24.9.0" - jest-runtime "^24.9.0" - jest-util "^24.9.0" - jest-worker "^24.6.0" - node-notifier "^5.4.2" - slash "^2.0.0" + istanbul-lib-coverage "^3.0.0" + istanbul-lib-instrument "^4.0.0" + istanbul-lib-report "^3.0.0" + istanbul-lib-source-maps "^4.0.0" + istanbul-reports "^3.0.0" + jest-haste-map "^25.2.6" + jest-resolve "^25.2.6" + jest-util "^25.2.6" + jest-worker "^25.2.6" + slash "^3.0.0" source-map "^0.6.0" - string-length "^2.0.0" + string-length "^3.1.0" + terminal-link "^2.0.0" + v8-to-istanbul "^4.0.1" + optionalDependencies: + node-notifier "^6.0.0" -"@jest/source-map@^24.3.0", "@jest/source-map@^24.9.0": - version "24.9.0" - resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-24.9.0.tgz#0e263a94430be4b41da683ccc1e6bffe2a191714" +"@jest/source-map@^25.2.6": + version "25.2.6" + resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-25.2.6.tgz#0ef2209514c6d445ebccea1438c55647f22abb4c" + integrity sha512-VuIRZF8M2zxYFGTEhkNSvQkUKafQro4y+mwUxy5ewRqs5N/ynSFUODYp3fy1zCnbCMy1pz3k+u57uCqx8QRSQQ== dependencies: callsites "^3.0.0" - graceful-fs "^4.1.15" + graceful-fs "^4.2.3" source-map "^0.6.0" -"@jest/test-result@^24.9.0": - version "24.9.0" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-24.9.0.tgz#11796e8aa9dbf88ea025757b3152595ad06ba0ca" +"@jest/test-result@^25.2.6": + version "25.2.6" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-25.2.6.tgz#f6082954955313eb96f6cabf9fb14f8017826916" + integrity sha512-gmGgcF4qz/pkBzyfJuVHo2DA24kIgVQ5Pf/VpW4QbyMLSegi8z+9foSZABfIt5se6k0fFj/3p/vrQXdaOgit0w== dependencies: - "@jest/console" "^24.9.0" - "@jest/types" "^24.9.0" + "@jest/console" "^25.2.6" + "@jest/types" "^25.2.6" "@types/istanbul-lib-coverage" "^2.0.0" + collect-v8-coverage "^1.0.0" -"@jest/test-sequencer@^24.9.0": - version "24.9.0" - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-24.9.0.tgz#f8f334f35b625a4f2f355f2fe7e6036dad2e6b31" - dependencies: - "@jest/test-result" "^24.9.0" - jest-haste-map "^24.9.0" - jest-runner "^24.9.0" - jest-runtime "^24.9.0" - -"@jest/transform@^24.9.0": - version "24.9.0" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-24.9.0.tgz#4ae2768b296553fadab09e9ec119543c90b16c56" +"@jest/test-sequencer@^25.2.7": + version "25.2.7" + resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-25.2.7.tgz#e4331f7b4850e34289b9a5c8ec8a2c03b400da8f" + integrity sha512-s2uYGOXONDSTJQcZJ9A3Zkg3hwe53RlX1HjUNqjUy3HIqwgwCKJbnAKYsORPbhxXi3ARMKA7JNBi9arsTxXoYw== dependencies: - "@babel/core" "^7.1.0" - "@jest/types" "^24.9.0" - babel-plugin-istanbul "^5.1.0" - chalk "^2.0.1" - convert-source-map "^1.4.0" - fast-json-stable-stringify "^2.0.0" - graceful-fs "^4.1.15" - jest-haste-map "^24.9.0" - jest-regex-util "^24.9.0" - jest-util "^24.9.0" - micromatch "^3.1.10" - pirates "^4.0.1" - realpath-native "^1.1.0" - slash "^2.0.0" - source-map "^0.6.1" - write-file-atomic "2.4.1" + "@jest/test-result" "^25.2.6" + jest-haste-map "^25.2.6" + jest-runner "^25.2.7" + jest-runtime "^25.2.7" -"@jest/transform@^25.1.0": - version "25.1.0" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-25.1.0.tgz#221f354f512b4628d88ce776d5b9e601028ea9da" +"@jest/transform@^25.2.6": + version "25.2.6" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-25.2.6.tgz#007fd946dedf12d2a9eb5d4154faf1991d5f61ff" + integrity sha512-rZnjCjZf9avPOf9q/w9RUZ9Uc29JmB53uIXNJmNz04QbDMD5cR/VjfikiMKajBsXe2vnFl5sJ4RTt+9HPicauQ== dependencies: "@babel/core" "^7.1.0" - "@jest/types" "^25.1.0" + "@jest/types" "^25.2.6" babel-plugin-istanbul "^6.0.0" chalk "^3.0.0" convert-source-map "^1.4.0" fast-json-stable-stringify "^2.0.0" graceful-fs "^4.2.3" - jest-haste-map "^25.1.0" - jest-regex-util "^25.1.0" - jest-util "^25.1.0" + jest-haste-map "^25.2.6" + jest-regex-util "^25.2.6" + jest-util "^25.2.6" micromatch "^4.0.2" pirates "^4.0.1" - realpath-native "^1.1.0" + realpath-native "^2.0.0" slash "^3.0.0" source-map "^0.6.1" write-file-atomic "^3.0.0" -"@jest/types@^24.9.0": - version "24.9.0" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-24.9.0.tgz#63cb26cb7500d069e5a389441a7c6ab5e909fc59" - dependencies: - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^1.1.1" - "@types/yargs" "^13.0.0" - -"@jest/types@^25.1.0": - version "25.1.0" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-25.1.0.tgz#b26831916f0d7c381e11dbb5e103a72aed1b4395" +"@jest/types@^25.2.6": + version "25.2.6" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-25.2.6.tgz#c12f44af9bed444438091e4b59e7ed05f8659cb6" + integrity sha512-myJTTV37bxK7+3NgKc4Y/DlQ5q92/NOwZsZ+Uch7OXdElxOg61QYc72fPYNAjlvbnJ2YvbXLamIsa9tj48BmyQ== dependencies: "@types/istanbul-lib-coverage" "^2.0.0" "@types/istanbul-reports" "^1.1.1" @@ -2808,14 +2188,15 @@ dependencies: vary "^1.1.2" -"@lerna/add@3.16.2": - version "3.16.2" - resolved "https://registry.yarnpkg.com/@lerna/add/-/add-3.16.2.tgz#90ecc1be7051cfcec75496ce122f656295bd6e94" +"@lerna/add@3.20.0": + version "3.20.0" + resolved "https://registry.yarnpkg.com/@lerna/add/-/add-3.20.0.tgz#bea7edf36fc93fb72ec34cb9ba854c48d4abf309" + integrity sha512-AnH1oRIEEg/VDa3SjYq4x1/UglEAvrZuV0WssHUMN81RTZgQk3we+Mv3qZNddrZ/fBcZu2IAdN/EQ3+ie2JxKQ== dependencies: "@evocateur/pacote" "^9.6.3" - "@lerna/bootstrap" "3.16.2" - "@lerna/command" "3.16.0" - "@lerna/filter-options" "3.16.0" + "@lerna/bootstrap" "3.20.0" + "@lerna/command" "3.18.5" + "@lerna/filter-options" "3.20.0" "@lerna/npm-conf" "3.16.0" "@lerna/validation-error" "3.13.0" dedent "^0.7.0" @@ -2823,29 +2204,22 @@ p-map "^2.1.0" semver "^6.2.0" -"@lerna/batch-packages@3.16.0": - version "3.16.0" - resolved "https://registry.yarnpkg.com/@lerna/batch-packages/-/batch-packages-3.16.0.tgz#1c16cb697e7d718177db744cbcbdac4e30253c8c" +"@lerna/bootstrap@3.20.0": + version "3.20.0" + resolved "https://registry.yarnpkg.com/@lerna/bootstrap/-/bootstrap-3.20.0.tgz#635d71046830f208e851ab429a63da1747589e37" + integrity sha512-Wylullx3uthKE7r4izo09qeRGL20Y5yONlQEjPCfnbxCC2Elu+QcPu4RC6kqKQ7b+g7pdC3OOgcHZjngrwr5XQ== dependencies: - "@lerna/package-graph" "3.16.0" - npmlog "^4.1.2" - -"@lerna/bootstrap@3.16.2": - version "3.16.2" - resolved "https://registry.yarnpkg.com/@lerna/bootstrap/-/bootstrap-3.16.2.tgz#be268d940221d3c3270656b9b791b492559ad9d8" - dependencies: - "@lerna/batch-packages" "3.16.0" - "@lerna/command" "3.16.0" - "@lerna/filter-options" "3.16.0" - "@lerna/has-npm-version" "3.16.0" - "@lerna/npm-install" "3.16.0" - "@lerna/package-graph" "3.16.0" + "@lerna/command" "3.18.5" + "@lerna/filter-options" "3.20.0" + "@lerna/has-npm-version" "3.16.5" + "@lerna/npm-install" "3.16.5" + "@lerna/package-graph" "3.18.5" "@lerna/pulse-till-done" "3.13.0" - "@lerna/rimraf-dir" "3.14.2" + "@lerna/rimraf-dir" "3.16.5" "@lerna/run-lifecycle" "3.16.2" - "@lerna/run-parallel-batches" "3.16.0" - "@lerna/symlink-binary" "3.16.2" - "@lerna/symlink-dependencies" "3.16.2" + "@lerna/run-topologically" "3.18.5" + "@lerna/symlink-binary" "3.17.0" + "@lerna/symlink-dependencies" "3.17.0" "@lerna/validation-error" "3.13.0" dedent "^0.7.0" get-port "^4.2.0" @@ -2859,91 +2233,99 @@ read-package-tree "^5.1.6" semver "^6.2.0" -"@lerna/changed@3.16.2": - version "3.16.2" - resolved "https://registry.yarnpkg.com/@lerna/changed/-/changed-3.16.2.tgz#14e5250781201a430769d868c67933e4b96d30e7" +"@lerna/changed@3.20.0": + version "3.20.0" + resolved "https://registry.yarnpkg.com/@lerna/changed/-/changed-3.20.0.tgz#66b97ebd6c8f8d207152ee524a0791846a9097ae" + integrity sha512-+hzMFSldbRPulZ0vbKk6RD9f36gaH3Osjx34wrrZ62VB4pKmjyuS/rxVYkCA3viPLHoiIw2F8zHM5BdYoDSbjw== dependencies: - "@lerna/collect-updates" "3.16.0" - "@lerna/command" "3.16.0" - "@lerna/listable" "3.16.0" + "@lerna/collect-updates" "3.20.0" + "@lerna/command" "3.18.5" + "@lerna/listable" "3.18.5" "@lerna/output" "3.13.0" - "@lerna/version" "3.16.2" -"@lerna/check-working-tree@3.14.2": - version "3.14.2" - resolved "https://registry.yarnpkg.com/@lerna/check-working-tree/-/check-working-tree-3.14.2.tgz#5ce007722180a69643a8456766ed8a91fc7e9ae1" +"@lerna/check-working-tree@3.16.5": + version "3.16.5" + resolved "https://registry.yarnpkg.com/@lerna/check-working-tree/-/check-working-tree-3.16.5.tgz#b4f8ae61bb4523561dfb9f8f8d874dd46bb44baa" + integrity sha512-xWjVBcuhvB8+UmCSb5tKVLB5OuzSpw96WEhS2uz6hkWVa/Euh1A0/HJwn2cemyK47wUrCQXtczBUiqnq9yX5VQ== dependencies: - "@lerna/collect-uncommitted" "3.14.2" - "@lerna/describe-ref" "3.14.2" + "@lerna/collect-uncommitted" "3.16.5" + "@lerna/describe-ref" "3.16.5" "@lerna/validation-error" "3.13.0" -"@lerna/child-process@3.14.2": - version "3.14.2" - resolved "https://registry.yarnpkg.com/@lerna/child-process/-/child-process-3.14.2.tgz#950240cba83f7dfe25247cfa6c9cebf30b7d94f6" +"@lerna/child-process@3.16.5": + version "3.16.5" + resolved "https://registry.yarnpkg.com/@lerna/child-process/-/child-process-3.16.5.tgz#38fa3c18064aa4ac0754ad80114776a7b36a69b2" + integrity sha512-vdcI7mzei9ERRV4oO8Y1LHBZ3A5+ampRKg1wq5nutLsUA4mEBN6H7JqjWOMY9xZemv6+kATm2ofjJ3lW5TszQg== dependencies: chalk "^2.3.1" execa "^1.0.0" strong-log-transformer "^2.0.0" -"@lerna/clean@3.16.0": - version "3.16.0" - resolved "https://registry.yarnpkg.com/@lerna/clean/-/clean-3.16.0.tgz#1c134334cacea1b1dbeacdc580e8b9240db8efa1" +"@lerna/clean@3.20.0": + version "3.20.0" + resolved "https://registry.yarnpkg.com/@lerna/clean/-/clean-3.20.0.tgz#ba777e373ddeae63e57860df75d47a9e5264c5b2" + integrity sha512-9ZdYrrjQvR5wNXmHfDsfjWjp0foOkCwKe3hrckTzkAeQA1ibyz5llGwz5e1AeFrV12e2/OLajVqYfe+qdkZUgg== dependencies: - "@lerna/command" "3.16.0" - "@lerna/filter-options" "3.16.0" - "@lerna/prompt" "3.13.0" + "@lerna/command" "3.18.5" + "@lerna/filter-options" "3.20.0" + "@lerna/prompt" "3.18.5" "@lerna/pulse-till-done" "3.13.0" - "@lerna/rimraf-dir" "3.14.2" + "@lerna/rimraf-dir" "3.16.5" p-map "^2.1.0" p-map-series "^1.0.0" p-waterfall "^1.0.0" -"@lerna/cli@3.13.0": - version "3.13.0" - resolved "https://registry.yarnpkg.com/@lerna/cli/-/cli-3.13.0.tgz#3d7b357fdd7818423e9681a7b7f2abd106c8a266" +"@lerna/cli@3.18.5": + version "3.18.5" + resolved "https://registry.yarnpkg.com/@lerna/cli/-/cli-3.18.5.tgz#c90c461542fcd35b6d5b015a290fb0dbfb41d242" + integrity sha512-erkbxkj9jfc89vVs/jBLY/fM0I80oLmJkFUV3Q3wk9J3miYhP14zgVEBsPZY68IZlEjT6T3Xlq2xO1AVaatHsA== dependencies: "@lerna/global-options" "3.13.0" dedent "^0.7.0" npmlog "^4.1.2" - yargs "^12.0.1" + yargs "^14.2.2" -"@lerna/collect-uncommitted@3.14.2": - version "3.14.2" - resolved "https://registry.yarnpkg.com/@lerna/collect-uncommitted/-/collect-uncommitted-3.14.2.tgz#b5ed00d800bea26bb0d18404432b051eee8d030e" +"@lerna/collect-uncommitted@3.16.5": + version "3.16.5" + resolved "https://registry.yarnpkg.com/@lerna/collect-uncommitted/-/collect-uncommitted-3.16.5.tgz#a494d61aac31cdc7aec4bbe52c96550274132e63" + integrity sha512-ZgqnGwpDZiWyzIQVZtQaj9tRizsL4dUOhuOStWgTAw1EMe47cvAY2kL709DzxFhjr6JpJSjXV5rZEAeU3VE0Hg== dependencies: - "@lerna/child-process" "3.14.2" + "@lerna/child-process" "3.16.5" chalk "^2.3.1" figgy-pudding "^3.5.1" npmlog "^4.1.2" -"@lerna/collect-updates@3.16.0": - version "3.16.0" - resolved "https://registry.yarnpkg.com/@lerna/collect-updates/-/collect-updates-3.16.0.tgz#6db3ce8a740a4e2b972c033a63bdfb77f2553d8c" +"@lerna/collect-updates@3.20.0": + version "3.20.0" + resolved "https://registry.yarnpkg.com/@lerna/collect-updates/-/collect-updates-3.20.0.tgz#62f9d76ba21a25b7d9fbf31c02de88744a564bd1" + integrity sha512-qBTVT5g4fupVhBFuY4nI/3FSJtQVcDh7/gEPOpRxoXB/yCSnT38MFHXWl+y4einLciCjt/+0x6/4AG80fjay2Q== dependencies: - "@lerna/child-process" "3.14.2" - "@lerna/describe-ref" "3.14.2" + "@lerna/child-process" "3.16.5" + "@lerna/describe-ref" "3.16.5" minimatch "^3.0.4" npmlog "^4.1.2" slash "^2.0.0" -"@lerna/command@3.16.0": - version "3.16.0" - resolved "https://registry.yarnpkg.com/@lerna/command/-/command-3.16.0.tgz#ba3dba49cb5ce4d11b48269cf95becd86e30773f" +"@lerna/command@3.18.5": + version "3.18.5" + resolved "https://registry.yarnpkg.com/@lerna/command/-/command-3.18.5.tgz#14c6d2454adbfd365f8027201523e6c289cd3cd9" + integrity sha512-36EnqR59yaTU4HrR1C9XDFti2jRx0BgpIUBeWn129LZZB8kAB3ov1/dJNa1KcNRKp91DncoKHLY99FZ6zTNpMQ== dependencies: - "@lerna/child-process" "3.14.2" - "@lerna/package-graph" "3.16.0" - "@lerna/project" "3.16.0" + "@lerna/child-process" "3.16.5" + "@lerna/package-graph" "3.18.5" + "@lerna/project" "3.18.0" "@lerna/validation-error" "3.13.0" "@lerna/write-log-file" "3.13.0" + clone-deep "^4.0.1" dedent "^0.7.0" execa "^1.0.0" is-ci "^2.0.0" - lodash "^4.17.14" npmlog "^4.1.2" -"@lerna/conventional-commits@3.16.0": - version "3.16.0" - resolved "https://registry.yarnpkg.com/@lerna/conventional-commits/-/conventional-commits-3.16.0.tgz#141a4e584d8765542e77fafe9a7448c6e48db196" +"@lerna/conventional-commits@3.18.5": + version "3.18.5" + resolved "https://registry.yarnpkg.com/@lerna/conventional-commits/-/conventional-commits-3.18.5.tgz#08efd2e5b45acfaf3f151a53a3ec7ecade58a7bc" + integrity sha512-qcvXIEJ3qSgalxXnQ7Yxp5H9Ta5TVyai6vEor6AAEHc20WiO7UIdbLDCxBtiiHMdGdpH85dTYlsoYUwsCJu3HQ== dependencies: "@lerna/validation-error" "3.13.0" conventional-changelog-angular "^5.0.3" @@ -2965,13 +2347,14 @@ fs-extra "^8.1.0" npmlog "^4.1.2" -"@lerna/create@3.16.0": - version "3.16.0" - resolved "https://registry.yarnpkg.com/@lerna/create/-/create-3.16.0.tgz#4de841ec7d98b29bb19fb7d6ad982e65f7a150e8" +"@lerna/create@3.18.5": + version "3.18.5" + resolved "https://registry.yarnpkg.com/@lerna/create/-/create-3.18.5.tgz#11ac539f069248eaf7bc4c42e237784330f4fc47" + integrity sha512-cHpjocbpKmLopCuZFI7cKEM3E/QY8y+yC7VtZ4FQRSaLU8D8i2xXtXmYaP1GOlVNavji0iwoXjuNpnRMInIr2g== dependencies: "@evocateur/pacote" "^9.6.3" - "@lerna/child-process" "3.14.2" - "@lerna/command" "3.16.0" + "@lerna/child-process" "3.16.5" + "@lerna/command" "3.18.5" "@lerna/npm-conf" "3.16.0" "@lerna/validation-error" "3.13.0" camelcase "^5.0.0" @@ -2988,44 +2371,52 @@ validate-npm-package-name "^3.0.0" whatwg-url "^7.0.0" -"@lerna/describe-ref@3.14.2": - version "3.14.2" - resolved "https://registry.yarnpkg.com/@lerna/describe-ref/-/describe-ref-3.14.2.tgz#edc3c973f5ca9728d23358c4f4d3b55a21f65be5" +"@lerna/describe-ref@3.16.5": + version "3.16.5" + resolved "https://registry.yarnpkg.com/@lerna/describe-ref/-/describe-ref-3.16.5.tgz#a338c25aaed837d3dc70b8a72c447c5c66346ac0" + integrity sha512-c01+4gUF0saOOtDBzbLMFOTJDHTKbDFNErEY6q6i9QaXuzy9LNN62z+Hw4acAAZuJQhrVWncVathcmkkjvSVGw== dependencies: - "@lerna/child-process" "3.14.2" + "@lerna/child-process" "3.16.5" npmlog "^4.1.2" -"@lerna/diff@3.16.0": - version "3.16.0" - resolved "https://registry.yarnpkg.com/@lerna/diff/-/diff-3.16.0.tgz#6d09a786f9f5b343a2fdc460eb0be08a05b420aa" +"@lerna/diff@3.18.5": + version "3.18.5" + resolved "https://registry.yarnpkg.com/@lerna/diff/-/diff-3.18.5.tgz#e9e2cb882f84d5b84f0487c612137305f07accbc" + integrity sha512-u90lGs+B8DRA9Z/2xX4YaS3h9X6GbypmGV6ITzx9+1Ga12UWGTVlKaCXBgONMBjzJDzAQOK8qPTwLA57SeBLgA== dependencies: - "@lerna/child-process" "3.14.2" - "@lerna/command" "3.16.0" + "@lerna/child-process" "3.16.5" + "@lerna/command" "3.18.5" "@lerna/validation-error" "3.13.0" npmlog "^4.1.2" -"@lerna/exec@3.16.0": - version "3.16.0" - resolved "https://registry.yarnpkg.com/@lerna/exec/-/exec-3.16.0.tgz#2b6c033cee46181b6eede0eb12aad5c2c0181e89" +"@lerna/exec@3.20.0": + version "3.20.0" + resolved "https://registry.yarnpkg.com/@lerna/exec/-/exec-3.20.0.tgz#29f0c01aee2340eb46f90706731fef2062a49639" + integrity sha512-pS1mmC7kzV668rHLWuv31ClngqeXjeHC8kJuM+W2D6IpUVMGQHLcCTYLudFgQsuKGVpl0DGNYG+sjLhAPiiu6A== dependencies: - "@lerna/child-process" "3.14.2" - "@lerna/command" "3.16.0" - "@lerna/filter-options" "3.16.0" - "@lerna/run-topologically" "3.16.0" + "@lerna/child-process" "3.16.5" + "@lerna/command" "3.18.5" + "@lerna/filter-options" "3.20.0" + "@lerna/profiler" "3.20.0" + "@lerna/run-topologically" "3.18.5" "@lerna/validation-error" "3.13.0" p-map "^2.1.0" -"@lerna/filter-options@3.16.0": - version "3.16.0" - resolved "https://registry.yarnpkg.com/@lerna/filter-options/-/filter-options-3.16.0.tgz#b1660b4480c02a5c6efa4d0cd98b9afde4ed0bba" +"@lerna/filter-options@3.20.0": + version "3.20.0" + resolved "https://registry.yarnpkg.com/@lerna/filter-options/-/filter-options-3.20.0.tgz#0f0f5d5a4783856eece4204708cc902cbc8af59b" + integrity sha512-bmcHtvxn7SIl/R9gpiNMVG7yjx7WyT0HSGw34YVZ9B+3xF/83N3r5Rgtjh4hheLZ+Q91Or0Jyu5O3Nr+AwZe2g== dependencies: - "@lerna/collect-updates" "3.16.0" - "@lerna/filter-packages" "3.16.0" + "@lerna/collect-updates" "3.20.0" + "@lerna/filter-packages" "3.18.0" dedent "^0.7.0" + figgy-pudding "^3.5.1" + npmlog "^4.1.2" -"@lerna/filter-packages@3.16.0": - version "3.16.0" - resolved "https://registry.yarnpkg.com/@lerna/filter-packages/-/filter-packages-3.16.0.tgz#7d34dc8530c71016263d6f67dc65308ecf11c9fc" +"@lerna/filter-packages@3.18.0": + version "3.18.0" + resolved "https://registry.yarnpkg.com/@lerna/filter-packages/-/filter-packages-3.18.0.tgz#6a7a376d285208db03a82958cfb8172e179b4e70" + integrity sha512-6/0pMM04bCHNATIOkouuYmPg6KH3VkPCIgTfQmdkPJTullERyEQfNUKikrefjxo1vHOoCACDpy65JYyKiAbdwQ== dependencies: "@lerna/validation-error" "3.13.0" multimatch "^3.0.0" @@ -3045,11 +2436,12 @@ ssri "^6.0.1" tar "^4.4.8" -"@lerna/github-client@3.16.0": - version "3.16.0" - resolved "https://registry.yarnpkg.com/@lerna/github-client/-/github-client-3.16.0.tgz#619874e461641d4f59ab1b3f1a7ba22dba88125d" +"@lerna/github-client@3.16.5": + version "3.16.5" + resolved "https://registry.yarnpkg.com/@lerna/github-client/-/github-client-3.16.5.tgz#2eb0235c3bf7a7e5d92d73e09b3761ab21f35c2e" + integrity sha512-rHQdn8Dv/CJrO3VouOP66zAcJzrHsm+wFuZ4uGAai2At2NkgKH+tpNhQy2H1PSC0Ezj9LxvdaHYrUzULqVK5Hw== dependencies: - "@lerna/child-process" "3.14.2" + "@lerna/child-process" "3.16.5" "@octokit/plugin-enterprise-rest" "^3.6.1" "@octokit/rest" "^16.28.4" git-url-parse "^11.1.2" @@ -3067,60 +2459,75 @@ version "3.13.0" resolved "https://registry.yarnpkg.com/@lerna/global-options/-/global-options-3.13.0.tgz#217662290db06ad9cf2c49d8e3100ee28eaebae1" -"@lerna/has-npm-version@3.16.0": - version "3.16.0" - resolved "https://registry.yarnpkg.com/@lerna/has-npm-version/-/has-npm-version-3.16.0.tgz#55764a4ce792f0c8553cf996a17f554b9e843288" +"@lerna/has-npm-version@3.16.5": + version "3.16.5" + resolved "https://registry.yarnpkg.com/@lerna/has-npm-version/-/has-npm-version-3.16.5.tgz#ab83956f211d8923ea6afe9b979b38cc73b15326" + integrity sha512-WL7LycR9bkftyqbYop5rEGJ9sRFIV55tSGmbN1HLrF9idwOCD7CLrT64t235t3t4O5gehDnwKI5h2U3oxTrF8Q== dependencies: - "@lerna/child-process" "3.14.2" + "@lerna/child-process" "3.16.5" semver "^6.2.0" -"@lerna/import@3.16.0": - version "3.16.0" - resolved "https://registry.yarnpkg.com/@lerna/import/-/import-3.16.0.tgz#b57cb453f4acfc60f6541fcbba10674055cb179d" +"@lerna/import@3.18.5": + version "3.18.5" + resolved "https://registry.yarnpkg.com/@lerna/import/-/import-3.18.5.tgz#a9c7d8601870729851293c10abd18b3707f7ba5e" + integrity sha512-PH0WVLEgp+ORyNKbGGwUcrueW89K3Iuk/DDCz8mFyG2IG09l/jOF0vzckEyGyz6PO5CMcz4TI1al/qnp3FrahQ== dependencies: - "@lerna/child-process" "3.14.2" - "@lerna/command" "3.16.0" - "@lerna/prompt" "3.13.0" + "@lerna/child-process" "3.16.5" + "@lerna/command" "3.18.5" + "@lerna/prompt" "3.18.5" "@lerna/pulse-till-done" "3.13.0" "@lerna/validation-error" "3.13.0" dedent "^0.7.0" fs-extra "^8.1.0" p-map-series "^1.0.0" -"@lerna/init@3.16.0": - version "3.16.0" - resolved "https://registry.yarnpkg.com/@lerna/init/-/init-3.16.0.tgz#31e0d66bbededee603338b487a42674a072b7a7d" +"@lerna/info@3.20.0": + version "3.20.0" + resolved "https://registry.yarnpkg.com/@lerna/info/-/info-3.20.0.tgz#3a5212f3029f2bc6255f9533bdf4bcb120ef329a" + integrity sha512-Rsz+KQF9mczbGUbPTrtOed1N0C+cA08Qz0eX/oI+NNjvsryZIju/o7uedG4I3P55MBiAioNrJI88fHH3eTgYug== dependencies: - "@lerna/child-process" "3.14.2" - "@lerna/command" "3.16.0" + "@lerna/command" "3.18.5" + "@lerna/output" "3.13.0" + envinfo "^7.3.1" + +"@lerna/init@3.18.5": + version "3.18.5" + resolved "https://registry.yarnpkg.com/@lerna/init/-/init-3.18.5.tgz#86dd0b2b3290755a96975069b5cb007f775df9f5" + integrity sha512-oCwipWrha98EcJAHm8AGd2YFFLNI7AW9AWi0/LbClj1+XY9ah+uifXIgYGfTk63LbgophDd8936ZEpHMxBsbAg== + dependencies: + "@lerna/child-process" "3.16.5" + "@lerna/command" "3.18.5" fs-extra "^8.1.0" p-map "^2.1.0" write-json-file "^3.2.0" -"@lerna/link@3.16.2": - version "3.16.2" - resolved "https://registry.yarnpkg.com/@lerna/link/-/link-3.16.2.tgz#6c3a5658f6448a64dddca93d9348ac756776f6f6" +"@lerna/link@3.18.5": + version "3.18.5" + resolved "https://registry.yarnpkg.com/@lerna/link/-/link-3.18.5.tgz#f24347e4f0b71d54575bd37cfa1794bc8ee91b18" + integrity sha512-xTN3vktJpkT7Nqc3QkZRtHO4bT5NvuLMtKNIBDkks0HpGxC9PRyyqwOoCoh1yOGbrWIuDezhfMg3Qow+6I69IQ== dependencies: - "@lerna/command" "3.16.0" - "@lerna/package-graph" "3.16.0" - "@lerna/symlink-dependencies" "3.16.2" + "@lerna/command" "3.18.5" + "@lerna/package-graph" "3.18.5" + "@lerna/symlink-dependencies" "3.17.0" p-map "^2.1.0" slash "^2.0.0" -"@lerna/list@3.16.0": - version "3.16.0" - resolved "https://registry.yarnpkg.com/@lerna/list/-/list-3.16.0.tgz#883c00b2baf1e03c93e54391372f67a01b773c2f" +"@lerna/list@3.20.0": + version "3.20.0" + resolved "https://registry.yarnpkg.com/@lerna/list/-/list-3.20.0.tgz#7e67cc29c5cf661cfd097e8a7c2d3dcce7a81029" + integrity sha512-fXTicPrfioVnRzknyPawmYIVkzDRBaQqk9spejS1S3O1DOidkihK0xxNkr8HCVC0L22w6f92g83qWDp2BYRUbg== dependencies: - "@lerna/command" "3.16.0" - "@lerna/filter-options" "3.16.0" - "@lerna/listable" "3.16.0" + "@lerna/command" "3.18.5" + "@lerna/filter-options" "3.20.0" + "@lerna/listable" "3.18.5" "@lerna/output" "3.13.0" -"@lerna/listable@3.16.0": - version "3.16.0" - resolved "https://registry.yarnpkg.com/@lerna/listable/-/listable-3.16.0.tgz#e6dc47a2d5a6295222663486f50e5cffc580f043" +"@lerna/listable@3.18.5": + version "3.18.5" + resolved "https://registry.yarnpkg.com/@lerna/listable/-/listable-3.18.5.tgz#e82798405b5ed8fc51843c8ef1e7a0e497388a1a" + integrity sha512-Sdr3pVyaEv5A7ZkGGYR7zN+tTl2iDcinryBPvtuv20VJrXBE8wYcOks1edBTcOWsPjCE/rMP4bo1pseyk3UTsg== dependencies: - "@lerna/query-graph" "3.16.0" + "@lerna/query-graph" "3.18.5" chalk "^2.3.1" columnify "^1.5.4" @@ -3140,21 +2547,23 @@ config-chain "^1.1.11" pify "^4.0.1" -"@lerna/npm-dist-tag@3.16.0": - version "3.16.0" - resolved "https://registry.yarnpkg.com/@lerna/npm-dist-tag/-/npm-dist-tag-3.16.0.tgz#b2184cee5e1f291277396854820e1117a544b7ee" +"@lerna/npm-dist-tag@3.18.5": + version "3.18.5" + resolved "https://registry.yarnpkg.com/@lerna/npm-dist-tag/-/npm-dist-tag-3.18.5.tgz#9ef9abb7c104077b31f6fab22cc73b314d54ac55" + integrity sha512-xw0HDoIG6HreVsJND9/dGls1c+lf6vhu7yJoo56Sz5bvncTloYGLUppIfDHQr4ZvmPCK8rsh0euCVh2giPxzKQ== dependencies: "@evocateur/npm-registry-fetch" "^4.0.0" - "@lerna/otplease" "3.16.0" + "@lerna/otplease" "3.18.5" figgy-pudding "^3.5.1" npm-package-arg "^6.1.0" npmlog "^4.1.2" -"@lerna/npm-install@3.16.0": - version "3.16.0" - resolved "https://registry.yarnpkg.com/@lerna/npm-install/-/npm-install-3.16.0.tgz#8ec76a7a13b183bde438fd46296bf7a0d6f86017" +"@lerna/npm-install@3.16.5": + version "3.16.5" + resolved "https://registry.yarnpkg.com/@lerna/npm-install/-/npm-install-3.16.5.tgz#d6bfdc16f81285da66515ae47924d6e278d637d3" + integrity sha512-hfiKk8Eku6rB9uApqsalHHTHY+mOrrHeWEs+gtg7+meQZMTS3kzv4oVp5cBZigndQr3knTLjwthT/FX4KvseFg== dependencies: - "@lerna/child-process" "3.14.2" + "@lerna/child-process" "3.16.5" "@lerna/get-npm-exec-opts" "3.13.0" fs-extra "^8.1.0" npm-package-arg "^6.1.0" @@ -3162,12 +2571,13 @@ signal-exit "^3.0.2" write-pkg "^3.1.0" -"@lerna/npm-publish@3.16.2": - version "3.16.2" - resolved "https://registry.yarnpkg.com/@lerna/npm-publish/-/npm-publish-3.16.2.tgz#a850b54739446c4aa766a0ceabfa9283bb0be676" +"@lerna/npm-publish@3.18.5": + version "3.18.5" + resolved "https://registry.yarnpkg.com/@lerna/npm-publish/-/npm-publish-3.18.5.tgz#240e4039959fd9816b49c5b07421e11b5cb000af" + integrity sha512-3etLT9+2L8JAx5F8uf7qp6iAtOLSMj+ZYWY6oUgozPi/uLqU0/gsMsEXh3F0+YVW33q0M61RpduBoAlOOZnaTg== dependencies: "@evocateur/libnpmpublish" "^1.2.2" - "@lerna/otplease" "3.16.0" + "@lerna/otplease" "3.18.5" "@lerna/run-lifecycle" "3.16.2" figgy-pudding "^3.5.1" fs-extra "^8.1.0" @@ -3176,19 +2586,21 @@ pify "^4.0.1" read-package-json "^2.0.13" -"@lerna/npm-run-script@3.14.2": - version "3.14.2" - resolved "https://registry.yarnpkg.com/@lerna/npm-run-script/-/npm-run-script-3.14.2.tgz#8c518ea9d241a641273e77aad6f6fddc16779c3f" +"@lerna/npm-run-script@3.16.5": + version "3.16.5" + resolved "https://registry.yarnpkg.com/@lerna/npm-run-script/-/npm-run-script-3.16.5.tgz#9c2ec82453a26c0b46edc0bb7c15816c821f5c15" + integrity sha512-1asRi+LjmVn3pMjEdpqKJZFT/3ZNpb+VVeJMwrJaV/3DivdNg7XlPK9LTrORuKU4PSvhdEZvJmSlxCKyDpiXsQ== dependencies: - "@lerna/child-process" "3.14.2" + "@lerna/child-process" "3.16.5" "@lerna/get-npm-exec-opts" "3.13.0" npmlog "^4.1.2" -"@lerna/otplease@3.16.0": - version "3.16.0" - resolved "https://registry.yarnpkg.com/@lerna/otplease/-/otplease-3.16.0.tgz#de66aec4f3e835a465d7bea84b58a4ab6590a0fa" +"@lerna/otplease@3.18.5": + version "3.18.5" + resolved "https://registry.yarnpkg.com/@lerna/otplease/-/otplease-3.18.5.tgz#b77b8e760b40abad9f7658d988f3ea77d4fd0231" + integrity sha512-S+SldXAbcXTEDhzdxYLU0ZBKuYyURP/ND2/dK6IpKgLxQYh/z4ScljPDMyKymmEvgiEJmBsPZAAPfmNPEzxjog== dependencies: - "@lerna/prompt" "3.13.0" + "@lerna/prompt" "3.18.5" figgy-pudding "^3.5.1" "@lerna/output@3.13.0": @@ -3197,9 +2609,10 @@ dependencies: npmlog "^4.1.2" -"@lerna/pack-directory@3.16.2": - version "3.16.2" - resolved "https://registry.yarnpkg.com/@lerna/pack-directory/-/pack-directory-3.16.2.tgz#de41b544c29d67f189a5902a2965dd8c8c3e64d9" +"@lerna/pack-directory@3.16.4": + version "3.16.4" + resolved "https://registry.yarnpkg.com/@lerna/pack-directory/-/pack-directory-3.16.4.tgz#3eae5f91bdf5acfe0384510ed53faddc4c074693" + integrity sha512-uxSF0HZeGyKaaVHz5FroDY9A5NDDiCibrbYR6+khmrhZtY0Bgn6hWq8Gswl9iIlymA+VzCbshWIMX4o2O8C8ng== dependencies: "@lerna/get-packed" "3.16.0" "@lerna/package" "3.16.0" @@ -3210,9 +2623,10 @@ tar "^4.4.10" temp-write "^3.4.0" -"@lerna/package-graph@3.16.0": - version "3.16.0" - resolved "https://registry.yarnpkg.com/@lerna/package-graph/-/package-graph-3.16.0.tgz#909c90fb41e02f2c19387342d2a5eefc36d56836" +"@lerna/package-graph@3.18.5": + version "3.18.5" + resolved "https://registry.yarnpkg.com/@lerna/package-graph/-/package-graph-3.18.5.tgz#c740e2ea3578d059e551633e950690831b941f6b" + integrity sha512-8QDrR9T+dBegjeLr+n9WZTVxUYUhIUjUgZ0gvNxUBN8S1WB9r6H5Yk56/MVaB64tA3oGAN9IIxX6w0WvTfFudA== dependencies: "@lerna/prerelease-id-from-version" "3.16.0" "@lerna/validation-error" "3.13.0" @@ -3234,9 +2648,20 @@ dependencies: semver "^6.2.0" -"@lerna/project@3.16.0": - version "3.16.0" - resolved "https://registry.yarnpkg.com/@lerna/project/-/project-3.16.0.tgz#2469a4e346e623fd922f38f5a12931dfb8f2a946" +"@lerna/profiler@3.20.0": + version "3.20.0" + resolved "https://registry.yarnpkg.com/@lerna/profiler/-/profiler-3.20.0.tgz#0f6dc236f4ea8f9ea5f358c6703305a4f32ad051" + integrity sha512-bh8hKxAlm6yu8WEOvbLENm42i2v9SsR4WbrCWSbsmOElx3foRnMlYk7NkGECa+U5c3K4C6GeBbwgqs54PP7Ljg== + dependencies: + figgy-pudding "^3.5.1" + fs-extra "^8.1.0" + npmlog "^4.1.2" + upath "^1.2.0" + +"@lerna/project@3.18.0": + version "3.18.0" + resolved "https://registry.yarnpkg.com/@lerna/project/-/project-3.18.0.tgz#56feee01daeb42c03cbdf0ed8a2a10cbce32f670" + integrity sha512-+LDwvdAp0BurOAWmeHE3uuticsq9hNxBI0+FMHiIai8jrygpJGahaQrBYWpwbshbQyVLeQgx3+YJdW2TbEdFWA== dependencies: "@lerna/package" "3.16.0" "@lerna/validation-error" "3.13.0" @@ -3251,39 +2676,41 @@ resolve-from "^4.0.0" write-json-file "^3.2.0" -"@lerna/prompt@3.13.0": - version "3.13.0" - resolved "https://registry.yarnpkg.com/@lerna/prompt/-/prompt-3.13.0.tgz#53571462bb3f5399cc1ca6d335a411fe093426a5" +"@lerna/prompt@3.18.5": + version "3.18.5" + resolved "https://registry.yarnpkg.com/@lerna/prompt/-/prompt-3.18.5.tgz#628cd545f225887d060491ab95df899cfc5218a1" + integrity sha512-rkKj4nm1twSbBEb69+Em/2jAERK8htUuV8/xSjN0NPC+6UjzAwY52/x9n5cfmpa9lyKf/uItp7chCI7eDmNTKQ== dependencies: inquirer "^6.2.0" npmlog "^4.1.2" -"@lerna/publish@3.16.2": - version "3.16.2" - resolved "https://registry.yarnpkg.com/@lerna/publish/-/publish-3.16.2.tgz#c3120f962ac2803f7263355222258c24ea62e99a" +"@lerna/publish@3.20.2": + version "3.20.2" + resolved "https://registry.yarnpkg.com/@lerna/publish/-/publish-3.20.2.tgz#a45d29813099b3249657ea913d0dc3f8ebc5cc2e" + integrity sha512-N7Y6PdhJ+tYQPdI1tZum8W25cDlTp4D6brvRacKZusweWexxaopbV8RprBaKexkEX/KIbncuADq7qjDBdQHzaA== dependencies: "@evocateur/libnpmaccess" "^3.1.2" "@evocateur/npm-registry-fetch" "^4.0.0" "@evocateur/pacote" "^9.6.3" - "@lerna/check-working-tree" "3.14.2" - "@lerna/child-process" "3.14.2" - "@lerna/collect-updates" "3.16.0" - "@lerna/command" "3.16.0" - "@lerna/describe-ref" "3.14.2" + "@lerna/check-working-tree" "3.16.5" + "@lerna/child-process" "3.16.5" + "@lerna/collect-updates" "3.20.0" + "@lerna/command" "3.18.5" + "@lerna/describe-ref" "3.16.5" "@lerna/log-packed" "3.16.0" "@lerna/npm-conf" "3.16.0" - "@lerna/npm-dist-tag" "3.16.0" - "@lerna/npm-publish" "3.16.2" - "@lerna/otplease" "3.16.0" + "@lerna/npm-dist-tag" "3.18.5" + "@lerna/npm-publish" "3.18.5" + "@lerna/otplease" "3.18.5" "@lerna/output" "3.13.0" - "@lerna/pack-directory" "3.16.2" + "@lerna/pack-directory" "3.16.4" "@lerna/prerelease-id-from-version" "3.16.0" - "@lerna/prompt" "3.13.0" + "@lerna/prompt" "3.18.5" "@lerna/pulse-till-done" "3.13.0" "@lerna/run-lifecycle" "3.16.2" - "@lerna/run-topologically" "3.16.0" + "@lerna/run-topologically" "3.18.5" "@lerna/validation-error" "3.13.0" - "@lerna/version" "3.16.2" + "@lerna/version" "3.20.2" figgy-pudding "^3.5.1" fs-extra "^8.1.0" npm-package-arg "^6.1.0" @@ -3299,11 +2726,12 @@ dependencies: npmlog "^4.1.2" -"@lerna/query-graph@3.16.0": - version "3.16.0" - resolved "https://registry.yarnpkg.com/@lerna/query-graph/-/query-graph-3.16.0.tgz#e6a46ebcd9d5b03f018a06eca2b471735353953c" +"@lerna/query-graph@3.18.5": + version "3.18.5" + resolved "https://registry.yarnpkg.com/@lerna/query-graph/-/query-graph-3.18.5.tgz#df4830bb5155273003bf35e8dda1c32d0927bd86" + integrity sha512-50Lf4uuMpMWvJ306be3oQDHrWV42nai9gbIVByPBYJuVW8dT8O8pA3EzitNYBUdLL9/qEVbrR0ry1HD7EXwtRA== dependencies: - "@lerna/package-graph" "3.16.0" + "@lerna/package-graph" "3.18.5" figgy-pudding "^3.5.1" "@lerna/resolve-symlink@3.16.0": @@ -3314,11 +2742,12 @@ npmlog "^4.1.2" read-cmd-shim "^1.0.1" -"@lerna/rimraf-dir@3.14.2": - version "3.14.2" - resolved "https://registry.yarnpkg.com/@lerna/rimraf-dir/-/rimraf-dir-3.14.2.tgz#103a49882abd85d42285d05cc76869b89f21ffd2" +"@lerna/rimraf-dir@3.16.5": + version "3.16.5" + resolved "https://registry.yarnpkg.com/@lerna/rimraf-dir/-/rimraf-dir-3.16.5.tgz#04316ab5ffd2909657aaf388ea502cb8c2f20a09" + integrity sha512-bQlKmO0pXUsXoF8lOLknhyQjOZsCc0bosQDoX4lujBXSWxHVTg1VxURtWf2lUjz/ACsJVDfvHZbDm8kyBk5okA== dependencies: - "@lerna/child-process" "3.14.2" + "@lerna/child-process" "3.16.5" npmlog "^4.1.2" path-exists "^3.0.0" rimraf "^2.6.2" @@ -3332,50 +2761,48 @@ npm-lifecycle "^3.1.2" npmlog "^4.1.2" -"@lerna/run-parallel-batches@3.16.0": - version "3.16.0" - resolved "https://registry.yarnpkg.com/@lerna/run-parallel-batches/-/run-parallel-batches-3.16.0.tgz#5ace7911a2dd31dfd1e53c61356034e27df0e1fb" - dependencies: - p-map "^2.1.0" - p-map-series "^1.0.0" - -"@lerna/run-topologically@3.16.0": - version "3.16.0" - resolved "https://registry.yarnpkg.com/@lerna/run-topologically/-/run-topologically-3.16.0.tgz#39e29cfc628bbc8e736d8e0d0e984997ac01bbf5" +"@lerna/run-topologically@3.18.5": + version "3.18.5" + resolved "https://registry.yarnpkg.com/@lerna/run-topologically/-/run-topologically-3.18.5.tgz#3cd639da20e967d7672cb88db0f756b92f2fdfc3" + integrity sha512-6N1I+6wf4hLOnPW+XDZqwufyIQ6gqoPfHZFkfWlvTQ+Ue7CuF8qIVQ1Eddw5HKQMkxqN10thKOFfq/9NQZ4NUg== dependencies: - "@lerna/query-graph" "3.16.0" + "@lerna/query-graph" "3.18.5" figgy-pudding "^3.5.1" p-queue "^4.0.0" -"@lerna/run@3.16.0": - version "3.16.0" - resolved "https://registry.yarnpkg.com/@lerna/run/-/run-3.16.0.tgz#1ea568c6f303e47fa00b3403a457836d40738fd2" +"@lerna/run@3.20.0": + version "3.20.0" + resolved "https://registry.yarnpkg.com/@lerna/run/-/run-3.20.0.tgz#a479f7c42bdf9ebabb3a1e5a2bdebb7a8d201151" + integrity sha512-9U3AqeaCeB7KsGS9oyKNp62s9vYoULg/B4cqXTKZkc+OKL6QOEjYHYVSBcMK9lUXrMjCjDIuDSX3PnTCPxQ2Dw== dependencies: - "@lerna/command" "3.16.0" - "@lerna/filter-options" "3.16.0" - "@lerna/npm-run-script" "3.14.2" + "@lerna/command" "3.18.5" + "@lerna/filter-options" "3.20.0" + "@lerna/npm-run-script" "3.16.5" "@lerna/output" "3.13.0" - "@lerna/run-topologically" "3.16.0" + "@lerna/profiler" "3.20.0" + "@lerna/run-topologically" "3.18.5" "@lerna/timer" "3.13.0" "@lerna/validation-error" "3.13.0" p-map "^2.1.0" -"@lerna/symlink-binary@3.16.2": - version "3.16.2" - resolved "https://registry.yarnpkg.com/@lerna/symlink-binary/-/symlink-binary-3.16.2.tgz#f98a3d9da9e56f1d302dc0d5c2efeb951483ee66" +"@lerna/symlink-binary@3.17.0": + version "3.17.0" + resolved "https://registry.yarnpkg.com/@lerna/symlink-binary/-/symlink-binary-3.17.0.tgz#8f8031b309863814883d3f009877f82e38aef45a" + integrity sha512-RLpy9UY6+3nT5J+5jkM5MZyMmjNHxZIZvXLV+Q3MXrf7Eaa1hNqyynyj4RO95fxbS+EZc4XVSk25DGFQbcRNSQ== dependencies: "@lerna/create-symlink" "3.16.2" "@lerna/package" "3.16.0" fs-extra "^8.1.0" p-map "^2.1.0" -"@lerna/symlink-dependencies@3.16.2": - version "3.16.2" - resolved "https://registry.yarnpkg.com/@lerna/symlink-dependencies/-/symlink-dependencies-3.16.2.tgz#91d9909d35897aebd76a03644a00cd03c4128240" +"@lerna/symlink-dependencies@3.17.0": + version "3.17.0" + resolved "https://registry.yarnpkg.com/@lerna/symlink-dependencies/-/symlink-dependencies-3.17.0.tgz#48d6360e985865a0e56cd8b51b308a526308784a" + integrity sha512-KmjU5YT1bpt6coOmdFueTJ7DFJL4H1w5eF8yAQ2zsGNTtZ+i5SGFBWpb9AQaw168dydc3s4eu0W0Sirda+F59Q== dependencies: "@lerna/create-symlink" "3.16.2" "@lerna/resolve-symlink" "3.16.0" - "@lerna/symlink-binary" "3.16.2" + "@lerna/symlink-binary" "3.17.0" fs-extra "^8.1.0" p-finally "^1.0.0" p-map "^2.1.0" @@ -3391,25 +2818,27 @@ dependencies: npmlog "^4.1.2" -"@lerna/version@3.16.2": - version "3.16.2" - resolved "https://registry.yarnpkg.com/@lerna/version/-/version-3.16.2.tgz#1ce6232109cdd3070b9196a6cacf9ef02b807898" - dependencies: - "@lerna/check-working-tree" "3.14.2" - "@lerna/child-process" "3.14.2" - "@lerna/collect-updates" "3.16.0" - "@lerna/command" "3.16.0" - "@lerna/conventional-commits" "3.16.0" - "@lerna/github-client" "3.16.0" +"@lerna/version@3.20.2": + version "3.20.2" + resolved "https://registry.yarnpkg.com/@lerna/version/-/version-3.20.2.tgz#3709141c0f537741d9bc10cb24f56897bcb30428" + integrity sha512-ckBJMaBWc+xJen0cMyCE7W67QXLLrc0ELvigPIn8p609qkfNM0L0CF803MKxjVOldJAjw84b8ucNWZLvJagP/Q== + dependencies: + "@lerna/check-working-tree" "3.16.5" + "@lerna/child-process" "3.16.5" + "@lerna/collect-updates" "3.20.0" + "@lerna/command" "3.18.5" + "@lerna/conventional-commits" "3.18.5" + "@lerna/github-client" "3.16.5" "@lerna/gitlab-client" "3.15.0" "@lerna/output" "3.13.0" "@lerna/prerelease-id-from-version" "3.16.0" - "@lerna/prompt" "3.13.0" + "@lerna/prompt" "3.18.5" "@lerna/run-lifecycle" "3.16.2" - "@lerna/run-topologically" "3.16.0" + "@lerna/run-topologically" "3.18.5" "@lerna/validation-error" "3.13.0" chalk "^2.3.1" dedent "^0.7.0" + load-json-file "^5.3.0" minimatch "^3.0.4" npmlog "^4.1.2" p-map "^2.1.0" @@ -3419,6 +2848,7 @@ semver "^6.2.0" slash "^2.0.0" temp-write "^3.4.0" + write-json-file "^3.2.0" "@lerna/write-log-file@3.13.0": version "3.13.0" @@ -3686,6 +3116,13 @@ version "0.7.0" resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.7.0.tgz#9a06f4f137ee84d7df0460c1fdb1135ffa6c50fd" +"@sinonjs/commons@^1.7.0": + version "1.7.1" + resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.7.1.tgz#da5fd19a5f71177a53778073978873964f49acf1" + integrity sha512-Debi3Baff1Qu1Unc3mjJ96MgpbwTn43S1+9yJ0llWygPwDNu2aaWBD6yc9y/Z8XDRNhx7U+u2UDg2OGQXkclUQ== + dependencies: + type-detect "4.0.8" + "@svgr/core@^2.4.1": version "2.4.1" resolved "https://registry.yarnpkg.com/@svgr/core/-/core-2.4.1.tgz#03a407c28c4a1d84305ae95021e8eabfda8fa731" @@ -3954,9 +3391,17 @@ version "3.4.1" resolved "https://registry.npmjs.org/@types/dom-helpers/-/dom-helpers-3.4.1.tgz#9a9b1be9cbbf289d2192964d65064f1279a3b5ed" -"@types/enzyme@3.9.0": - version "3.9.0" - resolved "https://registry.yarnpkg.com/@types/enzyme/-/enzyme-3.9.0.tgz#a81c91e2dfd2d70e67f013f2c0e5efed6df05489" +"@types/enzyme-adapter-react-16@^1.0.6": + version "1.0.6" + resolved "https://registry.yarnpkg.com/@types/enzyme-adapter-react-16/-/enzyme-adapter-react-16-1.0.6.tgz#8aca7ae2fd6c7137d869b6616e696d21bb8b0cec" + integrity sha512-VonDkZ15jzqDWL8mPFIQnnLtjwebuL9YnDkqeCDYnB4IVgwUm0mwKkqhrxLL6mb05xm7qqa3IE95m8CZE9imCg== + dependencies: + "@types/enzyme" "*" + +"@types/enzyme@*", "@types/enzyme@^3.10.5": + version "3.10.5" + resolved "https://registry.yarnpkg.com/@types/enzyme/-/enzyme-3.10.5.tgz#fe7eeba3550369eed20e7fb565bfb74eec44f1f0" + integrity sha512-R+phe509UuUYy9Tk0YlSbipRpfVtIzb/9BHn5pTEtjJTF5LXvUjrIQcZvNyANNEyFrd2YGs196PniNT1fgvOQA== dependencies: "@types/cheerio" "*" "@types/react" "*" @@ -4023,7 +3468,7 @@ "@types/through" "*" rxjs ">=6.4.0" -"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0": +"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": version "2.0.1" resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.1.tgz#42995b446db9a48a11a07ec083499a860e9138ff" @@ -4050,6 +3495,14 @@ dependencies: "@types/jest-diff" "*" +"@types/jest@^25.1.4": + version "25.1.4" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-25.1.4.tgz#9e9f1e59dda86d3fd56afce71d1ea1b331f6f760" + integrity sha512-QDDY2uNAhCV7TMCITrxz+MRk1EizcsevzfeS6LykIlq2V1E5oO4wXG8V2ZEd9w7Snxeeagk46YbMgZ8ESHx3sw== + dependencies: + jest-diff "^25.1.0" + pretty-format "^25.1.0" + "@types/json-schema@^7.0.3": version "7.0.3" resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.3.tgz#bdfd69d61e464dcc81b25159c270d75a73c1a636" @@ -4095,6 +3548,11 @@ version "4.0.0" resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" +"@types/prettier@^1.19.0": + version "1.19.1" + resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-1.19.1.tgz#33509849f8e679e4add158959fdb086440e9553f" + integrity sha512-5qOlnZscTn4xxM5MeGXAMOsIOIKIbh9e85zJWfBRVPlRMEVawzoPhINYbRGkBZCI8LxvBe7tJCdWiarA99OZfQ== + "@types/prop-types@*", "@types/prop-types@^15.7.0": version "15.7.3" resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.3.tgz#2ab0d5da2e5815f94b0b9d4b95d1e5f243ab2ca7" @@ -4220,28 +3678,12 @@ version "13.1.0" resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-13.1.0.tgz#c563aa192f39350a1d18da36c5a8da382bbd8228" -"@types/yargs@^13.0.0": - version "13.0.3" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-13.0.3.tgz#76482af3981d4412d65371a318f992d33464a380" - dependencies: - "@types/yargs-parser" "*" - "@types/yargs@^15.0.0": version "15.0.3" resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.3.tgz#41453a0bc7ab393e995d1f5451455638edbd2baf" dependencies: "@types/yargs-parser" "*" -"@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.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.24.0": version "2.24.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.24.0.tgz#a86cf618c965a462cddf3601f594544b134d6d68" @@ -4253,13 +3695,15 @@ regexpp "^3.0.0" tsutils "^3.17.1" -"@typescript-eslint/experimental-utils@2.18.0": - version "2.18.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-2.18.0.tgz#e4eab839082030282496c1439bbf9fdf2a4f3da8" +"@typescript-eslint/eslint-plugin@^2.26.0": + version "2.26.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.26.0.tgz#04c96560c8981421e5a9caad8394192363cc423f" + integrity sha512-4yUnLv40bzfzsXcTAtZyTjbiGUXMrcIJcIMioI22tSOyAxpdXiZ4r7YQUU8Jj6XXrLz9d5aMHPQf5JFR7h27Nw== dependencies: - "@types/json-schema" "^7.0.3" - "@typescript-eslint/typescript-estree" "2.18.0" - eslint-scope "^5.0.0" + "@typescript-eslint/experimental-utils" "2.26.0" + functional-red-black-tree "^1.0.1" + regexpp "^3.0.0" + tsutils "^3.17.1" "@typescript-eslint/experimental-utils@2.24.0": version "2.24.0" @@ -4270,14 +3714,15 @@ "@typescript-eslint/typescript-estree" "2.24.0" eslint-scope "^5.0.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" +"@typescript-eslint/experimental-utils@2.26.0": + version "2.26.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-2.26.0.tgz#063390c404d9980767d76274df386c0aa675d91d" + integrity sha512-RELVoH5EYd+JlGprEyojUv9HeKcZqF7nZUGSblyAw1FwOGNnmQIU8kxJ69fttQvEwCsX5D6ECJT8GTozxrDKVQ== dependencies: - "@types/eslint-visitor-keys" "^1.0.0" - "@typescript-eslint/experimental-utils" "2.18.0" - "@typescript-eslint/typescript-estree" "2.18.0" - eslint-visitor-keys "^1.1.0" + "@types/json-schema" "^7.0.3" + "@typescript-eslint/typescript-estree" "2.26.0" + eslint-scope "^5.0.0" + eslint-utils "^2.0.0" "@typescript-eslint/parser@^2.24.0": version "2.24.0" @@ -4289,9 +3734,20 @@ "@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" +"@typescript-eslint/parser@^2.26.0": + version "2.26.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-2.26.0.tgz#385463615818b33acb72a25b39c03579df93d76f" + integrity sha512-+Xj5fucDtdKEVGSh9353wcnseMRkPpEAOY96EEenN7kJVrLqy/EVwtIh3mxcUz8lsFXW1mT5nN5vvEam/a5HiQ== + dependencies: + "@types/eslint-visitor-keys" "^1.0.0" + "@typescript-eslint/experimental-utils" "2.26.0" + "@typescript-eslint/typescript-estree" "2.26.0" + eslint-visitor-keys "^1.1.0" + +"@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" @@ -4301,10 +3757,10 @@ semver "^6.3.0" tsutils "^3.17.1" -"@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== +"@typescript-eslint/typescript-estree@2.26.0": + version "2.26.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-2.26.0.tgz#d8132cf1ee8a72234f996519a47d8a9118b57d56" + integrity sha512-3x4SyZCLB4zsKsjuhxDLeVJN6W29VwBnYpCsZ7vIdPel9ZqLfIZJgJXO47MNUkurGpQuIBALdPQKtsSnWpE1Yg== dependencies: debug "^4.1.1" eslint-visitor-keys "^1.1.0" @@ -4735,22 +4191,10 @@ ansi-align@^3.0.0: dependencies: string-width "^3.0.0" -ansi-colors@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-1.1.0.tgz#6374b4dd5d4718ff3ce27a671a3b1cad077132a9" - dependencies: - ansi-wrap "^0.1.0" - ansi-colors@^3.0.0: version "3.2.4" resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.4.tgz#e3a3da4bfbae6c86a9c285625de124a234026fbf" -ansi-cyan@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/ansi-cyan/-/ansi-cyan-0.1.1.tgz#538ae528af8982f28ae30d86f2f17456d2609873" - dependencies: - ansi-wrap "0.1.0" - ansi-escape-sequences@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/ansi-escape-sequences/-/ansi-escape-sequences-3.0.0.tgz#1c18394b6af9b76ff9a63509fa497669fd2ce53e" @@ -4777,22 +4221,10 @@ ansi-escapes@^4.2.1: dependencies: type-fest "^0.5.2" -ansi-gray@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/ansi-gray/-/ansi-gray-0.1.1.tgz#2962cf54ec9792c48510a3deb524436861ef7251" - dependencies: - ansi-wrap "0.1.0" - 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" -ansi-red@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/ansi-red/-/ansi-red-0.1.1.tgz#8c638f9d1080800a353c9c28c8a81ca4705d946c" - dependencies: - ansi-wrap "0.1.0" - ansi-regex@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" @@ -4826,10 +4258,6 @@ ansi-styles@^4.0.0, ansi-styles@^4.1.0: "@types/color-name" "^1.1.1" color-convert "^2.0.1" -ansi-wrap@0.1.0, ansi-wrap@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/ansi-wrap/-/ansi-wrap-0.1.0.tgz#a82250ddb0015e9a27ca82e82ea603bbfa45efaf" - ansi@^0.3.0, ansi@~0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/ansi/-/ansi-0.3.1.tgz#0c42d4fb17160d5a9af1e484bace1c66922c1b21" @@ -4858,12 +4286,6 @@ append-transform@^0.4.0: dependencies: default-require-extensions "^1.0.0" -append-transform@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/append-transform/-/append-transform-1.0.0.tgz#046a52ae582a228bd72f58acfbe2967c678759ab" - 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" @@ -4905,13 +4327,6 @@ aria-query@^3.0.0: ast-types-flow "0.0.7" commander "^2.11.0" -arr-diff@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-1.1.0.tgz#687c32758163588fef7de7b36fabe495eb1a399a" - dependencies: - arr-flatten "^1.0.1" - array-slice "^0.2.3" - arr-diff@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" @@ -4926,10 +4341,6 @@ arr-flatten@^1.0.1, arr-flatten@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" -arr-union@^2.0.1: - version "2.1.0" - resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-2.1.0.tgz#20f9eab5ec70f5c7d215b1077b1c39161d292c7d" - arr-union@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" @@ -5017,10 +4428,6 @@ array-reduce@~0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/array-reduce/-/array-reduce-0.0.0.tgz#173899d3ffd1c7d9383e4479525dbe278cab5f2b" -array-slice@^0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/array-slice/-/array-slice-0.2.3.tgz#dd3cfb80ed7973a75117cdac69b0b99ec86186f5" - array-slice@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/array-slice/-/array-slice-1.1.0.tgz#e368ea15f89bc7069f7ffb89aec3a6c7d4ac22d4" @@ -5062,6 +4469,14 @@ array.prototype.flat@^1.2.1: es-abstract "^1.15.0" function-bind "^1.1.1" +array.prototype.flat@^1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.3.tgz#0de82b426b0318dbfdb940089e38b043d37f6c7b" + integrity sha512-gBlRZV0VSmfPIeWfuuy56XZMvbVfbEUnOXUvt3F/eUUUSyzlgLxhEX4YAEpxNAogRGehPSnfXyPtYyKAhkzQhQ== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.0-next.1" + arraybuffer.slice@~0.0.7: version "0.0.7" resolved "https://registry.yarnpkg.com/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz#3bbc4275dd584cc1b10809b89d4e8b63a69e7675" @@ -5254,7 +4669,7 @@ babel-core@7.0.0-bridge.0: version "7.0.0-bridge.0" resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-7.0.0-bridge.0.tgz#95a492ddd90f9b4e9a4a1da14eb335b87b634ece" -babel-core@^6.0.0, babel-core@^6.26.0, babel-core@^6.7.2: +babel-core@^6.0.0, babel-core@^6.26.0: version "6.26.3" resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.3.tgz#b2e2f09e342d0f0c88e2f02e067794125e75c207" dependencies: @@ -5320,74 +4735,6 @@ babel-generator@^6.18.0, babel-generator@^6.26.0: source-map "^0.5.7" trim-right "^1.0.1" -babel-helper-builder-react-jsx@^6.24.1: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-helper-builder-react-jsx/-/babel-helper-builder-react-jsx-6.26.0.tgz#39ff8313b75c8b65dceff1f31d383e0ff2a408a0" - dependencies: - babel-runtime "^6.26.0" - babel-types "^6.26.0" - esutils "^2.0.2" - -babel-helper-call-delegate@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz#ece6aacddc76e41c3461f88bfc575bd0daa2df8d" - dependencies: - babel-helper-hoist-variables "^6.24.1" - babel-runtime "^6.22.0" - babel-traverse "^6.24.1" - babel-types "^6.24.1" - -babel-helper-define-map@^6.24.1: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz#a5f56dab41a25f97ecb498c7ebaca9819f95be5f" - dependencies: - babel-helper-function-name "^6.24.1" - babel-runtime "^6.26.0" - babel-types "^6.26.0" - lodash "^4.17.4" - -babel-helper-function-name@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz#d3475b8c03ed98242a25b48351ab18399d3580a9" - dependencies: - babel-helper-get-function-arity "^6.24.1" - babel-runtime "^6.22.0" - babel-template "^6.24.1" - babel-traverse "^6.24.1" - babel-types "^6.24.1" - -babel-helper-get-function-arity@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz#8f7782aa93407c41d3aa50908f89b031b1b6853d" - dependencies: - babel-runtime "^6.22.0" - babel-types "^6.24.1" - -babel-helper-hoist-variables@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz#1ecb27689c9d25513eadbc9914a73f5408be7a76" - dependencies: - babel-runtime "^6.22.0" - babel-types "^6.24.1" - -babel-helper-optimise-call-expression@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz#f7a13427ba9f73f8f4fa993c54a97882d1244257" - dependencies: - babel-runtime "^6.22.0" - babel-types "^6.24.1" - -babel-helper-replace-supers@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz#bf6dbfe43938d17369a213ca8a8bf74b6a90ab1a" - dependencies: - babel-helper-optimise-call-expression "^6.24.1" - babel-messages "^6.23.0" - babel-runtime "^6.22.0" - babel-template "^6.24.1" - babel-traverse "^6.24.1" - babel-types "^6.24.1" - babel-helpers@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.24.1.tgz#3471de9caec388e5c850e597e58a26ddf37602b2" @@ -5402,27 +4749,16 @@ babel-jest@23.6.0, babel-jest@^23.6.0: babel-plugin-istanbul "^4.1.6" babel-preset-jest "^23.2.0" -babel-jest@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-24.9.0.tgz#3fc327cb8467b89d14d7bc70e315104a783ccd54" - dependencies: - "@jest/transform" "^24.9.0" - "@jest/types" "^24.9.0" - "@types/babel__core" "^7.1.0" - babel-plugin-istanbul "^5.1.0" - babel-preset-jest "^24.9.0" - chalk "^2.4.2" - slash "^2.0.0" - -babel-jest@^25.1.0: - version "25.1.0" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-25.1.0.tgz#206093ac380a4b78c4404a05b3277391278f80fb" +babel-jest@^25.2.6: + version "25.2.6" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-25.2.6.tgz#fe67ff4d0db3626ca8082da8881dd5e84e07ae75" + integrity sha512-MDJOAlwtIeIQiGshyX0d2PxTbV73xZMpNji40ivVTPQOm59OdRR9nYCkffqI7ugtsK4JR98HgNKbDbuVf4k5QQ== dependencies: - "@jest/transform" "^25.1.0" - "@jest/types" "^25.1.0" + "@jest/transform" "^25.2.6" + "@jest/types" "^25.2.6" "@types/babel__core" "^7.1.0" babel-plugin-istanbul "^6.0.0" - babel-preset-jest "^25.1.0" + babel-preset-jest "^25.2.6" chalk "^3.0.0" slash "^3.0.0" @@ -5472,12 +4808,6 @@ babel-plugin-apply-mdx-type-prop@^1.5.1: "@babel/helper-plugin-utils" "7.0.0" "@mdx-js/util" "^1.5.1" -babel-plugin-check-es2015-constants@^6.8.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz#35157b101426fd2ffd3da3f75c7d1e91835bbf8a" - dependencies: - babel-runtime "^6.22.0" - babel-plugin-dynamic-import-node@2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.2.0.tgz#c0adfb07d95f4a4495e9aaac6ec386c4d7c2524e" @@ -5505,15 +4835,6 @@ babel-plugin-istanbul@^4.1.6: istanbul-lib-instrument "^1.10.1" test-exclude "^4.2.1" -babel-plugin-istanbul@^5.1.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-5.2.0.tgz#df4ade83d897a92df069c4d9a25cf2671293c854" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - find-up "^3.0.0" - istanbul-lib-instrument "^3.3.0" - test-exclude "^5.2.3" - babel-plugin-istanbul@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz#e159ccdc9af95e0b570c75b4573b7c34d671d765" @@ -5528,15 +4849,10 @@ babel-plugin-jest-hoist@^23.2.0: version "23.2.0" resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-23.2.0.tgz#e61fae05a1ca8801aadee57a6d66b8cefaf44167" -babel-plugin-jest-hoist@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.9.0.tgz#4f837091eb407e01447c8843cbec546d0002d756" - dependencies: - "@types/babel__traverse" "^7.0.6" - -babel-plugin-jest-hoist@^25.1.0: - version "25.1.0" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-25.1.0.tgz#fb62d7b3b53eb36c97d1bc7fec2072f9bd115981" +babel-plugin-jest-hoist@^25.2.6: + version "25.2.6" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-25.2.6.tgz#2af07632b8ac7aad7d414c1e58425d5fc8e84909" + integrity sha512-qE2xjMathybYxjiGFJg0mLFrz0qNp83aNZycWDY/SuHiZNq+vQfRQtuINqyXyue1ELd8Rd+1OhFSLjms8msMbw== dependencies: "@types/babel__traverse" "^7.0.6" @@ -5564,258 +4880,21 @@ babel-plugin-remove-graphql-queries@^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" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz#d7eb23b79a317f8543962c505b827c7d6cac27de" - -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.8.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz#0af32a9a6e13ca7a3fd5069e62d7b0f58d0d8946" - babel-plugin-syntax-object-rest-spread@^6.13.0, babel-plugin-syntax-object-rest-spread@^6.8.0: version "6.13.0" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz#fd6536f2bce13836ffa3a5458c4903a597bb3bf5" -babel-plugin-syntax-trailing-function-commas@^6.8.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz#ba0360937f8d06e40180a43fe0d5616fff532cf3" - -babel-plugin-transform-class-properties@^6.8.0: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz#6a79763ea61d33d36f37b611aa9def81a81b46ac" - dependencies: - babel-helper-function-name "^6.24.1" - babel-plugin-syntax-class-properties "^6.8.0" - babel-runtime "^6.22.0" - babel-template "^6.24.1" - -babel-plugin-transform-es2015-arrow-functions@^6.8.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz#452692cb711d5f79dc7f85e440ce41b9f244d221" - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-block-scoped-functions@^6.8.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz#bbc51b49f964d70cb8d8e0b94e820246ce3a6141" - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-block-scoping@^6.8.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz#d70f5299c1308d05c12f463813b0a09e73b1895f" - dependencies: - babel-runtime "^6.26.0" - babel-template "^6.26.0" - babel-traverse "^6.26.0" - babel-types "^6.26.0" - lodash "^4.17.4" - -babel-plugin-transform-es2015-classes@^6.8.0: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz#5a4c58a50c9c9461e564b4b2a3bfabc97a2584db" - dependencies: - babel-helper-define-map "^6.24.1" - babel-helper-function-name "^6.24.1" - babel-helper-optimise-call-expression "^6.24.1" - babel-helper-replace-supers "^6.24.1" - babel-messages "^6.23.0" - babel-runtime "^6.22.0" - babel-template "^6.24.1" - babel-traverse "^6.24.1" - babel-types "^6.24.1" - -babel-plugin-transform-es2015-computed-properties@^6.8.0: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz#6fe2a8d16895d5634f4cd999b6d3480a308159b3" - dependencies: - babel-runtime "^6.22.0" - babel-template "^6.24.1" - -babel-plugin-transform-es2015-destructuring@^6.8.0: - version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz#997bb1f1ab967f682d2b0876fe358d60e765c56d" - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-for-of@^6.8.0: - version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz#f47c95b2b613df1d3ecc2fdb7573623c75248691" - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-function-name@^6.8.0: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz#834c89853bc36b1af0f3a4c5dbaa94fd8eacaa8b" - dependencies: - babel-helper-function-name "^6.24.1" - babel-runtime "^6.22.0" - babel-types "^6.24.1" - -babel-plugin-transform-es2015-literals@^6.8.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz#4f54a02d6cd66cf915280019a31d31925377ca2e" - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-modules-amd@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz#3b3e54017239842d6d19c3011c4bd2f00a00d154" - dependencies: - babel-plugin-transform-es2015-modules-commonjs "^6.24.1" - babel-runtime "^6.22.0" - babel-template "^6.24.1" - -babel-plugin-transform-es2015-modules-commonjs@^6.24.1, babel-plugin-transform-es2015-modules-commonjs@^6.8.0: - version "6.26.2" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz#58a793863a9e7ca870bdc5a881117ffac27db6f3" - dependencies: - babel-plugin-transform-strict-mode "^6.24.1" - babel-runtime "^6.26.0" - babel-template "^6.26.0" - babel-types "^6.26.0" - -babel-plugin-transform-es2015-modules-umd@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz#ac997e6285cd18ed6176adb607d602344ad38468" - dependencies: - babel-plugin-transform-es2015-modules-amd "^6.24.1" - babel-runtime "^6.22.0" - babel-template "^6.24.1" - -babel-plugin-transform-es2015-object-super@^6.8.0: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz#24cef69ae21cb83a7f8603dad021f572eb278f8d" - dependencies: - babel-helper-replace-supers "^6.24.1" - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-parameters@^6.8.0: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz#57ac351ab49caf14a97cd13b09f66fdf0a625f2b" - dependencies: - babel-helper-call-delegate "^6.24.1" - babel-helper-get-function-arity "^6.24.1" - babel-runtime "^6.22.0" - babel-template "^6.24.1" - babel-traverse "^6.24.1" - babel-types "^6.24.1" - -babel-plugin-transform-es2015-shorthand-properties@^6.8.0: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz#24f875d6721c87661bbd99a4622e51f14de38aa0" - dependencies: - babel-runtime "^6.22.0" - babel-types "^6.24.1" - -babel-plugin-transform-es2015-spread@^6.8.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz#d6d68a99f89aedc4536c81a542e8dd9f1746f8d1" - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-template-literals@^6.8.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz#a84b3450f7e9f8f1f6839d6d687da84bb1236d8d" - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-es3-member-expression-literals@^6.8.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es3-member-expression-literals/-/babel-plugin-transform-es3-member-expression-literals-6.22.0.tgz#733d3444f3ecc41bef8ed1a6a4e09657b8969ebb" - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-es3-property-literals@^6.8.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es3-property-literals/-/babel-plugin-transform-es3-property-literals-6.22.0.tgz#b2078d5842e22abf40f73e8cde9cd3711abd5758" - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-flow-strip-types@^6.8.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.22.0.tgz#84cb672935d43714fdc32bce84568d87441cf7cf" - dependencies: - babel-plugin-syntax-flow "^6.18.0" - babel-runtime "^6.22.0" - -babel-plugin-transform-object-rest-spread@^6.26.0, babel-plugin-transform-object-rest-spread@^6.8.0: +babel-plugin-transform-object-rest-spread@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz#0f36692d50fef6b7e2d4b3ac1478137a963b7b06" dependencies: babel-plugin-syntax-object-rest-spread "^6.8.0" babel-runtime "^6.26.0" -babel-plugin-transform-react-display-name@^6.8.0: - version "6.25.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-display-name/-/babel-plugin-transform-react-display-name-6.25.0.tgz#67e2bf1f1e9c93ab08db96792e05392bf2cc28d1" - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-react-jsx@^6.8.0: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx/-/babel-plugin-transform-react-jsx-6.24.1.tgz#840a028e7df460dfc3a2d29f0c0d91f6376e66a3" - dependencies: - babel-helper-builder-react-jsx "^6.24.1" - babel-plugin-syntax-jsx "^6.8.0" - babel-runtime "^6.22.0" - babel-plugin-transform-react-remove-prop-types@0.4.24, babel-plugin-transform-react-remove-prop-types@^0.4.24: version "0.4.24" resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz#f2edaf9b4c6a5fbe5c1d678bfb531078c1555f3a" -babel-plugin-transform-strict-mode@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz#d5faf7aa578a65bbe591cf5edae04a0c67020758" - dependencies: - babel-runtime "^6.22.0" - babel-types "^6.24.1" - -babel-plugin-typescript-to-proptypes@^0.17.1: - version "0.17.1" - resolved "https://registry.yarnpkg.com/babel-plugin-typescript-to-proptypes/-/babel-plugin-typescript-to-proptypes-0.17.1.tgz#9874735be3565ba4d7fc7f3cafb04fec40f55a83" - dependencies: - "@babel/helper-module-imports" "^7.0.0" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-typescript" "^7.2.0" - -babel-preset-fbjs@^2.1.2: - version "2.3.0" - resolved "https://registry.yarnpkg.com/babel-preset-fbjs/-/babel-preset-fbjs-2.3.0.tgz#92ff81307c18b926895114f9828ae1674c097f80" - dependencies: - babel-plugin-check-es2015-constants "^6.8.0" - babel-plugin-syntax-class-properties "^6.8.0" - babel-plugin-syntax-flow "^6.8.0" - babel-plugin-syntax-jsx "^6.8.0" - babel-plugin-syntax-object-rest-spread "^6.8.0" - babel-plugin-syntax-trailing-function-commas "^6.8.0" - babel-plugin-transform-class-properties "^6.8.0" - babel-plugin-transform-es2015-arrow-functions "^6.8.0" - babel-plugin-transform-es2015-block-scoped-functions "^6.8.0" - babel-plugin-transform-es2015-block-scoping "^6.8.0" - babel-plugin-transform-es2015-classes "^6.8.0" - babel-plugin-transform-es2015-computed-properties "^6.8.0" - babel-plugin-transform-es2015-destructuring "^6.8.0" - babel-plugin-transform-es2015-for-of "^6.8.0" - babel-plugin-transform-es2015-function-name "^6.8.0" - babel-plugin-transform-es2015-literals "^6.8.0" - babel-plugin-transform-es2015-modules-commonjs "^6.8.0" - babel-plugin-transform-es2015-object-super "^6.8.0" - babel-plugin-transform-es2015-parameters "^6.8.0" - babel-plugin-transform-es2015-shorthand-properties "^6.8.0" - babel-plugin-transform-es2015-spread "^6.8.0" - babel-plugin-transform-es2015-template-literals "^6.8.0" - babel-plugin-transform-es3-member-expression-literals "^6.8.0" - babel-plugin-transform-es3-property-literals "^6.8.0" - babel-plugin-transform-flow-strip-types "^6.8.0" - babel-plugin-transform-object-rest-spread "^6.8.0" - babel-plugin-transform-react-display-name "^6.8.0" - babel-plugin-transform-react-jsx "^6.8.0" - 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" @@ -5842,20 +4921,14 @@ babel-preset-jest@^23.2.0: babel-plugin-jest-hoist "^23.2.0" babel-plugin-syntax-object-rest-spread "^6.13.0" -babel-preset-jest@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-24.9.0.tgz#192b521e2217fb1d1f67cf73f70c336650ad3cdc" - dependencies: - "@babel/plugin-syntax-object-rest-spread" "^7.0.0" - babel-plugin-jest-hoist "^24.9.0" - -babel-preset-jest@^25.1.0: - version "25.1.0" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-25.1.0.tgz#d0aebfebb2177a21cde710996fce8486d34f1d33" +babel-preset-jest@^25.2.6: + version "25.2.6" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-25.2.6.tgz#5d3f7c99e2a8508d61775c9d68506d143b7f71b5" + integrity sha512-Xh2eEAwaLY9+SyMt/xmGZDnXTW/7pSaBPG0EMo7EuhvosFKVWYB6CqwYD31DaEQuoTL090oDZ0FEqygffGRaSQ== dependencies: "@babel/plugin-syntax-bigint" "^7.0.0" "@babel/plugin-syntax-object-rest-spread" "^7.0.0" - babel-plugin-jest-hoist "^25.1.0" + babel-plugin-jest-hoist "^25.2.6" babel-preset-react-app@^7.0.0: version "7.0.2" @@ -5910,7 +4983,7 @@ babel-template@^6.16.0, babel-template@^6.24.1, babel-template@^6.26.0: babylon "^6.18.0" lodash "^4.17.4" -babel-traverse@^6.0.0, babel-traverse@^6.18.0, babel-traverse@^6.24.1, babel-traverse@^6.26.0: +babel-traverse@^6.0.0, babel-traverse@^6.18.0, babel-traverse@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee" dependencies: @@ -5924,7 +4997,7 @@ babel-traverse@^6.0.0, babel-traverse@^6.18.0, babel-traverse@^6.24.1, babel-tra invariant "^2.2.2" lodash "^4.17.4" -babel-types@^6.0.0, babel-types@^6.18.0, babel-types@^6.24.1, babel-types@^6.26.0: +babel-types@^6.0.0, babel-types@^6.18.0, babel-types@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497" dependencies: @@ -6100,7 +5173,7 @@ bluebird@3.5.0: version "3.5.0" resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.0.tgz#791420d7f551eea2897453a8a77653f96606d67c" -bluebird@^3.0.5, bluebird@^3.5.0, bluebird@^3.5.1, bluebird@^3.5.3, bluebird@^3.5.5, bluebird@^3.7.1: +bluebird@^3.0.5, bluebird@^3.5.0, bluebird@^3.5.1, bluebird@^3.5.3, bluebird@^3.5.5: version "3.7.1" resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.1.tgz#df70e302b471d7473489acf26a93d63b53f874de" @@ -6152,7 +5225,7 @@ bootstrap-datepicker@^1.7.1: dependencies: jquery ">=1.7.1 <4.0.0" -bootstrap-sass@^3.4.0: +bootstrap-sass@3.4.1, bootstrap-sass@^3.4.0: version "3.4.1" resolved "https://registry.yarnpkg.com/bootstrap-sass/-/bootstrap-sass-3.4.1.tgz#6843c73b1c258a0ac5cb2cc6f6f5285b664a8e9a" @@ -6319,56 +5392,15 @@ browserify-zlib@^0.2.0: dependencies: pako "~1.0.5" -browserslist@4.4.1: - version "4.4.1" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.4.1.tgz#42e828954b6b29a7a53e352277be429478a69062" - dependencies: - caniuse-lite "^1.0.30000929" - 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" - dependencies: - caniuse-lite "^1.0.30001004" - electron-to-chromium "^1.3.295" - node-releases "^1.1.38" - -browserslist@^4.8.0: - version "4.8.2" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.8.2.tgz#b45720ad5fbc8713b7253c20766f701c9a694289" - dependencies: - caniuse-lite "^1.0.30001015" - electron-to-chromium "^1.3.322" - node-releases "^1.1.42" - -browserslist@^4.8.3: - version "4.8.6" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.8.6.tgz#96406f3f5f0755d272e27a66f4163ca821590a7e" - dependencies: - caniuse-lite "^1.0.30001023" - 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== +browserslist@4.11.1, browserslist@4.4.1, browserslist@4.7.0, browserslist@^4.0.0, browserslist@^4.3.4, browserslist@^4.6.0, browserslist@^4.7.1, browserslist@^4.7.2, browserslist@^4.8.3, browserslist@^4.9.1: + version "4.11.1" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.11.1.tgz#92f855ee88d6e050e7e7311d987992014f1a1f1b" + integrity sha512-DCTr3kDrKEYNw6Jb9HFxVLQNaue8z+0ZfRBRjmCunKDEXEBajKDj2Y+Uelg+Pi29OnvaSGwjOsnRyNEkXzHg5g== dependencies: - caniuse-lite "^1.0.30001035" - electron-to-chromium "^1.3.378" - node-releases "^1.1.52" - pkg-up "^3.1.0" + caniuse-lite "^1.0.30001038" + electron-to-chromium "^1.3.390" + node-releases "^1.1.53" + pkg-up "^2.0.0" bser@^2.0.0: version "2.1.1" @@ -6402,10 +5434,6 @@ buffer-alloc@^1.1.0, buffer-alloc@^1.2.0: buffer-alloc-unsafe "^1.1.0" buffer-fill "^1.0.0" -buffer-concat@>=0.0.1: - version "1.0.0" - resolved "https://registry.yarnpkg.com/buffer-concat/-/buffer-concat-1.0.0.tgz#2defadadcb145e0ad3c0b961cde1910b118d1fe6" - buffer-crc32@~0.2.3: version "0.2.13" resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" @@ -6719,23 +5747,19 @@ caniuse-api@^3.0.0: lodash.memoize "^4.1.2" lodash.uniq "^4.5.0" -caniuse-lite@^1.0.0, 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.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" - -caniuse-lite@^1.0.30001020, caniuse-lite@^1.0.30001023: +caniuse-lite@^1.0.30001020: version "1.0.30001025" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001025.tgz#30336a8aca7f98618eb3cf38e35184e13d4e5fe6" +caniuse-lite@^1.0.30001038: + version "1.0.30001038" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001038.tgz#44da3cbca2ab6cb6aa83d1be5d324e17f141caff" + integrity sha512-zii9quPo96XfOiRD4TrfYGs+QsGZpb2cGiMAzPjtf/hpFgB6zCPZgJb7I1+EATeMw/o+lG8FyRAnI+CWStHcaQ== + capture-exit@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-1.2.0.tgz#1c5fcc489fd0ab00d4f1ac7ae1072e3173fbab6f" @@ -6877,30 +5901,17 @@ cheerio@^0.22.0: lodash.reject "^4.4.0" lodash.some "^4.4.0" -cheerio@^1.0.0-rc.2: +cheerio@^1.0.0-rc.3: version "1.0.0-rc.3" resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-1.0.0-rc.3.tgz#094636d425b2e9c0f4eb91a46c05630c9a1a8bf6" + integrity sha512-0td5ijfUPuubwLUu0OBoe98gZj8C/AA+RW3v67GPlGOrvxWjZmBXiBCRU+I8VEiNyJzjth40POfHiz2RB3gImA== dependencies: css-select "~1.2.0" dom-serializer "~0.1.1" entities "~1.1.1" - htmlparser2 "^3.9.1" - lodash "^4.15.0" - parse5 "^3.0.1" - -chokidar@3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.3.0.tgz#12c0714668c55800f659e262d4962a97faf554a6" - 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.2.0" - optionalDependencies: - fsevents "~2.1.1" + htmlparser2 "^3.9.1" + lodash "^4.15.0" + parse5 "^3.0.1" chokidar@3.3.1: version "3.3.1" @@ -7141,6 +6152,15 @@ clone-deep@^2.0.1: kind-of "^6.0.0" shallow-clone "^1.0.0" +clone-deep@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" + integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== + dependencies: + is-plain-object "^2.0.4" + kind-of "^6.0.2" + shallow-clone "^3.0.0" + clone-regexp@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/clone-regexp/-/clone-regexp-1.0.1.tgz#051805cd33173375d82118fc0918606da39fd60f" @@ -7267,6 +6287,11 @@ collapse-white-space@^1.0.0, collapse-white-space@^1.0.2: version "1.0.5" resolved "https://registry.yarnpkg.com/collapse-white-space/-/collapse-white-space-1.0.5.tgz#c2495b699ab1ed380d29a1091e01063e75dbbe3a" +collect-v8-coverage@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59" + integrity sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg== + collection-visit@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" @@ -7301,10 +6326,6 @@ color-string@^1.5.2: color-name "^1.0.0" simple-swizzle "^0.2.2" -color-support@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2" - color@^3.0.0, color@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/color/-/color-3.1.2.tgz#68148e7f85d41ad7649c5fa8c8106f098d229e10" @@ -7378,11 +6399,7 @@ commander@2.17.x: version "2.17.1" resolved "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf" -commander@2.6.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.6.0.tgz#9df7e52fb2a0cb0fb89058ee80c3104225f37e1d" - -commander@^2.11.0, commander@^2.12.1, commander@^2.18.0, commander@^2.19.0, commander@^2.20.0, commander@^2.8.1, commander@^2.9.0, commander@~2.20.3: +commander@^2.11.0, commander@^2.12.1, commander@^2.18.0, commander@^2.19.0, commander@^2.20.0, commander@^2.9.0, commander@~2.20.3: version "2.20.3" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" @@ -7437,10 +6454,6 @@ compare-func@^1.3.1: array-ify "^1.0.0" dot-prop "^3.0.0" -compare-versions@^3.4.0: - version "3.5.1" - resolved "https://registry.yarnpkg.com/compare-versions/-/compare-versions-3.5.1.tgz#26e1f5cf0d48a77eced5046b9f67b6b61075a393" - component-bind@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/component-bind/-/component-bind-1.0.0.tgz#00c608ab7dcd93897c0009651b1d3a8e1e73bbd1" @@ -7505,19 +6518,20 @@ concat-stream@^2.0.0: readable-stream "^3.0.2" typedarray "^0.0.6" -concurrently@^3.5.1: - version "3.6.1" - resolved "https://registry.yarnpkg.com/concurrently/-/concurrently-3.6.1.tgz#2f95baec5c4051294dfbb55b57a3b98a3e2b45ec" +concurrently@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/concurrently/-/concurrently-5.1.0.tgz#05523986ba7aaf4b58a49ddd658fab88fa783132" + integrity sha512-9ViZMu3OOCID3rBgU31mjBftro2chOop0G2u1olq1OuwRBVRw/GxHTg80TVJBUTJfoswMmEUeuOg1g1yu1X2dA== dependencies: - chalk "^2.4.1" - commander "2.6.0" - date-fns "^1.23.0" - lodash "^4.5.1" - read-pkg "^3.0.0" - rx "2.3.24" + chalk "^2.4.2" + date-fns "^2.0.1" + lodash "^4.17.15" + read-pkg "^4.0.1" + rxjs "^6.5.2" spawn-command "^0.0.2-1" - supports-color "^3.2.3" - tree-kill "^1.1.0" + supports-color "^6.1.0" + tree-kill "^1.2.2" + yargs "^13.3.0" conf@^1.4.0: version "1.4.0" @@ -7703,7 +6717,7 @@ convert-source-map@^1.1.0, convert-source-map@^1.4.0, convert-source-map@^1.5.1: dependencies: safe-buffer "~5.1.1" -convert-source-map@^1.7.0: +convert-source-map@^1.6.0, convert-source-map@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" dependencies: @@ -7766,13 +6780,6 @@ core-js-compat@^3.1.1: browserslist "^4.7.1" semver "^6.3.0" -core-js-compat@^3.4.7: - version "3.4.7" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.4.7.tgz#39f8080b1d92a524d6d90505c42b9c5c1eb90611" - dependencies: - browserslist "^4.8.0" - semver "^6.3.0" - core-js-compat@^3.6.2: version "3.6.4" resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.6.4.tgz#938476569ebb6cda80d339bcf199fae4f16fff17" @@ -7902,7 +6909,7 @@ cross-spawn-async@^2.1.1: lru-cache "^4.0.0" which "^1.2.8" -cross-spawn@5.1.0, cross-spawn@^5.0.1, cross-spawn@^5.1.0: +cross-spawn@5.1.0, cross-spawn@^5.0.1: version "5.1.0" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" dependencies: @@ -8392,10 +7399,15 @@ datauri@^1.1.0: mimer "^0.3.2" semver "^5.5.0" -date-fns@^1.23.0, date-fns@^1.27.2: +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.0.1: + version "2.11.1" + resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.11.1.tgz#197b8be1bbf5c5e6fe8bea817f0fe111820e7a12" + integrity sha512-3RdUoinZ43URd2MJcquzBbDQo+J87cSzB8NkXdZiN5ia1UNyep0oCyitfiL88+R7clGTeq/RniXAc16gWyAu1w== + date-fns@^2.11.0: version "2.11.0" resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.11.0.tgz#ec2b44977465b9dcb370021d5e6c019b19f36d06" @@ -8514,6 +7526,11 @@ deep-is@~0.1.3: version "0.1.3" resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" +deepmerge@^4.2.2: + version "4.2.2" + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" + integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== + default-gateway@^2.6.0: version "2.7.2" resolved "https://registry.yarnpkg.com/default-gateway/-/default-gateway-2.7.2.tgz#b7ef339e5e024b045467af403d50348db4642d0f" @@ -8534,12 +7551,6 @@ default-require-extensions@^1.0.0: dependencies: strip-bom "^2.0.0" -default-require-extensions@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/default-require-extensions/-/default-require-extensions-2.0.0.tgz#f5f8fbb18a7d6d50b21f641f649ebb522cfe24f7" - dependencies: - strip-bom "^3.0.0" - default-uid@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/default-uid/-/default-uid-1.0.0.tgz#fcefa9df9f5ac40c8916d912dd1fe1146aa3c59e" @@ -8697,6 +7708,11 @@ detect-newline@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-2.1.0.tgz#f41f1c10be4b00e87b5f13da680759f2c5bfd3e2" +detect-newline@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" + integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== + detect-node@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.0.4.tgz#014ee8f8f669c5c58023da64b8179c083a28c46c" @@ -8758,9 +7774,10 @@ dezalgo@^1.0.0: asap "^2.0.0" wrappy "1" -diff-sequences@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-24.9.0.tgz#5715d6244e2aa65f48bba0bc972db0b0b11e95b5" +diff-sequences@^25.2.6: + version "25.2.6" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-25.2.6.tgz#5f467c00edd35352b7bca46d7927d60e687a76dd" + integrity sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg== diff@^3.2.0, diff@^3.5.0: version "3.5.0" @@ -9008,22 +8025,10 @@ 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: - 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" - -electron-to-chromium@^1.3.341: - version "1.3.345" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.345.tgz#2569d0d54a64ef0f32a4b7e8c80afa5fe57c5d98" +electron-to-chromium@^1.3.390: + version "1.3.395" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.395.tgz#2c531a0477bcc41deb440877d1f27509ed286aed" + integrity sha512-kdn2cX6hZXDdz/O2Q8tZscITlsSv1a/7bOq/fQs7QAJ9iaRlnhZPccarNhxZv1tXgmgwCnKp/1lJNYLOG8Dxiw== elegant-spinner@^1.0.1: version "1.0.1" @@ -9061,6 +8066,11 @@ emojis-list@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" +emojis-list@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" + integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== + encodeurl@^1.0.2, encodeurl@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" @@ -9134,65 +8144,81 @@ env-paths@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-1.0.0.tgz#4168133b42bb05c38a35b1ae4397c8298ab369e0" -envinfo@^7.5.0: +envinfo@^7.3.1, envinfo@^7.5.0: version "7.5.0" resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.5.0.tgz#91410bb6db262fb4f1409bd506e9ff57e91023f4" + integrity sha512-jDgnJaF/Btomk+m3PZDTTCb5XIIIX3zYItnCRfF73zVgvinLoRomuhi75Y4su0PtQxWz4v66XnLLckyvyJTOIQ== -enzyme-adapter-react-16@1.14.0: - version "1.14.0" - resolved "https://registry.yarnpkg.com/enzyme-adapter-react-16/-/enzyme-adapter-react-16-1.14.0.tgz#204722b769172bcf096cb250d33e6795c1f1858f" +enzyme-adapter-react-16@1.15.2: + version "1.15.2" + resolved "https://registry.yarnpkg.com/enzyme-adapter-react-16/-/enzyme-adapter-react-16-1.15.2.tgz#b16db2f0ea424d58a808f9df86ab6212895a4501" + integrity sha512-SkvDrb8xU3lSxID8Qic9rB8pvevDbLybxPK6D/vW7PrT0s2Cl/zJYuXvsd1EBTz0q4o3iqG3FJhpYz3nUNpM2Q== dependencies: - enzyme-adapter-utils "^1.12.0" + enzyme-adapter-utils "^1.13.0" + enzyme-shallow-equal "^1.0.1" has "^1.0.3" object.assign "^4.1.0" - object.values "^1.1.0" + object.values "^1.1.1" prop-types "^15.7.2" - react-is "^16.8.6" + react-is "^16.12.0" react-test-renderer "^16.0.0-0" semver "^5.7.0" -enzyme-adapter-utils@^1.12.0: - version "1.12.1" - resolved "https://registry.yarnpkg.com/enzyme-adapter-utils/-/enzyme-adapter-utils-1.12.1.tgz#e828e0d038e2b1efa4b9619ce896226f85c9dd88" +enzyme-adapter-utils@^1.13.0: + version "1.13.0" + resolved "https://registry.yarnpkg.com/enzyme-adapter-utils/-/enzyme-adapter-utils-1.13.0.tgz#01c885dde2114b4690bf741f8dc94cee3060eb78" + integrity sha512-YuEtfQp76Lj5TG1NvtP2eGJnFKogk/zT70fyYHXK2j3v6CtuHqc8YmgH/vaiBfL8K1SgVVbQXtTcgQZFwzTVyQ== dependencies: airbnb-prop-types "^2.15.0" - function.prototype.name "^1.1.1" + function.prototype.name "^1.1.2" object.assign "^4.1.0" - object.fromentries "^2.0.1" + object.fromentries "^2.0.2" prop-types "^15.7.2" - semver "^5.7.0" + semver "^5.7.1" -enzyme-to-json@3.4.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/enzyme-to-json/-/enzyme-to-json-3.4.0.tgz#2b6330a784a57ba68298e3c0d6cef17ee4fedc0e" +enzyme-shallow-equal@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/enzyme-shallow-equal/-/enzyme-shallow-equal-1.0.1.tgz#7afe03db3801c9b76de8440694096412a8d9d49e" + integrity sha512-hGA3i1so8OrYOZSM9whlkNmVHOicJpsjgTzC+wn2JMJXhq1oO4kA4bJ5MsfzSIcC71aLDKzJ6gZpIxrqt3QTAQ== dependencies: - lodash "^4.17.12" + has "^1.0.3" + object-is "^1.0.2" -enzyme@3.10.0: - version "3.10.0" - resolved "https://registry.yarnpkg.com/enzyme/-/enzyme-3.10.0.tgz#7218e347c4a7746e133f8e964aada4a3523452f6" +enzyme-to-json@3.4.4: + version "3.4.4" + resolved "https://registry.yarnpkg.com/enzyme-to-json/-/enzyme-to-json-3.4.4.tgz#b30726c59091d273521b6568c859e8831e94d00e" + integrity sha512-50LELP/SCPJJGic5rAARvU7pgE3m1YaNj7JLM+Qkhl5t7PAs6fiyc8xzc50RnkKPFQCv0EeFVjEWdIFRGPWMsA== dependencies: - array.prototype.flat "^1.2.1" - cheerio "^1.0.0-rc.2" - function.prototype.name "^1.1.0" + lodash "^4.17.15" + react-is "^16.12.0" + +enzyme@3.11.0: + version "3.11.0" + resolved "https://registry.yarnpkg.com/enzyme/-/enzyme-3.11.0.tgz#71d680c580fe9349f6f5ac6c775bc3e6b7a79c28" + integrity sha512-Dw8/Gs4vRjxY6/6i9wU0V+utmQO9kvh9XLnz3LIudviOnVYDEe2ec+0k+NQoMamn1VrjKgCUOWj5jG/5M5M0Qw== + dependencies: + array.prototype.flat "^1.2.3" + cheerio "^1.0.0-rc.3" + enzyme-shallow-equal "^1.0.1" + function.prototype.name "^1.1.2" has "^1.0.3" - html-element-map "^1.0.0" - is-boolean-object "^1.0.0" - is-callable "^1.1.4" - is-number-object "^1.0.3" - is-regex "^1.0.4" - is-string "^1.0.4" + html-element-map "^1.2.0" + is-boolean-object "^1.0.1" + is-callable "^1.1.5" + is-number-object "^1.0.4" + is-regex "^1.0.5" + is-string "^1.0.5" is-subset "^0.1.1" lodash.escape "^4.0.1" lodash.isequal "^4.5.0" - object-inspect "^1.6.0" - object-is "^1.0.1" + object-inspect "^1.7.0" + object-is "^1.0.2" object.assign "^4.1.0" - object.entries "^1.0.4" - object.values "^1.0.4" - raf "^3.4.0" + object.entries "^1.1.1" + object.values "^1.1.1" + raf "^3.4.1" rst-selector-parser "^2.2.3" - string.prototype.trim "^1.1.2" + string.prototype.trim "^1.2.1" eol@^0.9.1: version "0.9.1" @@ -9599,6 +8625,13 @@ eslint-utils@^1.3.1, eslint-utils@^1.4.3: dependencies: eslint-visitor-keys "^1.1.0" +eslint-utils@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.0.0.tgz#7be1cc70f27a72a76cd14aa698bcabed6890e1cd" + integrity sha512-0HCPuJv+7Wv1bACm8y5/ECVfYdfsAm9xmVb7saeFlxjPYALefjhbYoCkBjPdPzGH8wWyTpAez82Fh3VKYEZ8OA== + dependencies: + eslint-visitor-keys "^1.1.0" + eslint-visitor-keys@^1.0.0, eslint-visitor-keys@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz#e2a82cea84ff246ad6fb57f9bde5b46621459ec2" @@ -9845,9 +8878,10 @@ execa@^1.0.0: signal-exit "^3.0.0" strip-eof "^1.0.0" -execa@^3.4.0: +execa@^3.2.0, execa@^3.4.0: version "3.4.0" resolved "https://registry.yarnpkg.com/execa/-/execa-3.4.0.tgz#c08ed4550ef65d858fac269ffc8572446f37eb89" + integrity sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g== dependencies: cross-spawn "^7.0.0" get-stream "^5.0.0" @@ -9931,16 +8965,17 @@ expect@^23.6.0: jest-message-util "^23.4.0" jest-regex-util "^23.3.0" -expect@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/expect/-/expect-24.9.0.tgz#b75165b4817074fa4a157794f46fe9f1ba15b6ca" +expect@^25.2.7: + version "25.2.7" + resolved "https://registry.yarnpkg.com/expect/-/expect-25.2.7.tgz#509b79f47502835f4071ff3ecc401f2eaecca709" + integrity sha512-yA+U2Ph0MkMsJ9N8q5hs9WgWI6oJYfecdXta6LkP/alY/jZZL1MHlJ2wbLh60Ucqf3G+51ytbqV3mlGfmxkpNw== dependencies: - "@jest/types" "^24.9.0" - ansi-styles "^3.2.0" - jest-get-type "^24.9.0" - jest-matcher-utils "^24.9.0" - jest-message-util "^24.9.0" - jest-regex-util "^24.9.0" + "@jest/types" "^25.2.6" + ansi-styles "^4.0.0" + jest-get-type "^25.2.6" + jest-matcher-utils "^25.2.7" + jest-message-util "^25.2.6" + jest-regex-util "^25.2.6" express-graphql@^0.9.0: version "0.9.0" @@ -9986,12 +9021,6 @@ express@^4.16.2, express@^4.17.1: utils-merge "1.0.1" vary "~1.1.2" -extend-shallow@^1.1.2: - version "1.1.4" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-1.1.4.tgz#19d6bf94dfc09d76ba711f39b872d21ff4dd9071" - dependencies: - kind-of "^1.1.0" - extend-shallow@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" @@ -10073,15 +9102,6 @@ eyes@0.1.x: version "0.1.8" resolved "https://registry.yarnpkg.com/eyes/-/eyes-0.1.8.tgz#62cf120234c683785d902348a800ef3e0cc20bc0" -fancy-log@^1.3.2: - version "1.3.3" - resolved "https://registry.yarnpkg.com/fancy-log/-/fancy-log-1.3.3.tgz#dbc19154f558690150a23953a0adbd035be45fc7" - dependencies: - ansi-gray "^0.1.1" - color-support "^1.1.3" - parse-node-version "^1.0.0" - time-stamp "^1.0.0" - fast-deep-equal@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" @@ -10147,21 +9167,6 @@ fb-watchman@^2.0.0: dependencies: bser "^2.0.0" -fbjs-scripts@^0.8.3: - version "0.8.3" - resolved "https://registry.yarnpkg.com/fbjs-scripts/-/fbjs-scripts-0.8.3.tgz#b854de7a11e62a37f72dab9aaf4d9b53c4a03174" - dependencies: - ansi-colors "^1.0.1" - babel-core "^6.7.2" - babel-preset-fbjs "^2.1.2" - core-js "^2.4.1" - cross-spawn "^5.1.0" - fancy-log "^1.3.2" - object-assign "^4.0.1" - plugin-error "^0.1.2" - semver "^5.1.0" - through2 "^2.0.0" - fbjs@^0.8.0: version "0.8.17" resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.17.tgz#c4d598ead6949112653d6588b01a5cdcd9f90fdd" @@ -10251,15 +9256,16 @@ file-selector@^0.1.8: dependencies: tslib "^1.9.0" -file-type@^12.4.0: - version "12.4.0" - resolved "https://registry.yarnpkg.com/file-type/-/file-type-12.4.0.tgz#a9a399459e1940d9f34b3973039958f1f36a565e" +file-type@^12.4.2: + version "12.4.2" + resolved "https://registry.yarnpkg.com/file-type/-/file-type-12.4.2.tgz#a344ea5664a1d01447ee7fb1b635f72feb6169d9" + integrity sha512-UssQP5ZgIOKelfsaB5CuGAL+Y+q7EmONuiwF3N5HAH0t27rvrttgi6Ra9k/+DVaY9UF6+ybxu5pOXLUdA8N7Vg== filename-regex@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26" -fileset@^2.0.2, fileset@^2.0.3: +fileset@^2.0.2: version "2.0.3" resolved "https://registry.yarnpkg.com/fileset/-/fileset-2.0.3.tgz#8e7548a96d3cc2327ee5e674168723a333bba2a0" dependencies: @@ -10393,7 +9399,7 @@ find-up@^2.0.0, find-up@^2.1.0: dependencies: locate-path "^2.0.0" -find-up@^4.1.0: +find-up@^4.0.0, find-up@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" dependencies: @@ -10715,7 +9721,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.2, fsevents@~2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.2.tgz#4c0a1fb34bc68e543b4b82a9ec392bfbda840805" @@ -10743,7 +9749,7 @@ function-bind@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" -function.prototype.name@^1.1.0, function.prototype.name@^1.1.1: +function.prototype.name@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.1.tgz#6d252350803085abc2ad423d4fe3be2f9cbda392" dependencies: @@ -10752,6 +9758,15 @@ function.prototype.name@^1.1.0, function.prototype.name@^1.1.1: functions-have-names "^1.1.1" is-callable "^1.1.4" +function.prototype.name@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.2.tgz#5cdf79d7c05db401591dfde83e3b70c5123e9a45" + integrity sha512-C8A+LlHBJjB2AdcRPorc5JvJ5VUoWlXdEHLOJdCI7kjHEtGTpHQUiqMvCIKUwIsGwZX2jZJy761AXsn356bJQg== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.0-next.1" + functions-have-names "^1.2.0" + functional-red-black-tree@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" @@ -10760,6 +9775,11 @@ 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" +functions-have-names@^1.2.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.1.tgz#a981ac397fa0c9964551402cdc5533d7a4d52f91" + integrity sha512-j48B/ZI7VKs3sgeI2cZp7WXWmZXu7Iq5pl5/vptV5N2mq+DGFuS/ulaDjtaoLpYzuD6u8UgrUKHfgo7fDTSiBA== + 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" @@ -10808,11 +9828,13 @@ gatsby-cli@2.11.0, gatsby-cli@^2.11.0: ink "^2.7.1" ink-spinner "^3.0.1" -gatsby-core-utils@^1.0.22: - version "1.0.22" - resolved "https://registry.yarnpkg.com/gatsby-core-utils/-/gatsby-core-utils-1.0.22.tgz#e246c85db5223906f67251ebb0e4e2e4965d66d7" +gatsby-core-utils@^1.0.34, gatsby-core-utils@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/gatsby-core-utils/-/gatsby-core-utils-1.1.1.tgz#3ebe4c6fe277ef8d91e1b708bd65ef4f7dc0928b" + integrity sha512-EboPcBx37YQVUKN9JH753S54nDxjRmOefbR0i08KTmaVgQ1lZnDXJr8JfrImmMqupZlOkPQX1mWlXfp+r1jGhA== dependencies: ci-info "2.0.0" + configstore "^5.0.1" node-object-hash "^2.0.0" gatsby-core-utils@^1.1.0: @@ -10854,26 +9876,28 @@ gatsby-page-utils@^0.1.0: lodash "^4.17.15" micromatch "^3.1.10" -gatsby-plugin-manifest@^2.2.31: - version "2.2.31" - resolved "https://registry.yarnpkg.com/gatsby-plugin-manifest/-/gatsby-plugin-manifest-2.2.31.tgz#ed68f9366416e5833de76673a3f6785c96875f82" +gatsby-plugin-manifest@2.2.48: + version "2.2.48" + resolved "https://registry.yarnpkg.com/gatsby-plugin-manifest/-/gatsby-plugin-manifest-2.2.48.tgz#a082addd697a9d7c27ce51f1c08690b8215c8283" + integrity sha512-RWD2HlKT7TFcXs3SIiZTWjq3Ud4z79cms8pBLXjlNNddatnSNi0ne2RknERCQgmTQvcJ9eNeIzfzVtR3WAcBYA== dependencies: - "@babel/runtime" "^7.7.4" - gatsby-core-utils "^1.0.22" + "@babel/runtime" "^7.8.7" + gatsby-core-utils "^1.0.34" semver "^5.7.1" - sharp "^0.23.3" + sharp "^0.23.4" -gatsby-plugin-mdx@^1.0.59: - version "1.0.59" - resolved "https://registry.yarnpkg.com/gatsby-plugin-mdx/-/gatsby-plugin-mdx-1.0.59.tgz#f5a3aaa8e9952fee517e988f5a7133dbadeb69f8" +gatsby-plugin-mdx@^1.1.0: + version "1.1.4" + resolved "https://registry.yarnpkg.com/gatsby-plugin-mdx/-/gatsby-plugin-mdx-1.1.4.tgz#1f3e9773bfc1fd4806ceacab7a130441f3e19b0d" + integrity sha512-id2/LALN7eseTGN05v1n16XCYggrl2UTzWOJOQME9rh25jNK+KT5ywaPY6vNYimeAW7wWdad3rl6hORpv4L6yw== dependencies: - "@babel/core" "^7.7.4" - "@babel/generator" "^7.7.4" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-proposal-object-rest-spread" "^7.7.4" - "@babel/preset-env" "^7.7.4" - "@babel/preset-react" "^7.7.4" - "@babel/types" "^7.7.4" + "@babel/core" "^7.8.7" + "@babel/generator" "^7.8.8" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-proposal-object-rest-spread" "^7.8.3" + "@babel/preset-env" "^7.8.7" + "@babel/preset-react" "^7.8.3" + "@babel/types" "^7.8.7" camelcase-css "^2.0.1" change-case "^3.1.0" core-js "2" @@ -10882,12 +9906,12 @@ gatsby-plugin-mdx@^1.0.59: escape-string-regexp "^1.0.5" eval "^0.1.4" fs-extra "^8.1.0" - gatsby-core-utils "^1.0.22" + gatsby-core-utils "^1.1.1" gray-matter "^4.0.2" - json5 "^2.1.1" - loader-utils "^1.2.3" + json5 "^2.1.2" + loader-utils "^1.4.0" lodash "^4.17.15" - mdast-util-to-string "^1.0.7" + mdast-util-to-string "^1.1.0" mdast-util-toc "^3.1.0" mime "^2.4.4" p-queue "^5.0.0" @@ -10916,11 +9940,12 @@ gatsby-plugin-page-creator@^2.2.0: lodash "^4.17.15" micromatch "^3.1.10" -gatsby-plugin-react-helmet@^3.1.16: - version "3.1.16" - resolved "https://registry.yarnpkg.com/gatsby-plugin-react-helmet/-/gatsby-plugin-react-helmet-3.1.16.tgz#479738d9f9ee2a312c620c01aa0882a9740537bf" +gatsby-plugin-react-helmet@^3.2.0: + version "3.2.1" + resolved "https://registry.yarnpkg.com/gatsby-plugin-react-helmet/-/gatsby-plugin-react-helmet-3.2.1.tgz#28a89e884e5447f7aefead2a80749e3745f5f5a9" + integrity sha512-5oarZdVvp3k3keG26eVFagVHLYw7wCGs/MXRYQg8MEyJewU3X4Uc0eo7qu4TM5EIuZ2ekaL14r86RB6RM5TORA== dependencies: - "@babel/runtime" "^7.7.4" + "@babel/runtime" "^7.8.7" gatsby-react-router-scroll@^2.2.0: version "2.2.0" @@ -10931,25 +9956,26 @@ gatsby-react-router-scroll@^2.2.0: scroll-behavior "^0.9.12" warning "^3.0.0" -gatsby-source-filesystem@^2.1.40: - version "2.1.40" - resolved "https://registry.yarnpkg.com/gatsby-source-filesystem/-/gatsby-source-filesystem-2.1.40.tgz#482f87a3b1617132b4f4faa64a75d350d8581646" +gatsby-source-filesystem@^2.2.1: + version "2.2.2" + resolved "https://registry.yarnpkg.com/gatsby-source-filesystem/-/gatsby-source-filesystem-2.2.2.tgz#9ecbc9e64fedd1c30b4d21f7e148016353b2dc17" + integrity sha512-uHHCiTp8/q9JF0Yr14Q5aJZ07jUJSV6HJSnrSVnEIF4PfRQkVJG5FHQULmxJUXWQhIoy17EGuzqVjxMsFY69QA== dependencies: - "@babel/runtime" "^7.7.4" + "@babel/runtime" "^7.8.7" better-queue "^3.8.10" - bluebird "^3.7.1" - chokidar "3.3.0" - file-type "^12.4.0" + bluebird "^3.7.2" + chokidar "3.3.1" + file-type "^12.4.2" fs-extra "^8.1.0" - gatsby-core-utils "^1.0.22" - got "^7.1.0" + gatsby-core-utils "^1.1.1" + got "^9.6.0" md5-file "^3.2.3" mime "^2.4.4" pretty-bytes "^5.3.0" progress "^2.0.3" read-chunk "^3.2.0" valid-url "^1.0.9" - xstate "^4.6.7" + xstate "^4.8.0" gatsby-telemetry@^1.2.0: version "1.2.0" @@ -10974,32 +10000,34 @@ gatsby-telemetry@^1.2.0: stack-utils "1.0.2" uuid "3.4.0" -gatsby-theme-patternfly-org@^1.4.9: - version "1.4.9" - resolved "https://registry.yarnpkg.com/gatsby-theme-patternfly-org/-/gatsby-theme-patternfly-org-1.4.9.tgz#016366bd314fc59dab9b3c285925bc6c9dd02b79" - integrity sha512-/pxrtxpUo8iQAKzM7gFGtjHM3G/wJdh59UWGAObdLDo9g09W1AagEXj65aprLZmWezhsTmu3JkETE4zlK+ofUQ== +gatsby-theme-patternfly-org@^1.4.12: + version "1.4.12" + resolved "https://registry.yarnpkg.com/gatsby-theme-patternfly-org/-/gatsby-theme-patternfly-org-1.4.12.tgz#0bc09a2c2cc6bfbfb49ed4d4ad08561d620f8ac7" + integrity sha512-JYoA1/uvUlrdQ3fISJ8EtJlhFnZmtMbICgPehHMT+HWPd9JE/87OWm+SodzDeJ1IIHTG95ttF9Vsrh3ucwnRGQ== dependencies: "@mdx-js/mdx" "^1.1.5" "@mdx-js/react" "^1.1.5" codesandbox "^2.1.10" file-saver "^1.3.8" - gatsby-plugin-manifest "^2.2.31" - gatsby-plugin-mdx "^1.0.59" - gatsby-plugin-react-helmet "^3.1.16" - gatsby-source-filesystem "^2.1.40" - gatsby-transformer-json "^2.2.20" + gatsby-plugin-manifest "2.2.48" + gatsby-plugin-mdx "^1.1.0" + gatsby-plugin-react-helmet "^3.2.0" + gatsby-source-filesystem "^2.2.1" + gatsby-transformer-json "^2.3.0" handlebars "^4.2.0" html-formatter "0.1.9" + null-loader "^3.0.0" prismjs "^1.17.1" react-helmet "^5.2.1" react-live "^2.2.0" -gatsby-transformer-json@^2.2.20: - version "2.2.20" - resolved "https://registry.yarnpkg.com/gatsby-transformer-json/-/gatsby-transformer-json-2.2.20.tgz#759e31b0ebbfdfa2cf3a363490ffb1ec7e2a2d72" +gatsby-transformer-json@^2.3.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/gatsby-transformer-json/-/gatsby-transformer-json-2.3.1.tgz#1415920c891f6b02a0118d43c6682e9e87f57835" + integrity sha512-iOXdbVRHjlhvWZ6sdPGmezZTwIXXsz8o3YT3/YrBobiYfwvgpGk5r/zrbyunv/ofscfduPg+veHW4lY52rw9Vg== dependencies: - "@babel/runtime" "^7.7.4" - bluebird "^3.7.1" + "@babel/runtime" "^7.8.7" + bluebird "^3.7.2" gatsby-transformer-react-docgen-typescript@^0.2.5: version "0.2.6" @@ -11824,7 +10852,7 @@ handle-thing@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.0.tgz#0e039695ff50c93fc288557d696f3c1dc6776754" -handlebars@*, handlebars@^4.0.3, handlebars@^4.1.2, handlebars@^4.2.0, handlebars@^4.4.0, handlebars@^4.4.3: +handlebars@*, handlebars@^4.0.3, handlebars@^4.2.0, handlebars@^4.4.0, handlebars@^4.4.3: version "4.4.5" resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.4.5.tgz#1b1f94f9bfe7379adda86a8b73fb570265a0dddd" dependencies: @@ -12112,9 +11140,10 @@ html-comment-regex@^1.1.0: version "1.1.2" resolved "https://registry.yarnpkg.com/html-comment-regex/-/html-comment-regex-1.1.2.tgz#97d4688aeb5c81886a364faa0cad1dda14d433a7" -html-element-map@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/html-element-map/-/html-element-map-1.1.0.tgz#e5aab9a834caf883b421f8bd9eaedcaac887d63c" +html-element-map@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/html-element-map/-/html-element-map-1.2.0.tgz#dfbb09efe882806af63d990cf6db37993f099f22" + integrity sha512-0uXq8HsuG1v2TmQ8QkIhzbrqeskE4kn52Q18QJ9iAA/SnHoEKXWiUxHQtclRsCFWEUD2So34X+0+pZZu862nnw== dependencies: array-filter "^1.0.0" @@ -12128,6 +11157,11 @@ html-entities@^1.2.0, html-entities@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.2.1.tgz#0df29351f0721163515dfb9e5543e5f6eed5162f" +html-escaper@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" + integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== + html-formatter@0.1.9: version "0.1.9" resolved "https://registry.yarnpkg.com/html-formatter/-/html-formatter-0.1.9.tgz#58e8859712f3d4d9e7094027517c4c46f4c336b8" @@ -12219,13 +11253,6 @@ http-errors@~1.6.2: setprototypeof "1.1.0" statuses ">= 1.4.0 < 2" -http-get@^0.5.10: - version "0.5.10" - resolved "https://registry.yarnpkg.com/http-get/-/http-get-0.5.10.tgz#16664fb1a6a170bb0de0392f551b4b5ff7c0bd95" - dependencies: - buffer-concat ">=0.0.1" - semver ">=1.0.13" - "http-parser-js@>=0.4.0 <0.4.11": version "0.4.10" resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.4.10.tgz#92c9c1374c35085f75db359ec56cc257cbb93fa4" @@ -12417,6 +11444,14 @@ import-local@^2.0.0: pkg-dir "^3.0.0" resolve-cwd "^2.0.0" +import-local@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.0.2.tgz#a8cfd0431d1de4a2199703d003e3e62364fa6db6" + integrity sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA== + dependencies: + pkg-dir "^4.2.0" + resolve-cwd "^3.0.0" + imurmurhash@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" @@ -12808,6 +11843,11 @@ is-boolean-object@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.0.0.tgz#98f8b28030684219a95f375cfbd88ce3405dff93" +is-boolean-object@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.0.1.tgz#10edc0900dd127697a92f6f9807c7617d68ac48e" + integrity sha512-TqZuVwa/sppcrhUCAYkGBk7w0yxfQQnxq28fjkO53tnK9FQXmdwz2JS5+GjsWQ6RByES1K40nI+yDic5c9/aAQ== + 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" @@ -13027,6 +12067,11 @@ is-number-object@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.3.tgz#f265ab89a9f445034ef6aff15a8f00b00f551799" +is-number-object@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.4.tgz#36ac95e741cf18b283fc1ddf5e83da798e3ec197" + integrity sha512-zohwelOAur+5uXtk8O3GPQ1eAcu4ZX3UwxQhUlfFFMNpUd83gXgjbhJh6HmB6LUNV/ieOLQuDwJO3dWJosUeMw== + is-number@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" @@ -13382,32 +12427,10 @@ istanbul-api@^1.3.1: mkdirp "^0.5.1" once "^1.4.0" -istanbul-api@^2.0.8: - version "2.1.6" - resolved "https://registry.yarnpkg.com/istanbul-api/-/istanbul-api-2.1.6.tgz#d61702a9d1c66ad89d92e66d401e16b0bda4a35f" - dependencies: - async "^2.6.2" - compare-versions "^3.4.0" - fileset "^2.0.3" - istanbul-lib-coverage "^2.0.5" - istanbul-lib-hook "^2.0.7" - istanbul-lib-instrument "^3.3.0" - istanbul-lib-report "^2.0.8" - istanbul-lib-source-maps "^3.0.6" - istanbul-reports "^2.2.4" - js-yaml "^3.13.1" - make-dir "^2.1.0" - minimatch "^3.0.4" - once "^1.4.0" - istanbul-lib-coverage@^1.2.0, istanbul-lib-coverage@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-1.2.1.tgz#ccf7edcd0a0bb9b8f729feeb0930470f9af664f0" -istanbul-lib-coverage@^2.0.2, istanbul-lib-coverage@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz#675f0ab69503fad4b1d849f736baaca803344f49" - istanbul-lib-coverage@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz#f5944a37c70b550b02a78a5c3b2055b280cec8ec" @@ -13418,12 +12441,6 @@ istanbul-lib-hook@^1.2.2: dependencies: append-transform "^0.4.0" -istanbul-lib-hook@^2.0.7: - version "2.0.7" - resolved "https://registry.yarnpkg.com/istanbul-lib-hook/-/istanbul-lib-hook-2.0.7.tgz#c95695f383d4f8f60df1f04252a9550e15b5b133" - dependencies: - append-transform "^1.0.0" - istanbul-lib-instrument@^1.10.1, istanbul-lib-instrument@^1.10.2: version "1.10.2" resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-1.10.2.tgz#1f55ed10ac3c47f2bdddd5307935126754d0a9ca" @@ -13436,18 +12453,6 @@ istanbul-lib-instrument@^1.10.1, istanbul-lib-instrument@^1.10.2: istanbul-lib-coverage "^1.2.1" semver "^5.3.0" -istanbul-lib-instrument@^3.0.1, istanbul-lib-instrument@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz#a5f63d91f0bbc0c3e479ef4c5de027335ec6d630" - dependencies: - "@babel/generator" "^7.4.0" - "@babel/parser" "^7.4.3" - "@babel/template" "^7.4.0" - "@babel/traverse" "^7.4.3" - "@babel/types" "^7.4.0" - istanbul-lib-coverage "^2.0.5" - semver "^6.0.0" - istanbul-lib-instrument@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.1.tgz#61f13ac2c96cfefb076fe7131156cc05907874e6" @@ -13469,13 +12474,14 @@ istanbul-lib-report@^1.1.5: path-parse "^1.0.5" supports-color "^3.1.2" -istanbul-lib-report@^2.0.4, istanbul-lib-report@^2.0.8: - version "2.0.8" - resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz#5a8113cd746d43c4889eba36ab10e7d50c9b4f33" +istanbul-lib-report@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" + integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== dependencies: - istanbul-lib-coverage "^2.0.5" - make-dir "^2.1.0" - supports-color "^6.1.0" + istanbul-lib-coverage "^3.0.0" + make-dir "^3.0.0" + supports-color "^7.1.0" istanbul-lib-source-maps@^1.2.4, istanbul-lib-source-maps@^1.2.6: version "1.2.6" @@ -13487,14 +12493,13 @@ istanbul-lib-source-maps@^1.2.4, istanbul-lib-source-maps@^1.2.6: rimraf "^2.6.1" source-map "^0.5.3" -istanbul-lib-source-maps@^3.0.1, istanbul-lib-source-maps@^3.0.6: - version "3.0.6" - resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz#284997c48211752ec486253da97e3879defba8c8" +istanbul-lib-source-maps@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz#75743ce6d96bb86dc7ee4352cf6366a23f0b1ad9" + integrity sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg== dependencies: debug "^4.1.1" - istanbul-lib-coverage "^2.0.5" - make-dir "^2.1.0" - rimraf "^2.6.3" + istanbul-lib-coverage "^3.0.0" source-map "^0.6.1" istanbul-reports@^1.5.1: @@ -13503,11 +12508,13 @@ istanbul-reports@^1.5.1: dependencies: handlebars "^4.0.3" -istanbul-reports@^2.2.4, istanbul-reports@^2.2.6: - version "2.2.6" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-2.2.6.tgz#7b4f2660d82b29303a8fe6091f8ca4bf058da1af" +istanbul-reports@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.0.1.tgz#1343217244ad637e0c3b18e7f6b746941a9b5e9a" + integrity sha512-Vm9xwCiQ8t2cNNnckyeAV0UdxKpcQUz4nMxsBvIu8n2kmPSiyb5uaF/8LpmKr+yqL/MdOXaX2Nmdo4Qyxium9Q== dependencies: - handlebars "^4.1.2" + html-escaper "^2.0.0" + istanbul-lib-report "^3.0.0" istextorbinary@^2.2.1: version "2.5.1" @@ -13548,56 +12555,33 @@ jest-changed-files@^23.4.2: dependencies: throat "^4.0.0" -jest-changed-files@^24.0.0, jest-changed-files@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-24.9.0.tgz#08d8c15eb79a7fa3fc98269bc14b451ee82f8039" +jest-changed-files@^25.2.6: + version "25.2.6" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-25.2.6.tgz#7d569cd6b265b1a84db3914db345d9c452f26b71" + integrity sha512-F7l2m5n55jFnJj4ItB9XbAlgO+6umgvz/mdK76BfTd2NGkvGf9x96hUXP/15a1K0k14QtVOoutwpRKl360msvg== dependencies: - "@jest/types" "^24.9.0" - execa "^1.0.0" - throat "^4.0.0" + "@jest/types" "^25.2.6" + execa "^3.2.0" + throat "^5.0.0" -jest-cli@24.1.0: - version "24.1.0" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-24.1.0.tgz#f7cc98995f36e7210cce3cbb12974cbf60940843" +jest-cli@25.2.7, jest-cli@^25.2.7: + version "25.2.7" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-25.2.7.tgz#515b61fee402c397ffa8d570532f7b039c3159f4" + integrity sha512-OOAZwY4Jkd3r5WhVM5L3JeLNFaylvHUczMLxQDVLrrVyb1Cy+DNJ6MVsb5TLh6iBklB42m5TOP+IbOgKGGOtMw== dependencies: - ansi-escapes "^3.0.0" - chalk "^2.0.1" + "@jest/core" "^25.2.7" + "@jest/test-result" "^25.2.6" + "@jest/types" "^25.2.6" + chalk "^3.0.0" exit "^0.1.2" - glob "^7.1.2" - graceful-fs "^4.1.15" - import-local "^2.0.0" + import-local "^3.0.2" is-ci "^2.0.0" - istanbul-api "^2.0.8" - istanbul-lib-coverage "^2.0.2" - istanbul-lib-instrument "^3.0.1" - istanbul-lib-source-maps "^3.0.1" - jest-changed-files "^24.0.0" - jest-config "^24.1.0" - jest-environment-jsdom "^24.0.0" - jest-get-type "^24.0.0" - jest-haste-map "^24.0.0" - jest-message-util "^24.0.0" - jest-regex-util "^24.0.0" - jest-resolve-dependencies "^24.1.0" - jest-runner "^24.1.0" - jest-runtime "^24.1.0" - jest-snapshot "^24.1.0" - jest-util "^24.0.0" - jest-validate "^24.0.0" - jest-watcher "^24.0.0" - jest-worker "^24.0.0" - micromatch "^3.1.10" - node-notifier "^5.2.1" - p-each-series "^1.0.0" - pirates "^4.0.0" + jest-config "^25.2.7" + jest-util "^25.2.6" + jest-validate "^25.2.6" prompts "^2.0.1" - realpath-native "^1.0.0" - rimraf "^2.5.4" - slash "^2.0.0" - string-length "^2.0.0" - strip-ansi "^5.0.0" - which "^1.2.12" - yargs "^12.0.2" + realpath-native "^2.0.0" + yargs "^15.3.1" jest-cli@^23.6.0: version "23.6.0" @@ -13640,24 +12624,6 @@ jest-cli@^23.6.0: which "^1.2.12" yargs "^11.0.0" -jest-cli@^24.1.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-24.9.0.tgz#ad2de62d07472d419c6abc301fc432b98b10d2af" - dependencies: - "@jest/core" "^24.9.0" - "@jest/test-result" "^24.9.0" - "@jest/types" "^24.9.0" - chalk "^2.0.1" - exit "^0.1.2" - import-local "^2.0.0" - is-ci "^2.0.0" - jest-config "^24.9.0" - jest-util "^24.9.0" - jest-validate "^24.9.0" - prompts "^2.0.1" - realpath-native "^1.1.0" - yargs "^13.3.0" - jest-config@^23.6.0: version "23.6.0" resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-23.6.0.tgz#f82546a90ade2d8c7026fbf6ac5207fc22f8eb1d" @@ -13677,27 +12643,29 @@ jest-config@^23.6.0: micromatch "^2.3.11" pretty-format "^23.6.0" -jest-config@^24.1.0, jest-config@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-24.9.0.tgz#fb1bbc60c73a46af03590719efa4825e6e4dd1b5" +jest-config@^25.2.7: + version "25.2.7" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-25.2.7.tgz#a14e5b96575987ce913dd9fc20ac8cd4b35a8c29" + integrity sha512-rIdPPXR6XUxi+7xO4CbmXXkE6YWprvlKc4kg1SrkCL2YV5m/8MkHstq9gBZJ19Qoa3iz/GP+0sTG/PcIwkFojg== dependencies: "@babel/core" "^7.1.0" - "@jest/test-sequencer" "^24.9.0" - "@jest/types" "^24.9.0" - babel-jest "^24.9.0" - chalk "^2.0.1" + "@jest/test-sequencer" "^25.2.7" + "@jest/types" "^25.2.6" + babel-jest "^25.2.6" + chalk "^3.0.0" + deepmerge "^4.2.2" glob "^7.1.1" - jest-environment-jsdom "^24.9.0" - jest-environment-node "^24.9.0" - jest-get-type "^24.9.0" - jest-jasmine2 "^24.9.0" - jest-regex-util "^24.3.0" - jest-resolve "^24.9.0" - jest-util "^24.9.0" - jest-validate "^24.9.0" - micromatch "^3.1.10" - pretty-format "^24.9.0" - realpath-native "^1.1.0" + jest-environment-jsdom "^25.2.6" + jest-environment-node "^25.2.6" + jest-get-type "^25.2.6" + jest-jasmine2 "^25.2.7" + jest-regex-util "^25.2.6" + jest-resolve "^25.2.6" + jest-util "^25.2.6" + jest-validate "^25.2.6" + micromatch "^4.0.2" + pretty-format "^25.2.6" + realpath-native "^2.0.0" jest-diff@^23.6.0: version "23.6.0" @@ -13708,14 +12676,15 @@ jest-diff@^23.6.0: jest-get-type "^22.1.0" pretty-format "^23.6.0" -jest-diff@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-24.9.0.tgz#931b7d0d5778a1baf7452cb816e325e3724055da" +jest-diff@^25.1.0, jest-diff@^25.2.6: + version "25.2.6" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-25.2.6.tgz#a6d70a9ab74507715ea1092ac513d1ab81c1b5e7" + integrity sha512-KuadXImtRghTFga+/adnNrv9s61HudRMR7gVSbP35UKZdn4IK2/0N0PpGZIqtmllK9aUyye54I3nu28OYSnqOg== dependencies: - chalk "^2.0.1" - diff-sequences "^24.9.0" - jest-get-type "^24.9.0" - pretty-format "^24.9.0" + chalk "^3.0.0" + diff-sequences "^25.2.6" + jest-get-type "^25.2.6" + pretty-format "^25.2.6" jest-docblock@^21.0.0: version "21.2.0" @@ -13727,11 +12696,12 @@ jest-docblock@^23.2.0: dependencies: detect-newline "^2.1.0" -jest-docblock@^24.3.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-24.9.0.tgz#7970201802ba560e1c4092cc25cbedf5af5a8ce2" +jest-docblock@^25.2.6: + version "25.2.6" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-25.2.6.tgz#4b09f1e7b7d6b3f39242ef3647ac7106770f722b" + integrity sha512-VAYrljEq0upq0oERfIaaNf28gC6p9gORndhHstCYF8NWGNQJnzoaU//S475IxfWMk4UjjVmS9rJKLe5Jjjbixw== dependencies: - detect-newline "^2.1.0" + detect-newline "^3.0.0" jest-each@^23.6.0: version "23.6.0" @@ -13740,15 +12710,16 @@ jest-each@^23.6.0: chalk "^2.0.1" pretty-format "^23.6.0" -jest-each@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-24.9.0.tgz#eb2da602e2a610898dbc5f1f6df3ba86b55f8b05" +jest-each@^25.2.6: + version "25.2.6" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-25.2.6.tgz#026f6dea2ccc443c35cea793265620aab1b278b6" + integrity sha512-OgQ01VINaRD6idWJOhCYwUc5EcgHBiFlJuw+ON2VgYr7HLtMFyCcuo+3mmBvuLUH4QudREZN7cDCZviknzsaJQ== dependencies: - "@jest/types" "^24.9.0" - chalk "^2.0.1" - jest-get-type "^24.9.0" - jest-util "^24.9.0" - pretty-format "^24.9.0" + "@jest/types" "^25.2.6" + chalk "^3.0.0" + jest-get-type "^25.2.6" + jest-util "^25.2.6" + pretty-format "^25.2.6" jest-environment-jsdom@^23.4.0: version "23.4.0" @@ -13758,16 +12729,17 @@ jest-environment-jsdom@^23.4.0: jest-util "^23.4.0" jsdom "^11.5.1" -jest-environment-jsdom@^24.0.0, jest-environment-jsdom@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-24.9.0.tgz#4b0806c7fc94f95edb369a69cc2778eec2b7375b" +jest-environment-jsdom@^25.2.6: + version "25.2.6" + resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-25.2.6.tgz#b7ae41c6035905b8e58d63a8f63cf8eaa00af279" + integrity sha512-/o7MZIhGmLGIEG5j7r5B5Az0umWLCHU+F5crwfbm0BzC4ybHTJZOQTFQWhohBg+kbTCNOuftMcqHlVkVduJCQQ== dependencies: - "@jest/environment" "^24.9.0" - "@jest/fake-timers" "^24.9.0" - "@jest/types" "^24.9.0" - jest-mock "^24.9.0" - jest-util "^24.9.0" - jsdom "^11.5.1" + "@jest/environment" "^25.2.6" + "@jest/fake-timers" "^25.2.6" + "@jest/types" "^25.2.6" + jest-mock "^25.2.6" + jest-util "^25.2.6" + jsdom "^15.2.1" jest-environment-node@^23.4.0: version "23.4.0" @@ -13776,23 +12748,26 @@ jest-environment-node@^23.4.0: jest-mock "^23.2.0" jest-util "^23.4.0" -jest-environment-node@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-24.9.0.tgz#333d2d2796f9687f2aeebf0742b519f33c1cbfd3" +jest-environment-node@^25.2.6: + version "25.2.6" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-25.2.6.tgz#ad4398432867113f474d94fe37b071ed04b30f3d" + integrity sha512-D1Ihj14fxZiMHGeTtU/LunhzSI+UeBvlr/rcXMTNyRMUMSz2PEhuqGbB78brBY6Dk3FhJDk7Ta+8reVaGjLWhA== dependencies: - "@jest/environment" "^24.9.0" - "@jest/fake-timers" "^24.9.0" - "@jest/types" "^24.9.0" - jest-mock "^24.9.0" - jest-util "^24.9.0" + "@jest/environment" "^25.2.6" + "@jest/fake-timers" "^25.2.6" + "@jest/types" "^25.2.6" + jest-mock "^25.2.6" + jest-util "^25.2.6" + semver "^6.3.0" jest-get-type@^22.1.0: version "22.4.3" resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-22.4.3.tgz#e3a8504d8479342dd4420236b322869f18900ce4" -jest-get-type@^24.0.0, jest-get-type@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-24.9.0.tgz#1684a0c8a50f2e4901b6644ae861f579eed2ef0e" +jest-get-type@^25.2.6: + version "25.2.6" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-25.2.6.tgz#0b0a32fab8908b44d508be81681487dbabb8d877" + integrity sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig== jest-haste-map@^23.6.0: version "23.6.0" @@ -13807,38 +12782,22 @@ jest-haste-map@^23.6.0: micromatch "^2.3.11" sane "^2.0.0" -jest-haste-map@^24.0.0, jest-haste-map@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-24.9.0.tgz#b38a5d64274934e21fa417ae9a9fbeb77ceaac7d" - dependencies: - "@jest/types" "^24.9.0" - anymatch "^2.0.0" - fb-watchman "^2.0.0" - graceful-fs "^4.1.15" - invariant "^2.2.4" - jest-serializer "^24.9.0" - jest-util "^24.9.0" - jest-worker "^24.9.0" - micromatch "^3.1.10" - sane "^4.0.3" - walker "^1.0.7" - optionalDependencies: - fsevents "^1.2.7" - -jest-haste-map@^25.1.0: - version "25.1.0" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-25.1.0.tgz#ae12163d284f19906260aa51fd405b5b2e5a4ad3" +jest-haste-map@^25.2.6: + version "25.2.6" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-25.2.6.tgz#4aa6bcfa15310afccdb9ca77af58a98add8cedb8" + integrity sha512-nom0+fnY8jwzelSDQnrqaKAcDZczYQvMEwcBjeL3PQ4MlcsqeB7dmrsAniUw/9eLkngT5DE6FhnenypilQFsgA== dependencies: - "@jest/types" "^25.1.0" + "@jest/types" "^25.2.6" anymatch "^3.0.3" fb-watchman "^2.0.0" graceful-fs "^4.2.3" - jest-serializer "^25.1.0" - jest-util "^25.1.0" - jest-worker "^25.1.0" + jest-serializer "^25.2.6" + jest-util "^25.2.6" + jest-worker "^25.2.6" micromatch "^4.0.2" sane "^4.0.3" walker "^1.0.7" + which "^2.0.2" optionalDependencies: fsevents "^2.1.2" @@ -13859,26 +12818,28 @@ jest-jasmine2@^23.6.0: jest-util "^23.4.0" pretty-format "^23.6.0" -jest-jasmine2@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-24.9.0.tgz#1f7b1bd3242c1774e62acabb3646d96afc3be6a0" +jest-jasmine2@^25.2.7: + version "25.2.7" + resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-25.2.7.tgz#55ff87f8f462ef0e2f16fd19430b8be8bcebef0e" + integrity sha512-HeQxEbonp8fUvik9jF0lkU9ab1u5TQdIb7YSU9Fj7SxWtqHNDGyCpF6ZZ3r/5yuertxi+R95Ba9eA91GMQ38eA== dependencies: "@babel/traverse" "^7.1.0" - "@jest/environment" "^24.9.0" - "@jest/test-result" "^24.9.0" - "@jest/types" "^24.9.0" - chalk "^2.0.1" + "@jest/environment" "^25.2.6" + "@jest/source-map" "^25.2.6" + "@jest/test-result" "^25.2.6" + "@jest/types" "^25.2.6" + chalk "^3.0.0" co "^4.6.0" - expect "^24.9.0" + expect "^25.2.7" is-generator-fn "^2.0.0" - jest-each "^24.9.0" - jest-matcher-utils "^24.9.0" - jest-message-util "^24.9.0" - jest-runtime "^24.9.0" - jest-snapshot "^24.9.0" - jest-util "^24.9.0" - pretty-format "^24.9.0" - throat "^4.0.0" + jest-each "^25.2.6" + jest-matcher-utils "^25.2.7" + jest-message-util "^25.2.6" + jest-runtime "^25.2.7" + jest-snapshot "^25.2.7" + jest-util "^25.2.6" + pretty-format "^25.2.6" + throat "^5.0.0" jest-leak-detector@^23.6.0: version "23.6.0" @@ -13886,12 +12847,13 @@ jest-leak-detector@^23.6.0: dependencies: pretty-format "^23.6.0" -jest-leak-detector@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-24.9.0.tgz#b665dea7c77100c5c4f7dfcb153b65cf07dcf96a" +jest-leak-detector@^25.2.6: + version "25.2.6" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-25.2.6.tgz#68fbaf651142292b03e30641f33e15af9b8c62b1" + integrity sha512-n+aJUM+j/x1kIaPVxzerMqhAUuqTU1PL5kup46rXh+l9SP8H6LqECT/qD1GrnylE1L463/0StSPkH4fUpkuEjA== dependencies: - jest-get-type "^24.9.0" - pretty-format "^24.9.0" + jest-get-type "^25.2.6" + pretty-format "^25.2.6" jest-matcher-utils@^23.6.0: version "23.6.0" @@ -13901,14 +12863,15 @@ jest-matcher-utils@^23.6.0: jest-get-type "^22.1.0" pretty-format "^23.6.0" -jest-matcher-utils@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-24.9.0.tgz#f5b3661d5e628dffe6dd65251dfdae0e87c3a073" +jest-matcher-utils@^25.2.7: + version "25.2.7" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-25.2.7.tgz#53fad3c11fc42e92e374306df543026712c957a3" + integrity sha512-jNYmKQPRyPO3ny0KY1I4f0XW4XnpJ3Nx5ovT4ik0TYDOYzuXJW40axqOyS61l/voWbVT9y9nZ1THL1DlpaBVpA== dependencies: - chalk "^2.0.1" - jest-diff "^24.9.0" - jest-get-type "^24.9.0" - pretty-format "^24.9.0" + chalk "^3.0.0" + jest-diff "^25.2.6" + jest-get-type "^25.2.6" + pretty-format "^25.2.6" jest-message-util@^23.4.0: version "23.4.0" @@ -13920,28 +12883,29 @@ jest-message-util@^23.4.0: slash "^1.0.0" stack-utils "^1.0.1" -jest-message-util@^24.0.0, jest-message-util@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-24.9.0.tgz#527f54a1e380f5e202a8d1149b0ec872f43119e3" +jest-message-util@^25.2.6: + version "25.2.6" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-25.2.6.tgz#9d5523bebec8cd9cdef75f0f3069d6ec9a2252df" + integrity sha512-Hgg5HbOssSqOuj+xU1mi7m3Ti2nwSQJQf/kxEkrz2r2rp2ZLO1pMeKkz2WiDUWgSR+APstqz0uMFcE5yc0qdcg== dependencies: "@babel/code-frame" "^7.0.0" - "@jest/test-result" "^24.9.0" - "@jest/types" "^24.9.0" + "@jest/types" "^25.2.6" "@types/stack-utils" "^1.0.1" - chalk "^2.0.1" - micromatch "^3.1.10" - slash "^2.0.0" + chalk "^3.0.0" + micromatch "^4.0.2" + slash "^3.0.0" stack-utils "^1.0.1" jest-mock@^23.2.0: version "23.2.0" resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-23.2.0.tgz#ad1c60f29e8719d47c26e1138098b6d18b261134" -jest-mock@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-24.9.0.tgz#c22835541ee379b908673ad51087a2185c13f1c6" +jest-mock@^25.2.6: + version "25.2.6" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-25.2.6.tgz#8df66eaa55a713d0f2a7dfb4f14507289d24dfa3" + integrity sha512-vc4nibavi2RGPdj/MyZy/azuDjZhpYZLvpfgq1fxkhbyTpKVdG7CgmRVKJ7zgLpY5kuMjTzDYA6QnRwhsCU+tA== dependencies: - "@jest/types" "^24.9.0" + "@jest/types" "^25.2.6" jest-pnp-resolver@1.0.1: version "1.0.1" @@ -13955,13 +12919,10 @@ jest-regex-util@^23.3.0: version "23.3.0" resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-23.3.0.tgz#5f86729547c2785c4002ceaa8f849fe8ca471bc5" -jest-regex-util@^24.0.0, jest-regex-util@^24.3.0, jest-regex-util@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-24.9.0.tgz#c13fb3380bde22bf6575432c493ea8fe37965636" - -jest-regex-util@^25.1.0: - version "25.1.0" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-25.1.0.tgz#efaf75914267741838e01de24da07b2192d16d87" +jest-regex-util@^25.2.6: + version "25.2.6" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-25.2.6.tgz#d847d38ba15d2118d3b06390056028d0f2fd3964" + integrity sha512-KQqf7a0NrtCkYmZZzodPftn7fL1cq3GQAFVMn5Hg8uKx/fIenLEobNanUxb7abQ1sjADHBseG/2FGpsv/wr+Qw== jest-resolve-dependencies@^23.6.0: version "23.6.0" @@ -13970,13 +12931,14 @@ jest-resolve-dependencies@^23.6.0: jest-regex-util "^23.3.0" jest-snapshot "^23.6.0" -jest-resolve-dependencies@^24.1.0, jest-resolve-dependencies@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-24.9.0.tgz#ad055198959c4cfba8a4f066c673a3f0786507ab" +jest-resolve-dependencies@^25.2.7: + version "25.2.7" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-25.2.7.tgz#9ca4c62d67cce031a27fa5d5705b4b5b5c029d23" + integrity sha512-IrnMzCAh11Xd2gAOJL+ThEW6QO8DyqNdvNkQcaCticDrOAr9wtKT7yT6QBFFjqKFgjjvaVKDs59WdgUhgYnHnQ== dependencies: - "@jest/types" "^24.9.0" - jest-regex-util "^24.3.0" - jest-snapshot "^24.9.0" + "@jest/types" "^25.2.6" + jest-regex-util "^25.2.6" + jest-snapshot "^25.2.7" jest-resolve@23.6.0, jest-resolve@^23.6.0: version "23.6.0" @@ -13986,15 +12948,17 @@ jest-resolve@23.6.0, jest-resolve@^23.6.0: chalk "^2.0.1" realpath-native "^1.0.0" -jest-resolve@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-24.9.0.tgz#dff04c7687af34c4dd7e524892d9cf77e5d17321" +jest-resolve@^25.2.6: + version "25.2.6" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-25.2.6.tgz#84694ead5da13c2890ac04d4a78699ba937f3896" + integrity sha512-7O61GVdcAXkLz/vNGKdF+00A80/fKEAA47AEXVNcZwj75vEjPfZbXDaWFmAQCyXj4oo9y9dC9D+CLA11t8ieGw== dependencies: - "@jest/types" "^24.9.0" + "@jest/types" "^25.2.6" browser-resolve "^1.11.3" - chalk "^2.0.1" + chalk "^3.0.0" jest-pnp-resolver "^1.2.1" - realpath-native "^1.1.0" + realpath-native "^2.0.0" + resolve "^1.15.1" jest-runner@^23.6.0: version "23.6.0" @@ -14014,29 +12978,30 @@ jest-runner@^23.6.0: source-map-support "^0.5.6" throat "^4.0.0" -jest-runner@^24.1.0, jest-runner@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-24.9.0.tgz#574fafdbd54455c2b34b4bdf4365a23857fcdf42" +jest-runner@^25.2.7: + version "25.2.7" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-25.2.7.tgz#3676c01dc0104caa8a0ebb8507df382c88f2a1e2" + integrity sha512-RFEr71nMrtNwcpoHzie5+fe1w3JQCGMyT2xzNwKe3f88+bK+frM2o1v24gEcPxQ2QqB3COMCe2+1EkElP+qqqQ== dependencies: - "@jest/console" "^24.7.1" - "@jest/environment" "^24.9.0" - "@jest/test-result" "^24.9.0" - "@jest/types" "^24.9.0" - chalk "^2.4.2" + "@jest/console" "^25.2.6" + "@jest/environment" "^25.2.6" + "@jest/test-result" "^25.2.6" + "@jest/types" "^25.2.6" + chalk "^3.0.0" exit "^0.1.2" - graceful-fs "^4.1.15" - jest-config "^24.9.0" - jest-docblock "^24.3.0" - jest-haste-map "^24.9.0" - jest-jasmine2 "^24.9.0" - jest-leak-detector "^24.9.0" - jest-message-util "^24.9.0" - jest-resolve "^24.9.0" - jest-runtime "^24.9.0" - jest-util "^24.9.0" - jest-worker "^24.6.0" + graceful-fs "^4.2.3" + jest-config "^25.2.7" + jest-docblock "^25.2.6" + jest-haste-map "^25.2.6" + jest-jasmine2 "^25.2.7" + jest-leak-detector "^25.2.6" + jest-message-util "^25.2.6" + jest-resolve "^25.2.6" + jest-runtime "^25.2.7" + jest-util "^25.2.6" + jest-worker "^25.2.6" source-map-support "^0.5.6" - throat "^4.0.0" + throat "^5.0.0" jest-runtime@^23.6.0: version "23.6.0" @@ -14064,45 +13029,45 @@ jest-runtime@^23.6.0: write-file-atomic "^2.1.0" yargs "^11.0.0" -jest-runtime@^24.1.0, jest-runtime@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-24.9.0.tgz#9f14583af6a4f7314a6a9d9f0226e1a781c8e4ac" - dependencies: - "@jest/console" "^24.7.1" - "@jest/environment" "^24.9.0" - "@jest/source-map" "^24.3.0" - "@jest/transform" "^24.9.0" - "@jest/types" "^24.9.0" - "@types/yargs" "^13.0.0" - chalk "^2.0.1" +jest-runtime@^25.2.7: + version "25.2.7" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-25.2.7.tgz#cb10e695d036671a83aec3a3803163c354043ac9" + integrity sha512-Gw3X8KxTTFylu2T/iDSNKRUQXQiPIYUY0b66GwVYa7W8wySkUljKhibQHSq0VhmCAN7vRBEQjlVQ+NFGNmQeBw== + dependencies: + "@jest/console" "^25.2.6" + "@jest/environment" "^25.2.6" + "@jest/source-map" "^25.2.6" + "@jest/test-result" "^25.2.6" + "@jest/transform" "^25.2.6" + "@jest/types" "^25.2.6" + "@types/yargs" "^15.0.0" + chalk "^3.0.0" + collect-v8-coverage "^1.0.0" exit "^0.1.2" glob "^7.1.3" - graceful-fs "^4.1.15" - jest-config "^24.9.0" - jest-haste-map "^24.9.0" - jest-message-util "^24.9.0" - jest-mock "^24.9.0" - jest-regex-util "^24.3.0" - jest-resolve "^24.9.0" - jest-snapshot "^24.9.0" - jest-util "^24.9.0" - jest-validate "^24.9.0" - realpath-native "^1.1.0" - slash "^2.0.0" - strip-bom "^3.0.0" - yargs "^13.3.0" + graceful-fs "^4.2.3" + jest-config "^25.2.7" + jest-haste-map "^25.2.6" + jest-message-util "^25.2.6" + jest-mock "^25.2.6" + jest-regex-util "^25.2.6" + jest-resolve "^25.2.6" + jest-snapshot "^25.2.7" + jest-util "^25.2.6" + jest-validate "^25.2.6" + realpath-native "^2.0.0" + slash "^3.0.0" + strip-bom "^4.0.0" + yargs "^15.3.1" jest-serializer@^23.0.1: version "23.0.1" resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-23.0.1.tgz#a3776aeb311e90fe83fab9e533e85102bd164165" -jest-serializer@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-24.9.0.tgz#e6d7d7ef96d31e8b9079a714754c5d5c58288e73" - -jest-serializer@^25.1.0: - version "25.1.0" - resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-25.1.0.tgz#73096ba90e07d19dec4a0c1dd89c355e2f129e5d" +jest-serializer@^25.2.6: + version "25.2.6" + resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-25.2.6.tgz#3bb4cc14fe0d8358489dbbefbb8a4e708ce039b7" + integrity sha512-RMVCfZsezQS2Ww4kB5HJTMaMJ0asmC0BHlnobQC6yEtxiFKIxohFA4QSXSabKwSggaNkqxn6Z2VwdFCjhUWuiQ== jest-snapshot@^23.6.0: version "23.6.0" @@ -14119,23 +13084,25 @@ jest-snapshot@^23.6.0: pretty-format "^23.6.0" semver "^5.5.0" -jest-snapshot@^24.1.0, jest-snapshot@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-24.9.0.tgz#ec8e9ca4f2ec0c5c87ae8f925cf97497b0e951ba" +jest-snapshot@^25.2.7: + version "25.2.7" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-25.2.7.tgz#7eeafeef4dcbda1c47c8503d2bf5212b6430aac6" + integrity sha512-Rm8k7xpGM4tzmYhB6IeRjsOMkXaU8/FOz5XlU6oYwhy53mq6txVNqIKqN1VSiexzpC80oWVxVDfUDt71M6XPOA== dependencies: "@babel/types" "^7.0.0" - "@jest/types" "^24.9.0" - chalk "^2.0.1" - expect "^24.9.0" - jest-diff "^24.9.0" - jest-get-type "^24.9.0" - jest-matcher-utils "^24.9.0" - jest-message-util "^24.9.0" - jest-resolve "^24.9.0" - mkdirp "^0.5.1" + "@jest/types" "^25.2.6" + "@types/prettier" "^1.19.0" + chalk "^3.0.0" + expect "^25.2.7" + jest-diff "^25.2.6" + jest-get-type "^25.2.6" + jest-matcher-utils "^25.2.7" + jest-message-util "^25.2.6" + jest-resolve "^25.2.6" + make-dir "^3.0.0" natural-compare "^1.4.0" - pretty-format "^24.9.0" - semver "^6.2.0" + pretty-format "^25.2.6" + semver "^6.3.0" jest-util@^23.4.0: version "23.4.0" @@ -14150,31 +13117,15 @@ jest-util@^23.4.0: slash "^1.0.0" source-map "^0.6.0" -jest-util@^24.0.0, jest-util@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-24.9.0.tgz#7396814e48536d2e85a37de3e4c431d7cb140162" - dependencies: - "@jest/console" "^24.9.0" - "@jest/fake-timers" "^24.9.0" - "@jest/source-map" "^24.9.0" - "@jest/test-result" "^24.9.0" - "@jest/types" "^24.9.0" - callsites "^3.0.0" - chalk "^2.0.1" - graceful-fs "^4.1.15" - is-ci "^2.0.0" - mkdirp "^0.5.1" - slash "^2.0.0" - source-map "^0.6.0" - -jest-util@^25.1.0: - version "25.1.0" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-25.1.0.tgz#7bc56f7b2abd534910e9fa252692f50624c897d9" +jest-util@^25.2.6: + version "25.2.6" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-25.2.6.tgz#3c1c95cdfd653126728b0ed861a86610e30d569c" + integrity sha512-gpXy0H5ymuQ0x2qgl1zzHg7LYHZYUmDEq6F7lhHA8M0eIwDB2WteOcCnQsohl9c/vBKZ3JF2r4EseipCZz3s4Q== dependencies: - "@jest/types" "^25.1.0" + "@jest/types" "^25.2.6" chalk "^3.0.0" is-ci "^2.0.0" - mkdirp "^0.5.1" + make-dir "^3.0.0" jest-validate@^23.6.0: version "23.6.0" @@ -14185,16 +13136,17 @@ jest-validate@^23.6.0: leven "^2.1.0" pretty-format "^23.6.0" -jest-validate@^24.0.0, jest-validate@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-24.9.0.tgz#0775c55360d173cd854e40180756d4ff52def8ab" +jest-validate@^25.2.6: + version "25.2.6" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-25.2.6.tgz#ab3631fb97e242c42b09ca53127abe0b12e9125e" + integrity sha512-a4GN7hYbqQ3Rt9iHsNLFqQz7HDV7KiRPCwPgo5nqtTIWNZw7gnT8KchG+Riwh+UTSn8REjFCodGp50KX/fRNgQ== dependencies: - "@jest/types" "^24.9.0" + "@jest/types" "^25.2.6" camelcase "^5.3.1" - chalk "^2.0.1" - jest-get-type "^24.9.0" + chalk "^3.0.0" + jest-get-type "^25.2.6" leven "^3.1.0" - pretty-format "^24.9.0" + pretty-format "^25.2.6" jest-watcher@^23.4.0: version "23.4.0" @@ -14204,17 +13156,17 @@ jest-watcher@^23.4.0: chalk "^2.0.1" string-length "^2.0.0" -jest-watcher@^24.0.0, jest-watcher@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-24.9.0.tgz#4b56e5d1ceff005f5b88e528dc9afc8dd4ed2b3b" +jest-watcher@^25.2.7: + version "25.2.7" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-25.2.7.tgz#01db4332d34d14c03c9ef22255125a3b07f997bc" + integrity sha512-RdHuW+f49tahWtluTnUdZ2iPliebleROI2L/J5phYrUS6DPC9RB3SuUtqYyYhGZJsbvRSuLMIlY/cICJ+PIecw== dependencies: - "@jest/test-result" "^24.9.0" - "@jest/types" "^24.9.0" - "@types/yargs" "^13.0.0" - ansi-escapes "^3.0.0" - chalk "^2.0.1" - jest-util "^24.9.0" - string-length "^2.0.0" + "@jest/test-result" "^25.2.6" + "@jest/types" "^25.2.6" + ansi-escapes "^4.2.1" + chalk "^3.0.0" + jest-util "^25.2.6" + string-length "^3.1.0" jest-worker@^23.2.0: version "23.2.0" @@ -14222,16 +13174,17 @@ jest-worker@^23.2.0: dependencies: merge-stream "^1.0.1" -jest-worker@^24.0.0, jest-worker@^24.6.0, jest-worker@^24.9.0: +jest-worker@^24.9.0: version "24.9.0" resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-24.9.0.tgz#5dbfdb5b2d322e98567898238a9697bcce67b3e5" dependencies: merge-stream "^2.0.0" supports-color "^6.1.0" -jest-worker@^25.1.0: - version "25.1.0" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-25.1.0.tgz#75d038bad6fdf58eba0d2ec1835856c497e3907a" +jest-worker@^25.2.6: + version "25.2.6" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-25.2.6.tgz#d1292625326794ce187c38f51109faced3846c58" + integrity sha512-FJn9XDUSxcOR4cwDzRfL1z56rUofNTFs539FGASpd50RHdb6EVkhxQqktodW2mI49l+W3H+tFJDotCHUQF6dmA== dependencies: merge-stream "^2.0.0" supports-color "^7.0.0" @@ -14243,12 +13196,14 @@ jest@23.6.0: import-local "^1.0.0" jest-cli "^23.6.0" -jest@24.1.0: - version "24.1.0" - resolved "https://registry.yarnpkg.com/jest/-/jest-24.1.0.tgz#b1e1135caefcf2397950ecf7f90e395fde866fd2" +jest@25.2.7: + version "25.2.7" + resolved "https://registry.yarnpkg.com/jest/-/jest-25.2.7.tgz#3929a5f35cdd496f7756876a206b99a94e1e09ae" + integrity sha512-XV1n/CE2McCikl4tfpCY950RytHYvxdo/wvtgmn/qwA8z1s16fuvgFL/KoPrrmkqJTaPMUlLVE58pwiaTX5TdA== dependencies: - import-local "^2.0.0" - jest-cli "^24.1.0" + "@jest/core" "^25.2.7" + import-local "^3.0.2" + jest-cli "^25.2.7" joi@^11.1.1: version "11.4.0" @@ -14297,7 +13252,7 @@ jsdoctypeparser@^6.1.0: version "6.1.0" resolved "https://registry.yarnpkg.com/jsdoctypeparser/-/jsdoctypeparser-6.1.0.tgz#acfb936c26300d98f1405cb03e20b06748e512a8" -jsdom@>=11.0.0, jsdom@^15.1.0: +jsdom@>=11.0.0: version "15.2.0" resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-15.2.0.tgz#4baead4f464e733533ed6ac607ce440918cf5cbb" dependencies: @@ -14359,6 +13314,38 @@ jsdom@^11.5.1: ws "^5.2.0" xml-name-validator "^3.0.0" +jsdom@^15.2.1: + version "15.2.1" + resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-15.2.1.tgz#d2feb1aef7183f86be521b8c6833ff5296d07ec5" + integrity sha512-fAl1W0/7T2G5vURSyxBzrJ1LSdQn6Tr5UX/xD4PXDx/PDgwygedfW6El/KIj3xJ7FU61TTYnc/l/B7P49Eqt6g== + dependencies: + abab "^2.0.0" + acorn "^7.1.0" + acorn-globals "^4.3.2" + array-equal "^1.0.0" + cssom "^0.4.1" + cssstyle "^2.0.0" + data-urls "^1.1.0" + domexception "^1.0.1" + escodegen "^1.11.1" + html-encoding-sniffer "^1.0.2" + nwsapi "^2.2.0" + parse5 "5.1.0" + pn "^1.1.0" + request "^2.88.0" + request-promise-native "^1.0.7" + saxes "^3.1.9" + symbol-tree "^3.2.2" + tough-cookie "^3.0.1" + w3c-hr-time "^1.0.1" + w3c-xmlserializer "^1.1.2" + webidl-conversions "^4.0.2" + whatwg-encoding "^1.0.5" + whatwg-mimetype "^2.3.0" + whatwg-url "^7.0.0" + ws "^7.0.0" + xml-name-validator "^3.0.0" + jsesc@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" @@ -14419,7 +13406,7 @@ json5@^1.0.1: dependencies: minimist "^1.2.0" -json5@^2.1.0, json5@^2.1.1: +json5@^2.1.0: version "2.1.1" resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.1.tgz#81b6cb04e9ba496f1c7005d07b4368a2638f90b6" dependencies: @@ -14521,10 +13508,6 @@ killable@^1.0.0, killable@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/killable/-/killable-1.0.1.tgz#4c8ce441187a061c7474fb87ca08e2a638194892" -kind-of@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-1.1.0.tgz#140a3d2d41a36d2efcfa9377b62c24f8495a5c44" - kind-of@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-2.0.1.tgz#018ec7a4ce7e3a86cb9141be519d24c8faa981b5" @@ -14741,25 +13724,27 @@ left-pad@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/left-pad/-/left-pad-1.3.0.tgz#5b8a3a7765dfe001261dde915589e782f8c94d1e" -lerna@3.16.2: - version "3.16.2" - resolved "https://registry.yarnpkg.com/lerna/-/lerna-3.16.2.tgz#e1c59df2c28348d0b303da666eb36b87649560cb" - dependencies: - "@lerna/add" "3.16.2" - "@lerna/bootstrap" "3.16.2" - "@lerna/changed" "3.16.2" - "@lerna/clean" "3.16.0" - "@lerna/cli" "3.13.0" - "@lerna/create" "3.16.0" - "@lerna/diff" "3.16.0" - "@lerna/exec" "3.16.0" - "@lerna/import" "3.16.0" - "@lerna/init" "3.16.0" - "@lerna/link" "3.16.2" - "@lerna/list" "3.16.0" - "@lerna/publish" "3.16.2" - "@lerna/run" "3.16.0" - "@lerna/version" "3.16.2" +lerna@3.20.2: + version "3.20.2" + resolved "https://registry.yarnpkg.com/lerna/-/lerna-3.20.2.tgz#abf84e73055fe84ee21b46e64baf37b496c24864" + integrity sha512-bjdL7hPLpU3Y8CBnw/1ys3ynQMUjiK6l9iDWnEGwFtDy48Xh5JboR9ZJwmKGCz9A/sarVVIGwf1tlRNKUG9etA== + dependencies: + "@lerna/add" "3.20.0" + "@lerna/bootstrap" "3.20.0" + "@lerna/changed" "3.20.0" + "@lerna/clean" "3.20.0" + "@lerna/cli" "3.18.5" + "@lerna/create" "3.18.5" + "@lerna/diff" "3.18.5" + "@lerna/exec" "3.20.0" + "@lerna/import" "3.18.5" + "@lerna/info" "3.20.0" + "@lerna/init" "3.18.5" + "@lerna/link" "3.18.5" + "@lerna/list" "3.20.0" + "@lerna/publish" "3.20.2" + "@lerna/run" "3.20.0" + "@lerna/version" "3.20.2" import-local "^2.0.0" npmlog "^4.1.2" @@ -15020,6 +14005,15 @@ loader-utils@1.2.3, loader-utils@^1.0.1, loader-utils@^1.0.2, loader-utils@^1.1. emojis-list "^2.0.0" json5 "^1.0.1" +loader-utils@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613" + integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA== + dependencies: + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^1.0.1" + local-web-server@^2.6.1: version "2.6.1" resolved "https://registry.yarnpkg.com/local-web-server/-/local-web-server-2.6.1.tgz#6c96bc3193edb00b5ba1d483607a71af6d5509e7" @@ -15163,6 +14157,7 @@ lodash.maxby@^4.6.0: lodash.memoize@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" + integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4= lodash.merge@^4.4.0: version "4.6.2" @@ -15241,7 +14236,7 @@ lodash@4.17.14: version "4.17.14" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.14.tgz#9ce487ae66c96254fe20b599f21b6816028078ba" -lodash@4.17.15, "lodash@>=3.5 <5", lodash@^4.0.0, lodash@^4.11.1, lodash@^4.15.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.1, lodash@^4.3.0, lodash@^4.5.1, lodash@~4.17.10: +lodash@4.17.15, "lodash@>=3.5 <5", lodash@^4.0.0, lodash@^4.11.1, lodash@^4.15.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.1, lodash@^4.3.0, lodash@~4.17.10: version "4.17.15" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" @@ -15285,6 +14280,13 @@ lokijs@^1.5.8: version "1.5.8" resolved "https://registry.yarnpkg.com/lokijs/-/lokijs-1.5.8.tgz#9296f288edb2147389ec692fc972c428c59179d1" +lolex@^5.0.0: + version "5.1.2" + resolved "https://registry.yarnpkg.com/lolex/-/lolex-5.1.2.tgz#953694d098ce7c07bc5ed6d0e42bc6c0c6d5a367" + integrity sha512-h4hmjAvHTmd+25JSwrtTIuwbKdwg5NzZVRMLn9saij4SZaepCrTCxPr35H/3bjwfMJtN+t3CX8672UIkglz28A== + dependencies: + "@sinonjs/commons" "^1.7.0" + longest-streak@^2.0.1: version "2.0.3" resolved "https://registry.yarnpkg.com/longest-streak/-/longest-streak-2.0.3.tgz#3de7a3f47ee18e9074ded8575b5c091f5d0a4105" @@ -15681,9 +14683,10 @@ mdast-util-to-string@^1.0.5: version "1.0.6" resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-1.0.6.tgz#7d85421021343b33de1552fc71cb8e5b4ae7536d" -mdast-util-to-string@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-1.0.7.tgz#62d8e9c6b2113070d8b497c7dc35bf12796f06ee" +mdast-util-to-string@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-1.1.0.tgz#27055500103f51637bd07d01da01eb1967a43527" + integrity sha512-jVU0Nr2B9X3MU4tSK7JP1CMkSvOj7X5l/GboG1tKRw52lLF1x2Ju92Ms9tNetCcbfX3hzlM73zYo2NKkWSfF/A== mdast-util-toc@^3.1.0: version "3.1.0" @@ -16112,6 +15115,13 @@ mkdirp@*, mkdirp@0.5.1, mkdirp@0.x.x, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0 dependencies: minimist "0.0.8" +mkdirp@^0.5.3: + version "0.5.5" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" + integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== + dependencies: + minimist "^1.2.5" + modify-values@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/modify-values/-/modify-values-1.0.1.tgz#b3939fa605546474e3e3e3c63d64bd43b4ee6022" @@ -16197,10 +15207,6 @@ multimatch@^4.0.0: arrify "^2.0.1" minimatch "^3.0.4" -mutation-observer@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/mutation-observer/-/mutation-observer-1.0.3.tgz#42e9222b101bca82e5ba9d5a7acf4a14c0f263d0" - mute-stream@0.0.6: version "0.0.6" resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.6.tgz#48962b19e169fd1dfc240b3f1e7317627bbc47db" @@ -16423,7 +15429,7 @@ node-modules-regexp@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" -node-notifier@^5.2.1, node-notifier@^5.4.2: +node-notifier@^5.2.1: version "5.4.3" resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-5.4.3.tgz#cb72daf94c93904098e28b9c590fd866e464bd50" dependencies: @@ -16433,6 +15439,17 @@ node-notifier@^5.2.1, node-notifier@^5.4.2: shellwords "^0.1.1" which "^1.3.0" +node-notifier@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-6.0.0.tgz#cea319e06baa16deec8ce5cd7f133c4a46b68e12" + integrity sha512-SVfQ/wMw+DesunOm5cKqr6yDcvUTDl/yc97ybGHMrteNEY6oekXpNpS3lZwgLlwz0FLgHoiW28ZpmBHUDg37cw== + dependencies: + growly "^1.3.0" + is-wsl "^2.1.1" + semver "^6.3.0" + shellwords "^0.1.1" + which "^1.3.1" + node-object-hash@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/node-object-hash/-/node-object-hash-2.0.0.tgz#9971fcdb7d254f05016bd9ccf508352bee11116b" @@ -16486,30 +15503,10 @@ 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" - dependencies: - semver "^6.3.0" - -node-releases@^1.1.42: - version "1.1.42" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.42.tgz#a999f6a62f8746981f6da90627a8d2fc090bbad7" - dependencies: - semver "^6.3.0" - -node-releases@^1.1.47: - version "1.1.47" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.47.tgz#c59ef739a1fd7ecbd9f0b7cf5b7871e8a8b591e4" - dependencies: - semver "^6.3.0" +node-releases@^1.1.53: + version "1.1.53" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.53.tgz#2d821bfa499ed7c5dffc5e2f28c88e78a08ee3f4" + integrity sha512-wp8zyQVwef2hpZ/dJH7SfSrIPD6YoJz6BDQDpGEkcA0s3LpAQoxBIYmfIq6QAhC1DhwsyCgTaTTcONwX8qzCuQ== node-sass@4: version "4.13.1" @@ -16815,6 +15812,11 @@ nwsapi@^2.0.7, nwsapi@^2.1.4: version "2.1.4" resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.1.4.tgz#e006a878db23636f8e8a67d33ca0e4edf61a842f" +nwsapi@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" + integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ== + oauth-sign@~0.9.0: version "0.9.0" resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" @@ -16851,6 +15853,11 @@ object-is@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.0.1.tgz#0aa60ec9989a0b3ed795cf4d06f62cf1ad6539b6" +object-is@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.0.2.tgz#6b80eb84fe451498f65007982f035a5b445edec4" + integrity sha512-Epah+btZd5wrrfjkJZq1AOB9O6OxUQto45hzFd7lXGrpHPGE0W1k+426yrZV+k6NJOzLNNW/nVsmZdIWsAqoOQ== + object-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" @@ -16883,7 +15890,7 @@ object.defaults@^1.1.0: for-own "^1.0.0" isobject "^3.0.0" -object.entries@^1.0.4, object.entries@^1.1.0: +object.entries@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.0.tgz#2024fc6d6ba246aee38bdb0ffd5cfbcf371b7519" dependencies: @@ -16901,15 +15908,6 @@ object.entries@^1.1.1: function-bind "^1.1.1" has "^1.0.3" -object.fromentries@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.1.tgz#050f077855c7af8ae6649f45c80b16ee2d31e704" - dependencies: - define-properties "^1.1.3" - es-abstract "^1.15.0" - function-bind "^1.1.1" - has "^1.0.3" - object.fromentries@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.2.tgz#4a09c9b9bb3843dd0f89acdb517a794d4f355ac9" @@ -16954,7 +15952,7 @@ object.pick@^1.2.0, object.pick@^1.3.0: dependencies: isobject "^3.0.1" -object.values@^1.0.4, object.values@^1.1.0: +object.values@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.0.tgz#bf6810ef5da3e5325790eaaa2be213ea84624da9" dependencies: @@ -17175,14 +16173,6 @@ osenv@0, osenv@^0.1.4, osenv@^0.1.5: os-homedir "^1.0.0" os-tmpdir "^1.0.0" -output-file-sync@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/output-file-sync/-/output-file-sync-2.0.1.tgz#f53118282f5f553c2799541792b723a4c71430c0" - dependencies: - graceful-fs "^4.1.11" - is-plain-obj "^1.1.0" - mkdirp "^0.5.1" - p-any@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/p-any/-/p-any-2.1.0.tgz#719489408e14f5f941a748f1e817f5c71cab35cb" @@ -17215,11 +16205,10 @@ p-defer@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-3.0.0.tgz#d1dceb4ee9b2b604b1d94ffec83760175d4e6f83" -p-each-series@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-1.0.0.tgz#930f3d12dd1f50e7434457a22cd6f04ac6ad7f71" - dependencies: - p-reduce "^1.0.0" +p-each-series@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-2.1.0.tgz#961c8dd3f195ea96c747e636b262b800a6b1af48" + integrity sha512-ZuRs1miPT4HrjFa+9fRfOFXxGJfORgelKV9f9nNOWw2gl6gVsRaVDOQP0+MI0G0wGKns1Yacsu0GjOFbTK0JFQ== p-finally@^1.0.0: version "1.0.0" @@ -17566,10 +16555,6 @@ parse-latin@^4.0.0: unist-util-modify-children "^1.0.0" unist-util-visit-children "^1.0.0" -parse-node-version@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/parse-node-version/-/parse-node-version-1.0.1.tgz#e2b5dbede00e7fa9bc363607f53327e8b073189b" - parse-passwd@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" @@ -17847,7 +16832,7 @@ pinkie@^2.0.0: version "2.0.4" resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" -pirates@^4.0.0, pirates@^4.0.1: +pirates@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.1.tgz#643a92caf894566f91b2b986d2c66950a8e2fb87" dependencies: @@ -17871,19 +16856,19 @@ pkg-dir@^3.0.0: dependencies: find-up "^3.0.0" +pkg-dir@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" + integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== + dependencies: + find-up "^4.0.0" + pkg-up@2.0.0, pkg-up@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-2.0.0.tgz#c819ac728059a461cab1c3889a2be3c49a004d7f" 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" @@ -17904,16 +16889,6 @@ plop@^2.0.0: ora "^3.4.0" v8flags "^2.0.10" -plugin-error@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/plugin-error/-/plugin-error-0.1.2.tgz#3b9bb3335ccf00f425e07437e19276967da47ace" - dependencies: - ansi-cyan "^0.1.1" - ansi-red "^0.1.1" - arr-diff "^1.0.1" - arr-union "^2.0.1" - extend-shallow "^1.1.2" - pluralize@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-7.0.0.tgz#298b89df8b93b0221dbf421ad2b1b1ea23fc6777" @@ -18594,14 +17569,15 @@ pretty-format@^23.6.0: ansi-regex "^3.0.0" ansi-styles "^3.2.0" -pretty-format@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-24.9.0.tgz#12fac31b37019a4eea3c11aa9a959eb7628aa7c9" +pretty-format@^25.1.0, pretty-format@^25.2.6: + version "25.2.6" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-25.2.6.tgz#542a1c418d019bbf1cca2e3620443bc1323cb8d7" + integrity sha512-DEiWxLBaCHneffrIT4B+TpMvkV9RNvvJrd3lY9ew1CEQobDzEXmYT1mg0hJhljZty7kCc10z13ohOFAE8jrUDg== dependencies: - "@jest/types" "^24.9.0" - ansi-regex "^4.0.0" - ansi-styles "^3.2.0" - react-is "^16.8.4" + "@jest/types" "^25.2.6" + ansi-regex "^5.0.0" + ansi-styles "^4.0.0" + react-is "^16.12.0" prism-react-renderer@^0.1.0: version "0.1.7" @@ -18862,9 +17838,10 @@ quick-lru@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-1.1.0.tgz#4360b17c61136ad38078397ff11416e186dcfbb8" -raf@3.4.1, raf@^3.4.0: +raf@3.4.1, raf@^3.4.1: version "3.4.1" resolved "https://registry.yarnpkg.com/raf/-/raf-3.4.1.tgz#0742e99a4a6552f445d73e3ee0328af0ff1ede39" + integrity sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA== dependencies: performance-now "^2.1.0" @@ -19104,12 +18081,17 @@ react-hot-loader@^4.12.20: shallowequal "^1.1.0" source-map "^0.7.3" +react-is@^16.12.0: + version "16.13.1" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" + integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== + react-is@^16.3.2: version "16.13.0" resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.0.tgz#0f37c3613c34fe6b37cd7f763a0d6293ab15c527" integrity sha512-GFMtL0vHkiBv9HluwNZTggSn/sCyEt9n02aM0dSAjGGyqyNlAyftYm4phPxdvCigG15JreC5biwxCgTAJZ7yAA== -react-is@^16.7.0, react-is@^16.8.1, react-is@^16.8.4, react-is@^16.8.6, react-is@^16.9.0: +react-is@^16.7.0, react-is@^16.8.1, react-is@^16.8.6, react-is@^16.9.0: version "16.11.0" resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.11.0.tgz#b85dfecd48ad1ce469ff558a882ca8e8313928fa" @@ -19357,6 +18339,15 @@ read-pkg@^3.0.0: normalize-package-data "^2.3.2" path-type "^3.0.0" +read-pkg@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-4.0.1.tgz#963625378f3e1c4d48c85872b5a6ec7d5d093237" + integrity sha1-ljYlN48+HE1IyFhytabsfV0JMjc= + dependencies: + normalize-package-data "^2.3.2" + parse-json "^4.0.0" + pify "^3.0.0" + read-pkg@^5.0.0: version "5.2.0" resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" @@ -19424,12 +18415,6 @@ readdirp@^2.2.1: micromatch "^3.1.10" readable-stream "^2.0.2" -readdirp@~3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.2.0.tgz#c30c33352b12c96dfb4b895421a49fd5a9593839" - 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" @@ -19437,12 +18422,17 @@ readdirp@~3.3.0: dependencies: picomatch "^2.0.7" -realpath-native@^1.0.0, realpath-native@^1.1.0: +realpath-native@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/realpath-native/-/realpath-native-1.1.0.tgz#2003294fea23fb0672f2476ebe22fcf498a2d65c" dependencies: util.promisify "^1.0.0" +realpath-native@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/realpath-native/-/realpath-native-2.0.0.tgz#7377ac429b6e1fd599dc38d08ed942d0d7beb866" + integrity sha512-v1SEYUOXXdbBZK8ZuNgO4TBjamPsiSgcFr0aP+tEKpQZK8vooEUqV6nm6Cv502mX4NF2EfsnVqtNAHG+/6Ur1Q== + rechoir@^0.6.2: version "0.6.2" resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" @@ -19520,14 +18510,6 @@ regenerator-runtime@^0.11.0: version "0.11.1" resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" -regenerator-runtime@^0.12.0: - version "0.12.1" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz#fa1a71544764c036f8c49b13a08b2594c9f8a0de" - -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" @@ -19674,12 +18656,6 @@ relateurl@0.2.x: version "0.2.7" resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" -relative@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/relative/-/relative-3.0.2.tgz#0dcd8ec54a5d35a3c15e104503d65375b5a5367f" - dependencies: - isobject "^2.0.0" - remark-mdx@^1.5.1: version "1.5.1" resolved "https://registry.yarnpkg.com/remark-mdx/-/remark-mdx-1.5.1.tgz#df176c69b0d22fca890812cb828a100d5c14ae60" @@ -19928,6 +18904,13 @@ resolve-cwd@^2.0.0: dependencies: resolve-from "^3.0.0" +resolve-cwd@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" + integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== + dependencies: + resolve-from "^5.0.0" + resolve-dir@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-0.1.1.tgz#b219259a5602fac5c5c496ad894a6e8cc430261e" @@ -20185,10 +19168,6 @@ rx-lite@*, rx-lite@^4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-4.0.8.tgz#0b1e11af8bc44836f04a6407e92da42467b79444" -rx@2.3.24: - version "2.3.24" - resolved "https://registry.yarnpkg.com/rx/-/rx-2.3.24.tgz#14f950a4217d7e35daa71bbcbe58eff68ea4b2b7" - rx@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/rx/-/rx-4.1.0.tgz#a5f13ff79ef3b740fe30aa803fb09f98805d4782" @@ -20205,6 +19184,13 @@ rxjs@^5.0.0-beta.11: dependencies: symbol-observable "1.0.1" +rxjs@^6.5.2: + version "6.5.4" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.4.tgz#e0777fe0d184cec7872df147f303572d414e211c" + integrity sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q== + dependencies: + tslib "^1.9.0" + safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.2" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" @@ -20392,10 +19378,6 @@ semver@7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" -semver@>=1.0.13: - version "7.1.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.1.1.tgz#29104598a197d6cbe4733eeecbe968f7b43a9667" - semver@^6.0.0, semver@^6.1.2, semver@^6.2.0, semver@^6.3.0: version "6.3.0" resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" @@ -20533,6 +19515,13 @@ shallow-clone@^1.0.0: kind-of "^5.0.0" mixin-object "^2.0.1" +shallow-clone@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" + integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== + dependencies: + kind-of "^6.0.2" + shallow-compare@^1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/shallow-compare/-/shallow-compare-1.2.2.tgz#fa4794627bf455a47c4f56881d8a6132d581ffdb" @@ -20541,9 +19530,10 @@ shallowequal@^1.0.1, shallowequal@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/shallowequal/-/shallowequal-1.1.0.tgz#188d521de95b9087404fd4dcb68b13df0ae4e7f8" -sharp@^0.23.3: +sharp@^0.23.4: version "0.23.4" resolved "https://registry.yarnpkg.com/sharp/-/sharp-0.23.4.tgz#ca36067cb6ff7067fa6c77b01651cb9a890f8eb3" + integrity sha512-fJMagt6cT0UDy9XCsgyLi0eiwWWhQRxbwGmqQT6sY8Av4s0SVsT/deg8fobBQCTDU5iXRgz0rAeXoE2LBZ8g+Q== dependencies: color "^3.1.2" detect-libc "^1.0.3" @@ -20958,6 +19948,7 @@ space-separated-tokens@^1.0.0: spawn-command@^0.0.2-1: version "0.0.2-1" resolved "https://registry.yarnpkg.com/spawn-command/-/spawn-command-0.0.2-1.tgz#62f5e9466981c1b796dc5929937e11c9c6921bd0" + integrity sha1-YvXpRmmBwbeW3Fkpk34RycaSG9A= spawn-sync@^1.0.15: version "1.0.15" @@ -21275,12 +20266,13 @@ string.prototype.matchall@^4.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" +string.prototype.trim@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.1.tgz#141233dff32c82bfad80684d7e5f0869ee0fb782" + integrity sha512-MjGFEeqixw47dAMFMtgUro/I0+wNqZB5GKXGt1fFr24u3TzDXCPu7J9Buppzoe3r/LqkSDLDDJzE15RGWDGAVw== dependencies: define-properties "^1.1.3" - es-abstract "^1.13.0" + es-abstract "^1.17.0-next.1" function-bind "^1.1.1" string.prototype.trimleft@^2.1.0: @@ -21508,7 +20500,7 @@ supports-color@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" -supports-color@^3.1.2, supports-color@^3.2.3: +supports-color@^3.1.2: version "3.2.3" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6" dependencies: @@ -21526,6 +20518,14 @@ supports-color@^7.0.0, supports-color@^7.1.0: dependencies: has-flag "^4.0.0" +supports-hyperlinks@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.1.0.tgz#f663df252af5f37c5d49bbd7eeefa9e0b9e59e47" + integrity sha512-zoE5/e+dnEijk6ASB6/qrK+oYdm2do1hjoLWrqUC/8WEIW1gbxFcKuBof7sW8ArN6e+AYvsE8HBGiVRWL/F5CA== + dependencies: + has-flag "^4.0.0" + supports-color "^7.0.0" + surge-fstream-ignore@^1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/surge-fstream-ignore/-/surge-fstream-ignore-1.0.6.tgz#e30efce95574b91fd571b5b02f32a611ea829731" @@ -21764,6 +20764,14 @@ term-size@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/term-size/-/term-size-2.1.0.tgz#3aec444c07a7cf936e157c1dc224b590c3c7eef2" +terminal-link@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" + integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== + dependencies: + ansi-escapes "^4.2.1" + supports-hyperlinks "^2.0.0" + terser-webpack-plugin@1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.1.0.tgz#cf7c25a1eee25bf121f4a587bb9e004e3f80e528" @@ -21840,15 +20848,6 @@ test-exclude@^4.2.1: read-pkg-up "^1.0.1" require-main-filename "^1.0.1" -test-exclude@^5.2.3: - version "5.2.3" - resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-5.2.3.tgz#c3d3e1e311eb7ee405e092dac10aefd09091eac0" - dependencies: - glob "^7.1.3" - minimatch "^3.0.4" - read-pkg-up "^4.0.0" - require-main-filename "^2.0.0" - test-exclude@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" @@ -21889,6 +20888,11 @@ throat@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/throat/-/throat-4.1.0.tgz#89037cbc92c56ab18926e6ba4cbb200e15672a6a" +throat@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/throat/-/throat-5.0.0.tgz#c5199235803aad18754a667d659b5e72ce16764b" + integrity sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA== + throttleit@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/throttleit/-/throttleit-1.0.0.tgz#9e785836daf46743145a5984b6268d828528ac6c" @@ -21914,10 +20918,6 @@ thunky@^1.0.2: version "1.1.0" resolved "https://registry.yarnpkg.com/thunky/-/thunky-1.1.0.tgz#5abaf714a9405db0504732bbccd2cedd9ef9537d" -time-stamp@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/time-stamp/-/time-stamp-1.1.0.tgz#764a5a11af50561921b133f3b44e618687e0f5c3" - timed-out@^4.0.0, timed-out@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f" @@ -22079,9 +21079,10 @@ tr46@^1.0.1: dependencies: punycode "^2.1.0" -tree-kill@^1.1.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/tree-kill/-/tree-kill-1.2.1.tgz#5398f374e2f292b9dcc7b2e71e30a5c3bb6c743a" +tree-kill@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/tree-kill/-/tree-kill-1.2.2.tgz#4ca09a9092c88b73a7cdc5e8a01b507b0790a0cc" + integrity sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A== trim-lines@^1.0.0: version "1.1.2" @@ -22144,12 +21145,12 @@ ts-pnp@^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: +tslib@^1.10.0, tslib@^1.11.1: 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.7.1, tslib@^1.8.0, tslib@^1.8.1, tslib@^1.9.0: +tslib@^1.7.1, tslib@^1.8.1, tslib@^1.9.0: version "1.10.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a" @@ -22157,23 +21158,26 @@ tslint-config-prettier@^1.18.0: version "1.18.0" resolved "https://registry.yarnpkg.com/tslint-config-prettier/-/tslint-config-prettier-1.18.0.tgz#75f140bde947d35d8f0d238e0ebf809d64592c37" -tslint-plugin-prettier@^2.0.1: - version "2.1.0" - resolved "https://registry.yarnpkg.com/tslint-plugin-prettier/-/tslint-plugin-prettier-2.1.0.tgz#e2522d273cb9672d93d0e68f2514fe3c19698c3a" +tslint-plugin-prettier@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/tslint-plugin-prettier/-/tslint-plugin-prettier-2.3.0.tgz#73fe71bf9f03842ac48c104122ca9b1de012ecf4" + integrity sha512-F9e4K03yc9xuvv+A0v1EmjcnDwpz8SpCD8HzqSDe0eyg34cBinwn9JjmnnRrNAs4HdleRQj7qijp+P/JTxt4vA== dependencies: eslint-plugin-prettier "^2.2.0" lines-and-columns "^1.1.6" tslib "^1.7.1" -tslint-react@^3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/tslint-react/-/tslint-react-3.6.0.tgz#7f462c95c4a0afaae82507f06517ff02942196a1" +tslint-react@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/tslint-react/-/tslint-react-4.2.0.tgz#41b16e0438365f8d3ed4120501f02cabff9fd1e4" + integrity sha512-lO22+FKr9ZZGueGiuALzvZE/8ANoDoCHGCknX1Ge3ALrfcLQHQ1VGdyb1scZXQFdEQEfwBTIU40r5BUlJpn0JA== dependencies: - tsutils "^2.13.1" + tsutils "^3.9.1" -tslint@^5.12.0: - version "5.20.1" - resolved "https://registry.yarnpkg.com/tslint/-/tslint-5.20.1.tgz#e401e8aeda0152bc44dd07e614034f3f80c67b7d" +tslint@^6.1.1: + version "6.1.1" + resolved "https://registry.yarnpkg.com/tslint/-/tslint-6.1.1.tgz#ac03fbd17f85bfefaae348b353b25a88efe10cde" + integrity sha512-kd6AQ/IgPRpLn6g5TozqzPdGNZ0q0jtXW4//hRcj10qLYBaa3mTUU2y2MCG+RXZm8Zx+KZi0eA+YCrMyNlF4UA== dependencies: "@babel/code-frame" "^7.0.0" builtin-modules "^1.1.1" @@ -22183,23 +21187,23 @@ tslint@^5.12.0: glob "^7.1.1" js-yaml "^3.13.1" minimatch "^3.0.4" - mkdirp "^0.5.1" + mkdirp "^0.5.3" resolve "^1.3.2" semver "^5.3.0" - tslib "^1.8.0" + tslib "^1.10.0" tsutils "^2.29.0" tsscmp@1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/tsscmp/-/tsscmp-1.0.6.tgz#85b99583ac3589ec4bfef825b5000aa911d605eb" -tsutils@^2.13.1, tsutils@^2.29.0: +tsutils@^2.29.0: version "2.29.0" resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-2.29.0.tgz#32b488501467acbedd4b85498673a0812aca0b99" dependencies: tslib "^1.8.1" -tsutils@^3.17.1: +tsutils@^3.17.1, tsutils@^3.9.1: version "3.17.1" resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.17.1.tgz#ed719917f11ca0dee586272b2ac49e015a2dd759" dependencies: @@ -22238,6 +21242,11 @@ type-check@~0.3.2: dependencies: prelude-ls "~1.1.2" +type-detect@4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" + integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== + type-fest@^0.3.0: version "0.3.1" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.3.1.tgz#63d00d204e059474fe5e1b7c011112bbd1dc29e1" @@ -22593,9 +21602,10 @@ unzip-response@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-2.0.1.tgz#d2f0f737d16b0615e72a6935ed04214572d56f97" -upath@^1.1.1: +upath@^1.1.1, upath@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" + integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== update-notifier@^2.2.0, update-notifier@^2.5.0: version "2.5.0" @@ -22798,6 +21808,15 @@ v8-compile-cache@^2.0.3: version "2.1.0" resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz#e14de37b31a6d194f5690d67efc4e7f6fc6ab30e" +v8-to-istanbul@^4.0.1: + version "4.1.3" + resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-4.1.3.tgz#22fe35709a64955f49a08a7c7c959f6520ad6f20" + integrity sha512-sAjOC+Kki6aJVbUOXJbcR0MnbfjvBzwKZazEJymA2IX49uoOdEdk+4fBq5cXgYgiyKtAyrrJNtBZdOeDIF+Fng== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.1" + convert-source-map "^1.6.0" + source-map "^0.7.3" + v8flags@^2.0.10: version "2.1.1" resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-2.1.1.tgz#aab1a1fa30d45f88dd321148875ac02c0b55e5b4" @@ -23603,6 +22622,13 @@ which@^2.0.1: dependencies: isexe "^2.0.0" +which@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + wide-align@^1.1.0: version "1.1.3" resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" @@ -23818,14 +22844,6 @@ wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" -write-file-atomic@2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.1.tgz#d0b05463c188ae804396fd5ab2a370062af87529" - dependencies: - graceful-fs "^4.1.11" - imurmurhash "^0.1.4" - signal-exit "^3.0.2" - write-file-atomic@^2.0.0, write-file-atomic@^2.1.0, write-file-atomic@^2.3.0, write-file-atomic@^2.4.2: version "2.4.3" resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.3.tgz#1fd2e9ae1df3e75b8d8c367443c692d4ca81f481" @@ -23971,10 +22989,6 @@ xregexp@^4.3.0: 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.8.0: version "4.8.0" resolved "https://registry.yarnpkg.com/xstate/-/xstate-4.8.0.tgz#1aefa1f7828f84f61c356785615ffc0824ebf5a2" @@ -24036,6 +23050,14 @@ yargs-parser@^13.1.1: camelcase "^5.0.0" decamelize "^1.2.0" +yargs-parser@^15.0.1: + version "15.0.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-15.0.1.tgz#54786af40b820dcb2fb8025b11b4d659d76323b3" + integrity sha512-0OAMV2mAZQrs3FkNpDQcBk1x5HXb8X4twADss4S0Iuk+2dGnLOE/fRHrsYm542GduMveyA77OF4wrNJuanRCWw== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + yargs-parser@^16.1.0: version "16.1.0" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-16.1.0.tgz#73747d53ae187e7b8dbe333f95714c76ea00ecf1" @@ -24043,6 +23065,14 @@ yargs-parser@^16.1.0: camelcase "^5.0.0" decamelize "^1.2.0" +yargs-parser@^18.1.1: + version "18.1.2" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.2.tgz#2f482bea2136dbde0861683abea7756d30b504f1" + integrity sha512-hlIPNR3IzC1YuL1c2UwwDKpXlNFBqD1Fswwh1khz5+d8Cq/8yc/Mn0i+rQXduu8hcrFKvO7Eryk+09NecTQAAQ== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + yargs-parser@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-5.0.0.tgz#275ecf0d7ffe05c77e64e7c86e4cd94bf0e1228a" @@ -24079,7 +23109,7 @@ yargs@12.0.2: y18n "^3.2.1 || ^4.0.0" yargs-parser "^10.1.0" -yargs@12.0.5, yargs@^12.0.1, yargs@^12.0.2, yargs@^12.0.5: +yargs@12.0.5, yargs@^12.0.5: version "12.0.5" resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.5.tgz#05f5997b609647b64f66b81e3b4b10a368e7ad13" dependencies: @@ -24128,6 +23158,23 @@ yargs@^13.2.4, yargs@^13.3.0: y18n "^4.0.0" yargs-parser "^13.1.1" +yargs@^14.2.2: + version "14.2.3" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-14.2.3.tgz#1a1c3edced1afb2a2fea33604bc6d1d8d688a414" + integrity sha512-ZbotRWhF+lkjijC/VhmOT9wSgyBQ7+zr13+YLkhfsSiTriYsMzkTUFP18pFhWwBeMa5gUc1MzbhrO6/VB7c9Xg== + dependencies: + cliui "^5.0.0" + decamelize "^1.2.0" + find-up "^3.0.0" + get-caller-file "^2.0.1" + require-directory "^2.1.1" + require-main-filename "^2.0.0" + set-blocking "^2.0.0" + string-width "^3.0.0" + which-module "^2.0.0" + y18n "^4.0.0" + yargs-parser "^15.0.1" + yargs@^15.0.2: version "15.0.2" resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.0.2.tgz#4248bf218ef050385c4f7e14ebdf425653d13bd3" @@ -24144,6 +23191,23 @@ yargs@^15.0.2: y18n "^4.0.0" yargs-parser "^16.1.0" +yargs@^15.3.1: + version "15.3.1" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.3.1.tgz#9505b472763963e54afe60148ad27a330818e98b" + integrity sha512-92O1HWEjw27sBfgmXiixJWT5hRBp2eobqXicLtPBIDBhYB+1HpwZlXmbW2luivBJHBzki+7VyCLRtAkScbTBQA== + dependencies: + cliui "^6.0.0" + decamelize "^1.2.0" + find-up "^4.1.0" + get-caller-file "^2.0.1" + require-directory "^2.1.1" + require-main-filename "^2.0.0" + set-blocking "^2.0.0" + string-width "^4.2.0" + which-module "^2.0.0" + y18n "^4.0.0" + yargs-parser "^18.1.1" + yargs@^7.0.0: version "7.1.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-7.1.0.tgz#6ba318eb16961727f5d284f8ea003e8d6154d0c8"