From 625334838a1ff09997fe7fee354362f59b281b7c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=A0t=C4=9Bp=C3=A1n=20Gran=C3=A1t?= Date: Tue, 25 Feb 2025 13:04:38 +0100 Subject: [PATCH] feat: correctly initialize plural from default value in in-context form (#3436) --- .github/workflows/test.yml | 57 +- e2e/cypress/common/devUiTools.ts | 2 +- e2e/cypress/common/nextInternalCommon.ts | 3 +- e2e/cypress/e2e/{web => vanilla}/base.cy.ts | 0 .../e2e/{web => vanilla}/lang_switching.cy.ts | 0 .../e2e/{web => vanilla}/production.cy.ts | 0 .../plural.cy.ts | 20 + .../screenshots.cy.ts | 0 .../tags.cy.ts | 0 .../{next-internal => web-internal}/ui.cy.ts | 0 e2e/cypress/support/commands.js | 26 +- packages/web/package.json | 1 + packages/web/public/i18n/cs.json | 12 + packages/web/public/i18n/de.json | 12 + packages/web/public/i18n/en.json | 12 + packages/web/public/i18n/fr.json | 12 + packages/web/public/img/appLogo.svg | 15 + packages/web/public/img/background.svg | 5 + packages/web/public/img/iconAdd.svg | 17 + packages/web/public/img/iconMail.svg | 8 + packages/web/public/img/iconShare.svg | 16 + packages/web/public/vite.svg | 1 + packages/web/src/app/App.tsx | 35 +- packages/web/src/app/Todos.tsx | 101 ++ packages/web/src/app/TranslationMethods.tsx | 34 + packages/web/src/app/basicTolgee.ts | 15 +- .../web/src/app/components/LangSelector.tsx | 19 + packages/web/src/app/components/Navbar.tsx | 10 + packages/web/src/app/main.tsx | 3 +- packages/web/src/app/style.css | 244 +++ packages/web/src/app/vite-env.d.ts | 1 + .../ui/KeyDialog/TranslationTextField.tsx | 6 +- .../ui/KeyDialog/dialogContext/index.ts | 52 +- pnpm-lock.yaml | 741 ++------ scripts/e2eRunner/config.ts | 30 +- testapps/next-internal/.env | 2 - testapps/next-internal/.gitignore | 34 - testapps/next-internal/CHANGELOG.md | 1578 ----------------- .../component/LanguageSwitcher.tsx | 26 - testapps/next-internal/i18n/de.json | 3 - testapps/next-internal/i18n/en.json | 3 - testapps/next-internal/next-env.d.ts | 5 - testapps/next-internal/next.config.js | 10 - testapps/next-internal/package.json | 26 - testapps/next-internal/pages/_app.tsx | 9 - testapps/next-internal/pages/api/hello.ts | 13 - testapps/next-internal/pages/index.tsx | 59 - testapps/next-internal/styles/Home.module.css | 121 -- testapps/next-internal/styles/globals.css | 11 - testapps/next-internal/tsconfig.json | 21 - testapps/{web => vanilla}/.gitignore | 0 testapps/{web => vanilla}/CHANGELOG.md | 0 testapps/{web => vanilla}/apps/base/index.js | 0 .../apps/lang_switching/index.js | 0 .../{web => vanilla}/apps/production/index.js | 0 testapps/{web => vanilla}/package.json | 2 +- testapps/{web => vanilla}/public/i18n/cs.json | 0 testapps/{web => vanilla}/public/i18n/en.json | 0 testapps/{web => vanilla}/webpack.config.js | 0 59 files changed, 856 insertions(+), 2577 deletions(-) rename e2e/cypress/e2e/{web => vanilla}/base.cy.ts (100%) rename e2e/cypress/e2e/{web => vanilla}/lang_switching.cy.ts (100%) rename e2e/cypress/e2e/{web => vanilla}/production.cy.ts (100%) rename e2e/cypress/e2e/{next-internal => web-internal}/plural.cy.ts (81%) rename e2e/cypress/e2e/{next-internal => web-internal}/screenshots.cy.ts (100%) rename e2e/cypress/e2e/{next-internal => web-internal}/tags.cy.ts (100%) rename e2e/cypress/e2e/{next-internal => web-internal}/ui.cy.ts (100%) create mode 100644 packages/web/public/i18n/cs.json create mode 100644 packages/web/public/i18n/de.json create mode 100644 packages/web/public/i18n/en.json create mode 100644 packages/web/public/i18n/fr.json create mode 100644 packages/web/public/img/appLogo.svg create mode 100644 packages/web/public/img/background.svg create mode 100644 packages/web/public/img/iconAdd.svg create mode 100644 packages/web/public/img/iconMail.svg create mode 100644 packages/web/public/img/iconShare.svg create mode 100644 packages/web/public/vite.svg create mode 100644 packages/web/src/app/Todos.tsx create mode 100644 packages/web/src/app/TranslationMethods.tsx create mode 100644 packages/web/src/app/components/LangSelector.tsx create mode 100644 packages/web/src/app/components/Navbar.tsx create mode 100644 packages/web/src/app/style.css create mode 100644 packages/web/src/app/vite-env.d.ts delete mode 100644 testapps/next-internal/.env delete mode 100644 testapps/next-internal/.gitignore delete mode 100644 testapps/next-internal/CHANGELOG.md delete mode 100644 testapps/next-internal/component/LanguageSwitcher.tsx delete mode 100644 testapps/next-internal/i18n/de.json delete mode 100644 testapps/next-internal/i18n/en.json delete mode 100644 testapps/next-internal/next-env.d.ts delete mode 100644 testapps/next-internal/next.config.js delete mode 100644 testapps/next-internal/package.json delete mode 100644 testapps/next-internal/pages/_app.tsx delete mode 100644 testapps/next-internal/pages/api/hello.ts delete mode 100644 testapps/next-internal/pages/index.tsx delete mode 100644 testapps/next-internal/styles/Home.module.css delete mode 100644 testapps/next-internal/styles/globals.css delete mode 100644 testapps/next-internal/tsconfig.json rename testapps/{web => vanilla}/.gitignore (100%) rename testapps/{web => vanilla}/CHANGELOG.md (100%) rename testapps/{web => vanilla}/apps/base/index.js (100%) rename testapps/{web => vanilla}/apps/lang_switching/index.js (100%) rename testapps/{web => vanilla}/apps/production/index.js (100%) rename testapps/{web => vanilla}/package.json (95%) rename testapps/{web => vanilla}/public/i18n/cs.json (100%) rename testapps/{web => vanilla}/public/i18n/en.json (100%) rename testapps/{web => vanilla}/webpack.config.js (100%) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index cf3a2680fc..ac6d5f6fc0 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -123,7 +123,7 @@ jobs: NODE_AUTH_TOKEN: ${{secrets.TOLGEE_MACHINE_PAT}} - id: set-dirs - run: echo "dirs=$(ls | jq -R -s -c 'split("\n")[:-1]')" >> $GITHUB_OUTPUT + run: echo "dirs=$(ls | jq -R -s -c 'split("\n")[:-1] | map(select(. != "web-internal"))')" >> $GITHUB_OUTPUT working-directory: e2e/cypress/e2e outputs: @@ -192,7 +192,60 @@ jobs: working-directory: testapps/${{matrix.app}} - name: Run e2e tests - run: pnpm run e2e run --headed ${{matrix.app}} --stdout prod,dev --skip-build + run: pnpm run e2e run --headed $(basename ${{matrix.app}}) --stdout prod,dev --skip-build + + - uses: actions/upload-artifact@v4 + if: failure() + with: + name: cypress + path: | + e2e/cypress/videos/**/* + e2e/cypress/screenshots/**/* + + cypress-web-internal: + name: E2e web-internal + needs: prepare + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + node: [18, 20] + + steps: + - uses: actions/checkout@v4 + - name: Setup node + uses: actions/setup-node@v4 + with: + node-version: ${{ matrix.node }} + + - uses: pnpm/action-setup@v3 + name: Install pnpm + id: pnpm-install + with: + version: 8.15.9 + run_install: false + + - uses: actions/cache@v4 + name: Setup pnpm cache + with: + path: | + .pnpm-store/v3 + ~/.cache/Cypress + key: ${{ runner.os }}-pnpm-cypress-${{ hashFiles('**/pnpm-lock.yaml') }} + restore-keys: | + ${{ runner.os }}-pnpm-cypress- + + - name: Install for root and for e2e + run: | + pnpm install --ignore-workspace + pnpm install --filter='./e2e' + + - name: Build web package + run: | + pnpm build --filter="@tolgee/web" + + - name: Run e2e tests + run: pnpm run e2e run --headed web-internal --stdout prod,dev --skip-build - uses: actions/upload-artifact@v4 if: failure() diff --git a/e2e/cypress/common/devUiTools.ts b/e2e/cypress/common/devUiTools.ts index dd8f370e44..2a626969fd 100644 --- a/e2e/cypress/common/devUiTools.ts +++ b/e2e/cypress/common/devUiTools.ts @@ -3,5 +3,5 @@ export const getDevUiRoot = () => { }; export const getDevUi = () => { - return getDevUiRoot().shadow(); + return getDevUiRoot().shadow().find('div').first(); }; diff --git a/e2e/cypress/common/nextInternalCommon.ts b/e2e/cypress/common/nextInternalCommon.ts index 368aecb762..b3847693cd 100644 --- a/e2e/cypress/common/nextInternalCommon.ts +++ b/e2e/cypress/common/nextInternalCommon.ts @@ -5,7 +5,6 @@ import { Scope } from './types'; export const openUI = (translation = 'What To Pack') => { cy.contains(translation).should('be.visible').click({ altKey: true }); getDevUiRoot().should('exist'); - getDevUi().contains(translation).should('be.visible'); getEditor().should('not.be.disabled'); cy.wait(300); }; @@ -13,7 +12,7 @@ export const openUI = (translation = 'What To Pack') => { export const visitWithApiKey = (scopes: Scope[]) => { createApiKey({ projectId: 1, scopes }) .then((data) => { - cy.visit(`http://localhost:8114/?api_key=${data.key}`); + cy.visit(`http://localhost:8114/translation-methods?api_key=${data.key}`); }) .then(() => localStorage.setItem('__tolgee_preferredLanguages', '["en","de"]') diff --git a/e2e/cypress/e2e/web/base.cy.ts b/e2e/cypress/e2e/vanilla/base.cy.ts similarity index 100% rename from e2e/cypress/e2e/web/base.cy.ts rename to e2e/cypress/e2e/vanilla/base.cy.ts diff --git a/e2e/cypress/e2e/web/lang_switching.cy.ts b/e2e/cypress/e2e/vanilla/lang_switching.cy.ts similarity index 100% rename from e2e/cypress/e2e/web/lang_switching.cy.ts rename to e2e/cypress/e2e/vanilla/lang_switching.cy.ts diff --git a/e2e/cypress/e2e/web/production.cy.ts b/e2e/cypress/e2e/vanilla/production.cy.ts similarity index 100% rename from e2e/cypress/e2e/web/production.cy.ts rename to e2e/cypress/e2e/vanilla/production.cy.ts diff --git a/e2e/cypress/e2e/next-internal/plural.cy.ts b/e2e/cypress/e2e/web-internal/plural.cy.ts similarity index 81% rename from e2e/cypress/e2e/next-internal/plural.cy.ts rename to e2e/cypress/e2e/web-internal/plural.cy.ts index 11cd1c1258..4c2d886c3d 100644 --- a/e2e/cypress/e2e/next-internal/plural.cy.ts +++ b/e2e/cypress/e2e/web-internal/plural.cy.ts @@ -73,6 +73,26 @@ context('UI with plurals', () => { }); }); + it('correctly detects plural from default value', () => { + cy.visit('http://localhost:8114/translation-methods'); + openUI('2 items'); + getDevUi().contains('Quick translation'); + getDevUi().contains("(key doesn't exist yet)"); + getDevUi() + .findDcy('key-plural-checkbox') + .find('input') + .should('be.checked'); + getDevUi() + .findDcy('key-plural-variable-name') + .find('input') + .should('have.value', 'plural_value'); + checkPluralValue('en', 'one', '#1 item'); + checkPluralValue('en', 'other', '#10 items'); + setPluralValue('cs', 'one', '# polozka'); + setPluralValue('cs', 'few', '# polozky'); + setPluralValue('cs', 'other', '# polozek'); + }); + function checkPluralValue(language: string, variant: string, text: string) { getDevUi() .findDcyWithCustom({ diff --git a/e2e/cypress/e2e/next-internal/screenshots.cy.ts b/e2e/cypress/e2e/web-internal/screenshots.cy.ts similarity index 100% rename from e2e/cypress/e2e/next-internal/screenshots.cy.ts rename to e2e/cypress/e2e/web-internal/screenshots.cy.ts diff --git a/e2e/cypress/e2e/next-internal/tags.cy.ts b/e2e/cypress/e2e/web-internal/tags.cy.ts similarity index 100% rename from e2e/cypress/e2e/next-internal/tags.cy.ts rename to e2e/cypress/e2e/web-internal/tags.cy.ts diff --git a/e2e/cypress/e2e/next-internal/ui.cy.ts b/e2e/cypress/e2e/web-internal/ui.cy.ts similarity index 100% rename from e2e/cypress/e2e/next-internal/ui.cy.ts rename to e2e/cypress/e2e/web-internal/ui.cy.ts diff --git a/e2e/cypress/support/commands.js b/e2e/cypress/support/commands.js index 00c841b388..324866c21b 100644 --- a/e2e/cypress/support/commands.js +++ b/e2e/cypress/support/commands.js @@ -26,21 +26,29 @@ import 'cypress-real-events'; -Cypress.Commands.add('closestDcy', { prevSubject: true }, (subject, dataCy) => { - return subject.closest('[data-cy="' + dataCy + '"]'); -}); +Cypress.Commands.add( + 'closestDcy', + { prevSubject: 'element' }, + (subject, dataCy) => { + return cy.wrap(subject).closest(`[data-cy="${dataCy}"]`); + } +); -Cypress.Commands.add('gcy', (dataCy) => { - return cy.get('[data-cy="' + dataCy + '"]'); +Cypress.Commands.add('gcy', (dataCy, options) => { + return cy.get('[data-cy="' + dataCy + '"]', options); }); -Cypress.Commands.add('findDcy', { prevSubject: true }, (subject, dataCy) => { - return subject.find('[data-cy="' + dataCy + '"]'); -}); +Cypress.Commands.add( + 'findDcy', + { prevSubject: 'element' }, + (subject, dataCy) => { + return cy.wrap(subject).find(`[data-cy="${dataCy}"]`); + } +); Cypress.Commands.add( 'findDcyWithCustom', - { prevSubject: true }, + { prevSubject: 'element' }, (subject, { value, ...other }, options) => subject.find( `[data-cy="${value}"]${Object.entries(other) diff --git a/packages/web/package.json b/packages/web/package.json index 60d299b83e..6288bb6bdf 100644 --- a/packages/web/package.json +++ b/packages/web/package.json @@ -56,6 +56,7 @@ "@testing-library/dom": "^9.3.4", "@testing-library/jest-dom": "^6.4.2", "@tginternal/editor": "^1.15.2", + "@tolgee/format-icu": "6.1.1", "@types/jest": "^29.5.12", "@types/react": "^18.3.16", "@types/react-dom": "^18.3.5", diff --git a/packages/web/public/i18n/cs.json b/packages/web/public/i18n/cs.json new file mode 100644 index 0000000000..f2ab4d847d --- /dev/null +++ b/packages/web/public/i18n/cs.json @@ -0,0 +1,12 @@ +{ + "add-item-add-button" : "Přidat", + "add-item-input-placeholder" : "Nová položka seznamu", + "app-title" : "Co sbalit", + "delete-item-button" : "Smazat", + "menu-item-translation-methods" : "Metody překládání", + "send-via-email" : "Odeslat e-mailem", + "share-button" : "Sdílet", + "this_is_a_key" : "Toto je klíč", + "this_is_a_key_with_params" : "Toto je klíč s parametry {key} {key2}", + "this_is_a_key_with_tags" : "Toto je klíč s tagy bold {key}" +} \ No newline at end of file diff --git a/packages/web/public/i18n/de.json b/packages/web/public/i18n/de.json new file mode 100644 index 0000000000..7d80336bac --- /dev/null +++ b/packages/web/public/i18n/de.json @@ -0,0 +1,12 @@ +{ + "add-item-add-button" : "Einfügen", + "add-item-input-placeholder" : "Neuer Eintrag", + "app-title" : "Was mitnehmen", + "delete-item-button" : "Löschen", + "menu-item-translation-methods" : "Übersetzungsmethoden", + "send-via-email" : "Per Email abschicken", + "share-button" : "Teilen", + "this_is_a_key" : "Dies ist ein Schlüssel", + "this_is_a_key_with_params" : "Dies ist ein Schlüssel mit den Parametern {key} {key2}", + "this_is_a_key_with_tags" : "Dies ist ein Schlüssel mit den Tags bold {key}" +} \ No newline at end of file diff --git a/packages/web/public/i18n/en.json b/packages/web/public/i18n/en.json new file mode 100644 index 0000000000..18850755b4 --- /dev/null +++ b/packages/web/public/i18n/en.json @@ -0,0 +1,12 @@ +{ + "add-item-add-button" : "Add", + "add-item-input-placeholder" : "New list item", + "app-title" : "What To Pack", + "delete-item-button" : "Delete", + "menu-item-translation-methods" : "Translation methods", + "send-via-email" : "Send via e-mail", + "share-button" : "Share", + "this_is_a_key" : "This is a key", + "this_is_a_key_with_params" : "This is key with params {key} {key2}", + "this_is_a_key_with_tags" : "This is a key with tags bold {key}" +} \ No newline at end of file diff --git a/packages/web/public/i18n/fr.json b/packages/web/public/i18n/fr.json new file mode 100644 index 0000000000..8ad4f6bbfc --- /dev/null +++ b/packages/web/public/i18n/fr.json @@ -0,0 +1,12 @@ +{ + "add-item-add-button" : "Ajouter", + "add-item-input-placeholder" : "Nouveau élément de la liste", + "app-title" : "Quoi emballer", + "delete-item-button" : "Supprimer", + "menu-item-translation-methods" : "Méthodes de la traduction", + "send-via-email" : "Envoyer par e-mail", + "share-button" : "Partager", + "this_is_a_key" : "C'est un clé", + "this_is_a_key_with_params" : "C'est la clé avec paramètres {key} {key2}", + "this_is_a_key_with_tags" : "C'est la clé avec des tags bold {key}" +} \ No newline at end of file diff --git a/packages/web/public/img/appLogo.svg b/packages/web/public/img/appLogo.svg new file mode 100644 index 0000000000..08bf055911 --- /dev/null +++ b/packages/web/public/img/appLogo.svg @@ -0,0 +1,15 @@ + + + + + + + \ No newline at end of file diff --git a/packages/web/public/img/background.svg b/packages/web/public/img/background.svg new file mode 100644 index 0000000000..bb305cae2c --- /dev/null +++ b/packages/web/public/img/background.svg @@ -0,0 +1,5 @@ + + + \ No newline at end of file diff --git a/packages/web/public/img/iconAdd.svg b/packages/web/public/img/iconAdd.svg new file mode 100644 index 0000000000..e33b444b6a --- /dev/null +++ b/packages/web/public/img/iconAdd.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/packages/web/public/img/iconMail.svg b/packages/web/public/img/iconMail.svg new file mode 100644 index 0000000000..145f498464 --- /dev/null +++ b/packages/web/public/img/iconMail.svg @@ -0,0 +1,8 @@ + + + + + \ No newline at end of file diff --git a/packages/web/public/img/iconShare.svg b/packages/web/public/img/iconShare.svg new file mode 100644 index 0000000000..936a052814 --- /dev/null +++ b/packages/web/public/img/iconShare.svg @@ -0,0 +1,16 @@ + + + + + + + + \ No newline at end of file diff --git a/packages/web/public/vite.svg b/packages/web/public/vite.svg new file mode 100644 index 0000000000..e7b8dfb1b2 --- /dev/null +++ b/packages/web/public/vite.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/web/src/app/App.tsx b/packages/web/src/app/App.tsx index 2ebd98090a..9e389b3c4e 100644 --- a/packages/web/src/app/App.tsx +++ b/packages/web/src/app/App.tsx @@ -1,33 +1,28 @@ import { useEffect } from 'react'; import { useTolgee } from './basicTolgee'; -import { styled } from '@mui/material'; -const StyledContainer = styled('div')` - margin: 100px auto; - max-width: 300px; -`; +import { Todos } from './Todos'; +import { TranslationMethods } from './TranslationMethods'; export const App = () => { - const tolgee = useTolgee(['update', 'language']); + const currentRoute = window.location.pathname; + const tolgee = useTolgee(['initialLoad']); useEffect(() => { tolgee.run(); }, []); + if (!tolgee.isLoaded()) { + return null; + } + return ( - -
{tolgee.t('app-title')}
-
- {tolgee.t('app-title')} - {tolgee.t('add-item-input-placeholder')} -
- -
-
{tolgee.t('app-title')}
-
-
-
{tolgee.t('new-key')}
-
-
+ <> + {currentRoute === '/translation-methods' ? ( + + ) : ( + + )} + ); }; diff --git a/packages/web/src/app/Todos.tsx b/packages/web/src/app/Todos.tsx new file mode 100644 index 0000000000..d4fbdadcb8 --- /dev/null +++ b/packages/web/src/app/Todos.tsx @@ -0,0 +1,101 @@ +import { FormEvent, useState } from 'react'; + +import { Navbar } from './components/Navbar'; +import { useTolgee } from './basicTolgee'; + +const getInitialItems = () => { + let items: string[] | undefined = undefined; + try { + items = JSON.parse(localStorage.getItem('tolgee-example-app-items') || ''); + } catch (e) { + // eslint-disable-next-line no-console + console.error( + 'Something went wrong while parsing stored items. Items are reset.' + ); + if (typeof localStorage !== 'undefined') { + localStorage.removeItem('tolgee-example-app-items'); + } + } + return items?.length + ? items + : ['Passport', 'Maps and directions', 'Travel guide']; +}; + +export const Todos = () => { + const { t } = useTolgee(['update']); + + const [newItemValue, setNewItemValue] = useState(''); + const [items, setItems] = useState(getInitialItems()); + + const updateLocalstorage = (items: string[]) => { + localStorage.setItem('tolgee-example-app-items', JSON.stringify(items)); + }; + + const onAdd = (e: FormEvent) => { + e.preventDefault(); + const newItems = [...items, newItemValue]; + setItems(newItems); + updateLocalstorage(newItems); + setNewItemValue(''); + }; + + const onDelete = (index: number) => () => { + const newItems = items.filter((_, i) => i !== index); + setItems(newItems); + updateLocalstorage(newItems); + }; + + const onAction = (action: string) => () => { + alert('action: ' + action); + }; + + return ( +
+
+ + + {t('menu-item-translation-methods')} + + +
+ +

{t('app-title')}

+
+
+
+ setNewItemValue(e.target.value)} + placeholder={t({ + key: 'add-item-input-placeholder', + defaultValue: 'New list item', + })} + /> + +
+
+ {items.map((item, i) => ( +
+
{item}
+ +
+ ))} +
+
+ + +
+
+
+
+ ); +}; diff --git a/packages/web/src/app/TranslationMethods.tsx b/packages/web/src/app/TranslationMethods.tsx new file mode 100644 index 0000000000..445b79c0c5 --- /dev/null +++ b/packages/web/src/app/TranslationMethods.tsx @@ -0,0 +1,34 @@ +import { Navbar } from './components/Navbar'; +import { useTolgee } from './basicTolgee'; + +export const TranslationMethods = () => { + const { t } = useTolgee(['update']); + + return ( +
+ + + + +
+
+

App title

+
{t('app-title')}
+
+ +
+

Plural as default

+
+ {t( + 'non-existant', + '{plural_value, plural, one {# item} other {# items}}', + { plural_value: 2 } + )} +
+
+
+
+ ); +}; diff --git a/packages/web/src/app/basicTolgee.ts b/packages/web/src/app/basicTolgee.ts index 85e12c9080..c7b519390b 100644 --- a/packages/web/src/app/basicTolgee.ts +++ b/packages/web/src/app/basicTolgee.ts @@ -1,21 +1,28 @@ import { TolgeeEvent, TolgeeInstance } from '@tolgee/core'; +import { FormatIcu } from '@tolgee/format-icu'; import { useCallback, useEffect, useState } from 'react'; import { BackendFetch, DevTools, Tolgee } from '../package/entry-development'; +export const ALL_LOCALES = ['en', 'de']; + export const secrets = { apiUrl: import.meta.env.VITE_APP_TOLGEE_API_URL, apiKey: import.meta.env.VITE_APP_TOLGEE_API_KEY, }; +const apiKeyFromUrl = new URLSearchParams(window.location.search).get( + 'api_key' +); + export const tolgee = Tolgee() .use(DevTools()) .use(BackendFetch()) + .use(FormatIcu()) .init({ - ...secrets, - availableLanguages: ['en', 'cs', 'fr', 'de'], + apiUrl: secrets.apiUrl, + apiKey: apiKeyFromUrl || secrets.apiKey, + availableLanguages: ALL_LOCALES, defaultLanguage: 'en', - tagNewKeys: ['draft'], - filterTag: ['test'], }); export const useTolgee = (events?: TolgeeEvent[]): TolgeeInstance => { diff --git a/packages/web/src/app/components/LangSelector.tsx b/packages/web/src/app/components/LangSelector.tsx new file mode 100644 index 0000000000..7420531d9e --- /dev/null +++ b/packages/web/src/app/components/LangSelector.tsx @@ -0,0 +1,19 @@ +import React from 'react'; +import { useTolgee } from '../basicTolgee'; + +export const LangSelector: React.FC = () => { + const tolgee = useTolgee(['pendingLanguage']); + + return ( + + ); +}; diff --git a/packages/web/src/app/components/Navbar.tsx b/packages/web/src/app/components/Navbar.tsx new file mode 100644 index 0000000000..760168f3a9 --- /dev/null +++ b/packages/web/src/app/components/Navbar.tsx @@ -0,0 +1,10 @@ +import { LangSelector } from './LangSelector'; + +export const Navbar = ({ children }: React.PropsWithChildren) => { + return ( +
+ {children} + +
+ ); +}; diff --git a/packages/web/src/app/main.tsx b/packages/web/src/app/main.tsx index 6c14464c41..ee00670e83 100644 --- a/packages/web/src/app/main.tsx +++ b/packages/web/src/app/main.tsx @@ -1,6 +1,7 @@ import React from 'react'; import ReactDOM from 'react-dom/client'; -import { App } from './App'; +import { App } from './App.tsx'; +import './style.css'; ReactDOM.createRoot(document.getElementById('root')!).render( diff --git a/packages/web/src/app/style.css b/packages/web/src/app/style.css new file mode 100644 index 0000000000..7b6296ed13 --- /dev/null +++ b/packages/web/src/app/style.css @@ -0,0 +1,244 @@ +@import url('https://fonts.googleapis.com/css2?family=Ubuntu:wght@300;400'); + +:root * { + box-sizing: border-box; +} + +:root *:focus { + outline-offset: 3px; + outline-color: rgb(84, 84, 84); +} + +:root { + font-family: 'Ubuntu', sans-serif; + font-weight: 400; + font-size: 16px; +} + +:root::before { + content: ''; + position: fixed; + inset: 0; + background-image: url('/img/background.svg'); + background-size: 100%; + background-repeat: no-repeat; + background-position-y: bottom; + background-position-x: center; + background-color: #4079ec; +} + +body { + margin: 0; + padding: 0; + position: relative; + min-height: 100vh; + padding-bottom: 40px; + color: white; +} + +.example { + max-width: 800px; + margin: 0 auto; + padding: 0 20px; + height: 100%; +} + +.button { + color: white; + cursor: pointer; + border: 0; + padding: 16px 20px; + background-color: #1f2d40; + border-radius: 4px; + font-size: 16px; + display: flex; + align-items: center; + gap: 8px; + text-transform: uppercase; + transition: background-color; +} + +button:hover { + background-color: #344762; +} + +button[disabled] { + background-color: rgba(117, 117, 117, 0.87); + cursor: default; +} + +button img { + user-drag: none; + -webkit-user-drag: none; + user-select: none; + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; +} + +.navbar { + display: flex; + justify-content: space-between; +} + +.navbar a { + text-decoration: none; + color: white; + border: 1px solid rgba(255, 255, 255, 0.51); + border-radius: 4px; + display: flex; + align-items: center; + padding: 8px 12px; + margin: 16px 0px; + font-size: 16px; +} + +.navbar .lang-selector { + position: relative; + text-decoration: none; + color: white; + border: 1px solid rgba(255, 255, 255, 0.51); + border-radius: 4px; + display: flex; + align-items: center; + padding: 8px 18px 8px 12px; + margin: 16px 0px; + font-size: 16px; + background: transparent; + appearance: none; + -webkit-appearance: none; + -moz-appearance: none; + cursor: pointer; + width: 110px; + background-image: url('data:image/svg+xml;utf8,'); + background-repeat: no-repeat; + background-position-x: calc(100% - 8px); + background-position-y: 9px; +} + +header { + display: grid; + margin-bottom: 20px; + margin-top: 8px; + color: white; + justify-items: center; +} + +header h1 { + padding: 0; + margin: 0; + font-size: 48px; + font-weight: 300; + font-style: normal; +} + +.items { + min-height: 500px; + background-color: #ffffffcc; + backdrop-filter: blur(8px); + border-radius: 10px; + display: flex; + flex-direction: column; + height: 100%; +} + +.items__new-item { + display: flex; + padding: 32px; + gap: 20px; +} + +.items__new-item input { + flex-grow: 1; + background-color: white; + border: none; + box-sizing: border-box; + border-radius: 6px; + padding: 8px 16px; + font-size: 18px; +} + +.items__list { + margin: 32px; + flex-grow: 1; +} + +.item { + display: flex; + padding: 10px 0px; + margin: 0px 10px; + color: black; + border-bottom: 1px solid white; +} + +.item__text { + font-size: 18px; + flex-grow: 1; +} + +.item button { + font-size: 15px; + background: none; + border: none; + cursor: pointer; + text-transform: uppercase; + font-weight: 300; +} + +.items__buttons { + align-self: flex-end; + margin: 32px; + display: flex; + gap: 20px; +} + +.translation-methods { + max-width: 1000px; + margin: 0 auto; + padding: 0 20px; + height: 100%; +} + +.translation-methods .tiles { + margin: 50px auto 0; + display: grid; + gap: 20px; + grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); + color: black; +} + +.translation-methods .tiles > div { + background-color: #ffffffcc; + backdrop-filter: blur(8px); + display: grid; + grid-template-rows: auto 1fr; + align-items: center; + padding: 20px; + border-radius: 5px; + min-height: 120px; + gap: 10px; +} + +.translation-methods .tiles > div > div { + text-align: center; +} + +.translation-methods h1 { + padding: 0; + margin: 0; + color: #1f385b; + font-size: 19px; + font-weight: 500; +} + +.load-more-section { + display: flex; + margin-top: 20px; + justify-content: center; +} + +.translation-methods .section-title { + position: relative; + top: 30px; + color: white; +} diff --git a/packages/web/src/app/vite-env.d.ts b/packages/web/src/app/vite-env.d.ts new file mode 100644 index 0000000000..11f02fe2a0 --- /dev/null +++ b/packages/web/src/app/vite-env.d.ts @@ -0,0 +1 @@ +/// diff --git a/packages/web/src/package/ui/KeyDialog/TranslationTextField.tsx b/packages/web/src/package/ui/KeyDialog/TranslationTextField.tsx index e958b6336a..2480a0de52 100644 --- a/packages/web/src/package/ui/KeyDialog/TranslationTextField.tsx +++ b/packages/web/src/package/ui/KeyDialog/TranslationTextField.tsx @@ -111,7 +111,11 @@ export const TranslationTextField = ({ { - const translation = firstKey?.translations[lang.tag]; - result[lang.tag] = { - value: getTolgeeFormat( - translation?.text || '', - isPlural, - !icuPlaceholders - ), - state: translation?.state || 'UNTRANSLATED', - }; - }); - if (_pluralArgName === undefined && isPlural) { - setPluralArgName(firstKey?.keyPluralArgName); + const keyData = data._embedded?.keys?.[0]; + if (keyData) { + const isPlural = Boolean(keyData.keyIsPlural); + data.selectedLanguages?.forEach((lang) => { + const translation = keyData?.translations[lang.tag]; + result[lang.tag] = { + value: getTolgeeFormat( + translation?.text || '', + isPlural, + !icuPlaceholders + ), + state: translation?.state || 'UNTRANSLATED', + }; + }); + if (_pluralArgName === undefined && isPlural) { + setPluralArgName(keyData?.keyPluralArgName); + } + } else if (props.defaultValue) { + const parsed = getTolgeePlurals( + props.defaultValue, + !icuPlaceholders + ); + setIsPlural(Boolean(parsed.parameter)); + setPluralArgName(parsed.parameter); } initializeWithDefaultValue(result, undefined); - if (firstKey) { - setTags(firstKey?.keyTags?.map((t) => t.name) || []); + if (keyData) { + setTags(keyData?.keyTags?.map((t) => t.name) || []); } else { setTags([ ...(props.uiProps.filterTag ?? []), @@ -192,7 +202,7 @@ export const [DialogProvider, useDialogActions, useDialogContext] = ]); } setScreenshots( - firstKey?.screenshots?.map((sc) => ({ + keyData?.screenshots?.map((sc) => ({ ...sc, filename: sc.filename!, justUploaded: false, @@ -228,11 +238,7 @@ export const [DialogProvider, useDialogActions, useDialogContext] = ...data, [baseLang.tag]: { state: data?.[baseLang.tag]?.state ?? 'UNTRANSLATED', - value: getTolgeeFormat( - props.defaultValue, - isPlural, - !icuPlaceholders - ), + value: getTolgeePlurals(props.defaultValue, !icuPlaceholders), }, }); } else { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 75e6e87534..5e12034f7a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -685,6 +685,9 @@ importers: '@tginternal/editor': specifier: ^1.15.2 version: 1.15.2(@codemirror/lint@6.8.4)(@codemirror/state@6.5.0)(@codemirror/view@6.36.0) + '@tolgee/format-icu': + specifier: 6.1.1 + version: link:../format-icu '@types/jest': specifier: ^29.5.12 version: 29.5.12 @@ -860,37 +863,6 @@ importers: specifier: ^5.3.2 version: 5.4.5 - testapps/next-internal: - dependencies: - '@tolgee/react': - specifier: 6.1.1 - version: link:../../packages/react - '@tolgee/web': - specifier: 6.1.1 - version: link:../../packages/web - next: - specifier: 15.1.0 - version: 15.1.0(@babel/core@7.26.0)(react-dom@18.3.1)(react@18.3.1) - react: - specifier: 18.3.1 - version: 18.3.1 - react-dom: - specifier: 18.3.1 - version: 18.3.1(react@18.3.1) - devDependencies: - '@types/react': - specifier: 18.3.16 - version: 18.3.16 - eslint: - specifier: 8.57.0 - version: 8.57.0 - eslint-config-next: - specifier: 13.2.3 - version: 13.2.3(eslint@8.57.0)(typescript@4.9.5) - typescript: - specifier: 4.9.5 - version: 4.9.5 - testapps/ngx: dependencies: '@angular/animations': @@ -1093,6 +1065,37 @@ importers: specifier: ^6.0.0 version: 6.1.0(@types/node@18.14.6) + testapps/vanilla: + dependencies: + '@tolgee/format-icu': + specifier: 6.1.1 + version: link:../../packages/format-icu + '@tolgee/web': + specifier: 6.1.1 + version: link:../../packages/web + devDependencies: + concurrently: + specifier: ^7.3.0 + version: 7.3.0 + copy-webpack-plugin: + specifier: ^10.2.4 + version: 10.2.4(webpack@5.90.3) + html-webpack-plugin: + specifier: ^5.5.0 + version: 5.5.0(webpack@5.90.3) + serve: + specifier: ^13.0.4 + version: 13.0.4 + source-map-loader: + specifier: ^3.0.1 + version: 3.0.1(webpack@5.90.3) + webpack: + specifier: ^5.73.0 + version: 5.90.3(webpack-cli@4.10.0) + webpack-cli: + specifier: ^4.10.0 + version: 4.10.0(webpack@5.90.3) + testapps/vue: dependencies: '@tolgee/format-icu': @@ -1222,37 +1225,6 @@ importers: specifier: ^1.0.12 version: 1.0.24(typescript@4.7.4) - testapps/web: - dependencies: - '@tolgee/format-icu': - specifier: 6.1.1 - version: link:../../packages/format-icu - '@tolgee/web': - specifier: 6.1.1 - version: link:../../packages/web - devDependencies: - concurrently: - specifier: ^7.3.0 - version: 7.4.0 - copy-webpack-plugin: - specifier: ^10.2.4 - version: 10.2.4(webpack@5.75.0) - html-webpack-plugin: - specifier: ^5.5.0 - version: 5.5.0(webpack@5.75.0) - serve: - specifier: ^13.0.4 - version: 13.0.4 - source-map-loader: - specifier: ^3.0.1 - version: 3.0.1(webpack@5.75.0) - webpack: - specifier: ^5.73.0 - version: 5.75.0(webpack-cli@4.10.0) - webpack-cli: - specifier: ^4.10.0 - version: 4.10.0(webpack@5.75.0) - packages: /@aashutoshrathi/word-wrap@1.2.6: @@ -1401,7 +1373,7 @@ packages: undici: 6.11.1 vite: 5.1.7(@types/node@20.11.17)(less@4.2.0)(sass@1.71.1)(terser@5.29.1) watchpack: 2.4.0 - webpack: 5.90.3(esbuild@0.20.1) + webpack: 5.90.3(webpack-cli@4.10.0) webpack-dev-middleware: 6.1.2(webpack@5.90.3) webpack-dev-server: 4.15.1(webpack@5.90.3) webpack-merge: 5.10.0 @@ -1532,7 +1504,7 @@ packages: undici: 6.11.1 vite: 5.1.7(@types/node@20.11.17)(less@4.2.0)(sass@1.71.1)(terser@5.29.1) watchpack: 2.4.0 - webpack: 5.90.3(esbuild@0.20.1) + webpack: 5.90.3(webpack-cli@4.10.0) webpack-dev-middleware: 6.1.2(webpack@5.90.3) webpack-dev-server: 4.15.1(webpack@5.90.3) webpack-merge: 5.10.0 @@ -1568,7 +1540,7 @@ packages: dependencies: '@angular-devkit/architect': 0.1703.6 rxjs: 7.8.1 - webpack: 5.90.3(esbuild@0.20.1) + webpack: 5.90.3(webpack-cli@4.10.0) webpack-dev-server: 4.15.1(webpack@5.90.3) transitivePeerDependencies: - chokidar @@ -2040,7 +2012,7 @@ packages: '@babel/compat-data': 7.19.3 '@babel/core': 7.26.0 '@babel/helper-validator-option': 7.18.6 - browserslist: 4.23.0 + browserslist: 4.24.3 semver: 6.3.1 dev: true @@ -2060,7 +2032,7 @@ packages: dependencies: '@babel/compat-data': 7.25.7 '@babel/helper-validator-option': 7.25.7 - browserslist: 4.24.0 + browserslist: 4.24.3 lru-cache: 5.1.1 semver: 6.3.1 @@ -7662,7 +7634,7 @@ packages: jest-haste-map: 29.7.0 jest-regex-util: 29.6.3 jest-util: 29.7.0 - micromatch: 4.0.5 + micromatch: 4.0.8 pirates: 4.0.5 slash: 3.0.0 write-file-atomic: 4.0.2 @@ -8186,7 +8158,7 @@ packages: dependencies: '@angular/compiler-cli': 17.3.7(@angular/compiler@17.3.7)(typescript@5.4.5) typescript: 5.4.5 - webpack: 5.90.3(esbuild@0.20.1) + webpack: 5.90.3(webpack-cli@4.10.0) dev: true /@node-ipc/js-queue@2.0.3: @@ -9705,7 +9677,7 @@ packages: '@sinonjs/commons': 1.8.3 dev: true - /@soda/friendly-errors-webpack-plugin@1.8.1(webpack@5.74.0): + /@soda/friendly-errors-webpack-plugin@1.8.1(webpack@5.90.3): resolution: {integrity: sha512-h2ooWqP8XuFqTXT+NyAFbrArzfQA7R6HTezADrvD9Re8fxMLTPPniLdqVTdDaO0eIoLaAwKT+d6w+5GeTk7Vbg==} engines: {node: '>=8.0.0'} peerDependencies: @@ -9715,7 +9687,7 @@ packages: error-stack-parser: 2.1.4 string-width: 4.2.3 strip-ansi: 6.0.1 - webpack: 5.74.0 + webpack: 5.90.3(webpack-cli@4.10.0) dev: true /@soda/get-current-script@1.0.2: @@ -10242,10 +10214,6 @@ packages: resolution: {integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==} dev: true - /@types/estree@0.0.51: - resolution: {integrity: sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==} - dev: true - /@types/estree@1.0.5: resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} @@ -11538,9 +11506,9 @@ packages: '@vue/babel-preset-app': 5.0.8(@babel/core@7.19.3)(core-js@3.25.5)(vue@3.2.47) '@vue/cli-service': 5.0.8(@babel/core@7.26.0)(nunjucks@3.2.3)(prettier@3.2.5)(vue-template-compiler@2.7.14) '@vue/cli-shared-utils': 5.0.8 - babel-loader: 8.2.5(@babel/core@7.19.3)(webpack@5.74.0) - thread-loader: 3.0.4(webpack@5.74.0) - webpack: 5.74.0 + babel-loader: 8.2.5(@babel/core@7.19.3)(webpack@5.90.3) + thread-loader: 3.0.4(webpack@5.90.3) + webpack: 5.90.3(webpack-cli@4.10.0) transitivePeerDependencies: - '@swc/core' - core-js @@ -11561,9 +11529,9 @@ packages: '@vue/cli-service': 5.0.8(@babel/core@7.26.0)(nunjucks@3.2.3)(prettier@3.2.5)(vue-template-compiler@2.7.14) '@vue/cli-shared-utils': 5.0.8 eslint: 8.57.0 - eslint-webpack-plugin: 3.2.0(eslint@8.57.0)(webpack@5.74.0) + eslint-webpack-plugin: 3.2.0(eslint@8.57.0)(webpack@5.90.3) globby: 11.1.0 - webpack: 5.74.0 + webpack: 5.90.3(webpack-cli@4.10.0) yorkie: 2.0.0 transitivePeerDependencies: - '@swc/core' @@ -11624,7 +11592,7 @@ packages: optional: true dependencies: '@babel/helper-compilation-targets': 7.19.3(@babel/core@7.26.0) - '@soda/friendly-errors-webpack-plugin': 1.8.1(webpack@5.74.0) + '@soda/friendly-errors-webpack-plugin': 1.8.1(webpack@5.90.3) '@soda/get-current-script': 1.0.2 '@types/minimist': 1.2.2 '@vue/cli-overlay': 5.0.8 @@ -11632,7 +11600,7 @@ packages: '@vue/cli-plugin-vuex': 5.0.8(@vue/cli-service@5.0.8) '@vue/cli-shared-utils': 5.0.8 '@vue/component-compiler-utils': 3.3.0(nunjucks@3.2.3) - '@vue/vue-loader-v15': /vue-loader@15.11.1(css-loader@6.7.1)(nunjucks@3.2.3)(prettier@3.2.5)(vue-template-compiler@2.7.14)(webpack@5.74.0) + '@vue/vue-loader-v15': /vue-loader@15.11.1(css-loader@6.7.1)(nunjucks@3.2.3)(prettier@3.2.5)(vue-template-compiler@2.7.14)(webpack@5.90.3) '@vue/web-component-wrapper': 1.3.0 acorn: 8.8.0 acorn-walk: 8.2.0 @@ -11643,9 +11611,9 @@ packages: cli-highlight: 2.1.11 clipboardy: 2.3.0 cliui: 7.0.4 - copy-webpack-plugin: 9.1.0(webpack@5.74.0) - css-loader: 6.7.1(webpack@5.74.0) - css-minimizer-webpack-plugin: 3.4.1(webpack@5.74.0) + copy-webpack-plugin: 9.1.0(webpack@5.90.3) + css-loader: 6.7.1(webpack@5.90.3) + css-minimizer-webpack-plugin: 3.4.1(webpack@5.90.3) cssnano: 5.1.13(postcss@8.4.28) debug: 4.3.4(supports-color@8.1.1) default-gateway: 6.0.3 @@ -11654,28 +11622,28 @@ packages: fs-extra: 9.1.0 globby: 11.1.0 hash-sum: 2.0.0 - html-webpack-plugin: 5.5.0(webpack@5.74.0) + html-webpack-plugin: 5.5.0(webpack@5.90.3) is-file-esm: 1.0.0 launch-editor-middleware: 2.6.0 lodash.defaultsdeep: 4.6.1 lodash.mapvalues: 4.6.0 - mini-css-extract-plugin: 2.6.1(webpack@5.74.0) + mini-css-extract-plugin: 2.6.1(webpack@5.90.3) minimist: 1.2.6 module-alias: 2.2.2 portfinder: 1.0.32 postcss: 8.4.28 - postcss-loader: 6.2.1(postcss@8.4.28)(webpack@5.74.0) - progress-webpack-plugin: 1.0.16(webpack@5.74.0) + postcss-loader: 6.2.1(postcss@8.4.28)(webpack@5.90.3) + progress-webpack-plugin: 1.0.16(webpack@5.90.3) ssri: 8.0.1 - terser-webpack-plugin: 5.3.6(webpack@5.74.0) - thread-loader: 3.0.4(webpack@5.74.0) - vue-loader: 17.0.0(webpack@5.74.0) + terser-webpack-plugin: 5.3.6(webpack@5.90.3) + thread-loader: 3.0.4(webpack@5.90.3) + vue-loader: 17.0.0(webpack@5.90.3) vue-style-loader: 4.1.3 vue-template-compiler: 2.7.14 - webpack: 5.74.0 + webpack: 5.90.3(webpack-cli@4.10.0) webpack-bundle-analyzer: 4.6.1 webpack-chain: 6.5.1 - webpack-dev-server: 4.11.1(debug@4.3.4)(webpack@5.74.0) + webpack-dev-server: 4.11.1(debug@4.3.4)(webpack@5.90.3) webpack-merge: 5.8.0 webpack-virtual-modules: 0.4.5 whatwg-fetch: 3.6.2 @@ -12090,13 +12058,6 @@ packages: resolution: {integrity: sha512-Iu8Tbg3f+emIIMmI2ycSI8QcEuAUgPTgHwesDU1eKMLE4YC/c/sFbGc70QgMq31ijRftV0R7vCm9co6rldCeOA==} dev: true - /@webassemblyjs/ast@1.11.1: - resolution: {integrity: sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==} - dependencies: - '@webassemblyjs/helper-numbers': 1.11.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.1 - dev: true - /@webassemblyjs/ast@1.12.1: resolution: {integrity: sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==} dependencies: @@ -12104,38 +12065,18 @@ packages: '@webassemblyjs/helper-wasm-bytecode': 1.11.6 dev: true - /@webassemblyjs/floating-point-hex-parser@1.11.1: - resolution: {integrity: sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==} - dev: true - /@webassemblyjs/floating-point-hex-parser@1.11.6: resolution: {integrity: sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==} dev: true - /@webassemblyjs/helper-api-error@1.11.1: - resolution: {integrity: sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==} - dev: true - /@webassemblyjs/helper-api-error@1.11.6: resolution: {integrity: sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==} dev: true - /@webassemblyjs/helper-buffer@1.11.1: - resolution: {integrity: sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==} - dev: true - /@webassemblyjs/helper-buffer@1.12.1: resolution: {integrity: sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==} dev: true - /@webassemblyjs/helper-numbers@1.11.1: - resolution: {integrity: sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==} - dependencies: - '@webassemblyjs/floating-point-hex-parser': 1.11.1 - '@webassemblyjs/helper-api-error': 1.11.1 - '@xtuc/long': 4.2.2 - dev: true - /@webassemblyjs/helper-numbers@1.11.6: resolution: {integrity: sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==} dependencies: @@ -12144,23 +12085,10 @@ packages: '@xtuc/long': 4.2.2 dev: true - /@webassemblyjs/helper-wasm-bytecode@1.11.1: - resolution: {integrity: sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==} - dev: true - /@webassemblyjs/helper-wasm-bytecode@1.11.6: resolution: {integrity: sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==} dev: true - /@webassemblyjs/helper-wasm-section@1.11.1: - resolution: {integrity: sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==} - dependencies: - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/helper-buffer': 1.11.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.1 - '@webassemblyjs/wasm-gen': 1.11.1 - dev: true - /@webassemblyjs/helper-wasm-section@1.12.1: resolution: {integrity: sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==} dependencies: @@ -12170,51 +12098,22 @@ packages: '@webassemblyjs/wasm-gen': 1.12.1 dev: true - /@webassemblyjs/ieee754@1.11.1: - resolution: {integrity: sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==} - dependencies: - '@xtuc/ieee754': 1.2.0 - dev: true - /@webassemblyjs/ieee754@1.11.6: resolution: {integrity: sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==} dependencies: '@xtuc/ieee754': 1.2.0 dev: true - /@webassemblyjs/leb128@1.11.1: - resolution: {integrity: sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==} - dependencies: - '@xtuc/long': 4.2.2 - dev: true - /@webassemblyjs/leb128@1.11.6: resolution: {integrity: sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==} dependencies: '@xtuc/long': 4.2.2 dev: true - /@webassemblyjs/utf8@1.11.1: - resolution: {integrity: sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==} - dev: true - /@webassemblyjs/utf8@1.11.6: resolution: {integrity: sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==} dev: true - /@webassemblyjs/wasm-edit@1.11.1: - resolution: {integrity: sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==} - dependencies: - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/helper-buffer': 1.11.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.1 - '@webassemblyjs/helper-wasm-section': 1.11.1 - '@webassemblyjs/wasm-gen': 1.11.1 - '@webassemblyjs/wasm-opt': 1.11.1 - '@webassemblyjs/wasm-parser': 1.11.1 - '@webassemblyjs/wast-printer': 1.11.1 - dev: true - /@webassemblyjs/wasm-edit@1.12.1: resolution: {integrity: sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==} dependencies: @@ -12228,16 +12127,6 @@ packages: '@webassemblyjs/wast-printer': 1.12.1 dev: true - /@webassemblyjs/wasm-gen@1.11.1: - resolution: {integrity: sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==} - dependencies: - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.1 - '@webassemblyjs/ieee754': 1.11.1 - '@webassemblyjs/leb128': 1.11.1 - '@webassemblyjs/utf8': 1.11.1 - dev: true - /@webassemblyjs/wasm-gen@1.12.1: resolution: {integrity: sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==} dependencies: @@ -12248,15 +12137,6 @@ packages: '@webassemblyjs/utf8': 1.11.6 dev: true - /@webassemblyjs/wasm-opt@1.11.1: - resolution: {integrity: sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==} - dependencies: - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/helper-buffer': 1.11.1 - '@webassemblyjs/wasm-gen': 1.11.1 - '@webassemblyjs/wasm-parser': 1.11.1 - dev: true - /@webassemblyjs/wasm-opt@1.12.1: resolution: {integrity: sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==} dependencies: @@ -12266,17 +12146,6 @@ packages: '@webassemblyjs/wasm-parser': 1.12.1 dev: true - /@webassemblyjs/wasm-parser@1.11.1: - resolution: {integrity: sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==} - dependencies: - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/helper-api-error': 1.11.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.1 - '@webassemblyjs/ieee754': 1.11.1 - '@webassemblyjs/leb128': 1.11.1 - '@webassemblyjs/utf8': 1.11.1 - dev: true - /@webassemblyjs/wasm-parser@1.12.1: resolution: {integrity: sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==} dependencies: @@ -12288,13 +12157,6 @@ packages: '@webassemblyjs/utf8': 1.11.6 dev: true - /@webassemblyjs/wast-printer@1.11.1: - resolution: {integrity: sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==} - dependencies: - '@webassemblyjs/ast': 1.11.1 - '@xtuc/long': 4.2.2 - dev: true - /@webassemblyjs/wast-printer@1.12.1: resolution: {integrity: sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==} dependencies: @@ -12302,14 +12164,14 @@ packages: '@xtuc/long': 4.2.2 dev: true - /@webpack-cli/configtest@1.2.0(webpack-cli@4.10.0)(webpack@5.75.0): + /@webpack-cli/configtest@1.2.0(webpack-cli@4.10.0)(webpack@5.90.3): resolution: {integrity: sha512-4FB8Tj6xyVkyqjj1OaTqCjXYULB9FMkqQ8yGrZjRDrYh0nOE+7Lhs45WioWQQMV+ceFlE368Ukhe6xdvJM9Egg==} peerDependencies: webpack: 4.x.x || 5.x.x webpack-cli: 4.x.x dependencies: - webpack: 5.75.0(webpack-cli@4.10.0) - webpack-cli: 4.10.0(webpack@5.75.0) + webpack: 5.90.3(webpack-cli@4.10.0) + webpack-cli: 4.10.0(webpack@5.90.3) dev: true /@webpack-cli/info@1.5.0(webpack-cli@4.10.0): @@ -12317,8 +12179,8 @@ packages: peerDependencies: webpack-cli: 4.x.x dependencies: - envinfo: 7.8.1 - webpack-cli: 4.10.0(webpack@5.75.0) + envinfo: 7.13.0 + webpack-cli: 4.10.0(webpack@5.90.3) dev: true /@webpack-cli/serve@1.7.0(webpack-cli@4.10.0): @@ -12330,7 +12192,7 @@ packages: webpack-dev-server: optional: true dependencies: - webpack-cli: 4.10.0(webpack@5.75.0) + webpack-cli: 4.10.0(webpack@5.90.3) dev: true /@xtuc/ieee754@1.2.0: @@ -12381,6 +12243,7 @@ packages: /abab@2.0.6: resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==} + deprecated: Use your platform's native atob() and btoa() methods instead dev: true /abbrev@2.0.0: @@ -12420,28 +12283,13 @@ packages: acorn-walk: 8.2.0 dev: true - /acorn-import-assertions@1.8.0(acorn@8.14.0): - resolution: {integrity: sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==} - peerDependencies: - acorn: ^8 - dependencies: - acorn: 8.14.0 - dev: true - - /acorn-import-assertions@1.8.0(acorn@8.8.2): - resolution: {integrity: sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==} - peerDependencies: - acorn: ^8 - dependencies: - acorn: 8.8.2 - dev: true - - /acorn-import-assertions@1.9.0(acorn@8.12.1): + /acorn-import-assertions@1.9.0(acorn@8.14.0): resolution: {integrity: sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==} + deprecated: package has been renamed to acorn-import-attributes peerDependencies: acorn: ^8 dependencies: - acorn: 8.12.1 + acorn: 8.14.0 dev: true /acorn-jsx@5.3.2(acorn@8.11.3): @@ -12512,12 +12360,6 @@ packages: engines: {node: '>=0.4.0'} hasBin: true - /acorn@8.8.2: - resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==} - engines: {node: '>=0.4.0'} - hasBin: true - dev: true - /add-stream@1.0.0: resolution: {integrity: sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ==} dev: true @@ -12997,7 +12839,7 @@ packages: peerDependencies: postcss: ^8.1.0 dependencies: - browserslist: 4.23.0 + browserslist: 4.24.3 caniuse-lite: 1.0.30001677 fraction.js: 4.2.0 normalize-range: 0.1.2 @@ -13155,7 +12997,7 @@ packages: transitivePeerDependencies: - supports-color - /babel-loader@8.2.5(@babel/core@7.19.3)(webpack@5.74.0): + /babel-loader@8.2.5(@babel/core@7.19.3)(webpack@5.90.3): resolution: {integrity: sha512-OSiFfH89LrEMiWd4pLNqGz4CwJDtbs2ZVc+iGu2HrkRfPxId9F2anQj38IxWpmRfsUY0aBZYi1EFcd3mhtRMLQ==} engines: {node: '>= 8.9'} peerDependencies: @@ -13167,7 +13009,7 @@ packages: loader-utils: 2.0.4 make-dir: 3.1.0 schema-utils: 2.7.1 - webpack: 5.74.0 + webpack: 5.90.3(webpack-cli@4.10.0) dev: true /babel-loader@9.1.3(@babel/core@7.24.0)(webpack@5.90.3): @@ -13180,7 +13022,7 @@ packages: '@babel/core': 7.24.0 find-cache-dir: 4.0.0 schema-utils: 4.0.0 - webpack: 5.90.3(esbuild@0.20.1) + webpack: 5.90.3(webpack-cli@4.10.0) dev: true /babel-plugin-dynamic-import-node@2.3.3: @@ -13801,17 +13643,6 @@ packages: update-browserslist-db: 1.0.13(browserslist@4.21.4) dev: true - /browserslist@4.21.5: - resolution: {integrity: sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} - hasBin: true - dependencies: - caniuse-lite: 1.0.30001677 - electron-to-chromium: 1.4.325 - node-releases: 2.0.10 - update-browserslist-db: 1.0.10(browserslist@4.21.5) - dev: true - /browserslist@4.23.0: resolution: {integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} @@ -13822,16 +13653,6 @@ packages: node-releases: 2.0.14 update-browserslist-db: 1.0.13(browserslist@4.23.0) - /browserslist@4.24.0: - resolution: {integrity: sha512-Rmb62sR1Zpjql25eSanFGEhAxcFwfA1K0GuQcLoaJBAcENegrQut3hYdhXFF1obQfiDyqIW/cLM5HSJ/9k884A==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} - hasBin: true - dependencies: - caniuse-lite: 1.0.30001677 - electron-to-chromium: 1.5.32 - node-releases: 2.0.18 - update-browserslist-db: 1.1.1(browserslist@4.24.0) - /browserslist@4.24.3: resolution: {integrity: sha512-1CPmv8iobE2fyRMV97dAcMVegvvWKxmq94hkLiAkUGwKVTyDLw33K+ZxiFrREKmmps4rIw6grcCFCnTMSZ/YiA==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} @@ -14007,8 +13828,8 @@ packages: /caniuse-api@3.0.0: resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} dependencies: - browserslist: 4.23.0 - caniuse-lite: 1.0.30001677 + browserslist: 4.24.3 + caniuse-lite: 1.0.30001689 lodash.memoize: 4.1.2 lodash.uniq: 4.5.0 dev: true @@ -14018,6 +13839,7 @@ packages: /caniuse-lite@1.0.30001677: resolution: {integrity: sha512-fmfjsOlJUpMWu+mAAtZZZHz7UEwsUxIIvu1TJfO1HqFQvB/B+ii0xr9B5HpbZY/mC4XZ8SvjHJqtAY6pDPQEog==} + dev: true /caniuse-lite@1.0.30001689: resolution: {integrity: sha512-CmeR2VBycfa+5/jOfnp/NpWPGd06nf1XYiefUvhXFfZE4GkRc9jv+eGPS4nT558WS/8lYCzV8SlANCIPvbWP1g==} @@ -14651,22 +14473,6 @@ packages: yargs: 17.6.0 dev: true - /concurrently@7.4.0: - resolution: {integrity: sha512-M6AfrueDt/GEna/Vg9BqQ+93yuvzkSKmoTixnwEJkH0LlcGrRC2eCmjeG1tLLHIYfpYJABokqSGyMcXjm96AFA==} - engines: {node: ^12.20.0 || ^14.13.0 || >=16.0.0} - hasBin: true - dependencies: - chalk: 4.1.2 - date-fns: 2.29.3 - lodash: 4.17.21 - rxjs: 7.5.7 - shell-quote: 1.7.3 - spawn-command: 0.0.2-1 - supports-color: 8.1.1 - tree-kill: 1.2.2 - yargs: 17.6.0 - dev: true - /config-chain@1.1.13: resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==} dependencies: @@ -15028,19 +14834,19 @@ packages: engines: {node: '>=0.10.0'} dev: true - /copy-webpack-plugin@10.2.4(webpack@5.75.0): + /copy-webpack-plugin@10.2.4(webpack@5.90.3): resolution: {integrity: sha512-xFVltahqlsRcyyJqQbDY6EYTtyQZF9rf+JPjwHObLdPFMEISqkFkr7mFoVOC6BfYS/dNThyoQKvziugm+OnwBg==} engines: {node: '>= 12.20.0'} peerDependencies: webpack: ^5.1.0 dependencies: - fast-glob: 3.2.12 + fast-glob: 3.3.2 glob-parent: 6.0.2 globby: 12.2.0 normalize-path: 3.0.0 schema-utils: 4.0.0 - serialize-javascript: 6.0.0 - webpack: 5.75.0(webpack-cli@4.10.0) + serialize-javascript: 6.0.2 + webpack: 5.90.3(webpack-cli@4.10.0) dev: true /copy-webpack-plugin@11.0.0(webpack@5.90.3): @@ -15055,10 +14861,10 @@ packages: normalize-path: 3.0.0 schema-utils: 4.0.0 serialize-javascript: 6.0.2 - webpack: 5.90.3(esbuild@0.20.1) + webpack: 5.90.3(webpack-cli@4.10.0) dev: true - /copy-webpack-plugin@9.1.0(webpack@5.74.0): + /copy-webpack-plugin@9.1.0(webpack@5.90.3): resolution: {integrity: sha512-rxnR7PaGigJzhqETHGmAcxKnLZSR5u1Y3/bcIv/1FnqXedcL/E2ewK7ZCNrArJKCiSv8yVXhTqetJh8inDvfsA==} engines: {node: '>= 12.13.0'} peerDependencies: @@ -15068,21 +14874,21 @@ packages: glob-parent: 6.0.2 globby: 11.1.0 normalize-path: 3.0.0 - schema-utils: 3.1.1 + schema-utils: 3.3.0 serialize-javascript: 6.0.2 - webpack: 5.74.0 + webpack: 5.90.3(webpack-cli@4.10.0) dev: true /core-js-compat@3.25.5: resolution: {integrity: sha512-ovcyhs2DEBUIE0MGEKHP4olCUW/XYte3Vroyxuh38rD1wAO4dHohsovUC4eAOuzFxE6b+RXvBU3UZ9o0YhUTkA==} dependencies: - browserslist: 4.23.0 + browserslist: 4.24.3 dev: true /core-js-compat@3.37.0: resolution: {integrity: sha512-vYq4L+T8aS5UuFg4UwDhc7YNRWVeVZwltad9C/jV3R2LgVOpS9BDr7l/WL6BN0dbV3k1XejPTHqqEzJgsa0frA==} dependencies: - browserslist: 4.23.0 + browserslist: 4.24.3 dev: true /core-js@3.25.5: @@ -15362,10 +15168,10 @@ packages: postcss-modules-values: 4.0.0(postcss@8.4.47) postcss-value-parser: 4.2.0 semver: 7.6.3 - webpack: 5.90.3(esbuild@0.20.1) + webpack: 5.90.3(webpack-cli@4.10.0) dev: true - /css-loader@6.7.1(webpack@5.74.0): + /css-loader@6.7.1(webpack@5.90.3): resolution: {integrity: sha512-yB5CNFa14MbPJcomwNh3wLThtkZgcNyI2bNMRt8iE5Z8Vwl7f8vQXFAzn2HDOJvtDq2NTZBUGMSUNNyrv3/+cw==} engines: {node: '>= 12.13.0'} peerDependencies: @@ -15379,10 +15185,10 @@ packages: postcss-modules-values: 4.0.0(postcss@8.4.47) postcss-value-parser: 4.2.0 semver: 7.6.3 - webpack: 5.74.0 + webpack: 5.90.3(webpack-cli@4.10.0) dev: true - /css-minimizer-webpack-plugin@3.4.1(webpack@5.74.0): + /css-minimizer-webpack-plugin@3.4.1(webpack@5.90.3): resolution: {integrity: sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q==} engines: {node: '>= 12.13.0'} peerDependencies: @@ -15407,7 +15213,7 @@ packages: schema-utils: 4.0.0 serialize-javascript: 6.0.2 source-map: 0.6.1 - webpack: 5.74.0 + webpack: 5.90.3(webpack-cli@4.10.0) dev: true /css-select@4.3.0: @@ -16333,10 +16139,6 @@ packages: jake: 10.9.2 dev: true - /electron-to-chromium@1.4.325: - resolution: {integrity: sha512-K1C03NT4I7BuzsRdCU5RWkgZxtswnKDYM6/eMhkEXqKu4e5T+ck610x3FPzu1y7HVFSiQKZqP16gnJzPpji1TQ==} - dev: true - /electron-to-chromium@1.4.603: resolution: {integrity: sha512-Dvo5OGjnl7AZTU632dFJtWj0uJK835eeOVQIuRcmBmsFsTNn3cL05FqOyHAfGQDIoHfLhyJ1Tya3PJ0ceMz54g==} dev: true @@ -16344,9 +16146,6 @@ packages: /electron-to-chromium@1.4.676: resolution: {integrity: sha512-uHt4FB8SeYdhcOsj2ix/C39S7sPSNFJpzShjxGOm1KdF4MHyGqGi389+T5cErsodsijojXilYaHIKKqJfqh7uQ==} - /electron-to-chromium@1.5.32: - resolution: {integrity: sha512-M+7ph0VGBQqqpTT2YrabjNKSQ2fEl9PVx6AK3N558gDH9NO8O6XN9SXXFWRo9u9PbEg/bWq+tjXQr+eXmxubCw==} - /electron-to-chromium@1.5.74: resolution: {integrity: sha512-ck3//9RC+6oss/1Bh9tiAVFy5vfSKbRHAFh7Z3/eTRkEqJeWgymloShB17Vg3Z4nmDNp35vAd1BZ6CMW4Wt6Iw==} @@ -16403,14 +16202,6 @@ packages: dependencies: once: 1.4.0 - /enhanced-resolve@5.12.0: - resolution: {integrity: sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==} - engines: {node: '>=10.13.0'} - dependencies: - graceful-fs: 4.2.11 - tapable: 2.2.1 - dev: true - /enhanced-resolve@5.15.0: resolution: {integrity: sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==} engines: {node: '>=10.13.0'} @@ -16453,12 +16244,6 @@ packages: hasBin: true dev: true - /envinfo@7.8.1: - resolution: {integrity: sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==} - engines: {node: '>=4'} - hasBin: true - dev: true - /err-code@2.0.3: resolution: {integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==} dev: true @@ -16546,10 +16331,6 @@ packages: stop-iteration-iterator: 1.0.0 dev: true - /es-module-lexer@0.9.3: - resolution: {integrity: sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==} - dev: true - /es-module-lexer@1.5.2: resolution: {integrity: sha512-l60ETUTmLqbVbVHv1J4/qj+M8nq7AwMzEcg3kmJDt9dCNrTk+yHcYFf/Kw75pMDwd9mPcIGCG5LcS20SxYRzFA==} @@ -17200,7 +16981,7 @@ packages: engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} dev: true - /eslint-webpack-plugin@3.2.0(eslint@8.57.0)(webpack@5.74.0): + /eslint-webpack-plugin@3.2.0(eslint@8.57.0)(webpack@5.90.3): resolution: {integrity: sha512-avrKcGncpPbPSUHX6B3stNGzkKFto3eL+DKM4+VyMrVnhPc3vRczVlCq3uhuFOdRvDHTVXuzwk1ZKUrqDQHQ9w==} engines: {node: '>= 12.13.0'} peerDependencies: @@ -17213,7 +16994,7 @@ packages: micromatch: 4.0.5 normalize-path: 3.0.0 schema-utils: 4.0.0 - webpack: 5.74.0 + webpack: 5.90.3(webpack-cli@4.10.0) dev: true /eslint@8.57.0: @@ -17730,17 +17511,6 @@ packages: resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} dev: true - /fast-glob@3.2.12: - resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} - engines: {node: '>=8.6.0'} - dependencies: - '@nodelib/fs.stat': 2.0.5 - '@nodelib/fs.walk': 1.2.8 - glob-parent: 5.1.2 - merge2: 1.4.1 - micromatch: 4.0.5 - dev: true - /fast-glob@3.3.2: resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} engines: {node: '>=8.6.0'} @@ -18910,7 +18680,7 @@ packages: he: 1.2.0 param-case: 3.0.4 relateurl: 0.2.7 - terser: 5.27.2 + terser: 5.29.1 dev: true /html-parse-stringify@3.0.1: @@ -18929,7 +18699,7 @@ packages: engines: {node: '>=8'} dev: true - /html-webpack-plugin@5.5.0(webpack@5.74.0): + /html-webpack-plugin@5.5.0(webpack@5.90.3): resolution: {integrity: sha512-sy88PC2cRTVxvETRgUHFrL4No3UxvcH8G1NepGhqaTT+GXN2kTamqasot0inS5hXeg1cMbFDt27zzo9p35lZVw==} engines: {node: '>=10.13.0'} peerDependencies: @@ -18940,21 +18710,7 @@ packages: lodash: 4.17.21 pretty-error: 4.0.0 tapable: 2.2.1 - webpack: 5.74.0 - dev: true - - /html-webpack-plugin@5.5.0(webpack@5.75.0): - resolution: {integrity: sha512-sy88PC2cRTVxvETRgUHFrL4No3UxvcH8G1NepGhqaTT+GXN2kTamqasot0inS5hXeg1cMbFDt27zzo9p35lZVw==} - engines: {node: '>=10.13.0'} - peerDependencies: - webpack: ^5.20.0 - dependencies: - '@types/html-minifier-terser': 6.1.0 - html-minifier-terser: 6.1.0 - lodash: 4.17.21 - pretty-error: 4.0.0 - tapable: 2.2.1 - webpack: 5.75.0(webpack-cli@4.10.0) + webpack: 5.90.3(webpack-cli@4.10.0) dev: true /htmlescape@1.1.1: @@ -20698,7 +20454,7 @@ packages: jest-regex-util: 29.4.2 jest-util: 29.7.0 jest-worker: 29.7.0 - micromatch: 4.0.5 + micromatch: 4.0.8 walker: 1.0.8 optionalDependencies: fsevents: 2.3.3 @@ -22043,7 +21799,7 @@ packages: dependencies: klona: 2.0.5 less: 4.2.0 - webpack: 5.90.3(esbuild@0.20.1) + webpack: 5.90.3(webpack-cli@4.10.0) dev: true /less@4.2.0: @@ -22117,7 +21873,7 @@ packages: webpack: optional: true dependencies: - webpack: 5.90.3(esbuild@0.20.1) + webpack: 5.90.3(webpack-cli@4.10.0) webpack-sources: 3.2.3 dev: true @@ -22730,14 +22486,14 @@ packages: engines: {node: '>=4'} dev: true - /mini-css-extract-plugin@2.6.1(webpack@5.74.0): + /mini-css-extract-plugin@2.6.1(webpack@5.90.3): resolution: {integrity: sha512-wd+SD57/K6DiV7jIR34P+s3uckTRuQvx0tKPcvjFlrEylk6P4mQ2KSWk1hblj1Kxaqok7LogKOieygXqBczNlg==} engines: {node: '>= 12.13.0'} peerDependencies: webpack: ^5.0.0 dependencies: schema-utils: 4.0.0 - webpack: 5.74.0 + webpack: 5.90.3(webpack-cli@4.10.0) dev: true /mini-css-extract-plugin@2.8.1(webpack@5.90.3): @@ -22748,7 +22504,7 @@ packages: dependencies: schema-utils: 4.0.0 tapable: 2.2.1 - webpack: 5.90.3(esbuild@0.20.1) + webpack: 5.90.3(webpack-cli@4.10.0) dev: true /minimalistic-assert@1.0.1: @@ -23295,16 +23051,9 @@ packages: resolution: {integrity: sha512-QNABxbrPa3qEIfrE6GOJ7BYIuignnJw7iQ2YPbc3Nla1HzRJjXzZOiikfF8m7eAMfichLt3M4VgLOetqgDmgGQ==} dev: true - /node-releases@2.0.10: - resolution: {integrity: sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==} - dev: true - /node-releases@2.0.14: resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} - /node-releases@2.0.18: - resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==} - /node-releases@2.0.19: resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==} @@ -24612,7 +24361,7 @@ packages: peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.23.0 + browserslist: 4.24.3 caniuse-api: 3.0.0 colord: 2.9.3 postcss: 8.4.28 @@ -24625,7 +24374,7 @@ packages: peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.23.0 + browserslist: 4.24.3 caniuse-api: 3.0.0 colord: 2.9.3 postcss: 8.4.47 @@ -24638,7 +24387,7 @@ packages: peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.23.0 + browserslist: 4.24.3 postcss: 8.4.28 postcss-value-parser: 4.2.0 dev: true @@ -24649,7 +24398,7 @@ packages: peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.23.0 + browserslist: 4.24.3 postcss: 8.4.47 postcss-value-parser: 4.2.0 dev: true @@ -24744,7 +24493,7 @@ packages: yaml: 1.10.2 dev: true - /postcss-loader@6.2.1(postcss@8.4.28)(webpack@5.74.0): + /postcss-loader@6.2.1(postcss@8.4.28)(webpack@5.90.3): resolution: {integrity: sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==} engines: {node: '>= 12.13.0'} peerDependencies: @@ -24755,7 +24504,7 @@ packages: klona: 2.0.5 postcss: 8.4.28 semver: 7.6.3 - webpack: 5.74.0 + webpack: 5.90.3(webpack-cli@4.10.0) dev: true /postcss-loader@8.1.1(postcss@8.4.35)(typescript@5.4.5)(webpack@5.90.3): @@ -24775,7 +24524,7 @@ packages: jiti: 1.21.0 postcss: 8.4.35 semver: 7.6.3 - webpack: 5.90.3(esbuild@0.20.1) + webpack: 5.90.3(webpack-cli@4.10.0) transitivePeerDependencies: - typescript dev: true @@ -24812,7 +24561,7 @@ packages: peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.23.0 + browserslist: 4.24.3 caniuse-api: 3.0.0 cssnano-utils: 3.1.0(postcss@8.4.28) postcss: 8.4.28 @@ -24825,7 +24574,7 @@ packages: peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.23.0 + browserslist: 4.24.3 caniuse-api: 3.0.0 cssnano-utils: 3.1.0(postcss@8.4.47) postcss: 8.4.47 @@ -24882,7 +24631,7 @@ packages: peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.23.0 + browserslist: 4.24.3 cssnano-utils: 3.1.0(postcss@8.4.28) postcss: 8.4.28 postcss-value-parser: 4.2.0 @@ -24894,7 +24643,7 @@ packages: peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.23.0 + browserslist: 4.24.3 cssnano-utils: 3.1.0(postcss@8.4.47) postcss: 8.4.47 postcss-value-parser: 4.2.0 @@ -25107,7 +24856,7 @@ packages: peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.23.0 + browserslist: 4.24.3 postcss: 8.4.28 postcss-value-parser: 4.2.0 dev: true @@ -25118,7 +24867,7 @@ packages: peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.23.0 + browserslist: 4.24.3 postcss: 8.4.47 postcss-value-parser: 4.2.0 dev: true @@ -25193,7 +24942,7 @@ packages: peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.23.0 + browserslist: 4.24.3 caniuse-api: 3.0.0 postcss: 8.4.28 dev: true @@ -25204,7 +24953,7 @@ packages: peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.23.0 + browserslist: 4.24.3 caniuse-api: 3.0.0 postcss: 8.4.47 dev: true @@ -25341,7 +25090,7 @@ packages: dependencies: nanoid: 3.3.7 picocolors: 1.1.1 - source-map-js: 1.2.0 + source-map-js: 1.2.1 dev: true /postcss@8.4.35: @@ -25350,7 +25099,7 @@ packages: dependencies: nanoid: 3.3.7 picocolors: 1.1.0 - source-map-js: 1.2.0 + source-map-js: 1.2.1 dev: true /postcss@8.4.38: @@ -25512,7 +25261,7 @@ packages: engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dev: true - /progress-webpack-plugin@1.0.16(webpack@5.74.0): + /progress-webpack-plugin@1.0.16(webpack@5.90.3): resolution: {integrity: sha512-sdiHuuKOzELcBANHfrupYo+r99iPRyOnw15qX+rNlVUqXGfjXdH4IgxriKwG1kNJwVswKQHMdj1hYZMcb9jFaA==} engines: {node: '>= 10.13.0'} peerDependencies: @@ -25521,7 +25270,7 @@ packages: chalk: 2.4.2 figures: 2.0.0 log-update: 2.3.0 - webpack: 5.74.0 + webpack: 5.90.3(webpack-cli@4.10.0) dev: true /progress@1.1.8: @@ -26719,7 +26468,7 @@ packages: dependencies: neo-async: 2.6.2 sass: 1.71.1 - webpack: 5.90.3(esbuild@0.20.1) + webpack: 5.90.3(webpack-cli@4.10.0) dev: true /sass@1.71.1: @@ -26729,7 +26478,7 @@ packages: dependencies: chokidar: 3.6.0 immutable: 4.1.0 - source-map-js: 1.2.0 + source-map-js: 1.2.1 dev: true /sass@1.77.0: @@ -26780,15 +26529,6 @@ packages: ajv-keywords: 3.5.2(ajv@6.12.6) dev: true - /schema-utils@3.1.1: - resolution: {integrity: sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==} - engines: {node: '>= 10.13.0'} - dependencies: - '@types/json-schema': 7.0.15 - ajv: 6.12.6 - ajv-keywords: 3.5.2(ajv@6.12.6) - dev: true - /schema-utils@3.3.0: resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==} engines: {node: '>= 10.13.0'} @@ -26953,12 +26693,6 @@ packages: randombytes: 2.1.0 dev: true - /serialize-javascript@6.0.0: - resolution: {integrity: sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==} - dependencies: - randombytes: 2.1.0 - dev: true - /serialize-javascript@6.0.2: resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} dependencies: @@ -27400,21 +27134,11 @@ packages: is-plain-obj: 1.1.0 dev: true - /source-map-js@1.0.2: - resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} - engines: {node: '>=0.10.0'} - dev: true - - /source-map-js@1.2.0: - resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} - engines: {node: '>=0.10.0'} - dev: true - /source-map-js@1.2.1: resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} engines: {node: '>=0.10.0'} - /source-map-loader@3.0.1(webpack@5.75.0): + /source-map-loader@3.0.1(webpack@5.90.3): resolution: {integrity: sha512-Vp1UsfyPvgujKQzi4pyDiTOnE3E4H+yHvkVRN3c/9PJmQS4CQJExvcDvaX/D+RV+xQben9HJ56jMJS3CgUeWyA==} engines: {node: '>= 12.13.0'} peerDependencies: @@ -27422,8 +27146,8 @@ packages: dependencies: abab: 2.0.6 iconv-lite: 0.6.3 - source-map-js: 1.0.2 - webpack: 5.75.0(webpack-cli@4.10.0) + source-map-js: 1.2.1 + webpack: 5.90.3(webpack-cli@4.10.0) dev: true /source-map-loader@5.0.0(webpack@5.90.3): @@ -27433,8 +27157,8 @@ packages: webpack: ^5.72.1 dependencies: iconv-lite: 0.6.3 - source-map-js: 1.2.0 - webpack: 5.90.3(esbuild@0.20.1) + source-map-js: 1.2.1 + webpack: 5.90.3(webpack-cli@4.10.0) dev: true /source-map-resolve@0.5.3: @@ -27926,7 +27650,7 @@ packages: peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.23.0 + browserslist: 4.24.3 postcss: 8.4.28 postcss-selector-parser: 6.1.2 dev: true @@ -27937,7 +27661,7 @@ packages: peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.23.0 + browserslist: 4.24.3 postcss: 8.4.47 postcss-selector-parser: 6.1.2 dev: true @@ -28275,10 +27999,10 @@ packages: schema-utils: 3.3.0 serialize-javascript: 6.0.2 terser: 5.29.1 - webpack: 5.90.3(esbuild@0.20.1) + webpack: 5.90.3(webpack-cli@4.10.0) dev: true - /terser-webpack-plugin@5.3.6(webpack@5.74.0): + /terser-webpack-plugin@5.3.6(webpack@5.90.3): resolution: {integrity: sha512-kfLFk+PoLUQIbLmB1+PZDMRSZS99Mp+/MHqDNmMA6tOItzRt+Npe3E+fsMs5mfcM0wCtrrdU387UnV+vnSffXQ==} engines: {node: '>= 10.13.0'} peerDependencies: @@ -28296,34 +28020,10 @@ packages: dependencies: '@jridgewell/trace-mapping': 0.3.25 jest-worker: 27.5.1 - schema-utils: 3.1.1 - serialize-javascript: 6.0.2 - terser: 5.27.2 - webpack: 5.74.0 - dev: true - - /terser-webpack-plugin@5.3.6(webpack@5.75.0): - resolution: {integrity: sha512-kfLFk+PoLUQIbLmB1+PZDMRSZS99Mp+/MHqDNmMA6tOItzRt+Npe3E+fsMs5mfcM0wCtrrdU387UnV+vnSffXQ==} - engines: {node: '>= 10.13.0'} - peerDependencies: - '@swc/core': '*' - esbuild: '*' - uglify-js: '*' - webpack: ^5.1.0 - peerDependenciesMeta: - '@swc/core': - optional: true - esbuild: - optional: true - uglify-js: - optional: true - dependencies: - '@jridgewell/trace-mapping': 0.3.25 - jest-worker: 27.5.1 - schema-utils: 3.1.1 + schema-utils: 3.3.0 serialize-javascript: 6.0.2 terser: 5.27.2 - webpack: 5.75.0(webpack-cli@4.10.0) + webpack: 5.90.3(webpack-cli@4.10.0) dev: true /terser@5.27.2: @@ -28377,7 +28077,7 @@ packages: any-promise: 1.3.0 dev: true - /thread-loader@3.0.4(webpack@5.74.0): + /thread-loader@3.0.4(webpack@5.90.3): resolution: {integrity: sha512-ByaL2TPb+m6yArpqQUZvP+5S1mZtXsEP7nWKKlAUTm7fCml8kB5s1uI3+eHRP2bk5mVYfRSBI7FFf+tWEyLZwA==} engines: {node: '>= 10.13.0'} peerDependencies: @@ -28387,8 +28087,8 @@ packages: loader-runner: 4.3.0 loader-utils: 2.0.4 neo-async: 2.6.2 - schema-utils: 3.1.1 - webpack: 5.74.0 + schema-utils: 3.3.0 + webpack: 5.90.3(webpack-cli@4.10.0) dev: true /thread-stream@3.1.0: @@ -29388,17 +29088,6 @@ packages: engines: {node: '>=4'} dev: true - /update-browserslist-db@1.0.10(browserslist@4.21.5): - resolution: {integrity: sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==} - hasBin: true - peerDependencies: - browserslist: '>= 4.21.0' - dependencies: - browserslist: 4.21.5 - escalade: 3.1.1 - picocolors: 1.1.1 - dev: true - /update-browserslist-db@1.0.13(browserslist@4.21.4): resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} hasBin: true @@ -29420,16 +29109,6 @@ packages: escalade: 3.1.1 picocolors: 1.1.1 - /update-browserslist-db@1.1.1(browserslist@4.24.0): - resolution: {integrity: sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==} - hasBin: true - peerDependencies: - browserslist: '>= 4.21.0' - dependencies: - browserslist: 4.24.0 - escalade: 3.2.0 - picocolors: 1.1.1 - /update-browserslist-db@1.1.1(browserslist@4.24.3): resolution: {integrity: sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==} hasBin: true @@ -30039,7 +29718,7 @@ packages: resolution: {integrity: sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog==} dev: true - /vue-loader@15.11.1(css-loader@6.7.1)(nunjucks@3.2.3)(prettier@3.2.5)(vue-template-compiler@2.7.14)(webpack@5.74.0): + /vue-loader@15.11.1(css-loader@6.7.1)(nunjucks@3.2.3)(prettier@3.2.5)(vue-template-compiler@2.7.14)(webpack@5.90.3): resolution: {integrity: sha512-0iw4VchYLePqJfJu9s62ACWUXeSqM30SQqlIftbYWM3C+jpPcEHKSPUZBLjSF9au4HTHQ/naF6OGnO3Q/qGR3Q==} peerDependencies: '@vue/compiler-sfc': ^3.0.8 @@ -30059,14 +29738,14 @@ packages: optional: true dependencies: '@vue/component-compiler-utils': 3.3.0(nunjucks@3.2.3) - css-loader: 6.7.1(webpack@5.74.0) + css-loader: 6.7.1(webpack@5.90.3) hash-sum: 1.0.2 loader-utils: 1.4.2 prettier: 3.2.5 vue-hot-reload-api: 2.3.4 vue-style-loader: 4.1.3 vue-template-compiler: 2.7.14 - webpack: 5.74.0 + webpack: 5.90.3(webpack-cli@4.10.0) transitivePeerDependencies: - arc-templates - atpl @@ -30123,7 +29802,7 @@ packages: - whiskers dev: true - /vue-loader@17.0.0(webpack@5.74.0): + /vue-loader@17.0.0(webpack@5.90.3): resolution: {integrity: sha512-OWSXjrzIvbF2LtOUmxT3HYgwwubbfFelN8PAP9R9dwpIkj48TVioHhWWSx7W7fk+iF5cgg3CBJRxwTdtLU4Ecg==} peerDependencies: webpack: ^4.1.0 || ^5.0.0-0 @@ -30131,7 +29810,7 @@ packages: chalk: 4.1.2 hash-sum: 2.0.0 loader-utils: 2.0.4 - webpack: 5.74.0 + webpack: 5.90.3(webpack-cli@4.10.0) dev: true /vue-style-loader@4.1.3: @@ -30250,7 +29929,7 @@ packages: engines: {node: '>= 10.13.0'} hasBin: true dependencies: - acorn: 8.8.0 + acorn: 8.14.0 acorn-walk: 8.2.0 chalk: 4.1.2 commander: 7.2.0 @@ -30272,7 +29951,7 @@ packages: javascript-stringify: 2.1.0 dev: true - /webpack-cli@4.10.0(webpack@5.75.0): + /webpack-cli@4.10.0(webpack@5.90.3): resolution: {integrity: sha512-NLhDfH/h4O6UOy+0LSso42xvYypClINuMNBVVzX4vX98TmTaTUxwRbXdhucbFMd2qLaCTcLq/PdYrvi8onw90w==} engines: {node: '>=10.13.0'} hasBin: true @@ -30293,32 +29972,18 @@ packages: optional: true dependencies: '@discoveryjs/json-ext': 0.5.7 - '@webpack-cli/configtest': 1.2.0(webpack-cli@4.10.0)(webpack@5.75.0) + '@webpack-cli/configtest': 1.2.0(webpack-cli@4.10.0)(webpack@5.90.3) '@webpack-cli/info': 1.5.0(webpack-cli@4.10.0) '@webpack-cli/serve': 1.7.0(webpack-cli@4.10.0) colorette: 2.0.19 commander: 7.2.0 cross-spawn: 7.0.3 fastest-levenshtein: 1.0.16 - import-local: 3.1.0 + import-local: 3.2.0 interpret: 2.2.0 rechoir: 0.7.1 - webpack: 5.75.0(webpack-cli@4.10.0) - webpack-merge: 5.8.0 - dev: true - - /webpack-dev-middleware@5.3.3(webpack@5.74.0): - resolution: {integrity: sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==} - engines: {node: '>= 12.13.0'} - peerDependencies: - webpack: ^4.0.0 || ^5.0.0 - dependencies: - colorette: 2.0.19 - memfs: 3.4.7 - mime-types: 2.1.35 - range-parser: 1.2.1 - schema-utils: 4.0.0 - webpack: 5.74.0 + webpack: 5.90.3(webpack-cli@4.10.0) + webpack-merge: 5.10.0 dev: true /webpack-dev-middleware@5.3.3(webpack@5.90.3): @@ -30332,7 +29997,7 @@ packages: mime-types: 2.1.35 range-parser: 1.2.1 schema-utils: 4.0.0 - webpack: 5.90.3(esbuild@0.20.1) + webpack: 5.90.3(webpack-cli@4.10.0) dev: true /webpack-dev-middleware@6.1.2(webpack@5.90.3): @@ -30349,10 +30014,10 @@ packages: mime-types: 2.1.35 range-parser: 1.2.1 schema-utils: 4.0.0 - webpack: 5.90.3(esbuild@0.20.1) + webpack: 5.90.3(webpack-cli@4.10.0) dev: true - /webpack-dev-server@4.11.1(debug@4.3.4)(webpack@5.74.0): + /webpack-dev-server@4.11.1(debug@4.3.4)(webpack@5.90.3): resolution: {integrity: sha512-lILVz9tAUy1zGFwieuaQtYiadImb5M3d+H+L1zDYalYoDl0cksAB1UNyuE5MMWJrG6zR1tXkCP2fitl7yoUJiw==} engines: {node: '>= 12.13.0'} hasBin: true @@ -30390,8 +30055,8 @@ packages: serve-index: 1.9.1 sockjs: 0.3.24 spdy: 4.0.2 - webpack: 5.74.0 - webpack-dev-middleware: 5.3.3(webpack@5.74.0) + webpack: 5.90.3(webpack-cli@4.10.0) + webpack-dev-middleware: 5.3.3(webpack@5.90.3) ws: 8.9.0 transitivePeerDependencies: - bufferutil @@ -30441,7 +30106,7 @@ packages: serve-index: 1.9.1 sockjs: 0.3.24 spdy: 4.0.2 - webpack: 5.90.3(esbuild@0.20.1) + webpack: 5.90.3(webpack-cli@4.10.0) webpack-dev-middleware: 5.3.3(webpack@5.90.3) ws: 8.16.0 transitivePeerDependencies: @@ -30484,95 +30149,14 @@ packages: optional: true dependencies: typed-assert: 1.0.9 - webpack: 5.90.3(esbuild@0.20.1) + webpack: 5.90.3(webpack-cli@4.10.0) dev: true /webpack-virtual-modules@0.4.5: resolution: {integrity: sha512-8bWq0Iluiv9lVf9YaqWQ9+liNgXSHICm+rg544yRgGYaR8yXZTVBaHZkINZSB2yZSWo4b0F6MIxqJezVfOEAlg==} dev: true - /webpack@5.74.0: - resolution: {integrity: sha512-A2InDwnhhGN4LYctJj6M1JEaGL7Luj6LOmyBHjcI8529cm5p6VXiTIW2sn6ffvEAKmveLzvu4jrihwXtPojlAA==} - engines: {node: '>=10.13.0'} - hasBin: true - peerDependencies: - webpack-cli: '*' - peerDependenciesMeta: - webpack-cli: - optional: true - dependencies: - '@types/eslint-scope': 3.7.4 - '@types/estree': 0.0.51 - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/wasm-edit': 1.11.1 - '@webassemblyjs/wasm-parser': 1.11.1 - acorn: 8.14.0 - acorn-import-assertions: 1.8.0(acorn@8.14.0) - browserslist: 4.23.0 - chrome-trace-event: 1.0.3 - enhanced-resolve: 5.15.0 - es-module-lexer: 0.9.3 - eslint-scope: 5.1.1 - events: 3.3.0 - glob-to-regexp: 0.4.1 - graceful-fs: 4.2.11 - json-parse-even-better-errors: 2.3.1 - loader-runner: 4.3.0 - mime-types: 2.1.35 - neo-async: 2.6.2 - schema-utils: 3.1.1 - tapable: 2.2.1 - terser-webpack-plugin: 5.3.6(webpack@5.74.0) - watchpack: 2.4.0 - webpack-sources: 3.2.3 - transitivePeerDependencies: - - '@swc/core' - - esbuild - - uglify-js - dev: true - - /webpack@5.75.0(webpack-cli@4.10.0): - resolution: {integrity: sha512-piaIaoVJlqMsPtX/+3KTTO6jfvrSYgauFVdt8cr9LTHKmcq/AMd4mhzsiP7ZF/PGRNPGA8336jldh9l2Kt2ogQ==} - engines: {node: '>=10.13.0'} - hasBin: true - peerDependencies: - webpack-cli: '*' - peerDependenciesMeta: - webpack-cli: - optional: true - dependencies: - '@types/eslint-scope': 3.7.4 - '@types/estree': 0.0.51 - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/wasm-edit': 1.11.1 - '@webassemblyjs/wasm-parser': 1.11.1 - acorn: 8.8.2 - acorn-import-assertions: 1.8.0(acorn@8.8.2) - browserslist: 4.21.5 - chrome-trace-event: 1.0.3 - enhanced-resolve: 5.12.0 - es-module-lexer: 0.9.3 - eslint-scope: 5.1.1 - events: 3.3.0 - glob-to-regexp: 0.4.1 - graceful-fs: 4.2.10 - json-parse-even-better-errors: 2.3.1 - loader-runner: 4.3.0 - mime-types: 2.1.35 - neo-async: 2.6.2 - schema-utils: 3.1.1 - tapable: 2.2.1 - terser-webpack-plugin: 5.3.6(webpack@5.75.0) - watchpack: 2.4.0 - webpack-cli: 4.10.0(webpack@5.75.0) - webpack-sources: 3.2.3 - transitivePeerDependencies: - - '@swc/core' - - esbuild - - uglify-js - dev: true - - /webpack@5.90.3(esbuild@0.20.1): + /webpack@5.90.3(webpack-cli@4.10.0): resolution: {integrity: sha512-h6uDYlWCctQRuXBs1oYpVe6sFcWedl0dpcVaTf/YF67J9bKvwJajFulMVSYKHrksMB3I/pIagRzDxwxkebuzKA==} engines: {node: '>=10.13.0'} hasBin: true @@ -30587,9 +30171,9 @@ packages: '@webassemblyjs/ast': 1.12.1 '@webassemblyjs/wasm-edit': 1.12.1 '@webassemblyjs/wasm-parser': 1.12.1 - acorn: 8.12.1 - acorn-import-assertions: 1.9.0(acorn@8.12.1) - browserslist: 4.23.0 + acorn: 8.14.0 + acorn-import-assertions: 1.9.0(acorn@8.14.0) + browserslist: 4.24.3 chrome-trace-event: 1.0.3 enhanced-resolve: 5.15.0 es-module-lexer: 1.5.2 @@ -30605,6 +30189,7 @@ packages: tapable: 2.2.1 terser-webpack-plugin: 5.3.10(esbuild@0.20.1)(webpack@5.90.3) watchpack: 2.4.0 + webpack-cli: 4.10.0(webpack@5.90.3) webpack-sources: 3.2.3 transitivePeerDependencies: - '@swc/core' diff --git a/scripts/e2eRunner/config.ts b/scripts/e2eRunner/config.ts index ac76979c08..dde80a7ca6 100644 --- a/scripts/e2eRunner/config.ts +++ b/scripts/e2eRunner/config.ts @@ -8,6 +8,20 @@ export const config: Config = { }, }, tests: { + // tests of context editing dialog + // directly in web package (not in testapps) + 'web-internal': { + commandLineServices: { + dev: { + command: 'npm run dev -- --port 8114 --host', + cwd: path.resolve(__dirname, '../../packages/web/'), + environment: { + VITE_APP_TOLGEE_API_URL: 'http://localhost:8202', + VITE_APP_TOLGEE_API_KEY: 'examples-admin-imported-project-implicit', + }, + }, + }, + }, react: { commandLineServices: { dev: { @@ -24,11 +38,11 @@ export const config: Config = { }, }, }, - web: { + vanilla: { commandLineServices: { core: { command: 'npm run serve', - cwd: path.resolve(__dirname, '../../testapps/web/'), + cwd: path.resolve(__dirname, '../../testapps/vanilla/'), waitForOutput: 'INFO: Accepting connections', }, }, @@ -53,18 +67,6 @@ export const config: Config = { }, }, }, - 'next-internal': { - commandLineServices: { - dev: { - command: 'npm run dev -- -p 8114', - cwd: path.resolve(__dirname, '../../testapps/next-internal/'), - waitForOutput: 'Ready in ', - environment: { - NEXT_PUBLIC_TOLGEE_API_URL: 'http://localhost:8202', - }, - }, - }, - }, svelte: { commandLineServices: { dev: { diff --git a/testapps/next-internal/.env b/testapps/next-internal/.env deleted file mode 100644 index 8e4341bac5..0000000000 --- a/testapps/next-internal/.env +++ /dev/null @@ -1,2 +0,0 @@ -NEXT_PUBLIC_TOLGEE_API_URL=https://app.tolgee.io -NEXT_PUBLIC_TOLGEE_API_KEY= \ No newline at end of file diff --git a/testapps/next-internal/.gitignore b/testapps/next-internal/.gitignore deleted file mode 100644 index 09ea657c52..0000000000 --- a/testapps/next-internal/.gitignore +++ /dev/null @@ -1,34 +0,0 @@ -# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. - -# dependencies -/node_modules -/.pnp -.pnp.js - -# testing -/coverage - -# next.js -/.next/ -/out/ - -# production -/dist - -# misc -.DS_Store -*.pem - -# debug -npm-debug.log* -yarn-debug.log* -yarn-error.log* - -# local env files -.env.local -.env.development.local -.env.test.local -.env.production.local - -# vercel -.vercel \ No newline at end of file diff --git a/testapps/next-internal/CHANGELOG.md b/testapps/next-internal/CHANGELOG.md deleted file mode 100644 index ea7ebc9339..0000000000 --- a/testapps/next-internal/CHANGELOG.md +++ /dev/null @@ -1,1578 +0,0 @@ -# Change Log - -All notable changes to this project will be documented in this file. -See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. - -## [6.1.1](https://github.com/tolgee/tolgee-js/compare/v6.1.0...v6.1.1) (2025-02-14) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -# [6.1.0](https://github.com/tolgee/tolgee-js/compare/v6.0.1...v6.1.0) (2025-02-13) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -## [6.0.1](https://github.com/tolgee/tolgee-js/compare/v6.0.0...v6.0.1) (2025-01-20) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -# [6.0.0](https://github.com/tolgee/tolgee-js/compare/v5.33.2...v6.0.0) (2025-01-08) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -## [5.33.2](https://github.com/tolgee/tolgee-js/compare/v5.33.1...v5.33.2) (2024-12-18) - - -### Bug Fixes - -* compatibility with next 15 ([#3410](https://github.com/tolgee/tolgee-js/issues/3410)) ([1e0a858](https://github.com/tolgee/tolgee-js/commit/1e0a8582dea1e4f5c178ff5104be5ff7251b98db)) - - - - - -## [5.33.1](https://github.com/tolgee/tolgee-js/compare/v5.33.0...v5.33.1) (2024-12-13) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -# [5.33.0](https://github.com/tolgee/tolgee-js/compare/v5.32.0...v5.33.0) (2024-12-13) - - -### Features - -* relative urls and support react 19 ([#3407](https://github.com/tolgee/tolgee-js/issues/3407)) ([c018ef2](https://github.com/tolgee/tolgee-js/commit/c018ef2669bfca32208a8307b5b6521b50d0a15c)), closes [#3405](https://github.com/tolgee/tolgee-js/issues/3405) - - - - - -# [5.32.0](https://github.com/tolgee/tolgee-js/compare/v5.31.5...v5.32.0) (2024-11-21) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -## [5.31.5](https://github.com/tolgee/tolgee-js/compare/v5.31.4...v5.31.5) (2024-11-18) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -## [5.31.4](https://github.com/tolgee/tolgee-js/compare/v5.31.3...v5.31.4) (2024-11-12) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -## [5.31.3](https://github.com/tolgee/tolgee-js/compare/v5.31.2...v5.31.3) (2024-11-07) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -## [5.31.2](https://github.com/tolgee/tolgee-js/compare/v5.31.1...v5.31.2) (2024-11-05) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -## [5.31.1](https://github.com/tolgee/tolgee-js/compare/v5.31.0...v5.31.1) (2024-11-01) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -# [5.31.0](https://github.com/tolgee/tolgee-js/compare/v5.30.1...v5.31.0) (2024-11-01) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -## [5.30.1](https://github.com/tolgee/tolgee-js/compare/v5.30.0...v5.30.1) (2024-11-01) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -# [5.30.0](https://github.com/tolgee/tolgee-js/compare/v5.29.5...v5.30.0) (2024-10-30) - - -### Features - -* simplify next-js integration ([#3391](https://github.com/tolgee/tolgee-js/issues/3391)) ([38f3acb](https://github.com/tolgee/tolgee-js/commit/38f3acbd85bbffe24fef6c27698ce3b1bc89d49f)) - - - - - -## [5.29.5](https://github.com/tolgee/tolgee-js/compare/v5.29.4...v5.29.5) (2024-10-15) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -## [5.29.4](https://github.com/tolgee/tolgee-js/compare/v5.29.3...v5.29.4) (2024-10-09) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -## [5.29.3](https://github.com/tolgee/tolgee-js/compare/v5.29.2...v5.29.3) (2024-10-07) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -## [5.29.2](https://github.com/tolgee/tolgee-js/compare/v5.29.1...v5.29.2) (2024-10-07) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -## [5.29.1](https://github.com/tolgee/tolgee-js/compare/v5.29.0...v5.29.1) (2024-09-23) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -# [5.29.0](https://github.com/tolgee/tolgee-js/compare/v5.28.7...v5.29.0) (2024-09-23) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -## [5.28.7](https://github.com/tolgee/tolgee-js/compare/v5.28.6...v5.28.7) (2024-09-20) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -## [5.28.6](https://github.com/tolgee/tolgee-js/compare/v5.28.5...v5.28.6) (2024-07-12) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -## [5.28.5](https://github.com/tolgee/tolgee-js/compare/v5.28.4...v5.28.5) (2024-07-04) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -## [5.28.4](https://github.com/tolgee/tolgee-js/compare/v5.28.3...v5.28.4) (2024-06-26) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -## [5.28.3](https://github.com/tolgee/tolgee-js/compare/v5.28.2...v5.28.3) (2024-06-25) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -## [5.28.2](https://github.com/tolgee/tolgee-js/compare/v5.28.1...v5.28.2) (2024-06-20) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -## [5.28.1](https://github.com/tolgee/tolgee-js/compare/v5.28.0...v5.28.1) (2024-06-13) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -# [5.28.0](https://github.com/tolgee/tolgee-js/compare/v5.27.1...v5.28.0) (2024-06-03) - - -### Features - -* update next-intl support ([#3342](https://github.com/tolgee/tolgee-js/issues/3342)) ([99c2190](https://github.com/tolgee/tolgee-js/commit/99c21902d0dedb952789ae5ed0533682fcb62981)) - - - - - -## [5.27.1](https://github.com/tolgee/tolgee-js/compare/v5.27.0...v5.27.1) (2024-06-01) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -# [5.27.0](https://github.com/tolgee/tolgee-js/compare/v5.26.0...v5.27.0) (2024-05-30) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -# [5.26.0](https://github.com/tolgee/tolgee-js/compare/v5.25.0...v5.26.0) (2024-05-07) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -# [5.25.0](https://github.com/tolgee/tolgee-js/compare/v5.24.1...v5.25.0) (2024-04-29) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -## [5.24.1](https://github.com/tolgee/tolgee-js/compare/v5.24.0...v5.24.1) (2024-04-18) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -# [5.24.0](https://github.com/tolgee/tolgee-js/compare/v5.23.3...v5.24.0) (2024-04-15) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -## [5.23.3](https://github.com/tolgee/tolgee-js/compare/v5.23.2...v5.23.3) (2024-04-11) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -## [5.23.2](https://github.com/tolgee/tolgee-js/compare/v5.23.1...v5.23.2) (2024-04-10) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -## [5.23.1](https://github.com/tolgee/tolgee-js/compare/v5.23.0...v5.23.1) (2024-04-09) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -# [5.23.0](https://github.com/tolgee/tolgee-js/compare/v5.22.0...v5.23.0) (2024-04-05) - - -### Features - -* improve web package and migrate to vite ([#3322](https://github.com/tolgee/tolgee-js/issues/3322)) ([a25f7b3](https://github.com/tolgee/tolgee-js/commit/a25f7b31f74bd1692d15f2127a9b4e3f4ecb2b0b)) - - - - - -# [5.22.0](https://github.com/tolgee/tolgee-js/compare/v5.21.0...v5.22.0) (2024-03-19) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -# [5.21.0](https://github.com/tolgee/tolgee-js/compare/v5.20.3...v5.21.0) (2024-03-14) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -## [5.20.3](https://github.com/tolgee/tolgee-js/compare/v5.20.2...v5.20.3) (2024-03-12) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -## [5.20.2](https://github.com/tolgee/tolgee-js/compare/v5.20.1...v5.20.2) (2024-03-12) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -## [5.20.1](https://github.com/tolgee/tolgee-js/compare/v5.20.0...v5.20.1) (2024-03-07) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -# [5.20.0](https://github.com/tolgee/tolgee-js/compare/v5.19.6...v5.20.0) (2024-03-06) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -## [5.19.6](https://github.com/tolgee/tolgee-js/compare/v5.19.5...v5.19.6) (2024-02-08) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -## [5.19.5](https://github.com/tolgee/tolgee-js/compare/v5.19.4...v5.19.5) (2024-01-31) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -## [5.19.4](https://github.com/tolgee/tolgee-js/compare/v5.19.3...v5.19.4) (2024-01-31) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -## [5.19.3](https://github.com/tolgee/tolgee-js/compare/v5.19.2...v5.19.3) (2024-01-23) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -## [5.19.2](https://github.com/tolgee/tolgee-js/compare/v5.19.1...v5.19.2) (2024-01-18) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -## [5.19.1](https://github.com/tolgee/tolgee-js/compare/v5.19.0...v5.19.1) (2024-01-16) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -# [5.19.0](https://github.com/tolgee/tolgee-js/compare/v5.18.0...v5.19.0) (2023-12-22) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -# [5.18.0](https://github.com/tolgee/tolgee-js/compare/v5.17.0...v5.18.0) (2023-12-13) - - -### Features - -* add state editing in-context ([#3286](https://github.com/tolgee/tolgee-js/issues/3286)) ([a5fb570](https://github.com/tolgee/tolgee-js/commit/a5fb57080a3fd11f997fb95fc1c729ac0925cd51)) - - - - - -# [5.17.0](https://github.com/tolgee/tolgee-js/compare/v5.16.3...v5.17.0) (2023-12-06) - - -### Features - -* improve next 14 support ([#3287](https://github.com/tolgee/tolgee-js/issues/3287)) ([5a95ae6](https://github.com/tolgee/tolgee-js/commit/5a95ae672bb43a4ce385e32605079c892999c2c9)) - - - - - -## [5.16.3](https://github.com/tolgee/tolgee-js/compare/v5.16.2...v5.16.3) (2023-11-24) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -## [5.16.2](https://github.com/tolgee/tolgee-js/compare/v5.16.1...v5.16.2) (2023-11-13) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -## [5.16.1](https://github.com/tolgee/tolgee-js/compare/v5.16.0...v5.16.1) (2023-11-13) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -# [5.16.0](https://github.com/tolgee/tolgee-js/compare/v5.15.0...v5.16.0) (2023-11-04) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -# [5.15.0](https://github.com/tolgee/tolgee-js/compare/v5.14.0...v5.15.0) (2023-11-02) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -# [5.14.0](https://github.com/tolgee/tolgee-js/compare/v5.13.3...v5.14.0) (2023-10-27) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -## [5.13.3](https://github.com/tolgee/tolgee-js/compare/v5.13.2...v5.13.3) (2023-10-23) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -## [5.13.2](https://github.com/tolgee/tolgee-js/compare/v5.13.1...v5.13.2) (2023-10-20) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -## [5.13.1](https://github.com/tolgee/tolgee-js/compare/v5.13.0...v5.13.1) (2023-10-16) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -# [5.13.0](https://github.com/tolgee/tolgee-js/compare/v5.12.0...v5.13.0) (2023-10-13) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -# [5.12.0](https://github.com/tolgee/tolgee-js/compare/v5.11.5...v5.12.0) (2023-09-11) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -## [5.11.5](https://github.com/tolgee/tolgee-js/compare/v5.11.4...v5.11.5) (2023-09-11) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -## [5.11.4](https://github.com/tolgee/tolgee-js/compare/v5.11.3...v5.11.4) (2023-08-31) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -## [5.11.3](https://github.com/tolgee/tolgee-js/compare/v5.11.2...v5.11.3) (2023-08-31) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -## [5.11.2](https://github.com/tolgee/tolgee-js/compare/v5.11.1...v5.11.2) (2023-08-31) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -## [5.11.1](https://github.com/tolgee/tolgee-js/compare/v5.11.0...v5.11.1) (2023-08-23) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -# [5.11.0](https://github.com/tolgee/tolgee-js/compare/v5.10.2...v5.11.0) (2023-08-11) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -## [5.10.2](https://github.com/tolgee/tolgee-js/compare/v5.10.1...v5.10.2) (2023-07-27) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -## [5.10.1](https://github.com/tolgee/tolgee-js/compare/v5.10.0...v5.10.1) (2023-07-12) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -# [5.10.0](https://github.com/tolgee/tolgee-js/compare/v5.9.12...v5.10.0) (2023-07-12) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -## [5.9.12](https://github.com/tolgee/tolgee-js/compare/v5.9.11...v5.9.12) (2023-07-03) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -## [5.9.11](https://github.com/tolgee/tolgee-js/compare/v5.9.10...v5.9.11) (2023-07-03) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -## [5.9.10](https://github.com/tolgee/tolgee-js/compare/v5.9.9...v5.9.10) (2023-07-03) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -## [5.9.9](https://github.com/tolgee/tolgee-js/compare/v5.9.8...v5.9.9) (2023-07-03) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -## [5.9.8](https://github.com/tolgee/tolgee-js/compare/v5.9.7...v5.9.8) (2023-07-03) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -## [5.9.7](https://github.com/tolgee/tolgee-js/compare/v5.9.6...v5.9.7) (2023-07-03) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -## [5.9.6](https://github.com/tolgee/tolgee-js/compare/v5.9.5...v5.9.6) (2023-07-03) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -## [5.9.5](https://github.com/tolgee/tolgee-js/compare/v5.9.4...v5.9.5) (2023-07-03) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -## [5.9.4](https://github.com/tolgee/tolgee-js/compare/v5.9.3...v5.9.4) (2023-07-03) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -## [5.9.3](https://github.com/tolgee/tolgee-js/compare/v5.9.2...v5.9.3) (2023-07-03) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -## [5.9.1](https://github.com/tolgee/tolgee-js/compare/v5.9.0...v5.9.1) (2023-06-28) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -# [5.9.0](https://github.com/tolgee/tolgee-js/compare/v5.8.7...v5.9.0) (2023-06-20) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -## [5.8.6](https://github.com/tolgee/tolgee-js/compare/v5.8.5...v5.8.6) (2023-05-24) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -## [5.8.5](https://github.com/tolgee/tolgee-js/compare/v5.8.4...v5.8.5) (2023-05-24) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -## [5.8.4](https://github.com/tolgee/tolgee-js/compare/v5.8.3...v5.8.4) (2023-05-16) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -## [5.8.3](https://github.com/tolgee/tolgee-js/compare/v5.8.2...v5.8.3) (2023-04-19) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -## [5.8.2](https://github.com/tolgee/tolgee-js/compare/v5.8.1...v5.8.2) (2023-04-14) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -## [5.8.1](https://github.com/tolgee/tolgee-js/compare/v5.8.0...v5.8.1) (2023-04-13) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -# [5.8.0](https://github.com/tolgee/tolgee-js/compare/v5.7.3...v5.8.0) (2023-04-12) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -## [5.7.3](https://github.com/tolgee/tolgee-js/compare/v5.7.2...v5.7.3) (2023-04-11) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -## [5.7.2](https://github.com/tolgee/tolgee-js/compare/v5.7.1...v5.7.2) (2023-04-04) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -# [5.7.0](https://github.com/tolgee/tolgee-js/compare/v5.6.1...v5.7.0) (2023-04-03) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -## [5.6.1](https://github.com/tolgee/tolgee-js/compare/v5.6.0...v5.6.1) (2023-03-29) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -# [5.6.0](https://github.com/tolgee/tolgee-js/compare/v5.5.4...v5.6.0) (2023-03-22) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -## [5.5.4](https://github.com/tolgee/tolgee-js/compare/v5.5.3...v5.5.4) (2023-03-20) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -## [5.5.3](https://github.com/tolgee/tolgee-js/compare/v5.5.2...v5.5.3) (2023-03-17) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -## [5.5.2](https://github.com/tolgee/tolgee-js/compare/v5.5.1...v5.5.2) (2023-03-13) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -# [5.5.0](https://github.com/tolgee/tolgee-js/compare/v5.4.4...v5.5.0) (2023-03-10) - - -### Features - -* add useTolgeeSSR for compatibility with react 18 and next.js 13 ([#3173](https://github.com/tolgee/tolgee-js/issues/3173)) ([6ee87db](https://github.com/tolgee/tolgee-js/commit/6ee87db17801f7788aafd441dd198e529bafb522)) - - - - - -## [5.4.4](https://github.com/tolgee/tolgee-js/compare/v5.4.3...v5.4.4) (2023-03-09) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -## [5.4.3](https://github.com/tolgee/tolgee-js/compare/v5.4.2...v5.4.3) (2023-03-04) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -## [5.4.2](https://github.com/tolgee/tolgee-js/compare/v5.4.1...v5.4.2) (2023-02-27) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -## [5.4.1](https://github.com/tolgee/tolgee-js/compare/v5.4.0...v5.4.1) (2023-02-24) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -# [5.4.0](https://github.com/tolgee/tolgee-js/compare/v5.3.2...v5.4.0) (2023-02-22) - - -### Features - -* observer works inside shadowDom ([#3163](https://github.com/tolgee/tolgee-js/issues/3163)) ([b9d61c4](https://github.com/tolgee/tolgee-js/commit/b9d61c469637b2564c3a23494bdae119f2e325c9)) - - - - - -## [5.3.1](https://github.com/tolgee/tolgee-js/compare/v5.3.0...v5.3.1) (2023-02-20) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -# [5.3.0](https://github.com/tolgee/tolgee-js/compare/v5.2.1...v5.3.0) (2023-02-10) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -## [5.2.1](https://github.com/tolgee/tolgee-js/compare/v5.2.0...v5.2.1) (2023-02-07) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -# [5.2.0](https://github.com/tolgee/tolgee-js/compare/v5.1.0...v5.2.0) (2023-01-31) - - -### Features - -* DevTools correctly ommitted at production ([#3148](https://github.com/tolgee/tolgee-js/issues/3148)) ([5be6fd7](https://github.com/tolgee/tolgee-js/commit/5be6fd7a08d3f7d82edaed0e3ddcf4a858c6c3c5)) - - - - - -# [5.1.0](https://github.com/tolgee/tolgee-js/compare/v5.0.2...v5.1.0) (2023-01-27) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -## [5.0.1](https://github.com/tolgee/tolgee-js/compare/v5.0.0...v5.0.1) (2023-01-17) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -# [5.0.0](https://github.com/tolgee/tolgee-js/compare/v5.0.0-alpha.3...v5.0.0) (2023-01-11) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -# [5.0.0-alpha.3](https://github.com/tolgee/tolgee-js/compare/v4.9.3...v5.0.0-alpha.3) (2023-01-11) - - -* feat!: Complete redesign, namespaces support, refactor (#3109) ([1978b91](https://github.com/tolgee/tolgee-js/commit/1978b917dfec2df89f59de4cd10b632920c47e57)), closes [#3109](https://github.com/tolgee/tolgee-js/issues/3109) - - -### BREAKING CHANGES - -* Complete redesign, brand new API - - - - - -# 5.0.0-alpha.2 (2023-01-09) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -# 5.0.0-alpha.1 (2022-11-29) - - -### Bug Fixes - -* xpath evaluate throws error when not executed on Element ([#3123](https://github.com/tolgee/tolgee-js/issues/3123)) ([aa5b7f9](https://github.com/tolgee/tolgee-js/commit/aa5b7f96729de99dfe4aee2a9bd57cd0d3a734f9)) - - - - - -## [4.9.2](https://github.com/tolgee/tolgee-js/compare/v4.9.1...v4.9.2) (2022-09-07) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -## [4.9.1](https://github.com/tolgee/tolgee-js/compare/v4.9.0...v4.9.1) (2022-09-05) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -# [4.9.0](https://github.com/tolgee/tolgee-js/compare/v4.8.6...v4.9.0) (2022-09-03) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -## [4.8.6](https://github.com/tolgee/tolgee-js/compare/v4.8.5...v4.8.6) (2022-09-02) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -## [4.8.5](https://github.com/tolgee/tolgee-js/compare/v4.8.4...v4.8.5) (2022-08-30) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -## [4.8.4](https://github.com/tolgee/tolgee-js/compare/v4.8.3...v4.8.4) (2022-08-29) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -# [4.8.0](https://github.com/tolgee/tolgee-js/compare/v4.7.3...v4.8.0) (2022-08-01) - - -### Features - -* update next.js ([331f80f](https://github.com/tolgee/tolgee-js/commit/331f80f9d16063775754948ce15c6ff21dfee0ba)) - - - - - -## [4.7.3](https://github.com/tolgee/tolgee-js/compare/v4.7.2...v4.7.3) (2022-08-01) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -## [4.7.2](https://github.com/tolgee/tolgee-js/compare/v4.7.1...v4.7.2) (2022-07-04) - - -### Bug Fixes - -* Update svelte versions and fix named imports from @tolgee/core ([5c84e47](https://github.com/tolgee/tolgee-js/commit/5c84e478217f7dc9516e60b9a5d71ddf34ea3166)) - - - - - -# [4.7.0](https://github.com/tolgee/tolgee-js/compare/v4.6.1...v4.7.0) (2022-05-30) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -## [4.6.1](https://github.com/tolgee/tolgee-js/compare/v4.6.0...v4.6.1) (2022-05-25) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -# [4.6.0](https://github.com/tolgee/tolgee-js/compare/v4.5.0...v4.6.0) (2022-05-23) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -# [4.5.0](https://github.com/tolgee/tolgee-js/compare/v4.4.0...v4.5.0) (2022-04-19) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -# [4.4.0](https://github.com/tolgee/tolgee-js/compare/v4.3.0...v4.4.0) (2022-03-29) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -# [4.3.0](https://github.com/tolgee/tolgee-js/compare/v4.2.1...v4.3.0) (2022-03-29) - - -### Features - -* ui is now included automatically ([3fd8146](https://github.com/tolgee/tolgee-js/commit/3fd814688b7553b8f872b62d870ec3d2092d17c6)) - - - - - -## [4.2.1](https://github.com/tolgee/tolgee-js/compare/v4.2.0...v4.2.1) (2022-03-14) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -# [4.2.0](https://github.com/tolgee/tolgee-js/compare/v4.1.1...v4.2.0) (2022-03-11) - - -### Features - -* Quick parameters rename as naming is confusing ([df62d9a](https://github.com/tolgee/tolgee-js/commit/df62d9ac13e3d258c4b7ef24645298a61f887fe3)) - - - - - -## [4.1.1](https://github.com/tolgee/tolgee-js/compare/v4.1.0...v4.1.1) (2022-03-10) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -# [4.1.0](https://github.com/tolgee/tolgee-js/compare/v4.0.0...v4.1.0) (2022-03-10) - - -### Features - -* Allow language detection and localStorage disable ([b8e8f43](https://github.com/tolgee/tolgee-js/commit/b8e8f435bdc36eb1c029d5dbcc71bf09b7c77bb8)) - - - - - -# [4.0.0](https://github.com/tolgee/tolgee-js/compare/v3.6.0...v4.0.0) (2022-03-10) - - -### Features - -* Use invisible wrapping instead of span component ([3848cda](https://github.com/tolgee/tolgee-js/commit/3848cdaf70fe9c76fd56c88d3c7399b87ff0f88b)) - - -### BREAKING CHANGES - -* default invisible mode, defaultValue - - - - - -# [3.6.0](https://github.com/tolgee/tolgee-js/compare/v3.5.0...v3.6.0) (2022-02-28) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -# [3.5.0](https://github.com/tolgee/tolgee-js/compare/v3.4.0...v3.5.0) (2022-02-24) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -# [3.4.0](https://github.com/tolgee/tolgee-js/compare/v3.3.1...v3.4.0) (2022-02-21) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -## [3.3.1](https://github.com/tolgee/tolgee-js/compare/v3.3.0...v3.3.1) (2022-02-15) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -# [3.3.0](https://github.com/tolgee/tolgee-js/compare/v3.2.0...v3.3.0) (2022-02-11) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -# [3.2.0](https://github.com/tolgee/tolgee-js/compare/v3.1.5...v3.2.0) (2022-02-04) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -## [3.1.3](https://github.com/tolgee/tolgee-js/compare/v3.1.2...v3.1.3) (2022-01-13) - -**Note:** Version bump only for package @tolgee/next-internal-testapp - - - - - -## [3.1.2](https://github.com/tolgee/tolgee-js/compare/v3.1.1...v3.1.2) (2021-12-22) - -**Note:** Version bump only for package tolgee-next-internal - - - - - -## [3.1.1](https://github.com/tolgee/tolgee-js/compare/v3.1.0...v3.1.1) (2021-12-22) - -**Note:** Version bump only for package tolgee-next-internal - - - - - -## [3.0.2](https://github.com/tolgee/tolgee-js/compare/v3.0.1...v3.0.2) (2021-12-20) - -**Note:** Version bump only for package tolgee-next-internal - - - - - -## [3.0.1](https://github.com/tolgee/tolgee-js/compare/v3.0.0...v3.0.1) (2021-12-18) - -**Note:** Version bump only for package tolgee-next-internal - - - - - -# [3.0.0](https://github.com/tolgee/tolgee-js/compare/v2.8.2...v3.0.0) (2021-12-17) - -**Note:** Version bump only for package tolgee-next-internal - - - - - -## [2.8.2](https://github.com/tolgee/tolgee-js/compare/v2.8.1...v2.8.2) (2021-12-15) - -**Note:** Version bump only for package tolgee-next-internal - - - - - -## [2.8.1](https://github.com/tolgee/tolgee-js/compare/v2.8.0...v2.8.1) (2021-12-07) - -**Note:** Version bump only for package tolgee-next-internal - - - - - -# [2.8.0](https://github.com/tolgee/tolgee-js/compare/v2.7.0...v2.8.0) (2021-11-25) - -**Note:** Version bump only for package tolgee-next-internal - - - - - -# [2.7.0](https://github.com/tolgee/tolgee-js/compare/v2.6.0...v2.7.0) (2021-11-23) - -**Note:** Version bump only for package tolgee-next-internal - - - - - -## [2.5.3](https://github.com/tolgee/tolgee-js/compare/v2.5.2...v2.5.3) (2021-11-16) - -**Note:** Version bump only for package tolgee-next-internal - - - - - -## [2.5.2](https://github.com/tolgee/tolgee-js/compare/v2.5.1...v2.5.2) (2021-11-16) - -**Note:** Version bump only for package tolgee-next-internal - - - - - -# [2.4.0](https://github.com/tolgee/tolgee-js/compare/v2.3.2...v2.4.0) (2021-11-09) - -**Note:** Version bump only for package tolgee-next-example - - - - - -# [2.3.0](https://github.com/tolgee/tolgee-js/compare/v2.2.0...v2.3.0) (2021-11-04) - -**Note:** Version bump only for package tolgee-next-example - - - - - -# [2.2.0](https://github.com/tolgee/tolgee-js/compare/v2.1.2...v2.2.0) (2021-11-02) - -**Note:** Version bump only for package tolgee-next-example - - - - - -## [2.1.2](https://github.com/tolgee/tolgee-js/compare/v2.1.1...v2.1.2) (2021-10-27) - -**Note:** Version bump only for package tolgee-next-example - - - - - -## [2.1.1](https://github.com/tolgee/tolgee-js/compare/v2.1.0...v2.1.1) (2021-10-26) - -**Note:** Version bump only for package tolgee-next-example - - - - - -# [2.1.0](https://github.com/tolgee/tolgee-js/compare/v2.0.1...v2.1.0) (2021-10-26) - -**Note:** Version bump only for package tolgee-next-example - - - - - -## [2.0.1](https://github.com/tolgee/tolgee-js/compare/v2.0.0...v2.0.1) (2021-10-21) - -**Note:** Version bump only for package tolgee-next-example - - - - - -# [2.0.0](https://github.com/tolgee/tolgee-js/compare/v1.9.0...v2.0.0) (2021-10-20) - -**Note:** Version bump only for package tolgee-next-example - - - - - -# [1.9.0](https://github.com/tolgee/tolgee-js/compare/v1.8.4...v1.9.0) (2021-10-19) - -**Note:** Version bump only for package tolgee-next-example - - - - - -## [1.8.4](https://github.com/tolgee/tolgee-js/compare/v1.8.3...v1.8.4) (2021-10-19) - -**Note:** Version bump only for package tolgee-next-example - - - - - -## [1.8.1](https://github.com/tolgee/tolgee-js/compare/v1.8.0...v1.8.1) (2021-10-14) - - -### Bug Fixes - -* Dependencies add tests TG-324 ([5189e51](https://github.com/tolgee/tolgee-js/commit/5189e51f433904e606cb2374e43a85da3b3b69e9)) - - - - - -# [1.8.0](https://github.com/tolgee/tolgee-js/compare/v1.7.6...v1.8.0) (2021-10-13) - -**Note:** Version bump only for package tolgee-next-example - - - - - -## [1.7.6](https://github.com/tolgee/tolgee-js/compare/v1.7.5...v1.7.6) (2021-10-13) - - -### Bug Fixes - -* **js sdk:** Fix package.json licences TG-355 ([008f2de](https://github.com/tolgee/tolgee-js/commit/008f2deb3edcc29054ecf69d9a32b03d7ef1a212)) - - - - - -## [1.7.5](https://github.com/tolgee/tolgee-js/compare/v1.7.4...v1.7.5) (2021-10-13) - -**Note:** Version bump only for package tolgee-next-example - - - - - -## 1.7.4 (2021-10-06) - -**Note:** Version bump only for package tolgee-next-example - - - - - -## 1.7.3 (2021-10-06) - -**Note:** Version bump only for package tolgee-next-example - - - - - -## 1.7.2 (2021-10-05) - -**Note:** Version bump only for package tolgee-next-example - - - - - -## 1.7.1 (2021-10-05) - -**Note:** Version bump only for package tolgee-next-example - - - - - -# 1.7.0 (2021-10-04) - - -### Features - -* Add method to change translation for screenshot taking ([#496](https://github.com/tolgee/tolgee-js/issues/496)) ([40ddbe9](https://github.com/tolgee/tolgee-js/commit/40ddbe9d4afdd1b0ab2bfa09274d7d3787b86880)) - - - - - -## 1.6.1 (2021-09-30) - - -### Bug Fixes - -* **js sdk:** Dialog position fixed TG-320 ([#452](https://github.com/tolgee/tolgee-js/issues/452)) ([c065951](https://github.com/tolgee/tolgee-js/commit/c065951740fdd2e01e7943256dc04c8eff12b263)) - - - - - -# 1.6.0 (2021-09-30) - - -### Features - -* **js sdk:** Remove key structuring TG-333 ([#451](https://github.com/tolgee/tolgee-js/issues/451)) ([710b148](https://github.com/tolgee/tolgee-js/commit/710b148948913afbbab693b14a86a3995e5645b8)) - - - - - -## 1.5.1 (2021-09-30) - - -### Bug Fixes - -* Fix umd packages TG-340 ([#450](https://github.com/tolgee/tolgee-js/issues/450)) ([dc5f59a](https://github.com/tolgee/tolgee-js/commit/dc5f59a2120a4c118b686330ddeb3107448b82da)) - - - - - -# 1.5.0 (2021-09-30) - - -### Features - -* Enable default value providing TG-335 ([#445](https://github.com/tolgee/tolgee-js/issues/445)) ([cc0d838](https://github.com/tolgee/tolgee-js/commit/cc0d83842ca806775eceffd875514c5408f6ad46)) - - - - - -# 1.4.0 (2021-09-20) - - -### Features - -* Chrome plugin for screenshot generation TG-281 ([70fb2ae](https://github.com/tolgee/tolgee-js/commit/70fb2aec66319fc42870ed216ce7a7b981465b4a)) - - - - - -# 1.3.0 (2021-09-15) - - -### Features - -* **js sdk:** Allow element wrapping & test TG-280 ([#435](https://github.com/tolgee/tolgee-js/issues/435)) ([f47c3ed](https://github.com/tolgee/tolgee-js/commit/f47c3ed92ae2b55da8701d19d5e5d099ed2d3156)) - - - - - -## 1.2.4 (2021-09-15) - - -### Bug Fixes - -* **sdk:** fix default tagAttributes property TG-288 ([#436](https://github.com/tolgee/tolgee-js/issues/436)) ([db19266](https://github.com/tolgee/tolgee-js/commit/db192665ed9409e39a2ff65cffd720e41265eefd)) - - - - - -## 1.2.3 (2021-09-15) - - -### Bug Fixes - -* **js sdk:** Fix angular commonJs warnings TG-276 ([#437](https://github.com/tolgee/tolgee-js/issues/437)) ([84eadc0](https://github.com/tolgee/tolgee-js/commit/84eadc04f5040e2cd39dbb536fcb74c22b9236d4)) - - - - - -## 1.2.2 (2021-09-10) - -**Note:** Version bump only for package tolgee-next-example - - - - - -## 1.2.1 (2021-09-10) - - -### Bug Fixes - -* **js sdk:** Improve SSR stability TG-275 ([#429](https://github.com/tolgee/tolgee-js/issues/429)) ([220f6ed](https://github.com/tolgee/tolgee-js/commit/220f6edea5de9fd5395d903bc19ac4c1d099353d)) diff --git a/testapps/next-internal/component/LanguageSwitcher.tsx b/testapps/next-internal/component/LanguageSwitcher.tsx deleted file mode 100644 index e3ffe98fb9..0000000000 --- a/testapps/next-internal/component/LanguageSwitcher.tsx +++ /dev/null @@ -1,26 +0,0 @@ -import Link from 'next/link'; -import { useRouter } from 'next/router'; - -export default function LocaleSwitcher() { - const router = useRouter(); - const { locales, locale: activeLocale } = router; - const otherLocales = locales?.filter((locale) => locale !== activeLocale); - - return ( -
-

Select locale:

-
    - {otherLocales?.map((locale) => { - const { pathname, query, asPath } = router; - return ( -
  • - - {locale} - -
  • - ); - })} -
-
- ); -} diff --git a/testapps/next-internal/i18n/de.json b/testapps/next-internal/i18n/de.json deleted file mode 100644 index 478a53cfbc..0000000000 --- a/testapps/next-internal/i18n/de.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "app-title": "Was mitnehmen" -} diff --git a/testapps/next-internal/i18n/en.json b/testapps/next-internal/i18n/en.json deleted file mode 100644 index 62a19d617b..0000000000 --- a/testapps/next-internal/i18n/en.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "app-title": "What To Pack" -} diff --git a/testapps/next-internal/next-env.d.ts b/testapps/next-internal/next-env.d.ts deleted file mode 100644 index 52e831b434..0000000000 --- a/testapps/next-internal/next-env.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -/// -/// - -// NOTE: This file should not be edited -// see https://nextjs.org/docs/pages/api-reference/config/typescript for more information. diff --git a/testapps/next-internal/next.config.js b/testapps/next-internal/next.config.js deleted file mode 100644 index df22c2d747..0000000000 --- a/testapps/next-internal/next.config.js +++ /dev/null @@ -1,10 +0,0 @@ -/** @type {import('next').NextConfig} */ -module.exports = { - reactStrictMode: true, - i18n: { - locales: ['en', 'de'], - localeDetection: false, - defaultLocale: 'en', - }, - distDir: process.env.NEXT_BUILD_DIR || '.next', -}; diff --git a/testapps/next-internal/package.json b/testapps/next-internal/package.json deleted file mode 100644 index 0272c9c726..0000000000 --- a/testapps/next-internal/package.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "name": "@tolgee/next-internal-testapp", - "version": "6.1.1", - "private": true, - "scripts": { - "dev": "next dev", - "develop": "next dev", - "build": "next build", - "clean": "rm -rf build build-e2e dist dist-e2e lib .next", - "start": "next start", - "lint": "next lint" - }, - "dependencies": { - "@tolgee/react": "6.1.1", - "@tolgee/web": "6.1.1", - "next": "15.1.0", - "react": "18.3.1", - "react-dom": "18.3.1" - }, - "devDependencies": { - "@types/react": "18.3.16", - "eslint": "8.57.0", - "eslint-config-next": "13.2.3", - "typescript": "4.9.5" - } -} diff --git a/testapps/next-internal/pages/_app.tsx b/testapps/next-internal/pages/_app.tsx deleted file mode 100644 index 2b379ab172..0000000000 --- a/testapps/next-internal/pages/_app.tsx +++ /dev/null @@ -1,9 +0,0 @@ -import React from 'react'; -import '../styles/globals.css'; -import type { AppProps } from 'next/app'; - -function MyApp({ Component, pageProps }: AppProps) { - return ; -} - -export default MyApp; diff --git a/testapps/next-internal/pages/api/hello.ts b/testapps/next-internal/pages/api/hello.ts deleted file mode 100644 index 89e4d6bd99..0000000000 --- a/testapps/next-internal/pages/api/hello.ts +++ /dev/null @@ -1,13 +0,0 @@ -// Next.js API route support: https://nextjs.org/docs/api-routes/introduction -import type { NextApiRequest, NextApiResponse } from 'next'; - -type Data = { - name: string; -}; - -export default function handler( - req: NextApiRequest, - res: NextApiResponse -) { - res.status(200).json({ name: 'John Doe' }); -} diff --git a/testapps/next-internal/pages/index.tsx b/testapps/next-internal/pages/index.tsx deleted file mode 100644 index cfaaa595cc..0000000000 --- a/testapps/next-internal/pages/index.tsx +++ /dev/null @@ -1,59 +0,0 @@ -import type { NextPage } from 'next'; -import Head from 'next/head'; -import { useEffect, useState } from 'react'; -import { T, Tolgee, TolgeeProvider } from '@tolgee/react'; -import { InContextTools } from '@tolgee/web/tools'; -import { useRouter } from 'next/router'; - -import enLocale from '../i18n/en.json'; -import deLocale from '../i18n/de.json'; -import styles from '../styles/Home.module.css'; -import LocaleSwitcher from '../component/LanguageSwitcher'; - -const tolgee = Tolgee() - .use(InContextTools()) - .init({ - apiKey: process.env.NEXT_PUBLIC_TOLGEE_API_KEY, - apiUrl: process.env.NEXT_PUBLIC_TOLGEE_API_URL, - staticData: { - en: enLocale, - de: deLocale, - }, - }); - -const Home: NextPage = () => { - const router = useRouter(); - - const [ready, setReady] = useState(false); - - useEffect(() => { - const queryParams = new URLSearchParams(window.location.search); - const apiKey = - queryParams.get('api_key') || process.env.NEXT_PUBLIC_TOLGEE_API_KEY; - - tolgee.updateOptions({ apiKey }); - setReady(true); - }, []); - - return ready ? ( - -
- - Create Next App - - - - - - -
-

- -

-
-
-
- ) : null; -}; - -export default Home; diff --git a/testapps/next-internal/styles/Home.module.css b/testapps/next-internal/styles/Home.module.css deleted file mode 100644 index 35454bb748..0000000000 --- a/testapps/next-internal/styles/Home.module.css +++ /dev/null @@ -1,121 +0,0 @@ -.container { - min-height: 100vh; - padding: 0 0.5rem; - display: flex; - flex-direction: column; - justify-content: center; - align-items: center; - height: 100vh; -} - -.main { - padding: 5rem 0; - flex: 1; - display: flex; - flex-direction: column; - justify-content: center; - align-items: center; -} - -.footer { - width: 100%; - height: 100px; - border-top: 1px solid #eaeaea; - display: flex; - justify-content: center; - align-items: center; -} - -.footer a { - display: flex; - justify-content: center; - align-items: center; - flex-grow: 1; -} - -.title a { - color: #0070f3; - text-decoration: none; -} - -.title a:hover, -.title a:focus, -.title a:active { - text-decoration: underline; -} - -.title { - margin: 0; - line-height: 1.15; - font-size: 4rem; -} - -.title, -.description { - text-align: center; -} - -.description { - line-height: 1.5; - font-size: 1.5rem; -} - -.code { - background: #fafafa; - border-radius: 5px; - padding: 0.75rem; - font-size: 1.1rem; - font-family: Menlo, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono, - Bitstream Vera Sans Mono, Courier New, monospace; -} - -.grid { - display: flex; - align-items: center; - justify-content: center; - flex-wrap: wrap; - max-width: 800px; - margin-top: 3rem; -} - -.card { - margin: 1rem; - padding: 1.5rem; - text-align: left; - color: inherit; - text-decoration: none; - border: 1px solid #eaeaea; - border-radius: 10px; - transition: color 0.15s ease, border-color 0.15s ease; - width: 45%; -} - -.card:hover, -.card:focus, -.card:active { - color: #0070f3; - border-color: #0070f3; -} - -.card h2 { - margin: 0 0 1rem 0; - font-size: 1.5rem; -} - -.card p { - margin: 0; - font-size: 1.25rem; - line-height: 1.5; -} - -.logo { - height: 1em; - margin-left: 0.5rem; -} - -@media (max-width: 600px) { - .grid { - width: 100%; - flex-direction: column; - } -} diff --git a/testapps/next-internal/styles/globals.css b/testapps/next-internal/styles/globals.css deleted file mode 100644 index 8147d4355d..0000000000 --- a/testapps/next-internal/styles/globals.css +++ /dev/null @@ -1,11 +0,0 @@ -html, -body { - padding: 0; - margin: 0; - font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, - Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif; -} - -* { - box-sizing: border-box; -} diff --git a/testapps/next-internal/tsconfig.json b/testapps/next-internal/tsconfig.json deleted file mode 100644 index 6060c0c906..0000000000 --- a/testapps/next-internal/tsconfig.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "compilerOptions": { - "target": "es5", - "lib": ["dom", "dom.iterable", "esnext"], - "allowJs": true, - "skipLibCheck": true, - "strict": true, - "forceConsistentCasingInFileNames": true, - "noEmit": true, - "esModuleInterop": true, - "module": "esnext", - "moduleResolution": "node", - "resolveJsonModule": true, - "isolatedModules": true, - "preserveSymlinks": true, - "jsx": "preserve", - "incremental": true - }, - "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"], - "exclude": ["node_modules"] -} diff --git a/testapps/web/.gitignore b/testapps/vanilla/.gitignore similarity index 100% rename from testapps/web/.gitignore rename to testapps/vanilla/.gitignore diff --git a/testapps/web/CHANGELOG.md b/testapps/vanilla/CHANGELOG.md similarity index 100% rename from testapps/web/CHANGELOG.md rename to testapps/vanilla/CHANGELOG.md diff --git a/testapps/web/apps/base/index.js b/testapps/vanilla/apps/base/index.js similarity index 100% rename from testapps/web/apps/base/index.js rename to testapps/vanilla/apps/base/index.js diff --git a/testapps/web/apps/lang_switching/index.js b/testapps/vanilla/apps/lang_switching/index.js similarity index 100% rename from testapps/web/apps/lang_switching/index.js rename to testapps/vanilla/apps/lang_switching/index.js diff --git a/testapps/web/apps/production/index.js b/testapps/vanilla/apps/production/index.js similarity index 100% rename from testapps/web/apps/production/index.js rename to testapps/vanilla/apps/production/index.js diff --git a/testapps/web/package.json b/testapps/vanilla/package.json similarity index 95% rename from testapps/web/package.json rename to testapps/vanilla/package.json index 44eec4adc6..b2a4c6b720 100644 --- a/testapps/web/package.json +++ b/testapps/vanilla/package.json @@ -1,5 +1,5 @@ { - "name": "@tolgee/web-testapp", + "name": "@tolgee/vanilla-testapp", "version": "6.1.1", "description": "Test applications for Tolgee JS core.", "main": "index.js", diff --git a/testapps/web/public/i18n/cs.json b/testapps/vanilla/public/i18n/cs.json similarity index 100% rename from testapps/web/public/i18n/cs.json rename to testapps/vanilla/public/i18n/cs.json diff --git a/testapps/web/public/i18n/en.json b/testapps/vanilla/public/i18n/en.json similarity index 100% rename from testapps/web/public/i18n/en.json rename to testapps/vanilla/public/i18n/en.json diff --git a/testapps/web/webpack.config.js b/testapps/vanilla/webpack.config.js similarity index 100% rename from testapps/web/webpack.config.js rename to testapps/vanilla/webpack.config.js