diff --git a/packages/asc-web-components/input-block/index.js b/packages/asc-web-components/input-block/index.js index 1e72d951c1..59652b59d2 100644 --- a/packages/asc-web-components/input-block/index.js +++ b/packages/asc-web-components/input-block/index.js @@ -10,7 +10,7 @@ import { StyledIconBlock, } from "./styled-input-block"; -// const iconNames = Object.keys(Icons); +//const iconNames = Object.keys(Icons); class InputBlock extends React.Component { constructor(props) { @@ -116,8 +116,7 @@ class InputBlock extends React.Component { mask={mask} keepCharPositions={keepCharPositions} /> - {/* {iconNames.includes(iconName) && ( */} - {iconName && ( + {//iconNames.includes(iconName) && (
- )} + } ); } diff --git a/products/ASC.Files/Client/src/App.js b/products/ASC.Files/Client/src/App.js index b7bc554c24..78e700976c 100644 --- a/products/ASC.Files/Client/src/App.js +++ b/products/ASC.Files/Client/src/App.js @@ -1,5 +1,5 @@ import React from "react"; -//import Shell from "studio/shell"; +import Shell from "studio/shell"; const App = () => { return ; diff --git a/products/ASC.Files/Client/src/components/Article/Body/ThirdPartyList.js b/products/ASC.Files/Client/src/components/Article/Body/ThirdPartyList.js index 39372a143a..62ac2aa4eb 100644 --- a/products/ASC.Files/Client/src/components/Article/Body/ThirdPartyList.js +++ b/products/ASC.Files/Client/src/components/Article/Body/ThirdPartyList.js @@ -106,7 +106,7 @@ const PureThirdPartyListContainer = ({ const thirdPartyUrl = "/products/files/settings/thirdParty"; if (history.location.pathname !== thirdPartyUrl) { setSelectedNode(["thirdParty"]); - setSelectedFolder({}); + setSelectedFolder(null); return history.push(thirdPartyUrl); } }; diff --git a/products/ASC.Files/Client/src/components/Article/Body/TreeSettings.js b/products/ASC.Files/Client/src/components/Article/Body/TreeSettings.js index c0ea5d40a3..7d980f559c 100644 --- a/products/ASC.Files/Client/src/components/Article/Body/TreeSettings.js +++ b/products/ASC.Files/Client/src/components/Article/Body/TreeSettings.js @@ -108,7 +108,7 @@ const PureTreeSettings = ({ const path = section[0]; //if (selectedFolder) setSelectedFolder({}); - setSelectedFolder({}); //getSelectedTreeNode + setSelectedFolder(null); //getSelectedTreeNode if (path === "settings") { setSelectedNode(["common"]); diff --git a/products/ASC.Files/Client/src/components/pages/Home/Section/Header/index.js b/products/ASC.Files/Client/src/components/pages/Home/Section/Header/index.js index 81e96a6bf7..8c1117180d 100644 --- a/products/ASC.Files/Client/src/components/pages/Home/Section/Header/index.js +++ b/products/ASC.Files/Client/src/components/pages/Home/Section/Header/index.js @@ -863,7 +863,7 @@ export default inject( isThirdPartySelection, isWebEditSelected, isTabletView: auth.settingsStore.isTabletView, - confirmDelete: settingsStore.settingsTree.confirmDelete, + confirmDelete: settingsStore.confirmDelete, treeFolders: treeFoldersStore.treeFolders, setSelected, setAction, diff --git a/products/ASC.Files/Client/src/components/pages/Settings/Section/Body/index.js b/products/ASC.Files/Client/src/components/pages/Settings/Section/Body/index.js index f9302ecd54..7828674091 100644 --- a/products/ASC.Files/Client/src/components/pages/Settings/Section/Body/index.js +++ b/products/ASC.Files/Client/src/components/pages/Settings/Section/Body/index.js @@ -42,7 +42,7 @@ const SectionBodyContent = ({ setForceSave, isAdmin, isErrorSettings, - settingsTree, + isLoadedSettingsTree, t, }) => { @@ -55,7 +55,7 @@ const SectionBodyContent = ({ }; const renderAdminSettings = () => { - return Object.keys(settingsTree).length === 0 || isLoading ? null : ( + return !isLoadedSettingsTree || isLoading ? null : ( { - return Object.keys(settingsTree).length === 0 || isLoading ? null : ( + return !isLoadedSettingsTree || isLoading ? null : ( { const [title, setTitle] = useState(""); @@ -75,8 +75,7 @@ const PureSettings = ({ - {(Object.keys(settingsTree).length === 0 && isLoading) || - isLoading ? ( + {(!isLoadedSettingsTree && isLoading) || isLoading ? ( ) : ( @@ -84,8 +83,7 @@ const PureSettings = ({ - {(Object.keys(settingsTree).length === 0 && isLoading) || - isLoading ? ( + {(!isLoadedSettingsTree && isLoading) || isLoading ? ( setting === "thirdParty" ? ( ) : ( @@ -107,13 +105,11 @@ export default inject( const { isLoading } = initFilesStore; const { setFirstLoad } = filesStore; const { setSelectedNode } = treeFoldersStore; - const { getFilesSettings, settingsTree: settings } = settingsStore; - - const settingsTree = Object.keys(settings).length !== 0 ? settings : {}; + const { getFilesSettings, isLoadedSettingsTree } = settingsStore; return { isLoading, - settingsTree, + isLoadedSettingsTree, setFirstLoad, setSelectedNode, diff --git a/products/ASC.Files/Client/src/store/SelectedFolderStore.js b/products/ASC.Files/Client/src/store/SelectedFolderStore.js index ee01d96d5e..85eb7e95ca 100644 --- a/products/ASC.Files/Client/src/store/SelectedFolderStore.js +++ b/products/ASC.Files/Client/src/store/SelectedFolderStore.js @@ -17,7 +17,7 @@ class SelectedFolderStore { updated = null; updatedBy = null; rootFolderType = null; - pathParts = []; + pathParts = null; providerItem = null; constructor() { @@ -53,10 +53,22 @@ class SelectedFolderStore { } setSelectedFolder = (selectedFolder) => { - const selectedFolderItems = Object.keys(selectedFolder); - for (let key of selectedFolderItems) { - if (key in this) { - this[key] = selectedFolder[key]; + if (!selectedFolder) { + const newStore = new SelectedFolderStore(); + + const selectedFolderItems = Object.keys(newStore); + for (let key of selectedFolderItems) { + if (key in this) { + this[key] = newStore[key]; + } + } + } else { + const selectedFolderItems = Object.keys(selectedFolder); + + for (let key of selectedFolderItems) { + if (key in this) { + this[key] = selectedFolder[key]; + } } } }; diff --git a/products/ASC.Files/Client/src/store/SettingsStore.js b/products/ASC.Files/Client/src/store/SettingsStore.js index a2c4ace0f4..f759e3f52c 100644 --- a/products/ASC.Files/Client/src/store/SettingsStore.js +++ b/products/ASC.Files/Client/src/store/SettingsStore.js @@ -1,41 +1,55 @@ -import { makeObservable, action, observable } from "mobx"; +import { makeAutoObservable } from "mobx"; import api from "@appserver/common/api"; import axios from "axios"; import ThirdPartyStore from "./ThirdPartyStore"; class SettingsStore { thirdPartyStore = null; - settingsTree = {}; + + isErrorSettings = null; + expandedSetting = null; + + confirmDelete = null; + enableThirdParty = null; + forcesave = null; + storeForcesave = null; + storeOriginalFiles = null; + updateIfExist = null; constructor() { - makeObservable(this, { - thirdPartyStore: observable, - settingsTree: observable, - - getFilesSettings: action, - setExpandSettingsTree: action, - }); + makeAutoObservable(this); this.thirdPartyStore = new ThirdPartyStore(); } + get isLoadedSettingsTree() { + return ( + this.confirmDelete !== null && + this.enableThirdParty !== null && + this.forcesave !== null && + this.storeForcesave !== null && + this.storeOriginalFiles !== null && + this.updateIfExist !== null + ); + } + setFilesSettings = (settings) => { const settingsItems = Object.keys(settings); for (let key of settingsItems) { - this.settingsTree[key] = settings[key]; + this[key] = settings[key]; } }; setIsErrorSettings = (isError) => { - this.settingsTree.isErrorSettings = isError; + this.isErrorSettings = isError; }; setExpandSettingsTree = (expandedSetting) => { - this.settingsTree.expandedSetting = expandedSetting; + this.expandedSetting = expandedSetting; }; getFilesSettings = () => { - if (Object.keys(this.settingsTree).length === 0) { + if (!this.isLoadedSettingsTree) { return api.files .getSettingsFiles() .then((settings) => { @@ -50,19 +64,19 @@ class SettingsStore { for (let item of capabilities) { item.splice(1, 1); } - //this.thirdPartyStore.setThirdPartyCapabilities(capabilities); //TODO: Out of bounds read: 1 + this.thirdPartyStore.setThirdPartyCapabilities(capabilities); //TODO: Out of bounds read: 1 this.thirdPartyStore.setThirdPartyProviders(providers); }); } }) .catch(() => this.setIsErrorSettings(true)); } else { - return Promise.resolve(this.settingsTree); + return Promise.resolve(); } }; setFilesSetting = (setting, val) => { - this.settingsTree[setting] = val; + this[setting] = val; }; setUpdateIfExist = (data, setting) => diff --git a/products/ASC.Files/Client/src/store/TreeFoldersStore.js b/products/ASC.Files/Client/src/store/TreeFoldersStore.js index e51c4954c1..fe6b11002b 100644 --- a/products/ASC.Files/Client/src/store/TreeFoldersStore.js +++ b/products/ASC.Files/Client/src/store/TreeFoldersStore.js @@ -39,6 +39,7 @@ class TreeFoldersStore { fetchTreeFolders: action, setTreeFolders: action, setExpandedKeys: action, + setSelectedNode: action, }); } diff --git a/products/ASC.People/Client/src/App.js b/products/ASC.People/Client/src/App.js index 41948f51c6..427cf27a73 100644 --- a/products/ASC.People/Client/src/App.js +++ b/products/ASC.People/Client/src/App.js @@ -1,8 +1,7 @@ +import React from "react"; import Shell from "studio/shell"; -const App = () => ( - -); +const App = () => ; export default App; diff --git a/public/images/search.react.svg b/public/images/search.react.svg new file mode 100644 index 0000000000..49cc89c87c --- /dev/null +++ b/public/images/search.react.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/web/ASC.Web.Client/public/index.html b/web/ASC.Web.Client/public/index.html index ecdf08e348..bff3148efe 100644 --- a/web/ASC.Web.Client/public/index.html +++ b/web/ASC.Web.Client/public/index.html @@ -224,6 +224,7 @@ To create a production bundle, use `npm run build` or `yarn build`. --> diff --git a/web/ASC.Web.Login/webpack.config.js b/web/ASC.Web.Login/webpack.config.js index 326ee00dfa..4e00c1914d 100644 --- a/web/ASC.Web.Login/webpack.config.js +++ b/web/ASC.Web.Login/webpack.config.js @@ -1,25 +1,38 @@ +const { CleanWebpackPlugin } = require("clean-webpack-plugin"); +const CopyPlugin = require("copy-webpack-plugin"); const HtmlWebpackPlugin = require("html-webpack-plugin"); const ModuleFederationPlugin = require("webpack").container .ModuleFederationPlugin; const path = require("path"); -const deps = require("./package.json").dependencies; +const pkg = require("./package.json"); +const deps = pkg.dependencies; +const homepage = pkg.homepage; -module.exports = { - entry: "./src/index", +var config = { mode: "development", - devtool: "inline-source-map", + entry: "./src/index", + devServer: { - contentBase: [path.join(__dirname, "public"), path.join(__dirname, "dist")], - contentBasePublicPath: "/login", + publicPath: homepage, + + contentBase: [path.join(__dirname, "public")], + contentBasePublicPath: homepage, port: 5011, historyApiFallback: true, hot: false, hotOnly: false, + headers: { + "Access-Control-Allow-Origin": "*", + "Access-Control-Allow-Methods": "GET, POST, PUT, DELETE, PATCH, OPTIONS", + "Access-Control-Allow-Headers": + "X-Requested-With, content-type, Authorization", + }, }, output: { - publicPath: "auto", + publicPath: "auto", //homepage chunkFilename: "[id].[contenthash].js", + path: path.resolve(process.cwd(), "dist"), }, resolve: { @@ -78,11 +91,12 @@ module.exports = { }, plugins: [ + new CleanWebpackPlugin(), new ModuleFederationPlugin({ name: "login", filename: "remoteEntry.js", remotes: { - studio: "studio@http://localhost:5001/remoteEntry.js", + studio: "studio@/remoteEntry.js", }, exposes: { "./app": "./src/Login.jsx", @@ -101,6 +115,32 @@ module.exports = { }), new HtmlWebpackPlugin({ template: "./public/index.html", + publicPath: homepage, + //base: `${homepage}/`, + }), + new CopyPlugin({ + patterns: [ + { + from: "public", + globOptions: { + dot: true, + gitignore: true, + ignore: ["**/index.html"], + }, + }, + ], }), ], }; + +module.exports = (env, argv) => { + if (argv.mode === "development") { + config.devtool = "inline-source-map"; + } + + if (argv.mode === "production") { + config.mode = "production"; + } + + return config; +}; diff --git a/yarn.lock b/yarn.lock index 2cf527c4a5..e819ff0573 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1752,11 +1752,32 @@ call-me-maybe "^1.0.1" glob-to-regexp "^0.3.0" +"@nodelib/fs.scandir@2.1.4": + version "2.1.4" + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz#d4b3549a5db5de2683e0c1071ab4f140904bbf69" + integrity sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA== + dependencies: + "@nodelib/fs.stat" "2.0.4" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@2.0.4", "@nodelib/fs.stat@^2.0.2": + version "2.0.4" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz#a3f2dd61bab43b8db8fa108a121cfffe4c676655" + integrity sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q== + "@nodelib/fs.stat@^1.1.2": version "1.1.3" resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b" integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw== +"@nodelib/fs.walk@^1.2.3": + version "1.2.6" + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz#cce9396b30aa5afe9e3756608f5831adcb53d063" + integrity sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow== + dependencies: + "@nodelib/fs.scandir" "2.1.4" + fastq "^1.6.0" + "@octokit/auth-token@^2.4.0": version "2.4.5" resolved "https://registry.yarnpkg.com/@octokit/auth-token/-/auth-token-2.4.5.tgz#568ccfb8cb46f36441fac094ce34f7a875b197f3" @@ -1773,10 +1794,10 @@ is-plain-object "^5.0.0" universal-user-agent "^6.0.0" -"@octokit/openapi-types@^5.2.0": - version "5.2.0" - resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-5.2.0.tgz#54e6ca0bc2cd54cd93f0a64658e893c32a5e69ec" - integrity sha512-MInMij2VK5o96Ei6qaHjxBglSZWOXQs9dTZfnGX2Xnr2mhA+yk9L/QCH4RcJGISJJCBclLHuY3ytq+iRgDfX7w== +"@octokit/openapi-types@^5.2.1": + version "5.2.1" + resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-5.2.1.tgz#5e846f86104aef96ace20091d8afb6be27979d8a" + integrity sha512-Bf7MBvQ1nMpv15ANaQtRBsC7YnwQFPM0eUztp3luQs9L6sBEiQ6ArM1Wx5CG+N7tXETtd0oE0DMcU4wbLlCZIw== "@octokit/plugin-enterprise-rest@^6.0.1": version "6.0.1" @@ -1865,11 +1886,11 @@ "@types/node" ">= 8" "@octokit/types@^6.0.3", "@octokit/types@^6.7.1": - version "6.11.0" - resolved "https://registry.yarnpkg.com/@octokit/types/-/types-6.11.0.tgz#830a608882cde659be19a6e86568abaa619e2ee7" - integrity sha512-RMLAmpPZf/a33EsclBazKg02NCCj4rC69V9sUgf0SuWTjmnBD2QC1nIVtJo7RJrGnwG1+aoFBb2yTrWm/8AS7w== + version "6.11.1" + resolved "https://registry.yarnpkg.com/@octokit/types/-/types-6.11.1.tgz#54ece128029526fa99bd71e757b9e35478403d95" + integrity sha512-UiSRTG2lrFbMUMwhKNR0uSV33Fzv4bNu1n5iFuuNOg80XCh0VYNhR4TQWgrkLhVxdDuej6s61aP3eQvVm6K6uA== dependencies: - "@octokit/openapi-types" "^5.2.0" + "@octokit/openapi-types" "^5.2.1" "@svgr/babel-plugin-add-jsx-attribute@^5.4.0": version "5.4.0" @@ -2108,7 +2129,7 @@ "@types/source-list-map" "*" source-map "^0.7.3" -"@types/webpack@^4.41.8": +"@types/webpack@^4.4.31", "@types/webpack@^4.41.8": version "4.41.26" resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.26.tgz#27a30d7d531e16489f9c7607c747be6bc1a459ef" integrity sha512-7ZyTfxjCRwexh+EJFwRUM+CDB2XvgHl4vfuqf1ZKrgGvcS5BrNvPQqJh3tsZ0P6h6Aa1qClVHaJZszLPzpqHeA== @@ -2547,6 +2568,11 @@ array-union@^1.0.1, array-union@^1.0.2: dependencies: array-uniq "^1.0.1" +array-union@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" + integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== + array-uniq@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" @@ -2839,7 +2865,7 @@ braces@^2.3.1, braces@^2.3.2: split-string "^3.0.2" to-regex "^3.0.1" -braces@~3.0.2: +braces@^3.0.1, braces@~3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== @@ -3135,6 +3161,14 @@ clean-css@^4.2.3: dependencies: source-map "~0.6.0" +clean-webpack-plugin@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/clean-webpack-plugin/-/clean-webpack-plugin-3.0.0.tgz#a99d8ec34c1c628a4541567aa7b457446460c62b" + integrity sha512-MciirUH5r+cYLGCOL5JX/ZLzOZbVr1ot3Fw+KcvbhUb6PM+yycqd9ZhIlcigQ5gl+XhppNmw3bEFuaaMNyLj3A== + dependencies: + "@types/webpack" "^4.4.31" + del "^4.1.1" + cli-boxes@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-1.0.0.tgz#4fa917c3e59c94a004cd61f8ee509da651687143" @@ -3524,6 +3558,20 @@ copy-to-clipboard@^3.2.0: dependencies: toggle-selection "^1.0.6" +copy-webpack-plugin@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-7.0.0.tgz#3506f867ca6e861ee2769d4deaf8fa0d2563ada9" + integrity sha512-SLjQNa5iE3BoCP76ESU9qYo9ZkEWtXoZxDurHoqPchAFRblJ9g96xTeC560UXBMre1Nx6ixIIUfiY3VcjpJw3g== + dependencies: + fast-glob "^3.2.4" + glob-parent "^5.1.1" + globby "^11.0.1" + loader-utils "^2.0.0" + normalize-path "^3.0.0" + p-limit "^3.0.2" + schema-utils "^3.0.0" + serialize-javascript "^5.0.1" + core-js-compat@^3.8.1, core-js-compat@^3.9.0: version "3.9.1" resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.9.1.tgz#4e572acfe90aff69d76d8c37759d21a5c59bb455" @@ -3907,6 +3955,13 @@ dir-glob@^2.2.2: dependencies: path-type "^3.0.0" +dir-glob@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" + integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== + dependencies: + path-type "^4.0.0" + dns-equal@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/dns-equal/-/dns-equal-1.0.0.tgz#b39e7f1da6eb0a75ba9c17324b34753c47e0654d" @@ -4445,6 +4500,18 @@ fast-glob@^2.2.6: merge2 "^1.2.3" micromatch "^3.1.10" +fast-glob@^3.1.1, fast-glob@^3.2.4: + version "3.2.5" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.5.tgz#7939af2a656de79a4f1901903ee8adcaa7cb9661" + integrity sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.0" + merge2 "^1.3.0" + micromatch "^4.0.2" + picomatch "^2.2.1" + fast-json-stable-stringify@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" @@ -4467,6 +4534,13 @@ fastest-levenshtein@^1.0.12: resolved "https://registry.yarnpkg.com/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz#9990f7d3a88cc5a9ffd1f1745745251700d497e2" integrity sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow== +fastq@^1.6.0: + version "1.11.0" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.11.0.tgz#bb9fb955a07130a918eb63c1f5161cc32a5d0858" + integrity sha512-7Eczs8gIPDrVzT+EksYBcupqMyxSHXXrHOLRRxU2/DicV8789MRBRR8+Hc2uWzUupOs4YS4JzBmBxjjCVBxD/g== + dependencies: + reusify "^1.0.4" + faye-websocket@^0.11.3: version "0.11.3" resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.3.tgz#5c0e9a8968e8912c286639fde977a8b209f2508e" @@ -4831,7 +4905,7 @@ glob-parent@^3.1.0: is-glob "^3.1.0" path-dirname "^1.0.0" -glob-parent@^5.0.0, glob-parent@~5.1.0: +glob-parent@^5.0.0, glob-parent@^5.1.0, glob-parent@^5.1.1, glob-parent@~5.1.0: version "5.1.1" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.1.tgz#b6c1ef417c4e5663ea498f1c45afac6916bbc229" integrity sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ== @@ -4865,6 +4939,18 @@ globals@^11.1.0: resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== +globby@^11.0.1: + version "11.0.2" + resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.2.tgz#1af538b766a3b540ebfb58a32b2e2d5897321d83" + integrity sha512-2ZThXDvvV8fYFRVIxnrMQBipZQDr7MxKAmQK1vujaj9/7eF0efG7BPUKJ7jP7G5SLF37xKDXvO4S/KKLj/Z0og== + dependencies: + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.1.1" + ignore "^5.1.4" + merge2 "^1.3.0" + slash "^3.0.0" + globby@^6.1.0: version "6.1.0" resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" @@ -5207,9 +5293,9 @@ i18next-http-backend@^1.1.0: node-fetch "2.6.1" i18next@^19.8.4: - version "19.9.0" - resolved "https://registry.yarnpkg.com/i18next/-/i18next-19.9.0.tgz#0a8cdacac4c8fb384f81f1cfcce823772b37e5d3" - integrity sha512-5zRG3aFl+e+LsdpVUp0dKkVhYH2iCv+gxyzXP1q2oJUc3BV26fqX87cBE3AHkMOir1X0liOaSoxS/Kg95iEcEQ== + version "19.9.1" + resolved "https://registry.yarnpkg.com/i18next/-/i18next-19.9.1.tgz#7a072b75daf677aa51fd4ce55214f21702af3ffd" + integrity sha512-9Azzyb3DvMJUMd7sPhwVEs6PQcogvdHmLQTjMQ+P+h3XwW4O66/8lgZTmYShgkjPOCqTw4Fwl5LOp/VhZgPo5A== dependencies: "@babel/runtime" "^7.12.0" @@ -5251,6 +5337,11 @@ ignore@^4.0.3: resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== +ignore@^5.1.4: + version "5.1.8" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" + integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== + import-fresh@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-2.0.0.tgz#d81355c15612d386c61f9ddd3922d4304822a546" @@ -6255,7 +6346,7 @@ merge-stream@^2.0.0: resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== -merge2@^1.2.3: +merge2@^1.2.3, merge2@^1.3.0: version "1.4.1" resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== @@ -6284,6 +6375,14 @@ micromatch@^3.1.10, micromatch@^3.1.4: snapdragon "^0.8.1" to-regex "^3.0.2" +micromatch@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259" + integrity sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q== + dependencies: + braces "^3.0.1" + picomatch "^2.0.5" + mime-db@1.46.0, "mime-db@>= 1.43.0 < 2": version "1.46.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.46.0.tgz#6267748a7f799594de3cbc8cde91def349661cee" @@ -7207,7 +7306,7 @@ performance-now@^2.1.0: resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= -picomatch@^2.0.4, picomatch@^2.2.1: +picomatch@^2.0.4, picomatch@^2.0.5, picomatch@^2.2.1: version "2.2.2" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== @@ -7498,6 +7597,11 @@ querystringify@^2.1.1: resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6" integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ== +queue-microtask@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.2.tgz#abf64491e6ecf0f38a6502403d4cda04f372dfd3" + integrity sha512-dB15eXv3p2jDlbOiNLyMabYg1/sXvppd8DP2J3EOCQ0AkuSXCW2tP7mnVouVLJKgUMY6yP0kcQDVpLCN13h4Xg== + quick-lru@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-1.1.0.tgz#4360b17c61136ad38078397ff11416e186dcfbb8" @@ -8227,6 +8331,11 @@ retry@^0.12.0: resolved "https://registry.yarnpkg.com/retry/-/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b" integrity sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs= +reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + rimraf@^2.5.4, rimraf@^2.6.2, rimraf@^2.6.3: version "2.7.1" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" @@ -8246,6 +8355,13 @@ run-async@^2.2.0: resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ== +run-parallel@^1.1.9: + version "1.2.0" + resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== + dependencies: + queue-microtask "^1.2.2" + run-queue@^1.0.0, run-queue@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47" @@ -8533,6 +8649,11 @@ slash@^2.0.0: resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A== +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + slide@^1.1.6: version "1.1.6" resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707"