From bc2e593d395ce3b3e76a9b0ae8054b53bc7d0372 Mon Sep 17 00:00:00 2001 From: ismay <7355199+ismay@users.noreply.github.com> Date: Mon, 13 Jun 2022 16:03:17 +0200 Subject: [PATCH] ci: replace semantic commit checks with new workflow (#791) * ci: replace semantic commit checks with new workflow * style: fix prettier errors * ci: fix lint script * ci: fix d2-style script * style: fix eslint errors --- .github/semantic.yml | 4 - .github/workflows/dhis2-verify-commits.yml | 32 + .huskyrc.js | 2 +- cypress/integration/analytics-tables/index.js | 4 +- cypress/integration/data-integrity/index.js | 4 +- cypress/integration/data-statistics/index.js | 2 +- cypress/integration/lock-exceptions/index.js | 4 +- .../user-adds-lock-exception.js | 2 +- .../user-deletes-a-lock-exception.js | 2 +- cypress/integration/maintenance/index.js | 6 +- .../min-max-value-generation/index.js | 4 +- .../user-deletes-min-max-values.js | 2 +- .../user-generates-min-max-values.js | 2 +- cypress/integration/resource-tables/index.js | 4 +- cypress/support/index.js | 2 +- package.json | 10 +- src/App.js | 7 +- src/components/DocsLink/DocsLink.js | 4 +- .../FormattedNumber/FormattedNumber.js | 2 +- .../LockExceptionsTable.js | 4 +- .../NotificationsTable/NotificationsTable.js | 4 +- src/components/PageHeader/PageHeader.js | 2 +- .../RemoveLockExceptionModal.js | 4 +- src/components/Routes/Routes.js | 10 +- src/components/Sidebar/Sidebar.js | 6 +- src/get-active-task-id-from-summary.js | 2 +- src/get-updated-notifications.js | 2 +- src/hooks/use-poll.js | 13 +- .../add-lock-exception/AddLockException.js | 10 +- .../AddLockExceptionForm.js | 8 +- .../OrganisationUnitSelection.js | 14 +- .../OrganisationUnitSelection/SelectAll.js | 2 +- .../SelectByGroup.js | 4 +- .../SelectByLevel.js | 6 +- .../use-org-unit-cache.test.js | 2 +- .../AddLockExceptionForm/PeriodPicker.js | 20 +- src/pages/analytics/Analytics.js | 22 +- src/pages/analytics/analytics.conf.js | 4 +- src/pages/analytics/use-analytics.js | 28 +- src/pages/analytics/use-checkboxes.js | 6 +- .../BatchDeleteLockExceptions.js | 10 +- src/pages/data-integrity/DataIntegrity.js | 16 +- src/pages/data-integrity/Issues/IssueCard.js | 8 +- src/pages/data-integrity/Issues/Issues.js | 8 +- .../data-integrity/use-data-integrity.js | 6 +- src/pages/data-statistics/DataStatistics.js | 12 +- .../data-statistics/DataStatisticsTable.js | 4 +- src/pages/data-statistics/parse-tables.js | 16 +- src/pages/home/Home.js | 6 +- src/pages/lock-exceptions/LockExceptions.js | 18 +- src/pages/maintenance/Checkboxes.js | 2 +- src/pages/maintenance/Maintenance.js | 14 +- src/pages/maintenance/use-checkboxes.js | 4 +- .../MinMaxValueGeneration.js | 23 +- src/pages/resource-tables/ResourceTables.js | 18 +- .../resource-tables/use-resource-tables.js | 12 +- src/pages/sections.conf.js | 20 +- src/parse-lock-exceptions.js | 2 +- yarn.lock | 870 +++++++++++++----- 59 files changed, 865 insertions(+), 476 deletions(-) delete mode 100644 .github/semantic.yml create mode 100644 .github/workflows/dhis2-verify-commits.yml diff --git a/.github/semantic.yml b/.github/semantic.yml deleted file mode 100644 index 16651452..00000000 --- a/.github/semantic.yml +++ /dev/null @@ -1,4 +0,0 @@ -titleOnly: false -commitsOnly: false -titleAndCommits: true -allowMergeCommits: true diff --git a/.github/workflows/dhis2-verify-commits.yml b/.github/workflows/dhis2-verify-commits.yml new file mode 100644 index 00000000..ae7831b5 --- /dev/null +++ b/.github/workflows/dhis2-verify-commits.yml @@ -0,0 +1,32 @@ +name: 'dhis2: verify (commits)' + +on: + pull_request: + types: ['opened', 'edited', 'reopened', 'synchronize'] + +jobs: + lint-pr-title: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: c-hive/gha-yarn-cache@v1 + - run: yarn install --frozen-lockfile + - id: commitlint + run: echo ::set-output name=config_path::$(node -e "process.stdout.write(require('@dhis2/cli-style').config.commitlint)") + - uses: JulienKode/pull-request-name-linter-action@v0.5.0 + with: + configuration-path: ${{ steps.commitlint.outputs.config_path }} + + lint-commits: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + - uses: c-hive/gha-yarn-cache@v1 + - run: yarn install --frozen-lockfile + - id: commitlint + run: echo ::set-output name=config_path::$(node -e "process.stdout.write(require('@dhis2/cli-style').config.commitlint)") + - uses: wagoid/commitlint-github-action@v4 + with: + configFile: ${{ steps.commitlint.outputs.config_path }} diff --git a/.huskyrc.js b/.huskyrc.js index 1406b098..07192bfd 100644 --- a/.huskyrc.js +++ b/.huskyrc.js @@ -1,7 +1,7 @@ const { config } = require('@dhis2/cli-style') const husky = require(config.husky) -const tasks = arr => arr.join(' && ') +const tasks = (arr) => arr.join(' && ') module.exports = { hooks: { diff --git a/cypress/integration/analytics-tables/index.js b/cypress/integration/analytics-tables/index.js index f4cd38de..f4c53671 100644 --- a/cypress/integration/analytics-tables/index.js +++ b/cypress/integration/analytics-tables/index.js @@ -7,7 +7,7 @@ Before(() => { cy.intercept( { pathname: /resourceTables\/analytics$/, method: 'POST' }, - req => { + (req) => { req.reply(200, { response: { id: JOB_ID, @@ -18,7 +18,7 @@ Before(() => { cy.intercept( { pathname: /system\/tasks\/ANALYTICS_TABLE/, method: 'GET' }, - req => { + (req) => { // Handle request for in-progress tasks if (req.url.endsWith('ANALYTICS_TABLE')) { req.reply(200, null) diff --git a/cypress/integration/data-integrity/index.js b/cypress/integration/data-integrity/index.js index ded78197..8241944e 100644 --- a/cypress/integration/data-integrity/index.js +++ b/cypress/integration/data-integrity/index.js @@ -5,7 +5,7 @@ const JOB_ID = 'JOB_ID' Before(() => { cy.clock() - cy.intercept({ pathname: /dataIntegrity$/, method: 'POST' }, req => { + cy.intercept({ pathname: /dataIntegrity$/, method: 'POST' }, (req) => { req.reply(200, { response: { id: JOB_ID, @@ -15,7 +15,7 @@ Before(() => { cy.intercept( { pathname: /system\/taskSummaries\/DATA_INTEGRITY/, method: 'GET' }, - req => { + (req) => { expect(req.url.endsWith(JOB_ID)).to.be.true req.reply(200, { dataElementsWithoutDataSet: [ diff --git a/cypress/integration/data-statistics/index.js b/cypress/integration/data-statistics/index.js index b077488e..05685799 100644 --- a/cypress/integration/data-statistics/index.js +++ b/cypress/integration/data-statistics/index.js @@ -1,7 +1,7 @@ import { Before, Given, Then } from 'cypress-cucumber-preprocessor/steps' Before(() => { - cy.intercept({ pathname: /dataSummary$/, method: 'GET' }, req => { + cy.intercept({ pathname: /dataSummary$/, method: 'GET' }, (req) => { req.reply(200, { objectCounts: {}, activeUsers: {}, diff --git a/cypress/integration/lock-exceptions/index.js b/cypress/integration/lock-exceptions/index.js index f43f0672..06ad28bc 100644 --- a/cypress/integration/lock-exceptions/index.js +++ b/cypress/integration/lock-exceptions/index.js @@ -1,6 +1,6 @@ import { Given } from 'cypress-cucumber-preprocessor/steps' -import './user-views-lock-exceptions' -import './user-adds-lock-exception' +import './user-views-lock-exceptions.js' +import './user-adds-lock-exception.js' Given('the user navigated to the lock exceptions page', () => { cy.visit('/#/lock-exceptions') diff --git a/cypress/integration/lock-exceptions/user-adds-lock-exception.js b/cypress/integration/lock-exceptions/user-adds-lock-exception.js index 207e604f..7d42bc29 100644 --- a/cypress/integration/lock-exceptions/user-adds-lock-exception.js +++ b/cypress/integration/lock-exceptions/user-adds-lock-exception.js @@ -23,7 +23,7 @@ Before(() => { pathname: /lockExceptions$/, method: 'POST', }, - req => { + (req) => { req.reply({ statusCode: 200, }) diff --git a/cypress/integration/lock-exceptions/user-deletes-a-lock-exception.js b/cypress/integration/lock-exceptions/user-deletes-a-lock-exception.js index ccd4ca70..0bc70a92 100644 --- a/cypress/integration/lock-exceptions/user-deletes-a-lock-exception.js +++ b/cypress/integration/lock-exceptions/user-deletes-a-lock-exception.js @@ -6,7 +6,7 @@ Before(() => { pathname: /lockExceptions$/, method: 'DELETE', }, - req => { + (req) => { req.reply({ statusCode: 200, }) diff --git a/cypress/integration/maintenance/index.js b/cypress/integration/maintenance/index.js index 1b08a8d0..025ea4d0 100644 --- a/cypress/integration/maintenance/index.js +++ b/cypress/integration/maintenance/index.js @@ -1,7 +1,7 @@ import { Before, Given, When, Then } from 'cypress-cucumber-preprocessor/steps' Before(() => { - cy.intercept({ pathname: /maintenance$/, method: 'POST' }, req => { + cy.intercept({ pathname: /maintenance$/, method: 'POST' }, (req) => { const url = new URL(req.url) const expectFieldValue = (field, value) => { expect(url.searchParams.has(field)) @@ -26,8 +26,8 @@ Before(() => { 'cacheClear', 'appReload', ] - checkedFields.forEach(field => expectFieldValue(field, 'true')) - uncheckedFields.forEach(field => expectFieldValue(field, null)) + checkedFields.forEach((field) => expectFieldValue(field, 'true')) + uncheckedFields.forEach((field) => expectFieldValue(field, null)) req.reply({ statusCode: 200, diff --git a/cypress/integration/min-max-value-generation/index.js b/cypress/integration/min-max-value-generation/index.js index 1c773b94..9eafea9e 100644 --- a/cypress/integration/min-max-value-generation/index.js +++ b/cypress/integration/min-max-value-generation/index.js @@ -1,6 +1,6 @@ import { Given, When } from 'cypress-cucumber-preprocessor/steps' -import './user-generates-min-max-values' -import './user-deletes-min-max-values' +import './user-generates-min-max-values.js' +import './user-deletes-min-max-values.js' Given('the user navigated to the min-max values page', () => { cy.visit('/#/min-max-value-generation') diff --git a/cypress/integration/min-max-value-generation/user-deletes-min-max-values.js b/cypress/integration/min-max-value-generation/user-deletes-min-max-values.js index d3fc1cba..a38e0158 100644 --- a/cypress/integration/min-max-value-generation/user-deletes-min-max-values.js +++ b/cypress/integration/min-max-value-generation/user-deletes-min-max-values.js @@ -6,7 +6,7 @@ Before(() => { pathname: /minMaxValues/, method: 'DELETE', }, - req => { + (req) => { req.reply({ statusCode: 200, }) diff --git a/cypress/integration/min-max-value-generation/user-generates-min-max-values.js b/cypress/integration/min-max-value-generation/user-generates-min-max-values.js index d97af84b..bbf39616 100644 --- a/cypress/integration/min-max-value-generation/user-generates-min-max-values.js +++ b/cypress/integration/min-max-value-generation/user-generates-min-max-values.js @@ -6,7 +6,7 @@ Before(() => { pathname: /minMaxValues$/, method: 'POST', }, - req => { + (req) => { req.reply({ statusCode: 200, }) diff --git a/cypress/integration/resource-tables/index.js b/cypress/integration/resource-tables/index.js index a0ab2742..686c6652 100644 --- a/cypress/integration/resource-tables/index.js +++ b/cypress/integration/resource-tables/index.js @@ -5,7 +5,7 @@ const JOB_ID = 'JOB_ID' Before(() => { cy.clock() - cy.intercept({ pathname: /resourceTables$/, method: 'POST' }, req => { + cy.intercept({ pathname: /resourceTables$/, method: 'POST' }, (req) => { req.reply(200, { response: { id: JOB_ID, @@ -15,7 +15,7 @@ Before(() => { cy.intercept( { pathname: /system\/tasks\/RESOURCE_TABLE/, method: 'GET' }, - req => { + (req) => { // Handle request for in-progress tasks if (req.url.endsWith('RESOURCE_TABLE')) { req.reply(200, null) diff --git a/cypress/support/index.js b/cypress/support/index.js index 62beaefc..78ad6599 100644 --- a/cypress/support/index.js +++ b/cypress/support/index.js @@ -1,4 +1,4 @@ -import '@testing-library/cypress/add-commands' +import '@testing-library/cypress/add-commands.js' import { enableAutoLogin, enableNetworkShim } from '@dhis2/cypress-commands' enableAutoLogin() diff --git a/package.json b/package.json index 6abd4326..0b778659 100644 --- a/package.json +++ b/package.json @@ -11,18 +11,18 @@ "cy:start": "BROWSER=none yarn start", "cy:open": "d2-utils-cypress open --appStart 'yarn cy:start'", "cy:run": "d2-utils-cypress run --appStart 'yarn cy:start'", - "lint:js": "d2-style js check", - "lint:text": "d2-style text check", + "lint:js": "d2-style check js", + "lint:text": "d2-style check text", "lint:staged": "yarn lint:js --staged && yarn lint:text --staged", "lint": "yarn lint:js && yarn lint:text", - "format:js": "d2-style js apply", - "format:text": "d2-style text apply", + "format:js": "d2-style apply js", + "format:text": "d2-style apply text", "format:staged": "yarn format:js --staged && yarn format:text --staged", "format": "yarn format:js && yarn format:text" }, "devDependencies": { "@dhis2/cli-app-scripts": "^8.3.3", - "@dhis2/cli-style": "^7.3.0", + "@dhis2/cli-style": "^10.4.1", "@dhis2/cli-utils-cypress": "^7.0.1", "@dhis2/cypress-commands": "^7.0.1", "@dhis2/cypress-plugins": "^7.0.1", diff --git a/src/App.js b/src/App.js index 0cd857b0..27c978dc 100644 --- a/src/App.js +++ b/src/App.js @@ -1,11 +1,10 @@ -import './locales' - +import './locales/index.js' import { CssVariables } from '@dhis2/ui' import React from 'react' import { HashRouter } from 'react-router-dom' import styles from './App.module.css' -import Routes from './components/Routes/Routes' -import Sidebar from './components/Sidebar/Sidebar' +import Routes from './components/Routes/Routes.js' +import Sidebar from './components/Sidebar/Sidebar.js' const App = () => ( diff --git a/src/components/DocsLink/DocsLink.js b/src/components/DocsLink/DocsLink.js index 8ac64d54..7f13628b 100644 --- a/src/components/DocsLink/DocsLink.js +++ b/src/components/DocsLink/DocsLink.js @@ -2,8 +2,8 @@ import { useConfig } from '@dhis2/app-runtime' import { colors, Tooltip, IconQuestion24 } from '@dhis2/ui' import PropTypes from 'prop-types' import React from 'react' -import i18n from '../../locales' -import { getDocsKeyForSection } from '../../pages/sections.conf' +import i18n from '../../locales/index.js' +import { getDocsKeyForSection } from '../../pages/sections.conf.js' import styles from './DocsLink.module.css' const getDocsVersion = ({ major, minor, tag }) => { diff --git a/src/components/FormattedNumber/FormattedNumber.js b/src/components/FormattedNumber/FormattedNumber.js index 4637e04b..228c48f8 100644 --- a/src/components/FormattedNumber/FormattedNumber.js +++ b/src/components/FormattedNumber/FormattedNumber.js @@ -2,7 +2,7 @@ import i18n from '@dhis2/d2-i18n' import PropTypes from 'prop-types' import React from 'react' -const FormattedNumber = props => ( +const FormattedNumber = (props) => ( {new Intl.NumberFormat(i18n.language).format(props.value)} ) diff --git a/src/components/LockExceptionsTable/LockExceptionsTable.js b/src/components/LockExceptionsTable/LockExceptionsTable.js index f6b32987..03db06b6 100644 --- a/src/components/LockExceptionsTable/LockExceptionsTable.js +++ b/src/components/LockExceptionsTable/LockExceptionsTable.js @@ -28,7 +28,7 @@ const LockExceptionsTable = ({ - {columns.map(column => ( + {columns.map((column) => ( {columnLabels[column]} @@ -41,7 +41,7 @@ const LockExceptionsTable = ({ {rows.map((row, index) => ( - {columns.map(column => ( + {columns.map((column) => ( {row[column]} ))} diff --git a/src/components/NotificationsTable/NotificationsTable.js b/src/components/NotificationsTable/NotificationsTable.js index 4a55f774..6ef33427 100644 --- a/src/components/NotificationsTable/NotificationsTable.js +++ b/src/components/NotificationsTable/NotificationsTable.js @@ -12,7 +12,7 @@ import React from 'react' import styles from './NotificationsTable.module.css' /* FIXME think of using an third party library for that, converting for a standard time format defined by design team */ -const formatDateFromServer = dateFromServer => { +const formatDateFromServer = (dateFromServer) => { if (dateFromServer) { return `${dateFromServer.slice(0, 10)} ${dateFromServer.slice(11, 19)}` } @@ -20,7 +20,7 @@ const formatDateFromServer = dateFromServer => { return '' } -const renderNotificationIcon = notification => { +const renderNotificationIcon = (notification) => { if (notification.completed) { if (notification.level === 'ERROR') { return diff --git a/src/components/PageHeader/PageHeader.js b/src/components/PageHeader/PageHeader.js index 78362bdf..cc6791bb 100644 --- a/src/components/PageHeader/PageHeader.js +++ b/src/components/PageHeader/PageHeader.js @@ -1,6 +1,6 @@ import PropTypes from 'prop-types' import React from 'react' -import DocsLink from '../DocsLink/DocsLink' +import DocsLink from '../DocsLink/DocsLink.js' import styles from './PageHeader.module.css' const PageHeader = ({ title, sectionKey }) => ( diff --git a/src/components/RemoveLockExceptionModal/RemoveLockExceptionModal.js b/src/components/RemoveLockExceptionModal/RemoveLockExceptionModal.js index 8c7ecd50..116d9ab1 100644 --- a/src/components/RemoveLockExceptionModal/RemoveLockExceptionModal.js +++ b/src/components/RemoveLockExceptionModal/RemoveLockExceptionModal.js @@ -15,7 +15,7 @@ import React from 'react' const mutation = { resource: 'lockExceptions', type: 'delete', - params: params => params, + params: (params) => params, } const RemoveLockExceptionModal = ({ lockException, onRemove, onClose }) => { @@ -36,7 +36,7 @@ const RemoveLockExceptionModal = ({ lockException, onRemove, onClose }) => { onRemove() onClose() }, - onError: error => errorAlert.show({ error }), + onError: (error) => errorAlert.show({ error }), }) const handleRemoveLockException = () => { diff --git a/src/components/Routes/Routes.js b/src/components/Routes/Routes.js index 00f96852..5e520bdd 100644 --- a/src/components/Routes/Routes.js +++ b/src/components/Routes/Routes.js @@ -1,19 +1,19 @@ import React from 'react' import { Switch, Route, Redirect } from 'react-router-dom' import AddLockException from '../../pages/add-lock-exception/AddLockException.js' -import BatchDeleteLockExceptions from '../../pages/batch-delete-lock-exceptions/BatchDeleteLockExceptions' -import Home from '../../pages/home/Home' -import { sections } from '../../pages/sections.conf' +import BatchDeleteLockExceptions from '../../pages/batch-delete-lock-exceptions/BatchDeleteLockExceptions.js' +import Home from '../../pages/home/Home.js' +import { sections } from '../../pages/sections.conf.js' const Routes = () => ( - {sections.map(section => ( + {sections.map((section) => ( ( + component={(props) => ( )} /> diff --git a/src/components/Sidebar/Sidebar.js b/src/components/Sidebar/Sidebar.js index 179a2ce5..7312a520 100644 --- a/src/components/Sidebar/Sidebar.js +++ b/src/components/Sidebar/Sidebar.js @@ -1,11 +1,11 @@ import { Menu } from '@dhis2/ui' import React from 'react' -import { sections } from '../../pages/sections.conf' -import SidebarItem from './SidebarItem' +import { sections } from '../../pages/sections.conf.js' +import SidebarItem from './SidebarItem.js' const Sidebar = () => ( - {sections.map(section => ( + {sections.map((section) => ( { +export const getActiveTaskIdFromSummary = (taskSummaryResponse) => { const { taskId } = Object.entries(taskSummaryResponse).reduce( (currLatestTask, [taskId, taskNotifications]) => { // First notification is last array item, so its timestamp represents the task start diff --git a/src/get-updated-notifications.js b/src/get-updated-notifications.js index e6b6347f..37970266 100644 --- a/src/get-updated-notifications.js +++ b/src/get-updated-notifications.js @@ -1,4 +1,4 @@ -export const getUpdatedNotifications = taskNotifications => { +export const getUpdatedNotifications = (taskNotifications) => { const lastIndex = taskNotifications.length - 1 // Reverse to sort oldest-newest diff --git a/src/hooks/use-poll.js b/src/hooks/use-poll.js index 21e9590d..8ccfeabd 100644 --- a/src/hooks/use-poll.js +++ b/src/hooks/use-poll.js @@ -1,7 +1,7 @@ import { useDataQuery } from '@dhis2/app-runtime' import { useState, useRef, useEffect } from 'react' -const useConst = factory => { +const useConst = (factory) => { const ref = useRef(null) if (ref.current === null) { ref.current = factory() @@ -39,17 +39,18 @@ export const usePoll = ({ query, interval, checkDone }) => { })) const { refetch, error } = useDataQuery(wrappedQuery, { lazy: true, - onComplete: data => { + onComplete: (data) => { setData(data) if (checkDone(data.poll)) { cancel() } }, }) - const { start, cancel, started: polling } = useLazyInterval( - refetch, - interval - ) + const { + start, + cancel, + started: polling, + } = useLazyInterval(refetch, interval) useEffect(() => { return cancel diff --git a/src/pages/add-lock-exception/AddLockException.js b/src/pages/add-lock-exception/AddLockException.js index 2f83f604..9dbfa3ae 100644 --- a/src/pages/add-lock-exception/AddLockException.js +++ b/src/pages/add-lock-exception/AddLockException.js @@ -9,9 +9,9 @@ import { } from '@dhis2/ui' import React, { useState } from 'react' import { useHistory } from 'react-router-dom' -import LockExceptionsSubpageHeader from '../../components/LockExceptionsSubpageHeader/LockExceptionsSubpageHeader' +import LockExceptionsSubpageHeader from '../../components/LockExceptionsSubpageHeader/LockExceptionsSubpageHeader.js' import styles from './AddLockException.module.css' -import AddLockExceptionForm from './AddLockExceptionForm/AddLockExceptionForm' +import AddLockExceptionForm from './AddLockExceptionForm/AddLockExceptionForm.js' const query = { levels: { @@ -41,7 +41,7 @@ const query = { const mutation = { resource: 'lockExceptions', type: 'create', - params: params => params, + params: (params) => params, } const AddLockException = () => { @@ -63,7 +63,7 @@ const AddLockException = () => { successAlert.show() history.push('/lock-exceptions') }, - onError: error => { + onError: (error) => { errorAlert.show({ error }) }, }) @@ -72,7 +72,7 @@ const AddLockException = () => { const [selectedPeriodId, setSelectedPeriodId] = useState(null) const handleAdd = () => { - const orgUnitIds = selectedOrgUnits.map(orgUnitPath => { + const orgUnitIds = selectedOrgUnits.map((orgUnitPath) => { const splitOrgUnitPath = orgUnitPath.split('/') return splitOrgUnitPath[splitOrgUnitPath.length - 1] }) diff --git a/src/pages/add-lock-exception/AddLockExceptionForm/AddLockExceptionForm.js b/src/pages/add-lock-exception/AddLockExceptionForm/AddLockExceptionForm.js index cd9cfaf0..bbbedf87 100644 --- a/src/pages/add-lock-exception/AddLockExceptionForm/AddLockExceptionForm.js +++ b/src/pages/add-lock-exception/AddLockExceptionForm/AddLockExceptionForm.js @@ -3,8 +3,8 @@ import { SingleSelectField, SingleSelectOption } from '@dhis2/ui' import PropTypes from 'prop-types' import React from 'react' import styles from './AddLockExceptionForm.module.css' -import OrganisationUnitSelection from './OrganisationUnitSelection/OrganisationUnitSelection' -import PeriodPicker from './PeriodPicker' +import OrganisationUnitSelection from './OrganisationUnitSelection/OrganisationUnitSelection.js' +import PeriodPicker from './PeriodPicker.js' const AddLockExceptionForm = ({ dataSets, @@ -23,7 +23,7 @@ const AddLockExceptionForm = ({ onSelectedDataSetIdChange(dataSetId) onSelectedOrgUnitsChange([]) } - const selectedDataSet = dataSets.find(ds => ds.id === selectedDataSetId) + const selectedDataSet = dataSets.find((ds) => ds.id === selectedDataSetId) return ( <> @@ -37,7 +37,7 @@ const AddLockExceptionForm = ({ onChange={handleDataSetChange} dataTest="add-lock-exception-select-data-set" > - {dataSets.map(ds => ( + {dataSets.map((ds) => ( [...new Set(arr1.concat(arr2))] const difference = (arr1, arr2) => { const set = new Set(arr1) - arr2.forEach(item => { + arr2.forEach((item) => { set.delete(item) }) return [...set] @@ -64,11 +64,11 @@ const OrganisationUnitSelection = ({ setCurrentRoot(currentRoot) onSelectedChange(selected) } - const handleSelect = orgUnitPaths => { + const handleSelect = (orgUnitPaths) => { const newSelected = union(selected, orgUnitPaths) onSelectedChange(newSelected) } - const handleDeselect = orgUnitPaths => { + const handleDeselect = (orgUnitPaths) => { const newSelected = difference(selected, orgUnitPaths) onSelectedChange(newSelected) } @@ -91,7 +91,7 @@ const OrganisationUnitSelection = ({ const rootWithMembers = data.rootWithMembers.organisationUnits[0] const orgUnitPaths = data.dataSetMembers.organisationUnits.map( - ou => ou.path + (ou) => ou.path ) return ( diff --git a/src/pages/add-lock-exception/AddLockExceptionForm/OrganisationUnitSelection/SelectAll.js b/src/pages/add-lock-exception/AddLockExceptionForm/OrganisationUnitSelection/SelectAll.js index 1c8a15ba..325dfb45 100644 --- a/src/pages/add-lock-exception/AddLockExceptionForm/OrganisationUnitSelection/SelectAll.js +++ b/src/pages/add-lock-exception/AddLockExceptionForm/OrganisationUnitSelection/SelectAll.js @@ -4,7 +4,7 @@ import { CircularLoader, ButtonStrip, Button } from '@dhis2/ui' import PropTypes from 'prop-types' import React, { useState } from 'react' import styles from './SelectAll.module.css' -import useOrgUnitCache from './use-org-unit-cache' +import useOrgUnitCache from './use-org-unit-cache.js' const currentRootOrgUnitsQuery = { orgUnits: { diff --git a/src/pages/add-lock-exception/AddLockExceptionForm/OrganisationUnitSelection/SelectByGroup.js b/src/pages/add-lock-exception/AddLockExceptionForm/OrganisationUnitSelection/SelectByGroup.js index 6e5d0ae5..d4d14dce 100644 --- a/src/pages/add-lock-exception/AddLockExceptionForm/OrganisationUnitSelection/SelectByGroup.js +++ b/src/pages/add-lock-exception/AddLockExceptionForm/OrganisationUnitSelection/SelectByGroup.js @@ -2,8 +2,8 @@ import { useDataEngine, useAlert } from '@dhis2/app-runtime' import i18n from '@dhis2/d2-i18n' import PropTypes from 'prop-types' import React, { useState } from 'react' -import Controls from './Controls' -import useOrgUnitCache from './use-org-unit-cache' +import Controls from './Controls.js' +import useOrgUnitCache from './use-org-unit-cache.js' const currentRootOrgUnitsQuery = { orgUnits: { diff --git a/src/pages/add-lock-exception/AddLockExceptionForm/OrganisationUnitSelection/SelectByLevel.js b/src/pages/add-lock-exception/AddLockExceptionForm/OrganisationUnitSelection/SelectByLevel.js index 8b905cb3..74d044a4 100644 --- a/src/pages/add-lock-exception/AddLockExceptionForm/OrganisationUnitSelection/SelectByLevel.js +++ b/src/pages/add-lock-exception/AddLockExceptionForm/OrganisationUnitSelection/SelectByLevel.js @@ -2,8 +2,8 @@ import { useDataEngine, useAlert } from '@dhis2/app-runtime' import i18n from '@dhis2/d2-i18n' import PropTypes from 'prop-types' import React, { useState } from 'react' -import Controls from './Controls' -import useOrgUnitCache from './use-org-unit-cache' +import Controls from './Controls.js' +import useOrgUnitCache from './use-org-unit-cache.js' const currentRootOrgUnitsQuery = { orgUnits: { @@ -97,7 +97,7 @@ const SelectByLevel = ({ levels, currentRoot, onSelect, onDeselect }) => { setLevel(Number(level))} + onSelectedItemChange={(level) => setLevel(Number(level))} label={i18n.t('Organisation unit level')} placeholder={i18n.t('Select an organisation unit level')} loading={loading} diff --git a/src/pages/add-lock-exception/AddLockExceptionForm/OrganisationUnitSelection/use-org-unit-cache.test.js b/src/pages/add-lock-exception/AddLockExceptionForm/OrganisationUnitSelection/use-org-unit-cache.test.js index 219788dd..9c0f4783 100644 --- a/src/pages/add-lock-exception/AddLockExceptionForm/OrganisationUnitSelection/use-org-unit-cache.test.js +++ b/src/pages/add-lock-exception/AddLockExceptionForm/OrganisationUnitSelection/use-org-unit-cache.test.js @@ -1,5 +1,5 @@ import { renderHook, act } from '@testing-library/react-hooks' -import useOrgUnitCache from './use-org-unit-cache' +import useOrgUnitCache from './use-org-unit-cache.js' const currentRootId = 'root-1' const itemId = 'item-1' diff --git a/src/pages/add-lock-exception/AddLockExceptionForm/PeriodPicker.js b/src/pages/add-lock-exception/AddLockExceptionForm/PeriodPicker.js index 34037674..82cbf90c 100644 --- a/src/pages/add-lock-exception/AddLockExceptionForm/PeriodPicker.js +++ b/src/pages/add-lock-exception/AddLockExceptionForm/PeriodPicker.js @@ -24,8 +24,8 @@ const getFirstDateOfWeek = (year, week) => { return new Date(year, month, ordDate - ordDiff[month]) } -const is53WeekISOYear = year => { - const p = y => +const is53WeekISOYear = (year) => { + const p = (y) => y + Math.floor(y / 4) - Math.floor(y / 100) + Math.floor(y / 400) return p(year) % 7 === 4 || p(year - 1) % 7 === 3 @@ -37,20 +37,20 @@ const styles = { }, } -const getYear = date => new Date(date).getFullYear().toString() -const getTwoDigitMonth = date => { +const getYear = (date) => new Date(date).getFullYear().toString() +const getTwoDigitMonth = (date) => { const month = new Date(date).getMonth() + 1 // Month is 0 indexed return `0${month}`.slice(-2) } -const getTwoDigitDay = date => { +const getTwoDigitDay = (date) => { const day = new Date(date).getDate() return `0${day}`.slice(-2) } -const formattedDate = date => +const formattedDate = (date) => `${getYear(date)}${getTwoDigitMonth(date)}${getTwoDigitDay(date)}` -const getWeekYear = date => { +const getWeekYear = (date) => { // Create a new date object for the thursday of this week const target = new Date(date) target.setDate(target.getDate() - ((date.getDay() + 6) % 7) + 3) @@ -60,9 +60,9 @@ const getWeekYear = date => { const isWeekValid = (date, week) => // It's not possible to have a week 53 in a 52 week year !is53WeekISOYear(date) && Number(week) !== 53 -const biWeekToWeek = biWeekStr => parseInt(biWeekStr) * 2 - 1 +const biWeekToWeek = (biWeekStr) => parseInt(biWeekStr) * 2 - 1 -const isoDate = date => new Date(date).toISOString().split('T')[0] +const isoDate = (date) => new Date(date).toISOString().split('T')[0] class PeriodPicker extends React.Component { constructor(props) { @@ -273,7 +273,7 @@ class PeriodPicker extends React.Component { > {Object.keys(options) .sort() - .map(value => ( + .map((value) => ( { const { checkboxes, toggleCheckbox } = useCheckboxes() const [lastYears, setLastYears] = useState(DEFAULT_LAST_YEARS) - const { - startAnalyticsTablesGeneration, - loading, - error, - notifications, - } = useAnalytics() + const { startAnalyticsTablesGeneration, loading, error, notifications } = + useAnalytics() const handleStartAnalyticsTablesGeneration = () => { const params = {} @@ -85,7 +81,7 @@ const Analytics = ({ sectionKey }) => { onChange={handleLastYearsChange} disabled={loading} > - {lastYearElements.map(item => ( + {lastYearElements.map((item) => ( ({ +].map((key) => ({ key, label: i18nKeys.analytics.checkboxes[key], })) diff --git a/src/pages/analytics/use-analytics.js b/src/pages/analytics/use-analytics.js index ce3dd89b..4cc477f6 100644 --- a/src/pages/analytics/use-analytics.js +++ b/src/pages/analytics/use-analytics.js @@ -1,7 +1,7 @@ import { useDataQuery, useDataMutation } from '@dhis2/app-runtime' -import { getActiveTaskIdFromSummary } from '../../get-active-task-id-from-summary' -import { getUpdatedNotifications } from '../../get-updated-notifications' -import { usePoll } from '../../hooks/use-poll' +import { getActiveTaskIdFromSummary } from '../../get-active-task-id-from-summary.js' +import { getUpdatedNotifications } from '../../get-updated-notifications.js' +import { usePoll } from '../../hooks/use-poll.js' const pollQuery = { resource: 'system/tasks/ANALYTICS_TABLE', @@ -11,7 +11,7 @@ const pollQuery = { const startAnalyticsTablesGenerationMutation = { resource: 'resourceTables/analytics', type: 'create', - params: params => params, + params: (params) => params, } const existingTasksQuery = { @@ -24,10 +24,10 @@ export const useAnalytics = () => { const poll = usePoll({ query: pollQuery, interval: 3000, - checkDone: data => data[0].completed, + checkDone: (data) => data[0].completed, }) const { loading: loadingExistingTask } = useDataQuery(existingTasksQuery, { - onComplete: data => { + onComplete: (data) => { const taskId = getActiveTaskIdFromSummary(data.tasks) if (taskId) { @@ -35,15 +35,13 @@ export const useAnalytics = () => { } }, }) - const [ - startAnalyticsTablesGeneration, - { loading, error }, - ] = useDataMutation(startAnalyticsTablesGenerationMutation, { - onComplete: data => { - const { id: taskId } = data.response - poll.start({ taskId }) - }, - }) + const [startAnalyticsTablesGeneration, { loading, error }] = + useDataMutation(startAnalyticsTablesGenerationMutation, { + onComplete: (data) => { + const { id: taskId } = data.response + poll.start({ taskId }) + }, + }) return { startAnalyticsTablesGeneration, diff --git a/src/pages/analytics/use-checkboxes.js b/src/pages/analytics/use-checkboxes.js index 0d0928fc..4dc12058 100644 --- a/src/pages/analytics/use-checkboxes.js +++ b/src/pages/analytics/use-checkboxes.js @@ -1,10 +1,10 @@ import { useState } from 'react' -import { analyticsCheckboxes } from './analytics.conf' +import { analyticsCheckboxes } from './analytics.conf.js' export const useCheckboxes = () => { const [checkboxes, setCheckboxes] = useState(() => { const checkboxes = {} - analyticsCheckboxes.forEach(checkbox => { + analyticsCheckboxes.forEach((checkbox) => { checkboxes[checkbox.key] = { checked: false, label: checkbox.label, @@ -12,7 +12,7 @@ export const useCheckboxes = () => { }) return checkboxes }) - const toggleCheckbox = key => { + const toggleCheckbox = (key) => { setCheckboxes({ ...checkboxes, [key]: { diff --git a/src/pages/batch-delete-lock-exceptions/BatchDeleteLockExceptions.js b/src/pages/batch-delete-lock-exceptions/BatchDeleteLockExceptions.js index 22af7351..cfab1f32 100644 --- a/src/pages/batch-delete-lock-exceptions/BatchDeleteLockExceptions.js +++ b/src/pages/batch-delete-lock-exceptions/BatchDeleteLockExceptions.js @@ -2,10 +2,10 @@ import { useDataQuery } from '@dhis2/app-runtime' import i18n from '@dhis2/d2-i18n' import { CenteredContent, CircularLoader, NoticeBox } from '@dhis2/ui' import React, { useState } from 'react' -import LockExceptionsSubpageHeader from '../../components/LockExceptionsSubpageHeader/LockExceptionsSubpageHeader' -import LockExceptionsTable from '../../components/LockExceptionsTable/LockExceptionsTable' -import RemoveLockExceptionModal from '../../components/RemoveLockExceptionModal/RemoveLockExceptionModal' -import { parseLockExceptions } from '../../parse-lock-exceptions' +import LockExceptionsSubpageHeader from '../../components/LockExceptionsSubpageHeader/LockExceptionsSubpageHeader.js' +import LockExceptionsTable from '../../components/LockExceptionsTable/LockExceptionsTable.js' +import RemoveLockExceptionModal from '../../components/RemoveLockExceptionModal/RemoveLockExceptionModal.js' +import { parseLockExceptions } from '../../parse-lock-exceptions.js' const query = { batchedLockExceptions: { @@ -25,7 +25,7 @@ const BatchDeleteLockExceptions = () => { const lockExceptions = data && parseLockExceptions(data.batchedLockExceptions.lockExceptions) - const handleShowRemoveLockExceptionModal = lockException => { + const handleShowRemoveLockExceptionModal = (lockException) => { setRemoveLockExceptionModal({ visible: true, lockException, diff --git a/src/pages/data-integrity/DataIntegrity.js b/src/pages/data-integrity/DataIntegrity.js index 91c04f1c..7862513b 100644 --- a/src/pages/data-integrity/DataIntegrity.js +++ b/src/pages/data-integrity/DataIntegrity.js @@ -2,18 +2,14 @@ import i18n from '@dhis2/d2-i18n' import { Button, NoticeBox } from '@dhis2/ui' import PropTypes from 'prop-types' import React from 'react' -import PageHeader from '../../components/PageHeader/PageHeader' -import { i18nKeys } from '../../i18n-keys' -import Issues from './Issues/Issues' -import { useDataIntegrity } from './use-data-integrity' +import PageHeader from '../../components/PageHeader/PageHeader.js' +import { i18nKeys } from '../../i18n-keys.js' +import Issues from './Issues/Issues.js' +import { useDataIntegrity } from './use-data-integrity.js' const DataIntegrity = ({ sectionKey }) => { - const { - startDataIntegrityCheck, - loading, - error, - issues, - } = useDataIntegrity() + const { startDataIntegrityCheck, loading, error, issues } = + useDataIntegrity() return ( <> diff --git a/src/pages/data-integrity/Issues/IssueCard.js b/src/pages/data-integrity/Issues/IssueCard.js index e2cc8970..b7351f69 100644 --- a/src/pages/data-integrity/Issues/IssueCard.js +++ b/src/pages/data-integrity/Issues/IssueCard.js @@ -5,11 +5,11 @@ import React from 'react' import styles from './IssueCard.module.css' const Content = ({ content }) => { - const renderValue = value => + const renderValue = (value) => Array.isArray(value) ? value.join(', ') : value if (Array.isArray(content)) { - return content.map(element => ( + return content.map((element) => (

{renderValue(element)}

)) } else { @@ -40,8 +40,8 @@ Title.propTypes = { type: PropTypes.string.isRequired, } -const countElements = content => { - const sum = arr => +const countElements = (content) => { + const sum = (arr) => arr.reduce((acc, element) => { return acc + countElements(element) }, 0) diff --git a/src/pages/data-integrity/Issues/Issues.js b/src/pages/data-integrity/Issues/Issues.js index a7aadb2d..d534cb79 100644 --- a/src/pages/data-integrity/Issues/Issues.js +++ b/src/pages/data-integrity/Issues/Issues.js @@ -1,7 +1,7 @@ import i18n from '@dhis2/d2-i18n' import PropTypes from 'prop-types' import React from 'react' -import IssueCard from './IssueCard' +import IssueCard from './IssueCard.js' import styles from './Issues.module.css' const controls = { @@ -83,7 +83,7 @@ const Issues = ({ issues }) => { return (
- {errorElementskeys.map(element => { + {errorElementskeys.map((element) => { const label = controls[element] if (!label) { return null @@ -97,8 +97,8 @@ const Issues = ({ issues }) => { ) })} {Object.keys(controls) - .filter(element => !errorElementskeys.includes(element)) - .map(element => ( + .filter((element) => !errorElementskeys.includes(element)) + .map((element) => ( ))}
diff --git a/src/pages/data-integrity/use-data-integrity.js b/src/pages/data-integrity/use-data-integrity.js index c43666cd..44a46169 100644 --- a/src/pages/data-integrity/use-data-integrity.js +++ b/src/pages/data-integrity/use-data-integrity.js @@ -1,5 +1,5 @@ import { useDataMutation } from '@dhis2/app-runtime' -import { usePoll } from '../../hooks/use-poll' +import { usePoll } from '../../hooks/use-poll.js' const startDataIntegrityCheckMutation = { resource: 'dataIntegrity', @@ -15,7 +15,7 @@ export const useDataIntegrity = () => { const poll = usePoll({ query: pollQuery, interval: 3000, - checkDone: data => { + checkDone: (data) => { // On 2.37 and 2.38, an empty HTTP response is sent instead of `null` if (data instanceof Blob && data.size === 0) { return false @@ -26,7 +26,7 @@ export const useDataIntegrity = () => { const [startDataIntegrityCheck, { loading, error, data }] = useDataMutation( startDataIntegrityCheckMutation, { - onComplete: data => { + onComplete: (data) => { const { id: jobId } = data.response poll.start({ jobId }) }, diff --git a/src/pages/data-statistics/DataStatistics.js b/src/pages/data-statistics/DataStatistics.js index 71bc1fc4..e4ffcad1 100644 --- a/src/pages/data-statistics/DataStatistics.js +++ b/src/pages/data-statistics/DataStatistics.js @@ -2,18 +2,18 @@ import { useDataQuery } from '@dhis2/app-runtime' import { Card, NoticeBox, CircularLoader, CenteredContent } from '@dhis2/ui' import PropTypes from 'prop-types' import React from 'react' -import PageHeader from '../../components/PageHeader/PageHeader' -import { i18nKeys } from '../../i18n-keys' +import PageHeader from '../../components/PageHeader/PageHeader.js' +import { i18nKeys } from '../../i18n-keys.js' import styles from './DataStatistics.module.css' -import DataStatisticsTable from './DataStatisticsTable' -import { parseTables } from './parse-tables' +import DataStatisticsTable from './DataStatisticsTable.js' +import { parseTables } from './parse-tables.js' import { OBJECT_COUNTS_KEY, ACTIVE_USERS_KEY, USER_INVITATIONS_KEY, DATA_VALUE_COUNT_KEY, EVENT_COUNT_KEY, -} from './table-keys' +} from './table-keys.js' const TableCard = ({ label, elements }) => ( @@ -52,7 +52,7 @@ const DataStatistics = ({ sectionKey }) => { } const tables = parseTables(data.dataSummary) - const renderTable = key => { + const renderTable = (key) => { if (tables[key] === null) { return null } diff --git a/src/pages/data-statistics/DataStatisticsTable.js b/src/pages/data-statistics/DataStatisticsTable.js index 4116ea92..daade590 100644 --- a/src/pages/data-statistics/DataStatisticsTable.js +++ b/src/pages/data-statistics/DataStatisticsTable.js @@ -9,7 +9,7 @@ import { } from '@dhis2/ui' import PropTypes from 'prop-types' import React from 'react' -import FormattedNumber from '../../components/FormattedNumber/FormattedNumber' +import FormattedNumber from '../../components/FormattedNumber/FormattedNumber.js' const DataStatisticsTable = ({ elements, label }) => (
@@ -20,7 +20,7 @@ const DataStatisticsTable = ({ elements, label }) => ( - {elements.map(element => ( + {elements.map((element) => ( {element.label} diff --git a/src/pages/data-statistics/parse-tables.js b/src/pages/data-statistics/parse-tables.js index f53b0578..858b7414 100644 --- a/src/pages/data-statistics/parse-tables.js +++ b/src/pages/data-statistics/parse-tables.js @@ -7,7 +7,7 @@ import { EVENT_COUNT_KEY, PENDING_INVITATION_ALL_KEY, EXPIRED_INVITATION_KEY, -} from './table-keys' +} from './table-keys.js' const objectLabels = { indicator: i18n.t('Indicators'), @@ -35,7 +35,7 @@ const objectLabels = { eventVisualization: i18n.t('Event visualization'), } -const translatedTimeLabelFromIntProperty = key => { +const translatedTimeLabelFromIntProperty = (key) => { const intProperty = parseInt(key, 10) if (intProperty === 1) { return i18n.t('Today') @@ -48,7 +48,7 @@ const translatedTimeLabelFromIntProperty = key => { } } -const objectCountsTableFromResponse = objectCountsResponse => { +const objectCountsTableFromResponse = (objectCountsResponse) => { if (!objectCountsResponse) { return null } @@ -67,7 +67,7 @@ const objectCountsTableFromResponse = objectCountsResponse => { } } -const activeUsersTableFromResponse = activeUsersResponse => { +const activeUsersTableFromResponse = (activeUsersResponse) => { if (!activeUsersResponse) { return null } @@ -81,7 +81,7 @@ const activeUsersTableFromResponse = activeUsersResponse => { } } -const userInvitationsTableFromResponse = userInvitationsResponse => { +const userInvitationsTableFromResponse = (userInvitationsResponse) => { if (!userInvitationsResponse) { return null } @@ -118,7 +118,7 @@ const userInvitationsTableFromResponse = userInvitationsResponse => { return userInvitationsTable } -const dataValueCountsTableFromResponse = dataValueCountsResponse => { +const dataValueCountsTableFromResponse = (dataValueCountsResponse) => { if (!dataValueCountsResponse) { return null } @@ -134,7 +134,7 @@ const dataValueCountsTableFromResponse = dataValueCountsResponse => { } } -const eventCountsTableFromResponse = eventCountsResponse => { +const eventCountsTableFromResponse = (eventCountsResponse) => { if (!eventCountsResponse) { return null } @@ -148,7 +148,7 @@ const eventCountsTableFromResponse = eventCountsResponse => { } } -export const parseTables = response => ({ +export const parseTables = (response) => ({ [OBJECT_COUNTS_KEY]: objectCountsTableFromResponse( response[OBJECT_COUNTS_KEY] ), diff --git a/src/pages/home/Home.js b/src/pages/home/Home.js index 39657c47..5814bce6 100644 --- a/src/pages/home/Home.js +++ b/src/pages/home/Home.js @@ -1,11 +1,11 @@ import React from 'react' -import { sections } from '../sections.conf' +import { sections } from '../sections.conf.js' import styles from './Home.module.css' -import HomeCard from './HomeCard/HomeCard' +import HomeCard from './HomeCard/HomeCard.js' const Home = () => (
- {sections.map(section => ( + {sections.map((section) => ( ({ + params: (params) => ({ ...params, fields: [ 'name', @@ -63,16 +63,16 @@ const LockExceptions = ({ sectionKey }) => { pageCount={pageCount} page={page} pageSize={pageSize} - onPageSizeChange={pageSize => { + onPageSizeChange={(pageSize) => { setPage(1) setPageSize(pageSize) }} - onPageChange={page => setPage(page)} + onPageChange={(page) => setPage(page)} />
) } - const handleShowRemoveLockExceptionModal = lockException => { + const handleShowRemoveLockExceptionModal = (lockException) => { setRemoveLockExceptionModal({ visible: true, lockException, diff --git a/src/pages/maintenance/Checkboxes.js b/src/pages/maintenance/Checkboxes.js index 9906823e..85ac9bbf 100644 --- a/src/pages/maintenance/Checkboxes.js +++ b/src/pages/maintenance/Checkboxes.js @@ -1,7 +1,7 @@ import { Checkbox } from '@dhis2/ui' import PropTypes from 'prop-types' import React from 'react' -import { i18nKeys } from '../../i18n-keys' +import { i18nKeys } from '../../i18n-keys.js' import styles from './Checkboxes.module.css' const Checkboxes = ({ checkboxes, toggleCheckbox, disabled }) => ( diff --git a/src/pages/maintenance/Maintenance.js b/src/pages/maintenance/Maintenance.js index 5a39fb58..74614ae1 100644 --- a/src/pages/maintenance/Maintenance.js +++ b/src/pages/maintenance/Maintenance.js @@ -3,16 +3,16 @@ import i18n from '@dhis2/d2-i18n' import { Card, Button, CircularLoader } from '@dhis2/ui' import PropTypes from 'prop-types' import React from 'react' -import PageHeader from '../../components/PageHeader/PageHeader' -import { i18nKeys } from '../../i18n-keys' -import Checkboxes from './Checkboxes' +import PageHeader from '../../components/PageHeader/PageHeader.js' +import { i18nKeys } from '../../i18n-keys.js' +import Checkboxes from './Checkboxes.js' import styles from './Maintenance.module.css' -import { useCheckboxes } from './use-checkboxes' +import { useCheckboxes } from './use-checkboxes.js' const mutation = { resource: 'maintenance', type: 'create', - params: params => params, + params: (params) => params, } const Maintenance = ({ sectionKey }) => { @@ -23,7 +23,7 @@ const Maintenance = ({ sectionKey }) => { }) const [mutate, { loading }] = useDataMutation(mutation, { onComplete: () => successAlert.show(), - onError: error => errorAlert.show({ error }), + onError: (error) => errorAlert.show({ error }), }) const handlePerformMaintenance = async () => { const params = {} @@ -51,7 +51,7 @@ const Maintenance = ({ sectionKey }) => { primary disabled={ loading || - !Object.values(checkboxes).some(checked => checked) + !Object.values(checkboxes).some((checked) => checked) } onClick={handlePerformMaintenance} > diff --git a/src/pages/maintenance/use-checkboxes.js b/src/pages/maintenance/use-checkboxes.js index 468cab09..8bf0248b 100644 --- a/src/pages/maintenance/use-checkboxes.js +++ b/src/pages/maintenance/use-checkboxes.js @@ -1,5 +1,5 @@ import { useState } from 'react' -import { i18nKeys } from '../../i18n-keys' +import { i18nKeys } from '../../i18n-keys.js' export const useCheckboxes = () => { const [checkboxes, setCheckboxes] = useState(() => { @@ -9,7 +9,7 @@ export const useCheckboxes = () => { } return checkboxes }) - const toggleCheckbox = key => { + const toggleCheckbox = (key) => { setCheckboxes({ ...checkboxes, [key]: !checkboxes[key], diff --git a/src/pages/min-max-value-generation/MinMaxValueGeneration.js b/src/pages/min-max-value-generation/MinMaxValueGeneration.js index 9cf14792..5f238dde 100644 --- a/src/pages/min-max-value-generation/MinMaxValueGeneration.js +++ b/src/pages/min-max-value-generation/MinMaxValueGeneration.js @@ -13,14 +13,14 @@ import { } from '@dhis2/ui' import PropTypes from 'prop-types' import React, { useState } from 'react' -import PageHeader from '../../components/PageHeader/PageHeader' -import { i18nKeys } from '../../i18n-keys' +import PageHeader from '../../components/PageHeader/PageHeader.js' +import { i18nKeys } from '../../i18n-keys.js' import styles from './MinMaxValueGeneration.module.css' const MIN_MAX_VALUE_ENDPOINT = '/minMaxValues' -const organisationIdFromPath = path => { - const last = array => array[array.length - 1] +const organisationIdFromPath = (path) => { + const last = (array) => array[array.length - 1] return last(path.split('/')) } @@ -46,7 +46,7 @@ const query = { const generateMinMaxValueMutation = { resource: MIN_MAX_VALUE_ENDPOINT, type: 'create', - data: data => data, + data: (data) => data, } const removeMinMaxValueMutation = { @@ -66,7 +66,7 @@ const MinMaxValueGeneration = ({ sectionKey }) => { onComplete: () => { successAlert.show({ message: i18n.t('Min-max values generated') }) }, - onError: error => { + onError: (error) => { errorAlert.show({ error }) }, }) @@ -74,13 +74,12 @@ const MinMaxValueGeneration = ({ sectionKey }) => { onComplete: () => { successAlert.show({ message: i18n.t('Min-max values removed') }) }, - onError: error => { + onError: (error) => { errorAlert.show({ error }) }, }) - const [selectedOrganisationUnit, setSelectedOrganisationUnit] = useState( - null - ) + const [selectedOrganisationUnit, setSelectedOrganisationUnit] = + useState(null) const [selectedDataSets, setSelectedDataSets] = useState([]) const formValid = @@ -150,7 +149,7 @@ const MinMaxValueGeneration = ({ sectionKey }) => { clearable filterable > - {dataSets.map(item => ( + {dataSets.map((item) => ( {
r.id)} + roots={organisationUnits.map((r) => r.id)} singleSelection selected={ selectedOrganisationUnit diff --git a/src/pages/resource-tables/ResourceTables.js b/src/pages/resource-tables/ResourceTables.js index a84d2b3c..be632c95 100644 --- a/src/pages/resource-tables/ResourceTables.js +++ b/src/pages/resource-tables/ResourceTables.js @@ -2,11 +2,11 @@ import i18n from '@dhis2/d2-i18n' import { Card, Button, NoticeBox } from '@dhis2/ui' import PropTypes from 'prop-types' import React from 'react' -import NotificationsTable from '../../components/NotificationsTable/NotificationsTable' -import PageHeader from '../../components/PageHeader/PageHeader' -import { i18nKeys } from '../../i18n-keys' +import NotificationsTable from '../../components/NotificationsTable/NotificationsTable.js' +import PageHeader from '../../components/PageHeader/PageHeader.js' +import { i18nKeys } from '../../i18n-keys.js' import styles from './ResourceTables.module.css' -import { useResourceTables } from './use-resource-tables' +import { useResourceTables } from './use-resource-tables.js' const tables = [ { @@ -60,12 +60,8 @@ const tables = [ ] const ResourceTable = ({ sectionKey }) => { - const { - startResourceTablesGeneration, - loading, - error, - notifications, - } = useResourceTables() + const { startResourceTablesGeneration, loading, error, notifications } = + useResourceTables() return (
@@ -80,7 +76,7 @@ const ResourceTable = ({ sectionKey }) => { )}
- {tables.map(table => ( + {tables.map((table) => (
{i18nKeys.resourceTables.tables[table.key]} { const poll = usePoll({ query: pollQuery, interval: 3000, - checkDone: data => data[0].completed, + checkDone: (data) => data[0].completed, }) const { loading: loadingExistingTask } = useDataQuery(existingTasksQuery, { - onComplete: data => { + onComplete: (data) => { const taskId = getActiveTaskIdFromSummary(data.tasks) if (taskId) { poll.start({ taskId }) @@ -36,7 +36,7 @@ export const useResourceTables = () => { const [startResourceTablesGeneration, { loading, error }] = useDataMutation( startResourceTablesGenerationMutation, { - onComplete: data => { + onComplete: (data) => { const { id: taskId } = data.response poll.start({ taskId }) }, diff --git a/src/pages/sections.conf.js b/src/pages/sections.conf.js index bb9b5edf..90130b1c 100644 --- a/src/pages/sections.conf.js +++ b/src/pages/sections.conf.js @@ -1,11 +1,11 @@ -import { i18nKeys } from '../i18n-keys' -import Analytics from './analytics/Analytics' -import DataIntegrity from './data-integrity/DataIntegrity' -import DataStatistics from './data-statistics/DataStatistics' -import LockExceptions from './lock-exceptions/LockExceptions' -import Maintenance from './maintenance/Maintenance' -import MinMaxValueGeneration from './min-max-value-generation/MinMaxValueGeneration' -import ResourceTables from './resource-tables/ResourceTables' +import { i18nKeys } from '../i18n-keys.js' +import Analytics from './analytics/Analytics.js' +import DataIntegrity from './data-integrity/DataIntegrity.js' +import DataStatistics from './data-statistics/DataStatistics.js' +import LockExceptions from './lock-exceptions/LockExceptions.js' +import Maintenance from './maintenance/Maintenance.js' +import MinMaxValueGeneration from './min-max-value-generation/MinMaxValueGeneration.js' +import ResourceTables from './resource-tables/ResourceTables.js' export const sections = [ { @@ -87,5 +87,5 @@ export const sections = [ }, ] -export const getDocsKeyForSection = sectionKey => - sections.find(section => section.key === sectionKey)?.info.docs || '' +export const getDocsKeyForSection = (sectionKey) => + sections.find((section) => section.key === sectionKey)?.info.docs || '' diff --git a/src/parse-lock-exceptions.js b/src/parse-lock-exceptions.js index 21868e72..b5126b29 100644 --- a/src/parse-lock-exceptions.js +++ b/src/parse-lock-exceptions.js @@ -1,4 +1,4 @@ -export const parseLockExceptions = lockExceptionResponse => +export const parseLockExceptions = (lockExceptionResponse) => lockExceptionResponse.map(({ dataSet, period, organisationUnit }) => { const row = { period: period.displayName, diff --git a/yarn.lock b/yarn.lock index acd92c65..df2a886f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1380,141 +1380,142 @@ exec-sh "^0.3.2" minimist "^1.2.0" -"@commitlint/cli@^11.0.0": - version "11.0.0" - resolved "https://registry.yarnpkg.com/@commitlint/cli/-/cli-11.0.0.tgz#698199bc52afed50aa28169237758fa14a67b5d3" - integrity sha512-YWZWg1DuqqO5Zjh7vUOeSX76vm0FFyz4y0cpGMFhrhvUi5unc4IVfCXZ6337R9zxuBtmveiRuuhQqnRRer+13g== - dependencies: - "@babel/runtime" "^7.11.2" - "@commitlint/format" "^11.0.0" - "@commitlint/lint" "^11.0.0" - "@commitlint/load" "^11.0.0" - "@commitlint/read" "^11.0.0" - chalk "4.1.0" - core-js "^3.6.1" - get-stdin "8.0.0" +"@commitlint/cli@^12.1.4": + version "12.1.4" + resolved "https://registry.yarnpkg.com/@commitlint/cli/-/cli-12.1.4.tgz#af4d9dd3c0122c7b39a61fa1cd2abbad0422dbe0" + integrity sha512-ZR1WjXLvqEffYyBPT0XdnSxtt3Ty1TMoujEtseW5o3vPnkA1UNashAMjQVg/oELqfaiAMnDw8SERPMN0e/0kLg== + dependencies: + "@commitlint/format" "^12.1.4" + "@commitlint/lint" "^12.1.4" + "@commitlint/load" "^12.1.4" + "@commitlint/read" "^12.1.4" + "@commitlint/types" "^12.1.4" lodash "^4.17.19" resolve-from "5.0.0" resolve-global "1.0.0" - yargs "^15.1.0" + yargs "^16.2.0" -"@commitlint/config-conventional@^11.0.0": - version "11.0.0" - resolved "https://registry.yarnpkg.com/@commitlint/config-conventional/-/config-conventional-11.0.0.tgz#3fa300a1b639273946de3c3f15e1cda518333422" - integrity sha512-SNDRsb5gLuDd2PL83yCOQX6pE7gevC79UPFx+GLbLfw6jGnnbO9/tlL76MLD8MOViqGbo7ZicjChO9Gn+7tHhA== +"@commitlint/config-conventional@^13.1.0": + version "13.2.0" + resolved "https://registry.yarnpkg.com/@commitlint/config-conventional/-/config-conventional-13.2.0.tgz#2ad24fecc56ae9619dbe0934b98a98b18ace0bec" + integrity sha512-7u7DdOiF+3qSdDlbQGfpvCH8DCQdLFvnI2+VucYmmV7E92iD6t9PBj+UjIoSQCaMAzYp27Vkall78AkcXBh6Xw== dependencies: conventional-changelog-conventionalcommits "^4.3.1" -"@commitlint/ensure@^11.0.0": - version "11.0.0" - resolved "https://registry.yarnpkg.com/@commitlint/ensure/-/ensure-11.0.0.tgz#3e796b968ab5b72bc6f8a6040076406306c987fb" - integrity sha512-/T4tjseSwlirKZdnx4AuICMNNlFvRyPQimbZIOYujp9DSO6XRtOy9NrmvWujwHsq9F5Wb80QWi4WMW6HMaENug== +"@commitlint/ensure@^12.1.4": + version "12.1.4" + resolved "https://registry.yarnpkg.com/@commitlint/ensure/-/ensure-12.1.4.tgz#287ae2dcc5ccb086e749705b1bd9bdb99773056f" + integrity sha512-MxHIBuAG9M4xl33qUfIeMSasbv3ktK0W+iygldBxZOL4QSYC2Gn66pZAQMnV9o3V+sVFHoAK2XUKqBAYrgbEqw== dependencies: - "@commitlint/types" "^11.0.0" + "@commitlint/types" "^12.1.4" lodash "^4.17.19" -"@commitlint/execute-rule@^11.0.0": - version "11.0.0" - resolved "https://registry.yarnpkg.com/@commitlint/execute-rule/-/execute-rule-11.0.0.tgz#3ed60ab7a33019e58d90e2d891b75d7df77b4b4d" - integrity sha512-g01p1g4BmYlZ2+tdotCavrMunnPFPhTzG1ZiLKTCYrooHRbmvqo42ZZn4QMStUEIcn+jfLb6BRZX3JzIwA1ezQ== +"@commitlint/execute-rule@^12.1.4": + version "12.1.4" + resolved "https://registry.yarnpkg.com/@commitlint/execute-rule/-/execute-rule-12.1.4.tgz#9973b02e9779adbf1522ae9ac207a4815ec73de1" + integrity sha512-h2S1j8SXyNeABb27q2Ok2vD1WfxJiXvOttKuRA9Or7LN6OQoC/KtT3844CIhhWNteNMu/wE0gkTqGxDVAnJiHg== -"@commitlint/format@^11.0.0": - version "11.0.0" - resolved "https://registry.yarnpkg.com/@commitlint/format/-/format-11.0.0.tgz#ac47b0b9ca46540c0082c721b290794e67bdc51b" - integrity sha512-bpBLWmG0wfZH/svzqD1hsGTpm79TKJWcf6EXZllh2J/LSSYKxGlv967lpw0hNojme0sZd4a/97R3qA2QHWWSLg== +"@commitlint/format@^12.1.4": + version "12.1.4" + resolved "https://registry.yarnpkg.com/@commitlint/format/-/format-12.1.4.tgz#db2d46418a6ae57c90e5f7f65dff46f0265d9f24" + integrity sha512-h28ucMaoRjVvvgS6Bdf85fa/+ZZ/iu1aeWGCpURnQV7/rrVjkhNSjZwGlCOUd5kDV1EnZ5XdI7L18SUpRjs26g== dependencies: - "@commitlint/types" "^11.0.0" + "@commitlint/types" "^12.1.4" chalk "^4.0.0" -"@commitlint/is-ignored@^11.0.0": - version "11.0.0" - resolved "https://registry.yarnpkg.com/@commitlint/is-ignored/-/is-ignored-11.0.0.tgz#7b803eda56276dbe7fec51eb1510676198468f39" - integrity sha512-VLHOUBN+sOlkYC4tGuzE41yNPO2w09sQnOpfS+pSPnBFkNUUHawEuA44PLHtDvQgVuYrMAmSWFQpWabMoP5/Xg== +"@commitlint/is-ignored@^12.1.4": + version "12.1.4" + resolved "https://registry.yarnpkg.com/@commitlint/is-ignored/-/is-ignored-12.1.4.tgz#4c430bc3b361aa9be5cd4ddb252c1559870ea7bc" + integrity sha512-uTu2jQU2SKvtIRVLOzMQo3KxDtO+iJ1p0olmncwrqy4AfPLgwoyCP2CiULq5M7xpR3+dE3hBlZXbZTQbD7ycIw== dependencies: - "@commitlint/types" "^11.0.0" - semver "7.3.2" + "@commitlint/types" "^12.1.4" + semver "7.3.5" + +"@commitlint/lint@^12.1.4": + version "12.1.4" + resolved "https://registry.yarnpkg.com/@commitlint/lint/-/lint-12.1.4.tgz#856b7fd2b2e6367b836cb84a12f1c1b3c0e40d22" + integrity sha512-1kZ8YDp4to47oIPFELUFGLiLumtPNKJigPFDuHt2+f3Q3IKdQ0uk53n3CPl4uoyso/Og/EZvb1mXjFR/Yce4cA== + dependencies: + "@commitlint/is-ignored" "^12.1.4" + "@commitlint/parse" "^12.1.4" + "@commitlint/rules" "^12.1.4" + "@commitlint/types" "^12.1.4" -"@commitlint/lint@^11.0.0": - version "11.0.0" - resolved "https://registry.yarnpkg.com/@commitlint/lint/-/lint-11.0.0.tgz#01e062cd1b0e7c3d756aa2c246462e0b6a3348a4" - integrity sha512-Q8IIqGIHfwKr8ecVZyYh6NtXFmKw4YSEWEr2GJTB/fTZXgaOGtGFZDWOesCZllQ63f1s/oWJYtVv5RAEuwN8BQ== - dependencies: - "@commitlint/is-ignored" "^11.0.0" - "@commitlint/parse" "^11.0.0" - "@commitlint/rules" "^11.0.0" - "@commitlint/types" "^11.0.0" - -"@commitlint/load@^11.0.0": - version "11.0.0" - resolved "https://registry.yarnpkg.com/@commitlint/load/-/load-11.0.0.tgz#f736562f0ffa7e773f8808fea93319042ee18211" - integrity sha512-t5ZBrtgvgCwPfxmG811FCp39/o3SJ7L+SNsxFL92OR4WQxPcu6c8taD0CG2lzOHGuRyuMxZ7ps3EbngT2WpiCg== - dependencies: - "@commitlint/execute-rule" "^11.0.0" - "@commitlint/resolve-extends" "^11.0.0" - "@commitlint/types" "^11.0.0" - chalk "4.1.0" +"@commitlint/load@^12.1.4": + version "12.1.4" + resolved "https://registry.yarnpkg.com/@commitlint/load/-/load-12.1.4.tgz#e3c2dbc0e7d8d928f57a6878bd7219909fc0acab" + integrity sha512-Keszi0IOjRzKfxT+qES/n+KZyLrxy79RQz8wWgssCboYjKEp+wC+fLCgbiMCYjI5k31CIzIOq/16J7Ycr0C0EA== + dependencies: + "@commitlint/execute-rule" "^12.1.4" + "@commitlint/resolve-extends" "^12.1.4" + "@commitlint/types" "^12.1.4" + chalk "^4.0.0" cosmiconfig "^7.0.0" lodash "^4.17.19" resolve-from "^5.0.0" -"@commitlint/message@^11.0.0": - version "11.0.0" - resolved "https://registry.yarnpkg.com/@commitlint/message/-/message-11.0.0.tgz#83554c3cbbc884fd07b473593bc3e94bcaa3ee05" - integrity sha512-01ObK/18JL7PEIE3dBRtoMmU6S3ecPYDTQWWhcO+ErA3Ai0KDYqV5VWWEijdcVafNpdeUNrEMigRkxXHQLbyJA== +"@commitlint/message@^12.1.4": + version "12.1.4" + resolved "https://registry.yarnpkg.com/@commitlint/message/-/message-12.1.4.tgz#3895edcc0709deca5945f3d55f5ea95a9f1f446d" + integrity sha512-6QhalEKsKQ/Y16/cTk5NH4iByz26fqws2ub+AinHPtM7Io0jy4e3rym9iE+TkEqiqWZlUigZnTwbPvRJeSUBaA== -"@commitlint/parse@^11.0.0": - version "11.0.0" - resolved "https://registry.yarnpkg.com/@commitlint/parse/-/parse-11.0.0.tgz#d18b08cf67c35d02115207d7009306a2e8e7c901" - integrity sha512-DekKQAIYWAXIcyAZ6/PDBJylWJ1BROTfDIzr9PMVxZRxBPc1gW2TG8fLgjZfBP5mc0cuthPkVi91KQQKGri/7A== +"@commitlint/parse@^12.1.4": + version "12.1.4" + resolved "https://registry.yarnpkg.com/@commitlint/parse/-/parse-12.1.4.tgz#ba03d54d24ef84f6fd2ff31c5e9998b22d7d0aa1" + integrity sha512-yqKSAsK2V4X/HaLb/yYdrzs6oD/G48Ilt0EJ2Mp6RJeWYxG14w/Out6JrneWnr/cpzemyN5hExOg6+TB19H/Lw== dependencies: - conventional-changelog-angular "^5.0.0" + "@commitlint/types" "^12.1.4" + conventional-changelog-angular "^5.0.11" conventional-commits-parser "^3.0.0" -"@commitlint/read@^11.0.0": - version "11.0.0" - resolved "https://registry.yarnpkg.com/@commitlint/read/-/read-11.0.0.tgz#f24240548c63587bba139fa5a364cab926077016" - integrity sha512-37V0V91GSv0aDzMzJioKpCoZw6l0shk7+tRG8RkW1GfZzUIytdg3XqJmM+IaIYpaop0m6BbZtfq+idzUwJnw7g== +"@commitlint/read@^12.1.4": + version "12.1.4" + resolved "https://registry.yarnpkg.com/@commitlint/read/-/read-12.1.4.tgz#552fda42ef185d5b578beb6f626a5f8b282de3a6" + integrity sha512-TnPQSJgD8Aod5Xeo9W4SaYKRZmIahukjcCWJ2s5zb3ZYSmj6C85YD9cR5vlRyrZjj78ItLUV/X4FMWWVIS38Jg== dependencies: - "@commitlint/top-level" "^11.0.0" + "@commitlint/top-level" "^12.1.4" + "@commitlint/types" "^12.1.4" fs-extra "^9.0.0" git-raw-commits "^2.0.0" -"@commitlint/resolve-extends@^11.0.0": - version "11.0.0" - resolved "https://registry.yarnpkg.com/@commitlint/resolve-extends/-/resolve-extends-11.0.0.tgz#158ecbe27d4a2a51d426111a01478e216fbb1036" - integrity sha512-WinU6Uv6L7HDGLqn/To13KM1CWvZ09VHZqryqxXa1OY+EvJkfU734CwnOEeNlSCK7FVLrB4kmodLJtL1dkEpXw== +"@commitlint/resolve-extends@^12.1.4": + version "12.1.4" + resolved "https://registry.yarnpkg.com/@commitlint/resolve-extends/-/resolve-extends-12.1.4.tgz#e758ed7dcdf942618b9f603a7c28a640f6a0802a" + integrity sha512-R9CoUtsXLd6KSCfsZly04grsH6JVnWFmVtWgWs1KdDpdV+G3TSs37tColMFqglpkx3dsWu8dsPD56+D9YnJfqg== dependencies: import-fresh "^3.0.0" lodash "^4.17.19" resolve-from "^5.0.0" resolve-global "^1.0.0" -"@commitlint/rules@^11.0.0": - version "11.0.0" - resolved "https://registry.yarnpkg.com/@commitlint/rules/-/rules-11.0.0.tgz#bdb310cc6fc55c9f8d7d917a22b69055c535c375" - integrity sha512-2hD9y9Ep5ZfoNxDDPkQadd2jJeocrwC4vJ98I0g8pNYn/W8hS9+/FuNpolREHN8PhmexXbkjrwyQrWbuC0DVaA== +"@commitlint/rules@^12.1.4": + version "12.1.4" + resolved "https://registry.yarnpkg.com/@commitlint/rules/-/rules-12.1.4.tgz#0e141b08caa3d7bdc48aa784baa8baff3efd64db" + integrity sha512-W8m6ZSjg7RuIsIfzQiFHa48X5mcPXeKT9yjBxVmjHvYfS2FDBf1VxCQ7vO0JTVIdV4ohjZ0eKg/wxxUuZHJAZg== dependencies: - "@commitlint/ensure" "^11.0.0" - "@commitlint/message" "^11.0.0" - "@commitlint/to-lines" "^11.0.0" - "@commitlint/types" "^11.0.0" + "@commitlint/ensure" "^12.1.4" + "@commitlint/message" "^12.1.4" + "@commitlint/to-lines" "^12.1.4" + "@commitlint/types" "^12.1.4" -"@commitlint/to-lines@^11.0.0": - version "11.0.0" - resolved "https://registry.yarnpkg.com/@commitlint/to-lines/-/to-lines-11.0.0.tgz#86dea151c10eea41e39ea96fa4de07839258a7fe" - integrity sha512-TIDTB0Y23jlCNubDROUVokbJk6860idYB5cZkLWcRS9tlb6YSoeLn1NLafPlrhhkkkZzTYnlKYzCVrBNVes1iw== +"@commitlint/to-lines@^12.1.4": + version "12.1.4" + resolved "https://registry.yarnpkg.com/@commitlint/to-lines/-/to-lines-12.1.4.tgz#caa582dbf121f377a0588bb64e25c4854843cd25" + integrity sha512-TParumvbi8bdx3EdLXz2MaX+e15ZgoCqNUgqHsRLwyqLUTRbqCVkzrfadG1UcMQk8/d5aMbb327ZKG3Q4BRorw== -"@commitlint/top-level@^11.0.0": - version "11.0.0" - resolved "https://registry.yarnpkg.com/@commitlint/top-level/-/top-level-11.0.0.tgz#bb2d1b6e5ed3be56874633b59e1f7de118c32783" - integrity sha512-O0nFU8o+Ws+py5pfMQIuyxOtfR/kwtr5ybqTvR+C2lUPer2x6lnQU+OnfD7hPM+A+COIUZWx10mYQvkR3MmtAA== +"@commitlint/top-level@^12.1.4": + version "12.1.4" + resolved "https://registry.yarnpkg.com/@commitlint/top-level/-/top-level-12.1.4.tgz#96d5c715bfc1bdf86dfcf11b67fc2cf7658c7a6e" + integrity sha512-d4lTJrOT/dXlpY+NIt4CUl77ciEzYeNVc0VFgUQ6VA+b1rqYD2/VWFjBlWVOrklxtSDeKyuEhs36RGrppEFAvg== dependencies: find-up "^5.0.0" -"@commitlint/types@^11.0.0": - version "11.0.0" - resolved "https://registry.yarnpkg.com/@commitlint/types/-/types-11.0.0.tgz#719cf05fcc1abb6533610a2e0f5dd1e61eac14fe" - integrity sha512-VoNqai1vR5anRF5Tuh/+SWDFk7xi7oMwHrHrbm1BprYXjB2RJsWLhUrStMssDxEl5lW/z3EUdg8RvH/IUBccSQ== +"@commitlint/types@^12.1.4": + version "12.1.4" + resolved "https://registry.yarnpkg.com/@commitlint/types/-/types-12.1.4.tgz#9618a5dc8991fb58e6de6ed89d7bf712fa74ba7e" + integrity sha512-KRIjdnWNUx6ywz+SJvjmNCbQKcKP6KArhjZhY2l+CWKxak0d77SOjggkMwFTiSgLODOwmuLTbarR2ZfWPiPMlw== + dependencies: + chalk "^4.0.0" "@csstools/convert-colors@^1.4.0": version "1.4.0" @@ -2258,19 +2259,6 @@ webpack "^5.41.1" workbox-build "^6.1.5" -"@dhis2/cli-helpers-engine@2.1.1": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@dhis2/cli-helpers-engine/-/cli-helpers-engine-2.1.1.tgz#34a15866b1bc16ae5c4997d79256ee787b40c11a" - integrity sha512-7HrpYwenDzPFUMRsIuStQRu7SzwVRq6NCy4k8CbZ4/VTFaWnpkncTAz+C8ztkEQQSYTW7mDLLenJ9qpkhXgoTA== - dependencies: - chalk "^3.0.0" - fs-extra "^8.0.1" - inquirer "^7.3.3" - request "^2.88.0" - tar "^4.4.8" - update-notifier "^3.0.0" - yargs "^13.1.0" - "@dhis2/cli-helpers-engine@^1.5.0": version "1.5.0" resolved "https://registry.yarnpkg.com/@dhis2/cli-helpers-engine/-/cli-helpers-engine-1.5.0.tgz#5bce097bcb226842d67cffae716b44f9b037390e" @@ -2283,7 +2271,7 @@ update-notifier "^3.0.0" yargs "^13.1.0" -"@dhis2/cli-helpers-engine@^3.2.0": +"@dhis2/cli-helpers-engine@^3.0.0", "@dhis2/cli-helpers-engine@^3.2.0": version "3.2.1" resolved "https://registry.yarnpkg.com/@dhis2/cli-helpers-engine/-/cli-helpers-engine-3.2.1.tgz#80d3f5b50ae223e5ed3f91550c81c30c3d7741a7" integrity sha512-8VRM7KMuiGudogiKmpD7dfjp4Y9aSmmh1dGnTq57kdIQLw/o3CqGqz61BSw41SN/t9hxZvYAy8fBaujPAgL1sQ== @@ -2298,29 +2286,29 @@ update-notifier "^3.0.0" yargs "^13.1.0" -"@dhis2/cli-style@^7.3.0": - version "7.3.0" - resolved "https://registry.yarnpkg.com/@dhis2/cli-style/-/cli-style-7.3.0.tgz#7c314616f4d42604ba63350274ed93f2fbabdddd" - integrity sha512-wnwCQeYIgx+JrPKApXr5Lrj2gW4HV03whvl3C3odG7WUF1qvlu849lyo8JldxdoWPsR47cT1f/0Dw8Z+gZqHWQ== +"@dhis2/cli-style@^10.4.1": + version "10.4.1" + resolved "https://registry.yarnpkg.com/@dhis2/cli-style/-/cli-style-10.4.1.tgz#1186d79f4b4ef2802832a116562041ae50c596dc" + integrity sha512-4INZ2T67kZXkykUuNr9TqL0B88HYRYvtc2ctDV0IemK5bSNiwoQrgM6lqMIFHE5T48DEaFTQ3rvrd0nLjsW6Ng== dependencies: - "@commitlint/cli" "^11.0.0" - "@commitlint/config-conventional" "^11.0.0" - "@dhis2/cli-helpers-engine" "2.1.1" + "@commitlint/cli" "^12.1.4" + "@commitlint/config-conventional" "^13.1.0" + "@dhis2/cli-helpers-engine" "^3.0.0" + "@ls-lint/ls-lint" "^1.10.0" babel-eslint "^10.1.0" - cross-spawn "^7.0.3" - eslint "^7.12.1" - eslint-config-prettier "^6.15.0" + eslint "^7.32.0" + eslint-config-prettier "^8.3.0" eslint-plugin-import "^2.22.1" - eslint-plugin-prettier "^3.1.4" - eslint-plugin-react "^7.21.5" - fast-glob "^3.2.4" + eslint-plugin-react "^7.26.0" + fast-glob "^3.2.5" find-up "^5.0.0" - fs-extra "^9.0.1" - husky "^4.3.0" + fs-extra "^10.0.0" + husky "^7.0.2" + micromatch "^4.0.4" perfy "^1.1.5" - prettier "^2.1.2" - semver "^7.3.2" - yargs "^16.1.0" + prettier "^2.4.1" + semver "^7.3.5" + yargs "^16.2.0" "@dhis2/cli-utils-cypress@^7.0.1": version "7.0.1" @@ -2481,6 +2469,21 @@ minimatch "^3.0.4" strip-json-comments "^3.1.1" +"@eslint/eslintrc@^0.4.3": + version "0.4.3" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.3.tgz#9e42981ef035beb3dd49add17acb96e8ff6f394c" + integrity sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw== + dependencies: + ajv "^6.12.4" + debug "^4.1.1" + espree "^7.3.0" + globals "^13.9.0" + ignore "^4.0.6" + import-fresh "^3.2.1" + js-yaml "^3.13.1" + minimatch "^3.0.4" + strip-json-comments "^3.1.1" + "@hapi/address@2.x.x": version "2.1.4" resolved "https://registry.yarnpkg.com/@hapi/address/-/address-2.1.4.tgz#5d67ed43f3fd41a69d4b9ff7b56e7c0d1d0a81e5" @@ -2553,6 +2556,20 @@ dependencies: "@hapi/hoek" "^9.0.0" +"@humanwhocodes/config-array@^0.5.0": + version "0.5.0" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.5.0.tgz#1407967d4c6eecd7388f83acf1eaf4d0c6e58ef9" + integrity sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg== + dependencies: + "@humanwhocodes/object-schema" "^1.2.0" + debug "^4.1.1" + minimatch "^3.0.4" + +"@humanwhocodes/object-schema@^1.2.0": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" + integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== + "@istanbuljs/load-nyc-config@^1.0.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" @@ -2914,6 +2931,11 @@ resolved "https://registry.yarnpkg.com/@juggle/resize-observer/-/resize-observer-3.3.1.tgz#b50a781709c81e10701004214340f25475a171a0" integrity sha512-zMM9Ds+SawiUkakS7y94Ymqx+S0ORzpG3frZirN3l+UlXUmSUR7hF4wxCVqW+ei94JzV5kt0uXBcoOEAuiydrw== +"@ls-lint/ls-lint@^1.10.0": + version "1.11.0" + resolved "https://registry.yarnpkg.com/@ls-lint/ls-lint/-/ls-lint-1.11.0.tgz#fff074121e72bbbf6f1e5da05b916196039479df" + integrity sha512-YwVzEaGDM5LvRN7fn+8hYLTgcXsyksAr3V1x76/V3mWyaqKUAo4llcCd8lYoBCo4bxVgFq2pzPDQpeunZejLQg== + "@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" @@ -4126,6 +4148,16 @@ ajv@^7.0.2: require-from-string "^2.0.2" uri-js "^4.2.2" +ajv@^8.0.1: + version "8.11.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.11.0.tgz#977e91dd96ca669f54a11e23e378e33b884a565f" + integrity sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg== + dependencies: + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" + ajv@^8.6.0: version "8.6.2" resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.6.2.tgz#2fb45e0e5fcbc0813326c1c3da535d1881bb0571" @@ -4357,6 +4389,17 @@ array-includes@^3.1.1, array-includes@^3.1.2: get-intrinsic "^1.1.1" is-string "^1.0.5" +array-includes@^3.1.4: + version "3.1.5" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.5.tgz#2c320010db8d31031fd2a5f6b3bbd4b1aad31bdb" + integrity sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.19.5" + get-intrinsic "^1.1.1" + is-string "^1.0.7" + array-union@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" @@ -4398,6 +4441,16 @@ array.prototype.flatmap@^1.2.3: es-abstract "^1.18.0-next.1" function-bind "^1.1.1" +array.prototype.flatmap@^1.2.5: + version "1.3.0" + resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.0.tgz#a7e8ed4225f4788a70cd910abcf0791e76a5534f" + integrity sha512-PZC9/8TKAIxcWKdyeb77EzULHPrIX/tIZebLJUQOMR1OwYosT8yggdfWScfTBCDj5utONvOuPQQumYsU2ULbkg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.2" + es-shim-unscopables "^1.0.0" + arrify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" @@ -5518,14 +5571,6 @@ chalk@2.4.2, chalk@^2.0.0, chalk@^2.0.1, chalk@^2.4.1, chalk@^2.4.2: escape-string-regexp "^1.0.5" supports-color "^5.3.0" -chalk@4.1.0, chalk@^4.0.0, chalk@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" - integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - chalk@^1.0.0, chalk@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" @@ -5545,6 +5590,14 @@ chalk@^3.0.0: ansi-styles "^4.1.0" supports-color "^7.1.0" +chalk@^4.0.0, chalk@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" + integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + char-regex@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" @@ -5954,11 +6007,6 @@ compare-func@^2.0.0: array-ify "^1.0.0" dot-prop "^5.1.0" -compare-versions@^3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/compare-versions/-/compare-versions-3.6.0.tgz#1a5689913685e5a87637b8d3ffca75514ec41d62" - integrity sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA== - component-emitter@^1.2.1: version "1.3.0" resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" @@ -6080,10 +6128,10 @@ content-type@~1.0.4: resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== -conventional-changelog-angular@^5.0.0: - version "5.0.12" - resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-5.0.12.tgz#c979b8b921cbfe26402eb3da5bbfda02d865a2b9" - integrity sha512-5GLsbnkR/7A89RyHLvvoExbiGbd9xKdKqDTrArnPbOqBqG/2wIosu0fHwpeIRI8Tl94MhVNBXcLJZl92ZQ5USw== +conventional-changelog-angular@^5.0.11: + version "5.0.13" + resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-5.0.13.tgz#896885d63b914a70d4934b59d2fe7bde1832b28c" + integrity sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA== dependencies: compare-func "^2.0.0" q "^1.5.1" @@ -6172,7 +6220,7 @@ core-js@^2.4.0: resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.12.tgz#d9333dfa7b065e347cc5682219d6f690859cc2ec" integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ== -core-js@^3.6.1, core-js@^3.6.5: +core-js@^3.6.5: version "3.9.1" resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.9.1.tgz#cec8de593db8eb2a85ffb0dbdeb312cb6e5460ae" integrity sha512-gSjRvzkxQc1zjM/5paAmL4idJBFzuJoo+jDjF1tStYFMV2ERfD02HhahhCGXUyHxQRG4yFKVSdO6g62eoRMcDg== @@ -6831,6 +6879,14 @@ define-properties@^1.1.2, define-properties@^1.1.3: dependencies: object-keys "^1.0.12" +define-properties@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.4.tgz#0b14d7bd7fbeb2f3572c3a7eda80ea5d57fb05b1" + integrity sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA== + dependencies: + has-property-descriptors "^1.0.0" + object-keys "^1.1.1" + define-property@^0.2.5: version "0.2.5" resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" @@ -7355,11 +7411,47 @@ es-abstract@^1.18.0-next.1, es-abstract@^1.18.0-next.2: string.prototype.trimstart "^1.0.4" unbox-primitive "^1.0.0" +es-abstract@^1.19.0, es-abstract@^1.19.1, es-abstract@^1.19.2, es-abstract@^1.19.5: + version "1.20.0" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.20.0.tgz#b2d526489cceca004588296334726329e0a6bfb6" + integrity sha512-URbD8tgRthKD3YcC39vbvSDrX23upXnPcnGAjQfgxXF5ID75YcENawc9ZX/9iTP9ptUyfCLIxTTuMYoRfiOVKA== + dependencies: + call-bind "^1.0.2" + es-to-primitive "^1.2.1" + function-bind "^1.1.1" + function.prototype.name "^1.1.5" + get-intrinsic "^1.1.1" + get-symbol-description "^1.0.0" + has "^1.0.3" + has-property-descriptors "^1.0.0" + has-symbols "^1.0.3" + internal-slot "^1.0.3" + is-callable "^1.2.4" + is-negative-zero "^2.0.2" + is-regex "^1.1.4" + is-shared-array-buffer "^1.0.2" + is-string "^1.0.7" + is-weakref "^1.0.2" + object-inspect "^1.12.0" + object-keys "^1.1.1" + object.assign "^4.1.2" + regexp.prototype.flags "^1.4.1" + string.prototype.trimend "^1.0.5" + string.prototype.trimstart "^1.0.5" + unbox-primitive "^1.0.2" + es-module-lexer@^0.7.1: version "0.7.1" resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-0.7.1.tgz#c2c8e0f46f2df06274cdaf0dd3f3b33e0a0b267d" integrity sha512-MgtWFl5No+4S3TmhDmCz2ObFGm6lEpTnzbQi+Dd+pw4mlTIZTmM2iAs5gRlmx5zS9luzobCSBSI90JM/1/JgOw== +es-shim-unscopables@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz#702e632193201e3edf8713635d083d378e510241" + integrity sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w== + dependencies: + has "^1.0.3" + es-to-primitive@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" @@ -7415,6 +7507,11 @@ escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= +escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + escodegen@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.0.0.tgz#5e32b12833e8aa8fa35e1bf0befa89380484c7dd" @@ -7427,12 +7524,10 @@ escodegen@^2.0.0: optionalDependencies: source-map "~0.6.1" -eslint-config-prettier@^6.15.0: - version "6.15.0" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-6.15.0.tgz#7f93f6cb7d45a92f1537a70ecc06366e1ac6fed9" - integrity sha512-a1+kOYLR8wMGustcgAjdydMsQ2A/2ipRPwRKUmfYaSxc9ZPcrku080Ctl6zrZzZNs/U82MjSv+qKREkoq3bJaw== - dependencies: - get-stdin "^6.0.0" +eslint-config-prettier@^8.3.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" @@ -7515,13 +7610,6 @@ eslint-plugin-jsx-a11y@^6.3.1: jsx-ast-utils "^3.1.0" language-tags "^1.0.5" -eslint-plugin-prettier@^3.1.4: - version "3.3.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-3.3.1.tgz#7079cfa2497078905011e6f82e8dd8453d1371b7" - integrity sha512-Rq3jkcFY8RYeQLgk2cCwuc0P7SEFwDravPhsJZOQ5N4YI4DSg50NyqJ/9gdZHzQlHf8MvafSesbNJCcP/FF6pQ== - dependencies: - prettier-linter-helpers "^1.0.0" - eslint-plugin-react-hooks@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.2.0.tgz#8c229c268d468956334c943bb45fc860280f5556" @@ -7544,6 +7632,26 @@ eslint-plugin-react@^7.21.5: resolve "^1.18.1" string.prototype.matchall "^4.0.2" +eslint-plugin-react@^7.26.0: + version "7.29.4" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.29.4.tgz#4717de5227f55f3801a5fd51a16a4fa22b5914d2" + integrity sha512-CVCXajliVh509PcZYRFyu/BoUEz452+jtQJq2b3Bae4v3xBUWPLCmtmBM+ZinG4MzwmxJgJ2M5rMqhqLVn7MtQ== + dependencies: + array-includes "^3.1.4" + array.prototype.flatmap "^1.2.5" + doctrine "^2.1.0" + estraverse "^5.3.0" + jsx-ast-utils "^2.4.1 || ^3.0.0" + minimatch "^3.1.2" + object.entries "^1.1.5" + object.fromentries "^2.0.5" + object.hasown "^1.1.0" + object.values "^1.1.5" + prop-types "^15.8.1" + resolve "^2.0.0-next.3" + semver "^6.3.0" + string.prototype.matchall "^4.0.6" + eslint-plugin-testing-library@^3.9.2: version "3.10.1" resolved "https://registry.yarnpkg.com/eslint-plugin-testing-library/-/eslint-plugin-testing-library-3.10.1.tgz#4dd02306d601c3238fdabf1d1dbc5f2a8e85d531" @@ -7595,7 +7703,7 @@ eslint-webpack-plugin@^2.5.2: micromatch "^4.0.2" schema-utils "^3.0.0" -eslint@^7.11.0, eslint@^7.12.1: +eslint@^7.11.0: version "7.21.0" resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.21.0.tgz#4ecd5b8c5b44f5dedc9b8a110b01bbfeb15d1c83" integrity sha512-W2aJbXpMNofUp0ztQaF40fveSsJBjlSCSWpy//gzfTvwC+USs/nceBrKmlJOiM8r1bLwP2EuYkCqArn/6QTIgg== @@ -7638,6 +7746,52 @@ eslint@^7.11.0, eslint@^7.12.1: text-table "^0.2.0" v8-compile-cache "^2.0.3" +eslint@^7.32.0: + version "7.32.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.32.0.tgz#c6d328a14be3fb08c8d1d21e12c02fdb7a2a812d" + integrity sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA== + dependencies: + "@babel/code-frame" "7.12.11" + "@eslint/eslintrc" "^0.4.3" + "@humanwhocodes/config-array" "^0.5.0" + ajv "^6.10.0" + chalk "^4.0.0" + cross-spawn "^7.0.2" + debug "^4.0.1" + doctrine "^3.0.0" + enquirer "^2.3.5" + escape-string-regexp "^4.0.0" + eslint-scope "^5.1.1" + eslint-utils "^2.1.0" + eslint-visitor-keys "^2.0.0" + espree "^7.3.1" + esquery "^1.4.0" + esutils "^2.0.2" + fast-deep-equal "^3.1.3" + file-entry-cache "^6.0.1" + functional-red-black-tree "^1.0.1" + glob-parent "^5.1.2" + globals "^13.6.0" + ignore "^4.0.6" + import-fresh "^3.0.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + js-yaml "^3.13.1" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.4.1" + lodash.merge "^4.6.2" + minimatch "^3.0.4" + natural-compare "^1.4.0" + optionator "^0.9.1" + progress "^2.0.0" + regexpp "^3.1.0" + semver "^7.2.1" + strip-ansi "^6.0.0" + strip-json-comments "^3.1.0" + table "^6.0.9" + text-table "^0.2.0" + v8-compile-cache "^2.0.3" + espree@^7.3.0, espree@^7.3.1: version "7.3.1" resolved "https://registry.yarnpkg.com/espree/-/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6" @@ -7676,6 +7830,11 @@ estraverse@^5.1.0, estraverse@^5.2.0: resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880" integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== +estraverse@^5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" + integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== + estree-walker@^0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.6.1.tgz#53049143f40c6eb918b23671d1fe3219f3a1b362" @@ -7952,17 +8111,12 @@ extsprintf@^1.2.0: resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= -fast-deep-equal@^3.1.1: +fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== -fast-diff@^1.1.2: - version "1.2.0" - resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03" - integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== - -fast-glob@^3.1.1, fast-glob@^3.2.4: +fast-glob@^3.1.1: version "3.2.5" resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.5.tgz#7939af2a656de79a4f1901903ee8adcaa7cb9661" integrity sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg== @@ -7974,6 +8128,17 @@ fast-glob@^3.1.1, fast-glob@^3.2.4: micromatch "^4.0.2" picomatch "^2.2.1" +fast-glob@^3.2.5: + version "3.2.11" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.11.tgz#a1172ad95ceb8a16e20caa5c5e56480e5129c1d9" + integrity sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" + fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" @@ -8161,13 +8326,6 @@ find-up@^5.0.0: locate-path "^6.0.0" path-exists "^4.0.0" -find-versions@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/find-versions/-/find-versions-4.0.0.tgz#3c57e573bf97769b8cb8df16934b627915da4965" - integrity sha512-wgpWy002tA+wgmO27buH/9KzyEOQnKsG/R0yrcjPT9BOFm0zRBVQbZ95nRGXWMywS8YR5knRbpohio0bcJABxQ== - dependencies: - semver-regex "^3.1.2" - flat-cache@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" @@ -8285,6 +8443,15 @@ fs-extra@9.0.0: jsonfile "^6.0.1" universalify "^1.0.0" +fs-extra@^10.0.0: + version "10.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf" + integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + fs-extra@^7.0.0: version "7.0.1" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" @@ -8368,11 +8535,26 @@ function-bind@^1.1.1: resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== +function.prototype.name@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.5.tgz#cce0505fe1ffb80503e6f9e46cc64e46a12a9621" + integrity sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.0" + functions-have-names "^1.2.2" + functional-red-black-tree@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= +functions-have-names@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" + integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== + gaze@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/gaze/-/gaze-1.1.3.tgz#c441733e13b927ac8c0ff0b4c3b033f28812924a" @@ -8419,16 +8601,6 @@ get-package-type@^0.1.0: resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== -get-stdin@8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-8.0.0.tgz#cbad6a73feb75f6eeb22ba9e01f89aa28aa97a53" - integrity sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg== - -get-stdin@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-6.0.0.tgz#9e09bf712b360ab9225e812048f71fde9c89657b" - integrity sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g== - get-stream@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" @@ -8453,6 +8625,14 @@ get-stream@^6.0.0: resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== +get-symbol-description@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" + integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.1" + get-value@^2.0.3, get-value@^2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" @@ -8512,6 +8692,13 @@ glob-parent@^5.0.0, glob-parent@^5.1.0, glob-parent@~5.1.0: dependencies: is-glob "^4.0.1" +glob-parent@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + glob-stream@^6.1.0: version "6.1.0" resolved "https://registry.yarnpkg.com/glob-stream/-/glob-stream-6.1.0.tgz#7045c99413b3eb94888d83ab46d0b404cc7bdde4" @@ -8587,6 +8774,13 @@ globals@^12.1.0: dependencies: type-fest "^0.8.1" +globals@^13.6.0, globals@^13.9.0: + version "13.14.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.14.0.tgz#daf3ff9b4336527cf56e98330b6f64bea9aff9df" + integrity sha512-ERO68sOYwm5UuLvSJTY7w7NP2c8S4UcXs3X1GBX8cwOr+ShOcDBbCY5mH4zxz0jsYCdJ8ve8Mv9n2YGJMB1aeg== + dependencies: + type-fest "^0.20.2" + globby@11.0.1: version "11.0.1" resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.1.tgz#9a2bf107a068f3ffeabc49ad702c79ede8cfd357" @@ -8732,6 +8926,11 @@ has-bigints@^1.0.0: resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.1.tgz#64fe6acb020673e3b78db035a5af69aa9d07b113" integrity sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA== +has-bigints@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" + integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== + has-flag@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" @@ -8742,11 +8941,30 @@ has-flag@^4.0.0: resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== +has-property-descriptors@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz#610708600606d36961ed04c196193b6a607fa861" + integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== + dependencies: + get-intrinsic "^1.1.1" + has-symbols@^1.0.0, has-symbols@^1.0.1, has-symbols@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423" integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw== +has-symbols@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" + integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== + +has-tostringtag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" + integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== + dependencies: + has-symbols "^1.0.2" + has-value@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" @@ -9056,21 +9274,10 @@ human-signals@^2.1.0: resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== -husky@^4.3.0: - version "4.3.8" - resolved "https://registry.yarnpkg.com/husky/-/husky-4.3.8.tgz#31144060be963fd6850e5cc8f019a1dfe194296d" - integrity sha512-LCqqsB0PzJQ/AlCgfrfzRe3e3+NvmefAdKQhRYpxS4u6clblBoDdzzvHi8fmxKRzvMxPY/1WZWzomPZww0Anow== - dependencies: - chalk "^4.0.0" - ci-info "^2.0.0" - compare-versions "^3.6.0" - cosmiconfig "^7.0.0" - find-versions "^4.0.0" - opencollective-postinstall "^2.0.2" - pkg-dir "^5.0.0" - please-upgrade-node "^3.2.0" - slash "^3.0.0" - which-pm-runs "^1.0.0" +husky@^7.0.2: + version "7.0.4" + resolved "https://registry.yarnpkg.com/husky/-/husky-7.0.4.tgz#242048245dc49c8fb1bf0cc7cfb98dd722531535" + integrity sha512-vbaCKN2QLtP/vD4yvs6iz6hBEo6wkSzs8HpRah1Z6aGmF2KW5PdYuAd7uX5a+OyBZHBhd+TFLqgjUgytQr4RvQ== i18next-conv@^9: version "9.2.1" @@ -9455,6 +9662,11 @@ is-callable@^1.1.4, is-callable@^1.2.2, is-callable@^1.2.3: resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.3.tgz#8b1e0500b73a1d76c70487636f368e519de8db8e" integrity sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ== +is-callable@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" + integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== + is-ci@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" @@ -9624,6 +9836,11 @@ is-negative-zero@^2.0.1: resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.1.tgz#3de746c18dda2319241a53675908d8f766f11c24" integrity sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w== +is-negative-zero@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" + integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== + is-npm@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-3.0.0.tgz#ec9147bfb629c43f494cf67936a961edec7e8053" @@ -9724,6 +9941,14 @@ is-regex@^1.0.4, is-regex@^1.1.1, is-regex@^1.1.2: call-bind "^1.0.2" has-symbols "^1.0.1" +is-regex@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" + integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + is-regexp@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" @@ -9746,6 +9971,13 @@ is-root@2.1.0: resolved "https://registry.yarnpkg.com/is-root/-/is-root-2.1.0.tgz#809e18129cf1129644302a4f8544035d51984a9c" integrity sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg== +is-shared-array-buffer@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79" + integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== + dependencies: + call-bind "^1.0.2" + is-stream@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" @@ -9761,6 +9993,13 @@ is-string@^1.0.5: resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.5.tgz#40493ed198ef3ff477b8c7f92f644ec82a5cd3a6" integrity sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ== +is-string@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" + integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== + dependencies: + has-tostringtag "^1.0.0" + is-svg@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-svg/-/is-svg-3.0.0.tgz#9321dbd29c212e5ca99c4fa9794c714bcafa2f75" @@ -9809,6 +10048,13 @@ is-valid-glob@^1.0.0: resolved "https://registry.yarnpkg.com/is-valid-glob/-/is-valid-glob-1.0.0.tgz#29bf3eff701be2d4d315dbacc39bc39fe8f601aa" integrity sha1-Kb8+/3Ab4tTTFdusw5vDn+j2Aao= +is-weakref@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" + integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== + dependencies: + call-bind "^1.0.2" + is-windows@^1.0.1, is-windows@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" @@ -11253,6 +11499,11 @@ lodash.memoize@~3.0.3: resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-3.0.4.tgz#2dcbd2c287cbc0a55cc42328bd0c736150d53e3f" integrity sha1-LcvSwofLwKVcxCMovQxzYVDVPj8= +lodash.merge@^4.6.2: + version "4.6.2" + resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" + integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== + lodash.once@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac" @@ -11278,6 +11529,11 @@ lodash.templatesettings@^4.0.0: dependencies: lodash._reinterpolate "^3.0.0" +lodash.truncate@^4.4.2: + version "4.4.2" + resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" + integrity sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM= + lodash.union@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/lodash.union/-/lodash.union-4.6.0.tgz#48bb5088409f16f1821666641c44dd1aaae3cd88" @@ -11643,6 +11899,13 @@ minimatch@3.0.4, minimatch@^3.0.2, minimatch@^3.0.4, minimatch@~3.0.2: dependencies: brace-expansion "^1.1.7" +minimatch@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + dependencies: + brace-expansion "^1.1.7" + minimist-options@4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619" @@ -12117,6 +12380,11 @@ object-copy@^0.1.0: define-property "^0.2.5" kind-of "^3.0.3" +object-inspect@^1.12.0: + version "1.12.0" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.0.tgz#6e2c120e868fd1fd18cb4f18c31741d0d6e776f0" + integrity sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g== + object-inspect@^1.8.0, object-inspect@^1.9.0: version "1.9.0" resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.9.0.tgz#c90521d74e1127b67266ded3394ad6116986533a" @@ -12162,6 +12430,15 @@ object.entries@^1.1.0, object.entries@^1.1.2: es-abstract "^1.18.0-next.1" has "^1.0.3" +object.entries@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.5.tgz#e1acdd17c4de2cd96d5a08487cfb9db84d881861" + integrity sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.1" + object.fromentries@^2.0.2: version "2.0.4" resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.4.tgz#26e1ba5c4571c5c6f0890cef4473066456a120b8" @@ -12172,6 +12449,15 @@ object.fromentries@^2.0.2: es-abstract "^1.18.0-next.2" has "^1.0.3" +object.fromentries@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.5.tgz#7b37b205109c21e741e605727fe8b0ad5fa08251" + integrity sha512-CAyG5mWQRRiBU57Re4FKoTBjXfDoNwdFVH2Y1tS9PqCsfUTymAohOkEMSG3aRNKmv4lV3O7p1et7c187q6bynw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.1" + object.getownpropertydescriptors@^2.0.3, object.getownpropertydescriptors@^2.1.0: version "2.1.2" resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.2.tgz#1bd63aeacf0d5d2d2f31b5e393b03a7c601a23f7" @@ -12181,6 +12467,14 @@ object.getownpropertydescriptors@^2.0.3, object.getownpropertydescriptors@^2.1.0 define-properties "^1.1.3" es-abstract "^1.18.0-next.2" +object.hasown@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.1.1.tgz#ad1eecc60d03f49460600430d97f23882cf592a3" + integrity sha512-LYLe4tivNQzq4JdaWW6WO3HMZZJWzkkH8fnI6EebWl0VZth2wL2Lovm74ep2/gZzlaTdV62JZHEqHQ2yVn8Q/A== + dependencies: + define-properties "^1.1.4" + es-abstract "^1.19.5" + object.pick@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" @@ -12198,6 +12492,15 @@ object.values@^1.1.0, object.values@^1.1.1: es-abstract "^1.18.0-next.2" has "^1.0.3" +object.values@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.5.tgz#959f63e3ce9ef108720333082131e4a459b716ac" + integrity sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.1" + oblivious-set@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/oblivious-set/-/oblivious-set-1.0.0.tgz#c8316f2c2fb6ff7b11b6158db3234c49f733c566" @@ -12254,11 +12557,6 @@ open@^7.0.2, open@^7.3.1: is-docker "^2.0.0" is-wsl "^2.1.1" -opencollective-postinstall@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz#7a0fff978f6dbfa4d006238fbac98ed4198c3259" - integrity sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q== - opn@^5.5.0: version "5.5.0" resolved "https://registry.yarnpkg.com/opn/-/opn-5.5.0.tgz#fc7164fab56d235904c51c3b27da6758ca3b9bfc" @@ -12721,13 +13019,6 @@ pkg-dir@^4.1.0, pkg-dir@^4.2.0: dependencies: find-up "^4.0.0" -pkg-dir@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-5.0.0.tgz#a02d6aebe6ba133a928f74aec20bafdfe6b8e760" - integrity sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA== - dependencies: - find-up "^5.0.0" - pkg-up@3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-3.1.0.tgz#100ec235cc150e4fd42519412596a28512a0def5" @@ -12735,13 +13026,6 @@ pkg-up@3.1.0: dependencies: find-up "^3.0.0" -please-upgrade-node@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz#aeddd3f994c933e4ad98b99d9a556efa0e2fe942" - integrity sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg== - dependencies: - semver-compare "^1.0.0" - pnp-webpack-plugin@1.6.4: version "1.6.4" resolved "https://registry.yarnpkg.com/pnp-webpack-plugin/-/pnp-webpack-plugin-1.6.4.tgz#c9711ac4dc48a685dabafc86f8b6dd9f8df84149" @@ -13454,17 +13738,10 @@ prepend-http@^2.0.0: resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897" integrity sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc= -prettier-linter-helpers@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz#d23d41fe1375646de2d0104d3454a3008802cf7b" - integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w== - dependencies: - fast-diff "^1.1.2" - -prettier@^2.1.2: - version "2.2.1" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.2.1.tgz#795a1a78dd52f073da0cd42b21f9c91381923ff5" - integrity sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q== +prettier@^2.4.1: + version "2.6.2" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.6.2.tgz#e26d71a18a74c3d0f0597f55f01fb6c06c206032" + integrity sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew== pretty-bytes@^5.3.0, pretty-bytes@^5.4.1: version "5.6.0" @@ -13542,6 +13819,15 @@ prop-types@^15, prop-types@^15.6.0, prop-types@^15.6.2, prop-types@^15.7.2: object-assign "^4.1.1" react-is "^16.8.1" +prop-types@^15.8.1: + version "15.8.1" + resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" + integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== + dependencies: + loose-envify "^1.4.0" + object-assign "^4.1.1" + react-is "^16.13.1" + proxy-addr@~2.0.5: version "2.0.6" resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.6.tgz#fdc2336505447d3f2f2c638ed272caf614bbb2bf" @@ -13803,7 +14089,7 @@ react-final-form@^6.5.3: dependencies: "@babel/runtime" "^7.12.1" -react-is@^16.6.0, react-is@^16.7.0, react-is@^16.8.1: +react-is@^16.13.1, react-is@^16.6.0, react-is@^16.7.0, react-is@^16.8.1: version "16.13.1" resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== @@ -14109,6 +14395,15 @@ regexp.prototype.flags@^1.2.0, regexp.prototype.flags@^1.3.1: call-bind "^1.0.2" define-properties "^1.1.3" +regexp.prototype.flags@^1.4.1: + version "1.4.3" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz#87cab30f80f66660181a3bb7bf5981a872b367ac" + integrity sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + functions-have-names "^1.2.2" + regexpp@^3.0.0, regexpp@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.1.0.tgz#206d0ad0a5648cffbdb8ae46438f3dc51c9f78e2" @@ -14374,6 +14669,14 @@ resolve@^1.1.4, resolve@^1.10.0, resolve@^1.12.0, resolve@^1.13.1, resolve@^1.14 is-core-module "^2.2.0" path-parse "^1.0.6" +resolve@^2.0.0-next.3: + version "2.0.0-next.3" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.3.tgz#d41016293d4a8586a39ca5d9b5f15cbea1f55e46" + integrity sha512-W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q== + dependencies: + is-core-module "^2.2.0" + path-parse "^1.0.6" + responselike@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/responselike/-/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7" @@ -14672,11 +14975,6 @@ selfsigned@^1.10.8: dependencies: node-forge "^0.10.0" -semver-compare@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" - integrity sha1-De4hahyUGrN+nvsXiPavxf9VN/w= - semver-diff@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-2.1.0.tgz#4bbb8437c8d37e4b0cf1a68fd726ec6d645d6d36" @@ -14684,11 +14982,6 @@ semver-diff@^2.0.0: dependencies: semver "^5.0.3" -semver-regex@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/semver-regex/-/semver-regex-3.1.2.tgz#34b4c0d361eef262e07199dbef316d0f2ab11807" - integrity sha512-bXWyL6EAKOJa81XG1OZ/Yyuq+oT0b2YLlxx7c+mrdYPaPbnj6WgVULXhinMIeZGufuUBu/eVRqXEhiv4imfwxA== - "semver@2 || 3 || 4 || 5", semver@^5.0.3, semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0: version "5.7.1" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" @@ -14704,6 +14997,13 @@ semver@7.3.2: resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938" integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ== +semver@7.3.5: + version "7.3.5" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" + integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== + dependencies: + lru-cache "^6.0.0" + semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.2.0, semver@^6.3.0: version "6.3.0" resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" @@ -14716,6 +15016,13 @@ semver@^7.2.1, semver@^7.3.2: dependencies: lru-cache "^6.0.0" +semver@^7.3.5: + version "7.3.7" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f" + integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g== + dependencies: + lru-cache "^6.0.0" + send@0.17.1: version "0.17.1" resolved "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8" @@ -15359,6 +15666,15 @@ string-width@^4.1.0, string-width@^4.2.0: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.0" +string-width@^4.2.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + string.prototype.matchall@^4.0.2: version "4.0.4" resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.4.tgz#608f255e93e072107f5de066f81a2dfb78cf6b29" @@ -15372,6 +15688,20 @@ string.prototype.matchall@^4.0.2: regexp.prototype.flags "^1.3.1" side-channel "^1.0.4" +string.prototype.matchall@^4.0.6: + version "4.0.7" + resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.7.tgz#8e6ecb0d8a1fb1fda470d81acecb2dba057a481d" + integrity sha512-f48okCX7JiwVi1NXCVWcFnZgADDC/n2vePlQ/KUCNqCikLLilQvwjMO8+BHVKvgzH0JB0J9LEPgxOGT02RoETg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.1" + get-intrinsic "^1.1.1" + has-symbols "^1.0.3" + internal-slot "^1.0.3" + regexp.prototype.flags "^1.4.1" + side-channel "^1.0.4" + string.prototype.trimend@^1.0.1, string.prototype.trimend@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz#e75ae90c2942c63504686c18b287b4a0b1a45f80" @@ -15380,6 +15710,15 @@ string.prototype.trimend@^1.0.1, string.prototype.trimend@^1.0.4: call-bind "^1.0.2" define-properties "^1.1.3" +string.prototype.trimend@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz#914a65baaab25fbdd4ee291ca7dde57e869cb8d0" + integrity sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.19.5" + string.prototype.trimstart@^1.0.1, string.prototype.trimstart@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz#b36399af4ab2999b4c9c648bd7a3fb2bb26feeed" @@ -15388,6 +15727,15 @@ string.prototype.trimstart@^1.0.1, string.prototype.trimstart@^1.0.4: call-bind "^1.0.2" define-properties "^1.1.3" +string.prototype.trimstart@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz#5466d93ba58cfa2134839f81d7f42437e8c01fef" + integrity sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.19.5" + string_decoder@^1.0.0, string_decoder@^1.1.1: version "1.3.0" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" @@ -15439,6 +15787,13 @@ strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: dependencies: ansi-regex "^4.1.0" +strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + strip-bom@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" @@ -15629,6 +15984,17 @@ table@^6.0.4: slice-ansi "^4.0.0" string-width "^4.2.0" +table@^6.0.9: + version "6.8.0" + resolved "https://registry.yarnpkg.com/table/-/table-6.8.0.tgz#87e28f14fa4321c3377ba286f07b79b281a3b3ca" + integrity sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA== + dependencies: + ajv "^8.0.1" + lodash.truncate "^4.4.2" + slice-ansi "^4.0.0" + string-width "^4.2.3" + strip-ansi "^6.0.1" + tapable@^1.0.0, tapable@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" @@ -16145,6 +16511,11 @@ type-fest@^0.18.0: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.18.1.tgz#db4bc151a4a2cf4eebf9add5db75508db6cc841f" integrity sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw== +type-fest@^0.20.2: + version "0.20.2" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" + integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== + type-fest@^0.3.0, type-fest@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.3.1.tgz#63d00d204e059474fe5e1b7c011112bbd1dc29e1" @@ -16220,6 +16591,16 @@ unbox-primitive@^1.0.0: has-symbols "^1.0.0" which-boxed-primitive "^1.0.1" +unbox-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" + integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== + dependencies: + call-bind "^1.0.2" + has-bigints "^1.0.2" + has-symbols "^1.0.3" + which-boxed-primitive "^1.0.2" + unc-path-regex@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa" @@ -16910,7 +17291,7 @@ whatwg-url@^8.0.0, whatwg-url@^8.5.0: tr46 "^2.1.0" webidl-conversions "^6.1.0" -which-boxed-primitive@^1.0.1: +which-boxed-primitive@^1.0.1, which-boxed-primitive@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== @@ -16926,11 +17307,6 @@ which-module@^2.0.0: resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= -which-pm-runs@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/which-pm-runs/-/which-pm-runs-1.0.0.tgz#670b3afbc552e0b55df6b7780ca74615f23ad1cb" - integrity sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs= - which@^1.2.9, which@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" @@ -17446,7 +17822,7 @@ yargs@^13.1.0, yargs@^13.3.0, yargs@^13.3.2: y18n "^4.0.0" yargs-parser "^13.1.2" -yargs@^15.1.0, yargs@^15.4.1: +yargs@^15.4.1: version "15.4.1" resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== @@ -17463,7 +17839,7 @@ yargs@^15.1.0, yargs@^15.4.1: y18n "^4.0.0" yargs-parser "^18.1.2" -yargs@^16.0.3, yargs@^16.1.0, yargs@^16.2.0: +yargs@^16.0.3, yargs@^16.2.0: version "16.2.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==