diff --git a/.github/workflows/cd-workflow.yml b/.github/workflows/cd-workflow.yml
index 81d6e656..439779bf 100644
--- a/.github/workflows/cd-workflow.yml
+++ b/.github/workflows/cd-workflow.yml
@@ -27,7 +27,7 @@ jobs:
- name: Set-up Node
uses: actions/setup-node@v1
with:
- node-version: '16.13.0'
+ node-version: '16.19.0'
- name: Install Yarn
run: npm install -g yarn
- name: Get yarn cache directory path
diff --git a/.github/workflows/test-workflow.yml b/.github/workflows/test-workflow.yml
index 2f676c2f..809ef7a1 100644
--- a/.github/workflows/test-workflow.yml
+++ b/.github/workflows/test-workflow.yml
@@ -42,7 +42,7 @@ jobs:
needs: build-id
runs-on: ubuntu-latest
container:
- image: cypress/browsers:node16.13.0-chrome95-ff94
+ image: cypress/browsers:node16.16.0-chrome107-ff107
options: --user 1001
strategy:
fail-fast: false
diff --git a/.tool-versions b/.tool-versions
index ddba737d..3b2e1e77 100644
--- a/.tool-versions
+++ b/.tool-versions
@@ -1,2 +1,2 @@
# MUST match .node-version
-nodejs 16.13.0
\ No newline at end of file
+nodejs 16.19.0
diff --git a/README.md b/README.md
index ddeecc36..b436de3e 100644
--- a/README.md
+++ b/README.md
@@ -30,7 +30,7 @@ If you wish to maintain + deploy your own version of PagerDuty Live, we recommen
#### Local Development
-1. Install [NodeJS v16.13](https://nodejs.org/tr/blog/release/v16.13.0/) via [`asdf install`](https://github.com/asdf-vm/asdf) / [`nvm`](https://github.com/nvm-sh/nvm)
+1. Install [NodeJS v16.19](https://nodejs.org/tr/blog/release/v16.19.0/) via [`asdf install`](https://github.com/asdf-vm/asdf) / [`nvm`](https://github.com/nvm-sh/nvm)
2. `$ git clone` repo to desired destination and `$ cd pd-live-react` into directory
diff --git a/cypress/e2e/Query/query.spec.js b/cypress/e2e/Query/query.spec.js
index f56c379f..9edd681f 100644
--- a/cypress/e2e/Query/query.spec.js
+++ b/cypress/e2e/Query/query.spec.js
@@ -8,6 +8,7 @@ import {
import {
acceptDisclaimer,
waitForIncidentTable,
+ updateAutoAcceptIncidentQuery,
activateButton,
deactivateButton,
checkIncidentCellContentAllRows,
@@ -43,7 +44,7 @@ describe('Query Incidents', { failFast: { enabled: false } }, () => {
});
it('Query for incidents within T-1 since date', () => {
- // Limit dataset to resolved low-urgency incidents
+ // Limit dataset to high-urgency triggered, ackd and resolved incidents
activateButton('query-status-resolved-button');
deactivateButton('query-urgency-low-button');
@@ -66,16 +67,27 @@ describe('Query Incidents', { failFast: { enabled: false } }, () => {
}
});
- // Reset query for next test
+ // Reset query for next test - both high and low-urgency triggered, ackd and resolved incidents
activateButton('query-urgency-low-button');
});
- it('Query for incidents exceeding MAX_INCIDENTS_LIMIT; Cancel Request', () => {
+ it('Query for incidents exceeding MAX_INCIDENTS_LIMIT with auto accept incident query on', () => {
// Update since date to T-2
const queryDate = moment()
.subtract(2, 'days')
.set({ hour: 0, minute: 0, second: 0, millisecond: 0 });
cy.get('#query-date-input').clear().type(queryDate.format('DD/MM/yyyy')).type('{enter}');
+ waitForIncidentTable();
+ });
+
+ it('Query for incidents exceeding MAX_INCIDENTS_LIMIT with auto accept incident query off; Cancel Request', () => {
+ // Set auto accept incident query to false to test cancel & allow request
+ updateAutoAcceptIncidentQuery(false);
+ // Update since date to T-3
+ const queryDate = moment()
+ .subtract(3, 'days')
+ .set({ hour: 0, minute: 0, second: 0, millisecond: 0 });
+ cy.get('#query-date-input').clear().type(queryDate.format('DD/MM/yyyy')).type('{enter}');
// Cancel request from modal
cy.get('#cancel-incident-query-button').click();
@@ -88,7 +100,7 @@ describe('Query Incidents', { failFast: { enabled: false } }, () => {
deactivateButton('query-status-resolved-button');
});
- it('Query for incidents exceeding MAX_INCIDENTS_LIMIT; Accept Request', () => {
+ it('Query for incidents exceeding MAX_INCIDENTS_LIMIT with auto accept incident query off; Accept Request', () => {
// Accept request from modal
activateButton('query-status-resolved-button');
cy.get('#retrieve-incident-query-button').click();
@@ -104,6 +116,8 @@ describe('Query Incidents', { failFast: { enabled: false } }, () => {
.set({ hour: 0, minute: 0, second: 0, millisecond: 0 });
cy.get('#query-date-input').clear().type(queryDate.format('DD/MM/yyyy')).type('{enter}');
waitForIncidentTable();
+ // Reset auto accept incident query to true
+ updateAutoAcceptIncidentQuery(true);
});
it('Query for triggered incidents only', () => {
diff --git a/cypress/e2e/Settings/settings.spec.js b/cypress/e2e/Settings/settings.spec.js
index 9f2e04b9..dbcca15f 100644
--- a/cypress/e2e/Settings/settings.spec.js
+++ b/cypress/e2e/Settings/settings.spec.js
@@ -11,6 +11,7 @@ import {
updateUserLocale,
updateDefaultSinceDateLookback,
updateMaxIncidentsLimit,
+ updateMaxRateLimit,
updateAutoAcceptIncidentQuery,
updateAutoRefreshInterval,
manageIncidentTableColumns,
@@ -90,6 +91,17 @@ describe('Manage Settings', { failFast: { enabled: false } }, () => {
).to.equal(maxIncidentsLimit));
});
+ it('Update max rate limit', () => {
+ const maxRateLimit = faker.datatype.number({ min: 100, max: 1000 });
+ updateMaxRateLimit(maxRateLimit);
+ cy.window()
+ .its('store')
+ .invoke('getState')
+ .then((state) => expect(
+ Number(state.settings.maxRateLimit),
+ ).to.equal(maxRateLimit));
+ });
+
it('Update auto-accept incident query', () => {
[true, false].forEach((autoAcceptIncidentsQuery) => {
updateAutoAcceptIncidentQuery(autoAcceptIncidentsQuery);
diff --git a/cypress/support/util/common.js b/cypress/support/util/common.js
index c782b005..b683b5b7 100644
--- a/cypress/support/util/common.js
+++ b/cypress/support/util/common.js
@@ -277,6 +277,18 @@ export const updateMaxIncidentsLimit = (limit = 200) => {
cy.get('.close').click();
};
+export const updateMaxRateLimit = (limit = 200) => {
+ cy.get('.settings-panel-dropdown').click();
+ cy.get('.dropdown-item').contains('Settings').click();
+ cy.get('.nav-item').contains('User Profile').click();
+
+ cy.get('#user-profile-max-rate-limit-input').clear().type(`${limit}{enter}`);
+
+ cy.get('.btn').contains('Update User Profile').click();
+ checkActionAlertsModalContent('Updated user profile settings');
+ cy.get('.close').click();
+};
+
export const updateAutoAcceptIncidentQuery = (autoAcceptIncidentsQuery = false) => {
cy.get('.settings-panel-dropdown').click();
cy.get('.dropdown-item').contains('Settings').click();
diff --git a/i18next-parser.config.js b/i18next-parser.config.js
index dd23e4bc..cc503e49 100644
--- a/i18next-parser.config.js
+++ b/i18next-parser.config.js
@@ -8,9 +8,10 @@ module.exports = {
defaultNamespace: 'translation',
// Default namespace used in your i18next config
- defaultValue: '',
+ defaultValue: (locale, namespace, key, value) => key,
// Default value to give to empty keys
// You may also specify a function accepting the locale, namespace, and key as arguments
+ // Ref: https://github.com/giranm/pd-live-react/pull/375
indentation: 2,
// Indentation of the catalog files
@@ -42,7 +43,7 @@ module.exports = {
lineEnding: 'auto',
// Control the line ending. See options at https://github.com/ryanve/eol
- locales: ['en', 'fr', 'es', 'de', 'ja', 'id'],
+ locales: ['en', 'fr', 'es', 'de', 'ja', 'id', 'pt', 'pt-br'],
// An array of the locales in your applications
namespaceSeparator: ':',
@@ -65,15 +66,6 @@ module.exports = {
sort: true,
// Whether or not to sort the catalog. Can also be a [compareFunction](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#parameters)
- skipDefaultValues: false,
- // Whether to ignore default values
- // You may also specify a function accepting the locale and namespace as arguments
-
- useKeysAsDefaultValue: true,
- // Whether to use the keys as the default value; ex. "Hello": "Hello", "World": "World"
- // This option takes precedence over the `defaultValue` and `skipDefaultValues` options
- // You may also specify a function accepting the locale and namespace as arguments
-
verbose: false,
// Display info about the parsing including some stats
diff --git a/package.json b/package.json
index e1c58064..9763c12f 100644
--- a/package.json
+++ b/package.json
@@ -1,12 +1,12 @@
{
"name": "pd-live-react",
"homepage": "https://giranm.github.io/pd-live-react",
- "version": "0.5.1-beta.0",
+ "version": "0.6.0-beta.0",
"private": true,
"dependencies": {
- "@braintree/sanitize-url": "^6.0.0",
- "@craco/craco": "7.0.0-alpha.3",
- "@datadog/browser-rum": "^4.23.1",
+ "@braintree/sanitize-url": "^6.0.2",
+ "@craco/craco": "7.0.0",
+ "@datadog/browser-rum": "^4.32.1",
"@fortawesome/fontawesome-svg-core": "^6.2.0",
"@fortawesome/free-brands-svg-icons": "^6.2.0",
"@fortawesome/free-regular-svg-icons": "^6.2.0",
@@ -16,9 +16,9 @@
"@testing-library/jest-dom": "^5.16.5",
"@testing-library/react": "^12.1.5",
"@testing-library/user-event": "^14.4.3",
- "@wojtekmaj/enzyme-adapter-react-17": "^0.6.7",
- "autoprefixer": "10.4.12",
- "axios": "^1.1.3",
+ "@wojtekmaj/enzyme-adapter-react-17": "^0.8.0",
+ "autoprefixer": "10.4.13",
+ "axios": "^1.2.2",
"babel-eslint": "^10.1.0",
"bootstrap": "^4.6.2",
"bottleneck": "^2.19.5",
@@ -26,9 +26,9 @@
"enzyme": "^3.11.0",
"font-awesome": "^4.7.0",
"fuse.js": "^6.6.2",
- "i18next": "^22.0.4",
+ "i18next": "^22.4.8",
"i18next-browser-languagedetector": "^7.0.1",
- "immer": "^9.0.15",
+ "immer": "^9.0.18",
"jsonpath-plus": "^7.2.0",
"lodash": "^4.17.21",
"mezr": "^0.6.2",
@@ -36,23 +36,23 @@
"node-sass": "^7.0.3",
"react": "^17.0.2",
"react-bootstrap": "^1.6.6",
- "react-datepicker": "^4.8.0",
+ "react-datepicker": "^4.10.0",
"react-dom": "^17.0.2",
- "react-dual-listbox": "^3.0.1",
- "react-i18next": "^12.0.0",
+ "react-dual-listbox": "^4.0.0",
+ "react-i18next": "^12.1.5",
"react-inject-env": "^2.0.1",
"react-redux": "^8.0.5",
"react-scripts": "5.0.1",
- "react-select": "^5.6.0",
+ "react-select": "^5.7.0",
"react-table": "^7.8.0",
"react-window": "^1.8.8",
- "redux": "^4.2.0",
+ "redux": "^4.2.1",
"redux-persist": "^6.0.0",
"redux-saga": "^1.2.1",
"styled-components": "^5.3.6",
- "use-debounce": "^8.0.4",
+ "use-debounce": "^9.0.3",
"validator": "^13.7.0",
- "web-vitals": "^3.0.3"
+ "web-vitals": "^3.1.0"
},
"resolutions": {
"autoprefixer": "10.4.5"
@@ -96,30 +96,30 @@
"@4tw/cypress-drag-drop": "^2.2.1",
"@babel/preset-env": "^7.18.9",
"@babel/preset-react": "^7.16.7",
- "@cypress/react": "6.2.1",
- "@cypress/webpack-dev-server": "^2.5.0",
+ "@cypress/react": "7.0.1",
+ "@cypress/webpack-dev-server": "^3.2.3",
"@faker-js/faker": "^7.6.0",
- "cy2": "^3.1.7",
+ "cy2": "^3.4.3",
"cypress": "^10.10.0",
- "cypress-fail-fast": "^5.0.1",
+ "cypress-fail-fast": "^7.0.0",
"eslint": "^7.32.0",
"eslint-config-airbnb": "^18.2.1",
- "eslint-config-prettier": "^8.5.0",
+ "eslint-config-prettier": "^8.6.0",
"eslint-config-react-app": "^7.0.1",
"eslint-plugin-cypress": "^2.12.1",
- "eslint-plugin-import": "^2.26.0",
- "eslint-plugin-jsx-a11y": "^6.6.1",
+ "eslint-plugin-import": "^2.27.5",
+ "eslint-plugin-jsx-a11y": "^6.7.0",
"eslint-plugin-prettier": "^4.2.1",
- "eslint-plugin-react": "^7.31.8",
+ "eslint-plugin-react": "^7.32.1",
"eslint-plugin-react-hooks": "^4.6.0",
"genversion": "^3.1.1",
"gh-pages": "^4.0.0",
"html-webpack-plugin": "5",
- "i18next-parser": "^6.6.0",
+ "i18next-parser": "^7.6.0",
"identity-obj-proxy": "^3.0.0",
"jest-canvas-mock": "^2.4.0",
"jest-location-mock": "^1.0.9",
- "prettier": "^2.6.2",
+ "prettier": "^2.8.0",
"prettier-eslint": "^15.0.1",
"prettier-eslint-cli": "^7.1.0",
"redux-mock-store": "^1.5.4",
@@ -127,7 +127,7 @@
"resolve-url-loader": "^5.0.0",
"string.prototype.replaceall": "^1.0.6",
"svg-jest": "^1.0.1",
- "wait-on": "^6.0.1",
+ "wait-on": "^7.0.1",
"yarn-audit-fix": "^9.3.6"
}
}
diff --git a/src/App.js b/src/App.js
index b3efaffc..9cbbee7c 100644
--- a/src/App.js
+++ b/src/App.js
@@ -53,6 +53,7 @@ import {
} from 'redux/response_plays/actions';
import {
checkConnectionStatus as checkConnectionStatusConnected,
+ updateQueueStats as updateQueueStatsConnected,
checkAbilities as checkAbilitiesConnected,
} from 'redux/connection/actions';
import {
@@ -61,6 +62,9 @@ import {
import {
store,
} from 'redux/store';
+import {
+ limiter,
+} from 'util/pd-api-wrapper';
import {
PD_OAUTH_CLIENT_ID,
@@ -80,6 +84,7 @@ const App = ({
userAuthorize,
checkAbilities,
checkConnectionStatus,
+ updateQueueStats,
getServicesAsync,
getTeamsAsync,
getPrioritiesAsync,
@@ -190,6 +195,16 @@ const App = ({
return () => clearInterval(clearingInterval);
}, [userAuthorized]);
+ // Setup queue stats update for status beacon tooltip
+ useEffect(() => {
+ const queueStateInterval = setInterval(() => {
+ if (userAuthorized) {
+ updateQueueStats(limiter.counts());
+ }
+ }, 1000);
+ return () => clearInterval(queueStateInterval);
+ }, [userAuthorized]);
+
// Setup auto-refresh for incidents
useEffect(() => {
const refreshInterval = setInterval(() => {
@@ -250,6 +265,7 @@ const mapDispatchToProps = (dispatch) => ({
userAuthorize: () => dispatch(userAuthorizeConnected()),
checkAbilities: () => dispatch(checkAbilitiesConnected()),
checkConnectionStatus: () => dispatch(checkConnectionStatusConnected()),
+ updateQueueStats: (queueStats) => dispatch(updateQueueStatsConnected(queueStats)),
getServicesAsync: (teamIds) => dispatch(getServicesAsyncConnected(teamIds)),
getTeamsAsync: () => dispatch(getTeamsAsyncConnected()),
getPrioritiesAsync: () => dispatch(getPrioritiesAsyncConnected()),
diff --git a/src/components/ConfirmQueryModal/ConfirmQueryModalComponent.js b/src/components/ConfirmQueryModal/ConfirmQueryModalComponent.js
index 78fef2f0..5d748768 100644
--- a/src/components/ConfirmQueryModal/ConfirmQueryModalComponent.js
+++ b/src/components/ConfirmQueryModal/ConfirmQueryModalComponent.js
@@ -25,6 +25,7 @@ const ConfirmQueryModalComponent = ({
t,
} = useTranslation();
const {
+ // eslint-disable-next-line no-unused-vars
maxIncidentsLimit,
} = settings;
const {
@@ -46,7 +47,7 @@ const ConfirmQueryModalComponent = ({
{t('Current query parameters match X incidents', { totalIncidentsFromQuery })}
{'. '}
- {t('Only the first X incidents will be retrieved', { maxIncidentsLimit })}
+ {t('Retrieving notes and alerts could take a long time')}
{'. '}
diff --git a/src/components/ConfirmQueryModal/ConfirmQueryModalComponent.test.js b/src/components/ConfirmQueryModal/ConfirmQueryModalComponent.test.js
index 965e8159..272b75c2 100644
--- a/src/components/ConfirmQueryModal/ConfirmQueryModalComponent.test.js
+++ b/src/components/ConfirmQueryModal/ConfirmQueryModalComponent.test.js
@@ -35,7 +35,7 @@ describe('ConfirmQueryModalComponent', () => {
expect(wrapper.find('.modal-body').at(0).getDOMNode().textContent).toEqual(
[
`Current query parameters match ${totalIncidentsFromQuery} incidents.`,
- `Only the first ${limit} incidents will be retrieved. Continue?`,
+ 'Retrieving notes and alerts could take a long time. Continue?',
].join(' '),
);
});
diff --git a/src/components/NavigationBar/StatusBeaconComponent.js b/src/components/NavigationBar/StatusBeaconComponent.js
index 4e7b041a..ee4d59e1 100644
--- a/src/components/NavigationBar/StatusBeaconComponent.js
+++ b/src/components/NavigationBar/StatusBeaconComponent.js
@@ -6,24 +6,44 @@ import {
OverlayTrigger, Tooltip,
} from 'react-bootstrap';
+import i18next from 'i18n';
+
import Beacon from './subcomponents/Beacon';
const StatusBeaconComponent = ({
- connectionStatus, connectionStatusMessage,
-}) => (
-
- {connectionStatusMessage}}
- >
-
-
-
-);
+ connectionStatus, connectionStatusMessage, queueStats,
+}) => {
+ const waiting = queueStats.RECEIVED + queueStats.QUEUED;
+ const running = queueStats.RUNNING + queueStats.EXECUTING;
+
+ const queueStatsStr = `${waiting} ${i18next.t('waiting')}, ${running} ${i18next.t('running')}`;
+ return (
+
+
+ <>
+ {i18next.t('Status')}
+ :
+ {connectionStatusMessage}
+
+ {queueStatsStr}
+ >
+
+ )}
+ >
+
+
+
+ );
+};
const mapStateToProps = (state) => ({
connectionStatus: state.connection.connectionStatus,
connectionStatusMessage: state.connection.connectionStatusMessage,
+ queueStats: state.connection.queueStats,
});
export default connect(mapStateToProps)(StatusBeaconComponent);
diff --git a/src/components/SettingsModal/SettingsModalComponent.js b/src/components/SettingsModal/SettingsModalComponent.js
index 252f4f98..73ce86e2 100644
--- a/src/components/SettingsModal/SettingsModalComponent.js
+++ b/src/components/SettingsModal/SettingsModalComponent.js
@@ -35,6 +35,7 @@ import {
setDefaultSinceDateTenor as setDefaultSinceDateTenorConnected,
setAlertCustomDetailColumns as setAlertCustomDetailColumnsConnected,
setMaxIncidentsLimit as setMaxIncidentsLimitConnected,
+ setMaxRateLimit as setMaxRateLimitConnected,
setAutoAcceptIncidentsQuery as setAutoAcceptIncidentsQueryConnected,
setAutoRefreshInterval as setAutoRefreshIntervalConnected,
clearLocalCache as clearLocalCacheConnected,
@@ -48,6 +49,8 @@ import {
import {
MAX_INCIDENTS_LIMIT_LOWER,
MAX_INCIDENTS_LIMIT_UPPER,
+ MAX_RATE_LIMIT_LOWER,
+ MAX_RATE_LIMIT_UPPER,
REFRESH_INTERVAL_LOWER,
REFRESH_INTERVAL_UPPER,
} from 'config/constants';
@@ -94,6 +97,7 @@ const SettingsModalComponent = ({
setAlertCustomDetailColumns,
saveIncidentTable,
setMaxIncidentsLimit,
+ setMaxRateLimit,
setAutoAcceptIncidentsQuery,
setAutoRefreshInterval,
clearLocalCache,
@@ -107,6 +111,7 @@ const SettingsModalComponent = ({
displaySettingsModal,
defaultSinceDateTenor,
maxIncidentsLimit,
+ maxRateLimit,
autoAcceptIncidentsQuery,
autoRefreshInterval,
alertCustomDetailFields,
@@ -156,6 +161,16 @@ const SettingsModalComponent = ({
}
}, [tempMaxIncidentsLimit]);
+ const [isValidMaxRateLimit, setIsValidMaxRateLimit] = useState(true);
+ const [tempMaxRateLimit, setTempMaxRateLimit] = useState(maxRateLimit);
+ useEffect(() => {
+ if (tempMaxRateLimit < MAX_RATE_LIMIT_LOWER || tempMaxRateLimit > MAX_RATE_LIMIT_UPPER) {
+ setIsValidMaxRateLimit(false);
+ } else {
+ setIsValidMaxRateLimit(true);
+ }
+ }, [tempMaxRateLimit]);
+
const [tempAutoAcceptQuery, setTempAutoAcceptQuery] = useState(autoAcceptIncidentsQuery);
const [selectedColumns, setSelectedColumns] = useState(
@@ -302,6 +317,23 @@ const SettingsModalComponent = ({
/>
+
+
+ {t('Max API Call Rate')}
+
+
+ setTempMaxRateLimit(Number(e.target.value))}
+ isInvalid={!isValidMaxRateLimit}
+ />
+
+
{t('Auto Accept Incident Query')}
@@ -321,7 +353,11 @@ const SettingsModalComponent = ({
id="update-user-profile-button"
variant="primary"
disabled={(() => {
- if (!isValidAutoRefreshInterval || !isValidMaxIncidentsLimit) {
+ if (
+ !isValidAutoRefreshInterval
+ || !isValidMaxIncidentsLimit
+ || !isValidMaxRateLimit
+ ) {
return true;
}
return false;
@@ -330,6 +366,7 @@ const SettingsModalComponent = ({
updateUserLocale(selectedLocale.value);
setDefaultSinceDateTenor(tempSinceDateTenor);
setMaxIncidentsLimit(tempMaxIncidentsLimit);
+ setMaxRateLimit(tempMaxRateLimit);
setAutoAcceptIncidentsQuery(tempAutoAcceptQuery);
setAutoRefreshInterval(tempAutoRefreshInterval);
updateActionAlertsModal('success', t('Updated user profile settings'));
@@ -440,6 +477,9 @@ const mapDispatchToProps = (dispatch) => ({
setMaxIncidentsLimit: (maxIncidentsLimit) => {
dispatch(setMaxIncidentsLimitConnected(maxIncidentsLimit));
},
+ setMaxRateLimit: (maxRateLimit) => {
+ dispatch(setMaxRateLimitConnected(maxRateLimit));
+ },
setAutoAcceptIncidentsQuery: (autoAcceptIncidentsQuery) => {
dispatch(setAutoAcceptIncidentsQueryConnected(autoAcceptIncidentsQuery));
},
diff --git a/src/components/SettingsModal/SettingsModalComponent.test.js b/src/components/SettingsModal/SettingsModalComponent.test.js
index a99d717a..2a397e69 100644
--- a/src/components/SettingsModal/SettingsModalComponent.test.js
+++ b/src/components/SettingsModal/SettingsModalComponent.test.js
@@ -11,6 +11,8 @@ import {
import {
MAX_INCIDENTS_LIMIT_LOWER,
MAX_INCIDENTS_LIMIT_UPPER,
+ MAX_RATE_LIMIT_LOWER,
+ MAX_RATE_LIMIT_UPPER,
REFRESH_INTERVAL_LOWER,
REFRESH_INTERVAL_UPPER,
} from 'config/constants';
@@ -27,7 +29,8 @@ describe('SettingsModalComponent', () => {
displaySettingsModal: true,
defaultSinceDateTenor: '1 Day',
maxIncidentsLimit: MAX_INCIDENTS_LIMIT_LOWER,
- autoAcceptIncidentsQuery: false,
+ maxRateLimit: MAX_RATE_LIMIT_LOWER,
+ autoAcceptIncidentsQuery: true,
autoRefreshInterval: REFRESH_INTERVAL_LOWER,
alertCustomDetailFields: [
{
@@ -114,7 +117,7 @@ describe('SettingsModalComponent', () => {
).toBeTruthy();
expect(
wrapper.find('input#user-profile-auto-accept-incident-query-checkbox').prop('checked'),
- ).toEqual(false);
+ ).toEqual(true);
expect(
wrapper.find('#update-user-profile-button').contains('Update User Profile'),
@@ -153,6 +156,20 @@ describe('SettingsModalComponent', () => {
expect(wrapper.find('button#update-user-profile-button').prop('disabled')).toBeTruthy();
});
+ it('should deactivate user profile update button for incorrect rate limit input', () => {
+ baseStore.settings.maxRateLimit = MAX_RATE_LIMIT_UPPER + 1;
+ store = mockStore(baseStore);
+ const wrapper = componentWrapper(store, SettingsModalComponent);
+ const tabSelector = 'a[data-rb-event-key="user-profile"]';
+ const tabElement = wrapper.find(tabSelector);
+ tabElement.simulate('click');
+
+ expect(
+ wrapper.find('input#user-profile-max-rate-limit-input').hasClass('form-control is-invalid'),
+ ).toBeTruthy();
+ expect(wrapper.find('button#update-user-profile-button').prop('disabled')).toBeTruthy();
+ });
+
it('should set autoAcceptIncidentsQuery to true when checked', () => {
const autoAcceptIncidentsQuery = true;
store = mockStore(baseStore);
diff --git a/src/config/constants.js b/src/config/constants.js
index 482e9834..d78880c8 100644
--- a/src/config/constants.js
+++ b/src/config/constants.js
@@ -27,6 +27,8 @@ export const LOG_ENTRIES_CLEARING_INTERVAL_SECONDS = 30;
export const INCIDENTS_PAGINATION_LIMIT = 100;
export const MAX_INCIDENTS_LIMIT_LOWER = 100;
export const MAX_INCIDENTS_LIMIT_UPPER = 1000;
+export const MAX_RATE_LIMIT_LOWER = 100;
+export const MAX_RATE_LIMIT_UPPER = 2000;
export const REFRESH_INTERVAL_LOWER = 5;
export const REFRESH_INTERVAL_UPPER = 60;
diff --git a/src/config/version.js b/src/config/version.js
index 93df6566..11d9e748 100644
--- a/src/config/version.js
+++ b/src/config/version.js
@@ -1,2 +1,2 @@
// Generated by genversion.
-module.exports = '0.5.1-beta.0';
+module.exports = '0.6.0-beta.0';
diff --git a/src/i18n.js b/src/i18n.js
index 2fac9a16..4b2a0585 100644
--- a/src/i18n.js
+++ b/src/i18n.js
@@ -11,6 +11,9 @@ import es from 'date-fns/locale/es';
import de from 'date-fns/locale/de';
import ja from 'date-fns/locale/ja';
import id from 'date-fns/locale/id';
+import pt from 'date-fns/locale/pt';
+import ptbr from 'date-fns/locale/pt-BR';
+
import {
registerLocale,
} from 'react-datepicker';
@@ -21,6 +24,8 @@ import translationES from './locales/es/translation.json';
import translationDE from './locales/de/translation.json';
import translationJA from './locales/ja/translation.json';
import translationID from './locales/id/translation.json';
+import translationPT from './locales/pt/translation.json';
+import translationPTBR from './locales/pt-br/translation.json';
// Variable for supported locales
registerLocale('en-GB', gb);
@@ -30,6 +35,8 @@ registerLocale('es', es);
registerLocale('de', de);
registerLocale('ja', ja);
registerLocale('id', id);
+registerLocale('pt', pt);
+registerLocale('pt-br', ptbr);
// the translations
export const lngs = {
@@ -61,6 +68,14 @@ export const lngs = {
translation: translationID,
nativeName: 'Bahasa Indonesia',
},
+ pt: {
+ translation: translationPT,
+ nativeName: 'Português',
+ },
+ 'pt-BR': {
+ translation: translationPTBR,
+ nativeName: 'Português (Brasil)',
+ },
};
// locales is generated from the lngs object for compatibility with original locales implementation
@@ -77,7 +92,7 @@ i18n
resources: lngs,
fallbackLng: 'en', // use en if detected lng is not available
// array of allowed languages
- supportedLngs: ['en', 'fr', 'es', 'de', 'ja', 'id'],
+ supportedLngs: ['en', 'fr', 'es', 'de', 'ja', 'id', 'pt', 'pt-br'],
// if true, will consider variants as supported when the main language is.
// E.g. en-US will be valid if en is in supportedLngs.
nonExplicitSupportedLngs: true,
diff --git a/src/locales/de/translation.json b/src/locales/de/translation.json
index e98029d5..c73a9168 100644
--- a/src/locales/de/translation.json
+++ b/src/locales/de/translation.json
@@ -80,6 +80,7 @@
"Locale": "Gebietsschema",
"Log Out": "Abmelden",
"Low": "Niedrig",
+ "Max API Call Rate": "Maximale API-Aufrufrate",
"Max Incidents Limit": "Maximale Vorfallgrenze",
"Max Incidents Limit Reached": "Maximale Vorfallgrenze erreicht",
"Merge": "Zusammenführen",
@@ -99,7 +100,6 @@
"No selected options": "Keine ausgewählten Optionen",
"Num Alerts": "Anzahl Benachrichtigungen",
"on": "ein",
- "Only the first X incidents will be retrieved": "Nur die ersten {{maxIncidentsLimit}} Vorfälle werden abgerufen",
"Please contact the associated site owner for access": "Bitte wenden Sie sich an den Eigentümer der zugehörigen Website, um Zugriff zu erhalten",
"Priorities": "Prioritäten",
"Priority": "Priorität",
@@ -119,7 +119,9 @@
"response play for": "Response Play für",
"Response Plays": "Response Play",
"Retrieve Incidents": "Vorfälle abrufen",
+ "Retrieving notes and alerts could take a long time": "Das Abrufen von Notizen und Warnungen kann lange dauern",
"Run Action": "Aktion ausführen",
+ "running": "läuft",
"Search": " Suche",
"Search for Escalation Policies and/or Users": "Nach Eskalationsrichtlinien und/oder Benutzern suchen",
"Search for Escalation Policy or User": "Nach Eskalationsrichtlinie oder Benutzer suchen",
@@ -175,6 +177,7 @@
"Users": "Benutzer",
"Version": "Version",
"View Disclaimer": "Haftungsausschluss anzeigen",
+ "waiting": "warten",
"warning": "warnung",
"were not": "waren nicht",
"You must agree before submitting": "Vor dem Absenden bitte zustimmen"
diff --git a/src/locales/en/translation.json b/src/locales/en/translation.json
index 36024ad9..418a74d4 100644
--- a/src/locales/en/translation.json
+++ b/src/locales/en/translation.json
@@ -80,6 +80,7 @@
"Locale": "Locale",
"Log Out": "Log Out",
"Low": "Low",
+ "Max API Call Rate": "Max API Call Rate",
"Max Incidents Limit": "Max Incidents Limit",
"Max Incidents Limit Reached": "Max Incidents Limit Reached",
"Merge": "Merge",
@@ -99,7 +100,6 @@
"No selected options": "No selected options",
"Num Alerts": "Num Alerts",
"on": "on",
- "Only the first X incidents will be retrieved": "Only the first {{maxIncidentsLimit}} incidents will be retrieved",
"Please contact the associated site owner for access": "Please contact the associated site owner for access",
"Priorities": "Priorities",
"Priority": "Priority",
@@ -119,7 +119,9 @@
"response play for": "response play for",
"Response Plays": "Response Plays",
"Retrieve Incidents": "Retrieve Incidents",
+ "Retrieving notes and alerts could take a long time": "Retrieving notes and alerts could take a long time",
"Run Action": "Run Action",
+ "running": "running",
"Search": "Search",
"Search for Escalation Policies and/or Users": "Search for Escalation Policies and/or Users",
"Search for Escalation Policy or User": "Search for Escalation Policy or User",
@@ -175,6 +177,7 @@
"Users": "Users",
"Version": "Version",
"View Disclaimer": "View Disclaimer",
+ "waiting": "waiting",
"warning": "warning",
"were not": "were not",
"You must agree before submitting": "You must agree before submitting"
diff --git a/src/locales/es/translation.json b/src/locales/es/translation.json
index 391a68e0..718f9ca7 100644
--- a/src/locales/es/translation.json
+++ b/src/locales/es/translation.json
@@ -80,6 +80,7 @@
"Locale": "Configuracion regional",
"Log Out": "Cerrar sesión",
"Low": "Bajo",
+ "Max API Call Rate": "Tasa máxima de llamadas API",
"Max Incidents Limit": "Límite máximo de incidentes",
"Max Incidents Limit Reached": "Se ha alcanzado el límite máximo de incidentes",
"Merge": "Combinar",
@@ -99,7 +100,6 @@
"No selected options": "No hay opciones seleccionadas",
"Num Alerts": "Número de Alertas",
"on": "en",
- "Only the first X incidents will be retrieved": "Solo se recuperarán los primeros {{maxIncidentsLimit}} incidentes",
"Please contact the associated site owner for access": "Póngase en contacto con el propietario del sitio asociado para obtener acceso",
"Priorities": "Prioridades",
"Priority": "Prioridad",
@@ -119,7 +119,9 @@
"response play for": "juego de respuesta para",
"Response Plays": "Respuestas de juego",
"Retrieve Incidents": "Recuperar incidentes",
+ "Retrieving notes and alerts could take a long time": "La recuperación de notas y alertas puede llevar mucho tiempo",
"Run Action": "Ejecutar acción",
+ "running": "ejecutando",
"Search": "Buscar",
"Search for Escalation Policies and/or Users": "Buscar políticas de escalada y/o usuarios",
"Search for Escalation Policy or User": "Buscar política de escalada o usuario",
@@ -175,6 +177,7 @@
"Users": "Usuarios",
"Version": "Versión",
"View Disclaimer": "Ver aviso legal",
+ "waiting": "esperando",
"warning": "aviso",
"were not": "no eran",
"You must agree before submitting": "Debe aceptar antes de enviar"
diff --git a/src/locales/fr/translation.json b/src/locales/fr/translation.json
index 5ec8ce61..679da502 100644
--- a/src/locales/fr/translation.json
+++ b/src/locales/fr/translation.json
@@ -80,6 +80,7 @@
"Locale": "Paramètres régionaux",
"Log Out": "Se déconnecter",
"Low": "Basse",
+ "Max API Call Rate": "Taux d'appel API maximal",
"Max Incidents Limit": "Limite maximale d'incidents",
"Max Incidents Limit Reached": "Limite maximale d'incidents atteinte",
"Merge": "Fusionner",
@@ -99,7 +100,6 @@
"No selected options": "Aucune option sélectionnée",
"Num Alerts": "Nombre d'alertes",
"on": "sur",
- "Only the first X incidents will be retrieved": "Seuls les {{maxIncidentsLimit}} premiers incidents seront récupérés",
"Please contact the associated site owner for access": "Please contact the associated site owner for access",
"Priorities": "Priorités",
"Priority": "Priorité",
@@ -119,7 +119,9 @@
"response play for": "jouer la réponse pour",
"Response Plays": "Réponses",
"Retrieve Incidents": "Récupérer les incidents",
+ "Retrieving notes and alerts could take a long time": "La récupération des notes et des alertes peut prendre beaucoup de temps",
"Run Action": "Actions",
+ "running": "en cours d'exécution",
"Search": "Chercher",
"Search for Escalation Policies and/or Users": "Rechercher des politiques d'escalade et/ou des utilisateurs",
"Search for Escalation Policy or User": "Rechercher une politique d'escalade ou un utilisateur",
@@ -175,6 +177,7 @@
"Users": "Utilisateurs",
"Version": "Version",
"View Disclaimer": "Clause de non-responsabilité",
+ "waiting": "en attente",
"warning": "avertissement",
"were not": "n'ont pas été",
"You must agree before submitting": "Vous devez accepter avant de soumettre"
diff --git a/src/locales/id/translation.json b/src/locales/id/translation.json
index 14d6fd2b..05a2d403 100644
--- a/src/locales/id/translation.json
+++ b/src/locales/id/translation.json
@@ -80,6 +80,7 @@
"Locale": "Lokal",
"Log Out": "Keluar",
"Low": "Low",
+ "Max API Call Rate": "Batas Maksimal Panggilan API",
"Max Incidents Limit": "Batas Maksimal Insiden",
"Max Incidents Limit Reached": "Batas Maksimal Insiden Tercapai",
"Merge": "Gabung",
@@ -99,7 +100,6 @@
"No selected options": "Jumlah pilihan yang terpilih",
"Num Alerts": "Jumlah peringatan",
"on": "on",
- "Only the first X incidents will be retrieved": "Hanya insiden {{maxIncidentsLimit}} pertama yang akan diambil",
"Please contact the associated site owner for access": "Silakan hubungi pemilik situs terkait untuk akses",
"Priorities": "Prioritas",
"Priority": "Prioritas",
@@ -119,7 +119,9 @@
"response play for": "response play untuk",
"Response Plays": "Response Plays",
"Retrieve Incidents": "Ambil insiden",
+ "Retrieving notes and alerts could take a long time": "Mengambil catatan dan peringatan bisa memakan waktu lama",
"Run Action": "Jalankan Aksi",
+ "running": "sedang berjalan",
"Search": "Cari",
"Search for Escalation Policies and/or Users": "Cari kebijakan eskalasi dan/atau pengguna",
"Search for Escalation Policy or User": "Cari kebijakan eskalasi atau pengguna",
@@ -175,6 +177,7 @@
"Users": "Pengguna",
"Version": "Versi",
"View Disclaimer": "Lihat Sanggahan",
+ "waiting": "menunggu",
"warning": "peringatan",
"were not": "tidak",
"You must agree before submitting": "Anda harus setuju sebelum menyerahkan"
diff --git a/src/locales/ja/translation.json b/src/locales/ja/translation.json
index 955c50e5..8be78be9 100644
--- a/src/locales/ja/translation.json
+++ b/src/locales/ja/translation.json
@@ -80,6 +80,7 @@
"Locale": "ロケール",
"Log Out": "ログアウト",
"Low": "低",
+ "Max API Call Rate": "最大API呼び出しレート",
"Max Incidents Limit": "最大インシデント数",
"Max Incidents Limit Reached": "最大インシデント数の上限に達しました",
"Merge": "マージ",
@@ -99,7 +100,6 @@
"No selected options": "選択中のオプションはありません",
"Num Alerts": "アラート数",
"on": "。対象:",
- "Only the first X incidents will be retrieved": "最初の {{maxIncidentsLimit}} インシデントのみ取得されます",
"Please contact the associated site owner for access": "アクセスするには、サイトオーナーにお問い合わせください",
"Priorities": "優先度",
"Priority": "優先度",
@@ -119,7 +119,9 @@
"response play for": "レスポンスプレイ対象",
"Response Plays": "レスポンスプレイ",
"Retrieve Incidents": "インシデントを取得",
+ "Retrieving notes and alerts could take a long time": "メモとアラートの取得には時間がかかる場合があります",
"Run Action": "アクションを実行",
+ "running": "実行中",
"Search": "検索",
"Search for Escalation Policies and/or Users": "エスカレーションポリシー及びユーザーを検索",
"Search for Escalation Policy or User": "エスカレーションポリシー及びユーザーを検索",
@@ -175,6 +177,7 @@
"Users": "ユーザー",
"Version": "バージョン",
"View Disclaimer": "免責事項表示",
+ "waiting": "待機中",
"warning": "warning",
"were not": "はスキップされ、",
"You must agree before submitting": "提出する前に同意する必要があります"
diff --git a/src/locales/pt-br/translation.json b/src/locales/pt-br/translation.json
new file mode 100644
index 00000000..6137d7ac
--- /dev/null
+++ b/src/locales/pt-br/translation.json
@@ -0,0 +1,184 @@
+{
+ "1 Day": "1 Dia",
+ "1 Month": "1 Mês",
+ "1 Week": "1 Semana",
+ "2 Weeks": "2 Semanas",
+ "3 Days": "3 Dias",
+ "3 Months": "3 Meses",
+ "6 Months": "6 Meses",
+ "Accept": "Aceitar",
+ "Acknowledge": "Confirmar",
+ "acknowledged": "confirmado(s)",
+ "Acknowledged": "Confirmado(s)",
+ "Acknowledgments": "Confirmações",
+ "Actions": "Ações",
+ "Add Note": "Adicionar Anotação",
+ "Add Note to incident(s) here": "Adicionar Anotação a incidente(s) aqui",
+ "Add Responders": "Adicionar Respondentes",
+ "Alert Custom Detail Column Definitions": "Coluna de Definições dos Detalhes Personalizados do Alerta",
+ "Alert Custom Detail Column Definitions Placeholder": "Marcador de Coluna de Definições dos Detalhes Personalizados do Alerta",
+ "and their alerts have been merged onto incident": "e os seus alertas foram combinados no incidente",
+ "Assignees": "Detentores",
+ "Auto Accept Incident Query": "Consulta de incidente de aceitação automática",
+ "Auto Refresh Interval (mins)": "Intervalo de atualização automática (min)",
+ "Available": "Disponível",
+ "because they have already been suppressed or resolved": "porque já foram eliminados ou resolvidos",
+ "Cancel": "Cancelar",
+ "characters remaining": "caracteres restantes",
+ "Class": "Classe",
+ "Clear Local Cache": "Limpar Cache Local",
+ "Column Selector": "Seletor de Coluna",
+ "Component": "Componente",
+ "Connect using PagerDuty OAuth to use this app": "Conectar usando PagerDuty OAuth para usar esta aplicação",
+ "Connected": "Conectado",
+ "Connecting": "Conectando",
+ "Continue": "Continuar",
+ "Created At": "Criado Em",
+ "critical": "urgente",
+ "Current query parameters match X incidents": "Os parâmetros de consulta atuais coincidem com {{totalIncidentsFromQuery}} incidentes",
+ "Current subdomain does not have the correct ability to use PagerDuty Live": "O subdomínio atual não tem a capacidade correta para usar PagerDuty Live",
+ "Custom": "Personalizado",
+ "Custom Incident Action": "Ação de Incidente Personalizada",
+ "Decline": "Recusar",
+ "Default Since Date Lookback": "Retrospectiva a partir de Data Predefinida",
+ "Description": "Descrição",
+ "Disclaimer & License": "Aviso Legal & Licença",
+ "error": "erro",
+ "Escalate": "Escalar",
+ "Escalation Policy": "Política de Escalação",
+ "External References": "Referências Externas",
+ "External Systems": "Sistemas Externos",
+ "Fetching Alerts": "Buscando Alertas",
+ "Fetching Notes": "Buscando Anotações",
+ "Filter available": "Filtro disponível",
+ "Filter selected": "Filtro selecionado",
+ "Filters": "Filtros",
+ "Group": "Grupo",
+ "have been": "foram",
+ "have been manually escalated to level": "foram escalados manualmente para o nível",
+ "have been reassigned to": "foram reatribuídos a",
+ "have been updated with a note": "foram atualizados com uma anotação",
+ "have been updated with priority": "foram atualizados com a prioridade",
+ "High": "Alta",
+ "hour": "hora",
+ "hours": "horas",
+ "I agree to the disclaimer and license above": "Aceito o aviso legal e a licença acima",
+ "incident": "incidente",
+ "Incident": "Incidente",
+ "Incident ID": "ID do Incidente",
+ "Incident Key": "Chave do Incidente",
+ "Incident Table": "Tabela de Incidentes",
+ "Incidents": "Incidentes",
+ "info": "informação",
+ "Invalid JSON Path": "Caminho JSON inválido",
+ "Last Status Change At": "Última Alteração de Estado às",
+ "Last Status Change By": "Última Alteração de Estado por",
+ "Latest Note": "Última Anotação",
+ "Live Incidents Console": "Console de Incidentes ao Vivo",
+ "Live updates disabled": "Atualizações ao Vivo Desativadas",
+ "Local Cache": "Cache Local",
+ "Locale": "Região",
+ "Log Out": "Terminar Sessão",
+ "Low": "Baixo",
+ "Max API Call Rate": "Taxa Máxima de Chamada da API",
+ "Max Incidents Limit": "Limite Máximo de Incidentes",
+ "Max Incidents Limit Reached": "Limite Máximo de Incidentes Atingido",
+ "Merge": "Combinar",
+ "Merge Incidents": "Combinar Incidentes",
+ "minutes": "minutos",
+ "Move all left": "Mover tudo para a esquerda",
+ "Move all right": "Mover tudo para a direita",
+ "Move down": "Mover para baixo",
+ "Move left": "Mover para a esquerda",
+ "Move right": "Mover para a direita",
+ "Move to bottom": "Mover para o fim",
+ "Move to top": "Mover para o topo",
+ "Move up": "Mover para cima",
+ "N/A": "N/D",
+ "No available options": "Nenhuma opção disponível",
+ "No Incidents Found": "Nenhum Incidente Encontrado",
+ "No selected options": "Nenhuma opção selecionada",
+ "Num Alerts": "Número de Alertas",
+ "on": "em",
+ "Please contact the associated site owner for access": "Por favor entre em contato com o proprietário do site associado para obter acesso",
+ "Priorities": "Prioridades",
+ "Priority": "Prioridade",
+ "Provide brief message for additional responders": "Forneça uma mensagem breve para respondentes adicionais",
+ "Query has been cancelled by user": "A consulta foi cancelada pelo usuário",
+ "Querying": "Consultando",
+ "Querying PagerDuty API": "Consultando a API da PagerDuty",
+ "Ran": "Executado",
+ "Reassign": "Reatribuir",
+ "Reassign To": "Reatribuir a",
+ "Refreshing": "Atualizando",
+ "Requested additional response for": "Resposta adicional solicitada para",
+ "Resolve": "Resolver",
+ "resolved": "resolvido",
+ "Resolved": "Resolvido",
+ "Responders": "Respondentes",
+ "response play for": "conjunto de respostas para",
+ "Response Plays": "Conjunto de Respostas",
+ "Retrieve Incidents": "Obter Incidentes",
+ "Retrieving notes and alerts could take a long time": "Obter anotações e alertas pode levar muito tempo",
+ "Run Action": "Executar Ação",
+ "running": "executando",
+ "Search": "Pesquisar",
+ "Search for Escalation Policies and/or Users": "Pesquisar Políticas de Escalação e/ou Usuários",
+ "Search for Escalation Policy or User": "Pesquisar Política de Escalação ou Usuário",
+ "Select an open incident to merge into": "Selecione um incidente aberto com o qual será combinado",
+ "Select dotdotdot": "Selecione...",
+ "Selected": "Selecionado",
+ "Service": "Serviço",
+ "Settings": "Configurações",
+ "Severity": "Severidade",
+ "Sign In": "Entrar",
+ "Signing into PagerDuty Live": "Entrando em PagerDuty Live",
+ "Since": "Desde",
+ "Snooze": "Suspender",
+ "Snooze for the following hours": "Suspender durante as próximas horas",
+ "Snooze Incident #X": "Suspender incidente #{{unresolvedIncidents.0.incident_number}}",
+ "Snooze until tomorrow at": "Suspender até amanhã às",
+ "Snooze X incidents": "Adiar {{unresolvedIncidents.length}} incidentes",
+ "snoozed": "adiado",
+ "Source": "Origem",
+ "State": "Estado",
+ "Status": "Estado",
+ "Summary": "Resumo",
+ "Sync with": "Sincronizar com",
+ "Synced with": "Sincronizado com",
+ "Team": "Equipe",
+ "Teams": "Equipes",
+ "The alerts of the selected incidents will be merged into a single incident": "Os alertas dos incidentes selecionados serão combinados em um único incidente",
+ "The remaining selected incidents will be resolved after the merge is complete": "Os restantes incidentes selecionados serão resolvidos, uma vez completa a combinação",
+ "Title": "Título",
+ "Triggered": "Acionado",
+ "triggered for": "acionado para",
+ "Unable to fetch account abilities": "Não foi possível obter as capacidades da conta",
+ "Unable to fetch current user details": "Não foi possível obter os dados atuais do usuário",
+ "Unable to fetch escalation policies": "Não foi possível obter as políticas de escalação",
+ "Unable to fetch extensions": "Não foi possível obter as extensões",
+ "Unable to fetch incidents": "Não foi possível obter os incidentes",
+ "Unable to fetch log entries": "Não foi possível obter as entradas de registro",
+ "Unable to fetch priorities": "Não foi possível obter as prioridades",
+ "Unable to fetch response plays": "Não foi possível obter os conjuntos de respostas",
+ "Unable to fetch services": "Não foi possível obter os serviços",
+ "Unable to fetch teams": "Não foi possível obter as equipes",
+ "Unable to fetch users": "Não foi possível obter os usuários",
+ "Unauthorized Access": "Acesso não autorizado",
+ "Unknown error while using PD API": "Erro desconhecido ao usar a API da PD",
+ "Update Incident Table": "Atualizar Tabela de incidentes",
+ "Update Priority": "Atualizar Prioridade",
+ "Update User Profile": "Atualizar Perfil de Usuário",
+ "Updated incident table settings": "Configurações de tabela de incidentes atualizadas",
+ "Updated user profile settings": "Configurações de perfil de usuário atualizadas",
+ "Urgency": "Urgência",
+ "User is not permitted to access this instance of PagerDuty Live": "O usuário não tem permissão para acessar a esta instância do PagerDuty Live",
+ "User Profile": "Perfil de usuário",
+ "Users": "Usuários",
+ "Version": "Versão",
+ "View Disclaimer": "Ver Aviso Legal",
+ "waiting": "aguardando",
+ "warning": "aviso",
+ "were not": "não eram",
+ "You must agree before submitting": "Deve aceitar antes de enviar"
+}
diff --git a/src/locales/pt/translation.json b/src/locales/pt/translation.json
new file mode 100644
index 00000000..bdf950cb
--- /dev/null
+++ b/src/locales/pt/translation.json
@@ -0,0 +1,184 @@
+{
+ "1 Day": "1 Dia",
+ "1 Month": "1 Mês",
+ "1 Week": "1 Semana",
+ "2 Weeks": "2 Semanas",
+ "3 Days": "3 Dias",
+ "3 Months": "3 Meses",
+ "6 Months": "6 Meses",
+ "Accept": "Aceitar",
+ "Acknowledge": "Confirmar",
+ "acknowledged": "confirmado(s)",
+ "Acknowledged": "Confirmado(s)",
+ "Acknowledgments": "Confirmações",
+ "Actions": "Ações",
+ "Add Note": "Adicionar Nota",
+ "Add Note to incident(s) here": "Adicionar Nota a incidente(s) aqui",
+ "Add Responders": "Adicionar Respondentes",
+ "Alert Custom Detail Column Definitions": "Coluna de Definições dos Detalhes Personalizados do Alerta",
+ "Alert Custom Detail Column Definitions Placeholder": "Marcador de Coluna de Definições dos Detalhes Personalizados do Alerta",
+ "and their alerts have been merged onto incident": "e os seus alertas foram combinados no incidente",
+ "Assignees": "Responsáveis",
+ "Auto Accept Incident Query": "Consulta de incidente de aceitação automática",
+ "Auto Refresh Interval (mins)": "Intervalo de atualização automática (min)",
+ "Available": "Disponível",
+ "because they have already been suppressed or resolved": "porque já foram eliminados ou resolvidos",
+ "Cancel": "Cancelar",
+ "characters remaining": "caracteres restantes",
+ "Class": "Classe",
+ "Clear Local Cache": "Limpar Cache Local",
+ "Column Selector": "Seletor de Coluna",
+ "Component": "Componente",
+ "Connect using PagerDuty OAuth to use this app": "Ligue usando PagerDuty OAuth para usar esta aplicação",
+ "Connected": "Ligado",
+ "Connecting": "A ligar",
+ "Continue": "Continuar",
+ "Created At": "Criado Em",
+ "critical": "urgente",
+ "Current query parameters match X incidents": "Os parâmetros de consulta atuais coincidem com {{totalIncidentsFromQuery}} incidentes",
+ "Current subdomain does not have the correct ability to use PagerDuty Live": "O subdomínio atual não tem a capacidade correta para usar PagerDuty Live",
+ "Custom": "Personalizado",
+ "Custom Incident Action": "Ação de Incidente Personalizada",
+ "Decline": "Recusar",
+ "Default Since Date Lookback": "Retrospetiva a partir de Data Predefinida",
+ "Description": "Descrição",
+ "Disclaimer & License": "Aviso Legal & Licença",
+ "error": "erro",
+ "Escalate": "Escalar",
+ "Escalation Policy": "Política de Escalação",
+ "External References": "Referências Externas",
+ "External Systems": "Sistemas Externos",
+ "Fetching Alerts": "A obter Alertas",
+ "Fetching Notes": "A obter Notas",
+ "Filter available": "Filtro disponível",
+ "Filter selected": "Filtro selecionado",
+ "Filters": "Filtros",
+ "Group": "Grupo",
+ "have been": "foram",
+ "have been manually escalated to level": "foram escalados manualmente para o nível",
+ "have been reassigned to": "foram reatribuídos a",
+ "have been updated with a note": "foram atualizados com uma nota",
+ "have been updated with priority": "foram atualizados com a prioridade",
+ "High": "Alta",
+ "hour": "hora",
+ "hours": "horas",
+ "I agree to the disclaimer and license above": "Aceito o aviso legal e a licença acima",
+ "incident": "incidente",
+ "Incident": "Incidente",
+ "Incident ID": "ID do Incidente",
+ "Incident Key": "Chave do Incidente",
+ "Incident Table": "Tabela de Incidentes",
+ "Incidents": "Incidentes",
+ "info": "informação",
+ "Invalid JSON Path": "Caminho JSON inválido",
+ "Last Status Change At": "Última Alteração de Estado às",
+ "Last Status Change By": "Última Alteração de Estado por",
+ "Latest Note": "Última Nota",
+ "Live Incidents Console": "Consola de Incidentes ao Vivo",
+ "Live updates disabled": "Atualizações ao Vivo Desativadas",
+ "Local Cache": "Cache Local",
+ "Locale": "Região",
+ "Log Out": "Terminar Sessão",
+ "Low": "Baixo",
+ "Max API Call Rate": "Taxa Máxima de Chamada API",
+ "Max Incidents Limit": "Limite Máximo de Incidentes",
+ "Max Incidents Limit Reached": "Limite Máximo de Incidentes Atingido",
+ "Merge": "Combinar",
+ "Merge Incidents": "Combinar Incidentes",
+ "minutes": "minutos",
+ "Move all left": "Mover tudo para a esquerda",
+ "Move all right": "Mover tudo para a direita",
+ "Move down": "Mover para baixo",
+ "Move left": "Mover para a esquerda",
+ "Move right": "Mover para a direita",
+ "Move to bottom": "Mover para o fim",
+ "Move to top": "Mover para o topo",
+ "Move up": "Mover para cima",
+ "N/A": "N/D",
+ "No available options": "Nenhuma opção disponível",
+ "No Incidents Found": "Nenhum Incidente Encontrado",
+ "No selected options": "Nenhuma opção selecionada",
+ "Num Alerts": "Número de Alertas",
+ "on": "em",
+ "Please contact the associated site owner for access": "Por favor entre em contato com o proprietário do site associado para obter acesso",
+ "Priorities": "Prioridades",
+ "Priority": "Prioridade",
+ "Provide brief message for additional responders": "Forneça uma mensagem breve para respondentes adicionais",
+ "Query has been cancelled by user": "A consulta foi cancelada pelo utilizador",
+ "Querying": "Consultando",
+ "Querying PagerDuty API": "Consultando a API da PagerDuty",
+ "Ran": "Executado",
+ "Reassign": "Reatribuir",
+ "Reassign To": "Reatribuir a",
+ "Refreshing": "Atualizando",
+ "Requested additional response for": "Resposta adicional solicitada para",
+ "Resolve": "Resolver",
+ "resolved": "resolvido",
+ "Resolved": "Resolvido",
+ "Responders": "Respondentes",
+ "response play for": "conjunto de respostas para",
+ "Response Plays": "Conjunto de Respostas",
+ "Retrieve Incidents": "Obter Incidentes",
+ "Retrieving notes and alerts could take a long time": "A obter notas e alertas pode demorar muito tempo",
+ "Run Action": "Executar Ação",
+ "running": "executando",
+ "Search": "Pesquisar",
+ "Search for Escalation Policies and/or Users": "Pesquisar Políticas de Escalação e/ou Utilizadores",
+ "Search for Escalation Policy or User": "Pesquisar Política de Escalação ou Utilizador",
+ "Select an open incident to merge into": "Seleccione um incidente aberto com o qual será combinado",
+ "Select dotdotdot": "Selecione...",
+ "Selected": "Selecionado",
+ "Service": "Serviço",
+ "Settings": "Configurações",
+ "Severity": "Severidade",
+ "Sign In": "Iniciar Sessão",
+ "Signing into PagerDuty Live": "Iniciando sessão em PagerDuty Live",
+ "Since": "Desde",
+ "Snooze": "Suspender",
+ "Snooze for the following hours": "Suspender durante as próximas horas",
+ "Snooze Incident #X": "Suspender incidente #{{unresolvedIncidents.0.incident_number}}",
+ "Snooze until tomorrow at": "Suspender até amanhã às",
+ "Snooze X incidents": "Suspender {{unresolvedIncidents.length}} incidentes",
+ "snoozed": "suspendido",
+ "Source": "Origem",
+ "State": "Estado",
+ "Status": "Estado",
+ "Summary": "Resumo",
+ "Sync with": "Sincronizar com",
+ "Synced with": "Sincronizado com",
+ "Team": "Equipa",
+ "Teams": "Equipas",
+ "The alerts of the selected incidents will be merged into a single incident": "Os alertas dos incidentes selecionados serão combinados num único incidente",
+ "The remaining selected incidents will be resolved after the merge is complete": "Os restantes incidentes selecionados serão resolvidos, uma vez completa a combinação",
+ "Title": "Título",
+ "Triggered": "Acionado",
+ "triggered for": "acionado para",
+ "Unable to fetch account abilities": "Não foi possível obter as capacidades da conta",
+ "Unable to fetch current user details": "Não foi possível obter os dados atuais do utilizador",
+ "Unable to fetch escalation policies": "Não foi possível obter as políticas de escalação",
+ "Unable to fetch extensions": "Não foi possível obter as extensões",
+ "Unable to fetch incidents": "Não foi possível obter os incidentes",
+ "Unable to fetch log entries": "Não foi possível obter as entradas de registro",
+ "Unable to fetch priorities": "Não foi possível obter as prioridades",
+ "Unable to fetch response plays": "Não foi possível obter os conjuntos de respostas",
+ "Unable to fetch services": "Não foi possível obter os serviços",
+ "Unable to fetch teams": "Não foi possível obter as equipas",
+ "Unable to fetch users": "Não foi possível obter os utilizadores",
+ "Unauthorized Access": "Acesso não autorizado",
+ "Unknown error while using PD API": "Erro desconhecido ao usar a API da PD",
+ "Update Incident Table": "Atualizar Tabela de incidentes",
+ "Update Priority": "Atualizar Prioridade",
+ "Update User Profile": "Atualizar Perfil de Utilizador",
+ "Updated incident table settings": "Configurações de tabela de incidentes atualizadas",
+ "Updated user profile settings": "Configurações de perfil de utilizador atualizadas",
+ "Urgency": "Urgência",
+ "User is not permitted to access this instance of PagerDuty Live": "O utilizador não tem permissão para aceder a esta instância do PagerDuty Live",
+ "User Profile": "Perfil de utilizador",
+ "Users": "Utilizadores",
+ "Version": "Versão",
+ "View Disclaimer": "Ver Aviso Legal",
+ "waiting": "aguardando",
+ "warning": "aviso",
+ "were not": "não eram",
+ "You must agree before submitting": "Deve aceitar antes de enviar"
+}
diff --git a/src/mocks/escalation_policies.test.js b/src/mocks/escalation_policies.test.js
index 6956cb5b..3488d37b 100644
--- a/src/mocks/escalation_policies.test.js
+++ b/src/mocks/escalation_policies.test.js
@@ -14,9 +14,7 @@ const generateMockEscalationPolicy = () => {
};
};
-export const generateMockEscalationPolicies = (num) => Array.from(
- { length: num }, () => generateMockEscalationPolicy(),
-);
+export const generateMockEscalationPolicies = (num) => Array.from({ length: num }, () => generateMockEscalationPolicy());
export default generateMockEscalationPolicies;
diff --git a/src/mocks/services.test.js b/src/mocks/services.test.js
index a0694722..d373c626 100644
--- a/src/mocks/services.test.js
+++ b/src/mocks/services.test.js
@@ -14,9 +14,7 @@ const generateMockService = () => {
};
};
-export const generateMockServices = (num) => Array.from(
- { length: num }, () => generateMockService(),
-);
+export const generateMockServices = (num) => Array.from({ length: num }, () => generateMockService());
export default generateMockServices;
diff --git a/src/redux/connection/actions.js b/src/redux/connection/actions.js
index f8b14d9f..2fced144 100644
--- a/src/redux/connection/actions.js
+++ b/src/redux/connection/actions.js
@@ -2,6 +2,9 @@
export const UPDATE_CONNECTION_STATUS_REQUESTED = 'UPDATE_CONNECTION_STATUS_REQUESTED';
export const UPDATE_CONNECTION_STATUS_COMPLETED = 'UPDATE_CONNECTION_STATUS_COMPLETED';
+export const UPDATE_QUEUE_STATS_REQUESTED = 'UPDATE_QUEUE_STATS_REQUESTED';
+export const UPDATE_QUEUE_STATS_COMPLETED = 'UPDATE_QUEUE_STATS_COMPLETED';
+
export const CHECK_CONNECTION_STATUS_REQUESTED = 'CHECK_CONNECTION_STATUS_REQUESTED';
export const CHECK_CONNECTION_STATUS_COMPLETED = 'CHECK_CONNECTION_STATUS_COMPLETED';
@@ -16,6 +19,11 @@ export const updateConnectionStatus = (connectionStatus, connectionStatusMessage
connectionStatusMessage,
});
+export const updateQueueStats = (queueStats) => ({
+ type: UPDATE_QUEUE_STATS_REQUESTED,
+ queueStats,
+});
+
export const checkConnectionStatus = () => ({
type: CHECK_CONNECTION_STATUS_REQUESTED,
});
diff --git a/src/redux/connection/reducers.js b/src/redux/connection/reducers.js
index 18aa11fc..94a15b31 100644
--- a/src/redux/connection/reducers.js
+++ b/src/redux/connection/reducers.js
@@ -4,6 +4,8 @@ import i18next from 'i18n';
import {
UPDATE_CONNECTION_STATUS_REQUESTED,
UPDATE_CONNECTION_STATUS_COMPLETED,
+ UPDATE_QUEUE_STATS_REQUESTED,
+ UPDATE_QUEUE_STATS_COMPLETED,
CHECK_CONNECTION_STATUS_REQUESTED,
CHECK_CONNECTION_STATUS_COMPLETED,
CHECK_ABILITIES_REQUESTED,
@@ -24,6 +26,15 @@ const connection = produce(
draft.connectionStatusMessage = action.connectionStatusMessage;
break;
+ case UPDATE_QUEUE_STATS_REQUESTED:
+ draft.status = UPDATE_QUEUE_STATS_REQUESTED;
+ break;
+
+ case UPDATE_QUEUE_STATS_COMPLETED:
+ draft.status = UPDATE_QUEUE_STATS_COMPLETED;
+ draft.queueStats = action.queueStats;
+ break;
+
case CHECK_CONNECTION_STATUS_REQUESTED:
draft.status = CHECK_CONNECTION_STATUS_REQUESTED;
break;
@@ -52,6 +63,7 @@ const connection = produce(
{
connectionStatus: 'dormant',
connectionStatusMessage: i18next.t('Connecting'),
+ queueStats: { RECEIVED: 0, QUEUED: 0, RUNNING: 0, EXECUTING: 0 },
abilities: [],
status: '',
},
diff --git a/src/redux/connection/sagas.js b/src/redux/connection/sagas.js
index 45d98508..7c62ad1b 100644
--- a/src/redux/connection/sagas.js
+++ b/src/redux/connection/sagas.js
@@ -28,6 +28,8 @@ import {
import {
UPDATE_CONNECTION_STATUS_REQUESTED,
UPDATE_CONNECTION_STATUS_COMPLETED,
+ UPDATE_QUEUE_STATS_REQUESTED,
+ UPDATE_QUEUE_STATS_COMPLETED,
CHECK_CONNECTION_STATUS_REQUESTED,
CHECK_CONNECTION_STATUS_COMPLETED,
CHECK_ABILITIES_REQUESTED,
@@ -50,6 +52,20 @@ export function* updateConnectionStatusImpl(action) {
});
}
+export function* updateQueueStats() {
+ yield takeLatest(UPDATE_QUEUE_STATS_REQUESTED, updateQueueStatsImpl);
+}
+
+export function* updateQueueStatsImpl(action) {
+ const {
+ queueStats,
+ } = action;
+ yield put({
+ type: UPDATE_QUEUE_STATS_COMPLETED,
+ queueStats,
+ });
+}
+
export function* checkConnectionStatus() {
yield takeLatest(CHECK_CONNECTION_STATUS_REQUESTED, checkConnectionStatusImpl);
}
diff --git a/src/redux/incident_table/sagas.test.js b/src/redux/incident_table/sagas.test.js
index 9c7594e8..70590184 100644
--- a/src/redux/incident_table/sagas.test.js
+++ b/src/redux/incident_table/sagas.test.js
@@ -37,9 +37,7 @@ describe('Sagas: Incident Table', () => {
},
];
- it('saveIncidentTableImpl', () => expectSaga(
- saveIncidentTableImpl, { updatedIncidentTableColumns },
- )
+ it('saveIncidentTableImpl', () => expectSaga(saveIncidentTableImpl, { updatedIncidentTableColumns })
.withReducer(incidentTable)
.provide([
[select(selectIncidentTable), { incidentTableColumns: [], incidentTableState: {} }],
diff --git a/src/redux/incidents/sagas.js b/src/redux/incidents/sagas.js
index a00b0706..9badacdb 100644
--- a/src/redux/incidents/sagas.js
+++ b/src/redux/incidents/sagas.js
@@ -7,7 +7,10 @@ import {
import Fuse from 'fuse.js';
import {
- pd, throttledPdAxiosRequest,
+ pd,
+ throttledPdAxiosRequest,
+ pdParallelFetch,
+ resetLimiterWithRateLimit,
} from 'util/pd-api-wrapper';
import {
@@ -97,9 +100,6 @@ export function* getIncidentsImpl() {
yield put({
type: UPDATE_INCIDENT_LAST_FETCH_DATE,
});
- const {
- maxIncidentsLimit,
- } = yield select(selectSettings);
const {
sinceDate, incidentStatus, incidentUrgency, teamIds, serviceIds, userIds,
} = yield select(selectQuerySettings);
@@ -118,26 +118,7 @@ export function* getIncidentsImpl() {
if (serviceIds.length) baseParams.service_ids = serviceIds;
if (userIds.length) baseParams.user_ids = userIds;
- // Define API requests to be made in parallel
- const numberOfApiCalls = Math.ceil(maxIncidentsLimit / INCIDENTS_PAGINATION_LIMIT);
- const incidentRequests = [];
- for (let i = 0; i < numberOfApiCalls; i++) {
- const params = { ...baseParams };
- params.offset = i * INCIDENTS_PAGINATION_LIMIT;
- incidentRequests.push(call(throttledPdAxiosRequest, 'GET', 'incidents', params));
- }
- const incidentResults = yield all(incidentRequests);
-
- // Stitch results together
- const fetchedIncidents = [];
- const incidentResultsData = incidentResults.map((res) => [...res.data.incidents]);
- incidentResultsData.forEach((data) => {
- data.forEach((incident) => fetchedIncidents.push(incident));
- });
-
- // Sort incidents by reverse created_at date (i.e. recent incidents at the top) and truncate
- fetchedIncidents.sort((a, b) => new Date(b.created_at) - new Date(a.created_at));
- incidents = fetchedIncidents.slice(0, maxIncidentsLimit);
+ incidents = yield call(pdParallelFetch, 'incidents', baseParams);
} catch (e) {
yield put({ type: FETCH_INCIDENTS_ERROR, message: e.message });
yield put({
@@ -162,11 +143,17 @@ export function* getIncidents() {
fetchingIncidents: true,
});
+ const {
+ maxRateLimit,
+ } = yield select(selectSettings);
+
const {
incidentPriority, escalationPolicyIds, searchQuery,
} = yield select(
selectQuerySettings,
);
+
+ yield call(resetLimiterWithRateLimit, maxRateLimit);
const incidents = yield getIncidentsImpl();
yield put({
type: FETCH_INCIDENTS_COMPLETED,
@@ -197,11 +184,29 @@ export function* refreshIncidentsAsync() {
export function* refreshIncidents() {
try {
// Fetch incidents, notes, and alerts for refresh
+ const {
+ incidentPriority, escalationPolicyIds, searchQuery,
+ } = yield select(
+ selectQuerySettings,
+ );
+
+ const {
+ maxRateLimit,
+ } = yield select(selectSettings);
+
+ yield call(resetLimiterWithRateLimit, maxRateLimit);
const incidents = yield getIncidentsImpl();
yield put({
type: REFRESH_INCIDENTS_COMPLETED,
incidents,
});
+ // Filter incident list on priority (can't do this from API)
+ yield call(filterIncidentsByPriorityImpl, { incidentPriority });
+ // Filter incident list on escalation policy (can't do this from API)
+ yield call(filterIncidentsByEscalationPolicyImpl, { escalationPolicyIds });
+ // Filter updated incident list by query; updates memoized data within incidents table
+ yield call(filterIncidentsByQueryImpl, { searchQuery });
+
yield call(getAllIncidentNotes);
yield call(getAllIncidentAlerts);
} catch (e) {
diff --git a/src/redux/query_settings/sagas.test.js b/src/redux/query_settings/sagas.test.js
index 31c5589c..6cc727aa 100644
--- a/src/redux/query_settings/sagas.test.js
+++ b/src/redux/query_settings/sagas.test.js
@@ -90,7 +90,7 @@ describe('Sagas: Query Settings', () => {
};
const mockSettings = {
maxIncidentsLimit: MAX_INCIDENTS_LIMIT_LOWER,
- autoAcceptIncidentsQuery: false,
+ autoAcceptIncidentsQuery: true,
};
it('validateIncidentQueryImpl: Within MAX_INCIDENTS_LIMIT_LOWER', () => {
@@ -129,7 +129,9 @@ describe('Sagas: Query Settings', () => {
])
.silentRun()
.then((result) => {
- expect(result.storeState.status).toEqual(TOGGLE_DISPLAY_CONFIRM_QUERY_MODAL_REQUESTED);
+ // FIXME: This was previously `expect(result.storeState.status).toEqual(TOGGLE_DISPLAY_CONFIRM_QUERY_MODAL_REQUESTED);`
+ // but changed in https://github.com/giranm/pd-live-react/pull/449 due to introduction of a better implementation with API rate limits
+ expect(result.storeState.status).toEqual(CONFIRM_INCIDENT_QUERY_REQUESTED);
});
});
diff --git a/src/redux/rootSaga.js b/src/redux/rootSaga.js
index 16400ed9..33910a19 100644
--- a/src/redux/rootSaga.js
+++ b/src/redux/rootSaga.js
@@ -111,13 +111,17 @@ import {
setDefaultSinceDateTenor,
setAlertCustomDetailColumns,
setMaxIncidentsLimit,
+ setMaxRateLimit,
setAutoAcceptIncidentsQuery,
setAutoRefreshInterval,
clearLocalCache,
} from './settings/sagas';
import {
- updateConnectionStatus, checkConnectionStatus, checkAbilities,
+ updateConnectionStatus,
+ checkConnectionStatus,
+ checkAbilities,
+ updateQueueStats,
} from './connection/sagas';
import {
@@ -224,6 +228,7 @@ export default function* rootSaga() {
setDefaultSinceDateTenor(),
setAlertCustomDetailColumns(),
setMaxIncidentsLimit(),
+ setMaxRateLimit(),
setAutoAcceptIncidentsQuery(),
setAutoRefreshInterval(),
clearLocalCache(),
@@ -231,6 +236,7 @@ export default function* rootSaga() {
// Connection
updateConnectionStatus(),
checkConnectionStatus(),
+ updateQueueStats(),
checkAbilities(),
// Monitoring
diff --git a/src/redux/settings/actions.js b/src/redux/settings/actions.js
index 2a96a3ea..09c9f78d 100644
--- a/src/redux/settings/actions.js
+++ b/src/redux/settings/actions.js
@@ -12,6 +12,9 @@ export const SET_ALERT_CUSTOM_DETAIL_COLUMNS_COMPLETED = 'SET_ALERT_CUSTOM_DETAI
export const SET_MAX_INCIDENTS_LIMIT_REQUESTED = 'SET_MAX_INCIDENTS_LIMIT_REQUESTED';
export const SET_MAX_INCIDENTS_LIMIT_COMPLETED = 'SET_MAX_INCIDENTS_LIMIT_COMPLETED';
+export const SET_MAX_RATE_LIMIT_REQUESTED = 'SET_MAX_RATE_LIMIT_REQUESTED';
+export const SET_MAX_RATE_LIMIT_COMPLETED = 'SET_MAX_RATE_LIMIT_COMPLETED';
+
export const SET_AUTO_ACCEPT_INCIDENTS_QUERY_REQUESTED = 'SET_AUTO_ACCEPT_INCIDENTS_QUERY_REQUESTED';
export const SET_AUTO_ACCEPT_INCIDENTS_QUERY_COMPLETED = 'SET_AUTO_ACCEPT_INCIDENTS_QUERY_COMPLETED';
@@ -41,6 +44,11 @@ export const setMaxIncidentsLimit = (maxIncidentsLimit) => ({
maxIncidentsLimit,
});
+export const setMaxRateLimit = (maxRateLimit) => ({
+ type: SET_MAX_RATE_LIMIT_REQUESTED,
+ maxRateLimit,
+});
+
export const setAutoAcceptIncidentsQuery = (autoAcceptIncidentsQuery) => ({
type: SET_AUTO_ACCEPT_INCIDENTS_QUERY_REQUESTED,
autoAcceptIncidentsQuery,
diff --git a/src/redux/settings/reducers.js b/src/redux/settings/reducers.js
index 0264c08a..86c50cee 100644
--- a/src/redux/settings/reducers.js
+++ b/src/redux/settings/reducers.js
@@ -9,6 +9,8 @@ import {
SET_ALERT_CUSTOM_DETAIL_COLUMNS_COMPLETED,
SET_MAX_INCIDENTS_LIMIT_REQUESTED,
SET_MAX_INCIDENTS_LIMIT_COMPLETED,
+ SET_MAX_RATE_LIMIT_REQUESTED,
+ SET_MAX_RATE_LIMIT_COMPLETED,
SET_AUTO_ACCEPT_INCIDENTS_QUERY_REQUESTED,
SET_AUTO_ACCEPT_INCIDENTS_QUERY_COMPLETED,
SET_AUTO_REFRESH_INTERVAL_REQUESTED,
@@ -56,6 +58,15 @@ const settings = produce(
draft.status = SET_MAX_INCIDENTS_LIMIT_COMPLETED;
break;
+ case SET_MAX_RATE_LIMIT_REQUESTED:
+ draft.status = SET_MAX_RATE_LIMIT_REQUESTED;
+ break;
+
+ case SET_MAX_RATE_LIMIT_COMPLETED:
+ draft.maxRateLimit = action.maxRateLimit;
+ draft.status = SET_MAX_RATE_LIMIT_COMPLETED;
+ break;
+
case SET_AUTO_ACCEPT_INCIDENTS_QUERY_REQUESTED:
draft.status = SET_AUTO_ACCEPT_INCIDENTS_QUERY_REQUESTED;
break;
@@ -90,7 +101,8 @@ const settings = produce(
displaySettingsModal: false,
defaultSinceDateTenor: '1 Day',
maxIncidentsLimit: 200,
- autoAcceptIncidentsQuery: false,
+ maxRateLimit: 200,
+ autoAcceptIncidentsQuery: true,
autoRefreshInterval: 5,
alertCustomDetailFields: [
{ label: 'Environment:details.env', value: 'Environment:details.env', columnType: 'alert' },
diff --git a/src/redux/settings/sagas.js b/src/redux/settings/sagas.js
index 3e87b913..8f4a1e07 100644
--- a/src/redux/settings/sagas.js
+++ b/src/redux/settings/sagas.js
@@ -16,6 +16,8 @@ import {
SET_ALERT_CUSTOM_DETAIL_COLUMNS_COMPLETED,
SET_MAX_INCIDENTS_LIMIT_REQUESTED,
SET_MAX_INCIDENTS_LIMIT_COMPLETED,
+ SET_MAX_RATE_LIMIT_REQUESTED,
+ SET_MAX_RATE_LIMIT_COMPLETED,
SET_AUTO_ACCEPT_INCIDENTS_QUERY_REQUESTED,
SET_AUTO_ACCEPT_INCIDENTS_QUERY_COMPLETED,
SET_AUTO_REFRESH_INTERVAL_REQUESTED,
@@ -82,6 +84,20 @@ export function* setMaxIncidentsLimitImpl(action) {
});
}
+export function* setMaxRateLimit() {
+ yield takeLatest(SET_MAX_RATE_LIMIT_REQUESTED, setMaxRateLimitImpl);
+}
+
+export function* setMaxRateLimitImpl(action) {
+ const {
+ maxRateLimit,
+ } = action;
+ yield put({
+ type: SET_MAX_RATE_LIMIT_COMPLETED,
+ maxRateLimit,
+ });
+}
+
export function* setAutoAcceptIncidentsQuery() {
yield takeLatest(SET_AUTO_ACCEPT_INCIDENTS_QUERY_REQUESTED, setAutoAcceptIncidentsQueryImpl);
}
diff --git a/src/redux/settings/sagas.test.js b/src/redux/settings/sagas.test.js
index 6cfd4371..5566d5ba 100644
--- a/src/redux/settings/sagas.test.js
+++ b/src/redux/settings/sagas.test.js
@@ -9,6 +9,8 @@ import {
import {
MAX_INCIDENTS_LIMIT_LOWER,
MAX_INCIDENTS_LIMIT_UPPER,
+ MAX_RATE_LIMIT_LOWER,
+ MAX_RATE_LIMIT_UPPER,
REFRESH_INTERVAL_LOWER,
REFRESH_INTERVAL_UPPER,
} from 'config/constants';
@@ -21,6 +23,8 @@ import {
SET_ALERT_CUSTOM_DETAIL_COLUMNS_COMPLETED,
SET_MAX_INCIDENTS_LIMIT_REQUESTED,
SET_MAX_INCIDENTS_LIMIT_COMPLETED,
+ SET_MAX_RATE_LIMIT_REQUESTED,
+ SET_MAX_RATE_LIMIT_COMPLETED,
SET_AUTO_ACCEPT_INCIDENTS_QUERY_REQUESTED,
SET_AUTO_ACCEPT_INCIDENTS_QUERY_COMPLETED,
SET_AUTO_REFRESH_INTERVAL_REQUESTED,
@@ -30,6 +34,7 @@ import {
setDefaultSinceDateTenor,
setAlertCustomDetailColumns,
setMaxIncidentsLimit,
+ setMaxRateLimit,
setAutoAcceptIncidentsQuery,
setAutoRefreshInterval,
} from './sagas';
@@ -51,7 +56,8 @@ describe('Sagas: Settings', () => {
displaySettingsModal: false,
defaultSinceDateTenor: tenor,
maxIncidentsLimit: 200,
- autoAcceptIncidentsQuery: false,
+ maxRateLimit: 200,
+ autoAcceptIncidentsQuery: true,
autoRefreshInterval: 5,
alertCustomDetailFields: [
{
@@ -86,7 +92,8 @@ describe('Sagas: Settings', () => {
displaySettingsModal: false,
defaultSinceDateTenor: '1 Day',
maxIncidentsLimit: 200,
- autoAcceptIncidentsQuery: false,
+ maxRateLimit: 200,
+ autoAcceptIncidentsQuery: true,
autoRefreshInterval: 5,
alertCustomDetailFields,
status: SET_ALERT_CUSTOM_DETAIL_COLUMNS_COMPLETED,
@@ -112,7 +119,8 @@ describe('Sagas: Settings', () => {
displaySettingsModal: false,
defaultSinceDateTenor: '1 Day',
maxIncidentsLimit,
- autoAcceptIncidentsQuery: false,
+ maxRateLimit: 200,
+ autoAcceptIncidentsQuery: true,
autoRefreshInterval: 5,
alertCustomDetailFields: [
{
@@ -125,6 +133,39 @@ describe('Sagas: Settings', () => {
})
.silentRun();
});
+ it('setMaxRateLimit', () => {
+ const maxRateLimit = faker.datatype.number({
+ min: MAX_RATE_LIMIT_LOWER,
+ max: MAX_RATE_LIMIT_UPPER,
+ });
+ return expectSaga(setMaxRateLimit)
+ .withReducer(settings)
+ .dispatch({
+ type: SET_MAX_RATE_LIMIT_REQUESTED,
+ maxRateLimit,
+ })
+ .put({
+ type: SET_MAX_RATE_LIMIT_COMPLETED,
+ maxRateLimit,
+ })
+ .hasFinalState({
+ displaySettingsModal: false,
+ defaultSinceDateTenor: '1 Day',
+ maxIncidentsLimit: 200,
+ maxRateLimit,
+ autoAcceptIncidentsQuery: true,
+ autoRefreshInterval: 5,
+ alertCustomDetailFields: [
+ {
+ label: 'Environment:details.env',
+ value: 'Environment:details.env',
+ columnType: 'alert',
+ },
+ ],
+ status: SET_MAX_RATE_LIMIT_COMPLETED,
+ })
+ .silentRun();
+ });
it('setAutoAcceptIncidentsQuery', () => {
const autoAcceptIncidentsQuery = true;
return expectSaga(setAutoAcceptIncidentsQuery)
@@ -141,6 +182,7 @@ describe('Sagas: Settings', () => {
displaySettingsModal: false,
defaultSinceDateTenor: '1 Day',
maxIncidentsLimit: 200,
+ maxRateLimit: 200,
autoAcceptIncidentsQuery,
autoRefreshInterval: 5,
alertCustomDetailFields: [
@@ -173,7 +215,8 @@ describe('Sagas: Settings', () => {
displaySettingsModal: false,
defaultSinceDateTenor: '1 Day',
maxIncidentsLimit: 200,
- autoAcceptIncidentsQuery: false,
+ maxRateLimit: 200,
+ autoAcceptIncidentsQuery: true,
autoRefreshInterval,
alertCustomDetailFields: [
{
diff --git a/src/util/helpers.js b/src/util/helpers.js
index 20714f3b..ffb8fd93 100644
--- a/src/util/helpers.js
+++ b/src/util/helpers.js
@@ -65,9 +65,7 @@ export const compareCreatedAt = (a, b) => moment(a.created_at).diff(moment(b.cre
export const getSubdomainFromUserUrl = (htmlUrl) => htmlUrl.split('.')[0].split('https://')[1];
// Generate random integer between numbers
-export const generateRandomInteger = (min = 0, max = 100) => Math.floor(
- min + Math.random() * (max - min + 1),
-);
+export const generateRandomInteger = (min = 0, max = 100) => Math.floor(min + Math.random() * (max - min + 1));
/**
* Uses canvas.measureText to compute and return the width of the given text of given font in pixels
diff --git a/src/util/pd-api-wrapper.js b/src/util/pd-api-wrapper.js
index 97144a23..fede6da0 100644
--- a/src/util/pd-api-wrapper.js
+++ b/src/util/pd-api-wrapper.js
@@ -67,15 +67,37 @@ export const pdAxiosRequest = async (method, endpoint, params = {}, data = {}) =
});
// Ref: https://www.npmjs.com/package/bottleneck#refresh-interval
-const limiter = new Bottleneck({
- reservoir: 1900,
- reservoirRefreshAmount: 1900,
+const limiterSettings = {
+ reservoir: 200,
+ reservoirRefreshAmount: 200,
reservoirRefreshInterval: 60 * 1000,
maxConcurrent: 20,
- minTime: 60,
-});
+};
-export const throttledPdAxiosRequest = limiter.wrap(pdAxiosRequest);
+// limiter needs to be a mutable export because we need it to get the
+// queue stats, and we have to reassign it when we clear the queue
+
+// eslint-disable-next-line import/no-mutable-exports
+export let limiter = new Bottleneck(limiterSettings);
+
+// throttledPdAxiosRequest needs to be a mutable export because when we
+// reset the limiter, we have to re-wrap pdAxiosRequest
+
+// eslint-disable-next-line import/no-mutable-exports
+export let throttledPdAxiosRequest = limiter.wrap(pdAxiosRequest);
+
+// drop all the queued requests in the limiter - needed if we are getting
+// the list of incidents again but there are still outstanding requests
+// for notes, etc.
+export const resetLimiterWithRateLimit = async (limit = 200) => {
+ await limiter.stop({ dropWaitingJobs: true });
+ limiter = new Bottleneck({
+ ...limiterSettings,
+ reservoir: limit,
+ reservoirRefreshAmount: limit,
+ });
+ throttledPdAxiosRequest = limiter.wrap(pdAxiosRequest);
+};
/*
Optimized parallel fetch for paginated endpoints
@@ -101,26 +123,20 @@ export const pdParallelFetch = async (endpoint, params, progressCallback) => {
if (endpoint.indexOf('log_entries') > -1) reversedSortOrder = true;
const firstPage = (await pdAxiosRequest('GET', endpoint, requestParams)).data;
- let fetchedData = [...firstPage[endpointIdentifier(endpoint)]];
- requestParams.offset += requestParams.limit;
+ const fetchedData = firstPage[endpointIdentifier(endpoint)];
const promises = [];
- let outerOffset = 0;
- let more = true;
- while (more && outerOffset + requestParams.offset < firstPage.total) {
- while (
- more
- && outerOffset + requestParams.offset < firstPage.total
- && requestParams.offset < 10000
+ if (firstPage.more) {
+ for (
+ let offset = requestParams.limit;
+ offset < firstPage.total;
+ offset += requestParams.limit
) {
- const promise = pdAxiosRequest('GET', endpoint, requestParams)
+ const promise = throttledPdAxiosRequest('GET', endpoint, { ...requestParams, offset })
.then(({
data,
}) => {
- fetchedData = [...fetchedData, ...data[endpointIdentifier(endpoint)]];
- if (data.more === false) {
- more = false;
- }
+ fetchedData.push(...data[endpointIdentifier(endpoint)]);
if (progressCallback) {
progressCallback(firstPage.total, fetchedData.length);
}
@@ -130,16 +146,10 @@ export const pdParallelFetch = async (endpoint, params, progressCallback) => {
console.error(error);
});
promises.push(promise);
- requestParams.offset += requestParams.limit;
}
- await Promise.all(promises);
- // eslint-disable-next-line max-len
- fetchedData.sort((a, b) => (reversedSortOrder ? compareCreatedAt(b, a) : compareCreatedAt(a, b)));
- const untilOrSince = reversedSortOrder ? 'until' : 'since';
- requestParams[untilOrSince] = fetchedData[fetchedData.length - 1].created_at;
- outerOffset = fetchedData.length;
- requestParams.offset = 0;
}
+ await Promise.all(promises);
+ // eslint-disable-next-line max-len
fetchedData.sort((a, b) => (reversedSortOrder ? compareCreatedAt(b, a) : compareCreatedAt(a, b)));
return fetchedData;
};
diff --git a/yarn.lock b/yarn.lock
index c7784783..4e911e98 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1203,20 +1203,12 @@
"@babel/helper-validator-option" "^7.16.7"
"@babel/plugin-transform-typescript" "^7.16.7"
-"@babel/runtime-corejs3@^7.10.2":
- version "7.16.8"
- resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.16.8.tgz#ea533d96eda6fdc76b1812248e9fbd0c11d4a1a7"
- integrity sha512-3fKhuICS1lMz0plI5ktOE/yEtBRMVxplzRkdn6mJQ197XiY0JnrzYV0+Mxozq3JZ8SBV9Ecurmw1XsGbwOf+Sg==
- dependencies:
- core-js-pure "^3.20.2"
- regenerator-runtime "^0.13.4"
-
-"@babel/runtime@^7.0.0", "@babel/runtime@^7.10.2", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.0", "@babel/runtime@^7.12.1", "@babel/runtime@^7.12.5", "@babel/runtime@^7.13.10", "@babel/runtime@^7.13.8", "@babel/runtime@^7.14.0", "@babel/runtime@^7.14.5", "@babel/runtime@^7.15.4", "@babel/runtime@^7.16.3", "@babel/runtime@^7.17.2", "@babel/runtime@^7.18.9", "@babel/runtime@^7.19.4", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.3", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2":
- version "7.20.1"
- resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.20.1.tgz#1148bb33ab252b165a06698fde7576092a78b4a9"
- integrity sha512-mrzLkl6U9YLF8qpqI7TB82PESyEGjm/0Ly91jG575eVxMMlb8fYfOXFZIJ8XfLrJZQbm7dlKry2bJmXBUEkdFg==
+"@babel/runtime@^7.0.0", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.0", "@babel/runtime@^7.12.1", "@babel/runtime@^7.12.5", "@babel/runtime@^7.13.10", "@babel/runtime@^7.13.8", "@babel/runtime@^7.14.0", "@babel/runtime@^7.15.4", "@babel/runtime@^7.16.3", "@babel/runtime@^7.19.4", "@babel/runtime@^7.20.6", "@babel/runtime@^7.20.7", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.3", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2":
+ version "7.20.7"
+ resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.20.7.tgz#fcb41a5a70550e04a7b708037c7c32f7f356d8fd"
+ integrity sha512-UF0tvkUtxwAgZ5W/KrkHf0Rn0fdnLDU9ScxBrEVNUprE/MzirjK4MJUX1/BVDv00Sv8cljtukVK1aky++X1SjQ==
dependencies:
- regenerator-runtime "^0.13.10"
+ regenerator-runtime "^0.13.11"
"@babel/template@^7.16.7", "@babel/template@^7.3.3":
version "7.16.7"
@@ -1265,22 +1257,23 @@
resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39"
integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==
-"@braintree/sanitize-url@^6.0.0":
- version "6.0.0"
- resolved "https://registry.yarnpkg.com/@braintree/sanitize-url/-/sanitize-url-6.0.0.tgz#fe364f025ba74f6de6c837a84ef44bdb1d61e68f"
- integrity sha512-mgmE7XBYY/21erpzhexk4Cj1cyTQ9LzvnTxtzM17BJ7ERMNE6W72mQRo0I1Ud8eFJ+RVVIcBNhLFZ3GX4XFz5w==
+"@braintree/sanitize-url@^6.0.2":
+ version "6.0.2"
+ resolved "https://registry.yarnpkg.com/@braintree/sanitize-url/-/sanitize-url-6.0.2.tgz#6110f918d273fe2af8ea1c4398a88774bb9fc12f"
+ integrity sha512-Tbsj02wXCbqGmzdnXNk0SOF19ChhRU70BsroIi4Pm6Ehp56in6vch94mfbdQ17DozxkL3BAVjbZ4Qc1a0HFRAg==
-"@craco/craco@7.0.0-alpha.3":
- version "7.0.0-alpha.3"
- resolved "https://registry.yarnpkg.com/@craco/craco/-/craco-7.0.0-alpha.3.tgz#158355141c9a007cf2ee04c8071b0ee44dfa4aae"
- integrity sha512-ht3RsMMsg0xWaEbe1hh4DMM84njUzUXoBZ/lQXptPrQ0CR3w4dEXEn6kgw0rNwZbkbURxuB/dVRxroOQJ4F1YQ==
+"@craco/craco@7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@craco/craco/-/craco-7.0.0.tgz#4e9243e53fba6ed4d2bc08aa65aae9d1b63541ed"
+ integrity sha512-OyjL9zpURB6Ha1HO62Hlt27Xd7UYJ8DRiBNuE4DBB8Ue0iQ9q/xsv3ze7ROm6gCZqV6I2Gxjnq0EHCCye+4xDQ==
dependencies:
+ autoprefixer "^10.4.12"
cosmiconfig "^7.0.1"
cosmiconfig-typescript-loader "^1.0.0"
- cross-spawn "^7.0.0"
- lodash "^4.17.15"
- semver "^7.3.2"
- webpack-merge "^4.2.2"
+ cross-spawn "^7.0.3"
+ lodash "^4.17.21"
+ semver "^7.3.7"
+ webpack-merge "^5.8.0"
"@cspotcode/source-map-consumer@0.8.0":
version "0.8.0"
@@ -1370,10 +1363,10 @@
resolved "https://registry.yarnpkg.com/@csstools/postcss-unset-value/-/postcss-unset-value-1.0.0.tgz#f6e0e58376f09e381a49bd553772a97a477da3fd"
integrity sha512-T5ZyNSw9G0x0UDFiXV40a7VjKw2b+l4G+S0sctKqxhx8cg9QtMUAGwJBVU9mHPDPoZEmwm0tEoukjl4zb9MU7Q==
-"@cypress/react@6.2.1":
- version "6.2.1"
- resolved "https://registry.yarnpkg.com/@cypress/react/-/react-6.2.1.tgz#3473136165c1bbe658f89becbe9fd0782aa506fa"
- integrity sha512-c/ELgS2AgYM+6cKrSIRc0wd1fktalRWEvQRhuV+bVrvZHmU/BcrfIGsLT4juVLVjsK/jzl003vfQav2g9vF7ew==
+"@cypress/react@7.0.1":
+ version "7.0.1"
+ resolved "https://registry.yarnpkg.com/@cypress/react/-/react-7.0.1.tgz#30089e918434a934db70e5d0d7efaa49c653c791"
+ integrity sha512-kDTHt2A4kpnGsot7fh+86G5lSS+gSH2NQypQVtfLOolit99rdTOuEY9zit7fIlSvxcNsGzNQ27sE1vre7CsywA==
"@cypress/request@^2.88.10":
version "2.88.10"
@@ -1399,10 +1392,10 @@
tunnel-agent "^0.6.0"
uuid "^8.3.2"
-"@cypress/webpack-dev-server@^2.5.0":
- version "2.5.0"
- resolved "https://registry.yarnpkg.com/@cypress/webpack-dev-server/-/webpack-dev-server-2.5.0.tgz#a4b5e51a3ff47765f5eee5abb73efe4f3e4f44ee"
- integrity sha512-IWd6nFiGTMXh89Si6KC3Snq9FnV4raijLt4jDHYvRt4S7y6IoG8Uiw37UpFfzbUpwSFl8FVbWr8VosIotEj1Pw==
+"@cypress/webpack-dev-server@^3.2.3":
+ version "3.2.3"
+ resolved "https://registry.yarnpkg.com/@cypress/webpack-dev-server/-/webpack-dev-server-3.2.3.tgz#c907982bfcea2884aef16ffaed4e119ce0b111d3"
+ integrity sha512-59+567BQRO7kXEVz64vzbEv/9I53Tp7K+CUBd492wYZNrhjY8iDtWNmG4l5LX0ibtHmeG46rBCbd8PTViLD8Fg==
dependencies:
find-up "6.3.0"
fs-extra "9.1.0"
@@ -1422,25 +1415,25 @@
debug "^3.1.0"
lodash.once "^4.1.1"
-"@datadog/browser-core@4.23.1":
- version "4.23.1"
- resolved "https://registry.yarnpkg.com/@datadog/browser-core/-/browser-core-4.23.1.tgz#a7fe5c70613459f35e42d3830c52324dec9bc057"
- integrity sha512-qPM3tnOwAw9BUL1b9KZ4yFQTQ8Z4vRKujnwS1c/EgQ/yzXltNLfphGi+Kn6wUzKP1QlwmERXUPKL7S+QXnc88Q==
+"@datadog/browser-core@4.32.1":
+ version "4.32.1"
+ resolved "https://registry.yarnpkg.com/@datadog/browser-core/-/browser-core-4.32.1.tgz#bd35c24d8a44fd1613222ec49ca239ec24ba1b28"
+ integrity sha512-fDW0ZfyNSZwLowIFD5QRRm90f85PW1MSItiQmrzlC/l68FpKGEZ7PeKgIFypTTzX9NpvL0O/3s3YXf9E8e+dwg==
-"@datadog/browser-rum-core@4.23.1":
- version "4.23.1"
- resolved "https://registry.yarnpkg.com/@datadog/browser-rum-core/-/browser-rum-core-4.23.1.tgz#b79d2ad4e855d75969fc4981a55d9d4ffde969d4"
- integrity sha512-IaJ4KDe7hl4Qf5+O2Dl+i1DNrhaHhSE8h3jrunecrx/su4tDVL4OoOPTsA1wiZwVia31hkoyW/LhMzGmgMUFyQ==
+"@datadog/browser-rum-core@4.32.1":
+ version "4.32.1"
+ resolved "https://registry.yarnpkg.com/@datadog/browser-rum-core/-/browser-rum-core-4.32.1.tgz#55f069d9ed953427a27cb4a590f0bc45c7e11a84"
+ integrity sha512-ojUn8Le1B/IwrefgqSD5Y83qFNTS5YW8TUry7amU22tCf2Yio1NjDARCZYJPXxgn60emK3+4R8fvbr/GvY0RGw==
dependencies:
- "@datadog/browser-core" "4.23.1"
+ "@datadog/browser-core" "4.32.1"
-"@datadog/browser-rum@^4.23.1":
- version "4.23.1"
- resolved "https://registry.yarnpkg.com/@datadog/browser-rum/-/browser-rum-4.23.1.tgz#7f99a372b9917db92fe1f6f58b4a2668de718aa6"
- integrity sha512-kWZaRpGqXWAPdBdjKD8nC2TRJQSq2Tc98vSc5b0bdXN0xugGq3Ptf79gz4kXyhQGMGLFLO70J/DKEBepXkGLfw==
+"@datadog/browser-rum@^4.32.1":
+ version "4.32.1"
+ resolved "https://registry.yarnpkg.com/@datadog/browser-rum/-/browser-rum-4.32.1.tgz#f485582cfab90d4ef5dfe357c77ab67087e4a7b2"
+ integrity sha512-a+CL5KUpF5jIGjhQnK3CZUya2RexsQ0LJW45F3ukaDO7QhRlZ/bUYQCBLy0OMtzfGgQTKzDpyTxGyBP2wuu/ww==
dependencies:
- "@datadog/browser-core" "4.23.1"
- "@datadog/browser-rum-core" "4.23.1"
+ "@datadog/browser-core" "4.32.1"
+ "@datadog/browser-rum-core" "4.32.1"
"@emotion/babel-plugin@^11.7.1":
version "11.9.2"
@@ -1553,6 +1546,116 @@
resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.2.5.tgz#8eed982e2ee6f7f4e44c253e12962980791efd46"
integrity sha512-6U71C2Wp7r5XtFtQzYrW5iKFT67OixrSxjI4MptCHzdSVlgabczzqLe0ZSgnub/5Kp4hSbpDB1tMytZY9pwxxA==
+"@esbuild/android-arm64@0.17.2":
+ version "0.17.2"
+ resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.17.2.tgz#73aa058f1fdc43770afd9a7b39654ce7e1b2e774"
+ integrity sha512-QSkmYISXr2uFoR+NdmmKyR5svYb0cXDCfzwNblLsrC8wTpx/I1L7u/zrjrf4aLoHoRTycZFIewJwBiUrO5DWtQ==
+
+"@esbuild/android-arm@0.17.2":
+ version "0.17.2"
+ resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.17.2.tgz#7cdb67672350177edbaa1de1bedd71b295989fab"
+ integrity sha512-Art7v3xYfqH1gEMUSP0Nx67pNAlC/Y3qSg3mOw8Wg7MP9bJLXL0DrmJaV1Qz1o4FwagtvDgkVOeBDpZgxdj13Q==
+
+"@esbuild/android-x64@0.17.2":
+ version "0.17.2"
+ resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.17.2.tgz#58cb40ea9502a619551dab8145ec19de3192f3d8"
+ integrity sha512-5VOaFBI0RK8jJVDHdeU1YJmpxXoOf1RPoiOBhk/Tvpulw7R1SwCsxHvC3eDQcoF0gV7YM4V2wJO0PR9tem6gCQ==
+
+"@esbuild/darwin-arm64@0.17.2":
+ version "0.17.2"
+ resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.17.2.tgz#d9d60f704e13611db85acf2cc1ce2ed34fe5e46a"
+ integrity sha512-iQJu1Zn1Wi91D5x/sslEn/jwae1tgSAEHK0R/kYzIr5jO992IJwDDuWhSGll23jHt18RECxahhGG0BWY/bVUTw==
+
+"@esbuild/darwin-x64@0.17.2":
+ version "0.17.2"
+ resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.17.2.tgz#4ae5735e1cd09b584cff4b8066a246cc62b06c97"
+ integrity sha512-j750nyrwoRZd3VnPo5sd12/5U27TxFGmvmoDv93G2jiaGJPYKJ/+5IfRAvHahGePTUIRPyOlE5YLFw9MlzuBnw==
+
+"@esbuild/freebsd-arm64@0.17.2":
+ version "0.17.2"
+ resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.2.tgz#0265bd51eb1951b27eb693fd4989a4154e32bd58"
+ integrity sha512-ti7GU+/KUQQXEPmSUep7efZpA3KR2SkKsVuSL2FE7Yxka9apuqKfymAgQmVPMxstzAgCRBIu8uEu0KFmTfs3/Q==
+
+"@esbuild/freebsd-x64@0.17.2":
+ version "0.17.2"
+ resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.2.tgz#7b29d68def0ab7c5a21e3d8ec67a7a47db5f9993"
+ integrity sha512-NgooSKWSnrNKRuiumY1dg7KAGpsyXIMcwyOXN9imnqe8VFjqqrEOMqZRik0C1wlfLjiSCuMsj+YUSmBMAJMt0A==
+
+"@esbuild/linux-arm64@0.17.2":
+ version "0.17.2"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.17.2.tgz#4ac9edc5011e0d5e3f8673c3c3b00dc5c9bf4459"
+ integrity sha512-jcJ4cxwQyqEqgDwkqj7820nKx9cM5WBPCCU4oUXvTeG+DkkJE6/P75od0VPHmItFfEJu+/2vV85ebvFVomZcBg==
+
+"@esbuild/linux-arm@0.17.2":
+ version "0.17.2"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.17.2.tgz#5b3f46608b682e32255f6dce10ddcc150826df4d"
+ integrity sha512-8dfrRTd39n+THdAetwQKNwK6zBPR5oPjMtgRNXvRq8gsn/J5o69zTaOWVi3QO09BljqdShxU2dxDA09lDhdIqQ==
+
+"@esbuild/linux-ia32@0.17.2":
+ version "0.17.2"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.17.2.tgz#21e123e2557236c847b38c2ea4dac3d8fbd1081c"
+ integrity sha512-dXZ3m++zaRVD2fqOUPP8QTh1Lfg6WO6uZDo/QJ3KdfnIR7dDToDtaA12AgKYvCed9Nuzf/gpKs/7/f6I02b/sg==
+
+"@esbuild/linux-loong64@0.17.2":
+ version "0.17.2"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.17.2.tgz#05e2ca319a925de0a28fe2d8a31e158f8172dac9"
+ integrity sha512-/vntXkzSe9TUp0Rh35Wgye1EOhDtmIMjwC4rtahHcALmDXL+iuQGvwGFvXrP+sBigia/ltLryMAvCiqGV6plqw==
+
+"@esbuild/linux-mips64el@0.17.2":
+ version "0.17.2"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.2.tgz#98f0e25b86153d725d4379bc267a2cd4c9bcdd24"
+ integrity sha512-guYcNHjMRO1BMxWAeb8LDfgQaU8oeUO65xtlclwBD+hX3163KBifEHyao1hK96J10BP9n0UmZug6GhtGZaNm2Q==
+
+"@esbuild/linux-ppc64@0.17.2":
+ version "0.17.2"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.2.tgz#45252f5343c5178dae93f8f7fc97aa4304cc5cca"
+ integrity sha512-fzHTnIGIVqgUGZcFnnisguKD4UneF4uwWwkG+i8kBspMDdU1wJ0jha1VdtxWP7Ob1KGxuXcoUlrQkCVO+Z5iOw==
+
+"@esbuild/linux-riscv64@0.17.2":
+ version "0.17.2"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.2.tgz#6c4446ad19a4d8b070ea0ddf124b6ea53750d5e2"
+ integrity sha512-Sa+z7csvNVeAsTD83tVSggOb8CAU7EdDuihC8WhtoJfuDVkF5+Vi0imaiCjXQ7Ci5rz/a8IJ1H1MWX3eI9AmuQ==
+
+"@esbuild/linux-s390x@0.17.2":
+ version "0.17.2"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.17.2.tgz#5c03feb73b0c3fa80834eb150cd9c14206681b4e"
+ integrity sha512-jUFCO+/VA1Y/oeauSNBubp2UtGu4xjBUEFVgMPm0qLuw6xw18yOagKwBOPVmyE3ZSFqGd9BAPZM/JrtadgBryA==
+
+"@esbuild/linux-x64@0.17.2":
+ version "0.17.2"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.17.2.tgz#60405f2a40fb792557293a11ba0c380cfe744fcc"
+ integrity sha512-naygxkSmr6x9tuvpa8iGefnXo3Rc3Noz7c4+Dn0MSfSWJwLaN2YR686e7HkI09irfjDdU5UAq9wcxUwjkYQNUA==
+
+"@esbuild/netbsd-x64@0.17.2":
+ version "0.17.2"
+ resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.2.tgz#be8afb6d91827ecb8a8f42a43c63b528bbdd9c53"
+ integrity sha512-Hagbdq4EpiG9XXJY6Ozfrl2RN5jkXZXd6BD39f43tWz0d8yyOrRZlofM1eA6JYQbdv6c8BUsUOcgopavIqwx4Q==
+
+"@esbuild/openbsd-x64@0.17.2":
+ version "0.17.2"
+ resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.2.tgz#18e9f4c8284ade701039df1de246a35161dd382e"
+ integrity sha512-Pkby+VEXY7+aWP8J2RUCfqWbbZz2M1GavRGGnE2kEPzwarba/BOk3B45PSaKwc3iKdK2rgCPCTjC/p9JoKNejA==
+
+"@esbuild/sunos-x64@0.17.2":
+ version "0.17.2"
+ resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.17.2.tgz#c45c5b6fa406af451e3ebe2ba610bfaad106d20b"
+ integrity sha512-WAyg4dBTUsAPJ9cRnuQ23cwJWYRhP4e4y0M/l2+EpRjWW+g1MNAXKQQNNhRQ71zc8UixRVrqj+43ReHeZC8mJQ==
+
+"@esbuild/win32-arm64@0.17.2":
+ version "0.17.2"
+ resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.17.2.tgz#6b6d31077cba24bd8bc9e173b9ae052b0bef5b0c"
+ integrity sha512-rMbO3gPpxuENd+AnZLgo4J/g+BkwxT3NK7nYpSZ0KlYtSdlxYMIMG5pznX7a1ISZKo67aGStne+K41jdkBywpA==
+
+"@esbuild/win32-ia32@0.17.2":
+ version "0.17.2"
+ resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.17.2.tgz#88bb3a510006114d8291506b6ec9ff93f66d0d5c"
+ integrity sha512-73dWKDMhFk+4owS19OjEVbEDGFPRS1fyga3qOu5HPd5eTxJTjtlVTT/fG/S7AchA0vXS7hOqY70AAir1CkmICg==
+
+"@esbuild/win32-x64@0.17.2":
+ version "0.17.2"
+ resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.17.2.tgz#a7ce1ae475e14febb80e2690430e399491206a61"
+ integrity sha512-QFJlhf73HCBjTqAWWSIlD8JQBtmue0Dd6UV+KGccycJ3HKj1dCkXdRKJGwc5bZWiI9hrxcWsVEa1kVFaltC4vQ==
+
"@eslint/eslintrc@^0.4.3":
version "0.4.3"
resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.3.tgz#9e42981ef035beb3dd49add17acb96e8ff6f394c"
@@ -3158,22 +3261,22 @@
"@webassemblyjs/ast" "1.11.1"
"@xtuc/long" "4.2.2"
-"@wojtekmaj/enzyme-adapter-react-17@^0.6.7":
- version "0.6.7"
- resolved "https://registry.yarnpkg.com/@wojtekmaj/enzyme-adapter-react-17/-/enzyme-adapter-react-17-0.6.7.tgz#7784bd32f518b186218cebb26c98c852676f30b0"
- integrity sha512-B+byiwi/T1bx5hcj9wc0fUL5Hlb5giSXJzcnEfJVl2j6dGV2NJfcxDBYX0WWwIxlzNiFz8kAvlkFWI2y/nscZQ==
+"@wojtekmaj/enzyme-adapter-react-17@^0.8.0":
+ version "0.8.0"
+ resolved "https://registry.yarnpkg.com/@wojtekmaj/enzyme-adapter-react-17/-/enzyme-adapter-react-17-0.8.0.tgz#138f404f82f502d152242c049e87d9621dcda4bd"
+ integrity sha512-zeUGfQRziXW7R7skzNuJyi01ZwuKCH8WiBNnTgUJwdS/CURrJwAhWsfW7nG7E30ak8Pu3ZwD9PlK9skBfAoOBw==
dependencies:
- "@wojtekmaj/enzyme-adapter-utils" "^0.1.4"
+ "@wojtekmaj/enzyme-adapter-utils" "^0.2.0"
enzyme-shallow-equal "^1.0.0"
has "^1.0.0"
prop-types "^15.7.0"
react-is "^17.0.0"
react-test-renderer "^17.0.0"
-"@wojtekmaj/enzyme-adapter-utils@^0.1.4":
- version "0.1.4"
- resolved "https://registry.yarnpkg.com/@wojtekmaj/enzyme-adapter-utils/-/enzyme-adapter-utils-0.1.4.tgz#bcd411ad6e368f17dce5425582c2907104cdb1ad"
- integrity sha512-ARGIQSIIv3oBia1m5Ihn1VU0FGmft6KPe39SBKTb8p7LSXO23YI4kNtc4M/cKoIY7P+IYdrZcgMObvedyjoSQA==
+"@wojtekmaj/enzyme-adapter-utils@^0.2.0":
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/@wojtekmaj/enzyme-adapter-utils/-/enzyme-adapter-utils-0.2.0.tgz#dc2a8c14f92e502da28ea6b3fad96a082076d028"
+ integrity sha512-ZvZm9kZxZEKAbw+M1/Q3iDuqQndVoN8uLnxZ8bzxm7KgGTBejrGRoJAp8f1EN8eoO3iAjBNEQnTDW/H4Ekb0FQ==
dependencies:
function.prototype.name "^1.1.0"
has "^1.0.0"
@@ -3488,18 +3591,12 @@ argparse@^2.0.1:
resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38"
integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==
-aria-query@^4.2.2:
- version "4.2.2"
- resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-4.2.2.tgz#0d2ca6c9aceb56b8977e9fed6aed7e15bbd2f83b"
- integrity sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==
+aria-query@^5.0.0, aria-query@^5.1.3:
+ version "5.1.3"
+ resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.1.3.tgz#19db27cd101152773631396f7a95a3b58c22c35e"
+ integrity sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==
dependencies:
- "@babel/runtime" "^7.10.2"
- "@babel/runtime-corejs3" "^7.10.2"
-
-aria-query@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.0.0.tgz#210c21aaf469613ee8c9a62c7f86525e058db52c"
- integrity sha512-V+SM7AbUwJ+EBnB8+DXs0hPZHO0W6pqBcc0dW90OwtVG02PswOu/teuARoLQjdDOH+t9pJgGnW5/Qmouf3gPJg==
+ deep-equal "^2.0.5"
arr-union@^3.1.0:
version "3.1.0"
@@ -3516,15 +3613,15 @@ array-flatten@^2.1.2:
resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-2.1.2.tgz#24ef80a28c1a893617e2149b0c6d0d788293b099"
integrity sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==
-array-includes@^3.1.4, array-includes@^3.1.5:
- version "3.1.5"
- resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.5.tgz#2c320010db8d31031fd2a5f6b3bbd4b1aad31bdb"
- integrity sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ==
+array-includes@^3.1.5, array-includes@^3.1.6:
+ version "3.1.6"
+ resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.6.tgz#9e9e720e194f198266ba9e18c29e6a9b0e4b225f"
+ integrity sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==
dependencies:
call-bind "^1.0.2"
define-properties "^1.1.4"
- es-abstract "^1.19.5"
- get-intrinsic "^1.1.1"
+ es-abstract "^1.20.4"
+ get-intrinsic "^1.1.3"
is-string "^1.0.7"
array-union@^1.0.1:
@@ -3555,23 +3652,24 @@ array.prototype.filter@^1.0.0:
es-array-method-boxes-properly "^1.0.0"
is-string "^1.0.7"
-array.prototype.flat@^1.2.3, array.prototype.flat@^1.2.5:
- version "1.2.5"
- resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.5.tgz#07e0975d84bbc7c48cd1879d609e682598d33e13"
- integrity sha512-KaYU+S+ndVqyUnignHftkwc58o3uVU1jzczILJ1tN2YaIZpFIKBiP/x/j97E5MVPsaCloPbqWLB/8qCTVvT2qg==
+array.prototype.flat@^1.2.3, array.prototype.flat@^1.3.1:
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz#ffc6576a7ca3efc2f46a143b9d1dda9b4b3cf5e2"
+ integrity sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==
dependencies:
call-bind "^1.0.2"
- define-properties "^1.1.3"
- es-abstract "^1.19.0"
+ define-properties "^1.1.4"
+ es-abstract "^1.20.4"
+ es-shim-unscopables "^1.0.0"
-array.prototype.flatmap@^1.3.0:
- 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==
+array.prototype.flatmap@^1.3.1:
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz#1aae7903c2100433cb8261cd4ed310aab5c4a183"
+ integrity sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==
dependencies:
call-bind "^1.0.2"
- define-properties "^1.1.3"
- es-abstract "^1.19.2"
+ define-properties "^1.1.4"
+ es-abstract "^1.20.4"
es-shim-unscopables "^1.0.0"
array.prototype.reduce@^1.0.4:
@@ -3585,6 +3683,17 @@ array.prototype.reduce@^1.0.4:
es-array-method-boxes-properly "^1.0.0"
is-string "^1.0.7"
+array.prototype.tosorted@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz#ccf44738aa2b5ac56578ffda97c03fd3e23dd532"
+ integrity sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==
+ dependencies:
+ call-bind "^1.0.2"
+ define-properties "^1.1.4"
+ es-abstract "^1.20.4"
+ es-shim-unscopables "^1.0.0"
+ get-intrinsic "^1.1.3"
+
arrify@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d"
@@ -3649,19 +3758,19 @@ at-least-node@^1.0.0:
resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2"
integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==
-autoprefixer@10.4.12:
- version "10.4.12"
- resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.12.tgz#183f30bf0b0722af54ee5ef257f7d4320bb33129"
- integrity sha512-WrCGV9/b97Pa+jtwf5UGaRjgQIg7OK3D06GnoYoZNcG1Xb8Gt3EfuKjlhh9i/VtT16g6PYjZ69jdJ2g8FxSC4Q==
+autoprefixer@10.4.13:
+ version "10.4.13"
+ resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.13.tgz#b5136b59930209a321e9fa3dca2e7c4d223e83a8"
+ integrity sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg==
dependencies:
browserslist "^4.21.4"
- caniuse-lite "^1.0.30001407"
+ caniuse-lite "^1.0.30001426"
fraction.js "^4.2.0"
normalize-range "^0.1.2"
picocolors "^1.0.0"
postcss-value-parser "^4.2.0"
-autoprefixer@10.4.5, autoprefixer@^10.4.6:
+autoprefixer@10.4.5, autoprefixer@^10.4.12, autoprefixer@^10.4.6:
version "10.4.5"
resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.5.tgz#662193c744094b53d3637f39be477e07bd904998"
integrity sha512-Fvd8yCoA7lNX/OUllvS+aS1I7WRBclGXsepbvT8ZaPgrH24rgXpZzF0/6Hh3ZEkwg+0AES/Osd196VZmYoEFtw==
@@ -3673,6 +3782,11 @@ autoprefixer@10.4.5, autoprefixer@^10.4.6:
picocolors "^1.0.0"
postcss-value-parser "^4.2.0"
+available-typed-arrays@^1.0.5:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7"
+ integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==
+
aws-sign2@~0.7.0:
version "0.7.0"
resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8"
@@ -3683,31 +3797,34 @@ aws4@^1.8.0:
resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59"
integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==
-axe-core@^4.4.3:
- version "4.4.3"
- resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.4.3.tgz#11c74d23d5013c0fa5d183796729bc3482bd2f6f"
- integrity sha512-32+ub6kkdhhWick/UjvEwRchgoetXqTK14INLqbGm5U2TzBkBNF3nQtLYm8ovxSkQWArjEQvftCKryjZaATu3w==
+axe-core@^4.6.2:
+ version "4.6.2"
+ resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.6.2.tgz#6e566ab2a3d29e415f5115bc0fd2597a5eb3e5e3"
+ integrity sha512-b1WlTV8+XKLj9gZy2DZXgQiyDp9xkkoe2a6U6UbYccScq2wgH/YwCeI2/Jq2mgo0HzQxqJOjWZBLeA/mqsk5Mg==
-axios@^0.25.0:
- version "0.25.0"
- resolved "https://registry.yarnpkg.com/axios/-/axios-0.25.0.tgz#349cfbb31331a9b4453190791760a8d35b093e0a"
- integrity sha512-cD8FOb0tRH3uuEe6+evtAbgJtfxr7ly3fQjYcMcuPlgkwVS9xboaVIpcDV+cYQe+yGykgwZCs1pzjntcGa6l5g==
+axios@^0.27.2:
+ version "0.27.2"
+ resolved "https://registry.yarnpkg.com/axios/-/axios-0.27.2.tgz#207658cc8621606e586c85db4b41a750e756d972"
+ integrity sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==
dependencies:
- follow-redirects "^1.14.7"
+ follow-redirects "^1.14.9"
+ form-data "^4.0.0"
-axios@^1.1.3:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/axios/-/axios-1.1.3.tgz#8274250dada2edf53814ed7db644b9c2866c1e35"
- integrity sha512-00tXVRwKx/FZr/IDVFt4C+f9FYairX517WoGCL6dpOntqLkZofjhu43F/Xl44UOpqa+9sLFDrG/XAnFsUYgkDA==
+axios@^1.2.2:
+ version "1.2.3"
+ resolved "https://registry.yarnpkg.com/axios/-/axios-1.2.3.tgz#31a3d824c0ebf754a004b585e5f04a5f87e6c4ff"
+ integrity sha512-pdDkMYJeuXLZ6Xj/Q5J3Phpe+jbGdsSzlQaFVkMQzRUL05+6+tetX8TV3p4HrU4kzuO9bt+io/yGQxuyxA/xcw==
dependencies:
follow-redirects "^1.15.0"
form-data "^4.0.0"
proxy-from-env "^1.1.0"
-axobject-query@^2.2.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.2.0.tgz#943d47e10c0b704aa42275e20edf3722648989be"
- integrity sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==
+axobject-query@^3.1.1:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-3.1.1.tgz#3b6e5c6d4e43ca7ba51c5babf99d22a9c68485e1"
+ integrity sha512-goKlv8DZrK9hUh975fnHzhNIO4jUnFCfv/dszV5VwUGDFjI6vQ2VwoyjYjYNEbBE8AH87TduWP5uyDR1D+Iteg==
+ dependencies:
+ deep-equal "^2.0.5"
babel-eslint@^10.1.0:
version "10.1.0"
@@ -4242,11 +4359,16 @@ caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001332, caniuse-lite@^1.0.30001370:
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001400.tgz#3038bee70d8b875604cd8833cb0e5e254ee0281a"
integrity sha512-Mv659Hn65Z4LgZdJ7ge5JTVbE3rqbJaaXgW5LEI9/tOaXclfIZ8DW7D7FCWWWmWiiPS7AC48S8kf3DApSxQdgA==
-caniuse-lite@^1.0.30001400, caniuse-lite@^1.0.30001407:
+caniuse-lite@^1.0.30001400:
version "1.0.30001419"
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001419.tgz#3542722d57d567c8210d5e4d0f9f17336b776457"
integrity sha512-aFO1r+g6R7TW+PNQxKzjITwLOyDhVRLjW0LcwS/HCZGUUKTGNp9+IwLC4xyDSZBygVL/mxaFR3HIV6wEKQuSzw==
+caniuse-lite@^1.0.30001426:
+ version "1.0.30001431"
+ resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001431.tgz#e7c59bd1bc518fae03a4656be442ce6c4887a795"
+ integrity sha512-zBUoFU0ZcxpvSt9IU66dXVT/3ctO1cy4y9cscs1szkPlcWb6pasYM144GqrUygUbT+k7cmUCW61cvskjcv0enQ==
+
case-sensitive-paths-webpack-plugin@^2.4.0:
version "2.4.0"
resolved "https://registry.yarnpkg.com/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz#db64066c6422eed2e08cc14b986ca43796dbc6d4"
@@ -4577,11 +4699,16 @@ commander@^8.3.0:
resolved "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66"
integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==
-commander@^9.4.0, commander@~9.4.1:
+commander@^9.4.0:
version "9.4.1"
resolved "https://registry.yarnpkg.com/commander/-/commander-9.4.1.tgz#d1dd8f2ce6faf93147295c0df13c7c21141cfbdd"
integrity sha512-5EEkTNyHNGFPD2H+c/dXXfQZYa/scCKasxWcXJaWnNJ99pnQN9Vnmqow+p+PlFPE63Q6mThaZws1T+HxfpgtPw==
+commander@~10.0.0:
+ version "10.0.0"
+ resolved "https://registry.yarnpkg.com/commander/-/commander-10.0.0.tgz#71797971162cd3cf65f0b9d24eb28f8d303acdf1"
+ integrity sha512-zS5PnTI22FIRM6ylNW8G4Ap0IEOyk62fhLSD0+uHRT9McRCLGpkVNvao4bjimpK/GShynyQkFFxHhwMcETmduA==
+
common-path-prefix@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/common-path-prefix/-/common-path-prefix-3.0.0.tgz#7d007a7e07c58c4b4d5f433131a19141b29f11e0"
@@ -4689,11 +4816,6 @@ core-js-compat@^3.21.0, core-js-compat@^3.22.1:
browserslist "^4.21.2"
semver "7.0.0"
-core-js-pure@^3.20.2:
- version "3.20.3"
- resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.20.3.tgz#6cc4f36da06c61d95254efc54024fe4797fd5d02"
- integrity sha512-Q2H6tQ5MtPtcC7f3HxJ48i4Q7T9ybPKgvWyuH7JXIoNa2pm0KuBnycsET/qw1SLLZYfbsbrZQNMeIOClb+6WIA==
-
core-js-pure@^3.8.1:
version "3.22.4"
resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.22.4.tgz#a992210f4cad8b32786b8654563776c56b0e0d0a"
@@ -5009,10 +5131,10 @@ csstype@^3.0.2:
resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.0.10.tgz#2ad3a7bed70f35b965707c092e5f30b327c290e5"
integrity sha512-2u44ZG2OcNUO9HDp/Jl8C07x6pU/eTR3ncV91SiK3dhG9TWvRVsCoJw14Ckx5DgWkzGA3waZWO3d7pgqpUI/XA==
-cy2@^3.1.7:
- version "3.1.7"
- resolved "https://registry.yarnpkg.com/cy2/-/cy2-3.1.7.tgz#e1b9514b924b3c2dea5332b0783fc4e3375c985a"
- integrity sha512-JOcwkcNU/41v+cBMvnRgIfVgn8ul4bgRkdPWsmy0JwsbcIVRdPwAxrrtBtYbsz/BH+wBfzWYO3NpwQkZOiQq8w==
+cy2@^3.4.3:
+ version "3.4.3"
+ resolved "https://registry.yarnpkg.com/cy2/-/cy2-3.4.3.tgz#c61665a953256e22399804f69067bb407ca922da"
+ integrity sha512-I1yfJWJTRy2ROti1TlLM5Qk86WSeKMrtZbY/G6VD2tjm3VKTu6pDkpcV56C2HhN+txK5p6MMsmzKXJM2W9JlxA==
dependencies:
acorn "^8.8.0"
debug "^4.3.2"
@@ -5022,10 +5144,10 @@ cy2@^3.1.7:
npm-which "^3.0.1"
slash "3.0.0"
-cypress-fail-fast@^5.0.1:
- version "5.0.1"
- resolved "https://registry.yarnpkg.com/cypress-fail-fast/-/cypress-fail-fast-5.0.1.tgz#b86803ec2df0292b55f7f2b0d9d9b7eb593fa359"
- integrity sha512-8x1RGWki0Vldq3dNUuWnSUiDPBSdDqznSl8S8Z6aK3JBPaqMZOlVYWhCzoyymSpt4Ta8rL+IAuDJ/+5GA2faTA==
+cypress-fail-fast@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/cypress-fail-fast/-/cypress-fail-fast-7.0.0.tgz#d50c58a6807df3df14e4c9154ce9d9b01c3b4b24"
+ integrity sha512-N8ei7clcqSWD4jrRMO6zPzSWcQTabGdnkIJBPCcnYYrlNyqsO3xFSGo6x796cR5soqetv10LCTJyCbvqNniUyA==
dependencies:
chalk "4.1.2"
@@ -5113,7 +5235,7 @@ de-indent@^1.0.2:
resolved "https://registry.yarnpkg.com/de-indent/-/de-indent-1.0.2.tgz#b2038e846dc33baa5796128d0804b455b8c1e21d"
integrity sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==
-debug@2.6.9, debug@^2.2.0, debug@^2.6.0, debug@^2.6.9:
+debug@2.6.9, debug@^2.2.0, debug@^2.6.0:
version "2.6.9"
resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
@@ -5157,6 +5279,29 @@ dedent@^0.7.0:
resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c"
integrity sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=
+deep-equal@^2.0.5:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-2.2.0.tgz#5caeace9c781028b9ff459f33b779346637c43e6"
+ integrity sha512-RdpzE0Hv4lhowpIUKKMJfeH6C1pXdtT1/it80ubgWqwI3qpuxUBpC1S4hnHg+zjnuOoDkzUtUCEEkG+XG5l3Mw==
+ dependencies:
+ call-bind "^1.0.2"
+ es-get-iterator "^1.1.2"
+ get-intrinsic "^1.1.3"
+ is-arguments "^1.1.1"
+ is-array-buffer "^3.0.1"
+ is-date-object "^1.0.5"
+ is-regex "^1.1.4"
+ is-shared-array-buffer "^1.0.2"
+ isarray "^2.0.5"
+ object-is "^1.1.5"
+ object-keys "^1.1.1"
+ object.assign "^4.1.4"
+ regexp.prototype.flags "^1.4.3"
+ side-channel "^1.0.4"
+ which-boxed-primitive "^1.0.2"
+ which-collection "^1.0.1"
+ which-typed-array "^1.1.9"
+
deep-is@^0.1.3, deep-is@~0.1.3:
version "0.1.4"
resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831"
@@ -5704,16 +5849,78 @@ es-abstract@^1.19.2, es-abstract@^1.19.5, es-abstract@^1.20.1:
string.prototype.trimstart "^1.0.5"
unbox-primitive "^1.0.2"
+es-abstract@^1.20.4:
+ version "1.21.1"
+ resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.21.1.tgz#e6105a099967c08377830a0c9cb589d570dd86c6"
+ integrity sha512-QudMsPOz86xYz/1dG1OuGBKOELjCh99IIWHLzy5znUB6j8xG2yMA7bfTV86VSqKF+Y/H08vQPR+9jyXpuC6hfg==
+ dependencies:
+ available-typed-arrays "^1.0.5"
+ call-bind "^1.0.2"
+ es-set-tostringtag "^2.0.1"
+ es-to-primitive "^1.2.1"
+ function-bind "^1.1.1"
+ function.prototype.name "^1.1.5"
+ get-intrinsic "^1.1.3"
+ get-symbol-description "^1.0.0"
+ globalthis "^1.0.3"
+ gopd "^1.0.1"
+ has "^1.0.3"
+ has-property-descriptors "^1.0.0"
+ has-proto "^1.0.1"
+ has-symbols "^1.0.3"
+ internal-slot "^1.0.4"
+ is-array-buffer "^3.0.1"
+ is-callable "^1.2.7"
+ is-negative-zero "^2.0.2"
+ is-regex "^1.1.4"
+ is-shared-array-buffer "^1.0.2"
+ is-string "^1.0.7"
+ is-typed-array "^1.1.10"
+ is-weakref "^1.0.2"
+ object-inspect "^1.12.2"
+ object-keys "^1.1.1"
+ object.assign "^4.1.4"
+ regexp.prototype.flags "^1.4.3"
+ safe-regex-test "^1.0.0"
+ string.prototype.trimend "^1.0.6"
+ string.prototype.trimstart "^1.0.6"
+ typed-array-length "^1.0.4"
+ unbox-primitive "^1.0.2"
+ which-typed-array "^1.1.9"
+
es-array-method-boxes-properly@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz#873f3e84418de4ee19c5be752990b2e44718d09e"
integrity sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==
+es-get-iterator@^1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/es-get-iterator/-/es-get-iterator-1.1.2.tgz#9234c54aba713486d7ebde0220864af5e2b283f7"
+ integrity sha512-+DTO8GYwbMCwbywjimwZMHp8AuYXOS2JZFWoi2AlPOS3ebnII9w/NLpNZtA7A0YLaVDw+O7KFCeoIV7OPvM7hQ==
+ dependencies:
+ call-bind "^1.0.2"
+ get-intrinsic "^1.1.0"
+ has-symbols "^1.0.1"
+ is-arguments "^1.1.0"
+ is-map "^2.0.2"
+ is-set "^2.0.2"
+ is-string "^1.0.5"
+ isarray "^2.0.5"
+
es-module-lexer@^0.9.0:
version "0.9.3"
resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-0.9.3.tgz#6f13db00cc38417137daf74366f535c8eb438f19"
integrity sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==
+es-set-tostringtag@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz#338d502f6f674301d710b80c8592de8a15f09cd8"
+ integrity sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==
+ dependencies:
+ get-intrinsic "^1.1.3"
+ has "^1.0.3"
+ has-tostringtag "^1.0.0"
+
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"
@@ -5730,6 +5937,34 @@ es-to-primitive@^1.2.1:
is-date-object "^1.0.1"
is-symbol "^1.0.2"
+esbuild@^0.17.0:
+ version "0.17.2"
+ resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.17.2.tgz#c37ee608434be1c0e79f872c8bd484fb46af59df"
+ integrity sha512-odaHSgtYafOXt2nSISwdWlfRkb4ceMX3akY1mWspQpT08jsqVYEK1XtVusr250Rmbx8AVNWjMPI/yyvKqxOKMw==
+ optionalDependencies:
+ "@esbuild/android-arm" "0.17.2"
+ "@esbuild/android-arm64" "0.17.2"
+ "@esbuild/android-x64" "0.17.2"
+ "@esbuild/darwin-arm64" "0.17.2"
+ "@esbuild/darwin-x64" "0.17.2"
+ "@esbuild/freebsd-arm64" "0.17.2"
+ "@esbuild/freebsd-x64" "0.17.2"
+ "@esbuild/linux-arm" "0.17.2"
+ "@esbuild/linux-arm64" "0.17.2"
+ "@esbuild/linux-ia32" "0.17.2"
+ "@esbuild/linux-loong64" "0.17.2"
+ "@esbuild/linux-mips64el" "0.17.2"
+ "@esbuild/linux-ppc64" "0.17.2"
+ "@esbuild/linux-riscv64" "0.17.2"
+ "@esbuild/linux-s390x" "0.17.2"
+ "@esbuild/linux-x64" "0.17.2"
+ "@esbuild/netbsd-x64" "0.17.2"
+ "@esbuild/openbsd-x64" "0.17.2"
+ "@esbuild/sunos-x64" "0.17.2"
+ "@esbuild/win32-arm64" "0.17.2"
+ "@esbuild/win32-ia32" "0.17.2"
+ "@esbuild/win32-x64" "0.17.2"
+
escalade@^3.1.1:
version "3.1.1"
resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40"
@@ -5785,10 +6020,10 @@ eslint-config-airbnb@^18.2.1:
object.assign "^4.1.2"
object.entries "^1.1.2"
-eslint-config-prettier@^8.5.0:
- version "8.5.0"
- resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz#5a81680ec934beca02c7b1a61cf8ca34b66feab1"
- integrity sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==
+eslint-config-prettier@^8.6.0:
+ version "8.6.0"
+ resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.6.0.tgz#dec1d29ab728f4fa63061774e1672ac4e363d207"
+ integrity sha512-bAF0eLpLVqP5oEVUFKpMA+NnRFICwn9X8B5jrR9FcqnYBuPbqWEjTEspPWMj5ye6czoSLDweCzSo3Ko7gGrZaA==
eslint-config-react-app@^7.0.1:
version "7.0.1"
@@ -5810,21 +6045,21 @@ eslint-config-react-app@^7.0.1:
eslint-plugin-react-hooks "^4.3.0"
eslint-plugin-testing-library "^5.0.1"
-eslint-import-resolver-node@^0.3.6:
- version "0.3.6"
- resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz#4048b958395da89668252001dbd9eca6b83bacbd"
- integrity sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==
+eslint-import-resolver-node@^0.3.7:
+ version "0.3.7"
+ resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz#83b375187d412324a1963d84fa664377a23eb4d7"
+ integrity sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==
dependencies:
debug "^3.2.7"
- resolve "^1.20.0"
+ is-core-module "^2.11.0"
+ resolve "^1.22.1"
-eslint-module-utils@^2.7.3:
- version "2.7.3"
- resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.7.3.tgz#ad7e3a10552fdd0642e1e55292781bd6e34876ee"
- integrity sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ==
+eslint-module-utils@^2.7.4:
+ version "2.7.4"
+ resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz#4f3e41116aaf13a20792261e61d3a2e7e0583974"
+ integrity sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==
dependencies:
debug "^3.2.7"
- find-up "^2.1.0"
eslint-plugin-cypress@^2.12.1:
version "2.12.1"
@@ -5841,23 +6076,25 @@ eslint-plugin-flowtype@^8.0.3:
lodash "^4.17.21"
string-natural-compare "^3.0.1"
-eslint-plugin-import@^2.25.3, eslint-plugin-import@^2.26.0:
- version "2.26.0"
- resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz#f812dc47be4f2b72b478a021605a59fc6fe8b88b"
- integrity sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==
+eslint-plugin-import@^2.25.3, eslint-plugin-import@^2.27.5:
+ version "2.27.5"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz#876a6d03f52608a3e5bb439c2550588e51dd6c65"
+ integrity sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==
dependencies:
- array-includes "^3.1.4"
- array.prototype.flat "^1.2.5"
- debug "^2.6.9"
+ array-includes "^3.1.6"
+ array.prototype.flat "^1.3.1"
+ array.prototype.flatmap "^1.3.1"
+ debug "^3.2.7"
doctrine "^2.1.0"
- eslint-import-resolver-node "^0.3.6"
- eslint-module-utils "^2.7.3"
+ eslint-import-resolver-node "^0.3.7"
+ eslint-module-utils "^2.7.4"
has "^1.0.3"
- is-core-module "^2.8.1"
+ is-core-module "^2.11.0"
is-glob "^4.0.3"
minimatch "^3.1.2"
- object.values "^1.1.5"
- resolve "^1.22.0"
+ object.values "^1.1.6"
+ resolve "^1.22.1"
+ semver "^6.3.0"
tsconfig-paths "^3.14.1"
eslint-plugin-jest@^25.3.0:
@@ -5867,23 +6104,26 @@ eslint-plugin-jest@^25.3.0:
dependencies:
"@typescript-eslint/experimental-utils" "^5.0.0"
-eslint-plugin-jsx-a11y@^6.5.1, eslint-plugin-jsx-a11y@^6.6.1:
- version "6.6.1"
- resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.6.1.tgz#93736fc91b83fdc38cc8d115deedfc3091aef1ff"
- integrity sha512-sXgFVNHiWffBq23uiS/JaP6eVR622DqwB4yTzKvGZGcPq6/yZ3WmOZfuBks/vHWo9GaFOqC2ZK4i6+C35knx7Q==
+eslint-plugin-jsx-a11y@^6.5.1, eslint-plugin-jsx-a11y@^6.7.0:
+ version "6.7.0"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.7.0.tgz#b7a8ced4a427bb54eab050fc2a59e31938a16445"
+ integrity sha512-EGGRKhzejSzXKtjmEjWNtr4SK/DkMkSzkBH7g7e7moBDXZXrqaUIxkmD7uF93upMysc4dKYEJwupu7Dff+ShwA==
dependencies:
- "@babel/runtime" "^7.18.9"
- aria-query "^4.2.2"
- array-includes "^3.1.5"
+ "@babel/runtime" "^7.20.7"
+ aria-query "^5.1.3"
+ array-includes "^3.1.6"
+ array.prototype.flatmap "^1.3.1"
ast-types-flow "^0.0.7"
- axe-core "^4.4.3"
- axobject-query "^2.2.0"
+ axe-core "^4.6.2"
+ axobject-query "^3.1.1"
damerau-levenshtein "^1.0.8"
emoji-regex "^9.2.2"
has "^1.0.3"
- jsx-ast-utils "^3.3.2"
- language-tags "^1.0.5"
+ jsx-ast-utils "^3.3.3"
+ language-tags "=1.0.5"
minimatch "^3.1.2"
+ object.entries "^1.1.6"
+ object.fromentries "^2.0.6"
semver "^6.3.0"
eslint-plugin-prettier@^4.2.1:
@@ -5898,25 +6138,26 @@ eslint-plugin-react-hooks@^4.3.0, eslint-plugin-react-hooks@^4.6.0:
resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz#4c3e697ad95b77e93f8646aaa1630c1ba607edd3"
integrity sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==
-eslint-plugin-react@^7.27.1, eslint-plugin-react@^7.31.8:
- version "7.31.8"
- resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.31.8.tgz#3a4f80c10be1bcbc8197be9e8b641b2a3ef219bf"
- integrity sha512-5lBTZmgQmARLLSYiwI71tiGVTLUuqXantZM6vlSY39OaDSV0M7+32K5DnLkmFrwTe+Ksz0ffuLUC91RUviVZfw==
+eslint-plugin-react@^7.27.1, eslint-plugin-react@^7.32.1:
+ version "7.32.1"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.32.1.tgz#88cdeb4065da8ca0b64e1274404f53a0f9890200"
+ integrity sha512-vOjdgyd0ZHBXNsmvU+785xY8Bfe57EFbTYYk8XrROzWpr9QBvpjITvAXt9xqcE6+8cjR/g1+mfumPToxsl1www==
dependencies:
- array-includes "^3.1.5"
- array.prototype.flatmap "^1.3.0"
+ array-includes "^3.1.6"
+ array.prototype.flatmap "^1.3.1"
+ array.prototype.tosorted "^1.1.1"
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.1"
- object.values "^1.1.5"
+ object.entries "^1.1.6"
+ object.fromentries "^2.0.6"
+ object.hasown "^1.1.2"
+ object.values "^1.1.6"
prop-types "^15.8.1"
- resolve "^2.0.0-next.3"
+ resolve "^2.0.0-next.4"
semver "^6.3.0"
- string.prototype.matchall "^4.0.7"
+ string.prototype.matchall "^4.0.8"
eslint-plugin-testing-library@^5.0.1:
version "5.0.3"
@@ -6446,13 +6687,6 @@ find-up@6.3.0, find-up@^6.3.0:
locate-path "^7.1.0"
path-exists "^5.0.0"
-find-up@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7"
- integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c=
- dependencies:
- locate-path "^2.0.0"
-
find-up@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73"
@@ -6497,7 +6731,7 @@ flush-write-stream@^1.0.2:
inherits "^2.0.3"
readable-stream "^2.3.6"
-follow-redirects@^1.0.0, follow-redirects@^1.14.7, follow-redirects@^1.15.0:
+follow-redirects@^1.0.0, follow-redirects@^1.14.9, follow-redirects@^1.15.0:
version "1.15.2"
resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.2.tgz#b460864144ba63f2681096f274c4e57026da2c13"
integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==
@@ -6507,6 +6741,13 @@ font-awesome@^4.7.0:
resolved "https://registry.yarnpkg.com/font-awesome/-/font-awesome-4.7.0.tgz#8fa8cf0411a1a31afd07b06d2902bb9fc815a133"
integrity sha1-j6jPBBGhoxr9B7BtKQK7n8gVoTM=
+for-each@^0.3.3:
+ version "0.3.3"
+ resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e"
+ integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==
+ dependencies:
+ is-callable "^1.1.3"
+
forever-agent@~0.6.1:
version "0.6.1"
resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
@@ -6592,6 +6833,15 @@ fs-extra@^10.0.0, fs-extra@^10.1.0:
jsonfile "^6.0.1"
universalify "^2.0.0"
+fs-extra@^11.1.0:
+ version "11.1.0"
+ resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.1.0.tgz#5784b102104433bb0e090f48bfc4a30742c357ed"
+ integrity sha512-0rcTq621PD5jM/e0a3EJoGC/1TC5ZBCERW82LQuwfGnCa1V8w7dpYH1yNu+SLb6E5dkeCBzKEyLGlFrnr+dUyw==
+ dependencies:
+ graceful-fs "^4.2.0"
+ jsonfile "^6.0.1"
+ universalify "^2.0.0"
+
fs-extra@^8.0.1, fs-extra@^8.1.0:
version "8.1.0"
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0"
@@ -6751,6 +7001,15 @@ get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1:
has "^1.0.3"
has-symbols "^1.0.1"
+get-intrinsic@^1.1.3:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.3.tgz#063c84329ad93e83893c7f4f243ef63ffa351385"
+ integrity sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==
+ dependencies:
+ function-bind "^1.1.1"
+ has "^1.0.3"
+ has-symbols "^1.0.3"
+
get-own-enumerable-property-symbols@^3.0.0:
version "3.0.2"
resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz#b5fde77f22cbe35f390b4e089922c50bce6ef664"
@@ -6927,6 +7186,13 @@ globals@^13.6.0, globals@^13.9.0:
dependencies:
type-fest "^0.20.2"
+globalthis@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.3.tgz#5852882a52b80dc301b0660273e1ed082f0b6ccf"
+ integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==
+ dependencies:
+ define-properties "^1.1.3"
+
globby@^11.0.4, globby@^11.1.0:
version "11.1.0"
resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b"
@@ -6970,6 +7236,13 @@ globule@^1.0.0:
lodash "~4.17.10"
minimatch "~3.0.2"
+gopd@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c"
+ integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==
+ dependencies:
+ get-intrinsic "^1.1.3"
+
graceful-fs@^4.0.0, graceful-fs@^4.1.11, graceful-fs@^4.2.6, graceful-fs@^4.2.9:
version "4.2.10"
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c"
@@ -7061,6 +7334,11 @@ has-property-descriptors@^1.0.0:
dependencies:
get-intrinsic "^1.1.1"
+has-proto@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.1.tgz#1885c1305538958aff469fef37937c22795408e0"
+ integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==
+
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"
@@ -7363,22 +7641,24 @@ i18next-browser-languagedetector@^7.0.1:
dependencies:
"@babel/runtime" "^7.19.4"
-i18next-parser@^6.6.0:
- version "6.6.0"
- resolved "https://registry.yarnpkg.com/i18next-parser/-/i18next-parser-6.6.0.tgz#bb47e1a85369ff6fe8144b7bb03fe505374ecac2"
- integrity sha512-yA3W6PL+7epCyUFTpUDdztKArfpeGMWRUOnB/4FZRodfXkjCIBcBg728h6b/lrBTbva4OlFjVgv1kCXbvZVRWQ==
+i18next-parser@^7.6.0:
+ version "7.6.0"
+ resolved "https://registry.yarnpkg.com/i18next-parser/-/i18next-parser-7.6.0.tgz#6cf39b07513b1852a072b4ce70e088b3273c4785"
+ integrity sha512-NpBhaPzQXo9mo5nBP/eniOgUOlbDEd6WV7oEslUz3cxM8vClCz4c09iJ16tWUOTqbqSwoN2qhU2Y8w23SMwSnw==
dependencies:
"@babel/runtime" "^7.15.4"
broccoli-plugin "^4.0.7"
cheerio "^1.0.0-rc.2"
colors "1.4.0"
- commander "~9.4.1"
+ commander "~10.0.0"
concat-stream "~2.0.0"
eol "^0.9.1"
- fs-extra "^10.0.0"
+ esbuild "^0.17.0"
+ fs-extra "^11.1.0"
gulp-sort "^2.0.0"
- i18next "^21.2.0"
+ i18next "^22.0.4"
js-yaml "4.1.0"
+ lilconfig "^2.0.6"
rsvp "^4.8.2"
sort-keys "^5.0.0"
through2 "~4.0.2"
@@ -7387,19 +7667,19 @@ i18next-parser@^6.6.0:
vinyl-fs "^3.0.2"
vue-template-compiler "^2.6.11"
-i18next@^21.2.0:
- version "21.9.2"
- resolved "https://registry.yarnpkg.com/i18next/-/i18next-21.9.2.tgz#3f7c5594393eb27117c1db4c38f5ec766e68de0e"
- integrity sha512-00fVrLQOwy45nm3OtC9l1WiLK3nJlIYSljgCt0qzTaAy65aciMdRy9GsuW+a2AtKtdg9/njUGfRH30LRupV7ZQ==
+i18next@^22.0.4:
+ version "22.4.5"
+ resolved "https://registry.yarnpkg.com/i18next/-/i18next-22.4.5.tgz#7324e4946c2facbe743ca25bca8980af05b0a109"
+ integrity sha512-Kc+Ow0guRetUq+kv02tj0Yof9zveROPBAmJ8UxxNODLVBRSwsM4iD0Gw3BEieOmkWemF6clU3K1fbnCuTqiN2Q==
dependencies:
- "@babel/runtime" "^7.17.2"
+ "@babel/runtime" "^7.20.6"
-i18next@^22.0.4:
- version "22.0.4"
- resolved "https://registry.yarnpkg.com/i18next/-/i18next-22.0.4.tgz#77d8871687b0ab072b38991e3887187823667e30"
- integrity sha512-TOp7BTMKDbUkOHMzDlVsCYWpyaFkKakrrO3HNXfSz4EeJaWwnBScRmgQSTaWHScXVHBUFXTvShrCW8uryBYFcg==
+i18next@^22.4.8:
+ version "22.4.9"
+ resolved "https://registry.yarnpkg.com/i18next/-/i18next-22.4.9.tgz#98c8384c6bd41ff937da98b1e809ba03d3b41053"
+ integrity sha512-8gWMmUz460KJDQp/ob3MNUX84cVuDRY9PLFPnV8d+Qezz/6dkjxwOaH70xjrCNDO+JrUL25iXfAIN9wUkInNZw==
dependencies:
- "@babel/runtime" "^7.17.2"
+ "@babel/runtime" "^7.20.6"
iconv-lite@0.4.24:
version "0.4.24"
@@ -7447,7 +7727,12 @@ ignore@^5.1.8, ignore@^5.2.0:
resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a"
integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==
-immer@^9.0.15, immer@^9.0.7:
+immer@^9.0.18:
+ version "9.0.19"
+ resolved "https://registry.yarnpkg.com/immer/-/immer-9.0.19.tgz#67fb97310555690b5f9cd8380d38fc0aabb6b38b"
+ integrity sha512-eY+Y0qcsB4TZKwgQzLaE/lqYMlKhv5J9dyd2RhhtGhNo2njPXDqU9XPfcNfa3MIDsdtZt5KlkIsirlo4dHsWdQ==
+
+immer@^9.0.7:
version "9.0.15"
resolved "https://registry.yarnpkg.com/immer/-/immer-9.0.15.tgz#0b9169e5b1d22137aba7d43f8a81a495dd1b62dc"
integrity sha512-2eB/sswms9AEUSkOm4SbV5Y7Vmt/bKRwByd52jfLkW4OLYeaTP3EEiJ9agqU0O/tq6Dk62Zfj+TJSqfm1rLVGQ==
@@ -7520,6 +7805,15 @@ internal-slot@^1.0.3:
has "^1.0.3"
side-channel "^1.0.4"
+internal-slot@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.4.tgz#8551e7baf74a7a6ba5f749cfb16aa60722f0d6f3"
+ integrity sha512-tA8URYccNzMo94s5MQZgH8NB/XTa6HsOo0MLfXTKKEnHVVdegzaQoFZ7Jp44bdvLvY2waT5dc+j5ICEswhi7UQ==
+ dependencies:
+ get-intrinsic "^1.1.3"
+ has "^1.0.3"
+ side-channel "^1.0.4"
+
interpret@^1.0.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e"
@@ -7555,6 +7849,23 @@ is-absolute@^1.0.0:
is-relative "^1.0.0"
is-windows "^1.0.1"
+is-arguments@^1.1.0, is-arguments@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b"
+ integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==
+ dependencies:
+ call-bind "^1.0.2"
+ has-tostringtag "^1.0.0"
+
+is-array-buffer@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.1.tgz#deb1db4fcae48308d54ef2442706c0393997052a"
+ integrity sha512-ASfLknmY8Xa2XtB4wmbz13Wu202baeA18cJBCeCy0wXUHZF0IPyVEXqKEcd+t2fNSLLL1vC6k7lxZEojNbISXQ==
+ dependencies:
+ call-bind "^1.0.2"
+ get-intrinsic "^1.1.3"
+ is-typed-array "^1.1.10"
+
is-arrayish@^0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
@@ -7587,6 +7898,11 @@ is-buffer@^1.1.5:
resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be"
integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==
+is-callable@^1.1.3, is-callable@^1.2.7:
+ version "1.2.7"
+ resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055"
+ integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==
+
is-callable@^1.1.4, is-callable@^1.1.5, is-callable@^1.2.4:
version "1.2.4"
resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945"
@@ -7599,14 +7915,14 @@ is-ci@^3.0.0:
dependencies:
ci-info "^3.2.0"
-is-core-module@^2.2.0, is-core-module@^2.5.0, is-core-module@^2.8.1:
- version "2.9.0"
- resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.9.0.tgz#e1c34429cd51c6dd9e09e0799e396e27b19a9c69"
- integrity sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==
+is-core-module@^2.11.0, is-core-module@^2.5.0, is-core-module@^2.9.0:
+ version "2.11.0"
+ resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.11.0.tgz#ad4cb3e3863e814523c96f3f58d26cc570ff0144"
+ integrity sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==
dependencies:
has "^1.0.3"
-is-date-object@^1.0.1:
+is-date-object@^1.0.1, is-date-object@^1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f"
integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==
@@ -7670,6 +7986,11 @@ is-lambda@^1.0.1:
resolved "https://registry.yarnpkg.com/is-lambda/-/is-lambda-1.0.1.tgz#3d9877899e6a53efc0160504cde15f82e6f061d5"
integrity sha1-PZh3iZ5qU+/AFgUEzeFfgubwYdU=
+is-map@^2.0.1, is-map@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.2.tgz#00922db8c9bf73e81b7a335827bc2a43f2b91127"
+ integrity sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==
+
is-module@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591"
@@ -7759,6 +8080,11 @@ is-root@^2.1.0:
resolved "https://registry.yarnpkg.com/is-root/-/is-root-2.1.0.tgz#809e18129cf1129644302a4f8544035d51984a9c"
integrity sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==
+is-set@^2.0.1, is-set@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/is-set/-/is-set-2.0.2.tgz#90755fa4c2562dc1c5d4024760d6119b94ca18ec"
+ integrity sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==
+
is-shared-array-buffer@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz#97b0c85fbdacb59c9c446fe653b82cf2b5b7cfe6"
@@ -7795,6 +8121,17 @@ is-symbol@^1.0.2, is-symbol@^1.0.3:
dependencies:
has-symbols "^1.0.2"
+is-typed-array@^1.1.10, is-typed-array@^1.1.9:
+ version "1.1.10"
+ resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.10.tgz#36a5b5cb4189b575d1a3e4b08536bfb485801e3f"
+ integrity sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==
+ dependencies:
+ available-typed-arrays "^1.0.5"
+ call-bind "^1.0.2"
+ for-each "^0.3.3"
+ gopd "^1.0.1"
+ has-tostringtag "^1.0.0"
+
is-typedarray@^1.0.0, is-typedarray@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
@@ -7822,6 +8159,11 @@ is-valid-glob@^1.0.0:
resolved "https://registry.yarnpkg.com/is-valid-glob/-/is-valid-glob-1.0.0.tgz#29bf3eff701be2d4d315dbacc39bc39fe8f601aa"
integrity sha512-AhiROmoEFDSsjx8hW+5sGwgKVIORcXnrlAx/R0ZSeaPw70Vw0CqkGBBhHGL58Uox2eXnU1AnvXJl1XlyedO5bA==
+is-weakmap@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/is-weakmap/-/is-weakmap-2.0.1.tgz#5008b59bdc43b698201d18f62b37b2ca243e8cf2"
+ integrity sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==
+
is-weakref@^1.0.1, is-weakref@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2"
@@ -7829,6 +8171,14 @@ is-weakref@^1.0.1, is-weakref@^1.0.2:
dependencies:
call-bind "^1.0.2"
+is-weakset@^2.0.1:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/is-weakset/-/is-weakset-2.0.2.tgz#4569d67a747a1ce5a994dfd4ef6dcea76e7c0a1d"
+ integrity sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==
+ dependencies:
+ call-bind "^1.0.2"
+ get-intrinsic "^1.1.1"
+
is-windows@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d"
@@ -7841,6 +8191,11 @@ is-wsl@^2.2.0:
dependencies:
is-docker "^2.0.0"
+isarray@^2.0.5:
+ version "2.0.5"
+ resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723"
+ integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==
+
isarray@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
@@ -8437,10 +8792,10 @@ jest@^27.4.3:
import-local "^3.0.2"
jest-cli "^27.5.1"
-joi@^17.6.0:
- version "17.6.0"
- resolved "https://registry.yarnpkg.com/joi/-/joi-17.6.0.tgz#0bb54f2f006c09a96e75ce687957bd04290054b2"
- integrity sha512-OX5dG6DTbcr/kbMFj0KGYxuew69HPcAE3K/sZpEV2nP6e/j/C0HV+HNiBPCASxdx5T7DMoa0s8UeHWMnb6n2zw==
+joi@^17.7.0:
+ version "17.7.0"
+ resolved "https://registry.yarnpkg.com/joi/-/joi-17.7.0.tgz#591a33b1fe1aca2bc27f290bcad9b9c1c570a6b3"
+ integrity sha512-1/ugc8djfn93rTE3WRKdCzGGt/EtiYKxITMO4Wiv6q5JL1gl9ePt4kBsl1S499nbosspfctIQTpYIhSmHA3WAg==
dependencies:
"@hapi/hoek" "^9.0.0"
"@hapi/topo" "^5.0.0"
@@ -8614,13 +8969,13 @@ jsprim@^2.0.2:
json-schema "0.4.0"
verror "1.10.0"
-"jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.3.2:
- version "3.3.2"
- resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.3.2.tgz#afe5efe4332cd3515c065072bd4d6b0aa22152bd"
- integrity sha512-4ZCADZHRkno244xlNnn4AOG6sRQ7iBZ5BbgZ4vW4y5IZw7cVUD1PPeblm1xx/nfmMxPdt/LHsXZW8z/j58+l9Q==
+"jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.3.3:
+ version "3.3.3"
+ resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz#76b3e6e6cece5c69d49a5792c3d01bd1a0cdc7ea"
+ integrity sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==
dependencies:
array-includes "^3.1.5"
- object.assign "^4.1.2"
+ object.assign "^4.1.3"
kind-of@^6.0.2, kind-of@^6.0.3:
version "6.0.3"
@@ -8642,7 +8997,7 @@ language-subtag-registry@~0.3.2:
resolved "https://registry.yarnpkg.com/language-subtag-registry/-/language-subtag-registry-0.3.21.tgz#04ac218bea46f04cb039084602c6da9e788dd45a"
integrity sha512-L0IqwlIXjilBVVYKFT37X9Ih11Um5NEl9cbJIuU/SwP/zEEAbBPOnEeeuxVMf45ydWQRDQN3Nqc96OgbH1K+Pg==
-language-tags@^1.0.5:
+language-tags@=1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/language-tags/-/language-tags-1.0.5.tgz#d321dbc4da30ba8bf3024e040fa5c14661f9193a"
integrity sha1-0yHbxNowuovzAk4ED6XBRmH5GTo=
@@ -8689,10 +9044,10 @@ levn@~0.3.0:
prelude-ls "~1.1.2"
type-check "~0.3.2"
-lilconfig@^2.0.3, lilconfig@^2.0.5:
- version "2.0.5"
- resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.0.5.tgz#19e57fd06ccc3848fd1891655b5a447092225b25"
- integrity sha512-xaYmXZtTHPAw5m+xLN8ab9C+3a8YmV3asNSPOATITbtwrfbwaLJj8h66H1WMIpALCkqsIzK3h7oQ+PdX+LQ9Eg==
+lilconfig@^2.0.3, lilconfig@^2.0.5, lilconfig@^2.0.6:
+ version "2.0.6"
+ resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.0.6.tgz#32a384558bd58af3d4c6e077dd1ad1d397bc69d4"
+ integrity sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==
lines-and-columns@^1.1.6:
version "1.2.4"
@@ -8746,14 +9101,6 @@ local-pkg@0.4.1:
resolved "https://registry.yarnpkg.com/local-pkg/-/local-pkg-0.4.1.tgz#e7b0d7aa0b9c498a1110a5ac5b00ba66ef38cfff"
integrity sha512-lL87ytIGP2FU5PWwNDo0w3WhIo2gopIAxPg9RxDYF7m4rr5ahuZxP22xnJHIvaLTe4Z9P6uKKY2UHiwyB4pcrw==
-locate-path@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e"
- integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=
- dependencies:
- p-locate "^2.0.0"
- path-exists "^3.0.0"
-
locate-path@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e"
@@ -9153,12 +9500,7 @@ minimist-options@4.1.0:
is-plain-obj "^1.1.0"
kind-of "^6.0.3"
-minimist@^1.1.1, minimist@^1.2.5, minimist@^1.2.6:
- version "1.2.6"
- resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44"
- integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==
-
-minimist@^1.2.0:
+minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6, minimist@^1.2.7:
version "1.2.7"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.7.tgz#daa1c4d91f507390437c6a8bc01078e7000c4d18"
integrity sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==
@@ -9526,12 +9868,12 @@ object-inspect@^1.11.0, object-inspect@^1.7.0, object-inspect@^1.9.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.12.0:
+object-inspect@^1.12.0, object-inspect@^1.12.2:
version "1.12.2"
resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.2.tgz#c0641f26394532f28ab8d796ab954e43c009a8ea"
integrity sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==
-object-is@^1.0.2, object-is@^1.1.2:
+object-is@^1.0.2, object-is@^1.1.2, object-is@^1.1.5:
version "1.1.5"
resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.5.tgz#b9deeaa5fc7f1846a0faecdceec138e5778f53ac"
integrity sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==
@@ -9544,7 +9886,7 @@ object-keys@^1.0.12, object-keys@^1.1.1:
resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e"
integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==
-object.assign@^4.0.4:
+object.assign@^4.0.4, object.assign@^4.1.3, object.assign@^4.1.4:
version "4.1.4"
resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.4.tgz#9673c7c7c351ab8c4d0b516f4343ebf4dfb7799f"
integrity sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==
@@ -9564,23 +9906,23 @@ object.assign@^4.1.0, object.assign@^4.1.2:
has-symbols "^1.0.1"
object-keys "^1.1.1"
-object.entries@^1.1.1, object.entries@^1.1.2, 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==
+object.entries@^1.1.1, object.entries@^1.1.2, object.entries@^1.1.6:
+ version "1.1.6"
+ resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.6.tgz#9737d0e5b8291edd340a3e3264bb8a3b00d5fa23"
+ integrity sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==
dependencies:
call-bind "^1.0.2"
- define-properties "^1.1.3"
- es-abstract "^1.19.1"
+ define-properties "^1.1.4"
+ es-abstract "^1.20.4"
-object.fromentries@^2.0.0, 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==
+object.fromentries@^2.0.0, object.fromentries@^2.0.6:
+ version "2.0.6"
+ resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.6.tgz#cdb04da08c539cffa912dcd368b886e0904bfa73"
+ integrity sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==
dependencies:
call-bind "^1.0.2"
- define-properties "^1.1.3"
- es-abstract "^1.19.1"
+ define-properties "^1.1.4"
+ es-abstract "^1.20.4"
object.getownpropertydescriptors@^2.0.3:
version "2.1.4"
@@ -9601,22 +9943,22 @@ object.getownpropertydescriptors@^2.1.0:
define-properties "^1.1.3"
es-abstract "^1.19.1"
-object.hasown@^1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.1.1.tgz#ad1eecc60d03f49460600430d97f23882cf592a3"
- integrity sha512-LYLe4tivNQzq4JdaWW6WO3HMZZJWzkkH8fnI6EebWl0VZth2wL2Lovm74ep2/gZzlaTdV62JZHEqHQ2yVn8Q/A==
+object.hasown@^1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.1.2.tgz#f919e21fad4eb38a57bc6345b3afd496515c3f92"
+ integrity sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==
dependencies:
define-properties "^1.1.4"
- es-abstract "^1.19.5"
+ es-abstract "^1.20.4"
-object.values@^1.1.0, object.values@^1.1.1, 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==
+object.values@^1.1.0, object.values@^1.1.1, object.values@^1.1.6:
+ version "1.1.6"
+ resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.6.tgz#4abbaa71eba47d63589d402856f908243eea9b1d"
+ integrity sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==
dependencies:
call-bind "^1.0.2"
- define-properties "^1.1.3"
- es-abstract "^1.19.1"
+ define-properties "^1.1.4"
+ es-abstract "^1.20.4"
obuf@^1.0.0, obuf@^1.1.2:
version "1.1.2"
@@ -9694,13 +10036,6 @@ ospath@^1.2.2:
resolved "https://registry.yarnpkg.com/ospath/-/ospath-1.2.2.tgz#1276639774a3f8ef2572f7fe4280e0ea4550c07b"
integrity sha1-EnZjl3Sj+O8lcvf+QoDg6kVQwHs=
-p-limit@^1.1.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8"
- integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==
- dependencies:
- p-try "^1.0.0"
-
p-limit@^2.0.0, p-limit@^2.2.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1"
@@ -9722,13 +10057,6 @@ p-limit@^4.0.0:
dependencies:
yocto-queue "^1.0.0"
-p-locate@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43"
- integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=
- dependencies:
- p-limit "^1.1.0"
-
p-locate@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4"
@@ -9772,11 +10100,6 @@ p-retry@^4.5.0:
"@types/retry" "0.12.0"
retry "^0.13.1"
-p-try@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3"
- integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=
-
p-try@^2.0.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6"
@@ -9877,7 +10200,7 @@ path-key@^3.0.0, path-key@^3.1.0:
resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"
integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
-path-parse@^1.0.6, path-parse@^1.0.7:
+path-parse@^1.0.7:
version "1.0.7"
resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
@@ -10552,10 +10875,10 @@ prettier-linter-helpers@^1.0.0:
dependencies:
fast-diff "^1.1.2"
-prettier@^2.5.1, prettier@^2.6.2:
- version "2.7.1"
- resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.7.1.tgz#e235806850d057f97bb08368a4f7d899f7760c64"
- integrity sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==
+prettier@^2.5.1, prettier@^2.8.0:
+ version "2.8.0"
+ resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.0.tgz#c7df58393c9ba77d6fba3921ae01faf994fb9dc9"
+ integrity sha512-9Lmg8hTFZKG0Asr/kW9Bp8tJjRVluO8EJQVfY2T7FMw9T5jy4I/Uvx0Rca/XWf50QQ1/SS48+6IJWnrb+2yemA==
pretty-bytes@^5.3.0, pretty-bytes@^5.4.1, pretty-bytes@^5.6.0:
version "5.6.0"
@@ -10846,17 +11169,17 @@ react-bootstrap@^1.6.6:
uncontrollable "^7.2.1"
warning "^4.0.3"
-react-datepicker@^4.8.0:
- version "4.8.0"
- resolved "https://registry.yarnpkg.com/react-datepicker/-/react-datepicker-4.8.0.tgz#11b8918d085a1ce4781eee4c8e4641b3cd592010"
- integrity sha512-u69zXGHMpxAa4LeYR83vucQoUCJQ6m/WBsSxmUMu/M8ahTSVMMyiyQzauHgZA2NUr9y0FUgOAix71hGYUb6tvg==
+react-datepicker@^4.10.0:
+ version "4.10.0"
+ resolved "https://registry.yarnpkg.com/react-datepicker/-/react-datepicker-4.10.0.tgz#3f386ac5873dac5ea56544e51cdc01109938796c"
+ integrity sha512-6IfBCZyWj54ZZGLmEZJ9c4Yph0s9MVfEGDC2evOvf9AmVz+RRcfP2Czqad88Ff9wREbcbqa4dk7IFYeXF1d3Ag==
dependencies:
"@popperjs/core" "^2.9.2"
classnames "^2.2.6"
date-fns "^2.24.0"
prop-types "^15.7.2"
- react-onclickoutside "^6.12.0"
- react-popper "^2.2.5"
+ react-onclickoutside "^6.12.2"
+ react-popper "^2.3.0"
react-dev-utils@^12.0.1:
version "12.0.1"
@@ -10897,10 +11220,10 @@ react-dom@^17.0.2:
object-assign "^4.1.1"
scheduler "^0.20.2"
-react-dual-listbox@^3.0.1:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/react-dual-listbox/-/react-dual-listbox-3.0.1.tgz#2086b75443bffc0b9f106841c7c4fce7da62e19f"
- integrity sha512-eR/c7R9izOZAe+/cH6QgFEWT4bwPW1dlbhOjyP6H+DwKjFyRJ/O5jncQn4Tum4vR26OcR8Ytbh6mqx0K8oYs8g==
+react-dual-listbox@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/react-dual-listbox/-/react-dual-listbox-4.0.0.tgz#8955ced5da4e39f5c4d14fceadf875e53dad295d"
+ integrity sha512-2SaJdRmQMtU95BYxoHQDKTsuOVQBJkvsP1iiY3Q33Td+OGg1Fq3JcMGSfGY77OypAmE5uhTfmCqBMnhoNy1pMw==
dependencies:
classnames "^2.2.5"
lodash "^4.17.21"
@@ -10917,12 +11240,12 @@ react-fast-compare@^3.0.1:
resolved "https://registry.yarnpkg.com/react-fast-compare/-/react-fast-compare-3.2.0.tgz#641a9da81b6a6320f270e89724fb45a0b39e43bb"
integrity sha512-rtGImPZ0YyLrscKI9xTpV8psd6I8VAtjKCzQDlzyDvqJA8XOW78TXYQwNRNd8g8JZnDu8q9Fu/1v4HPAVwVdHA==
-react-i18next@^12.0.0:
- version "12.0.0"
- resolved "https://registry.yarnpkg.com/react-i18next/-/react-i18next-12.0.0.tgz#634015a2c035779c5736ae4c2e5c34c1659753b1"
- integrity sha512-/O7N6aIEAl1FaWZBNvhdIo9itvF/MO/nRKr9pYqRc9LhuC1u21SlfwpiYQqvaeNSEW3g3qUXLREOWMt+gxrWbg==
+react-i18next@^12.1.5:
+ version "12.1.5"
+ resolved "https://registry.yarnpkg.com/react-i18next/-/react-i18next-12.1.5.tgz#b65f5733dd2f96188a9359c009b7dbe27443f009"
+ integrity sha512-7PQAv6DA0TcStG96fle+8RfTwxVbHVlZZJPoEszwUNvDuWpGldJmNWa3ZPesEsZQZGF6GkzwvEh6p57qpFD2gQ==
dependencies:
- "@babel/runtime" "^7.14.5"
+ "@babel/runtime" "^7.20.6"
html-parse-stringify "^3.0.1"
react-inject-env@^2.0.1:
@@ -10956,10 +11279,10 @@ react-lifecycles-compat@^3.0.4:
resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362"
integrity sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==
-react-onclickoutside@^6.12.0:
- version "6.12.1"
- resolved "https://registry.yarnpkg.com/react-onclickoutside/-/react-onclickoutside-6.12.1.tgz#92dddd28f55e483a1838c5c2930e051168c1e96b"
- integrity sha512-a5Q7CkWznBRUWPmocCvE8b6lEYw1s6+opp/60dCunhO+G6E4tDTO2Sd2jKE+leEnnrLAE2Wj5DlDHNqj5wPv1Q==
+react-onclickoutside@^6.12.2:
+ version "6.12.2"
+ resolved "https://registry.yarnpkg.com/react-onclickoutside/-/react-onclickoutside-6.12.2.tgz#8e6cf80c7d17a79f2c908399918158a7b02dda01"
+ integrity sha512-NMXGa223OnsrGVp5dJHkuKxQ4czdLmXSp5jSV9OqiCky9LOpPATn3vLldc+q5fK3gKbEHvr7J1u0yhBh/xYkpA==
react-overlays@^5.1.2:
version "5.2.0"
@@ -10975,10 +11298,10 @@ react-overlays@^5.1.2:
uncontrollable "^7.2.1"
warning "^4.0.3"
-react-popper@^2.2.5:
- version "2.2.5"
- resolved "https://registry.yarnpkg.com/react-popper/-/react-popper-2.2.5.tgz#1214ef3cec86330a171671a4fbcbeeb65ee58e96"
- integrity sha512-kxGkS80eQGtLl18+uig1UIf9MKixFSyPxglsgLBxlYnyDf65BiY9B3nZSc6C9XUNDgStROB0fMQlTEz1KxGddw==
+react-popper@^2.3.0:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/react-popper/-/react-popper-2.3.0.tgz#17891c620e1320dce318bad9fede46a5f71c70ba"
+ integrity sha512-e1hj8lL3uM+sgSR4Lxzn5h1GxBlpa4CQz0XLF8kx4MDrDRWY0Ena4c97PUeSX9i5W3UAfDP0z0FXCTQkoXUl3Q==
dependencies:
react-fast-compare "^3.0.1"
warning "^4.0.2"
@@ -11055,10 +11378,10 @@ react-scripts@5.0.1:
optionalDependencies:
fsevents "^2.3.2"
-react-select@^5.6.0:
- version "5.6.0"
- resolved "https://registry.yarnpkg.com/react-select/-/react-select-5.6.0.tgz#d987f4c86b3dcd32307a0104e503e4e8a9777a34"
- integrity sha512-uUvP/72rA8NGhOL16RVBaeC12Wa4NUE0iXIa6hz0YRno9ZgxTmpuMeKzjR7vHcwmigpVCoe0prP+3NVb6Obq8Q==
+react-select@^5.7.0:
+ version "5.7.0"
+ resolved "https://registry.yarnpkg.com/react-select/-/react-select-5.7.0.tgz#82921b38f1fcf1471a0b62304da01f2896cd8ce6"
+ integrity sha512-lJGiMxCa3cqnUr2Jjtg9YHsaytiZqeNOKeibv6WF5zbK/fPegZ1hg3y/9P1RZVLhqBTs0PfqQLKuAACednYGhQ==
dependencies:
"@babel/runtime" "^7.12.0"
"@emotion/cache" "^11.4.0"
@@ -11217,17 +11540,10 @@ redux-saga@^1.2.1:
dependencies:
"@redux-saga/core" "^1.2.1"
-redux@^4.0.4:
- version "4.1.2"
- resolved "https://registry.yarnpkg.com/redux/-/redux-4.1.2.tgz#140f35426d99bb4729af760afcf79eaaac407104"
- integrity sha512-SH8PglcebESbd/shgf6mii6EIoRM0zrQyjcuQ+ojmfxjTtE0z9Y8pa62iA/OJ58qjP6j27uyW4kUF4jl/jd6sw==
- dependencies:
- "@babel/runtime" "^7.9.2"
-
-redux@^4.2.0:
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/redux/-/redux-4.2.0.tgz#46f10d6e29b6666df758780437651eeb2b969f13"
- integrity sha512-oSBmcKKIuIR4ME29/AeNUnl5L+hvBq7OaJWzaptTQJAntaPvxIJqfnjbaEiCzzaIz+XmVILfqAM3Ob0aXLPfjA==
+redux@^4.0.4, redux@^4.2.1:
+ version "4.2.1"
+ resolved "https://registry.yarnpkg.com/redux/-/redux-4.2.1.tgz#c08f4306826c49b5e9dc901dee0452ea8fce6197"
+ integrity sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==
dependencies:
"@babel/runtime" "^7.9.2"
@@ -11243,12 +11559,12 @@ regenerate@^1.4.2:
resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a"
integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==
-regenerator-runtime@^0.13.10:
- version "0.13.10"
- resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.10.tgz#ed07b19616bcbec5da6274ebc75ae95634bfc2ee"
- integrity sha512-KepLsg4dU12hryUO7bp/axHAKvwGOCV0sGloQtpagJ12ai+ojVDqkeGSiRX1zlq+kjIMZ1t7gpze+26QqtdGqw==
+regenerator-runtime@^0.13.11:
+ version "0.13.11"
+ resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz#f6dca3e7ceec20590d07ada785636a90cdca17f9"
+ integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==
-regenerator-runtime@^0.13.4, regenerator-runtime@^0.13.9:
+regenerator-runtime@^0.13.9:
version "0.13.9"
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52"
integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==
@@ -11265,7 +11581,7 @@ regex-parser@^2.2.11:
resolved "https://registry.yarnpkg.com/regex-parser/-/regex-parser-2.2.11.tgz#3b37ec9049e19479806e878cabe7c1ca83ccfe58"
integrity sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==
-regexp.prototype.flags@^1.4.1, regexp.prototype.flags@^1.4.3:
+regexp.prototype.flags@^1.4.3:
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==
@@ -11480,22 +11796,23 @@ resolve.exports@^1.1.0:
resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-1.1.0.tgz#5ce842b94b05146c0e03076985d1d0e7e48c90c9"
integrity sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ==
-resolve@^1.1.6, resolve@^1.10.0, resolve@^1.12.0, resolve@^1.14.2, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.22.0:
- version "1.22.0"
- resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.0.tgz#5e0b8c67c15df57a89bdbabe603a002f21731198"
- integrity sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==
+resolve@^1.1.6, resolve@^1.10.0, resolve@^1.12.0, resolve@^1.14.2, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.22.0, resolve@^1.22.1:
+ version "1.22.1"
+ resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177"
+ integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==
dependencies:
- is-core-module "^2.8.1"
+ is-core-module "^2.9.0"
path-parse "^1.0.7"
supports-preserve-symlinks-flag "^1.0.0"
-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==
+resolve@^2.0.0-next.4:
+ version "2.0.0-next.4"
+ resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.4.tgz#3d37a113d6429f496ec4752d2a2e58efb1fd4660"
+ integrity sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==
dependencies:
- is-core-module "^2.2.0"
- path-parse "^1.0.6"
+ is-core-module "^2.9.0"
+ path-parse "^1.0.7"
+ supports-preserve-symlinks-flag "^1.0.0"
restore-cursor@^3.1.0:
version "3.1.0"
@@ -11586,10 +11903,10 @@ run-parallel@^1.1.9:
dependencies:
queue-microtask "^1.2.2"
-rxjs@^7.5.1, rxjs@^7.5.4, rxjs@^7.5.6:
- version "7.5.6"
- resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.5.6.tgz#0446577557862afd6903517ce7cae79ecb9662bc"
- integrity sha512-dnyv2/YsXhnm461G+R/Pe5bWP41Nm6LBXEYWI6eiFP4fiwx6WRI/CD0zbdVAudd9xwLEF2IDcKXLHit0FYjUzw==
+rxjs@^7.5.1, rxjs@^7.5.6, rxjs@^7.8.0:
+ version "7.8.0"
+ resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.0.tgz#90a938862a82888ff4c7359811a595e14e1e09a4"
+ integrity sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==
dependencies:
tslib "^2.1.0"
@@ -11608,6 +11925,15 @@ safe-identifier@^0.4.1:
resolved "https://registry.yarnpkg.com/safe-identifier/-/safe-identifier-0.4.2.tgz#cf6bfca31c2897c588092d1750d30ef501d59fcb"
integrity sha512-6pNbSMW6OhAi9j+N8V+U715yBQsaWJ7eyEUaOrawX+isg5ZxhUlV1NipNtgaKHmFGiABwt+ZF04Ii+3Xjkg+8w==
+safe-regex-test@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.0.tgz#793b874d524eb3640d1873aad03596db2d4f2295"
+ integrity sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==
+ dependencies:
+ call-bind "^1.0.2"
+ get-intrinsic "^1.1.3"
+ is-regex "^1.1.4"
+
"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0:
version "2.1.2"
resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
@@ -12184,18 +12510,18 @@ string-width@^3.0.0, string-width@^3.1.0:
is-fullwidth-code-point "^2.0.0"
strip-ansi "^5.1.0"
-string.prototype.matchall@^4.0.6, string.prototype.matchall@^4.0.7:
- 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==
+string.prototype.matchall@^4.0.6, string.prototype.matchall@^4.0.8:
+ version "4.0.8"
+ resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz#3bf85722021816dcd1bf38bb714915887ca79fd3"
+ integrity sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==
dependencies:
call-bind "^1.0.2"
- define-properties "^1.1.3"
- es-abstract "^1.19.1"
- get-intrinsic "^1.1.1"
+ define-properties "^1.1.4"
+ es-abstract "^1.20.4"
+ get-intrinsic "^1.1.3"
has-symbols "^1.0.3"
internal-slot "^1.0.3"
- regexp.prototype.flags "^1.4.1"
+ regexp.prototype.flags "^1.4.3"
side-channel "^1.0.4"
string.prototype.replaceall@^1.0.6:
@@ -12236,6 +12562,15 @@ string.prototype.trimend@^1.0.5:
define-properties "^1.1.4"
es-abstract "^1.19.5"
+string.prototype.trimend@^1.0.6:
+ version "1.0.6"
+ resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz#c4a27fa026d979d79c04f17397f250a462944533"
+ integrity sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==
+ dependencies:
+ call-bind "^1.0.2"
+ define-properties "^1.1.4"
+ es-abstract "^1.20.4"
+
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"
@@ -12253,6 +12588,15 @@ string.prototype.trimstart@^1.0.5:
define-properties "^1.1.4"
es-abstract "^1.19.5"
+string.prototype.trimstart@^1.0.6:
+ version "1.0.6"
+ resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz#e90ab66aa8e4007d92ef591bbf3cd422c56bdcf4"
+ integrity sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==
+ dependencies:
+ call-bind "^1.0.2"
+ define-properties "^1.1.4"
+ es-abstract "^1.20.4"
+
string_decoder@^1.1.1:
version "1.3.0"
resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e"
@@ -12883,6 +13227,15 @@ type-is@~1.6.18:
media-typer "0.3.0"
mime-types "~2.1.24"
+typed-array-length@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.4.tgz#89d83785e5c4098bec72e08b319651f0eac9c1bb"
+ integrity sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==
+ dependencies:
+ call-bind "^1.0.2"
+ for-each "^0.3.3"
+ is-typed-array "^1.1.9"
+
typedarray-to-buffer@^3.1.5:
version "3.1.5"
resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080"
@@ -13067,10 +13420,10 @@ uri-js@^4.2.2:
dependencies:
punycode "^2.1.0"
-use-debounce@^8.0.4:
- version "8.0.4"
- resolved "https://registry.yarnpkg.com/use-debounce/-/use-debounce-8.0.4.tgz#27e93b2f010bd0b8ad06e9fc7de891d9ee5d6b8e"
- integrity sha512-fGqsYQzl8kLHF2QpQSgIwgOgJmnh6j5L6SIzQiHdLfwp3q1egUL3btq5Bg2SJysH6A0ILLgT2IqXZKoNJr0nFw==
+use-debounce@^9.0.3:
+ version "9.0.3"
+ resolved "https://registry.yarnpkg.com/use-debounce/-/use-debounce-9.0.3.tgz#bac660c19ab7b38662e08608fee23c7ad303f532"
+ integrity sha512-FhtlbDtDXILJV7Lix5OZj5yX/fW1tzq+VrvK1fnT2bUrPOGruU9Rw8NCEn+UI9wopfERBEZAOQ8lfeCJPllgnw==
use-isomorphic-layout-effect@^1.1.2:
version "1.1.2"
@@ -13270,16 +13623,16 @@ w3c-xmlserializer@^2.0.0:
dependencies:
xml-name-validator "^3.0.0"
-wait-on@^6.0.1:
- version "6.0.1"
- resolved "https://registry.yarnpkg.com/wait-on/-/wait-on-6.0.1.tgz#16bbc4d1e4ebdd41c5b4e63a2e16dbd1f4e5601e"
- integrity sha512-zht+KASY3usTY5u2LgaNqn/Cd8MukxLGjdcZxT2ns5QzDmTFc4XoWBgC+C/na+sMRZTuVygQoMYwdcVjHnYIVw==
+wait-on@^7.0.1:
+ version "7.0.1"
+ resolved "https://registry.yarnpkg.com/wait-on/-/wait-on-7.0.1.tgz#5cff9f8427e94f4deacbc2762e6b0a489b19eae9"
+ integrity sha512-9AnJE9qTjRQOlTZIldAaf/da2eW0eSRSgcqq85mXQja/DW3MriHxkpODDSUEg+Gri/rKEcXUZHe+cevvYItaog==
dependencies:
- axios "^0.25.0"
- joi "^17.6.0"
+ axios "^0.27.2"
+ joi "^17.7.0"
lodash "^4.17.21"
- minimist "^1.2.5"
- rxjs "^7.5.4"
+ minimist "^1.2.7"
+ rxjs "^7.8.0"
walk-sync@^2.2.0:
version "2.2.0"
@@ -13320,10 +13673,10 @@ wbuf@^1.1.0, wbuf@^1.7.3:
dependencies:
minimalistic-assert "^1.0.0"
-web-vitals@^3.0.3:
- version "3.0.4"
- resolved "https://registry.yarnpkg.com/web-vitals/-/web-vitals-3.0.4.tgz#a78ea93e95f7d7961dd151e0a76ac132c5dee2c9"
- integrity sha512-Yau8qf1AJ/dm6MY180Bi0qpCIuWmAfKAnOqmxLecGfIHn0+ND3H4JOhXeY73Pyi9zjSF5J4SNUewHLNUzU7mmA==
+web-vitals@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/web-vitals/-/web-vitals-3.1.0.tgz#a6f5156cb6c7fee562da46078540265ac2cd2d16"
+ integrity sha512-zCeQ+bOjWjJbXv5ZL0r8Py3XP2doCQMZXNKlBGfUjPAVZWokApdeF/kFlK1peuKlCt8sL9TFkKzyXE9/cmNJQA==
webidl-conversions@^3.0.0:
version "3.0.1"
@@ -13399,14 +13752,7 @@ webpack-manifest-plugin@^4.0.2:
tapable "^2.0.0"
webpack-sources "^2.2.0"
-webpack-merge@^4.2.2:
- version "4.2.2"
- resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-4.2.2.tgz#a27c52ea783d1398afd2087f547d7b9d2f43634d"
- integrity sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g==
- dependencies:
- lodash "^4.17.15"
-
-webpack-merge@^5.4.0:
+webpack-merge@^5.4.0, webpack-merge@^5.8.0:
version "5.8.0"
resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.8.0.tgz#2b39dbf22af87776ad744c390223731d30a68f61"
integrity sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==
@@ -13533,11 +13879,33 @@ which-boxed-primitive@^1.0.2:
is-string "^1.0.5"
is-symbol "^1.0.3"
+which-collection@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/which-collection/-/which-collection-1.0.1.tgz#70eab71ebbbd2aefaf32f917082fc62cdcb70906"
+ integrity sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==
+ dependencies:
+ is-map "^2.0.1"
+ is-set "^2.0.1"
+ is-weakmap "^2.0.1"
+ is-weakset "^2.0.1"
+
which-module@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a"
integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=
+which-typed-array@^1.1.9:
+ version "1.1.9"
+ resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.9.tgz#307cf898025848cf995e795e8423c7f337efbde6"
+ integrity sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==
+ dependencies:
+ available-typed-arrays "^1.0.5"
+ call-bind "^1.0.2"
+ for-each "^0.3.3"
+ gopd "^1.0.1"
+ has-tostringtag "^1.0.0"
+ is-typed-array "^1.1.10"
+
which@^1.2.10, which@^1.2.9, which@^1.3.1:
version "1.3.1"
resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a"