Compare commits

19 Commits

Author SHA1 Message Date
cedric b025ed2256 deploy: use node for healthcheck
Déploiement API BETA / Tests extensions (push) Successful in 11m8s
Déploiement API BETA / Build et déploiement beta (push) Successful in 47s
2026-05-15 22:15:35 +04:00
cedric 2fbe1a1e4d deploy: use docker healthcheck
Déploiement API BETA / Tests extensions (push) Successful in 11m7s
Déploiement API BETA / Build et déploiement beta (push) Failing after 3m6s
2026-05-15 21:59:01 +04:00
cedric 8f6a0bb85a deploy: use sudo tp change ownership
Déploiement API BETA / Tests extensions (push) Successful in 11m5s
Déploiement API BETA / Build et déploiement beta (push) Successful in 50s
2026-05-15 19:21:20 +04:00
cedric f3b01adc5f deploy: change file permission
Déploiement API BETA / Tests extensions (push) Successful in 11m4s
Déploiement API BETA / Build et déploiement beta (push) Failing after 36s
2026-05-15 18:53:52 +04:00
cedric 35aa06b33b fix: change directus port 2026-05-15 18:53:35 +04:00
cedric a5bb2cb35c deploy: add logs for debug
Déploiement API BETA / Tests extensions (push) Successful in 11m5s
Déploiement API BETA / Build et déploiement beta (push) Failing after 1m59s
2026-05-15 18:33:54 +04:00
cedric 409c32a207 deploy: check directus network
Déploiement API BETA / Tests extensions (push) Successful in 11m8s
Déploiement API BETA / Build et déploiement beta (push) Failing after 1m36s
2026-05-15 18:13:55 +04:00
cedric 6878f1a291 deploy: change health check
Déploiement API BETA / Tests extensions (push) Successful in 11m5s
Déploiement API BETA / Build et déploiement beta (push) Failing after 36s
2026-05-15 18:00:22 +04:00
cedric 9f364bf677 deploy: fix directus port
Déploiement API BETA / Tests extensions (push) Successful in 11m7s
Déploiement API BETA / Build et déploiement beta (push) Failing after 1m35s
2026-05-15 17:38:23 +04:00
cedric 6600a22475 deploy: fix directus access
Déploiement API BETA / Tests extensions (push) Successful in 11m7s
Déploiement API BETA / Build et déploiement beta (push) Failing after 1m30s
2026-05-15 17:00:23 +04:00
cedric 23e20a0015 deploy: change permission
Déploiement API BETA / Tests extensions (push) Successful in 11m7s
Déploiement API BETA / Build et déploiement beta (push) Failing after 43s
2026-05-15 16:43:54 +04:00
cedric 10f3062779 deploy: use sudo to use git
Déploiement API BETA / Tests extensions (push) Successful in 11m5s
Déploiement API BETA / Build et déploiement beta (push) Failing after 35s
2026-05-15 15:45:07 +04:00
cedric f978cad3f6 deploy: sync branche
Déploiement API BETA / Tests extensions (push) Successful in 11m6s
Déploiement API BETA / Build et déploiement beta (push) Failing after 35s
2026-05-15 14:40:34 +04:00
cedric b88f7deb43 deploy: simplify deployment
Déploiement API BETA / Tests extensions (push) Successful in 11m5s
Déploiement API BETA / Build et déploiement beta (push) Failing after 35s
2026-05-15 14:26:56 +04:00
cedric e6ead4e700 chore: remove dist from .gitignore 2026-05-15 14:26:40 +04:00
cedric ba7beabb36 deploy: merge build & deploy steps
Déploiement API BETA / Tests extensions (push) Successful in 11m6s
Déploiement API BETA / Build et déploiement beta (push) Failing after 32s
2026-05-15 14:10:19 +04:00
cedric 54672ecac3 deploy: replce ci by install in test
Déploiement API BETA / Tests extensions (push) Successful in 11m7s
Déploiement API BETA / Build extensions (push) Failing after 45s
Déploiement API BETA / Déploiement beta (push) Has been skipped
2026-05-15 13:56:41 +04:00
cedric c95a2318cb deploy: replace npm ci by npm install
Déploiement API BETA / Tests extensions (push) Failing after 4m55s
Déploiement API BETA / Build extensions (push) Has been skipped
Déploiement API BETA / Déploiement beta (push) Has been skipped
2026-05-15 13:50:39 +04:00
cedric 8719294c1e chore: régénérer les lock files des extensions 2026-05-15 13:50:00 +04:00
8 changed files with 40 additions and 399 deletions
+31 -48
View File
@@ -18,13 +18,13 @@ jobs:
cache: 'npm'
- name: Installer les dépendances
run: npm ci
run: npm install
- name: Lancer les tests
run: npm test
build:
name: Build extensions
build-and-deploy:
name: Build et déploiement beta
needs: test
runs-on: ubuntu-latest
steps:
@@ -36,52 +36,22 @@ jobs:
- name: Build directus-extension-disallow-votes
working-directory: extensions/directus-extension-disallow-votes
run: npm ci && npm run build
run: npm install && npm run build
- name: Build directus-extension-new-user
working-directory: extensions/directus-extension-new-user
run: npm ci && npm run build
run: npm install && npm run build
- name: Uploader les artefacts de build
uses: actions/upload-artifact@v4
with:
name: extensions-dist
path: |
extensions/directus-extension-disallow-votes/dist
extensions/directus-extension-new-user/dist
retention-days: 1
deploy:
name: Déploiement beta
needs: build
runs-on: ubuntu-latest
steps:
- name: Télécharger les artefacts de build
uses: actions/download-artifact@v4
with:
name: extensions-dist
path: dist-artifacts
- name: Configurer la clé SSH
- name: Committer et pousser les dist
run: |
mkdir -p ~/.ssh
echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/deploy_key
chmod 600 ~/.ssh/deploy_key
ssh-keyscan -p ${{ secrets.SSH_PORT }} ${{ secrets.SSH_HOST }} >> ~/.ssh/known_hosts
git config user.name "Gitea Actions"
git config user.email "actions@noreply.gitea"
git add extensions/directus-extension-disallow-votes/dist \
extensions/directus-extension-new-user/dist
git diff --staged --quiet || git commit -m "chore: build extensions [skip ci]"
git push origin dev
- name: Transférer les dist via rsync
run: |
rsync -az --delete \
-e "ssh -i ~/.ssh/deploy_key -p ${{ secrets.SSH_PORT }}" \
dist-artifacts/extensions/directus-extension-disallow-votes/dist/ \
${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }}:${{ secrets.DEPLOY_PATH }}/extensions/directus-extension-disallow-votes/dist/
rsync -az --delete \
-e "ssh -i ~/.ssh/deploy_key -p ${{ secrets.SSH_PORT }}" \
dist-artifacts/extensions/directus-extension-new-user/dist/ \
${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }}:${{ secrets.DEPLOY_PATH }}/extensions/directus-extension-new-user/dist/
- name: Redémarrer Directus et vérifier
- name: Déployer sur le serveur
uses: appleboy/ssh-action@v1.2.0
with:
host: ${{ secrets.SSH_HOST }}
@@ -92,10 +62,23 @@ jobs:
set -e
cd ${{ secrets.DEPLOY_PATH }}
echo "==> Redémarrage Directus"
docker compose restart directus
echo "==> Correction des permissions"
sudo chown -R "$(whoami):" .
echo "==> Vérification santé"
sleep 5
curl -sf http://localhost:8066/server/health | grep -q '"status":"ok"'
echo "==> Synchronisation branche dev"
git fetch origin dev
git reset --hard origin/dev
echo "==> Réseau Docker"
docker network inspect konstitisyon_network >/dev/null 2>&1 \
|| docker network create konstitisyon_network
echo "==> Initialisation base de données"
[ -f database/data.db ] || cp database/data.sample.db database/data.db
echo "==> Permissions volumes"
sudo chown -R 1000:1000 database uploads
echo "==> Démarrage Directus"
docker compose up -d --wait
echo "Déploiement OK"
+7 -1
View File
@@ -2,12 +2,18 @@ services:
directus:
image: directus/directus:11.17.2
ports:
- 8066:8066
- 8066:8055
volumes:
- ./database:/directus/database
- ./uploads:/directus/uploads
- ./extensions:/directus/extensions
env_file: ".env"
healthcheck:
test: ["CMD-SHELL", "node -e \"require('http').get('http://localhost:8055/server/health',r=>process.exit(r.statusCode<400?0:1)).on('error',()=>process.exit(1))\""]
interval: 10s
timeout: 5s
retries: 12
start_period: 30s
networks:
- konstitisyon_network
networks:
@@ -1,3 +1,2 @@
.DS_Store
node_modules
dist
@@ -0,0 +1 @@
var e=({filter:e},{services:t})=>{const s=async(e,s,o)=>{if(!e)throw new Error("Lidentifiant de la version est manquant.");const n=await s("directus_versions").select("date_created").where({id:e}).first();if(!n)throw new Error("Version non trouvée.");if(new Date(n.date_created)<new Date(Date.now()-2592e5))throw new Error("Le vote nest plus possible après 3 jours de la création de la version.");try{const{VersionsService:n}=t,r=new n({schema:o,knex:s}),a=await r.compare(e);if(a&&!0===a.outdated)throw new Error("Le vote nest plus possible sur une version obsolète.")}catch(e){if("Le vote nest plus possible sur une version obsolète."===e.message)throw e;console.warn("Could not check version outdated status:",e.message)}};e("items.create",(async(e,{collection:t},{database:o,schema:n})=>("votes"===t&&await s(e.content_version_id,o,n),e))),e("items.update",(async(e,{collection:t},{database:o,schema:n})=>("votes"===t&&await s(e.content_version_id,o,n),e))),e("items.delete",(async(e,{collection:t},{database:o,schema:n})=>{if("votes"===t){const t=e[0];if(!t)throw new Error("Lidentifiant du vote est manquant.");const r=await o("votes").select("content_version_id").where({id:t}).first();if(!r)throw new Error("Vote non trouvé.");await s(r.content_version_id,o,n)}return e}))};export{e as default};
@@ -1283,67 +1283,6 @@
"@types/send": "*"
}
},
"node_modules/@unhead/dom": {
"version": "1.11.14",
"resolved": "https://registry.npmjs.org/@unhead/dom/-/dom-1.11.14.tgz",
"integrity": "sha512-FaHCWo9JR4h7PCpSRaXuMC6ifXOuBzlI0PD1MmUcxND2ayDl1d6DauIbN8TUf9TDRxNkrK1Ehb0OCXjC1ZJtrg==",
"dev": true,
"peer": true,
"dependencies": {
"@unhead/schema": "1.11.14",
"@unhead/shared": "1.11.14"
},
"funding": {
"url": "https://github.com/sponsors/harlan-zw"
}
},
"node_modules/@unhead/schema": {
"version": "1.11.14",
"resolved": "https://registry.npmjs.org/@unhead/schema/-/schema-1.11.14.tgz",
"integrity": "sha512-V9W9u5tF1/+TiLqxu+Qvh1ShoMDkPEwHoEo4DKdDG6ko7YlbzFfDxV6el9JwCren45U/4Vy/4Xi7j8OH02wsiA==",
"dev": true,
"peer": true,
"dependencies": {
"hookable": "^5.5.3",
"zhead": "^2.2.4"
},
"funding": {
"url": "https://github.com/sponsors/harlan-zw"
}
},
"node_modules/@unhead/shared": {
"version": "1.11.14",
"resolved": "https://registry.npmjs.org/@unhead/shared/-/shared-1.11.14.tgz",
"integrity": "sha512-41Qt4PJKYVrEGOTXgBJLRYrEu3S7n5stoB4TFC6312CIBVedXqg7voHQurn32LVDjpfJftjLa2ggCjpqdqoRDw==",
"dev": true,
"peer": true,
"dependencies": {
"@unhead/schema": "1.11.14"
},
"funding": {
"url": "https://github.com/sponsors/harlan-zw"
}
},
"node_modules/@unhead/vue": {
"version": "1.11.14",
"resolved": "https://registry.npmjs.org/@unhead/vue/-/vue-1.11.14.tgz",
"integrity": "sha512-6nfi7FsZ936gscmj+1nUB1pybiFMFbnuEFo7B/OY2klpLWsYDUOVvpsJhbu7C3u7wkTlJXglmAk6jdd8I7WgZA==",
"dev": true,
"peer": true,
"dependencies": {
"@unhead/schema": "1.11.14",
"@unhead/shared": "1.11.14",
"defu": "^6.1.4",
"hookable": "^5.5.3",
"unhead": "1.11.14"
},
"funding": {
"url": "https://github.com/sponsors/harlan-zw"
},
"peerDependencies": {
"vue": ">=2.7 || >=3"
}
},
"node_modules/@vitejs/plugin-vue": {
"version": "4.6.2",
"resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-4.6.2.tgz",
@@ -1419,13 +1358,6 @@
"@vue/shared": "3.5.11"
}
},
"node_modules/@vue/devtools-api": {
"version": "6.6.4",
"resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.6.4.tgz",
"integrity": "sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==",
"dev": true,
"peer": true
},
"node_modules/@vue/reactivity": {
"version": "3.5.11",
"resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.11.tgz",
@@ -2083,13 +2015,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/defu": {
"version": "6.1.4",
"resolved": "https://registry.npmjs.org/defu/-/defu-6.1.4.tgz",
"integrity": "sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==",
"dev": true,
"peer": true
},
"node_modules/delayed-stream": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
@@ -2457,13 +2382,6 @@
"node": ">= 0.4"
}
},
"node_modules/hookable": {
"version": "5.5.3",
"resolved": "https://registry.npmjs.org/hookable/-/hookable-5.5.3.tgz",
"integrity": "sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==",
"dev": true,
"peer": true
},
"node_modules/human-signals": {
"version": "4.3.1",
"resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz",
@@ -3209,29 +3127,6 @@
"url": "https://github.com/sponsors/jonschlinkert"
}
},
"node_modules/pinia": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/pinia/-/pinia-2.3.0.tgz",
"integrity": "sha512-ohZj3jla0LL0OH5PlLTDMzqKiVw2XARmC1XYLdLWIPBMdhDW/123ZWr4zVAhtJm+aoSkFa13pYXskAvAscIkhQ==",
"dev": true,
"peer": true,
"dependencies": {
"@vue/devtools-api": "^6.6.3",
"vue-demi": "^0.14.10"
},
"funding": {
"url": "https://github.com/sponsors/posva"
},
"peerDependencies": {
"typescript": ">=4.4.4",
"vue": "^2.7.0 || ^3.5.11"
},
"peerDependenciesMeta": {
"typescript": {
"optional": true
}
}
},
"node_modules/postcss": {
"version": "8.4.49",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.49.tgz",
@@ -3912,22 +3807,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/rollup": {
"version": "2.79.2",
"resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.2.tgz",
"integrity": "sha512-fS6iqSPZDs3dr/y7Od6y5nha8dW1YnbgtsyotCVvoFGKbERG++CVRFv1meyGDE1SNItQA8BrnCw7ScdAhRJ3XQ==",
"dev": true,
"peer": true,
"bin": {
"rollup": "dist/bin/rollup"
},
"engines": {
"node": ">=10.0.0"
},
"optionalDependencies": {
"fsevents": "~2.3.2"
}
},
"node_modules/rollup-plugin-esbuild": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/rollup-plugin-esbuild/-/rollup-plugin-esbuild-5.0.0.tgz",
@@ -4357,22 +4236,6 @@
"integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==",
"dev": true
},
"node_modules/unhead": {
"version": "1.11.14",
"resolved": "https://registry.npmjs.org/unhead/-/unhead-1.11.14.tgz",
"integrity": "sha512-XmXW0aZyX9kGk9ejCKCSvv/J4T3Rt4hoAe2EofM+nhG+zwZ7AArUMK/0F/fj6FTkfgY0u0/JryE00qUDULgygA==",
"dev": true,
"peer": true,
"dependencies": {
"@unhead/dom": "1.11.14",
"@unhead/schema": "1.11.14",
"@unhead/shared": "1.11.14",
"hookable": "^5.5.3"
},
"funding": {
"url": "https://github.com/sponsors/harlan-zw"
}
},
"node_modules/universalify": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz",
@@ -4899,33 +4762,6 @@
}
}
},
"node_modules/vue-demi": {
"version": "0.14.10",
"resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.10.tgz",
"integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==",
"dev": true,
"hasInstallScript": true,
"peer": true,
"bin": {
"vue-demi-fix": "bin/vue-demi-fix.js",
"vue-demi-switch": "bin/vue-demi-switch.js"
},
"engines": {
"node": ">=12"
},
"funding": {
"url": "https://github.com/sponsors/antfu"
},
"peerDependencies": {
"@vue/composition-api": "^1.0.0-rc.1",
"vue": "^3.0.0-0 || ^2.6.0"
},
"peerDependenciesMeta": {
"@vue/composition-api": {
"optional": true
}
}
},
"node_modules/wcwidth": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz",
@@ -4991,16 +4827,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/zhead": {
"version": "2.2.4",
"resolved": "https://registry.npmjs.org/zhead/-/zhead-2.2.4.tgz",
"integrity": "sha512-8F0OI5dpWIA5IGG5NHUg9staDwz/ZPxZtvGVf01j7vHqSyZ0raHY+78atOVxRqb73AotX22uV1pXt3gYSstGag==",
"dev": true,
"peer": true,
"funding": {
"url": "https://github.com/sponsors/harlan-zw"
}
},
"node_modules/zod": {
"version": "3.23.8",
"resolved": "https://registry.npmjs.org/zod/-/zod-3.23.8.tgz",
@@ -1,3 +1,2 @@
.DS_Store
node_modules
dist
+1
View File
@@ -0,0 +1 @@
var e=({filter:e},{services:r,env:a})=>{e("users.create",(async(e,{schema:i},{database:s})=>{if(!r.MailService)return console.error("Le service MailService est manquant."),e;const t=a.EMAIL_NEW_USER,n=a.DIRECTUS_URL||"http://0.0.0.0:8055";if(!t)return console.error("La variable EMAIL_NEW_USER est manquante."),e;const l=await(async(e,r)=>void 0!==await r("directus_users").select("id").where({email:e}).first())(e.email,s);if(l)return console.error("Ladresse e-mail est déjà utilisée."),e;try{new r.MailService({schema:i}).send({to:t,subject:`Nouvel utilisateur : ${e.email}`,text:`Un nouvel utilisateur a été créé :\n Nom: ${e.first_name||"N/A"} Email: ${e.email||"N/A"}\n Pour valider => ${n}/admin/users`,html:`\n <p>Un nouvel utilisateur a été créé :</p>\n <ul>\n <li><strong>Nom:</strong> ${e.first_name||"N/A"} </li>\n <li><strong>Email:</strong> ${e.email||"N/A"}</li>\n </ul>\n <p>Pour valider, <a href="${n}/admin/users" target="_blank"><strong>cliquez ici</strong></a> ou sur ce lien => <a href="${n}/admin/users" target="_blank">${n}/admin/users</a></p>\n `}),console.log("Email envoyé avec succès à",t)}catch(e){console.error("Erreur lors de lenvoi de le-mail via MailService:",e)}return e}))};export{e as default};
-174
View File
@@ -1283,67 +1283,6 @@
"@types/send": "*"
}
},
"node_modules/@unhead/dom": {
"version": "1.11.14",
"resolved": "https://registry.npmjs.org/@unhead/dom/-/dom-1.11.14.tgz",
"integrity": "sha512-FaHCWo9JR4h7PCpSRaXuMC6ifXOuBzlI0PD1MmUcxND2ayDl1d6DauIbN8TUf9TDRxNkrK1Ehb0OCXjC1ZJtrg==",
"dev": true,
"peer": true,
"dependencies": {
"@unhead/schema": "1.11.14",
"@unhead/shared": "1.11.14"
},
"funding": {
"url": "https://github.com/sponsors/harlan-zw"
}
},
"node_modules/@unhead/schema": {
"version": "1.11.14",
"resolved": "https://registry.npmjs.org/@unhead/schema/-/schema-1.11.14.tgz",
"integrity": "sha512-V9W9u5tF1/+TiLqxu+Qvh1ShoMDkPEwHoEo4DKdDG6ko7YlbzFfDxV6el9JwCren45U/4Vy/4Xi7j8OH02wsiA==",
"dev": true,
"peer": true,
"dependencies": {
"hookable": "^5.5.3",
"zhead": "^2.2.4"
},
"funding": {
"url": "https://github.com/sponsors/harlan-zw"
}
},
"node_modules/@unhead/shared": {
"version": "1.11.14",
"resolved": "https://registry.npmjs.org/@unhead/shared/-/shared-1.11.14.tgz",
"integrity": "sha512-41Qt4PJKYVrEGOTXgBJLRYrEu3S7n5stoB4TFC6312CIBVedXqg7voHQurn32LVDjpfJftjLa2ggCjpqdqoRDw==",
"dev": true,
"peer": true,
"dependencies": {
"@unhead/schema": "1.11.14"
},
"funding": {
"url": "https://github.com/sponsors/harlan-zw"
}
},
"node_modules/@unhead/vue": {
"version": "1.11.14",
"resolved": "https://registry.npmjs.org/@unhead/vue/-/vue-1.11.14.tgz",
"integrity": "sha512-6nfi7FsZ936gscmj+1nUB1pybiFMFbnuEFo7B/OY2klpLWsYDUOVvpsJhbu7C3u7wkTlJXglmAk6jdd8I7WgZA==",
"dev": true,
"peer": true,
"dependencies": {
"@unhead/schema": "1.11.14",
"@unhead/shared": "1.11.14",
"defu": "^6.1.4",
"hookable": "^5.5.3",
"unhead": "1.11.14"
},
"funding": {
"url": "https://github.com/sponsors/harlan-zw"
},
"peerDependencies": {
"vue": ">=2.7 || >=3"
}
},
"node_modules/@vitejs/plugin-vue": {
"version": "4.6.2",
"resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-4.6.2.tgz",
@@ -1419,13 +1358,6 @@
"@vue/shared": "3.5.11"
}
},
"node_modules/@vue/devtools-api": {
"version": "6.6.4",
"resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.6.4.tgz",
"integrity": "sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==",
"dev": true,
"peer": true
},
"node_modules/@vue/reactivity": {
"version": "3.5.11",
"resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.11.tgz",
@@ -2083,13 +2015,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/defu": {
"version": "6.1.4",
"resolved": "https://registry.npmjs.org/defu/-/defu-6.1.4.tgz",
"integrity": "sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==",
"dev": true,
"peer": true
},
"node_modules/delayed-stream": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
@@ -2457,13 +2382,6 @@
"node": ">= 0.4"
}
},
"node_modules/hookable": {
"version": "5.5.3",
"resolved": "https://registry.npmjs.org/hookable/-/hookable-5.5.3.tgz",
"integrity": "sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==",
"dev": true,
"peer": true
},
"node_modules/human-signals": {
"version": "4.3.1",
"resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz",
@@ -3209,29 +3127,6 @@
"url": "https://github.com/sponsors/jonschlinkert"
}
},
"node_modules/pinia": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/pinia/-/pinia-2.3.0.tgz",
"integrity": "sha512-ohZj3jla0LL0OH5PlLTDMzqKiVw2XARmC1XYLdLWIPBMdhDW/123ZWr4zVAhtJm+aoSkFa13pYXskAvAscIkhQ==",
"dev": true,
"peer": true,
"dependencies": {
"@vue/devtools-api": "^6.6.3",
"vue-demi": "^0.14.10"
},
"funding": {
"url": "https://github.com/sponsors/posva"
},
"peerDependencies": {
"typescript": ">=4.4.4",
"vue": "^2.7.0 || ^3.5.11"
},
"peerDependenciesMeta": {
"typescript": {
"optional": true
}
}
},
"node_modules/postcss": {
"version": "8.4.49",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.49.tgz",
@@ -3912,22 +3807,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/rollup": {
"version": "2.79.2",
"resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.2.tgz",
"integrity": "sha512-fS6iqSPZDs3dr/y7Od6y5nha8dW1YnbgtsyotCVvoFGKbERG++CVRFv1meyGDE1SNItQA8BrnCw7ScdAhRJ3XQ==",
"dev": true,
"peer": true,
"bin": {
"rollup": "dist/bin/rollup"
},
"engines": {
"node": ">=10.0.0"
},
"optionalDependencies": {
"fsevents": "~2.3.2"
}
},
"node_modules/rollup-plugin-esbuild": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/rollup-plugin-esbuild/-/rollup-plugin-esbuild-5.0.0.tgz",
@@ -4357,22 +4236,6 @@
"integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==",
"dev": true
},
"node_modules/unhead": {
"version": "1.11.14",
"resolved": "https://registry.npmjs.org/unhead/-/unhead-1.11.14.tgz",
"integrity": "sha512-XmXW0aZyX9kGk9ejCKCSvv/J4T3Rt4hoAe2EofM+nhG+zwZ7AArUMK/0F/fj6FTkfgY0u0/JryE00qUDULgygA==",
"dev": true,
"peer": true,
"dependencies": {
"@unhead/dom": "1.11.14",
"@unhead/schema": "1.11.14",
"@unhead/shared": "1.11.14",
"hookable": "^5.5.3"
},
"funding": {
"url": "https://github.com/sponsors/harlan-zw"
}
},
"node_modules/universalify": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz",
@@ -4899,33 +4762,6 @@
}
}
},
"node_modules/vue-demi": {
"version": "0.14.10",
"resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.10.tgz",
"integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==",
"dev": true,
"hasInstallScript": true,
"peer": true,
"bin": {
"vue-demi-fix": "bin/vue-demi-fix.js",
"vue-demi-switch": "bin/vue-demi-switch.js"
},
"engines": {
"node": ">=12"
},
"funding": {
"url": "https://github.com/sponsors/antfu"
},
"peerDependencies": {
"@vue/composition-api": "^1.0.0-rc.1",
"vue": "^3.0.0-0 || ^2.6.0"
},
"peerDependenciesMeta": {
"@vue/composition-api": {
"optional": true
}
}
},
"node_modules/wcwidth": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz",
@@ -4991,16 +4827,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/zhead": {
"version": "2.2.4",
"resolved": "https://registry.npmjs.org/zhead/-/zhead-2.2.4.tgz",
"integrity": "sha512-8F0OI5dpWIA5IGG5NHUg9staDwz/ZPxZtvGVf01j7vHqSyZ0raHY+78atOVxRqb73AotX22uV1pXt3gYSstGag==",
"dev": true,
"peer": true,
"funding": {
"url": "https://github.com/sponsors/harlan-zw"
}
},
"node_modules/zod": {
"version": "3.23.8",
"resolved": "https://registry.npmjs.org/zod/-/zod-3.23.8.tgz",