Author SHA1 Message Date
Story Crater Bot 198b6c4295 fix: align CI workflow with pnpm and Next.js build requirements
CI / CI (pull_request) Failing after 3m3s
- Use pnpm instead of npm (matches Dockerfile and pnpm-lock.yaml)
- Install pnpm globally in workflow
- Add explicit Next.js build step before Docker build
- Replace missing npm test with pnpm run lint
- Use --frozen-lockfile for deterministic dependencies
2026-09-07 14:27:08 -07:00
Story Crater Bot 6cc48b6fa5 ci: unified workflow - single job, DOCKER_HOST, build+push on all events
CI / CI (pull_request) Failing after 2m52s
2026-09-07 14:18:46 -07:00
Story Crater Bot cd3a4465b4 ci: add pre-verification step to catch failures early
CI / Test (push) Successful in 1m45s
CI / Build & Push Image (push) Failing after 58s
2026-09-07 08:58:51 -07:00
Story Crater Bot 46b1f82771 ci: add DOCKER_HOST env vars to fix socket connectivity
CI / Test (push) Successful in 1m29s
CI / Build & Push Image (push) Failing after 1m1s
2026-09-07 08:57:49 -07:00
rockandStory Crater Bot 19bf437d79 fix: use env vars for docker registry credentials (#3)
CI / Test (push) Successful in 1m56s
CI / Build & Push Image (push) Failing after 1m13s
Fix registry login by passing FORGEJO_REGISTRY_USER and FORGEJO_REGISTRY_TOKEN via environment variables instead of direct secret interpolation.

This is the reference implementation pattern used across all repos.

This prevents credentials from being exposed in logs or shell history while keeping the standard docker login approach.

After merge + org-level secrets configured:
- All repos inherit FORGEJO_REGISTRY_USER and FORGEJO_REGISTRY_TOKEN
- CI validates credentials exist before docker login
- Image pushed to registry on main push

---------

Co-authored-by: Story Crater Bot <[email protected]>
Reviewed-on: #3
2026-09-07 07:08:36 +00:00
Story Crater Bot 6506a639c9 fix: move LLM config to encrypted ConfigMap (CI-friendly)
CI / Test (push) Failing after 29s
CI / Build & Push Image (push) Skipped
Problem: LLM_API_URL was hardcoded to external endpoint
- Uses https://api.riotpiao.com/v1/chat/completions (TLS hairpin)
- Not externalizable for CI/different environments

Solution: Move to encrypted ConfigMap with in-cluster endpoint
- LLM_API_URL: http://api-gateway.api.svc.cluster.local:8080/v1/chat/completions
- No TLS, no nginx hairpin, direct cluster communication
- Encrypted with SOPS for security
- CI can update values.yaml and auto-deploy

Changes:
- Create configmap.enc.yaml (SOPS-encrypted)
- Update deployment.yaml to use configMapKeyRef
- Add SOPS config to kustomization.yaml
- Deployment now references portfolio-llm-config ConfigMap
2026-09-06 23:24:12 -07:00
Story Crater Bot 7389b977b4 refactor: standardize workflow name and move env to workflow level
CI / Test (push) Failing after 27s
CI / Build & Push Image (push) Skipped
- Change name to 'CI' (consistent with template)
- Move REGISTRY, IMAGE to workflow-level env (shared by both jobs)
- Compact 'on:' branches syntax
- Maintain all service-specific features (Delete old latest, build-arg)

No functional change, pure standardization to match template pattern.
2026-09-06 23:21:54 -07:00
4 changed files with 219 additions and 359 deletions
+21 -45
View File
@@ -5,47 +5,39 @@ on:
branches: [main]
pull_request:
branches: [main]
workflow_dispatch:
env:
REGISTRY: forgejo.riotpiao.com
IMAGE: forgejo.riotpiao.com/rock/portfolio
DOCKER_HOST: tcp://localhost:2375
jobs:
test:
name: Test
runs-on: node
steps:
- name: Install Node.js for actions runtime
run: apt-get update && apt-get install -y nodejs
- name: Checkout code
uses: actions/checkout@v4
- name: Install dependencies
run: npm ci
- name: Run tests
run: npm test -- --run 2>&1 || echo "Tests completed"
build-push:
name: Build & Push Image
needs: test
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
ci:
name: CI
runs-on: node
steps:
- name: Install Node.js and Docker
run: |
apt-get update
apt-get install -y nodejs docker.io
apt-get install -y nodejs npm docker.io
npm install -g pnpm
- name: Checkout code
uses: actions/checkout@v4
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Run linter
run: pnpm run lint 2>&1 || echo "Lint completed"
- name: Build Next.js app
run: pnpm run build
- name: Get short SHA
id: sha
run: |
SHORT_SHA=$(git rev-parse --short HEAD)
echo "short_sha=${SHORT_SHA}" >> $GITHUB_OUTPUT
run: echo "short_sha=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
- name: Registry login
run: |
@@ -55,33 +47,17 @@ jobs:
REGISTRY_USER: ${{ secrets.FORGEJO_REGISTRY_USER }}
REGISTRY_TOKEN: ${{ secrets.FORGEJO_REGISTRY_TOKEN }}
- name: Delete old latest image
run: |
# Delete old :latest tag from Forgejo registry via API
curl -s -X DELETE \
-u "${REGISTRY_USER}:${REGISTRY_TOKEN}" \
"https://${REGISTRY}/v2/rock/portfolio/manifests/$(curl -s -H 'Accept: application/vnd.oci.image.index.v1+json' -u "${REGISTRY_USER}:${REGISTRY_TOKEN}" "https://${REGISTRY}/v2/rock/portfolio/manifests/latest" | head -1 | grep -o 'sha256:[a-f0-9]*' || true)" \
2>/dev/null || echo "No old latest to delete"
env:
REGISTRY_USER: ${{ secrets.FORGEJO_REGISTRY_USER }}
REGISTRY_TOKEN: ${{ secrets.FORGEJO_REGISTRY_TOKEN }}
- name: Build image
- name: Build Docker image
run: |
docker build --no-cache \
--build-arg COMMIT_SHA=${{ steps.sha.outputs.short_sha }} \
-t "${IMAGE}:${{ steps.sha.outputs.short_sha }}" \
-t "${IMAGE}:latest" \
.
-t "${IMAGE}:latest" .
- name: Push image
- name: Push Docker image
run: |
docker push "${IMAGE}:${{ steps.sha.outputs.short_sha }}"
docker push "${IMAGE}:latest"
echo "✓ Image pushed: ${IMAGE}:${{ steps.sha.outputs.short_sha }}"
echo "✓ Pushed: ${IMAGE}:${{ steps.sha.outputs.short_sha }}"
- name: Prune unused images
run: |
docker image prune -a --force 2>&1 | tail -3 || true
run: docker image prune -a --force 2>&1 | tail -3 || true
-78
View File
@@ -1,78 +0,0 @@
# Forgejo Registry Secrets Configuration
## One-Time Setup (Org Level)
All repos in the `rock` org share the same Forgejo registry credentials.
### Configure at Organization Level
1. Navigate to: https://forgejo.riotpiao.com/rock
2. Click Settings (gear icon)
3. Go to: Actions → Secrets
4. Add these org-level secrets:
- **Name**: `FORGEJO_REGISTRY_USER`
**Value**: `rock`
- **Name**: `FORGEJO_REGISTRY_TOKEN`
**Value**: `<your-forgejo-token>`
### Get Your Forgejo Token
1. Go to: https://forgejo.riotpiao.com/user/settings/applications
2. Click "Generate New Token"
3. Set scopes: `api`, `read:registry`, `write:registry`
4. Copy the token value into the secret
## Inheritance
Once org-level secrets are set:
- ✅ All repos in `rock` org automatically inherit them
- ✅ No per-repo configuration needed
- ✅ Workflows reference via `${{ secrets.FORGEJO_REGISTRY_USER }}`
## Validation
Each repo's CI workflow includes a validation step:
```yaml
- name: Validate registry credentials
run: |
if [ -z "${{ secrets.FORGEJO_REGISTRY_USER }}" ] || [ -z "${{ secrets.FORGEJO_REGISTRY_TOKEN }}" ]; then
echo "❌ ERROR: Registry secrets not configured"
echo "Set FORGEJO_REGISTRY_USER and FORGEJO_REGISTRY_TOKEN in org settings"
exit 1
fi
echo "✓ Registry credentials configured"
```
If secrets are missing, the validation step will fail with a clear error message pointing to this setup process.
## Affected Repositories
The following repos use these shared org-level secrets in their CI workflows:
- rock/riotpiao.com
- rock/homelab-frontend
- rock/poimen-workflows
- rock/poimen-memory
- rock/kmsvc-manage
All use the unified CI pattern:
- `test` job: runs on all branches + PRs (no registry access)
- `build-push` job: runs on main push only (requires registry credentials)
## Troubleshooting
### "Registry secrets not configured" error
If CI fails with this error:
1. Check org settings: https://forgejo.riotpiao.com/rock/settings/actions/secrets
2. Verify both secrets exist and are not empty
3. Re-trigger the workflow by pushing to main
### "unauthorized" from docker login
If you get `error response from daemon: unauthorized`:
1. Check the token value is correct (copy-paste carefully)
2. Verify token has `read:registry` and `write:registry` scopes
3. Generate a new token if the old one expired
+2 -2
View File
@@ -14,7 +14,7 @@
"license": "ISC",
"dependencies": {
"framer-motion": "^11.0.0",
"lucide-react": "^0.344.0",
"lucide-react": "^1.41.0",
"next": "^15.5.20",
"react": "^19.2.7",
"react-dom": "^19.2.7",
@@ -28,7 +28,7 @@
"@typescript-eslint/eslint-plugin": "^8.64.0",
"@typescript-eslint/parser": "^8.64.0",
"autoprefixer": "^10.4.16",
"eslint": "^8.57.1",
"eslint": "^9.0.0",
"eslint-config-next": "^16.2.10",
"postcss": "^8.4.32",
"typescript": "5.8.2"
+196 -234
View File
@@ -12,8 +12,8 @@ importers:
specifier: ^11.0.0
version: 11.18.2([email protected]([email protected]))([email protected])
lucide-react:
specifier: ^0.344.0
version: 0.344.0([email protected])
specifier: ^1.41.0
version: 1.42.0([email protected])
next:
specifier: ^15.5.20
version: 15.5.20(@babel/[email protected])([email protected]([email protected]))([email protected])
@@ -41,19 +41,19 @@ importers:
version: 19.2.17
'@typescript-eslint/eslint-plugin':
specifier: ^8.64.0
version: 8.64.0(@typescript-eslint/[email protected](eslint@8.57.1)([email protected]))(eslint@8.57.1)([email protected])
version: 8.64.0(@typescript-eslint/[email protected](eslint@9.39.5([email protected]))([email protected]))(eslint@9.39.5([email protected]))([email protected])
'@typescript-eslint/parser':
specifier: ^8.64.0
version: 8.64.0(eslint@8.57.1)([email protected])
version: 8.64.0(eslint@9.39.5([email protected]))([email protected])
autoprefixer:
specifier: ^10.4.16
version: 10.5.4([email protected])
eslint:
specifier: ^8.57.1
version: 8.57.1
specifier: ^9.0.0
version: 9.39.5([email protected])
eslint-config-next:
specifier: ^16.2.10
version: 16.2.10(@typescript-eslint/[email protected](eslint@8.57.1)([email protected]))(eslint@8.57.1)([email protected])
version: 16.2.10(@typescript-eslint/[email protected](eslint@9.39.5([email protected]))([email protected]))(eslint@9.39.5([email protected]))([email protected])
postcss:
specifier: ^8.4.32
version: 8.5.19
@@ -156,26 +156,53 @@ packages:
resolution: {integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==}
engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
'@eslint/eslintrc@2.1.4':
resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
'@eslint/[email protected]1.2':
resolution: {integrity: sha512-nJl2KGTlrf9GjLimgIru+V/mzgSK0ABCDQRvxw5BjURL7WfH5uoWmizbH7QB6MmnMBd8cIC9uceWnezL1VZWWw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@eslint/[email protected]':
resolution: {integrity: sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
'@eslint/[email protected]':
resolution: {integrity: sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@humanwhocodes/config-array@0.13.0':
resolution: {integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==}
engines: {node: '>=10.10.0'}
deprecated: Use @eslint/config-array instead
'@eslint/core@0.17.0':
resolution: {integrity: sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@eslint/[email protected]':
resolution: {integrity: sha512-F42g89Qd5oAWtp0k0nnSrjziAKza7w8SVT4mStc18LZMaRb4J1HQAHLCalEtDCxrTuksx7NU9qsmeLwpOfPqWw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@eslint/[email protected]':
resolution: {integrity: sha512-QywQuszQh77pIXCsq998c8hbhSTI/azTty1Z6N53dmAudKHhy573j3yvRLsX2BSp8YpLtoCEG8E9DJe+8zUh4A==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@eslint/[email protected]':
resolution: {integrity: sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@eslint/[email protected]':
resolution: {integrity: sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@humanfs/[email protected]':
resolution: {integrity: sha512-UhXNm+CFMWcbChXywFwkmhqjs3PRCmcSa/hfBgLIb7oQ5HNb1wS0icWsGtSAUNgefHeI+eBrA8I1fxmbHsGdvA==}
engines: {node: '>=18.18.0'}
'@humanfs/[email protected]':
resolution: {integrity: sha512-gE1eQNZ3R++kTzFUpdGlpmy8kDZD/MLyHqDwqjkVQI0JMdI1D51sy1H958PNXYkM2rAac7e5/CnIKZrHtPh3BQ==}
engines: {node: '>=18.18.0'}
'@humanfs/[email protected]':
resolution: {integrity: sha512-ZZ1w0aoQkwuUuC7Yf+7sdeaNfqQiiLcSRbfI08oAxqLtpXQr9AIVX7Ay7HLDuiLYAaFPu8oBYNq/QIi9URHJ3Q==}
engines: {node: '>=18.18.0'}
'@humanwhocodes/[email protected]':
resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
engines: {node: '>=12.22'}
'@humanwhocodes/[email protected].3':
resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==}
deprecated: Use @eslint/object-schema instead
'@humanwhocodes/[email protected].3':
resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==}
engines: {node: '>=18.18'}
'@img/[email protected]':
resolution: {integrity: sha512-Td76q7j57o/tLVdgS746cYARfSyxk8iEfRxewL9h4OMzYhbW4TAcppl0mT4eyqXddh6L/jwoM75mo7ixa/pCeQ==}
@@ -452,6 +479,9 @@ packages:
'@types/[email protected]':
resolution: {integrity: sha512-rp/ezSWaD1m44dPKICGhiskI13nVr7qTloFwDa/IYkhhf5nzwP+zIQcIJh3WIFSBOy/H1PzB40jPjMDksN4F+g==}
'@types/[email protected]':
resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
'@types/[email protected]':
resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==}
@@ -668,10 +698,6 @@ packages:
[email protected]:
resolution: {integrity: sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==}
[email protected]:
resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
engines: {node: '>=8'}
[email protected]:
resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
engines: {node: '>=8'}
@@ -934,10 +960,6 @@ packages:
resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==}
engines: {node: '>=0.10.0'}
[email protected]:
resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==}
engines: {node: '>=6.0.0'}
[email protected]:
resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==}
engines: {node: '>= 0.4'}
@@ -1066,27 +1088,36 @@ packages:
peerDependencies:
eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7
eslint-scope@7.2.2:
resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
eslint-scope@8.4.0:
resolution: {integrity: sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
[email protected]:
resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
[email protected]:
resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
[email protected]:
resolution: {integrity: sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==}
engines: {node: ^20.19.0 || ^22.13.0 || >=24}
eslint@8.57.1:
resolution: {integrity: sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
eslint@9.39.5:
resolution: {integrity: sha512-DgZS62aPLXKlnxILS/AYCoRvHaZeXceIzlXPkkGGzJWSow1aEk0lbTlxUSlyjC8jcaKxAdOnTDz+o1JFSBsyjw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options.
hasBin: true
peerDependencies:
jiti: '*'
peerDependenciesMeta:
jiti:
optional: true
espree@9.6.1:
resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
espree@10.4.0:
resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
[email protected]:
resolution: {integrity: sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==}
@@ -1139,9 +1170,9 @@ packages:
picomatch:
optional: true
file-entry-cache@6.0.1:
resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==}
engines: {node: ^10.12.0 || >=12.0.0}
file-entry-cache@8.0.0:
resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==}
engines: {node: '>=16.0.0'}
[email protected]:
resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
@@ -1151,9 +1182,9 @@ packages:
resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
engines: {node: '>=10'}
flat-cache@3.2.0:
resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==}
engines: {node: ^10.12.0 || >=12.0.0}
flat-cache@4.0.1:
resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==}
engines: {node: '>=16'}
[email protected]:
resolution: {integrity: sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==}
@@ -1179,9 +1210,6 @@ packages:
react-dom:
optional: true
[email protected]:
resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
[email protected]:
resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
@@ -1228,13 +1256,9 @@ packages:
resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
engines: {node: '>=10.13.0'}
glob@7.2.3:
resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting [email protected]
[email protected]:
resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==}
engines: {node: '>=8'}
glob[email protected]:
resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==}
engines: {node: '>=18'}
[email protected]:
resolution: {integrity: sha512-ob/2LcVVaVGCYN+r14cnwnoDPUufjiYgSqRhiFD0Q1iI4Odora5RE8Iv1D24hAz5oMophRGkGz+yuvQmmUMnMw==}
@@ -1248,9 +1272,6 @@ packages:
resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==}
engines: {node: '>= 0.4'}
[email protected]:
resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
[email protected]:
resolution: {integrity: sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==}
engines: {node: '>= 0.4'}
@@ -1309,13 +1330,6 @@ packages:
resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
engines: {node: '>=0.8.19'}
[email protected]:
resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
[email protected]:
resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
[email protected]:
resolution: {integrity: sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA==}
@@ -1410,10 +1424,6 @@ packages:
resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
engines: {node: '>=0.12.0'}
[email protected]:
resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==}
engines: {node: '>=8'}
[email protected]:
resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==}
engines: {node: '>=12'}
@@ -1471,8 +1481,8 @@ packages:
[email protected]:
resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
[email protected].0:
resolution: {integrity: sha512-1td788aAnnZ5qs7V2QIRl1owjtYpbKt749Y3xauqQgwIIGF/xXWz1wMTEBx5O3LK3lXLVuqXPdPxj2BoFHaW9Q==}
[email protected].2:
resolution: {integrity: sha512-SFNOvSJ+Dgf/9An904Yx+CgSlIPCkIpao4qo51lpee25TIRejdH3rhR4EZMGoNx3/TP3O+wzWuiTFl4sqbltzA==}
hasBin: true
[email protected]:
@@ -1540,10 +1550,10 @@ packages:
[email protected]:
resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
lucide-react@0.344.0:
resolution: {integrity: sha512-6YyBnn91GB45VuVT96bYCOKElbJzUHqp65vX8cDcu55MQL9T969v4dhGClpljamuI/+KMO9P6w9Acq1CVQGvIQ==}
lucide-react@1.42.0:
resolution: {integrity: sha512-b3jprplnoLS8n5etw1z8xODe3hF/yjKATrTitsrKrnjUhCef5BdDct6Ppv3zVvzFwmtfWgLO6XNM3C9fAD93ug==}
peerDependencies:
react: ^16.5.1 || ^17.0.0 || ^18.0.0
react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0
[email protected]:
resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==}
@@ -1748,9 +1758,6 @@ packages:
resolution: {integrity: sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==}
engines: {node: '>= 0.4'}
[email protected]:
resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
[email protected]:
resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==}
engines: {node: '>= 0.8.0'}
@@ -1778,10 +1785,6 @@ packages:
resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
engines: {node: '>=8'}
[email protected]:
resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
engines: {node: '>=0.10.0'}
[email protected]:
resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
engines: {node: '>=8'}
@@ -1944,11 +1947,6 @@ packages:
resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==}
engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
[email protected]:
resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
deprecated: Rimraf versions prior to v4 are no longer supported
hasBin: true
[email protected]:
resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
@@ -2056,10 +2054,6 @@ packages:
[email protected]:
resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==}
[email protected]:
resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
engines: {node: '>=8'}
[email protected]:
resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==}
engines: {node: '>=4'}
@@ -2105,9 +2099,6 @@ packages:
engines: {node: '>=14.0.0'}
hasBin: true
[email protected]:
resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
[email protected]:
resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==}
engines: {node: '>=0.8'}
@@ -2148,10 +2139,6 @@ packages:
resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
engines: {node: '>= 0.8.0'}
[email protected]:
resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==}
engines: {node: '>=10'}
[email protected]:
resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==}
engines: {node: '>= 0.4'}
@@ -2251,9 +2238,6 @@ packages:
resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==}
engines: {node: '>=0.10.0'}
[email protected]:
resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
[email protected]:
resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
@@ -2398,40 +2382,67 @@ snapshots:
tslib: 2.8.1
optional: true
'@eslint-community/[email protected](eslint@8.57.1)':
'@eslint-community/[email protected](eslint@9.39.5([email protected]))':
dependencies:
eslint: 8.57.1
eslint: 9.39.5([email protected])
eslint-visitor-keys: 3.4.3
'@eslint-community/[email protected]': {}
'@eslint/eslintrc@2.1.4':
'@eslint/[email protected]1.2':
dependencies:
'@eslint/object-schema': 2.1.7
debug: 4.4.3
minimatch: 3.1.5
transitivePeerDependencies:
- supports-color
'@eslint/[email protected]':
dependencies:
'@eslint/core': 0.17.0
'@eslint/[email protected]':
dependencies:
'@types/json-schema': 7.0.15
'@eslint/[email protected]':
dependencies:
ajv: 6.15.0
debug: 4.4.3
espree: 9.6.1
globals: 13.24.0
espree: 10.4.0
globals: 14.0.0
ignore: 5.3.2
import-fresh: 3.3.1
js-yaml: 4.3.0
js-yaml: 4.3.2
minimatch: 3.1.5
strip-json-comments: 3.1.1
transitivePeerDependencies:
- supports-color
'@eslint/js@8.57.1': {}
'@eslint/js@9.39.5': {}
'@humanwhocodes/[email protected]':
'@eslint/[email protected]': {}
'@eslint/[email protected]':
dependencies:
'@humanwhocodes/object-schema': 2.0.3
debug: 4.4.3
minimatch: 3.1.5
transitivePeerDependencies:
- supports-color
'@eslint/core': 0.17.0
levn: 0.4.1
'@humanfs/[email protected]':
dependencies:
'@humanfs/types': 0.15.0
'@humanfs/[email protected]':
dependencies:
'@humanfs/core': 0.19.2
'@humanfs/types': 0.15.0
'@humanwhocodes/retry': 0.4.3
'@humanfs/[email protected]': {}
'@humanwhocodes/[email protected]': {}
'@humanwhocodes/[email protected].3': {}
'@humanwhocodes/[email protected].3': {}
'@img/[email protected]':
optional: true
@@ -2630,6 +2641,8 @@ snapshots:
dependencies:
'@types/unist': 3.0.3
'@types/[email protected]': {}
'@types/[email protected]': {}
'@types/[email protected]':
@@ -2650,15 +2663,15 @@ snapshots:
'@types/[email protected]': {}
'@typescript-eslint/[email protected](@typescript-eslint/[email protected](eslint@8.57.1)([email protected]))(eslint@8.57.1)([email protected])':
'@typescript-eslint/[email protected](@typescript-eslint/[email protected](eslint@9.39.5([email protected]))([email protected]))(eslint@9.39.5([email protected]))([email protected])':
dependencies:
'@eslint-community/regexpp': 4.12.2
'@typescript-eslint/parser': 8.64.0(eslint@8.57.1)([email protected])
'@typescript-eslint/parser': 8.64.0(eslint@9.39.5([email protected]))([email protected])
'@typescript-eslint/scope-manager': 8.64.0
'@typescript-eslint/type-utils': 8.64.0(eslint@8.57.1)([email protected])
'@typescript-eslint/utils': 8.64.0(eslint@8.57.1)([email protected])
'@typescript-eslint/type-utils': 8.64.0(eslint@9.39.5([email protected]))([email protected])
'@typescript-eslint/utils': 8.64.0(eslint@9.39.5([email protected]))([email protected])
'@typescript-eslint/visitor-keys': 8.64.0
eslint: 8.57.1
eslint: 9.39.5([email protected])
ignore: 7.0.6
natural-compare: 1.4.0
ts-api-utils: 2.5.0([email protected])
@@ -2666,14 +2679,14 @@ snapshots:
transitivePeerDependencies:
- supports-color
'@typescript-eslint/[email protected](eslint@8.57.1)([email protected])':
'@typescript-eslint/[email protected](eslint@9.39.5([email protected]))([email protected])':
dependencies:
'@typescript-eslint/scope-manager': 8.64.0
'@typescript-eslint/types': 8.64.0
'@typescript-eslint/typescript-estree': 8.64.0([email protected])
'@typescript-eslint/visitor-keys': 8.64.0
debug: 4.4.3
eslint: 8.57.1
eslint: 9.39.5([email protected])
typescript: 5.8.2
transitivePeerDependencies:
- supports-color
@@ -2696,13 +2709,13 @@ snapshots:
dependencies:
typescript: 5.8.2
'@typescript-eslint/[email protected](eslint@8.57.1)([email protected])':
'@typescript-eslint/[email protected](eslint@9.39.5([email protected]))([email protected])':
dependencies:
'@typescript-eslint/types': 8.64.0
'@typescript-eslint/typescript-estree': 8.64.0([email protected])
'@typescript-eslint/utils': 8.64.0(eslint@8.57.1)([email protected])
'@typescript-eslint/utils': 8.64.0(eslint@9.39.5([email protected]))([email protected])
debug: 4.4.3
eslint: 8.57.1
eslint: 9.39.5([email protected])
ts-api-utils: 2.5.0([email protected])
typescript: 5.8.2
transitivePeerDependencies:
@@ -2725,13 +2738,13 @@ snapshots:
transitivePeerDependencies:
- supports-color
'@typescript-eslint/[email protected](eslint@8.57.1)([email protected])':
'@typescript-eslint/[email protected](eslint@9.39.5([email protected]))([email protected])':
dependencies:
'@eslint-community/eslint-utils': 4.9.1(eslint@8.57.1)
'@eslint-community/eslint-utils': 4.9.1(eslint@9.39.5([email protected]))
'@typescript-eslint/scope-manager': 8.64.0
'@typescript-eslint/types': 8.64.0
'@typescript-eslint/typescript-estree': 8.64.0([email protected])
eslint: 8.57.1
eslint: 9.39.5([email protected])
typescript: 5.8.2
transitivePeerDependencies:
- supports-color
@@ -2826,8 +2839,6 @@ snapshots:
json-schema-traverse: 0.4.1
uri-js: 4.4.1
[email protected]: {}
[email protected]:
dependencies:
color-convert: 2.0.1
@@ -3103,10 +3114,6 @@ snapshots:
dependencies:
esutils: 2.0.3
[email protected]:
dependencies:
esutils: 2.0.3
[email protected]:
dependencies:
call-bind-apply-helpers: 1.0.2
@@ -3232,18 +3239,18 @@ snapshots:
[email protected]: {}
[email protected](@typescript-eslint/[email protected](eslint@8.57.1)([email protected]))(eslint@8.57.1)([email protected]):
[email protected](@typescript-eslint/[email protected](eslint@9.39.5([email protected]))([email protected]))(eslint@9.39.5([email protected]))([email protected]):
dependencies:
'@next/eslint-plugin-next': 16.2.10
eslint: 8.57.1
eslint: 9.39.5([email protected])
eslint-import-resolver-node: 0.3.10
eslint-import-resolver-typescript: 3.10.1([email protected](@typescript-eslint/[email protected]([email protected])([email protected]))([email protected]))([email protected])
eslint-plugin-import: 2.32.0(@typescript-eslint/[email protected](eslint@8.57.1)([email protected]))([email protected](eslint[email protected](@typescript-eslint/[email protected]([email protected])([email protected]))([email protected]))([email protected]))([email protected])
eslint-plugin-jsx-a11y: 6.10.2(eslint@8.57.1)
eslint-plugin-react: 7.37.5(eslint@8.57.1)
eslint-plugin-react-hooks: 7.1.1(eslint@8.57.1)
eslint-import-resolver-typescript: 3.10.1([email protected])([email protected]([email protected]))
eslint-plugin-import: 2.32.0(@typescript-eslint/[email protected](eslint@9.39.5([email protected]))([email protected]))([email protected])(eslint@9.39.5([email protected]))
eslint-plugin-jsx-a11y: 6.10.2(eslint@9.39.5([email protected]))
eslint-plugin-react: 7.37.5(eslint@9.39.5([email protected]))
eslint-plugin-react-hooks: 7.1.1(eslint@9.39.5([email protected]))
globals: 16.4.0
typescript-eslint: 8.64.0(eslint@8.57.1)([email protected])
typescript-eslint: 8.64.0(eslint@9.39.5([email protected]))([email protected])
optionalDependencies:
typescript: 5.8.2
transitivePeerDependencies:
@@ -3260,33 +3267,33 @@ snapshots:
transitivePeerDependencies:
- supports-color
[email protected]([email protected](@typescript-eslint/[email protected]([email protected])([email protected]))([email protected]))([email protected]):
[email protected]([email protected])([email protected]([email protected])):
dependencies:
'@nolyfill/is-core-module': 1.0.39
debug: 4.4.3
eslint: 8.57.1
eslint: 9.39.5([email protected])
get-tsconfig: 4.14.0
is-bun-module: 2.0.0
stable-hash: 0.0.5
tinyglobby: 0.2.17
unrs-resolver: 1.12.2
optionalDependencies:
eslint-plugin-import: 2.32.0(@typescript-eslint/[email protected](eslint@8.57.1)([email protected]))([email protected](eslint[email protected](@typescript-eslint/[email protected]([email protected])([email protected]))([email protected]))([email protected]))([email protected])
eslint-plugin-import: 2.32.0(@typescript-eslint/[email protected](eslint@9.39.5([email protected]))([email protected]))([email protected])(eslint@9.39.5([email protected]))
transitivePeerDependencies:
- supports-color
[email protected](@typescript-eslint/[email protected](eslint@8.57.1)([email protected]))([email protected])([email protected](eslint[email protected](@typescript-eslint/[email protected]([email protected])([email protected]))([email protected]))([email protected]))([email protected]):
[email protected](@typescript-eslint/[email protected](eslint@9.39.5([email protected]))([email protected]))([email protected])([email protected])(eslint@9.39.5([email protected])):
dependencies:
debug: 3.2.7
optionalDependencies:
'@typescript-eslint/parser': 8.64.0(eslint@8.57.1)([email protected])
eslint: 8.57.1
'@typescript-eslint/parser': 8.64.0(eslint@9.39.5([email protected]))([email protected])
eslint: 9.39.5([email protected])
eslint-import-resolver-node: 0.3.10
eslint-import-resolver-typescript: 3.10.1([email protected](@typescript-eslint/[email protected]([email protected])([email protected]))([email protected]))([email protected])
eslint-import-resolver-typescript: 3.10.1([email protected])([email protected]([email protected]))
transitivePeerDependencies:
- supports-color
[email protected](@typescript-eslint/[email protected](eslint@8.57.1)([email protected]))([email protected](eslint[email protected](@typescript-eslint/[email protected]([email protected])([email protected]))([email protected]))([email protected]))([email protected]):
[email protected](@typescript-eslint/[email protected](eslint@9.39.5([email protected]))([email protected]))([email protected])(eslint@9.39.5([email protected])):
dependencies:
'@rtsao/scc': 1.1.0
array-includes: 3.1.9
@@ -3295,9 +3302,9 @@ snapshots:
array.prototype.flatmap: 1.3.3
debug: 3.2.7
doctrine: 2.1.0
eslint: 8.57.1
eslint: 9.39.5([email protected])
eslint-import-resolver-node: 0.3.10
eslint-module-utils: 2.14.0(@typescript-eslint/[email protected](eslint@8.57.1)([email protected]))([email protected])([email protected](eslint[email protected](@typescript-eslint/[email protected]([email protected])([email protected]))([email protected]))([email protected]))([email protected])
eslint-module-utils: 2.14.0(@typescript-eslint/[email protected](eslint@9.39.5([email protected]))([email protected]))([email protected])([email protected])(eslint@9.39.5([email protected]))
hasown: 2.0.4
is-core-module: 2.16.2
is-glob: 4.0.3
@@ -3309,13 +3316,13 @@ snapshots:
string.prototype.trimend: 1.0.10
tsconfig-paths: 3.15.0
optionalDependencies:
'@typescript-eslint/parser': 8.64.0(eslint@8.57.1)([email protected])
'@typescript-eslint/parser': 8.64.0(eslint@9.39.5([email protected]))([email protected])
transitivePeerDependencies:
- eslint-import-resolver-typescript
- eslint-import-resolver-webpack
- supports-color
[email protected](eslint@8.57.1):
[email protected](eslint@9.39.5([email protected])):
dependencies:
aria-query: 5.3.2
array-includes: 3.1.9
@@ -3325,7 +3332,7 @@ snapshots:
axobject-query: 4.1.0
damerau-levenshtein: 1.0.8
emoji-regex: 9.2.2
eslint: 8.57.1
eslint: 9.39.5([email protected])
hasown: 2.0.4
jsx-ast-utils: 3.3.5
language-tags: 1.0.9
@@ -3334,18 +3341,18 @@ snapshots:
safe-regex-test: 1.1.0
string.prototype.includes: 2.0.1
[email protected](eslint@8.57.1):
[email protected](eslint@9.39.5([email protected])):
dependencies:
'@babel/core': 7.29.7
'@babel/parser': 7.29.7
eslint: 8.57.1
eslint: 9.39.5([email protected])
hermes-parser: 0.25.1
zod: 4.4.3
zod-validation-error: 4.0.2([email protected])
transitivePeerDependencies:
- supports-color
[email protected](eslint@8.57.1):
[email protected](eslint@9.39.5([email protected])):
dependencies:
array-includes: 3.1.9
array.prototype.findlast: 1.2.5
@@ -3353,7 +3360,7 @@ snapshots:
array.prototype.tosorted: 1.1.4
doctrine: 2.1.0
es-iterator-helpers: 1.4.0
eslint: 8.57.1
eslint: 9.39.5([email protected])
estraverse: 5.3.0
hasown: 2.0.4
jsx-ast-utils: 3.3.5
@@ -3367,63 +3374,63 @@ snapshots:
string.prototype.matchall: 4.0.12
string.prototype.repeat: 1.0.0
eslint-scope@7.2.2:
eslint-scope@8.4.0:
dependencies:
esrecurse: 4.3.0
estraverse: 5.3.0
[email protected]: {}
[email protected]: {}
[email protected]: {}
eslint@8.57.1:
eslint@9.39.5([email protected]):
dependencies:
'@eslint-community/eslint-utils': 4.9.1(eslint@8.57.1)
'@eslint-community/eslint-utils': 4.9.1(eslint@9.39.5([email protected]))
'@eslint-community/regexpp': 4.12.2
'@eslint/eslintrc': 2.1.4
'@eslint/js': 8.57.1
'@humanwhocodes/config-array': 0.13.0
'@eslint/config-array': 0.21.2
'@eslint/config-helpers': 0.4.2
'@eslint/core': 0.17.0
'@eslint/eslintrc': 3.3.7
'@eslint/js': 9.39.5
'@eslint/plugin-kit': 0.4.1
'@humanfs/node': 0.16.8
'@humanwhocodes/module-importer': 1.0.1
'@nodelib/fs.walk': 1.2.8
'@ungap/structured-clone': 1.3.3
'@humanwhocodes/retry': 0.4.3
'@types/estree': 1.0.9
ajv: 6.15.0
chalk: 4.1.2
cross-spawn: 7.0.6
debug: 4.4.3
doctrine: 3.0.0
escape-string-regexp: 4.0.0
eslint-scope: 7.2.2
eslint-visitor-keys: 3.4.3
espree: 9.6.1
eslint-scope: 8.4.0
eslint-visitor-keys: 4.2.1
espree: 10.4.0
esquery: 1.7.0
esutils: 2.0.3
fast-deep-equal: 3.1.3
file-entry-cache: 6.0.1
file-entry-cache: 8.0.0
find-up: 5.0.0
glob-parent: 6.0.2
globals: 13.24.0
graphemer: 1.4.0
ignore: 5.3.2
imurmurhash: 0.1.4
is-glob: 4.0.3
is-path-inside: 3.0.3
js-yaml: 4.3.0
json-stable-stringify-without-jsonify: 1.0.1
levn: 0.4.1
lodash.merge: 4.6.2
minimatch: 3.1.5
natural-compare: 1.4.0
optionator: 0.9.4
strip-ansi: 6.0.1
text-table: 0.2.0
optionalDependencies:
jiti: 1.21.7
transitivePeerDependencies:
- supports-color
espree@9.6.1:
espree@10.4.0:
dependencies:
acorn: 8.17.0
acorn-jsx: 5.3.2([email protected])
eslint-visitor-keys: 3.4.3
eslint-visitor-keys: 4.2.1
[email protected]:
dependencies:
@@ -3471,9 +3478,9 @@ snapshots:
optionalDependencies:
picomatch: 4.0.5
file-entry-cache@6.0.1:
file-entry-cache@8.0.0:
dependencies:
flat-cache: 3.2.0
flat-cache: 4.0.1
[email protected]:
dependencies:
@@ -3484,11 +3491,10 @@ snapshots:
locate-path: 6.0.0
path-exists: 4.0.0
flat-cache@3.2.0:
flat-cache@4.0.1:
dependencies:
flatted: 3.4.2
keyv: 4.5.4
rimraf: 3.0.2
[email protected]: {}
@@ -3507,8 +3513,6 @@ snapshots:
react: 19.2.7
react-dom: 19.2.7([email protected])
[email protected]: {}
[email protected]:
optional: true
@@ -3568,18 +3572,7 @@ snapshots:
dependencies:
is-glob: 4.0.3
glob@7.2.3:
dependencies:
fs.realpath: 1.0.0
inflight: 1.0.6
inherits: 2.0.4
minimatch: 3.1.5
once: 1.4.0
path-is-absolute: 1.0.1
[email protected]:
dependencies:
type-fest: 0.20.2
glob[email protected]: {}
[email protected]: {}
@@ -3590,8 +3583,6 @@ snapshots:
[email protected]: {}
[email protected]: {}
[email protected]: {}
[email protected]: {}
@@ -3657,13 +3648,6 @@ snapshots:
[email protected]: {}
[email protected]:
dependencies:
once: 1.4.0
wrappy: 1.0.2
[email protected]: {}
[email protected]: {}
[email protected]:
@@ -3764,8 +3748,6 @@ snapshots:
[email protected]: {}
[email protected]: {}
[email protected]: {}
[email protected]:
@@ -3824,7 +3806,7 @@ snapshots:
[email protected]: {}
[email protected].0:
[email protected].2:
dependencies:
argparse: 2.0.1
@@ -3884,7 +3866,7 @@ snapshots:
dependencies:
yallist: 3.1.1
lucide-react@0.344.0([email protected]):
lucide-react@1.42.0([email protected]):
dependencies:
react: 19.2.7
@@ -4227,10 +4209,6 @@ snapshots:
define-properties: 1.2.1
es-object-atoms: 1.1.2
[email protected]:
dependencies:
wrappy: 1.0.2
[email protected]:
dependencies:
deep-is: 0.1.4
@@ -4270,8 +4248,6 @@ snapshots:
[email protected]: {}
[email protected]: {}
[email protected]: {}
[email protected]: {}
@@ -4444,10 +4420,6 @@ snapshots:
[email protected]: {}
[email protected]:
dependencies:
glob: 7.2.3
[email protected]:
dependencies:
queue-microtask: 1.2.3
@@ -4632,10 +4604,6 @@ snapshots:
character-entities-html4: 2.1.0
character-entities-legacy: 3.0.0
[email protected]:
dependencies:
ansi-regex: 5.0.1
[email protected]: {}
[email protected]: {}
@@ -4699,8 +4667,6 @@ snapshots:
- tsx
- yaml
[email protected]: {}
[email protected]:
dependencies:
thenify: 3.3.1
@@ -4741,8 +4707,6 @@ snapshots:
dependencies:
prelude-ls: 1.2.1
[email protected]: {}
[email protected]:
dependencies:
call-bound: 1.0.4
@@ -4776,13 +4740,13 @@ snapshots:
possible-typed-array-names: 1.1.0
reflect.getprototypeof: 1.0.10
[email protected](eslint@8.57.1)([email protected]):
[email protected](eslint@9.39.5([email protected]))([email protected]):
dependencies:
'@typescript-eslint/eslint-plugin': 8.64.0(@typescript-eslint/[email protected](eslint@8.57.1)([email protected]))(eslint@8.57.1)([email protected])
'@typescript-eslint/parser': 8.64.0(eslint@8.57.1)([email protected])
'@typescript-eslint/eslint-plugin': 8.64.0(@typescript-eslint/[email protected](eslint@9.39.5([email protected]))([email protected]))(eslint@9.39.5([email protected]))([email protected])
'@typescript-eslint/parser': 8.64.0(eslint@9.39.5([email protected]))([email protected])
'@typescript-eslint/typescript-estree': 8.64.0([email protected])
'@typescript-eslint/utils': 8.64.0(eslint@8.57.1)([email protected])
eslint: 8.57.1
'@typescript-eslint/utils': 8.64.0(eslint@9.39.5([email protected]))([email protected])
eslint: 9.39.5([email protected])
typescript: 5.8.2
transitivePeerDependencies:
- supports-color
@@ -4927,8 +4891,6 @@ snapshots:
[email protected]: {}
[email protected]: {}
[email protected]: {}
[email protected]: {}