ci:merge main to release
This commit is contained in:
commit
31964036f1
8
.github/workflows/build-base-app.yml
vendored
8
.github/workflows/build-base-app.yml
vendored
|
@ -20,20 +20,20 @@ jobs:
|
|||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v2
|
||||
uses: docker/setup-qemu-action@v3
|
||||
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v2
|
||||
uses: docker/setup-buildx-action@v3
|
||||
|
||||
- name: Login to GitHub Container Registry
|
||||
uses: docker/login-action@v2
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
registry: ghcr.io
|
||||
username: ${{ github.actor }}
|
||||
password: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Docker Build & Push
|
||||
uses: docker/build-push-action@v4
|
||||
uses: docker/build-push-action@v5
|
||||
with:
|
||||
context: .
|
||||
file: docker/base.Dockerfile
|
||||
|
|
8
.github/workflows/build-celery-worker.yml
vendored
8
.github/workflows/build-celery-worker.yml
vendored
|
@ -22,20 +22,20 @@ jobs:
|
|||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v2
|
||||
uses: docker/setup-qemu-action@v3
|
||||
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v2
|
||||
uses: docker/setup-buildx-action@v3
|
||||
|
||||
- name: Login to GitHub Container Registry
|
||||
uses: docker/login-action@v2
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
registry: ghcr.io
|
||||
username: ${{ github.actor }}
|
||||
password: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Docker Build & Push
|
||||
uses: docker/build-push-action@v4
|
||||
uses: docker/build-push-action@v5
|
||||
with:
|
||||
context: .
|
||||
file: dev/celery/Dockerfile
|
||||
|
|
17
.github/workflows/build-mq-broker.yml
vendored
17
.github/workflows/build-mq-broker.yml
vendored
|
@ -10,6 +10,9 @@ on:
|
|||
|
||||
workflow_dispatch:
|
||||
|
||||
env:
|
||||
RABBITMQ_VERSION: 3.12-alpine
|
||||
|
||||
jobs:
|
||||
publish:
|
||||
runs-on: ubuntu-latest
|
||||
|
@ -21,24 +24,26 @@ jobs:
|
|||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v2
|
||||
uses: docker/setup-qemu-action@v3
|
||||
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v2
|
||||
uses: docker/setup-buildx-action@v3
|
||||
|
||||
- name: Login to GitHub Container Registry
|
||||
uses: docker/login-action@v2
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
registry: ghcr.io
|
||||
username: ${{ github.actor }}
|
||||
password: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Docker Build & Push
|
||||
uses: docker/build-push-action@v4
|
||||
uses: docker/build-push-action@v5
|
||||
with:
|
||||
context: .
|
||||
file: dev/mq/Dockerfile
|
||||
platforms: linux/amd64,linux/arm64
|
||||
push: true
|
||||
tags: ghcr.io/ietf-tools/datatracker-mq:latest
|
||||
|
||||
build-args: RABBITMQ_VERSION=${{ env.RABBITMQ_VERSION }}
|
||||
tags: |
|
||||
ghcr.io/ietf-tools/datatracker-mq:${{ env.RABBITMQ_VERSION }}
|
||||
ghcr.io/ietf-tools/datatracker-mq:latest
|
||||
|
|
2
.github/workflows/build.yml
vendored
2
.github/workflows/build.yml
vendored
|
@ -217,7 +217,7 @@ jobs:
|
|||
|
||||
- name: Update Baseline Coverage
|
||||
uses: ncipollo/release-action@v1.13.0
|
||||
if: ${{ github.event.inputs.updateCoverage == 'true' }}
|
||||
if: ${{ github.event.inputs.updateCoverage == 'true' || github.ref_name == 'release' }}
|
||||
with:
|
||||
allowUpdates: true
|
||||
tag: baseline
|
||||
|
|
|
@ -32,14 +32,14 @@ jobs:
|
|||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Login to GitHub Container Registry
|
||||
uses: docker/login-action@v2
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
registry: ghcr.io
|
||||
username: ${{ github.actor }}
|
||||
password: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Docker Build & Push
|
||||
uses: docker/build-push-action@v4
|
||||
uses: docker/build-push-action@v5
|
||||
with:
|
||||
context: .
|
||||
file: dev/shared-assets-sync/Dockerfile
|
||||
|
|
4
.github/workflows/tests.yml
vendored
4
.github/workflows/tests.yml
vendored
|
@ -45,9 +45,9 @@ jobs:
|
|||
echo "Running tests..."
|
||||
if [[ "x${{ github.event.inputs.ignoreLowerCoverage }}" == "xtrue" ]]; then
|
||||
echo "Lower coverage failures will be ignored."
|
||||
./ietf/manage.py test --validate-html-harder --settings=settings_test --ignore-lower-coverage
|
||||
./ietf/manage.py test -v2 --validate-html-harder --settings=settings_test --ignore-lower-coverage
|
||||
else
|
||||
./ietf/manage.py test --validate-html-harder --settings=settings_test
|
||||
./ietf/manage.py test -v2 --validate-html-harder --settings=settings_test
|
||||
fi
|
||||
coverage xml
|
||||
|
||||
|
|
236
.pnp.cjs
generated
236
.pnp.cjs
generated
|
@ -39,7 +39,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
|||
["@fullcalendar/icalendar", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.8"],\
|
||||
["@fullcalendar/interaction", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.8"],\
|
||||
["@fullcalendar/list", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.8"],\
|
||||
["@fullcalendar/luxon3", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.8"],\
|
||||
["@fullcalendar/luxon3", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.9"],\
|
||||
["@fullcalendar/timegrid", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.8"],\
|
||||
["@fullcalendar/vue3", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.8"],\
|
||||
["@parcel/optimizer-data-url", "npm:2.9.3"],\
|
||||
|
@ -48,25 +48,25 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
|||
["@popperjs/core", "npm:2.11.8"],\
|
||||
["@rollup/pluginutils", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:5.0.4"],\
|
||||
["@twuni/emojify", "npm:1.0.2"],\
|
||||
["@vitejs/plugin-vue", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.3.3"],\
|
||||
["bootstrap", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:5.3.1"],\
|
||||
["bootstrap-icons", "npm:1.10.5"],\
|
||||
["browser-fs-access", "npm:0.34.1"],\
|
||||
["@vitejs/plugin-vue", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.3.4"],\
|
||||
["bootstrap", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:5.3.2"],\
|
||||
["bootstrap-icons", "npm:1.11.1"],\
|
||||
["browser-fs-access", "npm:0.35.0"],\
|
||||
["browserlist", "npm:1.0.1"],\
|
||||
["c8", "npm:8.0.1"],\
|
||||
["caniuse-lite", "npm:1.0.30001519"],\
|
||||
["caniuse-lite", "npm:1.0.30001538"],\
|
||||
["d3", "npm:7.8.5"],\
|
||||
["eslint", "npm:8.48.0"],\
|
||||
["eslint", "npm:8.49.0"],\
|
||||
["eslint-config-standard", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:17.1.0"],\
|
||||
["eslint-plugin-cypress", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.14.0"],\
|
||||
["eslint-plugin-import", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.28.1"],\
|
||||
["eslint-plugin-n", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:16.0.2"],\
|
||||
["eslint-plugin-n", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:16.1.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.17.0"],\
|
||||
["file-saver", "npm:2.0.5"],\
|
||||
["highcharts", "npm:11.1.0"],\
|
||||
["html-validate", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:8.3.0"],\
|
||||
["html-validate", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:8.4.0"],\
|
||||
["ical.js", "npm:1.5.0"],\
|
||||
["jquery", "npm:3.7.1"],\
|
||||
["jquery-migrate", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:3.4.1"],\
|
||||
|
@ -74,7 +74,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
|||
["list.js", "npm:2.3.1"],\
|
||||
["lodash", "npm:4.17.21"],\
|
||||
["lodash-es", "npm:4.17.21"],\
|
||||
["luxon", "npm:3.4.0"],\
|
||||
["luxon", "npm:3.4.3"],\
|
||||
["moment", "npm:2.29.4"],\
|
||||
["moment-timezone", "npm:0.5.43"],\
|
||||
["ms", "npm:2.1.3"],\
|
||||
|
@ -84,7 +84,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
|||
["pinia", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.1.6"],\
|
||||
["pinia-plugin-persist", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:1.0.0"],\
|
||||
["pug", "npm:3.0.2"],\
|
||||
["sass", "npm:1.66.1"],\
|
||||
["sass", "npm:1.67.0"],\
|
||||
["seedrandom", "npm:3.0.5"],\
|
||||
["select2", "npm:4.1.0-rc.0"],\
|
||||
["select2-bootstrap-5-theme", "npm:1.3.0"],\
|
||||
|
@ -438,12 +438,12 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
|||
],\
|
||||
"linkType": "SOFT"\
|
||||
}],\
|
||||
["virtual:0dd1c3662912d25464a284caa5dbde8cc315ca056be4ded44d6f67e20c4895461cf49fc7bff27c35f254bdb0924477031e3e50d50a333908daaff17dcf43b01d#npm:4.4.0", {\
|
||||
"packageLocation": "./.yarn/__virtual__/@eslint-community-eslint-utils-virtual-01223f6a8e/0/cache/@eslint-community-eslint-utils-npm-4.4.0-d1791bd5a3-cdfe3ae42b.zip/node_modules/@eslint-community/eslint-utils/",\
|
||||
["virtual:1b802e43a1d6cfd4888588e031e9b9539c10922666207f02b37e1572beffa71b5952c5b88bdcc1e2ff0080ea3baa9b39a63225d9ea667488d5ab782bed5718c7#npm:4.4.0", {\
|
||||
"packageLocation": "./.yarn/__virtual__/@eslint-community-eslint-utils-virtual-3145c9a18a/0/cache/@eslint-community-eslint-utils-npm-4.4.0-d1791bd5a3-cdfe3ae42b.zip/node_modules/@eslint-community/eslint-utils/",\
|
||||
"packageDependencies": [\
|
||||
["@eslint-community/eslint-utils", "virtual:0dd1c3662912d25464a284caa5dbde8cc315ca056be4ded44d6f67e20c4895461cf49fc7bff27c35f254bdb0924477031e3e50d50a333908daaff17dcf43b01d#npm:4.4.0"],\
|
||||
["@eslint-community/eslint-utils", "virtual:1b802e43a1d6cfd4888588e031e9b9539c10922666207f02b37e1572beffa71b5952c5b88bdcc1e2ff0080ea3baa9b39a63225d9ea667488d5ab782bed5718c7#npm:4.4.0"],\
|
||||
["@types/eslint", null],\
|
||||
["eslint", "npm:8.48.0"],\
|
||||
["eslint", "npm:8.49.0"],\
|
||||
["eslint-visitor-keys", "npm:3.3.0"]\
|
||||
],\
|
||||
"packagePeers": [\
|
||||
|
@ -488,10 +488,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
|||
}]\
|
||||
]],\
|
||||
["@eslint/js", [\
|
||||
["npm:8.48.0", {\
|
||||
"packageLocation": "./.yarn/cache/@eslint-js-npm-8.48.0-cee42a7097-b2755f9c0e.zip/node_modules/@eslint/js/",\
|
||||
["npm:8.49.0", {\
|
||||
"packageLocation": "./.yarn/cache/@eslint-js-npm-8.49.0-e8f6510b47-a6601807c8.zip/node_modules/@eslint/js/",\
|
||||
"packageDependencies": [\
|
||||
["@eslint/js", "npm:8.48.0"]\
|
||||
["@eslint/js", "npm:8.49.0"]\
|
||||
],\
|
||||
"linkType": "HARD"\
|
||||
}]\
|
||||
|
@ -651,21 +651,21 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
|||
}]\
|
||||
]],\
|
||||
["@fullcalendar/luxon3", [\
|
||||
["npm:6.1.8", {\
|
||||
"packageLocation": "./.yarn/cache/@fullcalendar-luxon3-npm-6.1.8-7f233a53e1-7e84200641.zip/node_modules/@fullcalendar/luxon3/",\
|
||||
["npm:6.1.9", {\
|
||||
"packageLocation": "./.yarn/cache/@fullcalendar-luxon3-npm-6.1.9-d79fc8f961-25122126e2.zip/node_modules/@fullcalendar/luxon3/",\
|
||||
"packageDependencies": [\
|
||||
["@fullcalendar/luxon3", "npm:6.1.8"]\
|
||||
["@fullcalendar/luxon3", "npm:6.1.9"]\
|
||||
],\
|
||||
"linkType": "SOFT"\
|
||||
}],\
|
||||
["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.8", {\
|
||||
"packageLocation": "./.yarn/__virtual__/@fullcalendar-luxon3-virtual-3a7af6083c/0/cache/@fullcalendar-luxon3-npm-6.1.8-7f233a53e1-7e84200641.zip/node_modules/@fullcalendar/luxon3/",\
|
||||
["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.9", {\
|
||||
"packageLocation": "./.yarn/__virtual__/@fullcalendar-luxon3-virtual-2026214153/0/cache/@fullcalendar-luxon3-npm-6.1.9-d79fc8f961-25122126e2.zip/node_modules/@fullcalendar/luxon3/",\
|
||||
"packageDependencies": [\
|
||||
["@fullcalendar/luxon3", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.8"],\
|
||||
["@fullcalendar/luxon3", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.9"],\
|
||||
["@fullcalendar/core", "npm:6.1.8"],\
|
||||
["@types/fullcalendar__core", null],\
|
||||
["@types/luxon", null],\
|
||||
["luxon", "npm:3.4.0"]\
|
||||
["luxon", "npm:3.4.3"]\
|
||||
],\
|
||||
"packagePeers": [\
|
||||
"@fullcalendar/core",\
|
||||
|
@ -745,10 +745,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
|||
}]\
|
||||
]],\
|
||||
["@humanwhocodes/config-array", [\
|
||||
["npm:0.11.10", {\
|
||||
"packageLocation": "./.yarn/cache/@humanwhocodes-config-array-npm-0.11.10-7b63df9e7f-1b1302e240.zip/node_modules/@humanwhocodes/config-array/",\
|
||||
["npm:0.11.11", {\
|
||||
"packageLocation": "./.yarn/cache/@humanwhocodes-config-array-npm-0.11.11-e3582554ee-db84507375.zip/node_modules/@humanwhocodes/config-array/",\
|
||||
"packageDependencies": [\
|
||||
["@humanwhocodes/config-array", "npm:0.11.10"],\
|
||||
["@humanwhocodes/config-array", "npm:0.11.11"],\
|
||||
["@humanwhocodes/object-schema", "npm:1.2.1"],\
|
||||
["debug", "virtual:b86a9fb34323a98c6519528ed55faa0d9b44ca8879307c0b29aa384bde47ff59a7d0c9051b31246f14521dfb71ba3c5d6d0b35c29fffc17bf875aa6ad977d9e8#npm:4.3.4"],\
|
||||
["minimatch", "npm:3.1.2"]\
|
||||
|
@ -2389,10 +2389,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
|||
],\
|
||||
"linkType": "SOFT"\
|
||||
}],\
|
||||
["virtual:0f17270113a645b9ccd471681c6953a9ecf2cc875b79eb96d26d7cb579b1f042c2aaab59d6799ee85bf4e9b312f464a118c211e37c33fa47b3e11095c49e32d7#npm:2.0.0", {\
|
||||
"packageLocation": "./.yarn/__virtual__/@sidvind-better-ajv-errors-virtual-148105bc23/0/cache/@sidvind-better-ajv-errors-npm-2.0.0-3531bddef9-12b0d87855.zip/node_modules/@sidvind/better-ajv-errors/",\
|
||||
["virtual:baa02fb51e75f1f03e1ff0c1be104192da948332a9fd904d571b0b912d6ac16a98b4b63cb9465421728b6af4a1bb50f995b9b5018f7f90329de80b4a8ff40be4#npm:2.0.0", {\
|
||||
"packageLocation": "./.yarn/__virtual__/@sidvind-better-ajv-errors-virtual-0c74a59d49/0/cache/@sidvind-better-ajv-errors-npm-2.0.0-3531bddef9-12b0d87855.zip/node_modules/@sidvind/better-ajv-errors/",\
|
||||
"packageDependencies": [\
|
||||
["@sidvind/better-ajv-errors", "virtual:0f17270113a645b9ccd471681c6953a9ecf2cc875b79eb96d26d7cb579b1f042c2aaab59d6799ee85bf4e9b312f464a118c211e37c33fa47b3e11095c49e32d7#npm:2.0.0"],\
|
||||
["@sidvind/better-ajv-errors", "virtual:baa02fb51e75f1f03e1ff0c1be104192da948332a9fd904d571b0b912d6ac16a98b4b63cb9465421728b6af4a1bb50f995b9b5018f7f90329de80b4a8ff40be4#npm:2.0.0"],\
|
||||
["@babel/code-frame", "npm:7.16.7"],\
|
||||
["@types/ajv", null],\
|
||||
["ajv", "npm:8.11.0"],\
|
||||
|
@ -2638,17 +2638,17 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
|||
}]\
|
||||
]],\
|
||||
["@vitejs/plugin-vue", [\
|
||||
["npm:4.3.3", {\
|
||||
"packageLocation": "./.yarn/cache/@vitejs-plugin-vue-npm-4.3.3-ffc8f9f2ac-17f8d73708.zip/node_modules/@vitejs/plugin-vue/",\
|
||||
["npm:4.3.4", {\
|
||||
"packageLocation": "./.yarn/cache/@vitejs-plugin-vue-npm-4.3.4-0e0b5c48a9-95bf6c85c0.zip/node_modules/@vitejs/plugin-vue/",\
|
||||
"packageDependencies": [\
|
||||
["@vitejs/plugin-vue", "npm:4.3.3"]\
|
||||
["@vitejs/plugin-vue", "npm:4.3.4"]\
|
||||
],\
|
||||
"linkType": "SOFT"\
|
||||
}],\
|
||||
["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.3.3", {\
|
||||
"packageLocation": "./.yarn/__virtual__/@vitejs-plugin-vue-virtual-c26a0d639a/0/cache/@vitejs-plugin-vue-npm-4.3.3-ffc8f9f2ac-17f8d73708.zip/node_modules/@vitejs/plugin-vue/",\
|
||||
["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.3.4", {\
|
||||
"packageLocation": "./.yarn/__virtual__/@vitejs-plugin-vue-virtual-d66cb5aa6a/0/cache/@vitejs-plugin-vue-npm-4.3.4-0e0b5c48a9-95bf6c85c0.zip/node_modules/@vitejs/plugin-vue/",\
|
||||
"packageDependencies": [\
|
||||
["@vitejs/plugin-vue", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.3.3"],\
|
||||
["@vitejs/plugin-vue", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.3.4"],\
|
||||
["@types/vite", null],\
|
||||
["@types/vue", null],\
|
||||
["vite", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.4.9"],\
|
||||
|
@ -3191,10 +3191,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
|||
],\
|
||||
"linkType": "SOFT"\
|
||||
}],\
|
||||
["npm:5.3.1", {\
|
||||
"packageLocation": "./.yarn/cache/bootstrap-npm-5.3.1-9ad45c2765-f8176376aa.zip/node_modules/bootstrap/",\
|
||||
["npm:5.3.2", {\
|
||||
"packageLocation": "./.yarn/cache/bootstrap-npm-5.3.2-20b391b636-d5580b253d.zip/node_modules/bootstrap/",\
|
||||
"packageDependencies": [\
|
||||
["bootstrap", "npm:5.3.1"]\
|
||||
["bootstrap", "npm:5.3.2"]\
|
||||
],\
|
||||
"linkType": "SOFT"\
|
||||
}],\
|
||||
|
@ -3211,10 +3211,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
|||
],\
|
||||
"linkType": "HARD"\
|
||||
}],\
|
||||
["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:5.3.1", {\
|
||||
"packageLocation": "./.yarn/__virtual__/bootstrap-virtual-94a6bfc3bc/0/cache/bootstrap-npm-5.3.1-9ad45c2765-f8176376aa.zip/node_modules/bootstrap/",\
|
||||
["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:5.3.2", {\
|
||||
"packageLocation": "./.yarn/__virtual__/bootstrap-virtual-b366fabcb3/0/cache/bootstrap-npm-5.3.2-20b391b636-d5580b253d.zip/node_modules/bootstrap/",\
|
||||
"packageDependencies": [\
|
||||
["bootstrap", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:5.3.1"],\
|
||||
["bootstrap", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:5.3.2"],\
|
||||
["@popperjs/core", "npm:2.11.8"],\
|
||||
["@types/popperjs__core", null]\
|
||||
],\
|
||||
|
@ -3226,10 +3226,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
|||
}]\
|
||||
]],\
|
||||
["bootstrap-icons", [\
|
||||
["npm:1.10.5", {\
|
||||
"packageLocation": "./.yarn/cache/bootstrap-icons-npm-1.10.5-36f80ab074-8a0cfbd237.zip/node_modules/bootstrap-icons/",\
|
||||
["npm:1.11.1", {\
|
||||
"packageLocation": "./.yarn/cache/bootstrap-icons-npm-1.11.1-9f55aea76a-d78ff24a83.zip/node_modules/bootstrap-icons/",\
|
||||
"packageDependencies": [\
|
||||
["bootstrap-icons", "npm:1.10.5"]\
|
||||
["bootstrap-icons", "npm:1.11.1"]\
|
||||
],\
|
||||
"linkType": "HARD"\
|
||||
}]\
|
||||
|
@ -3264,10 +3264,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
|||
}]\
|
||||
]],\
|
||||
["browser-fs-access", [\
|
||||
["npm:0.34.1", {\
|
||||
"packageLocation": "./.yarn/cache/browser-fs-access-npm-0.34.1-7fcd7d9328-339865241c.zip/node_modules/browser-fs-access/",\
|
||||
["npm:0.35.0", {\
|
||||
"packageLocation": "./.yarn/cache/browser-fs-access-npm-0.35.0-1577b5a7ba-5f3bf1ec17.zip/node_modules/browser-fs-access/",\
|
||||
"packageDependencies": [\
|
||||
["browser-fs-access", "npm:0.34.1"]\
|
||||
["browser-fs-access", "npm:0.35.0"]\
|
||||
],\
|
||||
"linkType": "HARD"\
|
||||
}]\
|
||||
|
@ -3382,10 +3382,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
|||
],\
|
||||
"linkType": "HARD"\
|
||||
}],\
|
||||
["npm:1.0.30001519", {\
|
||||
"packageLocation": "./.yarn/cache/caniuse-lite-npm-1.0.30001519-1d6b5bc825-66085133ed.zip/node_modules/caniuse-lite/",\
|
||||
["npm:1.0.30001538", {\
|
||||
"packageLocation": "./.yarn/cache/caniuse-lite-npm-1.0.30001538-68bfe8259b-94c5d55757.zip/node_modules/caniuse-lite/",\
|
||||
"packageDependencies": [\
|
||||
["caniuse-lite", "npm:1.0.30001519"]\
|
||||
["caniuse-lite", "npm:1.0.30001538"]\
|
||||
],\
|
||||
"linkType": "HARD"\
|
||||
}]\
|
||||
|
@ -4630,15 +4630,15 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
|||
}]\
|
||||
]],\
|
||||
["eslint", [\
|
||||
["npm:8.48.0", {\
|
||||
"packageLocation": "./.yarn/cache/eslint-npm-8.48.0-0dd1c36629-f20b359a4f.zip/node_modules/eslint/",\
|
||||
["npm:8.49.0", {\
|
||||
"packageLocation": "./.yarn/cache/eslint-npm-8.49.0-1b802e43a1-4dfe257e1e.zip/node_modules/eslint/",\
|
||||
"packageDependencies": [\
|
||||
["eslint", "npm:8.48.0"],\
|
||||
["@eslint-community/eslint-utils", "virtual:0dd1c3662912d25464a284caa5dbde8cc315ca056be4ded44d6f67e20c4895461cf49fc7bff27c35f254bdb0924477031e3e50d50a333908daaff17dcf43b01d#npm:4.4.0"],\
|
||||
["eslint", "npm:8.49.0"],\
|
||||
["@eslint-community/eslint-utils", "virtual:1b802e43a1d6cfd4888588e031e9b9539c10922666207f02b37e1572beffa71b5952c5b88bdcc1e2ff0080ea3baa9b39a63225d9ea667488d5ab782bed5718c7#npm:4.4.0"],\
|
||||
["@eslint-community/regexpp", "npm:4.8.0"],\
|
||||
["@eslint/eslintrc", "npm:2.1.2"],\
|
||||
["@eslint/js", "npm:8.48.0"],\
|
||||
["@humanwhocodes/config-array", "npm:0.11.10"],\
|
||||
["@eslint/js", "npm:8.49.0"],\
|
||||
["@humanwhocodes/config-array", "npm:0.11.11"],\
|
||||
["@humanwhocodes/module-importer", "npm:1.0.1"],\
|
||||
["@nodelib/fs.walk", "npm:1.2.8"],\
|
||||
["ajv", "npm:6.12.6"],\
|
||||
|
@ -4691,9 +4691,9 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
|||
["@types/eslint-plugin-import", null],\
|
||||
["@types/eslint-plugin-n", null],\
|
||||
["@types/eslint-plugin-promise", null],\
|
||||
["eslint", "npm:8.48.0"],\
|
||||
["eslint", "npm:8.49.0"],\
|
||||
["eslint-plugin-import", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.28.1"],\
|
||||
["eslint-plugin-n", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:16.0.2"],\
|
||||
["eslint-plugin-n", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:16.1.0"],\
|
||||
["eslint-plugin-promise", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.1"]\
|
||||
],\
|
||||
"packagePeers": [\
|
||||
|
@ -4740,7 +4740,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
|||
["@types/typescript-eslint__parser", null],\
|
||||
["@typescript-eslint/parser", null],\
|
||||
["debug", "virtual:65bed195431eadffc59e2238eb20cc12d9a1665bc7458ce780a9320ff795091b03cb5c4c2094938315ddd967b5b02c0f1df67b3ed435c69b7457092b7cc06ed8#npm:3.2.7"],\
|
||||
["eslint", "npm:8.48.0"],\
|
||||
["eslint", "npm:8.49.0"],\
|
||||
["eslint-import-resolver-node", "npm:0.3.7"],\
|
||||
["eslint-import-resolver-typescript", null],\
|
||||
["eslint-import-resolver-webpack", null]\
|
||||
|
@ -4773,7 +4773,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
|||
"packageDependencies": [\
|
||||
["eslint-plugin-cypress", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.14.0"],\
|
||||
["@types/eslint", null],\
|
||||
["eslint", "npm:8.48.0"],\
|
||||
["eslint", "npm:8.49.0"],\
|
||||
["globals", "npm:13.21.0"]\
|
||||
],\
|
||||
"packagePeers": [\
|
||||
|
@ -4796,7 +4796,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
|||
"packageDependencies": [\
|
||||
["eslint-plugin-es", "virtual:5cccaf00e87dfff96dbbb5eaf7a3055373358b8114d6a1adfb32f54ed6b40ba06068d3aa1fdd8062899a0cad040f68c17cc6b72bac2cdbe9700f3d6330d112f3#npm:3.0.1"],\
|
||||
["@types/eslint", null],\
|
||||
["eslint", "npm:8.48.0"],\
|
||||
["eslint", "npm:8.49.0"],\
|
||||
["eslint-utils", "npm:2.1.0"],\
|
||||
["regexpp", "npm:3.2.0"]\
|
||||
],\
|
||||
|
@ -4815,14 +4815,14 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
|||
],\
|
||||
"linkType": "SOFT"\
|
||||
}],\
|
||||
["virtual:40d6f5c942a7ef0ae65f54bca96af56e7db0d52fb7321d7f8d1da62ed519e1f8c80fdfb1299383ab8a4a5e7182ecc1d4bae33d806b79817d62ed4ad091e77615#npm:7.1.0", {\
|
||||
"packageLocation": "./.yarn/__virtual__/eslint-plugin-es-x-virtual-3346953c48/0/cache/eslint-plugin-es-x-npm-7.1.0-35735e8bbc-a19924313c.zip/node_modules/eslint-plugin-es-x/",\
|
||||
["virtual:9781ae938be7131b5685249f65c2d227d13395e62123d3b23a131614e18b016978a73fff3ac8d9c3709f25fa05a3e0f4cdf798416576354013fb49b6cd33487d#npm:7.1.0", {\
|
||||
"packageLocation": "./.yarn/__virtual__/eslint-plugin-es-x-virtual-276ea3759f/0/cache/eslint-plugin-es-x-npm-7.1.0-35735e8bbc-a19924313c.zip/node_modules/eslint-plugin-es-x/",\
|
||||
"packageDependencies": [\
|
||||
["eslint-plugin-es-x", "virtual:40d6f5c942a7ef0ae65f54bca96af56e7db0d52fb7321d7f8d1da62ed519e1f8c80fdfb1299383ab8a4a5e7182ecc1d4bae33d806b79817d62ed4ad091e77615#npm:7.1.0"],\
|
||||
["@eslint-community/eslint-utils", "virtual:0dd1c3662912d25464a284caa5dbde8cc315ca056be4ded44d6f67e20c4895461cf49fc7bff27c35f254bdb0924477031e3e50d50a333908daaff17dcf43b01d#npm:4.4.0"],\
|
||||
["eslint-plugin-es-x", "virtual:9781ae938be7131b5685249f65c2d227d13395e62123d3b23a131614e18b016978a73fff3ac8d9c3709f25fa05a3e0f4cdf798416576354013fb49b6cd33487d#npm:7.1.0"],\
|
||||
["@eslint-community/eslint-utils", "virtual:1b802e43a1d6cfd4888588e031e9b9539c10922666207f02b37e1572beffa71b5952c5b88bdcc1e2ff0080ea3baa9b39a63225d9ea667488d5ab782bed5718c7#npm:4.4.0"],\
|
||||
["@eslint-community/regexpp", "npm:4.5.1"],\
|
||||
["@types/eslint", null],\
|
||||
["eslint", "npm:8.48.0"]\
|
||||
["eslint", "npm:8.49.0"]\
|
||||
],\
|
||||
"packagePeers": [\
|
||||
"@types/eslint",\
|
||||
|
@ -4852,7 +4852,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
|||
["array.prototype.flatmap", "npm:1.3.1"],\
|
||||
["debug", "virtual:65bed195431eadffc59e2238eb20cc12d9a1665bc7458ce780a9320ff795091b03cb5c4c2094938315ddd967b5b02c0f1df67b3ed435c69b7457092b7cc06ed8#npm:3.2.7"],\
|
||||
["doctrine", "npm:2.1.0"],\
|
||||
["eslint", "npm:8.48.0"],\
|
||||
["eslint", "npm:8.49.0"],\
|
||||
["eslint-import-resolver-node", "npm:0.3.7"],\
|
||||
["eslint-module-utils", "virtual:ef2ff17f0affe5aeeb05f2e27f2212e975bb78d898c026b74cc62e05a17de36abb35a54f0831f2ff5fced26e6128bfc2c0cf332f7c60149823619b008d0ea480#npm:2.8.0"],\
|
||||
["has", "npm:1.0.3"],\
|
||||
|
@ -4875,22 +4875,23 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
|||
}]\
|
||||
]],\
|
||||
["eslint-plugin-n", [\
|
||||
["npm:16.0.2", {\
|
||||
"packageLocation": "./.yarn/cache/eslint-plugin-n-npm-16.0.2-6a256d6ab7-44cffe32a3.zip/node_modules/eslint-plugin-n/",\
|
||||
["npm:16.1.0", {\
|
||||
"packageLocation": "./.yarn/cache/eslint-plugin-n-npm-16.1.0-d4092716f8-6b70bf8eec.zip/node_modules/eslint-plugin-n/",\
|
||||
"packageDependencies": [\
|
||||
["eslint-plugin-n", "npm:16.0.2"]\
|
||||
["eslint-plugin-n", "npm:16.1.0"]\
|
||||
],\
|
||||
"linkType": "SOFT"\
|
||||
}],\
|
||||
["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:16.0.2", {\
|
||||
"packageLocation": "./.yarn/__virtual__/eslint-plugin-n-virtual-40d6f5c942/0/cache/eslint-plugin-n-npm-16.0.2-6a256d6ab7-44cffe32a3.zip/node_modules/eslint-plugin-n/",\
|
||||
["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:16.1.0", {\
|
||||
"packageLocation": "./.yarn/__virtual__/eslint-plugin-n-virtual-9781ae938b/0/cache/eslint-plugin-n-npm-16.1.0-d4092716f8-6b70bf8eec.zip/node_modules/eslint-plugin-n/",\
|
||||
"packageDependencies": [\
|
||||
["eslint-plugin-n", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:16.0.2"],\
|
||||
["@eslint-community/eslint-utils", "virtual:0dd1c3662912d25464a284caa5dbde8cc315ca056be4ded44d6f67e20c4895461cf49fc7bff27c35f254bdb0924477031e3e50d50a333908daaff17dcf43b01d#npm:4.4.0"],\
|
||||
["eslint-plugin-n", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:16.1.0"],\
|
||||
["@eslint-community/eslint-utils", "virtual:1b802e43a1d6cfd4888588e031e9b9539c10922666207f02b37e1572beffa71b5952c5b88bdcc1e2ff0080ea3baa9b39a63225d9ea667488d5ab782bed5718c7#npm:4.4.0"],\
|
||||
["@types/eslint", null],\
|
||||
["builtins", "npm:5.0.1"],\
|
||||
["eslint", "npm:8.48.0"],\
|
||||
["eslint-plugin-es-x", "virtual:40d6f5c942a7ef0ae65f54bca96af56e7db0d52fb7321d7f8d1da62ed519e1f8c80fdfb1299383ab8a4a5e7182ecc1d4bae33d806b79817d62ed4ad091e77615#npm:7.1.0"],\
|
||||
["eslint", "npm:8.49.0"],\
|
||||
["eslint-plugin-es-x", "virtual:9781ae938be7131b5685249f65c2d227d13395e62123d3b23a131614e18b016978a73fff3ac8d9c3709f25fa05a3e0f4cdf798416576354013fb49b6cd33487d#npm:7.1.0"],\
|
||||
["get-tsconfig", "npm:4.7.2"],\
|
||||
["ignore", "npm:5.2.4"],\
|
||||
["is-core-module", "npm:2.12.1"],\
|
||||
["minimatch", "npm:3.1.2"],\
|
||||
|
@ -4917,7 +4918,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
|||
"packageDependencies": [\
|
||||
["eslint-plugin-node", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:11.1.0"],\
|
||||
["@types/eslint", null],\
|
||||
["eslint", "npm:8.48.0"],\
|
||||
["eslint", "npm:8.49.0"],\
|
||||
["eslint-plugin-es", "virtual:5cccaf00e87dfff96dbbb5eaf7a3055373358b8114d6a1adfb32f54ed6b40ba06068d3aa1fdd8062899a0cad040f68c17cc6b72bac2cdbe9700f3d6330d112f3#npm:3.0.1"],\
|
||||
["eslint-utils", "npm:2.1.0"],\
|
||||
["ignore", "npm:5.2.0"],\
|
||||
|
@ -4945,7 +4946,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
|||
"packageDependencies": [\
|
||||
["eslint-plugin-promise", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.1"],\
|
||||
["@types/eslint", null],\
|
||||
["eslint", "npm:8.48.0"]\
|
||||
["eslint", "npm:8.49.0"]\
|
||||
],\
|
||||
"packagePeers": [\
|
||||
"@types/eslint",\
|
||||
|
@ -4966,9 +4967,9 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
|||
"packageLocation": "./.yarn/__virtual__/eslint-plugin-vue-virtual-e39e5d6bef/0/cache/eslint-plugin-vue-npm-9.17.0-c32115eab8-2ef53a0387.zip/node_modules/eslint-plugin-vue/",\
|
||||
"packageDependencies": [\
|
||||
["eslint-plugin-vue", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:9.17.0"],\
|
||||
["@eslint-community/eslint-utils", "virtual:0dd1c3662912d25464a284caa5dbde8cc315ca056be4ded44d6f67e20c4895461cf49fc7bff27c35f254bdb0924477031e3e50d50a333908daaff17dcf43b01d#npm:4.4.0"],\
|
||||
["@eslint-community/eslint-utils", "virtual:1b802e43a1d6cfd4888588e031e9b9539c10922666207f02b37e1572beffa71b5952c5b88bdcc1e2ff0080ea3baa9b39a63225d9ea667488d5ab782bed5718c7#npm:4.4.0"],\
|
||||
["@types/eslint", null],\
|
||||
["eslint", "npm:8.48.0"],\
|
||||
["eslint", "npm:8.49.0"],\
|
||||
["natural-compare", "npm:1.4.0"],\
|
||||
["nth-check", "npm:2.1.1"],\
|
||||
["postcss-selector-parser", "npm:6.0.13"],\
|
||||
|
@ -5420,6 +5421,16 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
|||
"linkType": "HARD"\
|
||||
}]\
|
||||
]],\
|
||||
["get-tsconfig", [\
|
||||
["npm:4.7.2", {\
|
||||
"packageLocation": "./.yarn/cache/get-tsconfig-npm-4.7.2-8fbccd9fcf-1723589032.zip/node_modules/get-tsconfig/",\
|
||||
"packageDependencies": [\
|
||||
["get-tsconfig", "npm:4.7.2"],\
|
||||
["resolve-pkg-maps", "npm:1.0.0"]\
|
||||
],\
|
||||
"linkType": "HARD"\
|
||||
}]\
|
||||
]],\
|
||||
["glob", [\
|
||||
["npm:10.2.4", {\
|
||||
"packageLocation": "./.yarn/cache/glob-npm-10.2.4-49f715fccc-29845faaa1.zip/node_modules/glob/",\
|
||||
|
@ -5651,20 +5662,20 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
|||
}]\
|
||||
]],\
|
||||
["html-validate", [\
|
||||
["npm:8.3.0", {\
|
||||
"packageLocation": "./.yarn/cache/html-validate-npm-8.3.0-71b7ba49e2-fd96a96fa7.zip/node_modules/html-validate/",\
|
||||
["npm:8.4.0", {\
|
||||
"packageLocation": "./.yarn/cache/html-validate-npm-8.4.0-4d1a9d1021-5a063e3bb0.zip/node_modules/html-validate/",\
|
||||
"packageDependencies": [\
|
||||
["html-validate", "npm:8.3.0"]\
|
||||
["html-validate", "npm:8.4.0"]\
|
||||
],\
|
||||
"linkType": "SOFT"\
|
||||
}],\
|
||||
["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:8.3.0", {\
|
||||
"packageLocation": "./.yarn/__virtual__/html-validate-virtual-0f17270113/0/cache/html-validate-npm-8.3.0-71b7ba49e2-fd96a96fa7.zip/node_modules/html-validate/",\
|
||||
["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:8.4.0", {\
|
||||
"packageLocation": "./.yarn/__virtual__/html-validate-virtual-baa02fb51e/0/cache/html-validate-npm-8.4.0-4d1a9d1021-5a063e3bb0.zip/node_modules/html-validate/",\
|
||||
"packageDependencies": [\
|
||||
["html-validate", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:8.3.0"],\
|
||||
["html-validate", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:8.4.0"],\
|
||||
["@babel/code-frame", "npm:7.16.7"],\
|
||||
["@html-validate/stylish", "npm:4.1.0"],\
|
||||
["@sidvind/better-ajv-errors", "virtual:0f17270113a645b9ccd471681c6953a9ecf2cc875b79eb96d26d7cb579b1f042c2aaab59d6799ee85bf4e9b312f464a118c211e37c33fa47b3e11095c49e32d7#npm:2.0.0"],\
|
||||
["@sidvind/better-ajv-errors", "virtual:baa02fb51e75f1f03e1ff0c1be104192da948332a9fd904d571b0b912d6ac16a98b4b63cb9465421728b6af4a1bb50f995b9b5018f7f90329de80b4a8ff40be4#npm:2.0.0"],\
|
||||
["@types/jest", null],\
|
||||
["@types/jest-diff", null],\
|
||||
["@types/jest-snapshot", null],\
|
||||
|
@ -6701,10 +6712,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
|||
}]\
|
||||
]],\
|
||||
["luxon", [\
|
||||
["npm:3.4.0", {\
|
||||
"packageLocation": "./.yarn/cache/luxon-npm-3.4.0-8e0b97226e-ca9b6d0e0a.zip/node_modules/luxon/",\
|
||||
["npm:3.4.3", {\
|
||||
"packageLocation": "./.yarn/cache/luxon-npm-3.4.3-1b54517fa6-3eade81506.zip/node_modules/luxon/",\
|
||||
"packageDependencies": [\
|
||||
["luxon", "npm:3.4.0"]\
|
||||
["luxon", "npm:3.4.3"]\
|
||||
],\
|
||||
"linkType": "HARD"\
|
||||
}]\
|
||||
|
@ -8043,6 +8054,15 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
|||
"linkType": "HARD"\
|
||||
}]\
|
||||
]],\
|
||||
["resolve-pkg-maps", [\
|
||||
["npm:1.0.0", {\
|
||||
"packageLocation": "./.yarn/cache/resolve-pkg-maps-npm-1.0.0-135b70c854-1012afc566.zip/node_modules/resolve-pkg-maps/",\
|
||||
"packageDependencies": [\
|
||||
["resolve-pkg-maps", "npm:1.0.0"]\
|
||||
],\
|
||||
"linkType": "HARD"\
|
||||
}]\
|
||||
]],\
|
||||
["retry", [\
|
||||
["npm:0.12.0", {\
|
||||
"packageLocation": "./.yarn/cache/retry-npm-0.12.0-72ac7fb4cc-623bd7d2e5.zip/node_modules/retry/",\
|
||||
|
@ -8101,7 +8121,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
|||
["@fullcalendar/icalendar", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.8"],\
|
||||
["@fullcalendar/interaction", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.8"],\
|
||||
["@fullcalendar/list", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.8"],\
|
||||
["@fullcalendar/luxon3", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.8"],\
|
||||
["@fullcalendar/luxon3", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.9"],\
|
||||
["@fullcalendar/timegrid", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.8"],\
|
||||
["@fullcalendar/vue3", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.8"],\
|
||||
["@parcel/optimizer-data-url", "npm:2.9.3"],\
|
||||
|
@ -8110,25 +8130,25 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
|||
["@popperjs/core", "npm:2.11.8"],\
|
||||
["@rollup/pluginutils", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:5.0.4"],\
|
||||
["@twuni/emojify", "npm:1.0.2"],\
|
||||
["@vitejs/plugin-vue", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.3.3"],\
|
||||
["bootstrap", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:5.3.1"],\
|
||||
["bootstrap-icons", "npm:1.10.5"],\
|
||||
["browser-fs-access", "npm:0.34.1"],\
|
||||
["@vitejs/plugin-vue", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.3.4"],\
|
||||
["bootstrap", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:5.3.2"],\
|
||||
["bootstrap-icons", "npm:1.11.1"],\
|
||||
["browser-fs-access", "npm:0.35.0"],\
|
||||
["browserlist", "npm:1.0.1"],\
|
||||
["c8", "npm:8.0.1"],\
|
||||
["caniuse-lite", "npm:1.0.30001519"],\
|
||||
["caniuse-lite", "npm:1.0.30001538"],\
|
||||
["d3", "npm:7.8.5"],\
|
||||
["eslint", "npm:8.48.0"],\
|
||||
["eslint", "npm:8.49.0"],\
|
||||
["eslint-config-standard", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:17.1.0"],\
|
||||
["eslint-plugin-cypress", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.14.0"],\
|
||||
["eslint-plugin-import", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.28.1"],\
|
||||
["eslint-plugin-n", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:16.0.2"],\
|
||||
["eslint-plugin-n", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:16.1.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.17.0"],\
|
||||
["file-saver", "npm:2.0.5"],\
|
||||
["highcharts", "npm:11.1.0"],\
|
||||
["html-validate", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:8.3.0"],\
|
||||
["html-validate", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:8.4.0"],\
|
||||
["ical.js", "npm:1.5.0"],\
|
||||
["jquery", "npm:3.7.1"],\
|
||||
["jquery-migrate", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:3.4.1"],\
|
||||
|
@ -8136,7 +8156,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
|||
["list.js", "npm:2.3.1"],\
|
||||
["lodash", "npm:4.17.21"],\
|
||||
["lodash-es", "npm:4.17.21"],\
|
||||
["luxon", "npm:3.4.0"],\
|
||||
["luxon", "npm:3.4.3"],\
|
||||
["moment", "npm:2.29.4"],\
|
||||
["moment-timezone", "npm:0.5.43"],\
|
||||
["ms", "npm:2.1.3"],\
|
||||
|
@ -8146,7 +8166,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
|||
["pinia", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.1.6"],\
|
||||
["pinia-plugin-persist", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:1.0.0"],\
|
||||
["pug", "npm:3.0.2"],\
|
||||
["sass", "npm:1.66.1"],\
|
||||
["sass", "npm:1.67.0"],\
|
||||
["seedrandom", "npm:3.0.5"],\
|
||||
["select2", "npm:4.1.0-rc.0"],\
|
||||
["select2-bootstrap-5-theme", "npm:1.3.0"],\
|
||||
|
@ -8243,10 +8263,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
|||
],\
|
||||
"linkType": "HARD"\
|
||||
}],\
|
||||
["npm:1.66.1", {\
|
||||
"packageLocation": "./.yarn/cache/sass-npm-1.66.1-563acb4a8f-74fc11d0fc.zip/node_modules/sass/",\
|
||||
["npm:1.67.0", {\
|
||||
"packageLocation": "./.yarn/cache/sass-npm-1.67.0-d0fceb9574-9e7566e8b7.zip/node_modules/sass/",\
|
||||
"packageDependencies": [\
|
||||
["sass", "npm:1.66.1"],\
|
||||
["sass", "npm:1.67.0"],\
|
||||
["chokidar", "npm:3.5.3"],\
|
||||
["immutable", "npm:4.0.0"],\
|
||||
["source-map-js", "npm:1.0.2"]\
|
||||
|
@ -9029,7 +9049,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
|||
["lightningcss", null],\
|
||||
["postcss", "npm:8.4.27"],\
|
||||
["rollup", "npm:3.28.0"],\
|
||||
["sass", "npm:1.66.1"],\
|
||||
["sass", "npm:1.67.0"],\
|
||||
["stylus", null],\
|
||||
["sugarss", null],\
|
||||
["terser", null]\
|
||||
|
@ -9162,7 +9182,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
|||
["vue-eslint-parser", "virtual:e39e5d6bef7a93bd3b21c5c9ba6ef825c92fc73c8d9c9e01699e1dc11e40fd3bc150ba16509e2cf59495cb098c32b2e4a85c0c21802fddeffc3208b01f4f5a16#npm:9.3.1"],\
|
||||
["@types/eslint", null],\
|
||||
["debug", "virtual:b86a9fb34323a98c6519528ed55faa0d9b44ca8879307c0b29aa384bde47ff59a7d0c9051b31246f14521dfb71ba3c5d6d0b35c29fffc17bf875aa6ad977d9e8#npm:4.3.4"],\
|
||||
["eslint", "npm:8.48.0"],\
|
||||
["eslint", "npm:8.49.0"],\
|
||||
["eslint-scope", "npm:7.1.1"],\
|
||||
["eslint-visitor-keys", "npm:3.3.0"],\
|
||||
["espree", "npm:9.3.2"],\
|
||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
.yarn/cache/@vitejs-plugin-vue-npm-4.3.4-0e0b5c48a9-95bf6c85c0.zip
vendored
Normal file
BIN
.yarn/cache/@vitejs-plugin-vue-npm-4.3.4-0e0b5c48a9-95bf6c85c0.zip
vendored
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
.yarn/cache/bootstrap-npm-5.3.2-20b391b636-d5580b253d.zip
vendored
Normal file
BIN
.yarn/cache/bootstrap-npm-5.3.2-20b391b636-d5580b253d.zip
vendored
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
.yarn/cache/caniuse-lite-npm-1.0.30001538-68bfe8259b-94c5d55757.zip
vendored
Normal file
BIN
.yarn/cache/caniuse-lite-npm-1.0.30001538-68bfe8259b-94c5d55757.zip
vendored
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
.yarn/cache/get-tsconfig-npm-4.7.2-8fbccd9fcf-1723589032.zip
vendored
Normal file
BIN
.yarn/cache/get-tsconfig-npm-4.7.2-8fbccd9fcf-1723589032.zip
vendored
Normal file
Binary file not shown.
Binary file not shown.
BIN
.yarn/cache/html-validate-npm-8.4.0-4d1a9d1021-5a063e3bb0.zip
vendored
Normal file
BIN
.yarn/cache/html-validate-npm-8.4.0-4d1a9d1021-5a063e3bb0.zip
vendored
Normal file
Binary file not shown.
Binary file not shown.
BIN
.yarn/cache/luxon-npm-3.4.3-1b54517fa6-3eade81506.zip
vendored
Normal file
BIN
.yarn/cache/luxon-npm-3.4.3-1b54517fa6-3eade81506.zip
vendored
Normal file
Binary file not shown.
BIN
.yarn/cache/resolve-pkg-maps-npm-1.0.0-135b70c854-1012afc566.zip
vendored
Normal file
BIN
.yarn/cache/resolve-pkg-maps-npm-1.0.0-135b70c854-1012afc566.zip
vendored
Normal file
Binary file not shown.
Binary file not shown.
BIN
.yarn/cache/sass-npm-1.67.0-d0fceb9574-9e7566e8b7.zip
vendored
Normal file
BIN
.yarn/cache/sass-npm-1.67.0-d0fceb9574-9e7566e8b7.zip
vendored
Normal file
Binary file not shown.
74
dev/coverage-action/package-lock.json
generated
74
dev/coverage-action/package-lock.json
generated
|
@ -9,15 +9,15 @@
|
|||
"version": "1.0.0",
|
||||
"license": "BSD-3-Clause",
|
||||
"dependencies": {
|
||||
"@actions/core": "1.10.0",
|
||||
"@actions/core": "1.10.1",
|
||||
"@actions/github": "5.1.1",
|
||||
"chart.js": "3.5.1",
|
||||
"chartjs-node-canvas": "4.1.6",
|
||||
"lodash": "4.17.21",
|
||||
"luxon": "3.4.0"
|
||||
"luxon": "3.4.3"
|
||||
},
|
||||
"devDependencies": {
|
||||
"eslint": "8.48.0",
|
||||
"eslint": "8.49.0",
|
||||
"eslint-config-standard": "17.1.0",
|
||||
"eslint-plugin-import": "2.28.1",
|
||||
"eslint-plugin-node": "11.1.0",
|
||||
|
@ -35,9 +35,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@actions/core": {
|
||||
"version": "1.10.0",
|
||||
"resolved": "https://registry.npmjs.org/@actions/core/-/core-1.10.0.tgz",
|
||||
"integrity": "sha512-2aZDDa3zrrZbP5ZYg159sNoLRb61nQ7awl5pSvIq5Qpj81vwDzdMRKzkWJGJuwVvWpvZKx7vspJALyvaaIQyug==",
|
||||
"version": "1.10.1",
|
||||
"resolved": "https://registry.npmjs.org/@actions/core/-/core-1.10.1.tgz",
|
||||
"integrity": "sha512-3lBR9EDAY+iYIpTnTIXmWcNbX3T2kCkAEQGIQx4NVQ0575nk2k3GRZDTPQG+vVtS2izSLmINlxXf0uLtnrTP+g==",
|
||||
"dependencies": {
|
||||
"@actions/http-client": "^2.0.1",
|
||||
"uuid": "^8.3.2"
|
||||
|
@ -120,18 +120,18 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@eslint/js": {
|
||||
"version": "8.48.0",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.48.0.tgz",
|
||||
"integrity": "sha512-ZSjtmelB7IJfWD2Fvb7+Z+ChTIKWq6kjda95fLcQKNS5aheVHn4IkfgRQE3sIIzTcSLwLcLZUD9UBt+V7+h+Pw==",
|
||||
"version": "8.49.0",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.49.0.tgz",
|
||||
"integrity": "sha512-1S8uAY/MTJqVx0SC4epBq+N2yhuwtNwLbJYNZyhL2pO1ZVKn5HFXav5T41Ryzy9K9V7ZId2JB2oy/W4aCd9/2w==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@humanwhocodes/config-array": {
|
||||
"version": "0.11.10",
|
||||
"resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz",
|
||||
"integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==",
|
||||
"version": "0.11.11",
|
||||
"resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.11.tgz",
|
||||
"integrity": "sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@humanwhocodes/object-schema": "^1.2.1",
|
||||
|
@ -1765,16 +1765,16 @@
|
|||
}
|
||||
},
|
||||
"node_modules/eslint": {
|
||||
"version": "8.48.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.48.0.tgz",
|
||||
"integrity": "sha512-sb6DLeIuRXxeM1YljSe1KEx9/YYeZFQWcV8Rq9HfigmdDEugjLEVEa1ozDjL6YDjBpQHPJxJzze+alxi4T3OLg==",
|
||||
"version": "8.49.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.49.0.tgz",
|
||||
"integrity": "sha512-jw03ENfm6VJI0jA9U+8H5zfl5b+FvuU3YYvZRdZHOlU2ggJkxrlkJH4HcDrZpj6YwD8kuYqvQM8LyesoazrSOQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@eslint-community/eslint-utils": "^4.2.0",
|
||||
"@eslint-community/regexpp": "^4.6.1",
|
||||
"@eslint/eslintrc": "^2.1.2",
|
||||
"@eslint/js": "8.48.0",
|
||||
"@humanwhocodes/config-array": "^0.11.10",
|
||||
"@eslint/js": "8.49.0",
|
||||
"@humanwhocodes/config-array": "^0.11.11",
|
||||
"@humanwhocodes/module-importer": "^1.0.1",
|
||||
"@nodelib/fs.walk": "^1.2.8",
|
||||
"ajv": "^6.12.4",
|
||||
|
@ -3550,9 +3550,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/luxon": {
|
||||
"version": "3.4.0",
|
||||
"resolved": "https://registry.npmjs.org/luxon/-/luxon-3.4.0.tgz",
|
||||
"integrity": "sha512-7eDo4Pt7aGhoCheGFIuq4Xa2fJm4ZpmldpGhjTYBNUYNCN6TIEP6v7chwwwt3KRp7YR+rghbfvjyo3V5y9hgBw==",
|
||||
"version": "3.4.3",
|
||||
"resolved": "https://registry.npmjs.org/luxon/-/luxon-3.4.3.tgz",
|
||||
"integrity": "sha512-tFWBiv3h7z+T/tDaoxA8rqTxy1CHV6gHS//QdaH4pulbq/JuBSGgQspQQqcgnwdAx6pNI7cmvz5Sv/addzHmUg==",
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
}
|
||||
|
@ -6080,9 +6080,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"@actions/core": {
|
||||
"version": "1.10.0",
|
||||
"resolved": "https://registry.npmjs.org/@actions/core/-/core-1.10.0.tgz",
|
||||
"integrity": "sha512-2aZDDa3zrrZbP5ZYg159sNoLRb61nQ7awl5pSvIq5Qpj81vwDzdMRKzkWJGJuwVvWpvZKx7vspJALyvaaIQyug==",
|
||||
"version": "1.10.1",
|
||||
"resolved": "https://registry.npmjs.org/@actions/core/-/core-1.10.1.tgz",
|
||||
"integrity": "sha512-3lBR9EDAY+iYIpTnTIXmWcNbX3T2kCkAEQGIQx4NVQ0575nk2k3GRZDTPQG+vVtS2izSLmINlxXf0uLtnrTP+g==",
|
||||
"requires": {
|
||||
"@actions/http-client": "^2.0.1",
|
||||
"uuid": "^8.3.2"
|
||||
|
@ -6147,15 +6147,15 @@
|
|||
}
|
||||
},
|
||||
"@eslint/js": {
|
||||
"version": "8.48.0",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.48.0.tgz",
|
||||
"integrity": "sha512-ZSjtmelB7IJfWD2Fvb7+Z+ChTIKWq6kjda95fLcQKNS5aheVHn4IkfgRQE3sIIzTcSLwLcLZUD9UBt+V7+h+Pw==",
|
||||
"version": "8.49.0",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.49.0.tgz",
|
||||
"integrity": "sha512-1S8uAY/MTJqVx0SC4epBq+N2yhuwtNwLbJYNZyhL2pO1ZVKn5HFXav5T41Ryzy9K9V7ZId2JB2oy/W4aCd9/2w==",
|
||||
"dev": true
|
||||
},
|
||||
"@humanwhocodes/config-array": {
|
||||
"version": "0.11.10",
|
||||
"resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz",
|
||||
"integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==",
|
||||
"version": "0.11.11",
|
||||
"resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.11.tgz",
|
||||
"integrity": "sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@humanwhocodes/object-schema": "^1.2.1",
|
||||
|
@ -7373,16 +7373,16 @@
|
|||
"dev": true
|
||||
},
|
||||
"eslint": {
|
||||
"version": "8.48.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.48.0.tgz",
|
||||
"integrity": "sha512-sb6DLeIuRXxeM1YljSe1KEx9/YYeZFQWcV8Rq9HfigmdDEugjLEVEa1ozDjL6YDjBpQHPJxJzze+alxi4T3OLg==",
|
||||
"version": "8.49.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.49.0.tgz",
|
||||
"integrity": "sha512-jw03ENfm6VJI0jA9U+8H5zfl5b+FvuU3YYvZRdZHOlU2ggJkxrlkJH4HcDrZpj6YwD8kuYqvQM8LyesoazrSOQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@eslint-community/eslint-utils": "^4.2.0",
|
||||
"@eslint-community/regexpp": "^4.6.1",
|
||||
"@eslint/eslintrc": "^2.1.2",
|
||||
"@eslint/js": "8.48.0",
|
||||
"@humanwhocodes/config-array": "^0.11.10",
|
||||
"@eslint/js": "8.49.0",
|
||||
"@humanwhocodes/config-array": "^0.11.11",
|
||||
"@humanwhocodes/module-importer": "^1.0.1",
|
||||
"@nodelib/fs.walk": "^1.2.8",
|
||||
"ajv": "^6.12.4",
|
||||
|
@ -8658,9 +8658,9 @@
|
|||
}
|
||||
},
|
||||
"luxon": {
|
||||
"version": "3.4.0",
|
||||
"resolved": "https://registry.npmjs.org/luxon/-/luxon-3.4.0.tgz",
|
||||
"integrity": "sha512-7eDo4Pt7aGhoCheGFIuq4Xa2fJm4ZpmldpGhjTYBNUYNCN6TIEP6v7chwwwt3KRp7YR+rghbfvjyo3V5y9hgBw=="
|
||||
"version": "3.4.3",
|
||||
"resolved": "https://registry.npmjs.org/luxon/-/luxon-3.4.3.tgz",
|
||||
"integrity": "sha512-tFWBiv3h7z+T/tDaoxA8rqTxy1CHV6gHS//QdaH4pulbq/JuBSGgQspQQqcgnwdAx6pNI7cmvz5Sv/addzHmUg=="
|
||||
},
|
||||
"make-dir": {
|
||||
"version": "3.1.0",
|
||||
|
|
|
@ -6,15 +6,15 @@
|
|||
"author": "IETF Trust",
|
||||
"license": "BSD-3-Clause",
|
||||
"dependencies": {
|
||||
"@actions/core": "1.10.0",
|
||||
"@actions/core": "1.10.1",
|
||||
"@actions/github": "5.1.1",
|
||||
"chart.js": "3.5.1",
|
||||
"chartjs-node-canvas": "4.1.6",
|
||||
"lodash": "4.17.21",
|
||||
"luxon": "3.4.0"
|
||||
"luxon": "3.4.3"
|
||||
},
|
||||
"devDependencies": {
|
||||
"eslint": "8.48.0",
|
||||
"eslint": "8.49.0",
|
||||
"eslint-config-standard": "17.1.0",
|
||||
"eslint-plugin-import": "2.28.1",
|
||||
"eslint-plugin-node": "11.1.0",
|
||||
|
|
30
dev/deploy-to-container/package-lock.json
generated
30
dev/deploy-to-container/package-lock.json
generated
|
@ -8,10 +8,10 @@
|
|||
"dependencies": {
|
||||
"dockerode": "^3.3.5",
|
||||
"fs-extra": "^11.1.1",
|
||||
"nanoid": "4.0.2",
|
||||
"nanoid": "5.0.1",
|
||||
"nanoid-dictionary": "5.0.0-beta.1",
|
||||
"slugify": "1.6.6",
|
||||
"tar": "^6.1.15",
|
||||
"tar": "^6.2.0",
|
||||
"yargs": "^17.7.2"
|
||||
},
|
||||
"engines": {
|
||||
|
@ -337,9 +337,9 @@
|
|||
"optional": true
|
||||
},
|
||||
"node_modules/nanoid": {
|
||||
"version": "4.0.2",
|
||||
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-4.0.2.tgz",
|
||||
"integrity": "sha512-7ZtY5KTCNheRGfEFxnedV5zFiORN1+Y1N6zvPTnHQd8ENUvfaDBeuJDZb2bN/oXwXxu3qkTXDzy57W5vAmDTBw==",
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-5.0.1.tgz",
|
||||
"integrity": "sha512-vWeVtV5Cw68aML/QaZvqN/3QQXc6fBfIieAlu05m7FZW2Dgb+3f0xc0TTxuJW+7u30t7iSDTV/j3kVI0oJqIfQ==",
|
||||
"funding": [
|
||||
{
|
||||
"type": "github",
|
||||
|
@ -350,7 +350,7 @@
|
|||
"nanoid": "bin/nanoid.js"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^14 || ^16 || >=18"
|
||||
"node": "^18 || >=20"
|
||||
}
|
||||
},
|
||||
"node_modules/nanoid-dictionary": {
|
||||
|
@ -483,9 +483,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/tar": {
|
||||
"version": "6.1.15",
|
||||
"resolved": "https://registry.npmjs.org/tar/-/tar-6.1.15.tgz",
|
||||
"integrity": "sha512-/zKt9UyngnxIT/EAGYuxaMYgOIJiP81ab9ZfkILq4oNLPFX50qyYmu7jRj9qeXoxmJHjGlbH0+cm2uy1WCs10A==",
|
||||
"version": "6.2.0",
|
||||
"resolved": "https://registry.npmjs.org/tar/-/tar-6.2.0.tgz",
|
||||
"integrity": "sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==",
|
||||
"dependencies": {
|
||||
"chownr": "^2.0.0",
|
||||
"fs-minipass": "^2.0.0",
|
||||
|
@ -878,9 +878,9 @@
|
|||
"optional": true
|
||||
},
|
||||
"nanoid": {
|
||||
"version": "4.0.2",
|
||||
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-4.0.2.tgz",
|
||||
"integrity": "sha512-7ZtY5KTCNheRGfEFxnedV5zFiORN1+Y1N6zvPTnHQd8ENUvfaDBeuJDZb2bN/oXwXxu3qkTXDzy57W5vAmDTBw=="
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-5.0.1.tgz",
|
||||
"integrity": "sha512-vWeVtV5Cw68aML/QaZvqN/3QQXc6fBfIieAlu05m7FZW2Dgb+3f0xc0TTxuJW+7u30t7iSDTV/j3kVI0oJqIfQ=="
|
||||
},
|
||||
"nanoid-dictionary": {
|
||||
"version": "5.0.0-beta.1",
|
||||
|
@ -977,9 +977,9 @@
|
|||
}
|
||||
},
|
||||
"tar": {
|
||||
"version": "6.1.15",
|
||||
"resolved": "https://registry.npmjs.org/tar/-/tar-6.1.15.tgz",
|
||||
"integrity": "sha512-/zKt9UyngnxIT/EAGYuxaMYgOIJiP81ab9ZfkILq4oNLPFX50qyYmu7jRj9qeXoxmJHjGlbH0+cm2uy1WCs10A==",
|
||||
"version": "6.2.0",
|
||||
"resolved": "https://registry.npmjs.org/tar/-/tar-6.2.0.tgz",
|
||||
"integrity": "sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==",
|
||||
"requires": {
|
||||
"chownr": "^2.0.0",
|
||||
"fs-minipass": "^2.0.0",
|
||||
|
|
|
@ -4,10 +4,10 @@
|
|||
"dependencies": {
|
||||
"dockerode": "^3.3.5",
|
||||
"fs-extra": "^11.1.1",
|
||||
"nanoid": "4.0.2",
|
||||
"nanoid": "5.0.1",
|
||||
"nanoid-dictionary": "5.0.0-beta.1",
|
||||
"slugify": "1.6.6",
|
||||
"tar": "^6.1.15",
|
||||
"tar": "^6.2.0",
|
||||
"yargs": "^17.7.2"
|
||||
},
|
||||
"engines": {
|
||||
|
|
28
dev/diff/package-lock.json
generated
28
dev/diff/package-lock.json
generated
|
@ -15,9 +15,9 @@
|
|||
"keypress": "^0.2.1",
|
||||
"listr2": "^6.6.1",
|
||||
"lodash-es": "^4.17.21",
|
||||
"luxon": "^3.4.0",
|
||||
"luxon": "^3.4.3",
|
||||
"pretty-bytes": "^6.1.1",
|
||||
"tar": "^6.1.15",
|
||||
"tar": "^6.2.0",
|
||||
"yargs": "^17.7.2"
|
||||
},
|
||||
"engines": {
|
||||
|
@ -859,9 +859,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/luxon": {
|
||||
"version": "3.4.0",
|
||||
"resolved": "https://registry.npmjs.org/luxon/-/luxon-3.4.0.tgz",
|
||||
"integrity": "sha512-7eDo4Pt7aGhoCheGFIuq4Xa2fJm4ZpmldpGhjTYBNUYNCN6TIEP6v7chwwwt3KRp7YR+rghbfvjyo3V5y9hgBw==",
|
||||
"version": "3.4.3",
|
||||
"resolved": "https://registry.npmjs.org/luxon/-/luxon-3.4.3.tgz",
|
||||
"integrity": "sha512-tFWBiv3h7z+T/tDaoxA8rqTxy1CHV6gHS//QdaH4pulbq/JuBSGgQspQQqcgnwdAx6pNI7cmvz5Sv/addzHmUg==",
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
}
|
||||
|
@ -1193,9 +1193,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/tar": {
|
||||
"version": "6.1.15",
|
||||
"resolved": "https://registry.npmjs.org/tar/-/tar-6.1.15.tgz",
|
||||
"integrity": "sha512-/zKt9UyngnxIT/EAGYuxaMYgOIJiP81ab9ZfkILq4oNLPFX50qyYmu7jRj9qeXoxmJHjGlbH0+cm2uy1WCs10A==",
|
||||
"version": "6.2.0",
|
||||
"resolved": "https://registry.npmjs.org/tar/-/tar-6.2.0.tgz",
|
||||
"integrity": "sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==",
|
||||
"dependencies": {
|
||||
"chownr": "^2.0.0",
|
||||
"fs-minipass": "^2.0.0",
|
||||
|
@ -1950,9 +1950,9 @@
|
|||
"integrity": "sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ=="
|
||||
},
|
||||
"luxon": {
|
||||
"version": "3.4.0",
|
||||
"resolved": "https://registry.npmjs.org/luxon/-/luxon-3.4.0.tgz",
|
||||
"integrity": "sha512-7eDo4Pt7aGhoCheGFIuq4Xa2fJm4ZpmldpGhjTYBNUYNCN6TIEP6v7chwwwt3KRp7YR+rghbfvjyo3V5y9hgBw=="
|
||||
"version": "3.4.3",
|
||||
"resolved": "https://registry.npmjs.org/luxon/-/luxon-3.4.3.tgz",
|
||||
"integrity": "sha512-tFWBiv3h7z+T/tDaoxA8rqTxy1CHV6gHS//QdaH4pulbq/JuBSGgQspQQqcgnwdAx6pNI7cmvz5Sv/addzHmUg=="
|
||||
},
|
||||
"mimic-fn": {
|
||||
"version": "2.1.0",
|
||||
|
@ -2173,9 +2173,9 @@
|
|||
}
|
||||
},
|
||||
"tar": {
|
||||
"version": "6.1.15",
|
||||
"resolved": "https://registry.npmjs.org/tar/-/tar-6.1.15.tgz",
|
||||
"integrity": "sha512-/zKt9UyngnxIT/EAGYuxaMYgOIJiP81ab9ZfkILq4oNLPFX50qyYmu7jRj9qeXoxmJHjGlbH0+cm2uy1WCs10A==",
|
||||
"version": "6.2.0",
|
||||
"resolved": "https://registry.npmjs.org/tar/-/tar-6.2.0.tgz",
|
||||
"integrity": "sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==",
|
||||
"requires": {
|
||||
"chownr": "^2.0.0",
|
||||
"fs-minipass": "^2.0.0",
|
||||
|
|
|
@ -11,9 +11,9 @@
|
|||
"keypress": "^0.2.1",
|
||||
"listr2": "^6.6.1",
|
||||
"lodash-es": "^4.17.21",
|
||||
"luxon": "^3.4.0",
|
||||
"luxon": "^3.4.3",
|
||||
"pretty-bytes": "^6.1.1",
|
||||
"tar": "^6.1.15",
|
||||
"tar": "^6.2.0",
|
||||
"yargs": "^17.7.2"
|
||||
},
|
||||
"engines": {
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
# Dockerfile for RabbitMQ worker
|
||||
#
|
||||
FROM rabbitmq:3-alpine
|
||||
ARG RABBITMQ_VERSION=3.11-alpine
|
||||
|
||||
FROM rabbitmq:${RABBITMQ_VERSION}
|
||||
LABEL maintainer="IETF Tools Team <tools-discuss@ietf.org>"
|
||||
|
||||
# Copy the startup file
|
||||
|
|
|
@ -1,6 +1,9 @@
|
|||
import os
|
||||
import scout_apm.celery
|
||||
|
||||
from celery import Celery
|
||||
from scout_apm.api import Config
|
||||
|
||||
|
||||
# Set the default Django settings module for the 'celery' program
|
||||
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'ietf.settings')
|
||||
|
@ -13,6 +16,25 @@ app = Celery('ietf')
|
|||
# should have a `CELERY_` prefix.
|
||||
app.config_from_object('django.conf:settings', namespace='CELERY')
|
||||
|
||||
# Turn on Scout APM celery instrumentation if configured in the environment
|
||||
scout_key = os.environ.get("SCOUT_KEY", "")
|
||||
scout_name = os.environ.get("SCOUT_NAME", "")
|
||||
scout_core_agent_socket_path = os.environ.get("SCOUT_CORE_AGENT_SOCKET_PATH", "tcp://scoutapm:6590")
|
||||
if scout_key and scout_name:
|
||||
Config.set(
|
||||
key=scout_key,
|
||||
name=scout_name,
|
||||
monitor=True,
|
||||
core_agent_download=False,
|
||||
core_agent_launch=False,
|
||||
core_agent_path=scout_core_agent_socket_path,
|
||||
)
|
||||
# Note: Passing the Celery app to install() method as recommended in the
|
||||
# Scout documentation causes failure at startup, likely because Scout
|
||||
# ingests the config greedily before Django is ready. Have not found a
|
||||
# workaround for this other than explicitly configuring Scout.
|
||||
scout_apm.celery.install()
|
||||
|
||||
# Load task modules from all registered Django apps.
|
||||
app.autodiscover_tasks()
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# Copyright The IETF Trust 2016-2020, All Rights Reserved
|
||||
# Copyright The IETF Trust 2016-2023, All Rights Reserved
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
|
||||
|
@ -355,6 +355,23 @@ class ReviewTests(TestCase):
|
|||
request_events = review_req.reviewrequestdocevent_set.all()
|
||||
self.assertEqual(request_events.count(), 0)
|
||||
|
||||
def test_assign_reviewer_after_reject(self):
|
||||
doc = WgDraftFactory()
|
||||
review_team = ReviewTeamFactory()
|
||||
rev_role = RoleFactory(group=review_team,person__user__username='reviewer',person__user__email='reviewer@example.com',name_id='reviewer')
|
||||
reviewer_email = Email.objects.get(person__user__username="reviewer")
|
||||
RoleFactory(group=review_team,person__user__username='reviewsecretary',name_id='secr')
|
||||
review_req = ReviewRequestFactory(team=review_team,doc=doc)
|
||||
ReviewAssignmentFactory(review_request=review_req, state_id='rejected', reviewer=rev_role.person.email_set.first())
|
||||
|
||||
url = urlreverse('ietf.doc.views_review.assign_reviewer', kwargs={ "name": doc.name, "request_id": review_req.pk })
|
||||
login_testing_unauthorized(self, "reviewsecretary", url)
|
||||
r = self.client.get(url)
|
||||
self.assertEqual(r.status_code, 200)
|
||||
q = PyQuery(r.content)
|
||||
reviewer_label = q("option[value=\"{}\"]".format(reviewer_email.address)).text().lower()
|
||||
self.assertIn("rejected review of document before", reviewer_label)
|
||||
|
||||
def test_previously_reviewed_replaced_doc(self):
|
||||
review_team = ReviewTeamFactory(acronym="reviewteam", name="Review Team", type_id="review", list_email="reviewteam@ietf.org", parent=Group.objects.get(acronym="farfut"))
|
||||
rev_role = RoleFactory(group=review_team,person__user__username='reviewer',person__user__email='reviewer@example.com',person__name='Some Reviewer',name_id='reviewer')
|
||||
|
@ -418,9 +435,50 @@ class ReviewTests(TestCase):
|
|||
r = self.client.get(req_url)
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertContains(r, reject_url)
|
||||
|
||||
# anonymous user should not be able to reject
|
||||
self.client.logout()
|
||||
r = self.client.post(reject_url, { "action": "reject", "message_to_secretary": "Test message" })
|
||||
self.assertEqual(r.status_code, 302) # forwards to login page
|
||||
assignment = reload_db_objects(assignment)
|
||||
self.assertEqual(assignment.state_id, "accepted")
|
||||
|
||||
# unrelated person should not be able to reject
|
||||
other_person = PersonFactory()
|
||||
login_testing_unauthorized(self, other_person.user.username, reject_url)
|
||||
r = self.client.post(reject_url, { "action": "reject", "message_to_secretary": "Test message" })
|
||||
self.assertEqual(r.status_code, 403)
|
||||
assignment = reload_db_objects(assignment)
|
||||
self.assertEqual(assignment.state_id, "accepted")
|
||||
|
||||
# Check that user can reject it
|
||||
login_testing_unauthorized(self, assignment.reviewer.person.user.username, reject_url)
|
||||
r = self.client.get(reject_url)
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertContains(r, escape(assignment.reviewer.person.name))
|
||||
self.assertNotContains(r, 'can not be rejected')
|
||||
self.assertContains(r, '<button type="submit"')
|
||||
|
||||
# reject
|
||||
empty_outbox()
|
||||
r = self.client.post(reject_url, { "action": "reject", "message_to_secretary": "Test message" })
|
||||
self.assertEqual(r.status_code, 302)
|
||||
|
||||
assignment = reload_db_objects(assignment)
|
||||
self.assertEqual(assignment.state_id, "rejected")
|
||||
self.assertNotEqual(assignment.completed_on,None)
|
||||
e = doc.latest_event()
|
||||
self.assertEqual(e.type, "closed_review_assignment")
|
||||
self.assertTrue("rejected" in e.desc)
|
||||
self.assertEqual(len(outbox), 1)
|
||||
self.assertNotIn(assignment.reviewer.address, outbox[0]["To"])
|
||||
self.assertIn("<reviewsecretary@example.com>", outbox[0]["To"])
|
||||
self.assertTrue("Test message" in get_payload_text(outbox[0]))
|
||||
self.client.logout()
|
||||
|
||||
# get reject page
|
||||
# Secretary can also reject it
|
||||
assignment.state_id = 'assigned'
|
||||
assignment.save()
|
||||
login_testing_unauthorized(self, "reviewsecretary", reject_url)
|
||||
r = self.client.get(reject_url)
|
||||
self.assertEqual(r.status_code, 200)
|
||||
|
@ -444,12 +502,17 @@ class ReviewTests(TestCase):
|
|||
self.assertNotIn("<reviewsecretary@example.com>", outbox[0]["To"])
|
||||
self.assertTrue("Test message" in get_payload_text(outbox[0]))
|
||||
|
||||
# try again, but now with an expired review request, which should not be allowed (#2277)
|
||||
# try again, but now with an expired review request,
|
||||
# which should not be allowed (#2277)
|
||||
assignment.state_id = 'assigned'
|
||||
assignment.save()
|
||||
review_req.deadline = datetime.date(2019, 1, 1)
|
||||
review_req.save()
|
||||
self.client.logout()
|
||||
|
||||
# Login as reviewer to do this test, so it should fail, as the
|
||||
# request is past deadline
|
||||
login_testing_unauthorized(self, assignment.reviewer.person.user.username, reject_url)
|
||||
r = self.client.get(reject_url)
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertContains(r, escape(assignment.reviewer.person.name))
|
||||
|
@ -461,10 +524,90 @@ class ReviewTests(TestCase):
|
|||
r = self.client.post(reject_url, { "action": "reject", "message_to_secretary": "Test message" })
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertContains(r, 'can not be rejected')
|
||||
self.client.logout()
|
||||
|
||||
# Change settings so that even the reviewer should
|
||||
# be allowed to reject the request even after past deadline
|
||||
m = apps.get_model('review', 'ReviewTeamSettings')
|
||||
for row in m.objects.all():
|
||||
if row.group.upcase_acronym == review_team.upcase_acronym:
|
||||
row.allow_reviewer_to_reject_after_deadline = True
|
||||
row.save(update_fields=['allow_reviewer_to_reject_after_deadline'])
|
||||
|
||||
# Test again as user
|
||||
login_testing_unauthorized(self, assignment.reviewer.person.user.username, reject_url)
|
||||
r = self.client.get(reject_url)
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertContains(r, escape(assignment.reviewer.person.name))
|
||||
self.assertNotContains(r, 'can not be rejected')
|
||||
self.assertContains(r, '<button type="submit"')
|
||||
|
||||
# actually reject
|
||||
r = self.client.post(reject_url, { "action": "reject", "message_to_secretary": "Test message" })
|
||||
self.assertEqual(r.status_code, 302)
|
||||
|
||||
assignment = reload_db_objects(assignment)
|
||||
self.assertEqual(assignment.state_id, "assigned")
|
||||
self.assertEqual(len(outbox), 0)
|
||||
self.assertEqual(assignment.state_id, "rejected")
|
||||
self.assertNotEqual(len(outbox), 0)
|
||||
self.client.logout()
|
||||
|
||||
# Log in as secretary and that should still allow rejecting the review
|
||||
assignment.state_id = 'assigned'
|
||||
assignment.save()
|
||||
login_testing_unauthorized(self, "reviewsecretary", reject_url)
|
||||
r = self.client.get(reject_url)
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertContains(r, escape(assignment.reviewer.person.name))
|
||||
self.assertNotContains(r, 'can not be rejected')
|
||||
self.assertContains(r, '<button type="submit"')
|
||||
|
||||
# actually reject
|
||||
empty_outbox()
|
||||
r = self.client.post(reject_url, { "action": "reject", "message_to_secretary": "Test message" })
|
||||
self.assertEqual(r.status_code, 302)
|
||||
|
||||
assignment = reload_db_objects(assignment)
|
||||
self.assertEqual(assignment.state_id, "rejected")
|
||||
self.assertNotEqual(len(outbox), 0)
|
||||
|
||||
# Revert the setting of allow_reviewer_to_reject_after_deadline
|
||||
# This should not affect the secretary's ability to reject.
|
||||
m = apps.get_model('review', 'ReviewTeamSettings')
|
||||
for row in m.objects.all():
|
||||
if row.group.upcase_acronym == review_team.upcase_acronym:
|
||||
row.allow_reviewer_to_reject_after_deadline = False
|
||||
row.save(update_fields=['allow_reviewer_to_reject_after_deadline'])
|
||||
assignment.state_id = 'assigned'
|
||||
assignment.save()
|
||||
r = self.client.get(reject_url)
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertContains(r, escape(assignment.reviewer.person.name))
|
||||
self.assertNotContains(r, 'can not be rejected')
|
||||
self.assertContains(r, '<button type="submit"')
|
||||
|
||||
|
||||
def test_accept_reviewer_assignment_after_reject(self):
|
||||
doc = WgDraftFactory()
|
||||
review_team = ReviewTeamFactory()
|
||||
rev_role = RoleFactory(group=review_team,name_id='reviewer')
|
||||
review_req = ReviewRequestFactory(doc=doc,team=review_team)
|
||||
assignment = ReviewAssignmentFactory(review_request=review_req, state_id='rejected', reviewer=rev_role.person.email_set.first())
|
||||
|
||||
url = urlreverse('ietf.doc.views_review.review_request', kwargs={ "name": doc.name, "request_id": review_req.pk })
|
||||
username = assignment.reviewer.person.user.username
|
||||
self.client.login(username=username, password=username + "+password")
|
||||
r = self.client.get(url)
|
||||
self.assertEqual(r.status_code, 200)
|
||||
q = PyQuery(r.content)
|
||||
d = q('.reviewer-assignment-not-accepted')
|
||||
self.assertTrue(d("[name=action][value=accept]"))
|
||||
|
||||
# accept
|
||||
r = self.client.post(url, { "action": "accept" })
|
||||
self.assertEqual(r.status_code, 302)
|
||||
|
||||
assignment = reload_db_objects(assignment)
|
||||
self.assertEqual(assignment.state_id, "accepted")
|
||||
|
||||
def make_test_mbox_tarball(self, review_req):
|
||||
mbox_path = os.path.join(self.review_dir, "testmbox.tar.gz")
|
||||
|
|
|
@ -223,7 +223,7 @@ def review_request(request, name, request_id):
|
|||
for assignment in assignments:
|
||||
assignment.is_reviewer = user_is_person(request.user, assignment.reviewer.person)
|
||||
|
||||
assignment.can_accept_reviewer_assignment = (assignment.state_id == "assigned"
|
||||
assignment.can_accept_reviewer_assignment = (assignment.state_id in ["assigned", "rejected"]
|
||||
and (assignment.is_reviewer or can_manage_request))
|
||||
|
||||
assignment.can_reject_reviewer_assignment = (assignment.state_id in ["assigned", "accepted"]
|
||||
|
@ -354,8 +354,13 @@ class RejectReviewerAssignmentForm(forms.Form):
|
|||
def reject_reviewer_assignment(request, name, assignment_id):
|
||||
doc = get_object_or_404(Document, name=name)
|
||||
review_assignment = get_object_or_404(ReviewAssignment, pk=assignment_id, state__in=["assigned", "accepted"])
|
||||
review_request_past_deadline = review_assignment.review_request.deadline < date_today(DEADLINE_TZINFO)
|
||||
|
||||
allow_reject_request = True
|
||||
# Only check deadline if the group does not allow rejecting always
|
||||
if not review_assignment.review_request.team.reviewteamsettings.allow_reviewer_to_reject_after_deadline:
|
||||
if review_assignment.review_request.deadline < date_today(DEADLINE_TZINFO):
|
||||
allow_reject_request = False
|
||||
|
||||
if not review_assignment.reviewer:
|
||||
return redirect(review_request, name=review_assignment.review_request.doc.name, request_id=review_assignment.review_request.pk)
|
||||
|
||||
|
@ -365,7 +370,12 @@ def reject_reviewer_assignment(request, name, assignment_id):
|
|||
if not (is_reviewer or can_manage_request):
|
||||
permission_denied(request, "You do not have permission to perform this action")
|
||||
|
||||
if request.method == "POST" and request.POST.get("action") == "reject" and not review_request_past_deadline:
|
||||
# Secretary or whoever can manage review request, has permission
|
||||
# to reject requests even if the deadline is in the past
|
||||
if can_manage_request:
|
||||
allow_reject_request = True
|
||||
|
||||
if request.method == "POST" and request.POST.get("action") == "reject" and allow_reject_request:
|
||||
form = RejectReviewerAssignmentForm(request.POST)
|
||||
if form.is_valid():
|
||||
# reject the assignment
|
||||
|
@ -406,7 +416,7 @@ def reject_reviewer_assignment(request, name, assignment_id):
|
|||
'review_req': review_assignment.review_request,
|
||||
'assignments': review_assignment.review_request.reviewassignment_set.all(),
|
||||
'form': form,
|
||||
'review_request_past_deadline': review_request_past_deadline,
|
||||
'allow_reject_request': allow_reject_request,
|
||||
})
|
||||
|
||||
@login_required
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# Copyright The IETF Trust 2016-2020, All Rights Reserved
|
||||
# Copyright The IETF Trust 2016-2023, All Rights Reserved
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
|
||||
|
@ -711,6 +711,22 @@ class ReviewTests(TestCase):
|
|||
self.assertEqual(settings.max_items_to_show_in_reviewer_list, 10)
|
||||
self.assertEqual(settings.days_to_show_in_reviewer_list, 365)
|
||||
|
||||
def test_assign_reviewer_after_reject(self):
|
||||
team = ReviewTeamFactory()
|
||||
reviewer = RoleFactory(name_id='reviewer', group=team).person
|
||||
ReviewerSettingsFactory(person=reviewer, team=team)
|
||||
review_req = ReviewRequestFactory(team=team)
|
||||
ReviewAssignmentFactory(review_request=review_req, state_id='rejected', reviewer=reviewer.email())
|
||||
|
||||
unassigned_url = urlreverse(ietf.group.views.manage_review_requests, kwargs={ 'acronym': team.acronym, 'group_type': team.type_id, "assignment_status": "unassigned" })
|
||||
login_testing_unauthorized(self, "secretary", unassigned_url)
|
||||
|
||||
r = self.client.get(unassigned_url)
|
||||
self.assertEqual(r.status_code, 200)
|
||||
q = PyQuery(r.content)
|
||||
reviewer_label = q("option[value=\"{}\"]".format(reviewer.email())).text().lower()
|
||||
self.assertIn("rejected review of document before", reviewer_label)
|
||||
|
||||
|
||||
class BulkAssignmentTests(TestCase):
|
||||
|
||||
|
|
|
@ -1,7 +1,5 @@
|
|||
# Copyright The IETF Trust 2007, All Rights Reserved
|
||||
|
||||
import os
|
||||
|
||||
from django.shortcuts import get_object_or_404, render
|
||||
|
||||
import debug # pyflakes:ignore
|
||||
|
@ -30,11 +28,3 @@ def state(request, doc, type=None):
|
|||
statetype = get_object_or_404(StateType, slug=slug)
|
||||
states = State.objects.filter(used=True, type=statetype).order_by('order')
|
||||
return render(request, 'help/states.html', {"doc": doc, "type": statetype, "states":states} )
|
||||
|
||||
def environment(request):
|
||||
if request.is_secure():
|
||||
os.environ['SCHEME'] = "https"
|
||||
else:
|
||||
os.environ['SCHEME'] = "http"
|
||||
os.environ["URL"] = request.build_absolute_uri(".")
|
||||
return render(request, 'help/environment.html', {"env": os.environ} )
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import factory
|
||||
|
||||
from ietf.group.factories import GroupFactory
|
||||
from ietf.liaisons.models import LiaisonStatement, LiaisonStatementEvent, LiaisonStatementAttachment
|
||||
from ietf.liaisons.models import LiaisonStatement, LiaisonStatementEvent, LiaisonStatementAttachment, RelatedLiaisonStatement
|
||||
|
||||
class LiaisonStatementFactory(factory.django.DjangoModelFactory):
|
||||
class Meta:
|
||||
|
@ -50,3 +50,12 @@ class LiaisonStatementAttachmentFactory(factory.django.DjangoModelFactory):
|
|||
type_id='liai-att',
|
||||
# TODO: Make name more convenient (the default now is to try to generate a draftname)
|
||||
)
|
||||
|
||||
|
||||
class RelatedLiaisonStatementFactory(factory.django.DjangoModelFactory):
|
||||
class Meta:
|
||||
model = RelatedLiaisonStatement
|
||||
|
||||
source = factory.SubFactory(LiaisonStatementFactory)
|
||||
target = factory.SubFactory(LiaisonStatementFactory)
|
||||
relationship_id = "refunk"
|
||||
|
|
|
@ -520,8 +520,7 @@ class EditLiaisonForm(LiaisonModelForm):
|
|||
super(EditLiaisonForm, self).__init__(*args, **kwargs)
|
||||
self.edit = True
|
||||
self.fields['attachments'].initial = self.instance.liaisonstatementattachment_set.exclude(removed=True)
|
||||
related = [ str(x.pk) for x in self.instance.source_of_set.all() ]
|
||||
self.fields['related_to'].initial = ','.join(related)
|
||||
self.fields['related_to'].initial = [ x.target for x in self.instance.source_of_set.all() ]
|
||||
self.fields['submitted_date'].initial = self.instance.submitted
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
|
|
|
@ -24,7 +24,7 @@ from ietf.utils.mail import outbox
|
|||
|
||||
from ietf.group.factories import GroupFactory, RoleFactory
|
||||
from ietf.liaisons.factories import ( LiaisonStatementFactory,
|
||||
LiaisonStatementEventFactory, LiaisonStatementAttachmentFactory, )
|
||||
LiaisonStatementEventFactory, LiaisonStatementAttachmentFactory, RelatedLiaisonStatementFactory)
|
||||
from ietf.liaisons.models import (LiaisonStatement, LiaisonStatementPurposeName,
|
||||
LiaisonStatementAttachment)
|
||||
from ietf.person.models import Person
|
||||
|
@ -393,6 +393,8 @@ class LiaisonManagementTests(TestCase):
|
|||
LiaisonStatementEventFactory(statement=liaison,type_id='posted')
|
||||
from_group = liaison.from_groups.first()
|
||||
to_group = liaison.to_groups.first()
|
||||
rel1 = RelatedLiaisonStatementFactory(source=liaison)
|
||||
rel2 = RelatedLiaisonStatementFactory(source=liaison)
|
||||
|
||||
url = urlreverse('ietf.liaisons.views.liaison_edit', kwargs=dict(object_id=liaison.pk))
|
||||
login_testing_unauthorized(self, "secretary", url)
|
||||
|
@ -402,6 +404,13 @@ class LiaisonManagementTests(TestCase):
|
|||
self.assertEqual(r.status_code, 200)
|
||||
q = PyQuery(r.content)
|
||||
self.assertEqual(len(q('form input[name=from_contact]')), 1)
|
||||
json_data = q('form select[name=related_to]').attr('data-pre')
|
||||
try:
|
||||
decoded = json.loads(json_data)
|
||||
except json.JSONDecodeError as e:
|
||||
self.fail('data-pre contained invalid JSON data: %s' % str(e))
|
||||
decoded_ids = [item['id'] for item in decoded]
|
||||
self.assertEqual(decoded_ids, [rel1.target.id, rel2.target.id])
|
||||
|
||||
# edit
|
||||
attachments_before = liaison.attachments.count()
|
||||
|
@ -1165,4 +1174,4 @@ class LiaisonManagementTests(TestCase):
|
|||
|
||||
mailbox_before = len(outbox)
|
||||
possibly_send_deadline_reminder(liaison)
|
||||
self.assertEqual(len(outbox), mailbox_before)
|
||||
self.assertEqual(len(outbox), mailbox_before)
|
||||
|
|
|
@ -1327,6 +1327,36 @@ class InactiveNomcomTests(TestCase):
|
|||
q = PyQuery(response.content)
|
||||
self.assertIn('not active', q('.alert-warning').text() )
|
||||
|
||||
def test_filter_nominees(self):
|
||||
url = reverse(
|
||||
"ietf.nomcom.views.private_index", kwargs={"year": self.nc.year()}
|
||||
)
|
||||
login_testing_unauthorized(self, self.chair.user.username, url)
|
||||
response = self.client.get(url)
|
||||
self.assertEqual(response.status_code, 200)
|
||||
|
||||
states = list(NomineePositionStateName.objects.values_list("slug", flat=True))
|
||||
states += ["not-declined", "questionnaire"]
|
||||
for state in states:
|
||||
response = self.client.get(url, {"state": state})
|
||||
self.assertEqual(response.status_code, 200)
|
||||
q = PyQuery(response.content)
|
||||
nps = []
|
||||
if state == "not-declined":
|
||||
nps = NomineePosition.objects.exclude(state__slug="declined")
|
||||
elif state == "questionnaire":
|
||||
nps = [
|
||||
np
|
||||
for np in NomineePosition.objects.not_duplicated()
|
||||
if np.questionnaires
|
||||
]
|
||||
else:
|
||||
nps = NomineePosition.objects.filter(state__slug=state)
|
||||
# nomination state is in third table column
|
||||
self.assertEqual(
|
||||
len(nps), len(q("#nominee-position-table td:nth-child(3)"))
|
||||
)
|
||||
|
||||
def test_email_pasting_closed(self):
|
||||
url = reverse('ietf.nomcom.views.private_feedback_email', kwargs={'year':self.nc.year()})
|
||||
login_testing_unauthorized(self, self.chair.user.username, url)
|
||||
|
|
|
@ -216,10 +216,11 @@ def private_index(request, year):
|
|||
|
||||
filters = {}
|
||||
questionnaire_state = "questionnaire"
|
||||
not_declined_state = "not-declined"
|
||||
selected_state = request.GET.get('state')
|
||||
selected_position = request.GET.get('position')
|
||||
|
||||
if selected_state and not selected_state == questionnaire_state:
|
||||
if selected_state and selected_state not in [questionnaire_state, not_declined_state]:
|
||||
filters['state__slug'] = selected_state
|
||||
|
||||
if selected_position:
|
||||
|
@ -231,13 +232,15 @@ def private_index(request, year):
|
|||
|
||||
if selected_state == questionnaire_state:
|
||||
nominee_positions = [np for np in nominee_positions if np.questionnaires]
|
||||
elif selected_state == not_declined_state:
|
||||
nominee_positions = nominee_positions.exclude(state__slug='declined')
|
||||
|
||||
positions = Position.objects.get_by_nomcom(nomcom=nomcom)
|
||||
stats = [ { 'position__name':p.name,
|
||||
'position__id':p.pk,
|
||||
'position': p,
|
||||
} for p in positions]
|
||||
states = [{'slug': questionnaire_state, 'name': 'Accepted and sent Questionnaire'}] + list(NomineePositionStateName.objects.values('slug', 'name'))
|
||||
states = [{'slug': questionnaire_state, 'name': 'Accepted and sent Questionnaire'}, {'slug': not_declined_state, 'name': 'Not declined'}] + list(NomineePositionStateName.objects.values('slug', 'name'))
|
||||
positions = set([ n.position for n in all_nominee_positions.order_by('position__name') ])
|
||||
for s in stats:
|
||||
for state in states:
|
||||
|
|
|
@ -0,0 +1,18 @@
|
|||
# Generated by Django 2.2.28 on 2023-03-25 06:34
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('review', '0001_initial'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='reviewteamsettings',
|
||||
name='allow_reviewer_to_reject_after_deadline',
|
||||
field=models.BooleanField(default=False, verbose_name='Allow reviewer to reject request after deadline.'),
|
||||
),
|
||||
]
|
|
@ -191,6 +191,7 @@ class ReviewTeamSettings(models.Model):
|
|||
"""Holds configuration specific to groups that are review teams"""
|
||||
group = OneToOneField(Group)
|
||||
autosuggest = models.BooleanField(default=True, verbose_name="Automatically suggest possible review requests")
|
||||
allow_reviewer_to_reject_after_deadline = models.BooleanField(default=False, verbose_name="Allow reviewer to reject request after deadline.")
|
||||
reviewer_queue_policy = models.ForeignKey(ReviewerQueuePolicyName, default='RotateAlphabetically', on_delete=models.PROTECT)
|
||||
review_types = models.ManyToManyField(ReviewTypeName, default=get_default_review_types)
|
||||
review_results = models.ManyToManyField(ReviewResultName, default=get_default_review_results, related_name='reviewteamsettings_review_results_set')
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# Copyright The IETF Trust 2019-2021, All Rights Reserved
|
||||
# Copyright The IETF Trust 2019-2023, All Rights Reserved
|
||||
|
||||
|
||||
import re
|
||||
|
@ -10,6 +10,7 @@ from simple_history.utils import bulk_update_with_history
|
|||
from ietf.doc.models import DocumentAuthor, DocAlias
|
||||
from ietf.doc.utils import extract_complete_replaces_ancestor_mapping_for_docs
|
||||
from ietf.group.models import Role
|
||||
from ietf.name.models import ReviewAssignmentStateName
|
||||
from ietf.person.models import Person
|
||||
import debug # pyflakes:ignore
|
||||
from ietf.review.models import NextReviewerInTeam, ReviewerSettings, ReviewWish, ReviewRequest, \
|
||||
|
@ -55,8 +56,6 @@ def persons_with_previous_review(team, review_req, possible_person_ids, state_id
|
|||
reviewassignment__state=state_id,
|
||||
team=team,
|
||||
).distinct()
|
||||
if review_req.pk is not None:
|
||||
has_reviewed_previous = has_reviewed_previous.exclude(pk=review_req.pk)
|
||||
has_reviewed_previous = set(
|
||||
has_reviewed_previous.values_list("reviewassignment__reviewer__person", flat=True))
|
||||
return has_reviewed_previous
|
||||
|
@ -70,7 +69,14 @@ class AbstractReviewerQueuePolicy:
|
|||
"""Assign a reviewer to a request and update policy state accordingly"""
|
||||
# Update policy state first - needed by LRU policy to correctly compute whether assignment was in-order
|
||||
self.update_policy_state_for_assignment(review_req, reviewer.person, add_skip)
|
||||
return review_req.reviewassignment_set.create(state_id='assigned', reviewer=reviewer, assigned_on=timezone.now())
|
||||
assignment = review_req.reviewassignment_set.filter(reviewer=reviewer).first()
|
||||
if assignment:
|
||||
assignment.state = ReviewAssignmentStateName.objects.get(slug='assigned', used=True)
|
||||
assignment.assigned_on = timezone.now()
|
||||
assignment.save()
|
||||
return assignment
|
||||
else:
|
||||
return review_req.reviewassignment_set.create(state_id='assigned', reviewer=reviewer, assigned_on=timezone.now())
|
||||
|
||||
def default_reviewer_rotation_list(self, include_unavailable=False):
|
||||
""" Return a list of reviewers (Person objects) in the default reviewer rotation for a policy.
|
||||
|
@ -168,15 +174,15 @@ class AbstractReviewerQueuePolicy:
|
|||
PersonEmailChoiceField(label="Assign Reviewer", empty_label="(None)")
|
||||
"""
|
||||
|
||||
# Collect a set of person IDs for people who have either not responded
|
||||
# to or outright rejected reviewing this document in the past
|
||||
# Collect a set of person IDs for people who have not responded
|
||||
# to this document in the past
|
||||
rejecting_reviewer_ids = review_req.doc.reviewrequest_set.filter(
|
||||
reviewassignment__state__slug__in=('rejected', 'no-response')
|
||||
reviewassignment__state__slug='no-response'
|
||||
).values_list(
|
||||
'reviewassignment__reviewer__person_id', flat=True
|
||||
)
|
||||
|
||||
# Query the Email objects for reviewers who haven't rejected or
|
||||
# Query the Email objects for reviewers who haven't
|
||||
# not responded to this document in the past
|
||||
field.queryset = field.queryset.filter(
|
||||
role__name="reviewer",
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# Copyright The IETF Trust 2016-2021, All Rights Reserved
|
||||
# Copyright The IETF Trust 2016-2023, All Rights Reserved
|
||||
|
||||
import debug # pyflakes:ignore
|
||||
import datetime
|
||||
|
@ -471,9 +471,6 @@ class _Wrapper(TestCase):
|
|||
|
||||
addresses = list( map( lambda choice: choice[0], field.choices ) )
|
||||
|
||||
self.assertNotIn(
|
||||
str(rejected_reviewer.email()), addresses,
|
||||
"Reviews should not suggest people who have rejected this request in the past")
|
||||
self.assertNotIn(
|
||||
str(no_response_reviewer.email()), addresses,
|
||||
"Reviews should not suggest people who have not responded to this request in the past.")
|
||||
|
|
|
@ -388,8 +388,10 @@ def assign_review_request_to_reviewer(request, review_req, reviewer, add_skip=Fa
|
|||
log.assertion('reviewer is not None')
|
||||
|
||||
# cannot reference reviewassignment_set relation until pk exists
|
||||
if review_req.pk is not None and review_req.reviewassignment_set.filter(reviewer=reviewer).exists():
|
||||
return
|
||||
if review_req.pk is not None:
|
||||
reviewassignment_set = review_req.reviewassignment_set.filter(reviewer=reviewer)
|
||||
if reviewassignment_set.exists() and not reviewassignment_set.filter(state_id='rejected').exists():
|
||||
return
|
||||
|
||||
# Note that assigning a review no longer unassigns other reviews
|
||||
|
||||
|
|
|
@ -267,6 +267,9 @@ $(document)
|
|||
});
|
||||
}
|
||||
});
|
||||
e.on("searchComplete", function () {
|
||||
replace_with_internal(table, internal_table, i);
|
||||
});
|
||||
});
|
||||
|
||||
$(table.addClass("tablesorter-done"));
|
||||
|
|
|
@ -207,11 +207,12 @@ const interimRequest = (function() {
|
|||
|
||||
toggleLocation: function () {
|
||||
if (this.checked) {
|
||||
$(".location")
|
||||
$(".location input, .location select")
|
||||
.prop('disabled', false);
|
||||
} else {
|
||||
$(".location")
|
||||
.prop('disabled', true);
|
||||
$(".location input, .location select")
|
||||
.prop('disabled', true)
|
||||
.val('');
|
||||
}
|
||||
},
|
||||
|
||||
|
|
|
@ -49,8 +49,16 @@
|
|||
<a href="{% url 'ietf.mailtrigger.views.show_triggers' trigger %}"
|
||||
title="{{ desc }}">{{ trigger }}</a>
|
||||
</td>
|
||||
<td>{{ to|join:', '|linkify }}</td>
|
||||
<td>{{ cc|join:', '|linkify }}</td>
|
||||
<td>
|
||||
{% for addr in to %}
|
||||
{{ addr|linkify }}{% if not forloop.last %}, {% endif %}
|
||||
{% endfor %}
|
||||
</td>
|
||||
<td>
|
||||
{% for addr in cc %}
|
||||
{{ addr|linkify }}{% if not forloop.last %}, {% endif %}
|
||||
{% endfor %}
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
|
|
|
@ -66,9 +66,7 @@
|
|||
</p>
|
||||
<p>
|
||||
If you enter the review below, the review will be sent
|
||||
to {{ review_to|join:", "|linkify }}
|
||||
{% if review_cc %}, with a CC to {{ review_cc|join:", "|linkify }}{% endif %}
|
||||
.
|
||||
to {% for addr in to %}{{ addr|linkify }}{% if not forloop.last %}, {% endif %}{% endfor %}{% if review_cc %}, with a CC to {% for addr in cc %}{{ addr|linkify }}{% if not forloop.last %}, {% endif %}{% endfor %}{% endif %}.
|
||||
</p>
|
||||
{% elif assignment %}
|
||||
<p>
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
<small class="text-body-secondary">{{ review_req.doc.name }}</small>
|
||||
</h1>
|
||||
{% include "doc/review/request_info.html" %}
|
||||
{% if not review_request_past_deadline %}
|
||||
{% if allow_reject_request %}
|
||||
<p class="alert alert-danger my-3">
|
||||
Do you want to reject this assignment?
|
||||
</p>
|
||||
|
|
|
@ -177,6 +177,8 @@
|
|||
<div class="reviewer-assignment-not-accepted">
|
||||
{% if assignment.state_id == "assigned" %}
|
||||
Assignment not accepted yet
|
||||
{% elif assignment.state_id == "rejected" %}
|
||||
<span class="text-danger">Assignment rejected</span>
|
||||
{% else %}
|
||||
<span class="text-success">Assignment accepted</span>
|
||||
{% endif %}
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
{% for state in states %}
|
||||
<tr id="{{ state.slug|default:"idexists" }}">
|
||||
<th scope="row">{{ state.name }}</th>
|
||||
<td>{{ state.desc|urlize_ietf_docs|linkify }}</td>
|
||||
<td>{{ state.desc|safe|urlize_ietf_docs|linkify }}</td>
|
||||
{% if has_next_states %}
|
||||
<td>
|
||||
{% for s in state.next_states.all %}
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
<h1>{{ group_type | upper }} {{ role }} photos</h1>
|
||||
{% regroup roles|dictsort:"last_initial" by last_initial as alphabet_blocks %}
|
||||
{% for letter in alphabet_blocks %}
|
||||
<h2 class="mt-4" {% if letter.grouper|slugify %}id="{{ letter.grouper|slugify }}"{% endif %}>{{ letter.grouper }}</h2>
|
||||
<h2 class="mt-4" {% if letter.grouper|slugify %}id="{{ letter.grouper }}"{% endif %}>{{ letter.grouper }}</h2>
|
||||
{% regroup letter.list by person as person_groups %}
|
||||
{# keep in sync with group_photos.html #}
|
||||
<div class="mt-0 row row-cols-2 row-cols-sm-2 row-cols-md-3 row-cols-lg-4 row-cols-xl-4 row-cols-xxl-5 g-2">
|
||||
|
@ -17,4 +17,4 @@
|
|||
{% endfor %}
|
||||
</div>
|
||||
{% endfor %}
|
||||
{% endblock %}
|
||||
{% endblock %}
|
|
@ -47,8 +47,16 @@
|
|||
<a href="{% url 'ietf.mailtrigger.views.show_triggers' trigger %}"
|
||||
title="{{ desc }}">{{ trigger }}</a>
|
||||
</td>
|
||||
<td>{{ to|join:', '|unescape|linkify }}</td>
|
||||
<td>{{ cc|join:', '|unescape|linkify }}</td>
|
||||
<td>
|
||||
{% for addr in to %}
|
||||
{{ addr|linkify }}{% if not forloop.last %}, {% endif %}
|
||||
{% endfor %}
|
||||
</td>
|
||||
<td>
|
||||
{% for addr in cc %}
|
||||
{{ addr|linkify }}{% if not forloop.last %}, {% endif %}
|
||||
{% endfor %}
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
|
|
|
@ -24,8 +24,8 @@
|
|||
</div>
|
||||
{% endif %}
|
||||
{% bootstrap_field form.meeting_type layout='horizontal' %}
|
||||
{% bootstrap_field form.city layout='horizontal' %}
|
||||
{% bootstrap_field form.country layout='horizontal' %}
|
||||
{% bootstrap_field form.city layout='horizontal' wrapper_class='location mb-3' %}
|
||||
{% bootstrap_field form.country layout='horizontal' wrapper_class='location mb-3' %}
|
||||
{% bootstrap_field form.time_zone layout='horizontal' %}
|
||||
{{ formset.management_form }}
|
||||
{% if formset.non_form_errors %}<div class="my-3 alert alert-danger">{{ formset.non_form_errors }}</div>{% endif %}
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
{% csrf_token %}
|
||||
<div class="row mb-3">
|
||||
<label for="{{ form.to.id_for_label }}" class="col-md-2 fw-bold col-form-label">To</label>
|
||||
<div class="col-md-10">{% render_field form.to class="form-control" readonly="readonly" %}</div>
|
||||
<div class="col-md-10">{% render_field form.to class="form-control" disabled="disabled" %}</div>
|
||||
</div>
|
||||
<div class="row mb-3">
|
||||
<label for="{{ form.cc.id_for_label }}" class="col-md-2 fw-bold col-form-label">Cc</label>
|
||||
|
@ -21,11 +21,11 @@
|
|||
</div>
|
||||
<div class="row mb-3">
|
||||
<label for="{{ form.frm.id_for_label }}" class="col-md-2 fw-bold col-form-label">From</label>
|
||||
<div class="col-md-10">{% render_field form.frm class="form-control" readonly="readonly" %}</div>
|
||||
<div class="col-md-10">{% render_field form.frm class="form-control" disabled="disabled" %}</div>
|
||||
</div>
|
||||
<div class="row mb-3">
|
||||
<label for="{{ form.subject.id_for_label }}" class="col-md-2 fw-bold col-form-label">Subject</label>
|
||||
<div class="col-md-10">{% render_field form.subject class="form-control" readonly="readonly" %}</div>
|
||||
<div class="col-md-10">{% render_field form.subject class="form-control" %}</div>
|
||||
</div>
|
||||
<div class="row mb-3">
|
||||
<label for="{{ form.body.id_for_label }}" class="col-md-2 fw-bold col-form-label">Body</label>
|
||||
|
|
|
@ -14,7 +14,6 @@ import debug # pyflakes:ignore
|
|||
|
||||
from ietf.doc import views_search
|
||||
from ietf.group.urls import group_urls, grouptype_urls, stream_urls
|
||||
from ietf.help import views as help_views
|
||||
from ietf.ipr.sitemaps import IPRMap
|
||||
from ietf.liaisons.sitemaps import LiaisonMap
|
||||
from ietf.utils.urls import url
|
||||
|
@ -85,7 +84,6 @@ if settings.SERVER_MODE in ('development', 'test'):
|
|||
urlpatterns += staticfiles_urlpatterns()
|
||||
urlpatterns += [
|
||||
url(r'^_test500/$', server_error), #utils_views.exception),
|
||||
url(r'^environment/$', help_views.environment),
|
||||
## maybe preserve some static legacy URLs ?
|
||||
url(r'^(?P<path>(?:images|css|js)/.*)$', static_view.serve, {'document_root': settings.STATIC_ROOT+'ietf/'}),
|
||||
]
|
||||
|
|
22
package.json
22
package.json
|
@ -13,15 +13,15 @@
|
|||
"@fullcalendar/icalendar": "6.1.8",
|
||||
"@fullcalendar/interaction": "6.1.8",
|
||||
"@fullcalendar/list": "6.1.8",
|
||||
"@fullcalendar/luxon3": "6.1.8",
|
||||
"@fullcalendar/luxon3": "6.1.9",
|
||||
"@fullcalendar/timegrid": "6.1.8",
|
||||
"@fullcalendar/vue3": "6.1.8",
|
||||
"@popperjs/core": "2.11.8",
|
||||
"@twuni/emojify": "1.0.2",
|
||||
"bootstrap": "5.3.1",
|
||||
"bootstrap-icons": "1.10.5",
|
||||
"browser-fs-access": "0.34.1",
|
||||
"caniuse-lite": "1.0.30001519",
|
||||
"bootstrap": "5.3.2",
|
||||
"bootstrap-icons": "1.11.1",
|
||||
"browser-fs-access": "0.35.0",
|
||||
"caniuse-lite": "1.0.30001538",
|
||||
"d3": "7.8.5",
|
||||
"file-saver": "2.0.5",
|
||||
"highcharts": "11.1.0",
|
||||
|
@ -31,7 +31,7 @@
|
|||
"list.js": "2.3.1",
|
||||
"lodash": "4.17.21",
|
||||
"lodash-es": "4.17.21",
|
||||
"luxon": "3.4.0",
|
||||
"luxon": "3.4.3",
|
||||
"moment": "2.29.4",
|
||||
"moment-timezone": "0.5.43",
|
||||
"ms": "2.1.3",
|
||||
|
@ -55,22 +55,22 @@
|
|||
"@parcel/transformer-inline-string": "2.9.3",
|
||||
"@parcel/transformer-sass": "2.9.3",
|
||||
"@rollup/pluginutils": "5.0.4",
|
||||
"@vitejs/plugin-vue": "4.3.3",
|
||||
"@vitejs/plugin-vue": "4.3.4",
|
||||
"browserlist": "latest",
|
||||
"c8": "8.0.1",
|
||||
"eslint": "8.48.0",
|
||||
"eslint": "8.49.0",
|
||||
"eslint-config-standard": "17.1.0",
|
||||
"eslint-plugin-cypress": "2.14.0",
|
||||
"eslint-plugin-import": "2.28.1",
|
||||
"eslint-plugin-n": "16.0.2",
|
||||
"eslint-plugin-n": "16.1.0",
|
||||
"eslint-plugin-node": "11.1.0",
|
||||
"eslint-plugin-promise": "6.1.1",
|
||||
"eslint-plugin-vue": "9.17.0",
|
||||
"html-validate": "8.3.0",
|
||||
"html-validate": "8.4.0",
|
||||
"jquery-migrate": "3.4.1",
|
||||
"parcel": "2.9.3",
|
||||
"pug": "3.0.2",
|
||||
"sass": "1.66.1",
|
||||
"sass": "1.67.0",
|
||||
"seedrandom": "3.0.5",
|
||||
"vite": "4.4.9"
|
||||
},
|
||||
|
|
188
playwright/package-lock.json
generated
188
playwright/package-lock.json
generated
|
@ -9,17 +9,17 @@
|
|||
"@faker-js/faker": "8.0.2",
|
||||
"lodash": "4.17.21",
|
||||
"lodash-es": "4.17.21",
|
||||
"luxon": "3.4.0",
|
||||
"luxon": "3.4.3",
|
||||
"ms": "2.1.3",
|
||||
"seedrandom": "3.0.5",
|
||||
"slugify": "1.6.6"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@playwright/test": "1.37.1",
|
||||
"eslint": "8.48.0",
|
||||
"@playwright/test": "1.38.0",
|
||||
"eslint": "8.49.0",
|
||||
"eslint-config-standard": "17.1.0",
|
||||
"eslint-plugin-import": "2.28.1",
|
||||
"eslint-plugin-n": "16.0.2",
|
||||
"eslint-plugin-n": "16.1.0",
|
||||
"eslint-plugin-node": "11.1.0",
|
||||
"eslint-plugin-promise": "6.1.1",
|
||||
"npm-check-updates": "16.13.2"
|
||||
|
@ -92,9 +92,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@eslint/js": {
|
||||
"version": "8.48.0",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.48.0.tgz",
|
||||
"integrity": "sha512-ZSjtmelB7IJfWD2Fvb7+Z+ChTIKWq6kjda95fLcQKNS5aheVHn4IkfgRQE3sIIzTcSLwLcLZUD9UBt+V7+h+Pw==",
|
||||
"version": "8.49.0",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.49.0.tgz",
|
||||
"integrity": "sha512-1S8uAY/MTJqVx0SC4epBq+N2yhuwtNwLbJYNZyhL2pO1ZVKn5HFXav5T41Ryzy9K9V7ZId2JB2oy/W4aCd9/2w==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
|
||||
|
@ -116,9 +116,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@humanwhocodes/config-array": {
|
||||
"version": "0.11.10",
|
||||
"resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz",
|
||||
"integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==",
|
||||
"version": "0.11.11",
|
||||
"resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.11.tgz",
|
||||
"integrity": "sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@humanwhocodes/object-schema": "^1.2.1",
|
||||
|
@ -399,22 +399,18 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@playwright/test": {
|
||||
"version": "1.37.1",
|
||||
"resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.37.1.tgz",
|
||||
"integrity": "sha512-bq9zTli3vWJo8S3LwB91U0qDNQDpEXnw7knhxLM0nwDvexQAwx9tO8iKDZSqqneVq+URd/WIoz+BALMqUTgdSg==",
|
||||
"version": "1.38.0",
|
||||
"resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.38.0.tgz",
|
||||
"integrity": "sha512-xis/RXXsLxwThKnlIXouxmIvvT3zvQj1JE39GsNieMUrMpb3/GySHDh2j8itCG22qKVD4MYLBp7xB73cUW/UUw==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@types/node": "*",
|
||||
"playwright-core": "1.37.1"
|
||||
"playwright": "1.38.0"
|
||||
},
|
||||
"bin": {
|
||||
"playwright": "cli.js"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=16"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"fsevents": "2.3.2"
|
||||
}
|
||||
},
|
||||
"node_modules/@pnpm/network.ca-file": {
|
||||
|
@ -567,12 +563,6 @@
|
|||
"integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@types/node": {
|
||||
"version": "18.7.16",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.16.tgz",
|
||||
"integrity": "sha512-EQHhixfu+mkqHMZl1R2Ovuvn47PUw18azMJOTwSZr9/fhzHNGXAJ0ma0dayRVchprpCj0Kc1K1xKoWaATWF1qg==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/abbrev": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
|
||||
|
@ -1587,16 +1577,16 @@
|
|||
}
|
||||
},
|
||||
"node_modules/eslint": {
|
||||
"version": "8.48.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.48.0.tgz",
|
||||
"integrity": "sha512-sb6DLeIuRXxeM1YljSe1KEx9/YYeZFQWcV8Rq9HfigmdDEugjLEVEa1ozDjL6YDjBpQHPJxJzze+alxi4T3OLg==",
|
||||
"version": "8.49.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.49.0.tgz",
|
||||
"integrity": "sha512-jw03ENfm6VJI0jA9U+8H5zfl5b+FvuU3YYvZRdZHOlU2ggJkxrlkJH4HcDrZpj6YwD8kuYqvQM8LyesoazrSOQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@eslint-community/eslint-utils": "^4.2.0",
|
||||
"@eslint-community/regexpp": "^4.6.1",
|
||||
"@eslint/eslintrc": "^2.1.2",
|
||||
"@eslint/js": "8.48.0",
|
||||
"@humanwhocodes/config-array": "^0.11.10",
|
||||
"@eslint/js": "8.49.0",
|
||||
"@humanwhocodes/config-array": "^0.11.11",
|
||||
"@humanwhocodes/module-importer": "^1.0.1",
|
||||
"@nodelib/fs.walk": "^1.2.8",
|
||||
"ajv": "^6.12.4",
|
||||
|
@ -1796,14 +1786,15 @@
|
|||
}
|
||||
},
|
||||
"node_modules/eslint-plugin-n": {
|
||||
"version": "16.0.2",
|
||||
"resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-16.0.2.tgz",
|
||||
"integrity": "sha512-Y66uDfUNbBzypsr0kELWrIz+5skicECrLUqlWuXawNSLUq3ltGlCwu6phboYYOTSnoTdHgTLrc+5Ydo6KjzZog==",
|
||||
"version": "16.1.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-16.1.0.tgz",
|
||||
"integrity": "sha512-3wv/TooBst0N4ND+pnvffHuz9gNPmk/NkLwAxOt2JykTl/hcuECe6yhTtLJcZjIxtZwN+GX92ACp/QTLpHA3Hg==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@eslint-community/eslint-utils": "^4.4.0",
|
||||
"builtins": "^5.0.1",
|
||||
"eslint-plugin-es-x": "^7.1.0",
|
||||
"get-tsconfig": "^4.7.0",
|
||||
"ignore": "^5.2.4",
|
||||
"is-core-module": "^2.12.1",
|
||||
"minimatch": "^3.1.2",
|
||||
|
@ -2311,6 +2302,18 @@
|
|||
"url": "https://github.com/sponsors/ljharb"
|
||||
}
|
||||
},
|
||||
"node_modules/get-tsconfig": {
|
||||
"version": "4.7.2",
|
||||
"resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.2.tgz",
|
||||
"integrity": "sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"resolve-pkg-maps": "^1.0.0"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/privatenumber/get-tsconfig?sponsor=1"
|
||||
}
|
||||
},
|
||||
"node_modules/glob": {
|
||||
"version": "7.2.3",
|
||||
"resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
|
||||
|
@ -3309,9 +3312,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/luxon": {
|
||||
"version": "3.4.0",
|
||||
"resolved": "https://registry.npmjs.org/luxon/-/luxon-3.4.0.tgz",
|
||||
"integrity": "sha512-7eDo4Pt7aGhoCheGFIuq4Xa2fJm4ZpmldpGhjTYBNUYNCN6TIEP6v7chwwwt3KRp7YR+rghbfvjyo3V5y9hgBw==",
|
||||
"version": "3.4.3",
|
||||
"resolved": "https://registry.npmjs.org/luxon/-/luxon-3.4.3.tgz",
|
||||
"integrity": "sha512-tFWBiv3h7z+T/tDaoxA8rqTxy1CHV6gHS//QdaH4pulbq/JuBSGgQspQQqcgnwdAx6pNI7cmvz5Sv/addzHmUg==",
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
}
|
||||
|
@ -4288,10 +4291,28 @@
|
|||
"url": "https://github.com/sponsors/jonschlinkert"
|
||||
}
|
||||
},
|
||||
"node_modules/playwright": {
|
||||
"version": "1.38.0",
|
||||
"resolved": "https://registry.npmjs.org/playwright/-/playwright-1.38.0.tgz",
|
||||
"integrity": "sha512-fJGw+HO0YY+fU/F1N57DMO+TmXHTrmr905J05zwAQE9xkuwP/QLDk63rVhmyxh03dYnEhnRbsdbH9B0UVVRB3A==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"playwright-core": "1.38.0"
|
||||
},
|
||||
"bin": {
|
||||
"playwright": "cli.js"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=16"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"fsevents": "2.3.2"
|
||||
}
|
||||
},
|
||||
"node_modules/playwright-core": {
|
||||
"version": "1.37.1",
|
||||
"resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.37.1.tgz",
|
||||
"integrity": "sha512-17EuQxlSIYCmEMwzMqusJ2ztDgJePjrbttaefgdsiqeLWidjYz9BxXaTaZWxH1J95SHGk6tjE+dwgWILJoUZfA==",
|
||||
"version": "1.38.0",
|
||||
"resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.38.0.tgz",
|
||||
"integrity": "sha512-f8z1y8J9zvmHoEhKgspmCvOExF2XdcxMW8jNRuX4vkQFrzV4MlZ55iwb5QeyiFQgOFCUolXiRHgpjSEnqvO48g==",
|
||||
"dev": true,
|
||||
"bin": {
|
||||
"playwright-core": "cli.js"
|
||||
|
@ -4669,6 +4690,15 @@
|
|||
"node": ">=4"
|
||||
}
|
||||
},
|
||||
"node_modules/resolve-pkg-maps": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz",
|
||||
"integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==",
|
||||
"dev": true,
|
||||
"funding": {
|
||||
"url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1"
|
||||
}
|
||||
},
|
||||
"node_modules/responselike": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/responselike/-/responselike-3.0.0.tgz",
|
||||
|
@ -5767,9 +5797,9 @@
|
|||
}
|
||||
},
|
||||
"@eslint/js": {
|
||||
"version": "8.48.0",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.48.0.tgz",
|
||||
"integrity": "sha512-ZSjtmelB7IJfWD2Fvb7+Z+ChTIKWq6kjda95fLcQKNS5aheVHn4IkfgRQE3sIIzTcSLwLcLZUD9UBt+V7+h+Pw==",
|
||||
"version": "8.49.0",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.49.0.tgz",
|
||||
"integrity": "sha512-1S8uAY/MTJqVx0SC4epBq+N2yhuwtNwLbJYNZyhL2pO1ZVKn5HFXav5T41Ryzy9K9V7ZId2JB2oy/W4aCd9/2w==",
|
||||
"dev": true
|
||||
},
|
||||
"@faker-js/faker": {
|
||||
|
@ -5778,9 +5808,9 @@
|
|||
"integrity": "sha512-Uo3pGspElQW91PCvKSIAXoEgAUlRnH29sX2/p89kg7sP1m2PzCufHINd0FhTXQf6DYGiUlVncdSPa2F9wxed2A=="
|
||||
},
|
||||
"@humanwhocodes/config-array": {
|
||||
"version": "0.11.10",
|
||||
"resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz",
|
||||
"integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==",
|
||||
"version": "0.11.11",
|
||||
"resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.11.tgz",
|
||||
"integrity": "sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@humanwhocodes/object-schema": "^1.2.1",
|
||||
|
@ -5984,14 +6014,12 @@
|
|||
"optional": true
|
||||
},
|
||||
"@playwright/test": {
|
||||
"version": "1.37.1",
|
||||
"resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.37.1.tgz",
|
||||
"integrity": "sha512-bq9zTli3vWJo8S3LwB91U0qDNQDpEXnw7knhxLM0nwDvexQAwx9tO8iKDZSqqneVq+URd/WIoz+BALMqUTgdSg==",
|
||||
"version": "1.38.0",
|
||||
"resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.38.0.tgz",
|
||||
"integrity": "sha512-xis/RXXsLxwThKnlIXouxmIvvT3zvQj1JE39GsNieMUrMpb3/GySHDh2j8itCG22qKVD4MYLBp7xB73cUW/UUw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@types/node": "*",
|
||||
"fsevents": "2.3.2",
|
||||
"playwright-core": "1.37.1"
|
||||
"playwright": "1.38.0"
|
||||
}
|
||||
},
|
||||
"@pnpm/network.ca-file": {
|
||||
|
@ -6107,12 +6135,6 @@
|
|||
"integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==",
|
||||
"dev": true
|
||||
},
|
||||
"@types/node": {
|
||||
"version": "18.7.16",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.16.tgz",
|
||||
"integrity": "sha512-EQHhixfu+mkqHMZl1R2Ovuvn47PUw18azMJOTwSZr9/fhzHNGXAJ0ma0dayRVchprpCj0Kc1K1xKoWaATWF1qg==",
|
||||
"dev": true
|
||||
},
|
||||
"abbrev": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
|
||||
|
@ -6859,16 +6881,16 @@
|
|||
"dev": true
|
||||
},
|
||||
"eslint": {
|
||||
"version": "8.48.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.48.0.tgz",
|
||||
"integrity": "sha512-sb6DLeIuRXxeM1YljSe1KEx9/YYeZFQWcV8Rq9HfigmdDEugjLEVEa1ozDjL6YDjBpQHPJxJzze+alxi4T3OLg==",
|
||||
"version": "8.49.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.49.0.tgz",
|
||||
"integrity": "sha512-jw03ENfm6VJI0jA9U+8H5zfl5b+FvuU3YYvZRdZHOlU2ggJkxrlkJH4HcDrZpj6YwD8kuYqvQM8LyesoazrSOQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@eslint-community/eslint-utils": "^4.2.0",
|
||||
"@eslint-community/regexpp": "^4.6.1",
|
||||
"@eslint/eslintrc": "^2.1.2",
|
||||
"@eslint/js": "8.48.0",
|
||||
"@humanwhocodes/config-array": "^0.11.10",
|
||||
"@eslint/js": "8.49.0",
|
||||
"@humanwhocodes/config-array": "^0.11.11",
|
||||
"@humanwhocodes/module-importer": "^1.0.1",
|
||||
"@nodelib/fs.walk": "^1.2.8",
|
||||
"ajv": "^6.12.4",
|
||||
|
@ -7014,14 +7036,15 @@
|
|||
}
|
||||
},
|
||||
"eslint-plugin-n": {
|
||||
"version": "16.0.2",
|
||||
"resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-16.0.2.tgz",
|
||||
"integrity": "sha512-Y66uDfUNbBzypsr0kELWrIz+5skicECrLUqlWuXawNSLUq3ltGlCwu6phboYYOTSnoTdHgTLrc+5Ydo6KjzZog==",
|
||||
"version": "16.1.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-16.1.0.tgz",
|
||||
"integrity": "sha512-3wv/TooBst0N4ND+pnvffHuz9gNPmk/NkLwAxOt2JykTl/hcuECe6yhTtLJcZjIxtZwN+GX92ACp/QTLpHA3Hg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@eslint-community/eslint-utils": "^4.4.0",
|
||||
"builtins": "^5.0.1",
|
||||
"eslint-plugin-es-x": "^7.1.0",
|
||||
"get-tsconfig": "^4.7.0",
|
||||
"ignore": "^5.2.4",
|
||||
"is-core-module": "^2.12.1",
|
||||
"minimatch": "^3.1.2",
|
||||
|
@ -7382,6 +7405,15 @@
|
|||
"get-intrinsic": "^1.1.1"
|
||||
}
|
||||
},
|
||||
"get-tsconfig": {
|
||||
"version": "4.7.2",
|
||||
"resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.2.tgz",
|
||||
"integrity": "sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"resolve-pkg-maps": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"glob": {
|
||||
"version": "7.2.3",
|
||||
"resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
|
||||
|
@ -8102,9 +8134,9 @@
|
|||
}
|
||||
},
|
||||
"luxon": {
|
||||
"version": "3.4.0",
|
||||
"resolved": "https://registry.npmjs.org/luxon/-/luxon-3.4.0.tgz",
|
||||
"integrity": "sha512-7eDo4Pt7aGhoCheGFIuq4Xa2fJm4ZpmldpGhjTYBNUYNCN6TIEP6v7chwwwt3KRp7YR+rghbfvjyo3V5y9hgBw=="
|
||||
"version": "3.4.3",
|
||||
"resolved": "https://registry.npmjs.org/luxon/-/luxon-3.4.3.tgz",
|
||||
"integrity": "sha512-tFWBiv3h7z+T/tDaoxA8rqTxy1CHV6gHS//QdaH4pulbq/JuBSGgQspQQqcgnwdAx6pNI7cmvz5Sv/addzHmUg=="
|
||||
},
|
||||
"make-fetch-happen": {
|
||||
"version": "11.1.1",
|
||||
|
@ -8827,10 +8859,20 @@
|
|||
"integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
|
||||
"dev": true
|
||||
},
|
||||
"playwright": {
|
||||
"version": "1.38.0",
|
||||
"resolved": "https://registry.npmjs.org/playwright/-/playwright-1.38.0.tgz",
|
||||
"integrity": "sha512-fJGw+HO0YY+fU/F1N57DMO+TmXHTrmr905J05zwAQE9xkuwP/QLDk63rVhmyxh03dYnEhnRbsdbH9B0UVVRB3A==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"fsevents": "2.3.2",
|
||||
"playwright-core": "1.38.0"
|
||||
}
|
||||
},
|
||||
"playwright-core": {
|
||||
"version": "1.37.1",
|
||||
"resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.37.1.tgz",
|
||||
"integrity": "sha512-17EuQxlSIYCmEMwzMqusJ2ztDgJePjrbttaefgdsiqeLWidjYz9BxXaTaZWxH1J95SHGk6tjE+dwgWILJoUZfA==",
|
||||
"version": "1.38.0",
|
||||
"resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.38.0.tgz",
|
||||
"integrity": "sha512-f8z1y8J9zvmHoEhKgspmCvOExF2XdcxMW8jNRuX4vkQFrzV4MlZ55iwb5QeyiFQgOFCUolXiRHgpjSEnqvO48g==",
|
||||
"dev": true
|
||||
},
|
||||
"prelude-ls": {
|
||||
|
@ -9092,6 +9134,12 @@
|
|||
"integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
|
||||
"dev": true
|
||||
},
|
||||
"resolve-pkg-maps": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz",
|
||||
"integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==",
|
||||
"dev": true
|
||||
},
|
||||
"responselike": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/responselike/-/responselike-3.0.0.tgz",
|
||||
|
|
|
@ -7,11 +7,11 @@
|
|||
"test:debug": "playwright test --debug"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@playwright/test": "1.37.1",
|
||||
"eslint": "8.48.0",
|
||||
"@playwright/test": "1.38.0",
|
||||
"eslint": "8.49.0",
|
||||
"eslint-config-standard": "17.1.0",
|
||||
"eslint-plugin-import": "2.28.1",
|
||||
"eslint-plugin-n": "16.0.2",
|
||||
"eslint-plugin-n": "16.1.0",
|
||||
"eslint-plugin-node": "11.1.0",
|
||||
"eslint-plugin-promise": "6.1.1",
|
||||
"npm-check-updates": "16.13.2"
|
||||
|
@ -20,7 +20,7 @@
|
|||
"@faker-js/faker": "8.0.2",
|
||||
"lodash": "4.17.21",
|
||||
"lodash-es": "4.17.21",
|
||||
"luxon": "3.4.0",
|
||||
"luxon": "3.4.3",
|
||||
"ms": "2.1.3",
|
||||
"seedrandom": "3.0.5",
|
||||
"slugify": "1.6.6"
|
||||
|
|
|
@ -69,6 +69,7 @@ tblib>=1.7.0 # So that the django test runner provides tracebacks
|
|||
tlds>=2022042700 # Used to teach bleach about which TLDs currently exist
|
||||
tqdm>=4.64.0
|
||||
Unidecode>=1.3.4
|
||||
urllib3<2 # v2 causes selenium tests to fail with "Timeout value was <object..." error
|
||||
weasyprint>=59
|
||||
xml2rfc>=3.12.4
|
||||
xym>=0.6,<1.0
|
||||
|
|
149
yarn.lock
149
yarn.lock
|
@ -295,10 +295,10 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@eslint/js@npm:8.48.0":
|
||||
version: 8.48.0
|
||||
resolution: "@eslint/js@npm:8.48.0"
|
||||
checksum: b2755f9c0ee810c886eba3c50dcacb184ba5a5cd1cbc01988ee506ad7340653cae0bd55f1d95c64b56dfc6d25c2caa7825335ffd2c50165bae9996fe0f396851
|
||||
"@eslint/js@npm:8.49.0":
|
||||
version: 8.49.0
|
||||
resolution: "@eslint/js@npm:8.49.0"
|
||||
checksum: a6601807c8aeeefe866926ad92ed98007c034a735af20ff709009e39ad1337474243d47908500a3bde04e37bfba16bcf1d3452417f962e1345bc8756edd6b830
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
|
@ -383,13 +383,13 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@fullcalendar/luxon3@npm:6.1.8":
|
||||
version: 6.1.8
|
||||
resolution: "@fullcalendar/luxon3@npm:6.1.8"
|
||||
"@fullcalendar/luxon3@npm:6.1.9":
|
||||
version: 6.1.9
|
||||
resolution: "@fullcalendar/luxon3@npm:6.1.9"
|
||||
peerDependencies:
|
||||
"@fullcalendar/core": ~6.1.8
|
||||
"@fullcalendar/core": ~6.1.9
|
||||
luxon: ^3.0.0
|
||||
checksum: 7e842006418dc1855efc96fce22c7180f695b2f0087ec6305b62350d74e1776c1f03337f0d8adff7e1387e82535b42ff3481ad25fdbe82b3a5ad0501a902a386
|
||||
checksum: 25122126e290fb15400c57972552d5abe64b2c6fbc41e290ccfada2280d2aca855c53ea6b6b1efc4c2d1b5aafa97f37b71395ad2b642d3411ddd285335f9467f
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
|
@ -430,14 +430,14 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@humanwhocodes/config-array@npm:^0.11.10":
|
||||
version: 0.11.10
|
||||
resolution: "@humanwhocodes/config-array@npm:0.11.10"
|
||||
"@humanwhocodes/config-array@npm:^0.11.11":
|
||||
version: 0.11.11
|
||||
resolution: "@humanwhocodes/config-array@npm:0.11.11"
|
||||
dependencies:
|
||||
"@humanwhocodes/object-schema": ^1.2.1
|
||||
debug: ^4.1.1
|
||||
minimatch: ^3.0.5
|
||||
checksum: 1b1302e2403d0e35bc43e66d67a2b36b0ad1119efc704b5faff68c41f791a052355b010fb2d27ef022670f550de24cd6d08d5ecf0821c16326b7dcd0ee5d5d8a
|
||||
checksum: db84507375ab77b8ffdd24f498a5b49ad6b64391d30dd2ac56885501d03964d29637e05b1ed5aefa09d57ac667e28028bc22d2da872bfcd619652fbdb5f4ca19
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
|
@ -1970,13 +1970,13 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@vitejs/plugin-vue@npm:4.3.3":
|
||||
version: 4.3.3
|
||||
resolution: "@vitejs/plugin-vue@npm:4.3.3"
|
||||
"@vitejs/plugin-vue@npm:4.3.4":
|
||||
version: 4.3.4
|
||||
resolution: "@vitejs/plugin-vue@npm:4.3.4"
|
||||
peerDependencies:
|
||||
vite: ^4.0.0
|
||||
vue: ^3.2.25
|
||||
checksum: 17f8d737085a7f0e65cdc5347b44d844980b84775e884e7432e623644c3bb5916703139967743c94b70e3db57689d2d2511850cd4adeb9886075fd49fef7124d
|
||||
checksum: 95bf6c85c0a7812a96a07faf3c28155624c74584448a8fe46ac93e08ebc13520fdc9eb96e2fa95bccacf23028277a9cd3210e00120dadaab25b116456ee2cc43
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
|
@ -2417,19 +2417,19 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"bootstrap-icons@npm:1.10.5":
|
||||
version: 1.10.5
|
||||
resolution: "bootstrap-icons@npm:1.10.5"
|
||||
checksum: 8a0cfbd237723793dfb04106fdeed7f86bb59249a01a1623b325bf84d61306c22bb46d3df0795f80f0e77d43cd7485273571c253ee7910eb67fae9489691daad
|
||||
"bootstrap-icons@npm:1.11.1":
|
||||
version: 1.11.1
|
||||
resolution: "bootstrap-icons@npm:1.11.1"
|
||||
checksum: d78ff24a832fc47db0c7ba5d92d150caee6d8e9ccef24c6de5c2d9728b9610884c8ade3ecadcf09fffae207786acdf40bb026ea5b79a774a1ada62026d9fe16b
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"bootstrap@npm:5.3.1":
|
||||
version: 5.3.1
|
||||
resolution: "bootstrap@npm:5.3.1"
|
||||
"bootstrap@npm:5.3.2":
|
||||
version: 5.3.2
|
||||
resolution: "bootstrap@npm:5.3.2"
|
||||
peerDependencies:
|
||||
"@popperjs/core": ^2.11.8
|
||||
checksum: f8176376aa6c6d8947d58a67f0c57fa0b6b7dcd087ff83454e0d727c07cf33e8107e56aa298045d652f84b53b24ac72457af73e41c5631c9ebdc1909039c5dac
|
||||
checksum: d5580b253d121ffc137388d41da58dce8d15f1ccd574e12f28d4a08e7649ca15e95db645b2b677cb8025bccd446bff04138fc0fe64f8cba0ccc5dc004a8644cf
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
|
@ -2470,10 +2470,10 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"browser-fs-access@npm:0.34.1":
|
||||
version: 0.34.1
|
||||
resolution: "browser-fs-access@npm:0.34.1"
|
||||
checksum: 339865241c9ffe80a1991248573709f0787e83920d29810f87c4d7545df630f8408acdf91f349710cdf3678a1ff6c90074e087be3c7d97a20639c95f5eb7438c
|
||||
"browser-fs-access@npm:0.35.0":
|
||||
version: 0.35.0
|
||||
resolution: "browser-fs-access@npm:0.35.0"
|
||||
checksum: 5f3bf1ec17ffc2c991af7d92e2100f0b3d6cdd638a4dbf59e72c86a6de534816d7ad40cd25b63bf8f15d2ae47f1cd46ad27f13104029e62f8f101722dabf3a37
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
|
@ -2586,10 +2586,10 @@ browserlist@latest:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"caniuse-lite@npm:1.0.30001519":
|
||||
version: 1.0.30001519
|
||||
resolution: "caniuse-lite@npm:1.0.30001519"
|
||||
checksum: 66085133ede05d947e30b62fed2cbae18e5767afda8b0de38840883e1cfe5846bf1568ddbafd31647544e59112355abedaf9c867ac34541bfc20d69e7a19d94c
|
||||
"caniuse-lite@npm:1.0.30001538":
|
||||
version: 1.0.30001538
|
||||
resolution: "caniuse-lite@npm:1.0.30001538"
|
||||
checksum: 94c5d55757a339c7cc175f08a024671e2b4e7c04f130b1015793303d637061347efb6ad84447c3b8137333e742d150b8ad9672716bbf2482646c2e63a56f6c55
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
|
@ -3842,13 +3842,14 @@ browserlist@latest:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"eslint-plugin-n@npm:16.0.2":
|
||||
version: 16.0.2
|
||||
resolution: "eslint-plugin-n@npm:16.0.2"
|
||||
"eslint-plugin-n@npm:16.1.0":
|
||||
version: 16.1.0
|
||||
resolution: "eslint-plugin-n@npm:16.1.0"
|
||||
dependencies:
|
||||
"@eslint-community/eslint-utils": ^4.4.0
|
||||
builtins: ^5.0.1
|
||||
eslint-plugin-es-x: ^7.1.0
|
||||
get-tsconfig: ^4.7.0
|
||||
ignore: ^5.2.4
|
||||
is-core-module: ^2.12.1
|
||||
minimatch: ^3.1.2
|
||||
|
@ -3856,7 +3857,7 @@ browserlist@latest:
|
|||
semver: ^7.5.3
|
||||
peerDependencies:
|
||||
eslint: ">=7.0.0"
|
||||
checksum: 44cffe32a3a3cd2a706e82f45fedf79e0af7cae20e7c5f3185707233d941de1058373a27b90e86a8f0e5f9830b02c90116deaa05f139a67556954de72bc4935d
|
||||
checksum: 6b70bf8eec74395a440ca585745eb19aba143ee00513f76893c44944675630bd898227d1b4e0ebef66fd0c84cdcf223d6613b2beee0727b5c572cd705fb50d3a
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
|
@ -3977,15 +3978,15 @@ browserlist@latest:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"eslint@npm:8.48.0":
|
||||
version: 8.48.0
|
||||
resolution: "eslint@npm:8.48.0"
|
||||
"eslint@npm:8.49.0":
|
||||
version: 8.49.0
|
||||
resolution: "eslint@npm:8.49.0"
|
||||
dependencies:
|
||||
"@eslint-community/eslint-utils": ^4.2.0
|
||||
"@eslint-community/regexpp": ^4.6.1
|
||||
"@eslint/eslintrc": ^2.1.2
|
||||
"@eslint/js": 8.48.0
|
||||
"@humanwhocodes/config-array": ^0.11.10
|
||||
"@eslint/js": 8.49.0
|
||||
"@humanwhocodes/config-array": ^0.11.11
|
||||
"@humanwhocodes/module-importer": ^1.0.1
|
||||
"@nodelib/fs.walk": ^1.2.8
|
||||
ajv: ^6.12.4
|
||||
|
@ -4020,7 +4021,7 @@ browserlist@latest:
|
|||
text-table: ^0.2.0
|
||||
bin:
|
||||
eslint: bin/eslint.js
|
||||
checksum: f20b359a4f8123fec5c033577368cc020d42978b1b45303974acd8da7a27063168ee3fe297ab5b35327162f6a93154063e3ce6577102f70f9809aff793db9bd0
|
||||
checksum: 4dfe257e1e42da2f9da872b05aaaf99b0f5aa022c1a91eee8f2af1ab72651b596366320c575ccd4e0469f7b4c97aff5bb85ae3323ebd6a293c3faef4028b0d81
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
|
@ -4368,6 +4369,15 @@ browserlist@latest:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"get-tsconfig@npm:^4.7.0":
|
||||
version: 4.7.2
|
||||
resolution: "get-tsconfig@npm:4.7.2"
|
||||
dependencies:
|
||||
resolve-pkg-maps: ^1.0.0
|
||||
checksum: 172358903250eff0103943f816e8a4e51d29b8e5449058bdf7266714a908a48239f6884308bd3a6ff28b09f692b9533dbebfd183ab63e4e14f073cda91f1bca9
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"glob-parent@npm:^6.0.2":
|
||||
version: 6.0.2
|
||||
resolution: "glob-parent@npm:6.0.2"
|
||||
|
@ -4577,9 +4587,9 @@ browserlist@latest:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"html-validate@npm:8.3.0":
|
||||
version: 8.3.0
|
||||
resolution: "html-validate@npm:8.3.0"
|
||||
"html-validate@npm:8.4.0":
|
||||
version: 8.4.0
|
||||
resolution: "html-validate@npm:8.4.0"
|
||||
dependencies:
|
||||
"@babel/code-frame": ^7.10.0
|
||||
"@html-validate/stylish": ^4.1.0
|
||||
|
@ -4605,7 +4615,7 @@ browserlist@latest:
|
|||
optional: true
|
||||
bin:
|
||||
html-validate: bin/html-validate.js
|
||||
checksum: fd96a96fa7165976c1adf0bc1b54b53285ff7a355f78e54ad4d77de07d9c6e732e77a8079e5ce5a2a331f35fb9cd6b39f0182c7816f82948008882e9992d38df
|
||||
checksum: 5a063e3bb00a7b2678f4b62443a9c02d4123a44d0d47a0ecc1c42a50ae77404f3f69ca6cc6dd774540ed97c255ea8ac11ee6268d204d21f3334c2ea740d585c0
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
|
@ -5527,10 +5537,10 @@ browserlist@latest:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"luxon@npm:3.4.0":
|
||||
version: 3.4.0
|
||||
resolution: "luxon@npm:3.4.0"
|
||||
checksum: ca9b6d0e0a8d156574b7e84014ac8e4b60d116d6d7a0fb65ef48eeb8e4415dad6350b76c5ee34f795cadf8b3f9a5fe7a6885733f561e554c50dffb0b704a840b
|
||||
"luxon@npm:3.4.3":
|
||||
version: 3.4.3
|
||||
resolution: "luxon@npm:3.4.3"
|
||||
checksum: 3eade81506224d038ed24035a0cd0dd4887848d7eba9361dce9ad8ef81380596a68153240be3988721f9690c624fb449fcf8fd8c3fc0681a6a8496faf48e92a3
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
|
@ -6715,6 +6725,13 @@ browserlist@latest:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"resolve-pkg-maps@npm:^1.0.0":
|
||||
version: 1.0.0
|
||||
resolution: "resolve-pkg-maps@npm:1.0.0"
|
||||
checksum: 1012afc566b3fdb190a6309cc37ef3b2dcc35dff5fa6683a9d00cd25c3247edfbc4691b91078c97adc82a29b77a2660c30d791d65dab4fc78bfc473f60289977
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"resolve@npm:^1.10.1, resolve@npm:^1.15.1":
|
||||
version: 1.22.0
|
||||
resolution: "resolve@npm:1.22.0"
|
||||
|
@ -6849,7 +6866,7 @@ browserlist@latest:
|
|||
"@fullcalendar/icalendar": 6.1.8
|
||||
"@fullcalendar/interaction": 6.1.8
|
||||
"@fullcalendar/list": 6.1.8
|
||||
"@fullcalendar/luxon3": 6.1.8
|
||||
"@fullcalendar/luxon3": 6.1.9
|
||||
"@fullcalendar/timegrid": 6.1.8
|
||||
"@fullcalendar/vue3": 6.1.8
|
||||
"@parcel/optimizer-data-url": 2.9.3
|
||||
|
@ -6858,25 +6875,25 @@ browserlist@latest:
|
|||
"@popperjs/core": 2.11.8
|
||||
"@rollup/pluginutils": 5.0.4
|
||||
"@twuni/emojify": 1.0.2
|
||||
"@vitejs/plugin-vue": 4.3.3
|
||||
bootstrap: 5.3.1
|
||||
bootstrap-icons: 1.10.5
|
||||
browser-fs-access: 0.34.1
|
||||
"@vitejs/plugin-vue": 4.3.4
|
||||
bootstrap: 5.3.2
|
||||
bootstrap-icons: 1.11.1
|
||||
browser-fs-access: 0.35.0
|
||||
browserlist: latest
|
||||
c8: 8.0.1
|
||||
caniuse-lite: 1.0.30001519
|
||||
caniuse-lite: 1.0.30001538
|
||||
d3: 7.8.5
|
||||
eslint: 8.48.0
|
||||
eslint: 8.49.0
|
||||
eslint-config-standard: 17.1.0
|
||||
eslint-plugin-cypress: 2.14.0
|
||||
eslint-plugin-import: 2.28.1
|
||||
eslint-plugin-n: 16.0.2
|
||||
eslint-plugin-n: 16.1.0
|
||||
eslint-plugin-node: 11.1.0
|
||||
eslint-plugin-promise: 6.1.1
|
||||
eslint-plugin-vue: 9.17.0
|
||||
file-saver: 2.0.5
|
||||
highcharts: 11.1.0
|
||||
html-validate: 8.3.0
|
||||
html-validate: 8.4.0
|
||||
ical.js: 1.5.0
|
||||
jquery: 3.7.1
|
||||
jquery-migrate: 3.4.1
|
||||
|
@ -6884,7 +6901,7 @@ browserlist@latest:
|
|||
list.js: 2.3.1
|
||||
lodash: 4.17.21
|
||||
lodash-es: 4.17.21
|
||||
luxon: 3.4.0
|
||||
luxon: 3.4.3
|
||||
moment: 2.29.4
|
||||
moment-timezone: 0.5.43
|
||||
ms: 2.1.3
|
||||
|
@ -6894,7 +6911,7 @@ browserlist@latest:
|
|||
pinia: 2.1.6
|
||||
pinia-plugin-persist: 1.0.0
|
||||
pug: 3.0.2
|
||||
sass: 1.66.1
|
||||
sass: 1.67.0
|
||||
seedrandom: 3.0.5
|
||||
select2: 4.1.0-rc.0
|
||||
select2-bootstrap-5-theme: 1.3.0
|
||||
|
@ -6970,16 +6987,16 @@ browserlist@latest:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"sass@npm:1.66.1":
|
||||
version: 1.66.1
|
||||
resolution: "sass@npm:1.66.1"
|
||||
"sass@npm:1.67.0":
|
||||
version: 1.67.0
|
||||
resolution: "sass@npm:1.67.0"
|
||||
dependencies:
|
||||
chokidar: ">=3.0.0 <4.0.0"
|
||||
immutable: ^4.0.0
|
||||
source-map-js: ">=0.6.2 <2.0.0"
|
||||
bin:
|
||||
sass: sass.js
|
||||
checksum: 74fc11d0fcd5e16c5331b57dd59865705a299c64e89f2b99646869caeb011dc8d0b6144a6c74a90c264e9ef70654207dbf44fc9b7e3393f8bd14809b904c8a52
|
||||
checksum: 9e7566e8b7386cf265dddcdb266a023fb5759c5a8f48a11da199c8bf419e5f08f4ff6404d85d6bf5eac01e1f7c7061fdb6b7b65cbfda164e59b0a06b72ac8567
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
|
|
Loading…
Reference in a new issue