diff --git a/package-lock.json b/package-lock.json index 187f0796..f1719f05 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2680,21 +2680,21 @@ } }, "@openstapps/api": { - "version": "0.29.0", - "resolved": "https://registry.npmjs.org/@openstapps/api/-/api-0.29.0.tgz", - "integrity": "sha512-2Y7akJv4EQUOTLVW1GB9I8PC7XHzrDUM5VRynL9rR/S0vy+DbgSR4OEk2gmbeib92Tni94gka42/so6ysE106A==", + "version": "0.31.0", + "resolved": "https://registry.npmjs.org/@openstapps/api/-/api-0.31.0.tgz", + "integrity": "sha512-jbqd4Ot0sKNtzYwC451m+Z+8DA5aSCm166M4nbsd9UWU249FAaF+pTKTJDNvMIcQH7Q+aVDdZ7SJJ7bEBnSJkA==", "requires": { "@krlwlfrt/async-pool": "0.5.0", - "@openstapps/core": "0.46.0", - "@openstapps/core-tools": "0.21.0", + "@openstapps/core": "0.49.1", + "@openstapps/core-tools": "0.23.2", "@openstapps/logger": "0.7.0", - "@types/cli-progress": "3.9.1", - "@types/express": "4.17.12", - "@types/morgan": "1.9.2", - "@types/node": "14.17.1", + "@types/cli-progress": "3.9.2", + "@types/express": "4.17.13", + "@types/morgan": "1.9.3", + "@types/node": "14.17.9", "@types/traverse": "0.6.32", - "@types/uuid": "8.3.0", - "@types/wait-on": "5.3.0", + "@types/uuid": "8.3.1", + "@types/wait-on": "5.3.1", "body-parser": "1.19.0", "cli-progress": "3.9.0", "commander": "7.2.0", @@ -2710,59 +2710,53 @@ }, "dependencies": { "@types/node": { - "version": "14.17.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.17.1.tgz", - "integrity": "sha512-/tpUyFD7meeooTRwl3sYlihx2BrJE7q9XF71EguPFIySj9B7qgnRtHsHTho+0AUm4m1SvWGm6uSncrR94q6Vtw==" + "version": "14.17.9", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.17.9.tgz", + "integrity": "sha512-CMjgRNsks27IDwI785YMY0KLt3co/c0cQ5foxHYv/shC2w8oOnVwz5Ubq1QG5KzrcW+AXk6gzdnxIkDnTvzu3g==" } } }, "@openstapps/configuration": { - "version": "0.25.0", - "resolved": "https://registry.npmjs.org/@openstapps/configuration/-/configuration-0.25.0.tgz", - "integrity": "sha512-kcyfvXX6g8BACA/tx9W9PH2W46Zi1TueCAOH8o8Ot5fdAQnkOHodagNHKo7tpXV1ZkKGp0pzLcdNWteQO5olMA==", + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/@openstapps/configuration/-/configuration-0.27.0.tgz", + "integrity": "sha512-akWzLtS42HKY7OmILfsCMui9GNGXiWxCk4MhArnNYJMTVN/xw68sjEQAr2wAVimPx/77xs0LC+lDAJUD0kzwUg==", "requires": { - "@types/node": "10.17.14", - "@types/semver": "7.1.0", - "@types/yaml": "1.2.0", - "chalk": "3.0.0", - "commander": "4.1.1", - "semver": "7.1.3", + "@types/node": "14.14.37", + "@types/semver": "7.3.4", + "@types/yaml": "1.9.7", + "chalk": "4.1.0", + "commander": "6.2.0", + "semver": "7.3.4", "tslint": "6.1.3", "tslint-eslint-rules": "5.4.0", - "yaml": "1.7.2" + "yaml": "1.10.0" }, "dependencies": { - "@types/node": { - "version": "10.17.14", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.14.tgz", - "integrity": "sha512-G0UmX5uKEmW+ZAhmZ6PLTQ5eu/VPaT+d/tdLd5IFsKRPcbe6lPxocBtcYBFSaLaCW8O60AX90e91Nsp8lVHCNw==" - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, "commander": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", - "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==" + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.0.tgz", + "integrity": "sha512-zP4jEKbe8SHzKJYQmq8Y9gYjtO/POJLgIdKgV7B9qNmABVFVc+ctqSX6iXh4mCpJfRBOabiZ2YKPg8ciDw6C+Q==" + }, + "semver": { + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", + "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "requires": { + "lru-cache": "^6.0.0" + } } } }, "@openstapps/core": { - "version": "0.46.0", - "resolved": "https://registry.npmjs.org/@openstapps/core/-/core-0.46.0.tgz", - "integrity": "sha512-nacn8ivrvi6auLYU5L+5aIB96EPRleWxMKZ/kzt5j+m1gV4q/tuM/WErsAB31hTNv6H5ax1MS1pNc9cVeoMJpA==", + "version": "0.49.1", + "resolved": "https://registry.npmjs.org/@openstapps/core/-/core-0.49.1.tgz", + "integrity": "sha512-NYySQHuyePnu6iv3p8WWIZn0o8ZZixiFEh980dbpk0WJeEYfmy2mM8ER0/KkPXTZDsW3aNxHtLWrEB0chMZF3Q==", "requires": { - "@openstapps/core-tools": "0.19.0", + "@openstapps/core-tools": "0.23.2", "@types/geojson": "1.0.6", "@types/json-patch": "0.0.30", - "@types/json-schema": "7.0.7", - "@types/node": "14.14.37", + "@types/json-schema": "7.0.9", + "@types/node": "14.17.9", "fast-clone": "1.5.13", "fast-deep-equal": "3.1.3", "http-status-codes": "2.1.4", @@ -2771,216 +2765,118 @@ "ts-optchain": "0.1.8" }, "dependencies": { - "@krlwlfrt/async-pool": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@krlwlfrt/async-pool/-/async-pool-0.3.0.tgz", - "integrity": "sha512-N4uQIfGTsVw1/fE3Z7DWh878dyFhVkuFYyMiQyW8QTd21yjn91rlub5SERssQXMPKDzYKNGrban3FKSQAtXisQ==" + "@types/json-schema": { + "version": "7.0.9", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz", + "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==" }, - "@openstapps/core-tools": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/@openstapps/core-tools/-/core-tools-0.19.0.tgz", - "integrity": "sha512-IJYa38e6FPgKd/YrmvP3Bubsc61yvC66X4vW/V+1ZsxG5PlUiMngXJ7eEVkl355ICQIeGp1VUhQkEJfOpaG1WQ==", - "requires": { - "@krlwlfrt/async-pool": "0.3.0", - "@openstapps/logger": "0.6.0", - "@types/glob": "7.1.3", - "@types/got": "9.6.11", - "@types/json-schema": "7.0.7", - "@types/mustache": "4.1.1", - "@types/node": "14.14.37", - "ajv": "6.12.6", - "better-ajv-errors": "0.7.0", - "chai": "4.3.4", - "commander": "4.1.1", - "deepmerge": "4.2.2", - "del": "5.1.0", - "flatted": "2.0.2", - "glob": "7.1.6", - "got": "10.7.0", - "humanize-string": "2.1.0", - "json-schema": "0.3.0", - "mustache": "4.2.0", - "plantuml-encoder": "1.4.0", - "toposort": "2.0.2", - "ts-json-schema-generator": "0.70.2", - "ts-node": "8.10.2", - "typedoc": "0.18.0", - "typescript": "3.8.3" - } - }, - "@openstapps/logger": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/@openstapps/logger/-/logger-0.6.0.tgz", - "integrity": "sha512-l/ILWPOSxhawcdDxn9vkdzib4xlRTnFmG4YygX8l8z0m9cocitMMZGw/DquZ0x6zGt2suOwSVRckYiSlk/6Erw==", - "requires": { - "@types/node": "14.14.37", - "@types/nodemailer": "6.4.1", - "chalk": "4.1.0", - "flatted": "3.1.1", - "moment": "2.29.1", - "nodemailer": "6.5.0" - }, - "dependencies": { - "flatted": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz", - "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==" - } - } - }, - "commander": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", - "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==" - }, - "deepmerge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", - "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==" - }, - "got": { - "version": "10.7.0", - "resolved": "https://registry.npmjs.org/got/-/got-10.7.0.tgz", - "integrity": "sha512-aWTDeNw9g+XqEZNcTjMMZSy7B7yE9toWOFYip7ofFTLleJhvZwUxxTxkTpKvF+p1SAA4VHmuEy7PiHTHyq8tJg==", - "requires": { - "@sindresorhus/is": "^2.0.0", - "@szmarczak/http-timer": "^4.0.0", - "@types/cacheable-request": "^6.0.1", - "cacheable-lookup": "^2.0.0", - "cacheable-request": "^7.0.1", - "decompress-response": "^5.0.0", - "duplexer3": "^0.1.4", - "get-stream": "^5.0.0", - "lowercase-keys": "^2.0.0", - "mimic-response": "^2.1.0", - "p-cancelable": "^2.0.0", - "p-event": "^4.0.0", - "responselike": "^2.0.0", - "to-readable-stream": "^2.0.0", - "type-fest": "^0.10.0" - } - }, - "ts-node": { - "version": "8.10.2", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.10.2.tgz", - "integrity": "sha512-ISJJGgkIpDdBhWVu3jufsWpK3Rzo7bdiIXJjQc0ynKxVOVcg2oIrf2H2cejminGrptVc6q6/uynAHNCuWGbpVA==", - "requires": { - "arg": "^4.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "source-map-support": "^0.5.17", - "yn": "3.1.1" - } + "@types/node": { + "version": "14.17.9", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.17.9.tgz", + "integrity": "sha512-CMjgRNsks27IDwI785YMY0KLt3co/c0cQ5foxHYv/shC2w8oOnVwz5Ubq1QG5KzrcW+AXk6gzdnxIkDnTvzu3g==" } } }, "@openstapps/core-tools": { - "version": "0.21.0", - "resolved": "https://registry.npmjs.org/@openstapps/core-tools/-/core-tools-0.21.0.tgz", - "integrity": "sha512-8zJfuGImeAjqUddYVxRD1mgqpVsmn8k5ZiEeDX0JW1q590OCbAZsoTiaLPtfHjUK4bu2hoNkaPs5cyYTAxD8Ew==", + "version": "0.23.2", + "resolved": "https://registry.npmjs.org/@openstapps/core-tools/-/core-tools-0.23.2.tgz", + "integrity": "sha512-h/J+i22FsTxnOYndYntRYKHpprX63dub/7gFDAQokC06rH6oKJSqhReXM8xxNQa6DFhbNEq79U+GaqlQcWW98w==", "requires": { - "@krlwlfrt/async-pool": "0.5.0", - "@openstapps/logger": "0.6.0", - "@types/glob": "7.1.3", - "@types/json-schema": "7.0.7", - "@types/mustache": "4.1.1", - "@types/node": "14.14.41", + "@krlwlfrt/async-pool": "0.6.0", + "@openstapps/logger": "0.7.0", + "@types/fs-extra": "9.0.12", + "@types/glob": "7.1.4", + "@types/json-schema": "7.0.8", + "@types/mustache": "4.1.2", + "@types/node": "14.17.5", "ajv": "6.12.6", "better-ajv-errors": "0.7.0", "chai": "4.3.4", "commander": "7.2.0", "deepmerge": "4.2.2", "del": "6.0.0", - "flatted": "3.1.1", - "glob": "7.1.6", + "flatted": "3.2.1", + "fs-extra": "10.0.0", + "glob": "7.1.7", "got": "11.8.2", "humanize-string": "2.1.0", "json-schema": "0.3.0", "mustache": "4.2.0", + "openapi-types": "9.1.0", "plantuml-encoder": "1.4.0", "toposort": "2.0.2", "ts-json-schema-generator": "0.70.2", - "ts-node": "9.1.1", + "ts-node": "10.1.0", "typedoc": "0.18.0", "typescript": "3.8.3" }, "dependencies": { - "@openstapps/logger": { + "@krlwlfrt/async-pool": { "version": "0.6.0", - "resolved": "https://registry.npmjs.org/@openstapps/logger/-/logger-0.6.0.tgz", - "integrity": "sha512-l/ILWPOSxhawcdDxn9vkdzib4xlRTnFmG4YygX8l8z0m9cocitMMZGw/DquZ0x6zGt2suOwSVRckYiSlk/6Erw==", + "resolved": "https://registry.npmjs.org/@krlwlfrt/async-pool/-/async-pool-0.6.0.tgz", + "integrity": "sha512-xP4sfGMDUU+sb+m6swwO7Wr8MGRzJyd7IuUFQpC/Qqq30IoMeP7YtHmC/C235kIWZhQVtrcmuVgDY9pXuKueEw==" + }, + "@types/glob": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.4.tgz", + "integrity": "sha512-w+LsMxKyYQm347Otw+IfBXOv9UWVjpHpCDdbBMt8Kz/xbvCYNjP+0qPh91Km3iKfSRLBB0P7fAMf0KHrPu+MyA==", "requires": { - "@types/node": "14.14.37", - "@types/nodemailer": "6.4.1", - "chalk": "4.1.0", - "flatted": "3.1.1", - "moment": "2.29.1", - "nodemailer": "6.5.0" - }, - "dependencies": { - "@types/node": { - "version": "14.14.37", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.37.tgz", - "integrity": "sha512-XYmBiy+ohOR4Lh5jE379fV2IU+6Jn4g5qASinhitfyO71b/sCo6MKsMLF5tc7Zf2CE8hViVQyYSobJNke8OvUw==" - } + "@types/minimatch": "*", + "@types/node": "*" } }, + "@types/json-schema": { + "version": "7.0.8", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.8.tgz", + "integrity": "sha512-YSBPTLTVm2e2OoQIDYx8HaeWJ5tTToLH67kXR7zYNGupXMEHa2++G8k+DczX2cFVgalypqtyZIcU19AFcmOpmg==" + }, "@types/node": { - "version": "14.14.41", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.41.tgz", - "integrity": "sha512-dueRKfaJL4RTtSa7bWeTK1M+VH+Gns73oCgzvYfHZywRCoPSd8EkXBL0mZ9unPTveBn+D9phZBaxuzpwjWkW0g==" + "version": "14.17.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.17.5.tgz", + "integrity": "sha512-bjqH2cX/O33jXT/UmReo2pM7DIJREPMnarixbQ57DOOzzFaI6D2+IcwaJQaJpv0M1E9TIhPCYVxrkcityLjlqA==" }, "deepmerge": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==" }, - "del": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/del/-/del-6.0.0.tgz", - "integrity": "sha512-1shh9DQ23L16oXSZKB2JxpL7iMy2E0S9d517ptA1P8iw0alkPtQcrKH7ru31rYtKwF499HkTu+DRzq3TCKDFRQ==", - "requires": { - "globby": "^11.0.1", - "graceful-fs": "^4.2.4", - "is-glob": "^4.0.1", - "is-path-cwd": "^2.2.0", - "is-path-inside": "^3.0.2", - "p-map": "^4.0.0", - "rimraf": "^3.0.2", - "slash": "^3.0.0" - } - }, "flatted": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz", - "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==" + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.1.tgz", + "integrity": "sha512-OMQjaErSFHmHqZe+PSidH5n8j3O0F2DdnVh8JB4j4eUQ2k6KvB0qGfrKIhapvez5JerBbmWkaLYUYWISaESoXg==" }, - "globby": { - "version": "11.0.4", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz", - "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==", + "fs-extra": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz", + "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==", "requires": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.1.1", - "ignore": "^5.1.4", - "merge2": "^1.3.0", - "slash": "^3.0.0" + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" } }, - "p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "glob": { + "version": "7.1.7", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", + "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", "requires": { - "aggregate-error": "^3.0.0" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, "ts-node": { - "version": "9.1.1", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-9.1.1.tgz", - "integrity": "sha512-hPlt7ZACERQGf03M253ytLY3dHbGNGrAq9qIHWUY9XHYl1z7wYngSr3OQ5xmui8o2AaxsONxIzjafLUiWBo1Fg==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.1.0.tgz", + "integrity": "sha512-6szn3+J9WyG2hE+5W8e0ruZrzyk1uFLYye6IGMBadnOzDh8aP7t8CbFpsfCiEx2+wMixAhjFt7lOZC4+l+WbEA==", "requires": { + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.1", "arg": "^4.1.0", "create-require": "^1.1.0", "diff": "^4.0.1", @@ -3022,11 +2918,6 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz", "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==" - }, - "nodemailer": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.6.0.tgz", - "integrity": "sha512-ikSMDU1nZqpo2WUPE0wTTw/NGGImTkwpJKDIFPZT+YvvR9Sj+ze5wzu95JHkBMglQLoG2ITxU21WukCC/XsFkg==" } } }, @@ -3087,9 +2978,9 @@ "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==" }, "@sindresorhus/is": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-2.1.1.tgz", - "integrity": "sha512-/aPsuoj/1Dw/kzhkgz+ES6TxG0zfTMGLwuK2ZG00k/iJzYHTLCE8mVU8EPqEOp/lmxPoq1C1C9RYToRKb2KEfg==" + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.0.1.tgz", + "integrity": "sha512-Qm9hBEBu18wt1PO2flE7LPb30BHMQt1eQgbV76YntdNk73XZGpn3izvGTYxbGgzXKgbCjiia0uxTd3aTNQrY/g==" }, "@stencil/core": { "version": "2.6.0", @@ -3104,6 +2995,26 @@ "defer-to-connect": "^2.0.0" } }, + "@tsconfig/node10": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.8.tgz", + "integrity": "sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==" + }, + "@tsconfig/node12": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.9.tgz", + "integrity": "sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==" + }, + "@tsconfig/node14": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.1.tgz", + "integrity": "sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==" + }, + "@tsconfig/node16": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.2.tgz", + "integrity": "sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==" + }, "@types/body-parser": { "version": "1.19.1", "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.1.tgz", @@ -3125,9 +3036,9 @@ } }, "@types/cli-progress": { - "version": "3.9.1", - "resolved": "https://registry.npmjs.org/@types/cli-progress/-/cli-progress-3.9.1.tgz", - "integrity": "sha512-X/tKJv/GoYlCBS9wwJTLrVSxzIOI/Cj1cCatYOAAoQne3aT1QbHBptBS5+zLe2ToSljAijHU1N/ouBNFvZ2H/g==", + "version": "3.9.2", + "resolved": "https://registry.npmjs.org/@types/cli-progress/-/cli-progress-3.9.2.tgz", + "integrity": "sha512-VO5/X5Ij+oVgEVjg5u0IXVe3JQSKJX+Ev8C5x+0hPy0AuWyW+bF8tbajR7cPFnDGhs7pidztcac+ccrDtk5teA==", "requires": { "@types/node": "*" } @@ -3155,9 +3066,9 @@ } }, "@types/express": { - "version": "4.17.12", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.12.tgz", - "integrity": "sha512-pTYas6FrP15B1Oa0bkN5tQMNqOcVXa9j4FTFtO8DWI9kppKib+6NJtfTOOLcwxuuYvcX2+dVG6et1SxW/Kc17Q==", + "version": "4.17.13", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.13.tgz", + "integrity": "sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==", "requires": { "@types/body-parser": "*", "@types/express-serve-static-core": "^4.17.18", @@ -3184,6 +3095,14 @@ "form-data": "*" } }, + "@types/fs-extra": { + "version": "9.0.12", + "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.12.tgz", + "integrity": "sha512-I+bsBr67CurCGnSenZZ7v94gd3tc3+Aj2taxMT4yu4ABLuOgOjeFxX3dokG24ztSRg5tnT00sL8BszO7gSMoIw==", + "requires": { + "@types/node": "*" + } + }, "@types/geojson": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-1.0.6.tgz", @@ -3193,21 +3112,12 @@ "version": "7.1.3", "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz", "integrity": "sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w==", + "dev": true, "requires": { "@types/minimatch": "*", "@types/node": "*" } }, - "@types/got": { - "version": "9.6.11", - "resolved": "https://registry.npmjs.org/@types/got/-/got-9.6.11.tgz", - "integrity": "sha512-dr3IiDNg5TDesGyuwTrN77E1Cd7DCdmCFtEfSGqr83jMMtcwhf/SGPbN2goY4JUWQfvxwY56+e5tjfi+oXeSdA==", - "requires": { - "@types/node": "*", - "@types/tough-cookie": "*", - "form-data": "^2.5.0" - } - }, "@types/http-cache-semantics": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz", @@ -3301,17 +3211,17 @@ "dev": true }, "@types/morgan": { - "version": "1.9.2", - "resolved": "https://registry.npmjs.org/@types/morgan/-/morgan-1.9.2.tgz", - "integrity": "sha512-edtGMEdit146JwwIeyQeHHg9yID4WSolQPxpEorHmN3KuytuCHyn2ELNr5Uxy8SerniFbbkmgKMrGM933am5BQ==", + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@types/morgan/-/morgan-1.9.3.tgz", + "integrity": "sha512-BiLcfVqGBZCyNCnCH3F4o2GmDLrpy0HeBVnNlyZG4fo88ZiE9SoiBe3C+2ezuwbjlEyT+PDZ17//TAlRxAn75Q==", "requires": { "@types/node": "*" } }, "@types/mustache": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/@types/mustache/-/mustache-4.1.1.tgz", - "integrity": "sha512-Sm0NWeLhS2QL7NNGsXvO+Fgp7e3JLHCO6RS3RCnfjAnkw6Y1bsji/AGfISdQZDIR/AeOyzkrxRk9jBkl55zdJw==" + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/@types/mustache/-/mustache-4.1.2.tgz", + "integrity": "sha512-c4OVMMcyodKQ9dpwBwh3ofK9P6U9ZktKU9S+p33UqwMNN1vlv2P0zJZUScTshnx7OEoIIRcCFNQ904sYxZz8kg==" }, "@types/node": { "version": "14.14.37", @@ -3363,12 +3273,9 @@ "dev": true }, "@types/semver": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.1.0.tgz", - "integrity": "sha512-pOKLaubrAEMUItGNpgwl0HMFPrSAFic8oSVIvfu1UwcgGNmNyK9gyhBHKmBnUTwwVvpZfkzUC0GaMgnL6P86uA==", - "requires": { - "@types/node": "*" - } + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.4.tgz", + "integrity": "sha512-+nVsLKlcUCeMzD2ufHEYuJ9a2ovstb6Dp52A5VsoKxDXgvE051XgHI/33I1EymwkRGQkwnA0LkhnUzituGs4EQ==" }, "@types/serve-static": { "version": "1.13.10", @@ -3385,25 +3292,20 @@ "integrity": "sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==", "dev": true }, - "@types/tough-cookie": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.1.tgz", - "integrity": "sha512-Y0K95ThC3esLEYD6ZuqNek29lNX2EM1qxV8y2FTLUB0ff5wWrk7az+mLrnNFUnaXcgKye22+sFBRXOgpPILZNg==" - }, "@types/traverse": { "version": "0.6.32", "resolved": "https://registry.npmjs.org/@types/traverse/-/traverse-0.6.32.tgz", "integrity": "sha512-RBz2uRZVCXuMg93WD//aTS5B120QlT4lR/gL+935QtGsKHLS6sCtZBaKfWjIfk7ZXv/r8mtGbwjVIee6/3XTow==" }, "@types/uuid": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.0.tgz", - "integrity": "sha512-eQ9qFW/fhfGJF8WKHGEHZEyVWfZxrT+6CLIJGBcZPfxUh/+BnEj+UCGYMlr9qZuX/2AltsvwrGqp0LhEW8D0zQ==" + "version": "8.3.1", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.1.tgz", + "integrity": "sha512-Y2mHTRAbqfFkpjldbkHGY8JIzRN6XqYRliG8/24FcHm2D2PwW24fl5xMRTVGdrb7iMrwCaIEbLWerGIkXuFWVg==" }, "@types/wait-on": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@types/wait-on/-/wait-on-5.3.0.tgz", - "integrity": "sha512-shduy6IRDu8ccaILJ2N7qj/43FsOpzQslIaaG0Pa4WVdIoUpnTxxViJgbEAW4xAOsHbsu9IBOF2DzLNkmYM0MQ==", + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/@types/wait-on/-/wait-on-5.3.1.tgz", + "integrity": "sha512-2FFOKCF/YydrMUaqg+fkk49qf0e5rDgwt6aQsMzFQzbS419h2gNOXyiwp/o2yYy27bi/C1z+HgfncryjGzlvgQ==", "requires": { "@types/node": "*" } @@ -3420,9 +3322,12 @@ } }, "@types/yaml": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@types/yaml/-/yaml-1.2.0.tgz", - "integrity": "sha512-GW8b9qM+ebgW3/zjzPm0I1NxMvLaz/YKT9Ph6tTb+Fkeyzd9yLTvQ6ciQ2MorTRmb/qXmfjMerRpG4LviixaqQ==" + "version": "1.9.7", + "resolved": "https://registry.npmjs.org/@types/yaml/-/yaml-1.9.7.tgz", + "integrity": "sha512-8WMXRDD1D+wCohjfslHDgICd2JtMATZU8CkhH8LVJqcJs6dyYj5TGptzP8wApbmEullGBSsCEzzap73DQ1HJaA==", + "requires": { + "yaml": "*" + } }, "@typescript-eslint/eslint-plugin": { "version": "4.3.0", @@ -4840,9 +4745,9 @@ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" }, "core-js": { - "version": "3.16.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.16.1.tgz", - "integrity": "sha512-AAkP8i35EbefU+JddyWi12AWE9f2N/qr/pwnDtWz4nyUIBGMJPX99ANFFRSw6FefM374lDujdtLDyhN2A/btHw==" + "version": "3.16.2", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.16.2.tgz", + "integrity": "sha512-P0KPukO6OjMpjBtHSceAZEWlDD1M2Cpzpg6dBbrjFqFhBHe/BwhxaP820xKOjRn/lZRQirrCusIpLS/n2sgXLQ==" }, "has-flag": { "version": "3.0.0", @@ -5329,13 +5234,9 @@ } }, "cacheable-lookup": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-2.0.1.tgz", - "integrity": "sha512-EMMbsiOTcdngM/K6gV/OxF2x0t07+vMOWxZNSCRQMjO2MY2nhZQ6OYhOOpyQrbhqsgtvKGI7hcq6xjnA92USjg==", - "requires": { - "@types/keyv": "^3.1.1", - "keyv": "^4.0.0" - } + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz", + "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==" }, "cacheable-request": { "version": "7.0.2", @@ -5846,13 +5747,6 @@ "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", "requires": { "mimic-response": "^1.0.0" - }, - "dependencies": { - "mimic-response": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", - "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==" - } } }, "coa": { @@ -7835,11 +7729,18 @@ "dev": true }, "decompress-response": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-5.0.0.tgz", - "integrity": "sha512-TLZWWybuxWgoW7Lykv+gq9xvzOsUjQ9tF09Tj6NSTYGMTCHNXzrPnD6Hi+TgZq19PyTAGH4Ll/NIM/eTGglnMw==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", "requires": { - "mimic-response": "^2.0.0" + "mimic-response": "^3.1.0" + }, + "dependencies": { + "mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==" + } } }, "dedent": { @@ -8070,18 +7971,28 @@ } }, "del": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/del/-/del-5.1.0.tgz", - "integrity": "sha512-wH9xOVHnczo9jN2IW68BabcecVPxacIA3g/7z6vhSU/4stOKQzeCRK0yD0A24WiAAUJmmVpWqrERcTxnLo3AnA==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/del/-/del-6.0.0.tgz", + "integrity": "sha512-1shh9DQ23L16oXSZKB2JxpL7iMy2E0S9d517ptA1P8iw0alkPtQcrKH7ru31rYtKwF499HkTu+DRzq3TCKDFRQ==", "requires": { - "globby": "^10.0.1", - "graceful-fs": "^4.2.2", + "globby": "^11.0.1", + "graceful-fs": "^4.2.4", "is-glob": "^4.0.1", "is-path-cwd": "^2.2.0", - "is-path-inside": "^3.0.1", - "p-map": "^3.0.0", - "rimraf": "^3.0.0", + "is-path-inside": "^3.0.2", + "p-map": "^4.0.0", + "rimraf": "^3.0.2", "slash": "^3.0.0" + }, + "dependencies": { + "p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "requires": { + "aggregate-error": "^3.0.0" + } + } } }, "delayed-stream": { @@ -8308,11 +8219,6 @@ "readable-stream": "^2.0.2" } }, - "duplexer3": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", - "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=" - }, "duplexify": { "version": "3.7.1", "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", @@ -9880,7 +9786,8 @@ "flatted": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", - "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==" + "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", + "dev": true }, "flush-write-stream": { "version": "1.1.1", @@ -10754,17 +10661,15 @@ "dev": true }, "globby": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz", - "integrity": "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==", + "version": "11.0.4", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz", + "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==", "requires": { - "@types/glob": "^7.1.1", "array-union": "^2.1.0", "dir-glob": "^3.0.1", - "fast-glob": "^3.0.3", - "glob": "^7.1.3", - "ignore": "^5.1.1", - "merge2": "^1.2.3", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", "slash": "^3.0.0" } }, @@ -10784,31 +10689,6 @@ "lowercase-keys": "^2.0.0", "p-cancelable": "^2.0.0", "responselike": "^2.0.0" - }, - "dependencies": { - "@sindresorhus/is": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.0.1.tgz", - "integrity": "sha512-Qm9hBEBu18wt1PO2flE7LPb30BHMQt1eQgbV76YntdNk73XZGpn3izvGTYxbGgzXKgbCjiia0uxTd3aTNQrY/g==" - }, - "cacheable-lookup": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz", - "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==" - }, - "decompress-response": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", - "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", - "requires": { - "mimic-response": "^3.1.0" - } - }, - "mimic-response": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", - "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==" - } } }, "graceful-fs": { @@ -13779,9 +13659,9 @@ "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" }, "mimic-response": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-2.1.0.tgz", - "integrity": "sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==" }, "min-indent": { "version": "1.0.1", @@ -14254,9 +14134,9 @@ "dev": true }, "nodemailer": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.5.0.tgz", - "integrity": "sha512-Tm4RPrrIZbnqDKAvX+/4M+zovEReiKlEXWDzG4iwtpL9X34MJY+D5LnQPH/+eghe8DLlAVshHAJZAZWBGhkguw==" + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.6.0.tgz", + "integrity": "sha512-ikSMDU1nZqpo2WUPE0wTTw/NGGImTkwpJKDIFPZT+YvvR9Sj+ze5wzu95JHkBMglQLoG2ITxU21WukCC/XsFkg==" }, "nopt": { "version": "4.0.3", @@ -14642,6 +14522,11 @@ } } }, + "openapi-types": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/openapi-types/-/openapi-types-9.1.0.tgz", + "integrity": "sha512-mhXh8QN8sbErlxfxBeZ/pzgvmDn443p8CXlxwGSi2bWANZAFvjLPI0PoGjqHW+JdBbXg6uvmvM81WXaweh/SVA==" + }, "opencollective-postinstall": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz", @@ -14771,14 +14656,6 @@ "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==" }, - "p-event": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/p-event/-/p-event-4.2.0.tgz", - "integrity": "sha512-KXatOjCRXXkSePPb1Nbi0p0m+gQAwdlbhi4wQKJPI1HsMQS9g+Sqp2o+QHziPr7eYJyOZet836KoHEVM1mwOrQ==", - "requires": { - "p-timeout": "^3.1.0" - } - }, "p-finally": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", @@ -14806,6 +14683,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", + "dev": true, "requires": { "aggregate-error": "^3.0.0" } @@ -14819,14 +14697,6 @@ "retry": "^0.12.0" } }, - "p-timeout": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz", - "integrity": "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==", - "requires": { - "p-finally": "^1.0.0" - } - }, "p-try": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", @@ -17387,7 +17257,8 @@ "semver": { "version": "7.1.3", "resolved": "https://registry.npmjs.org/semver/-/semver-7.1.3.tgz", - "integrity": "sha512-ekM0zfiA9SCBlsKa2X1hxyxiI4L3B6EbVJkkdgQXnSEEaHlGdvyodMruTiulSRWMMB4NeIuYNMC9rTKTz97GxA==" + "integrity": "sha512-ekM0zfiA9SCBlsKa2X1hxyxiI4L3B6EbVJkkdgQXnSEEaHlGdvyodMruTiulSRWMMB4NeIuYNMC9rTKTz97GxA==", + "dev": true }, "semver-dsl": { "version": "1.0.1", @@ -19414,11 +19285,6 @@ } } }, - "to-readable-stream": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-2.1.0.tgz", - "integrity": "sha512-o3Qa6DGg1CEXshSdvWNX2sN4QHqg03SPq7U6jPXRahlQdl5dK8oXjkU/2/sGrnOZKeGV1zLSO8qPwyKklPPE7w==" - }, "to-regex": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", @@ -20009,11 +19875,6 @@ "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==" }, - "type-fest": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.10.0.tgz", - "integrity": "sha512-EUV9jo4sffrwlg8s0zDhP0T2WD3pru5Xi0+HTE3zTUmBaZNhfkite9PdSJwdXLwPVW0jnAHT56pZHIOYckPEiw==" - }, "type-is": { "version": "1.6.18", "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", @@ -21966,12 +21827,9 @@ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "yaml": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.7.2.tgz", - "integrity": "sha512-qXROVp90sb83XtAoqE8bP9RwAkTTZbugRUTm5YeFCBfNRPEp2YzTeqWiz7m5OORHzEvrA/qcGS8hp/E+MMROYw==", - "requires": { - "@babel/runtime": "^7.6.3" - } + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.0.tgz", + "integrity": "sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg==" }, "yargs": { "version": "13.3.2", diff --git a/package.json b/package.json index e4ea4587..a3cc0ad3 100644 --- a/package.json +++ b/package.json @@ -62,9 +62,9 @@ "@ionic/storage": "2.2.0", "@ngx-translate/core": "11.0.1", "@ngx-translate/http-loader": "4.0.0", - "@openstapps/api": "0.29.0", - "@openstapps/configuration": "0.25.0", - "@openstapps/core": "0.46.0", + "@openstapps/api": "0.31.0", + "@openstapps/configuration": "0.27.0", + "@openstapps/core": "0.49.1", "cordova-android": "9.0.0", "cordova-browser": "6.0.0", "cordova-ios": "6.2.0", diff --git a/src/app/_helpers/data/sample-things.ts b/src/app/_helpers/data/sample-things.ts index 7dfda970..68606f42 100644 --- a/src/app/_helpers/data/sample-things.ts +++ b/src/app/_helpers/data/sample-things.ts @@ -41,6 +41,7 @@ import {sampleResources} from './resources/test-resources'; const sampleMessages: SCMessage[] = [ { audiences: ['students'], + categories: ['news'], messageBody: 'Foo Message Text', name: 'Foo Message', origin: { @@ -53,6 +54,7 @@ const sampleMessages: SCMessage[] = [ }, { audiences: ['employees'], + categories: ['news'], messageBody: 'Bar Message Text', name: 'Bar Message', origin: { @@ -193,7 +195,8 @@ const samplePersons: SCPerson[] = [ const sampleBooks: SCBook[] = [ { authors: samplePersons, - isbn: '123456', + ISBNs: ['123456'], + categories: ['ebook'], name: 'Foo Book', origin: { indexed: 'SOME-DATE', @@ -205,7 +208,8 @@ const sampleBooks: SCBook[] = [ }, { authors: [], - isbn: '123456', + ISBNs: ['123456'], + categories: ['book'], name: 'Bar Book', origin: { indexed: 'SOME-DATE', @@ -330,7 +334,7 @@ const sampleDateSeries: SCDateSeries[] = [ dates: ['2019-03-01T17:00:00+00:00', '2019-03-08T17:00:00+00:00'], duration: 'PT2H', event: sampleAcademicEvents[0], - frequency: 'once', + repeatFrequency: 'P1W', name: 'Foo Date Event - Date Series', origin: { indexed: 'SOME-DATE', @@ -344,7 +348,6 @@ const sampleDateSeries: SCDateSeries[] = [ dates: ['2019-03-03T10:00:00+00:00', '2019-03-11T10:00:00+00:00'], duration: 'PT2H', event: sampleAcademicEvents[1], - frequency: 'weekly', name: 'Bar Date Event - Date Series', origin: { indexed: 'SOME-DATE', diff --git a/src/app/modules/data/chips/add-event-popover.component.ts b/src/app/modules/data/chips/add-event-popover.component.ts index f9f19d5d..f94e863a 100644 --- a/src/app/modules/data/chips/add-event-popover.component.ts +++ b/src/app/modules/data/chips/add-event-popover.component.ts @@ -1,4 +1,3 @@ -/* eslint-disable @typescript-eslint/no-explicit-any */ /* * Copyright (C) 2021 StApps * This program is free software: you can redistribute it and/or modify it @@ -13,6 +12,8 @@ * You should have received a copy of the GNU General Public License along with * this program. If not, see . */ + +/* eslint-disable @typescript-eslint/no-explicit-any */ import { ChangeDetectorRef, Component, @@ -225,9 +226,9 @@ export class AddEventPopoverComponent implements OnInit, OnDestroy { selected: this.uuids.includes(item.uid), item: item, })), - it => it.item.frequency, + it => it.item.repeatFrequency, ), - it => it.item.frequency, + it => it.item.repeatFrequency, ), ).map(item => new TreeNode(item, this.ref)), this.ref, diff --git a/src/app/modules/data/chips/add-event-popover.html b/src/app/modules/data/chips/add-event-popover.html index b62fdecd..f45ba4a3 100644 --- a/src/app/modules/data/chips/add-event-popover.html +++ b/src/app/modules/data/chips/add-event-popover.html @@ -1,3 +1,18 @@ + + @@ -14,7 +29,9 @@ {{ - 'frequency' | thingTranslate: frequency.children[0].item | titlecase + frequency.children[0].item.repeatFrequency + ? (frequency.children[0].item.repeatFrequency | amDuration) + : ('data.chips.add_events.popover.SINGLE' | translate | titlecase) }} { filter: sampleFilter, }; - const sampleSavable: SCSaveableThing = { + const sampleSavable: SCSaveableThing = { data: sampleThing, name: sampleThing.name, origin: { @@ -168,7 +166,7 @@ describe('DataProvider', () => { }); it('should put an data item into the local database (storage)', async () => { - let providedThing: SCSaveableThing; + let providedThing: SCSaveableThing; spyOn(storageProvider, 'put' as any).and.callFake( (_id: any, thing: any) => { providedThing = thing; diff --git a/src/app/modules/data/data.provider.ts b/src/app/modules/data/data.provider.ts index 4c5b8c1d..e871d3f0 100644 --- a/src/app/modules/data/data.provider.ts +++ b/src/app/modules/data/data.provider.ts @@ -15,6 +15,7 @@ import {Injectable} from '@angular/core'; import {Client} from '@openstapps/api/lib/client'; import { + SCIndexableThings, SCMultiSearchRequest, SCMultiSearchResponse, SCSearchRequest, @@ -148,23 +149,18 @@ export class DataProvider { /** * Provides a savable thing from the local database using the provided UID */ - async get( - uid: string, - scope: DataScope.Local, - ): Promise>; + async get(uid: string, scope: DataScope.Local): Promise; /** * Provides a thing from the backend */ async get( uid: string, scope: DataScope.Remote, - ): Promise>; + ): Promise; /** * Provides a thing from both local database and backend */ - async get( - uid: string, - ): Promise>>; + async get(uid: string): Promise>; /** * Provides a thing from the local database only, backend only or both, depending on the scope @@ -176,19 +172,15 @@ export class DataProvider { uid: string, scope?: DataScope, ): Promise< - | SCThings - | SCSaveableThing - | Map> + SCThings | SCSaveableThing | Map > { if (scope === DataScope.Local) { - return this.storageProvider.get>( - this.getDataKey(uid), - ); + return this.storageProvider.get(this.getDataKey(uid)); } if (scope === DataScope.Remote) { return this.client.getThing(uid); } - const map: Map> = new Map(); + const map: Map = new Map(); map.set(DataScope.Local, await this.get(uid, DataScope.Local)); map.set(DataScope.Remote, await this.get(uid, DataScope.Remote)); @@ -198,10 +190,8 @@ export class DataProvider { /** * Provides all things saved in the local database */ - async getAll(): Promise>> { - return this.storageProvider.search>( - this.storagePrefix, - ); + async getAll(): Promise> { + return this.storageProvider.search(this.storagePrefix); } /** @@ -248,10 +238,10 @@ export class DataProvider { * @param [type] Savable type (e.g. 'favorite'); if nothing is provided then type of the thing is used */ async put( - item: SCThings, + item: SCIndexableThings, type?: SCThingType, - ): Promise> { - const savableItem: SCSaveableThing = { + ): Promise { + const savableItem: SCSaveableThing = { data: item, name: item.name, origin: { @@ -263,7 +253,7 @@ export class DataProvider { }; // @TODO: Implementation for saving item into the backend (user's account) - return this.storageProvider.put>( + return this.storageProvider.put( this.getDataKey(item.uid), savableItem, ); diff --git a/src/app/modules/data/detail/data-detail.component.ts b/src/app/modules/data/detail/data-detail.component.ts index bd527f6b..f5a87e5d 100644 --- a/src/app/modules/data/detail/data-detail.component.ts +++ b/src/app/modules/data/detail/data-detail.component.ts @@ -50,9 +50,9 @@ export class DataDetailComponent implements OnInit { * Type guard for SCSavableThing */ static isSCSavableThing( - thing: SCThings | SCSaveableThing, - ): thing is SCSaveableThing { - return typeof (thing as SCSaveableThing).data !== 'undefined'; + thing: SCThings | SCSaveableThing, + ): thing is SCSaveableThing { + return typeof (thing as SCSaveableThing).data !== 'undefined'; } /** diff --git a/src/app/modules/data/types/date-series/date-series-list-item.html b/src/app/modules/data/types/date-series/date-series-list-item.html index c0417ec6..7360d13f 100644 --- a/src/app/modules/data/types/date-series/date-series-list-item.html +++ b/src/app/modules/data/types/date-series/date-series-list-item.html @@ -6,7 +6,8 @@

- {{ item.frequency }}, {{ item.dates[0] | amDateFormat: 'dddd' }} + {{ item.repeatFrequency | amDuration }}, + {{ item.dates[0] | amDateFormat: 'dddd' }} ({{ item.dates[0] | amDateFormat: 'll' }} - {{ diff --git a/src/app/modules/news/item/news-item.html b/src/app/modules/news/item/news-item.html index dcb2de4d..6ae5544f 100644 --- a/src/app/modules/news/item/news-item.html +++ b/src/app/modules/news/item/news-item.html @@ -1,6 +1,6 @@ - - + + - {{ item.name }}. + --> + - - {{ scheduleEvent.dateSeries.frequency }} - until + + {{ 'schedule.card.forEach' | translate }} + {{ scheduleEvent.dateSeries.repeatFrequency | amDuration }} + {{ 'schedule.card.until' | translate }} {{ scheduleEvent.dateSeries.dates | last | amDateFormat: 'DD. MMM YYYY' }} diff --git a/src/app/modules/schedule/page/schedule-single-events.component.ts b/src/app/modules/schedule/page/schedule-single-events.component.ts index 4406ad9a..1cab65e8 100644 --- a/src/app/modules/schedule/page/schedule-single-events.component.ts +++ b/src/app/modules/schedule/page/schedule-single-events.component.ts @@ -14,7 +14,7 @@ */ import {Component, Input, OnDestroy, OnInit} from '@angular/core'; import {SCDateSeries, SCUuid} from '@openstapps/core'; -import {flatMap, groupBy, omit, sortBy} from 'lodash-es'; +import {flatMap, groupBy, isNil, omit, sortBy} from 'lodash-es'; import moment from 'moment'; import {Subscription} from 'rxjs'; import {materialFade} from '../../../animation/material-motion'; @@ -115,7 +115,7 @@ export class ScheduleSingleEventsComponent implements OnInit, OnDestroy { // TODO: replace with filter return ScheduleSingleEventsComponent.groupDateSeriesToDays( - dateSeries.filter(it => it.frequency === 'single'), + dateSeries.filter(it => isNil(it.repeatFrequency)), ); } diff --git a/src/app/modules/schedule/schedule.provider.ts b/src/app/modules/schedule/schedule.provider.ts index a0666399..b917c93a 100644 --- a/src/app/modules/schedule/schedule.provider.ts +++ b/src/app/modules/schedule/schedule.provider.ts @@ -1,6 +1,5 @@ -/* eslint-disable unicorn/no-null */ /* - * Copyright (C) 2018-2020 StApps + * Copyright (C) 2021 StApps * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the Free * Software Foundation, version 3. @@ -13,11 +12,14 @@ * You should have received a copy of the GNU General Public License along with * this program. If not, see . */ + +/* eslint-disable unicorn/no-null */ import {Injectable, OnDestroy} from '@angular/core'; import { Bounds, SCDateSeries, SCISO8601Date, + SCISO8601Duration, SCSearchFilter, SCThingType, SCUuid, @@ -102,7 +104,7 @@ export class ScheduleProvider implements OnDestroy { */ async getDateSeries( uuids: SCUuid[], - frequencies?: Array<'single' | 'weekly' | 'biweekly'>, + frequencies?: Array, from?: SCISO8601Date | 'now', to?: SCISO8601Date | 'now', ): Promise { @@ -138,7 +140,7 @@ export class ScheduleProvider implements OnDestroy { arguments: { filters: frequencies.map(frequency => ({ arguments: { - field: 'frequency', + field: 'repeatFrequency', value: frequency, }, type: 'value', diff --git a/src/assets/i18n/de.json b/src/assets/i18n/de.json index 546b0b9c..b2bcc5f5 100644 --- a/src/assets/i18n/de.json +++ b/src/assets/i18n/de.json @@ -38,7 +38,8 @@ "popover": { "ALL": "Alle Termine", "AT": "um", - "UNTIL": "bis" + "UNTIL": "bis", + "SINGLE": "Einzel" } } }, @@ -127,6 +128,10 @@ "addEventModal": { "close": "Schließen", "addEvent": "Events Hinzufügen" + }, + "card": { + "forEach": "Alle", + "until": "bis" } }, "chips": { diff --git a/src/assets/i18n/en.json b/src/assets/i18n/en.json index d01337f2..320c2a06 100644 --- a/src/assets/i18n/en.json +++ b/src/assets/i18n/en.json @@ -38,7 +38,8 @@ "popover": { "ALL": "All Events", "AT": "at", - "UNTIL": "until" + "UNTIL": "until", + "SINGLE": "single" } } }, @@ -127,6 +128,10 @@ "addEventModal": { "close": "close", "addEvent": "Add Events" + }, + "card": { + "forEach": "Every", + "until": "until" } }, "chips": {