Merge remote-tracking branch 'origin/main' into feat/postgres
This commit is contained in:
commit
2351629fcc
3
.github/semantic.yml
vendored
Normal file
3
.github/semantic.yml
vendored
Normal file
|
@ -0,0 +1,3 @@
|
|||
enabled: true
|
||||
titleOnly: true
|
||||
targetUrl: "https://www.conventionalcommits.org/en/v1.0.0/#summary"
|
6
.github/workflows/build.yml
vendored
6
.github/workflows/build.yml
vendored
|
@ -82,7 +82,7 @@ jobs:
|
|||
echo "NEXT_VERSION=$nextStrict" >> $GITHUB_ENV
|
||||
|
||||
- name: Create Draft Release
|
||||
uses: ncipollo/release-action@v1.11.1
|
||||
uses: ncipollo/release-action@v1.12.0
|
||||
if: ${{ github.event.inputs.publish == 'true' && github.event.inputs.dryrun == 'false' }}
|
||||
with:
|
||||
prerelease: true
|
||||
|
@ -368,10 +368,11 @@ jobs:
|
|||
histCoveragePath: historical-coverage.json
|
||||
|
||||
- name: Create Release
|
||||
uses: ncipollo/release-action@v1.11.1
|
||||
uses: ncipollo/release-action@v1.12.0
|
||||
if: ${{ env.SHOULD_DEPLOY == 'true' && github.event.inputs.dryrun == 'false' }}
|
||||
with:
|
||||
allowUpdates: true
|
||||
makeLatest: true
|
||||
draft: false
|
||||
tag: ${{ env.PKG_VERSION }}
|
||||
name: ${{ env.PKG_VERSION }}
|
||||
|
@ -384,7 +385,6 @@ jobs:
|
|||
if: ${{ github.event.inputs.updateCoverage == 'true' && github.event.inputs.dryrun == 'false' }}
|
||||
with:
|
||||
allowUpdates: true
|
||||
makeLatest: true
|
||||
tag: baseline
|
||||
omitBodyDuringUpdate: true
|
||||
omitNameDuringUpdate: true
|
||||
|
|
15
.github/workflows/dev-db-nightly.yml
vendored
15
.github/workflows/dev-db-nightly.yml
vendored
|
@ -122,11 +122,18 @@ jobs:
|
|||
- uses: actions/checkout@v3
|
||||
with:
|
||||
ref: 'feat/postgres'
|
||||
|
||||
|
||||
- name: Migrate
|
||||
run: |
|
||||
chmod +x ./docker/scripts/db-pg-migrate.sh
|
||||
sh ./docker/scripts/db-pg-migrate.sh
|
||||
uses: nick-fields/retry@v2
|
||||
with:
|
||||
timeout_minutes: 30
|
||||
max_attempts: 3
|
||||
command: |
|
||||
chmod +x ./docker/scripts/db-pg-migrate.sh
|
||||
sh ./docker/scripts/db-pg-migrate.sh
|
||||
on_retry_command: |
|
||||
psql -U django -h pgdb -d ietf -v ON_ERROR_STOP=1 -c '\x' -c 'DROP SCHEMA ietf_utf8 CASCADE;'
|
||||
rm -f cast.load
|
||||
|
||||
- name: Upload DB Dump
|
||||
uses: actions/upload-artifact@v3
|
||||
|
|
258
.pnp.cjs
generated
258
.pnp.cjs
generated
|
@ -50,41 +50,41 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
|||
["@twuni/emojify", "npm:1.0.2"],\
|
||||
["@vitejs/plugin-vue", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:3.2.0"],\
|
||||
["bootstrap", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:5.2.3"],\
|
||||
["bootstrap-icons", "npm:1.10.2"],\
|
||||
["bootstrap-icons", "npm:1.10.3"],\
|
||||
["browser-fs-access", "npm:0.31.1"],\
|
||||
["browserlist", "npm:1.0.1"],\
|
||||
["c8", "npm:7.12.0"],\
|
||||
["caniuse-lite", "npm:1.0.30001439"],\
|
||||
["d3", "npm:7.7.0"],\
|
||||
["eslint", "npm:8.29.0"],\
|
||||
["caniuse-lite", "npm:1.0.30001442"],\
|
||||
["d3", "npm:7.8.0"],\
|
||||
["eslint", "npm:8.31.0"],\
|
||||
["eslint-config-standard", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:17.0.0"],\
|
||||
["eslint-plugin-cypress", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.12.1"],\
|
||||
["eslint-plugin-import", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.26.0"],\
|
||||
["eslint-plugin-n", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:15.6.0"],\
|
||||
["eslint-plugin-n", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:15.6.1"],\
|
||||
["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.8.0"],\
|
||||
["file-saver", "npm:2.0.5"],\
|
||||
["highcharts", "npm:10.3.2"],\
|
||||
["html-validate", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:7.10.1"],\
|
||||
["jquery", "npm:3.6.2"],\
|
||||
["html-validate", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:7.12.2"],\
|
||||
["jquery", "npm:3.6.3"],\
|
||||
["jquery-migrate", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:3.4.0"],\
|
||||
["jquery-ui-dist", "npm:1.13.2"],\
|
||||
["js-cookie", "npm:3.0.1"],\
|
||||
["list.js", "npm:2.3.1"],\
|
||||
["lodash", "npm:4.17.21"],\
|
||||
["lodash-es", "npm:4.17.21"],\
|
||||
["luxon", "npm:3.1.1"],\
|
||||
["luxon", "npm:3.2.1"],\
|
||||
["moment", "npm:2.29.4"],\
|
||||
["moment-timezone", "npm:0.5.40"],\
|
||||
["ms", "npm:2.1.3"],\
|
||||
["murmurhash-js", "npm:1.0.0"],\
|
||||
["naive-ui", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.34.2"],\
|
||||
["naive-ui", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.34.3"],\
|
||||
["parcel", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.8.2"],\
|
||||
["pinia", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.0.28"],\
|
||||
["pinia-plugin-persist", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:1.0.0"],\
|
||||
["pug", "npm:3.0.2"],\
|
||||
["sass", "npm:1.56.2"],\
|
||||
["sass", "npm:1.57.1"],\
|
||||
["seedrandom", "npm:3.0.5"],\
|
||||
["select2", "npm:4.1.0-rc.0"],\
|
||||
["select2-bootstrap-5-theme", "npm:1.3.0"],\
|
||||
|
@ -169,10 +169,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
|||
],\
|
||||
"linkType": "SOFT"\
|
||||
}],\
|
||||
["virtual:fbe7528a5ca5bae03aee1ecb3bd12568e1a4061d2923a771668e8a940ef9ad64125dd8cc7324107ffbd6e34ffa123be3bcd813b79ff7b2db2cb2572affe66874#npm:0.15.10", {\
|
||||
"packageLocation": "./.yarn/__virtual__/@css-render-plugin-bem-virtual-ca2408adfb/0/cache/@css-render-plugin-bem-npm-0.15.10-41ccecaa2f-cbab72a7b5.zip/node_modules/@css-render/plugin-bem/",\
|
||||
["virtual:4fa5810747c131dcf20cc36c17e835ba5fa42265b3b1f99a6712420e8672195f31ac73d077125c82af29bde6232df6ecc61b1f3ff0dde337b62085ef712e7d6a#npm:0.15.10", {\
|
||||
"packageLocation": "./.yarn/__virtual__/@css-render-plugin-bem-virtual-1bbf78173b/0/cache/@css-render-plugin-bem-npm-0.15.10-41ccecaa2f-cbab72a7b5.zip/node_modules/@css-render/plugin-bem/",\
|
||||
"packageDependencies": [\
|
||||
["@css-render/plugin-bem", "virtual:fbe7528a5ca5bae03aee1ecb3bd12568e1a4061d2923a771668e8a940ef9ad64125dd8cc7324107ffbd6e34ffa123be3bcd813b79ff7b2db2cb2572affe66874#npm:0.15.10"],\
|
||||
["@css-render/plugin-bem", "virtual:4fa5810747c131dcf20cc36c17e835ba5fa42265b3b1f99a6712420e8672195f31ac73d077125c82af29bde6232df6ecc61b1f3ff0dde337b62085ef712e7d6a#npm:0.15.10"],\
|
||||
["@types/css-render", null],\
|
||||
["css-render", "npm:0.15.10"]\
|
||||
],\
|
||||
|
@ -191,10 +191,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
|||
],\
|
||||
"linkType": "SOFT"\
|
||||
}],\
|
||||
["virtual:fbe7528a5ca5bae03aee1ecb3bd12568e1a4061d2923a771668e8a940ef9ad64125dd8cc7324107ffbd6e34ffa123be3bcd813b79ff7b2db2cb2572affe66874#npm:0.15.10", {\
|
||||
"packageLocation": "./.yarn/__virtual__/@css-render-vue3-ssr-virtual-864cfc3967/0/cache/@css-render-vue3-ssr-npm-0.15.10-b8526cc313-7977e0c440.zip/node_modules/@css-render/vue3-ssr/",\
|
||||
["virtual:4fa5810747c131dcf20cc36c17e835ba5fa42265b3b1f99a6712420e8672195f31ac73d077125c82af29bde6232df6ecc61b1f3ff0dde337b62085ef712e7d6a#npm:0.15.10", {\
|
||||
"packageLocation": "./.yarn/__virtual__/@css-render-vue3-ssr-virtual-75d553c878/0/cache/@css-render-vue3-ssr-npm-0.15.10-b8526cc313-7977e0c440.zip/node_modules/@css-render/vue3-ssr/",\
|
||||
"packageDependencies": [\
|
||||
["@css-render/vue3-ssr", "virtual:fbe7528a5ca5bae03aee1ecb3bd12568e1a4061d2923a771668e8a940ef9ad64125dd8cc7324107ffbd6e34ffa123be3bcd813b79ff7b2db2cb2572affe66874#npm:0.15.10"],\
|
||||
["@css-render/vue3-ssr", "virtual:4fa5810747c131dcf20cc36c17e835ba5fa42265b3b1f99a6712420e8672195f31ac73d077125c82af29bde6232df6ecc61b1f3ff0dde337b62085ef712e7d6a#npm:0.15.10"],\
|
||||
["@types/vue", null],\
|
||||
["vue", "npm:3.2.45"]\
|
||||
],\
|
||||
|
@ -233,14 +233,14 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
|||
}]\
|
||||
]],\
|
||||
["@eslint/eslintrc", [\
|
||||
["npm:1.3.3", {\
|
||||
"packageLocation": "./.yarn/cache/@eslint-eslintrc-npm-1.3.3-9e3a462140-f03e9d6727.zip/node_modules/@eslint/eslintrc/",\
|
||||
["npm:1.4.1", {\
|
||||
"packageLocation": "./.yarn/cache/@eslint-eslintrc-npm-1.4.1-007f670de2-cd3e5a8683.zip/node_modules/@eslint/eslintrc/",\
|
||||
"packageDependencies": [\
|
||||
["@eslint/eslintrc", "npm:1.3.3"],\
|
||||
["@eslint/eslintrc", "npm:1.4.1"],\
|
||||
["ajv", "npm:6.12.6"],\
|
||||
["debug", "virtual:b86a9fb34323a98c6519528ed55faa0d9b44ca8879307c0b29aa384bde47ff59a7d0c9051b31246f14521dfb71ba3c5d6d0b35c29fffc17bf875aa6ad977d9e8#npm:4.3.4"],\
|
||||
["espree", "npm:9.4.0"],\
|
||||
["globals", "npm:13.15.0"],\
|
||||
["globals", "npm:13.19.0"],\
|
||||
["ignore", "npm:5.2.0"],\
|
||||
["import-fresh", "npm:3.3.0"],\
|
||||
["js-yaml", "npm:4.1.0"],\
|
||||
|
@ -339,7 +339,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
|||
["@fullcalendar/luxon2", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:5.11.3"],\
|
||||
["@fullcalendar/common", "npm:5.11.3"],\
|
||||
["@types/luxon", null],\
|
||||
["luxon", "npm:3.1.1"],\
|
||||
["luxon", "npm:3.2.1"],\
|
||||
["tslib", "npm:2.4.0"]\
|
||||
],\
|
||||
"packagePeers": [\
|
||||
|
@ -405,10 +405,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
|||
}]\
|
||||
]],\
|
||||
["@humanwhocodes/config-array", [\
|
||||
["npm:0.11.7", {\
|
||||
"packageLocation": "./.yarn/cache/@humanwhocodes-config-array-npm-0.11.7-fa83ecd27f-cf506dc45d.zip/node_modules/@humanwhocodes/config-array/",\
|
||||
["npm:0.11.8", {\
|
||||
"packageLocation": "./.yarn/cache/@humanwhocodes-config-array-npm-0.11.8-7955bfecc2-0fd6b3c54f.zip/node_modules/@humanwhocodes/config-array/",\
|
||||
"packageDependencies": [\
|
||||
["@humanwhocodes/config-array", "npm:0.11.7"],\
|
||||
["@humanwhocodes/config-array", "npm:0.11.8"],\
|
||||
["@humanwhocodes/object-schema", "npm:1.2.1"],\
|
||||
["debug", "virtual:b86a9fb34323a98c6519528ed55faa0d9b44ca8879307c0b29aa384bde47ff59a7d0c9051b31246f14521dfb71ba3c5d6d0b35c29fffc17bf875aa6ad977d9e8#npm:4.3.4"],\
|
||||
["minimatch", "npm:3.1.2"]\
|
||||
|
@ -1883,10 +1883,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
|||
],\
|
||||
"linkType": "SOFT"\
|
||||
}],\
|
||||
["virtual:fdf68f1c9ed6d3f4d0cc171ccde72d64c557f4597d23823af77249d92d02fba30826705ed7601dac52f4b714700e596a202b388b79b16ac8ce3faf54eb780dd1#npm:2.0.0", {\
|
||||
"packageLocation": "./.yarn/__virtual__/@sidvind-better-ajv-errors-virtual-db57922bf1/0/cache/@sidvind-better-ajv-errors-npm-2.0.0-3531bddef9-12b0d87855.zip/node_modules/@sidvind/better-ajv-errors/",\
|
||||
["virtual:ef051354894d83cc0cda7d7a4a6eca604681f35eb8f2a25fe305435ac599a4d71af04fcaa26daa3f5aa064e73442d202ba9dfbda5c3f8c7b1daf472f3a17da86#npm:2.0.0", {\
|
||||
"packageLocation": "./.yarn/__virtual__/@sidvind-better-ajv-errors-virtual-65bece6091/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:fdf68f1c9ed6d3f4d0cc171ccde72d64c557f4597d23823af77249d92d02fba30826705ed7601dac52f4b714700e596a202b388b79b16ac8ce3faf54eb780dd1#npm:2.0.0"],\
|
||||
["@sidvind/better-ajv-errors", "virtual:ef051354894d83cc0cda7d7a4a6eca604681f35eb8f2a25fe305435ac599a4d71af04fcaa26daa3f5aa064e73442d202ba9dfbda5c3f8c7b1daf472f3a17da86#npm:2.0.0"],\
|
||||
["@babel/code-frame", "npm:7.16.7"],\
|
||||
["@types/ajv", null],\
|
||||
["ajv", "npm:8.11.0"],\
|
||||
|
@ -2549,10 +2549,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
|||
}]\
|
||||
]],\
|
||||
["bootstrap-icons", [\
|
||||
["npm:1.10.2", {\
|
||||
"packageLocation": "./.yarn/cache/bootstrap-icons-npm-1.10.2-09a829eafa-1d73556a70.zip/node_modules/bootstrap-icons/",\
|
||||
["npm:1.10.3", {\
|
||||
"packageLocation": "./.yarn/cache/bootstrap-icons-npm-1.10.3-d595a95ca4-bef7f83ce0.zip/node_modules/bootstrap-icons/",\
|
||||
"packageDependencies": [\
|
||||
["bootstrap-icons", "npm:1.10.2"]\
|
||||
["bootstrap-icons", "npm:1.10.3"]\
|
||||
],\
|
||||
"linkType": "HARD"\
|
||||
}]\
|
||||
|
@ -2714,10 +2714,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
|||
],\
|
||||
"linkType": "HARD"\
|
||||
}],\
|
||||
["npm:1.0.30001439", {\
|
||||
"packageLocation": "./.yarn/cache/caniuse-lite-npm-1.0.30001439-dd9478bf75-3912dd536c.zip/node_modules/caniuse-lite/",\
|
||||
["npm:1.0.30001442", {\
|
||||
"packageLocation": "./.yarn/cache/caniuse-lite-npm-1.0.30001442-4206643829-c1bff65bd4.zip/node_modules/caniuse-lite/",\
|
||||
"packageDependencies": [\
|
||||
["caniuse-lite", "npm:1.0.30001439"]\
|
||||
["caniuse-lite", "npm:1.0.30001442"]\
|
||||
],\
|
||||
"linkType": "HARD"\
|
||||
}]\
|
||||
|
@ -3024,10 +3024,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
|||
}]\
|
||||
]],\
|
||||
["d3", [\
|
||||
["npm:7.7.0", {\
|
||||
"packageLocation": "./.yarn/cache/d3-npm-7.7.0-af244e0e9d-ed1308674f.zip/node_modules/d3/",\
|
||||
["npm:7.8.0", {\
|
||||
"packageLocation": "./.yarn/cache/d3-npm-7.8.0-43f19bbccd-383d2c8aa6.zip/node_modules/d3/",\
|
||||
"packageDependencies": [\
|
||||
["d3", "npm:7.7.0"],\
|
||||
["d3", "npm:7.8.0"],\
|
||||
["d3-array", "npm:3.1.6"],\
|
||||
["d3-axis", "npm:3.0.0"],\
|
||||
["d3-brush", "npm:3.0.0"],\
|
||||
|
@ -3410,10 +3410,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
|||
],\
|
||||
"linkType": "SOFT"\
|
||||
}],\
|
||||
["virtual:fbe7528a5ca5bae03aee1ecb3bd12568e1a4061d2923a771668e8a940ef9ad64125dd8cc7324107ffbd6e34ffa123be3bcd813b79ff7b2db2cb2572affe66874#npm:1.3.3", {\
|
||||
"packageLocation": "./.yarn/__virtual__/date-fns-tz-virtual-fb0179cea3/0/cache/date-fns-tz-npm-1.3.3-4b42de3dcf-52111dffb4.zip/node_modules/date-fns-tz/",\
|
||||
["virtual:4fa5810747c131dcf20cc36c17e835ba5fa42265b3b1f99a6712420e8672195f31ac73d077125c82af29bde6232df6ecc61b1f3ff0dde337b62085ef712e7d6a#npm:1.3.3", {\
|
||||
"packageLocation": "./.yarn/__virtual__/date-fns-tz-virtual-ec6b2c4cf2/0/cache/date-fns-tz-npm-1.3.3-4b42de3dcf-52111dffb4.zip/node_modules/date-fns-tz/",\
|
||||
"packageDependencies": [\
|
||||
["date-fns-tz", "virtual:fbe7528a5ca5bae03aee1ecb3bd12568e1a4061d2923a771668e8a940ef9ad64125dd8cc7324107ffbd6e34ffa123be3bcd813b79ff7b2db2cb2572affe66874#npm:1.3.3"],\
|
||||
["date-fns-tz", "virtual:4fa5810747c131dcf20cc36c17e835ba5fa42265b3b1f99a6712420e8672195f31ac73d077125c82af29bde6232df6ecc61b1f3ff0dde337b62085ef712e7d6a#npm:1.3.3"],\
|
||||
["@types/date-fns", null],\
|
||||
["date-fns", "npm:2.28.0"]\
|
||||
],\
|
||||
|
@ -4055,12 +4055,12 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
|||
}]\
|
||||
]],\
|
||||
["eslint", [\
|
||||
["npm:8.29.0", {\
|
||||
"packageLocation": "./.yarn/cache/eslint-npm-8.29.0-289be12b40-e05204b059.zip/node_modules/eslint/",\
|
||||
["npm:8.31.0", {\
|
||||
"packageLocation": "./.yarn/cache/eslint-npm-8.31.0-da99c7e469-5e5688bb86.zip/node_modules/eslint/",\
|
||||
"packageDependencies": [\
|
||||
["eslint", "npm:8.29.0"],\
|
||||
["@eslint/eslintrc", "npm:1.3.3"],\
|
||||
["@humanwhocodes/config-array", "npm:0.11.7"],\
|
||||
["eslint", "npm:8.31.0"],\
|
||||
["@eslint/eslintrc", "npm:1.4.1"],\
|
||||
["@humanwhocodes/config-array", "npm:0.11.8"],\
|
||||
["@humanwhocodes/module-importer", "npm:1.0.1"],\
|
||||
["@nodelib/fs.walk", "npm:1.2.8"],\
|
||||
["ajv", "npm:6.12.6"],\
|
||||
|
@ -4070,7 +4070,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
|||
["doctrine", "npm:3.0.0"],\
|
||||
["escape-string-regexp", "npm:4.0.0"],\
|
||||
["eslint-scope", "npm:7.1.1"],\
|
||||
["eslint-utils", "virtual:289be12b405674cebfe9f1aad885baa35bb9c6cc913399fbdf01ae783a453de6030ce46c02728e37888c5ed9f57187791e3f7e39ace8be01102f7c43152bb92a#npm:3.0.0"],\
|
||||
["eslint-utils", "virtual:da99c7e4695a5fca5898fad31d2872f7fe46acc9506643f9acaa2915e169293c951732a239e9f38aa784a4d9e0c1021cee45cb2a8bcf8008a11e40816a14adaa#npm:3.0.0"],\
|
||||
["eslint-visitor-keys", "npm:3.3.0"],\
|
||||
["espree", "npm:9.4.0"],\
|
||||
["esquery", "npm:1.4.0"],\
|
||||
|
@ -4079,7 +4079,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
|||
["file-entry-cache", "npm:6.0.1"],\
|
||||
["find-up", "npm:5.0.0"],\
|
||||
["glob-parent", "npm:6.0.2"],\
|
||||
["globals", "npm:13.15.0"],\
|
||||
["globals", "npm:13.19.0"],\
|
||||
["grapheme-splitter", "npm:1.0.4"],\
|
||||
["ignore", "npm:5.2.0"],\
|
||||
["import-fresh", "npm:3.3.0"],\
|
||||
|
@ -4118,9 +4118,9 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
|||
["@types/eslint-plugin-import", null],\
|
||||
["@types/eslint-plugin-n", null],\
|
||||
["@types/eslint-plugin-promise", null],\
|
||||
["eslint", "npm:8.29.0"],\
|
||||
["eslint", "npm:8.31.0"],\
|
||||
["eslint-plugin-import", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.26.0"],\
|
||||
["eslint-plugin-n", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:15.6.0"],\
|
||||
["eslint-plugin-n", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:15.6.1"],\
|
||||
["eslint-plugin-promise", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.1"]\
|
||||
],\
|
||||
"packagePeers": [\
|
||||
|
@ -4196,7 +4196,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
|||
"packageDependencies": [\
|
||||
["eslint-plugin-cypress", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.12.1"],\
|
||||
["@types/eslint", null],\
|
||||
["eslint", "npm:8.29.0"],\
|
||||
["eslint", "npm:8.31.0"],\
|
||||
["globals", "npm:11.12.0"]\
|
||||
],\
|
||||
"packagePeers": [\
|
||||
|
@ -4226,7 +4226,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
|||
"packageDependencies": [\
|
||||
["eslint-plugin-es", "virtual:5cccaf00e87dfff96dbbb5eaf7a3055373358b8114d6a1adfb32f54ed6b40ba06068d3aa1fdd8062899a0cad040f68c17cc6b72bac2cdbe9700f3d6330d112f3#npm:3.0.1"],\
|
||||
["@types/eslint", null],\
|
||||
["eslint", "npm:8.29.0"],\
|
||||
["eslint", "npm:8.31.0"],\
|
||||
["eslint-utils", "npm:2.1.0"],\
|
||||
["regexpp", "npm:3.2.0"]\
|
||||
],\
|
||||
|
@ -4236,12 +4236,12 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
|||
],\
|
||||
"linkType": "HARD"\
|
||||
}],\
|
||||
["virtual:658a9afbd516149c6b89f8c02ca059f939b9effd6e1985f93fe95b2fc69ff85f0fce97fdb597120caf8f55668982ff4610a3873febcfef8a1fc18348d5149188#npm:4.1.0", {\
|
||||
"packageLocation": "./.yarn/__virtual__/eslint-plugin-es-virtual-264027714f/0/cache/eslint-plugin-es-npm-4.1.0-a4cf26d3cd-26b87a216d.zip/node_modules/eslint-plugin-es/",\
|
||||
["virtual:75c7efde890fd11a780800acb1cde469ae49edf8842af9f91484f93337ad61713574973ccf7c8eb0a0a15f7ed6c372fd23697f1d4d519b2d7a42f92c04a56cff#npm:4.1.0", {\
|
||||
"packageLocation": "./.yarn/__virtual__/eslint-plugin-es-virtual-c640ae95c4/0/cache/eslint-plugin-es-npm-4.1.0-a4cf26d3cd-26b87a216d.zip/node_modules/eslint-plugin-es/",\
|
||||
"packageDependencies": [\
|
||||
["eslint-plugin-es", "virtual:658a9afbd516149c6b89f8c02ca059f939b9effd6e1985f93fe95b2fc69ff85f0fce97fdb597120caf8f55668982ff4610a3873febcfef8a1fc18348d5149188#npm:4.1.0"],\
|
||||
["eslint-plugin-es", "virtual:75c7efde890fd11a780800acb1cde469ae49edf8842af9f91484f93337ad61713574973ccf7c8eb0a0a15f7ed6c372fd23697f1d4d519b2d7a42f92c04a56cff#npm:4.1.0"],\
|
||||
["@types/eslint", null],\
|
||||
["eslint", "npm:8.29.0"],\
|
||||
["eslint", "npm:8.31.0"],\
|
||||
["eslint-utils", "npm:2.1.0"],\
|
||||
["regexpp", "npm:3.2.0"]\
|
||||
],\
|
||||
|
@ -4271,7 +4271,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
|||
["array.prototype.flat", "npm:1.3.0"],\
|
||||
["debug", "virtual:faadf6353f98b703db6d695690b392666015d2aab4b710ea086196f4598c68e2b84944d3717503cadb554811494ac27c376eca728086556897f6a7cdb35eaef5#npm:2.6.9"],\
|
||||
["doctrine", "npm:2.1.0"],\
|
||||
["eslint", "npm:8.29.0"],\
|
||||
["eslint", "npm:8.31.0"],\
|
||||
["eslint-import-resolver-node", "npm:0.3.6"],\
|
||||
["eslint-module-utils", "virtual:c0858ad0a599e687a7d876de5591e3b098ca550f5c1ad46e7d0e2b6f5720a919cb228a47405daf7d626be1747e41a5b93e4b4d748f16d5e7c36c433aed618452#npm:2.7.3"],\
|
||||
["has", "npm:1.0.3"],\
|
||||
|
@ -4292,22 +4292,22 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
|||
}]\
|
||||
]],\
|
||||
["eslint-plugin-n", [\
|
||||
["npm:15.6.0", {\
|
||||
"packageLocation": "./.yarn/cache/eslint-plugin-n-npm-15.6.0-2f5a6f5e8e-629dc3e8c8.zip/node_modules/eslint-plugin-n/",\
|
||||
["npm:15.6.1", {\
|
||||
"packageLocation": "./.yarn/cache/eslint-plugin-n-npm-15.6.1-e4ab4703b3-269d6f2896.zip/node_modules/eslint-plugin-n/",\
|
||||
"packageDependencies": [\
|
||||
["eslint-plugin-n", "npm:15.6.0"]\
|
||||
["eslint-plugin-n", "npm:15.6.1"]\
|
||||
],\
|
||||
"linkType": "SOFT"\
|
||||
}],\
|
||||
["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:15.6.0", {\
|
||||
"packageLocation": "./.yarn/__virtual__/eslint-plugin-n-virtual-658a9afbd5/0/cache/eslint-plugin-n-npm-15.6.0-2f5a6f5e8e-629dc3e8c8.zip/node_modules/eslint-plugin-n/",\
|
||||
["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:15.6.1", {\
|
||||
"packageLocation": "./.yarn/__virtual__/eslint-plugin-n-virtual-75c7efde89/0/cache/eslint-plugin-n-npm-15.6.1-e4ab4703b3-269d6f2896.zip/node_modules/eslint-plugin-n/",\
|
||||
"packageDependencies": [\
|
||||
["eslint-plugin-n", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:15.6.0"],\
|
||||
["eslint-plugin-n", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:15.6.1"],\
|
||||
["@types/eslint", null],\
|
||||
["builtins", "npm:5.0.1"],\
|
||||
["eslint", "npm:8.29.0"],\
|
||||
["eslint-plugin-es", "virtual:658a9afbd516149c6b89f8c02ca059f939b9effd6e1985f93fe95b2fc69ff85f0fce97fdb597120caf8f55668982ff4610a3873febcfef8a1fc18348d5149188#npm:4.1.0"],\
|
||||
["eslint-utils", "virtual:289be12b405674cebfe9f1aad885baa35bb9c6cc913399fbdf01ae783a453de6030ce46c02728e37888c5ed9f57187791e3f7e39ace8be01102f7c43152bb92a#npm:3.0.0"],\
|
||||
["eslint", "npm:8.31.0"],\
|
||||
["eslint-plugin-es", "virtual:75c7efde890fd11a780800acb1cde469ae49edf8842af9f91484f93337ad61713574973ccf7c8eb0a0a15f7ed6c372fd23697f1d4d519b2d7a42f92c04a56cff#npm:4.1.0"],\
|
||||
["eslint-utils", "virtual:da99c7e4695a5fca5898fad31d2872f7fe46acc9506643f9acaa2915e169293c951732a239e9f38aa784a4d9e0c1021cee45cb2a8bcf8008a11e40816a14adaa#npm:3.0.0"],\
|
||||
["ignore", "npm:5.2.0"],\
|
||||
["is-core-module", "npm:2.11.0"],\
|
||||
["minimatch", "npm:3.1.2"],\
|
||||
|
@ -4334,7 +4334,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
|||
"packageDependencies": [\
|
||||
["eslint-plugin-node", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:11.1.0"],\
|
||||
["@types/eslint", null],\
|
||||
["eslint", "npm:8.29.0"],\
|
||||
["eslint", "npm:8.31.0"],\
|
||||
["eslint-plugin-es", "virtual:5cccaf00e87dfff96dbbb5eaf7a3055373358b8114d6a1adfb32f54ed6b40ba06068d3aa1fdd8062899a0cad040f68c17cc6b72bac2cdbe9700f3d6330d112f3#npm:3.0.1"],\
|
||||
["eslint-utils", "npm:2.1.0"],\
|
||||
["ignore", "npm:5.2.0"],\
|
||||
|
@ -4362,7 +4362,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
|||
"packageDependencies": [\
|
||||
["eslint-plugin-promise", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.1"],\
|
||||
["@types/eslint", null],\
|
||||
["eslint", "npm:8.29.0"]\
|
||||
["eslint", "npm:8.31.0"]\
|
||||
],\
|
||||
"packagePeers": [\
|
||||
"@types/eslint",\
|
||||
|
@ -4384,8 +4384,8 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
|||
"packageDependencies": [\
|
||||
["eslint-plugin-vue", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:9.8.0"],\
|
||||
["@types/eslint", null],\
|
||||
["eslint", "npm:8.29.0"],\
|
||||
["eslint-utils", "virtual:289be12b405674cebfe9f1aad885baa35bb9c6cc913399fbdf01ae783a453de6030ce46c02728e37888c5ed9f57187791e3f7e39ace8be01102f7c43152bb92a#npm:3.0.0"],\
|
||||
["eslint", "npm:8.31.0"],\
|
||||
["eslint-utils", "virtual:da99c7e4695a5fca5898fad31d2872f7fe46acc9506643f9acaa2915e169293c951732a239e9f38aa784a4d9e0c1021cee45cb2a8bcf8008a11e40816a14adaa#npm:3.0.0"],\
|
||||
["natural-compare", "npm:1.4.0"],\
|
||||
["nth-check", "npm:2.1.1"],\
|
||||
["postcss-selector-parser", "npm:6.0.10"],\
|
||||
|
@ -4427,12 +4427,12 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
|||
],\
|
||||
"linkType": "SOFT"\
|
||||
}],\
|
||||
["virtual:289be12b405674cebfe9f1aad885baa35bb9c6cc913399fbdf01ae783a453de6030ce46c02728e37888c5ed9f57187791e3f7e39ace8be01102f7c43152bb92a#npm:3.0.0", {\
|
||||
"packageLocation": "./.yarn/__virtual__/eslint-utils-virtual-7a7c69068b/0/cache/eslint-utils-npm-3.0.0-630b3a4013-0668fe02f5.zip/node_modules/eslint-utils/",\
|
||||
["virtual:da99c7e4695a5fca5898fad31d2872f7fe46acc9506643f9acaa2915e169293c951732a239e9f38aa784a4d9e0c1021cee45cb2a8bcf8008a11e40816a14adaa#npm:3.0.0", {\
|
||||
"packageLocation": "./.yarn/__virtual__/eslint-utils-virtual-e17c8db5e4/0/cache/eslint-utils-npm-3.0.0-630b3a4013-0668fe02f5.zip/node_modules/eslint-utils/",\
|
||||
"packageDependencies": [\
|
||||
["eslint-utils", "virtual:289be12b405674cebfe9f1aad885baa35bb9c6cc913399fbdf01ae783a453de6030ce46c02728e37888c5ed9f57187791e3f7e39ace8be01102f7c43152bb92a#npm:3.0.0"],\
|
||||
["eslint-utils", "virtual:da99c7e4695a5fca5898fad31d2872f7fe46acc9506643f9acaa2915e169293c951732a239e9f38aa784a4d9e0c1021cee45cb2a8bcf8008a11e40816a14adaa#npm:3.0.0"],\
|
||||
["@types/eslint", null],\
|
||||
["eslint", "npm:8.29.0"],\
|
||||
["eslint", "npm:8.31.0"],\
|
||||
["eslint-visitor-keys", "npm:2.1.0"]\
|
||||
],\
|
||||
"packagePeers": [\
|
||||
|
@ -4840,6 +4840,14 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
|||
["type-fest", "npm:0.20.2"]\
|
||||
],\
|
||||
"linkType": "HARD"\
|
||||
}],\
|
||||
["npm:13.19.0", {\
|
||||
"packageLocation": "./.yarn/cache/globals-npm-13.19.0-a63c75a2dd-a000dbd00b.zip/node_modules/globals/",\
|
||||
"packageDependencies": [\
|
||||
["globals", "npm:13.19.0"],\
|
||||
["type-fest", "npm:0.20.2"]\
|
||||
],\
|
||||
"linkType": "HARD"\
|
||||
}]\
|
||||
]],\
|
||||
["graceful-fs", [\
|
||||
|
@ -4961,20 +4969,20 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
|||
}]\
|
||||
]],\
|
||||
["html-validate", [\
|
||||
["npm:7.10.1", {\
|
||||
"packageLocation": "./.yarn/cache/html-validate-npm-7.10.1-c3b507b154-7a7dbc0a57.zip/node_modules/html-validate/",\
|
||||
["npm:7.12.2", {\
|
||||
"packageLocation": "./.yarn/cache/html-validate-npm-7.12.2-4a7c5f12a3-04bccd1680.zip/node_modules/html-validate/",\
|
||||
"packageDependencies": [\
|
||||
["html-validate", "npm:7.10.1"]\
|
||||
["html-validate", "npm:7.12.2"]\
|
||||
],\
|
||||
"linkType": "SOFT"\
|
||||
}],\
|
||||
["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:7.10.1", {\
|
||||
"packageLocation": "./.yarn/__virtual__/html-validate-virtual-fdf68f1c9e/0/cache/html-validate-npm-7.10.1-c3b507b154-7a7dbc0a57.zip/node_modules/html-validate/",\
|
||||
["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:7.12.2", {\
|
||||
"packageLocation": "./.yarn/__virtual__/html-validate-virtual-ef05135489/0/cache/html-validate-npm-7.12.2-4a7c5f12a3-04bccd1680.zip/node_modules/html-validate/",\
|
||||
"packageDependencies": [\
|
||||
["html-validate", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:7.10.1"],\
|
||||
["html-validate", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:7.12.2"],\
|
||||
["@babel/code-frame", "npm:7.16.7"],\
|
||||
["@html-validate/stylish", "npm:3.0.0"],\
|
||||
["@sidvind/better-ajv-errors", "virtual:fdf68f1c9ed6d3f4d0cc171ccde72d64c557f4597d23823af77249d92d02fba30826705ed7601dac52f4b714700e596a202b388b79b16ac8ce3faf54eb780dd1#npm:2.0.0"],\
|
||||
["@sidvind/better-ajv-errors", "virtual:ef051354894d83cc0cda7d7a4a6eca604681f35eb8f2a25fe305435ac599a4d71af04fcaa26daa3f5aa064e73442d202ba9dfbda5c3f8c7b1daf472f3a17da86#npm:2.0.0"],\
|
||||
["@types/jest", null],\
|
||||
["@types/jest-diff", null],\
|
||||
["@types/jest-snapshot", null],\
|
||||
|
@ -5573,10 +5581,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
|||
],\
|
||||
"linkType": "HARD"\
|
||||
}],\
|
||||
["npm:3.6.2", {\
|
||||
"packageLocation": "./.yarn/cache/jquery-npm-3.6.2-73fded3d09-b8ca408b94.zip/node_modules/jquery/",\
|
||||
["npm:3.6.3", {\
|
||||
"packageLocation": "./.yarn/cache/jquery-npm-3.6.3-cbc34d2330-0fd366bdca.zip/node_modules/jquery/",\
|
||||
"packageDependencies": [\
|
||||
["jquery", "npm:3.6.2"]\
|
||||
["jquery", "npm:3.6.3"]\
|
||||
],\
|
||||
"linkType": "HARD"\
|
||||
}]\
|
||||
|
@ -5594,7 +5602,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
|||
"packageDependencies": [\
|
||||
["jquery-migrate", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:3.4.0"],\
|
||||
["@types/jquery", null],\
|
||||
["jquery", "npm:3.6.2"]\
|
||||
["jquery", "npm:3.6.3"]\
|
||||
],\
|
||||
"packagePeers": [\
|
||||
"@types/jquery",\
|
||||
|
@ -5951,10 +5959,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
|||
}]\
|
||||
]],\
|
||||
["luxon", [\
|
||||
["npm:3.1.1", {\
|
||||
"packageLocation": "./.yarn/cache/luxon-npm-3.1.1-64fe977c1d-388fb35d3c.zip/node_modules/luxon/",\
|
||||
["npm:3.2.1", {\
|
||||
"packageLocation": "./.yarn/cache/luxon-npm-3.2.1-56f8d97395-3fa3def2c5.zip/node_modules/luxon/",\
|
||||
"packageDependencies": [\
|
||||
["luxon", "npm:3.1.1"]\
|
||||
["luxon", "npm:3.2.1"]\
|
||||
],\
|
||||
"linkType": "HARD"\
|
||||
}]\
|
||||
|
@ -6225,19 +6233,19 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
|||
}]\
|
||||
]],\
|
||||
["naive-ui", [\
|
||||
["npm:2.34.2", {\
|
||||
"packageLocation": "./.yarn/cache/naive-ui-npm-2.34.2-e423e7211e-48871bb068.zip/node_modules/naive-ui/",\
|
||||
["npm:2.34.3", {\
|
||||
"packageLocation": "./.yarn/cache/naive-ui-npm-2.34.3-ba2dfb08d8-792d9e6c51.zip/node_modules/naive-ui/",\
|
||||
"packageDependencies": [\
|
||||
["naive-ui", "npm:2.34.2"]\
|
||||
["naive-ui", "npm:2.34.3"]\
|
||||
],\
|
||||
"linkType": "SOFT"\
|
||||
}],\
|
||||
["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.34.2", {\
|
||||
"packageLocation": "./.yarn/__virtual__/naive-ui-virtual-fbe7528a5c/0/cache/naive-ui-npm-2.34.2-e423e7211e-48871bb068.zip/node_modules/naive-ui/",\
|
||||
["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.34.3", {\
|
||||
"packageLocation": "./.yarn/__virtual__/naive-ui-virtual-4fa5810747/0/cache/naive-ui-npm-2.34.3-ba2dfb08d8-792d9e6c51.zip/node_modules/naive-ui/",\
|
||||
"packageDependencies": [\
|
||||
["naive-ui", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.34.2"],\
|
||||
["@css-render/plugin-bem", "virtual:fbe7528a5ca5bae03aee1ecb3bd12568e1a4061d2923a771668e8a940ef9ad64125dd8cc7324107ffbd6e34ffa123be3bcd813b79ff7b2db2cb2572affe66874#npm:0.15.10"],\
|
||||
["@css-render/vue3-ssr", "virtual:fbe7528a5ca5bae03aee1ecb3bd12568e1a4061d2923a771668e8a940ef9ad64125dd8cc7324107ffbd6e34ffa123be3bcd813b79ff7b2db2cb2572affe66874#npm:0.15.10"],\
|
||||
["naive-ui", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.34.3"],\
|
||||
["@css-render/plugin-bem", "virtual:4fa5810747c131dcf20cc36c17e835ba5fa42265b3b1f99a6712420e8672195f31ac73d077125c82af29bde6232df6ecc61b1f3ff0dde337b62085ef712e7d6a#npm:0.15.10"],\
|
||||
["@css-render/vue3-ssr", "virtual:4fa5810747c131dcf20cc36c17e835ba5fa42265b3b1f99a6712420e8672195f31ac73d077125c82af29bde6232df6ecc61b1f3ff0dde337b62085ef712e7d6a#npm:0.15.10"],\
|
||||
["@types/katex", "npm:0.14.0"],\
|
||||
["@types/lodash", "npm:4.14.182"],\
|
||||
["@types/lodash-es", "npm:4.17.6"],\
|
||||
|
@ -6245,17 +6253,17 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
|||
["async-validator", "npm:4.1.1"],\
|
||||
["css-render", "npm:0.15.10"],\
|
||||
["date-fns", "npm:2.28.0"],\
|
||||
["date-fns-tz", "virtual:fbe7528a5ca5bae03aee1ecb3bd12568e1a4061d2923a771668e8a940ef9ad64125dd8cc7324107ffbd6e34ffa123be3bcd813b79ff7b2db2cb2572affe66874#npm:1.3.3"],\
|
||||
["date-fns-tz", "virtual:4fa5810747c131dcf20cc36c17e835ba5fa42265b3b1f99a6712420e8672195f31ac73d077125c82af29bde6232df6ecc61b1f3ff0dde337b62085ef712e7d6a#npm:1.3.3"],\
|
||||
["evtd", "npm:0.2.4"],\
|
||||
["highlight.js", "npm:11.5.1"],\
|
||||
["lodash", "npm:4.17.21"],\
|
||||
["lodash-es", "npm:4.17.21"],\
|
||||
["seemly", "npm:0.3.6"],\
|
||||
["treemate", "npm:0.3.11"],\
|
||||
["vdirs", "virtual:fbe7528a5ca5bae03aee1ecb3bd12568e1a4061d2923a771668e8a940ef9ad64125dd8cc7324107ffbd6e34ffa123be3bcd813b79ff7b2db2cb2572affe66874#npm:0.1.8"],\
|
||||
["vooks", "virtual:fbe7528a5ca5bae03aee1ecb3bd12568e1a4061d2923a771668e8a940ef9ad64125dd8cc7324107ffbd6e34ffa123be3bcd813b79ff7b2db2cb2572affe66874#npm:0.2.12"],\
|
||||
["vdirs", "virtual:4fa5810747c131dcf20cc36c17e835ba5fa42265b3b1f99a6712420e8672195f31ac73d077125c82af29bde6232df6ecc61b1f3ff0dde337b62085ef712e7d6a#npm:0.1.8"],\
|
||||
["vooks", "virtual:4fa5810747c131dcf20cc36c17e835ba5fa42265b3b1f99a6712420e8672195f31ac73d077125c82af29bde6232df6ecc61b1f3ff0dde337b62085ef712e7d6a#npm:0.2.12"],\
|
||||
["vue", "npm:3.2.45"],\
|
||||
["vueuc", "virtual:fbe7528a5ca5bae03aee1ecb3bd12568e1a4061d2923a771668e8a940ef9ad64125dd8cc7324107ffbd6e34ffa123be3bcd813b79ff7b2db2cb2572affe66874#npm:0.4.47"]\
|
||||
["vueuc", "virtual:4fa5810747c131dcf20cc36c17e835ba5fa42265b3b1f99a6712420e8672195f31ac73d077125c82af29bde6232df6ecc61b1f3ff0dde337b62085ef712e7d6a#npm:0.4.47"]\
|
||||
],\
|
||||
"packagePeers": [\
|
||||
"@types/vue",\
|
||||
|
@ -7280,41 +7288,41 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
|||
["@twuni/emojify", "npm:1.0.2"],\
|
||||
["@vitejs/plugin-vue", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:3.2.0"],\
|
||||
["bootstrap", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:5.2.3"],\
|
||||
["bootstrap-icons", "npm:1.10.2"],\
|
||||
["bootstrap-icons", "npm:1.10.3"],\
|
||||
["browser-fs-access", "npm:0.31.1"],\
|
||||
["browserlist", "npm:1.0.1"],\
|
||||
["c8", "npm:7.12.0"],\
|
||||
["caniuse-lite", "npm:1.0.30001439"],\
|
||||
["d3", "npm:7.7.0"],\
|
||||
["eslint", "npm:8.29.0"],\
|
||||
["caniuse-lite", "npm:1.0.30001442"],\
|
||||
["d3", "npm:7.8.0"],\
|
||||
["eslint", "npm:8.31.0"],\
|
||||
["eslint-config-standard", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:17.0.0"],\
|
||||
["eslint-plugin-cypress", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.12.1"],\
|
||||
["eslint-plugin-import", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.26.0"],\
|
||||
["eslint-plugin-n", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:15.6.0"],\
|
||||
["eslint-plugin-n", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:15.6.1"],\
|
||||
["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.8.0"],\
|
||||
["file-saver", "npm:2.0.5"],\
|
||||
["highcharts", "npm:10.3.2"],\
|
||||
["html-validate", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:7.10.1"],\
|
||||
["jquery", "npm:3.6.2"],\
|
||||
["html-validate", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:7.12.2"],\
|
||||
["jquery", "npm:3.6.3"],\
|
||||
["jquery-migrate", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:3.4.0"],\
|
||||
["jquery-ui-dist", "npm:1.13.2"],\
|
||||
["js-cookie", "npm:3.0.1"],\
|
||||
["list.js", "npm:2.3.1"],\
|
||||
["lodash", "npm:4.17.21"],\
|
||||
["lodash-es", "npm:4.17.21"],\
|
||||
["luxon", "npm:3.1.1"],\
|
||||
["luxon", "npm:3.2.1"],\
|
||||
["moment", "npm:2.29.4"],\
|
||||
["moment-timezone", "npm:0.5.40"],\
|
||||
["ms", "npm:2.1.3"],\
|
||||
["murmurhash-js", "npm:1.0.0"],\
|
||||
["naive-ui", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.34.2"],\
|
||||
["naive-ui", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.34.3"],\
|
||||
["parcel", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.8.2"],\
|
||||
["pinia", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.0.28"],\
|
||||
["pinia-plugin-persist", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:1.0.0"],\
|
||||
["pug", "npm:3.0.2"],\
|
||||
["sass", "npm:1.56.2"],\
|
||||
["sass", "npm:1.57.1"],\
|
||||
["seedrandom", "npm:3.0.5"],\
|
||||
["select2", "npm:4.1.0-rc.0"],\
|
||||
["select2-bootstrap-5-theme", "npm:1.3.0"],\
|
||||
|
@ -7385,10 +7393,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
|||
],\
|
||||
"linkType": "HARD"\
|
||||
}],\
|
||||
["npm:1.56.2", {\
|
||||
"packageLocation": "./.yarn/cache/sass-npm-1.56.2-bd3179d6b5-7b1f524d04.zip/node_modules/sass/",\
|
||||
["npm:1.57.1", {\
|
||||
"packageLocation": "./.yarn/cache/sass-npm-1.57.1-bafdba484f-734a08781b.zip/node_modules/sass/",\
|
||||
"packageDependencies": [\
|
||||
["sass", "npm:1.56.2"],\
|
||||
["sass", "npm:1.57.1"],\
|
||||
["chokidar", "npm:3.5.3"],\
|
||||
["immutable", "npm:4.0.0"],\
|
||||
["source-map-js", "npm:1.0.2"]\
|
||||
|
@ -8086,10 +8094,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
|||
],\
|
||||
"linkType": "SOFT"\
|
||||
}],\
|
||||
["virtual:fbe7528a5ca5bae03aee1ecb3bd12568e1a4061d2923a771668e8a940ef9ad64125dd8cc7324107ffbd6e34ffa123be3bcd813b79ff7b2db2cb2572affe66874#npm:0.1.8", {\
|
||||
"packageLocation": "./.yarn/__virtual__/vdirs-virtual-9a95e8a1b4/0/cache/vdirs-npm-0.1.8-59a32a98d6-a7be8ccad3.zip/node_modules/vdirs/",\
|
||||
["virtual:4fa5810747c131dcf20cc36c17e835ba5fa42265b3b1f99a6712420e8672195f31ac73d077125c82af29bde6232df6ecc61b1f3ff0dde337b62085ef712e7d6a#npm:0.1.8", {\
|
||||
"packageLocation": "./.yarn/__virtual__/vdirs-virtual-f3d9f623fd/0/cache/vdirs-npm-0.1.8-59a32a98d6-a7be8ccad3.zip/node_modules/vdirs/",\
|
||||
"packageDependencies": [\
|
||||
["vdirs", "virtual:fbe7528a5ca5bae03aee1ecb3bd12568e1a4061d2923a771668e8a940ef9ad64125dd8cc7324107ffbd6e34ffa123be3bcd813b79ff7b2db2cb2572affe66874#npm:0.1.8"],\
|
||||
["vdirs", "virtual:4fa5810747c131dcf20cc36c17e835ba5fa42265b3b1f99a6712420e8672195f31ac73d077125c82af29bde6232df6ecc61b1f3ff0dde337b62085ef712e7d6a#npm:0.1.8"],\
|
||||
["@types/vue", null],\
|
||||
["evtd", "npm:0.2.3"],\
|
||||
["vue", "npm:3.2.45"]\
|
||||
|
@ -8125,7 +8133,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
|||
["postcss", "npm:8.4.18"],\
|
||||
["resolve", "patch:resolve@npm%3A1.22.1#~builtin<compat/resolve>::version=1.22.1&hash=07638b"],\
|
||||
["rollup", "npm:2.79.1"],\
|
||||
["sass", "npm:1.56.2"],\
|
||||
["sass", "npm:1.57.1"],\
|
||||
["stylus", null],\
|
||||
["sugarss", null],\
|
||||
["terser", null]\
|
||||
|
@ -8163,10 +8171,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
|||
],\
|
||||
"linkType": "SOFT"\
|
||||
}],\
|
||||
["virtual:fbe7528a5ca5bae03aee1ecb3bd12568e1a4061d2923a771668e8a940ef9ad64125dd8cc7324107ffbd6e34ffa123be3bcd813b79ff7b2db2cb2572affe66874#npm:0.2.12", {\
|
||||
"packageLocation": "./.yarn/__virtual__/vooks-virtual-1f1870e5c2/0/cache/vooks-npm-0.2.12-0d1a2d856b-e6841ec5b6.zip/node_modules/vooks/",\
|
||||
["virtual:4fa5810747c131dcf20cc36c17e835ba5fa42265b3b1f99a6712420e8672195f31ac73d077125c82af29bde6232df6ecc61b1f3ff0dde337b62085ef712e7d6a#npm:0.2.12", {\
|
||||
"packageLocation": "./.yarn/__virtual__/vooks-virtual-f44f5b55b4/0/cache/vooks-npm-0.2.12-0d1a2d856b-e6841ec5b6.zip/node_modules/vooks/",\
|
||||
"packageDependencies": [\
|
||||
["vooks", "virtual:fbe7528a5ca5bae03aee1ecb3bd12568e1a4061d2923a771668e8a940ef9ad64125dd8cc7324107ffbd6e34ffa123be3bcd813b79ff7b2db2cb2572affe66874#npm:0.2.12"],\
|
||||
["vooks", "virtual:4fa5810747c131dcf20cc36c17e835ba5fa42265b3b1f99a6712420e8672195f31ac73d077125c82af29bde6232df6ecc61b1f3ff0dde337b62085ef712e7d6a#npm:0.2.12"],\
|
||||
["@types/vue", null],\
|
||||
["evtd", "npm:0.2.3"],\
|
||||
["vue", "npm:3.2.45"]\
|
||||
|
@ -8256,7 +8264,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
|||
["vue-eslint-parser", "virtual:b1db986ed39a80a226fbfa4d653465b173f10958eed2dd2079c16424a052a437a3b029f3b0228d6df47b4f864f76b70bc3e54b0b37aaac5dc8f4ae6650567a27#npm:9.0.3"],\
|
||||
["@types/eslint", null],\
|
||||
["debug", "virtual:b86a9fb34323a98c6519528ed55faa0d9b44ca8879307c0b29aa384bde47ff59a7d0c9051b31246f14521dfb71ba3c5d6d0b35c29fffc17bf875aa6ad977d9e8#npm:4.3.4"],\
|
||||
["eslint", "npm:8.29.0"],\
|
||||
["eslint", "npm:8.31.0"],\
|
||||
["eslint-scope", "npm:7.1.1"],\
|
||||
["eslint-visitor-keys", "npm:3.3.0"],\
|
||||
["espree", "npm:9.3.2"],\
|
||||
|
@ -8302,18 +8310,18 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
|||
],\
|
||||
"linkType": "SOFT"\
|
||||
}],\
|
||||
["virtual:fbe7528a5ca5bae03aee1ecb3bd12568e1a4061d2923a771668e8a940ef9ad64125dd8cc7324107ffbd6e34ffa123be3bcd813b79ff7b2db2cb2572affe66874#npm:0.4.47", {\
|
||||
"packageLocation": "./.yarn/__virtual__/vueuc-virtual-e7a7bcc64e/0/cache/vueuc-npm-0.4.47-ad081ddd15-b82b77a882.zip/node_modules/vueuc/",\
|
||||
["virtual:4fa5810747c131dcf20cc36c17e835ba5fa42265b3b1f99a6712420e8672195f31ac73d077125c82af29bde6232df6ecc61b1f3ff0dde337b62085ef712e7d6a#npm:0.4.47", {\
|
||||
"packageLocation": "./.yarn/__virtual__/vueuc-virtual-326ef48c83/0/cache/vueuc-npm-0.4.47-ad081ddd15-b82b77a882.zip/node_modules/vueuc/",\
|
||||
"packageDependencies": [\
|
||||
["vueuc", "virtual:fbe7528a5ca5bae03aee1ecb3bd12568e1a4061d2923a771668e8a940ef9ad64125dd8cc7324107ffbd6e34ffa123be3bcd813b79ff7b2db2cb2572affe66874#npm:0.4.47"],\
|
||||
["@css-render/vue3-ssr", "virtual:fbe7528a5ca5bae03aee1ecb3bd12568e1a4061d2923a771668e8a940ef9ad64125dd8cc7324107ffbd6e34ffa123be3bcd813b79ff7b2db2cb2572affe66874#npm:0.15.10"],\
|
||||
["vueuc", "virtual:4fa5810747c131dcf20cc36c17e835ba5fa42265b3b1f99a6712420e8672195f31ac73d077125c82af29bde6232df6ecc61b1f3ff0dde337b62085ef712e7d6a#npm:0.4.47"],\
|
||||
["@css-render/vue3-ssr", "virtual:4fa5810747c131dcf20cc36c17e835ba5fa42265b3b1f99a6712420e8672195f31ac73d077125c82af29bde6232df6ecc61b1f3ff0dde337b62085ef712e7d6a#npm:0.15.10"],\
|
||||
["@juggle/resize-observer", "npm:3.3.1"],\
|
||||
["@types/vue", null],\
|
||||
["css-render", "npm:0.15.10"],\
|
||||
["evtd", "npm:0.2.3"],\
|
||||
["seemly", "npm:0.3.3"],\
|
||||
["vdirs", "virtual:fbe7528a5ca5bae03aee1ecb3bd12568e1a4061d2923a771668e8a940ef9ad64125dd8cc7324107ffbd6e34ffa123be3bcd813b79ff7b2db2cb2572affe66874#npm:0.1.8"],\
|
||||
["vooks", "virtual:fbe7528a5ca5bae03aee1ecb3bd12568e1a4061d2923a771668e8a940ef9ad64125dd8cc7324107ffbd6e34ffa123be3bcd813b79ff7b2db2cb2572affe66874#npm:0.2.12"],\
|
||||
["vdirs", "virtual:4fa5810747c131dcf20cc36c17e835ba5fa42265b3b1f99a6712420e8672195f31ac73d077125c82af29bde6232df6ecc61b1f3ff0dde337b62085ef712e7d6a#npm:0.1.8"],\
|
||||
["vooks", "virtual:4fa5810747c131dcf20cc36c17e835ba5fa42265b3b1f99a6712420e8672195f31ac73d077125c82af29bde6232df6ecc61b1f3ff0dde337b62085ef712e7d6a#npm:0.2.12"],\
|
||||
["vue", "npm:3.2.45"]\
|
||||
],\
|
||||
"packagePeers": [\
|
||||
|
|
BIN
.yarn/cache/@eslint-eslintrc-npm-1.3.3-9e3a462140-f03e9d6727.zip → .yarn/cache/@eslint-eslintrc-npm-1.4.1-007f670de2-cd3e5a8683.zip
vendored
Normal file → Executable file
BIN
.yarn/cache/@eslint-eslintrc-npm-1.3.3-9e3a462140-f03e9d6727.zip → .yarn/cache/@eslint-eslintrc-npm-1.4.1-007f670de2-cd3e5a8683.zip
vendored
Normal file → Executable file
Binary file not shown.
Binary file not shown.
BIN
.yarn/cache/@humanwhocodes-config-array-npm-0.11.8-7955bfecc2-0fd6b3c54f.zip
vendored
Executable file
BIN
.yarn/cache/@humanwhocodes-config-array-npm-0.11.8-7955bfecc2-0fd6b3c54f.zip
vendored
Executable file
Binary file not shown.
BIN
.yarn/cache/bootstrap-icons-npm-1.10.2-09a829eafa-1d73556a70.zip → .yarn/cache/bootstrap-icons-npm-1.10.3-d595a95ca4-bef7f83ce0.zip
vendored
Normal file → Executable file
BIN
.yarn/cache/bootstrap-icons-npm-1.10.2-09a829eafa-1d73556a70.zip → .yarn/cache/bootstrap-icons-npm-1.10.3-d595a95ca4-bef7f83ce0.zip
vendored
Normal file → Executable file
Binary file not shown.
Binary file not shown.
BIN
.yarn/cache/caniuse-lite-npm-1.0.30001442-4206643829-c1bff65bd4.zip
vendored
Executable file
BIN
.yarn/cache/caniuse-lite-npm-1.0.30001442-4206643829-c1bff65bd4.zip
vendored
Executable file
Binary file not shown.
BIN
.yarn/cache/d3-npm-7.7.0-af244e0e9d-ed1308674f.zip
vendored
BIN
.yarn/cache/d3-npm-7.7.0-af244e0e9d-ed1308674f.zip
vendored
Binary file not shown.
BIN
.yarn/cache/d3-npm-7.8.0-43f19bbccd-383d2c8aa6.zip
vendored
Executable file
BIN
.yarn/cache/d3-npm-7.8.0-43f19bbccd-383d2c8aa6.zip
vendored
Executable file
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
.yarn/cache/globals-npm-13.19.0-a63c75a2dd-a000dbd00b.zip
vendored
Executable file
BIN
.yarn/cache/globals-npm-13.19.0-a63c75a2dd-a000dbd00b.zip
vendored
Executable file
Binary file not shown.
Binary file not shown.
BIN
.yarn/cache/html-validate-npm-7.12.2-4a7c5f12a3-04bccd1680.zip
vendored
Executable file
BIN
.yarn/cache/html-validate-npm-7.12.2-4a7c5f12a3-04bccd1680.zip
vendored
Executable file
Binary file not shown.
Binary file not shown.
BIN
.yarn/cache/jquery-npm-3.6.3-cbc34d2330-0fd366bdca.zip
vendored
Executable file
BIN
.yarn/cache/jquery-npm-3.6.3-cbc34d2330-0fd366bdca.zip
vendored
Executable file
Binary file not shown.
Binary file not shown.
BIN
.yarn/cache/luxon-npm-3.2.1-56f8d97395-3fa3def2c5.zip
vendored
Executable file
BIN
.yarn/cache/luxon-npm-3.2.1-56f8d97395-3fa3def2c5.zip
vendored
Executable file
Binary file not shown.
BIN
.yarn/cache/naive-ui-npm-2.34.2-e423e7211e-48871bb068.zip → .yarn/cache/naive-ui-npm-2.34.3-ba2dfb08d8-792d9e6c51.zip
vendored
Normal file → Executable file
BIN
.yarn/cache/naive-ui-npm-2.34.2-e423e7211e-48871bb068.zip → .yarn/cache/naive-ui-npm-2.34.3-ba2dfb08d8-792d9e6c51.zip
vendored
Normal file → Executable file
Binary file not shown.
Binary file not shown.
BIN
.yarn/cache/sass-npm-1.57.1-bafdba484f-734a08781b.zip
vendored
Executable file
BIN
.yarn/cache/sass-npm-1.57.1-bafdba484f-734a08781b.zip
vendored
Executable file
Binary file not shown.
|
@ -14,14 +14,16 @@ from django.utils import timezone
|
|||
|
||||
from ietf.doc.models import ( Document, DocEvent, NewRevisionDocEvent, DocAlias, State, DocumentAuthor,
|
||||
StateDocEvent, BallotPositionDocEvent, BallotDocEvent, BallotType, IRSGBallotDocEvent, TelechatDocEvent,
|
||||
DocumentActionHolder, BofreqEditorDocEvent, BofreqResponsibleDocEvent )
|
||||
DocumentActionHolder, BofreqEditorDocEvent, BofreqResponsibleDocEvent, DocExtResource )
|
||||
from ietf.group.models import Group
|
||||
from ietf.person.factories import PersonFactory
|
||||
from ietf.group.factories import RoleFactory
|
||||
from ietf.name.models import ExtResourceName
|
||||
from ietf.utils.text import xslugify
|
||||
from ietf.utils.timezone import date_today
|
||||
|
||||
|
||||
|
||||
def draft_name_generator(type_id,group,n):
|
||||
return '%s-%s-%s-%s%d'%(
|
||||
type_id,
|
||||
|
@ -520,3 +522,12 @@ class ProceedingsMaterialDocFactory(BaseDocumentFactory):
|
|||
obj.set_state(State.objects.get(type_id=state_type_id,slug=state_slug))
|
||||
else:
|
||||
obj.set_state(State.objects.get(type_id='procmaterials', slug='active'))
|
||||
|
||||
class DocExtResourceFactory(factory.django.DjangoModelFactory):
|
||||
|
||||
name = factory.Iterator(ExtResourceName.objects.filter(type_id='url'))
|
||||
value = factory.Faker('url')
|
||||
doc = factory.SubFactory('ietf.doc.factories.BaseDocumentFactory')
|
||||
class Meta:
|
||||
model = DocExtResource
|
||||
|
||||
|
|
|
@ -40,7 +40,7 @@ from ietf.doc.factories import ( DocumentFactory, DocEventFactory, CharterFactor
|
|||
ConflictReviewFactory, WgDraftFactory, IndividualDraftFactory, WgRfcFactory,
|
||||
IndividualRfcFactory, StateDocEventFactory, BallotPositionDocEventFactory,
|
||||
BallotDocEventFactory, DocumentAuthorFactory, NewRevisionDocEventFactory,
|
||||
StatusChangeFactory, BofreqFactory)
|
||||
StatusChangeFactory, BofreqFactory, DocExtResourceFactory)
|
||||
from ietf.doc.forms import NotifyForm
|
||||
from ietf.doc.fields import SearchableDocumentsField
|
||||
from ietf.doc.utils import create_ballot_if_not_open, uppercase_std_abbreviated_name
|
||||
|
@ -602,6 +602,8 @@ Man Expires September 22, 2015 [Page 3]
|
|||
updated_by = IndividualDraftFactory()
|
||||
updated_by.relateddocument_set.create(relationship_id='updates',source=obsoleted_by,target=draft.docalias.first())
|
||||
|
||||
external_resource = DocExtResourceFactory(doc=draft)
|
||||
|
||||
# these tests aren't testing all attributes yet, feel free to
|
||||
# expand them
|
||||
|
||||
|
@ -622,6 +624,7 @@ Man Expires September 22, 2015 [Page 3]
|
|||
self.assertNotContains(r, updated.title)
|
||||
self.assertNotContains(r, updated_by.canonical_name())
|
||||
self.assertNotContains(r, updated_by.title)
|
||||
self.assertContains(r, external_resource.value)
|
||||
|
||||
r = self.client.get(urlreverse("ietf.doc.views_doc.document_main", kwargs=dict(name=draft.name)) + "?include_text=0")
|
||||
self.assertEqual(r.status_code, 200)
|
||||
|
|
|
@ -26,8 +26,8 @@ from ietf.utils.aliases import dump_sublist
|
|||
|
||||
DEFAULT_YEARS = 5
|
||||
ACTIVE_STATES=['active', 'bof', 'proposed']
|
||||
GROUP_TYPES=['wg', 'rg', 'dir', 'team', 'review', 'program', 'rfcedtyp']
|
||||
NO_AD_GROUP_TYPES=['rg', 'team', 'program', 'rfcedtyp']
|
||||
GROUP_TYPES=['wg', 'rg', 'rag', 'dir', 'team', 'review', 'program', 'rfcedtyp']
|
||||
NO_AD_GROUP_TYPES=['rg', 'rag', 'team', 'program', 'rfcedtyp']
|
||||
IETF_DOMAIN=['ietf.org', ]
|
||||
IRTF_DOMAIN=['irtf.org', ]
|
||||
IAB_DOMAIN=['iab.org', ]
|
||||
|
@ -61,7 +61,7 @@ class Command(BaseCommand):
|
|||
for g in GROUP_TYPES:
|
||||
domains = []
|
||||
domains += IETF_DOMAIN
|
||||
if g == 'rg':
|
||||
if g in ('rg', 'rag'):
|
||||
domains += IRTF_DOMAIN
|
||||
if g == 'program':
|
||||
domains += IAB_DOMAIN
|
||||
|
|
|
@ -142,6 +142,9 @@ class GenerateGroupAliasesTests(TestCase):
|
|||
testrg = GroupFactory(type_id='rg', acronym='testrg', parent=irtf)
|
||||
testrgchair = PersonFactory(user__username='testrgchair')
|
||||
testrg.role_set.create(name_id='chair', person=testrgchair, email=testrgchair.email())
|
||||
testrag = GroupFactory(type_id='rg', acronym='testrag', parent=irtf)
|
||||
testragchair = PersonFactory(user__username='testragchair')
|
||||
testrag.role_set.create(name_id='chair', person=testragchair, email=testragchair.email())
|
||||
individual = PersonFactory()
|
||||
|
||||
args = [ ]
|
||||
|
@ -184,6 +187,7 @@ class GenerateGroupAliasesTests(TestCase):
|
|||
ameschair.email_address(),
|
||||
recentchair.email_address(),
|
||||
testrgchair.email_address(),
|
||||
testragchair.email_address(),
|
||||
]]))
|
||||
self.assertFalse(all([x in vcontent for x in [
|
||||
done_ad.email_address(),
|
||||
|
@ -200,8 +204,11 @@ class GenerateGroupAliasesTests(TestCase):
|
|||
'xfilter-' + recent.acronym + '-ads',
|
||||
'xfilter-' + recent.acronym + '-chairs',
|
||||
'xfilter-' + testrg.acronym + '-chairs',
|
||||
'xfilter-' + testrag.acronym + '-chairs',
|
||||
testrg.acronym + '-chairs@ietf.org',
|
||||
testrg.acronym + '-chairs@irtf.org',
|
||||
testrag.acronym + '-chairs@ietf.org',
|
||||
testrag.acronym + '-chairs@irtf.org',
|
||||
]]))
|
||||
self.assertFalse(all([x in vcontent for x in [
|
||||
'xfilter-' + done.acronym + '-ads',
|
||||
|
|
|
@ -7315,7 +7315,12 @@ class ProceedingsTests(BaseMeetingTestCase):
|
|||
)
|
||||
|
||||
def test_proceedings(self):
|
||||
"""Proceedings should be displayed correctly"""
|
||||
"""Proceedings should be displayed correctly
|
||||
|
||||
Currently only tests that the view responds with a 200 response code and checks the ProceedingsMaterials
|
||||
at the top of the proceedings. Ought to actually test the display of the individual group/session
|
||||
materials as well.
|
||||
"""
|
||||
meeting = make_meeting_test_data(meeting=MeetingFactory(type_id='ietf', number='100'))
|
||||
session = Session.objects.filter(meeting=meeting, group__acronym="mars").first()
|
||||
GroupEventFactory(group=session.group,type='status_update')
|
||||
|
@ -7369,6 +7374,65 @@ class ProceedingsTests(BaseMeetingTestCase):
|
|||
self._assertMeetingHostsDisplayed(r, meeting)
|
||||
self._assertProceedingsMaterialsDisplayed(r, meeting)
|
||||
|
||||
def test_named_session(self):
|
||||
"""Session with a name should appear separately in the proceedings"""
|
||||
meeting = MeetingFactory(type_id='ietf', number='100')
|
||||
group = GroupFactory()
|
||||
plain_session = SessionFactory(meeting=meeting, group=group)
|
||||
named_session = SessionFactory(meeting=meeting, group=group, name='I Got a Name')
|
||||
for doc_type_id in ('agenda', 'minutes', 'bluesheets', 'recording', 'slides', 'draft'):
|
||||
# Set up sessions materials that will have distinct URLs for each session.
|
||||
# This depends on settings.MEETING_DOC_HREFS and may need updating if that changes.
|
||||
SessionPresentationFactory(
|
||||
session=plain_session,
|
||||
document__type_id=doc_type_id,
|
||||
document__uploaded_filename=f'upload-{doc_type_id}-plain',
|
||||
document__external_url=f'external_url-{doc_type_id}-plain',
|
||||
)
|
||||
SessionPresentationFactory(
|
||||
session=named_session,
|
||||
document__type_id=doc_type_id,
|
||||
document__uploaded_filename=f'upload-{doc_type_id}-named',
|
||||
document__external_url=f'external_url-{doc_type_id}-named',
|
||||
)
|
||||
|
||||
url = urlreverse('ietf.meeting.views.proceedings', kwargs={'num': meeting.number})
|
||||
r = self.client.get(url)
|
||||
self.assertEqual(r.status_code, 200)
|
||||
q = PyQuery(r.content)
|
||||
|
||||
plain_label = q(f'div#{group.acronym}')
|
||||
self.assertEqual(plain_label.text(), group.acronym)
|
||||
plain_row = plain_label.closest('tr')
|
||||
self.assertTrue(plain_row)
|
||||
|
||||
named_label = q(f'div#{slugify(named_session.name)}')
|
||||
self.assertEqual(named_label.text(), named_session.name)
|
||||
named_row = named_label.closest('tr')
|
||||
self.assertTrue(named_row)
|
||||
|
||||
for material in (sp.document for sp in plain_session.sessionpresentation_set.all()):
|
||||
if material.type_id == 'draft':
|
||||
expected_url = urlreverse(
|
||||
'ietf.doc.views_doc.document_main',
|
||||
kwargs={'name': material.canonical_name()},
|
||||
)
|
||||
else:
|
||||
expected_url = material.get_href(meeting)
|
||||
self.assertTrue(plain_row.find(f'a[href="{expected_url}"]'))
|
||||
self.assertFalse(named_row.find(f'a[href="{expected_url}"]'))
|
||||
|
||||
for material in (sp.document for sp in named_session.sessionpresentation_set.all()):
|
||||
if material.type_id == 'draft':
|
||||
expected_url = urlreverse(
|
||||
'ietf.doc.views_doc.document_main',
|
||||
kwargs={'name': material.canonical_name()},
|
||||
)
|
||||
else:
|
||||
expected_url = material.get_href(meeting)
|
||||
self.assertFalse(plain_row.find(f'a[href="{expected_url}"]'))
|
||||
self.assertTrue(named_row.find(f'a[href="{expected_url}"]'))
|
||||
|
||||
def test_proceedings_no_agenda(self):
|
||||
# Meeting number must be larger than the last special-cased proceedings (currently 96)
|
||||
meeting = MeetingFactory(type_id='ietf',populate_schedule=False,date=date_today(), number='100')
|
||||
|
|
|
@ -3586,6 +3586,74 @@ def upcoming_json(request):
|
|||
response = HttpResponse(json.dumps(data, indent=2, sort_keys=False), content_type='application/json;charset=%s'%settings.DEFAULT_CHARSET)
|
||||
return response
|
||||
|
||||
def organize_proceedings_sessions(sessions):
|
||||
# Collect sessions by Group, then bin by session name (including sessions with blank names).
|
||||
# If all of a group's sessions are 'notmeet', the processed data goes in not_meeting_sessions.
|
||||
# Otherwise, the data goes in meeting_sessions.
|
||||
meeting_groups = []
|
||||
not_meeting_groups = []
|
||||
for group_acronym, group_sessions in itertools.groupby(sessions, key=lambda s: s.group.acronym):
|
||||
by_name = {}
|
||||
is_meeting = False
|
||||
all_canceled = True
|
||||
group = None
|
||||
for s in sorted(
|
||||
group_sessions,
|
||||
key=lambda gs: (
|
||||
gs.official_timeslotassignment().timeslot.time
|
||||
if gs.official_timeslotassignment() else datetime.datetime(datetime.MAXYEAR, 1, 1)
|
||||
),
|
||||
):
|
||||
group = s.group
|
||||
if s.current_status != 'notmeet':
|
||||
is_meeting = True
|
||||
if s.current_status != 'canceled':
|
||||
all_canceled = False
|
||||
by_name.setdefault(s.name, [])
|
||||
if s.current_status != 'notmeet' or s.sessionpresentation_set.exists():
|
||||
by_name[s.name].append(s) # for notmeet, only include sessions with materials
|
||||
for sess_name, ss in by_name.items():
|
||||
def _format_materials(items):
|
||||
"""Format session/material for template
|
||||
|
||||
Input is a list of (session, materials) pairs. The materials value can be a single value or a list.
|
||||
"""
|
||||
material_times = {} # key is material, value is first timestamp it appeared
|
||||
for s, mats in items:
|
||||
timestamp = s.official_timeslotassignment().timeslot.time
|
||||
if not isinstance(mats, list):
|
||||
mats = [mats]
|
||||
for mat in mats:
|
||||
if mat and mat not in material_times:
|
||||
material_times[mat] = timestamp
|
||||
n_mats = len(material_times)
|
||||
result = []
|
||||
if n_mats == 1:
|
||||
result.append({'material': list(material_times)[0]}) # no 'time' when only a single material
|
||||
elif n_mats > 1:
|
||||
for mat, timestamp in material_times.items():
|
||||
result.append({'material': mat, 'time': timestamp})
|
||||
return result
|
||||
|
||||
entry = {
|
||||
'group': group,
|
||||
'name': sess_name,
|
||||
'canceled': all_canceled,
|
||||
# pass sessions instead of the materials here so session data (like time) is easily available
|
||||
'agendas': _format_materials((s, s.agenda()) for s in ss),
|
||||
'minutes': _format_materials((s, s.minutes()) for s in ss),
|
||||
'bluesheets': _format_materials((s, s.bluesheets()) for s in ss),
|
||||
'recordings': _format_materials((s, s.recordings()) for s in ss),
|
||||
'slides': _format_materials((s, s.slides()) for s in ss),
|
||||
'drafts': _format_materials((s, s.drafts()) for s in ss),
|
||||
}
|
||||
if is_meeting:
|
||||
meeting_groups.append(entry)
|
||||
else:
|
||||
not_meeting_groups.append(entry)
|
||||
return meeting_groups, not_meeting_groups
|
||||
|
||||
|
||||
def proceedings(request, num=None):
|
||||
|
||||
meeting = get_meeting(num)
|
||||
|
@ -3606,36 +3674,48 @@ def proceedings(request, num=None):
|
|||
today_utc = date_today(datetime.timezone.utc)
|
||||
|
||||
schedule = get_schedule(meeting, None)
|
||||
sessions = add_event_info_to_session_qs(
|
||||
Session.objects.filter(meeting__number=meeting.number)
|
||||
).filter(
|
||||
Q(timeslotassignments__schedule__in=[schedule, schedule.base if schedule else None]) | Q(current_status='notmeet')
|
||||
).select_related().order_by('-current_status')
|
||||
plenaries = sessions.filter(name__icontains='plenary').exclude(current_status='notmeet')
|
||||
ietf = sessions.filter(group__parent__type__slug = 'area').exclude(group__acronym='edu')
|
||||
irtf = sessions.filter(group__parent__acronym = 'irtf')
|
||||
training = sessions.filter(group__acronym__in=['edu','iaoc'], type_id__in=['regular', 'other',]).exclude(current_status='notmeet')
|
||||
iab = sessions.filter(group__parent__acronym = 'iab').exclude(current_status='notmeet')
|
||||
sessions = (
|
||||
meeting.session_set.with_current_status()
|
||||
.filter(Q(timeslotassignments__schedule__in=[schedule, schedule.base if schedule else None])
|
||||
| Q(current_status='notmeet'))
|
||||
.select_related()
|
||||
.order_by('-current_status')
|
||||
)
|
||||
|
||||
plenaries, _ = organize_proceedings_sessions(
|
||||
sessions.filter(name__icontains='plenary')
|
||||
.exclude(current_status='notmeet')
|
||||
)
|
||||
irtf, _ = organize_proceedings_sessions(
|
||||
sessions.filter(group__parent__acronym = 'irtf').order_by('group__acronym')
|
||||
)
|
||||
training, _ = organize_proceedings_sessions(
|
||||
sessions.filter(group__acronym__in=['edu','iaoc'], type_id__in=['regular', 'other',])
|
||||
.exclude(current_status='notmeet')
|
||||
)
|
||||
iab, _ = organize_proceedings_sessions(
|
||||
sessions.filter(group__parent__acronym = 'iab')
|
||||
.exclude(current_status='notmeet')
|
||||
)
|
||||
|
||||
ietf = sessions.filter(group__parent__type__slug = 'area').exclude(group__acronym='edu').order_by('group__parent__acronym', 'group__acronym')
|
||||
ietf_areas = []
|
||||
for area, area_sessions in itertools.groupby(
|
||||
ietf,
|
||||
key=lambda s: s.group.parent
|
||||
):
|
||||
meeting_groups, not_meeting_groups = organize_proceedings_sessions(area_sessions)
|
||||
ietf_areas.append((area, meeting_groups, not_meeting_groups))
|
||||
|
||||
cache_version = Document.objects.filter(session__meeting__number=meeting.number).aggregate(Max('time'))["time__max"]
|
||||
|
||||
ietf_areas = []
|
||||
for area, sessions in itertools.groupby(sorted(ietf, key=lambda s: (s.group.parent.acronym, s.group.acronym)), key=lambda s: s.group.parent):
|
||||
sessions = list(sessions)
|
||||
meeting_groups = set(s.group_id for s in sessions if s.current_status != 'notmeet')
|
||||
meeting_sessions = []
|
||||
not_meeting_sessions = []
|
||||
for s in sessions:
|
||||
if s.current_status == 'notmeet' and s.group_id not in meeting_groups:
|
||||
not_meeting_sessions.append(s)
|
||||
else:
|
||||
meeting_sessions.append(s)
|
||||
ietf_areas.append((area, meeting_sessions, not_meeting_sessions))
|
||||
|
||||
with timezone.override(meeting.tz()):
|
||||
return render(request, "meeting/proceedings.html", {
|
||||
'meeting': meeting,
|
||||
'plenaries': plenaries, 'ietf': ietf, 'training': training, 'irtf': irtf, 'iab': iab,
|
||||
'plenaries': plenaries,
|
||||
'training': training,
|
||||
'irtf': irtf,
|
||||
'iab': iab,
|
||||
'ietf_areas': ietf_areas,
|
||||
'cut_off_date': cut_off_date,
|
||||
'cor_cut_off_date': cor_cut_off_date,
|
||||
|
|
|
@ -166,6 +166,11 @@ $tooltip-margin: inherit !default;
|
|||
|
||||
.rfcmarkup {
|
||||
|
||||
pre {
|
||||
width: 72ch;
|
||||
white-space: pre-wrap;
|
||||
}
|
||||
|
||||
h1,
|
||||
h2,
|
||||
h3,
|
||||
|
|
|
@ -43,6 +43,12 @@
|
|||
margin-bottom: var(--line);
|
||||
margin-left: 3ch;
|
||||
|
||||
/* Really long lines can wrap when all else fails.
|
||||
* This won't affect <pre> or <table>, or cases where soft-wrapping occurs.
|
||||
* Mostly this exists so that long URLs wrap properly in Safari, which
|
||||
* doesn't break words at '/' like other browsers. */
|
||||
overflow-wrap: break-word;
|
||||
|
||||
h1, h2, h3, h4, h5 {
|
||||
font-weight: bold;
|
||||
font-size: inherit;
|
||||
|
|
|
@ -220,6 +220,12 @@ th,
|
|||
}
|
||||
}
|
||||
|
||||
.charter.revision-list {
|
||||
.page-item {
|
||||
width: auto;
|
||||
}
|
||||
}
|
||||
|
||||
// Style the photo cards
|
||||
.photo {
|
||||
width: 12em;
|
||||
|
|
|
@ -38,7 +38,7 @@ export function populate_nav(nav, heading_selector, classes) {
|
|||
while (level < cur_level) {
|
||||
let nav = nav_stack.pop();
|
||||
cur_level--;
|
||||
nav_stack[level].appendChild(nav);
|
||||
nav_stack[cur_level].appendChild(nav);
|
||||
}
|
||||
} else {
|
||||
while (level > cur_level) {
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
{{ top|safe }}
|
||||
{% if diff_revisions and diff_revisions|length > 1 or doc.name|rfcbis %}
|
||||
<h2 class="my-3">Revision differences</h2>
|
||||
{% include "doc/document_history_form.html" with doc=doc diff_revisions=diff_revisions action=rfcdiff_base_url only %}
|
||||
{% include "doc/document_history_form.html" with doc=doc diff_revisions=diff_revisions action=rfcdiff_base_url snapshot=snapshot only %}
|
||||
{% endif %}
|
||||
<h2 class="my-3">Document history</h2>
|
||||
{% if can_add_comment %}
|
||||
|
|
|
@ -11,22 +11,34 @@
|
|||
<label for="url1" class="col-form-label col-sm-2 fw-bold">From revision</label>
|
||||
<div class="col-sm-10">
|
||||
{% endif %}
|
||||
{% with prev_rev=doc.rev|add:"-1"|stringformat:"02d" %}
|
||||
<select class="form-select{% if document_html %} form-select-sm mb-1{% endif %} select2-field"
|
||||
data-max-entries="1"
|
||||
data-width="resolve"
|
||||
data-allow-clear="false"
|
||||
data-minimum-input-length="0"
|
||||
{% if not document_html %}id="url1"{% else %}aria-label="From revision"{% endif %}
|
||||
name="url1">
|
||||
{% for name, rev, time, url in diff_revisions %}
|
||||
<option value="{{ url }}"
|
||||
{% if diff_revisions|length > 1 and forloop.counter == 2 %} selected="selected"{% endif %}>
|
||||
{% if document_html %}
|
||||
{% if name == doc.name %}
|
||||
{% if rev == prev_rev or doc.rev == "00" and rev == "00" %} selected{% endif %}
|
||||
{% endif %}
|
||||
{% else %}
|
||||
{% if diff_revisions|length > 1 and forloop.counter == 2 %} selected{% endif %}
|
||||
{% endif %}>
|
||||
{{ name|prettystdname }}{% if rev %}-{{ rev }}{% endif %}
|
||||
{% if not document_html %}({{ time|date:"Y-m-d" }}){% endif %}
|
||||
</option>
|
||||
{% endfor %}
|
||||
{% if doc.name|rfcbis %}
|
||||
<option value="{{ doc.name|rfcbis }}"
|
||||
{% if diff_revisions and diff_revisions|length == 1 %} selected="selected"{% endif %}>
|
||||
{% if document_html %}
|
||||
{% if rev == prev_rev %} selected{% endif %}
|
||||
{% else %}
|
||||
{% if diff_revisions and diff_revisions|length == 1 %} selected{% endif %}
|
||||
{% endif %}>
|
||||
{{ doc.name|rfcbis|prettystdname }}
|
||||
</option>
|
||||
{% endif %}
|
||||
|
@ -40,13 +52,18 @@
|
|||
{% endif %}
|
||||
<select class="form-select{% if document_html %} form-select-sm mb-1{% endif %} select2-field"
|
||||
data-max-entries="1"
|
||||
data-width="resolve"
|
||||
data-allow-clear="false"
|
||||
data-minimum-input-length="0"
|
||||
{% if not document_html %}id="url2"{% else %}aria-label="To revision"{% endif %}
|
||||
name="url2">
|
||||
{% for name, rev, time, url in diff_revisions %}
|
||||
<option value="{{ url }}"
|
||||
{% if forloop.counter == 1 %} selected="selected"{% endif %}>
|
||||
{% if document_html %}
|
||||
{% if not snapshot and doc.get_state_slug == "rfc" and name == "rfc"|add:doc.rfc_number or snapshot and name == doc.name and rev == doc.rev %} selected{% endif %}
|
||||
{% else %}
|
||||
{% if forloop.counter == 1 %} selected{% endif %}
|
||||
{% endif %}>
|
||||
{{ name|prettystdname }}{% if rev %}-{{ rev }}{% endif %}
|
||||
{% if not document_html %}({{ time|date:"Y-m-d" }}){% endif %}
|
||||
</option>
|
||||
|
@ -90,6 +107,7 @@
|
|||
name="difftype">
|
||||
Inline
|
||||
</button>
|
||||
{% endwith %}
|
||||
{% if not document_html %}
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -41,6 +41,14 @@
|
|||
{% include "base/icons.html" %}
|
||||
{% include "doc/opengraph.html" %}
|
||||
{% analytical_head_bottom %}
|
||||
<style>
|
||||
{# Force "text-overflow: ellipsis" to hide the beginning of a doc name #}
|
||||
.diff-form .select2-selection__rendered {
|
||||
direction: rtl;
|
||||
text-align: left;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
{% analytical_body_top %}
|
||||
|
@ -93,6 +101,17 @@
|
|||
</tr>
|
||||
</tbody>
|
||||
{% include "doc/document_info.html" with sidebar=False %}
|
||||
<tr>
|
||||
<th scope="row"></th>
|
||||
<td>
|
||||
<a class="btn btn-sm btn-warning mb-3"
|
||||
target="_blank"
|
||||
href="https://github.com/ietf-tools/datatracker/issues/new/choose">
|
||||
Report a bug
|
||||
<i class="bi bi-bug"></i>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -131,8 +150,8 @@
|
|||
<i class="bi bi-arrow-bar-up"></i>
|
||||
</button>
|
||||
<div class="pt-2 pt-lg-3 px-md-2 px-lg-3">
|
||||
<p>
|
||||
<a href="{% url 'ietf.doc.views_doc.document_main' name=doc.canonical_name %}">
|
||||
<a class="btn btn-primary btn-sm" href="{% url 'ietf.doc.views_doc.document_main' name=doc.canonical_name %}">Datatracker</a>
|
||||
<p class="fw-bold pt-2">
|
||||
{% if not snapshot and doc.get_state_slug == "rfc" %}
|
||||
RFC {{ doc.rfc_number }}
|
||||
{% else %}
|
||||
|
@ -146,7 +165,7 @@
|
|||
Internet-Draft
|
||||
{% endif %}
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</p>
|
||||
{% if request.COOKIES.htmlconf != 'html' and html %}
|
||||
<div class="alert alert-info small">
|
||||
|
@ -209,6 +228,12 @@
|
|||
<table class="table table-sm table-borderless">
|
||||
{% include "doc/document_info.html" with sidebar=True %}
|
||||
</table>
|
||||
<a class="btn btn-sm btn-warning mb-3"
|
||||
target="_blank"
|
||||
href="https://github.com/ietf-tools/datatracker/issues/new/choose">
|
||||
Report a bug
|
||||
<i class="bi bi-bug"></i>
|
||||
</a>
|
||||
</div>
|
||||
<div class="tab-pane mb-5"
|
||||
id="toc-tab-pane"
|
||||
|
|
|
@ -85,7 +85,7 @@
|
|||
<th scope="row">Compare versions</th>
|
||||
<td class="edit"></td>
|
||||
<td>
|
||||
{% include "doc/document_history_form.html" with doc=doc diff_revisions=diff_revisions action=rfcdiff_base_url document_html=document_html only %}
|
||||
{% include "doc/document_history_form.html" with doc=doc diff_revisions=diff_revisions action=rfcdiff_base_url document_html=document_html snapshot=snapshot only %}
|
||||
</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
|
@ -394,7 +394,6 @@ href="{% url 'ietf.doc.views_draft.review_possibly_replaces' name=doc.name %}">E
|
|||
{% endif %}
|
||||
{% endif %}
|
||||
{% with doc.docextresource_set.all as resources %}
|
||||
{% if document_html and resources or document_html and doc.group and doc.group.list_archive %}
|
||||
{% if resources or doc.group and doc.group.list_archive or can_edit_stream_info or can_edit_individual %}
|
||||
<tr>
|
||||
<td>
|
||||
|
@ -443,6 +442,5 @@ href="{% url 'ietf.doc.views_draft.review_possibly_replaces' name=doc.name %}">E
|
|||
</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endwith %}
|
||||
</tbody>
|
|
@ -1,16 +1,16 @@
|
|||
{# Copyright The IETF Trust 2015, All Rights Reserved #}
|
||||
{% load origin %}
|
||||
{% load origin ietf_filters %}
|
||||
{% origin %}
|
||||
{% if not document_html %}
|
||||
<label class="my-1 fw-bold">Versions:</label>
|
||||
<nav class="mb-3">
|
||||
{% endif %}
|
||||
<ul class="revision-list pagination pagination-sm text-center flex-wrap{% if document_html %} my-0{% endif %}">
|
||||
<ul class="revision-list{%if doc.type.slug == 'charter' %} charter{% endif %} pagination pagination-sm text-center flex-wrap{% if document_html %} my-0{% endif %}">
|
||||
{% for rev in revisions %}
|
||||
{% if rev %}
|
||||
<li class="page-item {% if rev == doc.rev %}{% if snapshot or doc.get_state_slug != 'rfc' %}active{% endif %}{% endif %}">
|
||||
<li class="page-item {%if doc.type.slug == 'charter' and rev == rev|charter_major_rev %}fw-bold {% endif %}{% if rev == doc.rev %}{% if snapshot or doc.get_state_slug != 'rfc' %}active{% endif %}{% endif %}">
|
||||
<a class="page-link"
|
||||
href="{% if snapshot and doc.get_state_slug == 'rfc' %}{% if document_html %}{% url 'ietf.doc.views_doc.document_html' name=doc.doc.name %}{% else %}{% url 'ietf.doc.views_doc.document_main' name=doc.doc.name %}{% endif %}{% else %}{% if document_html %}{% url 'ietf.doc.views_doc.document_html' name=doc.name rev=rev %}{% else %}{% url 'ietf.doc.views_doc.document_main' name=doc.name rev=rev %}{% endif %}{% endif %}"
|
||||
href="{% if document_html %}{% url 'ietf.doc.views_doc.document_html' name=doc.name rev=rev %}{% else %}{% url 'ietf.doc.views_doc.document_main' name=doc.name rev=rev %}{% endif %}"
|
||||
{% if rev != '00' and rev != latest_rev %}rel="nofollow"{% endif %}>
|
||||
{{ rev }}
|
||||
</a>
|
||||
|
|
|
@ -45,48 +45,48 @@
|
|||
</p>
|
||||
{% endif %}
|
||||
{% if num == "3.4" %}
|
||||
<p class="alert alert-info my-3">
|
||||
The IESG will use RFC 5742 responses:
|
||||
</p>
|
||||
<ol>
|
||||
<li>
|
||||
The IESG has concluded
|
||||
that there is no conflict between this document and IETF work;
|
||||
</li>
|
||||
<li>
|
||||
The IESG has concluded that this work is related to IETF work done
|
||||
in WG <X>, but this relationship does not prevent
|
||||
publishing;
|
||||
</li>
|
||||
<li>
|
||||
The IESG has concluded that publication could
|
||||
potentially disrupt the IETF work done in WG <X> and
|
||||
recommends not publishing the document at this time;
|
||||
</li>
|
||||
<li>
|
||||
The IESG
|
||||
has concluded that this document violates IETF procedures for
|
||||
<Y> and should therefore not be published without IETF
|
||||
review and IESG approval; or
|
||||
</li>
|
||||
<li>
|
||||
The IESG has concluded that this
|
||||
document extends an IETF protocol in a way that requires IETF
|
||||
review and should therefore not be published without IETF review
|
||||
and IESG approval.
|
||||
</li>
|
||||
</ol>
|
||||
<p>
|
||||
The document shepherd must propose one of these responses in the
|
||||
conflict-review document, and the document shepherd may supply text
|
||||
for an IESG Note in that document. The Area Director ballot positions
|
||||
indicate consensus with the response proposed by the document shepherd
|
||||
and agreement that the IESG should request inclusion of the IESG Note.
|
||||
</p>
|
||||
<p>
|
||||
Other matters may be recorded in comments, and the comments will
|
||||
be passed on to the RFC Editor as community review of the document.
|
||||
</p>
|
||||
<div class="alert alert-info my-3">
|
||||
<p>The IESG will use RFC 5742 responses:</p>
|
||||
<ol>
|
||||
<li>
|
||||
The IESG has concluded
|
||||
that there is no conflict between this document and IETF work;
|
||||
</li>
|
||||
<li>
|
||||
The IESG has concluded that this work is related to IETF work done
|
||||
in WG <X>, but this relationship does not prevent
|
||||
publishing;
|
||||
</li>
|
||||
<li>
|
||||
The IESG has concluded that publication could
|
||||
potentially disrupt the IETF work done in WG <X> and
|
||||
recommends not publishing the document at this time;
|
||||
</li>
|
||||
<li>
|
||||
The IESG
|
||||
has concluded that this document violates IETF procedures for
|
||||
<Y> and should therefore not be published without IETF
|
||||
review and IESG approval; or
|
||||
</li>
|
||||
<li>
|
||||
The IESG has concluded that this
|
||||
document extends an IETF protocol in a way that requires IETF
|
||||
review and should therefore not be published without IETF review
|
||||
and IESG approval.
|
||||
</li>
|
||||
</ol>
|
||||
<p>
|
||||
The document shepherd must propose one of these responses in the
|
||||
conflict-review document, and the document shepherd may supply text
|
||||
for an IESG Note in that document. The Area Director ballot positions
|
||||
indicate consensus with the response proposed by the document shepherd
|
||||
and agreement that the IESG should request inclusion of the IESG Note.
|
||||
</p>
|
||||
<p class="mb-0">
|
||||
Other matters may be recorded in comments, and the comments will
|
||||
be passed on to the RFC Editor as community review of the document.
|
||||
</p>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% if "docs" in section %}
|
||||
{% for doc in section.docs %}
|
||||
|
@ -111,4 +111,4 @@
|
|||
{% endif %}
|
||||
{% endfor %}
|
||||
{% endblock %}
|
||||
{% block js %}<script>// automatically generate a right-hand navigation tab for long pages</script>{% endblock %}
|
||||
{% block js %}<script>// automatically generate a right-hand navigation tab for long pages</script>{% endblock %}
|
|
@ -5,111 +5,85 @@
|
|||
{% load proceedings_filters %}
|
||||
<tr>
|
||||
<td>
|
||||
{% if session.name %}
|
||||
<div id="{{ session.name|slugify }}">{{ session.name }}</div>
|
||||
{% else %}
|
||||
<div id="{{ session.group.acronym }}">
|
||||
<a href="{% url 'ietf.group.views.group_home' acronym=session.group.acronym %}">{{ session.group.acronym }}</a>
|
||||
{% if entry.name %}
|
||||
<div id="{{ entry.name|slugify }}">{{ entry.name }}</div>
|
||||
{% elif entry.group.acronym %}
|
||||
<div id="{{ entry.group.acronym }}">
|
||||
<a href="{% url 'ietf.group.views.group_home' acronym=entry.group.acronym %}">{{ entry.group.acronym }}</a>
|
||||
</div>
|
||||
{% if session.group.state_id == "bof" %}<span class="badge rounded-pill bg-success">BOF</span>{% endif %}
|
||||
{% if entry.group.state_id == "bof" %}<span class="badge rounded-pill bg-success">BOF</span>{% endif %}
|
||||
{% else %}
|
||||
<h1>{{ entry.group }}</h1>
|
||||
{% endif %}
|
||||
</td>
|
||||
{% if session.all_meeting_sessions_cancelled %}
|
||||
{% if entry.canceled %}
|
||||
<td colspan="4">
|
||||
<span class="badge rounded-pill bg-danger">Session cancelled</span>
|
||||
</td>
|
||||
{% else %}
|
||||
{# artifacts #}
|
||||
<td>
|
||||
{% if session.all_meeting_agendas %}
|
||||
{% if session.all_meeting_agendas|length == 1 %}
|
||||
<a href="{{ session.all_meeting_agendas.0|meeting_href:meeting }}">Agenda</a>
|
||||
<br>
|
||||
{% else %}
|
||||
{% for agenda in session.all_meeting_agendas %}
|
||||
<a href="{{ agenda|meeting_href:meeting }}">
|
||||
Agenda {{ agenda.sessionpresentation_set.first.session.official_timeslotassignment.timeslot.time|date:"D G:i" }}
|
||||
</a>
|
||||
<br>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% else %}
|
||||
{% if show_agenda == "True" and not meeting.proceedings_final %}
|
||||
{% for agenda in entry.agendas %}
|
||||
<a href="{{ agenda.material|meeting_href:meeting }}">
|
||||
Agenda
|
||||
{% if agenda.time %}{{agenda.time|date:"D G:i"}}{% endif %}
|
||||
</a>
|
||||
<br>
|
||||
{% empty %}
|
||||
{% if show_agenda and not meeting.proceedings_final %}
|
||||
<span class="badge rounded-pill bg-warning">No agenda</span>
|
||||
<br>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% if session.all_meeting_minutes %}
|
||||
{% if session.all_meeting_minutes|length == 1 %}
|
||||
<a href="{{ session.all_meeting_minutes.0|meeting_href:meeting }}">Minutes</a>
|
||||
<br>
|
||||
{% else %}
|
||||
{% for minutes in session.all_meeting_minutes %}
|
||||
<a href="{{ minutes|meeting_href:meeting }}">
|
||||
Minutes {{ minutes.sessionpresentation_set.first.session.official_timeslotassignment.timeslot.time|date:"D G:i" }}
|
||||
</a>
|
||||
<br>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% else %}
|
||||
{% if show_agenda == "True" and not meeting.proceedings_final %}
|
||||
{% endfor %}
|
||||
{% for minutes in entry.minutes %}
|
||||
<a href="{{ minutes.material|meeting_href:meeting }}">
|
||||
Minutes
|
||||
{% if minutes.time %}{{minutes.time|date:"D G:i"}}{% endif %}
|
||||
</a>
|
||||
<br>
|
||||
{% empty %}
|
||||
{% if show_agenda and not meeting.proceedings_final %}
|
||||
<span class="badge rounded-pill bg-warning">No minutes</span>
|
||||
<br>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% if session.all_meeting_bluesheets %}
|
||||
{% if session.all_meeting_bluesheets|length == 1 %}
|
||||
<a href="{{ session.all_meeting_bluesheets.0|meeting_href:meeting }}">Bluesheets</a>
|
||||
<br>
|
||||
{% else %}
|
||||
{% for bs in session.all_meeting_bluesheets %}
|
||||
<a href="{{ bs|meeting_href:meeting }}">
|
||||
Bluesheets {{ bs.sessionpresentation_set.first.session.official_timeslotassignment.timeslot.time|date:"D G:i" }}
|
||||
</a>
|
||||
<br>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% with session.group|status_for_meeting:meeting as status %}
|
||||
{% if status %}
|
||||
<a href="{% url 'ietf.group.views.group_about_status_meeting' acronym=session.group.acronym num=meeting.number %}">
|
||||
Status
|
||||
</a>
|
||||
<br>
|
||||
{% endif %}
|
||||
{% endwith %}
|
||||
{% endfor %}
|
||||
{% for bs in entry.bluesheets %}
|
||||
<a href="{{ bs.material|meeting_href:meeting }}">
|
||||
Bluesheets
|
||||
{% if bs.time %}{{ bs.time|date:"D G:i" }}{% endif %}
|
||||
</a>
|
||||
<br>
|
||||
{% endfor %}
|
||||
</td>
|
||||
{# recordings #}
|
||||
<td>
|
||||
{% if session.all_meeting_sessions_for_group|length == 1 %}
|
||||
{% for rec in session.all_meeting_recordings %}
|
||||
<a href="{{ rec|meeting_href:meeting|default:"#" }}">{{ rec|hack_recording_title:False }}</a>
|
||||
<br>
|
||||
{% endfor %}
|
||||
{% else %}
|
||||
{% for rec in session.all_meeting_recordings %}
|
||||
<a href="{{ rec|meeting_href:meeting|default:"#" }}">{{ rec|hack_recording_title:True }}</a>
|
||||
<br>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% for rec in entry.recordings %}
|
||||
<a href="{{ rec.material|meeting_href:meeting|default:"#" }}">
|
||||
{{ rec.material|hack_recording_title }}
|
||||
{% if rec.time %}{{ rec.time|date:"D G:i"}}{% endif %}
|
||||
</a>
|
||||
<br>
|
||||
{% endfor %}
|
||||
</td>
|
||||
{# slides #}
|
||||
<td>
|
||||
{% with session.all_meeting_slides as slides %}
|
||||
{% for slide in slides %}
|
||||
<a href="{{ slide|meeting_href:meeting }}">{{ slide.title|clean_whitespace }}</a>
|
||||
<br>
|
||||
{% empty %}
|
||||
{% if not meeting.proceedings_final %}<span class="badge rounded-pill bg-warning">No slides</span>{% endif %}
|
||||
{% endfor %}
|
||||
{% endwith %}
|
||||
{% for slide in entry.slides %}
|
||||
<a href="{{ slide.material|meeting_href:meeting }}">{{ slide.material.title|clean_whitespace }}</a>
|
||||
<br>
|
||||
{% empty %}
|
||||
{% if not meeting.proceedings_final %}<span class="badge rounded-pill bg-warning">No slides</span>{% endif %}
|
||||
{% endfor %}
|
||||
</td>
|
||||
{# drafts #}
|
||||
<td>
|
||||
{% with session.all_meeting_drafts as drafts %}
|
||||
{% for draft in drafts %}
|
||||
<a href="{% url "ietf.doc.views_doc.document_main" name=draft.canonical_name %}">{{ draft.canonical_name }}</a>
|
||||
<br>
|
||||
{% empty %}
|
||||
{% if not meeting.proceedings_final %}<span class="badge rounded-pill bg-warning">No drafts</span>{% endif %}
|
||||
{% endfor %}
|
||||
{% endwith %}
|
||||
{% for draft in entry.drafts %}
|
||||
<a href="{% url "ietf.doc.views_doc.document_main" name=draft.material.canonical_name %}">
|
||||
{{ draft.material.canonical_name }}
|
||||
</a>
|
||||
<br>
|
||||
{% empty %}
|
||||
{% if not meeting.proceedings_final %}<span class="badge rounded-pill bg-warning">No drafts</span>{% endif %}
|
||||
{% endfor %}
|
||||
</td>
|
||||
{% endif %}
|
||||
</tr>
|
||||
</tr>
|
||||
|
|
|
@ -23,10 +23,32 @@
|
|||
{% load cache %}
|
||||
{% cache 900 ietf_meeting_proceedings meeting.number cache_version %}
|
||||
{% include 'meeting/proceedings/introduction.html' with meeting=meeting only %}
|
||||
{% with "True" as show_agenda %}
|
||||
<!-- Plenaries -->
|
||||
{% if plenaries %}
|
||||
<h2 class="mt-5" id="plenaries">Plenaries</h2>
|
||||
<!-- Plenaries -->
|
||||
{% if plenaries %}
|
||||
<h2 class="mt-5" id="plenaries">Plenaries</h2>
|
||||
<table class="table table-sm table-striped tablesorter">
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col" data-sort="group">Group</th>
|
||||
<th scope="col" data-sort="artifacts">Artifacts</th>
|
||||
<th scope="col" data-sort="recordings">Recordings</th>
|
||||
<th scope="col" data-sort="slides">Slides</th>
|
||||
<th scope="col" data-sort="drafts">Drafts</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for entry in plenaries %}
|
||||
{% include "meeting/group_proceedings.html" with entry=entry meeting=meeting show_agenda=True only %}
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
{% endif %}
|
||||
<!-- Working groups -->
|
||||
{% for area, meeting_groups, not_meeting_groups in ietf_areas %}
|
||||
<h2 class="mt-5" id="{{ area.acronym }}">
|
||||
{{ area.acronym|upper }} <small class="text-muted">{{ area.name }}</small>
|
||||
</h2>
|
||||
{% if meeting_groups %}
|
||||
<table class="table table-sm table-striped tablesorter">
|
||||
<thead>
|
||||
<tr>
|
||||
|
@ -38,161 +60,125 @@
|
|||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for session in plenaries %}
|
||||
{% include "meeting/group_proceedings.html" %}
|
||||
{% for entry in meeting_groups %}
|
||||
{% include "meeting/group_proceedings.html" with entry=entry meeting=meeting show_agenda=True only %}
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
{% endif %}
|
||||
<!-- Working groups -->
|
||||
{% for area, meeting_sessions, not_meeting_sessions in ietf_areas %}
|
||||
<h2 class="mt-5" id="{{ area.acronym }}">
|
||||
{{ area.acronym|upper }} <small class="text-muted">{{ area.name }}</small>
|
||||
</h2>
|
||||
{% if meeting_sessions %}
|
||||
<table class="table table-sm table-striped tablesorter">
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col" data-sort="group">Group</th>
|
||||
<th scope="col" data-sort="artifacts">Artifacts</th>
|
||||
<th scope="col" data-sort="recordings">Recordings</th>
|
||||
<th scope="col" data-sort="slides">Slides</th>
|
||||
<th scope="col" data-sort="drafts">Drafts</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for session in meeting_sessions %}
|
||||
{% ifchanged session.group.acronym %}
|
||||
{% include "meeting/group_proceedings.html" %}
|
||||
{% endifchanged %}
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
{% endif %}
|
||||
{% if not_meeting_sessions %}
|
||||
<p>
|
||||
{{ area.name }} groups not meeting:
|
||||
{% for session in not_meeting_sessions %}
|
||||
{% ifchanged session.group.acronym %}
|
||||
<a href="{% url 'ietf.group.views.group_home' acronym=session.group.acronym %}">{{ session.group.acronym }}</a>{% if not forloop.last %},{% endif %}
|
||||
{% endifchanged %}
|
||||
{% endfor %}
|
||||
</p>
|
||||
<table class="table table-sm table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col"></th>
|
||||
<th scope="col"></th>
|
||||
<th scope="col"></th>
|
||||
<th scope="col"></th>
|
||||
<th scope="col"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for session in not_meeting_sessions %}
|
||||
{% ifchanged session.group.acronym %}
|
||||
{% if session.sessionpresentation_set.exists %}
|
||||
{% include "meeting/group_proceedings.html" %}
|
||||
{% endif %}
|
||||
{% endifchanged %}
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
<!-- Training Sessions -->
|
||||
{% if training %}
|
||||
{% with "False" as show_agenda %}
|
||||
<h2 class="mt-5" id="training">Training</h2>
|
||||
<table class="table table-sm table-striped tablesorter">
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col" data-sort="group">Group</th>
|
||||
<th scope="col" data-sort="artifacts">Artifacts</th>
|
||||
<th scope="col" data-sort="recordings">Recordings</th>
|
||||
<th scope="col" data-sort="slides">Slides</th>
|
||||
<th scope="col" data-sort="drafts">Drafts</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for session in training %}
|
||||
{% ifchanged %}
|
||||
{% include "meeting/group_proceedings.html" %}
|
||||
{% endifchanged %}
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
{% endwith %}
|
||||
{% endif %}
|
||||
<!-- IAB Sessions -->
|
||||
{% if iab %}
|
||||
<h2 class="mt-5" id="iab">
|
||||
IAB <small class="text-muted">Internet Architecture Board</small>
|
||||
</h2>
|
||||
<table class="table table-sm table-striped tablesorter">
|
||||
{% if not_meeting_groups %}
|
||||
<p>
|
||||
{{ area.name }} groups not meeting:
|
||||
{% for entry in not_meeting_groups %}
|
||||
{% if entry.name == "" %}{# do not show named sessions in this list #}
|
||||
<a href="{% url 'ietf.group.views.group_home' acronym=entry.group.acronym %}">
|
||||
{{ entry.group.acronym }}
|
||||
</a>{% if not forloop.last %},{% endif %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</p>
|
||||
<table class="table table-sm table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col" data-sort="group">
|
||||
Group
|
||||
</th>
|
||||
<th scope="col" data-sort="artifacts">
|
||||
Artifacts
|
||||
</th>
|
||||
<th scope="col" data-sort="recordings">
|
||||
Recordings
|
||||
</th>
|
||||
<th scope="col" data-sort="slides">
|
||||
Slides
|
||||
</th>
|
||||
<th scope="col" data-sort="drafts">
|
||||
Drafts
|
||||
</th>
|
||||
<th scope="col"></th>
|
||||
<th scope="col"></th>
|
||||
<th scope="col"></th>
|
||||
<th scope="col"></th>
|
||||
<th scope="col"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for session in iab %}
|
||||
{% ifchanged %}
|
||||
{% include "meeting/group_proceedings.html" %}
|
||||
{% endifchanged %}
|
||||
{% endfor %}
|
||||
{% for entry in not_meeting_groups %}{% if entry.sessions_with_materials %}
|
||||
{% include "meeting/group_proceedings.html" with entry=entry meeting=meeting show_agenda=True only %}
|
||||
{% endif %}{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
{% endif %}
|
||||
<!-- IRTF Sessions -->
|
||||
{% if irtf %}
|
||||
<h2 class="mt-5" id="irtf">
|
||||
IRTF <small class="text-muted">Internet Research Task Force</small>
|
||||
</h2>
|
||||
<table class="table table-sm table-striped tablesorter">
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col" data-sort="group">
|
||||
Group
|
||||
</th>
|
||||
<th scope="col" data-sort="artifacts">
|
||||
Artifacts
|
||||
</th>
|
||||
<th scope="col" data-sort="recordings">
|
||||
Recordings
|
||||
</th>
|
||||
<th scope="col" data-sort="slides">
|
||||
Slides
|
||||
</th>
|
||||
<th scope="col" data-sort="drafts">
|
||||
Drafts
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for session in irtf|dictsort:"group.acronym" %}
|
||||
{% ifchanged %}
|
||||
{% include "meeting/group_proceedings.html" %}
|
||||
{% endifchanged %}
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
{% endif %}
|
||||
{% endwith %}
|
||||
{% endfor %}
|
||||
<!-- Training Sessions -->
|
||||
{% if training %}
|
||||
<h2 class="mt-5" id="training">Training</h2>
|
||||
<table class="table table-sm table-striped tablesorter">
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col" data-sort="group">Group</th>
|
||||
<th scope="col" data-sort="artifacts">Artifacts</th>
|
||||
<th scope="col" data-sort="recordings">Recordings</th>
|
||||
<th scope="col" data-sort="slides">Slides</th>
|
||||
<th scope="col" data-sort="drafts">Drafts</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for entry in training %}
|
||||
{% include "meeting/group_proceedings.html" with entry=entry meeting=meeting show_agenda=False only %}
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
{% endif %}
|
||||
<!-- IAB Sessions -->
|
||||
{% if iab %}
|
||||
<h2 class="mt-5" id="iab">
|
||||
IAB <small class="text-muted">Internet Architecture Board</small>
|
||||
</h2>
|
||||
<table class="table table-sm table-striped tablesorter">
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col" data-sort="group">
|
||||
Group
|
||||
</th>
|
||||
<th scope="col" data-sort="artifacts">
|
||||
Artifacts
|
||||
</th>
|
||||
<th scope="col" data-sort="recordings">
|
||||
Recordings
|
||||
</th>
|
||||
<th scope="col" data-sort="slides">
|
||||
Slides
|
||||
</th>
|
||||
<th scope="col" data-sort="drafts">
|
||||
Drafts
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for entry in iab %}
|
||||
{% include "meeting/group_proceedings.html" with entry=entry meeting=meeting show_agenda=True only %}
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
{% endif %}
|
||||
<!-- IRTF Sessions -->
|
||||
{% if irtf %}
|
||||
<h2 class="mt-5" id="irtf">
|
||||
IRTF <small class="text-muted">Internet Research Task Force</small>
|
||||
</h2>
|
||||
<table class="table table-sm table-striped tablesorter">
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col" data-sort="group">
|
||||
Group
|
||||
</th>
|
||||
<th scope="col" data-sort="artifacts">
|
||||
Artifacts
|
||||
</th>
|
||||
<th scope="col" data-sort="recordings">
|
||||
Recordings
|
||||
</th>
|
||||
<th scope="col" data-sort="slides">
|
||||
Slides
|
||||
</th>
|
||||
<th scope="col" data-sort="drafts">
|
||||
Drafts
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for entry in irtf %}
|
||||
{% include "meeting/group_proceedings.html" with entry=entry meeting=meeting show_agenda=True only %}
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
{% endif %}
|
||||
{% endcache %}
|
||||
{% endblock %}
|
||||
{% block js %}
|
||||
|
|
|
@ -873,6 +873,8 @@ class IetfTestRunner(DiscoverRunner):
|
|||
"attribute-empty-style": "off",
|
||||
# For fragments, don't check that elements are in the proper ancestor element
|
||||
"element-required-ancestor": "off",
|
||||
# This is allowed by the HTML spec
|
||||
"form-dup-name": "off",
|
||||
},
|
||||
}
|
||||
|
||||
|
|
|
@ -25,6 +25,7 @@ from tempfile import mkdtemp
|
|||
from django.apps import apps
|
||||
from django.contrib.auth.models import User
|
||||
from django.conf import settings
|
||||
from django.forms import Form
|
||||
from django.template import Context
|
||||
from django.template import Template # pyflakes:ignore
|
||||
from django.template.defaulttags import URLNode
|
||||
|
@ -37,6 +38,7 @@ import debug # pyflakes:ignore
|
|||
from ietf.person.name import name_parts, unidecode_name
|
||||
from ietf.submit.tests import submission_file
|
||||
from ietf.utils.draft import PlaintextDraft, getmeta
|
||||
from ietf.utils.fields import SearchableField
|
||||
from ietf.utils.log import unreachable, assertion
|
||||
from ietf.utils.mail import send_mail_preformatted, send_mail_text, send_mail_mime, outbox, get_payload_text
|
||||
from ietf.utils.test_runner import get_template_paths, set_coverage_checking
|
||||
|
@ -517,3 +519,25 @@ class TimezoneTests(TestCase):
|
|||
):
|
||||
with self.assertRaises(RuntimeError):
|
||||
timezone_not_near_midnight()
|
||||
|
||||
|
||||
class SearchableFieldTests(TestCase):
|
||||
def test_has_changed_single_value(self):
|
||||
"""Should work with initial as a single value or list when max_entries == 1"""
|
||||
class TestSearchableField(SearchableField):
|
||||
model = "fake model" # needs to be not-None to allow field init
|
||||
|
||||
class TestForm(Form):
|
||||
test_field = TestSearchableField(max_entries=1)
|
||||
|
||||
# single value in initial (e.g., when used as a single-valued field in a formset)
|
||||
changed_form = TestForm(initial={'test_field': 1}, data={'test_field': [2]})
|
||||
self.assertTrue(changed_form.has_changed())
|
||||
unchanged_form = TestForm(initial={'test_field': 1}, data={'test_field': [1]})
|
||||
self.assertFalse(unchanged_form.has_changed())
|
||||
|
||||
# list value in initial (usual situation for a MultipleChoiceField subclass like SearchableField)
|
||||
changed_form = TestForm(initial={'test_field': [1]}, data={'test_field': [2]})
|
||||
self.assertTrue(changed_form.has_changed())
|
||||
unchanged_form = TestForm(initial={'test_field': [1]}, data={'test_field': [1]})
|
||||
self.assertFalse(unchanged_form.has_changed())
|
||||
|
|
|
@ -51,7 +51,8 @@ validate_url = URLValidator()
|
|||
|
||||
def check_url_validity(attrs, new=False):
|
||||
if (None, "href") not in attrs:
|
||||
return None
|
||||
# rfc2html creates a tags without href
|
||||
return attrs
|
||||
url = attrs[(None, "href")]
|
||||
try:
|
||||
if url.startswith("http"):
|
||||
|
|
20
package.json
20
package.json
|
@ -18,24 +18,24 @@
|
|||
"@popperjs/core": "2.11.6",
|
||||
"@twuni/emojify": "1.0.2",
|
||||
"bootstrap": "5.2.3",
|
||||
"bootstrap-icons": "1.10.2",
|
||||
"bootstrap-icons": "1.10.3",
|
||||
"browser-fs-access": "0.31.1",
|
||||
"caniuse-lite": "1.0.30001439",
|
||||
"d3": "7.7.0",
|
||||
"caniuse-lite": "1.0.30001442",
|
||||
"d3": "7.8.0",
|
||||
"file-saver": "2.0.5",
|
||||
"highcharts": "10.3.2",
|
||||
"jquery": "3.6.2",
|
||||
"jquery": "3.6.3",
|
||||
"jquery-ui-dist": "1.13.2",
|
||||
"js-cookie": "3.0.1",
|
||||
"list.js": "2.3.1",
|
||||
"lodash": "4.17.21",
|
||||
"lodash-es": "4.17.21",
|
||||
"luxon": "3.1.1",
|
||||
"luxon": "3.2.1",
|
||||
"moment": "2.29.4",
|
||||
"moment-timezone": "0.5.40",
|
||||
"ms": "2.1.3",
|
||||
"murmurhash-js": "1.0.0",
|
||||
"naive-ui": "2.34.2",
|
||||
"naive-ui": "2.34.3",
|
||||
"pinia": "2.0.28",
|
||||
"pinia-plugin-persist": "1.0.0",
|
||||
"select2": "4.1.0-rc.0",
|
||||
|
@ -57,19 +57,19 @@
|
|||
"@vitejs/plugin-vue": "3.2.0",
|
||||
"browserlist": "latest",
|
||||
"c8": "7.12.0",
|
||||
"eslint": "8.29.0",
|
||||
"eslint": "8.31.0",
|
||||
"eslint-config-standard": "17.0.0",
|
||||
"eslint-plugin-cypress": "2.12.1",
|
||||
"eslint-plugin-import": "2.26.0",
|
||||
"eslint-plugin-n": "15.6.0",
|
||||
"eslint-plugin-n": "15.6.1",
|
||||
"eslint-plugin-node": "11.1.0",
|
||||
"eslint-plugin-promise": "6.1.1",
|
||||
"eslint-plugin-vue": "9.8.0",
|
||||
"html-validate": "7.10.1",
|
||||
"html-validate": "7.12.2",
|
||||
"jquery-migrate": "3.4.0",
|
||||
"parcel": "2.8.2",
|
||||
"pug": "3.0.2",
|
||||
"sass": "1.56.2",
|
||||
"sass": "1.57.1",
|
||||
"seedrandom": "3.0.5",
|
||||
"vite": "3.2.5"
|
||||
},
|
||||
|
|
135
yarn.lock
135
yarn.lock
|
@ -97,20 +97,20 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@eslint/eslintrc@npm:^1.3.3":
|
||||
version: 1.3.3
|
||||
resolution: "@eslint/eslintrc@npm:1.3.3"
|
||||
"@eslint/eslintrc@npm:^1.4.1":
|
||||
version: 1.4.1
|
||||
resolution: "@eslint/eslintrc@npm:1.4.1"
|
||||
dependencies:
|
||||
ajv: ^6.12.4
|
||||
debug: ^4.3.2
|
||||
espree: ^9.4.0
|
||||
globals: ^13.15.0
|
||||
globals: ^13.19.0
|
||||
ignore: ^5.2.0
|
||||
import-fresh: ^3.2.1
|
||||
js-yaml: ^4.1.0
|
||||
minimatch: ^3.1.2
|
||||
strip-json-comments: ^3.1.1
|
||||
checksum: f03e9d6727efd3e0719da2051ea80c0c73d20e28c171121527dbb868cd34232ca9c1d0525a66e517a404afea26624b1e47895b6a92474678418c2f50c9566694
|
||||
checksum: cd3e5a8683db604739938b1c1c8b77927dc04fce3e28e0c88e7f2cd4900b89466baf83dfbad76b2b9e4d2746abdd00dd3f9da544d3e311633d8693f327d04cd7
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
|
@ -232,14 +232,14 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@humanwhocodes/config-array@npm:^0.11.6":
|
||||
version: 0.11.7
|
||||
resolution: "@humanwhocodes/config-array@npm:0.11.7"
|
||||
"@humanwhocodes/config-array@npm:^0.11.8":
|
||||
version: 0.11.8
|
||||
resolution: "@humanwhocodes/config-array@npm:0.11.8"
|
||||
dependencies:
|
||||
"@humanwhocodes/object-schema": ^1.2.1
|
||||
debug: ^4.1.1
|
||||
minimatch: ^3.0.5
|
||||
checksum: cf506dc45d9488af7fbf108ea6ac2151ba1a25e6d2b94b9b4fc36d2c1e4099b89ff560296dbfa13947e44604d4ca4a90d97a4fb167370bf8dd01a6ca2b6d83ac
|
||||
checksum: 0fd6b3c54f1674ce0a224df09b9c2f9846d20b9e54fabae1281ecfc04f2e6ad69bf19e1d6af6a28f88e8aa3990168b6cb9e1ef755868c3256a630605ec2cb1d3
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
|
@ -1919,10 +1919,10 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"bootstrap-icons@npm:1.10.2":
|
||||
version: 1.10.2
|
||||
resolution: "bootstrap-icons@npm:1.10.2"
|
||||
checksum: 1d73556a70b05c1b219c379243c24ea8186c773990b3bc5e8248825e7eae1c8137be90a2b7dd81fd46060a99558763886a069587a65a7f70a362bf5934e795e7
|
||||
"bootstrap-icons@npm:1.10.3":
|
||||
version: 1.10.3
|
||||
resolution: "bootstrap-icons@npm:1.10.3"
|
||||
checksum: bef7f83ce09f0ae0b2a92d61b69f3c6d04ba2307e9051ab3f175613837e0dc5252d22e2b3a0403b59995be4e06ebe00f17d0335be6f2cffdbfdbefa9268b6abd
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
|
@ -2095,10 +2095,10 @@ browserlist@latest:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"caniuse-lite@npm:1.0.30001439":
|
||||
version: 1.0.30001439
|
||||
resolution: "caniuse-lite@npm:1.0.30001439"
|
||||
checksum: 3912dd536c9735713ca85e47721988bbcefb881ddb4886b0b9923fa984247fd22cba032cf268e57d158af0e8a2ae2eae042ae01942a1d6d7849fa9fa5d62fb82
|
||||
"caniuse-lite@npm:1.0.30001442":
|
||||
version: 1.0.30001442
|
||||
resolution: "caniuse-lite@npm:1.0.30001442"
|
||||
checksum: c1bff65bd4f53da2d288e7f55be40706ee0119b983eae5a9dcc884046990476891630aef72d708f7989f8f1964200c44e4c37ea40deecaa2fb4a480df23e6317
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
|
@ -2671,9 +2671,9 @@ browserlist@latest:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"d3@npm:7.7.0":
|
||||
version: 7.7.0
|
||||
resolution: "d3@npm:7.7.0"
|
||||
"d3@npm:7.8.0":
|
||||
version: 7.8.0
|
||||
resolution: "d3@npm:7.8.0"
|
||||
dependencies:
|
||||
d3-array: 3
|
||||
d3-axis: 3
|
||||
|
@ -2705,7 +2705,7 @@ browserlist@latest:
|
|||
d3-timer: 3
|
||||
d3-transition: 3
|
||||
d3-zoom: 3
|
||||
checksum: ed1308674fe0eda2ee14218f3d8ead5025204367c1881acf794d7eb99b0940883108520c35e053d5b23707a4ce858a5af422eea299bc0d24ce7d7fe13e7f9f38
|
||||
checksum: 383d2c8aa6a66f3a6c6977b629de8fa1bf3bce829b15c4a769a59096691730a39e7763eb17b0ff4abbf4d1b577212160d7e5d5f1da35591e5ef5399e8398cefa
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
|
@ -3384,9 +3384,9 @@ browserlist@latest:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"eslint-plugin-n@npm:15.6.0":
|
||||
version: 15.6.0
|
||||
resolution: "eslint-plugin-n@npm:15.6.0"
|
||||
"eslint-plugin-n@npm:15.6.1":
|
||||
version: 15.6.1
|
||||
resolution: "eslint-plugin-n@npm:15.6.1"
|
||||
dependencies:
|
||||
builtins: ^5.0.1
|
||||
eslint-plugin-es: ^4.1.0
|
||||
|
@ -3398,7 +3398,7 @@ browserlist@latest:
|
|||
semver: ^7.3.8
|
||||
peerDependencies:
|
||||
eslint: ">=7.0.0"
|
||||
checksum: 629dc3e8c83010cf8aced555f4d36f6fceeea65b0c580123ca36e44b7cb6a19a71718c30168a506a569d205b1f961a74ebe9e44148c33ed923116180b04be45b
|
||||
checksum: 269d6f28967acadaaf6b6bb362d564bf5772545b1990053fb2a3c18f8683f9ffe708cda8c0de3dfddb4e86b63e738ab93634915b84649f51d3bb1783253d4b91
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
|
@ -3495,12 +3495,12 @@ browserlist@latest:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"eslint@npm:8.29.0":
|
||||
version: 8.29.0
|
||||
resolution: "eslint@npm:8.29.0"
|
||||
"eslint@npm:8.31.0":
|
||||
version: 8.31.0
|
||||
resolution: "eslint@npm:8.31.0"
|
||||
dependencies:
|
||||
"@eslint/eslintrc": ^1.3.3
|
||||
"@humanwhocodes/config-array": ^0.11.6
|
||||
"@eslint/eslintrc": ^1.4.1
|
||||
"@humanwhocodes/config-array": ^0.11.8
|
||||
"@humanwhocodes/module-importer": ^1.0.1
|
||||
"@nodelib/fs.walk": ^1.2.8
|
||||
ajv: ^6.10.0
|
||||
|
@ -3519,7 +3519,7 @@ browserlist@latest:
|
|||
file-entry-cache: ^6.0.1
|
||||
find-up: ^5.0.0
|
||||
glob-parent: ^6.0.2
|
||||
globals: ^13.15.0
|
||||
globals: ^13.19.0
|
||||
grapheme-splitter: ^1.0.4
|
||||
ignore: ^5.2.0
|
||||
import-fresh: ^3.0.0
|
||||
|
@ -3540,7 +3540,7 @@ browserlist@latest:
|
|||
text-table: ^0.2.0
|
||||
bin:
|
||||
eslint: bin/eslint.js
|
||||
checksum: e05204b05907b82d910983995cb946e0ba62ca514eb2b6791c43f623333b143564a2eee0139909d31c10935c21877d815b1f76dd674a59cb91c471064325c4ab
|
||||
checksum: 5e5688bb864edc6b12d165849994812eefa67fb3fc44bb26f53659b63edcd8bcc68389d27cc6cc9e5b79ee22f24b6f311fa3ed047bddcafdec7d84c1b5561e4f
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
|
@ -3879,7 +3879,16 @@ browserlist@latest:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"globals@npm:^13.15.0, globals@npm:^13.2.0":
|
||||
"globals@npm:^13.19.0":
|
||||
version: 13.19.0
|
||||
resolution: "globals@npm:13.19.0"
|
||||
dependencies:
|
||||
type-fest: ^0.20.2
|
||||
checksum: a000dbd00bcf28f0941d8a29c3522b1c3b8e4bfe4e60e262c477a550c3cbbe8dbe2925a6905f037acd40f9a93c039242e1f7079c76b0fd184bc41dcc3b5c8e2e
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"globals@npm:^13.2.0":
|
||||
version: 13.15.0
|
||||
resolution: "globals@npm:13.15.0"
|
||||
dependencies:
|
||||
|
@ -3985,9 +3994,9 @@ browserlist@latest:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"html-validate@npm:7.10.1":
|
||||
version: 7.10.1
|
||||
resolution: "html-validate@npm:7.10.1"
|
||||
"html-validate@npm:7.12.2":
|
||||
version: 7.12.2
|
||||
resolution: "html-validate@npm:7.12.2"
|
||||
dependencies:
|
||||
"@babel/code-frame": ^7.10.0
|
||||
"@html-validate/stylish": ^3.0.0
|
||||
|
@ -4015,7 +4024,7 @@ browserlist@latest:
|
|||
optional: true
|
||||
bin:
|
||||
html-validate: bin/html-validate.js
|
||||
checksum: 7a7dbc0a573e3f359a42eeab67e37b39965a3895b9c7354f065547d0f2e7264b5bea7f78db122c42f42ca72427c6c812c2500251846a5322ad7b502aca09b625
|
||||
checksum: 04bccd168057045fcc824ca9ce02ae195acd9a6723926655a085d74efc0dfcc69ef53822c9633a38241512d656ec05c2e045612c6313ae316b32dbb8bf96af80
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
|
@ -4513,10 +4522,10 @@ browserlist@latest:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"jquery@npm:3.6.2":
|
||||
version: 3.6.2
|
||||
resolution: "jquery@npm:3.6.2"
|
||||
checksum: b8ca408b9447e67e614204dbc4b2e71c6ea76eff281942d233769d969eed97fe28ffa34976e9ad9d3faad9b0a0d947d7e326ed272243679a9f5812a586c84168
|
||||
"jquery@npm:3.6.3":
|
||||
version: 3.6.3
|
||||
resolution: "jquery@npm:3.6.3"
|
||||
checksum: 0fd366bdcaa0c84a7a8751ce20f8192290141913978b5059574426d9b01f4365daa675f95aab3eec94fd794d27b08d32078a2236bef404b8ba78073009988ce6
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
|
@ -4850,10 +4859,10 @@ browserlist@latest:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"luxon@npm:3.1.1":
|
||||
version: 3.1.1
|
||||
resolution: "luxon@npm:3.1.1"
|
||||
checksum: 388fb35d3c51a19d8b305a3338e7e74634b08562e7d2f9ed5c05a7f4bc9ee1c1ab6a2546b6d9c4c104516b24043757d65f5f3fe3d78b206fbf55a9586ab62230
|
||||
"luxon@npm:3.2.1":
|
||||
version: 3.2.1
|
||||
resolution: "luxon@npm:3.2.1"
|
||||
checksum: 3fa3def2c5f5d3032b4c46220c4da8aeb467ac979888fc9d2557adcd22195f93516b4ad5909a75862bec8dc6ddc0953b0f38e6d2f4a8ab8450ddc531a83cf20d
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
|
@ -5120,9 +5129,9 @@ browserlist@latest:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"naive-ui@npm:2.34.2":
|
||||
version: 2.34.2
|
||||
resolution: "naive-ui@npm:2.34.2"
|
||||
"naive-ui@npm:2.34.3":
|
||||
version: 2.34.3
|
||||
resolution: "naive-ui@npm:2.34.3"
|
||||
dependencies:
|
||||
"@css-render/plugin-bem": ^0.15.10
|
||||
"@css-render/vue3-ssr": ^0.15.10
|
||||
|
@ -5144,7 +5153,7 @@ browserlist@latest:
|
|||
vueuc: ^0.4.47
|
||||
peerDependencies:
|
||||
vue: ^3.0.0
|
||||
checksum: 48871bb06803bbe4dafc88a37eadcb4c3e91e96767fd47d1da331b65a7630a70b1fc2978e1f8668267e199c78e4284753f16535130f87b1bca866384f024e5bb
|
||||
checksum: 792d9e6c51c5f577b787dedf90d60ea02bbb9c962bf58aac140aab18dcde8f1717d49a417a77a54e2959a3a743442d55b32152a3134ce8b7d29880ec2ae7cb55
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
|
@ -6055,41 +6064,41 @@ browserlist@latest:
|
|||
"@twuni/emojify": 1.0.2
|
||||
"@vitejs/plugin-vue": 3.2.0
|
||||
bootstrap: 5.2.3
|
||||
bootstrap-icons: 1.10.2
|
||||
bootstrap-icons: 1.10.3
|
||||
browser-fs-access: 0.31.1
|
||||
browserlist: latest
|
||||
c8: 7.12.0
|
||||
caniuse-lite: 1.0.30001439
|
||||
d3: 7.7.0
|
||||
eslint: 8.29.0
|
||||
caniuse-lite: 1.0.30001442
|
||||
d3: 7.8.0
|
||||
eslint: 8.31.0
|
||||
eslint-config-standard: 17.0.0
|
||||
eslint-plugin-cypress: 2.12.1
|
||||
eslint-plugin-import: 2.26.0
|
||||
eslint-plugin-n: 15.6.0
|
||||
eslint-plugin-n: 15.6.1
|
||||
eslint-plugin-node: 11.1.0
|
||||
eslint-plugin-promise: 6.1.1
|
||||
eslint-plugin-vue: 9.8.0
|
||||
file-saver: 2.0.5
|
||||
highcharts: 10.3.2
|
||||
html-validate: 7.10.1
|
||||
jquery: 3.6.2
|
||||
html-validate: 7.12.2
|
||||
jquery: 3.6.3
|
||||
jquery-migrate: 3.4.0
|
||||
jquery-ui-dist: 1.13.2
|
||||
js-cookie: 3.0.1
|
||||
list.js: 2.3.1
|
||||
lodash: 4.17.21
|
||||
lodash-es: 4.17.21
|
||||
luxon: 3.1.1
|
||||
luxon: 3.2.1
|
||||
moment: 2.29.4
|
||||
moment-timezone: 0.5.40
|
||||
ms: 2.1.3
|
||||
murmurhash-js: 1.0.0
|
||||
naive-ui: 2.34.2
|
||||
naive-ui: 2.34.3
|
||||
parcel: 2.8.2
|
||||
pinia: 2.0.28
|
||||
pinia-plugin-persist: 1.0.0
|
||||
pug: 3.0.2
|
||||
sass: 1.56.2
|
||||
sass: 1.57.1
|
||||
seedrandom: 3.0.5
|
||||
select2: 4.1.0-rc.0
|
||||
select2-bootstrap-5-theme: 1.3.0
|
||||
|
@ -6141,16 +6150,16 @@ browserlist@latest:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"sass@npm:1.56.2":
|
||||
version: 1.56.2
|
||||
resolution: "sass@npm:1.56.2"
|
||||
"sass@npm:1.57.1":
|
||||
version: 1.57.1
|
||||
resolution: "sass@npm:1.57.1"
|
||||
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: 7b1f524d04bc42df3bac6dc5201ff7475635b7df9a1390430ed5bd58b6a73ea1ae58b83ccea8da293cb77b85b4c848faf5f2779ca4b91b9303948c251d0ddca4
|
||||
checksum: 734a08781bcbe0e8defb2d54864e7012014ed3e68ba5fcb766189b002929019fc37b2f83a18d4be0b5f69ad77317c92396ce6112447ab47a194ed600ae1afb27
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
|
|
Loading…
Reference in a new issue