Merge pull request #5634 from ietf-tools/main

chore: Merge main into feat/django4
This commit is contained in:
Jennifer Richards 2023-05-16 13:06:49 -03:00 committed by GitHub
commit 7475aa01b6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
41 changed files with 938 additions and 541 deletions

View file

@ -389,7 +389,7 @@ jobs:
notify:
name: Notify
if: ${{ always() }}
needs: [prepare, release]
needs: [prepare, tests-python, tests-playwright, tests-playwright-legacy, release]
runs-on: ubuntu-latest
env:
PKG_VERSION: ${{needs.prepare.outputs.pkg_version}}

35
.github/workflows/sandbox-refresh.yml vendored Normal file
View file

@ -0,0 +1,35 @@
name: Sandbox Refresh
on:
# Run every night
schedule:
- cron: '0 9 * * *'
workflow_dispatch:
jobs:
main:
name: Refresh DBs
runs-on: [self-hosted, dev-server]
permissions:
contents: read
steps:
- uses: actions/checkout@v3
- name: Refresh DBs
env:
DEBIAN_FRONTEND: noninteractive
run: |
echo "Install Deploy to Container CLI dependencies..."
cd dev/deploy-to-container
npm ci
cd ../..
echo "Start Refresh..."
node ./dev/deploy-to-container/refresh.js
- name: Cleanup old docker resources
env:
DEBIAN_FRONTEND: noninteractive
run: |
docker image prune -a -f

155
.pnp.cjs generated
View file

@ -36,7 +36,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
["@faker-js/faker", "npm:7.6.0"],\
["@fullcalendar/bootstrap5", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.6"],\
["@fullcalendar/core", "npm:6.1.6"],\
["@fullcalendar/daygrid", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.5"],\
["@fullcalendar/daygrid", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.6"],\
["@fullcalendar/icalendar", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.6"],\
["@fullcalendar/interaction", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.6"],\
["@fullcalendar/list", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.6"],\
@ -49,9 +49,9 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
["@popperjs/core", "npm:2.11.7"],\
["@rollup/pluginutils", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:5.0.2"],\
["@twuni/emojify", "npm:1.0.2"],\
["@vitejs/plugin-vue", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.1.0"],\
["@vitejs/plugin-vue", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.2.1"],\
["bootstrap", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:5.2.3"],\
["bootstrap-icons", "npm:1.10.4"],\
["bootstrap-icons", "npm:1.10.5"],\
["browser-fs-access", "npm:0.33.1"],\
["browserlist", "npm:1.0.1"],\
["c8", "npm:7.13.0"],\
@ -59,14 +59,14 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
["d3", "npm:7.8.4"],\
["eslint", "npm:8.39.0"],\
["eslint-config-standard", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:17.0.0"],\
["eslint-plugin-cypress", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.13.2"],\
["eslint-plugin-cypress", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.13.3"],\
["eslint-plugin-import", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.27.5"],\
["eslint-plugin-n", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:15.7.0"],\
["eslint-plugin-node", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:11.1.0"],\
["eslint-plugin-promise", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.1"],\
["eslint-plugin-vue", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:9.11.0"],\
["file-saver", "npm:2.0.5"],\
["highcharts", "npm:10.3.3"],\
["highcharts", "npm:11.0.0"],\
["html-validate", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:7.15.1"],\
["ical.js", "npm:1.5.0"],\
["jquery", "npm:3.6.4"],\
@ -82,7 +82,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
["murmurhash-js", "npm:1.0.0"],\
["naive-ui", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.34.3"],\
["parcel", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.8.3"],\
["pinia", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.0.34"],\
["pinia", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.0.35"],\
["pinia-plugin-persist", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:1.0.0"],\
["pug", "npm:3.0.2"],\
["sass", "npm:1.62.0"],\
@ -94,7 +94,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
["slugify", "npm:1.6.6"],\
["sortablejs", "npm:1.15.0"],\
["vanillajs-datepicker", "npm:1.3.1"],\
["vite", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.2.1"],\
["vite", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.3.4"],\
["vue", "npm:3.2.47"],\
["vue-router", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.1.6"],\
["zxcvbn", "npm:4.4.2"]\
@ -534,13 +534,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
}]\
]],\
["@fullcalendar/daygrid", [\
["npm:6.1.5", {\
"packageLocation": "./.yarn/cache/@fullcalendar-daygrid-npm-6.1.5-3a84c9028f-f62aa7364d.zip/node_modules/@fullcalendar/daygrid/",\
"packageDependencies": [\
["@fullcalendar/daygrid", "npm:6.1.5"]\
],\
"linkType": "SOFT"\
}],\
["npm:6.1.6", {\
"packageLocation": "./.yarn/cache/@fullcalendar-daygrid-npm-6.1.6-13b72a08b0-e7b60e359b.zip/node_modules/@fullcalendar/daygrid/",\
"packageDependencies": [\
@ -548,23 +541,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
],\
"linkType": "SOFT"\
}],\
["virtual:1495e7dbe47a0c3fff6635b537a1f6362ca58f10310322fb93a5f9a6208e3e7081cd944d8d2131ee2c338abdf4479816afa3d632114f0fceb5b350c0ee84672d#npm:6.1.6", {\
"packageLocation": "./.yarn/__virtual__/@fullcalendar-daygrid-virtual-e69ea54296/0/cache/@fullcalendar-daygrid-npm-6.1.6-13b72a08b0-e7b60e359b.zip/node_modules/@fullcalendar/daygrid/",\
["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.6", {\
"packageLocation": "./.yarn/__virtual__/@fullcalendar-daygrid-virtual-c806a244df/0/cache/@fullcalendar-daygrid-npm-6.1.6-13b72a08b0-e7b60e359b.zip/node_modules/@fullcalendar/daygrid/",\
"packageDependencies": [\
["@fullcalendar/daygrid", "virtual:1495e7dbe47a0c3fff6635b537a1f6362ca58f10310322fb93a5f9a6208e3e7081cd944d8d2131ee2c338abdf4479816afa3d632114f0fceb5b350c0ee84672d#npm:6.1.6"],\
["@fullcalendar/core", "npm:6.1.6"],\
["@types/fullcalendar__core", null]\
],\
"packagePeers": [\
"@fullcalendar/core",\
"@types/fullcalendar__core"\
],\
"linkType": "HARD"\
}],\
["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.5", {\
"packageLocation": "./.yarn/__virtual__/@fullcalendar-daygrid-virtual-cb2eb2d850/0/cache/@fullcalendar-daygrid-npm-6.1.5-3a84c9028f-f62aa7364d.zip/node_modules/@fullcalendar/daygrid/",\
"packageDependencies": [\
["@fullcalendar/daygrid", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.5"],\
["@fullcalendar/daygrid", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.6"],\
["@fullcalendar/core", "npm:6.1.6"],\
["@types/fullcalendar__core", null]\
],\
@ -684,7 +664,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
"packageDependencies": [\
["@fullcalendar/timegrid", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.6"],\
["@fullcalendar/core", "npm:6.1.6"],\
["@fullcalendar/daygrid", "virtual:1495e7dbe47a0c3fff6635b537a1f6362ca58f10310322fb93a5f9a6208e3e7081cd944d8d2131ee2c338abdf4479816afa3d632114f0fceb5b350c0ee84672d#npm:6.1.6"],\
["@fullcalendar/daygrid", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.6"],\
["@types/fullcalendar__core", null]\
],\
"packagePeers": [\
@ -2398,20 +2378,20 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
}]\
]],\
["@vitejs/plugin-vue", [\
["npm:4.1.0", {\
"packageLocation": "./.yarn/cache/@vitejs-plugin-vue-npm-4.1.0-7f9225ba6f-532192a3da.zip/node_modules/@vitejs/plugin-vue/",\
["npm:4.2.1", {\
"packageLocation": "./.yarn/cache/@vitejs-plugin-vue-npm-4.2.1-2b331ccfdc-a7266a4537.zip/node_modules/@vitejs/plugin-vue/",\
"packageDependencies": [\
["@vitejs/plugin-vue", "npm:4.1.0"]\
["@vitejs/plugin-vue", "npm:4.2.1"]\
],\
"linkType": "SOFT"\
}],\
["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.1.0", {\
"packageLocation": "./.yarn/__virtual__/@vitejs-plugin-vue-virtual-f05e60383f/0/cache/@vitejs-plugin-vue-npm-4.1.0-7f9225ba6f-532192a3da.zip/node_modules/@vitejs/plugin-vue/",\
["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.2.1", {\
"packageLocation": "./.yarn/__virtual__/@vitejs-plugin-vue-virtual-68094506b2/0/cache/@vitejs-plugin-vue-npm-4.2.1-2b331ccfdc-a7266a4537.zip/node_modules/@vitejs/plugin-vue/",\
"packageDependencies": [\
["@vitejs/plugin-vue", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.1.0"],\
["@vitejs/plugin-vue", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.2.1"],\
["@types/vite", null],\
["@types/vue", null],\
["vite", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.2.1"],\
["vite", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.3.4"],\
["vue", "npm:3.2.47"]\
],\
"packagePeers": [\
@ -2955,10 +2935,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
}]\
]],\
["bootstrap-icons", [\
["npm:1.10.4", {\
"packageLocation": "./.yarn/cache/bootstrap-icons-npm-1.10.4-da897c241e-d76333e46d.zip/node_modules/bootstrap-icons/",\
["npm:1.10.5", {\
"packageLocation": "./.yarn/cache/bootstrap-icons-npm-1.10.5-36f80ab074-8a0cfbd237.zip/node_modules/bootstrap-icons/",\
"packageDependencies": [\
["bootstrap-icons", "npm:1.10.4"]\
["bootstrap-icons", "npm:1.10.5"]\
],\
"linkType": "HARD"\
}]\
@ -4447,17 +4427,17 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
}]\
]],\
["eslint-plugin-cypress", [\
["npm:2.13.2", {\
"packageLocation": "./.yarn/cache/eslint-plugin-cypress-npm-2.13.2-ee79f6209e-81cc425cfc.zip/node_modules/eslint-plugin-cypress/",\
["npm:2.13.3", {\
"packageLocation": "./.yarn/cache/eslint-plugin-cypress-npm-2.13.3-0ad3bff9c9-9affbcee29.zip/node_modules/eslint-plugin-cypress/",\
"packageDependencies": [\
["eslint-plugin-cypress", "npm:2.13.2"]\
["eslint-plugin-cypress", "npm:2.13.3"]\
],\
"linkType": "SOFT"\
}],\
["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.13.2", {\
"packageLocation": "./.yarn/__virtual__/eslint-plugin-cypress-virtual-53cd8166c0/0/cache/eslint-plugin-cypress-npm-2.13.2-ee79f6209e-81cc425cfc.zip/node_modules/eslint-plugin-cypress/",\
["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.13.3", {\
"packageLocation": "./.yarn/__virtual__/eslint-plugin-cypress-virtual-2dc00cb202/0/cache/eslint-plugin-cypress-npm-2.13.3-0ad3bff9c9-9affbcee29.zip/node_modules/eslint-plugin-cypress/",\
"packageDependencies": [\
["eslint-plugin-cypress", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.13.2"],\
["eslint-plugin-cypress", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.13.3"],\
["@types/eslint", null],\
["eslint", "npm:8.39.0"],\
["globals", "npm:11.12.0"]\
@ -5305,10 +5285,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
}]\
]],\
["highcharts", [\
["npm:10.3.3", {\
"packageLocation": "./.yarn/cache/highcharts-npm-10.3.3-c7af5563d7-f406901094.zip/node_modules/highcharts/",\
["npm:11.0.0", {\
"packageLocation": "./.yarn/cache/highcharts-npm-11.0.0-df56f18474-f173287d41.zip/node_modules/highcharts/",\
"packageDependencies": [\
["highcharts", "npm:10.3.3"]\
["highcharts", "npm:11.0.0"]\
],\
"linkType": "HARD"\
}]\
@ -6672,10 +6652,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
],\
"linkType": "HARD"\
}],\
["npm:3.3.4", {\
"packageLocation": "./.yarn/cache/nanoid-npm-3.3.4-3d250377d6-2fddd6dee9.zip/node_modules/nanoid/",\
["npm:3.3.6", {\
"packageLocation": "./.yarn/cache/nanoid-npm-3.3.6-e6d6ae7e71-7d0eda6570.zip/node_modules/nanoid/",\
"packageDependencies": [\
["nanoid", "npm:3.3.4"]\
["nanoid", "npm:3.3.6"]\
],\
"linkType": "HARD"\
}]\
@ -7085,17 +7065,17 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
}]\
]],\
["pinia", [\
["npm:2.0.34", {\
"packageLocation": "./.yarn/cache/pinia-npm-2.0.34-7d4aa360d9-f31333f481.zip/node_modules/pinia/",\
["npm:2.0.35", {\
"packageLocation": "./.yarn/cache/pinia-npm-2.0.35-60f8addaf8-cecb1e1e97.zip/node_modules/pinia/",\
"packageDependencies": [\
["pinia", "npm:2.0.34"]\
["pinia", "npm:2.0.35"]\
],\
"linkType": "SOFT"\
}],\
["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.0.34", {\
"packageLocation": "./.yarn/__virtual__/pinia-virtual-6f6dd9f79c/0/cache/pinia-npm-2.0.34-7d4aa360d9-f31333f481.zip/node_modules/pinia/",\
["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.0.35", {\
"packageLocation": "./.yarn/__virtual__/pinia-virtual-9f965060ea/0/cache/pinia-npm-2.0.35-60f8addaf8-cecb1e1e97.zip/node_modules/pinia/",\
"packageDependencies": [\
["pinia", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.0.34"],\
["pinia", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.0.35"],\
["@types/typescript", null],\
["@types/vue", null],\
["@types/vue__composition-api", null],\
@ -7103,7 +7083,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
["@vue/devtools-api", "npm:6.5.0"],\
["typescript", null],\
["vue", "npm:3.2.47"],\
["vue-demi", "virtual:6f6dd9f79c280c43eb0d7f97e114765720a0e387c74408db7657a81c12a363a8671ba8b9ec4011ddc5bd8e65d68e3dccc253556d637d3610f1528552fd281364#npm:0.13.1"]\
["vue-demi", "virtual:9f965060eafe5d7d052212cc7fd6fef913db724957f695b650ecef8b5179ad752b46bfcd2beb1965c04a72ea327c1241f8e860a445f77aaf193b4f78ba29f8b4#npm:0.13.1"]\
],\
"packagePeers": [\
"@types/typescript",\
@ -7132,7 +7112,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
["@types/vue", null],\
["@types/vue__composition-api", null],\
["@vue/composition-api", null],\
["pinia", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.0.34"],\
["pinia", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.0.35"],\
["vue", "npm:3.2.47"],\
["vue-demi", "virtual:f56fcf19bbebc2ada1b28955da8cc216b1e9a569a1a7337d2d1926c1ebd1bc7a5bd91aedae1d05c15c8562f33caf7c59bd3020a667340f6bdc6a7b13fc2ba847#npm:0.12.5"]\
],\
@ -7158,11 +7138,11 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
],\
"linkType": "HARD"\
}],\
["npm:8.4.21", {\
"packageLocation": "./.yarn/cache/postcss-npm-8.4.21-9ad76bf58d-e39ac60ccd.zip/node_modules/postcss/",\
["npm:8.4.23", {\
"packageLocation": "./.yarn/cache/postcss-npm-8.4.23-d4a02a832d-8bb9d1b2ea.zip/node_modules/postcss/",\
"packageDependencies": [\
["postcss", "npm:8.4.21"],\
["nanoid", "npm:3.3.4"],\
["postcss", "npm:8.4.23"],\
["nanoid", "npm:3.3.6"],\
["picocolors", "npm:1.0.0"],\
["source-map-js", "npm:1.0.2"]\
],\
@ -7647,10 +7627,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
}]\
]],\
["rollup", [\
["npm:3.20.2", {\
"packageLocation": "./.yarn/cache/rollup-npm-3.20.2-f1b9d0e0bb-34b0932839.zip/node_modules/rollup/",\
["npm:3.21.6", {\
"packageLocation": "./.yarn/cache/rollup-npm-3.21.6-ae95b73a21-bb6786ee0d.zip/node_modules/rollup/",\
"packageDependencies": [\
["rollup", "npm:3.20.2"],\
["rollup", "npm:3.21.6"],\
["fsevents", "patch:fsevents@npm%3A2.3.2#~builtin<compat/fsevents>::version=2.3.2&hash=18f3a7"]\
],\
"linkType": "HARD"\
@ -7664,7 +7644,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
["@faker-js/faker", "npm:7.6.0"],\
["@fullcalendar/bootstrap5", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.6"],\
["@fullcalendar/core", "npm:6.1.6"],\
["@fullcalendar/daygrid", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.5"],\
["@fullcalendar/daygrid", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.6"],\
["@fullcalendar/icalendar", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.6"],\
["@fullcalendar/interaction", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.6"],\
["@fullcalendar/list", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.6"],\
@ -7677,9 +7657,9 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
["@popperjs/core", "npm:2.11.7"],\
["@rollup/pluginutils", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:5.0.2"],\
["@twuni/emojify", "npm:1.0.2"],\
["@vitejs/plugin-vue", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.1.0"],\
["@vitejs/plugin-vue", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.2.1"],\
["bootstrap", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:5.2.3"],\
["bootstrap-icons", "npm:1.10.4"],\
["bootstrap-icons", "npm:1.10.5"],\
["browser-fs-access", "npm:0.33.1"],\
["browserlist", "npm:1.0.1"],\
["c8", "npm:7.13.0"],\
@ -7687,14 +7667,14 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
["d3", "npm:7.8.4"],\
["eslint", "npm:8.39.0"],\
["eslint-config-standard", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:17.0.0"],\
["eslint-plugin-cypress", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.13.2"],\
["eslint-plugin-cypress", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.13.3"],\
["eslint-plugin-import", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.27.5"],\
["eslint-plugin-n", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:15.7.0"],\
["eslint-plugin-node", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:11.1.0"],\
["eslint-plugin-promise", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.1"],\
["eslint-plugin-vue", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:9.11.0"],\
["file-saver", "npm:2.0.5"],\
["highcharts", "npm:10.3.3"],\
["highcharts", "npm:11.0.0"],\
["html-validate", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:7.15.1"],\
["ical.js", "npm:1.5.0"],\
["jquery", "npm:3.6.4"],\
@ -7710,7 +7690,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
["murmurhash-js", "npm:1.0.0"],\
["naive-ui", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.34.3"],\
["parcel", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.8.3"],\
["pinia", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.0.34"],\
["pinia", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.0.35"],\
["pinia-plugin-persist", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:1.0.0"],\
["pug", "npm:3.0.2"],\
["sass", "npm:1.62.0"],\
@ -7722,7 +7702,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
["slugify", "npm:1.6.6"],\
["sortablejs", "npm:1.15.0"],\
["vanillajs-datepicker", "npm:1.3.1"],\
["vite", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.2.1"],\
["vite", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.3.4"],\
["vue", "npm:3.2.47"],\
["vue-router", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.1.6"],\
["zxcvbn", "npm:4.4.2"]\
@ -8518,17 +8498,17 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
}]\
]],\
["vite", [\
["npm:4.2.1", {\
"packageLocation": "./.yarn/cache/vite-npm-4.2.1-a0fa6996de-70eb162ffc.zip/node_modules/vite/",\
["npm:4.3.4", {\
"packageLocation": "./.yarn/cache/vite-npm-4.3.4-4744edd48c-90ce3923ef.zip/node_modules/vite/",\
"packageDependencies": [\
["vite", "npm:4.2.1"]\
["vite", "npm:4.3.4"]\
],\
"linkType": "SOFT"\
}],\
["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.2.1", {\
"packageLocation": "./.yarn/__virtual__/vite-virtual-aec8c25c85/0/cache/vite-npm-4.2.1-a0fa6996de-70eb162ffc.zip/node_modules/vite/",\
["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.3.4", {\
"packageLocation": "./.yarn/__virtual__/vite-virtual-610e3576a6/0/cache/vite-npm-4.3.4-4744edd48c-90ce3923ef.zip/node_modules/vite/",\
"packageDependencies": [\
["vite", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.2.1"],\
["vite", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.3.4"],\
["@types/less", null],\
["@types/node", null],\
["@types/sass", null],\
@ -8538,9 +8518,8 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
["esbuild", "npm:0.17.13"],\
["fsevents", "patch:fsevents@npm%3A2.3.2#~builtin<compat/fsevents>::version=2.3.2&hash=18f3a7"],\
["less", null],\
["postcss", "npm:8.4.21"],\
["resolve", "patch:resolve@npm%3A1.22.1#~builtin<compat/resolve>::version=1.22.1&hash=07638b"],\
["rollup", "npm:3.20.2"],\
["postcss", "npm:8.4.23"],\
["rollup", "npm:3.21.6"],\
["sass", "npm:1.62.0"],\
["stylus", null],\
["sugarss", null],\
@ -8617,16 +8596,16 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
"linkType": "SOFT"\
}],\
["npm:0.13.1", {\
"packageLocation": "./.yarn/unplugged/vue-demi-virtual-adda43c8bf/node_modules/vue-demi/",\
"packageLocation": "./.yarn/unplugged/vue-demi-virtual-89e28ee82b/node_modules/vue-demi/",\
"packageDependencies": [\
["vue-demi", "npm:0.13.1"]\
],\
"linkType": "SOFT"\
}],\
["virtual:6f6dd9f79c280c43eb0d7f97e114765720a0e387c74408db7657a81c12a363a8671ba8b9ec4011ddc5bd8e65d68e3dccc253556d637d3610f1528552fd281364#npm:0.13.1", {\
"packageLocation": "./.yarn/unplugged/vue-demi-virtual-adda43c8bf/node_modules/vue-demi/",\
["virtual:9f965060eafe5d7d052212cc7fd6fef913db724957f695b650ecef8b5179ad752b46bfcd2beb1965c04a72ea327c1241f8e860a445f77aaf193b4f78ba29f8b4#npm:0.13.1", {\
"packageLocation": "./.yarn/unplugged/vue-demi-virtual-89e28ee82b/node_modules/vue-demi/",\
"packageDependencies": [\
["vue-demi", "virtual:6f6dd9f79c280c43eb0d7f97e114765720a0e387c74408db7657a81c12a363a8671ba8b9ec4011ddc5bd8e65d68e3dccc253556d637d3610f1528552fd281364#npm:0.13.1"],\
["vue-demi", "virtual:9f965060eafe5d7d052212cc7fd6fef913db724957f695b650ecef8b5179ad752b46bfcd2beb1965c04a72ea327c1241f8e860a445f77aaf193b4f78ba29f8b4#npm:0.13.1"],\
["@types/vue", null],\
["@types/vue__composition-api", null],\
["@vue/composition-api", null],\

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -1061,7 +1061,7 @@ onBeforeUnmount(() => {
&-cell-ts {
border-right: 1px solid $gray-300 !important;
// -> Use system font instead of Montserrat so that all digits align vertically
// -> Use system font instead of Inter so that all digits align vertically
font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
font-size: 1rem;
font-weight: 700;

View file

@ -8,6 +8,8 @@
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.0/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-gH2yIJqKdNHPEq0n4Mqa/HGKIhSkIHeL5AyhkYV8i59U5AR6csBvApHHNl/vI1Bx" crossorigin="anonymous">
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.0/dist/js/bootstrap.bundle.min.js" integrity="sha384-A3rJD856KowSb7dwlZdYEkO39Gagi7vIsF0jrRAoQmDKKtQBHUuLZ9AsSv4jD4Xa" crossorigin="anonymous"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.8.3/font/bootstrap-icons.css">
<link href="https://static.ietf.org/fonts/inter/import.css" rel="stylesheet">
<link href="https://static.ietf.org/fonts/noto-sans-mono/import.css" rel="stylesheet">
</head>
<body>
<div class="pt-3 container-fluid">

View file

@ -11,7 +11,7 @@
"nanoid": "4.0.2",
"nanoid-dictionary": "5.0.0-beta.1",
"slugify": "1.6.6",
"tar": "^6.1.13",
"tar": "^6.1.14",
"yargs": "^17.7.2"
},
"engines": {
@ -483,13 +483,13 @@
}
},
"node_modules/tar": {
"version": "6.1.13",
"resolved": "https://registry.npmjs.org/tar/-/tar-6.1.13.tgz",
"integrity": "sha512-jdIBIN6LTIe2jqzay/2vtYLlBHa3JF42ot3h1dW8Q0PaAG4v8rm0cvpVePtau5C6OKXGGcgO9q2AMNSWxiLqKw==",
"version": "6.1.14",
"resolved": "https://registry.npmjs.org/tar/-/tar-6.1.14.tgz",
"integrity": "sha512-piERznXu0U7/pW7cdSn7hjqySIVTYT6F76icmFk7ptU7dDYlXTm5r9A6K04R2vU3olYgoKeo1Cg3eeu5nhftAw==",
"dependencies": {
"chownr": "^2.0.0",
"fs-minipass": "^2.0.0",
"minipass": "^4.0.0",
"minipass": "^5.0.0",
"minizlib": "^2.1.1",
"mkdirp": "^1.0.3",
"yallist": "^4.0.0"
@ -566,9 +566,9 @@
}
},
"node_modules/tar/node_modules/minipass": {
"version": "4.2.5",
"resolved": "https://registry.npmjs.org/minipass/-/minipass-4.2.5.tgz",
"integrity": "sha512-+yQl7SX3bIT83Lhb4BVorMAHVuqsskxRdlmO9kTpyukp8vsm2Sn/fUOV9xlnG8/a5JsypJzap21lz/y3FBMJ8Q==",
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz",
"integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==",
"engines": {
"node": ">=8"
}
@ -977,13 +977,13 @@
}
},
"tar": {
"version": "6.1.13",
"resolved": "https://registry.npmjs.org/tar/-/tar-6.1.13.tgz",
"integrity": "sha512-jdIBIN6LTIe2jqzay/2vtYLlBHa3JF42ot3h1dW8Q0PaAG4v8rm0cvpVePtau5C6OKXGGcgO9q2AMNSWxiLqKw==",
"version": "6.1.14",
"resolved": "https://registry.npmjs.org/tar/-/tar-6.1.14.tgz",
"integrity": "sha512-piERznXu0U7/pW7cdSn7hjqySIVTYT6F76icmFk7ptU7dDYlXTm5r9A6K04R2vU3olYgoKeo1Cg3eeu5nhftAw==",
"requires": {
"chownr": "^2.0.0",
"fs-minipass": "^2.0.0",
"minipass": "^4.0.0",
"minipass": "^5.0.0",
"minizlib": "^2.1.1",
"mkdirp": "^1.0.3",
"yallist": "^4.0.0"
@ -995,9 +995,9 @@
"integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ=="
},
"minipass": {
"version": "4.2.5",
"resolved": "https://registry.npmjs.org/minipass/-/minipass-4.2.5.tgz",
"integrity": "sha512-+yQl7SX3bIT83Lhb4BVorMAHVuqsskxRdlmO9kTpyukp8vsm2Sn/fUOV9xlnG8/a5JsypJzap21lz/y3FBMJ8Q=="
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz",
"integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ=="
}
}
},

View file

@ -7,7 +7,7 @@
"nanoid": "4.0.2",
"nanoid-dictionary": "5.0.0-beta.1",
"slugify": "1.6.6",
"tar": "^6.1.13",
"tar": "^6.1.14",
"yargs": "^17.7.2"
},
"engines": {

View file

@ -0,0 +1,81 @@
#!/usr/bin/env node
import Docker from 'dockerode'
async function main () {
// Connect to Docker Engine API
console.info('Connecting to Docker Engine API...')
const dock = new Docker()
await dock.ping()
console.info('Connected to Docker Engine API.')
// Pull latest DB image
console.info('Pulling latest DB docker image...')
const dbImagePullStream = await dock.pull('ghcr.io/ietf-tools/datatracker-db:latest')
await new Promise((resolve, reject) => {
dock.modem.followProgress(dbImagePullStream, (err, res) => err ? reject(err) : resolve(res))
})
console.info('Pulled latest DB docker image successfully.')
// Terminate existing containers
console.info('Terminating DB containers and stopping app containers...')
const containers = await dock.listContainers({ all: true })
const dbContainersToCreate = []
const containersToRestart = []
for (const container of containers) {
if (
container.Names.some(n => n.startsWith('/dt-db-'))
) {
console.info(`Terminating DB container ${container.Id}...`)
dbContainersToCreate.push(container.Names.find(n => n.startsWith('/dt-db-')).substring(1))
const oldContainer = dock.getContainer(container.Id)
if (container.State === 'running') {
await oldContainer.stop({ t: 5 })
}
await oldContainer.remove({
force: true,
v: true
})
} else if (
container.Names.some(n => n.startsWith('/dt-app-')) ||
container.Names.some(n => n.startsWith('/dt-celery-')) ||
container.Names.some(n => n.startsWith('/dt-beat-'))
) {
if (container.State === 'running') {
const appContainer = dock.getContainer(container.Id)
containersToRestart.push(appContainer)
console.info(`Stopping app / celery container ${container.Id}...`)
await appContainer.stop({ t: 5 })
}
}
}
console.info('DB containers have been terminated.')
// Create DB containers
for (const dbContainerName of dbContainersToCreate) {
console.info(`Recreating DB docker container... [${dbContainerName}]`)
const dbContainer = await dock.createContainer({
Image: 'ghcr.io/ietf-tools/datatracker-db:latest',
name: dbContainerName,
Hostname: dbContainerName,
HostConfig: {
NetworkMode: 'shared',
RestartPolicy: {
Name: 'unless-stopped'
}
}
})
await dbContainer.start()
}
console.info('Recreated and started DB docker containers successfully.')
console.info('Restarting app / celery containers...')
for (const appContainer of containersToRestart) {
await appContainer.start()
}
console.info('Done.')
process.exit(0)
}
main()

File diff suppressed because it is too large Load diff

View file

@ -9,12 +9,12 @@
"fs-extra": "^11.1.1",
"got": "^12.6.0",
"keypress": "^0.2.1",
"listr2": "^5.0.8",
"listr2": "^6.3.1",
"lodash-es": "^4.17.21",
"luxon": "^3.3.0",
"pretty-bytes": "^6.1.0",
"tar": "^6.1.13",
"yargs": "^17.7.1"
"tar": "^6.1.14",
"yargs": "^17.7.2"
},
"engines": {
"node": ">=16"

View file

@ -0,0 +1,20 @@
# Copyright The IETF Trust 2023, All Rights Reserved
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('doc', '0002_auto_20230320_1222'),
]
operations = [
migrations.RemoveField(
model_name='dochistory',
name='order',
),
migrations.RemoveField(
model_name='document',
name='order',
),
]

View file

@ -113,7 +113,6 @@ class DocumentInfo(models.Model):
pages = models.IntegerField(blank=True, null=True)
words = models.IntegerField(blank=True, null=True)
formal_languages = models.ManyToManyField(FormalLanguageName, blank=True, help_text="Formal languages used in document")
order = models.IntegerField(default=1, blank=True) # This is probably obviated by SessionPresentaion.order
intended_std_level = ForeignKey(IntendedStdLevelName, verbose_name="Intended standardization level", blank=True, null=True)
std_level = ForeignKey(StdLevelName, verbose_name="Standardization level", blank=True, null=True)
ad = ForeignKey(Person, verbose_name="area director", related_name='ad_%(class)s_set', blank=True, null=True)

View file

@ -1,4 +1,4 @@
# Copyright The IETF Trust 2009-2022, All Rights Reserved
# Copyright The IETF Trust 2009-2023, All Rights Reserved
# Copyright (C) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
# All rights reserved. Contact: Pasi Eronen <pasi.eronen@nokia.com>
@ -32,6 +32,8 @@
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
import debug # pyflakes: ignore
from django import template
from django.template.loader import render_to_string
from django.db import models
@ -68,7 +70,7 @@ def wg_menu(flavor):
p.short_name = p.short_name[: -len(" Area")]
if p.type_id == "area":
p.menu_url = "/wg/#" + p.acronym
p.menu_url = "/wg/#" + p.acronym.upper()
elif p.acronym == "irtf":
p.menu_url = "/rg/"
elif p.acronym == "iab":

View file

@ -1,7 +1,11 @@
# Copyright The IETF Trust 2023, All Rights Reserved
from django import template
from ietf.name.models import SessionStatusName
register = template.Library()
@register.filter
def presented_versions(session, doc):
sp = session.sessionpresentation_set.filter(document=doc)
@ -11,7 +15,42 @@ def presented_versions(session,doc):
rev = sp.first().rev
return rev if rev else "(current)"
@register.filter
def can_manage_materials(session, user):
return session.can_manage_materials(user)
@register.filter
def describe_with_tz(session):
# Very similar to session.__str__, but doesn't treat interims differently from sessions at an IETF meeting
# and displays the timeslot in the meeting's timezone.
if session is None:
return ""
status_id = None
if hasattr(session, "current_status"):
status_id = session.current_status
elif session.pk is not None:
latest_event = session.schedulingevent_set.order_by("-time", "-id").first()
if latest_event:
status_id = latest_event.status_id
if status_id in ("canceled", "disappr", "notmeet", "deleted"):
ss0name = "(%s)" % SessionStatusName.objects.get(slug=status_id).name
else:
ss0name = "(unscheduled)"
ss = session.timeslotassignments.filter(
schedule__in=[
session.meeting.schedule,
session.meeting.schedule.base if session.meeting.schedule else None,
]
).order_by("timeslot__time")
if ss:
ss0name = ",".join(
x.timeslot.time.astimezone(session.meeting.tz()).strftime("%a-%H%M")
for x in ss
)
ss0name += f" {session.meeting.tz()}"
return f"{session.meeting}: {session.group.acronym} {session.name} {ss0name}"

View file

@ -2786,7 +2786,7 @@
"about_page": "ietf.group.views.group_about",
"acts_like_wg": false,
"admin_roles": "[\n \"chair\"\n]",
"agenda_filter_type": "none",
"agenda_filter_type": "heading",
"agenda_type": "ietf",
"create_wiki": false,
"custom_group_roles": false,
@ -2800,12 +2800,12 @@
"has_chartering_process": false,
"has_default_chat": false,
"has_documents": false,
"has_meetings": false,
"has_meetings": true,
"has_milestones": false,
"has_nonsession_materials": false,
"has_reviews": false,
"has_session_materials": false,
"is_schedulable": false,
"is_schedulable": true,
"material_types": "[\n \"slides\"\n]",
"matman_roles": "[\n \"chair\"\n]",
"need_parent": false,
@ -2813,7 +2813,7 @@
"req_subm_approval": false,
"role_order": "[\n \"chair\"\n]",
"session_purposes": "[\n \"closed_meeting\",\n \"officehours\"\n]",
"show_on_agenda": false
"show_on_agenda": true
},
"model": "group.groupfeatures",
"pk": "adm"
@ -3284,8 +3284,8 @@
"about_page": "ietf.group.views.group_about",
"acts_like_wg": false,
"admin_roles": "[\n \"chair\",\n \"lead\"\n]",
"agenda_filter_type": "none",
"agenda_type": "ad",
"agenda_filter_type": "heading",
"agenda_type": "ietf",
"create_wiki": false,
"custom_group_roles": true,
"customize_workflow": false,
@ -3298,12 +3298,12 @@
"has_chartering_process": false,
"has_default_chat": false,
"has_documents": true,
"has_meetings": false,
"has_meetings": true,
"has_milestones": false,
"has_nonsession_materials": false,
"has_reviews": false,
"has_session_materials": false,
"is_schedulable": false,
"is_schedulable": true,
"material_types": "[\n \"slides\"\n]",
"matman_roles": "[\n \"chair\",\n \"delegate\"\n]",
"need_parent": false,
@ -3311,7 +3311,7 @@
"req_subm_approval": true,
"role_order": "[\n \"chair\",\n \"delegate\"\n]",
"session_purposes": "[\n \"officehours\"\n]",
"show_on_agenda": false
"show_on_agenda": true
},
"model": "group.groupfeatures",
"pk": "ise"
@ -4098,8 +4098,8 @@
"doc_ad",
"doc_group_chairs",
"doc_group_delegates",
"doc_shepherd",
"doc_stream_manager"
"doc_non_ietf_stream_manager",
"doc_shepherd"
]
},
"model": "mailtrigger.mailtrigger",
@ -5005,6 +5005,35 @@
"model": "mailtrigger.mailtrigger",
"pk": "review_completed_genart_telechat"
},
{
"fields": {
"cc": [
"review_doc_all_parties",
"review_doc_group_mail_list"
],
"desc": "Recipients when a httpdir Early review is completed",
"to": [
"review_team_mail_list"
]
},
"model": "mailtrigger.mailtrigger",
"pk": "review_completed_httpdir_early"
},
{
"fields": {
"cc": [
"ietf_last_call",
"review_doc_all_parties",
"review_doc_group_mail_list"
],
"desc": "Recipients when a httpdir Telechat review is completed",
"to": [
"review_team_mail_list"
]
},
"model": "mailtrigger.mailtrigger",
"pk": "review_completed_httpdir_telechat"
},
{
"fields": {
"cc": [
@ -6025,7 +6054,7 @@
},
{
"fields": {
"desc": "The Internet-Drafts ticketing system",
"desc": "The Internet-Draft ticketing system",
"template": "<internet-drafts@ietf.org>"
},
"model": "mailtrigger.recipient",
@ -11328,7 +11357,7 @@
"name": "Editorial Stream Approval Group",
"order": 0,
"used": true,
"verbose_name": ""
"verbose_name": "Editorial Stream Approval Group"
},
"model": "name.grouptypename",
"pk": "edappr"
@ -11339,7 +11368,7 @@
"name": "Editorial Stream Working Group",
"order": 0,
"used": true,
"verbose_name": ""
"verbose_name": "Editorial Stream Working Group"
},
"model": "name.grouptypename",
"pk": "edwg"
@ -11460,7 +11489,7 @@
"name": "Program",
"order": 0,
"used": true,
"verbose_name": ""
"verbose_name": "IAB Program"
},
"model": "name.grouptypename",
"pk": "program"
@ -11482,7 +11511,7 @@
"name": "Directorate (with reviews)",
"order": 0,
"used": true,
"verbose_name": ""
"verbose_name": "Review Team"
},
"model": "name.grouptypename",
"pk": "review"
@ -11545,8 +11574,8 @@
{
"fields": {
"default_offset_days": -19,
"desc": "Internet-Draft submission cut-off for -00 drafts by UTC 23:59",
"name": "00 ID Cutoff",
"desc": "Internet-Draft submission cut-off for -00 I-Ds by UTC 23:59",
"name": "00 I-D Cutoff",
"order": 0,
"used": false
},
@ -11556,8 +11585,8 @@
{
"fields": {
"default_offset_days": -12,
"desc": "Internet-Draft submission cut-off for revised (-01 and above) drafts by UTC 23:59",
"name": "01 ID Cutoff",
"desc": "Internet-Draft submission cut-off for revised (-01 and above) I-Ds by UTC 23:59",
"name": "01 I-D Cutoff",
"order": 0,
"used": false
},
@ -11699,8 +11728,8 @@
{
"fields": {
"default_offset_days": -12,
"desc": "Internet-Draft submission cut-off (for all drafts, including -00) by UTC 23:59",
"name": "ID Cutoff",
"desc": "Internet-Draft submission cut-off (for all Internet-Drafts, including -00) by UTC 23:59",
"name": "I-D Cutoff",
"order": 0,
"used": true
},
@ -16356,9 +16385,9 @@
"fields": {
"command": "xym",
"switch": "--version",
"time": "2023-01-31T08:09:46.678Z",
"time": "2023-05-14T07:09:32.713Z",
"used": true,
"version": "xym 0.6.2"
"version": "xym 0.7.0"
},
"model": "utils.versioninfo",
"pk": 1
@ -16367,7 +16396,7 @@
"fields": {
"command": "pyang",
"switch": "--version",
"time": "2023-01-31T08:09:47.011Z",
"time": "2023-05-14T07:09:33.045Z",
"used": true,
"version": "pyang 2.5.3"
},
@ -16378,7 +16407,7 @@
"fields": {
"command": "yanglint",
"switch": "--version",
"time": "2023-01-31T08:09:47.028Z",
"time": "2023-05-14T07:09:33.065Z",
"used": true,
"version": "yanglint SO 1.9.2"
},
@ -16389,9 +16418,9 @@
"fields": {
"command": "xml2rfc",
"switch": "--version",
"time": "2023-01-31T08:09:48.031Z",
"time": "2023-05-14T07:09:33.970Z",
"used": true,
"version": "xml2rfc 3.16.0"
"version": "xml2rfc 3.17.1"
},
"model": "utils.versioninfo",
"pk": 4

View file

@ -1,4 +1,4 @@
# Copyright The IETF Trust 2007-2019, All Rights Reserved
# Copyright The IETF Trust 2007-2023, All Rights Reserved
# -*- coding: utf-8 -*-
import datetime
@ -129,7 +129,7 @@ def is_combined(session,meeting,schedule=None):
def send_notifications(meeting, groups, person):
'''
Send session scheduled email notifications for each group in groups. Person is the
user who initiated this action, request.uesr.get_profile().
user who initiated this action, request.user.get_profile().
'''
now = timezone.now()
for group in groups:
@ -150,7 +150,7 @@ def send_notifications(meeting, groups, person):
t = d['timeslot']
dur = s.requested_duration.seconds/60
items[i]['duration'] = "%d:%02d" % (dur//60, dur%60)
items[i]['period'] = '%s-%s' % (t.time.strftime('%H%M'),(t.time + t.duration).strftime('%H%M'))
items[i]['period'] = f"{t.local_start_time().strftime('%H%M')}-{t.local_end_time().strftime('%H%M')} {t.tz()}"
# send email
first_event = SchedulingEvent.objects.filter(session=sessions[0]).select_related('by').order_by('time', 'id').first()

View file

@ -14,6 +14,9 @@ $popover-max-width: 100%;
@import "bootstrap/scss/variables";
$font-family-sans-serif: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
$font-family-monospace: "Noto Sans Mono", SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
$h1-font-size: $font-size-base * 2.2;
$h2-font-size: $font-size-base * 1.8;
$h3-font-size: $font-size-base * 1.6;

View file

@ -194,7 +194,7 @@ class SubmissionBaseUploadForm(forms.Form):
def clean(self):
if self.shutdown and not has_role(self.request.user, "Secretariat"):
raise forms.ValidationError('The submission tool is currently shut down')
raise forms.ValidationError(self.cutoff_warning)
# check general submission rate thresholds before doing any more work
today = date_today()
@ -383,7 +383,7 @@ class DeprecatedSubmissionBaseUploadForm(SubmissionBaseUploadForm):
return msgs
if self.shutdown and not has_role(self.request.user, "Secretariat"):
raise forms.ValidationError('The submission tool is currently shut down')
raise forms.ValidationError(self.cutoff_warning)
for ext in self.formats:
f = self.cleaned_data.get(ext, None)

View file

@ -2744,6 +2744,10 @@ Subject: test
class ApiSubmissionTests(BaseSubmitTestCase):
TASK_TO_MOCK = "ietf.submit.views.process_and_accept_uploaded_submission_task"
def setUp(self):
super().setUp()
MeetingFactory(type_id='ietf', date=date_today()+datetime.timedelta(days=60))
def test_upload_draft(self):
"""api_submission accepts a submission and queues it for processing"""
url = urlreverse('ietf.submit.views.api_submission')
@ -2890,6 +2894,24 @@ class ApiSubmissionTests(BaseSubmitTestCase):
r = self.client.get(urlreverse('ietf.submit.views.api_submission_status', kwargs={'submission_id': '999999'}))
self.assertEqual(r.status_code, 404)
def test_upload_blackout(self):
"""api_submission returns a useful error in the blackout period"""
# Put today in the blackout period
meeting = Meeting.get_current_meeting()
meeting.importantdate_set.create(name_id='idcutoff',date=date_today()-datetime.timedelta(days=2))
url = urlreverse('ietf.submit.views.api_submission')
xml, author = submission_file('draft-somebody-test-00', 'draft-somebody-test-00.xml', None, 'test_submission.xml')
data = {
'xml': xml,
'user': author.user.username,
}
with mock.patch('ietf.submit.views.process_uploaded_submission_task'):
r = self.client.post(url, data)
self.assertContains(r, 'The last submission time for the I-D submission was', status_code=400)
class SubmissionUploadFormTests(BaseSubmitTestCase):
def test_check_submission_thresholds(self):

View file

@ -15,12 +15,8 @@
{% block title %}No title{% endblock %}
</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
{% comment Halloween %}
<link href='https://fonts.googleapis.com/css?family=IM+Fell+English+SC|IM+Fell+DW+Pica:400,400italic|Nova+Mono|IM+Fell+English:400,400italic&subset=latin-ext,latin' rel='stylesheet'>
{% endcomment %}
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Montserrat:wght@300..700&display=swap" rel="stylesheet">
<link href="https://static.ietf.org/fonts/inter/import.css" rel="stylesheet">
<link href="https://static.ietf.org/fonts/noto-sans-mono/import.css" rel="stylesheet">
<link rel="stylesheet" href="{% static 'ietf/css/ietf.css' %}">
<link rel="stylesheet" href="{% static 'ietf/css/select2.css' %}">
<style>

View file

@ -16,9 +16,6 @@
{% vite_asset 'client/main.js' %}
{% endblock %}
{% block morecss %}
body {
font-family: 'Montserrat', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
}
/* Avoid hiding the page footer when on mobile with the footer toolbar overlay */
@media screen and (max-width: 992px) {

View file

@ -1,15 +1,16 @@
{% extends "base.html" %}
{# Copyright The IETF Trust 2021, All Rights Reserved #}
{# Copyright The IETF Trust 2023, All Rights Reserved #}
{% load origin %}
{% load django_bootstrap5 %}
{% load session_filters %}
{% block pagehead %}{{ form.media.css }}{% endblock %}
{% block title %}Edit session "{{ session }}"{% endblock %}
{% block title %}Edit session "{{ session|describe_with_tz }}"{% endblock %}
{% block content %}
{% origin %}
<h1>
Edit session
<br>
<small class="text-muted">{{ session }}</small>
<small class="text-muted">{{ session|describe_with_tz }}</small>
</h1>
<form class="session-details-form my-3" method="post">
{% csrf_token %}

View file

@ -9,7 +9,7 @@
"dependencies": {
"@fullcalendar/bootstrap5": "6.1.6",
"@fullcalendar/core": "6.1.6",
"@fullcalendar/daygrid": "6.1.5",
"@fullcalendar/daygrid": "6.1.6",
"@fullcalendar/icalendar": "6.1.6",
"@fullcalendar/interaction": "6.1.6",
"@fullcalendar/list": "6.1.6",
@ -19,12 +19,12 @@
"@popperjs/core": "2.11.7",
"@twuni/emojify": "1.0.2",
"bootstrap": "5.2.3",
"bootstrap-icons": "1.10.4",
"bootstrap-icons": "1.10.5",
"browser-fs-access": "0.33.1",
"caniuse-lite": "1.0.30001481",
"d3": "7.8.4",
"file-saver": "2.0.5",
"highcharts": "10.3.3",
"highcharts": "11.0.0",
"ical.js": "1.5.0",
"jquery": "3.6.4",
"js-cookie": "3.0.5",
@ -37,7 +37,7 @@
"ms": "2.1.3",
"murmurhash-js": "1.0.0",
"naive-ui": "2.34.3",
"pinia": "2.0.34",
"pinia": "2.0.35",
"pinia-plugin-persist": "1.0.0",
"select2": "4.1.0-rc.0",
"select2-bootstrap-5-theme": "1.3.0",
@ -56,12 +56,12 @@
"@parcel/transformer-inline-string": "2.8.3",
"@parcel/transformer-sass": "2.8.3",
"@rollup/pluginutils": "5.0.2",
"@vitejs/plugin-vue": "4.1.0",
"@vitejs/plugin-vue": "4.2.1",
"browserlist": "latest",
"c8": "7.13.0",
"eslint": "8.39.0",
"eslint-config-standard": "17.0.0",
"eslint-plugin-cypress": "2.13.2",
"eslint-plugin-cypress": "2.13.3",
"eslint-plugin-import": "2.27.5",
"eslint-plugin-n": "15.7.0",
"eslint-plugin-node": "11.1.0",
@ -73,7 +73,7 @@
"pug": "3.0.2",
"sass": "1.62.0",
"seedrandom": "3.0.5",
"vite": "4.2.1"
"vite": "4.3.4"
},
"targets": {
"ietf": {

View file

@ -15,7 +15,7 @@
"slugify": "1.6.6"
},
"devDependencies": {
"@playwright/test": "1.32.3",
"@playwright/test": "1.33.0",
"eslint": "8.39.0",
"eslint-config-standard": "17.0.0",
"eslint-plugin-import": "2.27.5",
@ -328,13 +328,13 @@
}
},
"node_modules/@playwright/test": {
"version": "1.32.3",
"resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.32.3.tgz",
"integrity": "sha512-BvWNvK0RfBriindxhLVabi8BRe3X0J9EVjKlcmhxjg4giWBD/xleLcg2dz7Tx0agu28rczjNIPQWznwzDwVsZQ==",
"version": "1.33.0",
"resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.33.0.tgz",
"integrity": "sha512-YunBa2mE7Hq4CfPkGzQRK916a4tuZoVx/EpLjeWlTVOnD4S2+fdaQZE0LJkbfhN5FTSKNLdcl7MoT5XB37bTkg==",
"dev": true,
"dependencies": {
"@types/node": "*",
"playwright-core": "1.32.3"
"playwright-core": "1.33.0"
},
"bin": {
"playwright": "cli.js"
@ -4330,9 +4330,9 @@
}
},
"node_modules/playwright-core": {
"version": "1.32.3",
"resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.32.3.tgz",
"integrity": "sha512-SB+cdrnu74ZIn5Ogh/8278ngEh9NEEV0vR4sJFmK04h2iZpybfbqBY0bX6+BLYWVdV12JLLI+JEFtSnYgR+mWg==",
"version": "1.33.0",
"resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.33.0.tgz",
"integrity": "sha512-aizyPE1Cj62vAECdph1iaMILpT0WUDCq3E6rW6I+dleSbBoGbktvJtzS6VHkZ4DKNEOG9qJpiom/ZxO+S15LAw==",
"dev": true,
"bin": {
"playwright": "cli.js"
@ -6040,14 +6040,14 @@
}
},
"@playwright/test": {
"version": "1.32.3",
"resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.32.3.tgz",
"integrity": "sha512-BvWNvK0RfBriindxhLVabi8BRe3X0J9EVjKlcmhxjg4giWBD/xleLcg2dz7Tx0agu28rczjNIPQWznwzDwVsZQ==",
"version": "1.33.0",
"resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.33.0.tgz",
"integrity": "sha512-YunBa2mE7Hq4CfPkGzQRK916a4tuZoVx/EpLjeWlTVOnD4S2+fdaQZE0LJkbfhN5FTSKNLdcl7MoT5XB37bTkg==",
"dev": true,
"requires": {
"@types/node": "*",
"fsevents": "2.3.2",
"playwright-core": "1.32.3"
"playwright-core": "1.33.0"
}
},
"@pnpm/network.ca-file": {
@ -8993,9 +8993,9 @@
"dev": true
},
"playwright-core": {
"version": "1.32.3",
"resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.32.3.tgz",
"integrity": "sha512-SB+cdrnu74ZIn5Ogh/8278ngEh9NEEV0vR4sJFmK04h2iZpybfbqBY0bX6+BLYWVdV12JLLI+JEFtSnYgR+mWg==",
"version": "1.33.0",
"resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.33.0.tgz",
"integrity": "sha512-aizyPE1Cj62vAECdph1iaMILpT0WUDCq3E6rW6I+dleSbBoGbktvJtzS6VHkZ4DKNEOG9qJpiom/ZxO+S15LAw==",
"dev": true
},
"prelude-ls": {

View file

@ -7,7 +7,7 @@
"test:debug": "playwright test --debug"
},
"devDependencies": {
"@playwright/test": "1.32.3",
"@playwright/test": "1.33.0",
"eslint": "8.39.0",
"eslint-config-standard": "17.0.0",
"eslint-plugin-import": "2.27.5",

104
yarn.lock
View file

@ -320,16 +320,7 @@ __metadata:
languageName: node
linkType: hard
"@fullcalendar/daygrid@npm:6.1.5":
version: 6.1.5
resolution: "@fullcalendar/daygrid@npm:6.1.5"
peerDependencies:
"@fullcalendar/core": ~6.1.5
checksum: f62aa7364d0c51bb8121da988ba5784dc0ce775e15d87bfa7b4f52f0f0d12fd338aa634de93b43332167c105b6848dba47d184f23d12572235ebd16101f2b109
languageName: node
linkType: hard
"@fullcalendar/daygrid@npm:~6.1.6":
"@fullcalendar/daygrid@npm:6.1.6, @fullcalendar/daygrid@npm:~6.1.6":
version: 6.1.6
resolution: "@fullcalendar/daygrid@npm:6.1.6"
peerDependencies:
@ -1748,13 +1739,13 @@ __metadata:
languageName: node
linkType: hard
"@vitejs/plugin-vue@npm:4.1.0":
version: 4.1.0
resolution: "@vitejs/plugin-vue@npm:4.1.0"
"@vitejs/plugin-vue@npm:4.2.1":
version: 4.2.1
resolution: "@vitejs/plugin-vue@npm:4.2.1"
peerDependencies:
vite: ^4.0.0
vue: ^3.2.25
checksum: 532192a3da39f3fd6ba9d4fa9de74533cf6e222785c26bcb75bde9f826c5c4a22ad6f0bb09fae83e3393f9d8d24b6982d547683b1967972a4350e8e76aecf3cb
checksum: a7266a45378d5fd7813699cf97dfac0e313dc63bd245a1c932848b2b5dc58aede922231d5a534baeeb7e2842c7172f17194a4833bd6a7a6ed61dc0a31d60c7c9
languageName: node
linkType: hard
@ -2165,10 +2156,10 @@ __metadata:
languageName: node
linkType: hard
"bootstrap-icons@npm:1.10.4":
version: 1.10.4
resolution: "bootstrap-icons@npm:1.10.4"
checksum: d76333e46dc75bc5b8942211d91703af5033e186f31bc7de06d7d816ba5ee7f70cd94c07b00d36321b104c0b86f5305936602b43504c7407168a00b6c2d2713d
"bootstrap-icons@npm:1.10.5":
version: 1.10.5
resolution: "bootstrap-icons@npm:1.10.5"
checksum: 8a0cfbd237723793dfb04106fdeed7f86bb59249a01a1623b325bf84d61306c22bb46d3df0795f80f0e77d43cd7485273571c253ee7910eb67fae9489691daad
languageName: node
linkType: hard
@ -3448,14 +3439,14 @@ browserlist@latest:
languageName: node
linkType: hard
"eslint-plugin-cypress@npm:2.13.2":
version: 2.13.2
resolution: "eslint-plugin-cypress@npm:2.13.2"
"eslint-plugin-cypress@npm:2.13.3":
version: 2.13.3
resolution: "eslint-plugin-cypress@npm:2.13.3"
dependencies:
globals: ^11.12.0
peerDependencies:
eslint: ">= 3.2.1"
checksum: 81cc425cfced563cf50ad2553f887e20a39fe179275e95408c53989bcf8f65f0fac648b429d006130c84221edf99eada663a2c6419eb837bf81ece3d18998cf5
checksum: 9affbcee29e030a4251c4794f7533e8e8c0e3b98ab3470a2c730ed059f733c5857a04c7ac214cc0ca7aeef1b11242e72595de7fc1f6b8b4d4578d9eca10af203
languageName: node
linkType: hard
@ -4209,10 +4200,10 @@ browserlist@latest:
languageName: node
linkType: hard
"highcharts@npm:10.3.3":
version: 10.3.3
resolution: "highcharts@npm:10.3.3"
checksum: f40690109486fdada407cdc94f257dd869ebbcdd0c7ac4c7b85021c087523b4c32ea88725dce5f1b490c9669573240e17622c4765366ed4c38ff2b2503f092e9
"highcharts@npm:11.0.0":
version: 11.0.0
resolution: "highcharts@npm:11.0.0"
checksum: f173287d413e1b7d55d6c8d1572e2469588ab2b10fd38f6a42159188be4bf61a9f06e559d591c4ed0a0e95cdd76b7c99d24fd928e9fdae948042f9bb2ff77ed5
languageName: node
linkType: hard
@ -5430,12 +5421,12 @@ browserlist@latest:
languageName: node
linkType: hard
"nanoid@npm:^3.3.4":
version: 3.3.4
resolution: "nanoid@npm:3.3.4"
"nanoid@npm:^3.3.6":
version: 3.3.6
resolution: "nanoid@npm:3.3.6"
bin:
nanoid: bin/nanoid.cjs
checksum: 2fddd6dee994b7676f008d3ffa4ab16035a754f4bb586c61df5a22cf8c8c94017aadd360368f47d653829e0569a92b129979152ff97af23a558331e47e37cd9c
checksum: 7d0eda657002738aa5206107bd0580aead6c95c460ef1bdd0b1a87a9c7ae6277ac2e9b945306aaa5b32c6dcb7feaf462d0f552e7f8b5718abfc6ead5c94a71b3
languageName: node
linkType: hard
@ -5814,9 +5805,9 @@ browserlist@latest:
languageName: node
linkType: hard
"pinia@npm:2.0.34":
version: 2.0.34
resolution: "pinia@npm:2.0.34"
"pinia@npm:2.0.35":
version: 2.0.35
resolution: "pinia@npm:2.0.35"
dependencies:
"@vue/devtools-api": ^6.5.0
vue-demi: "*"
@ -5829,7 +5820,7 @@ browserlist@latest:
optional: true
typescript:
optional: true
checksum: f31333f481b53b500341e43a6dd7d16a494963b9e0473f4e621439342bcc9eac529bd0aeb2574ca4e60596e1d96d32d23ef3e166425a842fa41fe927e26457de
checksum: cecb1e1e97ed77f69166dc3815dfd05f712ac725763eb74059f5e4804b5902976c278a3d14ab5227892459e8d0b6d9645104e1d049e733228b696be98de450f0
languageName: node
linkType: hard
@ -5861,14 +5852,14 @@ browserlist@latest:
languageName: node
linkType: hard
"postcss@npm:^8.4.21":
version: 8.4.21
resolution: "postcss@npm:8.4.21"
"postcss@npm:^8.4.23":
version: 8.4.23
resolution: "postcss@npm:8.4.23"
dependencies:
nanoid: ^3.3.4
nanoid: ^3.3.6
picocolors: ^1.0.0
source-map-js: ^1.0.2
checksum: e39ac60ccd1542d4f9d93d894048aac0d686b3bb38e927d8386005718e6793dbbb46930f0a523fe382f1bbd843c6d980aaea791252bf5e176180e5a4336d9679
checksum: 8bb9d1b2ea6e694f8987d4f18c94617971b2b8d141602725fedcc2222fdc413b776a6e1b969a25d627d7b2681ca5aabb56f59e727ef94072e1b6ac8412105a2f
languageName: node
linkType: hard
@ -6289,9 +6280,9 @@ browserlist@latest:
languageName: node
linkType: hard
"rollup@npm:^3.18.0":
version: 3.20.2
resolution: "rollup@npm:3.20.2"
"rollup@npm:^3.21.0":
version: 3.21.6
resolution: "rollup@npm:3.21.6"
dependencies:
fsevents: ~2.3.2
dependenciesMeta:
@ -6299,7 +6290,7 @@ browserlist@latest:
optional: true
bin:
rollup: dist/bin/rollup
checksum: 34b0932839b7c2a5d1742fb21ce95a47e0b49a0849f4abee2dccf25833187aa7babb898ca90d4fc761cffa4102b9ed0ac6ad7f6f6b96c8b8e2d67305abc5da65
checksum: bb6786ee0d755f253d3aa3820b05806a482abe9c9fd6dad14df83b386a370d48af20c4be66f732a15b5e89c0ae6269a7b82736b64f34ae61552c58de0eecedeb
languageName: node
linkType: hard
@ -6310,7 +6301,7 @@ browserlist@latest:
"@faker-js/faker": 7.6.0
"@fullcalendar/bootstrap5": 6.1.6
"@fullcalendar/core": 6.1.6
"@fullcalendar/daygrid": 6.1.5
"@fullcalendar/daygrid": 6.1.6
"@fullcalendar/icalendar": 6.1.6
"@fullcalendar/interaction": 6.1.6
"@fullcalendar/list": 6.1.6
@ -6323,9 +6314,9 @@ browserlist@latest:
"@popperjs/core": 2.11.7
"@rollup/pluginutils": 5.0.2
"@twuni/emojify": 1.0.2
"@vitejs/plugin-vue": 4.1.0
"@vitejs/plugin-vue": 4.2.1
bootstrap: 5.2.3
bootstrap-icons: 1.10.4
bootstrap-icons: 1.10.5
browser-fs-access: 0.33.1
browserlist: latest
c8: 7.13.0
@ -6333,14 +6324,14 @@ browserlist@latest:
d3: 7.8.4
eslint: 8.39.0
eslint-config-standard: 17.0.0
eslint-plugin-cypress: 2.13.2
eslint-plugin-cypress: 2.13.3
eslint-plugin-import: 2.27.5
eslint-plugin-n: 15.7.0
eslint-plugin-node: 11.1.0
eslint-plugin-promise: 6.1.1
eslint-plugin-vue: 9.11.0
file-saver: 2.0.5
highcharts: 10.3.3
highcharts: 11.0.0
html-validate: 7.15.1
ical.js: 1.5.0
jquery: 3.6.4
@ -6356,7 +6347,7 @@ browserlist@latest:
murmurhash-js: 1.0.0
naive-ui: 2.34.3
parcel: 2.8.3
pinia: 2.0.34
pinia: 2.0.35
pinia-plugin-persist: 1.0.0
pug: 3.0.2
sass: 1.62.0
@ -6368,7 +6359,7 @@ browserlist@latest:
slugify: 1.6.6
sortablejs: 1.15.0
vanillajs-datepicker: 1.3.1
vite: 4.2.1
vite: 4.3.4
vue: 3.2.47
vue-router: 4.1.6
zxcvbn: 4.4.2
@ -7063,15 +7054,14 @@ browserlist@latest:
languageName: node
linkType: hard
"vite@npm:4.2.1":
version: 4.2.1
resolution: "vite@npm:4.2.1"
"vite@npm:4.3.4":
version: 4.3.4
resolution: "vite@npm:4.3.4"
dependencies:
esbuild: ^0.17.5
fsevents: ~2.3.2
postcss: ^8.4.21
resolve: ^1.22.1
rollup: ^3.18.0
postcss: ^8.4.23
rollup: ^3.21.0
peerDependencies:
"@types/node": ">= 14"
less: "*"
@ -7097,7 +7087,7 @@ browserlist@latest:
optional: true
bin:
vite: bin/vite.js
checksum: 70eb162ffc299017a3c310e3adc95e9661def6b17aafd1f8e5e02e516766060435590dbe3df1e4e95acc3583c728a76e91f07c546221d1e701f1b2b021293f45
checksum: 90ce3923ef3e9a491851fb34effece43858d0ba915db17ea6ad0eb649bd77d81c69a71aafc55a6fbd11e4134b1a79eb7e2e3553f055d390d32ca0ff7c645acf6
languageName: node
linkType: hard