chore: various fixes + updates

vega
NGPixel 1 year ago
parent 83875e5ce3
commit 5fb12c1e34
No known key found for this signature in database
GPG Key ID: B755FB6870B30F63

@ -1,7 +1,7 @@
# Based of https://github.com/microsoft/vscode-dev-containers/blob/main/containers/javascript-node/.devcontainer/base.Dockerfile # Based of https://github.com/microsoft/vscode-dev-containers/blob/main/containers/javascript-node/.devcontainer/base.Dockerfile
# [Choice] Node.js version (use -bullseye variants on local arm64/Apple Silicon): 16, 14, 12, 16-bullseye, 14-bullseye, 12-bullseye, 16-buster, 14-buster, 12-buster # [Choice] Node.js version (use -bullseye variants on local arm64/Apple Silicon): 16, 14, 12, 16-bullseye, 14-bullseye, 12-bullseye, 16-buster, 14-buster, 12-buster
ARG VARIANT=18-bullseye ARG VARIANT=20-bullseye
FROM node:${VARIANT} FROM node:${VARIANT}
ENV DEBIAN_FRONTEND=noninteractive ENV DEBIAN_FRONTEND=noninteractive
@ -62,9 +62,9 @@ RUN curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /
RUN echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian \ RUN echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian \
$(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null
# Add ngrok Source # Add cloudflared Source
RUN curl -s https://ngrok-agent.s3.amazonaws.com/ngrok.asc | sudo tee /etc/apt/trusted.gpg.d/ngrok.asc > /dev/null && \ RUN curl -fsSL https://pkg.cloudflare.com/cloudflare-main.gpg | sudo tee /usr/share/keyrings/cloudflare-main.gpg >/dev/null && \
echo "deb https://ngrok-agent.s3.amazonaws.com $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/ngrok.list echo "deb [signed-by=/usr/share/keyrings/cloudflare-main.gpg] https://pkg.cloudflare.com/cloudflared $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/cloudflared.list
# Add Localazy Source # Add Localazy Source
RUN curl -sS https://dist.localazy.com/debian/pubkey.gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/localazy.gpg && \ RUN curl -sS https://dist.localazy.com/debian/pubkey.gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/localazy.gpg && \
@ -74,6 +74,7 @@ RUN curl -sS https://dist.localazy.com/debian/pubkey.gpg | sudo gpg --dearmor -o
RUN apt-get update && export DEBIAN_FRONTEND=noninteractive && apt-get install -qy \ RUN apt-get update && export DEBIAN_FRONTEND=noninteractive && apt-get install -qy \
bash \ bash \
build-essential \ build-essential \
cloudflared \
curl \ curl \
docker-ce-cli \ docker-ce-cli \
jq \ jq \
@ -83,7 +84,6 @@ RUN apt-get update && export DEBIAN_FRONTEND=noninteractive && apt-get install -
localazy \ localazy \
nano \ nano \
netcat \ netcat \
ngrok \
pandoc \ pandoc \
unzip \ unzip \
wget wget

@ -10,6 +10,7 @@ jobs:
name: Build name: Build
runs-on: ubuntu-latest runs-on: ubuntu-latest
permissions: permissions:
contents: read
packages: write packages: write
steps: steps:
@ -76,10 +77,7 @@ jobs:
with: with:
context: . context: .
file: dev/build/Dockerfile file: dev/build/Dockerfile
provenance: true
push: true push: true
# cache-from: type=gha
# cache-to: type=gha,mode=max
platforms: linux/amd64,linux/arm64 platforms: linux/amd64,linux/arm64
tags: | tags: |
ghcr.io/requarks/wiki:3.0.0-alpha ghcr.io/requarks/wiki:3.0.0-alpha

@ -117,8 +117,8 @@ The server **dev** should already be available under **Servers**. If that's not
### Requirements ### Requirements
- PostgreSQL **11** or later *(**16** or later recommended)* - PostgreSQL **12** or later *(**16** or later recommended)*
- Node.js **18.x** or later - Node.js **20.x** or later
- [pnpm](https://pnpm.io/installation#using-corepack) - [pnpm](https://pnpm.io/installation#using-corepack)
### Usage ### Usage

@ -1,14 +1,16 @@
lockfileVersion: '6.0' lockfileVersion: '9.0'
settings: settings:
autoInstallPeers: true autoInstallPeers: true
excludeLinksFromLockfile: false excludeLinksFromLockfile: false
importers:
.:
dependencies: dependencies:
lit: lit:
specifier: 2.8.0 specifier: 2.8.0
version: 2.8.0 version: 2.8.0
devDependencies: devDependencies:
'@rollup/plugin-graphql': '@rollup/plugin-graphql':
specifier: 2.0.4 specifier: 2.0.4
@ -31,80 +33,46 @@ devDependencies:
packages: packages:
/@colors/colors@1.5.0: '@colors/colors@1.5.0':
resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==}
engines: {node: '>=0.1.90'} engines: {node: '>=0.1.90'}
requiresBuild: true
dev: true
optional: true
/@isaacs/cliui@8.0.2: '@isaacs/cliui@8.0.2':
resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
engines: {node: '>=12'} engines: {node: '>=12'}
dependencies:
string-width: 5.1.2
string-width-cjs: /string-width@4.2.3
strip-ansi: 7.1.0
strip-ansi-cjs: /strip-ansi@6.0.1
wrap-ansi: 8.1.0
wrap-ansi-cjs: /wrap-ansi@7.0.0
dev: true
/@jridgewell/gen-mapping@0.3.3: '@jridgewell/gen-mapping@0.3.3':
resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==} resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==}
engines: {node: '>=6.0.0'} engines: {node: '>=6.0.0'}
dependencies:
'@jridgewell/set-array': 1.1.2
'@jridgewell/sourcemap-codec': 1.4.15
'@jridgewell/trace-mapping': 0.3.19
dev: true
/@jridgewell/resolve-uri@3.1.1: '@jridgewell/resolve-uri@3.1.1':
resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==} resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==}
engines: {node: '>=6.0.0'} engines: {node: '>=6.0.0'}
dev: true
/@jridgewell/set-array@1.1.2: '@jridgewell/set-array@1.1.2':
resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==}
engines: {node: '>=6.0.0'} engines: {node: '>=6.0.0'}
dev: true
/@jridgewell/source-map@0.3.5: '@jridgewell/source-map@0.3.5':
resolution: {integrity: sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==} resolution: {integrity: sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==}
dependencies:
'@jridgewell/gen-mapping': 0.3.3
'@jridgewell/trace-mapping': 0.3.19
dev: true
/@jridgewell/sourcemap-codec@1.4.15: '@jridgewell/sourcemap-codec@1.4.15':
resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==}
dev: true
/@jridgewell/trace-mapping@0.3.19: '@jridgewell/trace-mapping@0.3.19':
resolution: {integrity: sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==} resolution: {integrity: sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==}
dependencies:
'@jridgewell/resolve-uri': 3.1.1
'@jridgewell/sourcemap-codec': 1.4.15
dev: true
/@lit-labs/ssr-dom-shim@1.1.1: '@lit-labs/ssr-dom-shim@1.1.1':
resolution: {integrity: sha512-kXOeFbfCm4fFf2A3WwVEeQj55tMZa8c8/f9AKHMobQMkzNUfUj+antR3fRPaZJawsa1aZiP/Da3ndpZrwEe4rQ==} resolution: {integrity: sha512-kXOeFbfCm4fFf2A3WwVEeQj55tMZa8c8/f9AKHMobQMkzNUfUj+antR3fRPaZJawsa1aZiP/Da3ndpZrwEe4rQ==}
dev: false
/@lit/reactive-element@1.6.3: '@lit/reactive-element@1.6.3':
resolution: {integrity: sha512-QuTgnG52Poic7uM1AN5yJ09QMe0O28e10XzSvWDz02TJiiKee4stsiownEIadWm8nYzyDAyT+gKzUoZmiWQtsQ==} resolution: {integrity: sha512-QuTgnG52Poic7uM1AN5yJ09QMe0O28e10XzSvWDz02TJiiKee4stsiownEIadWm8nYzyDAyT+gKzUoZmiWQtsQ==}
dependencies:
'@lit-labs/ssr-dom-shim': 1.1.1
dev: false
/@pkgjs/parseargs@0.11.0: '@pkgjs/parseargs@0.11.0':
resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
engines: {node: '>=14'} engines: {node: '>=14'}
requiresBuild: true
dev: true
optional: true
/@rollup/plugin-graphql@2.0.4(graphql@16.8.1)(rollup@3.29.4): '@rollup/plugin-graphql@2.0.4':
resolution: {integrity: sha512-TfaqbbK71VHodCDCoRbPnv2+Tsnlvad2OsGEviURHFl+ZBUyf5wfXgXc9RqZ+xKxSl87Z3YbPhD0z6eWYjuByw==} resolution: {integrity: sha512-TfaqbbK71VHodCDCoRbPnv2+Tsnlvad2OsGEviURHFl+ZBUyf5wfXgXc9RqZ+xKxSl87Z3YbPhD0z6eWYjuByw==}
engines: {node: '>=14.0.0'} engines: {node: '>=14.0.0'}
peerDependencies: peerDependencies:
@ -113,14 +81,8 @@ packages:
peerDependenciesMeta: peerDependenciesMeta:
rollup: rollup:
optional: true optional: true
dependencies:
'@rollup/pluginutils': 5.0.5(rollup@3.29.4)
graphql: 16.8.1
graphql-tag: 2.12.6(graphql@16.8.1)
rollup: 3.29.4
dev: true
/@rollup/plugin-node-resolve@15.2.2(rollup@3.29.4): '@rollup/plugin-node-resolve@15.2.2':
resolution: {integrity: sha512-f64bU4OKqV0yihtxFemmuf0oj37pToCFMISCA+sJbbIAl5wcpbRO9XgWNWb1tDiWQJUcPxo6V0l59hcuZOQ3kw==} resolution: {integrity: sha512-f64bU4OKqV0yihtxFemmuf0oj37pToCFMISCA+sJbbIAl5wcpbRO9XgWNWb1tDiWQJUcPxo6V0l59hcuZOQ3kw==}
engines: {node: '>=14.0.0'} engines: {node: '>=14.0.0'}
peerDependencies: peerDependencies:
@ -128,17 +90,8 @@ packages:
peerDependenciesMeta: peerDependenciesMeta:
rollup: rollup:
optional: true optional: true
dependencies:
'@rollup/pluginutils': 5.0.5(rollup@3.29.4)
'@types/resolve': 1.20.2
deepmerge: 4.3.1
is-builtin-module: 3.2.1
is-module: 1.0.0
resolve: 1.22.6
rollup: 3.29.4
dev: true
/@rollup/plugin-terser@0.4.4(rollup@3.29.4): '@rollup/plugin-terser@0.4.4':
resolution: {integrity: sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==} resolution: {integrity: sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==}
engines: {node: '>=14.0.0'} engines: {node: '>=14.0.0'}
peerDependencies: peerDependencies:
@ -146,14 +99,8 @@ packages:
peerDependenciesMeta: peerDependenciesMeta:
rollup: rollup:
optional: true optional: true
dependencies:
rollup: 3.29.4
serialize-javascript: 6.0.1
smob: 1.4.1
terser: 5.21.0
dev: true
/@rollup/pluginutils@5.0.5(rollup@3.29.4): '@rollup/pluginutils@5.0.5':
resolution: {integrity: sha512-6aEYR910NyP73oHiJglti74iRyOwgFU4x3meH/H8OJx6Ry0j6cOVZ5X/wTvub7G7Ao6qaHBEaNsV3GLJkSsF+Q==} resolution: {integrity: sha512-6aEYR910NyP73oHiJglti74iRyOwgFU4x3meH/H8OJx6Ry0j6cOVZ5X/wTvub7G7Ao6qaHBEaNsV3GLJkSsF+Q==}
engines: {node: '>=14.0.0'} engines: {node: '>=14.0.0'}
peerDependencies: peerDependencies:
@ -161,317 +108,513 @@ packages:
peerDependenciesMeta: peerDependenciesMeta:
rollup: rollup:
optional: true optional: true
dependencies:
'@types/estree': 1.0.2
estree-walker: 2.0.2
picomatch: 2.3.1
rollup: 3.29.4
dev: true
/@types/estree@1.0.2: '@types/estree@1.0.2':
resolution: {integrity: sha512-VeiPZ9MMwXjO32/Xu7+OwflfmeoRwkE/qzndw42gGtgJwZopBnzy2gD//NN1+go1mADzkDcqf/KnFRSjTJ8xJA==} resolution: {integrity: sha512-VeiPZ9MMwXjO32/Xu7+OwflfmeoRwkE/qzndw42gGtgJwZopBnzy2gD//NN1+go1mADzkDcqf/KnFRSjTJ8xJA==}
dev: true
/@types/resolve@1.20.2: '@types/resolve@1.20.2':
resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==}
dev: true
/@types/trusted-types@2.0.4: '@types/trusted-types@2.0.4':
resolution: {integrity: sha512-IDaobHimLQhjwsQ/NMwRVfa/yL7L/wriQPMhw1ZJall0KX6E1oxk29XMDeilW5qTIg5aoiqf5Udy8U/51aNoQQ==} resolution: {integrity: sha512-IDaobHimLQhjwsQ/NMwRVfa/yL7L/wriQPMhw1ZJall0KX6E1oxk29XMDeilW5qTIg5aoiqf5Udy8U/51aNoQQ==}
dev: false
/acorn@8.10.0: acorn@8.10.0:
resolution: {integrity: sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==} resolution: {integrity: sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==}
engines: {node: '>=0.4.0'} engines: {node: '>=0.4.0'}
hasBin: true hasBin: true
dev: true
/ansi-regex@5.0.1: ansi-regex@5.0.1:
resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
engines: {node: '>=8'} engines: {node: '>=8'}
dev: true
/ansi-regex@6.0.1: ansi-regex@6.0.1:
resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==}
engines: {node: '>=12'} engines: {node: '>=12'}
dev: true
/ansi-styles@4.3.0: ansi-styles@4.3.0:
resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
engines: {node: '>=8'} engines: {node: '>=8'}
dependencies:
color-convert: 2.0.1
dev: true
/ansi-styles@6.2.1: ansi-styles@6.2.1:
resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==}
engines: {node: '>=12'} engines: {node: '>=12'}
dev: true
/balanced-match@1.0.2: balanced-match@1.0.2:
resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
dev: true
/brace-expansion@2.0.1: brace-expansion@2.0.1:
resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
dependencies:
balanced-match: 1.0.2
dev: true
/brotli-size@4.0.0: brotli-size@4.0.0:
resolution: {integrity: sha512-uA9fOtlTRC0iqKfzff1W34DXUA3GyVqbUaeo3Rw3d4gd1eavKVCETXrn3NzO74W+UVkG3UHu8WxUi+XvKI/huA==} resolution: {integrity: sha512-uA9fOtlTRC0iqKfzff1W34DXUA3GyVqbUaeo3Rw3d4gd1eavKVCETXrn3NzO74W+UVkG3UHu8WxUi+XvKI/huA==}
engines: {node: '>= 10.16.0'} engines: {node: '>= 10.16.0'}
dependencies:
duplexer: 0.1.1
dev: true
/buffer-from@1.1.2: buffer-from@1.1.2:
resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==}
dev: true
/builtin-modules@3.3.0: builtin-modules@3.3.0:
resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==}
engines: {node: '>=6'} engines: {node: '>=6'}
dev: true
/cli-table3@0.6.3: cli-table3@0.6.3:
resolution: {integrity: sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==} resolution: {integrity: sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==}
engines: {node: 10.* || >= 12.*} engines: {node: 10.* || >= 12.*}
dependencies:
string-width: 4.2.3
optionalDependencies:
'@colors/colors': 1.5.0
dev: true
/color-convert@2.0.1: color-convert@2.0.1:
resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
engines: {node: '>=7.0.0'} engines: {node: '>=7.0.0'}
dependencies:
color-name: 1.1.4
dev: true
/color-name@1.1.4: color-name@1.1.4:
resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
dev: true
/commander@2.20.3: commander@2.20.3:
resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==}
dev: true
/cross-spawn@7.0.3: cross-spawn@7.0.3:
resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
engines: {node: '>= 8'} engines: {node: '>= 8'}
dependencies:
path-key: 3.1.1
shebang-command: 2.0.0
which: 2.0.2
dev: true
/deepmerge@4.3.1: deepmerge@4.3.1:
resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==}
engines: {node: '>=0.10.0'} engines: {node: '>=0.10.0'}
dev: true
/duplexer@0.1.1: duplexer@0.1.1:
resolution: {integrity: sha512-sxNZ+ljy+RA1maXoUReeqBBpBC6RLKmg5ewzV+x+mSETmWNoKdZN6vcQjpFROemza23hGFskJtFNoUWUaQ+R4Q==} resolution: {integrity: sha512-sxNZ+ljy+RA1maXoUReeqBBpBC6RLKmg5ewzV+x+mSETmWNoKdZN6vcQjpFROemza23hGFskJtFNoUWUaQ+R4Q==}
dev: true
/duplexer@0.1.2: duplexer@0.1.2:
resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==}
dev: true
/eastasianwidth@0.2.0: eastasianwidth@0.2.0:
resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
dev: true
/emoji-regex@8.0.0: emoji-regex@8.0.0:
resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
dev: true
/emoji-regex@9.2.2: emoji-regex@9.2.2:
resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
dev: true
/estree-walker@2.0.2: estree-walker@2.0.2:
resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
dev: true
/filesize@10.1.0: filesize@10.1.0:
resolution: {integrity: sha512-GTLKYyBSDz3nPhlLVPjPWZCnhkd9TrrRArNcy8Z+J2cqScB7h2McAzR6NBX6nYOoWafql0roY8hrocxnZBv9CQ==} resolution: {integrity: sha512-GTLKYyBSDz3nPhlLVPjPWZCnhkd9TrrRArNcy8Z+J2cqScB7h2McAzR6NBX6nYOoWafql0roY8hrocxnZBv9CQ==}
engines: {node: '>= 10.4.0'} engines: {node: '>= 10.4.0'}
dev: true
/foreground-child@3.1.1: foreground-child@3.1.1:
resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==}
engines: {node: '>=14'} engines: {node: '>=14'}
dependencies:
cross-spawn: 7.0.3
signal-exit: 4.1.0
dev: true
/fsevents@2.3.3: fsevents@2.3.3:
resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
os: [darwin] os: [darwin]
requiresBuild: true
dev: true
optional: true
/glob@10.3.10: glob@10.3.10:
resolution: {integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==} resolution: {integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==}
engines: {node: '>=16 || 14 >=14.17'} engines: {node: '>=16 || 14 >=14.17'}
hasBin: true hasBin: true
dependencies:
foreground-child: 3.1.1
jackspeak: 2.3.6
minimatch: 9.0.3
minipass: 7.0.4
path-scurry: 1.10.1
dev: true
/graphql-tag@2.12.6(graphql@16.8.1): graphql-tag@2.12.6:
resolution: {integrity: sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg==} resolution: {integrity: sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg==}
engines: {node: '>=10'} engines: {node: '>=10'}
peerDependencies: peerDependencies:
graphql: ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 graphql: ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0
dependencies:
graphql: 16.8.1
tslib: 2.6.2
dev: true
/graphql@16.8.1: graphql@16.8.1:
resolution: {integrity: sha512-59LZHPdGZVh695Ud9lRzPBVTtlX9ZCV150Er2W43ro37wVof0ctenSaskPPjN7lVTIN8mSZt8PHUNKZuNQUuxw==} resolution: {integrity: sha512-59LZHPdGZVh695Ud9lRzPBVTtlX9ZCV150Er2W43ro37wVof0ctenSaskPPjN7lVTIN8mSZt8PHUNKZuNQUuxw==}
engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0} engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0}
dev: true
/gzip-size@7.0.0: gzip-size@7.0.0:
resolution: {integrity: sha512-O1Ld7Dr+nqPnmGpdhzLmMTQ4vAsD+rHwMm1NLUmoUFFymBOMKxCCrtDxqdBRYXdeEPEi3SyoR4TizJLQrnKBNA==} resolution: {integrity: sha512-O1Ld7Dr+nqPnmGpdhzLmMTQ4vAsD+rHwMm1NLUmoUFFymBOMKxCCrtDxqdBRYXdeEPEi3SyoR4TizJLQrnKBNA==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
dependencies:
duplexer: 0.1.2
dev: true
/has@1.0.4: has@1.0.4:
resolution: {integrity: sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==} resolution: {integrity: sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==}
engines: {node: '>= 0.4.0'} engines: {node: '>= 0.4.0'}
dev: true
/is-builtin-module@3.2.1: is-builtin-module@3.2.1:
resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==}
engines: {node: '>=6'} engines: {node: '>=6'}
dependencies:
builtin-modules: 3.3.0
dev: true
/is-core-module@2.13.0: is-core-module@2.13.0:
resolution: {integrity: sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==} resolution: {integrity: sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==}
dependencies:
has: 1.0.4
dev: true
/is-fullwidth-code-point@3.0.0: is-fullwidth-code-point@3.0.0:
resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
engines: {node: '>=8'} engines: {node: '>=8'}
dev: true
/is-module@1.0.0: is-module@1.0.0:
resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==} resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==}
dev: true
/isexe@2.0.0: isexe@2.0.0:
resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
dev: true
/jackspeak@2.3.6: jackspeak@2.3.6:
resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==}
engines: {node: '>=14'} engines: {node: '>=14'}
lit-element@3.3.3:
resolution: {integrity: sha512-XbeRxmTHubXENkV4h8RIPyr8lXc+Ff28rkcQzw3G6up2xg5E8Zu1IgOWIwBLEQsu3cOVFqdYwiVi0hv0SlpqUA==}
lit-html@2.8.0:
resolution: {integrity: sha512-o9t+MQM3P4y7M7yNzqAyjp7z+mQGa4NS4CxiyLqFPyFWyc4O+nodLrkrxSaCTrla6M5YOLaT3RpbbqjszB5g3Q==}
lit@2.8.0:
resolution: {integrity: sha512-4Sc3OFX9QHOJaHbmTMk28SYgVxLN3ePDjg7hofEft2zWlehFL3LiAuapWc4U/kYwMYJSh2hTCPZ6/LIC7ii0MA==}
lru-cache@10.0.1:
resolution: {integrity: sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==}
engines: {node: 14 || >=16.14}
minimatch@9.0.3:
resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==}
engines: {node: '>=16 || 14 >=14.17'}
minipass@7.0.4:
resolution: {integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==}
engines: {node: '>=16 || 14 >=14.17'}
path-key@3.1.1:
resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
engines: {node: '>=8'}
path-parse@1.0.7:
resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
path-scurry@1.10.1:
resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==}
engines: {node: '>=16 || 14 >=14.17'}
picomatch@2.3.1:
resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
engines: {node: '>=8.6'}
randombytes@2.1.0:
resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==}
resolve@1.22.6:
resolution: {integrity: sha512-njhxM7mV12JfufShqGy3Rz8j11RPdLy4xi15UurGJeoHLfJpVXKdh3ueuOqbYUcDZnffr6X739JBo5LzyahEsw==}
hasBin: true
rollup-plugin-summary@2.0.0:
resolution: {integrity: sha512-7Av6DQeCmVNpFmCdkkbMya1CneeGWhjSXXQ3B4yDO+BvN/Kbohqi3IEYXAvgHP3iIafSfMyOw+PBLFUlvf1ViA==}
engines: {node: '>=14.0.0'}
peerDependencies:
rollup: ^2.68.0||^3.0.0
rollup@3.29.4:
resolution: {integrity: sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==}
engines: {node: '>=14.18.0', npm: '>=8.0.0'}
hasBin: true
safe-buffer@5.2.1:
resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
serialize-javascript@6.0.1:
resolution: {integrity: sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==}
shebang-command@2.0.0:
resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
engines: {node: '>=8'}
shebang-regex@3.0.0:
resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
engines: {node: '>=8'}
signal-exit@4.1.0:
resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
engines: {node: '>=14'}
smob@1.4.1:
resolution: {integrity: sha512-9LK+E7Hv5R9u4g4C3p+jjLstaLe11MDsL21UpYaCNmapvMkYhqCV4A/f/3gyH8QjMyh6l68q9xC85vihY9ahMQ==}
source-map-support@0.5.21:
resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==}
source-map@0.6.1:
resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
engines: {node: '>=0.10.0'}
string-width@4.2.3:
resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
engines: {node: '>=8'}
string-width@5.1.2:
resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==}
engines: {node: '>=12'}
strip-ansi@6.0.1:
resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
engines: {node: '>=8'}
strip-ansi@7.1.0:
resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==}
engines: {node: '>=12'}
supports-preserve-symlinks-flag@1.0.0:
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
engines: {node: '>= 0.4'}
terser@5.21.0:
resolution: {integrity: sha512-WtnFKrxu9kaoXuiZFSGrcAvvBqAdmKx0SFNmVNYdJamMu9yyN3I/QF0FbH4QcqJQ+y1CJnzxGIKH0cSj+FGYRw==}
engines: {node: '>=10'}
hasBin: true
tslib@2.6.2:
resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==}
which@2.0.2:
resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
engines: {node: '>= 8'}
hasBin: true
wrap-ansi@7.0.0:
resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
engines: {node: '>=10'}
wrap-ansi@8.1.0:
resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==}
engines: {node: '>=12'}
snapshots:
'@colors/colors@1.5.0':
optional: true
'@isaacs/cliui@8.0.2':
dependencies:
string-width: 5.1.2
string-width-cjs: string-width@4.2.3
strip-ansi: 7.1.0
strip-ansi-cjs: strip-ansi@6.0.1
wrap-ansi: 8.1.0
wrap-ansi-cjs: wrap-ansi@7.0.0
'@jridgewell/gen-mapping@0.3.3':
dependencies:
'@jridgewell/set-array': 1.1.2
'@jridgewell/sourcemap-codec': 1.4.15
'@jridgewell/trace-mapping': 0.3.19
'@jridgewell/resolve-uri@3.1.1': {}
'@jridgewell/set-array@1.1.2': {}
'@jridgewell/source-map@0.3.5':
dependencies:
'@jridgewell/gen-mapping': 0.3.3
'@jridgewell/trace-mapping': 0.3.19
'@jridgewell/sourcemap-codec@1.4.15': {}
'@jridgewell/trace-mapping@0.3.19':
dependencies:
'@jridgewell/resolve-uri': 3.1.1
'@jridgewell/sourcemap-codec': 1.4.15
'@lit-labs/ssr-dom-shim@1.1.1': {}
'@lit/reactive-element@1.6.3':
dependencies:
'@lit-labs/ssr-dom-shim': 1.1.1
'@pkgjs/parseargs@0.11.0':
optional: true
'@rollup/plugin-graphql@2.0.4(graphql@16.8.1)(rollup@3.29.4)':
dependencies:
'@rollup/pluginutils': 5.0.5(rollup@3.29.4)
graphql: 16.8.1
graphql-tag: 2.12.6(graphql@16.8.1)
rollup: 3.29.4
'@rollup/plugin-node-resolve@15.2.2(rollup@3.29.4)':
dependencies:
'@rollup/pluginutils': 5.0.5(rollup@3.29.4)
'@types/resolve': 1.20.2
deepmerge: 4.3.1
is-builtin-module: 3.2.1
is-module: 1.0.0
resolve: 1.22.6
rollup: 3.29.4
'@rollup/plugin-terser@0.4.4(rollup@3.29.4)':
dependencies:
rollup: 3.29.4
serialize-javascript: 6.0.1
smob: 1.4.1
terser: 5.21.0
'@rollup/pluginutils@5.0.5(rollup@3.29.4)':
dependencies:
'@types/estree': 1.0.2
estree-walker: 2.0.2
picomatch: 2.3.1
rollup: 3.29.4
'@types/estree@1.0.2': {}
'@types/resolve@1.20.2': {}
'@types/trusted-types@2.0.4': {}
acorn@8.10.0: {}
ansi-regex@5.0.1: {}
ansi-regex@6.0.1: {}
ansi-styles@4.3.0:
dependencies:
color-convert: 2.0.1
ansi-styles@6.2.1: {}
balanced-match@1.0.2: {}
brace-expansion@2.0.1:
dependencies:
balanced-match: 1.0.2
brotli-size@4.0.0:
dependencies:
duplexer: 0.1.1
buffer-from@1.1.2: {}
builtin-modules@3.3.0: {}
cli-table3@0.6.3:
dependencies:
string-width: 4.2.3
optionalDependencies:
'@colors/colors': 1.5.0
color-convert@2.0.1:
dependencies:
color-name: 1.1.4
color-name@1.1.4: {}
commander@2.20.3: {}
cross-spawn@7.0.3:
dependencies:
path-key: 3.1.1
shebang-command: 2.0.0
which: 2.0.2
deepmerge@4.3.1: {}
duplexer@0.1.1: {}
duplexer@0.1.2: {}
eastasianwidth@0.2.0: {}
emoji-regex@8.0.0: {}
emoji-regex@9.2.2: {}
estree-walker@2.0.2: {}
filesize@10.1.0: {}
foreground-child@3.1.1:
dependencies:
cross-spawn: 7.0.3
signal-exit: 4.1.0
fsevents@2.3.3:
optional: true
glob@10.3.10:
dependencies:
foreground-child: 3.1.1
jackspeak: 2.3.6
minimatch: 9.0.3
minipass: 7.0.4
path-scurry: 1.10.1
graphql-tag@2.12.6(graphql@16.8.1):
dependencies:
graphql: 16.8.1
tslib: 2.6.2
graphql@16.8.1: {}
gzip-size@7.0.0:
dependencies:
duplexer: 0.1.2
has@1.0.4: {}
is-builtin-module@3.2.1:
dependencies:
builtin-modules: 3.3.0
is-core-module@2.13.0:
dependencies:
has: 1.0.4
is-fullwidth-code-point@3.0.0: {}
is-module@1.0.0: {}
isexe@2.0.0: {}
jackspeak@2.3.6:
dependencies: dependencies:
'@isaacs/cliui': 8.0.2 '@isaacs/cliui': 8.0.2
optionalDependencies: optionalDependencies:
'@pkgjs/parseargs': 0.11.0 '@pkgjs/parseargs': 0.11.0
dev: true
/lit-element@3.3.3: lit-element@3.3.3:
resolution: {integrity: sha512-XbeRxmTHubXENkV4h8RIPyr8lXc+Ff28rkcQzw3G6up2xg5E8Zu1IgOWIwBLEQsu3cOVFqdYwiVi0hv0SlpqUA==}
dependencies: dependencies:
'@lit-labs/ssr-dom-shim': 1.1.1 '@lit-labs/ssr-dom-shim': 1.1.1
'@lit/reactive-element': 1.6.3 '@lit/reactive-element': 1.6.3
lit-html: 2.8.0 lit-html: 2.8.0
dev: false
/lit-html@2.8.0: lit-html@2.8.0:
resolution: {integrity: sha512-o9t+MQM3P4y7M7yNzqAyjp7z+mQGa4NS4CxiyLqFPyFWyc4O+nodLrkrxSaCTrla6M5YOLaT3RpbbqjszB5g3Q==}
dependencies: dependencies:
'@types/trusted-types': 2.0.4 '@types/trusted-types': 2.0.4
dev: false
/lit@2.8.0: lit@2.8.0:
resolution: {integrity: sha512-4Sc3OFX9QHOJaHbmTMk28SYgVxLN3ePDjg7hofEft2zWlehFL3LiAuapWc4U/kYwMYJSh2hTCPZ6/LIC7ii0MA==}
dependencies: dependencies:
'@lit/reactive-element': 1.6.3 '@lit/reactive-element': 1.6.3
lit-element: 3.3.3 lit-element: 3.3.3
lit-html: 2.8.0 lit-html: 2.8.0
dev: false
/lru-cache@10.0.1: lru-cache@10.0.1: {}
resolution: {integrity: sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==}
engines: {node: 14 || >=16.14}
dev: true
/minimatch@9.0.3: minimatch@9.0.3:
resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==}
engines: {node: '>=16 || 14 >=14.17'}
dependencies: dependencies:
brace-expansion: 2.0.1 brace-expansion: 2.0.1
dev: true
/minipass@7.0.4: minipass@7.0.4: {}
resolution: {integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==}
engines: {node: '>=16 || 14 >=14.17'}
dev: true
/path-key@3.1.1: path-key@3.1.1: {}
resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
engines: {node: '>=8'}
dev: true
/path-parse@1.0.7: path-parse@1.0.7: {}
resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
dev: true
/path-scurry@1.10.1: path-scurry@1.10.1:
resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==}
engines: {node: '>=16 || 14 >=14.17'}
dependencies: dependencies:
lru-cache: 10.0.1 lru-cache: 10.0.1
minipass: 7.0.4 minipass: 7.0.4
dev: true
/picomatch@2.3.1: picomatch@2.3.1: {}
resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
engines: {node: '>=8.6'}
dev: true
/randombytes@2.1.0: randombytes@2.1.0:
resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==}
dependencies: dependencies:
safe-buffer: 5.2.1 safe-buffer: 5.2.1
dev: true
/resolve@1.22.6: resolve@1.22.6:
resolution: {integrity: sha512-njhxM7mV12JfufShqGy3Rz8j11RPdLy4xi15UurGJeoHLfJpVXKdh3ueuOqbYUcDZnffr6X739JBo5LzyahEsw==}
hasBin: true
dependencies: dependencies:
is-core-module: 2.13.0 is-core-module: 2.13.0
path-parse: 1.0.7 path-parse: 1.0.7
supports-preserve-symlinks-flag: 1.0.0 supports-preserve-symlinks-flag: 1.0.0
dev: true
/rollup-plugin-summary@2.0.0(rollup@3.29.4): rollup-plugin-summary@2.0.0(rollup@3.29.4):
resolution: {integrity: sha512-7Av6DQeCmVNpFmCdkkbMya1CneeGWhjSXXQ3B4yDO+BvN/Kbohqi3IEYXAvgHP3iIafSfMyOw+PBLFUlvf1ViA==}
engines: {node: '>=14.0.0'}
peerDependencies:
rollup: ^2.68.0||^3.0.0
dependencies: dependencies:
brotli-size: 4.0.0 brotli-size: 4.0.0
cli-table3: 0.6.3 cli-table3: 0.6.3
@ -479,133 +622,77 @@ packages:
gzip-size: 7.0.0 gzip-size: 7.0.0
rollup: 3.29.4 rollup: 3.29.4
terser: 5.21.0 terser: 5.21.0
dev: true
/rollup@3.29.4: rollup@3.29.4:
resolution: {integrity: sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==}
engines: {node: '>=14.18.0', npm: '>=8.0.0'}
hasBin: true
optionalDependencies: optionalDependencies:
fsevents: 2.3.3 fsevents: 2.3.3
dev: true
/safe-buffer@5.2.1: safe-buffer@5.2.1: {}
resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
dev: true
/serialize-javascript@6.0.1: serialize-javascript@6.0.1:
resolution: {integrity: sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==}
dependencies: dependencies:
randombytes: 2.1.0 randombytes: 2.1.0
dev: true
/shebang-command@2.0.0: shebang-command@2.0.0:
resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
engines: {node: '>=8'}
dependencies: dependencies:
shebang-regex: 3.0.0 shebang-regex: 3.0.0
dev: true
/shebang-regex@3.0.0: shebang-regex@3.0.0: {}
resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
engines: {node: '>=8'}
dev: true
/signal-exit@4.1.0: signal-exit@4.1.0: {}
resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
engines: {node: '>=14'}
dev: true
/smob@1.4.1: smob@1.4.1: {}
resolution: {integrity: sha512-9LK+E7Hv5R9u4g4C3p+jjLstaLe11MDsL21UpYaCNmapvMkYhqCV4A/f/3gyH8QjMyh6l68q9xC85vihY9ahMQ==}
dev: true
/source-map-support@0.5.21: source-map-support@0.5.21:
resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==}
dependencies: dependencies:
buffer-from: 1.1.2 buffer-from: 1.1.2
source-map: 0.6.1 source-map: 0.6.1
dev: true
/source-map@0.6.1: source-map@0.6.1: {}
resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
engines: {node: '>=0.10.0'}
dev: true
/string-width@4.2.3: string-width@4.2.3:
resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
engines: {node: '>=8'}
dependencies: dependencies:
emoji-regex: 8.0.0 emoji-regex: 8.0.0
is-fullwidth-code-point: 3.0.0 is-fullwidth-code-point: 3.0.0
strip-ansi: 6.0.1 strip-ansi: 6.0.1
dev: true
/string-width@5.1.2: string-width@5.1.2:
resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==}
engines: {node: '>=12'}
dependencies: dependencies:
eastasianwidth: 0.2.0 eastasianwidth: 0.2.0
emoji-regex: 9.2.2 emoji-regex: 9.2.2
strip-ansi: 7.1.0 strip-ansi: 7.1.0
dev: true
/strip-ansi@6.0.1: strip-ansi@6.0.1:
resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
engines: {node: '>=8'}
dependencies: dependencies:
ansi-regex: 5.0.1 ansi-regex: 5.0.1
dev: true
/strip-ansi@7.1.0: strip-ansi@7.1.0:
resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==}
engines: {node: '>=12'}
dependencies: dependencies:
ansi-regex: 6.0.1 ansi-regex: 6.0.1
dev: true
/supports-preserve-symlinks-flag@1.0.0: supports-preserve-symlinks-flag@1.0.0: {}
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
engines: {node: '>= 0.4'}
dev: true
/terser@5.21.0: terser@5.21.0:
resolution: {integrity: sha512-WtnFKrxu9kaoXuiZFSGrcAvvBqAdmKx0SFNmVNYdJamMu9yyN3I/QF0FbH4QcqJQ+y1CJnzxGIKH0cSj+FGYRw==}
engines: {node: '>=10'}
hasBin: true
dependencies: dependencies:
'@jridgewell/source-map': 0.3.5 '@jridgewell/source-map': 0.3.5
acorn: 8.10.0 acorn: 8.10.0
commander: 2.20.3 commander: 2.20.3
source-map-support: 0.5.21 source-map-support: 0.5.21
dev: true
/tslib@2.6.2: tslib@2.6.2: {}
resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==}
dev: true
/which@2.0.2: which@2.0.2:
resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
engines: {node: '>= 8'}
hasBin: true
dependencies: dependencies:
isexe: 2.0.0 isexe: 2.0.0
dev: true
/wrap-ansi@7.0.0: wrap-ansi@7.0.0:
resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
engines: {node: '>=10'}
dependencies: dependencies:
ansi-styles: 4.3.0 ansi-styles: 4.3.0
string-width: 4.2.3 string-width: 4.2.3
strip-ansi: 6.0.1 strip-ansi: 6.0.1
dev: true
/wrap-ansi@8.1.0: wrap-ansi@8.1.0:
resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==}
engines: {node: '>=12'}
dependencies: dependencies:
ansi-styles: 6.2.1 ansi-styles: 6.2.1
string-width: 5.1.2 string-width: 5.1.2
strip-ansi: 7.1.0 strip-ansi: 7.1.0
dev: true

@ -438,11 +438,10 @@ export default function () {
* Metrics (Prometheus) * Metrics (Prometheus)
*/ */
router.get('/metrics', async (req, res, next) => { router.get('/metrics', async (req, res, next) => {
if (WIKI.config.metrics.isEnabled) {
if (!WIKI.auth.checkAccess(req.user, ['read:metrics'])) { if (!WIKI.auth.checkAccess(req.user, ['read:metrics'])) {
return res.sendStatus(403) return res.sendStatus(403)
} }
if (WIKI.config.metrics.isEnabled) {
WIKI.metrics.render(res) WIKI.metrics.render(res)
} else { } else {
next() next()

@ -10,6 +10,7 @@ import {
generateAuthenticationOptions, generateAuthenticationOptions,
verifyAuthenticationResponse verifyAuthenticationResponse
} from '@simplewebauthn/server' } from '@simplewebauthn/server'
import { isoBase64URL } from '@simplewebauthn/server/helpers'
export default { export default {
Query: { Query: {
@ -264,7 +265,7 @@ export default {
userVerification: 'preferred' userVerification: 'preferred'
}, },
excludeCredentials: usr.passkeys.authenticators?.map(authenticator => ({ excludeCredentials: usr.passkeys.authenticators?.map(authenticator => ({
id: new Uint8Array(authenticator.credentialID), id: isoBase64URL.fromBuffer(new Uint8Array(authenticator.credentialID)),
type: 'public-key', type: 'public-key',
transports: authenticator.transports transports: authenticator.transports
})) ?? [] })) ?? []

@ -22,8 +22,6 @@ export function parsePath (rawPath, opts = {}) {
// TODO: use site base lang // TODO: use site base lang
locale: 'en', // WIKI.config.lang.code, locale: 'en', // WIKI.config.lang.code,
path: 'home', path: 'home',
private: false,
privateNS: '',
explicitLocale: false explicitLocale: false
} }
@ -40,7 +38,7 @@ export function parsePath (rawPath, opts = {}) {
p = p.trim() p = p.trim()
return !isEmpty(p) && p !== '..' && p !== '.' return !isEmpty(p) && p !== '..' && p !== '.'
}) })
if (pathParts[0].startsWith('_')) { if (pathParts.length > 1 && pathParts[0].startsWith('_')) {
pathParts.shift() pathParts.shift()
} }
if (localeSegmentRegex.test(pathParts[0])) { if (localeSegmentRegex.test(pathParts[0])) {

@ -36,26 +36,26 @@
"node": ">=18.0" "node": ">=18.0"
}, },
"dependencies": { "dependencies": {
"@apollo/server": "4.10.0", "@apollo/server": "4.10.4",
"@azure/storage-blob": "12.17.0", "@azure/storage-blob": "12.17.0",
"@exlinc/keycloak-passport": "1.0.2", "@exlinc/keycloak-passport": "1.0.2",
"@graphql-tools/schema": "10.0.2", "@graphql-tools/schema": "10.0.3",
"@graphql-tools/utils": "10.0.13", "@graphql-tools/utils": "10.1.3",
"@hexagon/base64": "1.1.28", "@hexagon/base64": "1.1.28",
"@joplin/turndown-plugin-gfm": "1.0.54", "@joplin/turndown-plugin-gfm": "1.0.55",
"@node-saml/passport-saml": "4.0.4", "@node-saml/passport-saml": "5.0.0",
"@root/csr": "0.8.1", "@root/csr": "0.8.1",
"@root/keypairs": "0.10.3", "@root/keypairs": "0.10.3",
"@root/pem": "1.0.4", "@root/pem": "1.0.4",
"@simplewebauthn/server": "9.0.1", "@simplewebauthn/server": "10.0.0",
"@vue-email/compiler": "0.8.9", "@vue-email/compiler": "0.8.14",
"acme": "3.0.3", "acme": "3.0.3",
"akismet-api": "6.0.0", "akismet-api": "6.0.0",
"aws-sdk": "2.1550.0", "aws-sdk": "2.1603.0",
"bcryptjs": "2.4.3", "bcryptjs": "2.4.3",
"chalk": "5.3.0", "chalk": "5.3.0",
"cheerio": "1.0.0-rc.12", "cheerio": "1.0.0-rc.12",
"chokidar": "3.5.3", "chokidar": "3.6.0",
"chromium-pickle-js": "0.2.0", "chromium-pickle-js": "0.2.0",
"clean-css": "5.3.3", "clean-css": "5.3.3",
"command-exists": "1.2.9", "command-exists": "1.2.9",
@ -67,40 +67,40 @@
"cuint": "0.2.2", "cuint": "0.2.2",
"custom-error-instance": "2.1.2", "custom-error-instance": "2.1.2",
"dependency-graph": "1.0.0", "dependency-graph": "1.0.0",
"diff": "5.1.0", "diff": "5.2.0",
"diff2html": "3.4.47", "diff2html": "3.4.48",
"dompurify": "3.0.8", "dompurify": "3.1.0",
"dotize": "0.3.0", "dotize": "0.3.0",
"emoji-regex": "10.3.0", "emoji-regex": "10.3.0",
"eventemitter2": "6.4.9", "eventemitter2": "6.4.9",
"express": "4.18.2", "express": "4.19.2",
"express-brute": "1.0.1", "express-brute": "1.0.1",
"express-session": "1.18.0", "express-session": "1.18.0",
"file-type": "19.0.0", "file-type": "19.0.0",
"filesize": "10.1.0", "filesize": "10.1.1",
"fs-extra": "11.2.0", "fs-extra": "11.2.0",
"getos": "3.2.1", "getos": "3.2.1",
"graphql": "16.8.1", "graphql": "16.8.1",
"graphql-list-fields": "2.0.3", "graphql-list-fields": "2.0.4",
"graphql-rate-limit-directive": "2.0.5", "graphql-rate-limit-directive": "2.0.5",
"graphql-tools": "9.0.0", "graphql-tools": "9.0.1",
"graphql-upload": "16.0.2", "graphql-upload": "16.0.2",
"gray-matter": "4.0.3", "gray-matter": "4.0.3",
"he": "1.2.0", "he": "1.2.0",
"highlight.js": "11.9.0", "highlight.js": "11.9.0",
"image-size": "1.1.1", "image-size": "1.1.1",
"js-base64": "3.7.6", "js-base64": "3.7.7",
"js-binary": "1.2.0", "js-binary": "1.2.0",
"js-yaml": "4.1.0", "js-yaml": "4.1.0",
"jsdom": "24.0.0", "jsdom": "24.0.0",
"jsonwebtoken": "9.0.2", "jsonwebtoken": "9.0.2",
"katex": "0.16.9", "katex": "0.16.10",
"klaw": "4.1.0", "klaw": "4.1.0",
"knex": "3.1.0", "knex": "3.1.0",
"lodash": "4.17.21", "lodash": "4.17.21",
"lodash-es": "4.17.21", "lodash-es": "4.17.21",
"luxon": "3.4.4", "luxon": "3.4.4",
"markdown-it": "14.0.0", "markdown-it": "14.1.0",
"markdown-it-abbr": "2.0.0", "markdown-it-abbr": "2.0.0",
"markdown-it-attrs": "4.1.6", "markdown-it-attrs": "4.1.6",
"markdown-it-decorate": "1.2.2", "markdown-it-decorate": "1.2.2",
@ -109,7 +109,7 @@
"markdown-it-footnote": "4.0.0", "markdown-it-footnote": "4.0.0",
"markdown-it-imsize": "2.0.1", "markdown-it-imsize": "2.0.1",
"markdown-it-mark": "4.0.0", "markdown-it-mark": "4.0.0",
"markdown-it-mdc": "0.2.1", "markdown-it-mdc": "0.2.3",
"markdown-it-multimd-table": "4.2.3", "markdown-it-multimd-table": "4.2.3",
"markdown-it-sub": "2.0.0", "markdown-it-sub": "2.0.0",
"markdown-it-sup": "2.0.0", "markdown-it-sup": "2.0.0",
@ -118,12 +118,12 @@
"mime-types": "2.1.35", "mime-types": "2.1.35",
"ms": "2.1.3", "ms": "2.1.3",
"multer": "1.4.5-lts.1", "multer": "1.4.5-lts.1",
"nanoid": "5.0.5", "nanoid": "5.0.7",
"node-2fa": "2.0.3", "node-2fa": "2.0.3",
"node-cache": "5.1.2", "node-cache": "5.1.2",
"nodemailer": "6.9.9", "nodemailer": "6.9.13",
"objection": "3.1.3", "objection": "3.1.4",
"octokit": "3.1.2", "octokit": "3.2.0",
"passport": "0.7.0", "passport": "0.7.0",
"passport-auth0": "1.4.4", "passport-auth0": "1.4.4",
"passport-azure-ad": "4.3.5", "passport-azure-ad": "4.3.5",
@ -137,42 +137,42 @@
"passport-jwt": "4.0.1", "passport-jwt": "4.0.1",
"passport-ldapauth": "3.0.1", "passport-ldapauth": "3.0.1",
"passport-local": "1.0.0", "passport-local": "1.0.0",
"passport-microsoft": "1.0.0", "passport-microsoft": "2.0.0",
"passport-oauth2": "1.8.0", "passport-oauth2": "1.8.0",
"passport-okta-oauth": "0.0.1", "passport-okta-oauth": "0.0.1",
"passport-openidconnect": "0.1.1", "passport-openidconnect": "0.1.2",
"passport-slack-oauth2": "1.2.0", "passport-slack-oauth2": "1.2.0",
"passport-twitch-strategy": "2.2.0", "passport-twitch-strategy": "2.2.0",
"pem-jwk": "2.0.0", "pem-jwk": "2.0.0",
"pg": "8.11.3", "pg": "8.11.5",
"pg-hstore": "2.3.4", "pg-hstore": "2.3.4",
"pg-pubsub": "0.8.1", "pg-pubsub": "0.8.1",
"pg-query-stream": "4.5.3", "pg-query-stream": "4.5.5",
"pg-tsquery": "8.4.2", "pg-tsquery": "8.4.2",
"poolifier": "3.1.19", "poolifier": "3.1.29",
"prom-client": "15.1.0", "prom-client": "15.1.2",
"punycode": "2.3.1", "punycode": "2.3.1",
"puppeteer-core": "21.11.0", "puppeteer-core": "22.6.5",
"qr-image": "3.2.0", "qr-image": "3.2.0",
"remove-markdown": "0.5.0", "remove-markdown": "0.5.0",
"safe-regex": "2.1.1", "safe-regex": "2.1.1",
"sanitize-filename": "1.6.3", "sanitize-filename": "1.6.3",
"scim-query-filter-parser": "2.0.4", "scim-query-filter-parser": "2.0.4",
"semver": "7.5.4", "semver": "7.6.0",
"serve-favicon": "2.5.0", "serve-favicon": "2.5.0",
"sharp": "0.33.2", "sharp": "0.33.3",
"simple-git": "3.22.0", "simple-git": "3.24.0",
"socket.io": "4.7.4", "socket.io": "4.7.5",
"striptags": "3.2.0", "striptags": "3.2.0",
"tar-fs": "3.0.4", "tar-fs": "3.0.5",
"turndown": "7.1.2", "turndown": "7.1.3",
"twemoji": "14.0.2", "twemoji": "14.0.2",
"ufo": "1.3.2", "ufo": "1.5.3",
"uslug": "1.0.4", "uslug": "1.0.4",
"uuid": "9.0.1", "uuid": "9.0.1",
"validate.js": "0.13.1", "validate.js": "0.13.1",
"vue": "3.4.15", "vue": "3.4.23",
"xss": "1.0.14", "xss": "1.0.15",
"yargs": "17.7.2" "yargs": "17.7.2"
}, },
"devDependencies": { "devDependencies": {
@ -182,10 +182,10 @@
"eslint-plugin-import": "2.29.1", "eslint-plugin-import": "2.29.1",
"eslint-plugin-node": "11.1.0", "eslint-plugin-node": "11.1.0",
"eslint-plugin-promise": "6.1.1", "eslint-plugin-promise": "6.1.1",
"nodemon": "3.0.3" "nodemon": "3.1.0"
}, },
"overrides": { "overrides": {
"@graphql-tools/utils": "10.0.1" "@graphql-tools/utils": "10.1.3"
}, },
"collective": { "collective": {
"type": "opencollective", "type": "opencollective",

File diff suppressed because it is too large Load Diff

@ -11,37 +11,38 @@
"build": "NODE_OPTIONS=--max-old-space-size=8192 vite build --emptyOutDir" "build": "NODE_OPTIONS=--max-old-space-size=8192 vite build --emptyOutDir"
}, },
"dependencies": { "dependencies": {
"@apollo/client": "3.9.9", "@apollo/client": "3.9.11",
"@lezer/common": "1.2.1", "@lezer/common": "1.2.1",
"@mdi/font": "7.4.47", "@mdi/font": "7.4.47",
"@quasar/extras": "1.16.11", "@quasar/extras": "1.16.11",
"@simplewebauthn/browser": "9.0.1", "@simplewebauthn/browser": "10.0.0",
"@tiptap/core": "2.2.4", "@tiptap/core": "2.3.0",
"@tiptap/extension-code-block": "2.2.4", "@tiptap/extension-code-block": "2.3.0",
"@tiptap/extension-code-block-lowlight": "2.2.4", "@tiptap/extension-code-block-lowlight": "2.3.0",
"@tiptap/extension-color": "2.2.4", "@tiptap/extension-color": "2.3.0",
"@tiptap/extension-dropcursor": "2.2.4", "@tiptap/extension-dropcursor": "2.3.0",
"@tiptap/extension-font-family": "2.2.4", "@tiptap/extension-font-family": "2.3.0",
"@tiptap/extension-gapcursor": "2.2.4", "@tiptap/extension-gapcursor": "2.3.0",
"@tiptap/extension-hard-break": "2.2.4", "@tiptap/extension-hard-break": "2.3.0",
"@tiptap/extension-highlight": "2.2.4", "@tiptap/extension-highlight": "2.3.0",
"@tiptap/extension-history": "2.2.4", "@tiptap/extension-history": "2.3.0",
"@tiptap/extension-image": "2.2.4", "@tiptap/extension-image": "2.3.0",
"@tiptap/extension-mention": "2.2.4", "@tiptap/extension-mention": "2.3.0",
"@tiptap/extension-placeholder": "2.2.4", "@tiptap/extension-placeholder": "2.3.0",
"@tiptap/extension-table": "2.2.4", "@tiptap/extension-table": "2.3.0",
"@tiptap/extension-table-cell": "2.2.4", "@tiptap/extension-table-cell": "2.3.0",
"@tiptap/extension-table-header": "2.2.4", "@tiptap/extension-table-header": "2.3.0",
"@tiptap/extension-table-row": "2.2.4", "@tiptap/extension-table-row": "2.3.0",
"@tiptap/extension-task-item": "2.2.4", "@tiptap/extension-task-item": "2.3.0",
"@tiptap/extension-task-list": "2.2.4", "@tiptap/extension-task-list": "2.3.0",
"@tiptap/extension-text-align": "2.2.4", "@tiptap/extension-text-align": "2.3.0",
"@tiptap/extension-text-style": "2.2.4", "@tiptap/extension-text-style": "2.3.0",
"@tiptap/extension-typography": "2.2.4", "@tiptap/extension-typography": "2.3.0",
"@tiptap/pm": "2.2.4", "@tiptap/pm": "2.3.0",
"@tiptap/starter-kit": "2.2.4", "@tiptap/starter-kit": "2.3.0",
"@tiptap/vue-3": "2.2.4", "@tiptap/vue-3": "2.3.0",
"@vue/repl": "3.4.0", "@vue/repl": "3.4.0",
"@xterm/xterm": "5.5.0",
"apollo-upload-client": "18.0.1", "apollo-upload-client": "18.0.1",
"browser-fs-access": "0.35.0", "browser-fs-access": "0.35.0",
"clipboard": "2.0.11", "clipboard": "2.0.11",
@ -81,13 +82,13 @@
"prosemirror-commands": "1.5.2", "prosemirror-commands": "1.5.2",
"prosemirror-history": "1.4.0", "prosemirror-history": "1.4.0",
"prosemirror-keymap": "1.2.2", "prosemirror-keymap": "1.2.2",
"prosemirror-model": "1.19.4", "prosemirror-model": "1.20.0",
"prosemirror-schema-list": "1.3.0", "prosemirror-schema-list": "1.3.0",
"prosemirror-state": "1.4.3", "prosemirror-state": "1.4.3",
"prosemirror-transform": "1.8.0", "prosemirror-transform": "1.8.0",
"prosemirror-view": "1.33.3", "prosemirror-view": "1.33.4",
"pug": "3.0.2", "pug": "3.0.2",
"quasar": "2.15.2", "quasar": "2.15.3",
"slugify": "1.6.6", "slugify": "1.6.6",
"socket.io-client": "4.7.5", "socket.io-client": "4.7.5",
"sortablejs": "1.15.2", "sortablejs": "1.15.2",
@ -95,15 +96,14 @@
"tabulator-tables": "6.2.0", "tabulator-tables": "6.2.0",
"tippy.js": "6.3.7", "tippy.js": "6.3.7",
"twemoji": "14.0.2", "twemoji": "14.0.2",
"typescript": "5.4.3", "typescript": "5.4.5",
"uuid": "9.0.1", "uuid": "9.0.1",
"v-network-graph": "0.9.15", "v-network-graph": "0.9.15",
"vue": "3.4.21", "vue": "3.4.23",
"vue-i18n": "9.10.2", "vue-i18n": "9.13.1",
"vue-router": "4.3.0", "vue-router": "4.3.2",
"vue3-otp-input": "0.4.4", "vue3-otp-input": "0.4.4",
"vuedraggable": "4.1.0", "vuedraggable": "4.1.0",
"xterm": "5.3.0",
"zxcvbn": "4.4.2" "zxcvbn": "4.4.2"
}, },
"devDependencies": { "devDependencies": {
@ -112,8 +112,8 @@
"@quasar/app-vite": "2.0.0-beta.5", "@quasar/app-vite": "2.0.0-beta.5",
"@quasar/vite-plugin": "1.6.0", "@quasar/vite-plugin": "1.6.0",
"@types/lodash": "4.17.0", "@types/lodash": "4.17.0",
"@vue/devtools": "7.0.25", "@vue/devtools": "7.0.27",
"@vue/language-plugin-pug": "2.0.7", "@vue/language-plugin-pug": "2.0.13",
"autoprefixer": "10.4.19", "autoprefixer": "10.4.19",
"browserlist": "latest", "browserlist": "latest",
"eslint": "8.57.0", "eslint": "8.57.0",
@ -121,9 +121,9 @@
"eslint-plugin-import": "2.29.1", "eslint-plugin-import": "2.29.1",
"eslint-plugin-n": "16.6.2", "eslint-plugin-n": "16.6.2",
"eslint-plugin-promise": "6.1.1", "eslint-plugin-promise": "6.1.1",
"eslint-plugin-vue": "9.24.0", "eslint-plugin-vue": "9.25.0",
"eslint-plugin-vue-pug": "0.6.2", "eslint-plugin-vue-pug": "0.6.2",
"sass": "1.72.0" "sass": "1.75.0"
}, },
"engines": { "engines": {
"node": ">= 18.0", "node": ">= 18.0",

File diff suppressed because it is too large Load Diff

@ -53,6 +53,7 @@ q-page.admin-mail
color='primary' color='primary'
icon='las la-plus' icon='las la-plus'
:label='t(`admin.auth.addStrategy`)' :label='t(`admin.auth.addStrategy`)'
v-if='flagsStore.experimental'
) )
q-menu(auto-close, fit, max-width='300px') q-menu(auto-close, fit, max-width='300px')
q-list(separator) q-list(separator)
@ -144,7 +145,7 @@ q-page.admin-mail
:aria-label='t(`admin.users.groups`)' :aria-label='t(`admin.users.groups`)'
:loading='state.loadingGroups' :loading='state.loadingGroups'
) )
template(v-slot:selected) template(#selected)
.text-caption(v-if='state.strategy.autoEnrollGroups?.length > 1') .text-caption(v-if='state.strategy.autoEnrollGroups?.length > 1')
i18n-t(keypath='admin.users.groupsSelected') i18n-t(keypath='admin.users.groupsSelected')
template(#count) template(#count)
@ -154,7 +155,7 @@ q-page.admin-mail
template(#group) template(#group)
strong {{ selectedGroupName }} strong {{ selectedGroupName }}
span(v-else) span(v-else)
template(v-slot:option='{ itemProps, opt, selected, toggleOption }') template(#option='{ itemProps, opt, selected, toggleOption }')
q-item( q-item(
v-bind='itemProps' v-bind='itemProps'
) )
@ -315,6 +316,7 @@ import { useMeta, useQuasar } from 'quasar'
import { computed, onMounted, reactive, watch, nextTick } from 'vue' import { computed, onMounted, reactive, watch, nextTick } from 'vue'
import { useAdminStore } from '@/stores/admin' import { useAdminStore } from '@/stores/admin'
import { useFlagsStore } from '@/stores/flags'
import { useSiteStore } from '@/stores/site' import { useSiteStore } from '@/stores/site'
// QUASAR // QUASAR
@ -324,6 +326,7 @@ const $q = useQuasar()
// STORES // STORES
const adminStore = useAdminStore() const adminStore = useAdminStore()
const flagsStore = useFlagsStore()
const siteStore = useSiteStore() const siteStore = useSiteStore()
// I18N // I18N

@ -79,6 +79,7 @@ q-page.admin-flags
unchecked-icon='las la-times' unchecked-icon='las la-times'
:label='t(`admin.blocks.isEnabled`)' :label='t(`admin.blocks.isEnabled`)'
:aria-label='t(`admin.blocks.isEnabled`)' :aria-label='t(`admin.blocks.isEnabled`)'
disable
) )
</template> </template>

@ -85,23 +85,23 @@ q-page.admin-dashboard
:disable='!userStore.can(`manage:users`)' :disable='!userStore.can(`manage:users`)'
to='/_admin/users' to='/_admin/users'
) )
.col-12.col-sm-6.col-lg-3 //- .col-12.col-sm-6.col-lg-3
q-card //- q-card
q-card-section.admin-dashboard-card //- q-card-section.admin-dashboard-card
img(src='/_assets/icons/fluent-tag.svg') //- img(src='/_assets/icons/fluent-tag.svg')
div //- div
strong {{ t('admin.tags.title') }} //- strong {{ t('admin.tags.title') }}
span {{adminStore.info.tagsTotal}} //- span {{adminStore.info.tagsTotal}}
q-separator //- q-separator
q-card-actions(align='right') //- q-card-actions(align='right')
q-btn( //- q-btn(
flat //- flat
color='primary' //- color='primary'
icon='las la-tags' //- icon='las la-tags'
:label='t(`common.actions.manage`)' //- :label='t(`common.actions.manage`)'
:disable='!userStore.can(`manage:sites`)' //- :disable='!userStore.can(`manage:sites`)'
:to='`/_admin/` + adminStore.currentSiteId + `/tags`' //- :to='`/_admin/` + adminStore.currentSiteId + `/tags`'
) //- )
.col-12.col-sm-6.col-lg-3 .col-12.col-sm-6.col-lg-3
q-card q-card
q-card-section.admin-dashboard-card q-card-section.admin-dashboard-card
@ -116,12 +116,12 @@ q-page.admin-dashboard
color='primary' color='primary'
icon='las la-chart-area' icon='las la-chart-area'
:label='t(`admin.analytics.title`)' :label='t(`admin.analytics.title`)'
:disable='!userStore.can(`manage:sites`)' :disable='!userStore.can(`manage:sites`) || flagsStore.experimental'
:to='`/_admin/` + adminStore.currentSiteId + `/analytics`' :to='`/_admin/` + adminStore.currentSiteId + `/analytics`'
) )
.col-12.col-lg-9 //- .col-12.col-lg-9
q-card //- q-card
q-card-section --- //- q-card-section ---
.col-12 .col-12
q-banner.bg-positive.text-white( q-banner.bg-positive.text-white(
@ -152,6 +152,7 @@ import { useI18n } from 'vue-i18n'
import { useRouter } from 'vue-router' import { useRouter } from 'vue-router'
import { useAdminStore } from '../stores/admin' import { useAdminStore } from '../stores/admin'
import { useFlagsStore } from '@/stores/flags'
import { useUserStore } from '@/stores/user' import { useUserStore } from '@/stores/user'
// COMPONENTS // COMPONENTS
@ -168,6 +169,7 @@ const $q = useQuasar()
// STORES // STORES
const adminStore = useAdminStore() const adminStore = useAdminStore()
const flagsStore = useFlagsStore()
const userStore = useUserStore() const userStore = useUserStore()
// ROUTER // ROUTER

@ -55,8 +55,8 @@ import { onBeforeUnmount, onMounted, reactive, ref } from 'vue'
import { useMeta, useQuasar } from 'quasar' import { useMeta, useQuasar } from 'quasar'
import { useI18n } from 'vue-i18n' import { useI18n } from 'vue-i18n'
import { io } from 'socket.io-client' import { io } from 'socket.io-client'
import { Terminal } from 'xterm' import { Terminal } from '@xterm/xterm'
import 'xterm/css/xterm.css' import '@xterm/xterm/css/xterm.css'
import { useSiteStore } from '@/stores/site' import { useSiteStore } from '@/stores/site'

Loading…
Cancel
Save