Web: People: init People build and loading (Moved out from CRA)

This commit is contained in:
Alexey Safronov 2020-12-03 13:09:33 +03:00
parent 88adb06b46
commit 1ed59c1694
14 changed files with 330 additions and 148 deletions

View File

@ -5,7 +5,8 @@
"packages/asc-web-components",
"packages/asc-web-common",
"web/ASC.Web.Login",
"web/ASC.Web.Client"
"web/ASC.Web.Client",
"products/ASC.People/Client"
],
"useWorkspaces": true
}

View File

@ -5,7 +5,8 @@
"packages/asc-web-components",
"packages/asc-web-common",
"web/ASC.Web.Login",
"web/ASC.Web.Client"
"web/ASC.Web.Client",
"products/ASC.People/Client"
],
"scripts": {
"wipe": "rm -fr node_modules yarn.lock web/**/node_modules products/**/node_modules",

View File

@ -1,5 +1,6 @@
import { createSelector } from "reselect";
import isEmpty from "lodash/isEmpty";
import history from "../../history";
export function isMe(user, userName) {
return (
@ -17,7 +18,8 @@ const toModuleWrapper = (item, iconName) => {
url: item.link,
onClick: (e) => {
if (e) {
window.open(item.link, "_self");
//window.open(item.link, "_self");
history.push(item.link);
e.preventDefault();
}
},

View File

@ -0,0 +1,7 @@
{
"presets": ["@babel/preset-react", "@babel/preset-env"],
"plugins": [
"@babel/plugin-transform-runtime",
"@babel/plugin-proposal-class-properties"
]
}

View File

@ -0,0 +1,15 @@
FROM node:12
WORKDIR /usr/src/app
COPY package.json ./
COPY yarn.lock ./
RUN yarn install
COPY . .
RUN yarn build
EXPOSE 8080
CMD [ "yarn", "build:start" ]

View File

@ -1,70 +1,74 @@
{
"name": "@appserver/people",
"version": "0.1.0",
"private": true,
"homepage": "/products/people",
"dependencies": {
"connected-react-router": "6.6.1",
"copy-to-clipboard": "^3.2.0",
"history": "4.10.1",
"i18next": "19.0.3",
"i18next-browser-languagedetector": "4.0.1",
"i18next-xhr-backend": "3.2.2",
"lodash": "4.17.19",
"lodash-es": "4.17.15",
"merge": "^1.2.1",
"node-sass": "^4.13.0",
"oidc-client": "^1.10.1",
"prop-types": "^15.7.2",
"react": "^16.12.0",
"react-content-loader": "^5.1.2",
"react-device-detect": "^1.11.14",
"react-dom": "^16.12.0",
"react-i18next": "11.3.0",
"react-redux": "7.1.3",
"react-router": "5.1.2",
"react-router-dom": "5.1.2",
"react-virtualized-auto-sizer": "^1.0.2",
"react-window": "^1.8.5",
"redux": "4.0.5",
"redux-thunk": "2.3.0",
"reselect": "^4.0.0",
"styled-components": "^5.0.0"
"private": "true",
"scripts": {
"build": "webpack --mode production",
"build:dev": "webpack --mode development",
"build:start": "cd dist && PORT=5001 npx serve",
"start": "webpack-dev-server --open --mode development",
"start:live": "webpack-dev-server --open --mode development --liveReload",
"docker:build": "docker build . -t login",
"docker:run": "docker run -p 5001:5001 login"
},
"devDependencies": {
"copy-webpack-plugin": "^5.1.1",
"cross-env": "^6.0.3",
"customize-cra": "^1.0.0",
"prettier": "2.1.2",
"react-app-rewired": "^2.1.6",
"react-scripts": "3.4.3",
"@babel/core": "7.9.6",
"@babel/plugin-proposal-class-properties": "^7.12.1",
"@babel/plugin-proposal-export-default-from": "^7.12.1",
"@babel/plugin-transform-runtime": "^7.12.1",
"@babel/preset-env": "^7.12.7",
"@babel/preset-react": "7.9.4",
"@svgr/webpack": "^5.5.0",
"babel-loader": "8.1.0",
"css-loader": "^3.6.0",
"html-webpack-plugin": "4.5.0",
"i18next": "^19.8.4",
"json-loader": "^0.5.7",
"react-i18next": "^11.7.3",
"source-map-loader": "^1.1.2",
"style-loader": "1.2.1",
"webpack": "5.0.0",
"webpack-cli": "3.3.11",
"webpack-dev-server": "3.11.0"
},
"dependencies": {
"@babel/runtime": "^7.12.5",
"attr-accept": "^2.2.2",
"axios": "^0.21.0",
"email-addresses": "^3.1.0",
"i18next-xhr-backend": "^3.2.2",
"moment": "^2.29.1",
"prop-types": "^15.7.2",
"rc-tree": "^4.0.0-beta.2",
"re-resizable": "^6.9.0",
"react": "^16.14.0",
"react-autosize-textarea": "^7.1.0",
"react-content-loader": "^5.1.4",
"react-custom-scrollbars": "^4.2.1",
"react-device-detect": "^1.14.0",
"react-dom": "^16.14.0",
"react-dropzone": "^11.2.4",
"react-onclickoutside": "^6.9.0",
"react-redux": "^7.2.2",
"react-resize-detector": "^5.2.0",
"react-router": "^5.2.0",
"react-router-dom": "^5.2.0",
"react-string-format": "^0.1.0",
"react-svg": "^11.1.2",
"react-text-mask": "^5.4.3",
"react-toastify": "^6.1.0",
"react-tooltip": "^4.2.11",
"react-virtualized-auto-sizer": "^1.0.2",
"react-window": "^1.8.6",
"react-window-infinite-loader": "^1.0.5",
"redux": "^4.0.5",
"redux-devtools-extension": "^2.13.8",
"rimraf": "3.0.2",
"webpack-bundle-analyzer": "^3.8.0",
"workbox-build": "^5.1.3"
},
"eslintConfig": {
"extends": "react-app"
},
"scripts": {
"analyse": "node analyse.js",
"start": "react-app-rewired start",
"build": "rimraf ./build && react-app-rewired build && npm run build-sw && npm run clean-cra-sw",
"build-sw": "node ./src/sw-build.js",
"clean-cra-sw": "rm -f build/precache-manifest.*.js && rm -f build/service-worker.js",
"test": "cross-env CI=true react-app-rewired test --env=jsdom",
"eject": "react-scripts eject"
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
"redux-thunk": "^2.3.0",
"reselect": "^4.0.0",
"resize-image": "^0.1.0",
"sass": "^1.29.0",
"sass-loader": "^10.1.0",
"sjcl": "^1.0.8",
"styled-components": "^5.2.1"
}
}

View File

@ -0,0 +1,9 @@
import React, { useEffect } from "react";
const PeopleContent = () => {
useEffect(() => {}, []);
return <div>PEOPLE PAGE</div>;
};
export default PeopleContent;

View File

@ -0,0 +1,13 @@
import { Provider } from "react-redux";
import store from "studio/store";
import Frame from "studio/frame";
import "./custom.scss";
const PeoplePage = () => (
<Provider store={store}>
<Frame page="people" />
</Provider>
);
ReactDOM.render(<PeoplePage />, document.getElementById("app"));

View File

@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>People</title>
</head>
<body>
<div id="app"></div>
</body>
</html>

View File

@ -1,27 +1,28 @@
import React from "react";
import ReactDOM from "react-dom";
import { Provider } from "react-redux";
import store from "./store/store";
import("./PeoplePage");
// import React from "react";
// import ReactDOM from "react-dom";
// import { Provider } from "react-redux";
// import store from "./store/store";
import "./custom.scss";
import App from "./App";
// import "./custom.scss";
// import App from "./App";
import * as serviceWorker from "./serviceWorker";
import { ErrorBoundary, utils } from "@appserver/common";
const { redirectToDefaultPage } = utils;
// import * as serviceWorker from "./serviceWorker";
// import { ErrorBoundary, utils } from "@appserver/common";
// const { redirectToDefaultPage } = utils;
redirectToDefaultPage();
// redirectToDefaultPage();
ReactDOM.render(
<Provider store={store}>
<ErrorBoundary>
<App />
</ErrorBoundary>
</Provider>,
document.getElementById("root")
);
// ReactDOM.render(
// <Provider store={store}>
// <ErrorBoundary>
// <App />
// </ErrorBoundary>
// </Provider>,
// document.getElementById("root")
// );
// If you want your app to work offline and load faster, you can change
// unregister() to register() below. Note this comes with some pitfalls.
// Learn more about service workers: https://bit.ly/CRA-PWA
serviceWorker.register();
// // If you want your app to work offline and load faster, you can change
// // unregister() to register() below. Note this comes with some pitfalls.
// // Learn more about service workers: https://bit.ly/CRA-PWA
// serviceWorker.register();

View File

@ -0,0 +1,102 @@
const HtmlWebPackPlugin = require("html-webpack-plugin");
const ModuleFederationPlugin = require("webpack/lib/container/ModuleFederationPlugin");
const path = require("path");
const deps = require("./package.json").dependencies;
module.exports = {
output: {
publicPath: "http://localhost:5002/",
filename: "bundle.js",
path: path.resolve(__dirname, "dist"),
},
resolve: {
extensions: [".jsx", ".js", ".json"],
fallback: {
crypto: false,
},
},
devServer: {
port: 5002,
contentBase: path.join(__dirname, "public"),
},
module: {
rules: [
{
test: /\.m?js/,
type: "javascript/auto",
resolve: {
fullySpecified: false,
},
},
{
test: /\.react.svg$/,
use: ["@svgr/webpack"],
},
{ test: /\.json$/, loader: "json-loader" },
{
test: /\.css$/i,
use: ["style-loader", "css-loader"],
},
{
test: /\.s[ac]ss$/i,
use: [
// Creates `style` nodes from JS strings
"style-loader",
// Translates CSS into CommonJS
"css-loader",
// Compiles Sass to CSS
"sass-loader",
],
},
{
test: /\.(js|jsx)$/,
exclude: /node_modules/,
use: [
{
loader: "babel-loader",
options: {
presets: ["@babel/preset-react", "@babel/preset-env"],
plugins: [
"@babel/plugin-transform-runtime",
"@babel/plugin-proposal-class-properties",
"@babel/plugin-proposal-export-default-from",
],
},
},
"source-map-loader",
],
},
],
},
plugins: [
new ModuleFederationPlugin({
name: "people",
filename: "remoteEntry.js",
remotes: {
studio: "studio@http://localhost:5001/remoteEntry.js",
people: "people@http://localhost:5002/remoteEntry.js",
},
exposes: {
"./page": "./src/PeopleContent.jsx",
},
shared: {
...deps,
react: {
singleton: true,
requiredVersion: deps.react,
},
"react-dom": {
singleton: true,
requiredVersion: deps["react-dom"],
},
},
}),
new HtmlWebPackPlugin({
template: "./src/index.html",
}),
],
};

View File

@ -20,6 +20,7 @@ const {
const Home = React.lazy(() => import("studio/home"));
const Login = React.lazy(() => import("login/page"));
const People = React.lazy(() => import("people/page"));
const HomeRoute = () => (
<React.Suspense fallback={null}>
@ -37,6 +38,14 @@ const LoginRoute = () => (
</React.Suspense>
);
const PeopleRoute = () => (
<React.Suspense fallback={null}>
<ErrorBoundary>
<People />
</ErrorBoundary>
</React.Suspense>
);
const Frame = ({ items = [], page = "home", ...rest }) => {
useEffect(() => {
//utils.removeTempContent();
@ -75,6 +84,10 @@ const Frame = ({ items = [], page = "home", ...rest }) => {
path={["/", "/error=:error"]}
component={HomeRoute}
/>
<PrivateRoute
path={["/products/people", "/products/people/filter"]}
component={PeopleRoute}
/>
<PublicRoute
exact
path={[

View File

@ -79,6 +79,7 @@ module.exports = {
filename: "remoteEntry.js",
remotes: {
studio: "studio@http://localhost:5001/remoteEntry.js",
people: "people@http://localhost:5002/remoteEntry.js",
login: "login@http://localhost:5020/remoteEntry.js",
},
exposes: {

124
yarn.lock
View File

@ -2015,9 +2015,9 @@
"@types/estree" "*"
"@types/eslint@*":
version "7.2.5"
resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-7.2.5.tgz#92172ecf490c2fce4b076739693d75f30376d610"
integrity sha512-Dc6ar9x16BdaR3NSxSF7T4IjL9gxxViJq8RmFd+2UAyA+K6ck2W+gUwfgpG/y9TPyUuBL35109bbULpEynvltA==
version "7.2.6"
resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-7.2.6.tgz#5e9aff555a975596c03a98b59ecd103decc70c3c"
integrity sha512-I+1sYH+NPQ3/tVqCeUSBwTE/0heyvtXqpIopUUArlBm0Kpocb8FbMa3AZ/ASKIFpN3rnEx932TTXDbt9OXsNDw==
dependencies:
"@types/estree" "*"
"@types/json-schema" "*"
@ -2113,9 +2113,9 @@
source-map "^0.6.1"
"@types/webpack-sources@*":
version "2.0.0"
resolved "https://registry.yarnpkg.com/@types/webpack-sources/-/webpack-sources-2.0.0.tgz#08216ab9be2be2e1499beaebc4d469cec81e82a7"
integrity sha512-a5kPx98CNFRKQ+wqawroFunvFqv7GHm/3KOI52NY9xWADgc8smu4R6prt4EU/M4QfVjvgBkMqU4fBhw3QfMVkg==
version "2.1.0"
resolved "https://registry.yarnpkg.com/@types/webpack-sources/-/webpack-sources-2.1.0.tgz#8882b0bd62d1e0ce62f183d0d01b72e6e82e8c10"
integrity sha512-LXn/oYIpBeucgP1EIJbKQ2/4ZmpvRl+dlrFdX7+94SKRUV3Evy3FsfMZY318vGhkWUS5MPhtOM3w1/hCOAOXcg==
dependencies:
"@types/node" "*"
"@types/source-list-map" "*"
@ -2780,15 +2780,15 @@ braces@~3.0.2:
fill-range "^7.0.1"
browserslist@^4.14.3, browserslist@^4.14.5, browserslist@^4.14.7:
version "4.14.7"
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.14.7.tgz#c071c1b3622c1c2e790799a37bb09473a4351cb6"
integrity sha512-BSVRLCeG3Xt/j/1cCGj1019Wbty0H+Yvu2AOuZSuoaUWn3RatbL33Cxk+Q4jRMRAbOm0p7SLravLjpnT6s0vzQ==
version "4.15.0"
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.15.0.tgz#3d48bbca6a3f378e86102ffd017d9a03f122bdb0"
integrity sha512-IJ1iysdMkGmjjYeRlDU8PQejVwxvVO5QOfXH7ylW31GO6LwNRSmm/SgRXtNsEXqMLl2e+2H5eEJ7sfynF8TCaQ==
dependencies:
caniuse-lite "^1.0.30001157"
caniuse-lite "^1.0.30001164"
colorette "^1.2.1"
electron-to-chromium "^1.3.591"
electron-to-chromium "^1.3.612"
escalade "^3.1.1"
node-releases "^1.1.66"
node-releases "^1.1.67"
btoa-lite@^1.0.0:
version "1.0.0"
@ -2927,12 +2927,12 @@ callsites@^3.0.0:
integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
camel-case@^4.1.1:
version "4.1.1"
resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-4.1.1.tgz#1fc41c854f00e2f7d0139dfeba1542d6896fe547"
integrity sha512-7fa2WcG4fYFkclIvEmxBbTvmibwF2/agfEBc6q3lOpVu0A13ltLsA+Hr/8Hp6kp5f+G7hKi6t8lys6XxP+1K6Q==
version "4.1.2"
resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-4.1.2.tgz#9728072a954f805228225a6deea6b38461e1bd5a"
integrity sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==
dependencies:
pascal-case "^3.1.1"
tslib "^1.10.0"
pascal-case "^3.1.2"
tslib "^2.0.3"
camelcase-keys@^2.0.0:
version "2.1.0"
@ -2985,7 +2985,7 @@ camelize@^1.0.0:
resolved "https://registry.yarnpkg.com/camelize/-/camelize-1.0.0.tgz#164a5483e630fa4321e5af07020e531831b2609b"
integrity sha1-FkpUg+Yw+kMh5a8HAg5TGDGyYJs=
caniuse-lite@^1.0.30001157:
caniuse-lite@^1.0.30001164:
version "1.0.30001164"
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001164.tgz#5bbfd64ca605d43132f13cc7fdabb17c3036bfdc"
integrity sha512-G+A/tkf4bu0dSp9+duNiXc7bGds35DioCyC6vgK2m/rjA4Krpy5WeZgZyfH2f0wj2kI6yAWWucyap6oOwmY1mg==
@ -3851,9 +3851,9 @@ domelementtype@1, domelementtype@^1.3.1:
integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==
domelementtype@^2.0.1:
version "2.0.2"
resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.0.2.tgz#f3b6e549201e46f588b59463dd77187131fe6971"
integrity sha512-wFwTwCVebUrMgGeAwRL/NhZtHAUyT9n9yg4IMDwf10+6iCMxSkVq9MGCVEH+QZWo1nNidy8kNvwmv4zWHDTqvA==
version "2.1.0"
resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.1.0.tgz#a851c080a6d1c3d94344aed151d99f669edf585e"
integrity sha512-LsTgx/L5VpD+Q8lmsXSHW2WpA+eBlZ9HPf3erD1IoPF00/3JKHZ3BknUVA2QGDNu69ZNmyFmCWBSO45XjYKC5w==
domhandler@^2.3.0:
version "2.4.2"
@ -3878,13 +3878,13 @@ domutils@^1.5.1, domutils@^1.7.0:
dom-serializer "0"
domelementtype "1"
dot-case@^3.0.3:
version "3.0.3"
resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-3.0.3.tgz#21d3b52efaaba2ea5fda875bb1aa8124521cf4aa"
integrity sha512-7hwEmg6RiSQfm/GwPL4AAWXKy3YNNZA3oFv2Pdiey0mwkRCPZ9x6SZbkLcn8Ma5PYeVokzoD4Twv2n7LKp5WeA==
dot-case@^3.0.4:
version "3.0.4"
resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-3.0.4.tgz#9b2b670d00a431667a8a75ba29cd1b98809ce751"
integrity sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==
dependencies:
no-case "^3.0.3"
tslib "^1.10.0"
no-case "^3.0.4"
tslib "^2.0.3"
dot-prop@^4.2.0:
version "4.2.1"
@ -3928,10 +3928,10 @@ ee-first@1.1.1:
resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=
electron-to-chromium@^1.3.591:
version "1.3.612"
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.612.tgz#4a49864b9de694403a69d5a9f439cbceca543e48"
integrity sha512-CdrdX1B6mQqxfw+51MPWB5qA6TKWjza9f5voBtUlRfEZEwZiFaxJLrhFI8zHE9SBAuGt4h84rQU6Ho9Bauo1LA==
electron-to-chromium@^1.3.612:
version "1.3.613"
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.613.tgz#5ad7ec1e19d28c81edb6d61b9d4990d1c9716182"
integrity sha512-c3gkahddiUalk7HLhTC7PsKzPZmovYFtgh+g3rZJ+dGokk4n4dzEoOBnoV8VU8ptvnGJMhrjM/lyXKSltqf2hQ==
email-addresses@^3.1.0:
version "3.1.0"
@ -5938,12 +5938,12 @@ loud-rejection@^1.0.0:
currently-unhandled "^0.4.1"
signal-exit "^3.0.0"
lower-case@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.1.tgz#39eeb36e396115cc05e29422eaea9e692c9408c7"
integrity sha512-LiWgfDLLb1dwbFQZsSglpRj+1ctGnayXz3Uv0/WO8n558JycT5fg6zkNcnW0G68Nn0aEldTFeEfmjCfmqry/rQ==
lower-case@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.2.tgz#6fa237c63dbdc4a82ca0fd882e4722dc5e634e28"
integrity sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==
dependencies:
tslib "^1.10.0"
tslib "^2.0.3"
lru-cache@^5.1.1:
version "5.1.1"
@ -6455,13 +6455,13 @@ nice-try@^1.0.4:
resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366"
integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==
no-case@^3.0.3:
version "3.0.3"
resolved "https://registry.yarnpkg.com/no-case/-/no-case-3.0.3.tgz#c21b434c1ffe48b39087e86cfb4d2582e9df18f8"
integrity sha512-ehY/mVQCf9BL0gKfsJBvFJen+1V//U+0HQMPrWct40ixE4jnv0bfvxDbWtAHL9EcaPEOJHVVYKoQn1TlZUB8Tw==
no-case@^3.0.4:
version "3.0.4"
resolved "https://registry.yarnpkg.com/no-case/-/no-case-3.0.4.tgz#d361fd5c9800f558551a8369fc0dcd4662b6124d"
integrity sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==
dependencies:
lower-case "^2.0.1"
tslib "^1.10.0"
lower-case "^2.0.2"
tslib "^2.0.3"
node-fetch-npm@^2.0.2:
version "2.0.4"
@ -6499,7 +6499,7 @@ node-gyp@^5.0.2:
tar "^4.4.12"
which "^1.3.1"
node-releases@^1.1.66:
node-releases@^1.1.67:
version "1.1.67"
resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.67.tgz#28ebfcccd0baa6aad8e8d4d8fe4cbc49ae239c12"
integrity sha512-V5QF9noGFl3EymEwUYzO+3NTDpGfQB4ve6Qfnzf3UNydMhjQRVPR1DZTuvWiLzaFJYw2fmDwAfnRNEVb64hSIg==
@ -6924,12 +6924,12 @@ parallel-transform@^1.1.0:
readable-stream "^2.1.5"
param-case@^3.0.3:
version "3.0.3"
resolved "https://registry.yarnpkg.com/param-case/-/param-case-3.0.3.tgz#4be41f8399eff621c56eebb829a5e451d9801238"
integrity sha512-VWBVyimc1+QrzappRs7waeN2YmoZFCGXWASRYX1/rGHtXqEcrGEIDm+jqIwFa2fRXNgQEwrxaYuIrX0WcAguTA==
version "3.0.4"
resolved "https://registry.yarnpkg.com/param-case/-/param-case-3.0.4.tgz#7d17fe4aa12bde34d4a77d91acfb6219caad01c5"
integrity sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==
dependencies:
dot-case "^3.0.3"
tslib "^1.10.0"
dot-case "^3.0.4"
tslib "^2.0.3"
parent-module@^1.0.0:
version "1.0.1"
@ -6996,13 +6996,13 @@ parseurl@~1.3.2, parseurl@~1.3.3:
resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4"
integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==
pascal-case@^3.1.1:
version "3.1.1"
resolved "https://registry.yarnpkg.com/pascal-case/-/pascal-case-3.1.1.tgz#5ac1975133ed619281e88920973d2cd1f279de5f"
integrity sha512-XIeHKqIrsquVTQL2crjq3NfJUxmdLasn3TYOU0VBM+UX2a6ztAWBlJQBePLGY7VHW8+2dRadeIPK5+KImwTxQA==
pascal-case@^3.1.2:
version "3.1.2"
resolved "https://registry.yarnpkg.com/pascal-case/-/pascal-case-3.1.2.tgz#b48e0ef2b98e205e7c1dae747d0b1508237660eb"
integrity sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==
dependencies:
no-case "^3.0.3"
tslib "^1.10.0"
no-case "^3.0.4"
tslib "^2.0.3"
pascalcase@^0.1.1:
version "0.1.1"
@ -7496,9 +7496,9 @@ react-dropzone@^11.2.4:
prop-types "^15.7.2"
react-i18next@^11.7.3:
version "11.7.3"
resolved "https://registry.yarnpkg.com/react-i18next/-/react-i18next-11.7.3.tgz#256461c46baf5b3208c3c6860ca4e569fc7ed053"
integrity sha512-7sYZqVZgdaS9Z0ZH6nuJFErCD0zz5wK3jR4/xCrWjZcxHHF3GRu7BXdicbSPprZV4ZYz7LJzxxMHO7dg5Qb70A==
version "11.7.4"
resolved "https://registry.yarnpkg.com/react-i18next/-/react-i18next-11.7.4.tgz#6c0142e15652d8dd80cd7d857e36efe2e9d4d09a"
integrity sha512-Aq0+QVW7NMYuAtk0Stcwp4jWeNTd1p5XefAfBPcjs/4c/2duG3v3G3zdtn8fC8L4EyA/coKLwdULHI+lYTbF8w==
dependencies:
"@babel/runtime" "^7.3.1"
html-parse-stringify2 "2.0.1"
@ -8188,9 +8188,11 @@ semver@^6.0.0, semver@^6.2.0, semver@^6.3.0:
integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
semver@^7.3.2:
version "7.3.2"
resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938"
integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==
version "7.3.4"
resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.4.tgz#27aaa7d2e4ca76452f98d3add093a72c943edc97"
integrity sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==
dependencies:
lru-cache "^6.0.0"
send@0.17.1:
version "0.17.1"
@ -9041,7 +9043,7 @@ trim-off-newlines@^1.0.0:
resolved "https://registry.yarnpkg.com/trim-off-newlines/-/trim-off-newlines-1.0.1.tgz#9f9ba9d9efa8764c387698bcbfeb2c848f11adb3"
integrity sha1-n5up2e+odkw4dpi8v+sshI8RrbM=
tslib@^1.10.0, tslib@^1.9.0:
tslib@^1.9.0:
version "1.14.1"
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00"
integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==