diff --git a/.github/workflows/backend-tests.yml b/.github/no_workflow/backend-tests.yml
similarity index 97%
rename from .github/workflows/backend-tests.yml
rename to .github/no_workflow/backend-tests.yml
index 3c6e63bb4..a1d8be074 100644
--- a/.github/workflows/backend-tests.yml
+++ b/.github/no_workflow/backend-tests.yml
@@ -36,7 +36,7 @@ jobs:
- uses: pnpm/action-setup@v4
name: Install pnpm
with:
- version: 9.0.4
+ version: 10
run_install: false
- name: Get pnpm store directory
shell: bash
@@ -53,7 +53,7 @@ jobs:
run: pnpm config set auto-install-peers false
-
name: Install libreoffice
- uses: awalsh128/cache-apt-pkgs-action@v1.5.0
+ uses: awalsh128/cache-apt-pkgs-action@v1.5.1
with:
packages: libreoffice libreoffice-pdfimport
version: 1.0
@@ -96,7 +96,7 @@ jobs:
- uses: pnpm/action-setup@v4
name: Install pnpm
with:
- version: 9.0.4
+ version: 10
run_install: false
- name: Get pnpm store directory
shell: bash
@@ -113,7 +113,7 @@ jobs:
run: pnpm config set auto-install-peers false
-
name: Install libreoffice
- uses: awalsh128/cache-apt-pkgs-action@v1.5.0
+ uses: awalsh128/cache-apt-pkgs-action@v1.5.1
with:
packages: libreoffice libreoffice-pdfimport
version: 1.0
@@ -168,7 +168,7 @@ jobs:
- uses: pnpm/action-setup@v4
name: Install pnpm
with:
- version: 9.0.4
+ version: 10
run_install: false
- name: Get pnpm store directory
shell: bash
@@ -225,7 +225,7 @@ jobs:
- uses: pnpm/action-setup@v4
name: Install pnpm
with:
- version: 9.0.4
+ version: 10
run_install: false
- name: Get pnpm store directory
shell: bash
diff --git a/.github/workflows/build-and-deploy-docs.yml b/.github/no_workflow/build-and-deploy-docs.yml
similarity index 98%
rename from .github/workflows/build-and-deploy-docs.yml
rename to .github/no_workflow/build-and-deploy-docs.yml
index 3134de22a..eab0eec43 100644
--- a/.github/workflows/build-and-deploy-docs.yml
+++ b/.github/no_workflow/build-and-deploy-docs.yml
@@ -38,7 +38,7 @@ jobs:
- uses: pnpm/action-setup@v4
name: Install pnpm
with:
- version: 9.0.4
+ version: 10
run_install: false
- name: Get pnpm store directory
shell: bash
diff --git a/.github/workflows/codeql-analysis.yml b/.github/no_workflow/codeql-analysis.yml
similarity index 100%
rename from .github/workflows/codeql-analysis.yml
rename to .github/no_workflow/codeql-analysis.yml
diff --git a/.github/workflows/dependency-review.yml b/.github/no_workflow/dependency-review.yml
similarity index 100%
rename from .github/workflows/dependency-review.yml
rename to .github/no_workflow/dependency-review.yml
diff --git a/.github/workflows/docker.yml b/.github/no_workflow/docker.yml
similarity index 99%
rename from .github/workflows/docker.yml
rename to .github/no_workflow/docker.yml
index 313d48fc6..81be50e4f 100644
--- a/.github/workflows/docker.yml
+++ b/.github/no_workflow/docker.yml
@@ -50,7 +50,7 @@ jobs:
- uses: pnpm/action-setup@v4
name: Install pnpm
with:
- version: 9.0.4
+ version: 10
run_install: false
- name: Get pnpm store directory
shell: bash
diff --git a/.github/workflows/frontend-admin-tests.yml b/.github/no_workflow/frontend-admin-tests.yml
similarity index 99%
rename from .github/workflows/frontend-admin-tests.yml
rename to .github/no_workflow/frontend-admin-tests.yml
index 4963fac24..94f790efa 100644
--- a/.github/workflows/frontend-admin-tests.yml
+++ b/.github/no_workflow/frontend-admin-tests.yml
@@ -36,7 +36,7 @@ jobs:
- uses: pnpm/action-setup@v4
name: Install pnpm
with:
- version: 9.0.4
+ version: 10
run_install: false
- name: Get pnpm store directory
shell: bash
diff --git a/.github/workflows/frontend-tests.yml b/.github/no_workflow/frontend-tests.yml
similarity index 99%
rename from .github/workflows/frontend-tests.yml
rename to .github/no_workflow/frontend-tests.yml
index c11058b24..d6238ed1f 100644
--- a/.github/workflows/frontend-tests.yml
+++ b/.github/no_workflow/frontend-tests.yml
@@ -30,7 +30,7 @@ jobs:
- uses: pnpm/action-setup@v4
name: Install pnpm
with:
- version: 9.0.4
+ version: 10
run_install: false
- name: Get pnpm store directory
shell: bash
@@ -103,7 +103,7 @@ jobs:
- uses: pnpm/action-setup@v4
name: Install pnpm
with:
- version: 9.0.4
+ version: 10
run_install: false
- name: Get pnpm store directory
shell: bash
@@ -184,7 +184,7 @@ jobs:
- uses: pnpm/action-setup@v4
name: Install pnpm
with:
- version: 9.0.4
+ version: 10
run_install: false
- name: Get pnpm store directory
shell: bash
diff --git a/.github/workflows/load-test.yml b/.github/no_workflow/load-test.yml
similarity index 98%
rename from .github/workflows/load-test.yml
rename to .github/no_workflow/load-test.yml
index 50847cd9a..16a783b18 100644
--- a/.github/workflows/load-test.yml
+++ b/.github/no_workflow/load-test.yml
@@ -32,7 +32,7 @@ jobs:
- uses: pnpm/action-setup@v4
name: Install pnpm
with:
- version: 9.0.4
+ version: 10
run_install: false
- name: Get pnpm store directory
shell: bash
@@ -76,7 +76,7 @@ jobs:
- uses: pnpm/action-setup@v4
name: Install pnpm
with:
- version: 9.0.4
+ version: 10
run_install: false
- name: Get pnpm store directory
shell: bash
@@ -147,7 +147,7 @@ jobs:
- uses: pnpm/action-setup@v4
name: Install pnpm
with:
- version: 9.0.4
+ version: 10
run_install: false
- name: Get pnpm store directory
shell: bash
diff --git a/.github/workflows/perform-type-check.yml b/.github/no_workflow/perform-type-check.yml
similarity index 98%
rename from .github/workflows/perform-type-check.yml
rename to .github/no_workflow/perform-type-check.yml
index ba35dec32..fb5f6d3c8 100644
--- a/.github/workflows/perform-type-check.yml
+++ b/.github/no_workflow/perform-type-check.yml
@@ -29,7 +29,7 @@ jobs:
- uses: pnpm/action-setup@v4
name: Install pnpm
with:
- version: 9.0.4
+ version: 10
run_install: false
- name: Get pnpm store directory
shell: bash
diff --git a/.github/workflows/rate-limit.yml b/.github/no_workflow/rate-limit.yml
similarity index 98%
rename from .github/workflows/rate-limit.yml
rename to .github/no_workflow/rate-limit.yml
index 003a10000..3b3417864 100644
--- a/.github/workflows/rate-limit.yml
+++ b/.github/no_workflow/rate-limit.yml
@@ -32,7 +32,7 @@ jobs:
- uses: pnpm/action-setup@v4
name: Install pnpm
with:
- version: 9.0.4
+ version: 10
run_install: false
- name: Get pnpm store directory
shell: bash
diff --git a/.github/workflows/upgrade-from-latest-release.yml b/.github/no_workflow/upgrade-from-latest-release.yml
similarity index 96%
rename from .github/workflows/upgrade-from-latest-release.yml
rename to .github/no_workflow/upgrade-from-latest-release.yml
index 08421e7ec..66df392ef 100644
--- a/.github/workflows/upgrade-from-latest-release.yml
+++ b/.github/no_workflow/upgrade-from-latest-release.yml
@@ -38,12 +38,12 @@ jobs:
- uses: pnpm/action-setup@v4
name: Install pnpm
with:
- version: 9.0.4
+ version: 10
run_install: false
- name: Only install direct dependencies
run: pnpm config set auto-install-peers false
- name: Install libreoffice
- uses: awalsh128/cache-apt-pkgs-action@v1.5.0
+ uses: awalsh128/cache-apt-pkgs-action@v1.5.1
with:
packages: libreoffice libreoffice-pdfimport
version: 1.0
@@ -62,7 +62,7 @@ jobs:
run: pnpm config set auto-install-peers false
-
name: Install libreoffice
- uses: awalsh128/cache-apt-pkgs-action@v1.5.0
+ uses: awalsh128/cache-apt-pkgs-action@v1.5.1
with:
packages: libreoffice libreoffice-pdfimport
version: 1.0
diff --git a/.github/workflows/windows.yml b/.github/no_workflow/windows.yml
similarity index 99%
rename from .github/workflows/windows.yml
rename to .github/no_workflow/windows.yml
index c0ce8b8bd..3b56b8452 100644
--- a/.github/workflows/windows.yml
+++ b/.github/no_workflow/windows.yml
@@ -39,7 +39,7 @@ jobs:
- uses: pnpm/action-setup@v4
name: Install pnpm
with:
- version: 9.0.4
+ version: 10
run_install: false
- name: Get pnpm store directory
shell: bash
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
new file mode 100644
index 000000000..9ec1cbdae
--- /dev/null
+++ b/.github/workflows/release.yml
@@ -0,0 +1,83 @@
+name: Release etherpad
+on:
+ workflow_dispatch:
+ inputs:
+ release_type:
+ description: 'Choose the type of release to create'
+ required: true
+ default: 'patch'
+ type: choice
+ options:
+ - patch
+ - minor
+ - major
+
+jobs:
+ releases:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout repository
+ uses: actions/checkout@v4
+ with:
+ repository: ether/etherpad-lite
+ path: etherpad
+ token: '${{ secrets.ETHER_RELEASE_TOKEN }}'
+ fetch-depth: '0'
+ fetch-tags: 'true'
+ - name: Checkout master
+ working-directory: etherpad
+ run: |
+ git fetch origin master
+ git checkout master
+ git reset --hard origin/master
+ - name: Checkout develop
+ working-directory: etherpad
+ run: |
+ git fetch origin develop
+ git checkout develop
+ git reset --hard origin/develop
+ - name: Checkout repository
+ uses: actions/checkout@v4
+ with:
+ repository: ether/ether.github.com
+ path: ether.github.com
+ token: '${{ secrets.ETHER_RELEASE_TOKEN }}'
+ - name: Setup Node.js
+ uses: actions/setup-node@v4
+ with:
+ node-version: '20'
+ - uses: pnpm/action-setup@v4
+ name: Install pnpm
+ with:
+ version: 10
+ run_install: false
+ - name: Get pnpm store directory
+ shell: bash
+ run: |
+ echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
+ - name: Install dependencies etherpad
+ run: pnpm install --frozen-lockfile
+ working-directory: etherpad
+ - name: Install dependencies ether.github.com
+ run: pnpm install --frozen-lockfile
+ working-directory: ether.github.com
+ - name: Set git user
+ run: |
+ git config --global user.name "Etherpad Release Bot"
+ git config --global user.email "noreply@etherpad.org"
+ - uses: ruby/setup-ruby@v1
+ with:
+ ruby-version: 2.7
+
+ - uses: reitzig/actions-asciidoctor@v2.0.2
+ with:
+ version: 2.0.18
+ - name: Prepare release
+ working-directory: etherpad
+ run: |
+ cd bin
+ pnpm run release ${{ inputs.release_type }}
+ - name: Push after release
+ working-directory: etherpad
+ run: |
+ ./bin/push-after-release.sh
diff --git a/CHANGELOG.md b/CHANGELOG.md
index ffd618492..43f55526f 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,13 @@
+# 2.4.0
+
+### Notable enhancements and fixes
+- Added home button to the pad panel. To show it in your current instance, please copy the updated "toolbar" settings from the `settings.json.template` file to your `settings.json` file.
+- Added more current design for the default collibri theme.
+- Added handling of recent visited pads in the collibri theme. You can now access the most recent three pads you visited in the pad panel.
+- Disable stats endpoints if enableMetrics is set to false. This allows you to disable the metrics endpoints if you don't want to use them.
+- Use Node LTS instead of always latest Node version.
+
+
# 2.3.2
### Notable enhancements and fixes
diff --git a/Dockerfile b/Dockerfile
index eccecab90..9e4a0dfb7 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -5,7 +5,7 @@
# Author: muxator
ARG BUILD_ENV=git
-FROM node:alpine AS adminbuild
+FROM node:lts-alpine AS adminbuild
RUN npm install -g pnpm@latest
WORKDIR /opt/etherpad-lite
COPY . .
@@ -13,7 +13,7 @@ RUN pnpm install
RUN pnpm run build:ui
-FROM node:alpine AS build
+FROM node:lts-alpine AS build
LABEL maintainer="Etherpad team, https://github.com/ether/etherpad-lite"
# Set these arguments when building the image from behind a proxy
diff --git a/admin/package.json b/admin/package.json
index d7c21392c..276b17323 100644
--- a/admin/package.json
+++ b/admin/package.json
@@ -1,7 +1,7 @@
{
"name": "admin",
"private": true,
- "version": "2.3.2",
+ "version": "2.4.0",
"type": "module",
"scripts": {
"dev": "vite",
@@ -18,25 +18,25 @@
"@radix-ui/react-toast": "^1.2.14",
"@types/react": "^19.1.8",
"@types/react-dom": "^19.1.6",
- "@typescript-eslint/eslint-plugin": "^8.34.0",
- "@typescript-eslint/parser": "^8.34.0",
+ "@typescript-eslint/eslint-plugin": "^8.37.0",
+ "@typescript-eslint/parser": "^8.37.0",
"@vitejs/plugin-react-swc": "^3.10.2",
- "eslint": "^9.28.0",
+ "eslint": "^9.31.0",
"eslint-plugin-react-hooks": "^5.2.0",
"eslint-plugin-react-refresh": "^0.4.20",
- "i18next": "^25.2.1",
+ "i18next": "^25.3.2",
"i18next-browser-languagedetector": "^8.2.0",
- "lucide-react": "^0.515.0",
+ "lucide-react": "^0.525.0",
"react": "^19.1.0",
"react-dom": "^19.1.0",
- "react-hook-form": "^7.57.0",
- "react-i18next": "^15.5.3",
- "react-router-dom": "^7.6.2",
+ "react-hook-form": "^7.60.0",
+ "react-i18next": "^15.6.0",
+ "react-router-dom": "^7.6.3",
"socket.io-client": "^4.8.1",
"typescript": "^5.8.2",
- "vite": "^6.3.5",
- "vite-plugin-static-copy": "^3.0.0",
+ "vite": "^7.0.4",
+ "vite-plugin-static-copy": "^3.1.1",
"vite-plugin-svgr": "^4.3.0",
- "zustand": "^5.0.5"
+ "zustand": "^5.0.6"
}
}
diff --git a/admin/src/pages/ShoutPage.tsx b/admin/src/pages/ShoutPage.tsx
index 8348e18fa..d598d54d7 100644
--- a/admin/src/pages/ShoutPage.tsx
+++ b/admin/src/pages/ShoutPage.tsx
@@ -9,22 +9,29 @@ export const ShoutPage = ()=>{
const [message, setMessage] = useState("");
const [sticky, setSticky] = useState(false);
const socket = useStore(state => state.settingsSocket);
+ const pluginSocket = useStore(state => state.pluginsSocket);
const [shouts, setShouts] = useState([]);
- useEffect(() => {
- fetch('/stats')
- .then(response => response.json())
- .then(data => setTotalUsers(data.totalUsers));
- }, []);
-
useEffect(() => {
- if(socket) {
+ if(socket && pluginSocket) {
+ console.log('Socket connected', socket.id);
socket.on('shout', (shout) => {
setShouts([...shouts, shout])
})
+ pluginSocket.on('results:stats', (statData) => {
+ console.log('Shoutdata', statData);
+ setTotalUsers(statData.totalUsers);
+ })
}
- }, [socket, shouts])
+ }, [socket, shouts, pluginSocket])
+
+
+ useEffect(() => {
+ if (pluginSocket) {
+ pluginSocket.emit('getStats', {});
+ }
+ }, [pluginSocket]);
const sendMessage = () => {
socket?.emit('shout', {
diff --git a/admin/vite.config.ts b/admin/vite.config.ts
index 23921ca85..7b63c9e20 100644
--- a/admin/vite.config.ts
+++ b/admin/vite.config.ts
@@ -28,10 +28,6 @@ export default defineConfig({
'/admin-auth/': {
target: 'http://localhost:9001',
changeOrigin: true,
- },
- '/stats': {
- target: 'http://localhost:9001',
- changeOrigin: true,
}
}
}
diff --git a/bin/package.json b/bin/package.json
index 01464c2a4..f684e84e0 100644
--- a/bin/package.json
+++ b/bin/package.json
@@ -1,13 +1,13 @@
{
"name": "bin",
- "version": "2.3.2",
+ "version": "2.4.0",
"description": "",
"main": "checkAllPads.js",
"directories": {
"doc": "doc"
},
"dependencies": {
- "axios": "^1.8.4",
+ "axios": "^1.10.0",
"ep_etherpad-lite": "workspace:../src",
"log4js": "^6.9.1",
"semver": "^7.7.2",
@@ -15,7 +15,7 @@
"ueberdb2": "^5.0.14"
},
"devDependencies": {
- "@types/node": "^24.0.1",
+ "@types/node": "^24.0.14",
"@types/semver": "^7.7.0",
"typescript": "^5.8.2"
},
diff --git a/bin/plugins/lib/backend-tests.yml b/bin/plugins/lib/backend-tests.yml
index 79ffc6f88..e38c2e902 100644
--- a/bin/plugins/lib/backend-tests.yml
+++ b/bin/plugins/lib/backend-tests.yml
@@ -29,7 +29,7 @@ jobs:
- uses: pnpm/action-setup@v3
name: Install pnpm
with:
- version: 8
+ version: 10
run_install: false
- name: Get pnpm store directory
shell: bash
diff --git a/bin/plugins/lib/frontend-tests.yml b/bin/plugins/lib/frontend-tests.yml
index 053ce180d..ca9ca965c 100644
--- a/bin/plugins/lib/frontend-tests.yml
+++ b/bin/plugins/lib/frontend-tests.yml
@@ -18,7 +18,7 @@ jobs:
- uses: pnpm/action-setup@v3
name: Install pnpm
with:
- version: 8
+ version: 10
run_install: false
- name: Get pnpm store directory
shell: bash
diff --git a/bin/plugins/lib/npmpublish.yml b/bin/plugins/lib/npmpublish.yml
index 6c2712cc4..efa341c2c 100644
--- a/bin/plugins/lib/npmpublish.yml
+++ b/bin/plugins/lib/npmpublish.yml
@@ -21,7 +21,7 @@ jobs:
- uses: pnpm/action-setup@v3
name: Install pnpm
with:
- version: 8
+ version: 10
run_install: false
- name: Get pnpm store directory
shell: bash
diff --git a/bin/release.ts b/bin/release.ts
index 5c2b1b4e9..5de3a826d 100644
--- a/bin/release.ts
+++ b/bin/release.ts
@@ -56,6 +56,8 @@ const readJson = (filename: string) => JSON.parse(fs.readFileSync(filename, {enc
const assertWorkDirClean = (opts:{
cwd?: string;
} = {}) => {
+ // Stash any changes in the working directory so that we can check for modifications.
+ runc('git stash')
opts.cwd = runc('git rev-parse --show-cdup', opts) || cwd;
const m = runc('git diff-files --name-status', opts);
console.log(">"+m.trim()+"<")
@@ -172,8 +174,8 @@ try {
console.log('Merging develop into master...');
run('git merge --no-ff --no-edit develop');
console.log(`Creating ${newVersion} tag...`);
- run(`git tag -s '${newVersion}' -m '${newVersion}'`);
- run(`git tag -s 'v${newVersion}' -m 'v${newVersion}'`);
+ run(`git tag -a '${newVersion}' -m '${newVersion}'`);
+ run(`git tag -a 'v${newVersion}' -m 'v${newVersion}'`);
console.log('Switching back to develop...');
run('git checkout develop');
console.log('Merging master into develop...');
diff --git a/doc/package.json b/doc/package.json
index adc5a6ca3..50bb14a74 100644
--- a/doc/package.json
+++ b/doc/package.json
@@ -1,10 +1,13 @@
{
"devDependencies": {
- "vitepress": "^1.6.3"
+ "vitepress": "^2.0.0-alpha.9"
},
"scripts": {
"docs:dev": "vitepress dev",
"docs:build": "vitepress build",
"docs:preview": "vitepress preview"
+ },
+ "peerDependencies": {
+ "search-insights": "^2.17.3"
}
}
diff --git a/doc/skins.md b/doc/skins.md
index 90a786f84..954179f78 100644
--- a/doc/skins.md
+++ b/doc/skins.md
@@ -15,5 +15,5 @@ You can choose a skin changing the parameter `skinName` in `settings.json`.
Since Etherpad **1.7.5**, two skins are included:
-* `no-skin`: an empty skin, leaving the default Etherpad appearance unchanged, that you can use as a guidance to develop your own.
+* `no-skin`: an empty skin, leaving the default Etherpad appearance unchanged, that you can use as guidance to develop your own.
* `colibris`: a new, experimental skin, that will become the default in Etherpad 2.0.
diff --git a/package.json b/package.json
index 57aa9f73a..9760a751e 100644
--- a/package.json
+++ b/package.json
@@ -50,6 +50,6 @@
"type": "git",
"url": "https://github.com/ether/etherpad-lite.git"
},
- "version": "2.3.2",
+ "version": "2.4.0",
"license": "Apache-2.0"
}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 989549452..798131ad8 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -41,32 +41,32 @@ importers:
specifier: ^19.1.6
version: 19.1.6(@types/react@19.1.8)
'@typescript-eslint/eslint-plugin':
- specifier: ^8.34.0
- version: 8.34.0(@typescript-eslint/parser@8.34.0(eslint@9.28.0)(typescript@5.8.3))(eslint@9.28.0)(typescript@5.8.3)
+ specifier: ^8.37.0
+ version: 8.38.0(@typescript-eslint/parser@8.38.0(eslint@9.32.0)(typescript@5.8.3))(eslint@9.32.0)(typescript@5.8.3)
'@typescript-eslint/parser':
- specifier: ^8.34.0
- version: 8.34.0(eslint@9.28.0)(typescript@5.8.3)
+ specifier: ^8.37.0
+ version: 8.38.0(eslint@9.32.0)(typescript@5.8.3)
'@vitejs/plugin-react-swc':
specifier: ^3.10.2
- version: 3.10.2(vite@6.3.5(@types/node@24.0.1)(tsx@4.20.3))
+ version: 3.10.2(vite@7.0.6(@types/node@24.1.0)(tsx@4.20.3))
eslint:
- specifier: ^9.28.0
- version: 9.28.0
+ specifier: ^9.31.0
+ version: 9.32.0
eslint-plugin-react-hooks:
specifier: ^5.2.0
- version: 5.2.0(eslint@9.28.0)
+ version: 5.2.0(eslint@9.32.0)
eslint-plugin-react-refresh:
specifier: ^0.4.20
- version: 0.4.20(eslint@9.28.0)
+ version: 0.4.20(eslint@9.32.0)
i18next:
- specifier: ^25.2.1
- version: 25.2.1(typescript@5.8.3)
+ specifier: ^25.3.2
+ version: 25.3.2(typescript@5.8.3)
i18next-browser-languagedetector:
specifier: ^8.2.0
version: 8.2.0
lucide-react:
- specifier: ^0.515.0
- version: 0.515.0(react@19.1.0)
+ specifier: ^0.525.0
+ version: 0.525.0(react@19.1.0)
react:
specifier: ^19.1.0
version: 19.1.0
@@ -74,14 +74,14 @@ importers:
specifier: ^19.1.0
version: 19.1.0(react@19.1.0)
react-hook-form:
- specifier: ^7.57.0
- version: 7.57.0(react@19.1.0)
+ specifier: ^7.60.0
+ version: 7.61.1(react@19.1.0)
react-i18next:
- specifier: ^15.5.3
- version: 15.5.3(i18next@25.2.1(typescript@5.8.3))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3)
+ specifier: ^15.6.0
+ version: 15.6.1(i18next@25.3.2(typescript@5.8.3))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3)
react-router-dom:
- specifier: ^7.6.2
- version: 7.6.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ specifier: ^7.6.3
+ version: 7.7.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
socket.io-client:
specifier: ^4.8.1
version: 4.8.1
@@ -89,23 +89,23 @@ importers:
specifier: ^5.8.2
version: 5.8.3
vite:
- specifier: ^6.3.5
- version: 6.3.5(@types/node@24.0.1)(tsx@4.20.3)
+ specifier: ^7.0.4
+ version: 7.0.6(@types/node@24.1.0)(tsx@4.20.3)
vite-plugin-static-copy:
- specifier: ^3.0.0
- version: 3.0.0(vite@6.3.5(@types/node@24.0.1)(tsx@4.20.3))
+ specifier: ^3.1.1
+ version: 3.1.1(vite@7.0.6(@types/node@24.1.0)(tsx@4.20.3))
vite-plugin-svgr:
specifier: ^4.3.0
- version: 4.3.0(rollup@4.40.1)(typescript@5.8.3)(vite@6.3.5(@types/node@24.0.1)(tsx@4.20.3))
+ version: 4.3.0(rollup@4.40.1)(typescript@5.8.3)(vite@7.0.6(@types/node@24.1.0)(tsx@4.20.3))
zustand:
- specifier: ^5.0.5
- version: 5.0.5(@types/react@19.1.8)(react@19.1.0)
+ specifier: ^5.0.6
+ version: 5.0.6(@types/react@19.1.8)(react@19.1.0)
bin:
dependencies:
axios:
- specifier: ^1.8.4
- version: 1.8.4
+ specifier: ^1.10.0
+ version: 1.10.0
ep_etherpad-lite:
specifier: workspace:../src
version: link:../src
@@ -123,8 +123,8 @@ importers:
version: 5.0.14
devDependencies:
'@types/node':
- specifier: ^24.0.1
- version: 24.0.1
+ specifier: ^24.0.14
+ version: 24.1.0
'@types/semver':
specifier: ^7.7.0
version: 7.7.0
@@ -135,20 +135,17 @@ importers:
doc:
devDependencies:
vitepress:
- specifier: ^1.6.3
- version: 1.6.3(@algolia/client-search@5.23.2)(@types/node@24.0.1)(axios@1.8.4)(jwt-decode@4.0.0)(postcss@8.5.3)(typescript@5.8.3)
+ specifier: ^2.0.0-alpha.9
+ version: 2.0.0-alpha.9(@types/node@24.1.0)(axios@1.10.0)(jwt-decode@4.0.0)(postcss@8.5.6)(tsx@4.20.3)(typescript@5.8.3)
src:
dependencies:
- '@etherpad/express-session':
- specifier: ^1.18.4
- version: 1.18.4
async:
specifier: ^3.2.6
version: 3.2.6
axios:
- specifier: ^1.8.4
- version: 1.8.4
+ specifier: ^1.10.0
+ version: 1.10.0
cookie-parser:
specifier: ^1.4.7
version: 1.4.7
@@ -162,14 +159,17 @@ importers:
specifier: ^3.1.10
version: 3.1.10
esbuild:
- specifier: ^0.25.5
- version: 0.25.5
+ specifier: ^0.25.8
+ version: 0.25.8
express:
specifier: 4.21.2
version: 4.21.2
express-rate-limit:
- specifier: ^7.5.0
- version: 7.5.0(express@4.21.2)
+ specifier: ^8.0.0
+ version: 8.0.1(express@4.21.2)
+ express-session:
+ specifier: ^1.18.2
+ version: 1.18.2
fast-deep-equal:
specifier: ^3.1.3
version: 3.1.3
@@ -189,8 +189,8 @@ importers:
specifier: ^3.0.5
version: 3.0.5
jsdom:
- specifier: ^26.0.0
- version: 26.0.0
+ specifier: ^26.1.0
+ version: 26.1.0
jsonminify:
specifier: 0.4.2
version: 0.4.2
@@ -222,11 +222,11 @@ importers:
specifier: ^3.0.1
version: 3.0.1
oidc-provider:
- specifier: ^9.1.3
- version: 9.1.3
+ specifier: ^9.3.0
+ version: 9.3.0
openapi-backend:
- specifier: ^5.12.0
- version: 5.12.0
+ specifier: ^5.13.0
+ version: 5.13.0
proxy-addr:
specifier: ^2.0.7
version: 2.0.7
@@ -258,8 +258,8 @@ importers:
specifier: ^4.8.1
version: 4.8.1
superagent:
- specifier: 10.2.1
- version: 10.2.1
+ specifier: 10.2.2
+ version: 10.2.2
swagger-ui-express:
specifier: ^5.0.1
version: 5.0.1(express@4.21.2)
@@ -283,14 +283,20 @@ importers:
version: 0.10.0
devDependencies:
'@playwright/test':
- specifier: ^1.53.0
- version: 1.53.0
+ specifier: ^1.54.1
+ version: 1.54.1
'@types/async':
specifier: ^3.2.24
version: 3.2.24
+ '@types/cookie-parser':
+ specifier: ^1.4.9
+ version: 1.4.9(@types/express@4.17.21)
'@types/express':
specifier: ^4.17.21
version: 4.17.21
+ '@types/express-session':
+ specifier: ^1.18.2
+ version: 1.18.2
'@types/formidable':
specifier: ^3.4.5
version: 3.4.5
@@ -307,8 +313,8 @@ importers:
specifier: ^21.1.7
version: 21.1.7
'@types/jsonwebtoken':
- specifier: ^9.0.9
- version: 9.0.9
+ specifier: ^9.0.10
+ version: 9.0.10
'@types/mime-types':
specifier: ^3.0.1
version: 3.0.1
@@ -316,11 +322,11 @@ importers:
specifier: ^10.0.9
version: 10.0.10
'@types/node':
- specifier: ^24.0.1
- version: 24.0.1
+ specifier: ^24.0.14
+ version: 24.1.0
'@types/oidc-provider':
- specifier: ^9.1.0
- version: 9.1.0
+ specifier: ^9.1.1
+ version: 9.1.1
'@types/semver':
specifier: ^7.7.0
version: 7.7.0
@@ -343,17 +349,17 @@ importers:
specifier: ^4.0.3
version: 4.0.3
eslint:
- specifier: ^9.28.0
- version: 9.28.0
+ specifier: ^9.31.0
+ version: 9.32.0
eslint-config-etherpad:
specifier: ^4.0.4
- version: 4.0.4(eslint@9.28.0)(typescript@5.8.3)
+ version: 4.0.4(eslint@9.32.0)(typescript@5.8.3)
etherpad-cli-client:
- specifier: ^3.0.2
- version: 3.0.2
+ specifier: ^3.0.4
+ version: 3.0.4
mocha:
- specifier: ^11.6.0
- version: 11.6.0
+ specifier: ^11.7.1
+ version: 11.7.1
mocha-froth:
specifier: ^0.2.10
version: 0.2.10
@@ -373,14 +379,14 @@ importers:
specifier: ^1.0.11
version: 1.0.11
supertest:
- specifier: ^7.1.1
- version: 7.1.1
+ specifier: ^7.1.3
+ version: 7.1.4
typescript:
specifier: ^5.8.2
version: 5.8.3
vitest:
- specifier: ^3.2.3
- version: 3.2.3(@types/debug@4.1.12)(@types/node@24.0.1)(jsdom@26.0.0)(tsx@4.20.3)
+ specifier: ^3.2.4
+ version: 3.2.4(@types/debug@4.1.12)(@types/node@24.1.0)(jsdom@26.1.0)(tsx@4.20.3)
ui:
devDependencies:
@@ -391,83 +397,11 @@ importers:
specifier: ^5.8.2
version: 5.8.3
vite:
- specifier: ^6.3.5
- version: 6.3.5(@types/node@24.0.1)(tsx@4.20.3)
+ specifier: ^7.0.4
+ version: 7.0.6(@types/node@24.1.0)(tsx@4.20.3)
packages:
- '@algolia/autocomplete-core@1.17.7':
- resolution: {integrity: sha512-BjiPOW6ks90UKl7TwMv7oNQMnzU+t/wk9mgIDi6b1tXpUek7MW0lbNOUHpvam9pe3lVCf4xPFT+lK7s+e+fs7Q==}
-
- '@algolia/autocomplete-plugin-algolia-insights@1.17.7':
- resolution: {integrity: sha512-Jca5Ude6yUOuyzjnz57og7Et3aXjbwCSDf/8onLHSQgw1qW3ALl9mrMWaXb5FmPVkV3EtkD2F/+NkT6VHyPu9A==}
- peerDependencies:
- search-insights: '>= 1 < 3'
-
- '@algolia/autocomplete-preset-algolia@1.17.7':
- resolution: {integrity: sha512-ggOQ950+nwbWROq2MOCIL71RE0DdQZsceqrg32UqnhDz8FlO9rL8ONHNsI2R1MH0tkgVIDKI/D0sMiUchsFdWA==}
- peerDependencies:
- '@algolia/client-search': '>= 4.9.1 < 6'
- algoliasearch: '>= 4.9.1 < 6'
-
- '@algolia/autocomplete-shared@1.17.7':
- resolution: {integrity: sha512-o/1Vurr42U/qskRSuhBH+VKxMvkkUVTLU6WZQr+L5lGZZLYWyhdzWjW0iGXY7EkwRTjBqvN2EsR81yCTGV/kmg==}
- peerDependencies:
- '@algolia/client-search': '>= 4.9.1 < 6'
- algoliasearch: '>= 4.9.1 < 6'
-
- '@algolia/client-abtesting@5.23.2':
- resolution: {integrity: sha512-EudQGeYEzviwqPH8WoqP5VTQssE/PW6sEdL0zzOyKt2bWnWoUp5Rnm67sCbxYDR44JpUchbkul0PfWrSYsBPjQ==}
- engines: {node: '>= 14.0.0'}
-
- '@algolia/client-analytics@5.23.2':
- resolution: {integrity: sha512-zmJrkZqWFu+ft+VRcttZZJhw5ElkhBtOArRzQOu9sRnrSSodBOdPRhAfvu8tG93Hv67wh5qQaTBwLxM58AxuMg==}
- engines: {node: '>= 14.0.0'}
-
- '@algolia/client-common@5.23.2':
- resolution: {integrity: sha512-xaE6o4BMdqYBe0iB7JjX6G9/Qeqx6TSs9T4d6VJ0JHPsEyklSwIbKRiomPeYD7vzt2P4t45Io6QBhifOUP+0qg==}
- engines: {node: '>= 14.0.0'}
-
- '@algolia/client-insights@5.23.2':
- resolution: {integrity: sha512-F85hpMszbr5ZGt8gFdl7WOugELRF4z3R1nD9n3t7PZ/2alV7IR75UQY8/jMQDwij/lrnVaKbLeIvKKy6K7ncZw==}
- engines: {node: '>= 14.0.0'}
-
- '@algolia/client-personalization@5.23.2':
- resolution: {integrity: sha512-TuGaGKiQvQqFNR4c3Vdl+JBe6dkEPmRzVyIdWLrurOPEmFmVCKRxtSnLr0TVFl6de/JfDAXuchvtvLHFxv9P2A==}
- engines: {node: '>= 14.0.0'}
-
- '@algolia/client-query-suggestions@5.23.2':
- resolution: {integrity: sha512-fg2tZf7Sf51Icjfrea0dnfbfwlJ7kXMcRsWSJN3DZhEi/Y4mMmK9L0Cq8sby6HDzxy5T8xEWNWC3TMx5FvrJ6w==}
- engines: {node: '>= 14.0.0'}
-
- '@algolia/client-search@5.23.2':
- resolution: {integrity: sha512-XiTjt0qgsJk9OqvDpMwTgUaPAYNSQcMILRfSYiorgiyc71yYM7Lq1vRSVxhB0m51mrViWj4rIR6kSiJRXebqvQ==}
- engines: {node: '>= 14.0.0'}
-
- '@algolia/ingestion@1.23.2':
- resolution: {integrity: sha512-7ClIghvUFZTomBipD8Kor9Z5llcAM3lHUBG3VFOvUsOxOJcaMMONlBXyoFDfI1na+u14lVaGehY2oIEfY1eB0w==}
- engines: {node: '>= 14.0.0'}
-
- '@algolia/monitoring@1.23.2':
- resolution: {integrity: sha512-kF7KKd0iIIlaD70flFS+8+DNxRvIzrG9A22iWG5LDX225Kl6pITroq+qIUweqqyyoqJBYuIXKZGDGtnahEwQxw==}
- engines: {node: '>= 14.0.0'}
-
- '@algolia/recommend@5.23.2':
- resolution: {integrity: sha512-nAgS2O5ww8J4fgW6GAiybAdr0uH7MV74srPdx51cPJRpQBEge4WnYBaOWx1/a53qI0xwNtQudnEyBGUzsSYaAw==}
- engines: {node: '>= 14.0.0'}
-
- '@algolia/requester-browser-xhr@5.23.2':
- resolution: {integrity: sha512-yw6IzgQcwr4cZuoQCEoQui9G0rhVRGCyhPhW+gmrXe6oVr4qB50FV6mWGLA170+iqGVjPn/DVuOhExjBzcViTQ==}
- engines: {node: '>= 14.0.0'}
-
- '@algolia/requester-fetch@5.23.2':
- resolution: {integrity: sha512-8rmSybTwIqmGx3P0qkOEUkkyeIewglaKq6yUnxnVkBJbd4USfIZsw9cME1YUEHeZI7aOhTQg9QteUHSKXclF5A==}
- engines: {node: '>= 14.0.0'}
-
- '@algolia/requester-node-http@5.23.2':
- resolution: {integrity: sha512-IHpUiW3d3oVE5tCYqQN7X71/EbXI7f8WxU85eWW1UYEWEknqW3csdGctyIW7+qMHFfxeDymI1Wln/gGHHIXLIw==}
- engines: {node: '>= 14.0.0'}
-
'@ampproject/remapping@2.3.0':
resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==}
engines: {node: '>=6.0.0'}
@@ -476,8 +410,8 @@ packages:
resolution: {integrity: sha512-60vepv88RwcJtSHrD6MjIL6Ta3SOYbgfnkHb+ppAVK+o9mXprRtulx7VlRl3lN3bbvysAfCS7WMVfhUYemB0IQ==}
engines: {node: '>= 16'}
- '@asamuzakjp/css-color@3.1.1':
- resolution: {integrity: sha512-hpRD68SV2OMcZCsrbdkccTw5FXjNDLo5OuqSHyHZfwweGsDWZwDJ2+gONyNAbazZclobMirACLw0lk8WVxIqxA==}
+ '@asamuzakjp/css-color@3.2.0':
+ resolution: {integrity: sha512-K1A6z8tS3XsmCMM86xoWdn7Fkdn9m6RSVtocUrJYIwZnFVkng/PvkEoWtOWmP+Scc6saYWHWZYbndEEXxl24jw==}
'@babel/code-frame@7.26.2':
resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==}
@@ -513,10 +447,18 @@ packages:
resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==}
engines: {node: '>=6.9.0'}
+ '@babel/helper-string-parser@7.27.1':
+ resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==}
+ engines: {node: '>=6.9.0'}
+
'@babel/helper-validator-identifier@7.25.9':
resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==}
engines: {node: '>=6.9.0'}
+ '@babel/helper-validator-identifier@7.27.1':
+ resolution: {integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==}
+ engines: {node: '>=6.9.0'}
+
'@babel/helper-validator-option@7.25.9':
resolution: {integrity: sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==}
engines: {node: '>=6.9.0'}
@@ -530,6 +472,11 @@ packages:
engines: {node: '>=6.0.0'}
hasBin: true
+ '@babel/parser@7.28.0':
+ resolution: {integrity: sha512-jVZGvOxOuNSsuQuLRTh13nU0AogFlw32w/MT+LV6D3sP5WdbW61E77RnkbaO2dUvmPAYrBDJXGn5gGS6tH4j8g==}
+ engines: {node: '>=6.0.0'}
+ hasBin: true
+
'@babel/runtime@7.27.6':
resolution: {integrity: sha512-vbavdySgbTTrmFE+EsiqUTzlOr5bzlnJtUv9PynGCAKvfQqjIXbvFdumPM/GxMDfyuGMJaJAU6TO4zc1Jf1i8Q==}
engines: {node: '>=6.9.0'}
@@ -546,56 +493,43 @@ packages:
resolution: {integrity: sha512-H45s8fVLYjbhFH62dIJ3WtmJ6RSPt/3DRO0ZcT2SUiYiQyz3BLVb9ADEnLl91m74aQPS3AzzeajZHYOalWe3bg==}
engines: {node: '>=6.9.0'}
+ '@babel/types@7.28.2':
+ resolution: {integrity: sha512-ruv7Ae4J5dUYULmeXw1gmb7rYRz57OWCPM57pHojnLq/3Z1CK2lNSLTCVjxVk1F/TZHwOZZrOWi0ur95BbLxNQ==}
+ engines: {node: '>=6.9.0'}
+
'@csstools/color-helpers@5.0.2':
resolution: {integrity: sha512-JqWH1vsgdGcw2RR6VliXXdA0/59LttzlU8UlRT/iUUsEeWfYq8I+K0yhihEUTTHLRm1EXvpsCx3083EU15ecsA==}
engines: {node: '>=18'}
- '@csstools/css-calc@2.1.2':
- resolution: {integrity: sha512-TklMyb3uBB28b5uQdxjReG4L80NxAqgrECqLZFQbyLekwwlcDDS8r3f07DKqeo8C4926Br0gf/ZDe17Zv4wIuw==}
+ '@csstools/css-calc@2.1.4':
+ resolution: {integrity: sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ==}
engines: {node: '>=18'}
peerDependencies:
- '@csstools/css-parser-algorithms': ^3.0.4
- '@csstools/css-tokenizer': ^3.0.3
+ '@csstools/css-parser-algorithms': ^3.0.5
+ '@csstools/css-tokenizer': ^3.0.4
- '@csstools/css-color-parser@3.0.8':
- resolution: {integrity: sha512-pdwotQjCCnRPuNi06jFuP68cykU1f3ZWExLe/8MQ1LOs8Xq+fTkYgd+2V8mWUWMrOn9iS2HftPVaMZDaXzGbhQ==}
+ '@csstools/css-color-parser@3.0.10':
+ resolution: {integrity: sha512-TiJ5Ajr6WRd1r8HSiwJvZBiJOqtH86aHpUjq5aEKWHiII2Qfjqd/HCWKPOW8EP4vcspXbHnXrwIDlu5savQipg==}
engines: {node: '>=18'}
peerDependencies:
- '@csstools/css-parser-algorithms': ^3.0.4
- '@csstools/css-tokenizer': ^3.0.3
+ '@csstools/css-parser-algorithms': ^3.0.5
+ '@csstools/css-tokenizer': ^3.0.4
- '@csstools/css-parser-algorithms@3.0.4':
- resolution: {integrity: sha512-Up7rBoV77rv29d3uKHUIVubz1BTcgyUK72IvCQAbfbMv584xHcGKCKbWh7i8hPrRJ7qU4Y8IO3IY9m+iTB7P3A==}
+ '@csstools/css-parser-algorithms@3.0.5':
+ resolution: {integrity: sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ==}
engines: {node: '>=18'}
peerDependencies:
- '@csstools/css-tokenizer': ^3.0.3
+ '@csstools/css-tokenizer': ^3.0.4
- '@csstools/css-tokenizer@3.0.3':
- resolution: {integrity: sha512-UJnjoFsmxfKUdNYdWgOB0mWUypuLvAfQPH1+pyvRJs6euowbFkFC6P13w1l8mJyi3vxYMxc9kld5jZEGRQs6bw==}
+ '@csstools/css-tokenizer@3.0.4':
+ resolution: {integrity: sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw==}
engines: {node: '>=18'}
- '@docsearch/css@3.8.2':
- resolution: {integrity: sha512-y05ayQFyUmCXze79+56v/4HpycYF3uFqB78pLPrSV5ZKAlDuIAAJNhaRi8tTdRNXh05yxX/TyNnzD6LwSM89vQ==}
+ '@docsearch/css@4.0.0-beta.5':
+ resolution: {integrity: sha512-bZy+gIXRZch0KNPC7MLoj4wkEcNVeEHBXOKJtonoJ2EaLw2vbO1PLGIXxtPgW7Ab7TvI0StkrmGuEQqE2q/1QA==}
- '@docsearch/js@3.8.2':
- resolution: {integrity: sha512-Q5wY66qHn0SwA7Taa0aDbHiJvaFJLOJyHmooQ7y8hlwwQLQ/5WwCcoX0g7ii04Qi2DJlHsd0XXzJ8Ypw9+9YmQ==}
-
- '@docsearch/react@3.8.2':
- resolution: {integrity: sha512-xCRrJQlTt8N9GU0DG4ptwHRkfnSnD/YpdeaXe02iKfqs97TkZJv60yE+1eq/tjPcVnTW8dP5qLP7itifFVV5eg==}
- peerDependencies:
- '@types/react': '>= 16.8.0 < 19.0.0'
- react: '>= 16.8.0 < 19.0.0'
- react-dom: '>= 16.8.0 < 19.0.0'
- search-insights: '>= 1 < 3'
- peerDependenciesMeta:
- '@types/react':
- optional: true
- react:
- optional: true
- react-dom:
- optional: true
- search-insights:
- optional: true
+ '@docsearch/js@4.0.0-beta.5':
+ resolution: {integrity: sha512-FEtkwdblZDrTkd0mYwmfR94Vo/jgkXVIbS6vD2FcKazK/L5RmgNb7KAUDUWW11V/fIcS5XHvHprIxEnoB9gllQ==}
'@emnapi/core@1.4.0':
resolution: {integrity: sha512-H+N/FqT07NmLmt6OFFtDfwe8PNygprzBikrEMyQfgqSmT0vzE515Pz7R8izwB9q/zsH/MA64AKoul3sA6/CzVg==}
@@ -606,35 +540,17 @@ packages:
'@emnapi/wasi-threads@1.0.1':
resolution: {integrity: sha512-iIBu7mwkq4UQGeMEM8bLwNK962nXdhodeScX4slfQnRhEMMzvYivHhutCIk8uojvmASXXPC2WNEjwxFWk72Oqw==}
- '@esbuild/aix-ppc64@0.21.5':
- resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==}
- engines: {node: '>=12'}
- cpu: [ppc64]
- os: [aix]
-
- '@esbuild/aix-ppc64@0.25.3':
- resolution: {integrity: sha512-W8bFfPA8DowP8l//sxjJLSLkD8iEjMc7cBVyP+u4cEv9sM7mdUCkgsj+t0n/BWPFtv7WWCN5Yzj0N6FJNUUqBQ==}
- engines: {node: '>=18'}
- cpu: [ppc64]
- os: [aix]
-
'@esbuild/aix-ppc64@0.25.5':
resolution: {integrity: sha512-9o3TMmpmftaCMepOdA5k/yDw8SfInyzWWTjYTFCX3kPSDJMROQTb8jg+h9Cnwnmm1vOzvxN7gIfB5V2ewpjtGA==}
engines: {node: '>=18'}
cpu: [ppc64]
os: [aix]
- '@esbuild/android-arm64@0.21.5':
- resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [android]
-
- '@esbuild/android-arm64@0.25.3':
- resolution: {integrity: sha512-XelR6MzjlZuBM4f5z2IQHK6LkK34Cvv6Rj2EntER3lwCBFdg6h2lKbtRjpTTsdEjD/WSe1q8UyPBXP1x3i/wYQ==}
+ '@esbuild/aix-ppc64@0.25.8':
+ resolution: {integrity: sha512-urAvrUedIqEiFR3FYSLTWQgLu5tb+m0qZw0NBEasUeo6wuqatkMDaRT+1uABiGXEu5vqgPd7FGE1BhsAIy9QVA==}
engines: {node: '>=18'}
- cpu: [arm64]
- os: [android]
+ cpu: [ppc64]
+ os: [aix]
'@esbuild/android-arm64@0.25.5':
resolution: {integrity: sha512-VGzGhj4lJO+TVGV1v8ntCZWJktV7SGCs3Pn1GRWI1SBFtRALoomm8k5E9Pmwg3HOAal2VDc2F9+PM/rEY6oIDg==}
@@ -642,16 +558,10 @@ packages:
cpu: [arm64]
os: [android]
- '@esbuild/android-arm@0.21.5':
- resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==}
- engines: {node: '>=12'}
- cpu: [arm]
- os: [android]
-
- '@esbuild/android-arm@0.25.3':
- resolution: {integrity: sha512-PuwVXbnP87Tcff5I9ngV0lmiSu40xw1At6i3GsU77U7cjDDB4s0X2cyFuBiDa1SBk9DnvWwnGvVaGBqoFWPb7A==}
+ '@esbuild/android-arm64@0.25.8':
+ resolution: {integrity: sha512-OD3p7LYzWpLhZEyATcTSJ67qB5D+20vbtr6vHlHWSQYhKtzUYrETuWThmzFpZtFsBIxRvhO07+UgVA9m0i/O1w==}
engines: {node: '>=18'}
- cpu: [arm]
+ cpu: [arm64]
os: [android]
'@esbuild/android-arm@0.25.5':
@@ -660,16 +570,10 @@ packages:
cpu: [arm]
os: [android]
- '@esbuild/android-x64@0.21.5':
- resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [android]
-
- '@esbuild/android-x64@0.25.3':
- resolution: {integrity: sha512-ogtTpYHT/g1GWS/zKM0cc/tIebFjm1F9Aw1boQ2Y0eUQ+J89d0jFY//s9ei9jVIlkYi8AfOjiixcLJSGNSOAdQ==}
+ '@esbuild/android-arm@0.25.8':
+ resolution: {integrity: sha512-RONsAvGCz5oWyePVnLdZY/HHwA++nxYWIX1atInlaW6SEkwq6XkP3+cb825EUcRs5Vss/lGh/2YxAb5xqc07Uw==}
engines: {node: '>=18'}
- cpu: [x64]
+ cpu: [arm]
os: [android]
'@esbuild/android-x64@0.25.5':
@@ -678,17 +582,11 @@ packages:
cpu: [x64]
os: [android]
- '@esbuild/darwin-arm64@0.21.5':
- resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [darwin]
-
- '@esbuild/darwin-arm64@0.25.3':
- resolution: {integrity: sha512-eESK5yfPNTqpAmDfFWNsOhmIOaQA59tAcF/EfYvo5/QWQCzXn5iUSOnqt3ra3UdzBv073ykTtmeLJZGt3HhA+w==}
+ '@esbuild/android-x64@0.25.8':
+ resolution: {integrity: sha512-yJAVPklM5+4+9dTeKwHOaA+LQkmrKFX96BM0A/2zQrbS6ENCmxc4OVoBs5dPkCCak2roAD+jKCdnmOqKszPkjA==}
engines: {node: '>=18'}
- cpu: [arm64]
- os: [darwin]
+ cpu: [x64]
+ os: [android]
'@esbuild/darwin-arm64@0.25.5':
resolution: {integrity: sha512-GtaBgammVvdF7aPIgH2jxMDdivezgFu6iKpmT+48+F8Hhg5J/sfnDieg0aeG/jfSvkYQU2/pceFPDKlqZzwnfQ==}
@@ -696,16 +594,10 @@ packages:
cpu: [arm64]
os: [darwin]
- '@esbuild/darwin-x64@0.21.5':
- resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [darwin]
-
- '@esbuild/darwin-x64@0.25.3':
- resolution: {integrity: sha512-Kd8glo7sIZtwOLcPbW0yLpKmBNWMANZhrC1r6K++uDR2zyzb6AeOYtI6udbtabmQpFaxJ8uduXMAo1gs5ozz8A==}
+ '@esbuild/darwin-arm64@0.25.8':
+ resolution: {integrity: sha512-Jw0mxgIaYX6R8ODrdkLLPwBqHTtYHJSmzzd+QeytSugzQ0Vg4c5rDky5VgkoowbZQahCbsv1rT1KW72MPIkevw==}
engines: {node: '>=18'}
- cpu: [x64]
+ cpu: [arm64]
os: [darwin]
'@esbuild/darwin-x64@0.25.5':
@@ -714,17 +606,11 @@ packages:
cpu: [x64]
os: [darwin]
- '@esbuild/freebsd-arm64@0.21.5':
- resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [freebsd]
-
- '@esbuild/freebsd-arm64@0.25.3':
- resolution: {integrity: sha512-EJiyS70BYybOBpJth3M0KLOus0n+RRMKTYzhYhFeMwp7e/RaajXvP+BWlmEXNk6uk+KAu46j/kaQzr6au+JcIw==}
+ '@esbuild/darwin-x64@0.25.8':
+ resolution: {integrity: sha512-Vh2gLxxHnuoQ+GjPNvDSDRpoBCUzY4Pu0kBqMBDlK4fuWbKgGtmDIeEC081xi26PPjn+1tct+Bh8FjyLlw1Zlg==}
engines: {node: '>=18'}
- cpu: [arm64]
- os: [freebsd]
+ cpu: [x64]
+ os: [darwin]
'@esbuild/freebsd-arm64@0.25.5':
resolution: {integrity: sha512-nk4tGP3JThz4La38Uy/gzyXtpkPW8zSAmoUhK9xKKXdBCzKODMc2adkB2+8om9BDYugz+uGV7sLmpTYzvmz6Sw==}
@@ -732,16 +618,10 @@ packages:
cpu: [arm64]
os: [freebsd]
- '@esbuild/freebsd-x64@0.21.5':
- resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [freebsd]
-
- '@esbuild/freebsd-x64@0.25.3':
- resolution: {integrity: sha512-Q+wSjaLpGxYf7zC0kL0nDlhsfuFkoN+EXrx2KSB33RhinWzejOd6AvgmP5JbkgXKmjhmpfgKZq24pneodYqE8Q==}
+ '@esbuild/freebsd-arm64@0.25.8':
+ resolution: {integrity: sha512-YPJ7hDQ9DnNe5vxOm6jaie9QsTwcKedPvizTVlqWG9GBSq+BuyWEDazlGaDTC5NGU4QJd666V0yqCBL2oWKPfA==}
engines: {node: '>=18'}
- cpu: [x64]
+ cpu: [arm64]
os: [freebsd]
'@esbuild/freebsd-x64@0.25.5':
@@ -750,17 +630,11 @@ packages:
cpu: [x64]
os: [freebsd]
- '@esbuild/linux-arm64@0.21.5':
- resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [linux]
-
- '@esbuild/linux-arm64@0.25.3':
- resolution: {integrity: sha512-xCUgnNYhRD5bb1C1nqrDV1PfkwgbswTTBRbAd8aH5PhYzikdf/ddtsYyMXFfGSsb/6t6QaPSzxtbfAZr9uox4A==}
+ '@esbuild/freebsd-x64@0.25.8':
+ resolution: {integrity: sha512-MmaEXxQRdXNFsRN/KcIimLnSJrk2r5H8v+WVafRWz5xdSVmWLoITZQXcgehI2ZE6gioE6HirAEToM/RvFBeuhw==}
engines: {node: '>=18'}
- cpu: [arm64]
- os: [linux]
+ cpu: [x64]
+ os: [freebsd]
'@esbuild/linux-arm64@0.25.5':
resolution: {integrity: sha512-Z9kfb1v6ZlGbWj8EJk9T6czVEjjq2ntSYLY2cw6pAZl4oKtfgQuS4HOq41M/BcoLPzrUbNd+R4BXFyH//nHxVg==}
@@ -768,16 +642,10 @@ packages:
cpu: [arm64]
os: [linux]
- '@esbuild/linux-arm@0.21.5':
- resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==}
- engines: {node: '>=12'}
- cpu: [arm]
- os: [linux]
-
- '@esbuild/linux-arm@0.25.3':
- resolution: {integrity: sha512-dUOVmAUzuHy2ZOKIHIKHCm58HKzFqd+puLaS424h6I85GlSDRZIA5ycBixb3mFgM0Jdh+ZOSB6KptX30DD8YOQ==}
+ '@esbuild/linux-arm64@0.25.8':
+ resolution: {integrity: sha512-WIgg00ARWv/uYLU7lsuDK00d/hHSfES5BzdWAdAig1ioV5kaFNrtK8EqGcUBJhYqotlUByUKz5Qo6u8tt7iD/w==}
engines: {node: '>=18'}
- cpu: [arm]
+ cpu: [arm64]
os: [linux]
'@esbuild/linux-arm@0.25.5':
@@ -786,16 +654,10 @@ packages:
cpu: [arm]
os: [linux]
- '@esbuild/linux-ia32@0.21.5':
- resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==}
- engines: {node: '>=12'}
- cpu: [ia32]
- os: [linux]
-
- '@esbuild/linux-ia32@0.25.3':
- resolution: {integrity: sha512-yplPOpczHOO4jTYKmuYuANI3WhvIPSVANGcNUeMlxH4twz/TeXuzEP41tGKNGWJjuMhotpGabeFYGAOU2ummBw==}
+ '@esbuild/linux-arm@0.25.8':
+ resolution: {integrity: sha512-FuzEP9BixzZohl1kLf76KEVOsxtIBFwCaLupVuk4eFVnOZfU+Wsn+x5Ryam7nILV2pkq2TqQM9EZPsOBuMC+kg==}
engines: {node: '>=18'}
- cpu: [ia32]
+ cpu: [arm]
os: [linux]
'@esbuild/linux-ia32@0.25.5':
@@ -804,16 +666,10 @@ packages:
cpu: [ia32]
os: [linux]
- '@esbuild/linux-loong64@0.21.5':
- resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==}
- engines: {node: '>=12'}
- cpu: [loong64]
- os: [linux]
-
- '@esbuild/linux-loong64@0.25.3':
- resolution: {integrity: sha512-P4BLP5/fjyihmXCELRGrLd793q/lBtKMQl8ARGpDxgzgIKJDRJ/u4r1A/HgpBpKpKZelGct2PGI4T+axcedf6g==}
+ '@esbuild/linux-ia32@0.25.8':
+ resolution: {integrity: sha512-A1D9YzRX1i+1AJZuFFUMP1E9fMaYY+GnSQil9Tlw05utlE86EKTUA7RjwHDkEitmLYiFsRd9HwKBPEftNdBfjg==}
engines: {node: '>=18'}
- cpu: [loong64]
+ cpu: [ia32]
os: [linux]
'@esbuild/linux-loong64@0.25.5':
@@ -822,16 +678,10 @@ packages:
cpu: [loong64]
os: [linux]
- '@esbuild/linux-mips64el@0.21.5':
- resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==}
- engines: {node: '>=12'}
- cpu: [mips64el]
- os: [linux]
-
- '@esbuild/linux-mips64el@0.25.3':
- resolution: {integrity: sha512-eRAOV2ODpu6P5divMEMa26RRqb2yUoYsuQQOuFUexUoQndm4MdpXXDBbUoKIc0iPa4aCO7gIhtnYomkn2x+bag==}
+ '@esbuild/linux-loong64@0.25.8':
+ resolution: {integrity: sha512-O7k1J/dwHkY1RMVvglFHl1HzutGEFFZ3kNiDMSOyUrB7WcoHGf96Sh+64nTRT26l3GMbCW01Ekh/ThKM5iI7hQ==}
engines: {node: '>=18'}
- cpu: [mips64el]
+ cpu: [loong64]
os: [linux]
'@esbuild/linux-mips64el@0.25.5':
@@ -840,16 +690,10 @@ packages:
cpu: [mips64el]
os: [linux]
- '@esbuild/linux-ppc64@0.21.5':
- resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==}
- engines: {node: '>=12'}
- cpu: [ppc64]
- os: [linux]
-
- '@esbuild/linux-ppc64@0.25.3':
- resolution: {integrity: sha512-ZC4jV2p7VbzTlnl8nZKLcBkfzIf4Yad1SJM4ZMKYnJqZFD4rTI+pBG65u8ev4jk3/MPwY9DvGn50wi3uhdaghg==}
+ '@esbuild/linux-mips64el@0.25.8':
+ resolution: {integrity: sha512-uv+dqfRazte3BzfMp8PAQXmdGHQt2oC/y2ovwpTteqrMx2lwaksiFZ/bdkXJC19ttTvNXBuWH53zy/aTj1FgGw==}
engines: {node: '>=18'}
- cpu: [ppc64]
+ cpu: [mips64el]
os: [linux]
'@esbuild/linux-ppc64@0.25.5':
@@ -858,16 +702,10 @@ packages:
cpu: [ppc64]
os: [linux]
- '@esbuild/linux-riscv64@0.21.5':
- resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==}
- engines: {node: '>=12'}
- cpu: [riscv64]
- os: [linux]
-
- '@esbuild/linux-riscv64@0.25.3':
- resolution: {integrity: sha512-LDDODcFzNtECTrUUbVCs6j9/bDVqy7DDRsuIXJg6so+mFksgwG7ZVnTruYi5V+z3eE5y+BJZw7VvUadkbfg7QA==}
+ '@esbuild/linux-ppc64@0.25.8':
+ resolution: {integrity: sha512-GyG0KcMi1GBavP5JgAkkstMGyMholMDybAf8wF5A70CALlDM2p/f7YFE7H92eDeH/VBtFJA5MT4nRPDGg4JuzQ==}
engines: {node: '>=18'}
- cpu: [riscv64]
+ cpu: [ppc64]
os: [linux]
'@esbuild/linux-riscv64@0.25.5':
@@ -876,16 +714,10 @@ packages:
cpu: [riscv64]
os: [linux]
- '@esbuild/linux-s390x@0.21.5':
- resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==}
- engines: {node: '>=12'}
- cpu: [s390x]
- os: [linux]
-
- '@esbuild/linux-s390x@0.25.3':
- resolution: {integrity: sha512-s+w/NOY2k0yC2p9SLen+ymflgcpRkvwwa02fqmAwhBRI3SC12uiS10edHHXlVWwfAagYSY5UpmT/zISXPMW3tQ==}
+ '@esbuild/linux-riscv64@0.25.8':
+ resolution: {integrity: sha512-rAqDYFv3yzMrq7GIcen3XP7TUEG/4LK86LUPMIz6RT8A6pRIDn0sDcvjudVZBiiTcZCY9y2SgYX2lgK3AF+1eg==}
engines: {node: '>=18'}
- cpu: [s390x]
+ cpu: [riscv64]
os: [linux]
'@esbuild/linux-s390x@0.25.5':
@@ -894,16 +726,10 @@ packages:
cpu: [s390x]
os: [linux]
- '@esbuild/linux-x64@0.21.5':
- resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [linux]
-
- '@esbuild/linux-x64@0.25.3':
- resolution: {integrity: sha512-nQHDz4pXjSDC6UfOE1Fw9Q8d6GCAd9KdvMZpfVGWSJztYCarRgSDfOVBY5xwhQXseiyxapkiSJi/5/ja8mRFFA==}
+ '@esbuild/linux-s390x@0.25.8':
+ resolution: {integrity: sha512-Xutvh6VjlbcHpsIIbwY8GVRbwoviWT19tFhgdA7DlenLGC/mbc3lBoVb7jxj9Z+eyGqvcnSyIltYUrkKzWqSvg==}
engines: {node: '>=18'}
- cpu: [x64]
+ cpu: [s390x]
os: [linux]
'@esbuild/linux-x64@0.25.5':
@@ -912,11 +738,11 @@ packages:
cpu: [x64]
os: [linux]
- '@esbuild/netbsd-arm64@0.25.3':
- resolution: {integrity: sha512-1QaLtOWq0mzK6tzzp0jRN3eccmN3hezey7mhLnzC6oNlJoUJz4nym5ZD7mDnS/LZQgkrhEbEiTn515lPeLpgWA==}
+ '@esbuild/linux-x64@0.25.8':
+ resolution: {integrity: sha512-ASFQhgY4ElXh3nDcOMTkQero4b1lgubskNlhIfJrsH5OKZXDpUAKBlNS0Kx81jwOBp+HCeZqmoJuihTv57/jvQ==}
engines: {node: '>=18'}
- cpu: [arm64]
- os: [netbsd]
+ cpu: [x64]
+ os: [linux]
'@esbuild/netbsd-arm64@0.25.5':
resolution: {integrity: sha512-pwHtMP9viAy1oHPvgxtOv+OkduK5ugofNTVDilIzBLpoWAM16r7b/mxBvfpuQDpRQFMfuVr5aLcn4yveGvBZvw==}
@@ -924,16 +750,10 @@ packages:
cpu: [arm64]
os: [netbsd]
- '@esbuild/netbsd-x64@0.21.5':
- resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [netbsd]
-
- '@esbuild/netbsd-x64@0.25.3':
- resolution: {integrity: sha512-i5Hm68HXHdgv8wkrt+10Bc50zM0/eonPb/a/OFVfB6Qvpiirco5gBA5bz7S2SHuU+Y4LWn/zehzNX14Sp4r27g==}
+ '@esbuild/netbsd-arm64@0.25.8':
+ resolution: {integrity: sha512-d1KfruIeohqAi6SA+gENMuObDbEjn22olAR7egqnkCD9DGBG0wsEARotkLgXDu6c4ncgWTZJtN5vcgxzWRMzcw==}
engines: {node: '>=18'}
- cpu: [x64]
+ cpu: [arm64]
os: [netbsd]
'@esbuild/netbsd-x64@0.25.5':
@@ -942,11 +762,11 @@ packages:
cpu: [x64]
os: [netbsd]
- '@esbuild/openbsd-arm64@0.25.3':
- resolution: {integrity: sha512-zGAVApJEYTbOC6H/3QBr2mq3upG/LBEXr85/pTtKiv2IXcgKV0RT0QA/hSXZqSvLEpXeIxah7LczB4lkiYhTAQ==}
+ '@esbuild/netbsd-x64@0.25.8':
+ resolution: {integrity: sha512-nVDCkrvx2ua+XQNyfrujIG38+YGyuy2Ru9kKVNyh5jAys6n+l44tTtToqHjino2My8VAY6Lw9H7RI73XFi66Cg==}
engines: {node: '>=18'}
- cpu: [arm64]
- os: [openbsd]
+ cpu: [x64]
+ os: [netbsd]
'@esbuild/openbsd-arm64@0.25.5':
resolution: {integrity: sha512-7A208+uQKgTxHd0G0uqZO8UjK2R0DDb4fDmERtARjSHWxqMTye4Erz4zZafx7Di9Cv+lNHYuncAkiGFySoD+Mw==}
@@ -954,16 +774,10 @@ packages:
cpu: [arm64]
os: [openbsd]
- '@esbuild/openbsd-x64@0.21.5':
- resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [openbsd]
-
- '@esbuild/openbsd-x64@0.25.3':
- resolution: {integrity: sha512-fpqctI45NnCIDKBH5AXQBsD0NDPbEFczK98hk/aa6HJxbl+UtLkJV2+Bvy5hLSLk3LHmqt0NTkKNso1A9y1a4w==}
+ '@esbuild/openbsd-arm64@0.25.8':
+ resolution: {integrity: sha512-j8HgrDuSJFAujkivSMSfPQSAa5Fxbvk4rgNAS5i3K+r8s1X0p1uOO2Hl2xNsGFppOeHOLAVgYwDVlmxhq5h+SQ==}
engines: {node: '>=18'}
- cpu: [x64]
+ cpu: [arm64]
os: [openbsd]
'@esbuild/openbsd-x64@0.25.5':
@@ -972,17 +786,17 @@ packages:
cpu: [x64]
os: [openbsd]
- '@esbuild/sunos-x64@0.21.5':
- resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [sunos]
-
- '@esbuild/sunos-x64@0.25.3':
- resolution: {integrity: sha512-ROJhm7d8bk9dMCUZjkS8fgzsPAZEjtRJqCAmVgB0gMrvG7hfmPmz9k1rwO4jSiblFjYmNvbECL9uhaPzONMfgA==}
+ '@esbuild/openbsd-x64@0.25.8':
+ resolution: {integrity: sha512-1h8MUAwa0VhNCDp6Af0HToI2TJFAn1uqT9Al6DJVzdIBAd21m/G0Yfc77KDM3uF3T/YaOgQq3qTJHPbTOInaIQ==}
engines: {node: '>=18'}
cpu: [x64]
- os: [sunos]
+ os: [openbsd]
+
+ '@esbuild/openharmony-arm64@0.25.8':
+ resolution: {integrity: sha512-r2nVa5SIK9tSWd0kJd9HCffnDHKchTGikb//9c7HX+r+wHYCpQrSgxhlY6KWV1nFo1l4KFbsMlHk+L6fekLsUg==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [openharmony]
'@esbuild/sunos-x64@0.25.5':
resolution: {integrity: sha512-l+azKShMy7FxzY0Rj4RCt5VD/q8mG/e+mDivgspo+yL8zW7qEwctQ6YqKX34DTEleFAvCIUviCFX1SDZRSyMQA==}
@@ -990,17 +804,11 @@ packages:
cpu: [x64]
os: [sunos]
- '@esbuild/win32-arm64@0.21.5':
- resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [win32]
-
- '@esbuild/win32-arm64@0.25.3':
- resolution: {integrity: sha512-YWcow8peiHpNBiIXHwaswPnAXLsLVygFwCB3A7Bh5jRkIBFWHGmNQ48AlX4xDvQNoMZlPYzjVOQDYEzWCqufMQ==}
+ '@esbuild/sunos-x64@0.25.8':
+ resolution: {integrity: sha512-zUlaP2S12YhQ2UzUfcCuMDHQFJyKABkAjvO5YSndMiIkMimPmxA+BYSBikWgsRpvyxuRnow4nS5NPnf9fpv41w==}
engines: {node: '>=18'}
- cpu: [arm64]
- os: [win32]
+ cpu: [x64]
+ os: [sunos]
'@esbuild/win32-arm64@0.25.5':
resolution: {integrity: sha512-O2S7SNZzdcFG7eFKgvwUEZ2VG9D/sn/eIiz8XRZ1Q/DO5a3s76Xv0mdBzVM5j5R639lXQmPmSo0iRpHqUUrsxw==}
@@ -1008,16 +816,10 @@ packages:
cpu: [arm64]
os: [win32]
- '@esbuild/win32-ia32@0.21.5':
- resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==}
- engines: {node: '>=12'}
- cpu: [ia32]
- os: [win32]
-
- '@esbuild/win32-ia32@0.25.3':
- resolution: {integrity: sha512-qspTZOIGoXVS4DpNqUYUs9UxVb04khS1Degaw/MnfMe7goQ3lTfQ13Vw4qY/Nj0979BGvMRpAYbs/BAxEvU8ew==}
+ '@esbuild/win32-arm64@0.25.8':
+ resolution: {integrity: sha512-YEGFFWESlPva8hGL+zvj2z/SaK+pH0SwOM0Nc/d+rVnW7GSTFlLBGzZkuSU9kFIGIo8q9X3ucpZhu8PDN5A2sQ==}
engines: {node: '>=18'}
- cpu: [ia32]
+ cpu: [arm64]
os: [win32]
'@esbuild/win32-ia32@0.25.5':
@@ -1026,16 +828,10 @@ packages:
cpu: [ia32]
os: [win32]
- '@esbuild/win32-x64@0.21.5':
- resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [win32]
-
- '@esbuild/win32-x64@0.25.3':
- resolution: {integrity: sha512-ICgUR+kPimx0vvRzf+N/7L7tVSQeE3BYY+NhHRHXS1kBuPO7z2+7ea2HbhDyZdTephgvNvKrlDDKUexuCVBVvg==}
+ '@esbuild/win32-ia32@0.25.8':
+ resolution: {integrity: sha512-hiGgGC6KZ5LZz58OL/+qVVoZiuZlUYlYHNAmczOm7bs2oE1XriPFi5ZHHrS8ACpV5EjySrnoCKmcbQMN+ojnHg==}
engines: {node: '>=18'}
- cpu: [x64]
+ cpu: [ia32]
os: [win32]
'@esbuild/win32-x64@0.25.5':
@@ -1044,6 +840,12 @@ packages:
cpu: [x64]
os: [win32]
+ '@esbuild/win32-x64@0.25.8':
+ resolution: {integrity: sha512-cn3Yr7+OaaZq1c+2pe+8yxC8E144SReCQjN6/2ynubzYjvyqZjTXfQJpAcQpsdJq3My7XADANiYGHoFC69pLQw==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [win32]
+
'@eslint-community/eslint-utils@4.7.0':
resolution: {integrity: sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
@@ -1054,42 +856,38 @@ packages:
resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==}
engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
- '@eslint/config-array@0.20.1':
- resolution: {integrity: sha512-OL0RJzC/CBzli0DrrR31qzj6d6i6Mm3HByuhflhl4LOBiWxN+3i6/t/ZQQNii4tjksXi8r2CRW1wMpWA2ULUEw==}
+ '@eslint/config-array@0.21.0':
+ resolution: {integrity: sha512-ENIdc4iLu0d93HeYirvKmrzshzofPw6VkZRKQGe9Nv46ZnWUzcF1xV01dcvEg/1wXUR61OmmlSfyeyO7EvjLxQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@eslint/config-helpers@0.2.3':
- resolution: {integrity: sha512-u180qk2Um1le4yf0ruXH3PYFeEZeYC3p/4wCTKrr2U1CmGdzGi3KtY0nuPDH48UJxlKCC5RDzbcbh4X0XlqgHg==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
- '@eslint/core@0.14.0':
- resolution: {integrity: sha512-qIbV0/JZr7iSDjqAc60IqbLdsj9GDt16xQtWD+B78d/HAlvysGdZZ6rpJHGAc2T0FQx1X6thsSPdnoiGKdNtdg==}
+ '@eslint/config-helpers@0.3.0':
+ resolution: {integrity: sha512-ViuymvFmcJi04qdZeDc2whTHryouGcDlaxPqarTD0ZE10ISpxGUVZGZDx4w01upyIynL3iu6IXH2bS1NhclQMw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@eslint/core@0.15.0':
resolution: {integrity: sha512-b7ePw78tEWWkpgZCDYkbqDOP8dmM6qe+AOC6iuJqlq1R/0ahMAeH3qynpnqKFGkMltrp44ohV4ubGyvLX28tzw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ '@eslint/core@0.15.1':
+ resolution: {integrity: sha512-bkOp+iumZCCbt1K1CmWf0R9pM5yKpDv+ZXtvSyQpudrI9kuFLp+bM2WOPXImuD/ceQuaa8f5pj93Y7zyECIGNA==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
'@eslint/eslintrc@3.3.1':
resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@eslint/js@9.28.0':
- resolution: {integrity: sha512-fnqSjGWd/CoIp4EXIxWVK/sHA6DOHN4+8Ix2cX5ycOY7LG0UY8nHCU5pIp2eaE1Mc7Qd8kHspYNzYXT2ojPLzg==}
+ '@eslint/js@9.32.0':
+ resolution: {integrity: sha512-BBpRFZK3eX6uMLKz8WxFOBIFFcGFJ/g8XuwjTHCqHROSIsopI+ddn/d5Cfh36+7+e5edVS8dbSHnBNhrLEX0zg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@eslint/object-schema@2.1.6':
resolution: {integrity: sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@eslint/plugin-kit@0.3.2':
- resolution: {integrity: sha512-4SaFZCNfJqvk/kenHpI8xvN42DMaoycy4PzKc5otHxRswww1kAt82OlBuwRVLofCACCTZEcla2Ydxv8scMXaTg==}
+ '@eslint/plugin-kit@0.3.4':
+ resolution: {integrity: sha512-Ul5l+lHEcw3L5+k8POx6r74mxEYKG5kOb6Xpy2gCRW6zweT6TEhAf8vhxGgjhqrd/VO/Dirhsb+1hNpD1ue9hw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@etherpad/express-session@1.18.4':
- resolution: {integrity: sha512-uiUtcfv0hyEA+Lur00V6yINaa/qe09HiFqmc+DzSXYChILFLgOV3G4p4XJkIRrUOGmqaJRiliB1BoQIiY3Tnjw==}
- engines: {node: '>= 0.8.0'}
-
'@humanfs/core@0.19.1':
resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==}
engines: {node: '>=18.18.0'}
@@ -1110,8 +908,8 @@ packages:
resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==}
engines: {node: '>=18.18'}
- '@iconify-json/simple-icons@1.2.30':
- resolution: {integrity: sha512-KiVViMvnohpS5Q9WMP+4ksOhF3Dnq73Ba9hxBhUIIhp1r6RJ6edMZ8QGKZcFZp/B0/PZC4jAIhXcKKq73WZckQ==}
+ '@iconify-json/simple-icons@1.2.45':
+ resolution: {integrity: sha512-POOz+NjYQDy2fy1u+sIZi05N6r6oSooIGBaBcZLh7w8QOmLgJAZ6mBt+7Messp7ku9ucRua61if33BPoOZCwRQ==}
'@iconify/types@2.0.0':
resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==}
@@ -1145,8 +943,8 @@ packages:
resolution: {integrity: sha512-x/iUDjcS90W69PryLDIMgFyV21YLTnG9zOpPXS7Bkt2b8AsY3zZsIpOLBkYr9fBcF3HbkKaER5hOBZLfpLgYNw==}
engines: {node: '>= 14.0.0'}
- '@koa/router@13.1.0':
- resolution: {integrity: sha512-mNVu1nvkpSd8Q8gMebGbCkDWJ51ODetrFvLKYusej+V0ByD4btqHYnPIzTBLXnQMVUlm/oxVwqmWBY3zQfZilw==}
+ '@koa/router@13.1.1':
+ resolution: {integrity: sha512-JQEuMANYRVHs7lm7KY9PCIjkgJk73h4m4J+g2mkw2Vo1ugPZ17UJVqEH8F+HeAdjKz5do1OaLe7ArDz+z308gw==}
engines: {node: '>= 18'}
'@napi-rs/wasm-runtime@0.2.8':
@@ -1179,8 +977,8 @@ packages:
resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
engines: {node: '>=14'}
- '@playwright/test@1.53.0':
- resolution: {integrity: sha512-15hjKreZDcp7t6TL/7jkAo6Df5STZN09jGiv5dbP9A6vMVncXRqE7/B2SncsyOwrkZRBH2i6/TPOL8BVmm3c7w==}
+ '@playwright/test@1.54.1':
+ resolution: {integrity: sha512-FS8hQ12acieG2dYSksmLOF7BNxnVf2afRJdCuM1eMSxj6QTSE6G4InGF7oApGgDb65MX7AwMVlIkpru0yZA4Xw==}
engines: {node: '>=18'}
hasBin: true
@@ -1428,6 +1226,9 @@ packages:
'@rolldown/pluginutils@1.0.0-beta.11':
resolution: {integrity: sha512-L/gAA/hyCSuzTF1ftlzUSI/IKr2POHsv1Dd78GfqkR83KMNuswWD61JxGV2L7nRwBBBSDr6R1gCkdTmoN7W4ag==}
+ '@rolldown/pluginutils@1.0.0-beta.29':
+ resolution: {integrity: sha512-NIJgOsMjbxAXvoGq/X0gD7VPMQ8j9g0BiDaNjVNVjvl+iKXxL3Jre0v31RmBYeLEmkbj2s02v8vFTbUXi5XS2Q==}
+
'@rollup/pluginutils@5.1.4':
resolution: {integrity: sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ==}
engines: {node: '>=14.0.0'}
@@ -1546,26 +1347,26 @@ packages:
'@scarf/scarf@1.4.0':
resolution: {integrity: sha512-xxeapPiUXdZAE3che6f3xogoJPeZgig6omHEy1rIY5WVsB3H2BHNnZH+gHG6x91SCWyQCzWGsuL2Hh3ClO5/qQ==}
- '@shikijs/core@2.5.0':
- resolution: {integrity: sha512-uu/8RExTKtavlpH7XqnVYBrfBkUc20ngXiX9NSrBhOVZYv/7XQRKUyhtkeflY5QsxC0GbJThCerruZfsUaSldg==}
+ '@shikijs/core@3.9.1':
+ resolution: {integrity: sha512-W5Vwen0KJCtR7KFRo+3JLGAqLUPsfW7e+wZ4yaRBGIogwI9ZlnkpRm9ZV8JtfzMxOkIwZwMmmN0hNErLtm3AYg==}
- '@shikijs/engine-javascript@2.5.0':
- resolution: {integrity: sha512-VjnOpnQf8WuCEZtNUdjjwGUbtAVKuZkVQ/5cHy/tojVVRIRtlWMYVjyWhxOmIq05AlSOv72z7hRNRGVBgQOl0w==}
+ '@shikijs/engine-javascript@3.9.1':
+ resolution: {integrity: sha512-4hGenxYpAmtALryKsdli2K58F0s7RBYpj/RSDcAAGfRM6eTEGI5cZnt86mr+d9/4BaZ5sH5s4p3VU5irIdhj9Q==}
- '@shikijs/engine-oniguruma@2.5.0':
- resolution: {integrity: sha512-pGd1wRATzbo/uatrCIILlAdFVKdxImWJGQ5rFiB5VZi2ve5xj3Ax9jny8QvkaV93btQEwR/rSz5ERFpC5mKNIw==}
+ '@shikijs/engine-oniguruma@3.9.1':
+ resolution: {integrity: sha512-WPlL/xqviwS3te4unSGGGfflKsuHLMI6tPdNYvgz/IygcBT6UiwDFSzjBKyebwi5GGSlXsjjdoJLIBnAplmEZw==}
- '@shikijs/langs@2.5.0':
- resolution: {integrity: sha512-Qfrrt5OsNH5R+5tJ/3uYBBZv3SuGmnRPejV9IlIbFH3HTGLDlkqgHymAlzklVmKBjAaVmkPkyikAV/sQ1wSL+w==}
+ '@shikijs/langs@3.9.1':
+ resolution: {integrity: sha512-Vyy2Yv9PP3Veh3VSsIvNncOR+O93wFsNYgN2B6cCCJlS7H9SKFYc55edsqernsg8WT/zam1cfB6llJsQWLnVhA==}
- '@shikijs/themes@2.5.0':
- resolution: {integrity: sha512-wGrk+R8tJnO0VMzmUExHR+QdSaPUl/NKs+a4cQQRWyoc3YFbUzuLEi/KWK1hj+8BfHRKm2jNhhJck1dfstJpiw==}
+ '@shikijs/themes@3.9.1':
+ resolution: {integrity: sha512-zAykkGECNICCMXpKeVvq04yqwaSuAIvrf8MjsU5bzskfg4XreU+O0B5wdNCYRixoB9snd3YlZ373WV5E/g5T9A==}
- '@shikijs/transformers@2.5.0':
- resolution: {integrity: sha512-SI494W5X60CaUwgi8u4q4m4s3YAFSxln3tzNjOSYqq54wlVgz0/NbbXEb3mdLbqMBztcmS7bVTaEd2w0qMmfeg==}
+ '@shikijs/transformers@3.9.1':
+ resolution: {integrity: sha512-QI4Bh565EhKGaefiDAyn5o7S8rQIUGXcOjZANSiQHa/KSGCyJTZP9UUiRbvdovVpaI/nagODX6mspFk/vcYOQQ==}
- '@shikijs/types@2.5.0':
- resolution: {integrity: sha512-ygl5yhxki9ZLNuNpPitBWvcy9fsSKKaRuO4BAlMyagszQidxcpLAr0qiW/q43DtSIDxO6hEbtYLiFZNXO/hdGw==}
+ '@shikijs/types@3.9.1':
+ resolution: {integrity: sha512-rqM3T7a0iM1oPKz9iaH/cVgNX9Vz1HERcUcXJ94/fulgVdwqfnhXzGxO4bLrAnh/o5CPLy3IcYedogfV+Ns0Qg==}
'@shikijs/vscode-textmate@10.0.2':
resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==}
@@ -1749,6 +1550,11 @@ packages:
'@types/content-disposition@0.5.9':
resolution: {integrity: sha512-8uYXI3Gw35MhiVYhG3s295oihrxRyytcRHjSjqnqZVDDy/xcGBRny7+Xj1Wgfhv5QzRtN2hB2dVRBUX9XW3UcQ==}
+ '@types/cookie-parser@1.4.9':
+ resolution: {integrity: sha512-tGZiZ2Gtc4m3wIdLkZ8mkj1T6CEHb35+VApbL2T14Dew8HA7c+04dmKqsKRNC+8RJPm16JEK0tFSwdZqubfc4g==}
+ peerDependencies:
+ '@types/express': '*'
+
'@types/cookiejar@2.1.5':
resolution: {integrity: sha512-he+DHOWReW0nghN24E1WUqM0efK4kI9oTqDm6XmK8ZPe2djZ90BSNdGnIyCLzCPw7/pogPlGbzI2wHGGmi4O/Q==}
@@ -1773,6 +1579,9 @@ packages:
'@types/express-serve-static-core@4.19.6':
resolution: {integrity: sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A==}
+ '@types/express-session@1.18.2':
+ resolution: {integrity: sha512-k+I0BxwVXsnEU2hV77cCobC08kIsn4y44C3gC0b46uxZVMaXA04lSPgRLR/bSL2w0t0ShJiG8o4jPzRG/nscFg==}
+
'@types/express@4.17.21':
resolution: {integrity: sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==}
@@ -1806,8 +1615,8 @@ packages:
'@types/json5@0.0.29':
resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==}
- '@types/jsonwebtoken@9.0.9':
- resolution: {integrity: sha512-uoe+GxEuHbvy12OUQct2X9JenKM3qAscquYymuQN4fMWG9DBQtykrQEFcAbVACF7qaLw9BePSodUL0kquqBJpQ==}
+ '@types/jsonwebtoken@9.0.10':
+ resolution: {integrity: sha512-asx5hIG9Qmf/1oStypjanR7iKTv0gXQ1Ov/jfrX6kS/EO0OFni8orbmGCn0672NHR3kXHwpAwR+B368ZGN/2rA==}
'@types/keygrip@1.0.6':
resolution: {integrity: sha512-lZuNAY9xeJt7Bx4t4dx0rYCDqGPW8RXhQZK1td7d4H6E9zYbLoOtjBvfwdTKpsyxQI/2jv+armjX/RW+ZNpXOQ==}
@@ -1818,21 +1627,12 @@ packages:
'@types/koa@2.15.0':
resolution: {integrity: sha512-7QFsywoE5URbuVnG3loe03QXuGajrnotr3gQkXcEBShORai23MePfFYdhz90FEtBBpkyIYQbVD+evKtloCgX3g==}
- '@types/linkify-it@5.0.0':
- resolution: {integrity: sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==}
-
'@types/lockfile@1.0.4':
resolution: {integrity: sha512-Q8oFIHJHr+htLrTXN2FuZfg+WXVHQRwU/hC2GpUu+Q8e3FUM9EDkS2pE3R2AO1ZGu56f479ybdMCNF1DAu8cAQ==}
- '@types/markdown-it@14.1.2':
- resolution: {integrity: sha512-promo4eFwuiW+TfGxhi+0x3czqTYJkG8qB17ZUJiVF10Xm7NLVRSLUsfRTU/6h1e24VvRnXCx+hG7li58lkzog==}
-
'@types/mdast@4.0.4':
resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==}
- '@types/mdurl@2.0.0':
- resolution: {integrity: sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==}
-
'@types/methods@1.1.4':
resolution: {integrity: sha512-ymXWVrDiCxTBE3+RIrrP533E70eA+9qu7zdWoHuOmGujkYtzf4HQF96b8nwHLqhuf4ykX61IGRIB38CC6/sImQ==}
@@ -1851,11 +1651,11 @@ packages:
'@types/node-fetch@2.6.12':
resolution: {integrity: sha512-8nneRWKCg3rMtF69nLQJnOYUcbafYeFSjqkw3jCRLsqkWFlHaoQrr5mXmofFGOx3DKn7UfmBMyov8ySvLRVldA==}
- '@types/node@24.0.1':
- resolution: {integrity: sha512-MX4Zioh39chHlDJbKmEgydJDS3tspMP/lnQC67G3SWsTnb9NeYVWOjkxpOSy4oMfPs4StcWHwBrvUb4ybfnuaw==}
+ '@types/node@24.1.0':
+ resolution: {integrity: sha512-ut5FthK5moxFKH2T1CUOC6ctR67rQRvvHdFLCD2Ql6KXmMuCrjsSsRI9UsLCm9M18BMwClv4pn327UvB7eeO1w==}
- '@types/oidc-provider@9.1.0':
- resolution: {integrity: sha512-UoC3ZQur+TtVL5hiUN8LoCbXocS2WI2eAPBtZtv1Y5F3vW0QTBawFAgDoctPqCQF73kah/Nzb5Gd3m5GtxFxiA==}
+ '@types/oidc-provider@9.1.1':
+ resolution: {integrity: sha512-sG4UcE4AbUwAsEpyrcyoqZ383wJiQObZU+gTa1Iv288+l09HwSr88hBZE2IBLlXS+RKmLId0i4B430PBFO/XRA==}
'@types/qs@6.9.18':
resolution: {integrity: sha512-kK7dgTYDyGqS+e2Q4aK9X3D7q234CIZ1Bv0q/7Z5IwRDoADNU81xXJK/YVyLbLTZCoIwUoDoffFeF+p/eIklAA==}
@@ -1930,11 +1730,11 @@ packages:
typescript:
optional: true
- '@typescript-eslint/eslint-plugin@8.34.0':
- resolution: {integrity: sha512-QXwAlHlbcAwNlEEMKQS2RCgJsgXrTJdjXT08xEgbPFa2yYQgVjBymxP5DrfrE7X7iodSzd9qBUHUycdyVJTW1w==}
+ '@typescript-eslint/eslint-plugin@8.38.0':
+ resolution: {integrity: sha512-CPoznzpuAnIOl4nhj4tRr4gIPj5AfKgkiJmGQDaq+fQnRJTYlcBjbX3wbciGmpoPf8DREufuPRe1tNMZnGdanA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
- '@typescript-eslint/parser': ^8.34.0
+ '@typescript-eslint/parser': ^8.38.0
eslint: ^8.57.0 || ^9.0.0
typescript: '>=4.8.4 <5.9.0'
@@ -1948,15 +1748,15 @@ packages:
typescript:
optional: true
- '@typescript-eslint/parser@8.34.0':
- resolution: {integrity: sha512-vxXJV1hVFx3IXz/oy2sICsJukaBrtDEQSBiV48/YIV5KWjX1dO+bcIr/kCPrW6weKXvsaGKFNlwH0v2eYdRRbA==}
+ '@typescript-eslint/parser@8.38.0':
+ resolution: {integrity: sha512-Zhy8HCvBUEfBECzIl1PKqF4p11+d0aUJS1GeUiuqK9WmOug8YCmC4h4bjyBvMyAMI9sbRczmrYL5lKg/YMbrcQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
typescript: '>=4.8.4 <5.9.0'
- '@typescript-eslint/project-service@8.34.0':
- resolution: {integrity: sha512-iEgDALRf970/B2YExmtPMPF54NenZUf4xpL3wsCRx/lgjz6ul/l13R81ozP/ZNuXfnLCS+oPmG7JIxfdNYKELw==}
+ '@typescript-eslint/project-service@8.38.0':
+ resolution: {integrity: sha512-dbK7Jvqcb8c9QfH01YB6pORpqX1mn5gDZc9n63Ak/+jD67oWXn3Gs0M6vddAN+eDXBCS5EmNWzbSxsn9SzFWWg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
typescript: '>=4.8.4 <5.9.0'
@@ -1965,12 +1765,12 @@ packages:
resolution: {integrity: sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA==}
engines: {node: ^18.18.0 || >=20.0.0}
- '@typescript-eslint/scope-manager@8.34.0':
- resolution: {integrity: sha512-9Ac0X8WiLykl0aj1oYQNcLZjHgBojT6cW68yAgZ19letYu+Hxd0rE0veI1XznSSst1X5lwnxhPbVdwjDRIomRw==}
+ '@typescript-eslint/scope-manager@8.38.0':
+ resolution: {integrity: sha512-WJw3AVlFFcdT9Ri1xs/lg8LwDqgekWXWhH3iAF+1ZM+QPd7oxQ6jvtW/JPwzAScxitILUIFs0/AnQ/UWHzbATQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@typescript-eslint/tsconfig-utils@8.34.0':
- resolution: {integrity: sha512-+W9VYHKFIzA5cBeooqQxqNriAP0QeQ7xTiDuIOr71hzgffm3EL2hxwWBIIj4GuofIbKxGNarpKqIq6Q6YrShOA==}
+ '@typescript-eslint/tsconfig-utils@8.38.0':
+ resolution: {integrity: sha512-Lum9RtSE3EroKk/bYns+sPOodqb2Fv50XOl/gMviMKNvanETUuUcC9ObRbzrJ4VSd2JalPqgSAavwrPiPvnAiQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
typescript: '>=4.8.4 <5.9.0'
@@ -1985,8 +1785,8 @@ packages:
typescript:
optional: true
- '@typescript-eslint/type-utils@8.34.0':
- resolution: {integrity: sha512-n7zSmOcUVhcRYC75W2pnPpbO1iwhJY3NLoHEtbJwJSNlVAZuwqu05zY3f3s2SDWWDSo9FdN5szqc73DCtDObAg==}
+ '@typescript-eslint/type-utils@8.38.0':
+ resolution: {integrity: sha512-c7jAvGEZVf0ao2z+nnz8BUaHZD09Agbh+DY7qvBQqLiz8uJzRgVPj5YvOh8I8uEiH8oIUGIfHzMwUcGVco/SJg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
@@ -1996,8 +1796,8 @@ packages:
resolution: {integrity: sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==}
engines: {node: ^18.18.0 || >=20.0.0}
- '@typescript-eslint/types@8.34.0':
- resolution: {integrity: sha512-9V24k/paICYPniajHfJ4cuAWETnt7Ssy+R0Rbcqo5sSFr3QEZ/8TSoUi9XeXVBGXCaLtwTOKSLGcInCAvyZeMA==}
+ '@typescript-eslint/types@8.38.0':
+ resolution: {integrity: sha512-wzkUfX3plUqij4YwWaJyqhiPE5UCRVlFpKn1oCRn2O1bJ592XxWJj8ROQ3JD5MYXLORW84063z3tZTb/cs4Tyw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@typescript-eslint/typescript-estree@7.18.0':
@@ -2009,8 +1809,8 @@ packages:
typescript:
optional: true
- '@typescript-eslint/typescript-estree@8.34.0':
- resolution: {integrity: sha512-rOi4KZxI7E0+BMqG7emPSK1bB4RICCpF7QD3KCLXn9ZvWoESsOMlHyZPAHyG04ujVplPaHbmEvs34m+wjgtVtg==}
+ '@typescript-eslint/typescript-estree@8.38.0':
+ resolution: {integrity: sha512-fooELKcAKzxux6fA6pxOflpNS0jc+nOQEEOipXFNjSlBS6fqrJOVY/whSn70SScHrcJ2LDsxWrneFoWYSVfqhQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
typescript: '>=4.8.4 <5.9.0'
@@ -2021,8 +1821,8 @@ packages:
peerDependencies:
eslint: ^8.56.0
- '@typescript-eslint/utils@8.34.0':
- resolution: {integrity: sha512-8L4tWatGchV9A1cKbjaavS6mwYwp39jql8xUmIIKJdm+qiaeHy5KMKlBrf30akXAWBzn2SqKsNOtSENWUwg7XQ==}
+ '@typescript-eslint/utils@8.38.0':
+ resolution: {integrity: sha512-hHcMA86Hgt+ijJlrD8fX0j1j8w4C92zue/8LOPAFioIno+W0+L7KqE8QZKCcPGc/92Vs9x36w/4MPTJhqXdyvg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
@@ -2032,8 +1832,8 @@ packages:
resolution: {integrity: sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==}
engines: {node: ^18.18.0 || >=20.0.0}
- '@typescript-eslint/visitor-keys@8.34.0':
- resolution: {integrity: sha512-qHV7pW7E85A0x6qyrFn+O+q1k1p3tQCsqIZ1KZ5ESLXY57aTvUd3/a4rdPTeXisvhXn2VQG0VSKUqs8KHF2zcA==}
+ '@typescript-eslint/visitor-keys@8.38.0':
+ resolution: {integrity: sha512-pWrTcoFNWuwHlA9CvlfSsGWs14JxfN1TH25zM5L7o0pRLhsoZkDnTsXfQRJBEWJoV5DL0jf+Z+sxiud+K0mq1g==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@ungap/structured-clone@1.3.0':
@@ -2119,18 +1919,18 @@ packages:
peerDependencies:
vite: ^4 || ^5 || ^6 || ^7.0.0-beta.0
- '@vitejs/plugin-vue@5.2.3':
- resolution: {integrity: sha512-IYSLEQj4LgZZuoVpdSUCw3dIynTWQgPlaRP6iAvMle4My0HdYwr5g5wQAfwOeHQBmYwEkqF70nRpSilr6PoUDg==}
- engines: {node: ^18.0.0 || >=20.0.0}
+ '@vitejs/plugin-vue@6.0.1':
+ resolution: {integrity: sha512-+MaE752hU0wfPFJEUAIxqw18+20euHHdxVtMvbFcOEpjEyfqXH/5DCoTHiVJ0J29EhTJdoTkjEv5YBKU9dnoTw==}
+ engines: {node: ^20.19.0 || >=22.12.0}
peerDependencies:
- vite: ^5.0.0 || ^6.0.0
+ vite: ^5.0.0 || ^6.0.0 || ^7.0.0
vue: ^3.2.25
- '@vitest/expect@3.2.3':
- resolution: {integrity: sha512-W2RH2TPWVHA1o7UmaFKISPvdicFJH+mjykctJFoAkUw+SPTJTGjUNdKscFBrqM7IPnCVu6zihtKYa7TkZS1dkQ==}
+ '@vitest/expect@3.2.4':
+ resolution: {integrity: sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==}
- '@vitest/mocker@3.2.3':
- resolution: {integrity: sha512-cP6fIun+Zx8he4rbWvi+Oya6goKQDZK+Yq4hhlggwQBbrlOQ4qtZ+G4nxB6ZnzI9lyIb+JnvyiJnPC2AGbKSPA==}
+ '@vitest/mocker@3.2.4':
+ resolution: {integrity: sha512-46ryTE9RZO/rfDd7pEqFl7etuyzekzEhUbTW3BvmeO/BcCMEgq59BKhek3dXDWgAj4oMK6OZi+vRr1wPW6qjEQ==}
peerDependencies:
msw: ^2.4.9
vite: ^5.0.0 || ^6.0.0 || ^7.0.0-0
@@ -2140,64 +1940,66 @@ packages:
vite:
optional: true
- '@vitest/pretty-format@3.2.3':
- resolution: {integrity: sha512-yFglXGkr9hW/yEXngO+IKMhP0jxyFw2/qys/CK4fFUZnSltD+MU7dVYGrH8rvPcK/O6feXQA+EU33gjaBBbAng==}
+ '@vitest/pretty-format@3.2.4':
+ resolution: {integrity: sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==}
- '@vitest/runner@3.2.3':
- resolution: {integrity: sha512-83HWYisT3IpMaU9LN+VN+/nLHVBCSIUKJzGxC5RWUOsK1h3USg7ojL+UXQR3b4o4UBIWCYdD2fxuzM7PQQ1u8w==}
+ '@vitest/runner@3.2.4':
+ resolution: {integrity: sha512-oukfKT9Mk41LreEW09vt45f8wx7DordoWUZMYdY/cyAk7w5TWkTRCNZYF7sX7n2wB7jyGAl74OxgwhPgKaqDMQ==}
- '@vitest/snapshot@3.2.3':
- resolution: {integrity: sha512-9gIVWx2+tysDqUmmM1L0hwadyumqssOL1r8KJipwLx5JVYyxvVRfxvMq7DaWbZZsCqZnu/dZedaZQh4iYTtneA==}
+ '@vitest/snapshot@3.2.4':
+ resolution: {integrity: sha512-dEYtS7qQP2CjU27QBC5oUOxLE/v5eLkGqPE0ZKEIDGMs4vKWe7IjgLOeauHsR0D5YuuycGRO5oSRXnwnmA78fQ==}
- '@vitest/spy@3.2.3':
- resolution: {integrity: sha512-JHu9Wl+7bf6FEejTCREy+DmgWe+rQKbK+y32C/k5f4TBIAlijhJbRBIRIOCEpVevgRsCQR2iHRUH2/qKVM/plw==}
+ '@vitest/spy@3.2.4':
+ resolution: {integrity: sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==}
- '@vitest/utils@3.2.3':
- resolution: {integrity: sha512-4zFBCU5Pf+4Z6v+rwnZ1HU1yzOKKvDkMXZrymE2PBlbjKJRlrOxbvpfPSvJTGRIwGoahaOGvp+kbCoxifhzJ1Q==}
+ '@vitest/utils@3.2.4':
+ resolution: {integrity: sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==}
- '@vue/compiler-core@3.5.13':
- resolution: {integrity: sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q==}
+ '@vue/compiler-core@3.5.18':
+ resolution: {integrity: sha512-3slwjQrrV1TO8MoXgy3aynDQ7lslj5UqDxuHnrzHtpON5CBinhWjJETciPngpin/T3OuW3tXUf86tEurusnztw==}
- '@vue/compiler-dom@3.5.13':
- resolution: {integrity: sha512-ZOJ46sMOKUjO3e94wPdCzQ6P1Lx/vhp2RSvfaab88Ajexs0AHeV0uasYhi99WPaogmBlRHNRuly8xV75cNTMDA==}
+ '@vue/compiler-dom@3.5.18':
+ resolution: {integrity: sha512-RMbU6NTU70++B1JyVJbNbeFkK+A+Q7y9XKE2EM4NLGm2WFR8x9MbAtWxPPLdm0wUkuZv9trpwfSlL6tjdIa1+A==}
- '@vue/compiler-sfc@3.5.13':
- resolution: {integrity: sha512-6VdaljMpD82w6c2749Zhf5T9u5uLBWKnVue6XWxprDobftnletJ8+oel7sexFfM3qIxNmVE7LSFGTpv6obNyaQ==}
+ '@vue/compiler-sfc@3.5.18':
+ resolution: {integrity: sha512-5aBjvGqsWs+MoxswZPoTB9nSDb3dhd1x30xrrltKujlCxo48j8HGDNj3QPhF4VIS0VQDUrA1xUfp2hEa+FNyXA==}
- '@vue/compiler-ssr@3.5.13':
- resolution: {integrity: sha512-wMH6vrYHxQl/IybKJagqbquvxpWCuVYpoUJfCqFZwa/JY1GdATAQ+TgVtgrwwMZ0D07QhA99rs/EAAWfvG6KpA==}
+ '@vue/compiler-ssr@3.5.18':
+ resolution: {integrity: sha512-xM16Ak7rSWHkM3m22NlmcdIM+K4BMyFARAfV9hYFl+SFuRzrZ3uGMNW05kA5pmeMa0X9X963Kgou7ufdbpOP9g==}
- '@vue/devtools-api@7.7.2':
- resolution: {integrity: sha512-1syn558KhyN+chO5SjlZIwJ8bV/bQ1nOVTG66t2RbG66ZGekyiYNmRO7X9BJCXQqPsFHlnksqvPhce2qpzxFnA==}
+ '@vue/devtools-api@7.7.7':
+ resolution: {integrity: sha512-lwOnNBH2e7x1fIIbVT7yF5D+YWhqELm55/4ZKf45R9T8r9dE2AIOy8HKjfqzGsoTHFbWbr337O4E0A0QADnjBg==}
- '@vue/devtools-kit@7.7.2':
- resolution: {integrity: sha512-CY0I1JH3Z8PECbn6k3TqM1Bk9ASWxeMtTCvZr7vb+CHi+X/QwQm5F1/fPagraamKMAHVfuuCbdcnNg1A4CYVWQ==}
+ '@vue/devtools-kit@7.7.7':
+ resolution: {integrity: sha512-wgoZtxcTta65cnZ1Q6MbAfePVFxfM+gq0saaeytoph7nEa7yMXoi6sCPy4ufO111B9msnw0VOWjPEFCXuAKRHA==}
- '@vue/devtools-shared@7.7.2':
- resolution: {integrity: sha512-uBFxnp8gwW2vD6FrJB8JZLUzVb6PNRG0B0jBnHsOH8uKyva2qINY8PTF5Te4QlTbMDqU5K6qtJDr6cNsKWhbOA==}
+ '@vue/devtools-shared@7.7.7':
+ resolution: {integrity: sha512-+udSj47aRl5aKb0memBvcUG9koarqnxNM5yjuREvqwK6T3ap4mn3Zqqc17QrBFTqSMjr3HK1cvStEZpMDpfdyw==}
- '@vue/reactivity@3.5.13':
- resolution: {integrity: sha512-NaCwtw8o48B9I6L1zl2p41OHo/2Z4wqYGGIK1Khu5T7yxrn+ATOixn/Udn2m+6kZKB/J7cuT9DbWWhRxqixACg==}
+ '@vue/reactivity@3.5.18':
+ resolution: {integrity: sha512-x0vPO5Imw+3sChLM5Y+B6G1zPjwdOri9e8V21NnTnlEvkxatHEH5B5KEAJcjuzQ7BsjGrKtfzuQ5eQwXh8HXBg==}
- '@vue/runtime-core@3.5.13':
- resolution: {integrity: sha512-Fj4YRQ3Az0WTZw1sFe+QDb0aXCerigEpw418pw1HBUKFtnQHWzwojaukAs2X/c9DQz4MQ4bsXTGlcpGxU/RCIw==}
+ '@vue/runtime-core@3.5.18':
+ resolution: {integrity: sha512-DUpHa1HpeOQEt6+3nheUfqVXRog2kivkXHUhoqJiKR33SO4x+a5uNOMkV487WPerQkL0vUuRvq/7JhRgLW3S+w==}
- '@vue/runtime-dom@3.5.13':
- resolution: {integrity: sha512-dLaj94s93NYLqjLiyFzVs9X6dWhTdAlEAciC3Moq7gzAc13VJUdCnjjRurNM6uTLFATRHexHCTu/Xp3eW6yoog==}
+ '@vue/runtime-dom@3.5.18':
+ resolution: {integrity: sha512-YwDj71iV05j4RnzZnZtGaXwPoUWeRsqinblgVJwR8XTXYZ9D5PbahHQgsbmzUvCWNF6x7siQ89HgnX5eWkr3mw==}
- '@vue/server-renderer@3.5.13':
- resolution: {integrity: sha512-wAi4IRJV/2SAW3htkTlB+dHeRmpTiVIK1OGLWV1yeStVSebSQQOwGwIq0D3ZIoBj2C2qpgz5+vX9iEBkTdk5YA==}
+ '@vue/server-renderer@3.5.18':
+ resolution: {integrity: sha512-PvIHLUoWgSbDG7zLHqSqaCoZvHi6NNmfVFOqO+OnwvqMz/tqQr3FuGWS8ufluNddk7ZLBJYMrjcw1c6XzR12mA==}
peerDependencies:
- vue: 3.5.13
+ vue: 3.5.18
- '@vue/shared@3.5.13':
- resolution: {integrity: sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ==}
+ '@vue/shared@3.5.18':
+ resolution: {integrity: sha512-cZy8Dq+uuIXbxCZpuLd2GJdeSO/lIzIspC2WtkqIpje5QyFbvLaI5wZtdUjLHjGZrlVX6GilejatWwVYYRc8tA==}
- '@vueuse/core@12.8.2':
- resolution: {integrity: sha512-HbvCmZdzAu3VGi/pWYm5Ut+Kd9mn1ZHnn4L5G8kOQTPs/IwIAmJoBrmYk2ckLArgMXZj0AW3n5CAejLUO+PhdQ==}
+ '@vueuse/core@13.6.0':
+ resolution: {integrity: sha512-DJbD5fV86muVmBgS9QQPddVX7d9hWYswzlf4bIyUD2dj8GC46R1uNClZhVAmsdVts4xb2jwp1PbpuiA50Qee1A==}
+ peerDependencies:
+ vue: ^3.5.0
- '@vueuse/integrations@12.8.2':
- resolution: {integrity: sha512-fbGYivgK5uBTRt7p5F3zy6VrETlV9RtZjBqd1/HxGdjdckBgBM4ugP8LHpjolqTj14TXTxSK1ZfgPbHYyGuH7g==}
+ '@vueuse/integrations@13.6.0':
+ resolution: {integrity: sha512-dVFdgwYvkYjdizRL3ESdUW+Hg84i9Yhuzs+Ec3kEcuzJmT5xhiL/IGdw4z394qSBngUQvFi+wbHwhHX3EGbAxQ==}
peerDependencies:
async-validator: ^4
axios: ^1
@@ -2210,7 +2012,8 @@ packages:
nprogress: ^0.2
qrcode: ^1.5
sortablejs: ^1
- universal-cookie: ^7
+ universal-cookie: ^7 || ^8
+ vue: ^3.5.0
peerDependenciesMeta:
async-validator:
optional: true
@@ -2237,11 +2040,13 @@ packages:
universal-cookie:
optional: true
- '@vueuse/metadata@12.8.2':
- resolution: {integrity: sha512-rAyLGEuoBJ/Il5AmFHiziCPdQzRt88VxR+Y/A/QhJ1EWtWqPBBAxTAFaSkviwEuOEZNtW8pvkPgoCZQ+HxqW1A==}
+ '@vueuse/metadata@13.6.0':
+ resolution: {integrity: sha512-rnIH7JvU7NjrpexTsl2Iwv0V0yAx9cw7+clymjKuLSXG0QMcLD0LDgdNmXic+qL0SGvgSVPEpM9IDO/wqo1vkQ==}
- '@vueuse/shared@12.8.2':
- resolution: {integrity: sha512-dznP38YzxZoNloI0qpEfpkms8knDtaoQ6Y/sfS0L7Yki4zh40LFHEhur0odJC6xTHG5dxWVPiUWBXn+wCG2s5w==}
+ '@vueuse/shared@13.6.0':
+ resolution: {integrity: sha512-pDykCSoS2T3fsQrYqf9SyF0QXWHmcGPQ+qiOVjlYSzlWd9dgppB2bFSM1GgKKkt7uzn0BBMV3IbJsUfHG2+BCg==}
+ peerDependencies:
+ vue: ^3.5.0
accepts@1.3.8:
resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==}
@@ -2261,6 +2066,10 @@ packages:
resolution: {integrity: sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==}
engines: {node: '>= 14'}
+ agent-base@7.1.4:
+ resolution: {integrity: sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==}
+ engines: {node: '>= 14'}
+
ajv-formats@2.1.1:
resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==}
peerDependencies:
@@ -2275,10 +2084,6 @@ packages:
ajv@8.17.1:
resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==}
- algoliasearch@5.23.2:
- resolution: {integrity: sha512-IhKP22Czzg8Y9HaF6aIb5aAHK2HBj4VAzLLnKEPUnxqDwxpryH9sXbm0NkeY7Cby9GlF81wF+AG/VulKDFBphg==}
- engines: {node: '>= 14.0.0'}
-
ansi-regex@5.0.1:
resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
engines: {node: '>=8'}
@@ -2362,8 +2167,8 @@ packages:
resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==}
engines: {node: '>= 0.4'}
- axios@1.8.4:
- resolution: {integrity: sha512-eBSYY4Y68NNlHbHBMdeDmKNtDgXWhQsJcGqzO3iLUM0GraQFSS9cVgPX5I9b3lbdFKyYoAEGAZF1DwhTaljNAw==}
+ axios@1.10.0:
+ resolution: {integrity: sha512-/1xYAC4MP/HEG+3duIhFr4ZQXR4sQXOIe+o6sdqzeykGLx6Upp/1p8MHqhINOvGeP7xyNHe7tsiJByc4SSVUxw==}
bail@2.0.2:
resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==}
@@ -2389,8 +2194,8 @@ packages:
binary-search@1.3.6:
resolution: {integrity: sha512-nbE1WxOTTrUWIfsfZ4aHGYu5DOuNkbxGokjV6Z2kxfJK3uaAb8zNK1muzOeipoLHZjInT4Br88BHpzevc681xA==}
- birpc@0.2.19:
- resolution: {integrity: sha512-5WeXXAvTmitV1RqJFppT5QtUiz2p1mRSYU000Jkft5ZUCLJIk4uQriYNO50HknxKwM6jd8utNc66K1qGIwwWBQ==}
+ birpc@2.5.0:
+ resolution: {integrity: sha512-VSWO/W6nNQdyP520F1mhf+Lc2f8pjGQOtoHHm7Ze8Go1kX7akpVIrtTa0fn+HB0QJEDVacl6aO08YE0PgXfdnQ==}
body-parser@1.20.3:
resolution: {integrity: sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==}
@@ -2534,9 +2339,8 @@ packages:
cookie-signature@1.0.6:
resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==}
- cookie@0.4.2:
- resolution: {integrity: sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==}
- engines: {node: '>= 0.6'}
+ cookie-signature@1.0.7:
+ resolution: {integrity: sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==}
cookie@0.7.1:
resolution: {integrity: sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==}
@@ -2583,8 +2387,8 @@ packages:
resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==}
engines: {node: '>= 8'}
- cssstyle@4.3.0:
- resolution: {integrity: sha512-6r0NiY0xizYqfBvWp1G7WXJ06/bZyrk7Dc6PHql82C/pKGUTKu4yAX4Y8JPamb1ob9nBKuxWzCGTRuGwU3yxJQ==}
+ cssstyle@4.6.0:
+ resolution: {integrity: sha512-2z+rWdzbbSZv6/rhtvzvqeZQHrBaqgogqt85sqFNbabZOuFbCVFb8kPeEtZjiKkbrm395irpNKiYeFeLiQnFPg==}
engines: {node: '>=18'}
csstype@3.1.3:
@@ -2661,8 +2465,8 @@ packages:
resolution: {integrity: sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==}
engines: {node: '>=10'}
- decimal.js@10.5.0:
- resolution: {integrity: sha512-8vDa8Qxvr/+d94hSh5P3IJwI5t8/c0KsMp+g8bNw9cY2icONa5aPfvKeieW1WlG0WQYwwhJ7mjui2xtiePQSXw==}
+ decimal.js@10.6.0:
+ resolution: {integrity: sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==}
deep-eql@5.0.2:
resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==}
@@ -2757,9 +2561,6 @@ packages:
electron-to-chromium@1.5.132:
resolution: {integrity: sha512-QgX9EBvWGmvSRa74zqfnG7+Eno0Ak0vftBll0Pt2/z5b3bEGYL6OUXLgKPtvx73dn3dvwrlyVkjPKRRlhLYTEg==}
- emoji-regex-xs@1.0.0:
- resolution: {integrity: sha512-LRlerrMYoIDrT6jgpeZ2YYl/L8EulRTt5hQcYjy5AInh7HWXKimpqx68aknBFpGL2+/IcogTcaydJEgaTmOpDg==}
-
emoji-regex@8.0.0:
resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
@@ -2789,6 +2590,10 @@ packages:
resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
engines: {node: '>=0.12'}
+ entities@6.0.1:
+ resolution: {integrity: sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==}
+ engines: {node: '>=0.12'}
+
error-ex@1.3.2:
resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==}
@@ -2823,18 +2628,13 @@ packages:
resolution: {integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==}
engines: {node: '>= 0.4'}
- esbuild@0.21.5:
- resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==}
- engines: {node: '>=12'}
- hasBin: true
-
- esbuild@0.25.3:
- resolution: {integrity: sha512-qKA6Pvai73+M2FtftpNKRxJ78GIjmFXFxd/1DVBqGo/qNhLSfv+G12n9pNoWdytJC8U00TrViOwpjT0zgqQS8Q==}
+ esbuild@0.25.5:
+ resolution: {integrity: sha512-P8OtKZRv/5J5hhz0cUAdu/cLuPIKXpQl1R9pZtvmHWQvrAUVd0UNIPT4IB4W3rNOqVO0rlqHmCIbSwxh/c9yUQ==}
engines: {node: '>=18'}
hasBin: true
- esbuild@0.25.5:
- resolution: {integrity: sha512-P8OtKZRv/5J5hhz0cUAdu/cLuPIKXpQl1R9pZtvmHWQvrAUVd0UNIPT4IB4W3rNOqVO0rlqHmCIbSwxh/c9yUQ==}
+ esbuild@0.25.8:
+ resolution: {integrity: sha512-vVC0USHGtMi8+R4Kz8rt6JhEWLxsv9Rnu/lGYbPR8u47B+DCBksq9JarW0zOO7bs37hyOK1l2/oqtbciutL5+Q==}
engines: {node: '>=18'}
hasBin: true
@@ -2992,8 +2792,8 @@ packages:
resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- eslint@9.28.0:
- resolution: {integrity: sha512-ocgh41VhRlf9+fVpe7QKzwLj9c92fDiqOj8Y3Sd4/ZmVA4Btx4PlUYPq4pp9JDyupkf1upbEXecxL2mwNV7jPQ==}
+ eslint@9.32.0:
+ resolution: {integrity: sha512-LSehfdpgMeWcTZkWZVIJl+tkZ2nuSkyyB9C27MZqFWXuph7DvaowgcTvKqxvpLW1JZIk8PN7hFY3Rj9LQ7m7lg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
hasBin: true
peerDependencies:
@@ -3041,8 +2841,8 @@ packages:
resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==}
engines: {node: '>= 0.6'}
- etherpad-cli-client@3.0.2:
- resolution: {integrity: sha512-3uJxz8cx1WSVAPe7haqfwQj4N4wWDrei5BXBjH+e1BLPiEpqWtnMX29Qo9jWhqO9ctyPPHO0nZ1x/ZCNxMVCqA==}
+ etherpad-cli-client@3.0.4:
+ resolution: {integrity: sha512-0CgNY84Ox0fgRblOr0qlm03pRtr/qt6DCFNTh2m/EYOsu8KO8QWrGAUiCr53ny8/gtQJ4BhNxSiohaSH+Vhykw==}
engines: {node: '>=18.0.0'}
hasBin: true
@@ -3050,11 +2850,15 @@ packages:
resolution: {integrity: sha512-/kP8CAwxzLVEeFrMm4kMmy4CCDlpipyA7MYLVrdJIkV0fYF0UaigQHRsxHiuY/GEea+bh4KSv3TIlgr+2UL6bw==}
engines: {node: '>=12.0.0'}
- express-rate-limit@7.5.0:
- resolution: {integrity: sha512-eB5zbQh5h+VenMPM3fh+nw1YExi5nMr6HUCR62ELSP11huvxm/Uir1H1QEyTkk5QX6A58pX6NmaTMceKZ0Eodg==}
+ express-rate-limit@8.0.1:
+ resolution: {integrity: sha512-aZVCnybn7TVmxO4BtlmnvX+nuz8qHW124KKJ8dumsBsmv5ZLxE0pYu7S2nwyRBGHHCAzdmnGyrc5U/rksSPO7Q==}
engines: {node: '>= 16'}
peerDependencies:
- express: ^4.11 || 5 || ^5.0.0-beta.1
+ express: '>= 4.11'
+
+ express-session@1.18.2:
+ resolution: {integrity: sha512-SZjssGQC7TzTs9rpPDuUrR23GNZ9+2+IkA/+IJWmvQilTr5OSliEHGF+D9scbIpdC6yGtTI0/VhaHoVes2AN/A==}
+ engines: {node: '>= 0.8.0'}
express@4.21.2:
resolution: {integrity: sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==}
@@ -3085,14 +2889,6 @@ packages:
fastq@1.19.1:
resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==}
- fdir@6.4.4:
- resolution: {integrity: sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg==}
- peerDependencies:
- picomatch: ^3 || ^4
- peerDependenciesMeta:
- picomatch:
- optional: true
-
fdir@6.4.6:
resolution: {integrity: sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==}
peerDependencies:
@@ -3142,8 +2938,8 @@ packages:
flatted@3.3.3:
resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==}
- focus-trap@7.6.4:
- resolution: {integrity: sha512-xx560wGBk7seZ6y933idtjJQc1l+ck+pI3sKvhKozdBV1dRZoKhkW5xoCaFv9tQiX5RH1xfSxjuNu6g+lmN/gw==}
+ focus-trap@7.6.5:
+ resolution: {integrity: sha512-7Ke1jyybbbPZyZXFxEftUtxFGLMpE2n6A+z//m4CRDlj0hW+o3iYSmh8nFlYMurOiJVDmJRilUQtJr08KfIxlg==}
follow-redirects@1.15.9:
resolution: {integrity: sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==}
@@ -3162,21 +2958,18 @@ packages:
resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==}
engines: {node: '>=14'}
- form-data@4.0.2:
- resolution: {integrity: sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==}
- engines: {node: '>= 6'}
-
form-data@4.0.3:
resolution: {integrity: sha512-qsITQPfmvMOSAdeyZ+12I1c+CKSstAFAwu+97zrnWAbIr5u8wfsExUzCesVLC8NgHuRUqNN4Zy6UPWUTRGslcA==}
engines: {node: '>= 6'}
+ form-data@4.0.4:
+ resolution: {integrity: sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==}
+ engines: {node: '>= 6'}
+
formdata-polyfill@4.0.10:
resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==}
engines: {node: '>=12.20.0'}
- formidable@2.1.5:
- resolution: {integrity: sha512-Oz5Hwvwak/DCaXVVUtPn4oLMLLy1CdclLKO1LFgU7XzDpVMUU5UjlSLpGMocyQNNk8F6IJW9M/YdooSn2MRI+Q==}
-
formidable@3.5.4:
resolution: {integrity: sha512-YikH+7CUTOtP44ZTnUhR7Ic2UASBPOqmaRkRKxRbywPTe5VxF7RRCck4af9wutiZ/QKM5nME9Bie2fFaPz5Gug==}
engines: {node: '>=14.0.0'}
@@ -3392,8 +3185,8 @@ packages:
i18next-browser-languagedetector@8.2.0:
resolution: {integrity: sha512-P+3zEKLnOF0qmiesW383vsLdtQVyKtCNA9cjSoKCppTKPQVfKd2W8hbVo5ZhNJKDqeM7BOcvNoKJOjpHh4Js9g==}
- i18next@25.2.1:
- resolution: {integrity: sha512-+UoXK5wh+VlE1Zy5p6MjcvctHXAhRwQKCxiJD8noKZzIXmnAX8gdHX5fLPA3MEVxEN4vbZkQFy8N0LyD9tUqPw==}
+ i18next@25.3.2:
+ resolution: {integrity: sha512-JSnbZDxRVbphc5jiptxr3o2zocy5dEqpVm9qCGdJwRNO+9saUJS0/u4LnM/13C23fUEWxAylPqKU/NpMV/IjqA==}
peerDependencies:
typescript: ^5
peerDependenciesMeta:
@@ -3431,6 +3224,10 @@ packages:
resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==}
engines: {node: '>= 0.4'}
+ ip-address@10.0.1:
+ resolution: {integrity: sha512-NWv9YLW4PoW2B7xtzaS3NCot75m6nK7Icdv0o3lfMceJVRfSoQwqD4wEH5rLwoKJwUiZ/rfpiVBhnaF0FK4HoA==}
+ engines: {node: '>= 12'}
+
ip-address@9.0.5:
resolution: {integrity: sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==}
engines: {node: '>= 12'}
@@ -3592,8 +3389,8 @@ packages:
jose@5.10.0:
resolution: {integrity: sha512-s+3Al/p9g32Iq+oqXxkW//7jk2Vig6FF1CFqzVXoTUXt2qz89YWbL+OwS17NFYEvxC35n0FKeGO2LGYSxeM2Gg==}
- jose@6.0.11:
- resolution: {integrity: sha512-QxG7EaliDARm1O1S8BGakqncGT9s25bKL1WSf6/oa17Tkqwi8D2ZNglqCF+DsYF88/rV66Q/Q2mFAy697E1DUg==}
+ jose@6.0.12:
+ resolution: {integrity: sha512-T8xypXs8CpmiIi78k0E+Lk7T2zlK4zDyg+o1CZ4AkOHgDg98ogdP2BeZ61lTFKFyoEwJ9RgAgN+SdM3iPgNonQ==}
js-cookie@3.0.5:
resolution: {integrity: sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw==}
@@ -3612,8 +3409,8 @@ packages:
jsbn@1.1.0:
resolution: {integrity: sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==}
- jsdom@26.0.0:
- resolution: {integrity: sha512-BZYDGVAIriBWTpIxYzrXjv3E/4u8+/pSG5bQdIYCbNCGOvsPkDQfTVLAIXAf9ETdCpduCVTkDe2NNZ8NIwUVzw==}
+ jsdom@26.1.0:
+ resolution: {integrity: sha512-Cvc9WUhxSMEo4McES3P7oK3QaXldCfNWp7pl2NNeiIFlCoLr3kfq9kb1fxftiwk1FLV7CvpvDfonxtzUDeSOPg==}
engines: {node: '>=18'}
peerDependencies:
canvas: ^3.0.0
@@ -3762,6 +3559,9 @@ packages:
loupe@3.1.3:
resolution: {integrity: sha512-kkIp7XSkP78ZxJEsSxW3712C6teJVoeHHwgo9zJ380de7IYyJ2ISlxojcH2pC5OFLewESmnRi/+XCDIEEVyoug==}
+ loupe@3.2.0:
+ resolution: {integrity: sha512-2NCfZcT5VGVNX9mSZIxLRkEAegDGBpuQZBy13desuHeVORmBDyAET4TkJr4SjqQy3A8JDofMN6LpkK8Xcm/dlw==}
+
lower-case@2.0.2:
resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==}
@@ -3779,8 +3579,8 @@ packages:
resolution: {integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==}
engines: {node: '>=12'}
- lucide-react@0.515.0:
- resolution: {integrity: sha512-Sy7bY0MeicRm2pzrnoHm2h6C1iVoeHyBU2fjdQDsXGP51fhkhau1/ZV/dzrcxEmAKsxYb6bGaIsMnGHuQ5s0dw==}
+ lucide-react@0.525.0:
+ resolution: {integrity: sha512-Tm1txJ2OkymCGkvwoHt33Y2JpN5xucVq1slHcgE6Lk0WjDfjgKWor5CdVER8U6DvcfMwh4M8XxmpTiyzfmfDYQ==}
peerDependencies:
react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0
@@ -3913,8 +3713,8 @@ packages:
mocha-froth@0.2.10:
resolution: {integrity: sha512-xyJqAYtm2zjrkG870hjeSVvGgS4Dc9tRokmN6R7XLgBKhdtAJ1ytU6zL045djblfHaPyTkSerQU4wqcjsv7Aew==}
- mocha@11.6.0:
- resolution: {integrity: sha512-i0JVb+OUBqw63X/1pC3jCyJsqYisgxySBbsQa8TKvefpA1oEnw7JXxXnftfMHRsw7bEEVGRtVlHcDYXBa7FzVw==}
+ mocha@11.7.1:
+ resolution: {integrity: sha512-5EK+Cty6KheMS/YLPPMJC64g5V61gIR25KsRItHw6x4hEKT6Njp1n9LOlH4gpevuwMVS66SXaBBpg+RWZkza4A==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
hasBin: true
@@ -3970,8 +3770,8 @@ packages:
resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
engines: {node: '>=0.10.0'}
- nwsapi@2.2.20:
- resolution: {integrity: sha512-/ieB+mDe4MrrKMT8z+mQL8klXydZWGR5Dowt4RAGKbJ3kIGEx3X4ljUo+6V73IXtUPWgfOlU5B9MlGxFO5T+cA==}
+ nwsapi@2.2.21:
+ resolution: {integrity: sha512-o6nIY3qwiSXl7/LuOU0Dmuctd34Yay0yeuZRLFmDPrrdHpXKFndPj3hM+YEPVHYC5fx2otBx4Ilc/gyYSAUaIA==}
object-assign@4.1.1:
resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
@@ -4001,8 +3801,8 @@ packages:
resolution: {integrity: sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==}
engines: {node: '>= 0.4'}
- oidc-provider@9.1.3:
- resolution: {integrity: sha512-DaiiCllAr+y33M2HzTRRpV7/jmcZBSfIXaDv0eHURIV85N0O+QUqtjVtPY+viCwHKBRGWwfShWWFKddPUxpAWw==}
+ oidc-provider@9.3.0:
+ resolution: {integrity: sha512-JVocwYM+Fs76nOCED2hMf3iMfrzhN4jISmCYVuFhBEnZiFk3QlODzQXkO1XS/Spw8VwRlKxwIl3otkiintFIjw==}
oidc-token-hash@5.1.0:
resolution: {integrity: sha512-y0W+X7Ppo7oZX6eovsRkuzcSM40Bicg2JEJkDJ4irIt1wsYAP5MLSNv+QAogO8xivMffw/9OvV3um1pxXgt1uA==}
@@ -4012,18 +3812,21 @@ packages:
resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==}
engines: {node: '>= 0.8'}
- on-headers@1.0.2:
- resolution: {integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==}
+ on-headers@1.1.0:
+ resolution: {integrity: sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==}
engines: {node: '>= 0.8'}
once@1.4.0:
resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
- oniguruma-to-es@3.1.1:
- resolution: {integrity: sha512-bUH8SDvPkH3ho3dvwJwfonjlQ4R80vjyvrU8YpxuROddv55vAEJrTuCuCVUhhsHbtlD9tGGbaNApGQckXhS8iQ==}
+ oniguruma-parser@0.12.1:
+ resolution: {integrity: sha512-8Unqkvk1RYc6yq2WBYRj4hdnsAxVze8i7iPfQr8e4uSP3tRv0rpZcbGUDvxfQQcdwHt/e9PrMvGCsa8OqG9X3w==}
- openapi-backend@5.12.0:
- resolution: {integrity: sha512-tD4Ak8w5XBlGVi4gso/QNbxcfrj3j6ypuKg9bx7l6hQaeMVxEdf5Ro8M/SVoNg7L8VptzIkwE8Lp3H+Ba88hWA==}
+ oniguruma-to-es@4.3.3:
+ resolution: {integrity: sha512-rPiZhzC3wXwE59YQMRDodUwwT9FZ9nNBwQQfsd1wfdtlKEyCdRV0avrTcSZ5xlIvGRVPd/cx6ZN45ECmS39xvg==}
+
+ openapi-backend@5.13.0:
+ resolution: {integrity: sha512-dE2f0MCpL2ZKctVG4w+Nl+1C4GQput5dQ4QYy6XeblGvM2Z1b3JcP2FzL6DrLzzDYEKTLgAaQM3jD7yhftwKSg==}
engines: {node: '>=12.0.0'}
openapi-schema-validation@0.4.2:
@@ -4080,6 +3883,9 @@ packages:
parse5@7.2.1:
resolution: {integrity: sha512-BuBYQYlv1ckiPdQi/ohiivi9Sagc9JG+Ozs0r7b/0iK3sKmrb0b9FdWdBbOdx6hBCM/F9Ir82ofnBhtZOjCRPQ==}
+ parse5@7.3.0:
+ resolution: {integrity: sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==}
+
parseurl@1.3.3:
resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==}
engines: {node: '>= 0.8'}
@@ -4130,13 +3936,17 @@ packages:
resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==}
engines: {node: '>=12'}
- playwright-core@1.53.0:
- resolution: {integrity: sha512-mGLg8m0pm4+mmtB7M89Xw/GSqoNC+twivl8ITteqvAndachozYe2ZA7srU6uleV1vEdAHYqjq+SV8SNxRRFYBw==}
+ picomatch@4.0.3:
+ resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==}
+ engines: {node: '>=12'}
+
+ playwright-core@1.54.1:
+ resolution: {integrity: sha512-Nbjs2zjj0htNhzgiy5wu+3w09YetDx5pkrpI/kZotDlDUaYk0HVA5xrBVPdow4SAUIlhgKcJeJg4GRKW6xHusA==}
engines: {node: '>=18'}
hasBin: true
- playwright@1.53.0:
- resolution: {integrity: sha512-ghGNnIEYZC4E+YtclRn4/p6oYbdPiASELBIYkBXfaTVKreQUYbMUYQDwS12a8F0/HtIjr/CkGjtwABeFPGcS4Q==}
+ playwright@1.54.1:
+ resolution: {integrity: sha512-peWpSwIBmSLi6aW2auvrUtf2DqY16YYcCMO8rTVx486jKmDTJg7UAhyrraP98GB8BoPURZP8+nxO7TSd4cPr5g==}
engines: {node: '>=18'}
hasBin: true
@@ -4144,13 +3954,10 @@ packages:
resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==}
engines: {node: '>= 0.4'}
- postcss@8.5.3:
- resolution: {integrity: sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==}
+ postcss@8.5.6:
+ resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==}
engines: {node: ^10 || ^12 || >=14}
- preact@10.26.4:
- resolution: {integrity: sha512-KJhO7LBFTjP71d83trW+Ilnjbo+ySsaAgCfXOXUlmGzJ4ygYPWmysm77yg4emwfmoz3b22yvH5IsVFHbhUaH5w==}
-
prelude-ls@1.2.1:
resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
engines: {node: '>= 0.8.0'}
@@ -4221,14 +4028,14 @@ packages:
peerDependencies:
react: ^19.1.0
- react-hook-form@7.57.0:
- resolution: {integrity: sha512-RbEks3+cbvTP84l/VXGUZ+JMrKOS8ykQCRYdm5aYsxnDquL0vspsyNhGRO7pcH6hsZqWlPOjLye7rJqdtdAmlg==}
+ react-hook-form@7.61.1:
+ resolution: {integrity: sha512-2vbXUFDYgqEgM2RcXcAT2PwDW/80QARi+PKmHy5q2KhuKvOlG8iIYgf7eIlIANR5trW9fJbP4r5aub3a4egsew==}
engines: {node: '>=18.0.0'}
peerDependencies:
react: ^16.8.0 || ^17 || ^18 || ^19
- react-i18next@15.5.3:
- resolution: {integrity: sha512-ypYmOKOnjqPEJZO4m1BI0kS8kWqkBNsKYyhVUfij0gvjy9xJNoG/VcGkxq5dRlVwzmrmY1BQMAmpbbUBLwC4Kw==}
+ react-i18next@15.6.1:
+ resolution: {integrity: sha512-uGrzSsOUUe2sDBG/+FJq2J1MM+Y4368/QW8OLEKSFvnDflHBbZhSd1u3UkW0Z06rMhZmnB/AQrhCpYfE5/5XNg==}
peerDependencies:
i18next: '>= 23.2.3'
react: '>= 16.8.0'
@@ -4263,15 +4070,15 @@ packages:
'@types/react':
optional: true
- react-router-dom@7.6.2:
- resolution: {integrity: sha512-Q8zb6VlTbdYKK5JJBLQEN06oTUa/RAbG/oQS1auK1I0TbJOXktqm+QENEVJU6QvWynlXPRBXI3fiOQcSEA78rA==}
+ react-router-dom@7.7.1:
+ resolution: {integrity: sha512-bavdk2BA5r3MYalGKZ01u8PGuDBloQmzpBZVhDLrOOv1N943Wq6dcM9GhB3x8b7AbqPMEezauv4PeGkAJfy7FQ==}
engines: {node: '>=20.0.0'}
peerDependencies:
react: '>=18'
react-dom: '>=18'
- react-router@7.6.2:
- resolution: {integrity: sha512-U7Nv3y+bMimgWjhlT5CRdzHPu2/KVmqPwKUCChW8en5P3znxUqwlYFlbmyj8Rgp1SF6zs5X4+77kBVknkg6a0w==}
+ react-router@7.7.1:
+ resolution: {integrity: sha512-jVKHXoWRIsD/qS6lvGveckwb862EekvapdHJN/cGmzw40KnJH5gg53ujOJ4qX6EKIK9LSBfFed/xiQ5yeXNrUA==}
engines: {node: '>=20.0.0'}
peerDependencies:
react: '>=18'
@@ -4507,8 +4314,8 @@ packages:
resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
engines: {node: '>=8'}
- shiki@2.5.0:
- resolution: {integrity: sha512-mI//trrsaiCIPsja5CNfsyNOqgAZUb6VpJA+340toL42UpzQlXpwRV9nch69X6gaUxrr9kaOOa6e3y3uAkGFxQ==}
+ shiki@3.9.1:
+ resolution: {integrity: sha512-HogZ8nMnv9VAQMrG+P7BleJFhrKHm3fi6CYyHRbUu61gJ0lpqLr6ecYEui31IYG1Cn9Bad7N2vf332iXHnn0bQ==}
side-channel-list@1.0.0:
resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==}
@@ -4661,21 +4468,20 @@ packages:
strip-literal@3.0.0:
resolution: {integrity: sha512-TcccoMhJOM3OebGhSBEmp3UZ2SfDMZUEBdRA/9ynfLi8yYajyWX3JiXArcJt4Umh4vISpspkQIY8ZZoCqjbviA==}
- superagent@10.2.1:
- resolution: {integrity: sha512-O+PCv11lgTNJUzy49teNAWLjBZfc+A1enOwTpLlH6/rsvKcTwcdTT8m9azGkVqM7HBl5jpyZ7KTPhHweokBcdg==}
+ superagent@10.2.2:
+ resolution: {integrity: sha512-vWMq11OwWCC84pQaFPzF/VO3BrjkCeewuvJgt1jfV0499Z1QSAWN4EqfMM5WlFDDX9/oP8JjlDKpblrmEoyu4Q==}
engines: {node: '>=14.18.0'}
- superagent@8.1.2:
- resolution: {integrity: sha512-6WTxW1EB6yCxV5VFOIPQruWGHqc3yI7hEmZK6h+pyk69Lk/Ut7rLUY6W/ONF2MjBuGjvmMiIpsrVJ2vjrHlslA==}
- engines: {node: '>=6.4.0 <13 || >=14'}
- deprecated: Please upgrade to v9.0.0+ as we have fixed a public vulnerability with formidable dependency. Note that v9.0.0+ requires Node.js v14.18.0+. See https://github.com/ladjs/superagent/pull/1800 for insight. This project is supported and maintained by the team at Forward Email @ https://forwardemail.net
+ superagent@10.2.3:
+ resolution: {integrity: sha512-y/hkYGeXAj7wUMjxRbB21g/l6aAEituGXM9Rwl4o20+SX3e8YOSV6BxFXl+dL3Uk0mjSL3kCbNkwURm8/gEDig==}
+ engines: {node: '>=14.18.0'}
superjson@2.2.2:
resolution: {integrity: sha512-5JRxVqC8I8NuOUjzBbvVJAKNM8qoVuH0O77h4WInc/qC2q5IreqKxYwgkga3PfA22OayK2ikceb/B26dztPl+Q==}
engines: {node: '>=16'}
- supertest@7.1.1:
- resolution: {integrity: sha512-aI59HBTlG9e2wTjxGJV+DygfNLgnWbGdZxiA/sgrnNNikIW8lbDvCtF6RnhZoJ82nU7qv7ZLjrvWqCEm52fAmw==}
+ supertest@7.1.4:
+ resolution: {integrity: sha512-tjLPs7dVyqgItVFirHYqe2T+MfWc2VOBQ8QFKKbWTA3PU7liZR8zoSpAi/C1k1ilm9RsXIKYf197oap9wXGVYg==}
engines: {node: '>=14.18.0'}
supports-color@7.2.0:
@@ -4724,16 +4530,12 @@ packages:
tinyexec@0.3.2:
resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==}
- tinyglobby@0.2.13:
- resolution: {integrity: sha512-mEwzpUgrLySlveBwEVDMKk5B57bhLPYovRfPAXD5gA/98Opn0rCDj3GtLwFvCvH5RK9uPCExUROW5NjDwvqkxw==}
- engines: {node: '>=12.0.0'}
-
tinyglobby@0.2.14:
resolution: {integrity: sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==}
engines: {node: '>=12.0.0'}
- tinypool@1.1.0:
- resolution: {integrity: sha512-7CotroY9a8DKsKprEy/a14aCCm8jYVmR7aFy4fpkZM8sdpNJbKkixuNjgM50yCmip2ezc8z4N7k3oe2+rfRJCQ==}
+ tinypool@1.1.1:
+ resolution: {integrity: sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==}
engines: {node: ^18.0.0 || >=20.0.0}
tinyrainbow@2.0.0:
@@ -4744,11 +4546,11 @@ packages:
resolution: {integrity: sha512-t2T/WLB2WRgZ9EpE4jgPJ9w+i66UZfDc8wHh0xrwiRNN+UwH98GIJkTeZqX9rg0i0ptwzqW+uYeIF0T4F8LR7A==}
engines: {node: '>=14.0.0'}
- tldts-core@6.1.85:
- resolution: {integrity: sha512-DTjUVvxckL1fIoPSb3KE7ISNtkWSawZdpfxGxwiIrZoO6EbHVDXXUIlIuWympPaeS+BLGyggozX/HTMsRAdsoA==}
+ tldts-core@6.1.86:
+ resolution: {integrity: sha512-Je6p7pkk+KMzMv2XXKmAE3McmolOQFdxkKw0R8EYNr7sELW46JqnNeTX8ybPiQgvg1ymCoF8LXs5fzFaZvJPTA==}
- tldts@6.1.85:
- resolution: {integrity: sha512-gBdZ1RjCSevRPFix/hpaUWeak2/RNUZB4/8frF1r5uYMHjFptkiT0JXIebWvgI/0ZHXvxaUDDJshiA0j6GdL3w==}
+ tldts@6.1.86:
+ resolution: {integrity: sha512-WMi/OQ2axVTf/ykqCQgXiIct+mSQDFdH2fkwhPwgEwvJ1kSzZRiinb0zF2Xb8u4+OqPChmyI6MEu4EezNJz+FQ==}
hasBin: true
to-regex-range@5.0.1:
@@ -4763,8 +4565,8 @@ packages:
resolution: {integrity: sha512-FVDYdxtnj0G6Qm/DhNPSb8Ju59ULcup3tuJxkFb5K8Bv2pUXILbf0xZWU8PX8Ov19OXljbUyveOFwRMwkXzO+A==}
engines: {node: '>=16'}
- tr46@5.1.0:
- resolution: {integrity: sha512-IUWnUK7ADYR5Sl1fZlO1INDUhVhatWl7BtJWsIhwJ0UAK7ilzzIa8uIqOO/aYVWHZPJkKbEL+362wrzoeRF7bw==}
+ tr46@5.1.1:
+ resolution: {integrity: sha512-hdF5ZgjTqgAntKkklYw0R03MG2x/bSzTtkxmIRw/sTNV8YXsCJ1tfLAX23lhxhHJlEf3CRCOCGGWw3vI3GaSPw==}
engines: {node: '>=18'}
trim-lines@3.0.1:
@@ -4949,66 +4751,35 @@ packages:
vfile@6.0.3:
resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==}
- vite-node@3.2.3:
- resolution: {integrity: sha512-gc8aAifGuDIpZHrPjuHyP4dpQmYXqWw7D1GmDnWeNWP654UEXzVfQ5IHPSK5HaHkwB/+p1atpYpSdw/2kOv8iQ==}
+ vite-node@3.2.4:
+ resolution: {integrity: sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg==}
engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0}
hasBin: true
- vite-plugin-static-copy@3.0.0:
- resolution: {integrity: sha512-Uki9pPUQ4ZnoMEdIFabvoh9h6Bh9Q1m3iF7BrZvoiF30reREpJh2gZb4jOnW1/uYFzyRiLCmFSkM+8hwiq1vWQ==}
+ vite-plugin-static-copy@3.1.1:
+ resolution: {integrity: sha512-oR53SkL5cX4KT1t18E/xU50vJDo0N8oaHza4EMk0Fm+2/u6nQivxavOfrDk3udWj+dizRizB/QnBvJOOQrTTAQ==}
engines: {node: ^18.0.0 || >=20.0.0}
peerDependencies:
- vite: ^5.0.0 || ^6.0.0
+ vite: ^5.0.0 || ^6.0.0 || ^7.0.0
vite-plugin-svgr@4.3.0:
resolution: {integrity: sha512-Jy9qLB2/PyWklpYy0xk0UU3TlU0t2UMpJXZvf+hWII1lAmRHrOUKi11Uw8N3rxoNk7atZNYO3pR3vI1f7oi+6w==}
peerDependencies:
vite: '>=2.6.0'
- vite@5.4.19:
- resolution: {integrity: sha512-qO3aKv3HoQC8QKiNSTuUM1l9o/XX3+c+VTgLHbJWHZGeTPVAg2XwazI9UWzoxjIJCGCV2zU60uqMzjeLZuULqA==}
- engines: {node: ^18.0.0 || >=20.0.0}
+ vite@7.0.6:
+ resolution: {integrity: sha512-MHFiOENNBd+Bd9uvc8GEsIzdkn1JxMmEeYX35tI3fv0sJBUTfW5tQsoaOwuY4KhBI09A3dUJ/DXf2yxPVPUceg==}
+ engines: {node: ^20.19.0 || >=22.12.0}
hasBin: true
peerDependencies:
- '@types/node': ^18.0.0 || >=20.0.0
- less: '*'
- lightningcss: ^1.21.0
- sass: '*'
- sass-embedded: '*'
- stylus: '*'
- sugarss: '*'
- terser: ^5.4.0
- peerDependenciesMeta:
- '@types/node':
- optional: true
- less:
- optional: true
- lightningcss:
- optional: true
- sass:
- optional: true
- sass-embedded:
- optional: true
- stylus:
- optional: true
- sugarss:
- optional: true
- terser:
- optional: true
-
- vite@6.3.5:
- resolution: {integrity: sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==}
- engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0}
- hasBin: true
- peerDependencies:
- '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0
+ '@types/node': ^20.19.0 || >=22.12.0
jiti: '>=1.21.0'
- less: '*'
+ less: ^4.0.0
lightningcss: ^1.21.0
- sass: '*'
- sass-embedded: '*'
- stylus: '*'
- sugarss: '*'
+ sass: ^1.70.0
+ sass-embedded: ^1.70.0
+ stylus: '>=0.54.8'
+ sugarss: ^5.0.0
terser: ^5.16.0
tsx: ^4.8.1
yaml: ^2.4.2
@@ -5036,28 +4807,31 @@ packages:
yaml:
optional: true
- vitepress@1.6.3:
- resolution: {integrity: sha512-fCkfdOk8yRZT8GD9BFqusW3+GggWYZ/rYncOfmgcDtP3ualNHCAg+Robxp2/6xfH1WwPHtGpPwv7mbA3qomtBw==}
+ vitepress@2.0.0-alpha.9:
+ resolution: {integrity: sha512-oUdZiT8ZCLf80Nw02Ha+v25aaabwik6iSMTEBXg46bMypNS/5i6AfMgFqpTuR5l3qG9XfNmau/SLT0sRiks2Zg==}
hasBin: true
peerDependencies:
markdown-it-mathjax3: ^4
+ oxc-minify: ^0.78.0
postcss: ^8
peerDependenciesMeta:
markdown-it-mathjax3:
optional: true
+ oxc-minify:
+ optional: true
postcss:
optional: true
- vitest@3.2.3:
- resolution: {integrity: sha512-E6U2ZFXe3N/t4f5BwUaVCKRLHqUpk1CBWeMh78UT4VaTPH/2dyvH6ALl29JTovEPu9dVKr/K/J4PkXgrMbw4Ww==}
+ vitest@3.2.4:
+ resolution: {integrity: sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A==}
engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0}
hasBin: true
peerDependencies:
'@edge-runtime/vm': '*'
'@types/debug': ^4.1.12
'@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0
- '@vitest/browser': 3.2.3
- '@vitest/ui': 3.2.3
+ '@vitest/browser': 3.2.4
+ '@vitest/ui': 3.2.4
happy-dom: '*'
jsdom: '*'
peerDependenciesMeta:
@@ -5080,8 +4854,8 @@ packages:
resolution: {integrity: sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==}
engines: {node: '>=0.10.0'}
- vue@3.5.13:
- resolution: {integrity: sha512-wmeiSMxkZCSc+PM2w2VRsOYAZC8GdipNFRTsLSfodVqI9mbejKeXEGr8SckuLnrQPGe3oJN5c3K0vpoU9q/wCQ==}
+ vue@3.5.18:
+ resolution: {integrity: sha512-7W4Y4ZbMiQ3SEo+m9lnoNpV9xG7QVMLa+/0RFwwiAVkeYoyGXqWE85jabU4pllJNUzqfLShJ5YLptewhCWUgNA==}
peerDependencies:
typescript: '*'
peerDependenciesMeta:
@@ -5171,8 +4945,8 @@ packages:
utf-8-validate:
optional: true
- ws@8.18.1:
- resolution: {integrity: sha512-RKW2aJZMXeMxVpnZ6bck+RswznaxmzdULiBr6KY7XkTnW8uvt0iT9H5DkHUChXrc+uurzwa0rVI16n/Xzjdz1w==}
+ ws@8.18.3:
+ resolution: {integrity: sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==}
engines: {node: '>=10.0.0'}
peerDependencies:
bufferutil: ^4.0.1
@@ -5229,8 +5003,8 @@ packages:
resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
engines: {node: '>=10'}
- zustand@5.0.5:
- resolution: {integrity: sha512-mILtRfKW9xM47hqxGIxCv12gXusoY/xTSHBYApXozR0HmQv299whhBeeAcRy+KrPPybzosvJBCOmVjq6x12fCg==}
+ zustand@5.0.6:
+ resolution: {integrity: sha512-ihAqNeUVhe0MAD+X8M5UzqyZ9k3FFZLBTtqo6JLPwV53cbRB/mJwBI0PxcIgqhBBHlEs8G45OTDTMq3gNcLq3A==}
engines: {node: '>=12.20.0'}
peerDependencies:
'@types/react': '>=18.0.0'
@@ -5252,110 +5026,6 @@ packages:
snapshots:
- '@algolia/autocomplete-core@1.17.7(@algolia/client-search@5.23.2)(algoliasearch@5.23.2)':
- dependencies:
- '@algolia/autocomplete-plugin-algolia-insights': 1.17.7(@algolia/client-search@5.23.2)(algoliasearch@5.23.2)
- '@algolia/autocomplete-shared': 1.17.7(@algolia/client-search@5.23.2)(algoliasearch@5.23.2)
- transitivePeerDependencies:
- - '@algolia/client-search'
- - algoliasearch
- - search-insights
-
- '@algolia/autocomplete-plugin-algolia-insights@1.17.7(@algolia/client-search@5.23.2)(algoliasearch@5.23.2)':
- dependencies:
- '@algolia/autocomplete-shared': 1.17.7(@algolia/client-search@5.23.2)(algoliasearch@5.23.2)
- transitivePeerDependencies:
- - '@algolia/client-search'
- - algoliasearch
-
- '@algolia/autocomplete-preset-algolia@1.17.7(@algolia/client-search@5.23.2)(algoliasearch@5.23.2)':
- dependencies:
- '@algolia/autocomplete-shared': 1.17.7(@algolia/client-search@5.23.2)(algoliasearch@5.23.2)
- '@algolia/client-search': 5.23.2
- algoliasearch: 5.23.2
-
- '@algolia/autocomplete-shared@1.17.7(@algolia/client-search@5.23.2)(algoliasearch@5.23.2)':
- dependencies:
- '@algolia/client-search': 5.23.2
- algoliasearch: 5.23.2
-
- '@algolia/client-abtesting@5.23.2':
- dependencies:
- '@algolia/client-common': 5.23.2
- '@algolia/requester-browser-xhr': 5.23.2
- '@algolia/requester-fetch': 5.23.2
- '@algolia/requester-node-http': 5.23.2
-
- '@algolia/client-analytics@5.23.2':
- dependencies:
- '@algolia/client-common': 5.23.2
- '@algolia/requester-browser-xhr': 5.23.2
- '@algolia/requester-fetch': 5.23.2
- '@algolia/requester-node-http': 5.23.2
-
- '@algolia/client-common@5.23.2': {}
-
- '@algolia/client-insights@5.23.2':
- dependencies:
- '@algolia/client-common': 5.23.2
- '@algolia/requester-browser-xhr': 5.23.2
- '@algolia/requester-fetch': 5.23.2
- '@algolia/requester-node-http': 5.23.2
-
- '@algolia/client-personalization@5.23.2':
- dependencies:
- '@algolia/client-common': 5.23.2
- '@algolia/requester-browser-xhr': 5.23.2
- '@algolia/requester-fetch': 5.23.2
- '@algolia/requester-node-http': 5.23.2
-
- '@algolia/client-query-suggestions@5.23.2':
- dependencies:
- '@algolia/client-common': 5.23.2
- '@algolia/requester-browser-xhr': 5.23.2
- '@algolia/requester-fetch': 5.23.2
- '@algolia/requester-node-http': 5.23.2
-
- '@algolia/client-search@5.23.2':
- dependencies:
- '@algolia/client-common': 5.23.2
- '@algolia/requester-browser-xhr': 5.23.2
- '@algolia/requester-fetch': 5.23.2
- '@algolia/requester-node-http': 5.23.2
-
- '@algolia/ingestion@1.23.2':
- dependencies:
- '@algolia/client-common': 5.23.2
- '@algolia/requester-browser-xhr': 5.23.2
- '@algolia/requester-fetch': 5.23.2
- '@algolia/requester-node-http': 5.23.2
-
- '@algolia/monitoring@1.23.2':
- dependencies:
- '@algolia/client-common': 5.23.2
- '@algolia/requester-browser-xhr': 5.23.2
- '@algolia/requester-fetch': 5.23.2
- '@algolia/requester-node-http': 5.23.2
-
- '@algolia/recommend@5.23.2':
- dependencies:
- '@algolia/client-common': 5.23.2
- '@algolia/requester-browser-xhr': 5.23.2
- '@algolia/requester-fetch': 5.23.2
- '@algolia/requester-node-http': 5.23.2
-
- '@algolia/requester-browser-xhr@5.23.2':
- dependencies:
- '@algolia/client-common': 5.23.2
-
- '@algolia/requester-fetch@5.23.2':
- dependencies:
- '@algolia/client-common': 5.23.2
-
- '@algolia/requester-node-http@5.23.2':
- dependencies:
- '@algolia/client-common': 5.23.2
-
'@ampproject/remapping@2.3.0':
dependencies:
'@jridgewell/gen-mapping': 0.3.8
@@ -5367,12 +5037,12 @@ snapshots:
'@types/json-schema': 7.0.15
js-yaml: 4.1.0
- '@asamuzakjp/css-color@3.1.1':
+ '@asamuzakjp/css-color@3.2.0':
dependencies:
- '@csstools/css-calc': 2.1.2(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)
- '@csstools/css-color-parser': 3.0.8(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)
- '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3)
- '@csstools/css-tokenizer': 3.0.3
+ '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)
+ '@csstools/css-color-parser': 3.0.10(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)
+ '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4)
+ '@csstools/css-tokenizer': 3.0.4
lru-cache: 10.4.3
'@babel/code-frame@7.26.2':
@@ -5437,8 +5107,12 @@ snapshots:
'@babel/helper-string-parser@7.25.9': {}
+ '@babel/helper-string-parser@7.27.1': {}
+
'@babel/helper-validator-identifier@7.25.9': {}
+ '@babel/helper-validator-identifier@7.27.1': {}
+
'@babel/helper-validator-option@7.25.9': {}
'@babel/helpers@7.27.0':
@@ -5450,6 +5124,10 @@ snapshots:
dependencies:
'@babel/types': 7.27.0
+ '@babel/parser@7.28.0':
+ dependencies:
+ '@babel/types': 7.28.2
+
'@babel/runtime@7.27.6': {}
'@babel/template@7.27.0':
@@ -5475,47 +5153,34 @@ snapshots:
'@babel/helper-string-parser': 7.25.9
'@babel/helper-validator-identifier': 7.25.9
+ '@babel/types@7.28.2':
+ dependencies:
+ '@babel/helper-string-parser': 7.27.1
+ '@babel/helper-validator-identifier': 7.27.1
+
'@csstools/color-helpers@5.0.2': {}
- '@csstools/css-calc@2.1.2(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)':
+ '@csstools/css-calc@2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)':
dependencies:
- '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3)
- '@csstools/css-tokenizer': 3.0.3
+ '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4)
+ '@csstools/css-tokenizer': 3.0.4
- '@csstools/css-color-parser@3.0.8(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)':
+ '@csstools/css-color-parser@3.0.10(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)':
dependencies:
'@csstools/color-helpers': 5.0.2
- '@csstools/css-calc': 2.1.2(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)
- '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3)
- '@csstools/css-tokenizer': 3.0.3
+ '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)
+ '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4)
+ '@csstools/css-tokenizer': 3.0.4
- '@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3)':
+ '@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4)':
dependencies:
- '@csstools/css-tokenizer': 3.0.3
+ '@csstools/css-tokenizer': 3.0.4
- '@csstools/css-tokenizer@3.0.3': {}
+ '@csstools/css-tokenizer@3.0.4': {}
- '@docsearch/css@3.8.2': {}
+ '@docsearch/css@4.0.0-beta.5': {}
- '@docsearch/js@3.8.2(@algolia/client-search@5.23.2)':
- dependencies:
- '@docsearch/react': 3.8.2(@algolia/client-search@5.23.2)
- preact: 10.26.4
- transitivePeerDependencies:
- - '@algolia/client-search'
- - '@types/react'
- - react
- - react-dom
- - search-insights
-
- '@docsearch/react@3.8.2(@algolia/client-search@5.23.2)':
- dependencies:
- '@algolia/autocomplete-core': 1.17.7(@algolia/client-search@5.23.2)(algoliasearch@5.23.2)
- '@algolia/autocomplete-preset-algolia': 1.17.7(@algolia/client-search@5.23.2)(algoliasearch@5.23.2)
- '@docsearch/css': 3.8.2
- algoliasearch: 5.23.2
- transitivePeerDependencies:
- - '@algolia/client-search'
+ '@docsearch/js@4.0.0-beta.5': {}
'@emnapi/core@1.4.0':
dependencies:
@@ -5533,233 +5198,167 @@ snapshots:
tslib: 2.8.1
optional: true
- '@esbuild/aix-ppc64@0.21.5':
- optional: true
-
- '@esbuild/aix-ppc64@0.25.3':
- optional: true
-
'@esbuild/aix-ppc64@0.25.5':
optional: true
- '@esbuild/android-arm64@0.21.5':
- optional: true
-
- '@esbuild/android-arm64@0.25.3':
+ '@esbuild/aix-ppc64@0.25.8':
optional: true
'@esbuild/android-arm64@0.25.5':
optional: true
- '@esbuild/android-arm@0.21.5':
- optional: true
-
- '@esbuild/android-arm@0.25.3':
+ '@esbuild/android-arm64@0.25.8':
optional: true
'@esbuild/android-arm@0.25.5':
optional: true
- '@esbuild/android-x64@0.21.5':
- optional: true
-
- '@esbuild/android-x64@0.25.3':
+ '@esbuild/android-arm@0.25.8':
optional: true
'@esbuild/android-x64@0.25.5':
optional: true
- '@esbuild/darwin-arm64@0.21.5':
- optional: true
-
- '@esbuild/darwin-arm64@0.25.3':
+ '@esbuild/android-x64@0.25.8':
optional: true
'@esbuild/darwin-arm64@0.25.5':
optional: true
- '@esbuild/darwin-x64@0.21.5':
- optional: true
-
- '@esbuild/darwin-x64@0.25.3':
+ '@esbuild/darwin-arm64@0.25.8':
optional: true
'@esbuild/darwin-x64@0.25.5':
optional: true
- '@esbuild/freebsd-arm64@0.21.5':
- optional: true
-
- '@esbuild/freebsd-arm64@0.25.3':
+ '@esbuild/darwin-x64@0.25.8':
optional: true
'@esbuild/freebsd-arm64@0.25.5':
optional: true
- '@esbuild/freebsd-x64@0.21.5':
- optional: true
-
- '@esbuild/freebsd-x64@0.25.3':
+ '@esbuild/freebsd-arm64@0.25.8':
optional: true
'@esbuild/freebsd-x64@0.25.5':
optional: true
- '@esbuild/linux-arm64@0.21.5':
- optional: true
-
- '@esbuild/linux-arm64@0.25.3':
+ '@esbuild/freebsd-x64@0.25.8':
optional: true
'@esbuild/linux-arm64@0.25.5':
optional: true
- '@esbuild/linux-arm@0.21.5':
- optional: true
-
- '@esbuild/linux-arm@0.25.3':
+ '@esbuild/linux-arm64@0.25.8':
optional: true
'@esbuild/linux-arm@0.25.5':
optional: true
- '@esbuild/linux-ia32@0.21.5':
- optional: true
-
- '@esbuild/linux-ia32@0.25.3':
+ '@esbuild/linux-arm@0.25.8':
optional: true
'@esbuild/linux-ia32@0.25.5':
optional: true
- '@esbuild/linux-loong64@0.21.5':
- optional: true
-
- '@esbuild/linux-loong64@0.25.3':
+ '@esbuild/linux-ia32@0.25.8':
optional: true
'@esbuild/linux-loong64@0.25.5':
optional: true
- '@esbuild/linux-mips64el@0.21.5':
- optional: true
-
- '@esbuild/linux-mips64el@0.25.3':
+ '@esbuild/linux-loong64@0.25.8':
optional: true
'@esbuild/linux-mips64el@0.25.5':
optional: true
- '@esbuild/linux-ppc64@0.21.5':
- optional: true
-
- '@esbuild/linux-ppc64@0.25.3':
+ '@esbuild/linux-mips64el@0.25.8':
optional: true
'@esbuild/linux-ppc64@0.25.5':
optional: true
- '@esbuild/linux-riscv64@0.21.5':
- optional: true
-
- '@esbuild/linux-riscv64@0.25.3':
+ '@esbuild/linux-ppc64@0.25.8':
optional: true
'@esbuild/linux-riscv64@0.25.5':
optional: true
- '@esbuild/linux-s390x@0.21.5':
- optional: true
-
- '@esbuild/linux-s390x@0.25.3':
+ '@esbuild/linux-riscv64@0.25.8':
optional: true
'@esbuild/linux-s390x@0.25.5':
optional: true
- '@esbuild/linux-x64@0.21.5':
- optional: true
-
- '@esbuild/linux-x64@0.25.3':
+ '@esbuild/linux-s390x@0.25.8':
optional: true
'@esbuild/linux-x64@0.25.5':
optional: true
- '@esbuild/netbsd-arm64@0.25.3':
+ '@esbuild/linux-x64@0.25.8':
optional: true
'@esbuild/netbsd-arm64@0.25.5':
optional: true
- '@esbuild/netbsd-x64@0.21.5':
- optional: true
-
- '@esbuild/netbsd-x64@0.25.3':
+ '@esbuild/netbsd-arm64@0.25.8':
optional: true
'@esbuild/netbsd-x64@0.25.5':
optional: true
- '@esbuild/openbsd-arm64@0.25.3':
+ '@esbuild/netbsd-x64@0.25.8':
optional: true
'@esbuild/openbsd-arm64@0.25.5':
optional: true
- '@esbuild/openbsd-x64@0.21.5':
- optional: true
-
- '@esbuild/openbsd-x64@0.25.3':
+ '@esbuild/openbsd-arm64@0.25.8':
optional: true
'@esbuild/openbsd-x64@0.25.5':
optional: true
- '@esbuild/sunos-x64@0.21.5':
+ '@esbuild/openbsd-x64@0.25.8':
optional: true
- '@esbuild/sunos-x64@0.25.3':
+ '@esbuild/openharmony-arm64@0.25.8':
optional: true
'@esbuild/sunos-x64@0.25.5':
optional: true
- '@esbuild/win32-arm64@0.21.5':
- optional: true
-
- '@esbuild/win32-arm64@0.25.3':
+ '@esbuild/sunos-x64@0.25.8':
optional: true
'@esbuild/win32-arm64@0.25.5':
optional: true
- '@esbuild/win32-ia32@0.21.5':
- optional: true
-
- '@esbuild/win32-ia32@0.25.3':
+ '@esbuild/win32-arm64@0.25.8':
optional: true
'@esbuild/win32-ia32@0.25.5':
optional: true
- '@esbuild/win32-x64@0.21.5':
- optional: true
-
- '@esbuild/win32-x64@0.25.3':
+ '@esbuild/win32-ia32@0.25.8':
optional: true
'@esbuild/win32-x64@0.25.5':
optional: true
- '@eslint-community/eslint-utils@4.7.0(eslint@9.28.0)':
+ '@esbuild/win32-x64@0.25.8':
+ optional: true
+
+ '@eslint-community/eslint-utils@4.7.0(eslint@9.32.0)':
dependencies:
- eslint: 9.28.0
+ eslint: 9.32.0
eslint-visitor-keys: 3.4.3
'@eslint-community/regexpp@4.12.1': {}
- '@eslint/config-array@0.20.1':
+ '@eslint/config-array@0.21.0':
dependencies:
'@eslint/object-schema': 2.1.6
debug: 4.4.1(supports-color@8.1.1)
@@ -5767,13 +5366,13 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@eslint/config-helpers@0.2.3': {}
+ '@eslint/config-helpers@0.3.0': {}
- '@eslint/core@0.14.0':
+ '@eslint/core@0.15.0':
dependencies:
'@types/json-schema': 7.0.15
- '@eslint/core@0.15.0':
+ '@eslint/core@0.15.1':
dependencies:
'@types/json-schema': 7.0.15
@@ -5791,28 +5390,15 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@eslint/js@9.28.0': {}
+ '@eslint/js@9.32.0': {}
'@eslint/object-schema@2.1.6': {}
- '@eslint/plugin-kit@0.3.2':
+ '@eslint/plugin-kit@0.3.4':
dependencies:
- '@eslint/core': 0.15.0
+ '@eslint/core': 0.15.1
levn: 0.4.1
- '@etherpad/express-session@1.18.4':
- dependencies:
- cookie: 0.4.2
- cookie-signature: 1.0.6
- debug: 4.4.0
- depd: 2.0.0
- on-headers: 1.0.2
- parseurl: 1.3.3
- safe-buffer: 5.2.1
- uid-safe: 2.1.5
- transitivePeerDependencies:
- - supports-color
-
'@humanfs/core@0.19.1': {}
'@humanfs/node@0.16.6':
@@ -5826,7 +5412,7 @@ snapshots:
'@humanwhocodes/retry@0.4.3': {}
- '@iconify-json/simple-icons@1.2.30':
+ '@iconify-json/simple-icons@1.2.45':
dependencies:
'@iconify/types': 2.0.0
@@ -5864,11 +5450,14 @@ snapshots:
dependencies:
vary: 1.1.2
- '@koa/router@13.1.0':
+ '@koa/router@13.1.1':
dependencies:
+ debug: 4.4.1(supports-color@8.1.1)
http-errors: 2.0.0
koa-compose: 4.1.0
path-to-regexp: 6.3.0
+ transitivePeerDependencies:
+ - supports-color
'@napi-rs/wasm-runtime@0.2.8':
dependencies:
@@ -5900,9 +5489,9 @@ snapshots:
'@pkgjs/parseargs@0.11.0':
optional: true
- '@playwright/test@1.53.0':
+ '@playwright/test@1.54.1':
dependencies:
- playwright: 1.53.0
+ playwright: 1.54.1
'@radix-ui/primitive@1.1.2': {}
@@ -6118,6 +5707,8 @@ snapshots:
'@rolldown/pluginutils@1.0.0-beta.11': {}
+ '@rolldown/pluginutils@1.0.0-beta.29': {}
+
'@rollup/pluginutils@5.1.4(rollup@4.40.1)':
dependencies:
'@types/estree': 1.0.8
@@ -6192,40 +5783,38 @@ snapshots:
'@scarf/scarf@1.4.0': {}
- '@shikijs/core@2.5.0':
+ '@shikijs/core@3.9.1':
dependencies:
- '@shikijs/engine-javascript': 2.5.0
- '@shikijs/engine-oniguruma': 2.5.0
- '@shikijs/types': 2.5.0
+ '@shikijs/types': 3.9.1
'@shikijs/vscode-textmate': 10.0.2
'@types/hast': 3.0.4
hast-util-to-html: 9.0.5
- '@shikijs/engine-javascript@2.5.0':
+ '@shikijs/engine-javascript@3.9.1':
dependencies:
- '@shikijs/types': 2.5.0
+ '@shikijs/types': 3.9.1
'@shikijs/vscode-textmate': 10.0.2
- oniguruma-to-es: 3.1.1
+ oniguruma-to-es: 4.3.3
- '@shikijs/engine-oniguruma@2.5.0':
+ '@shikijs/engine-oniguruma@3.9.1':
dependencies:
- '@shikijs/types': 2.5.0
+ '@shikijs/types': 3.9.1
'@shikijs/vscode-textmate': 10.0.2
- '@shikijs/langs@2.5.0':
+ '@shikijs/langs@3.9.1':
dependencies:
- '@shikijs/types': 2.5.0
+ '@shikijs/types': 3.9.1
- '@shikijs/themes@2.5.0':
+ '@shikijs/themes@3.9.1':
dependencies:
- '@shikijs/types': 2.5.0
+ '@shikijs/types': 3.9.1
- '@shikijs/transformers@2.5.0':
+ '@shikijs/transformers@3.9.1':
dependencies:
- '@shikijs/core': 2.5.0
- '@shikijs/types': 2.5.0
+ '@shikijs/core': 3.9.1
+ '@shikijs/types': 3.9.1
- '@shikijs/types@2.5.0':
+ '@shikijs/types@3.9.1':
dependencies:
'@shikijs/vscode-textmate': 10.0.2
'@types/hast': 3.0.4
@@ -6379,14 +5968,14 @@ snapshots:
'@types/accepts@1.3.7':
dependencies:
- '@types/node': 24.0.1
+ '@types/node': 24.1.0
'@types/async@3.2.24': {}
'@types/body-parser@1.19.5':
dependencies:
'@types/connect': 3.4.38
- '@types/node': 24.0.1
+ '@types/node': 24.1.0
'@types/chai@5.2.2':
dependencies:
@@ -6394,10 +5983,14 @@ snapshots:
'@types/connect@3.4.38':
dependencies:
- '@types/node': 24.0.1
+ '@types/node': 24.1.0
'@types/content-disposition@0.5.9': {}
+ '@types/cookie-parser@1.4.9(@types/express@4.17.21)':
+ dependencies:
+ '@types/express': 4.17.21
+
'@types/cookiejar@2.1.5': {}
'@types/cookies@0.9.1':
@@ -6405,11 +5998,11 @@ snapshots:
'@types/connect': 3.4.38
'@types/express': 4.17.21
'@types/keygrip': 1.0.6
- '@types/node': 24.0.1
+ '@types/node': 24.1.0
'@types/cors@2.8.17':
dependencies:
- '@types/node': 24.0.1
+ '@types/node': 24.1.0
'@types/debug@4.1.12':
dependencies:
@@ -6423,11 +6016,15 @@ snapshots:
'@types/express-serve-static-core@4.19.6':
dependencies:
- '@types/node': 24.0.1
+ '@types/node': 24.1.0
'@types/qs': 6.9.18
'@types/range-parser': 1.2.7
'@types/send': 0.17.4
+ '@types/express-session@1.18.2':
+ dependencies:
+ '@types/express': 4.17.21
+
'@types/express@4.17.21':
dependencies:
'@types/body-parser': 1.19.5
@@ -6437,11 +6034,11 @@ snapshots:
'@types/formidable@3.4.5':
dependencies:
- '@types/node': 24.0.1
+ '@types/node': 24.1.0
'@types/fs-extra@9.0.13':
dependencies:
- '@types/node': 24.0.1
+ '@types/node': 24.1.0
'@types/hast@3.0.4':
dependencies:
@@ -6459,7 +6056,7 @@ snapshots:
'@types/jsdom@21.1.7':
dependencies:
- '@types/node': 24.0.1
+ '@types/node': 24.1.0
'@types/tough-cookie': 4.0.5
parse5: 7.2.1
@@ -6467,10 +6064,10 @@ snapshots:
'@types/json5@0.0.29': {}
- '@types/jsonwebtoken@9.0.9':
+ '@types/jsonwebtoken@9.0.10':
dependencies:
'@types/ms': 2.1.0
- '@types/node': 24.0.1
+ '@types/node': 24.1.0
'@types/keygrip@1.0.6': {}
@@ -6487,23 +6084,14 @@ snapshots:
'@types/http-errors': 2.0.5
'@types/keygrip': 1.0.6
'@types/koa-compose': 3.2.8
- '@types/node': 24.0.1
-
- '@types/linkify-it@5.0.0': {}
+ '@types/node': 24.1.0
'@types/lockfile@1.0.4': {}
- '@types/markdown-it@14.1.2':
- dependencies:
- '@types/linkify-it': 5.0.0
- '@types/mdurl': 2.0.0
-
'@types/mdast@4.0.4':
dependencies:
'@types/unist': 3.0.3
- '@types/mdurl@2.0.0': {}
-
'@types/methods@1.1.4': {}
'@types/mime-types@3.0.1': {}
@@ -6516,18 +6104,18 @@ snapshots:
'@types/node-fetch@2.6.12':
dependencies:
- '@types/node': 24.0.1
+ '@types/node': 24.1.0
form-data: 4.0.3
- '@types/node@24.0.1':
+ '@types/node@24.1.0':
dependencies:
undici-types: 7.8.0
- '@types/oidc-provider@9.1.0':
+ '@types/oidc-provider@9.1.1':
dependencies:
'@types/keygrip': 1.0.6
'@types/koa': 2.15.0
- '@types/node': 24.0.1
+ '@types/node': 24.1.0
'@types/qs@6.9.18': {}
@@ -6546,12 +6134,12 @@ snapshots:
'@types/send@0.17.4':
dependencies:
'@types/mime': 1.3.5
- '@types/node': 24.0.1
+ '@types/node': 24.1.0
'@types/serve-static@1.15.7':
dependencies:
'@types/http-errors': 2.0.5
- '@types/node': 24.0.1
+ '@types/node': 24.1.0
'@types/send': 0.17.4
'@types/sinon@17.0.4':
@@ -6566,8 +6154,8 @@ snapshots:
dependencies:
'@types/cookiejar': 2.1.5
'@types/methods': 1.1.4
- '@types/node': 24.0.1
- form-data: 4.0.2
+ '@types/node': 24.1.0
+ form-data: 4.0.3
'@types/supertest@6.0.3':
dependencies:
@@ -6581,7 +6169,7 @@ snapshots:
'@types/tar@6.1.13':
dependencies:
- '@types/node': 24.0.1
+ '@types/node': 24.1.0
minipass: 4.2.8
'@types/tough-cookie@4.0.5': {}
@@ -6596,15 +6184,15 @@ snapshots:
'@types/whatwg-mimetype@3.0.2': {}
- '@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@9.28.0)(typescript@5.8.3))(eslint@9.28.0)(typescript@5.8.3)':
+ '@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@9.32.0)(typescript@5.8.3))(eslint@9.32.0)(typescript@5.8.3)':
dependencies:
'@eslint-community/regexpp': 4.12.1
- '@typescript-eslint/parser': 7.18.0(eslint@9.28.0)(typescript@5.8.3)
+ '@typescript-eslint/parser': 7.18.0(eslint@9.32.0)(typescript@5.8.3)
'@typescript-eslint/scope-manager': 7.18.0
- '@typescript-eslint/type-utils': 7.18.0(eslint@9.28.0)(typescript@5.8.3)
- '@typescript-eslint/utils': 7.18.0(eslint@9.28.0)(typescript@5.8.3)
+ '@typescript-eslint/type-utils': 7.18.0(eslint@9.32.0)(typescript@5.8.3)
+ '@typescript-eslint/utils': 7.18.0(eslint@9.32.0)(typescript@5.8.3)
'@typescript-eslint/visitor-keys': 7.18.0
- eslint: 9.28.0
+ eslint: 9.32.0
graphemer: 1.4.0
ignore: 5.3.2
natural-compare: 1.4.0
@@ -6614,15 +6202,15 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/eslint-plugin@8.34.0(@typescript-eslint/parser@8.34.0(eslint@9.28.0)(typescript@5.8.3))(eslint@9.28.0)(typescript@5.8.3)':
+ '@typescript-eslint/eslint-plugin@8.38.0(@typescript-eslint/parser@8.38.0(eslint@9.32.0)(typescript@5.8.3))(eslint@9.32.0)(typescript@5.8.3)':
dependencies:
'@eslint-community/regexpp': 4.12.1
- '@typescript-eslint/parser': 8.34.0(eslint@9.28.0)(typescript@5.8.3)
- '@typescript-eslint/scope-manager': 8.34.0
- '@typescript-eslint/type-utils': 8.34.0(eslint@9.28.0)(typescript@5.8.3)
- '@typescript-eslint/utils': 8.34.0(eslint@9.28.0)(typescript@5.8.3)
- '@typescript-eslint/visitor-keys': 8.34.0
- eslint: 9.28.0
+ '@typescript-eslint/parser': 8.38.0(eslint@9.32.0)(typescript@5.8.3)
+ '@typescript-eslint/scope-manager': 8.38.0
+ '@typescript-eslint/type-utils': 8.38.0(eslint@9.32.0)(typescript@5.8.3)
+ '@typescript-eslint/utils': 8.38.0(eslint@9.32.0)(typescript@5.8.3)
+ '@typescript-eslint/visitor-keys': 8.38.0
+ eslint: 9.32.0
graphemer: 1.4.0
ignore: 7.0.5
natural-compare: 1.4.0
@@ -6631,35 +6219,35 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/parser@7.18.0(eslint@9.28.0)(typescript@5.8.3)':
+ '@typescript-eslint/parser@7.18.0(eslint@9.32.0)(typescript@5.8.3)':
dependencies:
'@typescript-eslint/scope-manager': 7.18.0
'@typescript-eslint/types': 7.18.0
'@typescript-eslint/typescript-estree': 7.18.0(typescript@5.8.3)
'@typescript-eslint/visitor-keys': 7.18.0
debug: 4.4.1(supports-color@8.1.1)
- eslint: 9.28.0
+ eslint: 9.32.0
optionalDependencies:
typescript: 5.8.3
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/parser@8.34.0(eslint@9.28.0)(typescript@5.8.3)':
+ '@typescript-eslint/parser@8.38.0(eslint@9.32.0)(typescript@5.8.3)':
dependencies:
- '@typescript-eslint/scope-manager': 8.34.0
- '@typescript-eslint/types': 8.34.0
- '@typescript-eslint/typescript-estree': 8.34.0(typescript@5.8.3)
- '@typescript-eslint/visitor-keys': 8.34.0
+ '@typescript-eslint/scope-manager': 8.38.0
+ '@typescript-eslint/types': 8.38.0
+ '@typescript-eslint/typescript-estree': 8.38.0(typescript@5.8.3)
+ '@typescript-eslint/visitor-keys': 8.38.0
debug: 4.4.1(supports-color@8.1.1)
- eslint: 9.28.0
+ eslint: 9.32.0
typescript: 5.8.3
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/project-service@8.34.0(typescript@5.8.3)':
+ '@typescript-eslint/project-service@8.38.0(typescript@5.8.3)':
dependencies:
- '@typescript-eslint/tsconfig-utils': 8.34.0(typescript@5.8.3)
- '@typescript-eslint/types': 8.34.0
+ '@typescript-eslint/tsconfig-utils': 8.38.0(typescript@5.8.3)
+ '@typescript-eslint/types': 8.38.0
debug: 4.4.1(supports-color@8.1.1)
typescript: 5.8.3
transitivePeerDependencies:
@@ -6670,33 +6258,34 @@ snapshots:
'@typescript-eslint/types': 7.18.0
'@typescript-eslint/visitor-keys': 7.18.0
- '@typescript-eslint/scope-manager@8.34.0':
+ '@typescript-eslint/scope-manager@8.38.0':
dependencies:
- '@typescript-eslint/types': 8.34.0
- '@typescript-eslint/visitor-keys': 8.34.0
+ '@typescript-eslint/types': 8.38.0
+ '@typescript-eslint/visitor-keys': 8.38.0
- '@typescript-eslint/tsconfig-utils@8.34.0(typescript@5.8.3)':
+ '@typescript-eslint/tsconfig-utils@8.38.0(typescript@5.8.3)':
dependencies:
typescript: 5.8.3
- '@typescript-eslint/type-utils@7.18.0(eslint@9.28.0)(typescript@5.8.3)':
+ '@typescript-eslint/type-utils@7.18.0(eslint@9.32.0)(typescript@5.8.3)':
dependencies:
'@typescript-eslint/typescript-estree': 7.18.0(typescript@5.8.3)
- '@typescript-eslint/utils': 7.18.0(eslint@9.28.0)(typescript@5.8.3)
+ '@typescript-eslint/utils': 7.18.0(eslint@9.32.0)(typescript@5.8.3)
debug: 4.4.1(supports-color@8.1.1)
- eslint: 9.28.0
+ eslint: 9.32.0
ts-api-utils: 1.4.3(typescript@5.8.3)
optionalDependencies:
typescript: 5.8.3
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/type-utils@8.34.0(eslint@9.28.0)(typescript@5.8.3)':
+ '@typescript-eslint/type-utils@8.38.0(eslint@9.32.0)(typescript@5.8.3)':
dependencies:
- '@typescript-eslint/typescript-estree': 8.34.0(typescript@5.8.3)
- '@typescript-eslint/utils': 8.34.0(eslint@9.28.0)(typescript@5.8.3)
+ '@typescript-eslint/types': 8.38.0
+ '@typescript-eslint/typescript-estree': 8.38.0(typescript@5.8.3)
+ '@typescript-eslint/utils': 8.38.0(eslint@9.32.0)(typescript@5.8.3)
debug: 4.4.1(supports-color@8.1.1)
- eslint: 9.28.0
+ eslint: 9.32.0
ts-api-utils: 2.1.0(typescript@5.8.3)
typescript: 5.8.3
transitivePeerDependencies:
@@ -6704,7 +6293,7 @@ snapshots:
'@typescript-eslint/types@7.18.0': {}
- '@typescript-eslint/types@8.34.0': {}
+ '@typescript-eslint/types@8.38.0': {}
'@typescript-eslint/typescript-estree@7.18.0(typescript@5.8.3)':
dependencies:
@@ -6721,12 +6310,12 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/typescript-estree@8.34.0(typescript@5.8.3)':
+ '@typescript-eslint/typescript-estree@8.38.0(typescript@5.8.3)':
dependencies:
- '@typescript-eslint/project-service': 8.34.0(typescript@5.8.3)
- '@typescript-eslint/tsconfig-utils': 8.34.0(typescript@5.8.3)
- '@typescript-eslint/types': 8.34.0
- '@typescript-eslint/visitor-keys': 8.34.0
+ '@typescript-eslint/project-service': 8.38.0(typescript@5.8.3)
+ '@typescript-eslint/tsconfig-utils': 8.38.0(typescript@5.8.3)
+ '@typescript-eslint/types': 8.38.0
+ '@typescript-eslint/visitor-keys': 8.38.0
debug: 4.4.1(supports-color@8.1.1)
fast-glob: 3.3.3
is-glob: 4.0.3
@@ -6737,24 +6326,24 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/utils@7.18.0(eslint@9.28.0)(typescript@5.8.3)':
+ '@typescript-eslint/utils@7.18.0(eslint@9.32.0)(typescript@5.8.3)':
dependencies:
- '@eslint-community/eslint-utils': 4.7.0(eslint@9.28.0)
+ '@eslint-community/eslint-utils': 4.7.0(eslint@9.32.0)
'@typescript-eslint/scope-manager': 7.18.0
'@typescript-eslint/types': 7.18.0
'@typescript-eslint/typescript-estree': 7.18.0(typescript@5.8.3)
- eslint: 9.28.0
+ eslint: 9.32.0
transitivePeerDependencies:
- supports-color
- typescript
- '@typescript-eslint/utils@8.34.0(eslint@9.28.0)(typescript@5.8.3)':
+ '@typescript-eslint/utils@8.38.0(eslint@9.32.0)(typescript@5.8.3)':
dependencies:
- '@eslint-community/eslint-utils': 4.7.0(eslint@9.28.0)
- '@typescript-eslint/scope-manager': 8.34.0
- '@typescript-eslint/types': 8.34.0
- '@typescript-eslint/typescript-estree': 8.34.0(typescript@5.8.3)
- eslint: 9.28.0
+ '@eslint-community/eslint-utils': 4.7.0(eslint@9.32.0)
+ '@typescript-eslint/scope-manager': 8.38.0
+ '@typescript-eslint/types': 8.38.0
+ '@typescript-eslint/typescript-estree': 8.38.0(typescript@5.8.3)
+ eslint: 9.32.0
typescript: 5.8.3
transitivePeerDependencies:
- supports-color
@@ -6764,9 +6353,9 @@ snapshots:
'@typescript-eslint/types': 7.18.0
eslint-visitor-keys: 3.4.3
- '@typescript-eslint/visitor-keys@8.34.0':
+ '@typescript-eslint/visitor-keys@8.38.0':
dependencies:
- '@typescript-eslint/types': 8.34.0
+ '@typescript-eslint/types': 8.38.0
eslint-visitor-keys: 4.2.1
'@ungap/structured-clone@1.3.0': {}
@@ -6818,161 +6407,156 @@ snapshots:
'@unrs/resolver-binding-win32-x64-msvc@1.3.3':
optional: true
- '@vitejs/plugin-react-swc@3.10.2(vite@6.3.5(@types/node@24.0.1)(tsx@4.20.3))':
+ '@vitejs/plugin-react-swc@3.10.2(vite@7.0.6(@types/node@24.1.0)(tsx@4.20.3))':
dependencies:
'@rolldown/pluginutils': 1.0.0-beta.11
'@swc/core': 1.12.1
- vite: 6.3.5(@types/node@24.0.1)(tsx@4.20.3)
+ vite: 7.0.6(@types/node@24.1.0)(tsx@4.20.3)
transitivePeerDependencies:
- '@swc/helpers'
- '@vitejs/plugin-vue@5.2.3(vite@5.4.19(@types/node@24.0.1))(vue@3.5.13(typescript@5.8.3))':
+ '@vitejs/plugin-vue@6.0.1(vite@7.0.6(@types/node@24.1.0)(tsx@4.20.3))(vue@3.5.18(typescript@5.8.3))':
dependencies:
- vite: 5.4.19(@types/node@24.0.1)
- vue: 3.5.13(typescript@5.8.3)
+ '@rolldown/pluginutils': 1.0.0-beta.29
+ vite: 7.0.6(@types/node@24.1.0)(tsx@4.20.3)
+ vue: 3.5.18(typescript@5.8.3)
- '@vitest/expect@3.2.3':
+ '@vitest/expect@3.2.4':
dependencies:
'@types/chai': 5.2.2
- '@vitest/spy': 3.2.3
- '@vitest/utils': 3.2.3
+ '@vitest/spy': 3.2.4
+ '@vitest/utils': 3.2.4
chai: 5.2.0
tinyrainbow: 2.0.0
- '@vitest/mocker@3.2.3(vite@6.3.5(@types/node@24.0.1)(tsx@4.20.3))':
+ '@vitest/mocker@3.2.4(vite@7.0.6(@types/node@24.1.0)(tsx@4.20.3))':
dependencies:
- '@vitest/spy': 3.2.3
+ '@vitest/spy': 3.2.4
estree-walker: 3.0.3
magic-string: 0.30.17
optionalDependencies:
- vite: 6.3.5(@types/node@24.0.1)(tsx@4.20.3)
+ vite: 7.0.6(@types/node@24.1.0)(tsx@4.20.3)
- '@vitest/pretty-format@3.2.3':
+ '@vitest/pretty-format@3.2.4':
dependencies:
tinyrainbow: 2.0.0
- '@vitest/runner@3.2.3':
+ '@vitest/runner@3.2.4':
dependencies:
- '@vitest/utils': 3.2.3
+ '@vitest/utils': 3.2.4
pathe: 2.0.3
strip-literal: 3.0.0
- '@vitest/snapshot@3.2.3':
+ '@vitest/snapshot@3.2.4':
dependencies:
- '@vitest/pretty-format': 3.2.3
+ '@vitest/pretty-format': 3.2.4
magic-string: 0.30.17
pathe: 2.0.3
- '@vitest/spy@3.2.3':
+ '@vitest/spy@3.2.4':
dependencies:
tinyspy: 4.0.3
- '@vitest/utils@3.2.3':
+ '@vitest/utils@3.2.4':
dependencies:
- '@vitest/pretty-format': 3.2.3
- loupe: 3.1.3
+ '@vitest/pretty-format': 3.2.4
+ loupe: 3.2.0
tinyrainbow: 2.0.0
- '@vue/compiler-core@3.5.13':
+ '@vue/compiler-core@3.5.18':
dependencies:
- '@babel/parser': 7.27.0
- '@vue/shared': 3.5.13
+ '@babel/parser': 7.28.0
+ '@vue/shared': 3.5.18
entities: 4.5.0
estree-walker: 2.0.2
source-map-js: 1.2.1
- '@vue/compiler-dom@3.5.13':
+ '@vue/compiler-dom@3.5.18':
dependencies:
- '@vue/compiler-core': 3.5.13
- '@vue/shared': 3.5.13
+ '@vue/compiler-core': 3.5.18
+ '@vue/shared': 3.5.18
- '@vue/compiler-sfc@3.5.13':
+ '@vue/compiler-sfc@3.5.18':
dependencies:
- '@babel/parser': 7.27.0
- '@vue/compiler-core': 3.5.13
- '@vue/compiler-dom': 3.5.13
- '@vue/compiler-ssr': 3.5.13
- '@vue/shared': 3.5.13
+ '@babel/parser': 7.28.0
+ '@vue/compiler-core': 3.5.18
+ '@vue/compiler-dom': 3.5.18
+ '@vue/compiler-ssr': 3.5.18
+ '@vue/shared': 3.5.18
estree-walker: 2.0.2
magic-string: 0.30.17
- postcss: 8.5.3
+ postcss: 8.5.6
source-map-js: 1.2.1
- '@vue/compiler-ssr@3.5.13':
+ '@vue/compiler-ssr@3.5.18':
dependencies:
- '@vue/compiler-dom': 3.5.13
- '@vue/shared': 3.5.13
+ '@vue/compiler-dom': 3.5.18
+ '@vue/shared': 3.5.18
- '@vue/devtools-api@7.7.2':
+ '@vue/devtools-api@7.7.7':
dependencies:
- '@vue/devtools-kit': 7.7.2
+ '@vue/devtools-kit': 7.7.7
- '@vue/devtools-kit@7.7.2':
+ '@vue/devtools-kit@7.7.7':
dependencies:
- '@vue/devtools-shared': 7.7.2
- birpc: 0.2.19
+ '@vue/devtools-shared': 7.7.7
+ birpc: 2.5.0
hookable: 5.5.3
mitt: 3.0.1
perfect-debounce: 1.0.0
speakingurl: 14.0.1
superjson: 2.2.2
- '@vue/devtools-shared@7.7.2':
+ '@vue/devtools-shared@7.7.7':
dependencies:
rfdc: 1.4.1
- '@vue/reactivity@3.5.13':
+ '@vue/reactivity@3.5.18':
dependencies:
- '@vue/shared': 3.5.13
+ '@vue/shared': 3.5.18
- '@vue/runtime-core@3.5.13':
+ '@vue/runtime-core@3.5.18':
dependencies:
- '@vue/reactivity': 3.5.13
- '@vue/shared': 3.5.13
+ '@vue/reactivity': 3.5.18
+ '@vue/shared': 3.5.18
- '@vue/runtime-dom@3.5.13':
+ '@vue/runtime-dom@3.5.18':
dependencies:
- '@vue/reactivity': 3.5.13
- '@vue/runtime-core': 3.5.13
- '@vue/shared': 3.5.13
+ '@vue/reactivity': 3.5.18
+ '@vue/runtime-core': 3.5.18
+ '@vue/shared': 3.5.18
csstype: 3.1.3
- '@vue/server-renderer@3.5.13(vue@3.5.13(typescript@5.8.3))':
+ '@vue/server-renderer@3.5.18(vue@3.5.18(typescript@5.8.3))':
dependencies:
- '@vue/compiler-ssr': 3.5.13
- '@vue/shared': 3.5.13
- vue: 3.5.13(typescript@5.8.3)
+ '@vue/compiler-ssr': 3.5.18
+ '@vue/shared': 3.5.18
+ vue: 3.5.18(typescript@5.8.3)
- '@vue/shared@3.5.13': {}
+ '@vue/shared@3.5.18': {}
- '@vueuse/core@12.8.2(typescript@5.8.3)':
+ '@vueuse/core@13.6.0(vue@3.5.18(typescript@5.8.3))':
dependencies:
'@types/web-bluetooth': 0.0.21
- '@vueuse/metadata': 12.8.2
- '@vueuse/shared': 12.8.2(typescript@5.8.3)
- vue: 3.5.13(typescript@5.8.3)
- transitivePeerDependencies:
- - typescript
+ '@vueuse/metadata': 13.6.0
+ '@vueuse/shared': 13.6.0(vue@3.5.18(typescript@5.8.3))
+ vue: 3.5.18(typescript@5.8.3)
- '@vueuse/integrations@12.8.2(axios@1.8.4)(focus-trap@7.6.4)(jwt-decode@4.0.0)(typescript@5.8.3)':
+ '@vueuse/integrations@13.6.0(axios@1.10.0)(focus-trap@7.6.5)(jwt-decode@4.0.0)(vue@3.5.18(typescript@5.8.3))':
dependencies:
- '@vueuse/core': 12.8.2(typescript@5.8.3)
- '@vueuse/shared': 12.8.2(typescript@5.8.3)
- vue: 3.5.13(typescript@5.8.3)
+ '@vueuse/core': 13.6.0(vue@3.5.18(typescript@5.8.3))
+ '@vueuse/shared': 13.6.0(vue@3.5.18(typescript@5.8.3))
+ vue: 3.5.18(typescript@5.8.3)
optionalDependencies:
- axios: 1.8.4
- focus-trap: 7.6.4
+ axios: 1.10.0
+ focus-trap: 7.6.5
jwt-decode: 4.0.0
- transitivePeerDependencies:
- - typescript
- '@vueuse/metadata@12.8.2': {}
+ '@vueuse/metadata@13.6.0': {}
- '@vueuse/shared@12.8.2(typescript@5.8.3)':
+ '@vueuse/shared@13.6.0(vue@3.5.18(typescript@5.8.3))':
dependencies:
- vue: 3.5.13(typescript@5.8.3)
- transitivePeerDependencies:
- - typescript
+ vue: 3.5.18(typescript@5.8.3)
accepts@1.3.8:
dependencies:
@@ -6987,6 +6571,8 @@ snapshots:
agent-base@7.1.3: {}
+ agent-base@7.1.4: {}
+
ajv-formats@2.1.1(ajv@8.17.1):
optionalDependencies:
ajv: 8.17.1
@@ -7005,22 +6591,6 @@ snapshots:
json-schema-traverse: 1.0.0
require-from-string: 2.0.2
- algoliasearch@5.23.2:
- dependencies:
- '@algolia/client-abtesting': 5.23.2
- '@algolia/client-analytics': 5.23.2
- '@algolia/client-common': 5.23.2
- '@algolia/client-insights': 5.23.2
- '@algolia/client-personalization': 5.23.2
- '@algolia/client-query-suggestions': 5.23.2
- '@algolia/client-search': 5.23.2
- '@algolia/ingestion': 1.23.2
- '@algolia/monitoring': 1.23.2
- '@algolia/recommend': 5.23.2
- '@algolia/requester-browser-xhr': 5.23.2
- '@algolia/requester-fetch': 5.23.2
- '@algolia/requester-node-http': 5.23.2
-
ansi-regex@5.0.1: {}
ansi-regex@6.1.0: {}
@@ -7112,10 +6682,10 @@ snapshots:
dependencies:
possible-typed-array-names: 1.1.0
- axios@1.8.4:
+ axios@1.10.0:
dependencies:
follow-redirects: 1.15.9
- form-data: 4.0.2
+ form-data: 4.0.3
proxy-from-env: 1.1.0
transitivePeerDependencies:
- debug
@@ -7134,7 +6704,7 @@ snapshots:
binary-search@1.3.6: {}
- birpc@0.2.19: {}
+ birpc@2.5.0: {}
body-parser@1.20.3:
dependencies:
@@ -7291,7 +6861,7 @@ snapshots:
cookie-signature@1.0.6: {}
- cookie@0.4.2: {}
+ cookie-signature@1.0.7: {}
cookie@0.7.1: {}
@@ -7334,9 +6904,9 @@ snapshots:
shebang-command: 2.0.0
which: 2.0.2
- cssstyle@4.3.0:
+ cssstyle@4.6.0:
dependencies:
- '@asamuzakjp/css-color': 3.1.1
+ '@asamuzakjp/css-color': 3.2.0
rrweb-cssom: 0.8.0
csstype@3.1.3: {}
@@ -7392,7 +6962,7 @@ snapshots:
decamelize@4.0.0: {}
- decimal.js@10.5.0: {}
+ decimal.js@10.6.0: {}
deep-eql@5.0.2: {}
@@ -7478,8 +7048,6 @@ snapshots:
electron-to-chromium@1.5.132: {}
- emoji-regex-xs@1.0.0: {}
-
emoji-regex@8.0.0: {}
emoji-regex@9.2.2: {}
@@ -7505,7 +7073,7 @@ snapshots:
engine.io@6.6.4:
dependencies:
'@types/cors': 2.8.17
- '@types/node': 24.0.1
+ '@types/node': 24.1.0
accepts: 1.3.8
base64id: 2.0.0
cookie: 0.7.2
@@ -7520,6 +7088,8 @@ snapshots:
entities@4.5.0: {}
+ entities@6.0.1: {}
+
error-ex@1.3.2:
dependencies:
is-arrayish: 0.2.1
@@ -7605,60 +7175,6 @@ snapshots:
is-date-object: 1.1.0
is-symbol: 1.1.1
- esbuild@0.21.5:
- optionalDependencies:
- '@esbuild/aix-ppc64': 0.21.5
- '@esbuild/android-arm': 0.21.5
- '@esbuild/android-arm64': 0.21.5
- '@esbuild/android-x64': 0.21.5
- '@esbuild/darwin-arm64': 0.21.5
- '@esbuild/darwin-x64': 0.21.5
- '@esbuild/freebsd-arm64': 0.21.5
- '@esbuild/freebsd-x64': 0.21.5
- '@esbuild/linux-arm': 0.21.5
- '@esbuild/linux-arm64': 0.21.5
- '@esbuild/linux-ia32': 0.21.5
- '@esbuild/linux-loong64': 0.21.5
- '@esbuild/linux-mips64el': 0.21.5
- '@esbuild/linux-ppc64': 0.21.5
- '@esbuild/linux-riscv64': 0.21.5
- '@esbuild/linux-s390x': 0.21.5
- '@esbuild/linux-x64': 0.21.5
- '@esbuild/netbsd-x64': 0.21.5
- '@esbuild/openbsd-x64': 0.21.5
- '@esbuild/sunos-x64': 0.21.5
- '@esbuild/win32-arm64': 0.21.5
- '@esbuild/win32-ia32': 0.21.5
- '@esbuild/win32-x64': 0.21.5
-
- esbuild@0.25.3:
- optionalDependencies:
- '@esbuild/aix-ppc64': 0.25.3
- '@esbuild/android-arm': 0.25.3
- '@esbuild/android-arm64': 0.25.3
- '@esbuild/android-x64': 0.25.3
- '@esbuild/darwin-arm64': 0.25.3
- '@esbuild/darwin-x64': 0.25.3
- '@esbuild/freebsd-arm64': 0.25.3
- '@esbuild/freebsd-x64': 0.25.3
- '@esbuild/linux-arm': 0.25.3
- '@esbuild/linux-arm64': 0.25.3
- '@esbuild/linux-ia32': 0.25.3
- '@esbuild/linux-loong64': 0.25.3
- '@esbuild/linux-mips64el': 0.25.3
- '@esbuild/linux-ppc64': 0.25.3
- '@esbuild/linux-riscv64': 0.25.3
- '@esbuild/linux-s390x': 0.25.3
- '@esbuild/linux-x64': 0.25.3
- '@esbuild/netbsd-arm64': 0.25.3
- '@esbuild/netbsd-x64': 0.25.3
- '@esbuild/openbsd-arm64': 0.25.3
- '@esbuild/openbsd-x64': 0.25.3
- '@esbuild/sunos-x64': 0.25.3
- '@esbuild/win32-arm64': 0.25.3
- '@esbuild/win32-ia32': 0.25.3
- '@esbuild/win32-x64': 0.25.3
-
esbuild@0.25.5:
optionalDependencies:
'@esbuild/aix-ppc64': 0.25.5
@@ -7687,6 +7203,35 @@ snapshots:
'@esbuild/win32-ia32': 0.25.5
'@esbuild/win32-x64': 0.25.5
+ esbuild@0.25.8:
+ optionalDependencies:
+ '@esbuild/aix-ppc64': 0.25.8
+ '@esbuild/android-arm': 0.25.8
+ '@esbuild/android-arm64': 0.25.8
+ '@esbuild/android-x64': 0.25.8
+ '@esbuild/darwin-arm64': 0.25.8
+ '@esbuild/darwin-x64': 0.25.8
+ '@esbuild/freebsd-arm64': 0.25.8
+ '@esbuild/freebsd-x64': 0.25.8
+ '@esbuild/linux-arm': 0.25.8
+ '@esbuild/linux-arm64': 0.25.8
+ '@esbuild/linux-ia32': 0.25.8
+ '@esbuild/linux-loong64': 0.25.8
+ '@esbuild/linux-mips64el': 0.25.8
+ '@esbuild/linux-ppc64': 0.25.8
+ '@esbuild/linux-riscv64': 0.25.8
+ '@esbuild/linux-s390x': 0.25.8
+ '@esbuild/linux-x64': 0.25.8
+ '@esbuild/netbsd-arm64': 0.25.8
+ '@esbuild/netbsd-x64': 0.25.8
+ '@esbuild/openbsd-arm64': 0.25.8
+ '@esbuild/openbsd-x64': 0.25.8
+ '@esbuild/openharmony-arm64': 0.25.8
+ '@esbuild/sunos-x64': 0.25.8
+ '@esbuild/win32-arm64': 0.25.8
+ '@esbuild/win32-ia32': 0.25.8
+ '@esbuild/win32-x64': 0.25.8
+
escalade@3.2.0: {}
escape-html@1.0.3: {}
@@ -7703,24 +7248,24 @@ snapshots:
optionalDependencies:
source-map: 0.6.1
- eslint-compat-utils@0.5.1(eslint@9.28.0):
+ eslint-compat-utils@0.5.1(eslint@9.32.0):
dependencies:
- eslint: 9.28.0
+ eslint: 9.32.0
semver: 7.7.2
- eslint-config-etherpad@4.0.4(eslint@9.28.0)(typescript@5.8.3):
+ eslint-config-etherpad@4.0.4(eslint@9.32.0)(typescript@5.8.3):
dependencies:
'@rushstack/eslint-patch': 1.11.0
- '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0(eslint@9.28.0)(typescript@5.8.3))(eslint@9.28.0)(typescript@5.8.3)
- '@typescript-eslint/parser': 7.18.0(eslint@9.28.0)(typescript@5.8.3)
- eslint-import-resolver-typescript: 3.10.0(eslint-plugin-import@2.31.0)(eslint@9.28.0)
- eslint-plugin-cypress: 2.15.2(eslint@9.28.0)
- eslint-plugin-eslint-comments: 3.2.0(eslint@9.28.0)
- eslint-plugin-import: 2.31.0(@typescript-eslint/parser@7.18.0(eslint@9.28.0)(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.0)(eslint@9.28.0)
- eslint-plugin-mocha: 10.5.0(eslint@9.28.0)
- eslint-plugin-n: 16.6.2(eslint@9.28.0)
- eslint-plugin-prefer-arrow: 1.2.3(eslint@9.28.0)
- eslint-plugin-promise: 6.6.0(eslint@9.28.0)
+ '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0(eslint@9.32.0)(typescript@5.8.3))(eslint@9.32.0)(typescript@5.8.3)
+ '@typescript-eslint/parser': 7.18.0(eslint@9.32.0)(typescript@5.8.3)
+ eslint-import-resolver-typescript: 3.10.0(eslint-plugin-import@2.31.0)(eslint@9.32.0)
+ eslint-plugin-cypress: 2.15.2(eslint@9.32.0)
+ eslint-plugin-eslint-comments: 3.2.0(eslint@9.32.0)
+ eslint-plugin-import: 2.31.0(@typescript-eslint/parser@7.18.0(eslint@9.32.0)(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.0)(eslint@9.32.0)
+ eslint-plugin-mocha: 10.5.0(eslint@9.32.0)
+ eslint-plugin-n: 16.6.2(eslint@9.32.0)
+ eslint-plugin-prefer-arrow: 1.2.3(eslint@9.32.0)
+ eslint-plugin-promise: 6.6.0(eslint@9.32.0)
eslint-plugin-you-dont-need-lodash-underscore: 6.14.0
transitivePeerDependencies:
- eslint
@@ -7737,51 +7282,51 @@ snapshots:
transitivePeerDependencies:
- supports-color
- eslint-import-resolver-typescript@3.10.0(eslint-plugin-import@2.31.0)(eslint@9.28.0):
+ eslint-import-resolver-typescript@3.10.0(eslint-plugin-import@2.31.0)(eslint@9.32.0):
dependencies:
'@nolyfill/is-core-module': 1.0.39
debug: 4.4.1(supports-color@8.1.1)
- eslint: 9.28.0
+ eslint: 9.32.0
get-tsconfig: 4.10.1
is-bun-module: 2.0.0
stable-hash: 0.0.5
tinyglobby: 0.2.14
unrs-resolver: 1.3.3
optionalDependencies:
- eslint-plugin-import: 2.31.0(@typescript-eslint/parser@7.18.0(eslint@9.28.0)(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.0)(eslint@9.28.0)
+ eslint-plugin-import: 2.31.0(@typescript-eslint/parser@7.18.0(eslint@9.32.0)(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.0)(eslint@9.32.0)
transitivePeerDependencies:
- supports-color
- eslint-module-utils@2.12.0(@typescript-eslint/parser@7.18.0(eslint@9.28.0)(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.0)(eslint@9.28.0):
+ eslint-module-utils@2.12.0(@typescript-eslint/parser@7.18.0(eslint@9.32.0)(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.0)(eslint@9.32.0):
dependencies:
debug: 3.2.7
optionalDependencies:
- '@typescript-eslint/parser': 7.18.0(eslint@9.28.0)(typescript@5.8.3)
- eslint: 9.28.0
+ '@typescript-eslint/parser': 7.18.0(eslint@9.32.0)(typescript@5.8.3)
+ eslint: 9.32.0
eslint-import-resolver-node: 0.3.9
- eslint-import-resolver-typescript: 3.10.0(eslint-plugin-import@2.31.0)(eslint@9.28.0)
+ eslint-import-resolver-typescript: 3.10.0(eslint-plugin-import@2.31.0)(eslint@9.32.0)
transitivePeerDependencies:
- supports-color
- eslint-plugin-cypress@2.15.2(eslint@9.28.0):
+ eslint-plugin-cypress@2.15.2(eslint@9.32.0):
dependencies:
- eslint: 9.28.0
+ eslint: 9.32.0
globals: 13.24.0
- eslint-plugin-es-x@7.8.0(eslint@9.28.0):
+ eslint-plugin-es-x@7.8.0(eslint@9.32.0):
dependencies:
- '@eslint-community/eslint-utils': 4.7.0(eslint@9.28.0)
+ '@eslint-community/eslint-utils': 4.7.0(eslint@9.32.0)
'@eslint-community/regexpp': 4.12.1
- eslint: 9.28.0
- eslint-compat-utils: 0.5.1(eslint@9.28.0)
+ eslint: 9.32.0
+ eslint-compat-utils: 0.5.1(eslint@9.32.0)
- eslint-plugin-eslint-comments@3.2.0(eslint@9.28.0):
+ eslint-plugin-eslint-comments@3.2.0(eslint@9.32.0):
dependencies:
escape-string-regexp: 1.0.5
- eslint: 9.28.0
+ eslint: 9.32.0
ignore: 5.3.2
- eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.18.0(eslint@9.28.0)(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.0)(eslint@9.28.0):
+ eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.18.0(eslint@9.32.0)(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.0)(eslint@9.32.0):
dependencies:
'@rtsao/scc': 1.1.0
array-includes: 3.1.8
@@ -7790,9 +7335,9 @@ snapshots:
array.prototype.flatmap: 1.3.3
debug: 3.2.7
doctrine: 2.1.0
- eslint: 9.28.0
+ eslint: 9.32.0
eslint-import-resolver-node: 0.3.9
- eslint-module-utils: 2.12.0(@typescript-eslint/parser@7.18.0(eslint@9.28.0)(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.0)(eslint@9.28.0)
+ eslint-module-utils: 2.12.0(@typescript-eslint/parser@7.18.0(eslint@9.32.0)(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.0)(eslint@9.32.0)
hasown: 2.0.2
is-core-module: 2.16.1
is-glob: 4.0.3
@@ -7804,25 +7349,25 @@ snapshots:
string.prototype.trimend: 1.0.9
tsconfig-paths: 3.15.0
optionalDependencies:
- '@typescript-eslint/parser': 7.18.0(eslint@9.28.0)(typescript@5.8.3)
+ '@typescript-eslint/parser': 7.18.0(eslint@9.32.0)(typescript@5.8.3)
transitivePeerDependencies:
- eslint-import-resolver-typescript
- eslint-import-resolver-webpack
- supports-color
- eslint-plugin-mocha@10.5.0(eslint@9.28.0):
+ eslint-plugin-mocha@10.5.0(eslint@9.32.0):
dependencies:
- eslint: 9.28.0
- eslint-utils: 3.0.0(eslint@9.28.0)
+ eslint: 9.32.0
+ eslint-utils: 3.0.0(eslint@9.32.0)
globals: 13.24.0
rambda: 7.5.0
- eslint-plugin-n@16.6.2(eslint@9.28.0):
+ eslint-plugin-n@16.6.2(eslint@9.32.0):
dependencies:
- '@eslint-community/eslint-utils': 4.7.0(eslint@9.28.0)
+ '@eslint-community/eslint-utils': 4.7.0(eslint@9.32.0)
builtins: 5.1.0
- eslint: 9.28.0
- eslint-plugin-es-x: 7.8.0(eslint@9.28.0)
+ eslint: 9.32.0
+ eslint-plugin-es-x: 7.8.0(eslint@9.32.0)
get-tsconfig: 4.10.1
globals: 13.24.0
ignore: 5.3.2
@@ -7832,21 +7377,21 @@ snapshots:
resolve: 1.22.10
semver: 7.7.2
- eslint-plugin-prefer-arrow@1.2.3(eslint@9.28.0):
+ eslint-plugin-prefer-arrow@1.2.3(eslint@9.32.0):
dependencies:
- eslint: 9.28.0
+ eslint: 9.32.0
- eslint-plugin-promise@6.6.0(eslint@9.28.0):
+ eslint-plugin-promise@6.6.0(eslint@9.32.0):
dependencies:
- eslint: 9.28.0
+ eslint: 9.32.0
- eslint-plugin-react-hooks@5.2.0(eslint@9.28.0):
+ eslint-plugin-react-hooks@5.2.0(eslint@9.32.0):
dependencies:
- eslint: 9.28.0
+ eslint: 9.32.0
- eslint-plugin-react-refresh@0.4.20(eslint@9.28.0):
+ eslint-plugin-react-refresh@0.4.20(eslint@9.32.0):
dependencies:
- eslint: 9.28.0
+ eslint: 9.32.0
eslint-plugin-you-dont-need-lodash-underscore@6.14.0:
dependencies:
@@ -7857,9 +7402,9 @@ snapshots:
esrecurse: 4.3.0
estraverse: 5.3.0
- eslint-utils@3.0.0(eslint@9.28.0):
+ eslint-utils@3.0.0(eslint@9.32.0):
dependencies:
- eslint: 9.28.0
+ eslint: 9.32.0
eslint-visitor-keys: 2.1.0
eslint-visitor-keys@2.1.0: {}
@@ -7868,16 +7413,16 @@ snapshots:
eslint-visitor-keys@4.2.1: {}
- eslint@9.28.0:
+ eslint@9.32.0:
dependencies:
- '@eslint-community/eslint-utils': 4.7.0(eslint@9.28.0)
+ '@eslint-community/eslint-utils': 4.7.0(eslint@9.32.0)
'@eslint-community/regexpp': 4.12.1
- '@eslint/config-array': 0.20.1
- '@eslint/config-helpers': 0.2.3
- '@eslint/core': 0.14.0
+ '@eslint/config-array': 0.21.0
+ '@eslint/config-helpers': 0.3.0
+ '@eslint/core': 0.15.0
'@eslint/eslintrc': 3.3.1
- '@eslint/js': 9.28.0
- '@eslint/plugin-kit': 0.3.2
+ '@eslint/js': 9.32.0
+ '@eslint/plugin-kit': 0.3.4
'@humanfs/node': 0.16.6
'@humanwhocodes/module-importer': 1.0.1
'@humanwhocodes/retry': 0.4.3
@@ -7938,11 +7483,11 @@ snapshots:
etag@1.8.1: {}
- etherpad-cli-client@3.0.2:
+ etherpad-cli-client@3.0.4:
dependencies:
async: 3.2.6
socket.io-client: 4.8.1
- superagent: 8.1.2
+ superagent: 10.2.3
transitivePeerDependencies:
- bufferutil
- supports-color
@@ -7950,9 +7495,23 @@ snapshots:
expect-type@1.2.1: {}
- express-rate-limit@7.5.0(express@4.21.2):
+ express-rate-limit@8.0.1(express@4.21.2):
dependencies:
express: 4.21.2
+ ip-address: 10.0.1
+
+ express-session@1.18.2:
+ dependencies:
+ cookie: 0.7.2
+ cookie-signature: 1.0.7
+ debug: 2.6.9
+ depd: 2.0.0
+ on-headers: 1.1.0
+ parseurl: 1.3.3
+ safe-buffer: 5.2.1
+ uid-safe: 2.1.5
+ transitivePeerDependencies:
+ - supports-color
express@4.21.2:
dependencies:
@@ -8014,13 +7573,9 @@ snapshots:
dependencies:
reusify: 1.1.0
- fdir@6.4.4(picomatch@4.0.2):
+ fdir@6.4.6(picomatch@4.0.3):
optionalDependencies:
- picomatch: 4.0.2
-
- fdir@6.4.6(picomatch@4.0.2):
- optionalDependencies:
- picomatch: 4.0.2
+ picomatch: 4.0.3
fetch-blob@3.2.0:
dependencies:
@@ -8071,7 +7626,7 @@ snapshots:
flatted@3.3.3: {}
- focus-trap@7.6.4:
+ focus-trap@7.6.5:
dependencies:
tabbable: 6.2.0
@@ -8086,14 +7641,15 @@ snapshots:
cross-spawn: 7.0.6
signal-exit: 4.1.0
- form-data@4.0.2:
+ form-data@4.0.3:
dependencies:
asynckit: 0.4.0
combined-stream: 1.0.8
es-set-tostringtag: 2.1.0
+ hasown: 2.0.2
mime-types: 2.1.35
- form-data@4.0.3:
+ form-data@4.0.4:
dependencies:
asynckit: 0.4.0
combined-stream: 1.0.8
@@ -8105,13 +7661,6 @@ snapshots:
dependencies:
fetch-blob: 3.2.0
- formidable@2.1.5:
- dependencies:
- '@paralleldrive/cuid2': 2.2.2
- dezalgo: 1.0.4
- once: 1.4.0
- qs: 6.14.0
-
formidable@3.5.4:
dependencies:
'@paralleldrive/cuid2': 2.2.2
@@ -8282,7 +7831,7 @@ snapshots:
'@types/hast': 3.0.4
devlop: 1.1.0
hast-util-from-parse5: 8.0.3
- parse5: 7.2.1
+ parse5: 7.3.0
vfile: 6.0.3
vfile-message: 4.0.2
@@ -8376,14 +7925,14 @@ snapshots:
http-proxy-agent@7.0.2:
dependencies:
- agent-base: 7.1.3
+ agent-base: 7.1.4
debug: 4.4.1(supports-color@8.1.1)
transitivePeerDependencies:
- supports-color
https-proxy-agent@7.0.6:
dependencies:
- agent-base: 7.1.3
+ agent-base: 7.1.4
debug: 4.4.1(supports-color@8.1.1)
transitivePeerDependencies:
- supports-color
@@ -8392,7 +7941,7 @@ snapshots:
dependencies:
'@babel/runtime': 7.27.6
- i18next@25.2.1(typescript@5.8.3):
+ i18next@25.3.2(typescript@5.8.3):
dependencies:
'@babel/runtime': 7.27.6
optionalDependencies:
@@ -8425,6 +7974,8 @@ snapshots:
hasown: 2.0.2
side-channel: 1.1.0
+ ip-address@10.0.1: {}
+
ip-address@9.0.5:
dependencies:
jsbn: 1.1.0
@@ -8584,7 +8135,7 @@ snapshots:
jose@5.10.0: {}
- jose@6.0.11: {}
+ jose@6.0.12: {}
js-cookie@3.0.5: {}
@@ -8598,18 +8149,17 @@ snapshots:
jsbn@1.1.0: {}
- jsdom@26.0.0:
+ jsdom@26.1.0:
dependencies:
- cssstyle: 4.3.0
+ cssstyle: 4.6.0
data-urls: 5.0.0
- decimal.js: 10.5.0
- form-data: 4.0.2
+ decimal.js: 10.6.0
html-encoding-sniffer: 4.0.0
http-proxy-agent: 7.0.2
https-proxy-agent: 7.0.6
is-potential-custom-element-name: 1.0.1
- nwsapi: 2.2.20
- parse5: 7.2.1
+ nwsapi: 2.2.21
+ parse5: 7.3.0
rrweb-cssom: 0.8.0
saxes: 6.0.0
symbol-tree: 3.2.4
@@ -8619,7 +8169,7 @@ snapshots:
whatwg-encoding: 3.1.1
whatwg-mimetype: 4.0.0
whatwg-url: 14.2.0
- ws: 8.18.1
+ ws: 8.18.3
xml-name-validator: 5.0.0
transitivePeerDependencies:
- bufferutil
@@ -8800,6 +8350,8 @@ snapshots:
loupe@3.1.3: {}
+ loupe@3.2.0: {}
+
lower-case@2.0.2:
dependencies:
tslib: 2.8.1
@@ -8814,7 +8366,7 @@ snapshots:
lru-cache@7.18.3: {}
- lucide-react@0.515.0(react@19.1.0):
+ lucide-react@0.525.0(react@19.1.0):
dependencies:
react: 19.1.0
@@ -8928,7 +8480,7 @@ snapshots:
mocha-froth@0.2.10: {}
- mocha@11.6.0:
+ mocha@11.7.1:
dependencies:
browser-stdout: 1.3.1
chokidar: 4.0.3
@@ -8990,7 +8542,7 @@ snapshots:
normalize-path@3.0.0: {}
- nwsapi@2.2.20: {}
+ nwsapi@2.2.21: {}
object-assign@4.1.1: {}
@@ -9027,13 +8579,13 @@ snapshots:
define-properties: 1.2.1
es-object-atoms: 1.1.1
- oidc-provider@9.1.3:
+ oidc-provider@9.3.0:
dependencies:
'@koa/cors': 5.0.0
- '@koa/router': 13.1.0
+ '@koa/router': 13.1.1
debug: 4.4.1(supports-color@8.1.1)
eta: 3.5.0
- jose: 6.0.11
+ jose: 6.0.12
jsesc: 3.1.0
koa: 3.0.0
nanoid: 5.1.5
@@ -9049,19 +8601,21 @@ snapshots:
dependencies:
ee-first: 1.1.1
- on-headers@1.0.2: {}
+ on-headers@1.1.0: {}
once@1.4.0:
dependencies:
wrappy: 1.0.2
- oniguruma-to-es@3.1.1:
+ oniguruma-parser@0.12.1: {}
+
+ oniguruma-to-es@4.3.3:
dependencies:
- emoji-regex-xs: 1.0.0
+ oniguruma-parser: 0.12.1
regex: 6.0.1
regex-recursion: 6.0.2
- openapi-backend@5.12.0:
+ openapi-backend@5.13.0:
dependencies:
'@apidevtools/json-schema-ref-parser': 11.9.3
ajv: 8.17.1
@@ -9119,7 +8673,7 @@ snapshots:
pac-proxy-agent@7.2.0:
dependencies:
'@tootallnate/quickjs-emscripten': 0.23.0
- agent-base: 7.1.3
+ agent-base: 7.1.4
debug: 4.4.1(supports-color@8.1.1)
get-uri: 6.0.4
http-proxy-agent: 7.0.2
@@ -9151,6 +8705,10 @@ snapshots:
dependencies:
entities: 4.5.0
+ parse5@7.3.0:
+ dependencies:
+ entities: 6.0.1
+
parseurl@1.3.3: {}
path-exists@4.0.0: {}
@@ -9182,24 +8740,24 @@ snapshots:
picomatch@4.0.2: {}
- playwright-core@1.53.0: {}
+ picomatch@4.0.3: {}
- playwright@1.53.0:
+ playwright-core@1.54.1: {}
+
+ playwright@1.54.1:
dependencies:
- playwright-core: 1.53.0
+ playwright-core: 1.54.1
optionalDependencies:
fsevents: 2.3.2
possible-typed-array-names@1.1.0: {}
- postcss@8.5.3:
+ postcss@8.5.6:
dependencies:
nanoid: 3.3.11
picocolors: 1.1.1
source-map-js: 1.2.1
- preact@10.26.4: {}
-
prelude-ls@1.2.1: {}
promise@1.3.0:
@@ -9216,7 +8774,7 @@ snapshots:
proxy-agent@6.5.0:
dependencies:
agent-base: 7.1.3
- debug: 4.4.0
+ debug: 4.4.1(supports-color@8.1.1)
http-proxy-agent: 7.0.2
https-proxy-agent: 7.0.6
lru-cache: 7.18.3
@@ -9273,15 +8831,15 @@ snapshots:
react: 19.1.0
scheduler: 0.26.0
- react-hook-form@7.57.0(react@19.1.0):
+ react-hook-form@7.61.1(react@19.1.0):
dependencies:
react: 19.1.0
- react-i18next@15.5.3(i18next@25.2.1(typescript@5.8.3))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3):
+ react-i18next@15.6.1(i18next@25.3.2(typescript@5.8.3))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3):
dependencies:
'@babel/runtime': 7.27.6
html-parse-stringify: 3.0.1
- i18next: 25.2.1(typescript@5.8.3)
+ i18next: 25.3.2(typescript@5.8.3)
react: 19.1.0
optionalDependencies:
react-dom: 19.1.0(react@19.1.0)
@@ -9306,13 +8864,13 @@ snapshots:
optionalDependencies:
'@types/react': 19.1.8
- react-router-dom@7.6.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0):
+ react-router-dom@7.7.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0):
dependencies:
react: 19.1.0
react-dom: 19.1.0(react@19.1.0)
- react-router: 7.6.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ react-router: 7.7.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- react-router@7.6.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0):
+ react-router@7.7.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0):
dependencies:
cookie: 1.0.2
react: 19.1.0
@@ -9581,14 +9139,14 @@ snapshots:
shebang-regex@3.0.0: {}
- shiki@2.5.0:
+ shiki@3.9.1:
dependencies:
- '@shikijs/core': 2.5.0
- '@shikijs/engine-javascript': 2.5.0
- '@shikijs/engine-oniguruma': 2.5.0
- '@shikijs/langs': 2.5.0
- '@shikijs/themes': 2.5.0
- '@shikijs/types': 2.5.0
+ '@shikijs/core': 3.9.1
+ '@shikijs/engine-javascript': 3.9.1
+ '@shikijs/engine-oniguruma': 3.9.1
+ '@shikijs/langs': 3.9.1
+ '@shikijs/themes': 3.9.1
+ '@shikijs/types': 3.9.1
'@shikijs/vscode-textmate': 10.0.2
'@types/hast': 3.0.4
@@ -9686,7 +9244,7 @@ snapshots:
socks-proxy-agent@8.0.5:
dependencies:
- agent-base: 7.1.3
+ agent-base: 7.1.4
debug: 4.4.1(supports-color@8.1.1)
socks: 2.8.5
transitivePeerDependencies:
@@ -9786,13 +9344,13 @@ snapshots:
dependencies:
js-tokens: 9.0.1
- superagent@10.2.1:
+ superagent@10.2.2:
dependencies:
component-emitter: 1.3.1
cookiejar: 2.1.4
- debug: 4.4.0
+ debug: 4.4.1(supports-color@8.1.1)
fast-safe-stringify: 2.1.1
- form-data: 4.0.2
+ form-data: 4.0.3
formidable: 3.5.4
methods: 1.1.2
mime: 2.6.0
@@ -9800,18 +9358,17 @@ snapshots:
transitivePeerDependencies:
- supports-color
- superagent@8.1.2:
+ superagent@10.2.3:
dependencies:
component-emitter: 1.3.1
cookiejar: 2.1.4
debug: 4.4.1(supports-color@8.1.1)
fast-safe-stringify: 2.1.1
- form-data: 4.0.2
- formidable: 2.1.5
+ form-data: 4.0.4
+ formidable: 3.5.4
methods: 1.1.2
mime: 2.6.0
qs: 6.14.0
- semver: 7.7.2
transitivePeerDependencies:
- supports-color
@@ -9819,10 +9376,10 @@ snapshots:
dependencies:
copy-anything: 3.0.5
- supertest@7.1.1:
+ supertest@7.1.4:
dependencies:
methods: 1.1.2
- superagent: 10.2.1
+ superagent: 10.2.3
transitivePeerDependencies:
- supports-color
@@ -9868,27 +9425,22 @@ snapshots:
tinyexec@0.3.2: {}
- tinyglobby@0.2.13:
- dependencies:
- fdir: 6.4.4(picomatch@4.0.2)
- picomatch: 4.0.2
-
tinyglobby@0.2.14:
dependencies:
- fdir: 6.4.6(picomatch@4.0.2)
- picomatch: 4.0.2
+ fdir: 6.4.6(picomatch@4.0.3)
+ picomatch: 4.0.3
- tinypool@1.1.0: {}
+ tinypool@1.1.1: {}
tinyrainbow@2.0.0: {}
tinyspy@4.0.3: {}
- tldts-core@6.1.85: {}
+ tldts-core@6.1.86: {}
- tldts@6.1.85:
+ tldts@6.1.86:
dependencies:
- tldts-core: 6.1.85
+ tldts-core: 6.1.86
to-regex-range@5.0.1:
dependencies:
@@ -9898,9 +9450,9 @@ snapshots:
tough-cookie@5.1.2:
dependencies:
- tldts: 6.1.85
+ tldts: 6.1.86
- tr46@5.1.0:
+ tr46@5.1.1:
dependencies:
punycode: 2.3.1
@@ -10112,13 +9664,13 @@ snapshots:
'@types/unist': 3.0.3
vfile-message: 4.0.2
- vite-node@3.2.3(@types/node@24.0.1)(tsx@4.20.3):
+ vite-node@3.2.4(@types/node@24.1.0)(tsx@4.20.3):
dependencies:
cac: 6.7.14
debug: 4.4.1(supports-color@8.1.1)
es-module-lexer: 1.7.0
pathe: 2.0.3
- vite: 6.3.5(@types/node@24.0.1)(tsx@4.20.3)
+ vite: 7.0.6(@types/node@24.1.0)(tsx@4.20.3)
transitivePeerDependencies:
- '@types/node'
- jiti
@@ -10133,107 +9685,95 @@ snapshots:
- tsx
- yaml
- vite-plugin-static-copy@3.0.0(vite@6.3.5(@types/node@24.0.1)(tsx@4.20.3)):
+ vite-plugin-static-copy@3.1.1(vite@7.0.6(@types/node@24.1.0)(tsx@4.20.3)):
dependencies:
chokidar: 3.6.0
fs-extra: 11.3.0
p-map: 7.0.3
picocolors: 1.1.1
tinyglobby: 0.2.14
- vite: 6.3.5(@types/node@24.0.1)(tsx@4.20.3)
+ vite: 7.0.6(@types/node@24.1.0)(tsx@4.20.3)
- vite-plugin-svgr@4.3.0(rollup@4.40.1)(typescript@5.8.3)(vite@6.3.5(@types/node@24.0.1)(tsx@4.20.3)):
+ vite-plugin-svgr@4.3.0(rollup@4.40.1)(typescript@5.8.3)(vite@7.0.6(@types/node@24.1.0)(tsx@4.20.3)):
dependencies:
'@rollup/pluginutils': 5.1.4(rollup@4.40.1)
'@svgr/core': 8.1.0(typescript@5.8.3)
'@svgr/plugin-jsx': 8.1.0(@svgr/core@8.1.0(typescript@5.8.3))
- vite: 6.3.5(@types/node@24.0.1)(tsx@4.20.3)
+ vite: 7.0.6(@types/node@24.1.0)(tsx@4.20.3)
transitivePeerDependencies:
- rollup
- supports-color
- typescript
- vite@5.4.19(@types/node@24.0.1):
+ vite@7.0.6(@types/node@24.1.0)(tsx@4.20.3):
dependencies:
- esbuild: 0.21.5
- postcss: 8.5.3
+ esbuild: 0.25.5
+ fdir: 6.4.6(picomatch@4.0.3)
+ picomatch: 4.0.3
+ postcss: 8.5.6
rollup: 4.40.1
+ tinyglobby: 0.2.14
optionalDependencies:
- '@types/node': 24.0.1
- fsevents: 2.3.3
-
- vite@6.3.5(@types/node@24.0.1)(tsx@4.20.3):
- dependencies:
- esbuild: 0.25.3
- fdir: 6.4.4(picomatch@4.0.2)
- picomatch: 4.0.2
- postcss: 8.5.3
- rollup: 4.40.1
- tinyglobby: 0.2.13
- optionalDependencies:
- '@types/node': 24.0.1
+ '@types/node': 24.1.0
fsevents: 2.3.3
tsx: 4.20.3
- vitepress@1.6.3(@algolia/client-search@5.23.2)(@types/node@24.0.1)(axios@1.8.4)(jwt-decode@4.0.0)(postcss@8.5.3)(typescript@5.8.3):
+ vitepress@2.0.0-alpha.9(@types/node@24.1.0)(axios@1.10.0)(jwt-decode@4.0.0)(postcss@8.5.6)(tsx@4.20.3)(typescript@5.8.3):
dependencies:
- '@docsearch/css': 3.8.2
- '@docsearch/js': 3.8.2(@algolia/client-search@5.23.2)
- '@iconify-json/simple-icons': 1.2.30
- '@shikijs/core': 2.5.0
- '@shikijs/transformers': 2.5.0
- '@shikijs/types': 2.5.0
- '@types/markdown-it': 14.1.2
- '@vitejs/plugin-vue': 5.2.3(vite@5.4.19(@types/node@24.0.1))(vue@3.5.13(typescript@5.8.3))
- '@vue/devtools-api': 7.7.2
- '@vue/shared': 3.5.13
- '@vueuse/core': 12.8.2(typescript@5.8.3)
- '@vueuse/integrations': 12.8.2(axios@1.8.4)(focus-trap@7.6.4)(jwt-decode@4.0.0)(typescript@5.8.3)
- focus-trap: 7.6.4
+ '@docsearch/css': 4.0.0-beta.5
+ '@docsearch/js': 4.0.0-beta.5
+ '@iconify-json/simple-icons': 1.2.45
+ '@shikijs/core': 3.9.1
+ '@shikijs/transformers': 3.9.1
+ '@shikijs/types': 3.9.1
+ '@vitejs/plugin-vue': 6.0.1(vite@7.0.6(@types/node@24.1.0)(tsx@4.20.3))(vue@3.5.18(typescript@5.8.3))
+ '@vue/devtools-api': 7.7.7
+ '@vue/shared': 3.5.18
+ '@vueuse/core': 13.6.0(vue@3.5.18(typescript@5.8.3))
+ '@vueuse/integrations': 13.6.0(axios@1.10.0)(focus-trap@7.6.5)(jwt-decode@4.0.0)(vue@3.5.18(typescript@5.8.3))
+ focus-trap: 7.6.5
mark.js: 8.11.1
minisearch: 7.1.2
- shiki: 2.5.0
- vite: 5.4.19(@types/node@24.0.1)
- vue: 3.5.13(typescript@5.8.3)
+ shiki: 3.9.1
+ vite: 7.0.6(@types/node@24.1.0)(tsx@4.20.3)
+ vue: 3.5.18(typescript@5.8.3)
optionalDependencies:
- postcss: 8.5.3
+ postcss: 8.5.6
transitivePeerDependencies:
- - '@algolia/client-search'
- '@types/node'
- - '@types/react'
- async-validator
- axios
- change-case
- drauu
- fuse.js
- idb-keyval
+ - jiti
- jwt-decode
- less
- lightningcss
- nprogress
- qrcode
- - react
- - react-dom
- sass
- sass-embedded
- - search-insights
- sortablejs
- stylus
- sugarss
- terser
+ - tsx
- typescript
- universal-cookie
+ - yaml
- vitest@3.2.3(@types/debug@4.1.12)(@types/node@24.0.1)(jsdom@26.0.0)(tsx@4.20.3):
+ vitest@3.2.4(@types/debug@4.1.12)(@types/node@24.1.0)(jsdom@26.1.0)(tsx@4.20.3):
dependencies:
'@types/chai': 5.2.2
- '@vitest/expect': 3.2.3
- '@vitest/mocker': 3.2.3(vite@6.3.5(@types/node@24.0.1)(tsx@4.20.3))
- '@vitest/pretty-format': 3.2.3
- '@vitest/runner': 3.2.3
- '@vitest/snapshot': 3.2.3
- '@vitest/spy': 3.2.3
- '@vitest/utils': 3.2.3
+ '@vitest/expect': 3.2.4
+ '@vitest/mocker': 3.2.4(vite@7.0.6(@types/node@24.1.0)(tsx@4.20.3))
+ '@vitest/pretty-format': 3.2.4
+ '@vitest/runner': 3.2.4
+ '@vitest/snapshot': 3.2.4
+ '@vitest/spy': 3.2.4
+ '@vitest/utils': 3.2.4
chai: 5.2.0
debug: 4.4.1(supports-color@8.1.1)
expect-type: 1.2.1
@@ -10244,15 +9784,15 @@ snapshots:
tinybench: 2.9.0
tinyexec: 0.3.2
tinyglobby: 0.2.14
- tinypool: 1.1.0
+ tinypool: 1.1.1
tinyrainbow: 2.0.0
- vite: 6.3.5(@types/node@24.0.1)(tsx@4.20.3)
- vite-node: 3.2.3(@types/node@24.0.1)(tsx@4.20.3)
+ vite: 7.0.6(@types/node@24.1.0)(tsx@4.20.3)
+ vite-node: 3.2.4(@types/node@24.1.0)(tsx@4.20.3)
why-is-node-running: 2.3.0
optionalDependencies:
'@types/debug': 4.1.12
- '@types/node': 24.0.1
- jsdom: 26.0.0
+ '@types/node': 24.1.0
+ jsdom: 26.1.0
transitivePeerDependencies:
- jiti
- less
@@ -10269,13 +9809,13 @@ snapshots:
void-elements@3.1.0: {}
- vue@3.5.13(typescript@5.8.3):
+ vue@3.5.18(typescript@5.8.3):
dependencies:
- '@vue/compiler-dom': 3.5.13
- '@vue/compiler-sfc': 3.5.13
- '@vue/runtime-dom': 3.5.13
- '@vue/server-renderer': 3.5.13(vue@3.5.13(typescript@5.8.3))
- '@vue/shared': 3.5.13
+ '@vue/compiler-dom': 3.5.18
+ '@vue/compiler-sfc': 3.5.18
+ '@vue/runtime-dom': 3.5.18
+ '@vue/server-renderer': 3.5.18(vue@3.5.18(typescript@5.8.3))
+ '@vue/shared': 3.5.18
optionalDependencies:
typescript: 5.8.3
@@ -10297,7 +9837,7 @@ snapshots:
whatwg-url@14.2.0:
dependencies:
- tr46: 5.1.0
+ tr46: 5.1.1
webidl-conversions: 7.0.0
which-boxed-primitive@1.1.1:
@@ -10370,7 +9910,7 @@ snapshots:
ws@8.17.1: {}
- ws@8.18.1: {}
+ ws@8.18.3: {}
wtfnode@0.10.0: {}
@@ -10409,7 +9949,7 @@ snapshots:
yocto-queue@0.1.0: {}
- zustand@5.0.5(@types/react@19.1.8)(react@19.1.0):
+ zustand@5.0.6(@types/react@19.1.8)(react@19.1.0):
optionalDependencies:
'@types/react': 19.1.8
react: 19.1.0
diff --git a/settings.json.docker b/settings.json.docker
index 6b4b32426..be83e0062 100644
--- a/settings.json.docker
+++ b/settings.json.docker
@@ -171,6 +171,14 @@
*/
"showSettingsInAdminPage": "${SHOW_SETTINGS_IN_ADMIN_PAGE:true}",
+ /*
+ * Enable/disable the metrics endpoint.
+ *
+ * This is used by the monitoring plugins to collect metrics about Etherpad.
+ * If you do not use any monitoring plugins, you can disable this.
+ */
+ "enableMetrics": "${ENABLE_METRICS:true}",
+
/*
* Settings for cleanup of pads
*/
@@ -642,7 +650,7 @@
],
"right": [
["importexport", "timeslider", "savedrevision"],
- ["settings", "embed"],
+ ["settings", "embed", "home"],
["showusers"]
],
"timeslider": [
diff --git a/settings.json.template b/settings.json.template
index e6293d87f..93026dece 100644
--- a/settings.json.template
+++ b/settings.json.template
@@ -162,6 +162,14 @@
*/
"showSettingsInAdminPage": true,
+ /*
+ * Enable/disable the metrics endpoint.
+ *
+ * This is used by the monitoring plugins to collect metrics about Etherpad.
+ * If you do not use any monitoring plugins, you can disable this.
+ */
+ "enableMetrics": "${ENABLE_METRICS:true}",
+
/*
* Settings for cleanup of pads
*/
@@ -641,7 +649,7 @@
],
"right": [
["importexport", "timeslider", "savedrevision"],
- ["settings", "embed"],
+ ["settings", "embed", "home"],
["showusers"]
],
"timeslider": [
diff --git a/src/locales/de.json b/src/locales/de.json
index 4cb8eb6d1..4ef7e68c4 100644
--- a/src/locales/de.json
+++ b/src/locales/de.json
@@ -52,9 +52,16 @@
"admin_settings.current_save.value": "Einstellungen speichern",
"admin_settings.page-title": "Einstellungen - Etherpad",
"index.newPad": "Neues Pad",
- "index.createOpenPad": "oder ein Pad mit folgendem Namen erstellen/öffnen:",
+ "index.createOpenPad": "Pad öffnen",
"index.openPad": "Öffne ein vorhandenes Pad mit folgendem Namen:",
- "pad.toolbar.bold.title": "Fett (Strg-B)",
+ "index.recentPads": "Zuletzt bearbeitete Pads",
+ "index.recentPadsEmpty": "Keine kürzlich bearbeiteten Pads gefunden.",
+ "index.generateNewPad": "Neues Pad generieren",
+ "index.labelPad": "Padname (optional)",
+ "index.placeholderPadEnter": "Gib den Namen des Pads ein...",
+ "index.createAndShareDocuments": "Erstelle und teile Dokumente in Echtzeit",
+ "index.createAndShareDocumentsDescription": "Etherpad ermöglicht die gemeinsame Bearbeitung von Dokumenten in Echtzeit, ähnlich wie ein Live-Multiplayer-Editor, der in Ihrem Browser läuft.",
+ "pad.toolbar.bold.title": "Fett (Strg-B)",
"pad.toolbar.italic.title": "Kursiv (Strg-I)",
"pad.toolbar.underline.title": "Unterstrichen (Strg-U)",
"pad.toolbar.strikethrough.title": "Durchgestrichen (Strg+5)",
@@ -70,6 +77,7 @@
"pad.toolbar.savedRevision.title": "Version speichern",
"pad.toolbar.settings.title": "Einstellungen",
"pad.toolbar.embed.title": "Dieses Pad teilen oder einbetten",
+ "pad.toolbar.home.title": "Zurück zur Startseite",
"pad.toolbar.showusers.title": "Benutzer dieses Pads anzeigen",
"pad.colorpicker.save": "Speichern",
"pad.colorpicker.cancel": "Abbrechen",
diff --git a/src/locales/en.json b/src/locales/en.json
index 5305a7025..ec6a11a4f 100644
--- a/src/locales/en.json
+++ b/src/locales/en.json
@@ -34,8 +34,16 @@
"admin_settings.page-title": "Settings - Etherpad",
"index.newPad": "New Pad",
- "index.createOpenPad": "or create/open a Pad with the name:",
+ "index.createOpenPad": "Open pad by name",
"index.openPad": "open an existing Pad with the name:",
+ "index.recentPads": "Recent Pads",
+ "index.recentPadsEmpty": "No recent pads found.",
+ "index.generateNewPad": "Generate random pad name",
+ "index.labelPad": "Pad name (optional)",
+ "index.placeholderPadEnter": "Gib den Namen des Pads ein...",
+ "index.createAndShareDocuments": "Create and share documents in real time",
+ "index.createAndShareDocumentsDescription": "Etherpad allows you to edit documents collaboratively in real-time, much like a live multi-player editor that runs in your browser.",
+
"pad.toolbar.bold.title": "Bold (Ctrl+B)",
"pad.toolbar.italic.title": "Italic (Ctrl+I)",
@@ -53,6 +61,7 @@
"pad.toolbar.savedRevision.title": "Save Revision",
"pad.toolbar.settings.title": "Settings",
"pad.toolbar.embed.title": "Share and Embed this pad",
+ "pad.toolbar.home.title": "Back to home",
"pad.toolbar.showusers.title": "Show the users on this pad",
"pad.colorpicker.save": "Save",
diff --git a/src/locales/es.json b/src/locales/es.json
index bd71603af..85153d0cb 100644
--- a/src/locales/es.json
+++ b/src/locales/es.json
@@ -14,6 +14,7 @@
"Macofe",
"MartaEgea",
"Mklehr",
+ "Ovruni",
"Rubenwap",
"Tiberius1701",
"VegaDark",
@@ -50,11 +51,13 @@
"admin_settings": "Configuración",
"admin_settings.current": "Configuración actual",
"admin_settings.current_example-devel": "Plantilla de ejemplo de configuración de desarrollo",
+ "admin_settings.current_example-prod": "Ejemplo de plantilla de configuración de producción",
"admin_settings.current_restart.value": "Reiniciar Etherpad",
"admin_settings.current_save.value": "Guardar configuración",
"admin_settings.page-title": "Configuración. Etherpad",
"index.newPad": "Nuevo pad",
"index.createOpenPad": "o crea/abre un pad con el nombre:",
+ "index.openPad": "abrir un pad existente con el nombre:",
"pad.toolbar.bold.title": "Negrita (Ctrl-B)",
"pad.toolbar.italic.title": "Cursiva (Ctrl-I)",
"pad.toolbar.underline.title": "Subrayado (Ctrl-U)",
@@ -87,6 +90,8 @@
"pad.settings.fontType": "Tipografía:",
"pad.settings.fontType.normal": "Normal",
"pad.settings.language": "Idioma:",
+ "pad.settings.deletePad": "Eliminar pad",
+ "pad.delete.confirm": "¿De verdad quieres borrar este pad?",
"pad.settings.about": "Acerca de",
"pad.settings.poweredBy": "Funciona con",
"pad.importExport.import_export": "Importar/Exportar",
@@ -123,6 +128,10 @@
"pad.modals.corruptPad.cause": "Esto puede deberse a una mala configuración del servidor o algún otro comportamiento inesperado. Contacta con el administrador del servicio.",
"pad.modals.deleted": "Borrado.",
"pad.modals.deleted.explanation": "Este pad ha sido borrado.",
+ "pad.modals.rateLimited": "Límite de solicitudes.",
+ "pad.modals.rateLimited.explanation": "Enviaste demasiados mensajes a este pad por lo que te desconectó.",
+ "pad.modals.rejected.explanation": "El servidor rechazó un mensaje que envió tu navegador.",
+ "pad.modals.rejected.cause": "Es posible que el servidor se haya actualizado mientras veías el panel, o que haya un error en Etherpad. Intenta recargar la página.",
"pad.modals.disconnected": "Te has desconectado.",
"pad.modals.disconnected.explanation": "Se perdió la conexión con el servidor",
"pad.modals.disconnected.cause": "El servidor podría no estar disponible. Contacta con el administrador del servicio si esto continúa sucediendo.",
@@ -135,6 +144,7 @@
"pad.chat.loadmessages": "Cargar más mensajes",
"pad.chat.stick.title": "Ampliar",
"pad.chat.writeMessage.placeholder": "Enviar un mensaje",
+ "timeslider.followContents": "Sigue las actualizaciones de contenido del pad",
"timeslider.pageTitle": "{{appTitle}} Línea de tiempo",
"timeslider.toolbar.returnbutton": "Volver al pad",
"timeslider.toolbar.authors": "Autores:",
@@ -173,5 +183,6 @@
"pad.impexp.uploadFailed": "El envío falló. Inténtalo de nuevo.",
"pad.impexp.importfailed": "Fallo al importar",
"pad.impexp.copypaste": "Intenta copiar y pegar",
- "pad.impexp.exportdisabled": "La exportación al formato {{type}} está desactivada. Contacta con tu administrador del sistema."
+ "pad.impexp.exportdisabled": "La exportación al formato {{type}} está desactivada. Contacta con tu administrador del sistema.",
+ "pad.impexp.maxFileSize": "El archivo es demasiado grande. Contacte al administrador del sitio para aumentar el tamaño de archivo permitido para la importación."
}
diff --git a/src/locales/fa.json b/src/locales/fa.json
index 6be60fa79..567ed0e43 100644
--- a/src/locales/fa.json
+++ b/src/locales/fa.json
@@ -4,6 +4,7 @@
"BMRG14",
"Beginneruser",
"Dalba",
+ "Darafsh",
"Ebrahim",
"Ebraminio",
"FarsiNevis",
@@ -66,6 +67,7 @@
"pad.toolbar.savedRevision.title": "ذخیرهسازی نسخه",
"pad.toolbar.settings.title": "تنظیمات",
"pad.toolbar.embed.title": "اشتراک و جاسازی این دفترچه یادداشت",
+ "pad.toolbar.home.title": "بازگشت به صفحهٔ اصلی",
"pad.toolbar.showusers.title": "نمایش کاربران در این دفترچه یادداشت",
"pad.colorpicker.save": "ذخیره",
"pad.colorpicker.cancel": "لغو",
diff --git a/src/locales/fi.json b/src/locales/fi.json
index c51be0ac6..d05404e2d 100644
--- a/src/locales/fi.json
+++ b/src/locales/fi.json
@@ -50,11 +50,13 @@
"admin_settings": "Asetukset",
"admin_settings.current": "Nykyinen kokoonpano",
"admin_settings.current_example-devel": "Esimerkki kehitysasetusten mallista",
+ "admin_settings.current_example-prod": "Esimerkkipohja tuotantoasetuksille",
"admin_settings.current_restart.value": "Käynnistä Etherpad uudelleen",
"admin_settings.current_save.value": "Tallenna asetukset",
"admin_settings.page-title": "asetukset - Etherpad",
"index.newPad": "Uusi muistio",
"index.createOpenPad": "tai luo tai avaa muistio nimellä:",
+ "index.openPad": "avaa olemassa oleva muistio nimellä:",
"pad.toolbar.bold.title": "Lihavointi (Ctrl-B)",
"pad.toolbar.italic.title": "Kursivointi (Ctrl-I)",
"pad.toolbar.underline.title": "Alleviivaus (Ctrl-U)",
@@ -71,6 +73,7 @@
"pad.toolbar.savedRevision.title": "Tallenna muutos",
"pad.toolbar.settings.title": "Asetukset",
"pad.toolbar.embed.title": "Jaa ja upota muistio",
+ "pad.toolbar.home.title": "Takaisin kotiin",
"pad.toolbar.showusers.title": "Näytä muistion käyttäjät",
"pad.colorpicker.save": "Tallenna",
"pad.colorpicker.cancel": "Peru",
@@ -137,6 +140,7 @@
"pad.chat.loadmessages": "Lataa lisää viestejä",
"pad.chat.stick.title": "Liimaa chatti ruutuun",
"pad.chat.writeMessage.placeholder": "Kirjoita viestisi tähän",
+ "timeslider.followContents": "Seuraa muistion sisällön päivityksiä",
"timeslider.pageTitle": "{{appTitle}} -aikajana",
"timeslider.toolbar.returnbutton": "Palaa muistioon",
"timeslider.toolbar.authors": "Tekijät:",
@@ -175,5 +179,6 @@
"pad.impexp.uploadFailed": "Lähetys epäonnistui. Yritä uudelleen.",
"pad.impexp.importfailed": "Tuonti epäonnistui",
"pad.impexp.copypaste": "Kopioi ja liitä",
- "pad.impexp.exportdisabled": "Vienti muotoon \"{{type}}\" ei ole käytössä. Ota yhteys ylläpitäjään saadaksesi lisätietoja."
+ "pad.impexp.exportdisabled": "Vienti muotoon \"{{type}}\" ei ole käytössä. Ota yhteys ylläpitäjään saadaksesi lisätietoja.",
+ "pad.impexp.maxFileSize": "Tiedosto on liian suuri. Ota yhteyttä sivustosi ylläpitäjään ja pyydä heitä korottomaan suurinta sallittua tiedostokokoa."
}
diff --git a/src/locales/fr.json b/src/locales/fr.json
index 96e5a3b98..997560977 100644
--- a/src/locales/fr.json
+++ b/src/locales/fr.json
@@ -5,6 +5,7 @@
"C13m3n7",
"Cquoi",
"Crochet.david",
+ "Derugon",
"Envlh",
"Framafan",
"Fylip22",
@@ -83,6 +84,7 @@
"pad.toolbar.savedRevision.title": "Enregistrer la révision",
"pad.toolbar.settings.title": "Paramètres",
"pad.toolbar.embed.title": "Partager et intégrer ce bloc-notes",
+ "pad.toolbar.home.title": "Retour à l’accueil",
"pad.toolbar.showusers.title": "Afficher les utilisateurs du bloc-notes",
"pad.colorpicker.save": "Enregistrer",
"pad.colorpicker.cancel": "Annuler",
diff --git a/src/locales/gl.json b/src/locales/gl.json
index 341857d91..b878f165b 100644
--- a/src/locales/gl.json
+++ b/src/locales/gl.json
@@ -58,6 +58,7 @@
"pad.toolbar.savedRevision.title": "Gardar a revisión",
"pad.toolbar.settings.title": "Axustes",
"pad.toolbar.embed.title": "Compartir e incorporar este documento",
+ "pad.toolbar.home.title": "Volver ao inicio",
"pad.toolbar.showusers.title": "Mostrar as usuarias deste documento",
"pad.colorpicker.save": "Gardar",
"pad.colorpicker.cancel": "Cancelar",
@@ -120,7 +121,7 @@
"pad.modals.disconnected.explanation": "Perdeuse a conexión co servidor",
"pad.modals.disconnected.cause": "O servidor non está dispoñible. Póñase en contacto co administrador do servizo se o problema continúa.",
"pad.share": "Compartir este documento",
- "pad.share.readonly": "Só lectura",
+ "pad.share.readonly": "Lectura só",
"pad.share.link": "Ligazón",
"pad.share.emebdcode": "Incorporar o URL",
"pad.chat": "Chat",
diff --git a/src/locales/hu.json b/src/locales/hu.json
index 46f111903..377672b17 100644
--- a/src/locales/hu.json
+++ b/src/locales/hu.json
@@ -10,7 +10,8 @@
"Notramo",
"Ovari",
"R-Joe",
- "Tgr"
+ "Tgr",
+ "Urbalazs"
]
},
"admin.page-title": "Admin irányítópult - Etherpad",
@@ -67,7 +68,7 @@
"pad.toolbar.embed.title": "Jegyzetfüzet beágyazása és megosztása",
"pad.toolbar.showusers.title": "Jegyzetfüzet felhasználóinak megmutatása",
"pad.colorpicker.save": "Mentés",
- "pad.colorpicker.cancel": "Mégsem",
+ "pad.colorpicker.cancel": "Mégse",
"pad.loading": "Betöltés…",
"pad.noCookie": "Nem található a süti. Engedélyezd a böngésződben a sütik használatát! A munkamenet és a beállítások nem kerülnek mentésre a látogatások között. Ennek oka lehet az, hogy az Etherpad egyes böngészőkben szerepel az iFrame-ben. Ellenőrizze, hogy az Etherpad ugyanabban az altartomány / tartományban van-e, mint a szülő iFrame",
"pad.permissionDenied": "Nincs engedélyed ezen jegyzetfüzet eléréséhez",
diff --git a/src/locales/ia.json b/src/locales/ia.json
index a593f42a9..86773cc09 100644
--- a/src/locales/ia.json
+++ b/src/locales/ia.json
@@ -56,6 +56,7 @@
"pad.toolbar.savedRevision.title": "Version salveguardate",
"pad.toolbar.settings.title": "Configuration",
"pad.toolbar.embed.title": "Condivider e incorporar iste pad",
+ "pad.toolbar.home.title": "Retro al initio",
"pad.toolbar.showusers.title": "Monstrar le usatores de iste pad",
"pad.colorpicker.save": "Salveguardar",
"pad.colorpicker.cancel": "Cancellar",
diff --git a/src/locales/it.json b/src/locales/it.json
index 0774f6ad5..81a51b297 100644
--- a/src/locales/it.json
+++ b/src/locales/it.json
@@ -42,6 +42,7 @@
"pad.toolbar.savedRevision.title": "Versione salvata",
"pad.toolbar.settings.title": "Impostazioni",
"pad.toolbar.embed.title": "Condividi ed incorpora questo Pad",
+ "pad.toolbar.home.title": "Torna alla pagina principale",
"pad.toolbar.showusers.title": "Visualizza gli utenti su questo Pad",
"pad.colorpicker.save": "Salva",
"pad.colorpicker.cancel": "Annulla",
diff --git a/src/locales/mk.json b/src/locales/mk.json
index 059ccda33..dc14015c5 100644
--- a/src/locales/mk.json
+++ b/src/locales/mk.json
@@ -58,6 +58,7 @@
"pad.toolbar.savedRevision.title": "Зачувај преработка",
"pad.toolbar.settings.title": "Поставки",
"pad.toolbar.embed.title": "Споделете и вметнете ја тетраткава",
+ "pad.toolbar.home.title": "Назад на Почетна",
"pad.toolbar.showusers.title": "Прикажи корисниците на тетраткава",
"pad.colorpicker.save": "Зачувај",
"pad.colorpicker.cancel": "Откажи",
diff --git a/src/locales/ms.json b/src/locales/ms.json
index 8fe029802..767d283e3 100644
--- a/src/locales/ms.json
+++ b/src/locales/ms.json
@@ -112,7 +112,7 @@
"pad.savedrevs.marked": "Semakan ini telah ditandai sebagai semakan tersimpan",
"pad.savedrevs.timeslider": "Anda boleh melihat semakan yang tersimpan dengan melawat gelangsar masa",
"pad.userlist.entername": "Taipkan nama anda",
- "pad.userlist.unnamed": "tanpa nama",
+ "pad.userlist.unnamed": "tidak bernama",
"pad.editbar.clearcolors": "Padamkan warna pengarang pada seluruh dokumen?",
"pad.impexp.importbutton": "Import Sekarang",
"pad.impexp.importing": "Sedang mengimport...",
diff --git a/src/locales/ne.json b/src/locales/ne.json
index 17bb951ac..29515c7ff 100644
--- a/src/locales/ne.json
+++ b/src/locales/ne.json
@@ -12,6 +12,7 @@
]
},
"admin_plugins.description": "विवरण",
+ "admin_plugins.name": "नाम",
"index.newPad": "नयाँ प्याड",
"index.createOpenPad": "नाम सहितको नयाँ प्याड सिर्जना गर्ने / खोल्ने :",
"pad.toolbar.bold.title": "मोटो (Ctrl-B)",
diff --git a/src/locales/pms.json b/src/locales/pms.json
index 220a3380a..d3270f81d 100644
--- a/src/locales/pms.json
+++ b/src/locales/pms.json
@@ -56,6 +56,7 @@
"pad.toolbar.savedRevision.title": "Argistré la revision",
"pad.toolbar.settings.title": "Paràmeter",
"pad.toolbar.embed.title": "Partagé e antëgré ës feuj",
+ "pad.toolbar.home.title": "Artorn a l'intrada",
"pad.toolbar.showusers.title": "Smon-e j'utent ansima a 's feuj",
"pad.colorpicker.save": "Argistré",
"pad.colorpicker.cancel": "Anulé",
diff --git a/src/locales/ps.json b/src/locales/ps.json
index 7413c41e2..59ee52f10 100644
--- a/src/locales/ps.json
+++ b/src/locales/ps.json
@@ -1,11 +1,12 @@
{
"@metadata": {
"authors": [
- "Ahmed-Najib-Biabani-Ibrahimkhel"
+ "Ahmed-Najib-Biabani-Ibrahimkhel",
+ "شاه زمان پټان"
]
},
"index.newPad": "نوې ليکچه",
- "index.createOpenPad": "يا په همدې نوم يوه نوې ليکچه جوړول/پرانيستل:",
+ "index.createOpenPad": "يا په همدې نوم يوه نوې ليکچه جوړول/پرانېستل:",
"pad.toolbar.bold.title": "زغرد (Ctrl-B)",
"pad.toolbar.italic.title": "رېوند (Ctrl-I)",
"pad.toolbar.underline.title": "لرکرښن (Ctrl+U)",
@@ -16,11 +17,12 @@
"pad.toolbar.redo.title": "بياکړل (Ctrl-Y)",
"pad.toolbar.clearAuthorship.title": "د ليکوالۍ رنگونه سپينول (Ctrl+Shift+C)",
"pad.toolbar.savedRevision.title": "مخکتنه خوندي کول",
- "pad.toolbar.settings.title": "امستنې",
+ "pad.toolbar.settings.title": "اوڼنې",
+ "pad.toolbar.home.title": "بېرته کور ته",
"pad.colorpicker.save": "خوندي کول",
"pad.colorpicker.cancel": "ناگارل",
"pad.loading": "رابرسېرېږي...",
- "pad.settings.padSettings": "د ليکچې امستنې",
+ "pad.settings.padSettings": "د ليکچې اوڼنې",
"pad.settings.myView": "زما کتنه",
"pad.settings.stickychat": "تل په پردې بانډار کول",
"pad.settings.chatandusers": "کارنان او بانډار ښکاره کول",
diff --git a/src/locales/ru.json b/src/locales/ru.json
index 457f17864..92e9b8352 100644
--- a/src/locales/ru.json
+++ b/src/locales/ru.json
@@ -71,6 +71,7 @@
"pad.toolbar.savedRevision.title": "Сохранить версию",
"pad.toolbar.settings.title": "Настройки",
"pad.toolbar.embed.title": "Поделиться и встроить этот документ",
+ "pad.toolbar.home.title": "Вернуться в начало",
"pad.toolbar.showusers.title": "Показать пользователей в документе",
"pad.colorpicker.save": "Сохранить",
"pad.colorpicker.cancel": "Отмена",
diff --git a/src/locales/sh.json b/src/locales/sh-latn.json
similarity index 99%
rename from src/locales/sh.json
rename to src/locales/sh-latn.json
index f5c045c55..e09c64dd4 100644
--- a/src/locales/sh.json
+++ b/src/locales/sh-latn.json
@@ -1,8 +1,7 @@
{
"@metadata": {
"authors": [
- "Conquistador",
- "Vlad5250"
+ "Winston Sung"
]
},
"admin_plugins.available_not-found": "Nijedan plugin nije pronađen.",
diff --git a/src/locales/uk.json b/src/locales/uk.json
index 314e3219d..5a8e06888 100644
--- a/src/locales/uk.json
+++ b/src/locales/uk.json
@@ -84,6 +84,8 @@
"pad.settings.fontType": "Тип шрифту:",
"pad.settings.fontType.normal": "Звичайний",
"pad.settings.language": "Мова:",
+ "pad.settings.deletePad": "Вилучити документ",
+ "pad.delete.confirm": "Ви дійсно хочете вилучити цей документ?",
"pad.settings.about": "Про програму",
"pad.settings.poweredBy": "Працює на",
"pad.importExport.import_export": "Імпорт/Експорт",
diff --git a/src/locales/zh-hant.json b/src/locales/zh-hant.json
index 4933b5a18..6bb3a1f05 100644
--- a/src/locales/zh-hant.json
+++ b/src/locales/zh-hant.json
@@ -66,6 +66,7 @@
"pad.toolbar.savedRevision.title": "儲存修訂版",
"pad.toolbar.settings.title": "設定",
"pad.toolbar.embed.title": "分享和嵌入此記事本",
+ "pad.toolbar.home.title": "返回首頁",
"pad.toolbar.showusers.title": "顯示此記事本的使用者",
"pad.colorpicker.save": "儲存",
"pad.colorpicker.cancel": "取消",
diff --git a/src/node/db/SessionStore.ts b/src/node/db/SessionStore.ts
index 0b398efad..15eb5a971 100644
--- a/src/node/db/SessionStore.ts
+++ b/src/node/db/SessionStore.ts
@@ -1,13 +1,15 @@
-'use strict';
+// @ts-nocheck
+
const DB = require('./DB');
-const Store = require('@etherpad/express-session').Store;
+import expressSession from 'express-session'
+
const log4js = require('log4js');
const util = require('util');
const logger = log4js.getLogger('SessionStore');
-class SessionStore extends Store {
+class SessionStore extends expressSession.Store {
/**
* @param {?number} [refresh] - How often (in milliseconds) `touch()` will update a session's
* database record with the cookie's latest expiration time. If the difference between the
@@ -19,7 +21,7 @@ class SessionStore extends Store {
* Etherpad is restarted. Use `null` to prevent `touch()` from ever updating the record.
* Ignored if the cookie does not expire.
*/
- constructor(refresh = null) {
+ constructor(refresh: number | null = null) {
super();
this._refresh = refresh;
// Maps session ID to an object with the following properties:
diff --git a/src/node/hooks/express.ts b/src/node/hooks/express.ts
index d4e92dd35..633a85ae8 100644
--- a/src/node/hooks/express.ts
+++ b/src/node/hooks/express.ts
@@ -4,12 +4,10 @@ import {Socket} from "node:net";
import type {MapArrayType} from "../types/MapType";
import _ from 'underscore';
-// @ts-ignore
import cookieParser from 'cookie-parser';
import events from 'events';
import express from 'express';
-// @ts-ignore
-import expressSession from '@etherpad/express-session';
+import expressSession, {Store} from 'express-session';
import fs from 'fs';
const hooks = require('../../static/js/pluginfw/hooks');
import log4js from 'log4js';
@@ -24,7 +22,7 @@ import SecretRotator from '../security/SecretRotator';
let secretRotator: SecretRotator|null = null;
const logger = log4js.getLogger('http');
let serverName:string;
-let sessionStore: { shutdown: () => void; } | null;
+let sessionStore: Store | null;
const sockets:Set = new Set();
const socketsEvents = new events.EventEmitter();
const startTime = stats.settableGauge('httpStartTime');
@@ -59,6 +57,7 @@ const closeServer = async () => {
startTime.setValue(0);
logger.info('HTTP server closed');
}
+ // @ts-ignore
if (sessionStore) sessionStore.shutdown();
sessionStore = null;
if (secretRotator) secretRotator.stop();
@@ -198,10 +197,9 @@ exports.restartServer = async () => {
sessionStore = new SessionStore(settings.cookie.sessionRefreshInterval);
exports.sessionMiddleware = expressSession({
- propagateTouch: true,
rolling: true,
secret,
- store: sessionStore,
+ store: sessionStore ?? undefined,
resave: false,
saveUninitialized: false,
// Set the cookie name to a javascript identifier compatible string. Makes code handling it
@@ -234,7 +232,7 @@ exports.restartServer = async () => {
// Give plugins an opportunity to install handlers/middleware before the express-session
// middleware. This allows plugins to avoid creating an express-session record in the database
// when it is not needed (e.g., public static content).
- await hooks.aCallAll('expressPreSession', {app});
+ await hooks.aCallAll('expressPreSession', {app, settings});
app.use(exports.sessionMiddleware);
app.use(webaccess.checkAccess);
diff --git a/src/node/hooks/express/adminplugins.ts b/src/node/hooks/express/adminplugins.ts
index 178e6187f..47f06c513 100644
--- a/src/node/hooks/express/adminplugins.ts
+++ b/src/node/hooks/express/adminplugins.ts
@@ -39,6 +39,11 @@ exports.socketio = (hookName:string, args:ArgsExpressType, cb:Function) => {
})
}
+ socket.on('getStats', ()=>{
+ console.log("Getting stats for admin plugins");
+ socket.emit('results:stats', require('../../stats').toJSON());
+ })
+
socket.on('getInstalled', async (query: string) => {
// send currently installed plugins
const installed =
@@ -53,6 +58,7 @@ exports.socketio = (hookName:string, args:ArgsExpressType, cb:Function) => {
socket.emit('results:installed', {installed});
});
+
socket.on('checkUpdates', async () => {
// Check plugins for updates
try {
diff --git a/src/node/hooks/express/apicalls.ts b/src/node/hooks/express/apicalls.ts
index 91c44e389..946e86549 100644
--- a/src/node/hooks/express/apicalls.ts
+++ b/src/node/hooks/express/apicalls.ts
@@ -1,16 +1,39 @@
'use strict';
+import express from "express";
+
const log4js = require('log4js');
const clientLogger = log4js.getLogger('client');
const {Formidable} = require('formidable');
const apiHandler = require('../../handler/APIHandler');
const util = require('util');
+
+function objectAsString(obj: any): string {
+ let output = '';
+ for (const property in obj) {
+ if(obj.hasOwnProperty(property) && typeof obj[property] !== 'function') {
+ let value = obj[property];
+ if(typeof value === 'object' && !Array.isArray(value) && value !== null) {
+ value = '{' + objectAsString(value) + '}';
+ }
+ output += property + ': ' + value +'; ';
+ }
+ }
+ return output;
+}
+
exports.expressPreSession = async (hookName:string, {app}:any) => {
+ app.use(express.json());
// The Etherpad client side sends information about how a disconnect happened
app.post('/ep/pad/connection-diagnostic-info', async (req:any, res:any) => {
- const [fields, files] = await (new Formidable({})).parse(req);
- clientLogger.info(`DIAGNOSTIC-INFO: ${fields.diagnosticInfo}`);
+ if (!req.body ||!req.body.diagnosticInfo || typeof req.body.diagnosticInfo !== 'object') {
+ clientLogger.warn('DIAGNOSTIC-INFO: No diagnostic info provided');
+ res.status(400).end('No diagnostic info provided');
+ return;
+ }
+
+ clientLogger.info(`DIAGNOSTIC-INFO: ${objectAsString(req.body.diagnosticInfo)}`);
res.end('OK');
});
diff --git a/src/node/hooks/express/specialpages.ts b/src/node/hooks/express/specialpages.ts
index dca63b9ae..4184789d3 100644
--- a/src/node/hooks/express/specialpages.ts
+++ b/src/node/hooks/express/specialpages.ts
@@ -20,7 +20,7 @@ exports.socketio = (hookName: string, {io}: any) => {
}
-exports.expressPreSession = async (hookName:string, {app}:ArgsExpressType) => {
+exports.expressPreSession = async (hookName:string, {app, settings}:ArgsExpressType) => {
// This endpoint is intended to conform to:
// https://www.ietf.org/archive/id/draft-inadarei-api-health-check-06.html
app.get('/health', (req:any, res:any) => {
@@ -31,9 +31,12 @@ exports.expressPreSession = async (hookName:string, {app}:ArgsExpressType) => {
});
});
- app.get('/stats', (req:any, res:any) => {
- res.json(require('../../stats').toJSON());
- });
+ if (settings.enableMetrics) {
+ app.get('/stats', (req:any, res:any) => {
+ res.json(require('../../stats').toJSON());
+ });
+ }
+
app.get('/javascript', (req:any, res:any) => {
res.send(eejs.require('ep_etherpad-lite/templates/javascript.html', {req}));
diff --git a/src/node/types/ArgsExpressType.ts b/src/node/types/ArgsExpressType.ts
index d8dc700be..cc409c033 100644
--- a/src/node/types/ArgsExpressType.ts
+++ b/src/node/types/ArgsExpressType.ts
@@ -1,7 +1,9 @@
import {Express} from "express";
+import {MapArrayType} from "./MapType";
export type ArgsExpressType = {
app:Express,
io: any,
server:any
+ settings: MapArrayType
}
diff --git a/src/node/utils/Settings.ts b/src/node/utils/Settings.ts
index 4d7b421e1..de21727f0 100644
--- a/src/node/utils/Settings.ts
+++ b/src/node/utils/Settings.ts
@@ -205,6 +205,12 @@ exports.padOptions = {
lang: null,
};
+
+/**
+ * Wether to enable the /stats endpoint. The functionality in the admin menu is untouched for this.
+ */
+exports.enableMetrics = true
+
/**
* Whether certain shortcut keys are enabled for a user in the pad
*/
@@ -245,7 +251,7 @@ exports.toolbar = {
],
right: [
['importexport', 'timeslider', 'savedrevision'],
- ['settings', 'embed'],
+ ['settings', 'embed', 'home'],
['showusers'],
],
timeslider: [
diff --git a/src/node/utils/toolbar.ts b/src/node/utils/toolbar.ts
index f0ef45479..461ede049 100644
--- a/src/node/utils/toolbar.ts
+++ b/src/node/utils/toolbar.ts
@@ -240,6 +240,7 @@ module.exports = {
settings: defaultButtonAttributes('settings'),
embed: defaultButtonAttributes('embed'),
showusers: defaultButtonAttributes('showusers'),
+ home: defaultButtonAttributes('home'),
timeslider_export: {
command: 'import_export',
diff --git a/src/package.json b/src/package.json
index 6d827911d..a14a99443 100644
--- a/src/package.json
+++ b/src/package.json
@@ -30,23 +30,23 @@
}
],
"dependencies": {
- "@etherpad/express-session": "^1.18.4",
"async": "^3.2.6",
- "axios": "^1.8.4",
+ "axios": "^1.10.0",
"cookie-parser": "^1.4.7",
"cross-env": "^7.0.3",
"cross-spawn": "^7.0.6",
"ejs": "^3.1.10",
- "esbuild": "^0.25.5",
+ "esbuild": "^0.25.8",
"express": "4.21.2",
- "express-rate-limit": "^7.5.0",
+ "express-rate-limit": "^8.0.0",
+ "express-session": "^1.18.2",
"fast-deep-equal": "^3.1.3",
"find-root": "1.1.0",
"formidable": "^3.5.4",
"http-errors": "^2.0.0",
"jose": "^5.10.0",
"js-cookie": "^3.0.5",
- "jsdom": "^26.0.0",
+ "jsdom": "^26.1.0",
"jsonminify": "0.4.2",
"jsonwebtoken": "^9.0.2",
"jwt-decode": "^4.0.0",
@@ -57,8 +57,8 @@
"lru-cache": "^11.1.0",
"measured-core": "^2.0.0",
"mime-types": "^3.0.1",
- "oidc-provider": "^9.1.3",
- "openapi-backend": "^5.12.0",
+ "oidc-provider": "^9.3.0",
+ "openapi-backend": "^5.13.0",
"proxy-addr": "^2.0.7",
"rate-limiter-flexible": "^7.1.1",
"rehype": "^13.0.2",
@@ -69,7 +69,7 @@
"semver": "^7.7.2",
"socket.io": "^4.8.1",
"socket.io-client": "^4.8.1",
- "superagent": "10.2.1",
+ "superagent": "10.2.2",
"swagger-ui-express": "^5.0.1",
"tinycon": "0.6.8",
"tsx": "4.20.3",
@@ -83,19 +83,21 @@
"etherpad-lite": "node/server.ts"
},
"devDependencies": {
- "@playwright/test": "^1.53.0",
+ "@playwright/test": "^1.54.1",
"@types/async": "^3.2.24",
+ "@types/cookie-parser": "^1.4.9",
"@types/express": "^4.17.21",
+ "@types/express-session": "^1.18.2",
"@types/formidable": "^3.4.5",
"@types/http-errors": "^2.0.5",
"@types/jquery": "^3.5.32",
"@types/js-cookie": "^3.0.6",
"@types/jsdom": "^21.1.7",
- "@types/jsonwebtoken": "^9.0.9",
+ "@types/jsonwebtoken": "^9.0.10",
"@types/mime-types": "^3.0.1",
"@types/mocha": "^10.0.9",
- "@types/node": "^24.0.1",
- "@types/oidc-provider": "^9.1.0",
+ "@types/node": "^24.0.14",
+ "@types/oidc-provider": "^9.1.1",
"@types/semver": "^7.7.0",
"@types/sinon": "^17.0.3",
"@types/supertest": "^6.0.2",
@@ -103,19 +105,19 @@
"@types/underscore": "^1.13.0",
"@types/whatwg-mimetype": "^3.0.2",
"chokidar": "^4.0.3",
- "eslint": "^9.28.0",
+ "eslint": "^9.31.0",
"eslint-config-etherpad": "^4.0.4",
- "etherpad-cli-client": "^3.0.2",
- "mocha": "^11.6.0",
+ "etherpad-cli-client": "^3.0.4",
+ "mocha": "^11.7.1",
"mocha-froth": "^0.2.10",
"nodeify": "^1.0.1",
"openapi-schema-validation": "^0.4.2",
"set-cookie-parser": "^2.7.1",
"sinon": "^21.0.0",
"split-grid": "^1.0.11",
- "supertest": "^7.1.1",
+ "supertest": "^7.1.3",
"typescript": "^5.8.2",
- "vitest": "^3.2.3"
+ "vitest": "^3.2.4"
},
"engines": {
"node": ">=18.18.2",
@@ -142,6 +144,6 @@
"debug:socketio": "cross-env DEBUG=socket.io* node --require tsx/cjs node/server.ts",
"test:vitest": "vitest"
},
- "version": "2.3.2",
+ "version": "2.4.0",
"license": "Apache-2.0"
}
diff --git a/src/static/css/pad/icons.css b/src/static/css/pad/icons.css
index eb1016dca..f93eff98e 100644
--- a/src/static/css/pad/icons.css
+++ b/src/static/css/pad/icons.css
@@ -101,7 +101,7 @@
.buttonicon-pencil-alt:before { content: '\e808'; } /* '' */
.buttonicon-file-code:before { content: '\e809'; } /* '' */
.buttonicon-mail:before { content: '\e80a'; } /* '' */
-.buttonicon-home:before { content: '\e80b'; } /* '' */
+.buttonicon-home:before { content: '\e80b'; font-size: 20px } /* '' */
.buttonicon-trash:before { content: '\e80e'; } /* '' */
.buttonicon-times:before { content: '\e826'; } /* '' */
.buttonicon-pause:before { content: '\e829'; } /* '' */
diff --git a/src/static/js/ace2_inner.ts b/src/static/js/ace2_inner.ts
index 709840f80..654042d69 100644
--- a/src/static/js/ace2_inner.ts
+++ b/src/static/js/ace2_inner.ts
@@ -2526,7 +2526,15 @@ function Ace2Inner(editorInfo, cssManagers) {
const handleKeyEvent = (evt) => {
if (!isEditable) return;
- const {type, charCode, keyCode, which, altKey, shiftKey} = evt;
+ const {type, charCode, keyCode, which, shiftKey} = evt;
+
+ // If DOM3 support exists, ensure that the left ALT key was pressed. This
+ // allows keyboard layouts with special meaning for right-alt-char to
+ // continue working on Firefox / macOS.
+ let altKey = evt.altKey;
+ if (evt.originalEvent.location !== undefined) {
+ altKey = altKey && evt.originalEvent.location === evt.originalEvent.DOM_KEY_LOCATION_LEFT;
+ }
// Don't take action based on modifier keys going up and down.
// Modifier keys do not generate "keypress" events.
diff --git a/src/static/js/l10n.ts b/src/static/js/l10n.ts
index 2211318c0..929708b40 100644
--- a/src/static/js/l10n.ts
+++ b/src/static/js/l10n.ts
@@ -7,8 +7,6 @@ let language = document.cookie.match(/language=((\w{2,3})(-\w+)?)/);
if (language) regexpLang = language[1];
html10n.mt.bind('indexed', () => {
- console.log('Navigator language', navigator.language)
- console.log('Localizing things', [regexpLang, navigator.language, 'en'])
html10n.localize([regexpLang, navigator.language, 'en']);
});
diff --git a/src/static/js/pad.ts b/src/static/js/pad.ts
index e94611fcd..5edcb1119 100644
--- a/src/static/js/pad.ts
+++ b/src/static/js/pad.ts
@@ -725,18 +725,18 @@ const pad = {
}
},
asyncSendDiagnosticInfo: () => {
- window.setTimeout(() => {
- $.ajax(
- {
- type: 'post',
- url: '../ep/pad/connection-diagnostic-info',
- data: {
- diagnosticInfo: JSON.stringify(pad.diagnosticInfo),
- },
- success: () => {},
- error: () => {},
- });
- }, 0);
+ const currentUrl = window.location.href;
+ fetch('../ep/pad/connection-diagnostic-info', {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json',
+ },
+ body: JSON.stringify({
+ diagnosticInfo: pad.diagnosticInfo,
+ }),
+ }).catch((error) => {
+ console.error('Error sending diagnostic info:', error);
+ })
},
forceReconnect: () => {
$('form#reconnectform input.padId').val(pad.getPadId());
diff --git a/src/static/js/pad_editbar.ts b/src/static/js/pad_editbar.ts
index d98174fe5..810a9caac 100644
--- a/src/static/js/pad_editbar.ts
+++ b/src/static/js/pad_editbar.ts
@@ -364,6 +364,9 @@ exports.padeditbar = new class {
this.registerDropdownCommand('connectivity');
this.registerDropdownCommand('import_export');
this.registerDropdownCommand('embed');
+ this.registerCommand('home', ()=>{
+ window.location.href = window.location.href + "/../.."
+ })
this.registerCommand('settings', () => {
this.toggleDropDown('settings');
diff --git a/src/static/js/pad_userlist.ts b/src/static/js/pad_userlist.ts
index 4a665d10e..3bed27ab3 100644
--- a/src/static/js/pad_userlist.ts
+++ b/src/static/js/pad_userlist.ts
@@ -489,6 +489,15 @@ const paduserlist = (() => {
online++;
}
}
+ const recentPadsList = JSON.parse(localStorage.getItem('recentPads'));
+ const pathSegments = window.location.pathname.split('/');
+ const padName = pathSegments[pathSegments.length - 1];
+ const existingPad = recentPadsList.find((pad) => pad.name === padName);
+ if (existingPad) {
+ existingPad.members = online;
+ }
+ localStorage.setItem('recentPads', JSON.stringify(recentPadsList));
+
$('#online_count').text(online);
diff --git a/src/static/js/scroll.ts b/src/static/js/scroll.ts
index 74c246243..d4fe5a5d3 100644
--- a/src/static/js/scroll.ts
+++ b/src/static/js/scroll.ts
@@ -16,7 +16,6 @@ class Scroll {
this.outerWin = outerWin;
this.doc = this.outerWin.contentDocument!;
this.rootDocument = document;
- console.log(this.rootDocument)
}
scrollWhenCaretIsInTheLastLineOfViewportWhenNecessary(rep: RepModel, isScrollableEvent: boolean, innerHeight: number) {
diff --git a/src/static/js/vendors/html10n.ts b/src/static/js/vendors/html10n.ts
index 6f86a79b1..156ab75f6 100644
--- a/src/static/js/vendors/html10n.ts
+++ b/src/static/js/vendors/html10n.ts
@@ -472,7 +472,6 @@ export class Html10n {
}
localize(langs: (string|undefined)[]|string) {
- console.log('Available langs ', langs)
if ('string' === typeof langs) {
langs = [langs];
}
diff --git a/src/static/skins/colibris/images/Designlayout.png b/src/static/skins/colibris/images/Designlayout.png
new file mode 100644
index 000000000..399bd6df7
Binary files /dev/null and b/src/static/skins/colibris/images/Designlayout.png differ
diff --git a/src/static/skins/colibris/index.css b/src/static/skins/colibris/index.css
index 5129c43a8..fc4a87f61 100644
--- a/src/static/skins/colibris/index.css
+++ b/src/static/skins/colibris/index.css
@@ -1,88 +1,258 @@
-#button,
-body,
-form {
- border: none
+:root {
+ --etherpad-color: #64d29b;
+ --etherpad-color-dark: #4a5d5c;
+ --etherpad-border: oklch(92.8% 0.006 264.531);
+ --muted-text: oklch(44.6% 0.03 256.802);
+ --muted-border: oklch(87.2% 0.01 258.338);
+ --muted-background: hsl(240 4.8% 95.9%);
+ --ep-color: rgb(22 163 74);
+ --warm-green-olive: #7c9a3e;
+ --warm-green-moss: #8fae4a;
+ --warm-green-lime: #b7c96c;
+ --warm-green-avocado: #6e8b3d;
+ --warm-green-spring: #a3c85a;
}
+
body {
- background: url(images/fond.jpg) center center no-repeat fixed #fff;
- font-family: Quicksand, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
- font-size: 16px;
- line-height: 1.42857143;
- color: #333;
+ border-top: 0;
+ background: oklch(98.5% 0.002 247.839);
display: flex;
- align-items: center;
- justify-content: center;
- background-size: cover;
+ flex-direction: column;
}
-#wrapper {
- border-top: none;
- margin-top: 0;
- padding: 0;
- background: 0 0;
- box-shadow: none
+h1 {
+ margin: auto 0 0;
+ font-size: 26px;
}
-input {
- color: #4a5d5c;
-}
-
-#inner {
- background: transparent;
- padding-top: 0;
- width: 350px;
- max-width: 350px;
- text-align: center;
- color:#FFF;
-}
-
-#label {
- text-shadow: none;
- color: #FFF;
- font-weight: normal;
- text-align: center;
-}
-
-#button {
- margin: 0 auto;
- text-align: center;
- width: 100%;
- text-shadow: none;
- font-size: 23px;
- line-height: 1.8;
- color: #64d29b;
- background: #586a69;
- border-radius: 3px;
- box-shadow: none;
- height: 53px;
- border: none;
+.mission-statement, .pad-datalist {
display: block;
}
-
-button[type=submit] {
- border-top-right-radius: 3px;
- border-bottom-right-radius: 3px;
- left: 305px;
- color: #64d29b;
- background: #586a69;
- border: none;
- top: 0;
- opacity: 1;
- transition: .2s background;
+.mission-statement h2 {
+ font-weight: 700;
+ font-size: 2.25rem;
+ text-align: center;
+ margin: 0;
+ padding-top: 4rem;
}
-#button:hover,
-button[type=submit]:hover {
- cursor: pointer;
- background: #4a5d5c;
- color: #64d29b;
+.mission-statement p {
+ color: var(--muted-text);
+ font-size: 20px;
+ text-align: center;
+ max-width: 40%;
+ margin: auto;
+}
+
+#wrapper {
+ border-top: 0;
+ margin-top: 0;
+ padding: 0;
+ background: unset;
+ box-shadow: none;
+}
+
+#inner {
+ display: flex;
+ flex-direction: column;
+ position: relative;
+ margin-top: 20px;
+ margin-bottom: 20px;
+ max-width: 80%;
+}
+
+#label {
+ font-size: 0.875rem;
+ line-height: 1.25rem;
+ font-weight: 700;
+ color: rgb(55 65 81);
+ margin-bottom: 0.5rem;
+ margin-top: 0;
+}
+
+#go2Name {
+ order: 1;
+}
+
+#padname, #go2Name, #go2Name [type="submit"], #button, #button:hover {
+ all: unset;
+}
+
+
+#padname {
+ width: 100%;
+ padding: 0.5rem 0.75rem;
+ border: 1px solid #d1d5db;
+ border-radius: 0.375rem;
+ font-size: 1rem;
+ margin-bottom: 0.5rem;
+ outline: none;
+ transition: border 0.2s;
}
#padname {
- height: 38px;
- max-width: 350px;
- padding: 0 12px;
+ box-sizing: border-box;
+ width: 100%;
+ color: var(--muted-text);
+ border: 1px solid var(--muted-border);
+ border-radius: 5px;
+}
+
+#button, #button:hover, #go2Name [type="submit"] {
+ order: 2;
+ margin-top: 0.5rem;
+ line-height: 1.25rem;
+ background: white;
+ border: 1px solid var(--muted-border);
+ text-align: center;
+ padding-top: 0.5rem;
+ padding-bottom: 0.5rem;
+ font-size: 14px;
+ font-weight: 700;
+ border-radius: 5px;
+ cursor: pointer;
+}
+
+#go2Name [type="submit"]:hover {
+ background-color: oklch(52.7% 0.154 150.069)
+}
+
+#button, #button:hover {
+ order: 2;
+}
+
+#button:hover {
+ background-color: var(--muted-background);
+}
+
+#go2Name input {
+ width: 100%;
+}
+
+
+#go2Name [type="submit"] {
+ display: block;
+ background-color: var(--ep-color);
+ color: white;
+ width: 100%;
+}
+
+
+body nav {
+ display: flex;
+ border-bottom-width: 1px;
+ border-bottom-style: solid;
+ border-bottom-color: var(--etherpad-border);
+ padding: 1rem 1.5rem;
+}
+
+.logo-box svg {
+ width: 1.25rem;
+ height: 1.25rem;
+ color: #fff;
+}
+
+.logo-box {
+ width: 2rem;
+ height: 2rem;
+ background: #16a34a;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ margin-right: 1rem;
+}
+
+
+#wrapper, .pad-datalist {
+ width: 100%;
+ max-width: 28rem;
+ background: #fff;
+ border: 1px solid #e5e7eb;
+ border-radius: 0.75rem;
+ box-shadow: 0 1px 2px 0 #0001;
+ margin: 2rem auto auto;
+}
+
+.pad-datalist {
+ max-width: 56rem;
+ margin-bottom: 1rem;
+}
+
+.break-column {
+ flex-basis: 100%;
+ width: 0;
+}
+
+ul {
+ list-style-type: none;
+}
+
+.recent-pad {
+ padding: 0.75rem 1.5rem;
+ display: flex;
position: relative;
-}
\ No newline at end of file
+ flex-direction: column;
+}
+
+.body {
+ flex-grow: 1;
+ background: linear-gradient(
+ to bottom right,
+ #d1fae5, /* emerald-100 */
+ #f0fdfa, /* teal-50 */
+ #dbeafe, /* blue-100 */
+ #c7d2fe /* indigo-200 */
+ );
+}
+
+.recent-pad:hover a {
+ color: var(--ep-color);
+}
+
+.recent-pad-arrow {
+ position: absolute;
+ right: 1rem;
+}
+
+.recent-pad a {
+ font-size: 0.875rem;
+ line-height: 1.25rem;
+ font-weight: 800;
+}
+
+a, a:visited, a:hover, a:active {
+ color: inherit;
+}
+
+.pad-datalist h2 {
+ border-bottom: 1px solid var(--muted-border);
+ padding: 1rem 1.5rem;
+ border-bottom-width: 1px;
+ border-bottom-style: solid;
+ border-bottom-color: #e5e7eb;
+}
+
+.card-content {
+ padding: 1.5rem;
+}
+
+@media (max-width: 640px) {
+ #inner {
+ max-width: 100%;
+ padding: 0 1rem;
+ }
+
+ .mission-statement p {
+ max-width: 100%;
+ }
+
+ .pad-datalist {
+ max-width: 90%;
+ }
+
+ .mission-statement h2 {
+ font-size: 1.5rem;
+ }
+}
diff --git a/src/static/skins/colibris/index.js b/src/static/skins/colibris/index.js
index 633db7267..3001fa5f8 100644
--- a/src/static/skins/colibris/index.js
+++ b/src/static/skins/colibris/index.js
@@ -1,7 +1,137 @@
'use strict';
+window.addEventListener('pageshow', (event) => {
+ if (event.persisted) {
+ if (document.readyState === 'complete' || document.readyState === 'interactive') {
+ window.customStart();
+ } else {
+ window.addEventListener('DOMContentLoaded', window.customStart, {once: true});
+ }
+ }
+});
+
window.customStart = () => {
+ document.getElementById('recent-pads').replaceChildren()
// define your javascript here
// jquery is available - except index.js
// you can load extra scripts with $.getScript http://api.jquery.com/jQuery.getScript/
+ const divHoldingPlaceHolderLabel = document
+ .querySelector('[data-l10n-id="index.placeholderPadEnter"]');
+
+ const observer = new MutationObserver(() => {
+ document.querySelector('#go2Name input')
+ .setAttribute('placeholder', divHoldingPlaceHolderLabel.textContent);
+ });
+
+ observer
+ .observe(divHoldingPlaceHolderLabel, {childList: true, subtree: true, characterData: true});
+
+
+ const recentPadList = document.getElementById('recent-pads');
+ const parentStyle = recentPadList.parentElement.style;
+ const recentPadListHeading = document.querySelector('[data-l10n-id="index.recentPads"]');
+ const recentPadsFromLocalStorage = localStorage.getItem('recentPads');
+ let recentPadListData = [];
+ if (recentPadsFromLocalStorage != null) {
+ recentPadListData = JSON.parse(recentPadsFromLocalStorage);
+ }
+
+ // Remove duplicates based on pad name and sort by timestamp
+ recentPadListData = recentPadListData.filter(
+ (pad, index, self) =>
+ index === self.findIndex((p) => p.name === pad.name)
+ ).sort((a, b) => new Date(a.timestamp) > new Date(b.timestamp) ? -1 : 1);
+
+ if (recentPadListData.length === 0) {
+ recentPadListHeading.setAttribute('data-l10n-id', 'index.recentPadsEmpty');
+ parentStyle.display = 'flex';
+ parentStyle.justifyContent = 'center';
+ parentStyle.alignItems = 'center';
+ parentStyle.maxHeight = '100%';
+ recentPadList.remove();
+ } else {
+ /**
+ * @typedef {Object} Pad
+ * @property {string} name
+ */
+
+ /**
+ * @param {Pad} pad
+ */
+
+ const arrowIcon = '';
+ const clockIcon = '';
+ const personalIcon = '';
+ recentPadListData.forEach((pad) => {
+ const li = document.createElement('li');
+
+
+ li.style.cursor = 'pointer';
+
+ li.className = 'recent-pad';
+ const padPath = `${window.location.href}p/${pad.name}`;
+ const link = document.createElement('a');
+ link.style.textDecoration = 'none';
+
+ link.href = padPath;
+ link.innerText = pad.name;
+ li.appendChild(link);
+
+
+ const arrowIconElement = document.createElement('span');
+ arrowIconElement.className = 'recent-pad-arrow';
+ arrowIconElement.innerHTML = arrowIcon;
+ li.appendChild(arrowIconElement);
+
+ const nextRow = document.createElement('div');
+
+ nextRow.style.display = 'flex';
+ nextRow.style.gap = '10px';
+ nextRow.style.marginTop = '10px';
+
+ const clockIconElement = document.createElement('span');
+ clockIconElement.className = 'recent-pad-clock';
+ clockIconElement.innerHTML = clockIcon;
+
+ nextRow.appendChild(clockIconElement);
+
+ const time = new Date(pad.timestamp);
+ const userLocale = navigator.language || 'en-US';
+
+ const formattedTime = time.toLocaleDateString(userLocale, {
+ year: 'numeric',
+ month: '2-digit',
+ day: '2-digit',
+ hour: '2-digit',
+ minute: '2-digit',
+ });
+ const timeElement = document.createElement('span');
+ timeElement.className = 'recent-pad-time';
+ timeElement.innerText = formattedTime;
+
+ nextRow.appendChild(timeElement);
+
+ const personalIconElement = document.createElement('span');
+ personalIconElement.className = 'recent-pad-personal';
+ personalIconElement.innerHTML = personalIcon;
+
+ personalIconElement.style.marginLeft = '5px';
+
+ const members = document.createElement('span');
+ members.className = 'recent-pad-members';
+ members.innerText = pad.members;
+
+
+ nextRow.appendChild(personalIconElement);
+ nextRow.appendChild(members);
+ li.appendChild(nextRow);
+
+ li.addEventListener('click', () => {
+ window.location.href = padPath;
+ });
+
+ // https://v0.dev/chat/etherpad-design-clone-qZnwOrVRXxH
+ recentPadList.appendChild(li);
+ });
+ }
};
diff --git a/src/static/skins/colibris/pad.js b/src/static/skins/colibris/pad.js
index 3a2af8508..1e7a85b3f 100644
--- a/src/static/skins/colibris/pad.js
+++ b/src/static/skins/colibris/pad.js
@@ -1,7 +1,35 @@
'use strict';
+const MAX_PADS_IN_HISTORY = 3;
+
window.customStart = () => {
$('#pad_title').show();
$('.buttonicon').on('mousedown', function () { $(this).parent().addClass('pressed'); });
$('.buttonicon').on('mouseup', function () { $(this).parent().removeClass('pressed'); });
+
+ const pathSegments = window.location.pathname.split('/');
+ const padName = pathSegments[pathSegments.length - 1];
+ const recentPads = localStorage.getItem('recentPads');
+ if (recentPads == null) {
+ localStorage.setItem('recentPads', JSON.stringify([]));
+ }
+ const recentPadsList = JSON.parse(localStorage.getItem('recentPads'));
+ if (!recentPadsList.some((pad) => pad.name === padName)) {
+ if (recentPadsList.length >= MAX_PADS_IN_HISTORY) {
+ recentPadsList.shift(); // Remove the oldest pad if we have more than 10
+ }
+ recentPadsList.push({
+ name: padName,
+ timestamp: new Date().toISOString(), // Store the timestamp for sorting
+ members: 1,
+ });
+ localStorage.setItem('recentPads', JSON.stringify(recentPadsList));
+ } else {
+ // Update the timestamp if the pad already exists
+ const existingPad = recentPadsList.find((pad) => pad.name === padName);
+ if (existingPad) {
+ existingPad.timestamp = new Date().toISOString();
+ }
+ localStorage.setItem('recentPads', JSON.stringify(recentPadsList));
+ }
};
diff --git a/src/templates/index.html b/src/templates/index.html
index f7d1a2c62..d46bd3405 100644
--- a/src/templates/index.html
+++ b/src/templates/index.html
@@ -109,6 +109,10 @@
width: 45px;
height: 38px;
}
+ nav, .mission-statement, .pad-datalist {
+ display: none;
+ }
+
@media only screen and (min-device-width: 320px) and (max-device-width: 800px) {
body {
background: #bbb;
@@ -131,24 +135,45 @@
<% e.end_block(); %>
+
+
+
+
+
+
<% e.begin_block("indexWrapper"); %>
<% if (!settings.requireSession) { %>
<% if (settings.editOnly) { %>
-
+
<% } else {%>
-
-
+
<% } %>
<% } %>
<% e.end_block(); %>
+
+
+
<% e.begin_block("indexCustomScripts"); %>
diff --git a/src/templates/pad.html b/src/templates/pad.html
index 6dd9a0ef8..abc9b7a7d 100644
--- a/src/templates/pad.html
+++ b/src/templates/pad.html
@@ -164,7 +164,7 @@
<% e.end_block(); %>
-
+
About
Powered by
Etherpad
diff --git a/src/tests/frontend-new/admin-spec/adminupdateplugins.spec.ts b/src/tests/frontend-new/admin-spec/adminupdateplugins.spec.ts
index 214202350..5b5b87d65 100644
--- a/src/tests/frontend-new/admin-spec/adminupdateplugins.spec.ts
+++ b/src/tests/frontend-new/admin-spec/adminupdateplugins.spec.ts
@@ -13,7 +13,6 @@ test.describe('Plugins page', ()=> {
await page.waitForSelector('.search-field');
const pluginTable = page.locator('table tbody').nth(1);
await expect(pluginTable).not.toBeEmpty()
- await expect(pluginTable.locator('tr')).toHaveCount(190)
})
test('Searches for a plugin', async ({page}) => {
@@ -33,8 +32,6 @@ test.describe('Plugins page', ()=> {
await expect(pluginTable).not.toBeEmpty({
timeout: 15000
})
- const plugins = await pluginTable.locator('tr').count()
- await expect(pluginTable.locator('tr')).toHaveCount(190)
// Now everything is loaded, lets install a plugin
diff --git a/src/tests/frontend-new/specs/editbar.spec.ts b/src/tests/frontend-new/specs/editbar.spec.ts
new file mode 100644
index 000000000..c2dc56fda
--- /dev/null
+++ b/src/tests/frontend-new/specs/editbar.spec.ts
@@ -0,0 +1,17 @@
+import {expect, test} from "@playwright/test";
+import {clearPadContent, getPadBody, goToNewPad} from "../helper/padHelper";
+
+test.beforeEach(async ({ page })=>{
+ // create a new pad before each test run
+ await goToNewPad(page);
+})
+
+test('should go to home on pad', async ({page}) => {
+ const homeButton = page.locator('.buttonicon.buttonicon-home')
+ const attribute = await homeButton.getAttribute('data-l10n-id')
+ expect(attribute).toBe('pad.toolbar.home.title');
+
+ await homeButton.click();
+ const url = page.url();
+ expect(url).not.toContain('/p/');
+})
diff --git a/src/tests/frontend-new/specs/indentation.spec.ts b/src/tests/frontend-new/specs/indentation.spec.ts
index 3e94dbad3..1979a095d 100644
--- a/src/tests/frontend-new/specs/indentation.spec.ts
+++ b/src/tests/frontend-new/specs/indentation.spec.ts
@@ -38,7 +38,7 @@ test.describe('indentation button', function () {
await page.locator('.buttonicon-indent').click()
// type a bit, make a line break and type again
- await padBody.locator('div').first().focus()
+ await padBody.focus()
await page.keyboard.type('line 1')
await page.keyboard.press('Enter');
await page.keyboard.type('line 2')
diff --git a/ui/package.json b/ui/package.json
index f5cb300e7..788475036 100644
--- a/ui/package.json
+++ b/ui/package.json
@@ -12,6 +12,6 @@
"devDependencies": {
"ep_etherpad-lite": "workspace:../src",
"typescript": "^5.8.2",
- "vite": "^6.3.5"
+ "vite": "^7.0.4"
}
}