Compare commits

...

10 Commits

Author SHA1 Message Date
d543c192a8
fix(webapp): fix lang query location (#9337) 2026-03-01 10:00:37 +00:00
4b0470310e
feat(webapp): metadata for link preview (#9335) 2026-03-01 07:06:50 +00:00
dependabot[bot]
3a56878899
build(deps-dev): bump the cypress group with 2 updates (#9309)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-01 06:42:48 +00:00
dependabot[bot]
762037c7b8
build(deps-dev): bump webpack from 5.105.2 to 5.105.3 (#9311)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-01 06:09:53 +00:00
dependabot[bot]
c10b2e1af7
build(deps): bump minimatch from 10.2.2 to 10.2.4 in /backend (#9313)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-01 05:45:18 +00:00
dependabot[bot]
6e53c53f38
build(deps-dev): bump @types/lodash from 4.17.23 to 4.17.24 in /backend (#9314)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-01 05:18:55 +00:00
dependabot[bot]
8690adf895
build(deps-dev): bump the vue group in /packages/ui with 2 updates (#9315)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-01 05:21:10 +01:00
dependabot[bot]
8216db5925
build(deps): bump @aws-sdk/lib-storage from 3.990.0 to 3.995.0 in /backend (#9316)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-01 03:27:24 +00:00
dependabot[bot]
9f71ac2ece
build(deps-dev): bump @storybook/vue3-vite from 10.2.10 to 10.2.13 in /packages/ui (#9318)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-01 03:59:15 +01:00
dependabot[bot]
f4bea134a2
build(deps-dev): bump eslint-plugin-jsdoc from 62.7.0 to 62.7.1 in /packages/ui (#9320)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-01 03:18:04 +01:00
29 changed files with 432 additions and 553 deletions

View File

@ -33,7 +33,7 @@
"dependencies": {
"@apollo/server": "^4.11.3",
"@aws-sdk/client-s3": "^3.1000.0",
"@aws-sdk/lib-storage": "^3.990.0",
"@aws-sdk/lib-storage": "^3.1000.0",
"@graphql-tools/load-files": "^7.0.0",
"@graphql-tools/merge": "^9.0.0",
"@sentry/node": "^5.30.0",
@ -75,7 +75,7 @@
"metascraper-youtube": "^5.49.24",
"migrate": "^2.1.0",
"mime-types": "^3.0.2",
"minimatch": "^10.2.2",
"minimatch": "^10.2.4",
"mustache": "^4.2.0",
"neo4j-driver": "^4.4.11",
"neo4j-graphql-js": "2.11.5",
@ -100,7 +100,7 @@
"@types/email-templates": "^10.0.4",
"@types/jest": "^30.0.0",
"@types/jsonwebtoken": "~8.5.1",
"@types/lodash": "^4.17.23",
"@types/lodash": "^4.17.24",
"@types/node": "^25.3.2",
"@types/request": "^2.48.13",
"@types/slug": "^5.0.9",

View File

@ -40,6 +40,7 @@ export const getContext =
req,
cypherParams: {
currentUserId: user ? user.id : null,
languageDefault: config.LANGUAGE_DEFAULT.toUpperCase(),
},
config,
}

View File

@ -13,6 +13,7 @@ export default {
nameNL: { type: 'string' },
namePL: { type: 'string' },
nameRU: { type: 'string' },
nameSQ: { type: 'string' },
isIn: {
type: 'relationship',
relationship: 'IS_IN',

View File

@ -14,6 +14,7 @@ export interface LocationDbProperties {
namePL: string
namePT: string
nameRU: string
nameSQ: string
type: string
}

View File

@ -42,8 +42,6 @@ mutation CreateGroup(
location {
id
name
nameDE
nameEN
}
myRole
}

View File

@ -25,8 +25,6 @@ query Group($isMember: Boolean, $id: ID, $slug: String) {
location {
id
name
nameDE
nameEN
}
myRole
inviteCodes {

View File

@ -43,8 +43,6 @@ mutation UpdateGroup(
location {
id
name
nameDE
nameEN
}
myRole
}

View File

@ -37,9 +37,6 @@ mutation UpdateUser(
location {
id
name
nameDE
nameEN
nameRU
}
emailNotificationSettings {
type

View File

@ -302,8 +302,6 @@ describe('in mode', () => {
locationName: 'Hamburg, Germany',
location: expect.objectContaining({
name: 'Hamburg',
nameDE: 'Hamburg',
nameEN: 'Hamburg',
}),
},
},
@ -551,8 +549,6 @@ describe('in mode', () => {
locationName: 'Hamburg, Germany',
location: expect.objectContaining({
name: 'Hamburg',
nameDE: 'Hamburg',
nameEN: 'Hamburg',
}),
myRole: 'owner',
}),
@ -2895,8 +2891,6 @@ describe('in mode', () => {
locationName: 'Berlin, Germany',
location: expect.objectContaining({
name: 'Berlin',
nameDE: 'Berlin',
nameEN: 'Berlin',
}),
myRole: 'owner',
},
@ -2947,8 +2941,6 @@ describe('in mode', () => {
locationName: 'Paris, France',
location: expect.objectContaining({
name: 'Paris',
nameDE: 'Paris',
nameEN: 'Paris',
}),
myRole: 'owner',
},
@ -2975,8 +2967,6 @@ describe('in mode', () => {
locationName: 'Hamburg, Germany',
location: expect.objectContaining({
name: 'Hamburg',
nameDE: 'Hamburg',
nameEN: 'Hamburg',
}),
myRole: 'owner',
},

View File

@ -1,17 +1,29 @@
/* eslint-disable @typescript-eslint/no-unsafe-call */
/* eslint-disable @typescript-eslint/no-unsafe-member-access */
/* eslint-disable @typescript-eslint/no-unsafe-assignment */
import { parse } from 'graphql'
import Factory, { cleanDatabase } from '@db/factories'
import UpdateUser from '@graphql/queries/users/UpdateUser.gql'
import User from '@graphql/queries/users/User.gql'
import { createApolloTestSetup } from '@root/test/helpers'
import type { ApolloTestSetup } from '@root/test/helpers'
import type { Context } from '@src/context'
const UserLocationName = parse(`
query User($id: ID, $lang: String) {
User(id: $id) {
id
location {
id
name(lang: $lang)
}
}
}
`)
let authenticatedUser: Context['user']
const context = () => ({ authenticatedUser })
let mutate: ApolloTestSetup['mutate']
let query: ApolloTestSetup['query']
let database: ApolloTestSetup['database']
let server: ApolloTestSetup['server']
@ -19,7 +31,6 @@ let server: ApolloTestSetup['server']
beforeAll(async () => {
await cleanDatabase()
const apolloSetup = await createApolloTestSetup({ context })
mutate = apolloSetup.mutate
query = apolloSetup.query
database = apolloSetup.database
server = apolloSetup.server
@ -39,41 +50,84 @@ afterEach(async () => {
describe('resolvers', () => {
describe('Location', () => {
describe('custom mutation, not handled by neo4j-graphql-js', () => {
let variables
describe('name(lang)', () => {
beforeEach(async () => {
variables = {
id: 'u47',
name: 'John Doughnut',
}
const Paris = await Factory.build('location', {
id: 'region.9397217726497330',
name: 'Paris',
const Hamburg = await Factory.build('location', {
id: 'region.5127278006398860',
name: 'Hamburg',
type: 'region',
lng: 2.35183,
lat: 48.85658,
nameEN: 'Paris',
lng: 10.0,
lat: 53.55,
nameEN: 'Hamburg',
nameDE: 'Hamburg',
nameIT: 'Amburgo',
nameRU: 'Гамбург',
nameFR: 'Hambourg',
nameES: 'Hamburgo',
})
const user = await Factory.build('user', {
id: 'u47',
name: 'John Doe',
})
await user.relateTo(Paris, 'isIn')
await user.relateTo(Hamburg, 'isIn')
authenticatedUser = await user.toJson()
})
it('returns `null` if location translation is not available', async () => {
await expect(mutate({ mutation: UpdateUser, variables })).resolves.toMatchObject({
it('returns the name in the requested language', async () => {
await expect(
query({ query: UserLocationName, variables: { id: 'u47', lang: 'RU' } }),
).resolves.toMatchObject({
data: {
UpdateUser: {
name: 'John Doughnut',
location: {
nameRU: null,
nameEN: 'Paris',
},
},
User: [
expect.objectContaining({
location: expect.objectContaining({ name: 'Гамбург' }),
}),
],
},
errors: undefined,
})
})
it('returns a different name for a different language', async () => {
await expect(
query({ query: UserLocationName, variables: { id: 'u47', lang: 'IT' } }),
).resolves.toMatchObject({
data: {
User: [
expect.objectContaining({
location: expect.objectContaining({ name: 'Amburgo' }),
}),
],
},
errors: undefined,
})
})
it('returns the default name when no lang is provided', async () => {
await expect(
query({ query: UserLocationName, variables: { id: 'u47' } }),
).resolves.toMatchObject({
data: {
User: [
expect.objectContaining({
location: expect.objectContaining({ name: 'Hamburg' }),
}),
],
},
errors: undefined,
})
})
it('falls back to default when the requested translation does not exist', async () => {
await expect(
query({ query: UserLocationName, variables: { id: 'u47', lang: 'ZZ' } }),
).resolves.toMatchObject({
data: {
User: [
expect.objectContaining({
location: expect.objectContaining({ name: 'Hamburg' }),
}),
],
},
errors: undefined,
})

View File

@ -5,26 +5,12 @@
/* eslint-disable @typescript-eslint/return-await */
import { UserInputError } from '@graphql/errors'
import Resolver from './helpers/Resolver'
import { queryLocations } from './users/location'
import type { Context } from '@src/context'
export default {
Location: {
...Resolver('Location', {
undefinedToNull: [
'nameEN',
'nameDE',
'nameFR',
'nameNL',
'nameIT',
'nameES',
'namePT',
'namePL',
'nameRU',
],
}),
distanceToMe: async (parent, _params, context: Context, _resolveInfo) => {
if (!parent.id) {
throw new Error('Can not identify selected Location!')

View File

@ -245,8 +245,6 @@ describe('UpdateUser', () => {
locationName: 'Hamburg, New Jersey, United States',
location: expect.objectContaining({
name: 'Hamburg',
nameDE: 'Hamburg',
nameEN: 'Hamburg',
}),
},
},

View File

@ -34,6 +34,7 @@ const newlyCreatedNodesWithLocales = [
nameRU: 'Вельцхайм',
nameNL: 'Welzheim',
namePL: 'Welzheim',
nameSQ: 'Welzheim',
lng: 9.634301,
lat: 48.874393,
},
@ -50,6 +51,7 @@ const newlyCreatedNodesWithLocales = [
namePL: 'Badenia-Wirtembergia',
namePT: 'Baden-Württemberg',
nameRU: 'Баден-Вюртемберг',
nameSQ: 'Baden-Vyrtemberg',
},
country: {
id: expect.stringContaining('country'),
@ -64,6 +66,7 @@ const newlyCreatedNodesWithLocales = [
namePL: 'Niemcy',
namePT: 'Alemanha',
nameRU: 'Германия',
nameSQ: 'Gjermania',
},
},
]

View File

@ -13,7 +13,7 @@ import { UserInputError } from '@graphql/errors'
import type { Context } from '@src/context'
const locales = ['en', 'de', 'fr', 'nl', 'it', 'es', 'pt', 'pl', 'ru']
const locales = ['en', 'de', 'fr', 'nl', 'it', 'es', 'pt', 'pl', 'ru', 'sq']
const REQUEST_TIMEOUT = 3000
@ -29,6 +29,7 @@ const createLocation = async (session, mapboxData) => {
namePT: mapboxData.text_pt,
namePL: mapboxData.text_pl,
nameRU: mapboxData.text_ru,
nameSQ: mapboxData.text_sq,
type: mapboxData.id.split('.')[0].toLowerCase(),
address: mapboxData.address,
lng: mapboxData.center?.length ? mapboxData.center[0] : null,
@ -47,6 +48,7 @@ const createLocation = async (session, mapboxData) => {
'l.namePT = $namePT, ' +
'l.namePL = $namePL, ' +
'l.nameRU = $nameRU, ' +
'l.nameSQ = $nameSQ, ' +
'l.type = $type'
if (data.lat && data.lng) {

View File

@ -1,15 +1,17 @@
type Location {
id: ID!
name: String!
nameEN: String
nameDE: String
nameFR: String
nameNL: String
nameIT: String
nameES: String
namePT: String
namePL: String
nameRU: String
name(lang: String = ""): String!
@cypher(
statement: """
RETURN COALESCE(
CASE WHEN $lang <> '' THEN this['name' + toUpper($lang)] END,
this['name' + $cypherParams.languageDefault],
this.name,
this.nameEN,
this.id
)
"""
)
type: String!
lat: Float
lng: Float

View File

@ -462,14 +462,14 @@
"@smithy/types" "^4.13.0"
tslib "^2.6.2"
"@aws-sdk/lib-storage@^3.990.0":
version "3.990.0"
resolved "https://registry.yarnpkg.com/@aws-sdk/lib-storage/-/lib-storage-3.990.0.tgz#d5b19c4531b5267f1c06078874c789c67971cce3"
integrity sha512-SHog6kMWXwLBTeVwFAd+EHwr1874Ei5ob1DTL5mLmJDwbmkFog2VDKN+9BmI4di0yxY057Ps2vhhWLhKy89wuA==
"@aws-sdk/lib-storage@^3.1000.0":
version "3.1000.0"
resolved "https://registry.yarnpkg.com/@aws-sdk/lib-storage/-/lib-storage-3.1000.0.tgz#b65060c91288832af1598222555fcfc18a9bdf52"
integrity sha512-/5KUjz08OS6ErUAaBBBXosFWcjUQJ7R9taPDYfmeKALQF4YXirS+n4/nholInOG4/8Cg89DeufqA/Ru89jC5Kw==
dependencies:
"@smithy/abort-controller" "^4.2.8"
"@smithy/middleware-endpoint" "^4.4.14"
"@smithy/smithy-client" "^4.11.3"
"@smithy/abort-controller" "^4.2.10"
"@smithy/middleware-endpoint" "^4.4.20"
"@smithy/smithy-client" "^4.12.0"
buffer "5.6.0"
events "3.3.0"
stream-browserify "3.0.0"
@ -2619,14 +2619,6 @@
"@smithy/types" "^4.13.0"
tslib "^2.6.2"
"@smithy/abort-controller@^4.2.8":
version "4.2.8"
resolved "https://registry.yarnpkg.com/@smithy/abort-controller/-/abort-controller-4.2.8.tgz#3bfd7a51acce88eaec9a65c3382542be9f3a053a"
integrity sha512-peuVfkYHAmS5ybKxWcfraK7WBBP0J+rkfUcbHJJKQ4ir3UAUNQI+Y4Vt/PqSzGqgloJ5O1dk7+WzNL8wcCSXbw==
dependencies:
"@smithy/types" "^4.12.0"
tslib "^2.6.2"
"@smithy/chunked-blob-reader-native@^4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@smithy/chunked-blob-reader-native/-/chunked-blob-reader-native-4.2.2.tgz#9fcc884dfd6a041b8f9aa1e0aa14b5bfb4e85f16"
@ -2806,7 +2798,7 @@
"@smithy/types" "^4.13.0"
tslib "^2.6.2"
"@smithy/middleware-endpoint@^4.4.14", "@smithy/middleware-endpoint@^4.4.20":
"@smithy/middleware-endpoint@^4.4.20":
version "4.4.20"
resolved "https://registry.yarnpkg.com/@smithy/middleware-endpoint/-/middleware-endpoint-4.4.20.tgz#dea33d0d391a4a8095ab16cf57c8c6dc482f5123"
integrity sha512-9W6Np4ceBP3XCYAGLoMCmn8t2RRVzuD1ndWPLBbv7H9CrwM9Bprf6Up6BM9ZA/3alodg0b7Kf6ftBK9R1N04vw==
@ -2935,7 +2927,7 @@
"@smithy/util-utf8" "^4.2.1"
tslib "^2.6.2"
"@smithy/smithy-client@^4.11.3", "@smithy/smithy-client@^4.12.0":
"@smithy/smithy-client@^4.12.0":
version "4.12.0"
resolved "https://registry.yarnpkg.com/@smithy/smithy-client/-/smithy-client-4.12.0.tgz#71f01aeaa089867c31a3d6452349cf4fd4c4a9e5"
integrity sha512-R8bQ9K3lCcXyZmBnQqUZJF4ChZmtWT5NLi6x5kgWx5D+/j0KorXcA0YcFg/X5TOgnTCy1tbKc6z2g2y4amFupQ==
@ -2948,7 +2940,7 @@
"@smithy/util-stream" "^4.5.15"
tslib "^2.6.2"
"@smithy/types@^4.12.0", "@smithy/types@^4.13.0":
"@smithy/types@^4.13.0":
version "4.13.0"
resolved "https://registry.yarnpkg.com/@smithy/types/-/types-4.13.0.tgz#9787297a07ee72ef74d4f7d93c744d10ed664c21"
integrity sha512-COuLsZILbbQsdrwKQpkkpyep7lCsByxwj7m0Mg5v66/ZTyenlfBc40/QFQ5chO0YN/PNEH1Bi3fGtfXPnYNeDw==
@ -3317,10 +3309,10 @@
dependencies:
"@types/node" "*"
"@types/lodash@^4.14.175", "@types/lodash@^4.17.23":
version "4.17.23"
resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.17.23.tgz#c1bb06db218acc8fc232da0447473fc2fb9d9841"
integrity sha512-RDvF6wTulMPjrNdCoYRC8gNR880JNGT8uB+REUpC2Ns4pRqQJhGz90wh7rgdXDPpCczF3VGktDuFGVnz8zP7HA==
"@types/lodash@^4.14.175", "@types/lodash@^4.17.24":
version "4.17.24"
resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.17.24.tgz#4ae334fc62c0e915ca8ed8e35dcc6d4eeb29215f"
integrity sha512-gIW7lQLZbue7lRSWEFql49QJJWThrTFFeIMJdp3eH4tKoxm1OvEPg02rm4wCCSHS0cL3/Fizimb35b7k8atwsQ==
"@types/long@^4.0.0":
version "4.0.2"
@ -8451,10 +8443,10 @@ mimic-response@^3.1.0:
resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9"
integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==
minimatch@^10.1.1, minimatch@^10.2.1, minimatch@^10.2.2, "minimatch@^9.0.3 || ^10.0.1":
version "10.2.2"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-10.2.2.tgz#361603ee323cfb83496fea2ae17cc44ea4e1f99f"
integrity sha512-+G4CpNBxa5MprY+04MbgOw1v7So6n5JY166pFi9KfYwT78fxScCeSNQSNzp6dpPSW2rONOps6Ocam1wFhCgoVw==
minimatch@^10.1.1, minimatch@^10.2.1, minimatch@^10.2.4, "minimatch@^9.0.3 || ^10.0.1":
version "10.2.4"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-10.2.4.tgz#465b3accbd0218b8281f5301e27cedc697f96fde"
integrity sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==
dependencies:
brace-expansion "^5.0.2"

271
package-lock.json generated
View File

@ -13,10 +13,10 @@
"@babel/preset-env": "^7.29.0",
"@babel/register": "^7.28.6",
"@badeball/cypress-cucumber-preprocessor": "^24.0.1",
"@cucumber/cucumber": "12.6.0",
"@cucumber/cucumber": "12.7.0",
"@cypress/webpack-preprocessor": "^7.0.2",
"auto-changelog": "^2.5.0",
"cypress": "^15.10.0",
"cypress": "^15.11.0",
"cypress-network-idle": "^1.15.0",
"date-fns": "^3.6.0",
"dotenv": "^17.3.1",
@ -25,7 +25,7 @@
"multiple-cucumber-html-reporter": "^3.10.0",
"node-polyfill-webpack-plugin": "^4.1.0",
"sass-embedded": "^1.97.3",
"webpack": "^5.105.2"
"webpack": "^5.105.3"
},
"optionalDependencies": {
"@vuepress/bundler-vite": "^2.0.0-rc.18",
@ -1677,54 +1677,6 @@
"cypress": "^12.0.0 || ^13.0.0 || ^14.0.0 || ^15.0.0"
}
},
"node_modules/@badeball/cypress-cucumber-preprocessor/node_modules/@cucumber/ci-environment": {
"version": "13.0.0",
"resolved": "https://registry.npmjs.org/@cucumber/ci-environment/-/ci-environment-13.0.0.tgz",
"integrity": "sha512-cs+3NzfNkGbcmHPddjEv4TKFiBpZRQ6WJEEufB9mw+ExS22V/4R/zpDSEG+fsJ/iSNCd6A2sATdY8PFOyY3YnA==",
"dev": true,
"license": "MIT"
},
"node_modules/@badeball/cypress-cucumber-preprocessor/node_modules/@cucumber/cucumber-expressions": {
"version": "19.0.0",
"resolved": "https://registry.npmjs.org/@cucumber/cucumber-expressions/-/cucumber-expressions-19.0.0.tgz",
"integrity": "sha512-4FKoOQh2Uf6F6/Ln+1OxuK8LkTg6PyAqekhf2Ix8zqV2M54sH+m7XNJNLhOFOAW/t9nxzRbw2CcvXbCLjcvHZg==",
"dev": true,
"license": "MIT",
"dependencies": {
"regexp-match-indices": "1.0.2"
}
},
"node_modules/@badeball/cypress-cucumber-preprocessor/node_modules/@cucumber/gherkin": {
"version": "38.0.0",
"resolved": "https://registry.npmjs.org/@cucumber/gherkin/-/gherkin-38.0.0.tgz",
"integrity": "sha512-duEXK+KDfQUzu3vsSzXjkxQ2tirF5PRsc1Xrts6THKHJO6mjw4RjM8RV+vliuDasmhhrmdLcOcM7d9nurNTJKw==",
"dev": true,
"license": "MIT",
"dependencies": {
"@cucumber/messages": ">=31.0.0 <33"
}
},
"node_modules/@badeball/cypress-cucumber-preprocessor/node_modules/@cucumber/html-formatter": {
"version": "23.0.0",
"resolved": "https://registry.npmjs.org/@cucumber/html-formatter/-/html-formatter-23.0.0.tgz",
"integrity": "sha512-WwcRzdM8Ixy4e53j+Frm3fKM5rNuIyWUfy4HajEN+Xk/YcjA6yW0ACGTFDReB++VDZz/iUtwYdTlPRY36NbqJg==",
"dev": true,
"license": "MIT",
"peerDependencies": {
"@cucumber/messages": ">=18"
}
},
"node_modules/@badeball/cypress-cucumber-preprocessor/node_modules/@cucumber/messages": {
"version": "32.0.1",
"resolved": "https://registry.npmjs.org/@cucumber/messages/-/messages-32.0.1.tgz",
"integrity": "sha512-1OSoW+GQvFUNAl6tdP2CTBexTXMNJF0094goVUcvugtQeXtJ0K8sCP0xbq7GGoiezs/eJAAOD03+zAPT64orHQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"class-transformer": "0.5.1",
"reflect-metadata": "0.2.2"
}
},
"node_modules/@badeball/cypress-cucumber-preprocessor/node_modules/@cucumber/pretty-formatter": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/@cucumber/pretty-formatter/-/pretty-formatter-3.2.0.tgz",
@ -1753,13 +1705,6 @@
"@cucumber/messages": "*"
}
},
"node_modules/@badeball/cypress-cucumber-preprocessor/node_modules/@cucumber/tag-expressions": {
"version": "9.1.0",
"resolved": "https://registry.npmjs.org/@cucumber/tag-expressions/-/tag-expressions-9.1.0.tgz",
"integrity": "sha512-bvHjcRFZ+J1TqIa9eFNO1wGHqwx4V9ZKV3hYgkuK/VahHx73uiP4rKV3JVrvWSMrwrFvJG6C8aEwnCWSvbyFdQ==",
"dev": true,
"license": "MIT"
},
"node_modules/@badeball/cypress-cucumber-preprocessor/node_modules/glob": {
"version": "13.0.0",
"resolved": "https://registry.npmjs.org/glob/-/glob-13.0.0.tgz",
@ -1853,30 +1798,30 @@
}
},
"node_modules/@cucumber/ci-environment": {
"version": "12.0.0",
"resolved": "https://registry.npmjs.org/@cucumber/ci-environment/-/ci-environment-12.0.0.tgz",
"integrity": "sha512-SqCEnbCNl3zCXCFpqGUuoaSNhLC0jLw4tKeFcAxTw9MD/QRlJjeAC/fyvVLFuXuSq0OunJlFfxLu+Z3HE+oLPg==",
"version": "13.0.0",
"resolved": "https://registry.npmjs.org/@cucumber/ci-environment/-/ci-environment-13.0.0.tgz",
"integrity": "sha512-cs+3NzfNkGbcmHPddjEv4TKFiBpZRQ6WJEEufB9mw+ExS22V/4R/zpDSEG+fsJ/iSNCd6A2sATdY8PFOyY3YnA==",
"dev": true,
"license": "MIT"
},
"node_modules/@cucumber/cucumber": {
"version": "12.6.0",
"resolved": "https://registry.npmjs.org/@cucumber/cucumber/-/cucumber-12.6.0.tgz",
"integrity": "sha512-z6XKBIcUnJebnR3W8+K7Q2jJKB+pKpoD1l3CygEa9ufq/aeGuS5LAlllNxrod8loepLJhNmp8J8aengGbkL4cg==",
"version": "12.7.0",
"resolved": "https://registry.npmjs.org/@cucumber/cucumber/-/cucumber-12.7.0.tgz",
"integrity": "sha512-7A/9CJpJDxv1SQ7hAZU0zPn2yRxx6XMR+LO4T94Enm3cYNWsEEj+RGX38NLX4INT+H6w5raX3Csb/qs4vUBsOA==",
"dev": true,
"license": "MIT",
"dependencies": {
"@cucumber/ci-environment": "12.0.0",
"@cucumber/cucumber-expressions": "18.1.0",
"@cucumber/gherkin": "37.0.1",
"@cucumber/ci-environment": "13.0.0",
"@cucumber/cucumber-expressions": "19.0.0",
"@cucumber/gherkin": "38.0.0",
"@cucumber/gherkin-streams": "6.0.0",
"@cucumber/gherkin-utils": "10.0.0",
"@cucumber/html-formatter": "22.3.0",
"@cucumber/gherkin-utils": "11.0.0",
"@cucumber/html-formatter": "23.0.0",
"@cucumber/junit-xml-formatter": "0.9.0",
"@cucumber/message-streams": "4.0.1",
"@cucumber/messages": "31.2.0",
"@cucumber/messages": "32.0.1",
"@cucumber/pretty-formatter": "1.0.1",
"@cucumber/tag-expressions": "8.1.0",
"@cucumber/tag-expressions": "9.1.0",
"assertion-error-formatter": "^3.0.0",
"capital-case": "^1.0.4",
"chalk": "^4.1.2",
@ -1899,7 +1844,7 @@
"mz": "^2.7.0",
"progress": "^2.0.3",
"read-package-up": "^12.0.0",
"semver": "7.7.3",
"semver": "7.7.4",
"string-argv": "0.3.1",
"supports-color": "^8.1.1",
"type-fest": "^4.41.0",
@ -1918,9 +1863,9 @@
}
},
"node_modules/@cucumber/cucumber-expressions": {
"version": "18.1.0",
"resolved": "https://registry.npmjs.org/@cucumber/cucumber-expressions/-/cucumber-expressions-18.1.0.tgz",
"integrity": "sha512-9yc+wForrn15FaqLWNjYb19iQ/gPXhcq1kc4X1Ex1lR7NcJpa5pGnCow3bc1HERVM5IoYH+gwwrcJogSMsf+Vw==",
"version": "19.0.0",
"resolved": "https://registry.npmjs.org/@cucumber/cucumber-expressions/-/cucumber-expressions-19.0.0.tgz",
"integrity": "sha512-4FKoOQh2Uf6F6/Ln+1OxuK8LkTg6PyAqekhf2Ix8zqV2M54sH+m7XNJNLhOFOAW/t9nxzRbw2CcvXbCLjcvHZg==",
"dev": true,
"license": "MIT",
"dependencies": {
@ -1989,9 +1934,9 @@
}
},
"node_modules/@cucumber/cucumber/node_modules/semver": {
"version": "7.7.3",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz",
"integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==",
"version": "7.7.4",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz",
"integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==",
"dev": true,
"license": "ISC",
"bin": {
@ -2015,13 +1960,13 @@
}
},
"node_modules/@cucumber/gherkin": {
"version": "37.0.1",
"resolved": "https://registry.npmjs.org/@cucumber/gherkin/-/gherkin-37.0.1.tgz",
"integrity": "sha512-VmX+PKa9vqKZiycZoQKYlCsA0N7gAfiOfrcHSjK+suEVUwvKEH2sjO47NznrFFLmVWYTRmw3DLHQnpBAznkYEA==",
"version": "38.0.0",
"resolved": "https://registry.npmjs.org/@cucumber/gherkin/-/gherkin-38.0.0.tgz",
"integrity": "sha512-duEXK+KDfQUzu3vsSzXjkxQ2tirF5PRsc1Xrts6THKHJO6mjw4RjM8RV+vliuDasmhhrmdLcOcM7d9nurNTJKw==",
"dev": true,
"license": "MIT",
"dependencies": {
"@cucumber/messages": ">=31.0.0 <32"
"@cucumber/messages": ">=31.0.0 <33"
}
},
"node_modules/@cucumber/gherkin-streams": {
@ -2044,60 +1989,36 @@
}
},
"node_modules/@cucumber/gherkin-utils": {
"version": "10.0.0",
"resolved": "https://registry.npmjs.org/@cucumber/gherkin-utils/-/gherkin-utils-10.0.0.tgz",
"integrity": "sha512-BcujlDT343GXXNrMPl3ws6Il3zs8dQw3Yp/d3HnOJF8i2snGGgiapoTbko7MdvAt7ivDL7SDo+e1d5Cnpl3llA==",
"version": "11.0.0",
"resolved": "https://registry.npmjs.org/@cucumber/gherkin-utils/-/gherkin-utils-11.0.0.tgz",
"integrity": "sha512-LJ+s4+TepHTgdKWDR4zbPyT7rQjmYIcukTwNbwNwgqr6i8Gjcmzf6NmtbYDA19m1ZFg6kWbFsmHnj37ZuX+kZA==",
"dev": true,
"license": "MIT",
"dependencies": {
"@cucumber/gherkin": "^34.0.0",
"@cucumber/messages": "^29.0.0",
"@cucumber/gherkin": "^38.0.0",
"@cucumber/messages": "^32.0.0",
"@teppeis/multimaps": "3.0.0",
"commander": "14.0.0",
"commander": "14.0.2",
"source-map-support": "^0.5.21"
},
"bin": {
"gherkin-utils": "bin/gherkin-utils"
}
},
"node_modules/@cucumber/gherkin-utils/node_modules/@cucumber/gherkin": {
"version": "34.0.0",
"resolved": "https://registry.npmjs.org/@cucumber/gherkin/-/gherkin-34.0.0.tgz",
"integrity": "sha512-659CCFsrsyvuBi/Eix1fnhSheMnojSfnBcqJ3IMPNawx7JlrNJDcXYSSdxcUw3n/nG05P+ptCjmiZY3i14p+tA==",
"node_modules/@cucumber/gherkin-utils/node_modules/commander": {
"version": "14.0.2",
"resolved": "https://registry.npmjs.org/commander/-/commander-14.0.2.tgz",
"integrity": "sha512-TywoWNNRbhoD0BXs1P3ZEScW8W5iKrnbithIl0YH+uCmBd0QpPOA8yc82DS3BIE5Ma6FnBVUsJ7wVUDz4dvOWQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"@cucumber/messages": ">=19.1.4 <29"
}
},
"node_modules/@cucumber/gherkin-utils/node_modules/@cucumber/gherkin/node_modules/@cucumber/messages": {
"version": "28.1.0",
"resolved": "https://registry.npmjs.org/@cucumber/messages/-/messages-28.1.0.tgz",
"integrity": "sha512-2LzZtOwYKNlCuNf31ajkrekoy2M4z0Z1QGiPH40n4gf5t8VOUFb7m1ojtR4LmGvZxBGvJZP8voOmRqDWzBzYKA==",
"dev": true,
"license": "MIT",
"dependencies": {
"@types/uuid": "10.0.0",
"class-transformer": "0.5.1",
"reflect-metadata": "0.2.2",
"uuid": "11.1.0"
}
},
"node_modules/@cucumber/gherkin-utils/node_modules/@cucumber/messages": {
"version": "29.0.1",
"resolved": "https://registry.npmjs.org/@cucumber/messages/-/messages-29.0.1.tgz",
"integrity": "sha512-aAvIYfQD6/aBdF8KFQChC3CQ1Q+GX9orlR6GurGiX6oqaCnBkxA4WU3OQUVepDynEFrPayerqKRFcAMhdcXReQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"class-transformer": "0.5.1",
"reflect-metadata": "0.2.2"
"engines": {
"node": ">=20"
}
},
"node_modules/@cucumber/html-formatter": {
"version": "22.3.0",
"resolved": "https://registry.npmjs.org/@cucumber/html-formatter/-/html-formatter-22.3.0.tgz",
"integrity": "sha512-0s3G7kznCRDiiesQ4K0yBdswGqU9E0j2AWUug41NpedBzhaY+Hn192ANRF597GZtuWrCjE53aFb3fOyOsT8B+g==",
"version": "23.0.0",
"resolved": "https://registry.npmjs.org/@cucumber/html-formatter/-/html-formatter-23.0.0.tgz",
"integrity": "sha512-WwcRzdM8Ixy4e53j+Frm3fKM5rNuIyWUfy4HajEN+Xk/YcjA6yW0ACGTFDReB++VDZz/iUtwYdTlPRY36NbqJg==",
"dev": true,
"license": "MIT",
"peerDependencies": {
@ -2130,9 +2051,9 @@
}
},
"node_modules/@cucumber/messages": {
"version": "31.2.0",
"resolved": "https://registry.npmjs.org/@cucumber/messages/-/messages-31.2.0.tgz",
"integrity": "sha512-3urzBNCwmU/YKrKR0b3XdioFcOFNuxlLwEImsxeP8rXnweLs+Ky04QURcbKpFom3T6a6v9zVioLCfHUuSQ72pg==",
"version": "32.0.1",
"resolved": "https://registry.npmjs.org/@cucumber/messages/-/messages-32.0.1.tgz",
"integrity": "sha512-1OSoW+GQvFUNAl6tdP2CTBexTXMNJF0094goVUcvugtQeXtJ0K8sCP0xbq7GGoiezs/eJAAOD03+zAPT64orHQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@ -2171,9 +2092,9 @@
}
},
"node_modules/@cucumber/tag-expressions": {
"version": "8.1.0",
"resolved": "https://registry.npmjs.org/@cucumber/tag-expressions/-/tag-expressions-8.1.0.tgz",
"integrity": "sha512-UFeOVUyc711/E7VHjThxMwg3jbGod9TlbM1gxNixX/AGDKg82Eha4cE0tKki3GGUs7uB2NyI+hQAuhB8rL2h5A==",
"version": "9.1.0",
"resolved": "https://registry.npmjs.org/@cucumber/tag-expressions/-/tag-expressions-9.1.0.tgz",
"integrity": "sha512-bvHjcRFZ+J1TqIa9eFNO1wGHqwx4V9ZKV3hYgkuK/VahHx73uiP4rKV3JVrvWSMrwrFvJG6C8aEwnCWSvbyFdQ==",
"dev": true,
"license": "MIT"
},
@ -3828,13 +3749,6 @@
"integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==",
"optional": true
},
"node_modules/@types/uuid": {
"version": "10.0.0",
"resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-10.0.0.tgz",
"integrity": "sha512-7gqG38EyHgyP1S+7+xomFtL+ZNHcKv6DwNaCZmJmo1vgMugyF3TCnXVg4t1uk89mLNwnLtnY3TpOpCOyp1/xHQ==",
"dev": true,
"license": "MIT"
},
"node_modules/@types/web-bluetooth": {
"version": "0.0.20",
"resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.20.tgz",
@ -5646,6 +5560,19 @@
"dev": true,
"license": "Apache-2.0"
},
"node_modules/acorn": {
"version": "8.16.0",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz",
"integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==",
"devOptional": true,
"license": "MIT",
"bin": {
"acorn": "bin/acorn"
},
"engines": {
"node": ">=0.4.0"
}
},
"node_modules/aggregate-error": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz",
@ -7180,9 +7107,9 @@
"optional": true
},
"node_modules/cypress": {
"version": "15.10.0",
"resolved": "https://registry.npmjs.org/cypress/-/cypress-15.10.0.tgz",
"integrity": "sha512-OtUh7OMrfEjKoXydlAD1CfG2BvKxIqgWGY4/RMjrqQ3BKGBo5JFKoYNH+Tpcj4xKxWH4XK0Xri+9y8WkxhYbqQ==",
"version": "15.11.0",
"resolved": "https://registry.npmjs.org/cypress/-/cypress-15.11.0.tgz",
"integrity": "sha512-NXDE6/fqZuzh1Zr53nyhCCa4lcANNTYWQNP9fJO+tzD3qVTDaTUni5xXMuigYjMujQ7CRiT9RkJJONmPQSsDFw==",
"dev": true,
"hasInstallScript": true,
"license": "MIT",
@ -7224,9 +7151,10 @@
"proxy-from-env": "1.0.0",
"request-progress": "^3.0.0",
"supports-color": "^8.1.1",
"systeminformation": "^5.27.14",
"systeminformation": "^5.31.1",
"tmp": "~0.2.4",
"tree-kill": "1.2.2",
"tslib": "1.14.1",
"untildify": "^4.0.0",
"yauzl": "^2.10.0"
},
@ -7320,6 +7248,13 @@
"node": ">= 6"
}
},
"node_modules/cypress/node_modules/tslib": {
"version": "1.14.1",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
"integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
"dev": true,
"license": "0BSD"
},
"node_modules/dashdash": {
"version": "1.14.1",
"resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
@ -8492,18 +8427,6 @@
"update-test-count": "bin/update-test-count.js"
}
},
"node_modules/find-test-names/node_modules/acorn": {
"version": "8.14.0",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz",
"integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==",
"dev": true,
"bin": {
"acorn": "bin/acorn"
},
"engines": {
"node": ">=0.4.0"
}
},
"node_modules/find-test-names/node_modules/acorn-walk": {
"version": "8.3.4",
"resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.4.tgz",
@ -14496,9 +14419,9 @@
}
},
"node_modules/systeminformation": {
"version": "5.30.5",
"resolved": "https://registry.npmjs.org/systeminformation/-/systeminformation-5.30.5.tgz",
"integrity": "sha512-DpWmpCckhwR3hG+6udb6/aQB7PpiqVnvSljrjbKxNSvTRsGsg7NVE3/vouoYf96xgwMxXFKcS4Ux+cnkFwYM7A==",
"version": "5.31.1",
"resolved": "https://registry.npmjs.org/systeminformation/-/systeminformation-5.31.1.tgz",
"integrity": "sha512-6pRwxoGeV/roJYpsfcP6tN9mep6pPeCtXbUOCdVa0nme05Brwcwdge/fVNhIZn2wuUitAKZm4IYa7QjnRIa9zA==",
"dev": true,
"license": "MIT",
"os": [
@ -14603,19 +14526,6 @@
}
}
},
"node_modules/terser/node_modules/acorn": {
"version": "8.15.0",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz",
"integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
"devOptional": true,
"license": "MIT",
"bin": {
"acorn": "bin/acorn"
},
"engines": {
"node": ">=0.4.0"
}
},
"node_modules/terser/node_modules/commander": {
"version": "2.20.3",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
@ -16679,9 +16589,9 @@
"dev": true
},
"node_modules/webpack": {
"version": "5.105.2",
"resolved": "https://registry.npmjs.org/webpack/-/webpack-5.105.2.tgz",
"integrity": "sha512-dRXm0a2qcHPUBEzVk8uph0xWSjV/xZxenQQbLwnwP7caQCYpqG1qddwlyEkIDkYn0K8tvmcrZ+bOrzoQ3HxCDw==",
"version": "5.105.3",
"resolved": "https://registry.npmjs.org/webpack/-/webpack-5.105.3.tgz",
"integrity": "sha512-LLBBA4oLmT7sZdHiYE/PeVuifOxYyE2uL/V+9VQP7YSYdJU7bSf7H8bZRRxW8kEPMkmVjnrXmoR3oejIdX0xbg==",
"dev": true,
"license": "MIT",
"dependencies": {
@ -16691,7 +16601,7 @@
"@webassemblyjs/ast": "^1.14.1",
"@webassemblyjs/wasm-edit": "^1.14.1",
"@webassemblyjs/wasm-parser": "^1.14.1",
"acorn": "^8.15.0",
"acorn": "^8.16.0",
"acorn-import-phases": "^1.0.3",
"browserslist": "^4.28.1",
"chrome-trace-event": "^1.0.2",
@ -16709,7 +16619,7 @@
"tapable": "^2.3.0",
"terser-webpack-plugin": "^5.3.16",
"watchpack": "^2.5.1",
"webpack-sources": "^3.3.3"
"webpack-sources": "^3.3.4"
},
"bin": {
"webpack": "bin/webpack.js"
@ -16728,9 +16638,9 @@
}
},
"node_modules/webpack-sources": {
"version": "3.3.3",
"resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.3.3.tgz",
"integrity": "sha512-yd1RBzSGanHkitROoPFd6qsrxt+oFhg/129YzheDGqeustzX0vTZJZsSsQjVQC4yzBQ56K55XU8gaNCtIzOnTg==",
"version": "3.3.4",
"resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.3.4.tgz",
"integrity": "sha512-7tP1PdV4vF+lYPnkMR0jMY5/la2ub5Fc/8VQrrU+lXkiM6C4TjVfGw7iKfyhnTQOsD+6Q/iKw0eFciziRgD58Q==",
"dev": true,
"license": "MIT",
"engines": {
@ -16744,19 +16654,6 @@
"dev": true,
"license": "MIT"
},
"node_modules/webpack/node_modules/acorn": {
"version": "8.15.0",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz",
"integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
"dev": true,
"license": "MIT",
"bin": {
"acorn": "bin/acorn"
},
"engines": {
"node": ">=0.4.0"
}
},
"node_modules/webpack/node_modules/acorn-import-phases": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/acorn-import-phases/-/acorn-import-phases-1.0.4.tgz",

View File

@ -40,10 +40,10 @@
"@babel/preset-env": "^7.29.0",
"@babel/register": "^7.28.6",
"@badeball/cypress-cucumber-preprocessor": "^24.0.1",
"@cucumber/cucumber": "12.6.0",
"@cucumber/cucumber": "12.7.0",
"@cypress/webpack-preprocessor": "^7.0.2",
"auto-changelog": "^2.5.0",
"cypress": "^15.10.0",
"cypress": "^15.11.0",
"cypress-network-idle": "^1.15.0",
"date-fns": "^3.6.0",
"dotenv": "^17.3.1",
@ -52,7 +52,7 @@
"multiple-cucumber-html-reporter": "^3.10.0",
"node-polyfill-webpack-plugin": "^4.1.0",
"sass-embedded": "^1.97.3",
"webpack": "^5.105.2"
"webpack": "^5.105.3"
},
"optionalDependencies": {
"@vuepress/bundler-vite": "^2.0.0-rc.18",

View File

@ -20,7 +20,7 @@
"@fontsource-variable/inter": "^5.2.8",
"@playwright/test": "^1.58.2",
"@size-limit/file": "^12.0.0",
"@storybook/vue3-vite": "^10.2.10",
"@storybook/vue3-vite": "^10.2.13",
"@tailwindcss/cli": "^4.2.1",
"@tailwindcss/vite": "^4.2.1",
"@types/node": "^25.3.2",
@ -29,7 +29,7 @@
"@vue/test-utils": "^2.4.6",
"eslint": "^9.39.2",
"eslint-config-it4c": "^0.11.2",
"eslint-plugin-jsdoc": "^62.7.0",
"eslint-plugin-jsdoc": "^62.7.1",
"eslint-plugin-playwright": "^2.8.0",
"eslint-plugin-storybook": "^10.2.13",
"eslint-plugin-vuejs-accessibility": "^2.5.0",
@ -46,8 +46,8 @@
"vite-plugin-dts": "^4.5.4",
"vite-tsconfig-paths": "^6.1.1",
"vitest": "^4.0.18",
"vue": "^3.5.28",
"vue-tsc": "^3.2.4"
"vue": "^3.5.29",
"vue-tsc": "^3.2.5"
},
"engines": {
"node": ">=18.0.0"
@ -3597,13 +3597,13 @@
"license": "MIT"
},
"node_modules/@storybook/builder-vite": {
"version": "10.2.10",
"resolved": "https://registry.npmjs.org/@storybook/builder-vite/-/builder-vite-10.2.10.tgz",
"integrity": "sha512-Wd6CYL7LvRRNiXMz977x9u/qMm7nmMw/7Dow2BybQo+Xbfy1KhVjIoZ/gOiG515zpojSozctNrJUbM0+jH1jwg==",
"version": "10.2.13",
"resolved": "https://registry.npmjs.org/@storybook/builder-vite/-/builder-vite-10.2.13.tgz",
"integrity": "sha512-UMlPPPBa5ZbcaCXSKrFIi4tTEb0W72JTByqlJ5cGtDXGkN2uX69aL5n2JLIP0F4NzRRl6rNTeu9tGPPcD4r/CA==",
"dev": true,
"license": "MIT",
"dependencies": {
"@storybook/csf-plugin": "10.2.10",
"@storybook/csf-plugin": "10.2.13",
"ts-dedent": "^2.0.0"
},
"funding": {
@ -3611,14 +3611,14 @@
"url": "https://opencollective.com/storybook"
},
"peerDependencies": {
"storybook": "^10.2.10",
"storybook": "^10.2.13",
"vite": "^5.0.0 || ^6.0.0 || ^7.0.0"
}
},
"node_modules/@storybook/csf-plugin": {
"version": "10.2.10",
"resolved": "https://registry.npmjs.org/@storybook/csf-plugin/-/csf-plugin-10.2.10.tgz",
"integrity": "sha512-aFvgaNDAnKMjuyhPK5ialT22pPqMN0XfPBNPeeNVPYztngkdKBa8WFqF/umDd47HxAjebq+vn6uId1xHyOHH3g==",
"version": "10.2.13",
"resolved": "https://registry.npmjs.org/@storybook/csf-plugin/-/csf-plugin-10.2.13.tgz",
"integrity": "sha512-gUCR7PmyrWYj3dIJJgxOm25dcXFolPIUPmug3z90Aaon7YPXw3pUN+dNDx8KqDJqRK1WDIB4HaefgYZIm5V7iA==",
"dev": true,
"license": "MIT",
"dependencies": {
@ -3631,7 +3631,7 @@
"peerDependencies": {
"esbuild": "*",
"rollup": "*",
"storybook": "^10.2.10",
"storybook": "^10.2.13",
"vite": "*",
"webpack": "*"
},
@ -3669,9 +3669,9 @@
}
},
"node_modules/@storybook/vue3": {
"version": "10.2.10",
"resolved": "https://registry.npmjs.org/@storybook/vue3/-/vue3-10.2.10.tgz",
"integrity": "sha512-hp9d11+Nz2hQCbAoggVJYDuNIguEUwaeuBmYjX84vSUI2jafYHAo9ir3xE2jdWwQsbvdNIUc0puFKD0S3WR0TA==",
"version": "10.2.13",
"resolved": "https://registry.npmjs.org/@storybook/vue3/-/vue3-10.2.13.tgz",
"integrity": "sha512-a/XDCUQZB6/9PTEN1WAZbzdQmUtOvLthkbOLZgSfNAPNKUcoLArjo9Zp1/dr8g84IgYwhIZG5O99gxTwxU+W6Q==",
"dev": true,
"license": "MIT",
"dependencies": {
@ -3684,19 +3684,19 @@
"url": "https://opencollective.com/storybook"
},
"peerDependencies": {
"storybook": "^10.2.10",
"storybook": "^10.2.13",
"vue": "^3.0.0"
}
},
"node_modules/@storybook/vue3-vite": {
"version": "10.2.10",
"resolved": "https://registry.npmjs.org/@storybook/vue3-vite/-/vue3-vite-10.2.10.tgz",
"integrity": "sha512-r2mmbY2Cskk/pN56OTVT0cu9Ocn+h8/sq8M2C0NhViJWQeoANTMCCScR1a2GxFuYs1bX8YMWnwR6wghgvGJLBw==",
"version": "10.2.13",
"resolved": "https://registry.npmjs.org/@storybook/vue3-vite/-/vue3-vite-10.2.13.tgz",
"integrity": "sha512-iXrJ5J+J/AXvAnUjBrgqdOSzhzc/r0GDPW38IihAv/kQ2Uqu9y/UmrKnDU+qtDxcbFNqv615MBr75KArGUPElQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"@storybook/builder-vite": "10.2.10",
"@storybook/vue3": "10.2.10",
"@storybook/builder-vite": "10.2.13",
"@storybook/vue3": "10.2.13",
"magic-string": "^0.30.0",
"typescript": "^5.9.3",
"vue-component-meta": "^2.0.0",
@ -3707,7 +3707,7 @@
"url": "https://opencollective.com/storybook"
},
"peerDependencies": {
"storybook": "^10.2.10",
"storybook": "^10.2.13",
"vite": "^5.0.0 || ^6.0.0 || ^7.0.0"
}
},
@ -5047,13 +5047,13 @@
}
},
"node_modules/@vue/compiler-core": {
"version": "3.5.28",
"resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.28.tgz",
"integrity": "sha512-kviccYxTgoE8n6OCw96BNdYlBg2GOWfBuOW4Vqwrt7mSKWKwFVvI8egdTltqRgITGPsTFYtKYfxIG8ptX2PJHQ==",
"version": "3.5.29",
"resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.29.tgz",
"integrity": "sha512-cuzPhD8fwRHk8IGfmYaR4eEe4cAyJEL66Ove/WZL7yWNL134nqLddSLwNRIsFlnnW1kK+p8Ck3viFnC0chXCXw==",
"license": "MIT",
"dependencies": {
"@babel/parser": "^7.29.0",
"@vue/shared": "3.5.28",
"@vue/shared": "3.5.29",
"entities": "^7.0.1",
"estree-walker": "^2.0.2",
"source-map-js": "^1.2.1"
@ -5078,26 +5078,26 @@
"license": "MIT"
},
"node_modules/@vue/compiler-dom": {
"version": "3.5.28",
"resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.28.tgz",
"integrity": "sha512-/1ZepxAb159jKR1btkefDP+J2xuWL5V3WtleRmxaT+K2Aqiek/Ab/+Ebrw2pPj0sdHO8ViAyyJWfhXXOP/+LQA==",
"version": "3.5.29",
"resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.29.tgz",
"integrity": "sha512-n0G5o7R3uBVmVxjTIYcz7ovr8sy7QObFG8OQJ3xGCDNhbG60biP/P5KnyY8NLd81OuT1WJflG7N4KWYHaeeaIg==",
"license": "MIT",
"dependencies": {
"@vue/compiler-core": "3.5.28",
"@vue/shared": "3.5.28"
"@vue/compiler-core": "3.5.29",
"@vue/shared": "3.5.29"
}
},
"node_modules/@vue/compiler-sfc": {
"version": "3.5.28",
"resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.28.tgz",
"integrity": "sha512-6TnKMiNkd6u6VeVDhZn/07KhEZuBSn43Wd2No5zaP5s3xm8IqFTHBj84HJah4UepSUJTro5SoqqlOY22FKY96g==",
"version": "3.5.29",
"resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.29.tgz",
"integrity": "sha512-oJZhN5XJs35Gzr50E82jg2cYdZQ78wEwvRO6Y63TvLVTc+6xICzJHP1UIecdSPPYIbkautNBanDiWYa64QSFIA==",
"license": "MIT",
"dependencies": {
"@babel/parser": "^7.29.0",
"@vue/compiler-core": "3.5.28",
"@vue/compiler-dom": "3.5.28",
"@vue/compiler-ssr": "3.5.28",
"@vue/shared": "3.5.28",
"@vue/compiler-core": "3.5.29",
"@vue/compiler-dom": "3.5.29",
"@vue/compiler-ssr": "3.5.29",
"@vue/shared": "3.5.29",
"estree-walker": "^2.0.2",
"magic-string": "^0.30.21",
"postcss": "^8.5.6",
@ -5111,13 +5111,13 @@
"license": "MIT"
},
"node_modules/@vue/compiler-ssr": {
"version": "3.5.28",
"resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.28.tgz",
"integrity": "sha512-JCq//9w1qmC6UGLWJX7RXzrGpKkroubey/ZFqTpvEIDJEKGgntuDMqkuWiZvzTzTA5h2qZvFBFHY7fAAa9475g==",
"version": "3.5.29",
"resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.29.tgz",
"integrity": "sha512-Y/ARJZE6fpjzL5GH/phJmsFwx3g6t2KmHKHx5q+MLl2kencADKIrhH5MLF6HHpRMmlRAYBRSvv347Mepf1zVNw==",
"license": "MIT",
"dependencies": {
"@vue/compiler-dom": "3.5.28",
"@vue/shared": "3.5.28"
"@vue/compiler-dom": "3.5.29",
"@vue/shared": "3.5.29"
}
},
"node_modules/@vue/compiler-vue2": {
@ -5209,53 +5209,53 @@
}
},
"node_modules/@vue/reactivity": {
"version": "3.5.28",
"resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.28.tgz",
"integrity": "sha512-gr5hEsxvn+RNyu9/9o1WtdYdwDjg5FgjUSBEkZWqgTKlo/fvwZ2+8W6AfKsc9YN2k/+iHYdS9vZYAhpi10kNaw==",
"version": "3.5.29",
"resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.29.tgz",
"integrity": "sha512-zcrANcrRdcLtmGZETBxWqIkoQei8HaFpZWx/GHKxx79JZsiZ8j1du0VUJtu4eJjgFvU/iKL5lRXFXksVmI+5DA==",
"license": "MIT",
"dependencies": {
"@vue/shared": "3.5.28"
"@vue/shared": "3.5.29"
}
},
"node_modules/@vue/runtime-core": {
"version": "3.5.28",
"resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.28.tgz",
"integrity": "sha512-POVHTdbgnrBBIpnbYU4y7pOMNlPn2QVxVzkvEA2pEgvzbelQq4ZOUxbp2oiyo+BOtiYlm8Q44wShHJoBvDPAjQ==",
"version": "3.5.29",
"resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.29.tgz",
"integrity": "sha512-8DpW2QfdwIWOLqtsNcds4s+QgwSaHSJY/SUe04LptianUQ/0xi6KVsu/pYVh+HO3NTVvVJjIPL2t6GdeKbS4Lg==",
"license": "MIT",
"dependencies": {
"@vue/reactivity": "3.5.28",
"@vue/shared": "3.5.28"
"@vue/reactivity": "3.5.29",
"@vue/shared": "3.5.29"
}
},
"node_modules/@vue/runtime-dom": {
"version": "3.5.28",
"resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.28.tgz",
"integrity": "sha512-4SXxSF8SXYMuhAIkT+eBRqOkWEfPu6nhccrzrkioA6l0boiq7sp18HCOov9qWJA5HML61kW8p/cB4MmBiG9dSA==",
"version": "3.5.29",
"resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.29.tgz",
"integrity": "sha512-AHvvJEtcY9tw/uk+s/YRLSlxxQnqnAkjqvK25ZiM4CllCZWzElRAoQnCM42m9AHRLNJ6oe2kC5DCgD4AUdlvXg==",
"license": "MIT",
"dependencies": {
"@vue/reactivity": "3.5.28",
"@vue/runtime-core": "3.5.28",
"@vue/shared": "3.5.28",
"@vue/reactivity": "3.5.29",
"@vue/runtime-core": "3.5.29",
"@vue/shared": "3.5.29",
"csstype": "^3.2.3"
}
},
"node_modules/@vue/server-renderer": {
"version": "3.5.28",
"resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.28.tgz",
"integrity": "sha512-pf+5ECKGj8fX95bNincbzJ6yp6nyzuLDhYZCeFxUNp8EBrQpPpQaLX3nNCp49+UbgbPun3CeVE+5CXVV1Xydfg==",
"version": "3.5.29",
"resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.29.tgz",
"integrity": "sha512-G/1k6WK5MusLlbxSE2YTcqAAezS+VuwHhOvLx2KnQU7G2zCH6KIb+5Wyt6UjMq7a3qPzNEjJXs1hvAxDclQH+g==",
"license": "MIT",
"dependencies": {
"@vue/compiler-ssr": "3.5.28",
"@vue/shared": "3.5.28"
"@vue/compiler-ssr": "3.5.29",
"@vue/shared": "3.5.29"
},
"peerDependencies": {
"vue": "3.5.28"
"vue": "3.5.29"
}
},
"node_modules/@vue/shared": {
"version": "3.5.28",
"resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.28.tgz",
"integrity": "sha512-cfWa1fCGBxrvaHRhvV3Is0MgmrbSCxYTXCSCau2I0a1Xw1N1pHAvkWCiXPRAqjvToILvguNyEwjevUqAuBQWvQ==",
"version": "3.5.29",
"resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.29.tgz",
"integrity": "sha512-w7SR0A5zyRByL9XUkCfdLs7t9XOHUyJ67qPGQjOou3p6GvBeBW+AVjUUmlxtZ4PIYaRvE+1LmK44O4uajlZwcg==",
"license": "MIT"
},
"node_modules/@vue/test-utils": {
@ -7390,9 +7390,9 @@
}
},
"node_modules/eslint-plugin-jsdoc": {
"version": "62.7.0",
"resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-62.7.0.tgz",
"integrity": "sha512-jootujJOIGMkCLN+/WgDFKtaclCt2MEEy9cZ1RyK19Az1JvVI3awbeMXNlJ6y4h8RWIJpcXqmxsu4t9NThYbNw==",
"version": "62.7.1",
"resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-62.7.1.tgz",
"integrity": "sha512-4Zvx99Q7d1uggYBUX/AIjvoyqXhluGbbKrRmG8SQTLprPFg6fa293tVJH1o1GQwNe3lUydd8ZHzn37OaSncgSQ==",
"dev": true,
"license": "BSD-3-Clause",
"dependencies": {
@ -13688,16 +13688,16 @@
"license": "MIT"
},
"node_modules/vue": {
"version": "3.5.28",
"resolved": "https://registry.npmjs.org/vue/-/vue-3.5.28.tgz",
"integrity": "sha512-BRdrNfeoccSoIZeIhyPBfvWSLFP4q8J3u8Ju8Ug5vu3LdD+yTM13Sg4sKtljxozbnuMu1NB1X5HBHRYUzFocKg==",
"version": "3.5.29",
"resolved": "https://registry.npmjs.org/vue/-/vue-3.5.29.tgz",
"integrity": "sha512-BZqN4Ze6mDQVNAni0IHeMJ5mwr8VAJ3MQC9FmprRhcBYENw+wOAAjRj8jfmN6FLl0j96OXbR+CjWhmAmM+QGnA==",
"license": "MIT",
"dependencies": {
"@vue/compiler-dom": "3.5.28",
"@vue/compiler-sfc": "3.5.28",
"@vue/runtime-dom": "3.5.28",
"@vue/server-renderer": "3.5.28",
"@vue/shared": "3.5.28"
"@vue/compiler-dom": "3.5.29",
"@vue/compiler-sfc": "3.5.29",
"@vue/runtime-dom": "3.5.29",
"@vue/server-renderer": "3.5.29",
"@vue/shared": "3.5.29"
},
"peerDependencies": {
"typescript": "*"
@ -13925,14 +13925,14 @@
}
},
"node_modules/vue-tsc": {
"version": "3.2.4",
"resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-3.2.4.tgz",
"integrity": "sha512-xj3YCvSLNDKt1iF9OcImWHhmYcihVu9p4b9s4PGR/qp6yhW+tZJaypGxHScRyOrdnHvaOeF+YkZOdKwbgGvp5g==",
"version": "3.2.5",
"resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-3.2.5.tgz",
"integrity": "sha512-/htfTCMluQ+P2FISGAooul8kO4JMheOTCbCy4M6dYnYYjqLe3BExZudAua6MSIKSFYQtFOYAll7XobYwcpokGA==",
"dev": true,
"license": "MIT",
"dependencies": {
"@volar/typescript": "2.4.27",
"@vue/language-core": "3.2.4"
"@volar/typescript": "2.4.28",
"@vue/language-core": "3.2.5"
},
"bin": {
"vue-tsc": "bin/vue-tsc.js"
@ -13941,43 +13941,14 @@
"typescript": ">=5.0.0"
}
},
"node_modules/vue-tsc/node_modules/@volar/language-core": {
"version": "2.4.27",
"resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-2.4.27.tgz",
"integrity": "sha512-DjmjBWZ4tJKxfNC1F6HyYERNHPYS7L7OPFyCrestykNdUZMFYzI9WTyvwPcaNaHlrEUwESHYsfEw3isInncZxQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"@volar/source-map": "2.4.27"
}
},
"node_modules/vue-tsc/node_modules/@volar/source-map": {
"version": "2.4.27",
"resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-2.4.27.tgz",
"integrity": "sha512-ynlcBReMgOZj2i6po+qVswtDUeeBRCTgDurjMGShbm8WYZgJ0PA4RmtebBJ0BCYol1qPv3GQF6jK7C9qoVc7lg==",
"dev": true,
"license": "MIT"
},
"node_modules/vue-tsc/node_modules/@volar/typescript": {
"version": "2.4.27",
"resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-2.4.27.tgz",
"integrity": "sha512-eWaYCcl/uAPInSK2Lze6IqVWaBu/itVqR5InXcHXFyles4zO++Mglt3oxdgj75BDcv1Knr9Y93nowS8U3wqhxg==",
"dev": true,
"license": "MIT",
"dependencies": {
"@volar/language-core": "2.4.27",
"path-browserify": "^1.0.1",
"vscode-uri": "^3.0.8"
}
},
"node_modules/vue-tsc/node_modules/@vue/language-core": {
"version": "3.2.4",
"resolved": "https://registry.npmjs.org/@vue/language-core/-/language-core-3.2.4.tgz",
"integrity": "sha512-bqBGuSG4KZM45KKTXzGtoCl9cWju5jsaBKaJJe3h5hRAAWpZUuj5G+L+eI01sPIkm4H6setKRlw7E85wLdDNew==",
"version": "3.2.5",
"resolved": "https://registry.npmjs.org/@vue/language-core/-/language-core-3.2.5.tgz",
"integrity": "sha512-d3OIxN/+KRedeM5wQ6H6NIpwS3P5gC9nmyaHgBk+rO6dIsjY+tOh4UlPpiZbAh3YtLdCGEX4M16RmsBqPmJV+g==",
"dev": true,
"license": "MIT",
"dependencies": {
"@volar/language-core": "2.4.27",
"@volar/language-core": "2.4.28",
"@vue/compiler-dom": "^3.5.0",
"@vue/shared": "^3.5.0",
"alien-signals": "^3.0.0",

View File

@ -88,7 +88,7 @@
"@fontsource-variable/inter": "^5.2.8",
"@playwright/test": "^1.58.2",
"@size-limit/file": "^12.0.0",
"@storybook/vue3-vite": "^10.2.10",
"@storybook/vue3-vite": "^10.2.13",
"@tailwindcss/cli": "^4.2.1",
"@tailwindcss/vite": "^4.2.1",
"@types/node": "^25.3.2",
@ -97,7 +97,7 @@
"@vue/test-utils": "^2.4.6",
"eslint": "^9.39.2",
"eslint-config-it4c": "^0.11.2",
"eslint-plugin-jsdoc": "^62.7.0",
"eslint-plugin-jsdoc": "^62.7.1",
"eslint-plugin-playwright": "^2.8.0",
"eslint-plugin-storybook": "^10.2.13",
"eslint-plugin-vuejs-accessibility": "^2.5.0",
@ -114,8 +114,8 @@
"vite-plugin-dts": "^4.5.4",
"vite-tsconfig-paths": "^6.1.1",
"vitest": "^4.0.18",
"vue": "^3.5.28",
"vue-tsc": "^3.2.4"
"vue": "^3.5.29",
"vue-tsc": "^3.2.5"
},
"engines": {
"node": ">=18.0.0"

View File

@ -59,6 +59,7 @@ describe('LocationSelect', () => {
place: 'nowhere',
lang: 'en',
},
fetchPolicy: 'network-only',
})
})
@ -69,8 +70,8 @@ describe('LocationSelect', () => {
it('emits an empty string', () => {
expect(wrapper.emitted().input).toBeTruthy()
expect(wrapper.emitted().input.length).toBe(1)
expect(wrapper.emitted().input[0]).toEqual([''])
const lastEmit = wrapper.emitted().input[wrapper.emitted().input.length - 1]
expect(lastEmit).toEqual([''])
})
})

View File

@ -40,6 +40,7 @@ export default {
components: { OsButton, OsIcon },
props: {
value: {
type: [String, Object],
required: true,
},
canBeCleared: {
@ -55,10 +56,7 @@ export default {
},
async created() {
this.icons = iconRegistry
const result = await this.requestGeoData(this.locationName)
this.$nextTick(() => {
this.currentValue = result || this.locationName
})
await this.resolveLocalizedLocation()
},
data() {
return {
@ -74,6 +72,9 @@ export default {
locationNameLabelAddOnOldName() {
return this.locationName !== '' && this.showPreviousLocation ? ' — ' + this.locationName : ''
},
currentLocale() {
return this.$store && this.$store.state.i18n && this.$store.state.i18n.locale
},
},
watch: {
currentValue() {
@ -81,10 +82,19 @@ export default {
this.$emit('input', this.currentValue)
}
},
value() {
if (this.value !== this.currentValue) {
this.currentValue = this.value
value(newVal, oldVal) {
if (newVal !== this.currentValue) {
this.currentValue = newVal
}
// resolve when value is set after initial mount (e.g. settings page)
const newName = typeof newVal === 'object' ? newVal.value : newVal
const oldName = typeof oldVal === 'object' ? oldVal.value : oldVal
if (newName && newName !== oldName) {
this.resolveLocalizedLocation()
}
},
currentLocale() {
this.resolveLocalizedLocation()
},
},
methods: {
@ -124,7 +134,11 @@ export default {
const {
data: { queryLocations: result },
} = await this.$apollo.query({ query: queryLocations(), variables: { place, lang } })
} = await this.$apollo.query({
query: queryLocations(),
variables: { place, lang },
fetchPolicy: 'network-only',
})
this.cities = this.processLocationsResult(result)
this.loadingGeo = false
@ -136,6 +150,13 @@ export default {
this.loadingGeo = false
}
},
async resolveLocalizedLocation() {
if (!this.locationName) return
const result = await this.requestGeoData(this.locationName)
this.$nextTick(() => {
this.currentValue = result || (this.cities.length ? this.cities[0] : this.locationName)
})
},
clearLocationName() {
this.currentValue = ''
},

View File

@ -7,4 +7,9 @@ export default {
ORGANIZATION_NAME: 'ocelot.social Community',
ORGANIZATION_JURISDICTION: 'City of Angels',
THEME_COLOR: 'rgb(23, 181, 63)', // $color-primary as the main color in general. e.g. the color in the background of the app that is visible behind the transparent iPhone status bar to name one use case, or the current color of SVGs to name another use case
OG_IMAGE: '/img/custom/logo-squared.png', // Open Graph image for link previews (Telegram, Discord, etc.) relative URL, override with absolute URL in branding
OG_IMAGE_ALT: 'ocelot.social Logo', // alt text for the Open Graph image
OG_IMAGE_WIDTH: '1200', // width of the Open Graph image in pixels
OG_IMAGE_HEIGHT: '1140', // height of the Open Graph image in pixels
OG_IMAGE_TYPE: 'image/png', // MIME type of the Open Graph image
}

View File

@ -5,7 +5,7 @@ export const location = (type, lang) => gql`
locationName
location {
id
name: name${lang}
name(lang: "${lang}")
lng
lat
distanceToMe

View File

@ -2,9 +2,20 @@ import path from 'path'
import fs from 'fs'
import manifest from './constants/manifest.js'
import metadata from './constants/metadata.js'
import locales from './locales/index.js'
const CONFIG = require('./config').default // we need to use require since this is only evaluated at compile time.
// Map language code (e.g. 'de') to Open Graph locale (e.g. 'de_DE') using existing locales definition
const toOgLocale = (code) => {
const locale = locales.find((l) => l.code === code)
return locale ? locale.iso.replace('-', '_') : null
}
const ogLocale = toOgLocale(CONFIG.LANGUAGE_DEFAULT)
const ogLocaleAlternates = locales
.filter((l) => l.enabled && l.code !== CONFIG.LANGUAGE_DEFAULT)
.map((l) => l.iso.replace('-', '_'))
const styleguidePath = '../styleguide'
const styleguideStyles = [
// `${styleguidePath}/src/system/styles/main.scss`,
@ -60,6 +71,23 @@ export default {
name: 'description',
content: CONFIG.DESCRIPTION,
},
...[
{ hid: 'og:title', property: 'og:title', content: manifest.name },
{ hid: 'og:description', property: 'og:description', content: CONFIG.DESCRIPTION },
{ hid: 'og:site_name', property: 'og:site_name', content: manifest.name },
{ hid: 'og:image', property: 'og:image', content: metadata.OG_IMAGE },
{ hid: 'og:image:alt', property: 'og:image:alt', content: metadata.OG_IMAGE_ALT },
{ hid: 'og:image:width', property: 'og:image:width', content: metadata.OG_IMAGE_WIDTH },
{ hid: 'og:image:height', property: 'og:image:height', content: metadata.OG_IMAGE_HEIGHT },
{ hid: 'og:image:type', property: 'og:image:type', content: metadata.OG_IMAGE_TYPE },
{ hid: 'og:type', property: 'og:type', content: 'website' },
{ hid: 'og:locale', property: 'og:locale', content: ogLocale },
...ogLocaleAlternates.map((alt) => ({
property: 'og:locale:alternate',
content: alt,
})),
{ hid: 'twitter:card', name: 'twitter:card', content: 'summary_large_image' },
].filter((tag) => tag.content),
],
link: [
{

View File

@ -149,8 +149,6 @@ describe('GroupProfileSlug', () => {
locationName: 'France',
location: {
name: 'Paris',
nameDE: 'Paris',
nameEN: 'Paris',
},
isMutedByMe: true,
membersCount: 0,
@ -193,8 +191,6 @@ describe('GroupProfileSlug', () => {
locationName: 'Hamburg, Germany',
location: {
name: 'Hamburg',
nameDE: 'Hamburg',
nameEN: 'Hamburg',
},
isMutedByMe: false,
membersCount: 0,

Binary file not shown.

After

Width:  |  Height:  |  Size: 77 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 119 KiB

189
yarn.lock
View File

@ -870,46 +870,34 @@
resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9"
integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==
"@cucumber/ci-environment@12.0.0":
version "12.0.0"
resolved "https://registry.yarnpkg.com/@cucumber/ci-environment/-/ci-environment-12.0.0.tgz#8a7f8a46a88b88fa78beda415fb2c64952208e20"
integrity sha512-SqCEnbCNl3zCXCFpqGUuoaSNhLC0jLw4tKeFcAxTw9MD/QRlJjeAC/fyvVLFuXuSq0OunJlFfxLu+Z3HE+oLPg==
"@cucumber/ci-environment@^13.0.0":
"@cucumber/ci-environment@13.0.0", "@cucumber/ci-environment@^13.0.0":
version "13.0.0"
resolved "https://registry.yarnpkg.com/@cucumber/ci-environment/-/ci-environment-13.0.0.tgz#0a9c4e279814af864cd1591c4c16f284e14af39b"
integrity sha512-cs+3NzfNkGbcmHPddjEv4TKFiBpZRQ6WJEEufB9mw+ExS22V/4R/zpDSEG+fsJ/iSNCd6A2sATdY8PFOyY3YnA==
"@cucumber/cucumber-expressions@18.1.0":
version "18.1.0"
resolved "https://registry.yarnpkg.com/@cucumber/cucumber-expressions/-/cucumber-expressions-18.1.0.tgz#a7fb43ec458e178af1215c96b54e645c0a22f533"
integrity sha512-9yc+wForrn15FaqLWNjYb19iQ/gPXhcq1kc4X1Ex1lR7NcJpa5pGnCow3bc1HERVM5IoYH+gwwrcJogSMsf+Vw==
dependencies:
regexp-match-indices "1.0.2"
"@cucumber/cucumber-expressions@^19.0.0":
"@cucumber/cucumber-expressions@19.0.0", "@cucumber/cucumber-expressions@^19.0.0":
version "19.0.0"
resolved "https://registry.yarnpkg.com/@cucumber/cucumber-expressions/-/cucumber-expressions-19.0.0.tgz#562c932b1e6808485e4a45bf9cbcc93cdc3b1d45"
integrity sha512-4FKoOQh2Uf6F6/Ln+1OxuK8LkTg6PyAqekhf2Ix8zqV2M54sH+m7XNJNLhOFOAW/t9nxzRbw2CcvXbCLjcvHZg==
dependencies:
regexp-match-indices "1.0.2"
"@cucumber/cucumber@12.6.0", "@cucumber/cucumber@^12.0.0":
version "12.6.0"
resolved "https://registry.yarnpkg.com/@cucumber/cucumber/-/cucumber-12.6.0.tgz#a77fd04c43da664443e309fbc9a3c67a5f5da178"
integrity sha512-z6XKBIcUnJebnR3W8+K7Q2jJKB+pKpoD1l3CygEa9ufq/aeGuS5LAlllNxrod8loepLJhNmp8J8aengGbkL4cg==
"@cucumber/cucumber@12.7.0", "@cucumber/cucumber@^12.0.0":
version "12.7.0"
resolved "https://registry.yarnpkg.com/@cucumber/cucumber/-/cucumber-12.7.0.tgz#ca90eaa64a992a47e9781e210b84039433f1f478"
integrity sha512-7A/9CJpJDxv1SQ7hAZU0zPn2yRxx6XMR+LO4T94Enm3cYNWsEEj+RGX38NLX4INT+H6w5raX3Csb/qs4vUBsOA==
dependencies:
"@cucumber/ci-environment" "12.0.0"
"@cucumber/cucumber-expressions" "18.1.0"
"@cucumber/gherkin" "37.0.1"
"@cucumber/ci-environment" "13.0.0"
"@cucumber/cucumber-expressions" "19.0.0"
"@cucumber/gherkin" "38.0.0"
"@cucumber/gherkin-streams" "6.0.0"
"@cucumber/gherkin-utils" "10.0.0"
"@cucumber/html-formatter" "22.3.0"
"@cucumber/gherkin-utils" "11.0.0"
"@cucumber/html-formatter" "23.0.0"
"@cucumber/junit-xml-formatter" "0.9.0"
"@cucumber/message-streams" "4.0.1"
"@cucumber/messages" "31.2.0"
"@cucumber/messages" "32.0.1"
"@cucumber/pretty-formatter" "1.0.1"
"@cucumber/tag-expressions" "8.1.0"
"@cucumber/tag-expressions" "9.1.0"
assertion-error-formatter "^3.0.0"
capital-case "^1.0.4"
chalk "^4.1.2"
@ -932,7 +920,7 @@
mz "^2.7.0"
progress "^2.0.3"
read-package-up "^12.0.0"
semver "7.7.3"
semver "7.7.4"
string-argv "0.3.1"
supports-color "^8.1.1"
type-fest "^4.41.0"
@ -948,44 +936,25 @@
commander "14.0.0"
source-map-support "0.5.21"
"@cucumber/gherkin-utils@10.0.0":
version "10.0.0"
resolved "https://registry.yarnpkg.com/@cucumber/gherkin-utils/-/gherkin-utils-10.0.0.tgz#c0d5518784d69875f8aab85220db5fdc5f507683"
integrity sha512-BcujlDT343GXXNrMPl3ws6Il3zs8dQw3Yp/d3HnOJF8i2snGGgiapoTbko7MdvAt7ivDL7SDo+e1d5Cnpl3llA==
"@cucumber/gherkin-utils@11.0.0":
version "11.0.0"
resolved "https://registry.yarnpkg.com/@cucumber/gherkin-utils/-/gherkin-utils-11.0.0.tgz#167afa559978cf6fbe2b583d3d5f9e7c4741c28a"
integrity sha512-LJ+s4+TepHTgdKWDR4zbPyT7rQjmYIcukTwNbwNwgqr6i8Gjcmzf6NmtbYDA19m1ZFg6kWbFsmHnj37ZuX+kZA==
dependencies:
"@cucumber/gherkin" "^34.0.0"
"@cucumber/messages" "^29.0.0"
"@cucumber/gherkin" "^38.0.0"
"@cucumber/messages" "^32.0.0"
"@teppeis/multimaps" "3.0.0"
commander "14.0.0"
commander "14.0.2"
source-map-support "^0.5.21"
"@cucumber/gherkin@37.0.1":
version "37.0.1"
resolved "https://registry.yarnpkg.com/@cucumber/gherkin/-/gherkin-37.0.1.tgz#53eb330a32cdbf9276a7341df3c22929a2fea53f"
integrity sha512-VmX+PKa9vqKZiycZoQKYlCsA0N7gAfiOfrcHSjK+suEVUwvKEH2sjO47NznrFFLmVWYTRmw3DLHQnpBAznkYEA==
dependencies:
"@cucumber/messages" ">=31.0.0 <32"
"@cucumber/gherkin@^34.0.0":
version "34.0.0"
resolved "https://registry.yarnpkg.com/@cucumber/gherkin/-/gherkin-34.0.0.tgz#891ec27a7c09a9fc3695aaf3c3a3c8a1c594102f"
integrity sha512-659CCFsrsyvuBi/Eix1fnhSheMnojSfnBcqJ3IMPNawx7JlrNJDcXYSSdxcUw3n/nG05P+ptCjmiZY3i14p+tA==
dependencies:
"@cucumber/messages" ">=19.1.4 <29"
"@cucumber/gherkin@^38.0.0":
"@cucumber/gherkin@38.0.0", "@cucumber/gherkin@^38.0.0":
version "38.0.0"
resolved "https://registry.yarnpkg.com/@cucumber/gherkin/-/gherkin-38.0.0.tgz#6c74388f95694e4c92762aeddf3d5638dbedf540"
integrity sha512-duEXK+KDfQUzu3vsSzXjkxQ2tirF5PRsc1Xrts6THKHJO6mjw4RjM8RV+vliuDasmhhrmdLcOcM7d9nurNTJKw==
dependencies:
"@cucumber/messages" ">=31.0.0 <33"
"@cucumber/html-formatter@22.3.0":
version "22.3.0"
resolved "https://registry.yarnpkg.com/@cucumber/html-formatter/-/html-formatter-22.3.0.tgz#b624c6904c63c571183493b1667b6b4b5d10304d"
integrity sha512-0s3G7kznCRDiiesQ4K0yBdswGqU9E0j2AWUug41NpedBzhaY+Hn192ANRF597GZtuWrCjE53aFb3fOyOsT8B+g==
"@cucumber/html-formatter@^23.0.0":
"@cucumber/html-formatter@23.0.0", "@cucumber/html-formatter@^23.0.0":
version "23.0.0"
resolved "https://registry.yarnpkg.com/@cucumber/html-formatter/-/html-formatter-23.0.0.tgz#066f548f55274b58b67b4930836bd73579a9bf07"
integrity sha512-WwcRzdM8Ixy4e53j+Frm3fKM5rNuIyWUfy4HajEN+Xk/YcjA6yW0ACGTFDReB++VDZz/iUtwYdTlPRY36NbqJg==
@ -1005,25 +974,7 @@
resolved "https://registry.yarnpkg.com/@cucumber/message-streams/-/message-streams-4.0.1.tgz#a5339d3504594bb2edb5732aaae94dddb24d0970"
integrity sha512-Kxap9uP5jD8tHUZVjTWgzxemi/0uOsbGjd4LBOSxcJoOCRbESFwemUzilJuzNTB8pcTQUh8D5oudUyxfkJOKmA==
"@cucumber/messages@31.2.0", "@cucumber/messages@>=31.0.0 <32":
version "31.2.0"
resolved "https://registry.yarnpkg.com/@cucumber/messages/-/messages-31.2.0.tgz#9d8fd71dd4a12878cf22abeb2832c8967f3b5198"
integrity sha512-3urzBNCwmU/YKrKR0b3XdioFcOFNuxlLwEImsxeP8rXnweLs+Ky04QURcbKpFom3T6a6v9zVioLCfHUuSQ72pg==
dependencies:
class-transformer "0.5.1"
reflect-metadata "0.2.2"
"@cucumber/messages@>=19.1.4 <29":
version "28.1.0"
resolved "https://registry.yarnpkg.com/@cucumber/messages/-/messages-28.1.0.tgz#5fdcfc3f9b30103cb45c69044ebe9a892bec38ce"
integrity sha512-2LzZtOwYKNlCuNf31ajkrekoy2M4z0Z1QGiPH40n4gf5t8VOUFb7m1ojtR4LmGvZxBGvJZP8voOmRqDWzBzYKA==
dependencies:
"@types/uuid" "10.0.0"
class-transformer "0.5.1"
reflect-metadata "0.2.2"
uuid "11.1.0"
"@cucumber/messages@>=31.0.0 <33", "@cucumber/messages@^32.0.0":
"@cucumber/messages@32.0.1", "@cucumber/messages@>=31.0.0 <33", "@cucumber/messages@^32.0.0":
version "32.0.1"
resolved "https://registry.yarnpkg.com/@cucumber/messages/-/messages-32.0.1.tgz#500a8be56e89b02db5a217a26dd2ba80d4cca912"
integrity sha512-1OSoW+GQvFUNAl6tdP2CTBexTXMNJF0094goVUcvugtQeXtJ0K8sCP0xbq7GGoiezs/eJAAOD03+zAPT64orHQ==
@ -1031,14 +982,6 @@
class-transformer "0.5.1"
reflect-metadata "0.2.2"
"@cucumber/messages@^29.0.0":
version "29.0.1"
resolved "https://registry.yarnpkg.com/@cucumber/messages/-/messages-29.0.1.tgz#68de23447af07123aca97008f20b885a4106f5b2"
integrity sha512-aAvIYfQD6/aBdF8KFQChC3CQ1Q+GX9orlR6GurGiX6oqaCnBkxA4WU3OQUVepDynEFrPayerqKRFcAMhdcXReQ==
dependencies:
class-transformer "0.5.1"
reflect-metadata "0.2.2"
"@cucumber/pretty-formatter@1.0.1":
version "1.0.1"
resolved "https://registry.yarnpkg.com/@cucumber/pretty-formatter/-/pretty-formatter-1.0.1.tgz#65d6c1df436920036a7bd02d08cb44d20e7af0ab"
@ -1073,12 +1016,7 @@
"@teppeis/multimaps" "3.0.0"
lodash.sortby "^4.7.0"
"@cucumber/tag-expressions@8.1.0":
version "8.1.0"
resolved "https://registry.yarnpkg.com/@cucumber/tag-expressions/-/tag-expressions-8.1.0.tgz#0e83385f24059369b6568e192ad8001da6b8fe94"
integrity sha512-UFeOVUyc711/E7VHjThxMwg3jbGod9TlbM1gxNixX/AGDKg82Eha4cE0tKki3GGUs7uB2NyI+hQAuhB8rL2h5A==
"@cucumber/tag-expressions@^9.0.0":
"@cucumber/tag-expressions@9.1.0", "@cucumber/tag-expressions@^9.0.0":
version "9.1.0"
resolved "https://registry.yarnpkg.com/@cucumber/tag-expressions/-/tag-expressions-9.1.0.tgz#5c63cf716b6d688f140d0e4c0cc858bfd5703618"
integrity sha512-bvHjcRFZ+J1TqIa9eFNO1wGHqwx4V9ZKV3hYgkuK/VahHx73uiP4rKV3JVrvWSMrwrFvJG6C8aEwnCWSvbyFdQ==
@ -2210,11 +2148,6 @@
resolved "https://registry.yarnpkg.com/@types/unist/-/unist-3.0.3.tgz#acaab0f919ce69cce629c2d4ed2eb4adc1b6c20c"
integrity sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==
"@types/uuid@10.0.0":
version "10.0.0"
resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-10.0.0.tgz#e9c07fe50da0f53dc24970cca94d619ff03f6f6d"
integrity sha512-7gqG38EyHgyP1S+7+xomFtL+ZNHcKv6DwNaCZmJmo1vgMugyF3TCnXVg4t1uk89mLNwnLtnY3TpOpCOyp1/xHQ==
"@types/web-bluetooth@^0.0.20":
version "0.0.20"
resolved "https://registry.yarnpkg.com/@types/web-bluetooth/-/web-bluetooth-0.0.20.tgz#f066abfcd1cbe66267cdbbf0de010d8a41b41597"
@ -3040,10 +2973,10 @@ acorn-walk@^8.2.0:
dependencies:
acorn "^8.11.0"
acorn@^8.11.0, acorn@^8.15.0:
version "8.15.0"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.15.0.tgz#a360898bc415edaac46c8241f6383975b930b816"
integrity sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==
acorn@^8.11.0, acorn@^8.15.0, acorn@^8.16.0:
version "8.16.0"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.16.0.tgz#4ce79c89be40afe7afe8f3adb902a1f1ce9ac08a"
integrity sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==
aggregate-error@^3.0.0:
version "3.1.0"
@ -3851,16 +3784,16 @@ commander@14.0.0:
resolved "https://registry.yarnpkg.com/commander/-/commander-14.0.0.tgz#f244fc74a92343514e56229f16ef5c5e22ced5e9"
integrity sha512-2uM9rYjPvyq39NwLRqaiLtWHyDC1FvryJDa2ATTVims5YAS4PupsEQsDvP14FqhFr0P49CYDugi59xaxJlTXRA==
commander@14.0.2, commander@^14.0.0, commander@^14.0.2:
version "14.0.2"
resolved "https://registry.yarnpkg.com/commander/-/commander-14.0.2.tgz#b71fd37fe4069e4c3c7c13925252ada4eba14e8e"
integrity sha512-TywoWNNRbhoD0BXs1P3ZEScW8W5iKrnbithIl0YH+uCmBd0QpPOA8yc82DS3BIE5Ma6FnBVUsJ7wVUDz4dvOWQ==
commander@^12.1.0:
version "12.1.0"
resolved "https://registry.yarnpkg.com/commander/-/commander-12.1.0.tgz#01423b36f501259fdaac4d0e4d60c96c991585d3"
integrity sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==
commander@^14.0.0, commander@^14.0.2:
version "14.0.2"
resolved "https://registry.yarnpkg.com/commander/-/commander-14.0.2.tgz#b71fd37fe4069e4c3c7c13925252ada4eba14e8e"
integrity sha512-TywoWNNRbhoD0BXs1P3ZEScW8W5iKrnbithIl0YH+uCmBd0QpPOA8yc82DS3BIE5Ma6FnBVUsJ7wVUDz4dvOWQ==
commander@^2.20.0:
version "2.20.3"
resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33"
@ -4051,10 +3984,10 @@ cypress-network-idle@^1.15.0:
resolved "https://registry.yarnpkg.com/cypress-network-idle/-/cypress-network-idle-1.15.0.tgz#e249f08695a46f1ddce18a95d5293937f277cbb3"
integrity sha512-8zU16zhc7S3nMl1NTEEcNsZYlJy/ZzP2zPTTrngGxyXH32Ipake/xfHLZsgrzeWCieiS2AVhQsakhWqFzO3hpw==
cypress@^15.10.0:
version "15.10.0"
resolved "https://registry.yarnpkg.com/cypress/-/cypress-15.10.0.tgz#06bed98a690fad1b98a21010613f9c8c7fa9f639"
integrity sha512-OtUh7OMrfEjKoXydlAD1CfG2BvKxIqgWGY4/RMjrqQ3BKGBo5JFKoYNH+Tpcj4xKxWH4XK0Xri+9y8WkxhYbqQ==
cypress@^15.11.0:
version "15.11.0"
resolved "https://registry.yarnpkg.com/cypress/-/cypress-15.11.0.tgz#7402d0a2bb4573b6c6655191ad170cff1985ff3f"
integrity sha512-NXDE6/fqZuzh1Zr53nyhCCa4lcANNTYWQNP9fJO+tzD3qVTDaTUni5xXMuigYjMujQ7CRiT9RkJJONmPQSsDFw==
dependencies:
"@cypress/request" "^3.0.10"
"@cypress/xvfb" "^1.2.4"
@ -4093,9 +4026,10 @@ cypress@^15.10.0:
proxy-from-env "1.0.0"
request-progress "^3.0.0"
supports-color "^8.1.1"
systeminformation "^5.27.14"
systeminformation "^5.31.1"
tmp "~0.2.4"
tree-kill "1.2.2"
tslib "1.14.1"
untildify "^4.0.0"
yauzl "^2.10.0"
@ -7587,10 +7521,10 @@ seedrandom@^3.0.5:
resolved "https://registry.yarnpkg.com/seedrandom/-/seedrandom-3.0.5.tgz#54edc85c95222525b0c7a6f6b3543d8e0b3aa0a7"
integrity sha512-8OwmbklUNzwezjGInmZ+2clQmExQPvomqjL7LFqOYqtmuxRgQYqOD3mHaU+MvZn5FLUeVxVfQjwLZW/n/JFuqg==
semver@7.7.3, semver@^7.3.2, semver@^7.3.5, semver@^7.7.3:
version "7.7.3"
resolved "https://registry.yarnpkg.com/semver/-/semver-7.7.3.tgz#4b5f4143d007633a8dc671cd0a6ef9147b8bb946"
integrity sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==
semver@7.7.4, semver@^7.3.2, semver@^7.3.5, semver@^7.7.3:
version "7.7.4"
resolved "https://registry.yarnpkg.com/semver/-/semver-7.7.4.tgz#28464e36060e991fa7a11d0279d2d3f3b57a7e8a"
integrity sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==
semver@^5.6.0:
version "5.7.2"
@ -8089,10 +8023,10 @@ synckit@^0.11.11:
dependencies:
"@pkgr/core" "^0.2.9"
systeminformation@^5.27.14:
version "5.30.5"
resolved "https://registry.yarnpkg.com/systeminformation/-/systeminformation-5.30.5.tgz#0b8840ff697b8f036901bf4f8586c9278c7c9e88"
integrity sha512-DpWmpCckhwR3hG+6udb6/aQB7PpiqVnvSljrjbKxNSvTRsGsg7NVE3/vouoYf96xgwMxXFKcS4Ux+cnkFwYM7A==
systeminformation@^5.31.1:
version "5.31.1"
resolved "https://registry.yarnpkg.com/systeminformation/-/systeminformation-5.31.1.tgz#5f88aa1db7470af87b6288baf1738603cafd1c4a"
integrity sha512-6pRwxoGeV/roJYpsfcP6tN9mep6pPeCtXbUOCdVa0nme05Brwcwdge/fVNhIZn2wuUitAKZm4IYa7QjnRIa9zA==
tagged-tag@^1.0.0:
version "1.0.0"
@ -8258,6 +8192,11 @@ tsconfig-paths@^4.2.0:
minimist "^1.2.6"
strip-bom "^3.0.0"
tslib@1.14.1:
version "1.14.1"
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00"
integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==
tslib@^2.0.3, tslib@^2.1.0:
version "2.8.1"
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f"
@ -8506,7 +8445,7 @@ util@^0.12.4, util@^0.12.5:
is-typed-array "^1.1.3"
which-typed-array "^1.1.2"
uuid@11.1.0, uuid@^11.1.0:
uuid@^11.1.0:
version "11.1.0"
resolved "https://registry.yarnpkg.com/uuid/-/uuid-11.1.0.tgz#9549028be1753bb934fc96e2bca09bb4105ae912"
integrity sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A==
@ -8756,15 +8695,15 @@ webidl-conversions@^3.0.0:
resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871"
integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==
webpack-sources@^3.3.3:
version "3.3.3"
resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.3.3.tgz#d4bf7f9909675d7a070ff14d0ef2a4f3c982c723"
integrity sha512-yd1RBzSGanHkitROoPFd6qsrxt+oFhg/129YzheDGqeustzX0vTZJZsSsQjVQC4yzBQ56K55XU8gaNCtIzOnTg==
webpack-sources@^3.3.4:
version "3.3.4"
resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.3.4.tgz#a338b95eb484ecc75fbb196cbe8a2890618b4891"
integrity sha512-7tP1PdV4vF+lYPnkMR0jMY5/la2ub5Fc/8VQrrU+lXkiM6C4TjVfGw7iKfyhnTQOsD+6Q/iKw0eFciziRgD58Q==
webpack@^5.105.2:
version "5.105.2"
resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.105.2.tgz#f3b76f9fc36f1152e156e63ffda3bbb82e6739ea"
integrity sha512-dRXm0a2qcHPUBEzVk8uph0xWSjV/xZxenQQbLwnwP7caQCYpqG1qddwlyEkIDkYn0K8tvmcrZ+bOrzoQ3HxCDw==
webpack@^5.105.3:
version "5.105.3"
resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.105.3.tgz#307ad95bafffd08bc81049d6519477b16e42e7ba"
integrity sha512-LLBBA4oLmT7sZdHiYE/PeVuifOxYyE2uL/V+9VQP7YSYdJU7bSf7H8bZRRxW8kEPMkmVjnrXmoR3oejIdX0xbg==
dependencies:
"@types/eslint-scope" "^3.7.7"
"@types/estree" "^1.0.8"
@ -8772,7 +8711,7 @@ webpack@^5.105.2:
"@webassemblyjs/ast" "^1.14.1"
"@webassemblyjs/wasm-edit" "^1.14.1"
"@webassemblyjs/wasm-parser" "^1.14.1"
acorn "^8.15.0"
acorn "^8.16.0"
acorn-import-phases "^1.0.3"
browserslist "^4.28.1"
chrome-trace-event "^1.0.2"
@ -8790,7 +8729,7 @@ webpack@^5.105.2:
tapable "^2.3.0"
terser-webpack-plugin "^5.3.16"
watchpack "^2.5.1"
webpack-sources "^3.3.3"
webpack-sources "^3.3.4"
whatwg-encoding@^3.1.1:
version "3.1.1"