diff --git a/.eslintrc.js b/.eslintrc.js index f899dd418de6f58d241b17dcc55db8e890b43c88..50402a0bfc0d33d88989404d6a3ee51d0fdc0546 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -6,6 +6,32 @@ module.exports = { 'prettier', // Uses eslint-config-prettier to disable ESLint rules from @typescript-eslint/eslint-plugin that would conflict with prettier 'plugin:prettier/recommended', // Enables eslint-plugin-prettier and displays prettier errors as ESLint errors. Make sure this is always the last configuration in the extends array. 'plugin:react-hooks/recommended', + 'react-app', + ], + plugins: ['@typescript-eslint', 'react', 'react-hooks'], + overrides: [ + { + extends: [ + 'plugin:@typescript-eslint/recommended', + 'plugin:@typescript-eslint/eslint-recommended', // Uses the recommended rules from @typescript-eslint/eslint-plugin + // This enables a lot of type checking + // 'plugin:@typescript-eslint/recommended-requiring-type-checking', // Uses the recommended rules from @typescript-eslint/eslint-plugin + ], + files: ['**/*.{ts,tsx}'], + parserOptions: { + tsconfigRootDir: __dirname, + project: ['./tsconfig.json'], + }, + rules: { + '@typescript-eslint/explicit-function-return-type': 'off', + '@typescript-eslint/no-unused-vars': 'warn', + '@typescript-eslint/no-explicit-any': 'warn', + '@typescript-eslint/prefer-optional-chain': 'warn', + '@typescript-eslint/prefer-as-const': 'error', + '@typescript-eslint/await-thenable': 'error', + '@typescript-eslint/no-var-requires': 'off', + }, + }, ], parserOptions: { ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features @@ -16,9 +42,9 @@ module.exports = { }, rules: { // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - '@typescript-eslint/explicit-function-return-type': 'off', 'react/react-in-jsx-scope': 'off', 'react/prop-types': 'warn', + 'react/self-closing-comp': 'warn', }, settings: { react: { diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index cb77e80a1c8ab19ec9eba7e298ab75cfc2daa2ee..21b5b1c0fed6011264e23e8a853db975ba698424 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -16,7 +16,7 @@ stages: build-test: stage: build - image: node:14.20-alpine + image: node:18.17-alpine before_script: - apk add git - apk add bash diff --git a/.node-version b/.node-version new file mode 100644 index 0000000000000000000000000000000000000000..bcaa3377df163b7441cbee802ac339c7c33d44ef --- /dev/null +++ b/.node-version @@ -0,0 +1 @@ +18.17 \ No newline at end of file diff --git a/.prettierrc b/.prettierrc index a8926a50ca780291a6a3f86604260a66c3dcd8d8..c97c46da0aaac0fe1e1a6b384e0780a518b6b2b4 100644 --- a/.prettierrc +++ b/.prettierrc @@ -3,5 +3,6 @@ "semi": false, "singleQuote": true, "tabWidth": 2, - "trailingComma": "es5" + "trailingComma": "es5", + "arrowParens": "avoid" } diff --git a/.vscode/settings.json b/.vscode/settings.json index 8df3d7acaede87adf6ff8ce5dad8818c3020d357..9d92bf0ce597fc8b141b91daf40f22ebd99998b1 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -34,10 +34,11 @@ "editor.defaultFormatter": "esbenp.prettier-vscode", "peacock.color": "#2aa63d", "sonarlint.connectedMode.project": { - "connectionId": "sonarqube-forge-grandlyon", - "projectKey": "web-et-numerique-llle-project-backoffice-client" + "connectionId": "Sonar", + "projectKey": "web-et-numerique-factory-llle-project-backoffice-client" }, "cSpell.words": [ + "backoffice", "draftjs", "ecogesture", "ecolyo", diff --git a/Dockerfile b/Dockerfile index 7ca9b79246fe52e42d34723a33e6d348d3a20a3e..cb8f61128071bb3e0bcb617e37236137bcc2254f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ # Stage 0, "build-stage", based on Node.js, to build and compile the frontend -FROM node:14-alpine AS build-stage +FROM node:18-alpine AS build-stage WORKDIR /app COPY package.json /app/ diff --git a/package.json b/package.json index c6d9c414d33b9517642ecb91f80b2b3be8a8f4a4..4730416f6b413a2aca0d16e38108e15fe1c28a5d 100644 --- a/package.json +++ b/package.json @@ -4,11 +4,11 @@ "private": true, "scripts": { "start": "react-scripts start", - "build": "react-scripts build", + "build": "CI=false && react-scripts build", "local-up": "docker-compose -f docker-compose.local.yml up -d && yarn start", "local-down": "docker-compose -f docker-compose.local.yml down", "docker": "docker run -it --rm -p 3000:3000 front-backoffice", - "lint": "eslint .", + "lint": "eslint src -c .eslintrc.js --fix", "lint:fix": "eslint --fix .", "format": "prettier --write \"./src/**/*.{js,jsx,ts,tsx,json,md}\"", "test": "react-scripts test", @@ -27,18 +27,15 @@ ] }, "devDependencies": { - "@types/jest": "^26.0.15", - "@types/node": "^12.0.0", + "@types/node": "^18.0.0", "@types/react": "^17.0.0", "@types/react-dom": "^17.0.0", "@types/react-router-dom": "^5.1.8", "@typescript-eslint/eslint-plugin": "^5.3.1", "@typescript-eslint/parser": "^5.3.1", "eslint": "^8.21.0", - "eslint-config-prettier": "^8.5.0", - "eslint-config-react-app": "^6.0.0", - "eslint-plugin-import": "^2.23.4", - "eslint-plugin-jest": "^24.4.0", + "eslint-config-prettier": "^9.0.0", + "eslint-config-react-app": "^7.0.0", "eslint-plugin-prettier": "^5.0.0", "eslint-plugin-react": "7.30.1", "eslint-plugin-react-hooks": "^4.2.0", @@ -48,9 +45,6 @@ "dependencies": { "@material-ui/core": "^4.12.3", "@material-ui/lab": "^4.0.0-alpha.60", - "@testing-library/jest-dom": "^5.11.4", - "@testing-library/react": "^11.1.0", - "@testing-library/user-event": "^12.1.10", "@types/draft-js": "^0.11.4", "@types/draftjs-to-html": "^0.8.1", "@types/html-to-draftjs": "^1.4.0", @@ -58,7 +52,7 @@ "@types/react-draft-wysiwyg": "^1.13.4", "ag-grid-community": "^27.1.0", "ag-grid-react": "^27.1.0", - "axios": "^0.21.1", + "axios": "^1.0.0", "dayjs": "^1.10.7", "draft-js": "^0.11.7", "draft-js-export-html": "^1.4.1", diff --git a/src/components/Consents/Consents.tsx b/src/components/Consents/Consents.tsx index 2267a99c51979a2bb7e727c7a7571da558fd8325..d404d5c6ce29451424b35c88884a9793d0bb8546 100644 --- a/src/components/Consents/Consents.tsx +++ b/src/components/Consents/Consents.tsx @@ -45,7 +45,7 @@ const Consents: React.FC = () => { }, []) const toggleOpenModal = useCallback(() => { - setOpenDowloadModal((prev) => !prev) + setOpenDowloadModal(prev => !prev) }, []) const defaultColDef = useMemo( @@ -134,7 +134,7 @@ const Consents: React.FC = () => { }, [] ) - const handleChangeRowsPerPage = useCallback((event: any) => { + const handleChangeRowsPerPage = useCallback(event => { setRowsPerPage(event.target.value) setPage(0) }, []) @@ -143,10 +143,10 @@ const Consents: React.FC = () => { if (gridApi) { const newNodes = gridApi.getRenderedNodes() const idsToCheck: string[] = selectedNodes - .filter((node: RowNode) => node.isSelected) - .map((node: RowNode) => node.data.ID) + .filter(node => node.isSelected) + .map(node => node.data.ID) - newNodes.forEach((node: RowNode) => { + newNodes.forEach(node => { if (idsToCheck.includes(node.data.ID)) node.setSelected(true, false, true) }) @@ -187,14 +187,14 @@ const Consents: React.FC = () => { (event: RowSelectedEvent) => { if (event.node.isSelected()) { const index = selectedNodes.findIndex( - (node) => node.data.ID === event.node.data.ID + node => node.data.ID === event.node.data.ID ) if (index === -1) { - setSelectedNodes((prev) => [...prev, event.node]) + setSelectedNodes(prev => [...prev, event.node]) } } else { - setSelectedNodes((prev) => - prev.filter((node) => { + setSelectedNodes(prev => + prev.filter(node => { return node.data.ID != event.node.data.ID }) ) @@ -279,7 +279,7 @@ const Consents: React.FC = () => { } disabled={isShowingSelection} autoComplete="off" - ></input> + /> </div> </div> <div @@ -301,9 +301,9 @@ const Consents: React.FC = () => { pagination={false} suppressCellFocus={true} rowClassRules={{ - expired: (params) => params.data.endDate < DateTime.now(), + expired: params => params.data.endDate < DateTime.now(), }} - ></AgGridReact> + /> {!isShowingSelection && ( <TablePagination labelRowsPerPage="Consentements par page" diff --git a/src/components/Navigation/BottomBar.tsx b/src/components/Navigation/BottomBar.tsx index 0129a6363413b96f77688ef1183969f4b233bd69..1b6e39e8e7afe77b334dc189bb56645e61df6ad4 100644 --- a/src/components/Navigation/BottomBar.tsx +++ b/src/components/Navigation/BottomBar.tsx @@ -14,7 +14,7 @@ const BottomBar: React.FC = () => { <div className="menu-list"> {user && routes.map( - (route) => + route => (!route.adminOnly || user?.isAdmin) && ( <NavLink key={route.label} diff --git a/src/components/Navigation/SideBar.tsx b/src/components/Navigation/SideBar.tsx index 301ac19b2ef555924f449633fda66eec864bb065..83b29903b6984e027e381fbb559d0a82a1d23b6e 100644 --- a/src/components/Navigation/SideBar.tsx +++ b/src/components/Navigation/SideBar.tsx @@ -18,7 +18,7 @@ const SideBar: React.FC = () => { <div className="menu-list"> {user && routes.map( - (route) => + route => (!route.adminOnly || user.isAdmin) && ( <NavLink key={route.label} diff --git a/src/components/Newsletter/CustomEditor.tsx b/src/components/Newsletter/CustomEditor.tsx index b9867c75e8d282218ff4cd7c00d8513b568f58b1..9131bf356a62e382c970c5435995f8f911f072e3 100644 --- a/src/components/Newsletter/CustomEditor.tsx +++ b/src/components/Newsletter/CustomEditor.tsx @@ -60,7 +60,7 @@ const CustomEditor: React.FC<CustomEditorProps> = ({ return ( <Editor editorState={editorState} - onEditorStateChange={(state) => handleStateChange(state)} + onEditorStateChange={state => handleStateChange(state)} handlePastedText={() => false} wrapperClassName="wrapper-class" editorClassName="editor-class" diff --git a/src/components/Newsletter/CustomLink.tsx b/src/components/Newsletter/CustomLink.tsx index fc69ff89ad50d4db54725648f41b44f29277cc60..847c8da19ff14daa7658d5ae61c9373650b2632e 100644 --- a/src/components/Newsletter/CustomLink.tsx +++ b/src/components/Newsletter/CustomLink.tsx @@ -77,7 +77,7 @@ const CustomLink: React.FC<EcolyoLinkProps> = ({ onChange, editorState }) => { : 'rdw-dropdown-optionwrapper placeholder-ul' } > - {links.map((item: LinkState) => { + {links.map(item => { return ( <li className="rdw-dropdownoption-default placeholder-li" diff --git a/src/components/Newsletter/DateSelector/DateSelector.tsx b/src/components/Newsletter/DateSelector/DateSelector.tsx index e811fc653e4fefafed32443dda9a22f85da4fcfe..ec37415765ada548a1ac61d9744a86ed0d7e6c5e 100644 --- a/src/components/Newsletter/DateSelector/DateSelector.tsx +++ b/src/components/Newsletter/DateSelector/DateSelector.tsx @@ -17,7 +17,7 @@ const DateSelector: React.FC<DateSelectorProps> = ({ }) => { const [openModal, setOpenModal] = useState<boolean>(false) const [isPrev, setIsPrev] = useState<boolean>(false) - const toggleOpenModal = () => setOpenModal((prev) => !prev) + const toggleOpenModal = () => setOpenModal(prev => !prev) const handleNextMonth = () => { setIsPrev(false) diff --git a/src/components/Newsletter/ImagePicker/ImagePicker.tsx b/src/components/Newsletter/ImagePicker/ImagePicker.tsx index 33a85e80a7e9c39444ef466216cb13fa7e9d1f19..fa6da8c6faf949a8fac55e1745e3adf9c0710ce2 100644 --- a/src/components/Newsletter/ImagePicker/ImagePicker.tsx +++ b/src/components/Newsletter/ImagePicker/ImagePicker.tsx @@ -28,7 +28,7 @@ const ImagePicker: React.FC<ImagePickerProps> = ({ const imagePerPage = 10 const toggleModal = () => { - setOpenModal((prev) => !prev) + setOpenModal(prev => !prev) } const handleChangePage = (page: number) => { setCurrentPage(page) @@ -95,7 +95,7 @@ const ImagePicker: React.FC<ImagePickerProps> = ({ {imageNames && imageNames.length !== 0 && imageNames[currentPage - 1].length !== 0 && - imageNames[currentPage - 1].map((imageName) => ( + imageNames[currentPage - 1].map(imageName => ( <SingleImage imageURL={imageName} key={imageName} diff --git a/src/components/Newsletter/Newsletter.tsx b/src/components/Newsletter/Newsletter.tsx index 410ca99964aadb383e29812f98b7d46347093b76..2aa75148f9e461a5f5120a02f0de6bb6bf0f1602 100644 --- a/src/components/Newsletter/Newsletter.tsx +++ b/src/components/Newsletter/Newsletter.tsx @@ -298,7 +298,7 @@ const Newsletter: React.FC = () => { subject={subject} handleChange={handleEditorChange} onDelete={handleOpenDeleteModal} - ></MailSubject> + /> <hr /> <MonthlyInfo info={info} diff --git a/src/components/Popups/Popups.tsx b/src/components/Popups/Popups.tsx index c921d3fc60f598c372b9e855de42d53ea8c4d9d8..2484a51537b0dc07f60424dda97e335e60f31e2a 100644 --- a/src/components/Popups/Popups.tsx +++ b/src/components/Popups/Popups.tsx @@ -70,25 +70,25 @@ const Popups: React.FC = () => { const handleCheckboxChange = (value: boolean, type: CheckboxType): void => { switch (type) { case CheckboxType.GRDF: - setPartnersInfo((prevPartnersInfo) => ({ + setPartnersInfo(prevPartnersInfo => ({ ...prevPartnersInfo, grdf_failure: value, })) break case CheckboxType.ENEDIS: - setPartnersInfo((prevPartnersInfo) => ({ + setPartnersInfo(prevPartnersInfo => ({ ...prevPartnersInfo, enedis_failure: value, })) break case CheckboxType.EGL: - setPartnersInfo((prevPartnersInfo) => ({ + setPartnersInfo(prevPartnersInfo => ({ ...prevPartnersInfo, egl_failure: value, })) break case CheckboxType.CUSTOM: - setCustomPopup((prev) => ({ + setCustomPopup(prev => ({ ...prev, popupEnabled: value, })) @@ -99,7 +99,7 @@ const Popups: React.FC = () => { } const handlePopupChange = (field: 'title' | 'description', value: string) => { - setCustomPopup((prev) => ({ + setCustomPopup(prev => ({ ...prev, [field]: value, })) @@ -176,7 +176,7 @@ const Popups: React.FC = () => { } const handleSelectChange = (event: React.ChangeEvent<HTMLSelectElement>) => { - setPopupDuration((prev) => ({ + setPopupDuration(prev => ({ ...prev, type: event.target.value as durationType, })) @@ -197,7 +197,7 @@ const Popups: React.FC = () => { years: 1, }) } - setCustomPopup((prev) => ({ + setCustomPopup(prev => ({ ...prev, endDate: newDate.toISO(), })) @@ -246,14 +246,14 @@ const Popups: React.FC = () => { id="switch_enedis" disabled={customPopup.popupEnabled} checked={partnersInfo.enedis_failure} - onChange={(event) => { + onChange={event => { handleCheckboxChange( event.currentTarget.checked, CheckboxType.ENEDIS ) }} /> - <label htmlFor="switch_enedis"></label> + <label htmlFor="switch_enedis" /> </div> <div className="switch_div"> <span>Panne EGL</span> @@ -262,14 +262,14 @@ const Popups: React.FC = () => { id="switch_egl" disabled={customPopup.popupEnabled} checked={partnersInfo.egl_failure} - onChange={(event) => { + onChange={event => { handleCheckboxChange( event.currentTarget.checked, CheckboxType.EGL ) }} /> - <label htmlFor="switch_egl"></label> + <label htmlFor="switch_egl" /> </div> <div className="switch_div"> <span>Panne GRDF</span> @@ -278,14 +278,14 @@ const Popups: React.FC = () => { id="switch_grdf" disabled={customPopup.popupEnabled} checked={partnersInfo.grdf_failure} - onChange={(event) => { + onChange={event => { handleCheckboxChange( event.currentTarget.checked, CheckboxType.GRDF ) }} /> - <label htmlFor="switch_grdf"></label> + <label htmlFor="switch_grdf" /> </div> </div> </div> @@ -301,14 +301,14 @@ const Popups: React.FC = () => { id="switch_popup" disabled={isPartnerNotificationOn()} checked={customPopup.popupEnabled} - onChange={(event) => { + onChange={event => { handleCheckboxChange( event.currentTarget.checked, CheckboxType.CUSTOM ) }} /> - <label htmlFor="switch_popup"></label> + <label htmlFor="switch_popup" /> </div> {customPopup.popupEnabled && @@ -325,7 +325,7 @@ const Popups: React.FC = () => { min={1} placeholder="Titre" value={customPopup.title} - onChange={(event) => + onChange={event => handlePopupChange('title', event.target.value) } /> @@ -336,7 +336,7 @@ const Popups: React.FC = () => { baseState={convertStringToEditorState( customPopup.description )} - handleChange={(value) => + handleChange={value => handlePopupChange('description', value) } type="custom_popup" @@ -348,9 +348,9 @@ const Popups: React.FC = () => { <div className="durationInput"> <select value={popupDuration.type} - onChange={(event) => handleSelectChange(event)} + onChange={event => handleSelectChange(event)} > - {OPTIONS.map((option) => ( + {OPTIONS.map(option => ( <option key={option.value} value={option.value} @@ -365,8 +365,8 @@ const Popups: React.FC = () => { type="number" min="0" value={popupDuration.duration} - onChange={(e) => - setPopupDuration((prev) => ({ + onChange={e => + setPopupDuration(prev => ({ ...prev, duration: Number(e.target.value), })) diff --git a/src/components/Prices/PriceRow.tsx b/src/components/Prices/PriceRow.tsx index b2df90bfad18548b187c3e82d78b7762523e9254..09b28b353fbed0e41e3274534170bbc6701ddfec 100644 --- a/src/components/Prices/PriceRow.tsx +++ b/src/components/Prices/PriceRow.tsx @@ -21,7 +21,7 @@ const PriceRow: React.FC<PriceSectionProps> = ({ index, isNextPrice, }) => { - const editableLimit: number = 3 + const editableLimit = 3 return ( <> @@ -47,7 +47,7 @@ const PriceRow: React.FC<PriceSectionProps> = ({ /> )} </li> - <hr></hr> + <hr /> </> ) } diff --git a/src/components/Prices/PriceSection.tsx b/src/components/Prices/PriceSection.tsx index 317d938ae8cfb51561656bd3da9948eb71257cdd..9b67c82694c71eb3b7f0d219a775a4ddbba44116 100644 --- a/src/components/Prices/PriceSection.tsx +++ b/src/components/Prices/PriceSection.tsx @@ -36,13 +36,13 @@ const PriceSection: React.FC<PriceSectionProps> = ({ fluid, frequency }) => { endDate: null, }) const { user }: Partial<UserContextProps> = useContext(UserContext) - const maxPerList: number = 8 + const maxPerList = 8 const handlePriceSelection = useCallback((val: string) => { if (val === '') val = '0' val = val.replace(/,/g, '.') val = val.replace(/([^0-9.]+)/, '') - setPriceToSave((prev) => { + setPriceToSave(prev => { return { ...prev, price: val } }) }, []) @@ -68,7 +68,7 @@ const PriceSection: React.FC<PriceSectionProps> = ({ fluid, frequency }) => { }, [priceToSave, user]) const toggleHistory = useCallback(() => { - setShowHistory((prev) => !prev) + setShowHistory(prev => !prev) }, []) const getDate = useCallback((isoString: string): string => { @@ -79,7 +79,7 @@ const PriceSection: React.FC<PriceSectionProps> = ({ fluid, frequency }) => { }, []) const toggleFullList = useCallback(() => { - setShowFullList((prev) => !prev) + setShowFullList(prev => !prev) }, []) useEffect(() => { @@ -120,7 +120,7 @@ const PriceSection: React.FC<PriceSectionProps> = ({ fluid, frequency }) => { } }, [refreshData, frequency, fluid]) - if (isLoading) return <Loader></Loader> + if (isLoading) return <Loader /> if (!prices.length) return <section> Aucun prix trouvé</section> return ( <section> @@ -136,7 +136,7 @@ const PriceSection: React.FC<PriceSectionProps> = ({ fluid, frequency }) => { className="input-dark price-select" type="text" value={priceToSave.price.toString()} - onChange={(e) => handlePriceSelection(e.target.value)} + onChange={e => handlePriceSelection(e.target.value)} placeholder={priceToSave.price === '' ? 'Saisir le nouveau prix' : ''} /> <span className="euro">€</span> diff --git a/src/components/Routes/Router.tsx b/src/components/Routes/Router.tsx index a1fe6c0d2b971d07b8950128c2260ae408afa6f0..e9f18d3673554a4483df8c8922c7cbc30879ae96 100644 --- a/src/components/Routes/Router.tsx +++ b/src/components/Routes/Router.tsx @@ -29,7 +29,7 @@ export const links: { }, } -export const routes = Object.keys(links).map((key) => ({ +export const routes = Object.keys(links).map(key => ({ label: links[key].label, path: links[key].path, adminOnly: links[key].adminOnly, diff --git a/src/hooks/useAuth.ts b/src/hooks/useAuth.ts index 6f57d463e9384d19c25871045d2b5165d73a7878..5f261372785f50855eaf6735b999520efe54c34a 100644 --- a/src/hooks/useAuth.ts +++ b/src/hooks/useAuth.ts @@ -4,7 +4,7 @@ import { useHistory } from 'react-router-dom' import { links } from '../components/Routes/Router' import { UserContext } from './userContext' -export interface Auth { +interface Auth { loginUser: () => Promise<void> error: null logoutUser: () => void diff --git a/src/services/consent.service.ts b/src/services/consent.service.ts index 8f41655a3ea11f4286cbebeaca0da807561bed15..185b123064e38d2ce903f0fc177a80a9bd5cad1b 100644 --- a/src/services/consent.service.ts +++ b/src/services/consent.service.ts @@ -1,11 +1,12 @@ import axios, { AxiosRequestConfig } from 'axios' import { DateTime } from 'luxon' import { toast } from 'react-toastify' -import { ConsentEntity, IConsent } from '../models/consent.model' import { + ConsentEntity, ConsentPaginationEntity, + IConsent, IConsentPagination, -} from './../models/consent.model' +} from '../models/consent.model' export class ConsentService { /** @@ -28,7 +29,7 @@ export class ConsentService { ) const consentPagination = data as ConsentPaginationEntity return this.parseConsentPagination(consentPagination) - } catch (e: any) { + } catch (e) { if (e.response.status === 403) { toast.error("Accès refusé : vous n'avez pas les droits nécessaires") } else { @@ -72,7 +73,7 @@ export class ConsentService { public parseConsentPagination = ( consentPaginationEntity: ConsentPaginationEntity ): IConsentPagination => { - const rows = consentPaginationEntity.rows.map((consent) => + const rows = consentPaginationEntity.rows.map(consent => this.parseConsent(consent) ) diff --git a/src/services/newsletter.service.ts b/src/services/newsletter.service.ts index 2a2791eca2a8886ac03c3ca45797af5d72cd7bf4..525ca8762ce9e4f758c78520d2774d9b92aa581c 100644 --- a/src/services/newsletter.service.ts +++ b/src/services/newsletter.service.ts @@ -27,7 +27,7 @@ export class NewsletterService { axiosHeaders ) toast.success('Objet de la newsletter enregistré !') - } catch (e: any) { + } catch (e) { if (e.response.status === 403) { toast.error("Accès refusé : vous n'avez pas les droits nécessaires") } else { @@ -56,7 +56,7 @@ export class NewsletterService { axiosHeaders ) return data as IMailSubject - } catch (e: any) { + } catch (e) { console.error('error', e) return null } @@ -79,7 +79,7 @@ export class NewsletterService { axiosHeaders ) toast.success('Objet de la newsletter supprimé !') - } catch (e: any) { + } catch (e) { if (e.response.status === 403) { toast.error("Accès refusé : vous n'avez pas les droits nécessaires") } else { @@ -112,7 +112,7 @@ export class NewsletterService { axiosHeaders ) toast.success('Information du mois enregistrée !') - } catch (e: any) { + } catch (e) { if (e.response.status === 403) { toast.error("Accès refusé : vous n'avez pas les droits nécessaires") } else { @@ -139,7 +139,7 @@ export class NewsletterService { axiosHeaders ) return data as IMonthlyInfo - } catch (e: any) { + } catch (e) { console.error('error', e) return null } @@ -162,7 +162,7 @@ export class NewsletterService { axiosHeaders ) toast.success('Informations du mois supprimées !') - } catch (e: any) { + } catch (e) { if (e.response.status === 403) { toast.error("Accès refusé : vous n'avez pas les droits nécessaires") } else { @@ -196,7 +196,7 @@ export class NewsletterService { axiosHeaders ) toast.success('Nouveautés du mois enregistrés !') - } catch (e: any) { + } catch (e) { if (e.response.status === 403) { toast.error("Accès refusé : vous n'avez pas les droits nécessaires") } else { @@ -246,7 +246,7 @@ export class NewsletterService { axiosHeaders ) toast.success('Nouveautés du mois supprimées !') - } catch (e: any) { + } catch (e) { if (e.response.status === 403) { toast.error("Accès refusé : vous n'avez pas les droits nécessaires") } else { @@ -280,7 +280,7 @@ export class NewsletterService { axiosHeaders ) toast.success('Sondage enregistré !') - } catch (e: any) { + } catch (e) { if (e.response.status === 403) { toast.error("Accès refusé : vous n'avez pas les droits nécessaires") } else { @@ -326,7 +326,7 @@ export class NewsletterService { axiosHeaders ) toast.success('Sondage supprimé !') - } catch (e: any) { + } catch (e) { if (e.response.status === 403) { toast.error("Accès refusé : vous n'avez pas les droits nécessaires") } else { diff --git a/src/setupTests.ts b/src/setupTests.ts deleted file mode 100644 index 52aaef1d2452104517b38ed65ea62c9a305aaa66..0000000000000000000000000000000000000000 --- a/src/setupTests.ts +++ /dev/null @@ -1,5 +0,0 @@ -// jest-dom adds custom jest matchers for asserting on DOM nodes. -// allows you to do things like: -// expect(element).toHaveTextContent(/react/i) -// learn more: https://github.com/testing-library/jest-dom -import '@testing-library/jest-dom' diff --git a/tsconfig.json b/tsconfig.json index a273b0cfc0e965c35524e3cd0d3574cbe1ad2d0d..5fe15b3492cb0ac31b8ea3888fac95a0ba8ad14f 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,11 +1,7 @@ { "compilerOptions": { "target": "es5", - "lib": [ - "dom", - "dom.iterable", - "esnext" - ], + "lib": ["dom", "dom.iterable", "esnext"], "allowJs": true, "skipLibCheck": true, "esModuleInterop": true, @@ -18,9 +14,8 @@ "resolveJsonModule": true, "isolatedModules": true, "noEmit": true, - "jsx": "react-jsx" + "jsx": "react-jsx", + "useUnknownInCatchVariables": false }, - "include": [ - "src" - ] + "include": ["src"] } diff --git a/yarn.lock b/yarn.lock index 4336c04bd9a4068b13d2408614654875962de78e..50dd6919070515fdc76d57d72400de8a23e5042f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1177,7 +1177,7 @@ core-js-pure "^3.20.2" regenerator-runtime "^0.13.4" -"@babel/runtime@^7.1.2", "@babel/runtime@^7.10.2", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.1", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.16.3", "@babel/runtime@^7.18.9", "@babel/runtime@^7.3.1", "@babel/runtime@^7.4.4", "@babel/runtime@^7.5.5", "@babel/runtime@^7.8.3", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2": +"@babel/runtime@^7.1.2", "@babel/runtime@^7.10.2", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.1", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.16.3", "@babel/runtime@^7.18.9", "@babel/runtime@^7.3.1", "@babel/runtime@^7.4.4", "@babel/runtime@^7.5.5", "@babel/runtime@^7.8.3", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.18.9.tgz#b4fcfce55db3d2e5e080d2490f608a3b9f407f4a" integrity sha512-lkqXDcvlFT5rvEjiu6+QYO+1GXrEHRo2LOtS7E4GtX5ESIZOgepqsZBVIj6Pv+a6zqsya9VCgiK1KAK4BvJDAw== @@ -1595,17 +1595,6 @@ source-map "^0.6.1" write-file-atomic "^3.0.0" -"@jest/types@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-26.6.2.tgz#bef5a532030e1d88a2f5a6d933f84e97226ed48e" - integrity sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ== - dependencies: - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^3.0.0" - "@types/node" "*" - "@types/yargs" "^15.0.0" - chalk "^4.0.0" - "@jest/types@^27.5.1": version "27.5.1" resolved "https://registry.yarnpkg.com/@jest/types/-/types-27.5.1.tgz#3c79ec4a8ba61c170bf937bcf9e98a9df175ec80" @@ -1979,50 +1968,6 @@ "@svgr/plugin-svgo" "^5.5.0" loader-utils "^2.0.0" -"@testing-library/dom@^7.28.1": - version "7.31.2" - resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-7.31.2.tgz#df361db38f5212b88555068ab8119f5d841a8c4a" - integrity sha512-3UqjCpey6HiTZT92vODYLPxTBWlM8ZOOjr3LX5F37/VRipW2M1kX6I/Cm4VXzteZqfGfagg8yXywpcOgQBlNsQ== - dependencies: - "@babel/code-frame" "^7.10.4" - "@babel/runtime" "^7.12.5" - "@types/aria-query" "^4.2.0" - aria-query "^4.2.2" - chalk "^4.1.0" - dom-accessibility-api "^0.5.6" - lz-string "^1.4.4" - pretty-format "^26.6.2" - -"@testing-library/jest-dom@^5.11.4": - version "5.16.4" - resolved "https://registry.yarnpkg.com/@testing-library/jest-dom/-/jest-dom-5.16.4.tgz#938302d7b8b483963a3ae821f1c0808f872245cd" - integrity sha512-Gy+IoFutbMQcky0k+bqqumXZ1cTGswLsFqmNLzNdSKkU9KGV2u9oXhukCbbJ9/LRPKiqwxEE8VpV/+YZlfkPUA== - dependencies: - "@babel/runtime" "^7.9.2" - "@types/testing-library__jest-dom" "^5.9.1" - aria-query "^5.0.0" - chalk "^3.0.0" - css "^3.0.0" - css.escape "^1.5.1" - dom-accessibility-api "^0.5.6" - lodash "^4.17.15" - redent "^3.0.0" - -"@testing-library/react@^11.1.0": - version "11.2.7" - resolved "https://registry.yarnpkg.com/@testing-library/react/-/react-11.2.7.tgz#b29e2e95c6765c815786c0bc1d5aed9cb2bf7818" - integrity sha512-tzRNp7pzd5QmbtXNG/mhdcl7Awfu/Iz1RaVHY75zTdOkmHCuzMhRL83gWHSgOAcjS3CCbyfwUHMZgRJb4kAfpA== - dependencies: - "@babel/runtime" "^7.12.5" - "@testing-library/dom" "^7.28.1" - -"@testing-library/user-event@^12.1.10": - version "12.8.3" - resolved "https://registry.yarnpkg.com/@testing-library/user-event/-/user-event-12.8.3.tgz#1aa3ed4b9f79340a1e1836bc7f57c501e838704a" - integrity sha512-IR0iWbFkgd56Bu5ZI/ej8yQwrkCv8Qydx6RzwbKz9faXazR/+5tvYKsZQgyXJiwgpcva127YO6JcWy7YlCfofQ== - dependencies: - "@babel/runtime" "^7.12.5" - "@tootallnate/once@1": version "1.1.2" resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" @@ -2033,11 +1978,6 @@ resolved "https://registry.yarnpkg.com/@trysound/sax/-/sax-0.2.0.tgz#cccaab758af56761eb7bf37af6f03f326dd798ad" integrity sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA== -"@types/aria-query@^4.2.0": - version "4.2.2" - resolved "https://registry.yarnpkg.com/@types/aria-query/-/aria-query-4.2.2.tgz#ed4e0ad92306a704f9fb132a0cfcf77486dbe2bc" - integrity sha512-HnYpAE1Y6kRyKM/XkEuiRQhTHvkzMBurTHnpFLYLBGPIylZNPs9jJcuOOYWxPLJCSEtmZT0Y8rHDokKN7rRTig== - "@types/babel__core@^7.0.0", "@types/babel__core@^7.1.14": version "7.1.19" resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.19.tgz#7b497495b7d1b4812bdb9d02804d0576f43ee460" @@ -2216,23 +2156,7 @@ dependencies: "@types/istanbul-lib-report" "*" -"@types/jest@*": - version "28.1.6" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-28.1.6.tgz#d6a9cdd38967d2d746861fb5be6b120e38284dd4" - integrity sha512-0RbGAFMfcBJKOmqRazM8L98uokwuwD5F8rHrv/ZMbrZBwVOWZUyPG6VFNscjYr/vjM3Vu4fRrCPbOs42AfemaQ== - dependencies: - jest-matcher-utils "^28.0.0" - pretty-format "^28.0.0" - -"@types/jest@^26.0.15": - version "26.0.24" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-26.0.24.tgz#943d11976b16739185913a1936e0de0c4a7d595a" - integrity sha512-E/X5Vib8BWqZNRlDxj9vYXhsDwPYbPINqKF9BsnSoon4RQ0D9moEuLD8txgyypFLH7J4+Lho9Nr/c8H0Fi+17w== - dependencies: - jest-diff "^26.0.0" - pretty-format "^26.0.0" - -"@types/json-schema@*", "@types/json-schema@^7.0.4", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.7", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": +"@types/json-schema@*", "@types/json-schema@^7.0.4", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": version "7.0.11" resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3" integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== @@ -2257,10 +2181,10 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-18.0.6.tgz#0ba49ac517ad69abe7a1508bc9b3a5483df9d5d7" integrity sha512-/xUq6H2aQm261exT6iZTMifUySEt4GR5KX8eYyY+C4MSNPqSh9oNIP7tz2GLKTlFaiBbgZNxffoR3CVRG+cljw== -"@types/node@^12.0.0": - version "12.20.55" - resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.55.tgz#c329cbd434c42164f846b909bd6f85b5537f6240" - integrity sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ== +"@types/node@^18.0.0": + version "18.17.15" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.17.15.tgz#31301a273b9ca7d568fe6d1c35ae52e0fb3f8d6a" + integrity sha512-2yrWpBk32tvV/JAd3HNHWuZn/VDN1P+72hWirHnvsvTGSqbANi+kSeuQR9yAHnbvaBvHDsoTdXV0Fe+iRtHLKA== "@types/parse-json@^4.0.0": version "4.0.0" @@ -2393,13 +2317,6 @@ resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.1.tgz#20f18294f797f2209b5f65c8e3b5c8e8261d127c" integrity sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw== -"@types/testing-library__jest-dom@^5.9.1": - version "5.14.5" - resolved "https://registry.yarnpkg.com/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.5.tgz#d113709c90b3c75fdb127ec338dad7d5f86c974f" - integrity sha512-SBwbxYoyPIvxHbeHxTZX2Pe/74F/tX2/D3mMvzabdeJ25bBojfW0TyB8BHrbq/9zaaKICJZjLP+8r6AeZMFCuQ== - dependencies: - "@types/jest" "*" - "@types/trusted-types@^2.0.2": version "2.0.2" resolved "https://registry.yarnpkg.com/@types/trusted-types/-/trusted-types-2.0.2.tgz#fc25ad9943bcac11cceb8168db4f275e0e72e756" @@ -2417,13 +2334,6 @@ resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.0.tgz#0c60e537fa790f5f9472ed2776c2b71ec117351b" integrity sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA== -"@types/yargs@^15.0.0": - version "15.0.14" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.14.tgz#26d821ddb89e70492160b66d10a0eb6df8f6fb06" - integrity sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ== - dependencies: - "@types/yargs-parser" "*" - "@types/yargs@^16.0.0": version "16.0.4" resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-16.0.4.tgz#26aad98dd2c2a38e421086ea9ad42b9e51642977" @@ -2453,18 +2363,6 @@ semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/experimental-utils@^4.0.1": - version "4.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.33.0.tgz#6f2a786a4209fa2222989e9380b5331b2810f7fd" - integrity sha512-zeQjOoES5JFjTnAhI5QY7ZviczMzDptls15GFsI6jyUOq0kOf9+WonkhtlIhh0RgHRnqj5gdNxW5j1EvAyYg6Q== - dependencies: - "@types/json-schema" "^7.0.7" - "@typescript-eslint/scope-manager" "4.33.0" - "@typescript-eslint/types" "4.33.0" - "@typescript-eslint/typescript-estree" "4.33.0" - eslint-scope "^5.1.1" - eslint-utils "^3.0.0" - "@typescript-eslint/experimental-utils@^5.0.0": version "5.32.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-5.32.0.tgz#e3e664e7e00be2a3fb1a53c49b51b66c20fdd906" @@ -2492,14 +2390,6 @@ "@typescript-eslint/typescript-estree" "5.32.0" debug "^4.3.4" -"@typescript-eslint/scope-manager@4.33.0": - version "4.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.33.0.tgz#d38e49280d983e8772e29121cf8c6e9221f280a3" - integrity sha512-5IfJHpgTsTZuONKbODctL4kKuQje/bzBRkwHE8UOZ4f89Zeddg+EGZs8PD8NcN4LdM3ygHWYB3ukPAYjvl/qbQ== - dependencies: - "@typescript-eslint/types" "4.33.0" - "@typescript-eslint/visitor-keys" "4.33.0" - "@typescript-eslint/scope-manager@5.32.0": version "5.32.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.32.0.tgz#763386e963a8def470580cc36cf9228864190b95" @@ -2525,11 +2415,6 @@ debug "^4.3.4" tsutils "^3.21.0" -"@typescript-eslint/types@4.33.0": - version "4.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.33.0.tgz#a1e59036a3b53ae8430ceebf2a919dc7f9af6d72" - integrity sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ== - "@typescript-eslint/types@5.32.0": version "5.32.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.32.0.tgz#484273021eeeae87ddb288f39586ef5efeb6dcd8" @@ -2540,19 +2425,6 @@ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.33.0.tgz#d41c584831805554b063791338b0220b613a275b" integrity sha512-nIMt96JngB4MYFYXpZ/3ZNU4GWPNdBbcB5w2rDOCpXOVUkhtNlG2mmm8uXhubhidRZdwMaMBap7Uk8SZMU/ppw== -"@typescript-eslint/typescript-estree@4.33.0": - version "4.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.33.0.tgz#0dfb51c2908f68c5c08d82aefeaf166a17c24609" - integrity sha512-rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA== - dependencies: - "@typescript-eslint/types" "4.33.0" - "@typescript-eslint/visitor-keys" "4.33.0" - debug "^4.3.1" - globby "^11.0.3" - is-glob "^4.0.1" - semver "^7.3.5" - tsutils "^3.21.0" - "@typescript-eslint/typescript-estree@5.32.0": version "5.32.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.32.0.tgz#282943f34babf07a4afa7b0ff347a8e7b6030d12" @@ -2591,14 +2463,6 @@ eslint-scope "^5.1.1" eslint-utils "^3.0.0" -"@typescript-eslint/visitor-keys@4.33.0": - version "4.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.33.0.tgz#2a22f77a41604289b7a186586e9ec48ca92ef1dd" - integrity sha512-uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg== - dependencies: - "@typescript-eslint/types" "4.33.0" - eslint-visitor-keys "^2.0.0" - "@typescript-eslint/visitor-keys@5.32.0": version "5.32.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.32.0.tgz#b9715d0b11fdb5dd10fd0c42ff13987470525394" @@ -2899,7 +2763,7 @@ ansi-regex@^3.0.0: resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.1.tgz#123d6479e92ad45ad897d4054e3c7ca7db4944e1" integrity sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw== -ansi-regex@^5.0.0, ansi-regex@^5.0.1: +ansi-regex@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== @@ -2966,11 +2830,6 @@ aria-query@^4.2.2: "@babel/runtime" "^7.10.2" "@babel/runtime-corejs3" "^7.10.2" -aria-query@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.0.0.tgz#210c21aaf469613ee8c9a62c7f86525e058db52c" - integrity sha512-V+SM7AbUwJ+EBnB8+DXs0hPZHO0W6pqBcc0dW90OwtVG02PswOu/teuARoLQjdDOH+t9pJgGnW5/Qmouf3gPJg== - array-flatten@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" @@ -3053,11 +2912,6 @@ at-least-node@^1.0.0: resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== -atob@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" - integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== - autoprefixer@^10.4.7: version "10.4.8" resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.8.tgz#92c7a0199e1cfb2ad5d9427bd585a3d75895b9e5" @@ -3075,12 +2929,14 @@ axe-core@^4.4.3: resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.4.3.tgz#11c74d23d5013c0fa5d183796729bc3482bd2f6f" integrity sha512-32+ub6kkdhhWick/UjvEwRchgoetXqTK14INLqbGm5U2TzBkBNF3nQtLYm8ovxSkQWArjEQvftCKryjZaATu3w== -axios@^0.21.1: - version "0.21.4" - resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.4.tgz#c67b90dc0568e5c1cf2b0b858c43ba28e2eda575" - integrity sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg== +axios@^1.0.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/axios/-/axios-1.5.0.tgz#f02e4af823e2e46a9768cfc74691fdd0517ea267" + integrity sha512-D4DdjDo5CY50Qms0qGQTTw6Q44jl7zRwY7bthds06pUGfChBCTcQs+N743eFWGEd6pRTMd6A+I87aWyFV5wiZQ== dependencies: - follow-redirects "^1.14.0" + follow-redirects "^1.15.0" + form-data "^4.0.0" + proxy-from-env "^1.1.0" axobject-query@^2.2.0: version "2.2.0" @@ -3461,15 +3317,10 @@ caniuse-api@^3.0.0: lodash.memoize "^4.1.2" lodash.uniq "^4.5.0" -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001366: - version "1.0.30001367" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001367.tgz#2b97fe472e8fa29c78c5970615d7cd2ee414108a" - integrity sha512-XDgbeOHfifWV3GEES2B8rtsrADx4Jf+juKX2SICJcaUhjYBO3bR96kvEIHa15VU6ohtOhBZuPGGYGbXMRn0NCw== - -caniuse-lite@^1.0.30001370, caniuse-lite@^1.0.30001373: - version "1.0.30001374" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001374.tgz#3dab138e3f5485ba2e74bd13eca7fe1037ce6f57" - integrity sha512-mWvzatRx3w+j5wx/mpFN5v5twlPrabG8NqX2c6e45LCpymdoGqNvRkRutFUqpRTXKFQFNQJasvK0YT7suW6/Hw== +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001366, caniuse-lite@^1.0.30001370, caniuse-lite@^1.0.30001373: + version "1.0.30001532" + resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001532.tgz" + integrity sha512-FbDFnNat3nMnrROzqrsg314zhqN5LGQ1kyyMk2opcrwGbVGpHRhgCWtAgD5YJUqNAiQ+dklreil/c3Qf1dfCTw== case-sensitive-paths-webpack-plugin@^2.4.0: version "2.4.0" @@ -3496,14 +3347,6 @@ chalk@^2.0.0, chalk@^2.4.1: escape-string-regexp "^1.0.5" supports-color "^5.3.0" -chalk@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" - integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0, chalk@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" @@ -3698,7 +3541,7 @@ concat-map@0.0.1: resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== -confusing-browser-globals@^1.0.10, confusing-browser-globals@^1.0.11: +confusing-browser-globals@^1.0.11: version "1.0.11" resolved "https://registry.yarnpkg.com/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz#ae40e9b57cdd3915408a2805ebd3a5585608dc81" integrity sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA== @@ -3923,20 +3766,6 @@ css-what@^6.0.1: resolved "https://registry.yarnpkg.com/css-what/-/css-what-6.1.0.tgz#fb5effcf76f1ddea2c81bdfaa4de44e79bac70f4" integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw== -css.escape@^1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/css.escape/-/css.escape-1.5.1.tgz#42e27d4fa04ae32f931a4b4d4191fa9cddee97cb" - integrity sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg== - -css@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/css/-/css-3.0.0.tgz#4447a4d58fdd03367c516ca9f64ae365cee4aa5d" - integrity sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ== - dependencies: - inherits "^2.0.4" - source-map "^0.6.1" - source-map-resolve "^0.6.0" - cssdb@^6.6.3: version "6.6.3" resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-6.6.3.tgz#1f331a2fab30c18d9f087301e6122a878bb1e505" @@ -4056,7 +3885,7 @@ debug@2.6.9, debug@^2.6.0, debug@^2.6.9: dependencies: ms "2.0.0" -debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4: +debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.2, debug@^4.3.4: version "4.3.4" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== @@ -4075,11 +3904,6 @@ decimal.js@^10.2.1: resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.3.1.tgz#d8c3a444a9c6774ba60ca6ad7261c3a94fd5e783" integrity sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ== -decode-uri-component@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" - integrity sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og== - dedent@^0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" @@ -4195,21 +4019,11 @@ didyoumean@^1.2.2: resolved "https://registry.yarnpkg.com/didyoumean/-/didyoumean-1.2.2.tgz#989346ffe9e839b4555ecf5666edea0d3e8ad037" integrity sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw== -diff-sequences@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-26.6.2.tgz#48ba99157de1923412eed41db6b6d4aa9ca7c0b1" - integrity sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q== - diff-sequences@^27.5.1: version "27.5.1" resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-27.5.1.tgz#eaecc0d327fd68c8d9672a1e64ab8dccb2ef5327" integrity sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ== -diff-sequences@^28.1.1: - version "28.1.1" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-28.1.1.tgz#9989dc731266dc2903457a70e996f3a041913ac6" - integrity sha512-FU0iFaH/E23a+a718l8Qa/19bF9p06kgE0KipMOMadwa3SjnaElKzPaUC0vnibs6/B/9ni97s61mcejk8W1fQw== - dir-glob@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" @@ -4248,11 +4062,6 @@ doctrine@^3.0.0: dependencies: esutils "^2.0.2" -dom-accessibility-api@^0.5.6: - version "0.5.14" - resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.5.14.tgz#56082f71b1dc7aac69d83c4285eef39c15d93f56" - integrity sha512-NMt+m9zFMPZe0JcY9gN224Qvk6qLIdqex29clBvc/y75ZBX9YA9wNK3frsYvu2DI1xcCIwxwnX+TlsJ2DSOADg== - dom-converter@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768" @@ -4551,19 +4360,12 @@ escodegen@^2.0.0: optionalDependencies: source-map "~0.6.1" -eslint-config-prettier@^8.5.0: - version "8.5.0" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz#5a81680ec934beca02c7b1a61cf8ca34b66feab1" - integrity sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q== - -eslint-config-react-app@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/eslint-config-react-app/-/eslint-config-react-app-6.0.0.tgz#ccff9fc8e36b322902844cbd79197982be355a0e" - integrity sha512-bpoAAC+YRfzq0dsTk+6v9aHm/uqnDwayNAXleMypGl6CpxI9oXXscVHo4fk3eJPIn+rsbtNetB4r/ZIidFIE8A== - dependencies: - confusing-browser-globals "^1.0.10" +eslint-config-prettier@^9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-9.0.0.tgz#eb25485946dd0c66cd216a46232dc05451518d1f" + integrity sha512-IcJsTkJae2S35pRsRAwoCE+925rJJStOdkKnLVgtE+tEpqU0EVVM7OqrwxqgptKdX29NUwC82I5pXsGFIgSevw== -eslint-config-react-app@^7.0.1: +eslint-config-react-app@^7.0.0, eslint-config-react-app@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/eslint-config-react-app/-/eslint-config-react-app-7.0.1.tgz#73ba3929978001c5c86274c017ea57eb5fa644b4" integrity sha512-K6rNzvkIeHaTd8m/QEh1Zko0KI7BACWkkneSs6s9cKZC/J27X3eZR6Upt1jkmZ/4FK+XUOPPxMEN7+lbUXfSlA== @@ -4607,7 +4409,7 @@ eslint-plugin-flowtype@^8.0.3: lodash "^4.17.21" string-natural-compare "^3.0.1" -eslint-plugin-import@^2.23.4, eslint-plugin-import@^2.25.3: +eslint-plugin-import@^2.25.3: version "2.26.0" resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz#f812dc47be4f2b72b478a021605a59fc6fe8b88b" integrity sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA== @@ -4626,13 +4428,6 @@ eslint-plugin-import@^2.23.4, eslint-plugin-import@^2.25.3: resolve "^1.22.0" tsconfig-paths "^3.14.1" -eslint-plugin-jest@^24.4.0: - version "24.7.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-24.7.0.tgz#206ac0833841e59e375170b15f8d0955219c4889" - integrity sha512-wUxdF2bAZiYSKBclsUMrYHH6WxiBreNjyDxbRv345TIvPeoCEgPNEn3Sa+ZrSqsf1Dl9SqqSREXMHExlMMu1DA== - dependencies: - "@typescript-eslint/experimental-utils" "^4.0.1" - eslint-plugin-jest@^25.3.0: version "25.7.0" resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-25.7.0.tgz#ff4ac97520b53a96187bad9c9814e7d00de09a6a" @@ -5114,11 +4909,16 @@ flatted@^3.1.0: resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.6.tgz#022e9218c637f9f3fc9c35ab9c9193f05add60b2" integrity sha512-0sQoMh9s0BYsm+12Huy/rkKxVu4R1+r96YX5cG44rHV0pQ6iC3Q+mkoMFaGWObMFYQxCVT+ssG1ksneA2MI9KQ== -follow-redirects@^1.0.0, follow-redirects@^1.14.0: +follow-redirects@^1.0.0: version "1.15.1" resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.1.tgz#0ca6a452306c9b276e4d3127483e29575e207ad5" integrity sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA== +follow-redirects@^1.15.0: + version "1.15.2" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.2.tgz#b460864144ba63f2681096f274c4e57026da2c13" + integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA== + fork-ts-checker-webpack-plugin@^6.5.0: version "6.5.2" resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.2.tgz#4f67183f2f9eb8ba7df7177ce3cf3e75cdafb340" @@ -5147,6 +4947,15 @@ form-data@^3.0.0: combined-stream "^1.0.8" mime-types "^2.1.12" +form-data@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" + integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.8" + mime-types "^2.1.12" + forwarded@0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" @@ -5322,7 +5131,7 @@ globals@^13.15.0: dependencies: type-fest "^0.20.2" -globby@^11.0.3, globby@^11.0.4, globby@^11.1.0: +globby@^11.0.4, globby@^11.1.0: version "11.1.0" resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== @@ -5672,7 +5481,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3: +inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.3: version "2.0.4" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== @@ -6050,16 +5859,6 @@ jest-config@^27.5.1: slash "^3.0.0" strip-json-comments "^3.1.1" -jest-diff@^26.0.0: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-26.6.2.tgz#1aa7468b52c3a68d7d5c5fdcdfcd5e49bd164394" - integrity sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA== - dependencies: - chalk "^4.0.0" - diff-sequences "^26.6.2" - jest-get-type "^26.3.0" - pretty-format "^26.6.2" - jest-diff@^27.5.1: version "27.5.1" resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-27.5.1.tgz#a07f5011ac9e6643cf8a95a462b7b1ecf6680def" @@ -6070,16 +5869,6 @@ jest-diff@^27.5.1: jest-get-type "^27.5.1" pretty-format "^27.5.1" -jest-diff@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-28.1.3.tgz#948a192d86f4e7a64c5264ad4da4877133d8792f" - integrity sha512-8RqP1B/OXzjjTWkqMX67iqgwBVJRgCyKD3L9nq+6ZqJMdvjE8RgHktqZ6jNrkdMT+dJuYNI3rhQpxaz7drJHfw== - dependencies: - chalk "^4.0.0" - diff-sequences "^28.1.1" - jest-get-type "^28.0.2" - pretty-format "^28.1.3" - jest-docblock@^27.5.1: version "27.5.1" resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-27.5.1.tgz#14092f364a42c6108d42c33c8cf30e058e25f6c0" @@ -6123,21 +5912,11 @@ jest-environment-node@^27.5.1: jest-mock "^27.5.1" jest-util "^27.5.1" -jest-get-type@^26.3.0: - version "26.3.0" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-26.3.0.tgz#e97dc3c3f53c2b406ca7afaed4493b1d099199e0" - integrity sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig== - jest-get-type@^27.5.1: version "27.5.1" resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-27.5.1.tgz#3cd613c507b0f7ace013df407a1c1cd578bcb4f1" integrity sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw== -jest-get-type@^28.0.2: - version "28.0.2" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-28.0.2.tgz#34622e628e4fdcd793d46db8a242227901fcf203" - integrity sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA== - jest-haste-map@^27.5.1: version "27.5.1" resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-27.5.1.tgz#9fd8bd7e7b4fa502d9c6164c5640512b4e811e7f" @@ -6199,16 +5978,6 @@ jest-matcher-utils@^27.5.1: jest-get-type "^27.5.1" pretty-format "^27.5.1" -jest-matcher-utils@^28.0.0: - version "28.1.3" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-28.1.3.tgz#5a77f1c129dd5ba3b4d7fc20728806c78893146e" - integrity sha512-kQeJ7qHemKfbzKoGjHHrRKH6atgxMk8Enkk2iPQ3XwO6oE/KYD8lMYOziCkeSB9G4adPM4nR1DE8Tf5JeWH6Bw== - dependencies: - chalk "^4.0.0" - jest-diff "^28.1.3" - jest-get-type "^28.0.2" - pretty-format "^28.1.3" - jest-message-util@^27.5.1: version "27.5.1" resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-27.5.1.tgz#bdda72806da10d9ed6425e12afff38cd1458b6cf" @@ -6821,7 +6590,7 @@ lodash.uniq@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" integrity sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ== -lodash@^4.17.15, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.7.0: +lodash@^4.17.20, lodash@^4.17.21, lodash@^4.7.0: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -6865,11 +6634,6 @@ luxon@^3.0.1: resolved "https://registry.yarnpkg.com/luxon/-/luxon-3.0.1.tgz#6901111d10ad06fd267ad4e4128a84bef8a77299" integrity sha512-hF3kv0e5gwHQZKz4wtm4c+inDtyc7elkanAsBq+fundaCdUBNJB1dHEGUZIM6SfSBUlbVFduPwEtNjFK8wLtcw== -lz-string@^1.4.4: - version "1.4.4" - resolved "https://registry.yarnpkg.com/lz-string/-/lz-string-1.4.4.tgz#c0d8eaf36059f705796e1e344811cf4c498d3a26" - integrity sha512-0ckx7ZHRPqb0oUm8zNr+90mtf9DQB60H1wMCjBtfi62Kl3a7JbHob6gA2bC+xRvZoOL+1hzUK8jeuEIQE8svEQ== - magic-string@^0.25.0, magic-string@^0.25.7: version "0.25.9" resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.9.tgz#de7f9faf91ef8a1c91d02c2e5314c8277dbcdd1c" @@ -6968,11 +6732,6 @@ mimic-fn@^4.0.0: resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-4.0.0.tgz#60a90550d5cb0b239cca65d893b1a53b29871ecc" integrity sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw== -min-indent@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" - integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== - mini-create-react-context@^0.4.0: version "0.4.1" resolved "https://registry.yarnpkg.com/mini-create-react-context/-/mini-create-react-context-0.4.1.tgz#072171561bfdc922da08a60c2197a497cc2d1d5e" @@ -8127,16 +7886,6 @@ pretty-format@^23.0.1: ansi-regex "^3.0.0" ansi-styles "^3.2.0" -pretty-format@^26.0.0, pretty-format@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.6.2.tgz#e35c2705f14cb7fe2fe94fa078345b444120fc93" - integrity sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg== - dependencies: - "@jest/types" "^26.6.2" - ansi-regex "^5.0.0" - ansi-styles "^4.0.0" - react-is "^17.0.1" - pretty-format@^27.5.1: version "27.5.1" resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.5.1.tgz#2181879fdea51a7a5851fb39d920faa63f01d88e" @@ -8146,7 +7895,7 @@ pretty-format@^27.5.1: ansi-styles "^5.0.0" react-is "^17.0.1" -pretty-format@^28.0.0, pretty-format@^28.1.3: +pretty-format@^28.1.3: version "28.1.3" resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-28.1.3.tgz#c9fba8cedf99ce50963a11b27d982a9ae90970d5" integrity sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q== @@ -8200,6 +7949,11 @@ proxy-addr@~2.0.7: forwarded "0.2.0" ipaddr.js "1.9.1" +proxy-from-env@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" + integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== + psl@^1.1.33: version "1.9.0" resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7" @@ -8500,14 +8254,6 @@ recursive-readdir@^2.2.2: dependencies: minimatch "3.0.4" -redent@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/redent/-/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f" - integrity sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg== - dependencies: - indent-string "^4.0.0" - strip-indent "^3.0.0" - regenerate-unicode-properties@^10.0.1: version "10.0.1" resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz#7f442732aa7934a3740c779bb9b3340dccc1fb56" @@ -8983,14 +8729,6 @@ source-map-loader@^3.0.0: iconv-lite "^0.6.3" source-map-js "^1.0.1" -source-map-resolve@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.6.0.tgz#3d9df87e236b53f16d01e58150fc7711138e5ed2" - integrity sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w== - dependencies: - atob "^2.1.2" - decode-uri-component "^0.2.0" - source-map-support@^0.5.6, source-map-support@~0.5.20: version "0.5.21" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" @@ -9207,13 +8945,6 @@ strip-final-newline@^3.0.0: resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-3.0.0.tgz#52894c313fbff318835280aed60ff71ebf12b8fd" integrity sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw== -strip-indent@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" - integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== - dependencies: - min-indent "^1.0.0" - strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006"