From fbc33ce746b45bb930401b5c1700ed41b51088f0 Mon Sep 17 00:00:00 2001 From: Nicholas Fasching Date: Fri, 8 Jul 2022 19:36:19 -0400 Subject: [PATCH 01/35] Add Filter to Have Direct Referrer --- lib/filters.js | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/lib/filters.js b/lib/filters.js index f3237a0a..f4542083 100644 --- a/lib/filters.js +++ b/lib/filters.js @@ -50,13 +50,15 @@ export const refFilter = (data, { domain, domainOnly, raw }) => { const links = {}; const isValidRef = referrer => { - return ( - referrer !== '' && referrer !== null && !referrer.startsWith('/') && !referrer.startsWith('#') - ); + return referrer !== null && !referrer.startsWith('/') && !referrer.startsWith('#'); }; const cleanUrl = url => { try { + if (url === '') { + return 'direct'; + } + const { hostname, origin, pathname, searchParams, protocol } = new URL(url); if (regex.test(url)) { From b90b2b9bb2c7e3674ec9b55baaed076e64967fae Mon Sep 17 00:00:00 2001 From: Nicholas Fasching <91689117+njfdev@users.noreply.github.com> Date: Sat, 9 Jul 2022 07:46:45 -0400 Subject: [PATCH 02/35] Update lib/filters.js Co-authored-by: Rohan Deb Sarkar --- lib/filters.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/filters.js b/lib/filters.js index f4542083..9503ed67 100644 --- a/lib/filters.js +++ b/lib/filters.js @@ -56,7 +56,7 @@ export const refFilter = (data, { domain, domainOnly, raw }) => { const cleanUrl = url => { try { if (url === '') { - return 'direct'; + return 'direct/none'; } const { hostname, origin, pathname, searchParams, protocol } = new URL(url); From 448a62d884fb6f60c065e30e71b3ad02adbad12b Mon Sep 17 00:00:00 2001 From: Nicholas Fasching <91689117+njfdev@users.noreply.github.com> Date: Sat, 9 Jul 2022 08:53:06 -0400 Subject: [PATCH 03/35] Update Blank Referrer Text I think this capitalization and spacing looks better after looking at it again. --- lib/filters.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/filters.js b/lib/filters.js index 9503ed67..baefcda7 100644 --- a/lib/filters.js +++ b/lib/filters.js @@ -56,7 +56,7 @@ export const refFilter = (data, { domain, domainOnly, raw }) => { const cleanUrl = url => { try { if (url === '') { - return 'direct/none'; + return 'Direct / None'; } const { hostname, origin, pathname, searchParams, protocol } = new URL(url); From 08cd77817794275d446c0811a8258d0b442e455d Mon Sep 17 00:00:00 2001 From: Brian Cao Date: Fri, 15 Jul 2022 22:23:57 -0700 Subject: [PATCH 04/35] fix bigint ui --- lib/db.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/db.js b/lib/db.js index 12bfd6d3..61fcac91 100644 --- a/lib/db.js +++ b/lib/db.js @@ -2,7 +2,7 @@ import { PrismaClient } from '@prisma/client'; import chalk from 'chalk'; BigInt.prototype.toJSON = function () { - return this.toString(); + return Number(this); }; const options = { From 8d358ccb9d74f66ac50321e8c0fc6833e7059677 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tobias=20H=C3=BCske?= Date: Sat, 16 Jul 2022 07:29:55 +0200 Subject: [PATCH 05/35] Feature: Add screensize to UI --- components/metrics/ScreenTable.js | 15 +++++++++++++++ components/pages/WebsiteDetails.js | 6 ++++++ lang/de-DE.json | 3 ++- lang/en-GB.json | 3 ++- lang/en-US.json | 3 ++- lang/tr-TR.json | 3 ++- pages/api/website/[id]/metrics.js | 2 +- 7 files changed, 30 insertions(+), 5 deletions(-) create mode 100644 components/metrics/ScreenTable.js diff --git a/components/metrics/ScreenTable.js b/components/metrics/ScreenTable.js new file mode 100644 index 00000000..5ad3b43a --- /dev/null +++ b/components/metrics/ScreenTable.js @@ -0,0 +1,15 @@ +import React from 'react'; +import MetricsTable from './MetricsTable'; +import { FormattedMessage } from 'react-intl'; + +export default function ScreenTable({ websiteId, ...props }) { + return ( + } + type="screen" + metric={} + websiteId={websiteId} + /> + ); +} diff --git a/components/pages/WebsiteDetails.js b/components/pages/WebsiteDetails.js index df31b4d9..1b22d9ed 100644 --- a/components/pages/WebsiteDetails.js +++ b/components/pages/WebsiteDetails.js @@ -22,6 +22,7 @@ import useFetch from 'hooks/useFetch'; import usePageQuery from 'hooks/usePageQuery'; import { DEFAULT_ANIMATION_DURATION } from 'lib/constants'; import styles from './WebsiteDetails.module.css'; +import ScreenTable from 'components/metrics/ScreenTable'; const views = { url: PagesTable, @@ -29,6 +30,7 @@ const views = { browser: BrowsersTable, os: OSTable, device: DevicesTable, + screen: ScreenTable, country: CountriesTable, language: LanguagesTable, event: EventsTable, @@ -64,6 +66,10 @@ export default function WebsiteDetails({ websiteId }) { label: , value: resolve({ view: 'referrer' }), }, + { + label: , + value: resolve({ view: 'screen' }), + }, { label: , value: resolve({ view: 'browser' }), diff --git a/lang/de-DE.json b/lang/de-DE.json index 50832c21..74e13b8d 100644 --- a/lang/de-DE.json +++ b/lang/de-DE.json @@ -106,5 +106,6 @@ "metrics.referrers": "Referrer", "metrics.unique-visitors": "Eindeutige Besucher", "metrics.views": "Aufrufe", - "metrics.visitors": "Besucher" + "metrics.visitors": "Besucher", + "metrics.screens": "Bildschirmauflösungen" } diff --git a/lang/en-GB.json b/lang/en-GB.json index d5001caa..2da0da58 100644 --- a/lang/en-GB.json +++ b/lang/en-GB.json @@ -106,5 +106,6 @@ "metrics.referrers": "Referrers", "metrics.unique-visitors": "Unique visitors", "metrics.views": "Views", - "metrics.visitors": "Visitors" + "metrics.visitors": "Visitors", + "metrics.screens": "Screens" } diff --git a/lang/en-US.json b/lang/en-US.json index d5001caa..2da0da58 100644 --- a/lang/en-US.json +++ b/lang/en-US.json @@ -106,5 +106,6 @@ "metrics.referrers": "Referrers", "metrics.unique-visitors": "Unique visitors", "metrics.views": "Views", - "metrics.visitors": "Visitors" + "metrics.visitors": "Visitors", + "metrics.screens": "Screens" } diff --git a/lang/tr-TR.json b/lang/tr-TR.json index dcc88fdc..04ebe32d 100644 --- a/lang/tr-TR.json +++ b/lang/tr-TR.json @@ -106,5 +106,6 @@ "metrics.referrers": "Yönlendirenler", "metrics.unique-visitors": "Tekil kullanıcı", "metrics.views": "Görüntüleme", - "metrics.visitors": "Ziyaretçi" + "metrics.visitors": "Ziyaretçi", + "metrics.screens": "Ekranlar" } diff --git a/pages/api/website/[id]/metrics.js b/pages/api/website/[id]/metrics.js index 54c5bf3e..da2fd354 100644 --- a/pages/api/website/[id]/metrics.js +++ b/pages/api/website/[id]/metrics.js @@ -3,7 +3,7 @@ import { ok, methodNotAllowed, unauthorized, badRequest } from 'lib/response'; import { allowQuery } from 'lib/auth'; import { useCors } from 'lib/middleware'; -const sessionColumns = ['browser', 'os', 'device', 'country', 'language']; +const sessionColumns = ['browser', 'os', 'device', 'screen', 'country', 'language']; const pageviewColumns = ['url', 'referrer']; function getTable(type) { From e4c4019e253cb45d95e9c40f089768a2fed871ae Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Fri, 15 Jul 2022 23:53:31 -0700 Subject: [PATCH 06/35] Allow custom release URL. --- .eslintrc.json | 3 ++- components/common/UpdateNotice.js | 6 +++--- components/layout/Footer.js | 7 +++++-- lib/constants.js | 3 ++- lib/db.js | 20 ++++++++++---------- next.config.js | 1 + store/version.js | 8 ++++---- 7 files changed, 27 insertions(+), 21 deletions(-) diff --git a/.eslintrc.json b/.eslintrc.json index 28e542bd..215d6491 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -16,7 +16,8 @@ "react/display-name": "off", "react/react-in-jsx-scope": "off", "react/prop-types": "off", - "import/no-anonymous-default-export": "off" + "import/no-anonymous-default-export": "off", + "@next/next/no-img-element": "off" }, "globals": { "React": "writable" diff --git a/components/common/UpdateNotice.js b/components/common/UpdateNotice.js index a2963995..a5036808 100644 --- a/components/common/UpdateNotice.js +++ b/components/common/UpdateNotice.js @@ -3,12 +3,12 @@ import { FormattedMessage } from 'react-intl'; import ButtonLayout from 'components/layout/ButtonLayout'; import useStore, { checkVersion } from 'store/version'; import { setItem } from 'lib/web'; -import { VERSION_CHECK, VERSION_URL } from 'lib/constants'; +import { REPO_URL, VERSION_CHECK } from 'lib/constants'; import Button from './Button'; import styles from './UpdateNotice.module.css'; export default function UpdateNotice() { - const { latest, checked, hasUpdate } = useStore(); + const { latest, checked, hasUpdate, releaseUrl } = useStore(); const [dismissed, setDismissed] = useState(false); const updateCheck = useCallback(() => { @@ -18,7 +18,7 @@ export default function UpdateNotice() { function handleViewClick() { updateCheck(); setDismissed(true); - location.href = VERSION_URL; + location.href = releaseUrl || REPO_URL; } function handleDismissClick() { diff --git a/components/layout/Footer.js b/components/layout/Footer.js index 21ce0573..ff7db96c 100644 --- a/components/layout/Footer.js +++ b/components/layout/Footer.js @@ -4,7 +4,7 @@ import { FormattedMessage } from 'react-intl'; import Link from 'components/common/Link'; import styles from './Footer.module.css'; import useStore from 'store/version'; -import { HOMEPAGE_URL, VERSION_URL } from 'lib/constants'; +import { HOMEPAGE_URL, REPO_URL } from 'lib/constants'; export default function Footer() { const { current } = useStore(); @@ -26,8 +26,11 @@ export default function Footer() { />
- {`v${current}`} + {`v${current}`}
+ {!process.env.telemetryDisabled && ( + + )} ); } diff --git a/lib/constants.js b/lib/constants.js index 13af1f32..2b332b21 100644 --- a/lib/constants.js +++ b/lib/constants.js @@ -7,7 +7,8 @@ export const DASHBOARD_CONFIG = 'umami.dashboard'; export const VERSION_CHECK = 'umami.version-check'; export const SHARE_TOKEN_HEADER = 'x-umami-share-token'; export const HOMEPAGE_URL = 'https://umami.is'; -export const VERSION_URL = 'https://github.com/mikecao/umami/releases'; +export const REPO_URL = 'https://github.com/umami-software/umami'; +export const UPDATES_URL = 'https://api.umami.is/v1/updates'; export const DEFAULT_LOCALE = 'en-US'; export const DEFAULT_THEME = 'light'; diff --git a/lib/db.js b/lib/db.js index 12bfd6d3..b44b4d3e 100644 --- a/lib/db.js +++ b/lib/db.js @@ -2,7 +2,7 @@ import { PrismaClient } from '@prisma/client'; import chalk from 'chalk'; BigInt.prototype.toJSON = function () { - return this.toString(); + return Number(this); }; const options = { @@ -18,20 +18,20 @@ function logQuery(e) { console.log(chalk.yellow(e.params), '->', e.query, chalk.greenBright(`${e.duration}ms`)); } -let prisma; +function getClient(options) { + const prisma = new PrismaClient(options); -if (process.env.NODE_ENV === 'production') { - prisma = new PrismaClient(options); -} else { - if (!global.prisma) { - global.prisma = new PrismaClient(options); + if (process.env.LOG_QUERY) { + prisma.$on('query', logQuery); } - prisma = global.prisma; + return prisma; } -if (process.env.LOG_QUERY) { - prisma.$on('query', logQuery); +const prisma = global.prisma || getClient(options); + +if (process.env.NODE_ENV !== 'production') { + global.prisma = prisma; } export default prisma; diff --git a/next.config.js b/next.config.js index f8186f3a..10624451 100644 --- a/next.config.js +++ b/next.config.js @@ -6,6 +6,7 @@ module.exports = { currentVersion: pkg.version, loginDisabled: process.env.DISABLE_LOGIN, updatesDisabled: process.env.DISABLE_UPDATES, + telemetryDisabled: process.env.DISABLE_TELEMETRY, }, basePath: process.env.BASE_PATH, output: 'standalone', diff --git a/store/version.js b/store/version.js index 00f4f433..c809aa88 100644 --- a/store/version.js +++ b/store/version.js @@ -1,16 +1,15 @@ import create from 'zustand'; import produce from 'immer'; import semver from 'semver'; -import { VERSION_CHECK } from 'lib/constants'; +import { VERSION_CHECK, UPDATES_URL } from 'lib/constants'; import { getItem } from 'lib/web'; -const UPDATES_URL = 'https://api.umami.is/v1/updates'; - const initialState = { current: process.env.currentVersion, latest: null, hasUpdate: false, checked: false, + releaseUrl: null, }; const store = create(() => ({ ...initialState })); @@ -37,7 +36,7 @@ export async function checkVersion() { store.setState( produce(state => { - const { latest } = data; + const { latest, url } = data; const lastCheck = getItem(VERSION_CHECK); const hasUpdate = !!(latest && lastCheck?.version !== latest && semver.gt(latest, current)); @@ -46,6 +45,7 @@ export async function checkVersion() { state.latest = latest; state.hasUpdate = hasUpdate; state.checked = true; + state.releaseUrl = url; return state; }), From 6245c24e5f74ddc14cd498f32b8fe2ce3a57b0df Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Fri, 15 Jul 2022 23:57:44 -0700 Subject: [PATCH 07/35] Update lang. Remove node 12 test. --- .github/workflows/ci.yml | 4 ---- public/intl/messages/da-DK.json | 36 ++++++++++++++++----------------- 2 files changed, 18 insertions(+), 22 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1ac0e37a..80db33c6 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -15,10 +15,6 @@ jobs: strategy: matrix: include: - - node-version: 12.x - db-type: postgresql - - node-version: 12.x - db-type: mysql - node-version: 14.x db-type: postgresql - node-version: 14.x diff --git a/public/intl/messages/da-DK.json b/public/intl/messages/da-DK.json index 2e281ae5..964947c7 100644 --- a/public/intl/messages/da-DK.json +++ b/public/intl/messages/da-DK.json @@ -32,19 +32,19 @@ "label.all-events": [ { "type": 0, - "value": "All events" + "value": "Alle hændelser" } ], "label.all-time": [ { "type": 0, - "value": "All time" + "value": "Altid" } ], "label.all-websites": [ { "type": 0, - "value": "Alle websites" + "value": "Alle hjemmesider" } ], "label.back": [ @@ -176,7 +176,7 @@ "label.language": [ { "type": 0, - "value": "Language" + "value": "Sprog" } ], "label.last-days": [ @@ -210,7 +210,7 @@ "label.logged-in-as": [ { "type": 0, - "value": "Loggede ind som " + "value": "Logget ind som " }, { "type": 1, @@ -250,7 +250,7 @@ "label.owner": [ { "type": 0, - "value": "Owner" + "value": "Ejer" } ], "label.password": [ @@ -262,7 +262,7 @@ "label.passwords-dont-match": [ { "type": 0, - "value": "Adgangskoder matcher ikke" + "value": "Adgangskoderne matcher ikke" } ], "label.profile": [ @@ -298,13 +298,13 @@ "label.reset": [ { "type": 0, - "value": "Reset" + "value": "Nulstil" } ], "label.reset-website": [ { "type": 0, - "value": "Reset statistics" + "value": "Nulstil statistikker" } ], "label.save": [ @@ -334,7 +334,7 @@ "label.theme": [ { "type": 0, - "value": "Theme" + "value": "Tema" } ], "label.this-month": [ @@ -448,7 +448,7 @@ "message.confirm-reset": [ { "type": 0, - "value": "Are your sure you want to reset " + "value": "Er du sikker på at du ville nulstille " }, { "type": 1, @@ -456,7 +456,7 @@ }, { "type": 0, - "value": "'s statistics?" + "value": "'s statistikker?" } ], "message.copied": [ @@ -558,7 +558,7 @@ "message.no-websites-configured": [ { "type": 0, - "value": "Du har ikke konfigureret nogen websteder." + "value": "Du har ikke konfigureret nogen hjemmesider." } ], "message.page-not-found": [ @@ -580,7 +580,7 @@ "message.reset-warning": [ { "type": 0, - "value": "All statistics for this website will be deleted, but your tracking code will remain intact." + "value": "Alle statistikker for denne hjemmeside ville blive slettet, men sporingskode ville forblive intakt." } ], "message.save-success": [ @@ -592,7 +592,7 @@ "message.share-url": [ { "type": 0, - "value": "Dette er den offentligt delings-URL til " + "value": "Dette er den offentlige delings-URL til " }, { "type": 1, @@ -606,7 +606,7 @@ "message.toggle-charts": [ { "type": 0, - "value": "Toggle charts" + "value": "Ændre graf" } ], "message.track-stats": [ @@ -628,7 +628,7 @@ }, { "type": 0, - "value": " sektionen på dit websted." + "value": " sektionen på din hjemmeside." } ], "message.type-delete": [ @@ -746,7 +746,7 @@ "metrics.languages": [ { "type": 0, - "value": "Languages" + "value": "Sprog" } ], "metrics.operating-systems": [ From b290f95b85a61eda320aeab3dd902b7061c88a21 Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Sat, 16 Jul 2022 22:04:53 -0700 Subject: [PATCH 08/35] Update docker urls. --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index e8b6cfa4..ad93b774 100644 --- a/README.md +++ b/README.md @@ -32,7 +32,7 @@ yarn install Create an `.env` file with the following ``` -DATABASE_URL=(connection url) +DATABASE_URL=connection-url ``` The connection url is in the following format: @@ -76,12 +76,12 @@ docker-compose up Alternatively, to pull just the Umami Docker image with PostgreSQL support: ```bash -docker pull ghcr.io/mikecao/umami:postgresql-latest +docker pull docker.umami.is/umami-software/umami:postgresql-latest ``` Or with MySQL support: ```bash -docker pull ghcr.io/mikecao/umami:mysql-latest +docker pull docker.umami.is/umami-software/umami:mysql-latest ``` ## Getting updates From 07e549882e67950251328b9dbfe8c3931c328ced Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Sat, 16 Jul 2022 22:23:43 -0700 Subject: [PATCH 09/35] Updated packages. Bump version v1.34.0. --- package.json | 5 +- yarn.lock | 922 +++++++++++++++++++++++++-------------------------- 2 files changed, 456 insertions(+), 471 deletions(-) diff --git a/package.json b/package.json index 49e3eb90..f1a3993b 100644 --- a/package.json +++ b/package.json @@ -1,13 +1,13 @@ { "name": "umami", - "version": "1.33.1", + "version": "1.34.0", "description": "A simple, fast, privacy-focused alternative to Google Analytics.", "author": "Mike Cao ", "license": "MIT", "homepage": "https://umami.is", "repository": { "type": "git", - "url": "https://github.com/mikecao/umami.git" + "url": "https://github.com/umami-software/umami.git" }, "scripts": { "dev": "next dev", @@ -80,7 +80,6 @@ "maxmind": "^4.3.6", "moment-timezone": "^0.5.33", "next": "^12.2.0", - "node-fetch": "^3.2.3", "npm-run-all": "^4.1.5", "prop-types": "^15.7.2", "react": "^17.0.0", diff --git a/yarn.lock b/yarn.lock index 995d9f11..215ab75d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -16,7 +16,14 @@ dependencies: "@babel/highlight" "^7.10.4" -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.16.7": +"@babel/code-frame@^7.0.0": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.18.6.tgz#3b25d38c89600baa2dcc219edfa88a74eb2c427a" + integrity sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q== + dependencies: + "@babel/highlight" "^7.18.6" + +"@babel/code-frame@^7.10.4", "@babel/code-frame@^7.16.7": version "7.16.7" resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz" integrity sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg== @@ -274,12 +281,12 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/highlight@^7.16.7": - version "7.17.12" - resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.17.12.tgz" - integrity sha512-7yykMVF3hfZY2jsHZEEgLc+3x4o1O+fYyULu11GynEUQNwB6lua+IIQn1FiJxNucd5UlyJryrwsOh8PL9Sn8Qg== +"@babel/highlight@^7.16.7", "@babel/highlight@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf" + integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g== dependencies: - "@babel/helper-validator-identifier" "^7.16.7" + "@babel/helper-validator-identifier" "^7.18.6" chalk "^2.0.0" js-tokens "^4.0.0" @@ -961,20 +968,27 @@ "@babel/plugin-transform-typescript" "^7.16.7" "@babel/runtime-corejs3@^7.10.2": - version "7.18.3" - resolved "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.18.3.tgz" - integrity sha512-l4ddFwrc9rnR+EJsHsh+TJ4A35YqQz/UqcjtlX2ov53hlJYG5CxtQmNZxyajwDVmCxwy++rtvGU5HazCK4W41Q== + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.18.6.tgz#6f02c5536911f4b445946a2179554b95c8838635" + integrity sha512-cOu5wH2JFBgMjje+a+fz2JNIWU4GzYpl05oSob3UDvBEh6EuIn+TXFHMmBbhSb+k/4HMzgKCQfEEDArAWNF9Cw== 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.16.3": +"@babel/runtime@^7.0.0": version "7.18.3" resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.18.3.tgz" integrity sha512-38Y8f7YUhce/K7RMwTp7m0uCumpv9hZkitCbBClqQIow1qSbCvGkcegKOXpEWCQLfWmevgRiWokZ1GkpfhbZug== dependencies: regenerator-runtime "^0.13.4" +"@babel/runtime@^7.10.2", "@babel/runtime@^7.18.3": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.18.6.tgz#6a1ef59f838debd670421f8c7f2cbb8da9751580" + integrity sha512-t9wi7/AW6XtKahAe20Yw0/mMljKq0B1r2fPdvaAdV/KPDZewFXdaaa6K7lxmZBZ8FBNpCiAT6iHPmd6QO9bKfQ== + dependencies: + regenerator-runtime "^0.13.4" + "@babel/runtime@^7.8.4": version "7.17.2" resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.17.2.tgz" @@ -1080,6 +1094,11 @@ resolved "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.0.0.tgz" integrity sha512-rZ6vufeY/UjAgtyiJ4WvfF6XP6HizIyOfbZOg0RnecIwjrvH8Am3nN1BpKnnPZunYAkUcPPXDhwbxOtGop8cfQ== +"@csstools/selector-specificity@^2.0.1": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@csstools/selector-specificity/-/selector-specificity-2.0.2.tgz#1bfafe4b7ed0f3e4105837e056e0a89b108ebe36" + integrity sha512-IkpVW/ehM1hWKln4fCA3NzJU8KwD+kIOvPZA4cqxoJHtE21CCzjyp+Kxbu0i5I4tBNOlXPL9mjwnWlL0VEG4Fg== + "@eslint/eslintrc@^0.4.3": version "0.4.3" resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz" @@ -1271,10 +1290,10 @@ resolved "https://registry.yarnpkg.com/@next/env/-/env-12.2.2.tgz#cc1a0a445bd254499e30f632968c03192455f4cc" integrity sha512-BqDwE4gDl1F608TpnNxZqrCn6g48MBjvmWFEmeX5wEXDXh3IkAOw6ASKUgjT8H4OUePYFqghDFUss5ZhnbOUjw== -"@next/eslint-plugin-next@12.2.0": - version "12.2.0" - resolved "https://registry.yarnpkg.com/@next/eslint-plugin-next/-/eslint-plugin-next-12.2.0.tgz#38b36d3be244cc9a98c0e7d203bdb062f87df4ac" - integrity sha512-nIj5xV/z3dOfeBnE7qFAjUQZAi4pTlIMuusRM6s/T6lOz8x7mjY5s1ZkTUBmcjPVCb2VIv3CrMH0WZL6xfjZZg== +"@next/eslint-plugin-next@12.2.2": + version "12.2.2" + resolved "https://registry.yarnpkg.com/@next/eslint-plugin-next/-/eslint-plugin-next-12.2.2.tgz#b4a22c06b6454068b54cc44502168d90fbb29a6d" + integrity sha512-XOi0WzJhGH3Lk51SkSu9eZxF+IY1ZZhWcJTIGBycAbWU877IQa6+6KxMATWCOs7c+bmp6Sd8KywXJaDRxzu0JA== dependencies: glob "7.1.7" @@ -1345,7 +1364,7 @@ "@nodelib/fs.scandir@2.1.5": version "2.1.5" - resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== dependencies: "@nodelib/fs.stat" "2.0.5" @@ -1353,12 +1372,12 @@ "@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": version "2.0.5" - resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== "@nodelib/fs.walk@^1.2.3": version "1.2.8" - resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== dependencies: "@nodelib/fs.scandir" "2.1.5" @@ -1386,91 +1405,91 @@ resolved "https://registry.yarnpkg.com/@prisma/engines/-/engines-3.16.0-49.da41d2bb3406da22087b849f0e911199ba4fbf11.tgz#82f0018153cffa05d61422f9c0c7b0479b180f75" integrity sha512-u/rG4lDHALolWBLr3yebZ+N2qImp3SDMcu7bHNJuRDaYvYEXy/MqfNRNEgd9GoPsXL3gofYf0VzJf2AmCG3YVw== -"@react-spring/animated@~9.4.5": - version "9.4.5" - resolved "https://registry.npmjs.org/@react-spring/animated/-/animated-9.4.5.tgz" - integrity sha512-KWqrtvJSMx6Fj9nMJkhTwM9r6LIriExDRV6YHZV9HKQsaolUFppgkOXpC+rsL1JEtEvKv6EkLLmSqHTnuYjiIA== +"@react-spring/animated@~9.5.0": + version "9.5.0" + resolved "https://registry.yarnpkg.com/@react-spring/animated/-/animated-9.5.0.tgz#bedc9301ec81a29331327aa25e37125a94080f48" + integrity sha512-FgotFIRQsgxFTgNZhsqi19GUO8isFAeUF/Ica6TeBkR87LQelHGWOg+wW5S3kaX9pzUgC4LOfzj0fRoMFaQKmA== dependencies: - "@react-spring/shared" "~9.4.5" - "@react-spring/types" "~9.4.5" + "@react-spring/shared" "~9.5.0" + "@react-spring/types" "~9.5.0" -"@react-spring/core@~9.4.5": - version "9.4.5" - resolved "https://registry.npmjs.org/@react-spring/core/-/core-9.4.5.tgz" - integrity sha512-83u3FzfQmGMJFwZLAJSwF24/ZJctwUkWtyPD7KYtNagrFeQKUH1I05ZuhmCmqW+2w1KDW1SFWQ43RawqfXKiiQ== +"@react-spring/core@~9.5.0": + version "9.5.0" + resolved "https://registry.yarnpkg.com/@react-spring/core/-/core-9.5.0.tgz#0f3ba069237ce08752e319aac71c621adc37500b" + integrity sha512-/5uopqj3NztZ8g2tD7jhtpSlUFSCr+WbLs0sb6ylwjuOJB050LCpYTJ8iurPf/wuhkYd7Q2xLK0Kr5PO0v53eQ== dependencies: - "@react-spring/animated" "~9.4.5" - "@react-spring/rafz" "~9.4.5" - "@react-spring/shared" "~9.4.5" - "@react-spring/types" "~9.4.5" + "@react-spring/animated" "~9.5.0" + "@react-spring/rafz" "~9.5.0" + "@react-spring/shared" "~9.5.0" + "@react-spring/types" "~9.5.0" -"@react-spring/konva@~9.4.5": - version "9.4.5" - resolved "https://registry.npmjs.org/@react-spring/konva/-/konva-9.4.5.tgz" - integrity sha512-b3wTs7YT5102+Gs488r2JCNBoyZQd+SWg35AdxmiI6FARBFvBjIA0z7VJx8ILAlmTVBows5UwiDWvk2vmWmLLw== +"@react-spring/konva@~9.5.0": + version "9.5.0" + resolved "https://registry.yarnpkg.com/@react-spring/konva/-/konva-9.5.0.tgz#7d794794379abcab8a0c2932cf04f395958f362c" + integrity sha512-b2J/DnnzgQcLNo5y/idXGAUbVKCC6BUhtNjRhna1+mNsrjuBrUxJ/n4zBpHwqVHNK4/2IXmvNIkitPe/LraE3g== dependencies: - "@react-spring/animated" "~9.4.5" - "@react-spring/core" "~9.4.5" - "@react-spring/shared" "~9.4.5" - "@react-spring/types" "~9.4.5" + "@react-spring/animated" "~9.5.0" + "@react-spring/core" "~9.5.0" + "@react-spring/shared" "~9.5.0" + "@react-spring/types" "~9.5.0" -"@react-spring/native@~9.4.5": - version "9.4.5" - resolved "https://registry.npmjs.org/@react-spring/native/-/native-9.4.5.tgz" - integrity sha512-11GcqFZfIhOOVQI25FcDLdeJLOSVOgIh2AF6WMXpCNWguhIv6N33zLL8d4cYfhYhsLOVXprU/8uefNorj7/h3g== +"@react-spring/native@~9.5.0": + version "9.5.0" + resolved "https://registry.yarnpkg.com/@react-spring/native/-/native-9.5.0.tgz#5b89911e78b8f83fd1c46370b687aedf6dda728c" + integrity sha512-gznPcy18OVTS7qblgq8eal2vDOcatyBg2J/WXYejYVUUFJJI4ZF+nYoPFIxf2pz/Q0iYPjqES1Ae7JiizCvl8w== dependencies: - "@react-spring/animated" "~9.4.5" - "@react-spring/core" "~9.4.5" - "@react-spring/shared" "~9.4.5" - "@react-spring/types" "~9.4.5" + "@react-spring/animated" "~9.5.0" + "@react-spring/core" "~9.5.0" + "@react-spring/shared" "~9.5.0" + "@react-spring/types" "~9.5.0" -"@react-spring/rafz@~9.4.5": - version "9.4.5" - resolved "https://registry.npmjs.org/@react-spring/rafz/-/rafz-9.4.5.tgz" - integrity sha512-swGsutMwvnoyTRxvqhfJBtGM8Ipx6ks0RkIpNX9F/U7XmyPvBMGd3GgX/mqxZUpdlsuI1zr/jiYw+GXZxAlLcQ== +"@react-spring/rafz@~9.5.0": + version "9.5.0" + resolved "https://registry.yarnpkg.com/@react-spring/rafz/-/rafz-9.5.0.tgz#25ee5ad7dbac2b7486b3a0dd23aa0a6880793d9f" + integrity sha512-jvelJ/YNeVTkPIRnVu6mD/lopZqixiAY5omCgQM8kT1kAnRPeyuGfHAb73HTnqOzcIL8vOluNfTfUM/xcPm3RQ== -"@react-spring/shared@~9.4.5": - version "9.4.5" - resolved "https://registry.npmjs.org/@react-spring/shared/-/shared-9.4.5.tgz" - integrity sha512-JhMh3nFKsqyag0KM5IIM8BQANGscTdd0mMv3BXsUiMZrcjQTskyfnv5qxEeGWbJGGar52qr5kHuBHtCjQOzniA== +"@react-spring/shared@~9.5.0": + version "9.5.0" + resolved "https://registry.yarnpkg.com/@react-spring/shared/-/shared-9.5.0.tgz#d80df5a6496fe4d414e608a7bcef448598e4ffee" + integrity sha512-XuRFgWiiV6LRd3JMQAVhsMnDIBF+M1Z3MeNI6Y+5oIf6mINQHLNPWjYt/lcLZ4cuKYi+OOce4G9zJx003b9w4g== dependencies: - "@react-spring/rafz" "~9.4.5" - "@react-spring/types" "~9.4.5" + "@react-spring/rafz" "~9.5.0" + "@react-spring/types" "~9.5.0" -"@react-spring/three@~9.4.5": - version "9.4.5" - resolved "https://registry.npmjs.org/@react-spring/three/-/three-9.4.5.tgz" - integrity sha512-mArxfIhg9kyFL/8Y09TarS/ZKLd/qAWS4T3Ro/B46ILPfPnoPywDdw9/rknZihy/tslnviCgMrB4pZ29X1Dfxw== +"@react-spring/three@~9.5.0": + version "9.5.0" + resolved "https://registry.yarnpkg.com/@react-spring/three/-/three-9.5.0.tgz#74c919c93c26b7255ded8c69f3a02f5730cb198c" + integrity sha512-tr5qgW4jvWrodAVc5gL0vu7+yDD9cnqut7tEIQELgrk4ffTlt+biPh2p2sW/KTVAu51ZO+aK/8caqt26DzqpFQ== dependencies: - "@react-spring/animated" "~9.4.5" - "@react-spring/core" "~9.4.5" - "@react-spring/shared" "~9.4.5" - "@react-spring/types" "~9.4.5" + "@react-spring/animated" "~9.5.0" + "@react-spring/core" "~9.5.0" + "@react-spring/shared" "~9.5.0" + "@react-spring/types" "~9.5.0" -"@react-spring/types@~9.4.5": - version "9.4.5" - resolved "https://registry.npmjs.org/@react-spring/types/-/types-9.4.5.tgz" - integrity sha512-mpRIamoHwql0ogxEUh9yr4TP0xU5CWyZxVQeccGkHHF8kPMErtDXJlxyo0lj+telRF35XNihtPTWoflqtyARmg== +"@react-spring/types@~9.5.0": + version "9.5.0" + resolved "https://registry.yarnpkg.com/@react-spring/types/-/types-9.5.0.tgz#5ef3af4edc4a5d667f202b9581ac0dfc20889cfb" + integrity sha512-qrLwe77qa1LdS/tjCZKljzoXDSg9WPAgrfAkl8x1w8y9E8jHnCr2Z8UkM/sXvFlCZvMfsGes4XnE4oUNdjNuNQ== -"@react-spring/web@~9.4.5": - version "9.4.5" - resolved "https://registry.npmjs.org/@react-spring/web/-/web-9.4.5.tgz" - integrity sha512-NGAkOtKmOzDEctL7MzRlQGv24sRce++0xAY7KlcxmeVkR7LRSGkoXHaIfm9ObzxPMcPHQYQhf3+X9jepIFNHQA== +"@react-spring/web@~9.5.0": + version "9.5.0" + resolved "https://registry.yarnpkg.com/@react-spring/web/-/web-9.5.0.tgz#a47dbf9bf2942a29c22339711eb580c61631d3b3" + integrity sha512-fq33Og23zCLxH7HELdOyAk0pWtwbSsk8MzPenN2JZMYI1dElB208r4CedM78TPY99YWIY2XRJ45VxbikxVeWLQ== dependencies: - "@react-spring/animated" "~9.4.5" - "@react-spring/core" "~9.4.5" - "@react-spring/shared" "~9.4.5" - "@react-spring/types" "~9.4.5" + "@react-spring/animated" "~9.5.0" + "@react-spring/core" "~9.5.0" + "@react-spring/shared" "~9.5.0" + "@react-spring/types" "~9.5.0" -"@react-spring/zdog@~9.4.5": - version "9.4.5" - resolved "https://registry.npmjs.org/@react-spring/zdog/-/zdog-9.4.5.tgz" - integrity sha512-STrePM34ZK1T3oK8mo71pvKxvIzELJTpVi0U0qDh0s15e9rmN6XYkd406LqFtuchhmLoy24lD4ds7LAqhIEraw== +"@react-spring/zdog@~9.5.0": + version "9.5.0" + resolved "https://registry.yarnpkg.com/@react-spring/zdog/-/zdog-9.5.0.tgz#5f1a612a97040dca4a253ef32849827d373f54f1" + integrity sha512-d+rfOC4PC4L78a0ep2YIqpcaqoQdlWLI52Gy32cOHFPT4WgOrX+r6kZWjQli6P2LmcGoY6A9kh051MQpRVnI3g== dependencies: - "@react-spring/animated" "~9.4.5" - "@react-spring/core" "~9.4.5" - "@react-spring/shared" "~9.4.5" - "@react-spring/types" "~9.4.5" + "@react-spring/animated" "~9.5.0" + "@react-spring/core" "~9.5.0" + "@react-spring/shared" "~9.5.0" + "@react-spring/types" "~9.5.0" "@rollup/plugin-buble@^0.21.3": version "0.21.3" @@ -1499,9 +1518,9 @@ picomatch "^2.2.2" "@rushstack/eslint-patch@^1.1.3": - version "1.1.3" - resolved "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.1.3.tgz" - integrity sha512-WiBSI6JBIhC6LRIsB2Kwh8DsGTlbBU+mLRxJmAe3LjHTdkDpwIbEOZgoXBbZilk/vlfjK8i6nKRAvIRn1XaIMw== + version "1.1.4" + resolved "https://registry.yarnpkg.com/@rushstack/eslint-patch/-/eslint-patch-1.1.4.tgz#0c8b74c50f29ee44f423f7416829c0bf8bb5eb27" + integrity sha512-LwzQKA4vzIct1zNZzBmRKI9QuNpLgTQMEjsQLf3BXuGYb3QPTP4Yjf6mkdX+X1mYttZ808QpOwAzZjv28kq7DA== "@svgr/babel-plugin-add-jsx-attribute@^6.0.0": version "6.0.0" @@ -1696,12 +1715,12 @@ "@types/json5@^0.0.29": version "0.0.29" - resolved "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz" + resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== "@types/minimist@^1.2.0": version "1.2.2" - resolved "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz" + resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.2.tgz#ee771e2ba4b3dc5b372935d549fd9617bf345b8c" integrity sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ== "@types/node@*", "@types/node@14 || 16 || 17": @@ -1716,12 +1735,12 @@ "@types/normalize-package-data@^2.4.0": version "2.4.1" - resolved "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz" + resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz#d3357479a0fdfdd5907fe67e17e0a85c906e1301" integrity sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw== "@types/parse-json@^4.0.0": version "4.0.0" - resolved "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== "@types/prop-types@*": @@ -1751,47 +1770,47 @@ schema-utils "*" "@typescript-eslint/parser@^5.21.0": - version "5.27.0" - resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.27.0.tgz" - integrity sha512-8oGjQF46c52l7fMiPPvX4It3u3V3JipssqDfHQ2hcR0AeR8Zge+OYyKUCm5b70X72N1qXt0qgHenwN6Gc2SXZA== + version "5.30.6" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.30.6.tgz#add440db038fa9d777e4ebdaf66da9e7fb7abe92" + integrity sha512-gfF9lZjT0p2ZSdxO70Xbw8w9sPPJGfAdjK7WikEjB3fcUI/yr9maUVEdqigBjKincUYNKOmf7QBMiTf719kbrA== dependencies: - "@typescript-eslint/scope-manager" "5.27.0" - "@typescript-eslint/types" "5.27.0" - "@typescript-eslint/typescript-estree" "5.27.0" + "@typescript-eslint/scope-manager" "5.30.6" + "@typescript-eslint/types" "5.30.6" + "@typescript-eslint/typescript-estree" "5.30.6" debug "^4.3.4" -"@typescript-eslint/scope-manager@5.27.0": - version "5.27.0" - resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.27.0.tgz" - integrity sha512-VnykheBQ/sHd1Vt0LJ1JLrMH1GzHO+SzX6VTXuStISIsvRiurue/eRkTqSrG0CexHQgKG8shyJfR4o5VYioB9g== +"@typescript-eslint/scope-manager@5.30.6": + version "5.30.6" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.30.6.tgz#ce1b49ff5ce47f55518d63dbe8fc9181ddbd1a33" + integrity sha512-Hkq5PhLgtVoW1obkqYH0i4iELctEKixkhWLPTYs55doGUKCASvkjOXOd/pisVeLdO24ZX9D6yymJ/twqpJiG3g== dependencies: - "@typescript-eslint/types" "5.27.0" - "@typescript-eslint/visitor-keys" "5.27.0" + "@typescript-eslint/types" "5.30.6" + "@typescript-eslint/visitor-keys" "5.30.6" -"@typescript-eslint/types@5.27.0": - version "5.27.0" - resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.27.0.tgz" - integrity sha512-lY6C7oGm9a/GWhmUDOs3xAVRz4ty/XKlQ2fOLr8GAIryGn0+UBOoJDWyHer3UgrHkenorwvBnphhP+zPmzmw0A== +"@typescript-eslint/types@5.30.6": + version "5.30.6" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.30.6.tgz#86369d0a7af8c67024115ac1da3e8fb2d38907e1" + integrity sha512-HdnP8HioL1F7CwVmT4RaaMX57RrfqsOMclZc08wGMiDYJBsLGBM7JwXM4cZJmbWLzIR/pXg1kkrBBVpxTOwfUg== -"@typescript-eslint/typescript-estree@5.27.0": - version "5.27.0" - resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.27.0.tgz" - integrity sha512-QywPMFvgZ+MHSLRofLI7BDL+UczFFHyj0vF5ibeChDAJgdTV8k4xgEwF0geFhVlPc1p8r70eYewzpo6ps+9LJQ== +"@typescript-eslint/typescript-estree@5.30.6": + version "5.30.6" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.30.6.tgz#a84a0d6a486f9b54042da1de3d671a2c9f14484e" + integrity sha512-Z7TgPoeYUm06smfEfYF0RBkpF8csMyVnqQbLYiGgmUSTaSXTP57bt8f0UFXstbGxKIreTwQCujtaH0LY9w9B+A== dependencies: - "@typescript-eslint/types" "5.27.0" - "@typescript-eslint/visitor-keys" "5.27.0" + "@typescript-eslint/types" "5.30.6" + "@typescript-eslint/visitor-keys" "5.30.6" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/visitor-keys@5.27.0": - version "5.27.0" - resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.27.0.tgz" - integrity sha512-46cYrteA2MrIAjv9ai44OQDUoCZyHeGIc4lsjCUX2WT6r4C+kidz1bNiR4017wHOPUythYeH+Sc7/cFP97KEAA== +"@typescript-eslint/visitor-keys@5.30.6": + version "5.30.6" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.30.6.tgz#94dd10bb481c8083378d24de1742a14b38a2678c" + integrity sha512-41OiCjdL2mCaSDi2SvYbzFLlqqlm5v1ZW9Ym55wXKL/Rx6OOB1IbuFGo71Fj6Xy90gJDFTlgOS+vbmtGHPTQQA== dependencies: - "@typescript-eslint/types" "5.27.0" + "@typescript-eslint/types" "5.30.6" eslint-visitor-keys "^3.3.0" "@vue/compiler-core@3.2.36", "@vue/compiler-core@^3.2.23": @@ -1958,7 +1977,7 @@ ajv@^8.0.0, ajv@^8.8.0: ajv@^8.0.1: version "8.11.0" - resolved "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.11.0.tgz#977e91dd96ca669f54a11e23e378e33b884a565f" integrity sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg== dependencies: fast-deep-equal "^3.1.1" @@ -1980,12 +1999,12 @@ ansi-escapes@^4.3.0: ansi-regex@^5.0.1: version "5.0.1" - resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== ansi-styles@^3.2.1: version "3.2.1" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== dependencies: color-convert "^1.9.0" @@ -2006,7 +2025,7 @@ argparse@^1.0.7: aria-query@^4.2.2: version "4.2.2" - resolved "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz" + resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-4.2.2.tgz#0d2ca6c9aceb56b8977e9fed6aed7e15bbd2f83b" integrity sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA== dependencies: "@babel/runtime" "^7.10.2" @@ -2019,7 +2038,7 @@ array-find-index@^1.0.1: array-includes@^3.1.4, array-includes@^3.1.5: version "3.1.5" - resolved "https://registry.npmjs.org/array-includes/-/array-includes-3.1.5.tgz" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.5.tgz#2c320010db8d31031fd2a5f6b3bbd4b1aad31bdb" integrity sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ== dependencies: call-bind "^1.0.2" @@ -2030,12 +2049,12 @@ array-includes@^3.1.4, array-includes@^3.1.5: array-union@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== array.prototype.flat@^1.2.5: version "1.3.0" - resolved "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.0.tgz" + resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.0.tgz#0b0c1567bf57b38b56b4c97b8aa72ab45e4adc7b" integrity sha512-12IUEkHsAhA4DY5s0FPgNXIdc8VRSqD9Zp78a5au9abH/SOBrsp082JOWFNTjkMozh8mqcdiKuaLGhPeYztxSw== dependencies: call-bind "^1.0.2" @@ -2045,7 +2064,7 @@ array.prototype.flat@^1.2.5: array.prototype.flatmap@^1.3.0: version "1.3.0" - resolved "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.0.tgz" + resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.0.tgz#a7e8ed4225f4788a70cd910abcf0791e76a5534f" integrity sha512-PZC9/8TKAIxcWKdyeb77EzULHPrIX/tIZebLJUQOMR1OwYosT8yggdfWScfTBCDj5utONvOuPQQumYsU2ULbkg== dependencies: call-bind "^1.0.2" @@ -2055,17 +2074,17 @@ array.prototype.flatmap@^1.3.0: arrify@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" integrity sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA== ast-types-flow@^0.0.7: version "0.0.7" - resolved "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz" + resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad" integrity sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag== astral-regex@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== at-least-node@^1.0.0: @@ -2085,14 +2104,14 @@ autoprefixer@^10.4.4: picocolors "^1.0.0" postcss-value-parser "^4.2.0" -axe-core@^4.3.5: - version "4.4.2" - resolved "https://registry.npmjs.org/axe-core/-/axe-core-4.4.2.tgz" - integrity sha512-LVAaGp/wkkgYJcjmHsoKx4juT1aQvJyPcW09MLCjVTh3V2cc6PnyempiLMNH5iMdfIX/zdbjUx2KDjMLCTdPeA== +axe-core@^4.4.2: + version "4.4.3" + resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.4.3.tgz#11c74d23d5013c0fa5d183796729bc3482bd2f6f" + integrity sha512-32+ub6kkdhhWick/UjvEwRchgoetXqTK14INLqbGm5U2TzBkBNF3nQtLYm8ovxSkQWArjEQvftCKryjZaATu3w== axobject-query@^2.2.0: version "2.2.0" - resolved "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz" + resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.2.0.tgz#943d47e10c0b704aa42275e20edf3722648989be" integrity sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA== babel-plugin-dynamic-import-node@^2.3.3: @@ -2144,12 +2163,12 @@ babel-plugin-react-intl@^7.0.0: balanced-match@^1.0.0: version "1.0.2" - resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== balanced-match@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-2.0.0.tgz#dc70f920d78db8b858535795867bf48f820633d9" integrity sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA== bcryptjs@^2.4.3: @@ -2164,7 +2183,7 @@ boolbase@^1.0.0: brace-expansion@^1.1.7: version "1.1.11" - resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== dependencies: balanced-match "^1.0.0" @@ -2172,7 +2191,7 @@ brace-expansion@^1.1.7: braces@^3.0.2: version "3.0.2" - resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== dependencies: fill-range "^7.0.1" @@ -2241,7 +2260,7 @@ buffer-from@^1.0.0: call-bind@^1.0.0, call-bind@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== dependencies: function-bind "^1.1.1" @@ -2249,12 +2268,12 @@ call-bind@^1.0.0, call-bind@^1.0.2: callsites@^3.0.0: version "3.1.0" - resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== camelcase-keys@^6.2.2: version "6.2.2" - resolved "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz" + resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-6.2.2.tgz#5e755d6ba51aa223ec7d3d52f25778210f9dc3c0" integrity sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg== dependencies: camelcase "^5.3.1" @@ -2353,7 +2372,7 @@ cli-truncate@2.1.0, cli-truncate@^2.1.0: clone-regexp@^2.1.0: version "2.2.0" - resolved "https://registry.npmjs.org/clone-regexp/-/clone-regexp-2.2.0.tgz" + resolved "https://registry.yarnpkg.com/clone-regexp/-/clone-regexp-2.2.0.tgz#7d65e00885cd8796405c35a737e7a86b7429e36f" integrity sha512-beMpP7BOtTipFuW8hrJvREQ2DrRu3BE7by0ZpibtfBA+qfHYvMGTc2Yb1JMYPKg/JUw0CHYvpg796aNTSW9z7Q== dependencies: is-regexp "^2.0.0" @@ -2367,19 +2386,19 @@ color-convert@^1.9.0, color-convert@^1.9.3: color-convert@^2.0.1: version "2.0.1" - resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== dependencies: color-name "~1.1.4" color-name@1.1.3: version "1.1.3" - resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== color-name@^1.0.0, color-name@~1.1.4: version "1.1.4" - resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== colord@^2.9.2: @@ -2419,7 +2438,7 @@ commander@^7.2.0: concat-map@0.0.1: version "0.0.1" - resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== convert-source-map@^1.7.0: @@ -2438,9 +2457,9 @@ core-js-compat@^3.20.2, core-js-compat@^3.21.0: semver "7.0.0" core-js-pure@^3.20.2: - version "3.22.8" - resolved "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.22.8.tgz" - integrity sha512-bOxbZIy9S5n4OVH63XaLVXZ49QKicjowDx/UELyJ68vxfCRpYsbyh/WNZNfEfAk+ekA8vSjt+gCDpvh672bc3w== + version "3.23.4" + resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.23.4.tgz#aba5c7fb297063444f6bf93afb0362151679a012" + integrity sha512-lizxkcgj3XDmi7TUBFe+bQ1vNpD5E4t76BrBWI3HdUxdw/Mq1VF4CkiHzIKyieECKtcODK2asJttoofEeUKICQ== cors@^2.8.5: version "2.8.5" @@ -2452,7 +2471,7 @@ cors@^2.8.5: cosmiconfig@^7.0.1: version "7.0.1" - resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.1.tgz#714d756522cace867867ccb4474c5d01bbae5d6d" integrity sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ== dependencies: "@types/parse-json" "^4.0.0" @@ -2495,10 +2514,10 @@ css-blank-pseudo@^3.0.3: dependencies: postcss-selector-parser "^6.0.9" -css-functions-list@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.0.1.tgz" - integrity sha512-PriDuifDt4u4rkDgnqRCLnjfMatufLmWNfQnGCq34xZwpY3oabwhB9SqRBmuvWUgndbemCFlKqg+nO7C2q0SBw== +css-functions-list@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/css-functions-list/-/css-functions-list-3.1.0.tgz#cf5b09f835ad91a00e5959bcfc627cd498e1321b" + integrity sha512-/9lCvYZaUbBGvYUgYGFJ4dcYiyqdhSjG7IPVluoV8A1ILjkF7ilmhp1OGUz8n+nmBcu0RNrQAzgD8B6FJbrt2w== css-has-pseudo@^3.0.4: version "3.0.4" @@ -2543,7 +2562,7 @@ cssdb@^6.5.0: cssesc@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== csso@^4.2.0: @@ -2646,20 +2665,15 @@ d3-zoom@^2.0.0: d3-selection "2" d3-transition "2" -damerau-levenshtein@^1.0.7: +damerau-levenshtein@^1.0.8: version "1.0.8" - resolved "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz" + resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz#b43d286ccbd36bc5b2f7ed41caf2d0aba1f8a6e7" integrity sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA== -data-uri-to-buffer@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.0.tgz" - integrity sha512-Vr3mLBA8qWmcuschSLAOogKgQ/Jwxulv3RNE4FXnYWRGujzrRWQI4m12fQqRkwX06C0KanhLr4hK+GydchZsaA== - date-fns-tz@^1.1.4: - version "1.3.4" - resolved "https://registry.npmjs.org/date-fns-tz/-/date-fns-tz-1.3.4.tgz" - integrity sha512-O47vEyz85F2ax/ZdhMBJo187RivZGjH6V0cPjPzpm/yi6YffJg4upD/8ibezO11ezZwP3QYlBHh/t4JhRNx0Ow== + version "1.3.6" + resolved "https://registry.yarnpkg.com/date-fns-tz/-/date-fns-tz-1.3.6.tgz#4195a58a2f86eda55ea69fb477f3ed8a6e2188ac" + integrity sha512-C8q7mErvG4INw1ZwAFmPlGjEo5Sv4udjKVbTc03zpP9cu6cp5AemFzKhz0V68LGcWEtX5mJudzzg3G04emIxLA== date-fns@^2.23.0: version "2.28.0" @@ -2673,14 +2687,14 @@ debounce@^1.2.1: debug@^2.6.9: version "2.6.9" - resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== dependencies: ms "2.0.0" debug@^3.2.7: version "3.2.7" - resolved "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== dependencies: ms "^2.1.1" @@ -2701,7 +2715,7 @@ debug@^4.1.1, debug@^4.3.2, debug@^4.3.4: decamelize-keys@^1.1.0: version "1.1.0" - resolved "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz" + resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.0.tgz#d171a87933252807eb3cb61dc1c1445d078df2d9" integrity sha512-ocLWuYzRPoS9bfiSdDd3cxvrzovVMZnRDVEzAs+hWIVXGDbHxWMECij2OBuyB/An0FFW/nLuq6Kv1i/YC5Qfzg== dependencies: decamelize "^1.1.0" @@ -2709,7 +2723,7 @@ decamelize-keys@^1.1.0: decamelize@^1.1.0, decamelize@^1.2.0: version "1.2.0" - resolved "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== deep-is@^0.1.3: @@ -2729,7 +2743,7 @@ deepmerge@^4.2.2: define-properties@^1.1.3, define-properties@^1.1.4: version "1.1.4" - resolved "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.4.tgz#0b14d7bd7fbeb2f3572c3a7eda80ea5d57fb05b1" integrity sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA== dependencies: has-property-descriptors "^1.0.0" @@ -2761,14 +2775,14 @@ detect-indent@^6.0.0: dir-glob@^3.0.1: version "3.0.1" - resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz" + resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== dependencies: path-type "^4.0.0" doctrine@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== dependencies: esutils "^2.0.2" @@ -2832,12 +2846,12 @@ electron-to-chromium@^1.4.76: emoji-regex@^8.0.0: version "8.0.0" - resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== emoji-regex@^9.2.2: version "9.2.2" - resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== enquirer@^2.3.5, enquirer@^2.3.6: @@ -2859,14 +2873,14 @@ entities@^3.0.1: error-ex@^1.3.1: version "1.3.2" - resolved "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== dependencies: is-arrayish "^0.2.1" es-abstract@^1.19.0, es-abstract@^1.19.1, es-abstract@^1.19.2, es-abstract@^1.19.5: version "1.20.1" - resolved "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.1.tgz" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.20.1.tgz#027292cd6ef44bd12b1913b828116f54787d1814" integrity sha512-WEm2oBhfoI2sImeM4OF2zE2V3BYdSF+KnSi9Sidz51fQHd7+JuF8Xgcj9/0o+OWeIeIS/MiuNnlruQrJf16GQA== dependencies: call-bind "^1.0.2" @@ -2895,14 +2909,14 @@ es-abstract@^1.19.0, es-abstract@^1.19.1, es-abstract@^1.19.2, es-abstract@^1.19 es-shim-unscopables@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz#702e632193201e3edf8713635d083d378e510241" integrity sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w== dependencies: has "^1.0.3" es-to-primitive@^1.2.1: version "1.2.1" - resolved "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== dependencies: is-callable "^1.1.4" @@ -2916,7 +2930,7 @@ escalade@^3.1.1: escape-string-regexp@^1.0.5: version "1.0.5" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== escape-string-regexp@^4.0.0: @@ -2925,11 +2939,11 @@ escape-string-regexp@^4.0.0: integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== eslint-config-next@^12.2.0: - version "12.2.0" - resolved "https://registry.yarnpkg.com/eslint-config-next/-/eslint-config-next-12.2.0.tgz#f7e965ca616ebd948d728905c58a1c80aabb36b9" - integrity sha512-QWzNegadFXjQ0h3hixnLacRM9Kot85vQefyNsA8IeOnERZMz0Gvays1W6DMCjSxJbnCwuWaMXj9DCpar5IahRA== + version "12.2.2" + resolved "https://registry.yarnpkg.com/eslint-config-next/-/eslint-config-next-12.2.2.tgz#4bb996026e118071849bc4011283a160ad5bde46" + integrity sha512-oJhWBLC4wDYYUFv/5APbjHUFd0QRFCojMdj/QnMoOEktmeTvwnnoA8F8uaXs0fQgsaTK0tbUxBRv9/Y4/rpxOA== dependencies: - "@next/eslint-plugin-next" "12.2.0" + "@next/eslint-plugin-next" "12.2.2" "@rushstack/eslint-patch" "^1.1.3" "@typescript-eslint/parser" "^5.21.0" eslint-import-resolver-node "^0.3.6" @@ -2946,7 +2960,7 @@ eslint-config-prettier@^8.5.0: eslint-import-resolver-node@^0.3.6: version "0.3.6" - resolved "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz#4048b958395da89668252001dbd9eca6b83bacbd" integrity sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw== dependencies: debug "^3.2.7" @@ -2954,7 +2968,7 @@ eslint-import-resolver-node@^0.3.6: eslint-import-resolver-typescript@^2.7.1: version "2.7.1" - resolved "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-2.7.1.tgz" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-2.7.1.tgz#a90a4a1c80da8d632df25994c4c5fdcdd02b8751" integrity sha512-00UbgGwV8bSgUv34igBDbTOtKhqoRMy9bFjNehT40bXg6585PNIct8HhXZ0SybqB9rWtXj9crcku8ndDn/gIqQ== dependencies: debug "^4.3.4" @@ -2965,7 +2979,7 @@ eslint-import-resolver-typescript@^2.7.1: eslint-module-utils@^2.7.3: version "2.7.3" - resolved "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.3.tgz" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.7.3.tgz#ad7e3a10552fdd0642e1e55292781bd6e34876ee" integrity sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ== dependencies: debug "^3.2.7" @@ -2973,7 +2987,7 @@ eslint-module-utils@^2.7.3: eslint-plugin-import@^2.26.0: version "2.26.0" - resolved "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz#f812dc47be4f2b72b478a021605a59fc6fe8b88b" integrity sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA== dependencies: array-includes "^3.1.4" @@ -2991,39 +3005,40 @@ eslint-plugin-import@^2.26.0: tsconfig-paths "^3.14.1" eslint-plugin-jsx-a11y@^6.5.1: - version "6.5.1" - resolved "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.5.1.tgz" - integrity sha512-sVCFKX9fllURnXT2JwLN5Qgo24Ug5NF6dxhkmxsMEUZhXRcGg+X3e1JbJ84YePQKBl5E0ZjAH5Q4rkdcGY99+g== + version "6.6.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.6.0.tgz#2c5ac12e013eb98337b9aa261c3b355275cc6415" + integrity sha512-kTeLuIzpNhXL2CwLlc8AHI0aFRwWHcg483yepO9VQiHzM9bZwJdzTkzBszbuPrbgGmq2rlX/FaT2fJQsjUSHsw== dependencies: - "@babel/runtime" "^7.16.3" + "@babel/runtime" "^7.18.3" aria-query "^4.2.2" - array-includes "^3.1.4" + array-includes "^3.1.5" ast-types-flow "^0.0.7" - axe-core "^4.3.5" + axe-core "^4.4.2" axobject-query "^2.2.0" - damerau-levenshtein "^1.0.7" + damerau-levenshtein "^1.0.8" emoji-regex "^9.2.2" has "^1.0.3" - jsx-ast-utils "^3.2.1" + jsx-ast-utils "^3.3.1" language-tags "^1.0.5" - minimatch "^3.0.4" + minimatch "^3.1.2" + semver "^6.3.0" eslint-plugin-prettier@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.0.0.tgz" - integrity sha512-98MqmCJ7vJodoQK359bqQWaxOE0CS8paAz/GgjaZLyex4TTk3g9HugoO89EqWCrFiOqn9EVvcoo7gZzONCWVwQ== + version "4.2.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz#651cbb88b1dab98bfd42f017a12fa6b2d993f94b" + integrity sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ== dependencies: prettier-linter-helpers "^1.0.0" eslint-plugin-react-hooks@^4.5.0: - version "4.5.0" - resolved "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.5.0.tgz" - integrity sha512-8k1gRt7D7h03kd+SAAlzXkQwWK22BnK6GKZG+FJA6BAGy22CFvl8kCIXKpVux0cCxMWDQUPqSok0LKaZ0aOcCw== + version "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.29.4: - version "7.30.0" - resolved "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.30.0.tgz" - integrity sha512-RgwH7hjW48BleKsYyHK5vUAvxtE9SMPDKmcPRQgtRCYaZA0XQPt5FSkrU3nhz5ifzMZcA8opwmRJ2cmOO8tr5A== + version "7.30.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.30.1.tgz#2be4ab23ce09b5949c6631413ba64b2810fd3e22" + integrity sha512-NbEvI9jtqO46yJA3wcRF9Mo0lF9T/jhdHqhCHXiXtD+Zcb98812wvokjWpU7Q4QH5edo6dmqrukxVvWWXHlsUg== dependencies: array-includes "^3.1.5" array.prototype.flatmap "^1.3.0" @@ -3067,7 +3082,7 @@ eslint-visitor-keys@^2.0.0: eslint-visitor-keys@^3.3.0: version "3.3.0" - resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== eslint@^7.32.0: @@ -3166,7 +3181,7 @@ estree-walker@^2.0.2: esutils@^2.0.2: version "2.0.3" - resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== execa@^5.1.1: @@ -3186,7 +3201,7 @@ execa@^5.1.1: execall@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/execall/-/execall-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/execall/-/execall-2.0.0.tgz#16a06b5fe5099df7d00be5d9c06eecded1663b45" integrity sha512-0FU2hZ5Hh6iQnarpRtQurM/aAvp3RIbfvgLHrcqJYzhXyV2KFruhuChf9NC6waAhiUR7FFtlugkI4p7f2Fqlow== dependencies: clone-regexp "^2.1.0" @@ -3219,12 +3234,12 @@ fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: fast-diff@^1.1.2: version "1.2.0" - resolved "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz" + resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03" integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== fast-glob@^3.2.11, fast-glob@^3.2.7, fast-glob@^3.2.9: version "3.2.11" - resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.11.tgz#a1172ad95ceb8a16e20caa5c5e56480e5129c1d9" integrity sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew== dependencies: "@nodelib/fs.stat" "^2.0.2" @@ -3245,48 +3260,40 @@ fast-levenshtein@^2.0.6: fastest-levenshtein@^1.0.12: version "1.0.12" - resolved "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz" + resolved "https://registry.yarnpkg.com/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz#9990f7d3a88cc5a9ffd1f1745745251700d497e2" integrity sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow== fastq@^1.6.0: version "1.13.0" - resolved "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.13.0.tgz#616760f88a7526bdfc596b7cab8c18938c36b98c" integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw== dependencies: reusify "^1.0.4" -fetch-blob@^3.1.2, fetch-blob@^3.1.4: - version "3.1.5" - resolved "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.1.5.tgz" - integrity sha512-N64ZpKqoLejlrwkIAnb9iLSA3Vx/kjgzpcDhygcqJ2KKjky8nCgUQ+dzXtbrLaWZGZNmNfQTsiQ0weZ1svglHg== - dependencies: - node-domexception "^1.0.0" - web-streams-polyfill "^3.0.3" - file-entry-cache@^6.0.1: version "6.0.1" - resolved "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== dependencies: flat-cache "^3.0.4" fill-range@^7.0.1: version "7.0.1" - resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== dependencies: to-regex-range "^5.0.1" find-up@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" integrity sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ== dependencies: locate-path "^2.0.0" find-up@^4.1.0: version "4.1.0" - resolved "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== dependencies: locate-path "^5.0.0" @@ -3302,7 +3309,7 @@ find-up@^5.0.0: flat-cache@^3.0.4: version "3.0.4" - resolved "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== dependencies: flatted "^3.1.0" @@ -3314,16 +3321,9 @@ flat@^5.0.0: integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== flatted@^3.1.0: - version "3.2.5" - resolved "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz" - integrity sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg== - -formdata-polyfill@^4.0.10: - version "4.0.10" - resolved "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz" - integrity sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g== - dependencies: - fetch-blob "^3.1.2" + version "3.2.6" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.6.tgz#022e9218c637f9f3fc9c35ab9c9193f05add60b2" + integrity sha512-0sQoMh9s0BYsm+12Huy/rkKxVu4R1+r96YX5cG44rHV0pQ6iC3Q+mkoMFaGWObMFYQxCVT+ssG1ksneA2MI9KQ== formik@^2.2.9: version "2.2.9" @@ -3371,7 +3371,7 @@ fs-minipass@^2.0.0: fs.realpath@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== fsevents@~2.3.2: @@ -3381,12 +3381,12 @@ fsevents@~2.3.2: function-bind@^1.1.1: version "1.1.1" - resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== function.prototype.name@^1.1.5: version "1.1.5" - resolved "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz" + resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.5.tgz#cce0505fe1ffb80503e6f9e46cc64e46a12a9621" integrity sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA== dependencies: call-bind "^1.0.2" @@ -3401,7 +3401,7 @@ functional-red-black-tree@^1.0.1: functions-have-names@^1.2.2: version "1.2.3" - resolved "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz" + resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== gensync@^1.0.0-beta.2: @@ -3410,13 +3410,13 @@ gensync@^1.0.0-beta.2: integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz" - integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== + version "1.1.2" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.2.tgz#336975123e05ad0b7ba41f152ee4aadbea6cf598" + integrity sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA== dependencies: function-bind "^1.1.1" has "^1.0.3" - has-symbols "^1.0.1" + has-symbols "^1.0.3" get-own-enumerable-property-symbols@^3.0.0: version "3.0.2" @@ -3425,7 +3425,7 @@ get-own-enumerable-property-symbols@^3.0.0: get-stdin@^8.0.0: version "8.0.0" - resolved "https://registry.npmjs.org/get-stdin/-/get-stdin-8.0.0.tgz" + resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-8.0.0.tgz#cbad6a73feb75f6eeb22ba9e01f89aa28aa97a53" integrity sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg== get-stream@^6.0.0: @@ -3435,7 +3435,7 @@ get-stream@^6.0.0: get-symbol-description@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== dependencies: call-bind "^1.0.2" @@ -3443,14 +3443,14 @@ get-symbol-description@^1.0.0: glob-parent@^5.1.2: version "5.1.2" - resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== dependencies: is-glob "^4.0.1" glob@7.1.7: version "7.1.7" - resolved "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90" integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== dependencies: fs.realpath "^1.0.0" @@ -3462,7 +3462,7 @@ glob@7.1.7: glob@^7.1.3, glob@^7.1.6, glob@^7.2.0: version "7.2.3" - resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== dependencies: fs.realpath "^1.0.0" @@ -3474,14 +3474,14 @@ glob@^7.1.3, glob@^7.1.6, glob@^7.2.0: global-modules@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-2.0.0.tgz#997605ad2345f27f51539bea26574421215c7780" integrity sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A== dependencies: global-prefix "^3.0.0" global-prefix@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-3.0.0.tgz#fc85f73064df69f50421f47f883fe5b913ba9b97" integrity sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg== dependencies: ini "^1.3.5" @@ -3514,7 +3514,7 @@ globby@^11.0.1, globby@^11.1.0: globjoin@^0.1.4: version "0.1.4" - resolved "https://registry.npmjs.org/globjoin/-/globjoin-0.1.4.tgz" + resolved "https://registry.yarnpkg.com/globjoin/-/globjoin-0.1.4.tgz#2f4494ac8919e3767c5cbb691e9f463324285d43" integrity sha512-xYfnw62CKG8nLkZBfWbhWwDw02CHty86jfPcc2cr3ZfeuK9ysoVPPEUxf21bAD/rWAgk52SuBrLJlefNy8mvFg== graceful-fs@^4.1.15: @@ -3529,46 +3529,46 @@ graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4: hard-rejection@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/hard-rejection/-/hard-rejection-2.1.0.tgz#1c6eda5c1685c63942766d79bb40ae773cecd883" integrity sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA== has-bigints@^1.0.1, has-bigints@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== has-flag@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== has-flag@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== has-property-descriptors@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz#610708600606d36961ed04c196193b6a607fa861" integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== dependencies: get-intrinsic "^1.1.1" has-symbols@^1.0.1, has-symbols@^1.0.2, has-symbols@^1.0.3: version "1.0.3" - resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== has-tostringtag@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== dependencies: has-symbols "^1.0.2" has@^1.0.3: version "1.0.3" - resolved "https://registry.npmjs.org/has/-/has-1.0.3.tgz" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== dependencies: function-bind "^1.1.1" @@ -3582,19 +3582,19 @@ hoist-non-react-statics@^3.3.0, hoist-non-react-statics@^3.3.2: hosted-git-info@^2.1.4: version "2.8.9" - resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== hosted-git-info@^4.0.1: version "4.1.0" - resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.1.0.tgz#827b82867e9ff1c8d0c4d9d53880397d2c86d224" integrity sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA== dependencies: lru-cache "^6.0.0" html-tags@^3.2.0: version "3.2.0" - resolved "https://registry.npmjs.org/html-tags/-/html-tags-3.2.0.tgz" + resolved "https://registry.yarnpkg.com/html-tags/-/html-tags-3.2.0.tgz#dbb3518d20b726524e4dd43de397eb0a95726961" integrity sha512-vy7ClnArOZwCnqZgvv+ddgHgJiAFXe3Ge9ML5/mBctVJoUoYPCdxVucOywjDARn6CVoh3dRSFdPHy2sX80L0Wg== human-signals@^2.1.0: @@ -3614,17 +3614,17 @@ ignore@^4.0.6: ignore@^5.2.0: version "5.2.0" - resolved "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a" integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== immer@^9.0.12: - version "9.0.14" - resolved "https://registry.npmjs.org/immer/-/immer-9.0.14.tgz" - integrity sha512-ubBeqQutOSLIFCUBN03jGeOS6a3DoYlSYwYJTa+gSKEZKU5redJIqkIdZ3JVv/4RZpfcXdAWH5zCNLWPRv2WDw== + version "9.0.15" + resolved "https://registry.yarnpkg.com/immer/-/immer-9.0.15.tgz#0b9169e5b1d22137aba7d43f8a81a495dd1b62dc" + integrity sha512-2eB/sswms9AEUSkOm4SbV5Y7Vmt/bKRwByd52jfLkW4OLYeaTP3EEiJ9agqU0O/tq6Dk62Zfj+TJSqfm1rLVGQ== import-fresh@^3.0.0, import-fresh@^3.2.1: version "3.3.0" - resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== dependencies: parent-module "^1.0.0" @@ -3632,22 +3632,22 @@ import-fresh@^3.0.0, import-fresh@^3.2.1: import-lazy@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-4.0.0.tgz#e8eb627483a0a43da3c03f3e35548be5cb0cc153" integrity sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw== imurmurhash@^0.1.4: version "0.1.4" - resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== indent-string@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== inflight@^1.0.4: version "1.0.6" - resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== dependencies: once "^1.3.0" @@ -3655,17 +3655,17 @@ inflight@^1.0.4: inherits@2: version "2.0.4" - resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== ini@^1.3.5: version "1.3.8" - resolved "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== internal-slot@^1.0.3: version "1.0.3" - resolved "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c" integrity sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA== dependencies: get-intrinsic "^1.1.0" @@ -3709,19 +3709,19 @@ ipaddr.js@^2.0.1: is-arrayish@^0.2.1: version "0.2.1" - resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== is-bigint@^1.0.1: version "1.0.4" - resolved "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz" + resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== dependencies: has-bigints "^1.0.1" is-boolean-object@^1.1.0: version "1.1.2" - resolved "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz" + resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== dependencies: call-bind "^1.0.2" @@ -3729,7 +3729,7 @@ is-boolean-object@^1.1.0: is-callable@^1.1.4, is-callable@^1.2.4: version "1.2.4" - resolved "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== is-ci@^3.0.1: @@ -3739,16 +3739,16 @@ is-ci@^3.0.1: dependencies: ci-info "^3.2.0" -is-core-module@^2.2.0, is-core-module@^2.5.0, is-core-module@^2.8.1: +is-core-module@^2.5.0, is-core-module@^2.8.1, is-core-module@^2.9.0: version "2.9.0" - resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.9.0.tgz#e1c34429cd51c6dd9e09e0799e396e27b19a9c69" integrity sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A== dependencies: has "^1.0.3" is-date-object@^1.0.1: version "1.0.5" - resolved "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== dependencies: has-tostringtag "^1.0.0" @@ -3760,17 +3760,17 @@ is-docker@^3.0.0: is-extglob@^2.1.1: version "2.1.1" - resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== is-fullwidth-code-point@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3: version "4.0.3" - resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== dependencies: is-extglob "^2.1.1" @@ -3782,19 +3782,19 @@ is-localhost-ip@^1.4.0: is-negative-zero@^2.0.2: version "2.0.2" - resolved "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz" + resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== is-number-object@^1.0.4: version "1.0.7" - resolved "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz" + resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc" integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== dependencies: has-tostringtag "^1.0.0" is-number@^7.0.0: version "7.0.0" - resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== is-obj@^1.0.1: @@ -3814,7 +3814,7 @@ is-path-inside@^3.0.2: is-plain-obj@^1.1.0: version "1.1.0" - resolved "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" integrity sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg== is-plain-obj@^2.0.0: @@ -3824,12 +3824,12 @@ is-plain-obj@^2.0.0: is-plain-object@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-5.0.0.tgz#4427f50ab3429e9025ea7d52e9043a9ef4159344" integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q== is-regex@^1.1.4: version "1.1.4" - resolved "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== dependencies: call-bind "^1.0.2" @@ -3842,12 +3842,12 @@ is-regexp@^1.0.0: is-regexp@^2.0.0: version "2.1.0" - resolved "https://registry.npmjs.org/is-regexp/-/is-regexp-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-2.1.0.tgz#cd734a56864e23b956bf4e7c66c396a4c0b22c2d" integrity sha512-OZ4IlER3zmRIoB9AqNhEggVxqIH4ofDns5nRrPS6yQxXE1TPCUpFznBfRQmQa8uC+pXqjMnukiJBxCisIxiLGA== is-shared-array-buffer@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79" integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== dependencies: call-bind "^1.0.2" @@ -3859,14 +3859,14 @@ is-stream@^2.0.0: is-string@^1.0.5, is-string@^1.0.7: version "1.0.7" - resolved "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz" + resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== dependencies: has-tostringtag "^1.0.0" is-symbol@^1.0.2, is-symbol@^1.0.3: version "1.0.4" - resolved "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== dependencies: has-symbols "^1.0.2" @@ -3878,7 +3878,7 @@ is-typedarray@^1.0.0: is-weakref@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== dependencies: call-bind "^1.0.2" @@ -3895,7 +3895,7 @@ isbot@^3.4.5: isexe@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== jest-worker@^26.2.1: @@ -3916,7 +3916,7 @@ jose@2.0.5: "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== js-yaml@^3.13.1: @@ -3944,7 +3944,7 @@ json-parse-better-errors@^1.0.1: json-parse-even-better-errors@^2.3.0: version "2.3.1" - resolved "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz" + resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== json-schema-traverse@^0.4.1: @@ -3954,7 +3954,7 @@ json-schema-traverse@^0.4.1: json-schema-traverse@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== json-stable-stringify-without-jsonify@^1.0.1: @@ -3971,7 +3971,7 @@ json-stable-stringify@^1.0.1: json5@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== dependencies: minimist "^1.2.0" @@ -3997,17 +3997,17 @@ jsonify@~0.0.0: resolved "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz" integrity sha512-trvBk1ki43VZptdBI5rIlG4YOzyeH/WefQt5rj1grasPn4iiZWKet8nkgc4GlsAylaztn0qZfUYOiTsASJFdNA== -"jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.2.1: - version "3.3.0" - resolved "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.0.tgz" - integrity sha512-XzO9luP6L0xkxwhIJMTJQpZo/eeN60K08jHdexfD569AGxeNug6UketeHXEhROoM8aR7EcUoOQmIhcJQjcuq8Q== +"jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.3.1: + 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== dependencies: - array-includes "^3.1.4" + array-includes "^3.1.5" object.assign "^4.1.2" kind-of@^6.0.2, kind-of@^6.0.3: version "6.0.3" - resolved "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== kleur@^3.0.3: @@ -4017,17 +4017,17 @@ kleur@^3.0.3: known-css-properties@^0.25.0: version "0.25.0" - resolved "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.25.0.tgz" + resolved "https://registry.yarnpkg.com/known-css-properties/-/known-css-properties-0.25.0.tgz#6ebc4d4b412f602e5cfbeb4086bd544e34c0a776" integrity sha512-b0/9J1O9Jcyik1GC6KC42hJ41jKwdO/Mq8Mdo5sYN+IuRTXs2YFHZC3kZSx6ueusqa95x3wLYe/ytKjbAfGixA== language-subtag-registry@~0.3.2: - version "0.3.21" - resolved "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.21.tgz" - integrity sha512-L0IqwlIXjilBVVYKFT37X9Ih11Um5NEl9cbJIuU/SwP/zEEAbBPOnEeeuxVMf45ydWQRDQN3Nqc96OgbH1K+Pg== + version "0.3.22" + resolved "https://registry.yarnpkg.com/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz#2e1500861b2e457eba7e7ae86877cbd08fa1fd1d" + integrity sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w== language-tags@^1.0.5: version "1.0.5" - resolved "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz" + resolved "https://registry.yarnpkg.com/language-tags/-/language-tags-1.0.5.tgz#d321dbc4da30ba8bf3024e040fa5c14661f9193a" integrity sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ== dependencies: language-subtag-registry "~0.3.2" @@ -4042,7 +4042,7 @@ levn@^0.4.1: lines-and-columns@^1.1.6: version "1.2.4" - resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== lint-staged@^11.0.0: @@ -4101,7 +4101,7 @@ load-json-file@^6.2.0: locate-path@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" integrity sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA== dependencies: p-locate "^2.0.0" @@ -4109,7 +4109,7 @@ locate-path@^2.0.0: locate-path@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== dependencies: p-locate "^4.1.0" @@ -4148,7 +4148,7 @@ lodash.pick@^4.4.0: lodash.truncate@^4.4.2: version "4.4.2" - resolved "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz" + resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" integrity sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw== lodash@^4.17.21: @@ -4168,7 +4168,7 @@ log-update@^4.0.0: loose-envify@^1.1.0, loose-envify@^1.4.0: version "1.4.0" - resolved "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== dependencies: js-tokens "^3.0.0 || ^4.0.0" @@ -4183,7 +4183,7 @@ loud-rejection@^2.2.0: lru-cache@^6.0.0: version "6.0.0" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== dependencies: yallist "^4.0.0" @@ -4204,17 +4204,17 @@ make-dir@^3.0.0: map-obj@^1.0.0: version "1.0.1" - resolved "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" integrity sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg== map-obj@^4.0.0: version "4.3.0" - resolved "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz" + resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.3.0.tgz#9304f906e93faae70880da102a9f1df0ea8bb05a" integrity sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ== mathml-tag-names@^2.1.3: version "2.1.3" - resolved "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz" + resolved "https://registry.yarnpkg.com/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz#4ddadd67308e780cf16a47685878ee27b736a0a3" integrity sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg== maxmind@^4.3.6: @@ -4259,7 +4259,7 @@ meow@^6.1.0: meow@^9.0.0: version "9.0.0" - resolved "https://registry.npmjs.org/meow/-/meow-9.0.0.tgz" + resolved "https://registry.yarnpkg.com/meow/-/meow-9.0.0.tgz#cd9510bc5cac9dee7d03c73ee1f9ad959f4ea364" integrity sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ== dependencies: "@types/minimist" "^1.2.0" @@ -4282,12 +4282,12 @@ merge-stream@^2.0.0: merge2@^1.3.0, merge2@^1.4.1: version "1.4.1" - resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== micromatch@^4.0.4, micromatch@^4.0.5: version "4.0.5" - resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== dependencies: braces "^3.0.2" @@ -4300,12 +4300,12 @@ mimic-fn@^2.1.0: min-indent@^1.0.0: version "1.0.1" - resolved "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== minimatch@^3.0.4, minimatch@^3.1.1, minimatch@^3.1.2: version "3.1.2" - resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== dependencies: brace-expansion "^1.1.7" @@ -4363,17 +4363,17 @@ moment-timezone@^0.5.33: ms@2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== ms@2.1.2: version "2.1.2" - resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== ms@^2.1.1: version "2.1.3" - resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== nanoid@^3.1.30: @@ -4383,7 +4383,7 @@ nanoid@^3.1.30: nanoid@^3.3.1, nanoid@^3.3.4: version "3.3.4" - resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab" integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw== natural-compare@^1.4.0: @@ -4422,20 +4422,6 @@ nice-try@^1.0.4: resolved "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz" integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== -node-domexception@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz" - integrity sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ== - -node-fetch@^3.2.3: - version "3.2.5" - resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-3.2.5.tgz" - integrity sha512-u7zCHdJp8JXBwF09mMfo2CL6kp37TslDl1KP3hRGTlCInBtag+UO3LGVy+NF0VzvnL3PVMpA2hXh1EtECFnyhQ== - dependencies: - data-uri-to-buffer "^4.0.0" - fetch-blob "^3.1.4" - formdata-polyfill "^4.0.10" - node-releases@^2.0.2, node-releases@^2.0.3, node-releases@^2.0.5: version "2.0.5" resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.5.tgz" @@ -4453,7 +4439,7 @@ normalize-package-data@^2.3.2, normalize-package-data@^2.5.0: normalize-package-data@^3.0.0: version "3.0.3" - resolved "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-3.0.3.tgz#dbcc3e2da59509a0983422884cd172eefdfa525e" integrity sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA== dependencies: hosted-git-info "^4.0.1" @@ -4463,7 +4449,7 @@ normalize-package-data@^3.0.0: normalize-path@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== normalize-range@^0.1.2: @@ -4507,17 +4493,17 @@ object-assign@^4, object-assign@^4.1.1: object-inspect@^1.12.0, object-inspect@^1.9.0: version "1.12.2" - resolved "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.2.tgz#c0641f26394532f28ab8d796ab954e43c009a8ea" integrity sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ== object-keys@^1.1.1: version "1.1.1" - resolved "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== object.assign@^4.1.0, object.assign@^4.1.2: version "4.1.2" - resolved "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== dependencies: call-bind "^1.0.0" @@ -4527,7 +4513,7 @@ object.assign@^4.1.0, object.assign@^4.1.2: object.entries@^1.1.5: version "1.1.5" - resolved "https://registry.npmjs.org/object.entries/-/object.entries-1.1.5.tgz" + resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.5.tgz#e1acdd17c4de2cd96d5a08487cfb9db84d881861" integrity sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g== dependencies: call-bind "^1.0.2" @@ -4536,7 +4522,7 @@ object.entries@^1.1.5: object.fromentries@^2.0.5: version "2.0.5" - resolved "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.5.tgz" + resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.5.tgz#7b37b205109c21e741e605727fe8b0ad5fa08251" integrity sha512-CAyG5mWQRRiBU57Re4FKoTBjXfDoNwdFVH2Y1tS9PqCsfUTymAohOkEMSG3aRNKmv4lV3O7p1et7c187q6bynw== dependencies: call-bind "^1.0.2" @@ -4545,7 +4531,7 @@ object.fromentries@^2.0.5: object.hasown@^1.1.1: version "1.1.1" - resolved "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.1.tgz" + resolved "https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.1.1.tgz#ad1eecc60d03f49460600430d97f23882cf592a3" integrity sha512-LYLe4tivNQzq4JdaWW6WO3HMZZJWzkkH8fnI6EebWl0VZth2wL2Lovm74ep2/gZzlaTdV62JZHEqHQ2yVn8Q/A== dependencies: define-properties "^1.1.4" @@ -4553,7 +4539,7 @@ object.hasown@^1.1.1: object.values@^1.1.5: version "1.1.5" - resolved "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.5.tgz#959f63e3ce9ef108720333082131e4a459b716ac" integrity sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg== dependencies: call-bind "^1.0.2" @@ -4562,7 +4548,7 @@ object.values@^1.1.5: once@^1.3.0: version "1.4.0" - resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== dependencies: wrappy "1" @@ -4588,14 +4574,14 @@ optionator@^0.9.1: p-limit@^1.1.0: version "1.3.0" - resolved "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz" + 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.2.0: version "2.3.0" - resolved "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== dependencies: p-try "^2.0.0" @@ -4609,14 +4595,14 @@ p-limit@^3.0.2: p-locate@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" integrity sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg== dependencies: p-limit "^1.1.0" p-locate@^4.1.0: version "4.1.0" - resolved "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== dependencies: p-limit "^2.2.0" @@ -4637,17 +4623,17 @@ p-map@^4.0.0: p-try@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" integrity sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww== p-try@^2.0.0: version "2.2.0" - resolved "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== parent-module@^1.0.0: version "1.0.1" - resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== dependencies: callsites "^3.0.0" @@ -4662,7 +4648,7 @@ parse-json@^4.0.0: parse-json@^5.0.0: version "5.2.0" - resolved "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== dependencies: "@babel/code-frame" "^7.0.0" @@ -4672,17 +4658,17 @@ parse-json@^5.0.0: path-exists@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" integrity sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ== path-exists@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== path-is-absolute@^1.0.0: version "1.0.1" - resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== path-key@^2.0.1: @@ -4695,9 +4681,9 @@ path-key@^3.0.0, path-key@^3.1.0: resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" 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.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== path-type@^3.0.0: @@ -4709,17 +4695,17 @@ path-type@^3.0.0: path-type@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== picocolors@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== picomatch@^2.2.2, picomatch@^2.3.1: version "2.3.1" - resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== pidtree@^0.3.0: @@ -4895,8 +4881,8 @@ postcss-media-minmax@^5.0.0: postcss-media-query-parser@^0.2.3: version "0.2.3" - resolved "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz" - integrity sha1-J7Ocb02U+Bsac7j3Y1HGCeXO8kQ= + resolved "https://registry.yarnpkg.com/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz#27b39c6f4d94f81b1a73b8f76351c609e5cef244" + integrity sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig== postcss-nesting@^10.1.3: version "10.1.8" @@ -4991,8 +4977,8 @@ postcss-replace-overflow-wrap@^4.0.0: postcss-resolve-nested-selector@^0.1.1: version "0.1.1" - resolved "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz" - integrity sha1-Kcy8fDfe36wwTp//C/FZaz9qDk4= + resolved "https://registry.yarnpkg.com/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz#29ccbc7c37dedfac304e9fff0bf1596b3f6a0e4e" + integrity sha512-HvExULSwLqHLgUy1rl3ANIqCsvMS0WHss2UOsXhXnQaZ9VCc2oBvIpXrl00IUFT5ZDITME0o6oiXeiHr2SAIfw== postcss-rtlcss@^3.6.1: version "3.6.3" @@ -5003,7 +4989,7 @@ postcss-rtlcss@^3.6.1: postcss-safe-parser@^6.0.0: version "6.0.0" - resolved "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-6.0.0.tgz" + resolved "https://registry.yarnpkg.com/postcss-safe-parser/-/postcss-safe-parser-6.0.0.tgz#bb4c29894171a94bc5c996b9a30317ef402adaa1" integrity sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ== postcss-selector-not@^5.0.0: @@ -5060,15 +5046,15 @@ prelude-ls@^1.2.1: prettier-linter-helpers@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz#d23d41fe1375646de2d0104d3454a3008802cf7b" integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w== dependencies: fast-diff "^1.1.2" prettier@^2.6.2: - version "2.6.2" - resolved "https://registry.npmjs.org/prettier/-/prettier-2.6.2.tgz" - integrity sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew== + version "2.7.1" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.7.1.tgz#e235806850d057f97bb08368a4f7d899f7760c64" + integrity sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g== prisma@4.0.0: version "4.0.0" @@ -5101,17 +5087,17 @@ prop-types@^15.7.2, prop-types@^15.8.1: punycode@^2.1.0: version "2.1.1" - resolved "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== queue-microtask@^1.2.2: version "1.2.3" - resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" + resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== quick-lru@^4.0.1: version "4.0.1" - resolved "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz" + resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f" integrity sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g== randombytes@^2.1.0: @@ -5167,16 +5153,16 @@ react-simple-maps@^2.3.0: topojson-client "^3.1.0" react-spring@^9.4.4: - version "9.4.5" - resolved "https://registry.npmjs.org/react-spring/-/react-spring-9.4.5.tgz" - integrity sha512-FRIXQGR+jG+Fx4UcqhF0b5jMEU3Q5QcZ8rEVWKqZgrrn92C1HcqtuZy7dH+rZ6uNGjnlV7HBf8iprJaJ+350LA== + version "9.5.0" + resolved "https://registry.yarnpkg.com/react-spring/-/react-spring-9.5.0.tgz#59f894332a98da5714c9c6a139bb26ffb5058454" + integrity sha512-7zdiTrSOQXYB2B/7HT6ehbdBFt5aGCQuSmJzqbbbUyv9LiSH4DIE8PLBS1W0jW1684GwXF7NCdnETE+Ay7jBxQ== dependencies: - "@react-spring/core" "~9.4.5" - "@react-spring/konva" "~9.4.5" - "@react-spring/native" "~9.4.5" - "@react-spring/three" "~9.4.5" - "@react-spring/web" "~9.4.5" - "@react-spring/zdog" "~9.4.5" + "@react-spring/core" "~9.5.0" + "@react-spring/konva" "~9.5.0" + "@react-spring/native" "~9.5.0" + "@react-spring/three" "~9.5.0" + "@react-spring/web" "~9.5.0" + "@react-spring/zdog" "~9.5.0" react-tooltip@^4.2.21: version "4.2.21" @@ -5226,7 +5212,7 @@ read-cache@^1.0.0: read-pkg-up@^7.0.1: version "7.0.1" - resolved "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== dependencies: find-up "^4.1.0" @@ -5244,7 +5230,7 @@ read-pkg@^3.0.0: read-pkg@^5.2.0: version "5.2.0" - resolved "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== dependencies: "@types/normalize-package-data" "^2.4.0" @@ -5254,7 +5240,7 @@ read-pkg@^5.2.0: redent@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/redent/-/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f" integrity sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg== dependencies: indent-string "^4.0.0" @@ -5281,7 +5267,7 @@ regenerate@^1.4.0, regenerate@^1.4.2: regenerator-runtime@^0.13.4: version "0.13.9" - resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52" integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA== regenerator-transform@^0.14.2: @@ -5293,7 +5279,7 @@ regenerator-transform@^0.14.2: regexp.prototype.flags@^1.4.1, regexp.prototype.flags@^1.4.3: version "1.4.3" - resolved "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz#87cab30f80f66660181a3bb7bf5981a872b367ac" integrity sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA== dependencies: call-bind "^1.0.2" @@ -5362,20 +5348,20 @@ request-ip@^2.1.3: require-from-string@^2.0.2: version "2.0.2" - resolved "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz" + resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== resolve-from@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== resolve-from@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== -resolve@^1.1.7, resolve@^1.10.0, resolve@^1.14.2, resolve@^1.20.0, resolve@^1.22.0: +resolve@^1.1.7, resolve@^1.14.2: version "1.22.0" resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz" integrity sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw== @@ -5384,13 +5370,23 @@ resolve@^1.1.7, resolve@^1.10.0, resolve@^1.14.2, resolve@^1.20.0, resolve@^1.22 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.npmjs.org/resolve/-/resolve-2.0.0-next.3.tgz" - integrity sha512-W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q== +resolve@^1.10.0, resolve@^1.20.0, resolve@^1.22.0: + 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.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" + +resolve@^2.0.0-next.3: + 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.9.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" restore-cursor@^3.1.0: version "3.1.0" @@ -5402,7 +5398,7 @@ restore-cursor@^3.1.0: reusify@^1.0.4: version "1.0.4" - resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" + resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== rfdc@^1.3.0: @@ -5412,7 +5408,7 @@ rfdc@^1.3.0: rimraf@^3.0.2: version "3.0.2" - resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== dependencies: glob "^7.1.3" @@ -5428,9 +5424,9 @@ rollup-plugin-terser@^7.0.2: terser "^5.0.0" rollup@^2.70.1: - version "2.75.5" - resolved "https://registry.npmjs.org/rollup/-/rollup-2.75.5.tgz" - integrity sha512-JzNlJZDison3o2mOxVmb44Oz7t74EfSd1SQrplQk0wSaXV7uLQXtVdHbxlcT3w+8tZ1TL4r/eLfc7nAbz38BBA== + version "2.77.0" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.77.0.tgz#749eaa5ac09b6baa52acc076bc46613eddfd53f4" + integrity sha512-vL8xjY4yOQEw79DvyXLijhnhh+R/O9zpF/LEgkCebZFtb6ELeN9H3/2T0r8+mp+fFTBHZ5qGpOpW2ela2zRt3g== optionalDependencies: fsevents "~2.3.2" @@ -5446,7 +5442,7 @@ rtlcss@^3.5.0: run-parallel@^1.1.9: version "1.2.0" - resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" + resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== dependencies: queue-microtask "^1.2.2" @@ -5512,7 +5508,7 @@ semver@7.0.0: semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.3.0: version "6.3.0" - resolved "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== semver@^7.2.1: @@ -5567,7 +5563,7 @@ shell-quote@^1.6.1: side-channel@^1.0.4: version "1.0.4" - resolved "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== dependencies: call-bind "^1.0.0" @@ -5586,7 +5582,7 @@ sisteransi@^1.0.5: slash@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== slice-ansi@^3.0.0: @@ -5600,7 +5596,7 @@ slice-ansi@^3.0.0: slice-ansi@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== dependencies: ansi-styles "^4.0.0" @@ -5649,7 +5645,7 @@ sourcemap-codec@^1.4.8: spdx-correct@^3.0.0: version "3.1.1" - resolved "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== dependencies: spdx-expression-parse "^3.0.0" @@ -5657,12 +5653,12 @@ spdx-correct@^3.0.0: spdx-exceptions@^2.1.0: version "2.3.0" - resolved "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz" + resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== spdx-expression-parse@^3.0.0: version "3.0.1" - resolved "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz" + resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== dependencies: spdx-exceptions "^2.1.0" @@ -5670,14 +5666,9 @@ spdx-expression-parse@^3.0.0: spdx-license-ids@^3.0.0: version "3.0.11" - resolved "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz#50c0d8c40a14ec1bf449bae69a0ea4685a9d9f95" integrity sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g== -specificity@^0.4.1: - version "0.4.1" - resolved "https://registry.npmjs.org/specificity/-/specificity-0.4.1.tgz" - integrity sha512-1klA3Gi5PD1Wv9Q0wUoOQN1IWAuPu0D1U03ThXTr0cJ20+/iq2tHSDnK7Kk/0LXJ1ztUB2/1Os0wKmfyNgUQfg== - sprintf-js@~1.0.2: version "1.0.3" resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" @@ -5695,7 +5686,7 @@ string-argv@0.3.1: string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: version "4.2.3" - resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== dependencies: emoji-regex "^8.0.0" @@ -5704,7 +5695,7 @@ string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: string.prototype.matchall@^4.0.7: version "4.0.7" - resolved "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.7.tgz" + resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.7.tgz#8e6ecb0d8a1fb1fda470d81acecb2dba057a481d" integrity sha512-f48okCX7JiwVi1NXCVWcFnZgADDC/n2vePlQ/KUCNqCikLLilQvwjMO8+BHVKvgzH0JB0J9LEPgxOGT02RoETg== dependencies: call-bind "^1.0.2" @@ -5727,7 +5718,7 @@ string.prototype.padend@^3.0.0: string.prototype.trimend@^1.0.5: version "1.0.5" - resolved "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz#914a65baaab25fbdd4ee291ca7dde57e869cb8d0" integrity sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog== dependencies: call-bind "^1.0.2" @@ -5736,7 +5727,7 @@ string.prototype.trimend@^1.0.5: string.prototype.trimstart@^1.0.5: version "1.0.5" - resolved "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz#5466d93ba58cfa2134839f81d7f42437e8c01fef" integrity sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg== dependencies: call-bind "^1.0.2" @@ -5761,8 +5752,8 @@ strip-ansi@^6.0.0, strip-ansi@^6.0.1: strip-bom@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz" - integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== strip-bom@^4.0.0: version "4.0.0" @@ -5776,7 +5767,7 @@ strip-final-newline@^2.0.0: strip-indent@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== dependencies: min-indent "^1.0.0" @@ -5788,8 +5779,8 @@ strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: style-search@^0.1.0: version "0.1.0" - resolved "https://registry.npmjs.org/style-search/-/style-search-0.1.0.tgz" - integrity sha1-eVjHk+R+MuB9K1yv5cC/jhLneQI= + resolved "https://registry.yarnpkg.com/style-search/-/style-search-0.1.0.tgz#7958c793e47e32e07d2b5cafe5c0bf8e12e77902" + integrity sha512-Dj1Okke1C3uKKwQcetra4jSuk0DqbzbYtXipzFlFMZtowbF1x7BKJwB9AayVMyFARvU8EDrZdcax4At/452cAg== styled-jsx@5.0.2: version "5.0.2" @@ -5825,14 +5816,15 @@ stylelint-scss@^4.2.0: postcss-value-parser "^4.1.0" stylelint@^14.5.3: - version "14.8.5" - resolved "https://registry.npmjs.org/stylelint/-/stylelint-14.8.5.tgz" - integrity sha512-e3t4H/hlWlspkcNUrkhf44RU3OpPTA7uBOoREGBzSwdEF+2g/+gbZq7WEpMP7BpopcSe/uLaTvDuL+URL7cdnQ== + version "14.9.1" + resolved "https://registry.yarnpkg.com/stylelint/-/stylelint-14.9.1.tgz#6494ed38f148b1e75b402d678a3b6a8aae86dfda" + integrity sha512-RdAkJdPiLqHawCSnu21nE27MjNXaVd4WcOHA4vK5GtIGjScfhNnaOuWR2wWdfKFAvcWQPOYe311iveiVKSmwsA== dependencies: + "@csstools/selector-specificity" "^2.0.1" balanced-match "^2.0.0" colord "^2.9.2" cosmiconfig "^7.0.1" - css-functions-list "^3.0.1" + css-functions-list "^3.1.0" debug "^4.3.4" execall "^2.0.0" fast-glob "^3.2.11" @@ -5860,7 +5852,6 @@ stylelint@^14.5.3: postcss-selector-parser "^6.0.10" postcss-value-parser "^4.2.0" resolve-from "^5.0.0" - specificity "^0.4.1" string-width "^4.2.3" strip-ansi "^6.0.1" style-search "^0.1.0" @@ -5879,7 +5870,7 @@ supports-color@8.1.1: supports-color@^5.3.0: version "5.5.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== dependencies: has-flag "^3.0.0" @@ -5893,7 +5884,7 @@ supports-color@^7.0.0, supports-color@^7.1.0: supports-hyperlinks@^2.2.0: version "2.2.0" - resolved "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz" + resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz#4f77b42488765891774b70c79babd87f9bd594bb" integrity sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ== dependencies: has-flag "^4.0.0" @@ -5901,7 +5892,7 @@ supports-hyperlinks@^2.2.0: supports-preserve-symlinks-flag@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== svg-parser@^2.0.2: @@ -5911,8 +5902,8 @@ svg-parser@^2.0.2: svg-tags@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz" - integrity sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q= + resolved "https://registry.yarnpkg.com/svg-tags/-/svg-tags-1.0.0.tgz#58f71cee3bd519b59d4b2a843b6c7de64ac04764" + integrity sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA== svgo@^2.5.0: version "2.8.0" @@ -5999,7 +5990,7 @@ to-fast-properties@^2.0.0: to-regex-range@^5.0.1: version "5.0.1" - resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== dependencies: is-number "^7.0.0" @@ -6013,12 +6004,12 @@ topojson-client@^3.1.0: trim-newlines@^3.0.0: version "3.0.1" - resolved "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz" + resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.1.tgz#260a5d962d8b752425b32f3a7db0dcacd176c144" integrity sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw== tsconfig-paths@^3.14.1: version "3.14.1" - resolved "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz" + resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz#ba0734599e8ea36c862798e920bcf163277b137a" integrity sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ== dependencies: "@types/json5" "^0.0.29" @@ -6038,7 +6029,7 @@ tslib@^2.0.1, tslib@^2.1.0, tslib@^2.4.0: tsutils@^3.21.0: version "3.21.0" - resolved "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz" + resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== dependencies: tslib "^1.8.1" @@ -6057,7 +6048,7 @@ type-fest@^0.13.1: type-fest@^0.18.0: version "0.18.1" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.18.1.tgz#db4bc151a4a2cf4eebf9add5db75508db6cc841f" integrity sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw== type-fest@^0.20.2: @@ -6072,12 +6063,12 @@ type-fest@^0.21.3: type-fest@^0.6.0: version "0.6.0" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== type-fest@^0.8.1: version "0.8.1" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== typedarray-to-buffer@^3.1.5: @@ -6099,7 +6090,7 @@ typescript@^4.5: unbox-primitive@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== dependencies: call-bind "^1.0.2" @@ -6160,7 +6151,7 @@ universalify@^2.0.0: uri-js@^4.2.2: version "4.4.1" - resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== dependencies: punycode "^2.1.0" @@ -6172,8 +6163,8 @@ use-sync-external-store@1.1.0: util-deprecate@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" - integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== uuid@^7.0.3: version "7.0.3" @@ -6192,7 +6183,7 @@ v8-compile-cache@^2.0.3, v8-compile-cache@^2.3.0: validate-npm-package-license@^3.0.1: version "3.0.4" - resolved "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz" + resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== dependencies: spdx-correct "^3.0.0" @@ -6214,14 +6205,9 @@ vue@^3.2.23: "@vue/server-renderer" "3.2.36" "@vue/shared" "3.2.36" -web-streams-polyfill@^3.0.3: - version "3.2.1" - resolved "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz" - integrity sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q== - which-boxed-primitive@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== dependencies: is-bigint "^1.0.1" @@ -6269,8 +6255,8 @@ wrap-ansi@^7.0.0: wrappy@1: version "1.0.2" - resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" - integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== write-file-atomic@^3.0.0: version "3.0.3" @@ -6284,7 +6270,7 @@ write-file-atomic@^3.0.0: write-file-atomic@^4.0.1: version "4.0.1" - resolved "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.1.tgz" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-4.0.1.tgz#9faa33a964c1c85ff6f849b80b42a88c2c537c8f" integrity sha512-nSKUxgAbyioruk6hU87QzVbY279oYT6uiwgDoujth2ju4mJ+TZau7SQBhtbTmUyuNYTuXnSyRn66FV0+eCgcrQ== dependencies: imurmurhash "^0.1.4" @@ -6304,12 +6290,12 @@ write-json-file@^4.3.0: yallist@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== yaml@^1.10.0: version "1.10.2" - resolved "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== yargs-parser@^18.1.3: @@ -6322,7 +6308,7 @@ yargs-parser@^18.1.3: yargs-parser@^20.2.3: version "20.2.9" - resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== yocto-queue@^0.1.0: From a6a53894674d982134230ae1c855e3810a05c101 Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Sat, 16 Jul 2022 22:28:05 -0700 Subject: [PATCH 10/35] Added missing package. --- package.json | 1 + yarn.lock | 39 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+) diff --git a/package.json b/package.json index f1a3993b..45389929 100644 --- a/package.json +++ b/package.json @@ -80,6 +80,7 @@ "maxmind": "^4.3.6", "moment-timezone": "^0.5.33", "next": "^12.2.0", + "node-fetch": "^3.2.8", "npm-run-all": "^4.1.5", "prop-types": "^15.7.2", "react": "^17.0.0", diff --git a/yarn.lock b/yarn.lock index 215ab75d..5408ea58 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2670,6 +2670,11 @@ damerau-levenshtein@^1.0.8: resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz#b43d286ccbd36bc5b2f7ed41caf2d0aba1f8a6e7" integrity sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA== +data-uri-to-buffer@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-4.0.0.tgz#b5db46aea50f6176428ac05b73be39a57701a64b" + integrity sha512-Vr3mLBA8qWmcuschSLAOogKgQ/Jwxulv3RNE4FXnYWRGujzrRWQI4m12fQqRkwX06C0KanhLr4hK+GydchZsaA== + date-fns-tz@^1.1.4: version "1.3.6" resolved "https://registry.yarnpkg.com/date-fns-tz/-/date-fns-tz-1.3.6.tgz#4195a58a2f86eda55ea69fb477f3ed8a6e2188ac" @@ -3270,6 +3275,14 @@ fastq@^1.6.0: dependencies: reusify "^1.0.4" +fetch-blob@^3.1.2, fetch-blob@^3.1.4: + version "3.2.0" + resolved "https://registry.yarnpkg.com/fetch-blob/-/fetch-blob-3.2.0.tgz#f09b8d4bbd45adc6f0c20b7e787e793e309dcce9" + integrity sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ== + dependencies: + node-domexception "^1.0.0" + web-streams-polyfill "^3.0.3" + file-entry-cache@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" @@ -3325,6 +3338,13 @@ flatted@^3.1.0: resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.6.tgz#022e9218c637f9f3fc9c35ab9c9193f05add60b2" integrity sha512-0sQoMh9s0BYsm+12Huy/rkKxVu4R1+r96YX5cG44rHV0pQ6iC3Q+mkoMFaGWObMFYQxCVT+ssG1ksneA2MI9KQ== +formdata-polyfill@^4.0.10: + version "4.0.10" + resolved "https://registry.yarnpkg.com/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz#24807c31c9d402e002ab3d8c720144ceb8848423" + integrity sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g== + dependencies: + fetch-blob "^3.1.2" + formik@^2.2.9: version "2.2.9" resolved "https://registry.npmjs.org/formik/-/formik-2.2.9.tgz" @@ -4422,6 +4442,20 @@ nice-try@^1.0.4: resolved "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz" integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== +node-domexception@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/node-domexception/-/node-domexception-1.0.0.tgz#6888db46a1f71c0b76b3f7555016b63fe64766e5" + integrity sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ== + +node-fetch@^3.2.8: + version "3.2.8" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-3.2.8.tgz#0d9516dcf43a758d78d6dbe538adf0b1f6a4944e" + integrity sha512-KtpD1YhGszhntMpBDyp5lyagk8KIMopC1LEb7cQUAh7zcosaX5uK8HnbNb2i3NTQK3sIawCItS0uFC3QzcLHdg== + dependencies: + data-uri-to-buffer "^4.0.0" + fetch-blob "^3.1.4" + formdata-polyfill "^4.0.10" + node-releases@^2.0.2, node-releases@^2.0.3, node-releases@^2.0.5: version "2.0.5" resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.5.tgz" @@ -6205,6 +6239,11 @@ vue@^3.2.23: "@vue/server-renderer" "3.2.36" "@vue/shared" "3.2.36" +web-streams-polyfill@^3.0.3: + version "3.2.1" + resolved "https://registry.yarnpkg.com/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz#71c2718c52b45fd49dbeee88634b3a60ceab42a6" + integrity sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q== + which-boxed-primitive@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" From 19d971d9b2f4ff7f351c6405deaa840bfd192701 Mon Sep 17 00:00:00 2001 From: liaohongxing <35255844+liaohongxing@users.noreply.github.com> Date: Mon, 18 Jul 2022 14:12:20 +0800 Subject: [PATCH 11/35] Update zh-CN.json --- lang/zh-CN.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lang/zh-CN.json b/lang/zh-CN.json index 4d787519..506c99b8 100644 --- a/lang/zh-CN.json +++ b/lang/zh-CN.json @@ -99,7 +99,7 @@ "metrics.filter.combined": "总和", "metrics.filter.domain-only": "只看域名", "metrics.filter.raw": "原始", - "metrics.languages": "Languages", + "metrics.languages": "语言", "metrics.operating-systems": "操作系统", "metrics.page-views": "页面浏览量", "metrics.pages": "网页", From c8f7220f4c610b154a9b80f095b6bc9e1be35054 Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Mon, 18 Jul 2022 00:39:53 -0700 Subject: [PATCH 12/35] Updated language bundles. --- public/intl/messages/de-DE.json | 6 ++++++ public/intl/messages/en-GB.json | 6 ++++++ public/intl/messages/en-US.json | 6 ++++++ public/intl/messages/tr-TR.json | 6 ++++++ public/intl/messages/zh-CN.json | 2 +- 5 files changed, 25 insertions(+), 1 deletion(-) diff --git a/public/intl/messages/de-DE.json b/public/intl/messages/de-DE.json index 7e4f6cfc..f1b5375e 100644 --- a/public/intl/messages/de-DE.json +++ b/public/intl/messages/de-DE.json @@ -773,6 +773,12 @@ "value": "Referrer" } ], + "metrics.screens": [ + { + "type": 0, + "value": "Bildschirmauflösungen" + } + ], "metrics.unique-visitors": [ { "type": 0, diff --git a/public/intl/messages/en-GB.json b/public/intl/messages/en-GB.json index 29797a45..0d9d0e66 100644 --- a/public/intl/messages/en-GB.json +++ b/public/intl/messages/en-GB.json @@ -773,6 +773,12 @@ "value": "Referrers" } ], + "metrics.screens": [ + { + "type": 0, + "value": "Screens" + } + ], "metrics.unique-visitors": [ { "type": 0, diff --git a/public/intl/messages/en-US.json b/public/intl/messages/en-US.json index 29797a45..0d9d0e66 100644 --- a/public/intl/messages/en-US.json +++ b/public/intl/messages/en-US.json @@ -773,6 +773,12 @@ "value": "Referrers" } ], + "metrics.screens": [ + { + "type": 0, + "value": "Screens" + } + ], "metrics.unique-visitors": [ { "type": 0, diff --git a/public/intl/messages/tr-TR.json b/public/intl/messages/tr-TR.json index cd732f54..5489cab5 100644 --- a/public/intl/messages/tr-TR.json +++ b/public/intl/messages/tr-TR.json @@ -737,6 +737,12 @@ "value": "Yönlendirenler" } ], + "metrics.screens": [ + { + "type": 0, + "value": "Ekranlar" + } + ], "metrics.unique-visitors": [ { "type": 0, diff --git a/public/intl/messages/zh-CN.json b/public/intl/messages/zh-CN.json index a6ef879c..a91b79e7 100644 --- a/public/intl/messages/zh-CN.json +++ b/public/intl/messages/zh-CN.json @@ -734,7 +734,7 @@ "metrics.languages": [ { "type": 0, - "value": "Languages" + "value": "语言" } ], "metrics.operating-systems": [ From ebeeffe432bf3300908110362ed3b0ed71970dd1 Mon Sep 17 00:00:00 2001 From: Sigve Hansen Date: Mon, 18 Jul 2022 23:18:54 +0200 Subject: [PATCH 13/35] fix(i18n): update norwegian translation --- lang/nb-NO.json | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/lang/nb-NO.json b/lang/nb-NO.json index 95df6dd5..7a9bbc37 100644 --- a/lang/nb-NO.json +++ b/lang/nb-NO.json @@ -4,8 +4,8 @@ "label.add-website": "Legg til nettsted", "label.administrator": "Administrator", "label.all": "Alle", - "label.all-events": "All events", - "label.all-time": "All time", + "label.all-events": "Alle hendelser", + "label.all-time": "Noensinne", "label.all-websites": "Alle nettsteder", "label.back": "Tilbake", "label.cancel": "Avvis", @@ -14,7 +14,7 @@ "label.copy-to-clipboard": "Kopier til utklippstavle", "label.current-password": "Nåværende passord", "label.custom-range": "Egendefinert utvalg", - "label.dashboard": "Dashboard", + "label.dashboard": "Dashbord", "label.date-range": "Datointervall", "label.default-date-range": "Standard datoperiode", "label.delete": "Slett", @@ -28,16 +28,16 @@ "label.enable-share-url": "Aktiver delings-URL", "label.invalid": "Ugyldig", "label.invalid-domain": "Ugyldig domene", - "label.language": "Language", + "label.language": "Språk", "label.last-days": "Siste {x} dager", "label.last-hours": "Siste {x} timer", - "label.logged-in-as": "Logget på som {brukernavn}", + "label.logged-in-as": "Logget på som {username}", "label.login": "Logg inn", "label.logout": "Logg ut", "label.more": "Mer", "label.name": "Navn", "label.new-password": "Nytt passord", - "label.owner": "Owner", + "label.owner": "Eier", "label.password": "Passord", "label.passwords-dont-match": "Passordene er ikke like", "label.profile": "Profil", @@ -46,7 +46,7 @@ "label.refresh": "Oppdater", "label.required": "Påkrevd", "label.reset": "Nullstill", - "label.reset-website": "Reset statistics", + "label.reset-website": "Nullstill statistikk", "label.save": "Lagre", "label.settings": "Innstillinger", "label.share-url": "Del URL", @@ -64,7 +64,7 @@ "label.websites": "Nettsteder", "message.active-users": "{x} {x, plural, one {besøkende} other {besøkende}} nå", "message.confirm-delete": "Er du sikker på at du vil slette {target}?", - "message.confirm-reset": "Are your sure you want to reset {target}'s statistics?", + "message.confirm-reset": "Er du sikker på at du vil nullstille {target}'s statistikk?", "message.copied": "Kopiert!", "message.delete-warning": "Alle tilknyttede data slettes også.", "message.failure": "Noe gikk galt.", @@ -78,15 +78,15 @@ "message.no-websites-configured": "Du har ikke satt opp noen nettsteder.", "message.page-not-found": "Side ikke funnet.", "message.powered-by": "Drevet av {name}", - "message.reset-warning": "All statistics for this website will be deleted, but your tracking code will remain intact.", + "message.reset-warning": "All statistikk for denne nettsiden vil bli slettet, men sporingskoden din vil forbli uberørt.", "message.save-success": "Lagret!", "message.share-url": "Dette er den offentlige delings-URL-en for {target}.", - "message.toggle-charts": "Toggle charts", + "message.toggle-charts": "Veksle grafer", "message.track-stats": "For å spore statistikk for {target}, plasser følgende kode i {head}-delen av nettstedet ditt.", "message.type-delete": "Skriv inn {delete} i boksen nedenfor for å bekrefte.", "message.type-reset": "Skriv inn {reset} i boksen nedenfor for å bekrefte.", "metrics.actions": "Handlinger", - "metrics.average-visit-time": "Gjennomsnittlig besøkelsestid", + "metrics.average-visit-time": "Gjennomsnittlig besøkstid", "metrics.bounce-rate": "Avvisningsfrekvens", "metrics.browsers": "Nettlesere", "metrics.countries": "Land", @@ -99,7 +99,7 @@ "metrics.filter.combined": "Kombinert", "metrics.filter.domain-only": "Bare domene", "metrics.filter.raw": "Rå", - "metrics.languages": "Languages", + "metrics.languages": "Språk", "metrics.operating-systems": "Operativsystemer", "metrics.page-views": "Sidevisninger", "metrics.pages": "Sider", @@ -107,4 +107,4 @@ "metrics.unique-visitors": "Unike besøkende", "metrics.views": "Visninger", "metrics.visitors": "Besøkende" -} +} \ No newline at end of file From d24b4b2646f6a1c2fd9572cb03b06ac72a7ef5da Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 20 Jul 2022 23:16:20 +0000 Subject: [PATCH 14/35] Bump terser from 5.12.0 to 5.14.2 Bumps [terser](https://github.com/terser/terser) from 5.12.0 to 5.14.2. - [Release notes](https://github.com/terser/terser/releases) - [Changelog](https://github.com/terser/terser/blob/master/CHANGELOG.md) - [Commits](https://github.com/terser/terser/commits) --- updated-dependencies: - dependency-name: terser dependency-type: indirect ... Signed-off-by: dependabot[bot] --- yarn.lock | 61 +++++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 43 insertions(+), 18 deletions(-) diff --git a/yarn.lock b/yarn.lock index fd0a907c..49ea34e2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1248,15 +1248,37 @@ resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== +"@jridgewell/gen-mapping@^0.3.0": + version "0.3.2" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz#c1aedc61e853f2bb9f5dfe6d4442d3b565b253b9" + integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A== + dependencies: + "@jridgewell/set-array" "^1.0.1" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping" "^0.3.9" + "@jridgewell/resolve-uri@^3.0.3": - version "3.0.5" - resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.0.5.tgz#68eb521368db76d040a6315cdb24bf2483037b9c" - integrity sha512-VPeQ7+wH0itvQxnG+lIzWgkysKIr3L9sslimFW55rHMdGu/qCQ5z5h9zq4gI8uBtqkpHhsF4Z/OwExufUCThew== + version "3.1.0" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78" + integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== + +"@jridgewell/set-array@^1.0.1": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" + integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== + +"@jridgewell/source-map@^0.3.2": + version "0.3.2" + resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.2.tgz#f45351aaed4527a298512ec72f81040c998580fb" + integrity sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw== + dependencies: + "@jridgewell/gen-mapping" "^0.3.0" + "@jridgewell/trace-mapping" "^0.3.9" "@jridgewell/sourcemap-codec@^1.4.10": - version "1.4.11" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.11.tgz#771a1d8d744eeb71b6adb35808e1a6c7b9b8c8ec" - integrity sha512-Fg32GrJo61m+VqYSdRSjRXMjQ06j8YIYfcTqndLYVAaHmroZHLJZCydsWBOTDqXS2v+mjxohBWEMfg97GXmYQg== + version "1.4.14" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" + integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== "@jridgewell/trace-mapping@^0.3.0": version "0.3.4" @@ -1266,6 +1288,14 @@ "@jridgewell/resolve-uri" "^3.0.3" "@jridgewell/sourcemap-codec" "^1.4.10" +"@jridgewell/trace-mapping@^0.3.9": + version "0.3.14" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.14.tgz#b231a081d8f66796e475ad588a1ef473112701ed" + integrity sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ== + dependencies: + "@jridgewell/resolve-uri" "^3.0.3" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@next/env@12.1.0": version "12.1.0" resolved "https://registry.yarnpkg.com/@next/env/-/env-12.1.0.tgz#73713399399b34aa5a01771fb73272b55b22c314" @@ -1880,9 +1910,9 @@ acorn@^7.4.0: integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== acorn@^8.5.0: - version "8.7.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.0.tgz#90951fde0f8f09df93549481e5fc141445b791cf" - integrity sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ== + version "8.7.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.1.tgz#0197122c843d1bf6d0a5e83220a788f278f63c30" + integrity sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A== aggregate-error@^3.0.0: version "3.1.0" @@ -5609,11 +5639,6 @@ source-map@^0.6.0, source-map@^0.6.1: resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== -source-map@~0.7.2: - version "0.7.3" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" - integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== - sourcemap-codec@^1.4.8: version "1.4.8" resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4" @@ -5923,13 +5948,13 @@ tar@^6.1.2: yallist "^4.0.0" terser@^5.0.0: - version "5.12.0" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.12.0.tgz#728c6bff05f7d1dcb687d8eace0644802a9dae8a" - integrity sha512-R3AUhNBGWiFc77HXag+1fXpAxTAFRQTJemlJKjAgD9r8xXTpjNKqIXwHM/o7Rh+O0kUJtS3WQVdBeMKFk5sw9A== + version "5.14.2" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.14.2.tgz#9ac9f22b06994d736174f4091aa368db896f1c10" + integrity sha512-oL0rGeM/WFQCUd0y2QrWxYnq7tfSuKBiqTjRPWrRgB46WD/kiwHwF8T23z78H6Q6kGCuuHcPB+KULHRdxvVGQA== dependencies: + "@jridgewell/source-map" "^0.3.2" acorn "^8.5.0" commander "^2.20.0" - source-map "~0.7.2" source-map-support "~0.5.20" text-table@^0.2.0: From b6ba4dee034a9e04b780f3aa04cee490ff3fd842 Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Wed, 20 Jul 2022 16:42:31 -0700 Subject: [PATCH 15/35] Updated packages. Prisma 4.1.0. --- package.json | 4 ++-- yarn.lock | 44 ++++++++++++++++++++++---------------------- 2 files changed, 24 insertions(+), 24 deletions(-) diff --git a/package.json b/package.json index 45389929..ae30688c 100644 --- a/package.json +++ b/package.json @@ -55,7 +55,7 @@ }, "dependencies": { "@fontsource/inter": "4.5.7", - "@prisma/client": "4.0.0", + "@prisma/client": "4.1.0", "bcryptjs": "^2.4.3", "chalk": "^4.1.1", "chart.js": "^2.9.4", @@ -117,7 +117,7 @@ "postcss-preset-env": "7.4.3", "postcss-rtlcss": "^3.6.1", "prettier": "^2.6.2", - "prisma": "4.0.0", + "prisma": "4.1.0", "prompts": "2.4.2", "rollup": "^2.70.1", "rollup-plugin-terser": "^7.0.2", diff --git a/yarn.lock b/yarn.lock index a5b4c901..1668978f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1315,10 +1315,10 @@ "@jridgewell/resolve-uri" "^3.0.3" "@jridgewell/sourcemap-codec" "^1.4.10" -"@next/env@12.1.0": - version "12.1.0" - resolved "https://registry.yarnpkg.com/@next/env/-/env-12.1.0.tgz#73713399399b34aa5a01771fb73272b55b22c314" - integrity sha512-nrIgY6t17FQ9xxwH3jj0a6EOiQ/WDHUos35Hghtr+SWN/ntHIQ7UpuvSi0vaLzZVHQWaDupKI+liO5vANcDeTQ== +"@next/env@12.2.2": + version "12.2.2" + resolved "https://registry.yarnpkg.com/@next/env/-/env-12.2.2.tgz#cc1a0a445bd254499e30f632968c03192455f4cc" + integrity sha512-BqDwE4gDl1F608TpnNxZqrCn6g48MBjvmWFEmeX5wEXDXh3IkAOw6ASKUgjT8H4OUePYFqghDFUss5ZhnbOUjw== "@next/eslint-plugin-next@12.2.2": version "12.2.2" @@ -1418,22 +1418,22 @@ resolved "https://registry.npmjs.org/@panva/asn1.js/-/asn1.js-1.0.0.tgz" integrity sha512-UdkG3mLEqXgnlKsWanWcgb6dOjUzJ+XC5f+aWw30qrtjxeNUSfKX1cd5FBzOaXQumoe9nIqeZUvrRJS03HCCtw== -"@prisma/client@4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@prisma/client/-/client-4.0.0.tgz#ed2f46930a1da0d8ae88d7965485973576b04270" - integrity sha512-g1h2OGoRo7anBVQ9Cw3gsbjwPtvf7i0pkGxKeZICtwkvE5CZXW+xZF4FZdmrViYkKaAShbISL0teNpu9ecpf4g== +"@prisma/client@4.1.0": + version "4.1.0" + resolved "https://registry.yarnpkg.com/@prisma/client/-/client-4.1.0.tgz#7c5341b2276c083821e432536ff97d8cc8f8b936" + integrity sha512-MvfPGAd42vHTiCYxwS6N+2U3F+ukoJ48D2QRnX1zSPJHBkh1CBtshl75daKzvVfgQwSouzSQeugKDej5di+E/g== dependencies: - "@prisma/engines-version" "3.16.0-49.da41d2bb3406da22087b849f0e911199ba4fbf11" + "@prisma/engines-version" "4.1.0-48.8d8414deb360336e4698a65aa45a1fbaf1ce13d8" -"@prisma/engines-version@3.16.0-49.da41d2bb3406da22087b849f0e911199ba4fbf11": - version "3.16.0-49.da41d2bb3406da22087b849f0e911199ba4fbf11" - resolved "https://registry.yarnpkg.com/@prisma/engines-version/-/engines-version-3.16.0-49.da41d2bb3406da22087b849f0e911199ba4fbf11.tgz#4b5efe5eee2feef12910e4627a572cd96ed83236" - integrity sha512-PiZhdD624SrYEjyLboI0X7OugNbxUzDJx9v/6ldTKuqNDVUCmRH/Z00XwDi/dgM4FlqOSO+YiUsSiSKjxxG8cw== +"@prisma/engines-version@4.1.0-48.8d8414deb360336e4698a65aa45a1fbaf1ce13d8": + version "4.1.0-48.8d8414deb360336e4698a65aa45a1fbaf1ce13d8" + resolved "https://registry.yarnpkg.com/@prisma/engines-version/-/engines-version-4.1.0-48.8d8414deb360336e4698a65aa45a1fbaf1ce13d8.tgz#ce00e6377126e491a8b1e0e2039c97e2924bd6d9" + integrity sha512-cRRJwpHFGFJZvtHbY3GZjMffNBEjjZk68ztn+S2hDgPCGB4H66IK26roK94GJxBodSehwRJ0wGyebC2GoIH1JQ== -"@prisma/engines@3.16.0-49.da41d2bb3406da22087b849f0e911199ba4fbf11": - version "3.16.0-49.da41d2bb3406da22087b849f0e911199ba4fbf11" - resolved "https://registry.yarnpkg.com/@prisma/engines/-/engines-3.16.0-49.da41d2bb3406da22087b849f0e911199ba4fbf11.tgz#82f0018153cffa05d61422f9c0c7b0479b180f75" - integrity sha512-u/rG4lDHALolWBLr3yebZ+N2qImp3SDMcu7bHNJuRDaYvYEXy/MqfNRNEgd9GoPsXL3gofYf0VzJf2AmCG3YVw== +"@prisma/engines@4.1.0": + version "4.1.0" + resolved "https://registry.yarnpkg.com/@prisma/engines/-/engines-4.1.0.tgz#da8002d4b75c92e3fd564ba5b0bd04847ffb3c4c" + integrity sha512-quqHXD3P83NBLVtRlts4SgKHmqgA8GMiyDTJ7af03Wg0gl6F5t65mBYvIuwmD+52vHm42JtIsp/fAO9YIV0JBA== "@react-spring/animated@~9.5.0": version "9.5.0" @@ -5120,12 +5120,12 @@ prettier@^2.6.2: resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.7.1.tgz#e235806850d057f97bb08368a4f7d899f7760c64" integrity sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g== -prisma@4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/prisma/-/prisma-4.0.0.tgz#4ddb8fcd4f64d33aff8c198a6986dcce66dc8152" - integrity sha512-Dtsar03XpCBkcEb2ooGWO/WcgblDTLzGhPcustbehwlFXuTMliMDRzXsfygsgYwQoZnAUKRd1rhpvBNEUziOVw== +prisma@4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/prisma/-/prisma-4.1.0.tgz#5d43597f0f2603a4a75d9586346c74110d8e221f" + integrity sha512-iwqpAT6In1uvMSwQAM3PqmaBdhh2OaQ/2t+n3RjpW4vAKP3R7E1T34FZUU4zGOWtMWm5dt0sPThQkT/h87r6gw== dependencies: - "@prisma/engines" "3.16.0-49.da41d2bb3406da22087b849f0e911199ba4fbf11" + "@prisma/engines" "4.1.0" progress@^2.0.0: version "2.0.3" From 0026b4b1eaf0a11ba25d0fe7a979a8c0013842d0 Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Wed, 20 Jul 2022 16:43:58 -0700 Subject: [PATCH 16/35] Updated language bundle. --- public/intl/messages/nb-NO.json | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/public/intl/messages/nb-NO.json b/public/intl/messages/nb-NO.json index 703b8303..c7ba48f0 100644 --- a/public/intl/messages/nb-NO.json +++ b/public/intl/messages/nb-NO.json @@ -32,13 +32,13 @@ "label.all-events": [ { "type": 0, - "value": "All events" + "value": "Alle hendelser" } ], "label.all-time": [ { "type": 0, - "value": "All time" + "value": "Noensinne" } ], "label.all-websites": [ @@ -92,7 +92,7 @@ "label.dashboard": [ { "type": 0, - "value": "Dashboard" + "value": "Dashbord" } ], "label.date-range": [ @@ -176,7 +176,7 @@ "label.language": [ { "type": 0, - "value": "Language" + "value": "Språk" } ], "label.last-days": [ @@ -214,7 +214,7 @@ }, { "type": 1, - "value": "brukernavn" + "value": "username" } ], "label.login": [ @@ -250,7 +250,7 @@ "label.owner": [ { "type": 0, - "value": "Owner" + "value": "Eier" } ], "label.password": [ @@ -304,7 +304,7 @@ "label.reset-website": [ { "type": 0, - "value": "Reset statistics" + "value": "Nullstill statistikk" } ], "label.save": [ @@ -452,7 +452,7 @@ "message.confirm-reset": [ { "type": 0, - "value": "Are your sure you want to reset " + "value": "Er du sikker på at du vil nullstille " }, { "type": 1, @@ -460,7 +460,7 @@ }, { "type": 0, - "value": "'s statistics?" + "value": "'s statistikk?" } ], "message.copied": [ @@ -584,7 +584,7 @@ "message.reset-warning": [ { "type": 0, - "value": "All statistics for this website will be deleted, but your tracking code will remain intact." + "value": "All statistikk for denne nettsiden vil bli slettet, men sporingskoden din vil forbli uberørt." } ], "message.save-success": [ @@ -610,7 +610,7 @@ "message.toggle-charts": [ { "type": 0, - "value": "Toggle charts" + "value": "Veksle grafer" } ], "message.track-stats": [ @@ -672,7 +672,7 @@ "metrics.average-visit-time": [ { "type": 0, - "value": "Gjennomsnittlig besøkelsestid" + "value": "Gjennomsnittlig besøkstid" } ], "metrics.bounce-rate": [ @@ -750,7 +750,7 @@ "metrics.languages": [ { "type": 0, - "value": "Languages" + "value": "Språk" } ], "metrics.operating-systems": [ From be8291c85606ffabd0472492f0ea66a9b64132d6 Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Thu, 21 Jul 2022 01:11:10 -0700 Subject: [PATCH 17/35] Refactored referrer logic. Display stats for no referrers. --- components/metrics/PagesTable.js | 26 +++++-- components/metrics/ReferrersTable.js | 44 ++++++----- lang/ar-SA.json | 3 +- lang/ca-ES.json | 3 +- lang/cs-CZ.json | 3 +- lang/da-DK.json | 3 +- lang/de-DE.json | 6 +- lang/el-GR.json | 3 +- lang/en-GB.json | 6 +- lang/en-US.json | 6 +- lang/es-MX.json | 3 +- lang/fa-IR.json | 3 +- lang/fi-FI.json | 3 +- lang/fo-FO.json | 3 +- lang/fr-FR.json | 3 +- lang/ga-ES.json | 3 +- lang/he-IL.json | 3 +- lang/hi-IN.json | 3 +- lang/hu-HU.json | 3 +- lang/id-ID.json | 3 +- lang/it-IT.json | 3 +- lang/ja-JP.json | 3 +- lang/ko-KR.json | 3 +- lang/lt-LT.json | 3 +- lang/mn-MN.json | 3 +- lang/ms-MY.json | 3 +- lang/nb-NO.json | 5 +- lang/nl-NL.json | 3 +- lang/pl-PL.json | 3 +- lang/pt-BR.json | 3 +- lang/pt-PT.json | 3 +- lang/ro-RO.json | 3 +- lang/ru-RU.json | 3 +- lang/sk-SK.json | 3 +- lang/sl-SI.json | 3 +- lang/sv-SE.json | 3 +- lang/ta-IN.json | 3 +- lang/tr-TR.json | 6 +- lang/uk-UA.json | 3 +- lang/ur-PK.json | 3 +- lang/vi-VN.json | 3 +- lang/zh-CN.json | 3 +- lang/zh-TW.json | 3 +- lib/filters.js | 78 ++++--------------- lib/queries.js | 15 ++-- lib/url.js | 8 -- pages/api/website/[id]/metrics.js | 11 +-- public/intl/messages/ar-SA.json | 20 +++-- public/intl/messages/ca-ES.json | 20 +++-- public/intl/messages/cs-CZ.json | 20 +++-- public/intl/messages/da-DK.json | 20 +++-- public/intl/messages/de-DE.json | 14 ++-- public/intl/messages/el-GR.json | 20 +++-- public/intl/messages/en-GB.json | 12 +-- public/intl/messages/en-US.json | 12 +-- public/intl/messages/es-MX.json | 20 +++-- public/intl/messages/fa-IR.json | 20 +++-- public/intl/messages/fi-FI.json | 20 +++-- public/intl/messages/fo-FO.json | 20 +++-- public/intl/messages/fr-FR.json | 20 +++-- public/intl/messages/ga-ES.json | 20 +++-- public/intl/messages/he-IL.json | 20 +++-- public/intl/messages/hi-IN.json | 20 +++-- public/intl/messages/hu-HU.json | 20 +++-- public/intl/messages/id-ID.json | 20 +++-- public/intl/messages/it-IT.json | 20 +++-- public/intl/messages/ja-JP.json | 20 +++-- public/intl/messages/ko-KR.json | 20 +++-- public/intl/messages/lt-LT.json | 20 +++-- public/intl/messages/mn-MN.json | 20 +++-- public/intl/messages/ms-MY.json | 20 +++-- public/intl/messages/nb-NO.json | 20 +++-- public/intl/messages/nl-NL.json | 20 +++-- public/intl/messages/pl-PL.json | 20 +++-- public/intl/messages/pt-BR.json | 20 +++-- public/intl/messages/pt-PT.json | 20 +++-- public/intl/messages/ro-RO.json | 20 +++-- public/intl/messages/ru-RU.json | 20 +++-- public/intl/messages/sk-SK.json | 20 +++-- public/intl/messages/sl-SI.json | 20 +++-- public/intl/messages/sv-SE.json | 20 +++-- public/intl/messages/ta-IN.json | 20 +++-- public/intl/messages/tr-TR.json | 14 ++-- public/intl/messages/uk-UA.json | 20 +++-- public/intl/messages/ur-PK.json | 20 +++-- public/intl/messages/vi-VN.json | 20 +++-- public/intl/messages/zh-CN.json | 20 +++-- public/intl/messages/zh-TW.json | 20 +++-- .../analytics/pageview/getPageviewMetrics.js | 5 +- .../analytics/pageview/getPageviewStats.js | 7 +- .../analytics/session/getSessionMetrics.js | 7 +- queries/analytics/stats/getWebsiteStats.js | 7 +- 92 files changed, 687 insertions(+), 450 deletions(-) diff --git a/components/metrics/PagesTable.js b/components/metrics/PagesTable.js index 98a0fd72..e69a67ac 100644 --- a/components/metrics/PagesTable.js +++ b/components/metrics/PagesTable.js @@ -1,5 +1,5 @@ import React, { useState } from 'react'; -import { FormattedMessage } from 'react-intl'; +import { useIntl, defineMessage } from 'react-intl'; import FilterLink from 'components/common/FilterLink'; import FilterButtons from 'components/common/FilterButtons'; import { urlFilter } from 'lib/filters'; @@ -8,15 +8,26 @@ import MetricsTable from './MetricsTable'; export const FILTER_COMBINED = 0; export const FILTER_RAW = 1; -export default function PagesTable({ websiteId, websiteDomain, showFilters, ...props }) { +const messages = defineMessage({ + combined: { id: 'metrics.filter.combined', defaultMessage: 'Combined' }, + raw: { id: 'metrics.filter.raw', defaultMessage: 'Raw' }, + pages: { id: 'metrics.pages', defaultMessage: 'Pages' }, + views: { id: 'metrics.views', defaultMessage: 'View' }, +}); + +export default function PagesTable({ websiteId, showFilters, ...props }) { const [filter, setFilter] = useState(FILTER_COMBINED); + const { formatMessage } = useIntl(); const buttons = [ { - label: , + label: formatMessage(messages.combined), value: FILTER_COMBINED, }, - { label: , value: FILTER_RAW }, + { + label: formatMessage(messages.raw), + value: FILTER_RAW, + }, ]; const renderLink = ({ x: url }) => { @@ -27,12 +38,11 @@ export default function PagesTable({ websiteId, websiteDomain, showFilters, ...p <> {showFilters && } } + title={formatMessage(messages.pages)} type="url" - metric={} + metric={formatMessage(messages.views)} websiteId={websiteId} - dataFilter={urlFilter} - filterOptions={{ domain: websiteDomain, raw: filter === FILTER_RAW }} + dataFilter={filter !== FILTER_RAW ? urlFilter : null} renderLabel={renderLink} {...props} /> diff --git a/components/metrics/ReferrersTable.js b/components/metrics/ReferrersTable.js index 1a9e3f2d..e41fe53b 100644 --- a/components/metrics/ReferrersTable.js +++ b/components/metrics/ReferrersTable.js @@ -1,31 +1,40 @@ import React, { useState } from 'react'; -import { FormattedMessage } from 'react-intl'; +import { useIntl, defineMessages } from 'react-intl'; import MetricsTable from './MetricsTable'; import FilterButtons from 'components/common/FilterButtons'; import FilterLink from 'components/common/FilterLink'; import { refFilter } from 'lib/filters'; -export const FILTER_DOMAIN_ONLY = 0; -export const FILTER_COMBINED = 1; -export const FILTER_RAW = 2; +export const FILTER_COMBINED = 0; +export const FILTER_RAW = 1; -export default function ReferrersTable({ websiteId, websiteDomain, showFilters, ...props }) { +const messages = defineMessages({ + combined: { id: 'metrics.filter.combined', defaultMessage: 'Combined' }, + raw: { id: 'metrics.filter.raw', defaultMessage: 'Raw' }, + referrers: { id: 'metrics.referrers', defaultMessage: 'Referrers' }, + views: { id: 'metrics.views', defaultMessage: 'Views' }, + none: { id: 'label.none', defaultMessage: 'None' }, +}); + +export default function ReferrersTable({ websiteId, showFilters, ...props }) { const [filter, setFilter] = useState(FILTER_COMBINED); + const { formatMessage } = useIntl(); + const none = formatMessage(messages.none); const buttons = [ { - label: , - value: FILTER_DOMAIN_ONLY, - }, - { - label: , + label: formatMessage(messages.combined), value: FILTER_COMBINED, }, - { label: , value: FILTER_RAW }, + { label: formatMessage(messages.raw), value: FILTER_RAW }, ]; const renderLink = ({ w: link, x: referrer }) => { - return ; + return referrer ? ( + + ) : ( + `(${none})` + ); }; return ( @@ -33,16 +42,11 @@ export default function ReferrersTable({ websiteId, websiteDomain, showFilters, {showFilters && } } + title={formatMessage(messages.referrers)} type="referrer" - metric={} + metric={formatMessage(messages.views)} websiteId={websiteId} - dataFilter={refFilter} - filterOptions={{ - domain: websiteDomain, - domainOnly: filter === FILTER_DOMAIN_ONLY, - raw: filter === FILTER_RAW, - }} + dataFilter={filter !== FILTER_RAW ? refFilter : null} renderLabel={renderLink} /> diff --git a/lang/ar-SA.json b/lang/ar-SA.json index 19a3689b..2a1a08aa 100644 --- a/lang/ar-SA.json +++ b/lang/ar-SA.json @@ -37,6 +37,7 @@ "label.more": "المزيد", "label.name": "الإسم", "label.new-password": "كلمة مرور جديدة", + "label.none": "None", "label.owner": "Owner", "label.password": "كلمة المرور", "label.passwords-dont-match": "كلمة المرور غير متطابقة", @@ -97,13 +98,13 @@ "metrics.devices": "الأجهزة", "metrics.events": "الأحداث", "metrics.filter.combined": "مجمعة", - "metrics.filter.domain-only": "نطاق فقط", "metrics.filter.raw": "مفصلة", "metrics.languages": "Languages", "metrics.operating-systems": "نظام التشغيل", "metrics.page-views": "مشاهدات الصفحة", "metrics.pages": "الصفحات", "metrics.referrers": "التحويلات", + "metrics.screens": "Screens", "metrics.unique-visitors": "زائرون فريدون", "metrics.views": "مشاهدات", "metrics.visitors": "زوار" diff --git a/lang/ca-ES.json b/lang/ca-ES.json index 6df47f0c..4bbc38d7 100644 --- a/lang/ca-ES.json +++ b/lang/ca-ES.json @@ -37,6 +37,7 @@ "label.more": "Més", "label.name": "Nom", "label.new-password": "Contrasenya nova", + "label.none": "None", "label.owner": "Propietari", "label.password": "Contrasenya", "label.passwords-dont-match": "Les contrasenyes no coincideixen", @@ -97,13 +98,13 @@ "metrics.devices": "Dispositius", "metrics.events": "Esdeveniments", "metrics.filter.combined": "Combinat", - "metrics.filter.domain-only": "Només domini", "metrics.filter.raw": "En cru", "metrics.languages": "Llengües", "metrics.operating-systems": "Sistemes operatius", "metrics.page-views": "Pàgines vistes", "metrics.pages": "Pàgines", "metrics.referrers": "Referents", + "metrics.screens": "Screens", "metrics.unique-visitors": "Visitants únics", "metrics.views": "Vistes", "metrics.visitors": "Visitants" diff --git a/lang/cs-CZ.json b/lang/cs-CZ.json index eac8cc06..30501f97 100644 --- a/lang/cs-CZ.json +++ b/lang/cs-CZ.json @@ -37,6 +37,7 @@ "label.more": "Více", "label.name": "Jméno", "label.new-password": "Nové heslo", + "label.none": "None", "label.owner": "Owner", "label.password": "Heslo", "label.passwords-dont-match": "Hesla se neschodují", @@ -97,13 +98,13 @@ "metrics.devices": "Zařízení", "metrics.events": "Události", "metrics.filter.combined": "Kombinace", - "metrics.filter.domain-only": "Domény", "metrics.filter.raw": "Nezpracované", "metrics.languages": "Languages", "metrics.operating-systems": "Operační systém", "metrics.page-views": "Zobrazení stránek", "metrics.pages": "Stránky", "metrics.referrers": "Odkazy", + "metrics.screens": "Screens", "metrics.unique-visitors": "Jedinečné návštěvy", "metrics.views": "Zobrazení", "metrics.visitors": "Návštěvy" diff --git a/lang/da-DK.json b/lang/da-DK.json index 0a3d2f0d..48fde249 100644 --- a/lang/da-DK.json +++ b/lang/da-DK.json @@ -37,6 +37,7 @@ "label.more": "Mere", "label.name": "Navn", "label.new-password": "Ny adgangskode", + "label.none": "None", "label.owner": "Ejer", "label.password": "Adgangskode", "label.passwords-dont-match": "Adgangskoderne matcher ikke", @@ -97,13 +98,13 @@ "metrics.devices": "Enheder", "metrics.events": "Hændelser", "metrics.filter.combined": "Kombineret", - "metrics.filter.domain-only": "Kun domæne", "metrics.filter.raw": "Rå", "metrics.languages": "Sprog", "metrics.operating-systems": "Operativsystemer", "metrics.page-views": "Sidevisninger", "metrics.pages": "Sider", "metrics.referrers": "Henvisninger", + "metrics.screens": "Screens", "metrics.unique-visitors": "Unikke besøgende", "metrics.views": "Visninger", "metrics.visitors": "Besøgende" diff --git a/lang/de-DE.json b/lang/de-DE.json index 74e13b8d..c7fca4a1 100644 --- a/lang/de-DE.json +++ b/lang/de-DE.json @@ -37,6 +37,7 @@ "label.more": "Mehr", "label.name": "Name", "label.new-password": "Neues Passwort", + "label.none": "None", "label.owner": "Besitzer", "label.password": "Passwort", "label.passwords-dont-match": "Passwörter stimmen nicht überein", @@ -97,15 +98,14 @@ "metrics.devices": "Geräte", "metrics.events": "Ereignisse", "metrics.filter.combined": "Kombiniert", - "metrics.filter.domain-only": "Nur diese Domain", "metrics.filter.raw": "Rohdaten", "metrics.languages": "Sprachen", "metrics.operating-systems": "Betriebssysteme", "metrics.page-views": "Seitenaufrufe", "metrics.pages": "Seiten", "metrics.referrers": "Referrer", + "metrics.screens": "Bildschirmauflösungen", "metrics.unique-visitors": "Eindeutige Besucher", "metrics.views": "Aufrufe", - "metrics.visitors": "Besucher", - "metrics.screens": "Bildschirmauflösungen" + "metrics.visitors": "Besucher" } diff --git a/lang/el-GR.json b/lang/el-GR.json index 205133d2..6cf4b2ac 100644 --- a/lang/el-GR.json +++ b/lang/el-GR.json @@ -37,6 +37,7 @@ "label.more": "Περισσότερα", "label.name": "Όνομα", "label.new-password": "Νέος κωδικός", + "label.none": "None", "label.owner": "Owner", "label.password": "Κωδικός", "label.passwords-dont-match": "Οι κωδικοί πρόσβασης δεν ταιριάζουν", @@ -97,13 +98,13 @@ "metrics.devices": "Συσκευές", "metrics.events": "Γεγονότα", "metrics.filter.combined": "Σε συνδυασμό", - "metrics.filter.domain-only": "Μόνο τομέας", "metrics.filter.raw": "Ακατέργαστο", "metrics.languages": "Languages", "metrics.operating-systems": "Λειτουργικά συστήματα", "metrics.page-views": "Προβολές σελίδας", "metrics.pages": "Σελίδες", "metrics.referrers": "Παραπομπές", + "metrics.screens": "Screens", "metrics.unique-visitors": "Μοναδικοί επισκέπτες", "metrics.views": "Προβολές", "metrics.visitors": "Επισκέπτες" diff --git a/lang/en-GB.json b/lang/en-GB.json index 2da0da58..1580b500 100644 --- a/lang/en-GB.json +++ b/lang/en-GB.json @@ -37,6 +37,7 @@ "label.more": "More", "label.name": "Name", "label.new-password": "New password", + "label.none": "None", "label.owner": "Owner", "label.password": "Password", "label.passwords-dont-match": "Passwords don't match", @@ -97,15 +98,14 @@ "metrics.devices": "Devices", "metrics.events": "Events", "metrics.filter.combined": "Combined", - "metrics.filter.domain-only": "Domain only", "metrics.filter.raw": "Raw", "metrics.languages": "Languages", "metrics.operating-systems": "Operating systems", "metrics.page-views": "Page views", "metrics.pages": "Pages", "metrics.referrers": "Referrers", + "metrics.screens": "Screens", "metrics.unique-visitors": "Unique visitors", "metrics.views": "Views", - "metrics.visitors": "Visitors", - "metrics.screens": "Screens" + "metrics.visitors": "Visitors" } diff --git a/lang/en-US.json b/lang/en-US.json index 2da0da58..1580b500 100644 --- a/lang/en-US.json +++ b/lang/en-US.json @@ -37,6 +37,7 @@ "label.more": "More", "label.name": "Name", "label.new-password": "New password", + "label.none": "None", "label.owner": "Owner", "label.password": "Password", "label.passwords-dont-match": "Passwords don't match", @@ -97,15 +98,14 @@ "metrics.devices": "Devices", "metrics.events": "Events", "metrics.filter.combined": "Combined", - "metrics.filter.domain-only": "Domain only", "metrics.filter.raw": "Raw", "metrics.languages": "Languages", "metrics.operating-systems": "Operating systems", "metrics.page-views": "Page views", "metrics.pages": "Pages", "metrics.referrers": "Referrers", + "metrics.screens": "Screens", "metrics.unique-visitors": "Unique visitors", "metrics.views": "Views", - "metrics.visitors": "Visitors", - "metrics.screens": "Screens" + "metrics.visitors": "Visitors" } diff --git a/lang/es-MX.json b/lang/es-MX.json index 3f1f30c4..6615e308 100644 --- a/lang/es-MX.json +++ b/lang/es-MX.json @@ -37,6 +37,7 @@ "label.more": "Más", "label.name": "Nombre", "label.new-password": "Nueva contraseña", + "label.none": "None", "label.owner": "Propietario", "label.password": "Contraseña", "label.passwords-dont-match": "Las contraseñas no coinciden", @@ -97,13 +98,13 @@ "metrics.devices": "Dispositivos", "metrics.events": "Eventos", "metrics.filter.combined": "Combinado", - "metrics.filter.domain-only": "Únicamente dominio", "metrics.filter.raw": "Personalizado", "metrics.languages": "Idiomas", "metrics.operating-systems": "Sistemas operativos", "metrics.page-views": "Vistas", "metrics.pages": "Páginas", "metrics.referrers": "Referentes", + "metrics.screens": "Screens", "metrics.unique-visitors": "Visitantes únicos", "metrics.views": "Vistas", "metrics.visitors": "Visitantes" diff --git a/lang/fa-IR.json b/lang/fa-IR.json index a8b4a45c..a79b145a 100644 --- a/lang/fa-IR.json +++ b/lang/fa-IR.json @@ -37,6 +37,7 @@ "label.more": "بیشتر", "label.name": "نام", "label.new-password": "رمز جدید", + "label.none": "None", "label.owner": "ایجاد شده توسط", "label.password": "رمز", "label.passwords-dont-match": "رمزها یکسان نیستند", @@ -97,13 +98,13 @@ "metrics.devices": "دستگاه‌ها", "metrics.events": "رویدادها", "metrics.filter.combined": "ترکیب شده", - "metrics.filter.domain-only": "فقط دامنه", "metrics.filter.raw": "خام", "metrics.languages": "زبان‌ها", "metrics.operating-systems": "سیستم‌عامل‌ها", "metrics.page-views": "بازدید صفحه", "metrics.pages": "صفحه‌ها", "metrics.referrers": "ارجاع دهندگان", + "metrics.screens": "Screens", "metrics.unique-visitors": "بازدیدکننده‌های یکتا", "metrics.views": "بازدید", "metrics.visitors": "بازدیدکننده" diff --git a/lang/fi-FI.json b/lang/fi-FI.json index eb643478..5a30072b 100644 --- a/lang/fi-FI.json +++ b/lang/fi-FI.json @@ -37,6 +37,7 @@ "label.more": "Lisää", "label.name": "Nimi", "label.new-password": "Uusi salasana", + "label.none": "None", "label.owner": "Omistaja", "label.password": "Salasana", "label.passwords-dont-match": "Salasanat eivät täsmää", @@ -97,13 +98,13 @@ "metrics.devices": "Laitteet", "metrics.events": "Tapahtumat", "metrics.filter.combined": "Yhdistetty", - "metrics.filter.domain-only": "Vain verkkotunnus", "metrics.filter.raw": "Käsittelemätön", "metrics.languages": "Kielet", "metrics.operating-systems": "Käyttöjärjestelmät", "metrics.page-views": "Sivun näyttökerrat", "metrics.pages": "Sivut", "metrics.referrers": "Viittaajat", + "metrics.screens": "Screens", "metrics.unique-visitors": "Yksittäiset kävijät", "metrics.views": "Näyttökerrat", "metrics.visitors": "Vierailijat" diff --git a/lang/fo-FO.json b/lang/fo-FO.json index 698d6dd2..0187dcbb 100644 --- a/lang/fo-FO.json +++ b/lang/fo-FO.json @@ -37,6 +37,7 @@ "label.more": "Meira", "label.name": "Navn", "label.new-password": "Nýtt loyniorð", + "label.none": "None", "label.owner": "Owner", "label.password": "Loyniorð", "label.passwords-dont-match": "Loyniorðini eru ikki eins", @@ -97,13 +98,13 @@ "metrics.devices": "Tóleindir", "metrics.events": "Hendingar/tiltøk", "metrics.filter.combined": "Samansett", - "metrics.filter.domain-only": "Bara økisnavn", "metrics.filter.raw": "Óviðgjørt", "metrics.languages": "Languages", "metrics.operating-systems": "Stýrikervir", "metrics.page-views": "Opnaðar síðir", "metrics.pages": "Síðir", "metrics.referrers": "Framsendingar", + "metrics.screens": "Screens", "metrics.unique-visitors": "Einsýna vitjanir", "metrics.views": "Sýningar", "metrics.visitors": "Vitjandi" diff --git a/lang/fr-FR.json b/lang/fr-FR.json index 7b5ca734..8655eefc 100644 --- a/lang/fr-FR.json +++ b/lang/fr-FR.json @@ -37,6 +37,7 @@ "label.more": "Plus", "label.name": "Nom", "label.new-password": "Nouveau mot de passe", + "label.none": "None", "label.owner": "Propriétaire", "label.password": "Mot de passe", "label.passwords-dont-match": "Les mots de passe ne correspondent pas", @@ -97,13 +98,13 @@ "metrics.devices": "Appareils", "metrics.events": "Événements", "metrics.filter.combined": "Combiné", - "metrics.filter.domain-only": "Domaine uniquement", "metrics.filter.raw": "Brut", "metrics.languages": "Langages", "metrics.operating-systems": "Systèmes d'exploitation", "metrics.page-views": "Pages vues", "metrics.pages": "Pages", "metrics.referrers": "Sources", + "metrics.screens": "Screens", "metrics.unique-visitors": "Visiteurs uniques", "metrics.views": "Vues", "metrics.visitors": "Visiteurs" diff --git a/lang/ga-ES.json b/lang/ga-ES.json index 7d4423bb..0a13935d 100644 --- a/lang/ga-ES.json +++ b/lang/ga-ES.json @@ -37,6 +37,7 @@ "label.more": "Máis", "label.name": "Nome", "label.new-password": "Novo contrasinal", + "label.none": "None", "label.owner": "Dona", "label.password": "Contrasinal", "label.passwords-dont-match": "Non concordan os contrasinais", @@ -97,13 +98,13 @@ "metrics.devices": "Dispositivos", "metrics.events": "Eventos", "metrics.filter.combined": "Combinado", - "metrics.filter.domain-only": "Só dominio", "metrics.filter.raw": "Raw", "metrics.languages": "Idiomas", "metrics.operating-systems": "Sistemas operativos", "metrics.page-views": "Vistas de páxinas", "metrics.pages": "Páxinas", "metrics.referrers": "Orixes", + "metrics.screens": "Screens", "metrics.unique-visitors": "Visitas únicas", "metrics.views": "Visualizacións", "metrics.visitors": "Visitantes" diff --git a/lang/he-IL.json b/lang/he-IL.json index 2b384898..8edb685d 100644 --- a/lang/he-IL.json +++ b/lang/he-IL.json @@ -37,6 +37,7 @@ "label.more": "עוד", "label.name": "שם", "label.new-password": "סיסמה חדשה", + "label.none": "None", "label.owner": "Owner", "label.password": "סיסמה", "label.passwords-dont-match": "סיסמאות לא תואמות", @@ -97,13 +98,13 @@ "metrics.devices": "מכשירים", "metrics.events": "אירועים", "metrics.filter.combined": "משותף", - "metrics.filter.domain-only": "דומיין בלבד", "metrics.filter.raw": "גולמי", "metrics.languages": "Languages", "metrics.operating-systems": "מערכות הפעלה", "metrics.page-views": "צפיות בדפים", "metrics.pages": "דפים", "metrics.referrers": "מפנים", + "metrics.screens": "Screens", "metrics.unique-visitors": "מבקרים ייחודיים", "metrics.views": "צפיות", "metrics.visitors": "מבקרים" diff --git a/lang/hi-IN.json b/lang/hi-IN.json index 56bab323..f139dbdd 100644 --- a/lang/hi-IN.json +++ b/lang/hi-IN.json @@ -37,6 +37,7 @@ "label.more": "और", "label.name": "नाम", "label.new-password": "नया पासवर्ड", + "label.none": "None", "label.owner": "Owner", "label.password": "पासवर्ड", "label.passwords-dont-match": "पासवर्ड मेल नहीं खाते", @@ -97,13 +98,13 @@ "metrics.devices": "उपकरण", "metrics.events": "स्पर्धाएँ", "metrics.filter.combined": "संयुक्त", - "metrics.filter.domain-only": "केवल डोमेन", "metrics.filter.raw": "रॉ", "metrics.languages": "Languages", "metrics.operating-systems": "ऑपरेटिंग सिस्टम", "metrics.page-views": "पृष्ठ दृश्य", "metrics.pages": "पृष्ठों", "metrics.referrers": "सन्दर्भदाता", + "metrics.screens": "Screens", "metrics.unique-visitors": "अद्वितीय आगंतुकों", "metrics.views": "दृश्य", "metrics.visitors": "आगंतुकों" diff --git a/lang/hu-HU.json b/lang/hu-HU.json index df0c97ad..261d736e 100644 --- a/lang/hu-HU.json +++ b/lang/hu-HU.json @@ -37,6 +37,7 @@ "label.more": "Bővebben", "label.name": "Név", "label.new-password": "Új jelszó", + "label.none": "None", "label.owner": "Owner", "label.password": "Jelszó", "label.passwords-dont-match": "A jelszavak nem egyeznek", @@ -97,13 +98,13 @@ "metrics.devices": "Eszközök", "metrics.events": "Események", "metrics.filter.combined": "Összevont", - "metrics.filter.domain-only": "Csak domain", "metrics.filter.raw": "Nyers", "metrics.languages": "Languages", "metrics.operating-systems": "Operációs rendszerek", "metrics.page-views": "Oldalmegtekintések", "metrics.pages": "Oldalak", "metrics.referrers": "Hivatkozók", + "metrics.screens": "Screens", "metrics.unique-visitors": "Egyedi látogatók", "metrics.views": "Megtekintések", "metrics.visitors": "Látogatók" diff --git a/lang/id-ID.json b/lang/id-ID.json index 8da792d4..225c4070 100644 --- a/lang/id-ID.json +++ b/lang/id-ID.json @@ -37,6 +37,7 @@ "label.more": "Lebih banyak", "label.name": "Nama", "label.new-password": "Kata sandi baru", + "label.none": "None", "label.owner": "Owner", "label.password": "Kata sandi", "label.passwords-dont-match": "Kata sandi tidak cocok", @@ -97,13 +98,13 @@ "metrics.devices": "Perangkat", "metrics.events": "Perihal", "metrics.filter.combined": "Gabungan", - "metrics.filter.domain-only": "Hanya domain", "metrics.filter.raw": "Mentah", "metrics.languages": "Languages", "metrics.operating-systems": "Sistem Operasi", "metrics.page-views": "Tampilan halaman", "metrics.pages": "Halaman", "metrics.referrers": "Perujuk", + "metrics.screens": "Screens", "metrics.unique-visitors": "Pengunjung unik", "metrics.views": "Tampilan", "metrics.visitors": "Pengunjung" diff --git a/lang/it-IT.json b/lang/it-IT.json index 71c22142..88dfd30a 100644 --- a/lang/it-IT.json +++ b/lang/it-IT.json @@ -37,6 +37,7 @@ "label.more": "Dettagli", "label.name": "Nome", "label.new-password": "Nuova password", + "label.none": "None", "label.owner": "Proprietario", "label.password": "Password", "label.passwords-dont-match": "Le password non corrispondono", @@ -97,13 +98,13 @@ "metrics.devices": "Dispositivi", "metrics.events": "Eventi", "metrics.filter.combined": "Aggregati", - "metrics.filter.domain-only": "Solo dominio", "metrics.filter.raw": "Raw", "metrics.languages": "Lingue", "metrics.operating-systems": "Sistemi operativi", "metrics.page-views": "Visualizzazioni di pagina", "metrics.pages": "Pagine", "metrics.referrers": "Referrers", + "metrics.screens": "Screens", "metrics.unique-visitors": "Visitatori unici", "metrics.views": "Visualizzazioni", "metrics.visitors": "Visitatori" diff --git a/lang/ja-JP.json b/lang/ja-JP.json index 8106fe73..1055319f 100644 --- a/lang/ja-JP.json +++ b/lang/ja-JP.json @@ -37,6 +37,7 @@ "label.more": "さらに表示", "label.name": "名前", "label.new-password": "新しいパスワード", + "label.none": "None", "label.owner": "Owner", "label.password": "パスワード", "label.passwords-dont-match": "パスワードが一致しません", @@ -97,13 +98,13 @@ "metrics.devices": "デバイス", "metrics.events": "イベント", "metrics.filter.combined": "パスまで", - "metrics.filter.domain-only": "ドメインのみ", "metrics.filter.raw": "すべて表示", "metrics.languages": "Languages", "metrics.operating-systems": "OS", "metrics.page-views": "閲覧数", "metrics.pages": "ページ", "metrics.referrers": "リファラー", + "metrics.screens": "Screens", "metrics.unique-visitors": "ユニーク訪問者数", "metrics.views": "閲覧数", "metrics.visitors": "訪問者数" diff --git a/lang/ko-KR.json b/lang/ko-KR.json index c3c4b877..fa22decf 100644 --- a/lang/ko-KR.json +++ b/lang/ko-KR.json @@ -37,6 +37,7 @@ "label.more": "더 보기", "label.name": "이름", "label.new-password": "새 비밀번호", + "label.none": "None", "label.owner": "Owner", "label.password": "비밀번호", "label.passwords-dont-match": "비밀번호가 일치하지 않음", @@ -97,13 +98,13 @@ "metrics.devices": "기기", "metrics.events": "이벤트", "metrics.filter.combined": "합쳐서 보기", - "metrics.filter.domain-only": "도메인만", "metrics.filter.raw": "전체 보기", "metrics.languages": "Languages", "metrics.operating-systems": "운영체제", "metrics.page-views": "페이지 뷰(PV)", "metrics.pages": "페이지", "metrics.referrers": "리퍼러", + "metrics.screens": "Screens", "metrics.unique-visitors": "순방문자(UV)", "metrics.views": "조회수", "metrics.visitors": "방문객" diff --git a/lang/lt-LT.json b/lang/lt-LT.json index 35b6c0fc..e6a8e9ff 100644 --- a/lang/lt-LT.json +++ b/lang/lt-LT.json @@ -37,6 +37,7 @@ "label.more": "Daugiau", "label.name": "Pavadinimas", "label.new-password": "Naujas slaptažodis", + "label.none": "None", "label.owner": "Savininkas", "label.password": "Slaptažodis", "label.passwords-dont-match": "Slaptažodžiai nesutampa", @@ -97,13 +98,13 @@ "metrics.devices": "Įrenginiai", "metrics.events": "Įvykiai", "metrics.filter.combined": "Kombinuoti", - "metrics.filter.domain-only": "Tik domenas", "metrics.filter.raw": "Neapdoroti", "metrics.languages": "Kalbos", "metrics.operating-systems": "Operacinės sistemos", "metrics.page-views": "Puslapių peržiūros", "metrics.pages": "Puslapiai", "metrics.referrers": "Referrers", + "metrics.screens": "Screens", "metrics.unique-visitors": "Unikalūs lankytojai", "metrics.views": "Peržiūros", "metrics.visitors": "Lankytojai" diff --git a/lang/mn-MN.json b/lang/mn-MN.json index f00beffc..488a0eec 100644 --- a/lang/mn-MN.json +++ b/lang/mn-MN.json @@ -37,6 +37,7 @@ "label.more": "Цааш", "label.name": "Нэр", "label.new-password": "Шинэ нууц үг", + "label.none": "None", "label.owner": "Эзэмшигч", "label.password": "Нууц үг", "label.passwords-dont-match": "Нууц үг тохирохгүй байна", @@ -97,13 +98,13 @@ "metrics.devices": "Төхөөрөмж", "metrics.events": "Үйлдэл", "metrics.filter.combined": "Нэгтгэсэн", - "metrics.filter.domain-only": "Зөвхөн домэйн", "metrics.filter.raw": "Түүхий", "metrics.languages": "Хэл", "metrics.operating-systems": "Үйлдлийн систем", "metrics.page-views": "Хуудас үзсэн", "metrics.pages": "Хуудас", "metrics.referrers": "Чиглүүлэгч", + "metrics.screens": "Screens", "metrics.unique-visitors": "Зочин", "metrics.views": "Үзсэн", "metrics.visitors": "Зочин" diff --git a/lang/ms-MY.json b/lang/ms-MY.json index be44f363..be420352 100644 --- a/lang/ms-MY.json +++ b/lang/ms-MY.json @@ -37,6 +37,7 @@ "label.more": "Lebih banyak lagi", "label.name": "Nama", "label.new-password": "Kata laluan baru", + "label.none": "None", "label.owner": "Owner", "label.password": "Kata laluan", "label.passwords-dont-match": "Kata laluan tidak sepadan", @@ -97,13 +98,13 @@ "metrics.devices": "Peranti", "metrics.events": "Peristiwa", "metrics.filter.combined": "Digabungkan", - "metrics.filter.domain-only": "Domain sahaja", "metrics.filter.raw": "Mentah", "metrics.languages": "Languages", "metrics.operating-systems": "Sistem operasi", "metrics.page-views": "Paparan halaman", "metrics.pages": "Halaman", "metrics.referrers": "Perujuk", + "metrics.screens": "Screens", "metrics.unique-visitors": "Pelawat unik", "metrics.views": "Lawatan", "metrics.visitors": "Pelawat" diff --git a/lang/nb-NO.json b/lang/nb-NO.json index 7a9bbc37..c42fbbbd 100644 --- a/lang/nb-NO.json +++ b/lang/nb-NO.json @@ -37,6 +37,7 @@ "label.more": "Mer", "label.name": "Navn", "label.new-password": "Nytt passord", + "label.none": "None", "label.owner": "Eier", "label.password": "Passord", "label.passwords-dont-match": "Passordene er ikke like", @@ -97,14 +98,14 @@ "metrics.devices": "Enheter", "metrics.events": "Arrangementer", "metrics.filter.combined": "Kombinert", - "metrics.filter.domain-only": "Bare domene", "metrics.filter.raw": "Rå", "metrics.languages": "Språk", "metrics.operating-systems": "Operativsystemer", "metrics.page-views": "Sidevisninger", "metrics.pages": "Sider", "metrics.referrers": "Referanser", + "metrics.screens": "Screens", "metrics.unique-visitors": "Unike besøkende", "metrics.views": "Visninger", "metrics.visitors": "Besøkende" -} \ No newline at end of file +} diff --git a/lang/nl-NL.json b/lang/nl-NL.json index 9586aab9..fff2cea6 100644 --- a/lang/nl-NL.json +++ b/lang/nl-NL.json @@ -37,6 +37,7 @@ "label.more": "Toon meer", "label.name": "Naam", "label.new-password": "Nieuw wachtwoord", + "label.none": "None", "label.owner": "Eigenaar", "label.password": "Wachtwoord", "label.passwords-dont-match": "Wachtwoorden komen niet overeen", @@ -97,13 +98,13 @@ "metrics.devices": "Apparaten", "metrics.events": "Gebeurtenissen", "metrics.filter.combined": "Gecombineerd", - "metrics.filter.domain-only": "Alleen domein", "metrics.filter.raw": "Ruw", "metrics.languages": "Languages", "metrics.operating-systems": "Besturingssystemen", "metrics.page-views": "Paginaweergaven", "metrics.pages": "Pagina's", "metrics.referrers": "Verwijzers", + "metrics.screens": "Screens", "metrics.unique-visitors": "Unieke bezoekers", "metrics.views": "Weergaven", "metrics.visitors": "Bezoekers" diff --git a/lang/pl-PL.json b/lang/pl-PL.json index 32798238..8669f7ab 100644 --- a/lang/pl-PL.json +++ b/lang/pl-PL.json @@ -37,6 +37,7 @@ "label.more": "Więcej", "label.name": "Nazwa", "label.new-password": "Nowe hasło", + "label.none": "None", "label.owner": "Właściciel", "label.password": "Hasło", "label.passwords-dont-match": "Hasła się nie zgadzają", @@ -97,13 +98,13 @@ "metrics.devices": "Urządzenia", "metrics.events": "Zdarzenia", "metrics.filter.combined": "Połączone", - "metrics.filter.domain-only": "Tylko domena", "metrics.filter.raw": "Surowe dane", "metrics.languages": "Języki", "metrics.operating-systems": "System operacyjny", "metrics.page-views": "Wyświetlenia strony", "metrics.pages": "Strony", "metrics.referrers": "Źródła odsyłające", + "metrics.screens": "Screens", "metrics.unique-visitors": "Unikalni odwiedzający", "metrics.views": "Wyświetlenia", "metrics.visitors": "Odwiedzający" diff --git a/lang/pt-BR.json b/lang/pt-BR.json index f5e5dd57..7f56236f 100644 --- a/lang/pt-BR.json +++ b/lang/pt-BR.json @@ -37,6 +37,7 @@ "label.more": "Mais", "label.name": "Nome", "label.new-password": "Nova senha", + "label.none": "None", "label.owner": "Proprietário", "label.password": "Senha", "label.passwords-dont-match": "As senhas não correspondem", @@ -97,13 +98,13 @@ "metrics.devices": "Dispositivos", "metrics.events": "Eventos", "metrics.filter.combined": "Combinado", - "metrics.filter.domain-only": "Apenas domínio", "metrics.filter.raw": "Dados brutos", "metrics.languages": "Idiomas", "metrics.operating-systems": "Sistemas operacionais", "metrics.page-views": "Visualizações de página", "metrics.pages": "Páginas", "metrics.referrers": "Referências", + "metrics.screens": "Screens", "metrics.unique-visitors": "Visitantes únicos", "metrics.views": "Visualizações", "metrics.visitors": "Visitantes" diff --git a/lang/pt-PT.json b/lang/pt-PT.json index 0c5bb7f8..018239fa 100644 --- a/lang/pt-PT.json +++ b/lang/pt-PT.json @@ -37,6 +37,7 @@ "label.more": "Mais", "label.name": "Nome", "label.new-password": "Nova senha", + "label.none": "None", "label.owner": "Proprietário", "label.password": "Senha", "label.passwords-dont-match": "As senhas não coincidem", @@ -97,13 +98,13 @@ "metrics.devices": "Dispositivos", "metrics.events": "Eventos", "metrics.filter.combined": "Combinado", - "metrics.filter.domain-only": "Apenas domínio", "metrics.filter.raw": "Dados brutos", "metrics.languages": "Línguas", "metrics.operating-systems": "Sistemas operativos", "metrics.page-views": "Visualizações da página", "metrics.pages": "Páginas", "metrics.referrers": "Referenciadores", + "metrics.screens": "Screens", "metrics.unique-visitors": "Visitantes únicos", "metrics.views": "Visualizações", "metrics.visitors": "Visitantes" diff --git a/lang/ro-RO.json b/lang/ro-RO.json index 9fdb9560..1be18a75 100644 --- a/lang/ro-RO.json +++ b/lang/ro-RO.json @@ -37,6 +37,7 @@ "label.more": "Mai mult", "label.name": "Nume", "label.new-password": "Parola nouă", + "label.none": "None", "label.owner": "Owner", "label.password": "Parolă", "label.passwords-dont-match": "Parolele nu se potrivesc", @@ -97,13 +98,13 @@ "metrics.devices": "Dispozitive", "metrics.events": "Evenimente", "metrics.filter.combined": "Combinat", - "metrics.filter.domain-only": "Numai domeniu", "metrics.filter.raw": "Brut", "metrics.languages": "Languages", "metrics.operating-systems": "Sisteme de operare", "metrics.page-views": "Vizualizări de pagină", "metrics.pages": "Pagini", "metrics.referrers": "Site-uri de proveniență", + "metrics.screens": "Screens", "metrics.unique-visitors": "Vizitatori unici", "metrics.views": "Vizualizări", "metrics.visitors": "Vizitatori" diff --git a/lang/ru-RU.json b/lang/ru-RU.json index be61788a..43817f25 100644 --- a/lang/ru-RU.json +++ b/lang/ru-RU.json @@ -37,6 +37,7 @@ "label.more": "Больше", "label.name": "Имя", "label.new-password": "Новый пароль", + "label.none": "None", "label.owner": "Владелец", "label.password": "Пароль", "label.passwords-dont-match": "Пароли не совпадают", @@ -97,13 +98,13 @@ "metrics.devices": "Устройства", "metrics.events": "События", "metrics.filter.combined": "Объединенные", - "metrics.filter.domain-only": "Только домен", "metrics.filter.raw": "Сырые данные", "metrics.languages": "Языки", "metrics.operating-systems": "Операционные системы", "metrics.page-views": "Просмотры страниц", "metrics.pages": "Страницы", "metrics.referrers": "Источники", + "metrics.screens": "Screens", "metrics.unique-visitors": "Уникальные посетители", "metrics.views": "Просмотры", "metrics.visitors": "Посетители" diff --git a/lang/sk-SK.json b/lang/sk-SK.json index 78af4751..0c810f61 100644 --- a/lang/sk-SK.json +++ b/lang/sk-SK.json @@ -37,6 +37,7 @@ "label.more": "Viac", "label.name": "Meno", "label.new-password": "Nové heslo", + "label.none": "None", "label.owner": "Owner", "label.password": "Heslo", "label.passwords-dont-match": "Hesla se nezhodujú", @@ -97,13 +98,13 @@ "metrics.devices": "Zariadenie", "metrics.events": "Udalosti", "metrics.filter.combined": "Kombinácie", - "metrics.filter.domain-only": "Domény", "metrics.filter.raw": "Nezpracované", "metrics.languages": "Languages", "metrics.operating-systems": "Operačný systém", "metrics.page-views": "Zobrazenie stánok", "metrics.pages": "Stránky", "metrics.referrers": "Odkazy", + "metrics.screens": "Screens", "metrics.unique-visitors": "Jedinečné návštevy", "metrics.views": "Zobrazení", "metrics.visitors": "Návštevy" diff --git a/lang/sl-SI.json b/lang/sl-SI.json index 059ab473..e0e77118 100644 --- a/lang/sl-SI.json +++ b/lang/sl-SI.json @@ -37,6 +37,7 @@ "label.more": "Več", "label.name": "Ime", "label.new-password": "Novo geslo", + "label.none": "None", "label.owner": "Owner", "label.password": "Geslo", "label.passwords-dont-match": "Gesli se ne ujemata", @@ -97,13 +98,13 @@ "metrics.devices": "Naprave", "metrics.events": "Dogodki", "metrics.filter.combined": "Skupno", - "metrics.filter.domain-only": "Samo domena", "metrics.filter.raw": "Neobdelane meritve", "metrics.languages": "Languages", "metrics.operating-systems": "Operacijski sistemi", "metrics.page-views": "Ogledi strani", "metrics.pages": "Strani", "metrics.referrers": "Viri", + "metrics.screens": "Screens", "metrics.unique-visitors": "Unikatni obiskovalci", "metrics.views": "Ogledi", "metrics.visitors": "Obiskovalci" diff --git a/lang/sv-SE.json b/lang/sv-SE.json index 2cc8ab6f..1ad63afb 100644 --- a/lang/sv-SE.json +++ b/lang/sv-SE.json @@ -37,6 +37,7 @@ "label.more": "Mer", "label.name": "Namn", "label.new-password": "Nytt lösenord", + "label.none": "None", "label.owner": "Ägare", "label.password": "Lösenord", "label.passwords-dont-match": "Lösenorden är inte samma", @@ -97,13 +98,13 @@ "metrics.devices": "Enheter", "metrics.events": "Händelser", "metrics.filter.combined": "Kombinerade", - "metrics.filter.domain-only": "Endast domän", "metrics.filter.raw": "Rådata", "metrics.languages": "Språk", "metrics.operating-systems": "Operativsystem", "metrics.page-views": "Sidvisningar", "metrics.pages": "Sidor", "metrics.referrers": "Hänvisare", + "metrics.screens": "Screens", "metrics.unique-visitors": "Unika besökare", "metrics.views": "Visningar", "metrics.visitors": "Besökare" diff --git a/lang/ta-IN.json b/lang/ta-IN.json index 2917cddb..483373a2 100644 --- a/lang/ta-IN.json +++ b/lang/ta-IN.json @@ -37,6 +37,7 @@ "label.more": "மேலும்", "label.name": "பெயர்", "label.new-password": "புதிய கடவுச்சொல்", + "label.none": "None", "label.owner": "Owner", "label.password": "கடவுச்சொல்", "label.passwords-dont-match": "இருக்கடவுச்சொல் பொருந்தவில்லை", @@ -97,13 +98,13 @@ "metrics.devices": "சாதனங்கள்", "metrics.events": "நிகழ்வுகள்", "metrics.filter.combined": "ஒருங்கிணைந்த", - "metrics.filter.domain-only": "கள முகவரி மட்டும்", "metrics.filter.raw": "மூல", "metrics.languages": "Languages", "metrics.operating-systems": "இயக்க முறைமைகள்", "metrics.page-views": "பக்க காட்சிகள்", "metrics.pages": "பக்கங்கள்", "metrics.referrers": "குறிப்பிடுவோர்", + "metrics.screens": "Screens", "metrics.unique-visitors": "தனிப்பட்ட பார்வையாளர்கள்", "metrics.views": "பார்வைகள்", "metrics.visitors": "பார்வையாளர்கள்" diff --git a/lang/tr-TR.json b/lang/tr-TR.json index 04ebe32d..81fdf3f9 100644 --- a/lang/tr-TR.json +++ b/lang/tr-TR.json @@ -37,6 +37,7 @@ "label.more": "Detaylı göster", "label.name": "İsim", "label.new-password": "Yeni parola", + "label.none": "None", "label.owner": "Owner", "label.password": "Parola", "label.passwords-dont-match": "Parolalar uyuşmuyor", @@ -97,15 +98,14 @@ "metrics.devices": "Cihazlar", "metrics.events": "Olaylar", "metrics.filter.combined": "Birleşik", - "metrics.filter.domain-only": "Yalnızca alan adı", "metrics.filter.raw": "Ham", "metrics.languages": "Languages", "metrics.operating-systems": "İşletim sistemi", "metrics.page-views": "Sayfa görünümü", "metrics.pages": "Sayfalar", "metrics.referrers": "Yönlendirenler", + "metrics.screens": "Ekranlar", "metrics.unique-visitors": "Tekil kullanıcı", "metrics.views": "Görüntüleme", - "metrics.visitors": "Ziyaretçi", - "metrics.screens": "Ekranlar" + "metrics.visitors": "Ziyaretçi" } diff --git a/lang/uk-UA.json b/lang/uk-UA.json index bd3a02d2..a6f6be84 100644 --- a/lang/uk-UA.json +++ b/lang/uk-UA.json @@ -37,6 +37,7 @@ "label.more": "Більше", "label.name": "Ім'я", "label.new-password": "Новий пароль", + "label.none": "None", "label.owner": "Власник", "label.password": "Пароль", "label.passwords-dont-match": "Паролі не співпадають", @@ -97,13 +98,13 @@ "metrics.devices": "Пристрої", "metrics.events": "Події", "metrics.filter.combined": "Об'єднані", - "metrics.filter.domain-only": "Лише домен", "metrics.filter.raw": "Сирі дані", "metrics.languages": "Мови", "metrics.operating-systems": "Операційні системи", "metrics.page-views": "Перегляди сторінок", "metrics.pages": "Сторінки", "metrics.referrers": "Джерела", + "metrics.screens": "Screens", "metrics.unique-visitors": "Унікальні відвідувачі", "metrics.views": "Перегляди", "metrics.visitors": "Відвідувачі" diff --git a/lang/ur-PK.json b/lang/ur-PK.json index dac2bfb5..7b96268e 100644 --- a/lang/ur-PK.json +++ b/lang/ur-PK.json @@ -37,6 +37,7 @@ "label.more": "مزید", "label.name": "نام", "label.new-password": "نیا پاس ورڈ", + "label.none": "None", "label.owner": "مالک", "label.password": "پاس ورڈ", "label.passwords-dont-match": "پاس ورڈز مماثل نہیں ہیں", @@ -97,13 +98,13 @@ "metrics.devices": "آلات", "metrics.events": "واقعات", "metrics.filter.combined": "مشترکہ", - "metrics.filter.domain-only": "صرف ڈومین", "metrics.filter.raw": "خام", "metrics.languages": "زبانیں", "metrics.operating-systems": "آپریٹنگ سسٹمز", "metrics.page-views": "صفحہ کے نظارے", "metrics.pages": "صفحات", "metrics.referrers": "بھیجنے والے", + "metrics.screens": "Screens", "metrics.unique-visitors": "منفرد زائرین", "metrics.views": "مناظر", "metrics.visitors": "زائرین" diff --git a/lang/vi-VN.json b/lang/vi-VN.json index 5c71aae7..efd00a09 100644 --- a/lang/vi-VN.json +++ b/lang/vi-VN.json @@ -37,6 +37,7 @@ "label.more": "Thêm", "label.name": "Tên", "label.new-password": "Mật khẩu mới", + "label.none": "None", "label.owner": "Chủ sở hữu", "label.password": "Mật khẩu", "label.passwords-dont-match": "Mật khẩu không đồng nhất", @@ -97,13 +98,13 @@ "metrics.devices": "Thiết bị", "metrics.events": "Sự kiện", "metrics.filter.combined": "Kết hợp", - "metrics.filter.domain-only": "Chỉ tên miền", "metrics.filter.raw": "Gốc", "metrics.languages": "Ngôn ngữ", "metrics.operating-systems": "Hệ điều hành", "metrics.page-views": "Lượt xem", "metrics.pages": "Trang", "metrics.referrers": "Liên kết giới thiệu", + "metrics.screens": "Screens", "metrics.unique-visitors": "Khách truy cập một lần", "metrics.views": "Xem", "metrics.visitors": "Khách" diff --git a/lang/zh-CN.json b/lang/zh-CN.json index 506c99b8..8e6a3bfc 100644 --- a/lang/zh-CN.json +++ b/lang/zh-CN.json @@ -37,6 +37,7 @@ "label.more": "更多", "label.name": "名字", "label.new-password": "新密码", + "label.none": "None", "label.owner": "所有者", "label.password": "密码", "label.passwords-dont-match": "密码不一致", @@ -97,13 +98,13 @@ "metrics.devices": "设备", "metrics.events": "行为类别", "metrics.filter.combined": "总和", - "metrics.filter.domain-only": "只看域名", "metrics.filter.raw": "原始", "metrics.languages": "语言", "metrics.operating-systems": "操作系统", "metrics.page-views": "页面浏览量", "metrics.pages": "网页", "metrics.referrers": "来源域名", + "metrics.screens": "Screens", "metrics.unique-visitors": "独立访客", "metrics.views": "浏览量", "metrics.visitors": "访客" diff --git a/lang/zh-TW.json b/lang/zh-TW.json index d1964b21..77ce6204 100644 --- a/lang/zh-TW.json +++ b/lang/zh-TW.json @@ -37,6 +37,7 @@ "label.more": "更多", "label.name": "名字", "label.new-password": "新密碼", + "label.none": "None", "label.owner": "Owner", "label.password": "密碼", "label.passwords-dont-match": "密碼不一致", @@ -97,13 +98,13 @@ "metrics.devices": "裝置", "metrics.events": "行為類別", "metrics.filter.combined": "總和", - "metrics.filter.domain-only": "僅域名", "metrics.filter.raw": "原始", "metrics.languages": "Languages", "metrics.operating-systems": "操作系统", "metrics.page-views": "網頁流量", "metrics.pages": "網頁", "metrics.referrers": "指入域名", + "metrics.screens": "Screens", "metrics.unique-visitors": "獨立訪客", "metrics.views": "頁面流量", "metrics.visitors": "獨立訪客" diff --git a/lib/filters.js b/lib/filters.js index baefcda7..86e9ae41 100644 --- a/lib/filters.js +++ b/lib/filters.js @@ -1,14 +1,10 @@ -import { removeTrailingSlash, removeWWW, getDomainName } from './url'; +import { removeWWW } from './url'; -export const urlFilter = (data, { raw }) => { +export const urlFilter = data => { const isValidUrl = url => { return url !== '' && url !== null && !url.startsWith('#'); }; - if (raw) { - return data.filter(({ x }) => isValidUrl(x)); - } - const cleanUrl = url => { try { const { pathname, search } = new URL(url, location.origin); @@ -44,68 +40,26 @@ export const urlFilter = (data, { raw }) => { return Object.keys(map).map(key => ({ x: key, y: map[key] })); }; -export const refFilter = (data, { domain, domainOnly, raw }) => { - const domainName = getDomainName(domain); - const regex = new RegExp(`http[s]?://([a-z0-9-]+\\.)*${domainName}`); +export const refFilter = data => { const links = {}; - const isValidRef = referrer => { - return referrer !== null && !referrer.startsWith('/') && !referrer.startsWith('#'); - }; - - const cleanUrl = url => { - try { - if (url === '') { - return 'Direct / None'; - } - - const { hostname, origin, pathname, searchParams, protocol } = new URL(url); - - if (regex.test(url)) { - return null; - } - - if (domainOnly && hostname) { - return removeWWW(hostname); - } - - if (!origin || origin === 'null') { - return `${protocol}${removeTrailingSlash(pathname)}`; - } - - if (protocol.startsWith('http')) { - const path = removeTrailingSlash(pathname); - const referrer = searchParams.get('referrer'); - const query = referrer ? `?referrer=${referrer}` : ''; - - return removeTrailingSlash(`${removeWWW(hostname)}${path}`) + query; - } - - return null; - } catch { - return null; - } - }; - - if (raw) { - return data.filter(({ x }) => isValidRef(x) && !regex.test(x)); - } - const map = data.reduce((obj, { x, y }) => { - if (!isValidRef(x)) { - return obj; + let id; + + try { + const url = new URL(x); + + id = removeWWW(url.hostname) || url.href; + } catch { + id = ''; } - const url = cleanUrl(x); + links[id] = x; - links[url] = x; - - if (url) { - if (!obj[url]) { - obj[url] = y; - } else { - obj[url] += y; - } + if (!obj[id]) { + obj[id] = y; + } else { + obj[id] += y; } return obj; diff --git a/lib/queries.js b/lib/queries.js index 98fc6aa3..4317d5f4 100644 --- a/lib/queries.js +++ b/lib/queries.js @@ -59,11 +59,11 @@ export function getTimestampInterval(field) { } } -export function getFilterQuery(table, filters = {}, params = []) { +export function getFilterQuery(table, column, filters = {}, params = []) { const query = Object.keys(filters).reduce((arr, key) => { const value = filters[key]; - if (value === undefined) { + if (!value || value === true) { return arr; } @@ -94,7 +94,8 @@ export function getFilterQuery(table, filters = {}, params = []) { case 'referrer': if (table === 'pageview') { - arr.push(`and ${table}.referrer like $${params.length + 1}`); + arr.push(`and ${table}.referrer like $${params.length + 1} `); + arr.push(`and ${table}.referrer not like '/%'`); params.push(`%${decodeURIComponent(value)}%`); } break; @@ -114,7 +115,7 @@ export function getFilterQuery(table, filters = {}, params = []) { return query.join('\n'); } -export function parseFilters(table, filters = {}, params = []) { +export function parseFilters(table, column, filters = {}, params = []) { const { domain, url, event_url, referrer, os, browser, device, country, event_type } = filters; const pageviewFilters = { domain, url, referrer }; @@ -130,9 +131,9 @@ export function parseFilters(table, filters = {}, params = []) { os || browser || device || country ? `inner join session on ${table}.session_id = session.session_id` : '', - pageviewQuery: getFilterQuery('pageview', pageviewFilters, params), - sessionQuery: getFilterQuery('session', sessionFilters, params), - eventQuery: getFilterQuery('event', eventFilters, params), + pageviewQuery: getFilterQuery('pageview', column, pageviewFilters, params), + sessionQuery: getFilterQuery('session', column, sessionFilters, params), + eventQuery: getFilterQuery('event', column, eventFilters, params), }; } diff --git a/lib/url.js b/lib/url.js index 9bd8a3ab..644770b6 100644 --- a/lib/url.js +++ b/lib/url.js @@ -6,14 +6,6 @@ export function removeWWW(url) { return url && url.length > 1 && url.startsWith('www.') ? url.slice(4) : url; } -export function getDomainName(str) { - try { - return new URL(str).hostname; - } catch (e) { - return str; - } -} - export function getQueryString(params = {}) { const map = Object.keys(params).reduce((arr, key) => { if (params[key] !== undefined) { diff --git a/pages/api/website/[id]/metrics.js b/pages/api/website/[id]/metrics.js index cdba345c..09229408 100644 --- a/pages/api/website/[id]/metrics.js +++ b/pages/api/website/[id]/metrics.js @@ -69,7 +69,7 @@ export default async (req, res) => { if (pageviewColumns.includes(type) || type === 'event') { let domain; if (type === 'referrer') { - const website = getWebsiteById(websiteId); + const website = await getWebsiteById(websiteId); if (!website) { return badRequest(res); @@ -80,17 +80,18 @@ export default async (req, res) => { const column = getColumn(type); const table = getTable(type); - - const data = await getPageviewMetrics(websiteId, startDate, endDate, column, table, { + const filters = { domain, url: type !== 'url' && table !== 'event' ? url : undefined, - referrer: type !== 'referrer' ? referrer : undefined, + referrer: type !== 'referrer' ? referrer : true, os: type !== 'os' ? os : undefined, browser: type !== 'browser' ? browser : undefined, device: type !== 'device' ? device : undefined, country: type !== 'country' ? country : undefined, event_url: type !== 'url' && table === 'event' ? url : undefined, - }); + }; + + const data = await getPageviewMetrics(websiteId, startDate, endDate, column, table, filters); return ok(res, data); } diff --git a/public/intl/messages/ar-SA.json b/public/intl/messages/ar-SA.json index d49db52f..39942898 100644 --- a/public/intl/messages/ar-SA.json +++ b/public/intl/messages/ar-SA.json @@ -247,6 +247,12 @@ "value": "كلمة مرور جديدة" } ], + "label.none": [ + { + "type": 0, + "value": "None" + } + ], "label.owner": [ { "type": 0, @@ -728,13 +734,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "مجمعة" - } - ], - "metrics.filter.domain-only": [ - { - "type": 0, - "value": "نطاق فقط" + "value": "Combined" } ], "metrics.filter.raw": [ @@ -773,6 +773,12 @@ "value": "التحويلات" } ], + "metrics.screens": [ + { + "type": 0, + "value": "Screens" + } + ], "metrics.unique-visitors": [ { "type": 0, diff --git a/public/intl/messages/ca-ES.json b/public/intl/messages/ca-ES.json index d34dcc0b..eaccffe5 100644 --- a/public/intl/messages/ca-ES.json +++ b/public/intl/messages/ca-ES.json @@ -247,6 +247,12 @@ "value": "Contrasenya nova" } ], + "label.none": [ + { + "type": 0, + "value": "None" + } + ], "label.owner": [ { "type": 0, @@ -728,13 +734,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Combinat" - } - ], - "metrics.filter.domain-only": [ - { - "type": 0, - "value": "Només domini" + "value": "Combined" } ], "metrics.filter.raw": [ @@ -773,6 +773,12 @@ "value": "Referents" } ], + "metrics.screens": [ + { + "type": 0, + "value": "Screens" + } + ], "metrics.unique-visitors": [ { "type": 0, diff --git a/public/intl/messages/cs-CZ.json b/public/intl/messages/cs-CZ.json index f1055112..8b07a05a 100644 --- a/public/intl/messages/cs-CZ.json +++ b/public/intl/messages/cs-CZ.json @@ -247,6 +247,12 @@ "value": "Nové heslo" } ], + "label.none": [ + { + "type": 0, + "value": "None" + } + ], "label.owner": [ { "type": 0, @@ -728,13 +734,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Kombinace" - } - ], - "metrics.filter.domain-only": [ - { - "type": 0, - "value": "Domény" + "value": "Combined" } ], "metrics.filter.raw": [ @@ -773,6 +773,12 @@ "value": "Odkazy" } ], + "metrics.screens": [ + { + "type": 0, + "value": "Screens" + } + ], "metrics.unique-visitors": [ { "type": 0, diff --git a/public/intl/messages/da-DK.json b/public/intl/messages/da-DK.json index 964947c7..49fad782 100644 --- a/public/intl/messages/da-DK.json +++ b/public/intl/messages/da-DK.json @@ -247,6 +247,12 @@ "value": "Ny adgangskode" } ], + "label.none": [ + { + "type": 0, + "value": "None" + } + ], "label.owner": [ { "type": 0, @@ -728,13 +734,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Kombineret" - } - ], - "metrics.filter.domain-only": [ - { - "type": 0, - "value": "Kun domæne" + "value": "Combined" } ], "metrics.filter.raw": [ @@ -773,6 +773,12 @@ "value": "Henvisninger" } ], + "metrics.screens": [ + { + "type": 0, + "value": "Screens" + } + ], "metrics.unique-visitors": [ { "type": 0, diff --git a/public/intl/messages/de-DE.json b/public/intl/messages/de-DE.json index f1b5375e..63feeaaf 100644 --- a/public/intl/messages/de-DE.json +++ b/public/intl/messages/de-DE.json @@ -247,6 +247,12 @@ "value": "Neues Passwort" } ], + "label.none": [ + { + "type": 0, + "value": "None" + } + ], "label.owner": [ { "type": 0, @@ -728,13 +734,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Kombiniert" - } - ], - "metrics.filter.domain-only": [ - { - "type": 0, - "value": "Nur diese Domain" + "value": "Combined" } ], "metrics.filter.raw": [ diff --git a/public/intl/messages/el-GR.json b/public/intl/messages/el-GR.json index 4c2fa2ac..f570d120 100644 --- a/public/intl/messages/el-GR.json +++ b/public/intl/messages/el-GR.json @@ -247,6 +247,12 @@ "value": "Νέος κωδικός" } ], + "label.none": [ + { + "type": 0, + "value": "None" + } + ], "label.owner": [ { "type": 0, @@ -728,13 +734,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Σε συνδυασμό" - } - ], - "metrics.filter.domain-only": [ - { - "type": 0, - "value": "Μόνο τομέας" + "value": "Combined" } ], "metrics.filter.raw": [ @@ -773,6 +773,12 @@ "value": "Παραπομπές" } ], + "metrics.screens": [ + { + "type": 0, + "value": "Screens" + } + ], "metrics.unique-visitors": [ { "type": 0, diff --git a/public/intl/messages/en-GB.json b/public/intl/messages/en-GB.json index 0d9d0e66..9e07ff82 100644 --- a/public/intl/messages/en-GB.json +++ b/public/intl/messages/en-GB.json @@ -247,6 +247,12 @@ "value": "New password" } ], + "label.none": [ + { + "type": 0, + "value": "None" + } + ], "label.owner": [ { "type": 0, @@ -731,12 +737,6 @@ "value": "Combined" } ], - "metrics.filter.domain-only": [ - { - "type": 0, - "value": "Domain only" - } - ], "metrics.filter.raw": [ { "type": 0, diff --git a/public/intl/messages/en-US.json b/public/intl/messages/en-US.json index 0d9d0e66..9e07ff82 100644 --- a/public/intl/messages/en-US.json +++ b/public/intl/messages/en-US.json @@ -247,6 +247,12 @@ "value": "New password" } ], + "label.none": [ + { + "type": 0, + "value": "None" + } + ], "label.owner": [ { "type": 0, @@ -731,12 +737,6 @@ "value": "Combined" } ], - "metrics.filter.domain-only": [ - { - "type": 0, - "value": "Domain only" - } - ], "metrics.filter.raw": [ { "type": 0, diff --git a/public/intl/messages/es-MX.json b/public/intl/messages/es-MX.json index 6c2d9dc7..be8ddb34 100644 --- a/public/intl/messages/es-MX.json +++ b/public/intl/messages/es-MX.json @@ -247,6 +247,12 @@ "value": "Nueva contraseña" } ], + "label.none": [ + { + "type": 0, + "value": "None" + } + ], "label.owner": [ { "type": 0, @@ -728,13 +734,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Combinado" - } - ], - "metrics.filter.domain-only": [ - { - "type": 0, - "value": "Únicamente dominio" + "value": "Combined" } ], "metrics.filter.raw": [ @@ -773,6 +773,12 @@ "value": "Referentes" } ], + "metrics.screens": [ + { + "type": 0, + "value": "Screens" + } + ], "metrics.unique-visitors": [ { "type": 0, diff --git a/public/intl/messages/fa-IR.json b/public/intl/messages/fa-IR.json index 0b64922b..e29343ef 100644 --- a/public/intl/messages/fa-IR.json +++ b/public/intl/messages/fa-IR.json @@ -247,6 +247,12 @@ "value": "رمز جدید" } ], + "label.none": [ + { + "type": 0, + "value": "None" + } + ], "label.owner": [ { "type": 0, @@ -712,13 +718,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "ترکیب شده" - } - ], - "metrics.filter.domain-only": [ - { - "type": 0, - "value": "فقط دامنه" + "value": "Combined" } ], "metrics.filter.raw": [ @@ -757,6 +757,12 @@ "value": "ارجاع دهندگان" } ], + "metrics.screens": [ + { + "type": 0, + "value": "Screens" + } + ], "metrics.unique-visitors": [ { "type": 0, diff --git a/public/intl/messages/fi-FI.json b/public/intl/messages/fi-FI.json index da6c9b95..2b4ebd01 100644 --- a/public/intl/messages/fi-FI.json +++ b/public/intl/messages/fi-FI.json @@ -247,6 +247,12 @@ "value": "Uusi salasana" } ], + "label.none": [ + { + "type": 0, + "value": "None" + } + ], "label.owner": [ { "type": 0, @@ -728,13 +734,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Yhdistetty" - } - ], - "metrics.filter.domain-only": [ - { - "type": 0, - "value": "Vain verkkotunnus" + "value": "Combined" } ], "metrics.filter.raw": [ @@ -773,6 +773,12 @@ "value": "Viittaajat" } ], + "metrics.screens": [ + { + "type": 0, + "value": "Screens" + } + ], "metrics.unique-visitors": [ { "type": 0, diff --git a/public/intl/messages/fo-FO.json b/public/intl/messages/fo-FO.json index 356f0790..ca909f25 100644 --- a/public/intl/messages/fo-FO.json +++ b/public/intl/messages/fo-FO.json @@ -247,6 +247,12 @@ "value": "Nýtt loyniorð" } ], + "label.none": [ + { + "type": 0, + "value": "None" + } + ], "label.owner": [ { "type": 0, @@ -728,13 +734,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Samansett" - } - ], - "metrics.filter.domain-only": [ - { - "type": 0, - "value": "Bara økisnavn" + "value": "Combined" } ], "metrics.filter.raw": [ @@ -773,6 +773,12 @@ "value": "Framsendingar" } ], + "metrics.screens": [ + { + "type": 0, + "value": "Screens" + } + ], "metrics.unique-visitors": [ { "type": 0, diff --git a/public/intl/messages/fr-FR.json b/public/intl/messages/fr-FR.json index 3202fe02..f408278f 100644 --- a/public/intl/messages/fr-FR.json +++ b/public/intl/messages/fr-FR.json @@ -239,6 +239,12 @@ "value": "Nouveau mot de passe" } ], + "label.none": [ + { + "type": 0, + "value": "None" + } + ], "label.owner": [ { "type": 0, @@ -724,13 +730,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Combiné" - } - ], - "metrics.filter.domain-only": [ - { - "type": 0, - "value": "Domaine uniquement" + "value": "Combined" } ], "metrics.filter.raw": [ @@ -769,6 +769,12 @@ "value": "Sources" } ], + "metrics.screens": [ + { + "type": 0, + "value": "Screens" + } + ], "metrics.unique-visitors": [ { "type": 0, diff --git a/public/intl/messages/ga-ES.json b/public/intl/messages/ga-ES.json index 0803bd95..4c692742 100644 --- a/public/intl/messages/ga-ES.json +++ b/public/intl/messages/ga-ES.json @@ -247,6 +247,12 @@ "value": "Novo contrasinal" } ], + "label.none": [ + { + "type": 0, + "value": "None" + } + ], "label.owner": [ { "type": 0, @@ -728,13 +734,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Combinado" - } - ], - "metrics.filter.domain-only": [ - { - "type": 0, - "value": "Só dominio" + "value": "Combined" } ], "metrics.filter.raw": [ @@ -773,6 +773,12 @@ "value": "Orixes" } ], + "metrics.screens": [ + { + "type": 0, + "value": "Screens" + } + ], "metrics.unique-visitors": [ { "type": 0, diff --git a/public/intl/messages/he-IL.json b/public/intl/messages/he-IL.json index 60e865ce..46f6c04d 100644 --- a/public/intl/messages/he-IL.json +++ b/public/intl/messages/he-IL.json @@ -239,6 +239,12 @@ "value": "סיסמה חדשה" } ], + "label.none": [ + { + "type": 0, + "value": "None" + } + ], "label.owner": [ { "type": 0, @@ -708,13 +714,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "משותף" - } - ], - "metrics.filter.domain-only": [ - { - "type": 0, - "value": "דומיין בלבד" + "value": "Combined" } ], "metrics.filter.raw": [ @@ -753,6 +753,12 @@ "value": "מפנים" } ], + "metrics.screens": [ + { + "type": 0, + "value": "Screens" + } + ], "metrics.unique-visitors": [ { "type": 0, diff --git a/public/intl/messages/hi-IN.json b/public/intl/messages/hi-IN.json index 42675c43..cd81e789 100644 --- a/public/intl/messages/hi-IN.json +++ b/public/intl/messages/hi-IN.json @@ -247,6 +247,12 @@ "value": "नया पासवर्ड" } ], + "label.none": [ + { + "type": 0, + "value": "None" + } + ], "label.owner": [ { "type": 0, @@ -716,13 +722,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "संयुक्त" - } - ], - "metrics.filter.domain-only": [ - { - "type": 0, - "value": "केवल डोमेन" + "value": "Combined" } ], "metrics.filter.raw": [ @@ -761,6 +761,12 @@ "value": "सन्दर्भदाता" } ], + "metrics.screens": [ + { + "type": 0, + "value": "Screens" + } + ], "metrics.unique-visitors": [ { "type": 0, diff --git a/public/intl/messages/hu-HU.json b/public/intl/messages/hu-HU.json index c60cfd7a..83ba4421 100644 --- a/public/intl/messages/hu-HU.json +++ b/public/intl/messages/hu-HU.json @@ -247,6 +247,12 @@ "value": "Új jelszó" } ], + "label.none": [ + { + "type": 0, + "value": "None" + } + ], "label.owner": [ { "type": 0, @@ -728,13 +734,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Összevont" - } - ], - "metrics.filter.domain-only": [ - { - "type": 0, - "value": "Csak domain" + "value": "Combined" } ], "metrics.filter.raw": [ @@ -773,6 +773,12 @@ "value": "Hivatkozók" } ], + "metrics.screens": [ + { + "type": 0, + "value": "Screens" + } + ], "metrics.unique-visitors": [ { "type": 0, diff --git a/public/intl/messages/id-ID.json b/public/intl/messages/id-ID.json index f506af36..db251adc 100644 --- a/public/intl/messages/id-ID.json +++ b/public/intl/messages/id-ID.json @@ -239,6 +239,12 @@ "value": "Kata sandi baru" } ], + "label.none": [ + { + "type": 0, + "value": "None" + } + ], "label.owner": [ { "type": 0, @@ -696,13 +702,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Gabungan" - } - ], - "metrics.filter.domain-only": [ - { - "type": 0, - "value": "Hanya domain" + "value": "Combined" } ], "metrics.filter.raw": [ @@ -741,6 +741,12 @@ "value": "Perujuk" } ], + "metrics.screens": [ + { + "type": 0, + "value": "Screens" + } + ], "metrics.unique-visitors": [ { "type": 0, diff --git a/public/intl/messages/it-IT.json b/public/intl/messages/it-IT.json index fca4126e..61033a8d 100644 --- a/public/intl/messages/it-IT.json +++ b/public/intl/messages/it-IT.json @@ -247,6 +247,12 @@ "value": "Nuova password" } ], + "label.none": [ + { + "type": 0, + "value": "None" + } + ], "label.owner": [ { "type": 0, @@ -732,13 +738,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Aggregati" - } - ], - "metrics.filter.domain-only": [ - { - "type": 0, - "value": "Solo dominio" + "value": "Combined" } ], "metrics.filter.raw": [ @@ -777,6 +777,12 @@ "value": "Referrers" } ], + "metrics.screens": [ + { + "type": 0, + "value": "Screens" + } + ], "metrics.unique-visitors": [ { "type": 0, diff --git a/public/intl/messages/ja-JP.json b/public/intl/messages/ja-JP.json index 25c005e2..6d3083f2 100644 --- a/public/intl/messages/ja-JP.json +++ b/public/intl/messages/ja-JP.json @@ -247,6 +247,12 @@ "value": "新しいパスワード" } ], + "label.none": [ + { + "type": 0, + "value": "None" + } + ], "label.owner": [ { "type": 0, @@ -700,13 +706,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "パスまで" - } - ], - "metrics.filter.domain-only": [ - { - "type": 0, - "value": "ドメインのみ" + "value": "Combined" } ], "metrics.filter.raw": [ @@ -745,6 +745,12 @@ "value": "リファラー" } ], + "metrics.screens": [ + { + "type": 0, + "value": "Screens" + } + ], "metrics.unique-visitors": [ { "type": 0, diff --git a/public/intl/messages/ko-KR.json b/public/intl/messages/ko-KR.json index c065e43f..7354f9bb 100644 --- a/public/intl/messages/ko-KR.json +++ b/public/intl/messages/ko-KR.json @@ -247,6 +247,12 @@ "value": "새 비밀번호" } ], + "label.none": [ + { + "type": 0, + "value": "None" + } + ], "label.owner": [ { "type": 0, @@ -700,13 +706,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "합쳐서 보기" - } - ], - "metrics.filter.domain-only": [ - { - "type": 0, - "value": "도메인만" + "value": "Combined" } ], "metrics.filter.raw": [ @@ -745,6 +745,12 @@ "value": "리퍼러" } ], + "metrics.screens": [ + { + "type": 0, + "value": "Screens" + } + ], "metrics.unique-visitors": [ { "type": 0, diff --git a/public/intl/messages/lt-LT.json b/public/intl/messages/lt-LT.json index e55defca..fade699d 100644 --- a/public/intl/messages/lt-LT.json +++ b/public/intl/messages/lt-LT.json @@ -352,6 +352,12 @@ "value": "Naujas slaptažodis" } ], + "label.none": [ + { + "type": 0, + "value": "None" + } + ], "label.owner": [ { "type": 0, @@ -853,13 +859,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Kombinuoti" - } - ], - "metrics.filter.domain-only": [ - { - "type": 0, - "value": "Tik domenas" + "value": "Combined" } ], "metrics.filter.raw": [ @@ -898,6 +898,12 @@ "value": "Referrers" } ], + "metrics.screens": [ + { + "type": 0, + "value": "Screens" + } + ], "metrics.unique-visitors": [ { "type": 0, diff --git a/public/intl/messages/mn-MN.json b/public/intl/messages/mn-MN.json index 9c1c8cff..584fe32c 100644 --- a/public/intl/messages/mn-MN.json +++ b/public/intl/messages/mn-MN.json @@ -247,6 +247,12 @@ "value": "Шинэ нууц үг" } ], + "label.none": [ + { + "type": 0, + "value": "None" + } + ], "label.owner": [ { "type": 0, @@ -728,13 +734,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Нэгтгэсэн" - } - ], - "metrics.filter.domain-only": [ - { - "type": 0, - "value": "Зөвхөн домэйн" + "value": "Combined" } ], "metrics.filter.raw": [ @@ -773,6 +773,12 @@ "value": "Чиглүүлэгч" } ], + "metrics.screens": [ + { + "type": 0, + "value": "Screens" + } + ], "metrics.unique-visitors": [ { "type": 0, diff --git a/public/intl/messages/ms-MY.json b/public/intl/messages/ms-MY.json index 5eeecc81..29d025ef 100644 --- a/public/intl/messages/ms-MY.json +++ b/public/intl/messages/ms-MY.json @@ -239,6 +239,12 @@ "value": "Kata laluan baru" } ], + "label.none": [ + { + "type": 0, + "value": "None" + } + ], "label.owner": [ { "type": 0, @@ -720,13 +726,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Digabungkan" - } - ], - "metrics.filter.domain-only": [ - { - "type": 0, - "value": "Domain sahaja" + "value": "Combined" } ], "metrics.filter.raw": [ @@ -765,6 +765,12 @@ "value": "Perujuk" } ], + "metrics.screens": [ + { + "type": 0, + "value": "Screens" + } + ], "metrics.unique-visitors": [ { "type": 0, diff --git a/public/intl/messages/nb-NO.json b/public/intl/messages/nb-NO.json index c7ba48f0..860e0133 100644 --- a/public/intl/messages/nb-NO.json +++ b/public/intl/messages/nb-NO.json @@ -247,6 +247,12 @@ "value": "Nytt passord" } ], + "label.none": [ + { + "type": 0, + "value": "None" + } + ], "label.owner": [ { "type": 0, @@ -732,13 +738,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Kombinert" - } - ], - "metrics.filter.domain-only": [ - { - "type": 0, - "value": "Bare domene" + "value": "Combined" } ], "metrics.filter.raw": [ @@ -777,6 +777,12 @@ "value": "Referanser" } ], + "metrics.screens": [ + { + "type": 0, + "value": "Screens" + } + ], "metrics.unique-visitors": [ { "type": 0, diff --git a/public/intl/messages/nl-NL.json b/public/intl/messages/nl-NL.json index ccf04d00..afd2d1d5 100644 --- a/public/intl/messages/nl-NL.json +++ b/public/intl/messages/nl-NL.json @@ -247,6 +247,12 @@ "value": "Nieuw wachtwoord" } ], + "label.none": [ + { + "type": 0, + "value": "None" + } + ], "label.owner": [ { "type": 0, @@ -728,13 +734,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Gecombineerd" - } - ], - "metrics.filter.domain-only": [ - { - "type": 0, - "value": "Alleen domein" + "value": "Combined" } ], "metrics.filter.raw": [ @@ -773,6 +773,12 @@ "value": "Verwijzers" } ], + "metrics.screens": [ + { + "type": 0, + "value": "Screens" + } + ], "metrics.unique-visitors": [ { "type": 0, diff --git a/public/intl/messages/pl-PL.json b/public/intl/messages/pl-PL.json index 9a8ce376..7d85c96c 100644 --- a/public/intl/messages/pl-PL.json +++ b/public/intl/messages/pl-PL.json @@ -247,6 +247,12 @@ "value": "Nowe hasło" } ], + "label.none": [ + { + "type": 0, + "value": "None" + } + ], "label.owner": [ { "type": 0, @@ -728,13 +734,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Połączone" - } - ], - "metrics.filter.domain-only": [ - { - "type": 0, - "value": "Tylko domena" + "value": "Combined" } ], "metrics.filter.raw": [ @@ -773,6 +773,12 @@ "value": "Źródła odsyłające" } ], + "metrics.screens": [ + { + "type": 0, + "value": "Screens" + } + ], "metrics.unique-visitors": [ { "type": 0, diff --git a/public/intl/messages/pt-BR.json b/public/intl/messages/pt-BR.json index de33ed62..f723474e 100644 --- a/public/intl/messages/pt-BR.json +++ b/public/intl/messages/pt-BR.json @@ -247,6 +247,12 @@ "value": "Nova senha" } ], + "label.none": [ + { + "type": 0, + "value": "None" + } + ], "label.owner": [ { "type": 0, @@ -732,13 +738,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Combinado" - } - ], - "metrics.filter.domain-only": [ - { - "type": 0, - "value": "Apenas domínio" + "value": "Combined" } ], "metrics.filter.raw": [ @@ -777,6 +777,12 @@ "value": "Referências" } ], + "metrics.screens": [ + { + "type": 0, + "value": "Screens" + } + ], "metrics.unique-visitors": [ { "type": 0, diff --git a/public/intl/messages/pt-PT.json b/public/intl/messages/pt-PT.json index 505a7ec0..e50354dc 100644 --- a/public/intl/messages/pt-PT.json +++ b/public/intl/messages/pt-PT.json @@ -247,6 +247,12 @@ "value": "Nova senha" } ], + "label.none": [ + { + "type": 0, + "value": "None" + } + ], "label.owner": [ { "type": 0, @@ -732,13 +738,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Combinado" - } - ], - "metrics.filter.domain-only": [ - { - "type": 0, - "value": "Apenas domínio" + "value": "Combined" } ], "metrics.filter.raw": [ @@ -777,6 +777,12 @@ "value": "Referenciadores" } ], + "metrics.screens": [ + { + "type": 0, + "value": "Screens" + } + ], "metrics.unique-visitors": [ { "type": 0, diff --git a/public/intl/messages/ro-RO.json b/public/intl/messages/ro-RO.json index 56d2e557..9dbda703 100644 --- a/public/intl/messages/ro-RO.json +++ b/public/intl/messages/ro-RO.json @@ -247,6 +247,12 @@ "value": "Parola nouă" } ], + "label.none": [ + { + "type": 0, + "value": "None" + } + ], "label.owner": [ { "type": 0, @@ -728,13 +734,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Combinat" - } - ], - "metrics.filter.domain-only": [ - { - "type": 0, - "value": "Numai domeniu" + "value": "Combined" } ], "metrics.filter.raw": [ @@ -773,6 +773,12 @@ "value": "Site-uri de proveniență" } ], + "metrics.screens": [ + { + "type": 0, + "value": "Screens" + } + ], "metrics.unique-visitors": [ { "type": 0, diff --git a/public/intl/messages/ru-RU.json b/public/intl/messages/ru-RU.json index ea45447e..6a1af3c0 100644 --- a/public/intl/messages/ru-RU.json +++ b/public/intl/messages/ru-RU.json @@ -247,6 +247,12 @@ "value": "Новый пароль" } ], + "label.none": [ + { + "type": 0, + "value": "None" + } + ], "label.owner": [ { "type": 0, @@ -700,13 +706,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Объединенные" - } - ], - "metrics.filter.domain-only": [ - { - "type": 0, - "value": "Только домен" + "value": "Combined" } ], "metrics.filter.raw": [ @@ -745,6 +745,12 @@ "value": "Источники" } ], + "metrics.screens": [ + { + "type": 0, + "value": "Screens" + } + ], "metrics.unique-visitors": [ { "type": 0, diff --git a/public/intl/messages/sk-SK.json b/public/intl/messages/sk-SK.json index b81f5da1..ae4c1517 100644 --- a/public/intl/messages/sk-SK.json +++ b/public/intl/messages/sk-SK.json @@ -247,6 +247,12 @@ "value": "Nové heslo" } ], + "label.none": [ + { + "type": 0, + "value": "None" + } + ], "label.owner": [ { "type": 0, @@ -728,13 +734,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Kombinácie" - } - ], - "metrics.filter.domain-only": [ - { - "type": 0, - "value": "Domény" + "value": "Combined" } ], "metrics.filter.raw": [ @@ -773,6 +773,12 @@ "value": "Odkazy" } ], + "metrics.screens": [ + { + "type": 0, + "value": "Screens" + } + ], "metrics.unique-visitors": [ { "type": 0, diff --git a/public/intl/messages/sl-SI.json b/public/intl/messages/sl-SI.json index 74d4c3a9..ebf2c2f8 100644 --- a/public/intl/messages/sl-SI.json +++ b/public/intl/messages/sl-SI.json @@ -247,6 +247,12 @@ "value": "Novo geslo" } ], + "label.none": [ + { + "type": 0, + "value": "None" + } + ], "label.owner": [ { "type": 0, @@ -728,13 +734,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Skupno" - } - ], - "metrics.filter.domain-only": [ - { - "type": 0, - "value": "Samo domena" + "value": "Combined" } ], "metrics.filter.raw": [ @@ -773,6 +773,12 @@ "value": "Viri" } ], + "metrics.screens": [ + { + "type": 0, + "value": "Screens" + } + ], "metrics.unique-visitors": [ { "type": 0, diff --git a/public/intl/messages/sv-SE.json b/public/intl/messages/sv-SE.json index 3567fb63..dea602e8 100644 --- a/public/intl/messages/sv-SE.json +++ b/public/intl/messages/sv-SE.json @@ -247,6 +247,12 @@ "value": "Nytt lösenord" } ], + "label.none": [ + { + "type": 0, + "value": "None" + } + ], "label.owner": [ { "type": 0, @@ -732,13 +738,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Kombinerade" - } - ], - "metrics.filter.domain-only": [ - { - "type": 0, - "value": "Endast domän" + "value": "Combined" } ], "metrics.filter.raw": [ @@ -777,6 +777,12 @@ "value": "Hänvisare" } ], + "metrics.screens": [ + { + "type": 0, + "value": "Screens" + } + ], "metrics.unique-visitors": [ { "type": 0, diff --git a/public/intl/messages/ta-IN.json b/public/intl/messages/ta-IN.json index ef9edde6..f8079c12 100644 --- a/public/intl/messages/ta-IN.json +++ b/public/intl/messages/ta-IN.json @@ -247,6 +247,12 @@ "value": "புதிய கடவுச்சொல்" } ], + "label.none": [ + { + "type": 0, + "value": "None" + } + ], "label.owner": [ { "type": 0, @@ -720,13 +726,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "ஒருங்கிணைந்த" - } - ], - "metrics.filter.domain-only": [ - { - "type": 0, - "value": "கள முகவரி மட்டும்" + "value": "Combined" } ], "metrics.filter.raw": [ @@ -765,6 +765,12 @@ "value": "குறிப்பிடுவோர்" } ], + "metrics.screens": [ + { + "type": 0, + "value": "Screens" + } + ], "metrics.unique-visitors": [ { "type": 0, diff --git a/public/intl/messages/tr-TR.json b/public/intl/messages/tr-TR.json index 5489cab5..734dcbd8 100644 --- a/public/intl/messages/tr-TR.json +++ b/public/intl/messages/tr-TR.json @@ -247,6 +247,12 @@ "value": "Yeni parola" } ], + "label.none": [ + { + "type": 0, + "value": "None" + } + ], "label.owner": [ { "type": 0, @@ -692,13 +698,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Birleşik" - } - ], - "metrics.filter.domain-only": [ - { - "type": 0, - "value": "Yalnızca alan adı" + "value": "Combined" } ], "metrics.filter.raw": [ diff --git a/public/intl/messages/uk-UA.json b/public/intl/messages/uk-UA.json index 380b7586..ed1eeeb3 100644 --- a/public/intl/messages/uk-UA.json +++ b/public/intl/messages/uk-UA.json @@ -247,6 +247,12 @@ "value": "Новий пароль" } ], + "label.none": [ + { + "type": 0, + "value": "None" + } + ], "label.owner": [ { "type": 0, @@ -704,13 +710,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Об'єднані" - } - ], - "metrics.filter.domain-only": [ - { - "type": 0, - "value": "Лише домен" + "value": "Combined" } ], "metrics.filter.raw": [ @@ -749,6 +749,12 @@ "value": "Джерела" } ], + "metrics.screens": [ + { + "type": 0, + "value": "Screens" + } + ], "metrics.unique-visitors": [ { "type": 0, diff --git a/public/intl/messages/ur-PK.json b/public/intl/messages/ur-PK.json index 43f31df8..627ec206 100644 --- a/public/intl/messages/ur-PK.json +++ b/public/intl/messages/ur-PK.json @@ -251,6 +251,12 @@ "value": "نیا پاس ورڈ" } ], + "label.none": [ + { + "type": 0, + "value": "None" + } + ], "label.owner": [ { "type": 0, @@ -728,13 +734,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "مشترکہ" - } - ], - "metrics.filter.domain-only": [ - { - "type": 0, - "value": "صرف ڈومین" + "value": "Combined" } ], "metrics.filter.raw": [ @@ -773,6 +773,12 @@ "value": "بھیجنے والے" } ], + "metrics.screens": [ + { + "type": 0, + "value": "Screens" + } + ], "metrics.unique-visitors": [ { "type": 0, diff --git a/public/intl/messages/vi-VN.json b/public/intl/messages/vi-VN.json index 1d171c99..e8bb2e90 100644 --- a/public/intl/messages/vi-VN.json +++ b/public/intl/messages/vi-VN.json @@ -239,6 +239,12 @@ "value": "Mật khẩu mới" } ], + "label.none": [ + { + "type": 0, + "value": "None" + } + ], "label.owner": [ { "type": 0, @@ -712,13 +718,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Kết hợp" - } - ], - "metrics.filter.domain-only": [ - { - "type": 0, - "value": "Chỉ tên miền" + "value": "Combined" } ], "metrics.filter.raw": [ @@ -757,6 +757,12 @@ "value": "Liên kết giới thiệu" } ], + "metrics.screens": [ + { + "type": 0, + "value": "Screens" + } + ], "metrics.unique-visitors": [ { "type": 0, diff --git a/public/intl/messages/zh-CN.json b/public/intl/messages/zh-CN.json index a91b79e7..da01c8c2 100644 --- a/public/intl/messages/zh-CN.json +++ b/public/intl/messages/zh-CN.json @@ -247,6 +247,12 @@ "value": "新密码" } ], + "label.none": [ + { + "type": 0, + "value": "None" + } + ], "label.owner": [ { "type": 0, @@ -716,13 +722,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "总和" - } - ], - "metrics.filter.domain-only": [ - { - "type": 0, - "value": "只看域名" + "value": "Combined" } ], "metrics.filter.raw": [ @@ -761,6 +761,12 @@ "value": "来源域名" } ], + "metrics.screens": [ + { + "type": 0, + "value": "Screens" + } + ], "metrics.unique-visitors": [ { "type": 0, diff --git a/public/intl/messages/zh-TW.json b/public/intl/messages/zh-TW.json index aa77bd37..a5c857fb 100644 --- a/public/intl/messages/zh-TW.json +++ b/public/intl/messages/zh-TW.json @@ -247,6 +247,12 @@ "value": "新密碼" } ], + "label.none": [ + { + "type": 0, + "value": "None" + } + ], "label.owner": [ { "type": 0, @@ -712,13 +718,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "總和" - } - ], - "metrics.filter.domain-only": [ - { - "type": 0, - "value": "僅域名" + "value": "Combined" } ], "metrics.filter.raw": [ @@ -757,6 +757,12 @@ "value": "指入域名" } ], + "metrics.screens": [ + { + "type": 0, + "value": "Screens" + } + ], "metrics.unique-visitors": [ { "type": 0, diff --git a/queries/analytics/pageview/getPageviewMetrics.js b/queries/analytics/pageview/getPageviewMetrics.js index 12667706..a7233011 100644 --- a/queries/analytics/pageview/getPageviewMetrics.js +++ b/queries/analytics/pageview/getPageviewMetrics.js @@ -1,16 +1,17 @@ import { parseFilters, rawQuery } from 'lib/queries'; -export function getPageviewMetrics(website_id, start_at, end_at, field, table, filters = {}) { +export function getPageviewMetrics(website_id, start_at, end_at, column, table, filters = {}) { const params = [website_id, start_at, end_at]; const { pageviewQuery, sessionQuery, eventQuery, joinSession } = parseFilters( table, + column, filters, params, ); return rawQuery( ` - select ${field} x, count(*) y + select ${column} x, count(*) y from ${table} ${joinSession} where ${table}.website_id=$1 diff --git a/queries/analytics/pageview/getPageviewStats.js b/queries/analytics/pageview/getPageviewStats.js index e96b1824..1ddcd6f8 100644 --- a/queries/analytics/pageview/getPageviewStats.js +++ b/queries/analytics/pageview/getPageviewStats.js @@ -10,7 +10,12 @@ export function getPageviewStats( filters = {}, ) { const params = [website_id, start_at, end_at]; - const { pageviewQuery, sessionQuery, joinSession } = parseFilters('pageview', filters, params); + const { pageviewQuery, sessionQuery, joinSession } = parseFilters( + 'pageview', + null, + filters, + params, + ); return rawQuery( ` diff --git a/queries/analytics/session/getSessionMetrics.js b/queries/analytics/session/getSessionMetrics.js index 356163e9..6ecbfecd 100644 --- a/queries/analytics/session/getSessionMetrics.js +++ b/queries/analytics/session/getSessionMetrics.js @@ -2,7 +2,12 @@ import { parseFilters, rawQuery } from 'lib/queries'; export function getSessionMetrics(website_id, start_at, end_at, field, filters = {}) { const params = [website_id, start_at, end_at]; - const { pageviewQuery, sessionQuery, joinSession } = parseFilters('pageview', filters, params); + const { pageviewQuery, sessionQuery, joinSession } = parseFilters( + 'pageview', + null, + filters, + params, + ); return rawQuery( ` diff --git a/queries/analytics/stats/getWebsiteStats.js b/queries/analytics/stats/getWebsiteStats.js index 19eb3340..b9c36d96 100644 --- a/queries/analytics/stats/getWebsiteStats.js +++ b/queries/analytics/stats/getWebsiteStats.js @@ -2,7 +2,12 @@ import { parseFilters, rawQuery, getDateQuery, getTimestampInterval } from 'lib/ export function getWebsiteStats(website_id, start_at, end_at, filters = {}) { const params = [website_id, start_at, end_at]; - const { pageviewQuery, sessionQuery, joinSession } = parseFilters('pageview', filters, params); + const { pageviewQuery, sessionQuery, joinSession } = parseFilters( + 'pageview', + null, + filters, + params, + ); return rawQuery( ` From 358c725828c2492f99bbe7dc99413064a53fea61 Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Thu, 21 Jul 2022 01:35:14 -0700 Subject: [PATCH 18/35] Fix issue with unicode filtering. Closes #1258 --- components/metrics/FilterTags.js | 3 ++- pages/api/website/[id]/stats.js | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/components/metrics/FilterTags.js b/components/metrics/FilterTags.js index 077053d0..5b8ed63c 100644 --- a/components/metrics/FilterTags.js +++ b/components/metrics/FilterTags.js @@ -2,6 +2,7 @@ import React from 'react'; import classNames from 'classnames'; import Button from 'components/common/Button'; import Times from 'assets/times.svg'; +import { safeDecodeURI } from 'lib/url'; import styles from './FilterTags.module.css'; export default function FilterTags({ params, onClick }) { @@ -17,7 +18,7 @@ export default function FilterTags({ params, onClick }) { return (
); diff --git a/pages/api/website/[id]/stats.js b/pages/api/website/[id]/stats.js index 7f37574c..bd32c79d 100644 --- a/pages/api/website/[id]/stats.js +++ b/pages/api/website/[id]/stats.js @@ -41,7 +41,7 @@ export default async (req, res) => { const stats = Object.keys(metrics[0]).reduce((obj, key) => { obj[key] = { value: Number(metrics[0][key]) || 0, - change: Number(metrics[0][key] - prevPeriod[0][key]) || 0, + change: Number(metrics[0][key]) - Number(prevPeriod[0][key]) || 0, }; return obj; }, {}); From 6930570594c9ab65394b15da9d2d1643e59cec51 Mon Sep 17 00:00:00 2001 From: Lemonawa Date: Thu, 21 Jul 2022 18:24:58 +0800 Subject: [PATCH 19/35] Update zh-CN.json --- lang/zh-CN.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lang/zh-CN.json b/lang/zh-CN.json index 8e6a3bfc..2270507a 100644 --- a/lang/zh-CN.json +++ b/lang/zh-CN.json @@ -37,7 +37,7 @@ "label.more": "更多", "label.name": "名字", "label.new-password": "新密码", - "label.none": "None", + "label.none": "无", "label.owner": "所有者", "label.password": "密码", "label.passwords-dont-match": "密码不一致", @@ -104,7 +104,7 @@ "metrics.page-views": "页面浏览量", "metrics.pages": "网页", "metrics.referrers": "来源域名", - "metrics.screens": "Screens", + "metrics.screens": "屏幕尺寸", "metrics.unique-visitors": "独立访客", "metrics.views": "浏览量", "metrics.visitors": "访客" From f4d10ff3533b69e2a08e736d1625ee3f0137dde7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Radenac?= <47008408+clem3109@users.noreply.github.com> Date: Thu, 21 Jul 2022 13:15:11 +0200 Subject: [PATCH 20/35] Update fr-FR.json Some french language updates --- lang/fr-FR.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lang/fr-FR.json b/lang/fr-FR.json index 8655eefc..04c2f4e8 100644 --- a/lang/fr-FR.json +++ b/lang/fr-FR.json @@ -37,7 +37,7 @@ "label.more": "Plus", "label.name": "Nom", "label.new-password": "Nouveau mot de passe", - "label.none": "None", + "label.none": "Aucun·e", "label.owner": "Propriétaire", "label.password": "Mot de passe", "label.passwords-dont-match": "Les mots de passe ne correspondent pas", @@ -104,7 +104,7 @@ "metrics.page-views": "Pages vues", "metrics.pages": "Pages", "metrics.referrers": "Sources", - "metrics.screens": "Screens", + "metrics.screens": "Tailles d'écran", "metrics.unique-visitors": "Visiteurs uniques", "metrics.views": "Vues", "metrics.visitors": "Visiteurs" From e949da347fe561d78317fa81e3d4312cabb5030e Mon Sep 17 00:00:00 2001 From: Jens Pots Date: Thu, 21 Jul 2022 13:49:48 +0200 Subject: [PATCH 21/35] Update nl-NL.json Some missing translations have been added. --- lang/nl-NL.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lang/nl-NL.json b/lang/nl-NL.json index fff2cea6..888d62f2 100644 --- a/lang/nl-NL.json +++ b/lang/nl-NL.json @@ -37,7 +37,7 @@ "label.more": "Toon meer", "label.name": "Naam", "label.new-password": "Nieuw wachtwoord", - "label.none": "None", + "label.none": "Geen", "label.owner": "Eigenaar", "label.password": "Wachtwoord", "label.passwords-dont-match": "Wachtwoorden komen niet overeen", @@ -79,7 +79,7 @@ "message.no-websites-configured": "Je hebt geen websites ingesteld.", "message.page-not-found": "Pagina niet gevonden.", "message.powered-by": "mogelijk gemaakt door {name}", - "message.reset-warning": "All statistics for this website will be deleted, but your tracking code will remain intact.", + "message.reset-warning": "Alle bijhorende statistieken van deze website worden verwijderd, maar jouw volgcode blijft gelden.", "message.save-success": "Opslaan succesvol.", "message.share-url": "Met deze URL kan {target} openbaar gedeeld worden.", "message.toggle-charts": "Grafieken tonen/verbergen", @@ -104,7 +104,7 @@ "metrics.page-views": "Paginaweergaven", "metrics.pages": "Pagina's", "metrics.referrers": "Verwijzers", - "metrics.screens": "Screens", + "metrics.screens": "Schermen", "metrics.unique-visitors": "Unieke bezoekers", "metrics.views": "Weergaven", "metrics.visitors": "Bezoekers" From 900e3e57340149dac48d00b380f2a90db2b8e62e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Orhun=20Parmaks=C4=B1z?= Date: Thu, 21 Jul 2022 14:31:09 +0200 Subject: [PATCH 22/35] Update the links for current repository --- README.md | 2 +- app.json | 2 +- docker-compose.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index ad93b774..f29fd217 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@ npm install -g yarn ### Get the source code and install packages ``` -git clone https://github.com/mikecao/umami.git +git clone https://github.com/umami-software/umami.git cd umami yarn install ``` diff --git a/app.json b/app.json index ef62e0e5..ba8b8c45 100644 --- a/app.json +++ b/app.json @@ -3,7 +3,7 @@ "description": "Umami is a simple, fast, website analytics alternative to Google Analytics.", "keywords": ["analytics", "charts", "statistics", "web-analytics"], "website": "https://umami.is", - "repository": "https://github.com/mikecao/umami", + "repository": "https://github.com/umami-software/umami", "addons": ["heroku-postgresql"], "env": { "HASH_SALT": { diff --git a/docker-compose.yml b/docker-compose.yml index 61bc8228..9864486c 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -2,7 +2,7 @@ version: '3' services: umami: - image: ghcr.io/mikecao/umami:postgresql-latest + image: ghcr.io/umami-software/umami:postgresql-latest ports: - "3000:3000" environment: From 0ad83f828de37f9db609c1b94ed2b61a3f47943b Mon Sep 17 00:00:00 2001 From: Lemonawa Date: Thu, 21 Jul 2022 22:30:25 +0800 Subject: [PATCH 23/35] Update zh-CN.json --- lang/zh-CN.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lang/zh-CN.json b/lang/zh-CN.json index 2270507a..2b4852ec 100644 --- a/lang/zh-CN.json +++ b/lang/zh-CN.json @@ -99,7 +99,7 @@ "metrics.events": "行为类别", "metrics.filter.combined": "总和", "metrics.filter.raw": "原始", - "metrics.languages": "语言", + "metrics.languages": "Languages", "metrics.operating-systems": "操作系统", "metrics.page-views": "页面浏览量", "metrics.pages": "网页", From 250cdce306660ce5b46a0684c65e4605102ef0f3 Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Thu, 21 Jul 2022 13:21:33 -0700 Subject: [PATCH 24/35] Reverted getDateQuery logic. --- lib/queries.js | 16 ++-------------- queries/analytics/event/getEventMetrics.js | 4 ++-- queries/analytics/pageview/getPageviewStats.js | 4 ++-- 3 files changed, 6 insertions(+), 18 deletions(-) diff --git a/lib/queries.js b/lib/queries.js index 4317d5f4..b44487c0 100644 --- a/lib/queries.js +++ b/lib/queries.js @@ -14,24 +14,12 @@ export function getDatabase() { return type; } -export function getDateStringQuery(data, unit) { - const db = getDatabase(); - - if (db === POSTGRESQL) { - return `to_char(${data}, '${POSTGRESQL_DATE_FORMATS[unit]}')`; - } - - if (db === MYSQL) { - return `DATE_FORMAT(${data}, '${MYSQL_DATE_FORMATS[unit]}')`; - } -} - export function getDateQuery(field, unit, timezone) { const db = getDatabase(); if (db === POSTGRESQL) { if (timezone) { - return `date_trunc('${unit}', ${field} at time zone '${timezone}')`; + return `to_char(date_trunc('${unit}', ${field} at time zone '${timezone}'), '${POSTGRESQL_DATE_FORMATS[unit]}')`; } return `date_trunc('${unit}', ${field})`; } @@ -40,7 +28,7 @@ export function getDateQuery(field, unit, timezone) { if (timezone) { const tz = moment.tz(timezone).format('Z'); - return `convert_tz(${field},'+00:00','${tz}')`; + return `date_format(convert_tz(${field},'+00:00','${tz}', '${MYSQL_DATE_FORMATS[unit]}')`; } return `${field}`; diff --git a/queries/analytics/event/getEventMetrics.js b/queries/analytics/event/getEventMetrics.js index 1bbc3cac..b0ec87b4 100644 --- a/queries/analytics/event/getEventMetrics.js +++ b/queries/analytics/event/getEventMetrics.js @@ -1,4 +1,4 @@ -import { getDateQuery, getDateStringQuery, getFilterQuery, rawQuery } from 'lib/queries'; +import { getDateQuery, getFilterQuery, rawQuery } from 'lib/queries'; export function getEventMetrics( website_id, @@ -14,7 +14,7 @@ export function getEventMetrics( ` select event_value x, - ${getDateStringQuery(getDateQuery('created_at', unit, timezone), unit)} t, + ${getDateQuery('created_at', unit, timezone)} t, count(*) y from event where website_id=$1 diff --git a/queries/analytics/pageview/getPageviewStats.js b/queries/analytics/pageview/getPageviewStats.js index 1ddcd6f8..c4b9ef23 100644 --- a/queries/analytics/pageview/getPageviewStats.js +++ b/queries/analytics/pageview/getPageviewStats.js @@ -1,4 +1,4 @@ -import { parseFilters, rawQuery, getDateQuery, getDateStringQuery } from 'lib/queries'; +import { parseFilters, rawQuery, getDateQuery } from 'lib/queries'; export function getPageviewStats( website_id, @@ -20,7 +20,7 @@ export function getPageviewStats( return rawQuery( ` select - ${getDateStringQuery('g.t', unit)} as t, + g.t as t, g.y as y from (select ${getDateQuery('pageview.created_at', unit, timezone)} t, From 92b009fa1eb94b025f53d978cf533f5a6bcb6a03 Mon Sep 17 00:00:00 2001 From: Chris Walsh Date: Thu, 21 Jul 2022 14:57:29 -0700 Subject: [PATCH 25/35] Add UTM pageview metrics to API --- pages/api/website/[id]/metrics.js | 49 ++++++++++++++++++- .../analytics/pageview/getPageviewParams.js | 38 ++++++++++++++ queries/index.js | 2 + 3 files changed, 88 insertions(+), 1 deletion(-) create mode 100644 queries/analytics/pageview/getPageviewParams.js diff --git a/pages/api/website/[id]/metrics.js b/pages/api/website/[id]/metrics.js index 09229408..5df159d6 100644 --- a/pages/api/website/[id]/metrics.js +++ b/pages/api/website/[id]/metrics.js @@ -1,10 +1,11 @@ -import { getPageviewMetrics, getSessionMetrics, getWebsiteById } from 'queries'; +import { getPageviewMetrics, getSessionMetrics, getWebsiteById, getPageviewParams } from 'queries'; import { ok, methodNotAllowed, unauthorized, badRequest } from 'lib/response'; import { allowQuery } from 'lib/auth'; import { useCors } from 'lib/middleware'; const sessionColumns = ['browser', 'os', 'device', 'screen', 'country', 'language']; const pageviewColumns = ['url', 'referrer']; +const paramTypes = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_content', 'utm_term', 'ref']; function getTable(type) { if (type === 'event') { @@ -39,6 +40,52 @@ export default async (req, res) => { const startDate = new Date(+start_at); const endDate = new Date(+end_at); + if (paramTypes.includes(type)) { + const column = 'url'; + const table = getTable(type); + + let domain; + if (type === 'referrer') { + const website = await getWebsiteById(websiteId); + + if (!website) { + return badRequest(res); + } + + domain = website.domain; + } + + const filters = { + domain, + url: type !== 'url' && table !== 'event' ? url : undefined, + referrer: type !== 'referrer' ? referrer : true, + os: type !== 'os' ? os : undefined, + browser: type !== 'browser' ? browser : undefined, + device: type !== 'device' ? device : undefined, + country: type !== 'country' ? country : undefined, + event_url: type !== 'url' && table === 'event' ? url : undefined, + }; + + let data = await getPageviewParams( + type, + websiteId, + startDate, + endDate, + column, + table, + filters, + ); + + let terms = {}; + new Set(data.map(i => i.param)).forEach(term => (terms[term] = null)); + for (let { param } of data) terms[param] += 1; + + return ok( + res, + Object.keys(terms).map(i => ({ x: i, y: terms[i] })), + ); + } + if (sessionColumns.includes(type)) { let data = await getSessionMetrics(websiteId, startDate, endDate, type, { os, diff --git a/queries/analytics/pageview/getPageviewParams.js b/queries/analytics/pageview/getPageviewParams.js new file mode 100644 index 00000000..b71e2d1f --- /dev/null +++ b/queries/analytics/pageview/getPageviewParams.js @@ -0,0 +1,38 @@ +import { parseFilters, rawQuery } from 'lib/queries'; + +export function getPageviewParams( + param, + website_id, + start_at, + end_at, + column, + table, + filters = {}, +) { + const params = [param, website_id, start_at, end_at]; + const { pageviewQuery, sessionQuery, eventQuery, joinSession } = parseFilters( + table, + column, + filters, + params, + ); + + return rawQuery( + `select * from ( + select + url, split_part(split_part(url, concat($1, '='), 2), '&', 1) param + from + pageview + ${joinSession} + ${pageviewQuery} + ${joinSession && sessionQuery} + ${eventQuery} + where + ${table}.website_id=$2 and ${table}.created_at between $3 and $4 + group by 1, 2 + order by 2 desc + ) q + where q.param <> ''`, + params, + ); +} diff --git a/queries/index.js b/queries/index.js index a3ea9d57..517307f6 100644 --- a/queries/index.js +++ b/queries/index.js @@ -17,6 +17,7 @@ import { getEventMetrics } from './analytics/event/getEventMetrics'; import { getEvents } from './analytics/event/getEvents'; import { saveEvent } from './analytics/event/saveEvent'; import { getPageviewMetrics } from './analytics/pageview/getPageviewMetrics'; +import { getPageviewParams } from './analytics/pageview/getPageviewParams'; import { getPageviews } from './analytics/pageview/getPageviews'; import { getPageviewStats } from './analytics/pageview/getPageviewStats'; import { savePageView } from './analytics/pageview/savePageView'; @@ -48,6 +49,7 @@ export { getEvents, saveEvent, getPageviewMetrics, + getPageviewParams, getPageviews, getPageviewStats, savePageView, From c3d6467b99c1a062c5c3fe3d1d04f624147e139f Mon Sep 17 00:00:00 2001 From: Chris Walsh Date: Thu, 21 Jul 2022 16:22:43 -0700 Subject: [PATCH 26/35] Add UTM params to website details page --- components/metrics/MetricsTable.js | 5 ++-- components/metrics/UTMTable.js | 48 ++++++++++++++++++++++++++++++ components/pages/WebsiteDetails.js | 6 ++++ lang/en-US.json | 6 ++++ 4 files changed, 63 insertions(+), 2 deletions(-) create mode 100644 components/metrics/UTMTable.js diff --git a/components/metrics/MetricsTable.js b/components/metrics/MetricsTable.js index 29121487..df4beb08 100644 --- a/components/metrics/MetricsTable.js +++ b/components/metrics/MetricsTable.js @@ -22,6 +22,7 @@ export default function MetricsTable({ filterOptions, limit, onDataLoad, + delay = null, ...props }) { const [{ startDate, endDate, modified }] = useDateRange(websiteId); @@ -46,9 +47,9 @@ export default function MetricsTable({ country, }, onDataLoad, - delay: DEFAULT_ANIMATION_DURATION, + delay: delay || DEFAULT_ANIMATION_DURATION, }, - [modified, url, referrer, os, browser, device, country], + [type, modified, url, referrer, os, browser, device, country], ); const filteredData = useMemo(() => { diff --git a/components/metrics/UTMTable.js b/components/metrics/UTMTable.js new file mode 100644 index 00000000..dc9cca92 --- /dev/null +++ b/components/metrics/UTMTable.js @@ -0,0 +1,48 @@ +import React, { useState } from 'react'; +import { useIntl, defineMessages } from 'react-intl'; +import MetricsTable from './MetricsTable'; +import FilterButtons from 'components/common/FilterButtons'; + +export const UTM_SOURCE = 'utm_source'; +export const UTM_MEDIUM = 'utm_medium'; +export const UTM_CAMPAIGN = 'utm_campaign'; +export const UTM_CONTENT = 'utm_content'; +export const UTM_TERM = 'utm_term'; + +const messages = defineMessages({ + utm_source: { id: 'metrics.utm_source', defaultMessage: 'UTM Source' }, + utm_medium: { id: 'metrics.utm_medium', defaultMessage: 'UTM Medium' }, + utm_campaign: { id: 'metrics.utm_campaign', defaultMessage: 'UTM Campaign' }, + utm_content: { id: 'metrics.utm_content', defaultMessage: 'UTM Content' }, + utm_term: { id: 'metrics.utm_term', defaultMessage: 'UTM Term' }, + views: { id: 'metrics.views', defaultMessage: 'Views' }, + none: { id: 'label.none', defaultMessage: 'None' }, +}); + +export default function UTMTable({ websiteId, showFilters, ...props }) { + const [type, setType] = useState(UTM_SOURCE); + const { formatMessage } = useIntl(); + + const buttons = [ + { label: formatMessage(messages.utm_source), value: UTM_SOURCE }, + { label: formatMessage(messages.utm_medium), value: UTM_MEDIUM }, + { label: formatMessage(messages.utm_campaign), value: UTM_CAMPAIGN }, + { label: formatMessage(messages.utm_content), value: UTM_CONTENT }, + { label: formatMessage(messages.utm_term), value: UTM_TERM }, + ]; + + return ( + <> + {showFilters && } + + + ); +} diff --git a/components/pages/WebsiteDetails.js b/components/pages/WebsiteDetails.js index 1b22d9ed..869b7a85 100644 --- a/components/pages/WebsiteDetails.js +++ b/components/pages/WebsiteDetails.js @@ -23,6 +23,7 @@ import usePageQuery from 'hooks/usePageQuery'; import { DEFAULT_ANIMATION_DURATION } from 'lib/constants'; import styles from './WebsiteDetails.module.css'; import ScreenTable from 'components/metrics/ScreenTable'; +import UTMTable from 'components/metrics/UTMTable'; const views = { url: PagesTable, @@ -34,6 +35,7 @@ const views = { country: CountriesTable, language: LanguagesTable, event: EventsTable, + utm: UTMTable, }; export default function WebsiteDetails({ websiteId }) { @@ -94,6 +96,10 @@ export default function WebsiteDetails({ websiteId }) { label: , value: resolve({ view: 'event' }), }, + { + label: , + value: resolve({ view: 'utm' }), + }, ]; const tableProps = { diff --git a/lang/en-US.json b/lang/en-US.json index 1580b500..c63d56a0 100644 --- a/lang/en-US.json +++ b/lang/en-US.json @@ -106,6 +106,12 @@ "metrics.referrers": "Referrers", "metrics.screens": "Screens", "metrics.unique-visitors": "Unique visitors", + "metrics.utm": "UTM", + "metrics.utm_source": "UTM Source", + "metrics.utm_medium": "UTM Medium", + "metrics.utm_campaign": "UTM Campaign", + "metrics.utm_content": "UTM Content", + "metrics.utm_term": "UTM Term", "metrics.views": "Views", "metrics.visitors": "Visitors" } From 7d1f8ea77bde102b6b66c6d4fcf8fe6c21e937af Mon Sep 17 00:00:00 2001 From: Chris Walsh Date: Thu, 21 Jul 2022 16:56:57 -0700 Subject: [PATCH 27/35] Fix UTM query, move filters to proper place --- .../analytics/pageview/getPageviewParams.js | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/queries/analytics/pageview/getPageviewParams.js b/queries/analytics/pageview/getPageviewParams.js index b71e2d1f..b7170825 100644 --- a/queries/analytics/pageview/getPageviewParams.js +++ b/queries/analytics/pageview/getPageviewParams.js @@ -19,18 +19,18 @@ export function getPageviewParams( return rawQuery( `select * from ( - select - url, split_part(split_part(url, concat($1, '='), 2), '&', 1) param - from - pageview - ${joinSession} - ${pageviewQuery} - ${joinSession && sessionQuery} - ${eventQuery} - where - ${table}.website_id=$2 and ${table}.created_at between $3 and $4 - group by 1, 2 - order by 2 desc + select + url, split_part(split_part(url, concat($1, '='), 2), '&', 1) param + from + pageview + ${joinSession} + where + ${table}.website_id=$2 and ${table}.created_at between $3 and $4 + ${pageviewQuery} + ${joinSession && sessionQuery} + ${eventQuery} + group by 1, 2 + order by 2 desc ) q where q.param <> ''`, params, From c47b244dc505c282648b75a69eb1b744a4786b57 Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Thu, 21 Jul 2022 19:38:24 -0700 Subject: [PATCH 28/35] Fix tracker build for COLLECT_API_ENDPOINT. --- rollup.tracker.config.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/rollup.tracker.config.js b/rollup.tracker.config.js index 9af92092..5bc09610 100644 --- a/rollup.tracker.config.js +++ b/rollup.tracker.config.js @@ -1,3 +1,4 @@ +import 'dotenv/config'; import buble from '@rollup/plugin-buble'; import replace from '@rollup/plugin-replace'; import { terser } from 'rollup-plugin-terser'; @@ -12,6 +13,7 @@ export default { replace({ '/api/collect': process.env.COLLECT_API_ENDPOINT || '/api/collect', delimiters: ['', ''], + preventAssignment: true, }), buble({ objectAssign: true }), terser({ compress: { evaluate: false } }), From 8d5c9c9711dae3702abc2746b89e3ad618bc9f3c Mon Sep 17 00:00:00 2001 From: Chris Walsh Date: Thu, 21 Jul 2022 19:52:32 -0700 Subject: [PATCH 29/35] Remove unused prop on UTM table --- components/metrics/UTMTable.js | 1 - 1 file changed, 1 deletion(-) diff --git a/components/metrics/UTMTable.js b/components/metrics/UTMTable.js index dc9cca92..ba16f2f6 100644 --- a/components/metrics/UTMTable.js +++ b/components/metrics/UTMTable.js @@ -40,7 +40,6 @@ export default function UTMTable({ websiteId, showFilters, ...props }) { type={type} metric={formatMessage(messages.views)} websiteId={websiteId} - updateOnTypeChange delay={0} /> From 34bdea8a4f37fdf225c1221c63b1536bab866c13 Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Thu, 21 Jul 2022 21:04:04 -0700 Subject: [PATCH 30/35] Update language bundles. --- public/intl/messages/ar-SA.json | 2 +- public/intl/messages/ca-ES.json | 2 +- public/intl/messages/cs-CZ.json | 2 +- public/intl/messages/da-DK.json | 2 +- public/intl/messages/de-DE.json | 2 +- public/intl/messages/el-GR.json | 2 +- public/intl/messages/es-MX.json | 2 +- public/intl/messages/fa-IR.json | 2 +- public/intl/messages/fi-FI.json | 2 +- public/intl/messages/fo-FO.json | 2 +- public/intl/messages/fr-FR.json | 6 +++--- public/intl/messages/ga-ES.json | 2 +- public/intl/messages/he-IL.json | 2 +- public/intl/messages/hi-IN.json | 2 +- public/intl/messages/hu-HU.json | 2 +- public/intl/messages/id-ID.json | 2 +- public/intl/messages/it-IT.json | 2 +- public/intl/messages/ja-JP.json | 2 +- public/intl/messages/ko-KR.json | 2 +- public/intl/messages/lt-LT.json | 2 +- public/intl/messages/mn-MN.json | 2 +- public/intl/messages/ms-MY.json | 2 +- public/intl/messages/nb-NO.json | 2 +- public/intl/messages/nl-NL.json | 8 ++++---- public/intl/messages/pl-PL.json | 2 +- public/intl/messages/pt-BR.json | 2 +- public/intl/messages/pt-PT.json | 2 +- public/intl/messages/ro-RO.json | 2 +- public/intl/messages/ru-RU.json | 2 +- public/intl/messages/sk-SK.json | 2 +- public/intl/messages/sl-SI.json | 2 +- public/intl/messages/sv-SE.json | 2 +- public/intl/messages/ta-IN.json | 2 +- public/intl/messages/tr-TR.json | 2 +- public/intl/messages/uk-UA.json | 2 +- public/intl/messages/ur-PK.json | 2 +- public/intl/messages/vi-VN.json | 2 +- public/intl/messages/zh-CN.json | 2 +- public/intl/messages/zh-TW.json | 2 +- 39 files changed, 44 insertions(+), 44 deletions(-) diff --git a/public/intl/messages/ar-SA.json b/public/intl/messages/ar-SA.json index 39942898..5fd596e1 100644 --- a/public/intl/messages/ar-SA.json +++ b/public/intl/messages/ar-SA.json @@ -734,7 +734,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Combined" + "value": "مجمعة" } ], "metrics.filter.raw": [ diff --git a/public/intl/messages/ca-ES.json b/public/intl/messages/ca-ES.json index eaccffe5..6a0a85d4 100644 --- a/public/intl/messages/ca-ES.json +++ b/public/intl/messages/ca-ES.json @@ -734,7 +734,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Combined" + "value": "Combinat" } ], "metrics.filter.raw": [ diff --git a/public/intl/messages/cs-CZ.json b/public/intl/messages/cs-CZ.json index 8b07a05a..967261ab 100644 --- a/public/intl/messages/cs-CZ.json +++ b/public/intl/messages/cs-CZ.json @@ -734,7 +734,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Combined" + "value": "Kombinace" } ], "metrics.filter.raw": [ diff --git a/public/intl/messages/da-DK.json b/public/intl/messages/da-DK.json index 49fad782..9a478456 100644 --- a/public/intl/messages/da-DK.json +++ b/public/intl/messages/da-DK.json @@ -734,7 +734,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Combined" + "value": "Kombineret" } ], "metrics.filter.raw": [ diff --git a/public/intl/messages/de-DE.json b/public/intl/messages/de-DE.json index 63feeaaf..a332fd5f 100644 --- a/public/intl/messages/de-DE.json +++ b/public/intl/messages/de-DE.json @@ -734,7 +734,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Combined" + "value": "Kombiniert" } ], "metrics.filter.raw": [ diff --git a/public/intl/messages/el-GR.json b/public/intl/messages/el-GR.json index f570d120..77ded169 100644 --- a/public/intl/messages/el-GR.json +++ b/public/intl/messages/el-GR.json @@ -734,7 +734,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Combined" + "value": "Σε συνδυασμό" } ], "metrics.filter.raw": [ diff --git a/public/intl/messages/es-MX.json b/public/intl/messages/es-MX.json index be8ddb34..c2d82805 100644 --- a/public/intl/messages/es-MX.json +++ b/public/intl/messages/es-MX.json @@ -734,7 +734,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Combined" + "value": "Combinado" } ], "metrics.filter.raw": [ diff --git a/public/intl/messages/fa-IR.json b/public/intl/messages/fa-IR.json index e29343ef..ed470e75 100644 --- a/public/intl/messages/fa-IR.json +++ b/public/intl/messages/fa-IR.json @@ -718,7 +718,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Combined" + "value": "ترکیب شده" } ], "metrics.filter.raw": [ diff --git a/public/intl/messages/fi-FI.json b/public/intl/messages/fi-FI.json index 2b4ebd01..a2010b5a 100644 --- a/public/intl/messages/fi-FI.json +++ b/public/intl/messages/fi-FI.json @@ -734,7 +734,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Combined" + "value": "Yhdistetty" } ], "metrics.filter.raw": [ diff --git a/public/intl/messages/fo-FO.json b/public/intl/messages/fo-FO.json index ca909f25..43da4b36 100644 --- a/public/intl/messages/fo-FO.json +++ b/public/intl/messages/fo-FO.json @@ -734,7 +734,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Combined" + "value": "Samansett" } ], "metrics.filter.raw": [ diff --git a/public/intl/messages/fr-FR.json b/public/intl/messages/fr-FR.json index f408278f..7368fddf 100644 --- a/public/intl/messages/fr-FR.json +++ b/public/intl/messages/fr-FR.json @@ -242,7 +242,7 @@ "label.none": [ { "type": 0, - "value": "None" + "value": "Aucun·e" } ], "label.owner": [ @@ -730,7 +730,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Combined" + "value": "Combiné" } ], "metrics.filter.raw": [ @@ -772,7 +772,7 @@ "metrics.screens": [ { "type": 0, - "value": "Screens" + "value": "Tailles d'écran" } ], "metrics.unique-visitors": [ diff --git a/public/intl/messages/ga-ES.json b/public/intl/messages/ga-ES.json index 4c692742..67bfff79 100644 --- a/public/intl/messages/ga-ES.json +++ b/public/intl/messages/ga-ES.json @@ -734,7 +734,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Combined" + "value": "Combinado" } ], "metrics.filter.raw": [ diff --git a/public/intl/messages/he-IL.json b/public/intl/messages/he-IL.json index 46f6c04d..315bc718 100644 --- a/public/intl/messages/he-IL.json +++ b/public/intl/messages/he-IL.json @@ -714,7 +714,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Combined" + "value": "משותף" } ], "metrics.filter.raw": [ diff --git a/public/intl/messages/hi-IN.json b/public/intl/messages/hi-IN.json index cd81e789..f7475741 100644 --- a/public/intl/messages/hi-IN.json +++ b/public/intl/messages/hi-IN.json @@ -722,7 +722,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Combined" + "value": "संयुक्त" } ], "metrics.filter.raw": [ diff --git a/public/intl/messages/hu-HU.json b/public/intl/messages/hu-HU.json index 83ba4421..d66b060a 100644 --- a/public/intl/messages/hu-HU.json +++ b/public/intl/messages/hu-HU.json @@ -734,7 +734,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Combined" + "value": "Összevont" } ], "metrics.filter.raw": [ diff --git a/public/intl/messages/id-ID.json b/public/intl/messages/id-ID.json index db251adc..e6508c7b 100644 --- a/public/intl/messages/id-ID.json +++ b/public/intl/messages/id-ID.json @@ -702,7 +702,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Combined" + "value": "Gabungan" } ], "metrics.filter.raw": [ diff --git a/public/intl/messages/it-IT.json b/public/intl/messages/it-IT.json index 61033a8d..908b4953 100644 --- a/public/intl/messages/it-IT.json +++ b/public/intl/messages/it-IT.json @@ -738,7 +738,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Combined" + "value": "Aggregati" } ], "metrics.filter.raw": [ diff --git a/public/intl/messages/ja-JP.json b/public/intl/messages/ja-JP.json index 6d3083f2..f44adea4 100644 --- a/public/intl/messages/ja-JP.json +++ b/public/intl/messages/ja-JP.json @@ -706,7 +706,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Combined" + "value": "パスまで" } ], "metrics.filter.raw": [ diff --git a/public/intl/messages/ko-KR.json b/public/intl/messages/ko-KR.json index 7354f9bb..7702d1b8 100644 --- a/public/intl/messages/ko-KR.json +++ b/public/intl/messages/ko-KR.json @@ -706,7 +706,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Combined" + "value": "합쳐서 보기" } ], "metrics.filter.raw": [ diff --git a/public/intl/messages/lt-LT.json b/public/intl/messages/lt-LT.json index fade699d..74ca9861 100644 --- a/public/intl/messages/lt-LT.json +++ b/public/intl/messages/lt-LT.json @@ -859,7 +859,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Combined" + "value": "Kombinuoti" } ], "metrics.filter.raw": [ diff --git a/public/intl/messages/mn-MN.json b/public/intl/messages/mn-MN.json index 584fe32c..0f8a7a68 100644 --- a/public/intl/messages/mn-MN.json +++ b/public/intl/messages/mn-MN.json @@ -734,7 +734,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Combined" + "value": "Нэгтгэсэн" } ], "metrics.filter.raw": [ diff --git a/public/intl/messages/ms-MY.json b/public/intl/messages/ms-MY.json index 29d025ef..c0c758ef 100644 --- a/public/intl/messages/ms-MY.json +++ b/public/intl/messages/ms-MY.json @@ -726,7 +726,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Combined" + "value": "Digabungkan" } ], "metrics.filter.raw": [ diff --git a/public/intl/messages/nb-NO.json b/public/intl/messages/nb-NO.json index 860e0133..6477160f 100644 --- a/public/intl/messages/nb-NO.json +++ b/public/intl/messages/nb-NO.json @@ -738,7 +738,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Combined" + "value": "Kombinert" } ], "metrics.filter.raw": [ diff --git a/public/intl/messages/nl-NL.json b/public/intl/messages/nl-NL.json index afd2d1d5..2151139d 100644 --- a/public/intl/messages/nl-NL.json +++ b/public/intl/messages/nl-NL.json @@ -250,7 +250,7 @@ "label.none": [ { "type": 0, - "value": "None" + "value": "Geen" } ], "label.owner": [ @@ -586,7 +586,7 @@ "message.reset-warning": [ { "type": 0, - "value": "All statistics for this website will be deleted, but your tracking code will remain intact." + "value": "Alle bijhorende statistieken van deze website worden verwijderd, maar jouw volgcode blijft gelden." } ], "message.save-success": [ @@ -734,7 +734,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Combined" + "value": "Gecombineerd" } ], "metrics.filter.raw": [ @@ -776,7 +776,7 @@ "metrics.screens": [ { "type": 0, - "value": "Screens" + "value": "Schermen" } ], "metrics.unique-visitors": [ diff --git a/public/intl/messages/pl-PL.json b/public/intl/messages/pl-PL.json index 7d85c96c..17273722 100644 --- a/public/intl/messages/pl-PL.json +++ b/public/intl/messages/pl-PL.json @@ -734,7 +734,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Combined" + "value": "Połączone" } ], "metrics.filter.raw": [ diff --git a/public/intl/messages/pt-BR.json b/public/intl/messages/pt-BR.json index f723474e..6e3c5276 100644 --- a/public/intl/messages/pt-BR.json +++ b/public/intl/messages/pt-BR.json @@ -738,7 +738,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Combined" + "value": "Combinado" } ], "metrics.filter.raw": [ diff --git a/public/intl/messages/pt-PT.json b/public/intl/messages/pt-PT.json index e50354dc..7c4aa48c 100644 --- a/public/intl/messages/pt-PT.json +++ b/public/intl/messages/pt-PT.json @@ -738,7 +738,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Combined" + "value": "Combinado" } ], "metrics.filter.raw": [ diff --git a/public/intl/messages/ro-RO.json b/public/intl/messages/ro-RO.json index 9dbda703..ff9b4914 100644 --- a/public/intl/messages/ro-RO.json +++ b/public/intl/messages/ro-RO.json @@ -734,7 +734,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Combined" + "value": "Combinat" } ], "metrics.filter.raw": [ diff --git a/public/intl/messages/ru-RU.json b/public/intl/messages/ru-RU.json index 6a1af3c0..a9aa6300 100644 --- a/public/intl/messages/ru-RU.json +++ b/public/intl/messages/ru-RU.json @@ -706,7 +706,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Combined" + "value": "Объединенные" } ], "metrics.filter.raw": [ diff --git a/public/intl/messages/sk-SK.json b/public/intl/messages/sk-SK.json index ae4c1517..99fde365 100644 --- a/public/intl/messages/sk-SK.json +++ b/public/intl/messages/sk-SK.json @@ -734,7 +734,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Combined" + "value": "Kombinácie" } ], "metrics.filter.raw": [ diff --git a/public/intl/messages/sl-SI.json b/public/intl/messages/sl-SI.json index ebf2c2f8..4f0f1fdf 100644 --- a/public/intl/messages/sl-SI.json +++ b/public/intl/messages/sl-SI.json @@ -734,7 +734,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Combined" + "value": "Skupno" } ], "metrics.filter.raw": [ diff --git a/public/intl/messages/sv-SE.json b/public/intl/messages/sv-SE.json index dea602e8..9a78d24a 100644 --- a/public/intl/messages/sv-SE.json +++ b/public/intl/messages/sv-SE.json @@ -738,7 +738,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Combined" + "value": "Kombinerade" } ], "metrics.filter.raw": [ diff --git a/public/intl/messages/ta-IN.json b/public/intl/messages/ta-IN.json index f8079c12..df22a56c 100644 --- a/public/intl/messages/ta-IN.json +++ b/public/intl/messages/ta-IN.json @@ -726,7 +726,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Combined" + "value": "ஒருங்கிணைந்த" } ], "metrics.filter.raw": [ diff --git a/public/intl/messages/tr-TR.json b/public/intl/messages/tr-TR.json index 734dcbd8..ab02cf6a 100644 --- a/public/intl/messages/tr-TR.json +++ b/public/intl/messages/tr-TR.json @@ -698,7 +698,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Combined" + "value": "Birleşik" } ], "metrics.filter.raw": [ diff --git a/public/intl/messages/uk-UA.json b/public/intl/messages/uk-UA.json index ed1eeeb3..9e7daccf 100644 --- a/public/intl/messages/uk-UA.json +++ b/public/intl/messages/uk-UA.json @@ -710,7 +710,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Combined" + "value": "Об'єднані" } ], "metrics.filter.raw": [ diff --git a/public/intl/messages/ur-PK.json b/public/intl/messages/ur-PK.json index 627ec206..dbafa683 100644 --- a/public/intl/messages/ur-PK.json +++ b/public/intl/messages/ur-PK.json @@ -734,7 +734,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Combined" + "value": "مشترکہ" } ], "metrics.filter.raw": [ diff --git a/public/intl/messages/vi-VN.json b/public/intl/messages/vi-VN.json index e8bb2e90..8c6e3152 100644 --- a/public/intl/messages/vi-VN.json +++ b/public/intl/messages/vi-VN.json @@ -718,7 +718,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Combined" + "value": "Kết hợp" } ], "metrics.filter.raw": [ diff --git a/public/intl/messages/zh-CN.json b/public/intl/messages/zh-CN.json index da01c8c2..9e825fc7 100644 --- a/public/intl/messages/zh-CN.json +++ b/public/intl/messages/zh-CN.json @@ -722,7 +722,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Combined" + "value": "总和" } ], "metrics.filter.raw": [ diff --git a/public/intl/messages/zh-TW.json b/public/intl/messages/zh-TW.json index a5c857fb..dc669b8a 100644 --- a/public/intl/messages/zh-TW.json +++ b/public/intl/messages/zh-TW.json @@ -718,7 +718,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Combined" + "value": "總和" } ], "metrics.filter.raw": [ From 07d276106ea386966d80864a4b10a1c95ca0322f Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Thu, 21 Jul 2022 21:21:48 -0700 Subject: [PATCH 31/35] Fixed date query for MySQL. --- lib/queries.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/queries.js b/lib/queries.js index b44487c0..b296d308 100644 --- a/lib/queries.js +++ b/lib/queries.js @@ -28,7 +28,7 @@ export function getDateQuery(field, unit, timezone) { if (timezone) { const tz = moment.tz(timezone).format('Z'); - return `date_format(convert_tz(${field},'+00:00','${tz}', '${MYSQL_DATE_FORMATS[unit]}')`; + return `date_format(convert_tz(${field},'+00:00','${tz}'), '${MYSQL_DATE_FORMATS[unit]}')`; } return `${field}`; From 15ae4569c5c082b50d9a322f382396f4d2d08aa1 Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Thu, 21 Jul 2022 22:52:25 -0700 Subject: [PATCH 32/35] Bump version v1.35.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index ae30688c..7c25ca35 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "umami", - "version": "1.34.0", + "version": "1.35.0", "description": "A simple, fast, privacy-focused alternative to Google Analytics.", "author": "Mike Cao ", "license": "MIT", From a3377f31c7796532f14c929919452047d4cbf43d Mon Sep 17 00:00:00 2001 From: Lemonawa Date: Fri, 22 Jul 2022 14:28:32 +0800 Subject: [PATCH 33/35] Update zh-CN.json --- lang/zh-CN.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lang/zh-CN.json b/lang/zh-CN.json index 2b4852ec..2270507a 100644 --- a/lang/zh-CN.json +++ b/lang/zh-CN.json @@ -99,7 +99,7 @@ "metrics.events": "行为类别", "metrics.filter.combined": "总和", "metrics.filter.raw": "原始", - "metrics.languages": "Languages", + "metrics.languages": "语言", "metrics.operating-systems": "操作系统", "metrics.page-views": "页面浏览量", "metrics.pages": "网页", From 7f853c87f09114fa3419a1f079b14f85c539600d Mon Sep 17 00:00:00 2001 From: Chris Walsh Date: Fri, 22 Jul 2022 00:09:29 -0700 Subject: [PATCH 34/35] Add MySQL support for SQL replacer function --- queries/analytics/pageview/getPageviewParams.js | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/queries/analytics/pageview/getPageviewParams.js b/queries/analytics/pageview/getPageviewParams.js index b7170825..5e51fe08 100644 --- a/queries/analytics/pageview/getPageviewParams.js +++ b/queries/analytics/pageview/getPageviewParams.js @@ -1,4 +1,5 @@ -import { parseFilters, rawQuery } from 'lib/queries'; +import { getDatabase, parseFilters, rawQuery } from 'lib/queries'; +import { MYSQL, POSTGRESQL } from 'lib/constants'; export function getPageviewParams( param, @@ -17,10 +18,16 @@ export function getPageviewParams( params, ); + let splitFn; + let db = getDatabase(); + if (db === MYSQL) splitFn = 'substring_index'; + if (db === POSTGRESQL) splitFn = 'split_part'; + if (!splitFn) return Promise.reject(new Error('Unknown database.')); + return rawQuery( `select * from ( select - url, split_part(split_part(url, concat($1, '='), 2), '&', 1) param + url, ${splitFn}(${splitFn}(url, concat($1, '='), 2), '&', 1) param from pageview ${joinSession} From bb1d17a5e20b40ef9c0715b851c9d0a78e16404b Mon Sep 17 00:00:00 2001 From: Maxime-J Date: Fri, 22 Jul 2022 12:35:37 +0000 Subject: [PATCH 35/35] follow-up - reverted getDateQuery logic --- lib/queries.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/queries.js b/lib/queries.js index b296d308..d6b8893d 100644 --- a/lib/queries.js +++ b/lib/queries.js @@ -21,7 +21,7 @@ export function getDateQuery(field, unit, timezone) { if (timezone) { return `to_char(date_trunc('${unit}', ${field} at time zone '${timezone}'), '${POSTGRESQL_DATE_FORMATS[unit]}')`; } - return `date_trunc('${unit}', ${field})`; + return `to_char(date_trunc('${unit}', ${field}), '${POSTGRESQL_DATE_FORMATS[unit]}')`; } if (db === MYSQL) { @@ -31,7 +31,7 @@ export function getDateQuery(field, unit, timezone) { return `date_format(convert_tz(${field},'+00:00','${tz}'), '${MYSQL_DATE_FORMATS[unit]}')`; } - return `${field}`; + return `date_format(${field}, '${MYSQL_DATE_FORMATS[unit]}')`; } }