diff --git a/package.json b/package.json index 8a469f3a6..710e67c32 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "coolify", "description": "An open-source, hassle-free, self-hostable Heroku & Netlify alternative.", - "version": "1.0.16", + "version": "1.0.17", "license": "AGPL-3.0", "scripts": { "dev:docker:start": "docker-compose -f docker-compose-dev.yml up -d", @@ -17,24 +17,24 @@ "@sveltejs/adapter-node": "^1.0.0-next.24", "@sveltejs/kit": "1.0.0-next.113", "@types/dockerode": "^3.2.3", - "@typescript-eslint/eslint-plugin": "^4.23.0", - "@typescript-eslint/parser": "^4.23.0", - "autoprefixer": "^10.2.5", - "cssnano": "^5.0.2", + "@typescript-eslint/eslint-plugin": "^4.26.1", + "@typescript-eslint/parser": "^4.26.1", + "autoprefixer": "^10.2.6", + "cssnano": "^5.0.5", "dotenv-extended": "^2.9.0", - "eslint": "^7.26.0", + "eslint": "^7.28.0", "eslint-config-prettier": "^8.3.0", "eslint-plugin-svelte3": "^3.2.0", - "postcss": "^8.2.15", + "postcss": "^8.3.0", "postcss-load-config": "^3.0.1", - "prettier": "~2.3.0", + "prettier": "~2.3.1", "prettier-plugin-svelte": "^2.3.0", "svelte": "^3.38.2", "svelte-preprocess": "^4.7.3", "tailwindcss": "2.2.0-canary.8", "tslib": "^2.2.0", - "typescript": "^4.2.4", - "vite": "^2.3.2" + "typescript": "^4.3.2", + "vite": "^2.3.6" }, "type": "module", "dependencies": { @@ -44,14 +44,14 @@ "compare-versions": "^3.6.0", "cookie": "^0.4.1", "cuid": "^2.1.8", - "dayjs": "^1.10.4", + "dayjs": "^1.10.5", "dockerode": "^3.3.0", "generate-password": "^1.6.0", "js-yaml": "^4.1.0", "jsonwebtoken": "^8.5.1", - "mongoose": "^5.12.9", + "mongoose": "^5.12.13", "shelljs": "^0.8.4", - "svelte-kit-cookie-session": "^0.4.3", + "svelte-kit-cookie-session": "^1.0.6", "svelte-select": "^3.17.0", "unique-names-generator": "^4.5.0" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 420a6fad3..cb5ab12ef 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5,39 +5,39 @@ specifiers: '@sveltejs/adapter-node': ^1.0.0-next.24 '@sveltejs/kit': 1.0.0-next.113 '@types/dockerode': ^3.2.3 - '@typescript-eslint/eslint-plugin': ^4.23.0 - '@typescript-eslint/parser': ^4.23.0 + '@typescript-eslint/eslint-plugin': ^4.26.1 + '@typescript-eslint/parser': ^4.26.1 '@zerodevx/svelte-toast': ^0.3.0 - autoprefixer: ^10.2.5 + autoprefixer: ^10.2.6 commander: ^7.2.0 compare-versions: ^3.6.0 cookie: ^0.4.1 - cssnano: ^5.0.2 + cssnano: ^5.0.5 cuid: ^2.1.8 - dayjs: ^1.10.4 + dayjs: ^1.10.5 dockerode: ^3.3.0 dotenv-extended: ^2.9.0 - eslint: ^7.26.0 + eslint: ^7.28.0 eslint-config-prettier: ^8.3.0 eslint-plugin-svelte3: ^3.2.0 generate-password: ^1.6.0 js-yaml: ^4.1.0 jsonwebtoken: ^8.5.1 - mongoose: ^5.12.9 - postcss: ^8.2.15 + mongoose: ^5.12.13 + postcss: ^8.3.0 postcss-load-config: ^3.0.1 - prettier: ~2.3.0 + prettier: ~2.3.1 prettier-plugin-svelte: ^2.3.0 shelljs: ^0.8.4 svelte: ^3.38.2 - svelte-kit-cookie-session: ^0.4.3 + svelte-kit-cookie-session: ^1.0.6 svelte-preprocess: ^4.7.3 svelte-select: ^3.17.0 tailwindcss: 2.2.0-canary.8 tslib: ^2.2.0 - typescript: ^4.2.4 + typescript: ^4.3.2 unique-names-generator: ^4.5.0 - vite: ^2.3.2 + vite: ^2.3.6 dependencies: '@iarna/toml': 2.2.5 @@ -46,14 +46,14 @@ dependencies: compare-versions: 3.6.0 cookie: 0.4.1 cuid: 2.1.8 - dayjs: 1.10.4 + dayjs: 1.10.5 dockerode: 3.3.0 generate-password: 1.6.0 js-yaml: 4.1.0 jsonwebtoken: 8.5.1 - mongoose: 5.12.9 + mongoose: 5.12.13 shelljs: 0.8.4 - svelte-kit-cookie-session: 0.4.3 + svelte-kit-cookie-session: 1.0.6 svelte-select: 3.17.0 unique-names-generator: 4.5.0 @@ -61,53 +61,64 @@ devDependencies: '@sveltejs/adapter-node': 1.0.0-next.24 '@sveltejs/kit': 1.0.0-next.113_svelte@3.38.2 '@types/dockerode': 3.2.3 - '@typescript-eslint/eslint-plugin': 4.23.0_7cfaee78cda985ff9bc3d8b5cb92a136 - '@typescript-eslint/parser': 4.23.0_eslint@7.26.0+typescript@4.2.4 - autoprefixer: 10.2.5_postcss@8.2.15 - cssnano: 5.0.2_postcss@8.2.15 + '@typescript-eslint/eslint-plugin': 4.26.1_c8cbd5e7f5f92609ec78d991aced454b + '@typescript-eslint/parser': 4.26.1_eslint@7.28.0+typescript@4.3.2 + autoprefixer: 10.2.6_postcss@8.3.0 + cssnano: 5.0.5_postcss@8.3.0 dotenv-extended: 2.9.0 - eslint: 7.26.0 - eslint-config-prettier: 8.3.0_eslint@7.26.0 - eslint-plugin-svelte3: 3.2.0_eslint@7.26.0+svelte@3.38.2 - postcss: 8.2.15 + eslint: 7.28.0 + eslint-config-prettier: 8.3.0_eslint@7.28.0 + eslint-plugin-svelte3: 3.2.0_eslint@7.28.0+svelte@3.38.2 + postcss: 8.3.0 postcss-load-config: 3.0.1 - prettier: 2.3.0 - prettier-plugin-svelte: 2.3.0_prettier@2.3.0+svelte@3.38.2 + prettier: 2.3.1 + prettier-plugin-svelte: 2.3.0_prettier@2.3.1+svelte@3.38.2 svelte: 3.38.2 - svelte-preprocess: 4.7.3_5944bffd99aeae72e0daf7602e6be64e - tailwindcss: 2.2.0-canary.8_797cfc3ceddb49f111b184f6879a433f + svelte-preprocess: 4.7.3_ddfd8490a44ef0de606159ff3aef985a + tailwindcss: 2.2.0-canary.8_6daa0ece57b4377652e73c9c66c3b94c tslib: 2.2.0 - typescript: 4.2.4 - vite: 2.3.2 + typescript: 4.3.2 + vite: 2.3.6 packages: - /@babel/code-frame/7.12.11: - resolution: {integrity: sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==} + resolution: + { + integrity: sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw== + } dependencies: '@babel/highlight': 7.14.0 dev: true /@babel/helper-validator-identifier/7.14.0: - resolution: {integrity: sha512-V3ts7zMSu5lfiwWDVWzRDGIN+lnCEUdaXgtVHJgLb1rGaA6jMrtB9EmE7L18foXJIE8Un/A/h6NJfGQp/e1J4A==} + resolution: + { + integrity: sha512-V3ts7zMSu5lfiwWDVWzRDGIN+lnCEUdaXgtVHJgLb1rGaA6jMrtB9EmE7L18foXJIE8Un/A/h6NJfGQp/e1J4A== + } dev: true /@babel/highlight/7.14.0: - resolution: {integrity: sha512-YSCOwxvTYEIMSGaBQb5kDDsCopDdiUGsqpatp3fOlI4+2HQSkTmEVWnVuySdAC5EWCqSWWTv0ib63RjR7dTBdg==} + resolution: + { + integrity: sha512-YSCOwxvTYEIMSGaBQb5kDDsCopDdiUGsqpatp3fOlI4+2HQSkTmEVWnVuySdAC5EWCqSWWTv0ib63RjR7dTBdg== + } dependencies: '@babel/helper-validator-identifier': 7.14.0 chalk: 2.4.2 js-tokens: 4.0.0 dev: true - /@eslint/eslintrc/0.4.1: - resolution: {integrity: sha512-5v7TDE9plVhvxQeWLXDTvFvJBdH6pEsdnl2g/dAptmuFEPedQ4Erq5rsDsX+mvAM610IhNaO2W5V1dOOnDKxkQ==} - engines: {node: ^10.12.0 || >=12.0.0} + /@eslint/eslintrc/0.4.2: + resolution: + { + integrity: sha512-8nmGq/4ycLpIwzvhI4tNDmQztZ8sp+hI7cyG8i1nQDhkAbRzHpXPidRAHlNvCZQpJTKw5ItIpMw9RSToGF00mg== + } + engines: { node: ^10.12.0 || >=12.0.0 } dependencies: ajv: 6.12.6 debug: 4.3.1 espree: 7.3.1 - globals: 12.4.0 + globals: 13.9.0 ignore: 4.0.6 import-fresh: 3.3.0 js-yaml: 3.14.1 @@ -118,39 +129,57 @@ packages: dev: true /@fullhuman/postcss-purgecss/3.1.3: - resolution: {integrity: sha512-kwOXw8fZ0Lt1QmeOOrd+o4Ibvp4UTEBFQbzvWldjlKv5n+G9sXfIPn1hh63IQIL8K8vbvv1oYMJiIUbuy9bGaA==} + resolution: + { + integrity: sha512-kwOXw8fZ0Lt1QmeOOrd+o4Ibvp4UTEBFQbzvWldjlKv5n+G9sXfIPn1hh63IQIL8K8vbvv1oYMJiIUbuy9bGaA== + } dependencies: purgecss: 3.1.3 dev: true /@iarna/toml/2.2.5: - resolution: {integrity: sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg==} + resolution: + { + integrity: sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg== + } dev: false /@nodelib/fs.scandir/2.1.4: - resolution: {integrity: sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA==} - engines: {node: '>= 8'} + resolution: + { + integrity: sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA== + } + engines: { node: '>= 8' } dependencies: '@nodelib/fs.stat': 2.0.4 run-parallel: 1.2.0 dev: true /@nodelib/fs.stat/2.0.4: - resolution: {integrity: sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==} - engines: {node: '>= 8'} + resolution: + { + integrity: sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q== + } + engines: { node: '>= 8' } dev: true /@nodelib/fs.walk/1.2.6: - resolution: {integrity: sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==} - engines: {node: '>= 8'} + resolution: + { + integrity: sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow== + } + engines: { node: '>= 8' } dependencies: '@nodelib/fs.scandir': 2.1.4 fastq: 1.11.0 dev: true /@rollup/pluginutils/4.1.0: - resolution: {integrity: sha512-TrBhfJkFxA+ER+ew2U2/fHbebhLT/l/2pRk0hfj9KusXUuRXd2v0R58AfaZK9VXDQ4TogOSEmICVrQAA3zFnHQ==} - engines: {node: '>= 8.0.0'} + resolution: + { + integrity: sha512-TrBhfJkFxA+ER+ew2U2/fHbebhLT/l/2pRk0hfj9KusXUuRXd2v0R58AfaZK9VXDQ4TogOSEmICVrQAA3zFnHQ== + } + engines: { node: '>= 8.0.0' } peerDependencies: rollup: ^1.20.0||^2.0.0 dependencies: @@ -159,12 +188,18 @@ packages: dev: true /@sveltejs/adapter-node/1.0.0-next.24: - resolution: {integrity: sha512-33IbIYsIOq3LapSlW519oWuFvEHh8EHqU4FsOg1UZaF2EE5CkOh23SXjv0H9RT0iLCxvhifqiFN+vb/vlDRSWw==} + resolution: + { + integrity: sha512-33IbIYsIOq3LapSlW519oWuFvEHh8EHqU4FsOg1UZaF2EE5CkOh23SXjv0H9RT0iLCxvhifqiFN+vb/vlDRSWw== + } dev: true /@sveltejs/kit/1.0.0-next.113_svelte@3.38.2: - resolution: {integrity: sha512-X7feyAD9ZWQ79W5MXgF0t3JBsA+pTqCrnl2l8y8PNCP7pEJwizPCfmFAjwx7luz3OZUA2FTFBB7bqG7K1IUaYg==} - engines: {node: ^12.20 || ^14.13.1 || >= 16} + resolution: + { + integrity: sha512-X7feyAD9ZWQ79W5MXgF0t3JBsA+pTqCrnl2l8y8PNCP7pEJwizPCfmFAjwx7luz3OZUA2FTFBB7bqG7K1IUaYg== + } + engines: { node: ^12.20 || ^14.13.1 || >= 16 } hasBin: true peerDependencies: svelte: ^3.38.2 @@ -180,8 +215,11 @@ packages: dev: true /@sveltejs/vite-plugin-svelte/1.0.0-next.10_svelte@3.38.2+vite@2.3.6: - resolution: {integrity: sha512-ImvxbhPePm2hWNTKBSA3LHAYGwiEjHjvvgfPLXm4R87sfZ+BMXql9jBmDpzUC/URBLT4BB3Jxos/i523qkJBHg==} - engines: {node: '>=12.0.0'} + resolution: + { + integrity: sha512-ImvxbhPePm2hWNTKBSA3LHAYGwiEjHjvvgfPLXm4R87sfZ+BMXql9jBmDpzUC/URBLT4BB3Jxos/i523qkJBHg== + } + engines: { node: '>=12.0.0' } peerDependencies: svelte: ^3.37.0 vite: ^2.2.3 @@ -202,53 +240,80 @@ packages: dev: true /@trysound/sax/0.1.1: - resolution: {integrity: sha512-Z6DoceYb/1xSg5+e+ZlPZ9v0N16ZvZ+wYMraFue4HYrE4ttONKtsvruIRf6t9TBR0YvSOfi1hUU0fJfBLCDYow==} - engines: {node: '>=10.13.0'} + resolution: + { + integrity: sha512-Z6DoceYb/1xSg5+e+ZlPZ9v0N16ZvZ+wYMraFue4HYrE4ttONKtsvruIRf6t9TBR0YvSOfi1hUU0fJfBLCDYow== + } + engines: { node: '>=10.13.0' } dev: true /@types/bson/4.0.3: - resolution: {integrity: sha512-mVRvYnTOZJz3ccpxhr3wgxVmSeiYinW+zlzQz3SXWaJmD1DuL05Jeq7nKw3SnbKmbleW5qrLG5vdyWe/A9sXhw==} + resolution: + { + integrity: sha512-mVRvYnTOZJz3ccpxhr3wgxVmSeiYinW+zlzQz3SXWaJmD1DuL05Jeq7nKw3SnbKmbleW5qrLG5vdyWe/A9sXhw== + } dependencies: '@types/node': 15.0.1 dev: false /@types/dockerode/3.2.3: - resolution: {integrity: sha512-nZRhpSxm3PYianRBcRExcHxDvEzYHUPfGCnRL5Fe4/fSEZbtxrRNJ7okzCans3lXxj2t298EynFHGTnTC2f1Iw==} + resolution: + { + integrity: sha512-nZRhpSxm3PYianRBcRExcHxDvEzYHUPfGCnRL5Fe4/fSEZbtxrRNJ7okzCans3lXxj2t298EynFHGTnTC2f1Iw== + } dependencies: '@types/node': 15.0.1 dev: true /@types/json-schema/7.0.7: - resolution: {integrity: sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==} + resolution: + { + integrity: sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA== + } dev: true /@types/mongodb/3.6.12: - resolution: {integrity: sha512-49aEzQD5VdHPxyd5dRyQdqEveAg9LanwrH8RQipnMuulwzKmODXIZRp0umtxi1eBUfEusRkoy8AVOMr+kVuFog==} + resolution: + { + integrity: sha512-49aEzQD5VdHPxyd5dRyQdqEveAg9LanwrH8RQipnMuulwzKmODXIZRp0umtxi1eBUfEusRkoy8AVOMr+kVuFog== + } dependencies: '@types/bson': 4.0.3 '@types/node': 15.0.1 dev: false /@types/node/15.0.1: - resolution: {integrity: sha512-TMkXt0Ck1y0KKsGr9gJtWGjttxlZnnvDtphxUOSd0bfaR6Q1jle+sPvrzNR1urqYTWMinoKvjKfXUGsumaO1PA==} + resolution: + { + integrity: sha512-TMkXt0Ck1y0KKsGr9gJtWGjttxlZnnvDtphxUOSd0bfaR6Q1jle+sPvrzNR1urqYTWMinoKvjKfXUGsumaO1PA== + } /@types/parse-json/4.0.0: - resolution: {integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==} + resolution: + { + integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== + } dev: true /@types/pug/2.0.4: - resolution: {integrity: sha1-h3L80EGOPNLMFxVV1zAHQVBR9LI=} + resolution: { integrity: sha1-h3L80EGOPNLMFxVV1zAHQVBR9LI= } dev: true /@types/sass/1.16.0: - resolution: {integrity: sha512-2XZovu4NwcqmtZtsBR5XYLw18T8cBCnU2USFHTnYLLHz9fkhnoEMoDsqShJIOFsFhn5aJHjweiUUdTrDGujegA==} + resolution: + { + integrity: sha512-2XZovu4NwcqmtZtsBR5XYLw18T8cBCnU2USFHTnYLLHz9fkhnoEMoDsqShJIOFsFhn5aJHjweiUUdTrDGujegA== + } dependencies: '@types/node': 15.0.1 dev: true - /@typescript-eslint/eslint-plugin/4.23.0_7cfaee78cda985ff9bc3d8b5cb92a136: - resolution: {integrity: sha512-tGK1y3KIvdsQEEgq6xNn1DjiFJtl+wn8JJQiETtCbdQxw1vzjXyAaIkEmO2l6Nq24iy3uZBMFQjZ6ECf1QdgGw==} - engines: {node: ^10.12.0 || >=12.0.0} + /@typescript-eslint/eslint-plugin/4.26.1_c8cbd5e7f5f92609ec78d991aced454b: + resolution: + { + integrity: sha512-aoIusj/8CR+xDWmZxARivZjbMBQTT9dImUtdZ8tVCVRXgBUuuZyM5Of5A9D9arQPxbi/0rlJLcuArclz/rCMJw== + } + engines: { node: ^10.12.0 || >=12.0.0 } peerDependencies: '@typescript-eslint/parser': ^4.0.0 eslint: ^5.0.0 || ^6.0.0 || ^7.0.0 @@ -257,42 +322,48 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/experimental-utils': 4.23.0_eslint@7.26.0+typescript@4.2.4 - '@typescript-eslint/parser': 4.23.0_eslint@7.26.0+typescript@4.2.4 - '@typescript-eslint/scope-manager': 4.23.0 + '@typescript-eslint/experimental-utils': 4.26.1_eslint@7.28.0+typescript@4.3.2 + '@typescript-eslint/parser': 4.26.1_eslint@7.28.0+typescript@4.3.2 + '@typescript-eslint/scope-manager': 4.26.1 debug: 4.3.1 - eslint: 7.26.0 + eslint: 7.28.0 functional-red-black-tree: 1.0.1 lodash: 4.17.21 regexpp: 3.1.0 semver: 7.3.5 - tsutils: 3.21.0_typescript@4.2.4 - typescript: 4.2.4 + tsutils: 3.21.0_typescript@4.3.2 + typescript: 4.3.2 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/experimental-utils/4.23.0_eslint@7.26.0+typescript@4.2.4: - resolution: {integrity: sha512-WAFNiTDnQfrF3Z2fQ05nmCgPsO5o790vOhmWKXbbYQTO9erE1/YsFot5/LnOUizLzU2eeuz6+U/81KV5/hFTGA==} - engines: {node: ^10.12.0 || >=12.0.0} + /@typescript-eslint/experimental-utils/4.26.1_eslint@7.28.0+typescript@4.3.2: + resolution: + { + integrity: sha512-sQHBugRhrXzRCs9PaGg6rowie4i8s/iD/DpTB+EXte8OMDfdCG5TvO73XlO9Wc/zi0uyN4qOmX9hIjQEyhnbmQ== + } + engines: { node: ^10.12.0 || >=12.0.0 } peerDependencies: eslint: '*' dependencies: '@types/json-schema': 7.0.7 - '@typescript-eslint/scope-manager': 4.23.0 - '@typescript-eslint/types': 4.23.0 - '@typescript-eslint/typescript-estree': 4.23.0_typescript@4.2.4 - eslint: 7.26.0 + '@typescript-eslint/scope-manager': 4.26.1 + '@typescript-eslint/types': 4.26.1 + '@typescript-eslint/typescript-estree': 4.26.1_typescript@4.3.2 + eslint: 7.28.0 eslint-scope: 5.1.1 - eslint-utils: 2.1.0 + eslint-utils: 3.0.0_eslint@7.28.0 transitivePeerDependencies: - supports-color - typescript dev: true - /@typescript-eslint/parser/4.23.0_eslint@7.26.0+typescript@4.2.4: - resolution: {integrity: sha512-wsvjksHBMOqySy/Pi2Q6UuIuHYbgAMwLczRl4YanEPKW5KVxI9ZzDYh3B5DtcZPQTGRWFJrfcbJ6L01Leybwug==} - engines: {node: ^10.12.0 || >=12.0.0} + /@typescript-eslint/parser/4.26.1_eslint@7.28.0+typescript@4.3.2: + resolution: + { + integrity: sha512-q7F3zSo/nU6YJpPJvQveVlIIzx9/wu75lr6oDbDzoeIRWxpoc/HQ43G4rmMoCc5my/3uSj2VEpg/D83LYZF5HQ== + } + engines: { node: ^10.12.0 || >=12.0.0 } peerDependencies: eslint: ^5.0.0 || ^6.0.0 || ^7.0.0 typescript: '*' @@ -300,64 +371,82 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 4.23.0 - '@typescript-eslint/types': 4.23.0 - '@typescript-eslint/typescript-estree': 4.23.0_typescript@4.2.4 + '@typescript-eslint/scope-manager': 4.26.1 + '@typescript-eslint/types': 4.26.1 + '@typescript-eslint/typescript-estree': 4.26.1_typescript@4.3.2 debug: 4.3.1 - eslint: 7.26.0 - typescript: 4.2.4 + eslint: 7.28.0 + typescript: 4.3.2 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/scope-manager/4.23.0: - resolution: {integrity: sha512-ZZ21PCFxPhI3n0wuqEJK9omkw51wi2bmeKJvlRZPH5YFkcawKOuRMQMnI8mH6Vo0/DoHSeZJnHiIx84LmVQY+w==} - engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1} + /@typescript-eslint/scope-manager/4.26.1: + resolution: + { + integrity: sha512-TW1X2p62FQ8Rlne+WEShyd7ac2LA6o27S9i131W4NwDSfyeVlQWhw8ylldNNS8JG6oJB9Ha9Xyc+IUcqipvheQ== + } + engines: { node: ^8.10.0 || ^10.13.0 || >=11.10.1 } dependencies: - '@typescript-eslint/types': 4.23.0 - '@typescript-eslint/visitor-keys': 4.23.0 + '@typescript-eslint/types': 4.26.1 + '@typescript-eslint/visitor-keys': 4.26.1 dev: true - /@typescript-eslint/types/4.23.0: - resolution: {integrity: sha512-oqkNWyG2SLS7uTWLZf6Sr7Dm02gA5yxiz1RP87tvsmDsguVATdpVguHr4HoGOcFOpCvx9vtCSCyQUGfzq28YCw==} - engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1} + /@typescript-eslint/types/4.26.1: + resolution: + { + integrity: sha512-STyMPxR3cS+LaNvS8yK15rb8Y0iL0tFXq0uyl6gY45glyI7w0CsyqyEXl/Fa0JlQy+pVANeK3sbwPneCbWE7yg== + } + engines: { node: ^8.10.0 || ^10.13.0 || >=11.10.1 } dev: true - /@typescript-eslint/typescript-estree/4.23.0_typescript@4.2.4: - resolution: {integrity: sha512-5Sty6zPEVZF5fbvrZczfmLCOcby3sfrSPu30qKoY1U3mca5/jvU5cwsPb/CO6Q3ByRjixTMIVsDkqwIxCf/dMw==} - engines: {node: ^10.12.0 || >=12.0.0} + /@typescript-eslint/typescript-estree/4.26.1_typescript@4.3.2: + resolution: + { + integrity: sha512-l3ZXob+h0NQzz80lBGaykdScYaiEbFqznEs99uwzm8fPHhDjwaBFfQkjUC/slw6Sm7npFL8qrGEAMxcfBsBJUg== + } + engines: { node: ^10.12.0 || >=12.0.0 } peerDependencies: typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@typescript-eslint/types': 4.23.0 - '@typescript-eslint/visitor-keys': 4.23.0 + '@typescript-eslint/types': 4.26.1 + '@typescript-eslint/visitor-keys': 4.26.1 debug: 4.3.1 globby: 11.0.3 is-glob: 4.0.1 semver: 7.3.5 - tsutils: 3.21.0_typescript@4.2.4 - typescript: 4.2.4 + tsutils: 3.21.0_typescript@4.3.2 + typescript: 4.3.2 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/visitor-keys/4.23.0: - resolution: {integrity: sha512-5PNe5cmX9pSifit0H+nPoQBXdbNzi5tOEec+3riK+ku4e3er37pKxMKDH5Ct5Y4fhWxcD4spnlYjxi9vXbSpwg==} - engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1} + /@typescript-eslint/visitor-keys/4.26.1: + resolution: + { + integrity: sha512-IGouNSSd+6x/fHtYRyLOM6/C+QxMDzWlDtN41ea+flWuSF9g02iqcIlX8wM53JkfljoIjP0U+yp7SiTS1onEkw== + } + engines: { node: ^8.10.0 || ^10.13.0 || >=11.10.1 } dependencies: - '@typescript-eslint/types': 4.23.0 + '@typescript-eslint/types': 4.26.1 eslint-visitor-keys: 2.0.0 dev: true /@zerodevx/svelte-toast/0.3.0: - resolution: {integrity: sha512-TY5dLB5DEpxuHu60M6gum+fDxzIGXg35R8500orz58JTFs9LiHWoEfeJ4n9t7Afix3iMmYLl2thjhnCHCiQIhQ==} + resolution: + { + integrity: sha512-TY5dLB5DEpxuHu60M6gum+fDxzIGXg35R8500orz58JTFs9LiHWoEfeJ4n9t7Afix3iMmYLl2thjhnCHCiQIhQ== + } dev: false /acorn-jsx/5.3.1_acorn@7.4.1: - resolution: {integrity: sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==} + resolution: + { + integrity: sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng== + } peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: @@ -365,7 +454,10 @@ packages: dev: true /acorn-node/1.8.2: - resolution: {integrity: sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==} + resolution: + { + integrity: sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A== + } dependencies: acorn: 7.4.1 acorn-walk: 7.2.0 @@ -373,18 +465,27 @@ packages: dev: true /acorn-walk/7.2.0: - resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==} - engines: {node: '>=0.4.0'} + resolution: + { + integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== + } + engines: { node: '>=0.4.0' } dev: true /acorn/7.4.1: - resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==} - engines: {node: '>=0.4.0'} + resolution: + { + integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== + } + engines: { node: '>=0.4.0' } hasBin: true dev: true /ajv/6.12.6: - resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + resolution: + { + integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== + } dependencies: fast-deep-equal: 3.1.3 fast-json-stable-stringify: 2.1.0 @@ -393,7 +494,10 @@ packages: dev: true /ajv/8.2.0: - resolution: {integrity: sha512-WSNGFuyWd//XO8n/m/EaOlNLtO0yL8EXT/74LqT4khdhpZjP7lkj/kT5uwRmGitKEVp/Oj7ZUHeGfPtgHhQ5CA==} + resolution: + { + integrity: sha512-WSNGFuyWd//XO8n/m/EaOlNLtO0yL8EXT/74LqT4khdhpZjP7lkj/kT5uwRmGitKEVp/Oj7ZUHeGfPtgHhQ5CA== + } dependencies: fast-deep-equal: 3.1.3 json-schema-traverse: 1.0.0 @@ -402,116 +506,167 @@ packages: dev: true /alphanum-sort/1.0.2: - resolution: {integrity: sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=} + resolution: { integrity: sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM= } dev: true /ansi-colors/4.1.1: - resolution: {integrity: sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== + } + engines: { node: '>=6' } dev: true /ansi-regex/5.0.0: - resolution: {integrity: sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== + } + engines: { node: '>=8' } dev: true /ansi-styles/3.2.1: - resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + } + engines: { node: '>=4' } dependencies: color-convert: 1.9.3 dev: true /ansi-styles/4.3.0: - resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + } + engines: { node: '>=8' } dependencies: color-convert: 2.0.1 dev: true /anymatch/3.1.2: - resolution: {integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==} - engines: {node: '>= 8'} + resolution: + { + integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== + } + engines: { node: '>= 8' } dependencies: normalize-path: 3.0.0 picomatch: 2.2.3 dev: true /argparse/1.0.10: - resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + resolution: + { + integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== + } dependencies: sprintf-js: 1.0.3 dev: true /argparse/2.0.1: - resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + resolution: + { + integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + } dev: false /array-union/2.1.0: - resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== + } + engines: { node: '>=8' } dev: true /asn1/0.2.4: - resolution: {integrity: sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==} + resolution: + { + integrity: sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg== + } dependencies: safer-buffer: 2.1.2 dev: false /astral-regex/2.0.0: - resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== + } + engines: { node: '>=8' } dev: true /auto-parse/1.8.0: - resolution: {integrity: sha512-Uri4uC+K5cSi5hjM4snFrqPrjqUpwxeSW5EMTPvN7Ju3PlDzmXXDr5tjdzxPvvwgT3J7bmMDJ3Rm625nbrc72A==} + resolution: + { + integrity: sha512-Uri4uC+K5cSi5hjM4snFrqPrjqUpwxeSW5EMTPvN7Ju3PlDzmXXDr5tjdzxPvvwgT3J7bmMDJ3Rm625nbrc72A== + } dependencies: typpy: 2.3.11 dev: true - /autoprefixer/10.2.5_postcss@8.2.15: - resolution: {integrity: sha512-7H4AJZXvSsn62SqZyJCP+1AWwOuoYpUfK6ot9vm0e87XD6mT8lDywc9D9OTJPMULyGcvmIxzTAMeG2Cc+YX+fA==} - engines: {node: ^10 || ^12 || >=14} + /autoprefixer/10.2.6_postcss@8.3.0: + resolution: + { + integrity: sha512-8lChSmdU6dCNMCQopIf4Pe5kipkAGj/fvTMslCsih0uHpOrXOPUEVOmYMMqmw3cekQkSD7EhIeuYl5y0BLdKqg== + } + engines: { node: ^10 || ^12 || >=14 } hasBin: true peerDependencies: postcss: ^8.1.0 dependencies: browserslist: 4.16.6 - caniuse-lite: 1.0.30001220 + caniuse-lite: 1.0.30001235 colorette: 1.2.2 - fraction.js: 4.0.13 + fraction.js: 4.1.1 normalize-range: 0.1.2 - postcss: 8.2.15 + postcss: 8.3.0 postcss-value-parser: 4.1.0 dev: true /balanced-match/1.0.2: - resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + resolution: + { + integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + } /base64-js/1.5.1: - resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + resolution: + { + integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== + } dev: false /bcrypt-pbkdf/1.0.2: - resolution: {integrity: sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=} + resolution: { integrity: sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= } dependencies: tweetnacl: 0.14.5 dev: false /binary-extensions/2.2.0: - resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== + } + engines: { node: '>=8' } dev: true /bl/2.2.1: - resolution: {integrity: sha512-6Pesp1w0DEX1N550i/uGV/TqucVL4AM/pgThFSN/Qq9si1/DF9aIHs1BxD8V/QU0HoeHO6cQRTAuYnLPKq1e4g==} + resolution: + { + integrity: sha512-6Pesp1w0DEX1N550i/uGV/TqucVL4AM/pgThFSN/Qq9si1/DF9aIHs1BxD8V/QU0HoeHO6cQRTAuYnLPKq1e4g== + } dependencies: readable-stream: 2.3.7 safe-buffer: 5.2.1 dev: false /bl/4.1.0: - resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} + resolution: + { + integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== + } dependencies: buffer: 5.7.1 inherits: 2.0.4 @@ -519,32 +674,44 @@ packages: dev: false /bluebird/3.5.1: - resolution: {integrity: sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==} + resolution: + { + integrity: sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA== + } dev: false /boolbase/1.0.0: - resolution: {integrity: sha1-aN/1++YMUes3cl6p4+0xDcwed24=} + resolution: { integrity: sha1-aN/1++YMUes3cl6p4+0xDcwed24= } dev: true /brace-expansion/1.1.11: - resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + resolution: + { + integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + } dependencies: balanced-match: 1.0.2 concat-map: 0.0.1 /braces/3.0.2: - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + } + engines: { node: '>=8' } dependencies: fill-range: 7.0.1 dev: true /browserslist/4.16.6: - resolution: {integrity: sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + resolution: + { + integrity: sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ== + } + engines: { node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7 } hasBin: true dependencies: - caniuse-lite: 1.0.30001220 + caniuse-lite: 1.0.30001235 colorette: 1.2.2 electron-to-chromium: 1.3.725 escalade: 3.1.1 @@ -552,57 +719,84 @@ packages: dev: true /bson/1.1.6: - resolution: {integrity: sha512-EvVNVeGo4tHxwi8L6bPj3y3itEvStdwvvlojVxxbyYfoaxJ6keLgrTuKdyfEAszFK+H3olzBuafE0yoh0D1gdg==} - engines: {node: '>=0.6.19'} + resolution: + { + integrity: sha512-EvVNVeGo4tHxwi8L6bPj3y3itEvStdwvvlojVxxbyYfoaxJ6keLgrTuKdyfEAszFK+H3olzBuafE0yoh0D1gdg== + } + engines: { node: '>=0.6.19' } dev: false /buffer-equal-constant-time/1.0.1: - resolution: {integrity: sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=} + resolution: { integrity: sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk= } dev: false /buffer/5.7.1: - resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} + resolution: + { + integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== + } dependencies: base64-js: 1.5.1 ieee754: 1.2.1 dev: false /bytes/3.1.0: - resolution: {integrity: sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==} - engines: {node: '>= 0.8'} + resolution: + { + integrity: sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== + } + engines: { node: '>= 0.8' } dev: true /callsites/3.1.0: - resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + } + engines: { node: '>=6' } dev: true /camelcase-css/2.0.1: - resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} - engines: {node: '>= 6'} + resolution: + { + integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA== + } + engines: { node: '>= 6' } dev: true /camelcase/5.3.1: - resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== + } + engines: { node: '>=6' } dev: true /caniuse-api/3.0.0: - resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} + resolution: + { + integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw== + } dependencies: browserslist: 4.16.6 - caniuse-lite: 1.0.30001220 + caniuse-lite: 1.0.30001235 lodash.memoize: 4.1.2 lodash.uniq: 4.5.0 dev: true - /caniuse-lite/1.0.30001220: - resolution: {integrity: sha512-pjC2T4DIDyGAKTL4dMvGUQaMUHRmhvPpAgNNTa14jaBWHu+bLQgvpFqElxh9L4829Fdx0PlKiMp3wnYldRtECA==} + /caniuse-lite/1.0.30001235: + resolution: + { + integrity: sha512-zWEwIVqnzPkSAXOUlQnPW2oKoYb2aLQ4Q5ejdjBcnH63rfypaW34CxaeBn1VMya2XaEU3P/R2qHpWyj+l0BT1A== + } dev: true /chalk/2.4.2: - resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + } + engines: { node: '>=4' } dependencies: ansi-styles: 3.2.1 escape-string-regexp: 1.0.5 @@ -610,21 +804,30 @@ packages: dev: true /chalk/4.1.1: - resolution: {integrity: sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg== + } + engines: { node: '>=10' } dependencies: ansi-styles: 4.3.0 supports-color: 7.2.0 dev: true /cheap-watch/1.0.3: - resolution: {integrity: sha512-xC5CruMhLzjPwJ5ecUxGu1uGmwJQykUhqd2QrCrYbwvsFYdRyviu6jG9+pccwDXJR/OpmOTOJ9yLFunVgQu9wg==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-xC5CruMhLzjPwJ5ecUxGu1uGmwJQykUhqd2QrCrYbwvsFYdRyviu6jG9+pccwDXJR/OpmOTOJ9yLFunVgQu9wg== + } + engines: { node: '>=8' } dev: true /chokidar/3.5.1: - resolution: {integrity: sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==} - engines: {node: '>= 8.10.0'} + resolution: + { + integrity: sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw== + } + engines: { node: '>= 8.10.0' } dependencies: anymatch: 3.1.2 braces: 3.0.2 @@ -638,76 +841,119 @@ packages: dev: true /chownr/1.1.4: - resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} + resolution: + { + integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== + } dev: false /color-convert/1.9.3: - resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + resolution: + { + integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + } dependencies: color-name: 1.1.3 dev: true /color-convert/2.0.1: - resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} - engines: {node: '>=7.0.0'} + resolution: + { + integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + } + engines: { node: '>=7.0.0' } dependencies: color-name: 1.1.4 dev: true /color-name/1.1.3: - resolution: {integrity: sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=} + resolution: { integrity: sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= } dev: true /color-name/1.1.4: - resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + resolution: + { + integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + } dev: true /color-string/1.5.5: - resolution: {integrity: sha512-jgIoum0OfQfq9Whcfc2z/VhCNcmQjWbey6qBX0vqt7YICflUmBCh9E9CiQD5GSJ+Uehixm3NUwHVhqUAWRivZg==} + resolution: + { + integrity: sha512-jgIoum0OfQfq9Whcfc2z/VhCNcmQjWbey6qBX0vqt7YICflUmBCh9E9CiQD5GSJ+Uehixm3NUwHVhqUAWRivZg== + } dependencies: color-name: 1.1.4 simple-swizzle: 0.2.2 dev: true /color/3.1.3: - resolution: {integrity: sha512-xgXAcTHa2HeFCGLE9Xs/R82hujGtu9Jd9x4NW3T34+OMs7VoPsjwzRczKHvTAHeJwWFwX5j15+MgAppE8ztObQ==} + resolution: + { + integrity: sha512-xgXAcTHa2HeFCGLE9Xs/R82hujGtu9Jd9x4NW3T34+OMs7VoPsjwzRczKHvTAHeJwWFwX5j15+MgAppE8ztObQ== + } dependencies: color-convert: 1.9.3 color-string: 1.5.5 dev: true + /colord/2.0.1: + resolution: + { + integrity: sha512-vm5YpaWamD0Ov6TSG0GGmUIwstrWcfKQV/h2CmbR7PbNu41+qdB5PW9lpzhjedrpm08uuYvcXi0Oel1RLZIJuA== + } + dev: true + /colorette/1.2.2: - resolution: {integrity: sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==} + resolution: + { + integrity: sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w== + } dev: true /commander/6.2.1: - resolution: {integrity: sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==} - engines: {node: '>= 6'} + resolution: + { + integrity: sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA== + } + engines: { node: '>= 6' } dev: true /commander/7.2.0: - resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} - engines: {node: '>= 10'} + resolution: + { + integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== + } + engines: { node: '>= 10' } /compare-versions/3.6.0: - resolution: {integrity: sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==} + resolution: + { + integrity: sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA== + } dev: false /concat-map/0.0.1: - resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=} + resolution: { integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= } /cookie/0.4.1: - resolution: {integrity: sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==} - engines: {node: '>= 0.6'} + resolution: + { + integrity: sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA== + } + engines: { node: '>= 0.6' } dev: false /core-util-is/1.0.2: - resolution: {integrity: sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=} + resolution: { integrity: sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= } dev: false /cosmiconfig/7.0.0: - resolution: {integrity: sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA== + } + engines: { node: '>=10' } dependencies: '@types/parse-json': 4.0.0 import-fresh: 3.3.0 @@ -717,8 +963,11 @@ packages: dev: true /cross-spawn/7.0.3: - resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} - engines: {node: '>= 8'} + resolution: + { + integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + } + engines: { node: '>= 8' } dependencies: path-key: 3.1.1 shebang-command: 2.0.0 @@ -726,25 +975,34 @@ packages: dev: true /css-color-names/0.0.4: - resolution: {integrity: sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=} + resolution: { integrity: sha1-gIrcLnnPhHOAabZGyyDsJ762KeA= } dev: true /css-color-names/1.0.1: - resolution: {integrity: sha512-/loXYOch1qU1biStIFsHH8SxTmOseh1IJqFvy8IujXOm1h+QjUdDhkzOrR5HG8K8mlxREj0yfi8ewCHx0eMxzA==} + resolution: + { + integrity: sha512-/loXYOch1qU1biStIFsHH8SxTmOseh1IJqFvy8IujXOm1h+QjUdDhkzOrR5HG8K8mlxREj0yfi8ewCHx0eMxzA== + } dev: true - /css-declaration-sorter/6.0.0_postcss@8.2.15: - resolution: {integrity: sha512-S0TE4E0ha5+tBHdLWPc5n+S8E4dFBS5xScPvgHkLNZwWvX4ISoFGhGeerLC9uS1cKA/sC+K2wHq6qEbcagT/fg==} - engines: {node: '>= 10'} + /css-declaration-sorter/6.0.3_postcss@8.3.0: + resolution: + { + integrity: sha512-52P95mvW1SMzuRZegvpluT6yEv0FqQusydKQPZsNN5Q7hh8EwQvN8E2nwuJ16BBvNN6LcoIZXu/Bk58DAhrrxw== + } + engines: { node: '>= 10' } peerDependencies: postcss: ^8.0.9 dependencies: - postcss: 8.2.15 + postcss: 8.3.0 timsort: 0.3.0 dev: true /css-select/3.1.2: - resolution: {integrity: sha512-qmss1EihSuBNWNNhHjxzxSfJoFBM/lERB/Q4EnsJQQC62R2evJDW481091oAdOr9uh46/0n4nrg0It5cAnj1RA==} + resolution: + { + integrity: sha512-qmss1EihSuBNWNNhHjxzxSfJoFBM/lERB/Q4EnsJQQC62R2evJDW481091oAdOr9uh46/0n4nrg0It5cAnj1RA== + } dependencies: boolbase: 1.0.0 css-what: 4.0.0 @@ -754,111 +1012,147 @@ packages: dev: true /css-tree/1.1.3: - resolution: {integrity: sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==} - engines: {node: '>=8.0.0'} + resolution: + { + integrity: sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q== + } + engines: { node: '>=8.0.0' } dependencies: mdn-data: 2.0.14 source-map: 0.6.1 dev: true /css-unit-converter/1.1.2: - resolution: {integrity: sha512-IiJwMC8rdZE0+xiEZHeru6YoONC4rfPMqGm2W85jMIbkFvv5nFTwJVFHam2eFrN6txmoUYFAFXiv8ICVeTO0MA==} + resolution: + { + integrity: sha512-IiJwMC8rdZE0+xiEZHeru6YoONC4rfPMqGm2W85jMIbkFvv5nFTwJVFHam2eFrN6txmoUYFAFXiv8ICVeTO0MA== + } dev: true /css-what/4.0.0: - resolution: {integrity: sha512-teijzG7kwYfNVsUh2H/YN62xW3KK9YhXEgSlbxMlcyjPNvdKJqFx5lrwlJgoFP1ZHlB89iGDlo/JyshKeRhv5A==} - engines: {node: '>= 6'} + resolution: + { + integrity: sha512-teijzG7kwYfNVsUh2H/YN62xW3KK9YhXEgSlbxMlcyjPNvdKJqFx5lrwlJgoFP1ZHlB89iGDlo/JyshKeRhv5A== + } + engines: { node: '>= 6' } dev: true /cssesc/3.0.0: - resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== + } + engines: { node: '>=4' } hasBin: true dev: true - /cssnano-preset-default/5.0.1_postcss@8.2.15: - resolution: {integrity: sha512-cfmfThYODGqhpQKDq9H0MTAqkMvZ3dGbOUTBKw0xWZiIycMqHid22LsJXJl4r1qX4qzDeKxcSyQ/Xb5Mu3Z//Q==} - engines: {node: ^10 || ^12 || >=14.0} + /cssnano-preset-default/5.1.2_postcss@8.3.0: + resolution: + { + integrity: sha512-spilp8LRw0sacuxiN9A/dyyPr6G/WISKMBKcBD4NMoPV0ENx4DeuWvIIrSx9PII2nJIDCO3kywkqTPreECBVOg== + } + engines: { node: ^10 || ^12 || >=14.0 } peerDependencies: - postcss: ^8.2.1 + postcss: ^8.2.15 dependencies: - css-declaration-sorter: 6.0.0_postcss@8.2.15 - cssnano-utils: 2.0.0_postcss@8.2.15 - postcss: 8.2.15 - postcss-calc: 8.0.0_postcss@8.2.15 - postcss-colormin: 5.0.0_postcss@8.2.15 - postcss-convert-values: 5.0.0_postcss@8.2.15 - postcss-discard-comments: 5.0.0_postcss@8.2.15 - postcss-discard-duplicates: 5.0.0_postcss@8.2.15 - postcss-discard-empty: 5.0.0_postcss@8.2.15 - postcss-discard-overridden: 5.0.0_postcss@8.2.15 - postcss-merge-longhand: 5.0.1_postcss@8.2.15 - postcss-merge-rules: 5.0.0_postcss@8.2.15 - postcss-minify-font-values: 5.0.0_postcss@8.2.15 - postcss-minify-gradients: 5.0.0_postcss@8.2.15 - postcss-minify-params: 5.0.0_postcss@8.2.15 - postcss-minify-selectors: 5.0.0_postcss@8.2.15 - postcss-normalize-charset: 5.0.0_postcss@8.2.15 - postcss-normalize-display-values: 5.0.0_postcss@8.2.15 - postcss-normalize-positions: 5.0.0_postcss@8.2.15 - postcss-normalize-repeat-style: 5.0.0_postcss@8.2.15 - postcss-normalize-string: 5.0.0_postcss@8.2.15 - postcss-normalize-timing-functions: 5.0.0_postcss@8.2.15 - postcss-normalize-unicode: 5.0.0_postcss@8.2.15 - postcss-normalize-url: 5.0.0_postcss@8.2.15 - postcss-normalize-whitespace: 5.0.0_postcss@8.2.15 - postcss-ordered-values: 5.0.0_postcss@8.2.15 - postcss-reduce-initial: 5.0.0_postcss@8.2.15 - postcss-reduce-transforms: 5.0.0_postcss@8.2.15 - postcss-svgo: 5.0.0_postcss@8.2.15 - postcss-unique-selectors: 5.0.0_postcss@8.2.15 + css-declaration-sorter: 6.0.3_postcss@8.3.0 + cssnano-utils: 2.0.1_postcss@8.3.0 + postcss: 8.3.0 + postcss-calc: 8.0.0_postcss@8.3.0 + postcss-colormin: 5.2.0_postcss@8.3.0 + postcss-convert-values: 5.0.1_postcss@8.3.0 + postcss-discard-comments: 5.0.1_postcss@8.3.0 + postcss-discard-duplicates: 5.0.1_postcss@8.3.0 + postcss-discard-empty: 5.0.1_postcss@8.3.0 + postcss-discard-overridden: 5.0.1_postcss@8.3.0 + postcss-merge-longhand: 5.0.2_postcss@8.3.0 + postcss-merge-rules: 5.0.2_postcss@8.3.0 + postcss-minify-font-values: 5.0.1_postcss@8.3.0 + postcss-minify-gradients: 5.0.1_postcss@8.3.0 + postcss-minify-params: 5.0.1_postcss@8.3.0 + postcss-minify-selectors: 5.1.0_postcss@8.3.0 + postcss-normalize-charset: 5.0.1_postcss@8.3.0 + postcss-normalize-display-values: 5.0.1_postcss@8.3.0 + postcss-normalize-positions: 5.0.1_postcss@8.3.0 + postcss-normalize-repeat-style: 5.0.1_postcss@8.3.0 + postcss-normalize-string: 5.0.1_postcss@8.3.0 + postcss-normalize-timing-functions: 5.0.1_postcss@8.3.0 + postcss-normalize-unicode: 5.0.1_postcss@8.3.0 + postcss-normalize-url: 5.0.1_postcss@8.3.0 + postcss-normalize-whitespace: 5.0.1_postcss@8.3.0 + postcss-ordered-values: 5.0.1_postcss@8.3.0 + postcss-reduce-initial: 5.0.1_postcss@8.3.0 + postcss-reduce-transforms: 5.0.1_postcss@8.3.0 + postcss-svgo: 5.0.2_postcss@8.3.0 + postcss-unique-selectors: 5.0.1_postcss@8.3.0 dev: true - /cssnano-utils/2.0.0_postcss@8.2.15: - resolution: {integrity: sha512-xvxmTszdrvSyTACdPe8VU5J6p4sm3egpgw54dILvNqt5eBUv6TFjACLhSxtRuEsxYrgy8uDy269YjScO5aKbGA==} - engines: {node: ^10 || ^12 || >=14.0} + /cssnano-utils/2.0.1_postcss@8.3.0: + resolution: + { + integrity: sha512-i8vLRZTnEH9ubIyfdZCAdIdgnHAUeQeByEeQ2I7oTilvP9oHO6RScpeq3GsFUVqeB8uZgOQ9pw8utofNn32hhQ== + } + engines: { node: ^10 || ^12 || >=14.0 } peerDependencies: - postcss: ^8.2.1 + postcss: ^8.2.15 dependencies: - postcss: 8.2.15 + postcss: 8.3.0 dev: true - /cssnano/5.0.2_postcss@8.2.15: - resolution: {integrity: sha512-8JK3EnPsjQsULme9/e5M2hF564f/480hwsdcHvQ7ZtAIMfQ1O3SCfs+b8Mjf5KJxhYApyRshR2QSovEJi2K72Q==} - engines: {node: ^10 || ^12 || >=14.0} + /cssnano/5.0.5_postcss@8.3.0: + resolution: + { + integrity: sha512-L2VtPXnq6rmcMC9vkBOP131sZu3ccRQI27ejKZdmQiPDpUlFkUbpXHgKN+cibeO1U4PItxVZp1zTIn5dHsXoyg== + } + engines: { node: ^10 || ^12 || >=14.0 } peerDependencies: - postcss: ^8.2.1 + postcss: ^8.2.15 dependencies: cosmiconfig: 7.0.0 - cssnano-preset-default: 5.0.1_postcss@8.2.15 + cssnano-preset-default: 5.1.2_postcss@8.3.0 is-resolvable: 1.1.0 - postcss: 8.2.15 + postcss: 8.3.0 dev: true /csso/4.2.0: - resolution: {integrity: sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==} - engines: {node: '>=8.0.0'} + resolution: + { + integrity: sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA== + } + engines: { node: '>=8.0.0' } dependencies: css-tree: 1.1.3 dev: true /cuid/2.1.8: - resolution: {integrity: sha512-xiEMER6E7TlTPnDxrM4eRiC6TRgjNX9xzEZ5U/Se2YJKr7Mq4pJn/2XEHjl3STcSh96GmkHPcBXLES8M29wyyg==} + resolution: + { + integrity: sha512-xiEMER6E7TlTPnDxrM4eRiC6TRgjNX9xzEZ5U/Se2YJKr7Mq4pJn/2XEHjl3STcSh96GmkHPcBXLES8M29wyyg== + } dev: false - /dayjs/1.10.4: - resolution: {integrity: sha512-RI/Hh4kqRc1UKLOAf/T5zdMMX5DQIlDxwUe3wSyMMnEbGunnpENCdbUgM+dW7kXidZqCttBrmw7BhN4TMddkCw==} + /dayjs/1.10.5: + resolution: + { + integrity: sha512-BUFis41ikLz+65iH6LHQCDm4YPMj5r1YFLdupPIyM4SGcXMmtiLQ7U37i+hGS8urIuqe7I/ou3IS1jVc4nbN4g== + } dev: false /debug/3.1.0: - resolution: {integrity: sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==} + resolution: + { + integrity: sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g== + } dependencies: ms: 2.0.0 dev: false /debug/4.3.1: - resolution: {integrity: sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==} - engines: {node: '>=6.0'} + resolution: + { + integrity: sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== + } + engines: { node: '>=6.0' } peerDependencies: supports-color: '*' peerDependenciesMeta: @@ -868,8 +1162,11 @@ packages: ms: 2.1.2 /debug/4.3.2: - resolution: {integrity: sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==} - engines: {node: '>=6.0'} + resolution: + { + integrity: sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw== + } + engines: { node: '>=6.0' } peerDependencies: supports-color: '*' peerDependenciesMeta: @@ -880,26 +1177,35 @@ packages: dev: true /deep-is/0.1.3: - resolution: {integrity: sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=} + resolution: { integrity: sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= } dev: true /defined/1.0.0: - resolution: {integrity: sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=} + resolution: { integrity: sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM= } dev: true /denque/1.5.0: - resolution: {integrity: sha512-CYiCSgIF1p6EUByQPlGkKnP1M9g0ZV3qMIrqMqZqdwazygIA/YP2vrbcyl1h/WppKJTdl1F85cXIle+394iDAQ==} - engines: {node: '>=0.10'} + resolution: + { + integrity: sha512-CYiCSgIF1p6EUByQPlGkKnP1M9g0ZV3qMIrqMqZqdwazygIA/YP2vrbcyl1h/WppKJTdl1F85cXIle+394iDAQ== + } + engines: { node: '>=0.10' } dev: false /detect-indent/6.0.0: - resolution: {integrity: sha512-oSyFlqaTHCItVRGK5RmrmjB+CmaMOW7IaNA/kdxqhoa6d17j/5ce9O9eWXmV/KEdRwqpQA+Vqe8a8Bsybu4YnA==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-oSyFlqaTHCItVRGK5RmrmjB+CmaMOW7IaNA/kdxqhoa6d17j/5ce9O9eWXmV/KEdRwqpQA+Vqe8a8Bsybu4YnA== + } + engines: { node: '>=8' } dev: true /detective/5.2.0: - resolution: {integrity: sha512-6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg==} - engines: {node: '>=0.8.0'} + resolution: + { + integrity: sha512-6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg== + } + engines: { node: '>=0.8.0' } hasBin: true dependencies: acorn-node: 1.8.2 @@ -908,23 +1214,32 @@ packages: dev: true /didyoumean/1.2.1: - resolution: {integrity: sha1-6S7f2tplN9SE1zwBcv0eugxJdv8=} + resolution: { integrity: sha1-6S7f2tplN9SE1zwBcv0eugxJdv8= } dev: true /dir-glob/3.0.1: - resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== + } + engines: { node: '>=8' } dependencies: path-type: 4.0.0 dev: true /dlv/1.1.3: - resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} + resolution: + { + integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA== + } dev: true /docker-modem/3.0.0: - resolution: {integrity: sha512-WwFajJ8I5geZ/dDZ5FDMDA6TBkWa76xWwGIGw8uzUjNUGCN0to83wJ8Oi1AxrJTC0JBn+7fvIxUctnawtlwXeg==} - engines: {node: '>= 8.0'} + resolution: + { + integrity: sha512-WwFajJ8I5geZ/dDZ5FDMDA6TBkWa76xWwGIGw8uzUjNUGCN0to83wJ8Oi1AxrJTC0JBn+7fvIxUctnawtlwXeg== + } + engines: { node: '>= 8.0' } dependencies: debug: 4.3.1 readable-stream: 3.6.0 @@ -935,8 +1250,11 @@ packages: dev: false /dockerode/3.3.0: - resolution: {integrity: sha512-St08lfOjpYCOXEM8XA0VLu3B3hRjtddODphNW5GFoA0AS3JHgoPQKOz0Qmdzg3P+hUPxhb02g1o1Cu1G+U3lRg==} - engines: {node: '>= 8.0'} + resolution: + { + integrity: sha512-St08lfOjpYCOXEM8XA0VLu3B3hRjtddODphNW5GFoA0AS3JHgoPQKOz0Qmdzg3P+hUPxhb02g1o1Cu1G+U3lRg== + } + engines: { node: '>= 8.0' } dependencies: docker-modem: 3.0.0 tar-fs: 2.0.1 @@ -945,14 +1263,20 @@ packages: dev: false /doctrine/3.0.0: - resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} - engines: {node: '>=6.0.0'} + resolution: + { + integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== + } + engines: { node: '>=6.0.0' } dependencies: esutils: 2.0.3 dev: true /dom-serializer/1.3.1: - resolution: {integrity: sha512-Pv2ZluG5ife96udGgEDovOOOA5UELkltfJpnIExPrAk1LTvecolUGn6lIaoLh86d83GiB86CjzciMd9BuRB71Q==} + resolution: + { + integrity: sha512-Pv2ZluG5ife96udGgEDovOOOA5UELkltfJpnIExPrAk1LTvecolUGn6lIaoLh86d83GiB86CjzciMd9BuRB71Q== + } dependencies: domelementtype: 2.2.0 domhandler: 4.2.0 @@ -960,34 +1284,39 @@ packages: dev: true /domelementtype/2.2.0: - resolution: {integrity: sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==} + resolution: + { + integrity: sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A== + } dev: true /domhandler/4.2.0: - resolution: {integrity: sha512-zk7sgt970kzPks2Bf+dwT/PLzghLnsivb9CcxkvR8Mzr66Olr0Ofd8neSbglHJHaHa2MadfoSdNlKYAaafmWfA==} - engines: {node: '>= 4'} + resolution: + { + integrity: sha512-zk7sgt970kzPks2Bf+dwT/PLzghLnsivb9CcxkvR8Mzr66Olr0Ofd8neSbglHJHaHa2MadfoSdNlKYAaafmWfA== + } + engines: { node: '>= 4' } dependencies: domelementtype: 2.2.0 dev: true /domutils/2.6.0: - resolution: {integrity: sha512-y0BezHuy4MDYxh6OvolXYsH+1EMGmFbwv5FKW7ovwMG6zTPWqNPq3WF9ayZssFq+UlKdffGLbOEaghNdaOm1WA==} + resolution: + { + integrity: sha512-y0BezHuy4MDYxh6OvolXYsH+1EMGmFbwv5FKW7ovwMG6zTPWqNPq3WF9ayZssFq+UlKdffGLbOEaghNdaOm1WA== + } dependencies: dom-serializer: 1.3.1 domelementtype: 2.2.0 domhandler: 4.2.0 dev: true - /dot-prop/5.3.0: - resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==} - engines: {node: '>=8'} - dependencies: - is-obj: 2.0.0 - dev: true - /dotenv-extended/2.9.0: - resolution: {integrity: sha512-MKc4WCqZj6Abx4rpDbQ9LsuBJldRLxLgFkY5qE+4JM7hXVYT/v8zyWGgnBeDjSOGzEecWOFPlosNpxfB9YnsCw==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-MKc4WCqZj6Abx4rpDbQ9LsuBJldRLxLgFkY5qE+4JM7hXVYT/v8zyWGgnBeDjSOGzEecWOFPlosNpxfB9YnsCw== + } + engines: { node: '>=6' } hasBin: true dependencies: auto-parse: 1.8.0 @@ -997,133 +1326,201 @@ packages: dev: true /dotenv/8.2.0: - resolution: {integrity: sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw== + } + engines: { node: '>=8' } dev: true /ecdsa-sig-formatter/1.0.11: - resolution: {integrity: sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==} + resolution: + { + integrity: sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ== + } dependencies: safe-buffer: 5.2.1 dev: false /electron-to-chromium/1.3.725: - resolution: {integrity: sha512-2BbeAESz7kc6KBzs7WVrMc1BY5waUphk4D4DX5dSQXJhsc3tP5ZFaiyuL0AB7vUKzDYpIeYwTYlEfxyjsGUrhw==} + resolution: + { + integrity: sha512-2BbeAESz7kc6KBzs7WVrMc1BY5waUphk4D4DX5dSQXJhsc3tP5ZFaiyuL0AB7vUKzDYpIeYwTYlEfxyjsGUrhw== + } dev: true /emoji-regex/8.0.0: - resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + resolution: + { + integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + } dev: true /end-of-stream/1.4.4: - resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + resolution: + { + integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== + } dependencies: once: 1.4.0 dev: false /enquirer/2.3.6: - resolution: {integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==} - engines: {node: '>=8.6'} + resolution: + { + integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== + } + engines: { node: '>=8.6' } dependencies: ansi-colors: 4.1.1 dev: true /entities/2.2.0: - resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} + resolution: + { + integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== + } dev: true /error-ex/1.3.2: - resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + resolution: + { + integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== + } dependencies: is-arrayish: 0.2.1 dev: true - /esbuild/0.11.20: - resolution: {integrity: sha512-QOZrVpN/Yz74xfat0H6euSgn3RnwLevY1mJTEXneukz1ln9qB+ieaerRMzSeETpz/UJWsBMzRVR/andBht5WKw==} - hasBin: true - requiresBuild: true - dev: true - /esbuild/0.12.6: - resolution: {integrity: sha512-RDvVLvAjsq/kIZJoneMiUOH7EE7t2QaW7T3Q7EdQij14+bZbDq5sndb0tTanmHIFSqZVMBMMyqzVHkS3dJobeA==} + resolution: + { + integrity: sha512-RDvVLvAjsq/kIZJoneMiUOH7EE7t2QaW7T3Q7EdQij14+bZbDq5sndb0tTanmHIFSqZVMBMMyqzVHkS3dJobeA== + } hasBin: true requiresBuild: true dev: true /escalade/3.1.1: - resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== + } + engines: { node: '>=6' } dev: true /escape-string-regexp/1.0.5: - resolution: {integrity: sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=} - engines: {node: '>=0.8.0'} + resolution: { integrity: sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= } + engines: { node: '>=0.8.0' } dev: true - /eslint-config-prettier/8.3.0_eslint@7.26.0: - resolution: {integrity: sha512-BgZuLUSeKzvlL/VUjx/Yb787VQ26RU3gGjA3iiFvdsp/2bMfVIWUVP7tjxtjS0e+HP409cPlPvNkQloz8C91ew==} + /escape-string-regexp/4.0.0: + resolution: + { + integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + } + engines: { node: '>=10' } + dev: true + + /eslint-config-prettier/8.3.0_eslint@7.28.0: + resolution: + { + integrity: sha512-BgZuLUSeKzvlL/VUjx/Yb787VQ26RU3gGjA3iiFvdsp/2bMfVIWUVP7tjxtjS0e+HP409cPlPvNkQloz8C91ew== + } hasBin: true peerDependencies: eslint: '>=7.0.0' dependencies: - eslint: 7.26.0 + eslint: 7.28.0 dev: true - /eslint-plugin-svelte3/3.2.0_eslint@7.26.0+svelte@3.38.2: - resolution: {integrity: sha512-qdWB1QN21dEozsJFdR8XlEhMnsS6aKHjsXWuNmchYwxoet5I6QdCr1Xcq62++IzRBMCNCeH4waXqSOAdqrZzgA==} - engines: {node: '>=10'} + /eslint-plugin-svelte3/3.2.0_eslint@7.28.0+svelte@3.38.2: + resolution: + { + integrity: sha512-qdWB1QN21dEozsJFdR8XlEhMnsS6aKHjsXWuNmchYwxoet5I6QdCr1Xcq62++IzRBMCNCeH4waXqSOAdqrZzgA== + } + engines: { node: '>=10' } peerDependencies: eslint: '>=6.0.0' svelte: ^3.2.0 dependencies: - eslint: 7.26.0 + eslint: 7.28.0 svelte: 3.38.2 dev: true /eslint-scope/5.1.1: - resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} - engines: {node: '>=8.0.0'} + resolution: + { + integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== + } + engines: { node: '>=8.0.0' } dependencies: esrecurse: 4.3.0 estraverse: 4.3.0 dev: true /eslint-utils/2.1.0: - resolution: {integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== + } + engines: { node: '>=6' } dependencies: eslint-visitor-keys: 1.3.0 dev: true + /eslint-utils/3.0.0_eslint@7.28.0: + resolution: + { + integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== + } + engines: { node: ^10.0.0 || ^12.0.0 || >= 14.0.0 } + peerDependencies: + eslint: '>=5' + dependencies: + eslint: 7.28.0 + eslint-visitor-keys: 2.0.0 + dev: true + /eslint-visitor-keys/1.3.0: - resolution: {integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== + } + engines: { node: '>=4' } dev: true /eslint-visitor-keys/2.0.0: - resolution: {integrity: sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ== + } + engines: { node: '>=10' } dev: true - /eslint/7.26.0: - resolution: {integrity: sha512-4R1ieRf52/izcZE7AlLy56uIHHDLT74Yzz2Iv2l6kDaYvEu9x+wMB5dZArVL8SYGXSYV2YAg70FcW5Y5nGGNIg==} - engines: {node: ^10.12.0 || >=12.0.0} + /eslint/7.28.0: + resolution: + { + integrity: sha512-UMfH0VSjP0G4p3EWirscJEQ/cHqnT/iuH6oNZOB94nBjWbMnhGEPxsZm1eyIW0C/9jLI0Fow4W5DXLjEI7mn1g== + } + engines: { node: ^10.12.0 || >=12.0.0 } hasBin: true dependencies: '@babel/code-frame': 7.12.11 - '@eslint/eslintrc': 0.4.1 + '@eslint/eslintrc': 0.4.2 ajv: 6.12.6 chalk: 4.1.1 cross-spawn: 7.0.3 debug: 4.3.1 doctrine: 3.0.0 enquirer: 2.3.6 + escape-string-regexp: 4.0.0 eslint-scope: 5.1.1 eslint-utils: 2.1.0 eslint-visitor-keys: 2.0.0 espree: 7.3.1 esquery: 1.4.0 esutils: 2.0.3 + fast-deep-equal: 3.1.3 file-entry-cache: 6.0.1 functional-red-black-tree: 1.0.1 glob-parent: 5.1.2 @@ -1135,7 +1532,7 @@ packages: js-yaml: 3.14.1 json-stable-stringify-without-jsonify: 1.0.1 levn: 0.4.1 - lodash: 4.17.21 + lodash.merge: 4.6.2 minimatch: 3.0.4 natural-compare: 1.4.0 optionator: 0.9.1 @@ -1152,8 +1549,11 @@ packages: dev: true /espree/7.3.1: - resolution: {integrity: sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==} - engines: {node: ^10.12.0 || >=12.0.0} + resolution: + { + integrity: sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g== + } + engines: { node: ^10.12.0 || >=12.0.0 } dependencies: acorn: 7.4.1 acorn-jsx: 5.3.1_acorn@7.4.1 @@ -1161,51 +1561,78 @@ packages: dev: true /esprima/4.0.1: - resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + } + engines: { node: '>=4' } hasBin: true dev: true /esquery/1.4.0: - resolution: {integrity: sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==} - engines: {node: '>=0.10'} + resolution: + { + integrity: sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w== + } + engines: { node: '>=0.10' } dependencies: estraverse: 5.2.0 dev: true /esrecurse/4.3.0: - resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} - engines: {node: '>=4.0'} + resolution: + { + integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== + } + engines: { node: '>=4.0' } dependencies: estraverse: 5.2.0 dev: true /estraverse/4.3.0: - resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} - engines: {node: '>=4.0'} + resolution: + { + integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== + } + engines: { node: '>=4.0' } dev: true /estraverse/5.2.0: - resolution: {integrity: sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==} - engines: {node: '>=4.0'} + resolution: + { + integrity: sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== + } + engines: { node: '>=4.0' } dev: true /estree-walker/2.0.2: - resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} + resolution: + { + integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== + } dev: true /esutils/2.0.3: - resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + } + engines: { node: '>=0.10.0' } dev: true /fast-deep-equal/3.1.3: - resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + resolution: + { + integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== + } dev: true /fast-glob/3.2.5: - resolution: {integrity: sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg== + } + engines: { node: '>=8' } dependencies: '@nodelib/fs.stat': 2.0.4 '@nodelib/fs.walk': 1.2.6 @@ -1216,56 +1643,83 @@ packages: dev: true /fast-json-stable-stringify/2.1.0: - resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + resolution: + { + integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + } dev: true /fast-levenshtein/2.0.6: - resolution: {integrity: sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=} + resolution: { integrity: sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= } dev: true /fastq/1.11.0: - resolution: {integrity: sha512-7Eczs8gIPDrVzT+EksYBcupqMyxSHXXrHOLRRxU2/DicV8789MRBRR8+Hc2uWzUupOs4YS4JzBmBxjjCVBxD/g==} + resolution: + { + integrity: sha512-7Eczs8gIPDrVzT+EksYBcupqMyxSHXXrHOLRRxU2/DicV8789MRBRR8+Hc2uWzUupOs4YS4JzBmBxjjCVBxD/g== + } dependencies: reusify: 1.0.4 dev: true /file-entry-cache/6.0.1: - resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} - engines: {node: ^10.12.0 || >=12.0.0} + resolution: + { + integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== + } + engines: { node: ^10.12.0 || >=12.0.0 } dependencies: flat-cache: 3.0.4 dev: true /fill-range/7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + } + engines: { node: '>=8' } dependencies: to-regex-range: 5.0.1 dev: true /flat-cache/3.0.4: - resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} - engines: {node: ^10.12.0 || >=12.0.0} + resolution: + { + integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== + } + engines: { node: ^10.12.0 || >=12.0.0 } dependencies: flatted: 3.1.1 rimraf: 3.0.2 dev: true /flatted/3.1.1: - resolution: {integrity: sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==} + resolution: + { + integrity: sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA== + } dev: true - /fraction.js/4.0.13: - resolution: {integrity: sha512-E1fz2Xs9ltlUp+qbiyx9wmt2n9dRzPsS11Jtdb8D2o+cC7wr9xkkKsVKJuBX0ST+LVS+LhLO+SbLJNtfWcJvXA==} + /fraction.js/4.1.1: + resolution: + { + integrity: sha512-MHOhvvxHTfRFpF1geTK9czMIZ6xclsEor2wkIGYYq+PxcQqT7vStJqjhe6S1TenZrMZzo+wlqOufBDVepUEgPg== + } dev: true /fs-constants/1.0.0: - resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} + resolution: + { + integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== + } dev: false /fs-extra/10.0.0: - resolution: {integrity: sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ== + } + engines: { node: '>=12' } dependencies: graceful-fs: 4.2.6 jsonfile: 6.1.0 @@ -1273,55 +1727,73 @@ packages: dev: true /fs.realpath/1.0.0: - resolution: {integrity: sha1-FQStJSMVjKpA20onh8sBQRmU6k8=} + resolution: { integrity: sha1-FQStJSMVjKpA20onh8sBQRmU6k8= } /fsevents/2.3.2: - resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + resolution: + { + integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== + } + engines: { node: ^8.16.0 || ^10.6.0 || >=11.0.0 } os: [darwin] dev: true optional: true /function-bind/1.1.1: - resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} + resolution: + { + integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + } /function.name/1.0.13: - resolution: {integrity: sha512-mVrqdoy5npWZyoXl4DxCeuVF6delDcQjVS9aPdvLYlBxtMTZDR2B5GVEQEoM1jJyspCqg3C0v4ABkLE7tp9xFA==} + resolution: + { + integrity: sha512-mVrqdoy5npWZyoXl4DxCeuVF6delDcQjVS9aPdvLYlBxtMTZDR2B5GVEQEoM1jJyspCqg3C0v4ABkLE7tp9xFA== + } dependencies: noop6: 1.0.9 dev: true /functional-red-black-tree/1.0.1: - resolution: {integrity: sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=} + resolution: { integrity: sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= } dev: true /generate-password/1.6.0: - resolution: {integrity: sha512-YUJTQkApkLT/fru0QdYWP0lVZdPKhF5kXCP24sgI4gR/vFMJFopCj5t1+9FAKIYcML/nxzx2PMkA1ymO1FC+tQ==} + resolution: + { + integrity: sha512-YUJTQkApkLT/fru0QdYWP0lVZdPKhF5kXCP24sgI4gR/vFMJFopCj5t1+9FAKIYcML/nxzx2PMkA1ymO1FC+tQ== + } dev: false /glob-base/0.3.0: - resolution: {integrity: sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=} - engines: {node: '>=0.10.0'} + resolution: { integrity: sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q= } + engines: { node: '>=0.10.0' } dependencies: glob-parent: 2.0.0 is-glob: 2.0.1 dev: true /glob-parent/2.0.0: - resolution: {integrity: sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=} + resolution: { integrity: sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg= } dependencies: is-glob: 2.0.1 dev: true /glob-parent/5.1.2: - resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} - engines: {node: '>= 6'} + resolution: + { + integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + } + engines: { node: '>= 6' } dependencies: is-glob: 4.0.1 dev: true /glob/7.1.6: - resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==} + resolution: + { + integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== + } dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -1332,7 +1804,10 @@ packages: dev: false /glob/7.1.7: - resolution: {integrity: sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==} + resolution: + { + integrity: sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== + } dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -1342,23 +1817,32 @@ packages: path-is-absolute: 1.0.1 dev: true - /globals/12.4.0: - resolution: {integrity: sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==} - engines: {node: '>=8'} + /globals/13.8.0: + resolution: + { + integrity: sha512-rHtdA6+PDBIjeEvA91rpqzEvk/k3/i7EeNQiryiWuJH0Hw9cpyJMAt2jtbAwUaRdhD+573X4vWw6IcjKPasi9Q== + } + engines: { node: '>=8' } dependencies: - type-fest: 0.8.1 + type-fest: 0.20.2 dev: true - /globals/13.8.0: - resolution: {integrity: sha512-rHtdA6+PDBIjeEvA91rpqzEvk/k3/i7EeNQiryiWuJH0Hw9cpyJMAt2jtbAwUaRdhD+573X4vWw6IcjKPasi9Q==} - engines: {node: '>=8'} + /globals/13.9.0: + resolution: + { + integrity: sha512-74/FduwI/JaIrr1H8e71UbDE+5x7pIPs1C2rrwC52SszOo043CsWOZEMW7o2Y58xwm9b+0RBKDxY5n2sUpEFxA== + } + engines: { node: '>=8' } dependencies: type-fest: 0.20.2 dev: true /globby/11.0.3: - resolution: {integrity: sha512-ffdmosjA807y7+lA1NM0jELARVmYul/715xiILEjo3hBLPTcirgQNnXECn5g3mtR8TOLCVbkfua1Hpen25/Xcg==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-ffdmosjA807y7+lA1NM0jELARVmYul/715xiILEjo3hBLPTcirgQNnXECn5g3mtR8TOLCVbkfua1Hpen25/Xcg== + } + engines: { node: '>=10' } dependencies: array-union: 2.1.0 dir-glob: 3.0.1 @@ -1369,127 +1853,174 @@ packages: dev: true /graceful-fs/4.2.6: - resolution: {integrity: sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==} + resolution: + { + integrity: sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ== + } dev: true /has-flag/3.0.0: - resolution: {integrity: sha1-tdRU3CGZriJWmfNGfloH87lVuv0=} - engines: {node: '>=4'} + resolution: { integrity: sha1-tdRU3CGZriJWmfNGfloH87lVuv0= } + engines: { node: '>=4' } dev: true /has-flag/4.0.0: - resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + } + engines: { node: '>=8' } dev: true /has/1.0.3: - resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} - engines: {node: '>= 0.4.0'} + resolution: + { + integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + } + engines: { node: '>= 0.4.0' } dependencies: function-bind: 1.1.1 /hash-sum/2.0.0: - resolution: {integrity: sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==} + resolution: + { + integrity: sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg== + } dev: true /hex-color-regex/1.1.0: - resolution: {integrity: sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==} + resolution: + { + integrity: sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ== + } dev: true /hsl-regex/1.0.0: - resolution: {integrity: sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=} + resolution: { integrity: sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4= } dev: true /hsla-regex/1.0.0: - resolution: {integrity: sha1-wc56MWjIxmFAM6S194d/OyJfnDg=} + resolution: { integrity: sha1-wc56MWjIxmFAM6S194d/OyJfnDg= } dev: true /html-tags/3.1.0: - resolution: {integrity: sha512-1qYz89hW3lFDEazhjW0yVAV87lw8lVkrJocr72XmBkMKsoSVJCQx3W8BXsC7hO2qAt8BoVjYjtAcZ9perqGnNg==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-1qYz89hW3lFDEazhjW0yVAV87lw8lVkrJocr72XmBkMKsoSVJCQx3W8BXsC7hO2qAt8BoVjYjtAcZ9perqGnNg== + } + engines: { node: '>=8' } dev: true /ieee754/1.2.1: - resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + resolution: + { + integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + } dev: false /ignore/4.0.6: - resolution: {integrity: sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==} - engines: {node: '>= 4'} + resolution: + { + integrity: sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== + } + engines: { node: '>= 4' } dev: true /ignore/5.1.8: - resolution: {integrity: sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==} - engines: {node: '>= 4'} + resolution: + { + integrity: sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== + } + engines: { node: '>= 4' } dev: true /import-cwd/3.0.0: - resolution: {integrity: sha512-4pnzH16plW+hgvRECbDWpQl3cqtvSofHWh44met7ESfZ8UZOWWddm8hEyDTqREJ9RbYHY8gi8DqmaelApoOGMg==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-4pnzH16plW+hgvRECbDWpQl3cqtvSofHWh44met7ESfZ8UZOWWddm8hEyDTqREJ9RbYHY8gi8DqmaelApoOGMg== + } + engines: { node: '>=8' } dependencies: import-from: 3.0.0 dev: true /import-fresh/3.3.0: - resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== + } + engines: { node: '>=6' } dependencies: parent-module: 1.0.1 resolve-from: 4.0.0 dev: true /import-from/3.0.0: - resolution: {integrity: sha512-CiuXOFFSzkU5x/CR0+z7T91Iht4CXgfCxVOFRhh2Zyhg5wOpWvvDLQUsWl+gcN+QscYBjez8hDCt85O7RLDttQ==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-CiuXOFFSzkU5x/CR0+z7T91Iht4CXgfCxVOFRhh2Zyhg5wOpWvvDLQUsWl+gcN+QscYBjez8hDCt85O7RLDttQ== + } + engines: { node: '>=8' } dependencies: resolve-from: 5.0.0 dev: true /imurmurhash/0.1.4: - resolution: {integrity: sha1-khi5srkoojixPcT7a21XbyMUU+o=} - engines: {node: '>=0.8.19'} - dev: true - - /indexes-of/1.0.1: - resolution: {integrity: sha1-8w9xbI4r00bHtn0985FVZqfAVgc=} + resolution: { integrity: sha1-khi5srkoojixPcT7a21XbyMUU+o= } + engines: { node: '>=0.8.19' } dev: true /inflight/1.0.6: - resolution: {integrity: sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=} + resolution: { integrity: sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= } dependencies: once: 1.4.0 wrappy: 1.0.2 /inherits/2.0.4: - resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + resolution: + { + integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + } /interpret/1.4.0: - resolution: {integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==} - engines: {node: '>= 0.10'} + resolution: + { + integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== + } + engines: { node: '>= 0.10' } dev: false /is-absolute-url/3.0.3: - resolution: {integrity: sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q== + } + engines: { node: '>=8' } dev: true /is-arrayish/0.2.1: - resolution: {integrity: sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=} + resolution: { integrity: sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= } dev: true /is-arrayish/0.3.2: - resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} + resolution: + { + integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== + } dev: true /is-binary-path/2.1.0: - resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + } + engines: { node: '>=8' } dependencies: binary-extensions: 2.2.0 dev: true /is-color-stop/1.1.0: - resolution: {integrity: sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=} + resolution: { integrity: sha1-z/9HGu5N1cnhWFmPvhKWe1za00U= } dependencies: css-color-names: 0.0.4 hex-color-regex: 1.1.0 @@ -1500,72 +2031,88 @@ packages: dev: true /is-core-module/2.4.0: - resolution: {integrity: sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A==} + resolution: + { + integrity: sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A== + } dependencies: has: 1.0.3 /is-dotfile/1.0.3: - resolution: {integrity: sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=} - engines: {node: '>=0.10.0'} + resolution: { integrity: sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE= } + engines: { node: '>=0.10.0' } dev: true /is-extglob/1.0.0: - resolution: {integrity: sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=} - engines: {node: '>=0.10.0'} + resolution: { integrity: sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA= } + engines: { node: '>=0.10.0' } dev: true /is-extglob/2.1.1: - resolution: {integrity: sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=} - engines: {node: '>=0.10.0'} + resolution: { integrity: sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= } + engines: { node: '>=0.10.0' } dev: true /is-fullwidth-code-point/3.0.0: - resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + } + engines: { node: '>=8' } dev: true /is-glob/2.0.1: - resolution: {integrity: sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=} - engines: {node: '>=0.10.0'} + resolution: { integrity: sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM= } + engines: { node: '>=0.10.0' } dependencies: is-extglob: 1.0.0 dev: true /is-glob/4.0.1: - resolution: {integrity: sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== + } + engines: { node: '>=0.10.0' } dependencies: is-extglob: 2.1.1 dev: true /is-number/7.0.0: - resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} - engines: {node: '>=0.12.0'} - dev: true - - /is-obj/2.0.0: - resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + } + engines: { node: '>=0.12.0' } dev: true /is-resolvable/1.1.0: - resolution: {integrity: sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==} + resolution: + { + integrity: sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg== + } dev: true /isarray/1.0.0: - resolution: {integrity: sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=} + resolution: { integrity: sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= } dev: false /isexe/2.0.0: - resolution: {integrity: sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=} + resolution: { integrity: sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= } dev: true /js-tokens/4.0.0: - resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + resolution: + { + integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + } dev: true /js-yaml/3.14.1: - resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} + resolution: + { + integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== + } hasBin: true dependencies: argparse: 1.0.10 @@ -1573,30 +2120,45 @@ packages: dev: true /js-yaml/4.1.0: - resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + resolution: + { + integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + } hasBin: true dependencies: argparse: 2.0.1 dev: false /json-parse-even-better-errors/2.3.1: - resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + resolution: + { + integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + } dev: true /json-schema-traverse/0.4.1: - resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + resolution: + { + integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + } dev: true /json-schema-traverse/1.0.0: - resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} + resolution: + { + integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== + } dev: true /json-stable-stringify-without-jsonify/1.0.1: - resolution: {integrity: sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=} + resolution: { integrity: sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= } dev: true /jsonfile/6.1.0: - resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + resolution: + { + integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== + } dependencies: universalify: 2.0.0 optionalDependencies: @@ -1604,8 +2166,11 @@ packages: dev: true /jsonwebtoken/8.5.1: - resolution: {integrity: sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==} - engines: {node: '>=4', npm: '>=1.4.28'} + resolution: + { + integrity: sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w== + } + engines: { node: '>=4', npm: '>=1.4.28' } dependencies: jws: 3.2.2 lodash.includes: 4.3.0 @@ -1620,7 +2185,10 @@ packages: dev: false /jwa/1.4.1: - resolution: {integrity: sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==} + resolution: + { + integrity: sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA== + } dependencies: buffer-equal-constant-time: 1.0.1 ecdsa-sig-formatter: 1.0.11 @@ -1628,143 +2196,195 @@ packages: dev: false /jws/3.2.2: - resolution: {integrity: sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==} + resolution: + { + integrity: sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA== + } dependencies: jwa: 1.4.1 safe-buffer: 5.2.1 dev: false /kareem/2.3.2: - resolution: {integrity: sha512-STHz9P7X2L4Kwn72fA4rGyqyXdmrMSdxqHx9IXon/FXluXieaFA6KJ2upcHAHxQPQ0LeM/OjLrhFxifHewOALQ==} + resolution: + { + integrity: sha512-STHz9P7X2L4Kwn72fA4rGyqyXdmrMSdxqHx9IXon/FXluXieaFA6KJ2upcHAHxQPQ0LeM/OjLrhFxifHewOALQ== + } dev: false /levn/0.4.1: - resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} - engines: {node: '>= 0.8.0'} + resolution: + { + integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== + } + engines: { node: '>= 0.8.0' } dependencies: prelude-ls: 1.2.1 type-check: 0.4.0 dev: true /lines-and-columns/1.1.6: - resolution: {integrity: sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=} + resolution: { integrity: sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= } dev: true /lodash.clonedeep/4.5.0: - resolution: {integrity: sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=} + resolution: { integrity: sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8= } dev: true /lodash.flatten/4.4.0: - resolution: {integrity: sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=} + resolution: { integrity: sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8= } dev: true /lodash.includes/4.3.0: - resolution: {integrity: sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8=} + resolution: { integrity: sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8= } dev: false /lodash.isboolean/3.0.3: - resolution: {integrity: sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=} + resolution: { integrity: sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY= } dev: false /lodash.isinteger/4.0.4: - resolution: {integrity: sha1-YZwK89A/iwTDH1iChAt3sRzWg0M=} + resolution: { integrity: sha1-YZwK89A/iwTDH1iChAt3sRzWg0M= } dev: false /lodash.isnumber/3.0.3: - resolution: {integrity: sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w=} + resolution: { integrity: sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w= } dev: false /lodash.isplainobject/4.0.6: - resolution: {integrity: sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=} + resolution: { integrity: sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs= } dev: false /lodash.isstring/4.0.1: - resolution: {integrity: sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=} + resolution: { integrity: sha1-1SfftUVuynzJu5XV2ur4i6VKVFE= } dev: false /lodash.memoize/4.1.2: - resolution: {integrity: sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=} + resolution: { integrity: sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4= } + dev: true + + /lodash.merge/4.6.2: + resolution: + { + integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== + } dev: true /lodash.once/4.1.1: - resolution: {integrity: sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=} + resolution: { integrity: sha1-DdOXEhPHxW34gJd9UEyI+0cal6w= } dev: false /lodash.toarray/4.4.0: - resolution: {integrity: sha1-JMS/zWsvuji/0FlNsRedjptlZWE=} + resolution: { integrity: sha1-JMS/zWsvuji/0FlNsRedjptlZWE= } dev: true /lodash.topath/4.5.2: - resolution: {integrity: sha1-NhY1Hzu6YZlKCTGYlmC9AyVP0Ak=} + resolution: { integrity: sha1-NhY1Hzu6YZlKCTGYlmC9AyVP0Ak= } dev: true /lodash.truncate/4.4.2: - resolution: {integrity: sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=} + resolution: { integrity: sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM= } dev: true /lodash.uniq/4.5.0: - resolution: {integrity: sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=} + resolution: { integrity: sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= } dev: true /lodash/4.17.21: - resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + resolution: + { + integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + } dev: true /lru-cache/6.0.0: - resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + } + engines: { node: '>=10' } dependencies: yallist: 4.0.0 dev: true /mdn-data/2.0.14: - resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==} + resolution: + { + integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow== + } dev: true /memory-pager/1.5.0: - resolution: {integrity: sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==} + resolution: + { + integrity: sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg== + } dev: false optional: true /merge2/1.4.1: - resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} - engines: {node: '>= 8'} + resolution: + { + integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + } + engines: { node: '>= 8' } dev: true /micromatch/4.0.4: - resolution: {integrity: sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==} - engines: {node: '>=8.6'} + resolution: + { + integrity: sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== + } + engines: { node: '>=8.6' } dependencies: braces: 3.0.2 picomatch: 2.2.3 dev: true /min-indent/1.0.1: - resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== + } + engines: { node: '>=4' } dev: true /minimatch/3.0.4: - resolution: {integrity: sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==} + resolution: + { + integrity: sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== + } dependencies: brace-expansion: 1.1.11 /minimist/1.2.5: - resolution: {integrity: sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==} + resolution: + { + integrity: sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== + } dev: true /mkdirp-classic/0.5.3: - resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} + resolution: + { + integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A== + } dev: false /modern-normalize/1.1.0: - resolution: {integrity: sha512-2lMlY1Yc1+CUy0gw4H95uNN7vjbpoED7NNRSBHE25nWfLBdmMzFCsPshlzbxHz+gYMcBEUN8V4pU16prcdPSgA==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-2lMlY1Yc1+CUy0gw4H95uNN7vjbpoED7NNRSBHE25nWfLBdmMzFCsPshlzbxHz+gYMcBEUN8V4pU16prcdPSgA== + } + engines: { node: '>=6' } dev: true - /mongodb/3.6.6: - resolution: {integrity: sha512-WlirMiuV1UPbej5JeCMqE93JRfZ/ZzqE7nJTwP85XzjAF4rRSeq2bGCb1cjfoHLOF06+HxADaPGqT0g3SbVT1w==} - engines: {node: '>=4'} + /mongodb/3.6.8: + resolution: + { + integrity: sha512-sDjJvI73WjON1vapcbyBD3Ao9/VN3TKYY8/QX9EPbs22KaCSrQ5rXo5ZZd44tWJ3wl3FlnrFZ+KyUtNH6+1ZPQ== + } + engines: { node: '>=4' } peerDependencies: aws4: '*' bson-ext: '*' @@ -1795,23 +2415,29 @@ packages: saslprep: 1.0.3 dev: false - /mongoose-legacy-pluralize/1.0.2_mongoose@5.12.9: - resolution: {integrity: sha512-Yo/7qQU4/EyIS8YDFSeenIvXxZN+ld7YdV9LqFVQJzTLye8unujAWPZ4NWKfFA+RNjh+wvTWKY9Z3E5XM6ZZiQ==} + /mongoose-legacy-pluralize/1.0.2_mongoose@5.12.13: + resolution: + { + integrity: sha512-Yo/7qQU4/EyIS8YDFSeenIvXxZN+ld7YdV9LqFVQJzTLye8unujAWPZ4NWKfFA+RNjh+wvTWKY9Z3E5XM6ZZiQ== + } peerDependencies: mongoose: '*' dependencies: - mongoose: 5.12.9 + mongoose: 5.12.13 dev: false - /mongoose/5.12.9: - resolution: {integrity: sha512-ZSDjW15DmUbHQcZ2PqoXsJeYnpYipISi6QJH/XHR9dcSg3IRNCa86apcTptBux03/YBPiSZlKNYUNDx7iuMWoA==} - engines: {node: '>=4.0.0'} + /mongoose/5.12.13: + resolution: + { + integrity: sha512-QGn1FCzZ8Z+mMGVg8oR2kQw4NmhLloCHsw1NqKWg3Yr7WfPzkE4pe7s9P6o5pkYGsku17n9mqMHowne7EFK/zQ== + } + engines: { node: '>=4.0.0' } dependencies: '@types/mongodb': 3.6.12 bson: 1.1.6 kareem: 2.3.2 - mongodb: 3.6.6 - mongoose-legacy-pluralize: 1.0.2_mongoose@5.12.9 + mongodb: 3.6.8 + mongoose-legacy-pluralize: 1.0.2_mongoose@5.12.13 mpath: 0.8.3 mquery: 3.2.5 ms: 2.1.2 @@ -1829,13 +2455,19 @@ packages: dev: false /mpath/0.8.3: - resolution: {integrity: sha512-eb9rRvhDltXVNL6Fxd2zM9D4vKBxjVVQNLNijlj7uoXUy19zNDsIif5zR+pWmPCWNKwAtqyo4JveQm4nfD5+eA==} - engines: {node: '>=4.0.0'} + resolution: + { + integrity: sha512-eb9rRvhDltXVNL6Fxd2zM9D4vKBxjVVQNLNijlj7uoXUy19zNDsIif5zR+pWmPCWNKwAtqyo4JveQm4nfD5+eA== + } + engines: { node: '>=4.0.0' } dev: false /mquery/3.2.5: - resolution: {integrity: sha512-VjOKHHgU84wij7IUoZzFRU07IAxd5kWJaDmyUzQlbjHjyoeK5TNeeo8ZsFDtTYnSgpW6n/nMNIHvE3u8Lbrf4A==} - engines: {node: '>=4.0.0'} + resolution: + { + integrity: sha512-VjOKHHgU84wij7IUoZzFRU07IAxd5kWJaDmyUzQlbjHjyoeK5TNeeo8ZsFDtTYnSgpW6n/nMNIHvE3u8Lbrf4A== + } + engines: { node: '>=4.0.0' } dependencies: bluebird: 3.5.1 debug: 3.1.0 @@ -1845,84 +2477,123 @@ packages: dev: false /mri/1.1.6: - resolution: {integrity: sha512-oi1b3MfbyGa7FJMP9GmLTttni5JoICpYBRlq+x5V16fZbLsnL9N3wFqqIm/nIG43FjUFkFh9Epzp/kzUGUnJxQ==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-oi1b3MfbyGa7FJMP9GmLTttni5JoICpYBRlq+x5V16fZbLsnL9N3wFqqIm/nIG43FjUFkFh9Epzp/kzUGUnJxQ== + } + engines: { node: '>=4' } dev: true /ms/2.0.0: - resolution: {integrity: sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=} + resolution: { integrity: sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= } dev: false /ms/2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + resolution: + { + integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + } /ms/2.1.3: - resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + resolution: + { + integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + } dev: false /nanoid/3.1.23: - resolution: {integrity: sha512-FiB0kzdP0FFVGDKlRLEQ1BgDzU87dy5NnzjeW9YZNt+/c3+q82EQDUwniSAUxp/F0gFNI1ZhKU1FqYsMuqZVnw==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + resolution: + { + integrity: sha512-FiB0kzdP0FFVGDKlRLEQ1BgDzU87dy5NnzjeW9YZNt+/c3+q82EQDUwniSAUxp/F0gFNI1ZhKU1FqYsMuqZVnw== + } + engines: { node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1 } hasBin: true dev: true /natural-compare/1.4.0: - resolution: {integrity: sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=} + resolution: { integrity: sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= } dev: true /node-emoji/1.10.0: - resolution: {integrity: sha512-Yt3384If5H6BYGVHiHwTL+99OzJKHhgp82S8/dktEK73T26BazdgZ4JZh92xSVtGNJvz9UbXdNAc5hcrXV42vw==} + resolution: + { + integrity: sha512-Yt3384If5H6BYGVHiHwTL+99OzJKHhgp82S8/dktEK73T26BazdgZ4JZh92xSVtGNJvz9UbXdNAc5hcrXV42vw== + } dependencies: lodash.toarray: 4.4.0 dev: true /node-releases/1.1.71: - resolution: {integrity: sha512-zR6HoT6LrLCRBwukmrVbHv0EpEQjksO6GmFcZQQuCAy139BEsoVKPYnf3jongYW83fAa1torLGYwxxky/p28sg==} + resolution: + { + integrity: sha512-zR6HoT6LrLCRBwukmrVbHv0EpEQjksO6GmFcZQQuCAy139BEsoVKPYnf3jongYW83fAa1torLGYwxxky/p28sg== + } dev: true /noop6/1.0.9: - resolution: {integrity: sha512-DB3Hwyd89dPr5HqEPg3YHjzvwh/mCqizC1zZ8vyofqc+TQRyPDnT4wgXXbLGF4z9YAzwwTLi8pNLhGqcbSjgkA==} + resolution: + { + integrity: sha512-DB3Hwyd89dPr5HqEPg3YHjzvwh/mCqizC1zZ8vyofqc+TQRyPDnT4wgXXbLGF4z9YAzwwTLi8pNLhGqcbSjgkA== + } dev: true /normalize-path/3.0.0: - resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + } + engines: { node: '>=0.10.0' } dev: true /normalize-range/0.1.2: - resolution: {integrity: sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=} - engines: {node: '>=0.10.0'} + resolution: { integrity: sha1-LRDAa9/TEuqXd2laTShDlFa3WUI= } + engines: { node: '>=0.10.0' } dev: true /normalize-url/4.5.0: - resolution: {integrity: sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ== + } + engines: { node: '>=8' } dev: true /nth-check/2.0.0: - resolution: {integrity: sha512-i4sc/Kj8htBrAiH1viZ0TgU8Y5XqCaV/FziYK6TBczxmeKm3AEFWqqF3195yKudrarqy7Zu80Ra5dobFjn9X/Q==} + resolution: + { + integrity: sha512-i4sc/Kj8htBrAiH1viZ0TgU8Y5XqCaV/FziYK6TBczxmeKm3AEFWqqF3195yKudrarqy7Zu80Ra5dobFjn9X/Q== + } dependencies: boolbase: 1.0.0 dev: true - /object-hash/2.1.1: - resolution: {integrity: sha512-VOJmgmS+7wvXf8CjbQmimtCnEx3IAoLxI3fp2fbWehxrWBcAQFbk+vcwb6vzR0VZv/eNCJ/27j151ZTwqW/JeQ==} - engines: {node: '>= 6'} + /object-hash/2.2.0: + resolution: + { + integrity: sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw== + } + engines: { node: '>= 6' } dev: true /once/1.4.0: - resolution: {integrity: sha1-WDsap3WWHUsROsF9nFC6753Xa9E=} + resolution: { integrity: sha1-WDsap3WWHUsROsF9nFC6753Xa9E= } dependencies: wrappy: 1.0.2 /optional-require/1.0.3: - resolution: {integrity: sha512-RV2Zp2MY2aeYK5G+B/Sps8lW5NHAzE5QClbFP15j+PWmP+T9PxlJXBOOLoSAdgwFvS4t0aMR4vpedMkbHfh0nA==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-RV2Zp2MY2aeYK5G+B/Sps8lW5NHAzE5QClbFP15j+PWmP+T9PxlJXBOOLoSAdgwFvS4t0aMR4vpedMkbHfh0nA== + } + engines: { node: '>=4' } dev: false /optionator/0.9.1: - resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==} - engines: {node: '>= 0.8.0'} + resolution: + { + integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== + } + engines: { node: '>= 0.8.0' } dependencies: deep-is: 0.1.3 fast-levenshtein: 2.0.6 @@ -1933,15 +2604,18 @@ packages: dev: true /parent-module/1.0.1: - resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== + } + engines: { node: '>=6' } dependencies: callsites: 3.1.0 dev: true /parse-glob/3.0.4: - resolution: {integrity: sha1-ssN2z7EfNVE7rdFz7wu246OIORw=} - engines: {node: '>=0.10.0'} + resolution: { integrity: sha1-ssN2z7EfNVE7rdFz7wu246OIORw= } + engines: { node: '>=0.10.0' } dependencies: glob-base: 0.3.0 is-dotfile: 1.0.3 @@ -1950,8 +2624,11 @@ packages: dev: true /parse-json/5.2.0: - resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== + } + engines: { node: '>=8' } dependencies: '@babel/code-frame': 7.12.11 error-ex: 1.3.2 @@ -1960,455 +2637,586 @@ packages: dev: true /path-is-absolute/1.0.1: - resolution: {integrity: sha1-F0uSaHNVNP+8es5r9TpanhtcX18=} - engines: {node: '>=0.10.0'} + resolution: { integrity: sha1-F0uSaHNVNP+8es5r9TpanhtcX18= } + engines: { node: '>=0.10.0' } /path-key/3.1.1: - resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + } + engines: { node: '>=8' } dev: true /path-parse/1.0.6: - resolution: {integrity: sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==} + resolution: + { + integrity: sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== + } /path-type/4.0.0: - resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== + } + engines: { node: '>=8' } dev: true /picomatch/2.2.3: - resolution: {integrity: sha512-KpELjfwcCDUb9PeigTs2mBJzXUPzAuP2oPcA989He8Rte0+YUAjw1JVedDhuTKPkHjSYzMN3npC9luThGYEKdg==} - engines: {node: '>=8.6'} + resolution: + { + integrity: sha512-KpELjfwcCDUb9PeigTs2mBJzXUPzAuP2oPcA989He8Rte0+YUAjw1JVedDhuTKPkHjSYzMN3npC9luThGYEKdg== + } + engines: { node: '>=8.6' } dev: true - /postcss-calc/8.0.0_postcss@8.2.15: - resolution: {integrity: sha512-5NglwDrcbiy8XXfPM11F3HeC6hoT9W7GUH/Zi5U/p7u3Irv4rHhdDcIZwG0llHXV4ftsBjpfWMXAnXNl4lnt8g==} + /postcss-calc/8.0.0_postcss@8.3.0: + resolution: + { + integrity: sha512-5NglwDrcbiy8XXfPM11F3HeC6hoT9W7GUH/Zi5U/p7u3Irv4rHhdDcIZwG0llHXV4ftsBjpfWMXAnXNl4lnt8g== + } peerDependencies: postcss: ^8.2.2 dependencies: - postcss: 8.2.15 - postcss-selector-parser: 6.0.5 + postcss: 8.3.0 + postcss-selector-parser: 6.0.6 postcss-value-parser: 4.1.0 dev: true - /postcss-colormin/5.0.0_postcss@8.2.15: - resolution: {integrity: sha512-Yt84+5V6CgS/AhK7d7MA58vG8dSZ7+ytlRtWLaQhag3HXOncTfmYpuUOX4cDoXjvLfw1sHRCHMiBjYhc35CymQ==} - engines: {node: ^10 || ^12 || >=14.0} + /postcss-colormin/5.2.0_postcss@8.3.0: + resolution: + { + integrity: sha512-+HC6GfWU3upe5/mqmxuqYZ9B2Wl4lcoUUNkoaX59nEWV4EtADCMiBqui111Bu8R8IvaZTmqmxrqOAqjbHIwXPw== + } + engines: { node: ^10 || ^12 || >=14.0 } peerDependencies: - postcss: ^8.2.1 + postcss: ^8.2.15 dependencies: browserslist: 4.16.6 - color: 3.1.3 - postcss: 8.2.15 + caniuse-api: 3.0.0 + colord: 2.0.1 + postcss: 8.3.0 postcss-value-parser: 4.1.0 dev: true - /postcss-convert-values/5.0.0_postcss@8.2.15: - resolution: {integrity: sha512-V5kmYm4xoBAjNs+eHY/6XzXJkkGeg4kwNf2ocfqhLb1WBPEa4oaSmoi1fnVO7Dkblqvus9h+AenDvhCKUCK7uQ==} - engines: {node: ^10 || ^12 || >=14.0} + /postcss-convert-values/5.0.1_postcss@8.3.0: + resolution: + { + integrity: sha512-C3zR1Do2BkKkCgC0g3sF8TS0koF2G+mN8xxayZx3f10cIRmTaAnpgpRQZjNekTZxM2ciSPoh2IWJm0VZx8NoQg== + } + engines: { node: ^10 || ^12 || >=14.0 } peerDependencies: - postcss: ^8.2.1 + postcss: ^8.2.15 dependencies: - postcss: 8.2.15 + postcss: 8.3.0 postcss-value-parser: 4.1.0 dev: true - /postcss-discard-comments/5.0.0_postcss@8.2.15: - resolution: {integrity: sha512-Umig6Gxs8m20RihiXY6QkePd6mp4FxkA1Dg+f/Kd6uw0gEMfKRjDeQOyFkLibexbJJGHpE3lrN/Q0R9SMrUMbQ==} - engines: {node: ^10 || ^12 || >=14.0} + /postcss-discard-comments/5.0.1_postcss@8.3.0: + resolution: + { + integrity: sha512-lgZBPTDvWrbAYY1v5GYEv8fEO/WhKOu/hmZqmCYfrpD6eyDWWzAOsl2rF29lpvziKO02Gc5GJQtlpkTmakwOWg== + } + engines: { node: ^10 || ^12 || >=14.0 } peerDependencies: - postcss: ^8.2.1 + postcss: ^8.2.15 dependencies: - postcss: 8.2.15 + postcss: 8.3.0 dev: true - /postcss-discard-duplicates/5.0.0_postcss@8.2.15: - resolution: {integrity: sha512-vEJJ+Y3pFUnO1FyCBA6PSisGjHtnphL3V6GsNvkASq/VkP3OX5/No5RYXXLxHa2QegStNzg6HYrYdo71uR4caQ==} - engines: {node: ^10 || ^12 || >=14.0} + /postcss-discard-duplicates/5.0.1_postcss@8.3.0: + resolution: + { + integrity: sha512-svx747PWHKOGpAXXQkCc4k/DsWo+6bc5LsVrAsw+OU+Ibi7klFZCyX54gjYzX4TH+f2uzXjRviLARxkMurA2bA== + } + engines: { node: ^10 || ^12 || >=14.0 } peerDependencies: - postcss: ^8.2.1 + postcss: ^8.2.15 dependencies: - postcss: 8.2.15 + postcss: 8.3.0 dev: true - /postcss-discard-empty/5.0.0_postcss@8.2.15: - resolution: {integrity: sha512-+wigy099Y1xZxG36WG5L1f2zeH1oicntkJEW4TDIqKKDO2g9XVB3OhoiHTu08rDEjLnbcab4rw0BAccwi2VjiQ==} - engines: {node: ^10 || ^12 || >=14.0} + /postcss-discard-empty/5.0.1_postcss@8.3.0: + resolution: + { + integrity: sha512-vfU8CxAQ6YpMxV2SvMcMIyF2LX1ZzWpy0lqHDsOdaKKLQVQGVP1pzhrI9JlsO65s66uQTfkQBKBD/A5gp9STFw== + } + engines: { node: ^10 || ^12 || >=14.0 } peerDependencies: - postcss: ^8.2.1 + postcss: ^8.2.15 dependencies: - postcss: 8.2.15 + postcss: 8.3.0 dev: true - /postcss-discard-overridden/5.0.0_postcss@8.2.15: - resolution: {integrity: sha512-hybnScTaZM2iEA6kzVQ6Spozy7kVdLw+lGw8hftLlBEzt93uzXoltkYp9u0tI8xbfhxDLTOOzHsHQCkYdmzRUg==} - engines: {node: ^10 || ^12 || >=14.0} + /postcss-discard-overridden/5.0.1_postcss@8.3.0: + resolution: + { + integrity: sha512-Y28H7y93L2BpJhrdUR2SR2fnSsT+3TVx1NmVQLbcnZWwIUpJ7mfcTC6Za9M2PG6w8j7UQRfzxqn8jU2VwFxo3Q== + } + engines: { node: ^10 || ^12 || >=14.0 } peerDependencies: - postcss: ^8.2.1 + postcss: ^8.2.15 dependencies: - postcss: 8.2.15 + postcss: 8.3.0 dev: true /postcss-js/3.0.3: - resolution: {integrity: sha512-gWnoWQXKFw65Hk/mi2+WTQTHdPD5UJdDXZmX073EY/B3BWnYjO4F4t0VneTCnCGQ5E5GsCdMkzPaTXwl3r5dJw==} - engines: {node: '>=10.0'} + resolution: + { + integrity: sha512-gWnoWQXKFw65Hk/mi2+WTQTHdPD5UJdDXZmX073EY/B3BWnYjO4F4t0VneTCnCGQ5E5GsCdMkzPaTXwl3r5dJw== + } + engines: { node: '>=10.0' } dependencies: camelcase-css: 2.0.1 - postcss: 8.2.15 + postcss: 8.3.0 dev: true /postcss-load-config/3.0.1: - resolution: {integrity: sha512-/pDHe30UYZUD11IeG8GWx9lNtu1ToyTsZHnyy45B4Mrwr/Kb6NgYl7k753+05CJNKnjbwh4975amoPJ+TEjHNQ==} - engines: {node: '>= 10'} + resolution: + { + integrity: sha512-/pDHe30UYZUD11IeG8GWx9lNtu1ToyTsZHnyy45B4Mrwr/Kb6NgYl7k753+05CJNKnjbwh4975amoPJ+TEjHNQ== + } + engines: { node: '>= 10' } dependencies: cosmiconfig: 7.0.0 import-cwd: 3.0.0 dev: true - /postcss-merge-longhand/5.0.1_postcss@8.2.15: - resolution: {integrity: sha512-H1RO8le5deFGumQzuhJjuL0bIXPRysa+w7xtk5KrHe38oiaSS9ksPXDo24+IOS3SETPhip0J5+1uCOW+ALs3Yw==} - engines: {node: ^10 || ^12 || >=14.0} + /postcss-merge-longhand/5.0.2_postcss@8.3.0: + resolution: + { + integrity: sha512-BMlg9AXSI5G9TBT0Lo/H3PfUy63P84rVz3BjCFE9e9Y9RXQZD3+h3YO1kgTNsNJy7bBc1YQp8DmSnwLIW5VPcw== + } + engines: { node: ^10 || ^12 || >=14.0 } peerDependencies: - postcss: ^8.2.1 + postcss: ^8.2.15 dependencies: css-color-names: 1.0.1 - postcss: 8.2.15 + postcss: 8.3.0 postcss-value-parser: 4.1.0 - stylehacks: 5.0.0_postcss@8.2.15 + stylehacks: 5.0.1_postcss@8.3.0 dev: true - /postcss-merge-rules/5.0.0_postcss@8.2.15: - resolution: {integrity: sha512-TfsXbKjNYCGfUPEXGIGPySnMiJbdS+3gcVeV8gwmJP4RajyKZHW8E0FYDL1WmggTj3hi+m+WUCAvqRpX2ut4Kg==} - engines: {node: ^10 || ^12 || >=14.0} + /postcss-merge-rules/5.0.2_postcss@8.3.0: + resolution: + { + integrity: sha512-5K+Md7S3GwBewfB4rjDeol6V/RZ8S+v4B66Zk2gChRqLTCC8yjnHQ601omj9TKftS19OPGqZ/XzoqpzNQQLwbg== + } + engines: { node: ^10 || ^12 || >=14.0 } peerDependencies: - postcss: ^8.2.1 + postcss: ^8.2.15 dependencies: browserslist: 4.16.6 caniuse-api: 3.0.0 - cssnano-utils: 2.0.0_postcss@8.2.15 - postcss: 8.2.15 - postcss-selector-parser: 6.0.5 + cssnano-utils: 2.0.1_postcss@8.3.0 + postcss: 8.3.0 + postcss-selector-parser: 6.0.6 vendors: 1.0.4 dev: true - /postcss-minify-font-values/5.0.0_postcss@8.2.15: - resolution: {integrity: sha512-zi2JhFaMOcIaNxhndX5uhsqSY1rexKDp23wV8EOmC9XERqzLbHsoRye3aYF716Zm+hkcR4loqKDt8LZlmihwAg==} - engines: {node: ^10 || ^12 || >=14.0} + /postcss-minify-font-values/5.0.1_postcss@8.3.0: + resolution: + { + integrity: sha512-7JS4qIsnqaxk+FXY1E8dHBDmraYFWmuL6cgt0T1SWGRO5bzJf8sUoelwa4P88LEWJZweHevAiDKxHlofuvtIoA== + } + engines: { node: ^10 || ^12 || >=14.0 } peerDependencies: - postcss: ^8.2.1 + postcss: ^8.2.15 dependencies: - postcss: 8.2.15 + postcss: 8.3.0 postcss-value-parser: 4.1.0 dev: true - /postcss-minify-gradients/5.0.0_postcss@8.2.15: - resolution: {integrity: sha512-/jPtNgs6JySMwgsE5dPOq8a2xEopWTW3RyqoB9fLqxgR+mDUNLSi7joKd+N1z7FXWgVkc4l/dEBMXHgNAaUbvg==} - engines: {node: ^10 || ^12 || >=14.0} + /postcss-minify-gradients/5.0.1_postcss@8.3.0: + resolution: + { + integrity: sha512-odOwBFAIn2wIv+XYRpoN2hUV3pPQlgbJ10XeXPq8UY2N+9ZG42xu45lTn/g9zZ+d70NKSQD6EOi6UiCMu3FN7g== + } + engines: { node: ^10 || ^12 || >=14.0 } peerDependencies: - postcss: ^8.2.1 + postcss: ^8.2.15 dependencies: - cssnano-utils: 2.0.0_postcss@8.2.15 + cssnano-utils: 2.0.1_postcss@8.3.0 is-color-stop: 1.1.0 - postcss: 8.2.15 + postcss: 8.3.0 postcss-value-parser: 4.1.0 dev: true - /postcss-minify-params/5.0.0_postcss@8.2.15: - resolution: {integrity: sha512-KvZYIxTPBVKjdd+XgObq9A+Sfv8lMkXTpbZTsjhr42XbfWIeLaTItMlygsDWfjArEc3muUfDaUFgNSeDiJ5jug==} - engines: {node: ^10 || ^12 || >=14.0} + /postcss-minify-params/5.0.1_postcss@8.3.0: + resolution: + { + integrity: sha512-4RUC4k2A/Q9mGco1Z8ODc7h+A0z7L7X2ypO1B6V8057eVK6mZ6xwz6QN64nHuHLbqbclkX1wyzRnIrdZehTEHw== + } + engines: { node: ^10 || ^12 || >=14.0 } peerDependencies: - postcss: ^8.2.1 + postcss: ^8.2.15 dependencies: alphanum-sort: 1.0.2 browserslist: 4.16.6 - cssnano-utils: 2.0.0_postcss@8.2.15 - postcss: 8.2.15 + cssnano-utils: 2.0.1_postcss@8.3.0 + postcss: 8.3.0 postcss-value-parser: 4.1.0 uniqs: 2.0.0 dev: true - /postcss-minify-selectors/5.0.0_postcss@8.2.15: - resolution: {integrity: sha512-cEM0O0eWwFIvmo6nfB0lH0vO/XFwgqIvymODbfPXZ1gTA3i76FKnb7TGUrEpiTxaXH6tgYQ6DcTHwRiRS+YQLQ==} - engines: {node: ^10 || ^12 || >=14.0} + /postcss-minify-selectors/5.1.0_postcss@8.3.0: + resolution: + { + integrity: sha512-NzGBXDa7aPsAcijXZeagnJBKBPMYLaJJzB8CQh6ncvyl2sIndLVWfbcDi0SBjRWk5VqEjXvf8tYwzoKf4Z07og== + } + engines: { node: ^10 || ^12 || >=14.0 } peerDependencies: - postcss: ^8.2.1 + postcss: ^8.2.15 dependencies: alphanum-sort: 1.0.2 - postcss: 8.2.15 - postcss-selector-parser: 3.1.2 - dev: true - - /postcss-nested/5.0.5_postcss@8.2.15: - resolution: {integrity: sha512-GSRXYz5bccobpTzLQZXOnSOfKl6TwVr5CyAQJUPub4nuRJSOECK5AqurxVgmtxP48p0Kc/ndY/YyS1yqldX0Ew==} - engines: {node: '>=10.0'} - peerDependencies: - postcss: ^8.1.13 - dependencies: - postcss: 8.2.15 + postcss: 8.3.0 postcss-selector-parser: 6.0.6 dev: true - /postcss-normalize-charset/5.0.0_postcss@8.2.15: - resolution: {integrity: sha512-pqsCkgo9KmQP0ew6DqSA+uP9YN6EfsW20pQ3JU5JoQge09Z6Too4qU0TNDsTNWuEaP8SWsMp+19l15210MsDZQ==} - engines: {node: ^10 || ^12 || >=14.0} + /postcss-nested/5.0.5_postcss@8.3.0: + resolution: + { + integrity: sha512-GSRXYz5bccobpTzLQZXOnSOfKl6TwVr5CyAQJUPub4nuRJSOECK5AqurxVgmtxP48p0Kc/ndY/YyS1yqldX0Ew== + } + engines: { node: '>=10.0' } peerDependencies: - postcss: ^8.2.1 + postcss: ^8.1.13 dependencies: - postcss: 8.2.15 + postcss: 8.3.0 + postcss-selector-parser: 6.0.6 dev: true - /postcss-normalize-display-values/5.0.0_postcss@8.2.15: - resolution: {integrity: sha512-t4f2d//gH1f7Ns0Jq3eNdnWuPT7TeLuISZ6RQx4j8gpl5XrhkdshdNcOnlrEK48YU6Tcb6jqK7dorME3N4oOGA==} - engines: {node: ^10 || ^12 || >=14.0} + /postcss-normalize-charset/5.0.1_postcss@8.3.0: + resolution: + { + integrity: sha512-6J40l6LNYnBdPSk+BHZ8SF+HAkS4q2twe5jnocgd+xWpz/mx/5Sa32m3W1AA8uE8XaXN+eg8trIlfu8V9x61eg== + } + engines: { node: ^10 || ^12 || >=14.0 } peerDependencies: - postcss: ^8.2.1 + postcss: ^8.2.15 dependencies: - cssnano-utils: 2.0.0_postcss@8.2.15 - postcss: 8.2.15 + postcss: 8.3.0 + dev: true + + /postcss-normalize-display-values/5.0.1_postcss@8.3.0: + resolution: + { + integrity: sha512-uupdvWk88kLDXi5HEyI9IaAJTE3/Djbcrqq8YgjvAVuzgVuqIk3SuJWUisT2gaJbZm1H9g5k2w1xXilM3x8DjQ== + } + engines: { node: ^10 || ^12 || >=14.0 } + peerDependencies: + postcss: ^8.2.15 + dependencies: + cssnano-utils: 2.0.1_postcss@8.3.0 + postcss: 8.3.0 postcss-value-parser: 4.1.0 dev: true - /postcss-normalize-positions/5.0.0_postcss@8.2.15: - resolution: {integrity: sha512-0o6/qU5ky74X/eWYj/tv4iiKCm3YqJnrhmVADpIMNXxzFZywsSQxl8F7cKs8jQEtF3VrJBgcDHTexZy1zgDoYg==} - engines: {node: ^10 || ^12 || >=14.0} + /postcss-normalize-positions/5.0.1_postcss@8.3.0: + resolution: + { + integrity: sha512-rvzWAJai5xej9yWqlCb1OWLd9JjW2Ex2BCPzUJrbaXmtKtgfL8dBMOOMTX6TnvQMtjk3ei1Lswcs78qKO1Skrg== + } + engines: { node: ^10 || ^12 || >=14.0 } peerDependencies: - postcss: ^8.2.1 + postcss: ^8.2.15 dependencies: - postcss: 8.2.15 + postcss: 8.3.0 postcss-value-parser: 4.1.0 dev: true - /postcss-normalize-repeat-style/5.0.0_postcss@8.2.15: - resolution: {integrity: sha512-KRT14JbrXKcFMYuc4q7lh8lvv8u22wLyMrq+UpHKLtbx2H/LOjvWXYdoDxmNrrrJzomAWL+ViEXr48/IhSUJnQ==} - engines: {node: ^10 || ^12 || >=14.0} + /postcss-normalize-repeat-style/5.0.1_postcss@8.3.0: + resolution: + { + integrity: sha512-syZ2itq0HTQjj4QtXZOeefomckiV5TaUO6ReIEabCh3wgDs4Mr01pkif0MeVwKyU/LHEkPJnpwFKRxqWA/7O3w== + } + engines: { node: ^10 || ^12 || >=14.0 } peerDependencies: - postcss: ^8.2.1 + postcss: ^8.2.15 dependencies: - cssnano-utils: 2.0.0_postcss@8.2.15 - postcss: 8.2.15 + cssnano-utils: 2.0.1_postcss@8.3.0 + postcss: 8.3.0 postcss-value-parser: 4.1.0 dev: true - /postcss-normalize-string/5.0.0_postcss@8.2.15: - resolution: {integrity: sha512-wSO4pf7GNcDZpmelREWYADF1+XZWrAcbFLQCOqoE92ZwYgaP/RLumkUTaamEzdT2YKRZAH8eLLKGWotU/7FNPw==} - engines: {node: ^10 || ^12 || >=14.0} + /postcss-normalize-string/5.0.1_postcss@8.3.0: + resolution: + { + integrity: sha512-Ic8GaQ3jPMVl1OEn2U//2pm93AXUcF3wz+OriskdZ1AOuYV25OdgS7w9Xu2LO5cGyhHCgn8dMXh9bO7vi3i9pA== + } + engines: { node: ^10 || ^12 || >=14.0 } peerDependencies: - postcss: ^8.2.1 + postcss: ^8.2.15 dependencies: - postcss: 8.2.15 + postcss: 8.3.0 postcss-value-parser: 4.1.0 dev: true - /postcss-normalize-timing-functions/5.0.0_postcss@8.2.15: - resolution: {integrity: sha512-TwPaDX+wl9wO3MUm23lzGmOzGCGKnpk+rSDgzB2INpakD5dgWR3L6bJq1P1LQYzBAvz8fRIj2NWdnZdV4EV98Q==} - engines: {node: ^10 || ^12 || >=14.0} + /postcss-normalize-timing-functions/5.0.1_postcss@8.3.0: + resolution: + { + integrity: sha512-cPcBdVN5OsWCNEo5hiXfLUnXfTGtSFiBU9SK8k7ii8UD7OLuznzgNRYkLZow11BkQiiqMcgPyh4ZqXEEUrtQ1Q== + } + engines: { node: ^10 || ^12 || >=14.0 } peerDependencies: - postcss: ^8.2.1 + postcss: ^8.2.15 dependencies: - cssnano-utils: 2.0.0_postcss@8.2.15 - postcss: 8.2.15 + cssnano-utils: 2.0.1_postcss@8.3.0 + postcss: 8.3.0 postcss-value-parser: 4.1.0 dev: true - /postcss-normalize-unicode/5.0.0_postcss@8.2.15: - resolution: {integrity: sha512-2CpVoz/67rXU5s9tsPZDxG1YGS9OFHwoY9gsLAzrURrCxTAb0H7Vp87/62LvVPgRWTa5ZmvgmqTp2rL8tlm72A==} - engines: {node: ^10 || ^12 || >=14.0} + /postcss-normalize-unicode/5.0.1_postcss@8.3.0: + resolution: + { + integrity: sha512-kAtYD6V3pK0beqrU90gpCQB7g6AOfP/2KIPCVBKJM2EheVsBQmx/Iof+9zR9NFKLAx4Pr9mDhogB27pmn354nA== + } + engines: { node: ^10 || ^12 || >=14.0 } peerDependencies: - postcss: ^8.2.1 + postcss: ^8.2.15 dependencies: browserslist: 4.16.6 - postcss: 8.2.15 + postcss: 8.3.0 postcss-value-parser: 4.1.0 dev: true - /postcss-normalize-url/5.0.0_postcss@8.2.15: - resolution: {integrity: sha512-ICDaGFBqLgA3dlrCIRuhblLl80D13YtgEV9NJPTYJtgR72vu61KgxAHv+z/lKMs1EbwfSQa3ALjOFLSmXiE34A==} - engines: {node: ^10 || ^12 || >=14.0} + /postcss-normalize-url/5.0.1_postcss@8.3.0: + resolution: + { + integrity: sha512-hkbG0j58Z1M830/CJ73VsP7gvlG1yF+4y7Fd1w4tD2c7CaA2Psll+pQ6eQhth9y9EaqZSLzamff/D0MZBMbYSg== + } + engines: { node: ^10 || ^12 || >=14.0 } peerDependencies: - postcss: ^8.2.1 + postcss: ^8.2.15 dependencies: is-absolute-url: 3.0.3 normalize-url: 4.5.0 - postcss: 8.2.15 + postcss: 8.3.0 postcss-value-parser: 4.1.0 dev: true - /postcss-normalize-whitespace/5.0.0_postcss@8.2.15: - resolution: {integrity: sha512-KRnxQvQAVkJfaeXSz7JlnD9nBN9sFZF9lrk9452Q2uRoqrRSkinqifF8Iex7wZGei2DZVG/qpmDFDmRvbNAOGA==} - engines: {node: ^10 || ^12 || >=14.0} + /postcss-normalize-whitespace/5.0.1_postcss@8.3.0: + resolution: + { + integrity: sha512-iPklmI5SBnRvwceb/XH568yyzK0qRVuAG+a1HFUsFRf11lEJTiQQa03a4RSCQvLKdcpX7XsI1Gen9LuLoqwiqA== + } + engines: { node: ^10 || ^12 || >=14.0 } peerDependencies: - postcss: ^8.2.1 + postcss: ^8.2.15 dependencies: - postcss: 8.2.15 + postcss: 8.3.0 postcss-value-parser: 4.1.0 dev: true - /postcss-ordered-values/5.0.0_postcss@8.2.15: - resolution: {integrity: sha512-dPr+SRObiHueCIc4IUaG0aOGQmYkuNu50wQvdXTGKy+rzi2mjmPsbeDsheLk5WPb9Zyf2tp8E+I+h40cnivm6g==} - engines: {node: ^10 || ^12 || >=14.0} + /postcss-ordered-values/5.0.1_postcss@8.3.0: + resolution: + { + integrity: sha512-6mkCF5BQ25HvEcDfrMHCLLFHlraBSlOXFnQMHYhSpDO/5jSR1k8LdEXOkv+7+uzW6o6tBYea1Km0wQSRkPJkwA== + } + engines: { node: ^10 || ^12 || >=14.0 } peerDependencies: - postcss: ^8.2.1 + postcss: ^8.2.15 dependencies: - cssnano-utils: 2.0.0_postcss@8.2.15 - postcss: 8.2.15 + cssnano-utils: 2.0.1_postcss@8.3.0 + postcss: 8.3.0 postcss-value-parser: 4.1.0 dev: true - /postcss-reduce-initial/5.0.0_postcss@8.2.15: - resolution: {integrity: sha512-wR6pXUaFbSMG1oCKx8pKVA+rnSXCHlca5jMrlmkmif+uig0HNUTV9oGN5kjKsM3mATQAldv2PF9Tbl2vqLFjnA==} - engines: {node: ^10 || ^12 || >=14.0} + /postcss-reduce-initial/5.0.1_postcss@8.3.0: + resolution: + { + integrity: sha512-zlCZPKLLTMAqA3ZWH57HlbCjkD55LX9dsRyxlls+wfuRfqCi5mSlZVan0heX5cHr154Dq9AfbH70LyhrSAezJw== + } + engines: { node: ^10 || ^12 || >=14.0 } peerDependencies: - postcss: ^8.2.1 + postcss: ^8.2.15 dependencies: browserslist: 4.16.6 caniuse-api: 3.0.0 - postcss: 8.2.15 + postcss: 8.3.0 dev: true - /postcss-reduce-transforms/5.0.0_postcss@8.2.15: - resolution: {integrity: sha512-iHdGODW4YzM3WjVecBhPQt6fpJC4lGQZxJKjkBNHpp2b8dzmvj0ogKThqya+IRodQEFzjfXgYeESkf172FH5Lw==} - engines: {node: ^10 || ^12 || >=14.0} + /postcss-reduce-transforms/5.0.1_postcss@8.3.0: + resolution: + { + integrity: sha512-a//FjoPeFkRuAguPscTVmRQUODP+f3ke2HqFNgGPwdYnpeC29RZdCBvGRGTsKpMURb/I3p6jdKoBQ2zI+9Q7kA== + } + engines: { node: ^10 || ^12 || >=14.0 } peerDependencies: - postcss: ^8.2.1 + postcss: ^8.2.15 dependencies: - cssnano-utils: 2.0.0_postcss@8.2.15 - postcss: 8.2.15 + cssnano-utils: 2.0.1_postcss@8.3.0 + postcss: 8.3.0 postcss-value-parser: 4.1.0 dev: true - /postcss-selector-parser/3.1.2: - resolution: {integrity: sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==} - engines: {node: '>=8'} - dependencies: - dot-prop: 5.3.0 - indexes-of: 1.0.1 - uniq: 1.0.1 - dev: true - - /postcss-selector-parser/6.0.5: - resolution: {integrity: sha512-aFYPoYmXbZ1V6HZaSvat08M97A8HqO6Pjz+PiNpw/DhuRrC72XWAdp3hL6wusDCN31sSmcZyMGa2hZEuX+Xfhg==} - engines: {node: '>=4'} - dependencies: - cssesc: 3.0.0 - util-deprecate: 1.0.2 - dev: true - /postcss-selector-parser/6.0.6: - resolution: {integrity: sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg== + } + engines: { node: '>=4' } dependencies: cssesc: 3.0.0 util-deprecate: 1.0.2 dev: true - /postcss-svgo/5.0.0_postcss@8.2.15: - resolution: {integrity: sha512-M3/VS4sFI1Yp9g0bPL+xzzCNz5iLdRUztoFaugMit5a8sMfkVzzhwqbsOlD8IFFymCdJDmXmh31waYHWw1K4BA==} - engines: {node: ^10 || ^12 || >=14.0} + /postcss-svgo/5.0.2_postcss@8.3.0: + resolution: + { + integrity: sha512-YzQuFLZu3U3aheizD+B1joQ94vzPfE6BNUcSYuceNxlVnKKsOtdo6hL9/zyC168Q8EwfLSgaDSalsUGa9f2C0A== + } + engines: { node: ^10 || ^12 || >=14.0 } peerDependencies: - postcss: ^8.2.1 + postcss: ^8.2.15 dependencies: - postcss: 8.2.15 + postcss: 8.3.0 postcss-value-parser: 4.1.0 svgo: 2.3.0 dev: true - /postcss-unique-selectors/5.0.0_postcss@8.2.15: - resolution: {integrity: sha512-o9l4pF8SRn7aCMTmzb/kNv/kjV7wPZpZ8Nlb1Gq8v/Qvw969K1wanz1RVA0ehHzWe9+wHXaC2DvZlak/gdMJ5w==} - engines: {node: ^10 || ^12 || >=14.0} + /postcss-unique-selectors/5.0.1_postcss@8.3.0: + resolution: + { + integrity: sha512-gwi1NhHV4FMmPn+qwBNuot1sG1t2OmacLQ/AX29lzyggnjd+MnVD5uqQmpXO3J17KGL2WAxQruj1qTd3H0gG/w== + } + engines: { node: ^10 || ^12 || >=14.0 } peerDependencies: - postcss: ^8.2.1 + postcss: ^8.2.15 dependencies: alphanum-sort: 1.0.2 - postcss: 8.2.15 - postcss-selector-parser: 6.0.5 + postcss: 8.3.0 + postcss-selector-parser: 6.0.6 uniqs: 2.0.0 dev: true /postcss-value-parser/3.3.1: - resolution: {integrity: sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==} + resolution: + { + integrity: sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ== + } dev: true /postcss-value-parser/4.1.0: - resolution: {integrity: sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==} + resolution: + { + integrity: sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ== + } dev: true - /postcss/8.2.15: - resolution: {integrity: sha512-2zO3b26eJD/8rb106Qu2o7Qgg52ND5HPjcyQiK2B98O388h43A448LCslC0dI2P97wCAQRJsFvwTRcXxTKds+Q==} - engines: {node: ^10 || ^12 || >=14} + /postcss/8.3.0: + resolution: + { + integrity: sha512-+ogXpdAjWGa+fdYY5BQ96V/6tAo+TdSSIMP5huJBIygdWwKtVoB5JWZ7yUd4xZ8r+8Kvvx4nyg/PQ071H4UtcQ== + } + engines: { node: ^10 || ^12 || >=14 } dependencies: colorette: 1.2.2 nanoid: 3.1.23 - source-map: 0.6.1 + source-map-js: 0.6.2 dev: true /prelude-ls/1.2.1: - resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} - engines: {node: '>= 0.8.0'} + resolution: + { + integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== + } + engines: { node: '>= 0.8.0' } dev: true - /prettier-plugin-svelte/2.3.0_prettier@2.3.0+svelte@3.38.2: - resolution: {integrity: sha512-HTzXvSq7lWFuLsSaxYOUkGkVNCl3RrSjDCOgQjkBX5FQGmWjL8o3IFACSGhjPMMfWKADpapAr0zdbBWkND9mqw==} + /prettier-plugin-svelte/2.3.0_prettier@2.3.1+svelte@3.38.2: + resolution: + { + integrity: sha512-HTzXvSq7lWFuLsSaxYOUkGkVNCl3RrSjDCOgQjkBX5FQGmWjL8o3IFACSGhjPMMfWKADpapAr0zdbBWkND9mqw== + } peerDependencies: prettier: ^1.16.4 || ^2.0.0 svelte: ^3.2.0 dependencies: - prettier: 2.3.0 + prettier: 2.3.1 svelte: 3.38.2 dev: true - /prettier/2.3.0: - resolution: {integrity: sha512-kXtO4s0Lz/DW/IJ9QdWhAf7/NmPWQXkFr/r/WkR3vyI+0v8amTDxiaQSLzs8NBlytfLWX/7uQUMIW677yLKl4w==} - engines: {node: '>=10.13.0'} + /prettier/2.3.1: + resolution: + { + integrity: sha512-p+vNbgpLjif/+D+DwAZAbndtRrR0md0MwfmOVN9N+2RgyACMT+7tfaRnT+WDPkqnuVwleyuBIG2XBxKDme3hPA== + } + engines: { node: '>=10.13.0' } hasBin: true dev: true /pretty-hrtime/1.0.3: - resolution: {integrity: sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=} - engines: {node: '>= 0.8'} + resolution: { integrity: sha1-t+PqQkNaTJsnWdmeDyAesZWALuE= } + engines: { node: '>= 0.8' } dev: true /process-nextick-args/2.0.1: - resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + resolution: + { + integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== + } dev: false /progress/2.0.3: - resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} - engines: {node: '>=0.4.0'} + resolution: + { + integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== + } + engines: { node: '>=0.4.0' } dev: true /pump/3.0.0: - resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} + resolution: + { + integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== + } dependencies: end-of-stream: 1.4.4 once: 1.4.0 dev: false /punycode/2.1.1: - resolution: {integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== + } + engines: { node: '>=6' } dev: true /purgecss/3.1.3: - resolution: {integrity: sha512-hRSLN9mguJ2lzlIQtW4qmPS2kh6oMnA9RxdIYK8sz18QYqd6ePp4GNDl18oWHA1f2v2NEQIh51CO8s/E3YGckQ==} + resolution: + { + integrity: sha512-hRSLN9mguJ2lzlIQtW4qmPS2kh6oMnA9RxdIYK8sz18QYqd6ePp4GNDl18oWHA1f2v2NEQIh51CO8s/E3YGckQ== + } hasBin: true dependencies: commander: 6.2.1 glob: 7.1.7 - postcss: 8.2.15 + postcss: 8.3.0 postcss-selector-parser: 6.0.6 dev: true /queue-microtask/1.2.3: - resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + resolution: + { + integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== + } dev: true /quick-lru/5.1.1: - resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== + } + engines: { node: '>=10' } dev: true /readable-stream/2.3.7: - resolution: {integrity: sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==} + resolution: + { + integrity: sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== + } dependencies: core-util-is: 1.0.2 inherits: 2.0.4 @@ -2420,8 +3228,11 @@ packages: dev: false /readable-stream/3.6.0: - resolution: {integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==} - engines: {node: '>= 6'} + resolution: + { + integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== + } + engines: { node: '>= 6' } dependencies: inherits: 2.0.4 string_decoder: 1.3.0 @@ -2429,154 +3240,223 @@ packages: dev: false /readdirp/3.5.0: - resolution: {integrity: sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==} - engines: {node: '>=8.10.0'} + resolution: + { + integrity: sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ== + } + engines: { node: '>=8.10.0' } dependencies: picomatch: 2.2.3 dev: true /rechoir/0.6.2: - resolution: {integrity: sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=} - engines: {node: '>= 0.10'} + resolution: { integrity: sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q= } + engines: { node: '>= 0.10' } dependencies: resolve: 1.20.0 dev: false /reduce-css-calc/2.1.8: - resolution: {integrity: sha512-8liAVezDmUcH+tdzoEGrhfbGcP7nOV4NkGE3a74+qqvE7nt9i4sKLGBuZNOnpI4WiGksiNPklZxva80061QiPg==} + resolution: + { + integrity: sha512-8liAVezDmUcH+tdzoEGrhfbGcP7nOV4NkGE3a74+qqvE7nt9i4sKLGBuZNOnpI4WiGksiNPklZxva80061QiPg== + } dependencies: css-unit-converter: 1.1.2 postcss-value-parser: 3.3.1 dev: true /regexp-clone/1.0.0: - resolution: {integrity: sha512-TuAasHQNamyyJ2hb97IuBEif4qBHGjPHBS64sZwytpLEqtBQ1gPJTnOaQ6qmpET16cK14kkjbazl6+p0RRv0yw==} + resolution: + { + integrity: sha512-TuAasHQNamyyJ2hb97IuBEif4qBHGjPHBS64sZwytpLEqtBQ1gPJTnOaQ6qmpET16cK14kkjbazl6+p0RRv0yw== + } dev: false /regexpp/3.1.0: - resolution: {integrity: sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q== + } + engines: { node: '>=8' } dev: true /require-from-string/2.0.2: - resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== + } + engines: { node: '>=0.10.0' } dev: true /require-relative/0.8.7: - resolution: {integrity: sha1-eZlTn8ngR6N5KPoZb44VY9q9Nt4=} + resolution: { integrity: sha1-eZlTn8ngR6N5KPoZb44VY9q9Nt4= } dev: true /resolve-from/4.0.0: - resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + } + engines: { node: '>=4' } dev: true /resolve-from/5.0.0: - resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== + } + engines: { node: '>=8' } dev: true /resolve/1.20.0: - resolution: {integrity: sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==} + resolution: + { + integrity: sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== + } dependencies: is-core-module: 2.4.0 path-parse: 1.0.6 /reusify/1.0.4: - resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} - engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + resolution: + { + integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + } + engines: { iojs: '>=1.0.0', node: '>=0.10.0' } dev: true /rgb-regex/1.0.1: - resolution: {integrity: sha1-wODWiC3w4jviVKR16O3UGRX+rrE=} + resolution: { integrity: sha1-wODWiC3w4jviVKR16O3UGRX+rrE= } dev: true /rgba-regex/1.0.0: - resolution: {integrity: sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=} + resolution: { integrity: sha1-QzdOLiyglosO8VI0YLfXMP8i7rM= } dev: true /rimraf/3.0.2: - resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + resolution: + { + integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + } hasBin: true dependencies: glob: 7.1.7 dev: true /rollup/2.46.0: - resolution: {integrity: sha512-qPGoUBNl+Z8uNu0z7pD3WPTABWRbcOwIrO/5ccDJzmrtzn0LVf6Lj91+L5CcWhXl6iWf23FQ6m8Jkl2CmN1O7Q==} - engines: {node: '>=10.0.0'} + resolution: + { + integrity: sha512-qPGoUBNl+Z8uNu0z7pD3WPTABWRbcOwIrO/5ccDJzmrtzn0LVf6Lj91+L5CcWhXl6iWf23FQ6m8Jkl2CmN1O7Q== + } + engines: { node: '>=10.0.0' } hasBin: true optionalDependencies: fsevents: 2.3.2 dev: true /run-parallel/1.2.0: - resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + resolution: + { + integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== + } dependencies: queue-microtask: 1.2.3 dev: true /sade/1.7.4: - resolution: {integrity: sha512-y5yauMD93rX840MwUJr7C1ysLFBgMspsdTo4UVrDg3fXDvtwOyIqykhVAAm6fk/3au77773itJStObgK+LKaiA==} - engines: {node: '>= 6'} + resolution: + { + integrity: sha512-y5yauMD93rX840MwUJr7C1ysLFBgMspsdTo4UVrDg3fXDvtwOyIqykhVAAm6fk/3au77773itJStObgK+LKaiA== + } + engines: { node: '>= 6' } dependencies: mri: 1.1.6 dev: true /safe-buffer/5.1.2: - resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} + resolution: + { + integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + } dev: false /safe-buffer/5.2.1: - resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + resolution: + { + integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + } dev: false /safer-buffer/2.1.2: - resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + resolution: + { + integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + } dev: false /salteen/1.0.0: - resolution: {integrity: sha512-hApiOPudRSzM5aD1dWIWlXL8dPUja8GloMzHMlmDtNiU5brFNyjvQ+SiLLxHVQNeZ2HgKBnzrRHp+BXQiA5vGg==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-hApiOPudRSzM5aD1dWIWlXL8dPUja8GloMzHMlmDtNiU5brFNyjvQ+SiLLxHVQNeZ2HgKBnzrRHp+BXQiA5vGg== + } + engines: { node: '>=6' } dev: false /saslprep/1.0.3: - resolution: {integrity: sha512-/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag== + } + engines: { node: '>=6' } dependencies: sparse-bitfield: 3.0.3 dev: false optional: true /semver/5.7.1: - resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} + resolution: + { + integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== + } hasBin: true dev: false /semver/7.3.5: - resolution: {integrity: sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== + } + engines: { node: '>=10' } hasBin: true dependencies: lru-cache: 6.0.0 dev: true /shebang-command/2.0.0: - resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + } + engines: { node: '>=8' } dependencies: shebang-regex: 3.0.0 dev: true /shebang-regex/3.0.0: - resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + } + engines: { node: '>=8' } dev: true /shelljs/0.8.4: - resolution: {integrity: sha512-7gk3UZ9kOfPLIAbslLzyWeGiEqx9e3rxwZM0KE6EL8GlGwjym9Mrlx5/p33bWTu9YG6vcS4MBxYZDHYr5lr8BQ==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-7gk3UZ9kOfPLIAbslLzyWeGiEqx9e3rxwZM0KE6EL8GlGwjym9Mrlx5/p33bWTu9YG6vcS4MBxYZDHYr5lr8BQ== + } + engines: { node: '>=4' } hasBin: true dependencies: glob: 7.1.6 @@ -2585,28 +3465,40 @@ packages: dev: false /sift/13.5.2: - resolution: {integrity: sha512-+gxdEOMA2J+AI+fVsCqeNn7Tgx3M9ZN9jdi95939l1IJ8cZsqS8sqpJyOkic2SJk+1+98Uwryt/gL6XDaV+UZA==} + resolution: + { + integrity: sha512-+gxdEOMA2J+AI+fVsCqeNn7Tgx3M9ZN9jdi95939l1IJ8cZsqS8sqpJyOkic2SJk+1+98Uwryt/gL6XDaV+UZA== + } dev: false /simple-swizzle/0.2.2: - resolution: {integrity: sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=} + resolution: { integrity: sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo= } dependencies: is-arrayish: 0.3.2 dev: true /slash/3.0.0: - resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + } + engines: { node: '>=8' } dev: true /slash/4.0.0: - resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew== + } + engines: { node: '>=12' } dev: true /slice-ansi/4.0.0: - resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== + } + engines: { node: '>=10' } dependencies: ansi-styles: 4.3.0 astral-regex: 2.0.0 @@ -2614,37 +3506,54 @@ packages: dev: true /sliced/1.0.1: - resolution: {integrity: sha1-CzpmK10Ewxd7GSa+qCsD+Dei70E=} + resolution: { integrity: sha1-CzpmK10Ewxd7GSa+qCsD+Dei70E= } dev: false + /source-map-js/0.6.2: + resolution: + { + integrity: sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug== + } + engines: { node: '>=0.10.0' } + dev: true + /source-map/0.6.1: - resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + } + engines: { node: '>=0.10.0' } dev: true /source-map/0.7.3: - resolution: {integrity: sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==} - engines: {node: '>= 8'} + resolution: + { + integrity: sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== + } + engines: { node: '>= 8' } dev: true /sparse-bitfield/3.0.3: - resolution: {integrity: sha1-/0rm5oZWBWuks+eSqzM004JzyhE=} + resolution: { integrity: sha1-/0rm5oZWBWuks+eSqzM004JzyhE= } dependencies: memory-pager: 1.5.0 dev: false optional: true /split-ca/1.0.1: - resolution: {integrity: sha1-bIOv82kvphJW4M0ZfgXp3hV2kaY=} + resolution: { integrity: sha1-bIOv82kvphJW4M0ZfgXp3hV2kaY= } dev: false /sprintf-js/1.0.3: - resolution: {integrity: sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=} + resolution: { integrity: sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= } dev: true /ssh2-streams/0.4.10: - resolution: {integrity: sha512-8pnlMjvnIZJvmTzUIIA5nT4jr2ZWNNVHwyXfMGdRJbug9TpI3kd99ffglgfSWqujVv/0gxwMsDn9j9RVst8yhQ==} - engines: {node: '>=5.2.0'} + resolution: + { + integrity: sha512-8pnlMjvnIZJvmTzUIIA5nT4jr2ZWNNVHwyXfMGdRJbug9TpI3kd99ffglgfSWqujVv/0gxwMsDn9j9RVst8yhQ== + } + engines: { node: '>=5.2.0' } dependencies: asn1: 0.2.4 bcrypt-pbkdf: 1.0.2 @@ -2652,24 +3561,33 @@ packages: dev: false /ssh2/0.8.9: - resolution: {integrity: sha512-GmoNPxWDMkVpMFa9LVVzQZHF6EW3WKmBwL+4/GeILf2hFmix5Isxm7Amamo8o7bHiU0tC+wXsGcUXOxp8ChPaw==} - engines: {node: '>=5.2.0'} + resolution: + { + integrity: sha512-GmoNPxWDMkVpMFa9LVVzQZHF6EW3WKmBwL+4/GeILf2hFmix5Isxm7Amamo8o7bHiU0tC+wXsGcUXOxp8ChPaw== + } + engines: { node: '>=5.2.0' } dependencies: ssh2-streams: 0.4.10 dev: false /stable/0.1.8: - resolution: {integrity: sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==} + resolution: + { + integrity: sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w== + } dev: true /streamsearch/0.1.2: - resolution: {integrity: sha1-gIudDlb8Jz2Am6VzOOkpkZoanxo=} - engines: {node: '>=0.8.0'} + resolution: { integrity: sha1-gIudDlb8Jz2Am6VzOOkpkZoanxo= } + engines: { node: '>=0.8.0' } dev: false /string-width/4.2.2: - resolution: {integrity: sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA== + } + engines: { node: '>=8' } dependencies: emoji-regex: 8.0.0 is-fullwidth-code-point: 3.0.0 @@ -2677,78 +3595,111 @@ packages: dev: true /string_decoder/1.1.1: - resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} + resolution: + { + integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + } dependencies: safe-buffer: 5.1.2 dev: false /string_decoder/1.3.0: - resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + resolution: + { + integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + } dependencies: safe-buffer: 5.2.1 dev: false /strip-ansi/6.0.0: - resolution: {integrity: sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== + } + engines: { node: '>=8' } dependencies: ansi-regex: 5.0.0 dev: true /strip-indent/3.0.0: - resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== + } + engines: { node: '>=8' } dependencies: min-indent: 1.0.1 dev: true /strip-json-comments/3.1.1: - resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== + } + engines: { node: '>=8' } dev: true - /stylehacks/5.0.0_postcss@8.2.15: - resolution: {integrity: sha512-QOWm6XivDLb+fqffTZP8jrmPmPITVChl2KCY2R05nsCWwLi3VGhCdVc3IVGNwd1zzTt1jPd67zIKjpQfxzQZeA==} - engines: {node: ^10 || ^12 || >=14.0} + /stylehacks/5.0.1_postcss@8.3.0: + resolution: + { + integrity: sha512-Es0rVnHIqbWzveU1b24kbw92HsebBepxfcqe5iix7t9j0PQqhs0IxXVXv0pY2Bxa08CgMkzD6OWql7kbGOuEdA== + } + engines: { node: ^10 || ^12 || >=14.0 } peerDependencies: - postcss: ^8.2.1 + postcss: ^8.2.15 dependencies: browserslist: 4.16.6 - postcss: 8.2.15 - postcss-selector-parser: 6.0.5 + postcss: 8.3.0 + postcss-selector-parser: 6.0.6 dev: true /supports-color/5.5.0: - resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + } + engines: { node: '>=4' } dependencies: has-flag: 3.0.0 dev: true /supports-color/7.2.0: - resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + } + engines: { node: '>=8' } dependencies: has-flag: 4.0.0 dev: true /svelte-hmr/0.14.3_svelte@3.38.2: - resolution: {integrity: sha512-N56xX405zLMw2tpGHKRx5h+kmdeZwxI21pvyC6OyBHJDCF6DlwWBm9TifdQmSD4dloWSmpDPzHWYa3CSjfopUg==} + resolution: + { + integrity: sha512-N56xX405zLMw2tpGHKRx5h+kmdeZwxI21pvyC6OyBHJDCF6DlwWBm9TifdQmSD4dloWSmpDPzHWYa3CSjfopUg== + } peerDependencies: svelte: '>=3.19.0' dependencies: svelte: 3.38.2 dev: true - /svelte-kit-cookie-session/0.4.3: - resolution: {integrity: sha512-dffh86haFNNY7+Oqf+hD5fELPva7N7aiAmtkqjWzdoJXgH95Yq3TP3NiLzv9Ep3nZBalYRschh5Hg2L5Jtu2Kg==} + /svelte-kit-cookie-session/1.0.6: + resolution: + { + integrity: sha512-vFf0eIyb6T3xaFQGzygLpkMEOvnxarmnobpZmkaC/Q2kh1Q2aFvwo3TEVrg5lD5mIT9irp4MqxRxIGWesF0XOQ== + } dependencies: salteen: 1.0.0 dev: false - /svelte-preprocess/4.7.3_5944bffd99aeae72e0daf7602e6be64e: - resolution: {integrity: sha512-Zx1/xLeGOIBlZMGPRCaXtlMe4ZA0faato5Dc3CosEqwu75MIEPuOstdkH6cy+RYTUYynoxzNaDxkPX4DbrPwRA==} - engines: {node: '>= 9.11.2'} + /svelte-preprocess/4.7.3_ddfd8490a44ef0de606159ff3aef985a: + resolution: + { + integrity: sha512-Zx1/xLeGOIBlZMGPRCaXtlMe4ZA0faato5Dc3CosEqwu75MIEPuOstdkH6cy+RYTUYynoxzNaDxkPX4DbrPwRA== + } + engines: { node: '>= 9.11.2' } requiresBuild: true peerDependencies: '@babel/core': ^7.10.2 @@ -2790,25 +3741,34 @@ packages: '@types/pug': 2.0.4 '@types/sass': 1.16.0 detect-indent: 6.0.0 - postcss: 8.2.15 + postcss: 8.3.0 postcss-load-config: 3.0.1 strip-indent: 3.0.0 svelte: 3.38.2 - typescript: 4.2.4 + typescript: 4.3.2 dev: true /svelte-select/3.17.0: - resolution: {integrity: sha512-ITmX/XUiSdkaILmsTviKRkZPaXckM5/FA7Y8BhiUPoamaZG/ZDyOo6ydjFu9fDVFTbwoAUGUi6HBjs+ZdK2AwA==} + resolution: + { + integrity: sha512-ITmX/XUiSdkaILmsTviKRkZPaXckM5/FA7Y8BhiUPoamaZG/ZDyOo6ydjFu9fDVFTbwoAUGUi6HBjs+ZdK2AwA== + } dev: false /svelte/3.38.2: - resolution: {integrity: sha512-q5Dq0/QHh4BLJyEVWGe7Cej5NWs040LWjMbicBGZ+3qpFWJ1YObRmUDZKbbovddLC9WW7THTj3kYbTOFmU9fbg==} - engines: {node: '>= 8'} + resolution: + { + integrity: sha512-q5Dq0/QHh4BLJyEVWGe7Cej5NWs040LWjMbicBGZ+3qpFWJ1YObRmUDZKbbovddLC9WW7THTj3kYbTOFmU9fbg== + } + engines: { node: '>= 8' } dev: true /svgo/2.3.0: - resolution: {integrity: sha512-fz4IKjNO6HDPgIQxu4IxwtubtbSfGEAJUq/IXyTPIkGhWck/faiiwfkvsB8LnBkKLvSoyNNIY6d13lZprJMc9Q==} - engines: {node: '>=10.13.0'} + resolution: + { + integrity: sha512-fz4IKjNO6HDPgIQxu4IxwtubtbSfGEAJUq/IXyTPIkGhWck/faiiwfkvsB8LnBkKLvSoyNNIY6d13lZprJMc9Q== + } + engines: { node: '>=10.13.0' } hasBin: true dependencies: '@trysound/sax': 0.1.1 @@ -2821,8 +3781,11 @@ packages: dev: true /table/6.6.0: - resolution: {integrity: sha512-iZMtp5tUvcnAdtHpZTWLPF0M7AgiQsURR2DwmxnJwSy8I3+cY+ozzVvYha3BOLG2TB+L0CqjIz+91htuj6yCXg==} - engines: {node: '>=10.0.0'} + resolution: + { + integrity: sha512-iZMtp5tUvcnAdtHpZTWLPF0M7AgiQsURR2DwmxnJwSy8I3+cY+ozzVvYha3BOLG2TB+L0CqjIz+91htuj6yCXg== + } + engines: { node: '>=10.0.0' } dependencies: ajv: 8.2.0 lodash.clonedeep: 4.5.0 @@ -2833,16 +3796,19 @@ packages: strip-ansi: 6.0.0 dev: true - /tailwindcss/2.2.0-canary.8_797cfc3ceddb49f111b184f6879a433f: - resolution: {integrity: sha512-IVgtzCS3HTq4lsK793isUIhbylCoG/WrarYpK8cAlbjOt5TwLJnhfp2GKjfzK3201eM4YawTjuRI+wesEy8XGg==} - engines: {node: '>=12.13.0'} + /tailwindcss/2.2.0-canary.8_6daa0ece57b4377652e73c9c66c3b94c: + resolution: + { + integrity: sha512-IVgtzCS3HTq4lsK793isUIhbylCoG/WrarYpK8cAlbjOt5TwLJnhfp2GKjfzK3201eM4YawTjuRI+wesEy8XGg== + } + engines: { node: '>=12.13.0' } hasBin: true peerDependencies: autoprefixer: ^10.0.2 postcss: ^8.0.9 dependencies: '@fullhuman/postcss-purgecss': 3.1.3 - autoprefixer: 10.2.5_postcss@8.2.15 + autoprefixer: 10.2.6_postcss@8.3.0 bytes: 3.1.0 chalk: 4.1.1 chokidar: 3.5.1 @@ -2858,11 +3824,11 @@ packages: modern-normalize: 1.1.0 node-emoji: 1.10.0 normalize-path: 3.0.0 - object-hash: 2.1.1 + object-hash: 2.2.0 parse-glob: 3.0.4 - postcss: 8.2.15 + postcss: 8.3.0 postcss-js: 3.0.3 - postcss-nested: 5.0.5_postcss@8.2.15 + postcss-nested: 5.0.5_postcss@8.3.0 postcss-selector-parser: 6.0.6 postcss-value-parser: 4.1.0 pretty-hrtime: 1.0.3 @@ -2872,7 +3838,10 @@ packages: dev: true /tar-fs/2.0.1: - resolution: {integrity: sha512-6tzWDMeroL87uF/+lin46k+Q+46rAJ0SyPGz7OW7wTgblI273hsBqk2C1j0/xNadNLKDTUL9BukSjB7cwgmlPA==} + resolution: + { + integrity: sha512-6tzWDMeroL87uF/+lin46k+Q+46rAJ0SyPGz7OW7wTgblI273hsBqk2C1j0/xNadNLKDTUL9BukSjB7cwgmlPA== + } dependencies: chownr: 1.1.4 mkdirp-classic: 0.5.3 @@ -2881,8 +3850,11 @@ packages: dev: false /tar-stream/2.2.0: - resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ== + } + engines: { node: '>=6' } dependencies: bl: 4.1.0 end-of-stream: 1.4.4 @@ -2892,126 +3864,146 @@ packages: dev: false /text-table/0.2.0: - resolution: {integrity: sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=} + resolution: { integrity: sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= } dev: true /timsort/0.3.0: - resolution: {integrity: sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=} + resolution: { integrity: sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q= } dev: true /to-regex-range/5.0.1: - resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} - engines: {node: '>=8.0'} + resolution: + { + integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + } + engines: { node: '>=8.0' } dependencies: is-number: 7.0.0 dev: true /tslib/1.14.1: - resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} + resolution: + { + integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== + } dev: true /tslib/2.2.0: - resolution: {integrity: sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==} + resolution: + { + integrity: sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w== + } dev: true - /tsutils/3.21.0_typescript@4.2.4: - resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} - engines: {node: '>= 6'} + /tsutils/3.21.0_typescript@4.3.2: + resolution: + { + integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== + } + engines: { node: '>= 6' } peerDependencies: typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' dependencies: tslib: 1.14.1 - typescript: 4.2.4 + typescript: 4.3.2 dev: true /tweetnacl/0.14.5: - resolution: {integrity: sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=} + resolution: { integrity: sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= } dev: false /type-check/0.4.0: - resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} - engines: {node: '>= 0.8.0'} + resolution: + { + integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== + } + engines: { node: '>= 0.8.0' } dependencies: prelude-ls: 1.2.1 dev: true /type-fest/0.20.2: - resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== + } + engines: { node: '>=10' } dev: true - /type-fest/0.8.1: - resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} - engines: {node: '>=8'} - dev: true - - /typescript/4.2.4: - resolution: {integrity: sha512-V+evlYHZnQkaz8TRBuxTA92yZBPotr5H+WhQ7bD3hZUndx5tGOa1fuCgeSjxAzM1RiN5IzvadIXTVefuuwZCRg==} - engines: {node: '>=4.2.0'} + /typescript/4.3.2: + resolution: + { + integrity: sha512-zZ4hShnmnoVnAHpVHWpTcxdv7dWP60S2FsydQLV8V5PbS3FifjWFFRiHSWpDJahly88PRyV5teTSLoq4eG7mKw== + } + engines: { node: '>=4.2.0' } hasBin: true dev: true /typpy/2.3.11: - resolution: {integrity: sha512-Jh/fykZSaxeKO0ceMAs6agki9T5TNA9kiIR6fzKbvafKpIw8UlNlHhzuqKyi5lfJJ5VojJOx9tooIbyy7vHV/g==} + resolution: + { + integrity: sha512-Jh/fykZSaxeKO0ceMAs6agki9T5TNA9kiIR6fzKbvafKpIw8UlNlHhzuqKyi5lfJJ5VojJOx9tooIbyy7vHV/g== + } dependencies: function.name: 1.0.13 dev: true - /uniq/1.0.1: - resolution: {integrity: sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=} - dev: true - /uniqs/2.0.0: - resolution: {integrity: sha1-/+3ks2slKQaW5uFl1KWe25mOawI=} + resolution: { integrity: sha1-/+3ks2slKQaW5uFl1KWe25mOawI= } dev: true /unique-names-generator/4.5.0: - resolution: {integrity: sha512-GaiWvo3rKIHi1SyYP8/9cDrPMPSwEiYDUo2p0NQHeCHDXzLn8P6p8bttSS3lX7HHS3Yl5vnw/ulybO4GN85CgQ==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-GaiWvo3rKIHi1SyYP8/9cDrPMPSwEiYDUo2p0NQHeCHDXzLn8P6p8bttSS3lX7HHS3Yl5vnw/ulybO4GN85CgQ== + } + engines: { node: '>=8' } dev: false /universalify/2.0.0: - resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} - engines: {node: '>= 10.0.0'} + resolution: + { + integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== + } + engines: { node: '>= 10.0.0' } dev: true /uri-js/4.4.1: - resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + resolution: + { + integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== + } dependencies: punycode: 2.1.1 dev: true /util-deprecate/1.0.2: - resolution: {integrity: sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=} + resolution: { integrity: sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= } /v8-compile-cache/2.3.0: - resolution: {integrity: sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==} + resolution: + { + integrity: sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== + } dev: true /vendors/1.0.4: - resolution: {integrity: sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==} - dev: true - - /vite/2.3.2: - resolution: {integrity: sha512-QhLdOompDrfkyryCNTts9HE+eJhvhN9ibKNJ5Q8DpQai+6nOsuIlaveZNg67e1O/2QaWqXeBo82eHnAs1De2bQ==} - engines: {node: '>=12.0.0'} - hasBin: true - dependencies: - esbuild: 0.11.20 - postcss: 8.2.15 - resolve: 1.20.0 - rollup: 2.46.0 - optionalDependencies: - fsevents: 2.3.2 + resolution: + { + integrity: sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w== + } dev: true /vite/2.3.6: - resolution: {integrity: sha512-fsEpNKDHgh3Sn66JH06ZnUBnIgUVUtw6ucDhlOj1CEqxIkymU25yv1/kWDPlIjyYHnalr0cN6V+zzUJ+fmWHYw==} - engines: {node: '>=12.0.0'} + resolution: + { + integrity: sha512-fsEpNKDHgh3Sn66JH06ZnUBnIgUVUtw6ucDhlOj1CEqxIkymU25yv1/kWDPlIjyYHnalr0cN6V+zzUJ+fmWHYw== + } + engines: { node: '>=12.0.0' } hasBin: true dependencies: esbuild: 0.12.6 - postcss: 8.2.15 + postcss: 8.3.0 resolve: 1.20.0 rollup: 2.46.0 optionalDependencies: @@ -3019,31 +4011,46 @@ packages: dev: true /which/2.0.2: - resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} - engines: {node: '>= 8'} + resolution: + { + integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + } + engines: { node: '>= 8' } hasBin: true dependencies: isexe: 2.0.0 dev: true /word-wrap/1.2.3: - resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== + } + engines: { node: '>=0.10.0' } dev: true /wrappy/1.0.2: - resolution: {integrity: sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=} + resolution: { integrity: sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= } /xtend/4.0.2: - resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} - engines: {node: '>=0.4'} + resolution: + { + integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== + } + engines: { node: '>=0.4' } dev: true /yallist/4.0.0: - resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + resolution: + { + integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + } dev: true /yaml/1.10.2: - resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} - engines: {node: '>= 6'} + resolution: + { + integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== + } + engines: { node: '>= 6' } dev: true diff --git a/src/app.postcss b/src/app.postcss index a23ba9216..51f8daf3a 100644 --- a/src/app.postcss +++ b/src/app.postcss @@ -92,7 +92,9 @@ body { input { @apply text-sm rounded py-2 px-6 font-bold bg-warmGray-800 text-white transition duration-150 outline-none border border-transparent !important; } -input:hover { +input:hover, +input:focus-visible, +input:focus { @apply bg-warmGray-700 !important; } textarea { @@ -107,6 +109,7 @@ select { select:hover { @apply bg-warmGray-700 !important; } + label { @apply text-left text-base font-bold text-warmGray-400 !important; } @@ -116,6 +119,11 @@ button { .button { @apply rounded text-sm font-bold transition-all duration-100 !important; } + +.button:focus-visible, +.button:focus { + @apply bg-warmGray-700 !important; +} .h-271 { min-height: 271px !important; } diff --git a/src/global.d.ts b/src/global.d.ts index 0d6b6fe6d..716f94507 100644 --- a/src/global.d.ts +++ b/src/global.d.ts @@ -49,8 +49,7 @@ export type Application = { python: { module?: string; instance?: string; - } - + }; }; container: { name: string; diff --git a/src/hooks/index.ts b/src/hooks/index.ts index a5a6b964a..0a7ec0dce 100644 --- a/src/hooks/index.ts +++ b/src/hooks/index.ts @@ -31,11 +31,9 @@ async function connectMongoDB() { ); } console.log('Connected to mongodb.'); - } catch (error) { console.log(error); } - } (async () => { @@ -48,7 +46,7 @@ async function connectMongoDB() { try { await cleanupStuckedDeploymentsInDB(); } catch (error) { - console.log(error) + console.log(error); } try { const dockerServices = await docker.engine.listServices(); @@ -76,20 +74,23 @@ async function connectMongoDB() { ).values() ]; for (const application of applications) { - await Configuration.findOneAndUpdate({ - 'repository.name': application.configuration.repository.name, - 'repository.organization': application.configuration.repository.organization, - 'repository.branch': application.configuration.repository.branch, - 'publish.domain': application.configuration.publish.domain - }, { - ...application.configuration - }, { upsert: true, new: true }) + await Configuration.findOneAndUpdate( + { + 'repository.name': application.configuration.repository.name, + 'repository.organization': application.configuration.repository.organization, + 'repository.branch': application.configuration.repository.branch, + 'publish.domain': application.configuration.publish.domain + }, + { + ...application.configuration + }, + { upsert: true, new: true } + ); } } catch (error) { - console.log(error) + console.log(error); } -})() - +})(); export async function handle({ request, resolve }) { const { SECRETS_ENCRYPTION_KEY } = process.env; @@ -99,7 +100,7 @@ export async function handle({ request, resolve }) { secret: SECRETS_ENCRYPTION_KEY, cookie: { path: '/' } }); - } catch(error) { + } catch (error) { return { status: 302, headers: { diff --git a/src/lib/api/applications/cleanup.ts b/src/lib/api/applications/cleanup.ts index d1a9076c0..85ebffa82 100644 --- a/src/lib/api/applications/cleanup.ts +++ b/src/lib/api/applications/cleanup.ts @@ -11,7 +11,7 @@ export async function deleteSameDeployments(configuration) { const running = JSON.parse(s.Spec.Labels.configuration); if ( running.repository.id === configuration.repository.id && - running.repository.branch === configuration.repository.branch && + running.repository.branch === configuration.repository.branch && running.publish.domain === configuration.publish.domain ) { await execShellAsync(`docker stack rm ${s.Spec.Labels['com.docker.stack.namespace']}`); @@ -55,7 +55,6 @@ export async function purgeImagesContainers(configuration, deleteAll = false) { .split('\n'); if (IDsToDelete.length > 1) await execShellAsync(`docker rmi -f ${IDsToDelete.join(' ')}`); } - } catch (error) { console.log(error); } diff --git a/src/lib/api/applications/cloneRepository.ts b/src/lib/api/applications/cloneRepository.ts index a7ecb8f15..63c4b8040 100644 --- a/src/lib/api/applications/cloneRepository.ts +++ b/src/lib/api/applications/cloneRepository.ts @@ -39,7 +39,9 @@ export default async function (configuration) { ); if (isPreviewDeploymentEnabled && pullRequest && pullRequest !== 0) { - await execShellAsync(`cd ${workdir} && git fetch origin pull/${pullRequest}/head:pull_${pullRequest} && git checkout pull_${pullRequest}`) + await execShellAsync( + `cd ${workdir} && git fetch origin pull/${pullRequest}/head:pull_${pullRequest} && git checkout pull_${pullRequest}` + ); } configuration.build.container.tag = ( await execShellAsync(`cd ${workdir}/ && git rev-parse HEAD`) diff --git a/src/lib/api/applications/configuration.ts b/src/lib/api/applications/configuration.ts index 98d4650a9..5756d670d 100644 --- a/src/lib/api/applications/configuration.ts +++ b/src/lib/api/applications/configuration.ts @@ -21,8 +21,11 @@ export function setDefaultConfiguration(configuration) { configuration.general.deployId = deployId; configuration.general.workdir = `/tmp/${deployId}`; if (configuration.general.isPreviewDeploymentEnabled && configuration.general.pullRequest !== 0) { - configuration.build.container.name = `pr${configuration.general.pullRequest}-${sha256.slice(0, 8)}` - configuration.publish.domain = `pr${configuration.general.pullRequest}.${configuration.publish.domain}` + configuration.build.container.name = `pr${configuration.general.pullRequest}-${sha256.slice( + 0, + 8 + )}`; + configuration.publish.domain = `pr${configuration.general.pullRequest}.${configuration.publish.domain}`; } if (!configuration.publish.path) configuration.publish.path = '/'; if (!configuration.publish.port) { @@ -59,11 +62,13 @@ export function setDefaultConfiguration(configuration) { configuration.build.pack === 'nextjs' || configuration.build.pack === 'nestjs' ) { - if (!configuration.build.command.start) configuration.build.command.start = 'yarn start' + if (!configuration.build.command.start) configuration.build.command.start = 'yarn start'; } if (configuration.build.pack === 'python') { - if (!configuration.build.command.python.module) configuration.build.command.python.module = 'main' - if (!configuration.build.command.python.instance) configuration.build.command.python.instance = 'app' + if (!configuration.build.command.python.module) + configuration.build.command.python.module = 'main'; + if (!configuration.build.command.python.instance) + configuration.build.command.python.instance = 'app'; } configuration.build.container.baseSHA = crypto @@ -77,7 +82,10 @@ export function setDefaultConfiguration(configuration) { export async function precheckDeployment(configuration) { const services = (await docker.engine.listServices()).filter( - (r) => r.Spec.Labels.managedBy === 'coolify' && r.Spec.Labels.type === 'application' && JSON.parse(r.Spec.Labels.configuration).publish.domain === configuration.publish.domain + (r) => + r.Spec.Labels.managedBy === 'coolify' && + r.Spec.Labels.type === 'application' && + JSON.parse(r.Spec.Labels.configuration).publish.domain === configuration.publish.domain ); let foundService = false; let configChanged = false; @@ -86,7 +94,6 @@ export async function precheckDeployment(configuration) { for (const service of services) { const running = JSON.parse(service.Spec.Labels.configuration); if (running) { - if ( running.repository.id === configuration.repository.id && running.repository.branch === configuration.repository.branch @@ -117,26 +124,27 @@ export async function precheckDeployment(configuration) { const compareObjects = (a, b) => { if (a === b) return true; - + if (typeof a != 'object' || typeof b != 'object' || a == null || b == null) return false; - - let keysA = Object.keys(a), keysB = Object.keys(b); - + + const keysA = Object.keys(a), + keysB = Object.keys(b); + if (keysA.length != keysB.length) return false; - - for (let key of keysA) { - if (!keysB.includes(key)) return false; - - if (typeof a[key] === 'function' || typeof b[key] === 'function') { - if (a[key].toString() != b[key].toString()) return false; - } else { - if (!compareObjects(a[key], b[key])) return false; - } + + for (const key of keysA) { + if (!keysB.includes(key)) return false; + + if (typeof a[key] === 'function' || typeof b[key] === 'function') { + if (a[key].toString() != b[key].toString()) return false; + } else { + if (!compareObjects(a[key], b[key])) return false; + } } - + return true; - } - + }; + const runningWithoutContainer = JSON.parse(JSON.stringify(running)); delete runningWithoutContainer.build.container; @@ -145,19 +153,23 @@ export async function precheckDeployment(configuration) { // If only the configuration changed if ( - !compareObjects(runningWithoutContainer.build,configurationWithoutContainer.build) || - !compareObjects(runningWithoutContainer.publish,configurationWithoutContainer.publish) || + !compareObjects(runningWithoutContainer.build, configurationWithoutContainer.build) || + !compareObjects(runningWithoutContainer.publish, configurationWithoutContainer.publish) || runningWithoutContainer.general.isPreviewDeploymentEnabled !== - configurationWithoutContainer.general.isPreviewDeploymentEnabled - ){ + configurationWithoutContainer.general.isPreviewDeploymentEnabled + ) { configChanged = true; } - + // If only the image changed if (running.build.container.tag !== configuration.build.container.tag) imageChanged = true; // If build pack changed, forceUpdate the service if (running.build.pack !== configuration.build.pack) forceUpdate = true; - if (configuration.general.isPreviewDeploymentEnabled && configuration.general.pullRequest !== 0) forceUpdate = true + if ( + configuration.general.isPreviewDeploymentEnabled && + configuration.general.pullRequest !== 0 + ) + forceUpdate = true; } } } @@ -174,5 +186,9 @@ export async function precheckDeployment(configuration) { } export async function updateServiceLabels(configuration) { - return await execShellAsync(`docker service update --label-add configuration='${JSON.stringify(configuration)}' ${configuration.build.container.name}_${configuration.build.container.name}`) + return await execShellAsync( + `docker service update --label-add configuration='${JSON.stringify(configuration)}' ${ + configuration.build.container.name + }_${configuration.build.container.name}` + ); } diff --git a/src/lib/api/applications/deploy.ts b/src/lib/api/applications/deploy.ts index 225880533..0be200e90 100644 --- a/src/lib/api/applications/deploy.ts +++ b/src/lib/api/applications/deploy.ts @@ -42,12 +42,8 @@ export default async function (configuration, imageChanged) { '`) && PathPrefix(`' + configuration.publish.path + '`)', - 'traefik.http.routers.' + - containerName + - '.tls.certresolver=letsencrypt', - 'traefik.http.routers.' + - containerName + - '.middlewares=global-compress' + 'traefik.http.routers.' + containerName + '.tls.certresolver=letsencrypt', + 'traefik.http.routers.' + containerName + '.middlewares=global-compress' ] } } @@ -76,7 +72,7 @@ export default async function (configuration, imageChanged) { await delay(10000); await purgeImagesContainers(found, true); } - purgeImagesAsync(configuration) + purgeImagesAsync(configuration); await saveAppLog('### Published done!', configuration); } diff --git a/src/lib/api/applications/logging.ts b/src/lib/api/applications/logging.ts index e4df3117a..55cd648ee 100644 --- a/src/lib/api/applications/logging.ts +++ b/src/lib/api/applications/logging.ts @@ -4,7 +4,6 @@ import ApplicationLog from '$models/ApplicationLog'; import dayjs from 'dayjs'; import { version } from '../../../../package.json'; - function generateTimestamp() { return `${dayjs().format('YYYY-MM-DD HH:mm:ss.SSS')} `; } diff --git a/src/lib/api/applications/packs/python/index.ts b/src/lib/api/applications/packs/python/index.ts index ffe64f5c4..9998564fb 100644 --- a/src/lib/api/applications/packs/python/index.ts +++ b/src/lib/api/applications/packs/python/index.ts @@ -15,10 +15,7 @@ const publishPython = (configuration) => { }; export default async function (configuration) { - await fs.writeFile( - `${configuration.general.workdir}/Dockerfile`, - publishPython(configuration) - ); + await fs.writeFile(`${configuration.general.workdir}/Dockerfile`, publishPython(configuration)); const stream = await docker.engine.buildImage( { src: ['.'], context: configuration.general.workdir }, { t: `${configuration.build.container.name}:${configuration.build.container.tag}` } diff --git a/src/lib/api/applications/queueAndBuild.ts b/src/lib/api/applications/queueAndBuild.ts index 2b71d29ca..d5dded023 100644 --- a/src/lib/api/applications/queueAndBuild.ts +++ b/src/lib/api/applications/queueAndBuild.ts @@ -1,4 +1,3 @@ - import Deployment from '$models/Deployment'; import dayjs from 'dayjs'; import buildContainer from './buildContainer'; diff --git a/src/lib/api/common.ts b/src/lib/api/common.ts index df022e1e8..bae4298ce 100644 --- a/src/lib/api/common.ts +++ b/src/lib/api/common.ts @@ -9,7 +9,7 @@ export function execShellAsync(cmd, opts = {}) { shell.config.silent = true; shell.exec(cmd, opts, async function (code, stdout, stderr) { if (code !== 0) { - await saveServerLog({ message: JSON.stringify({ cmd, opts, code, stdout, stderr }) }) + await saveServerLog({ message: JSON.stringify({ cmd, opts, code, stdout, stderr }) }); return reject(new Error(stderr)); } return resolve(stdout); diff --git a/src/lib/consts.ts b/src/lib/consts.ts index 94d98b030..3844a39db 100644 --- a/src/lib/consts.ts +++ b/src/lib/consts.ts @@ -1,2 +1,2 @@ export const publicPages = ['/', '/api/v1/login/github/app', '/api/v1/webhooks/deploy', '/success']; -export const VITE_GITHUB_APP_NAME = import.meta.env.VITE_GITHUB_APP_NAME +export const VITE_GITHUB_APP_NAME = import.meta.env.VITE_GITHUB_APP_NAME; diff --git a/src/models/ApplicationLog.ts b/src/models/ApplicationLog.ts index 5e6d4f1b5..669fa9fb4 100644 --- a/src/models/ApplicationLog.ts +++ b/src/models/ApplicationLog.ts @@ -8,4 +8,5 @@ const ApplicationLogsSchema = new Schema({ ApplicationLogsSchema.set('timestamps', true); -export default mongoose.models['logs-application'] || mongoose.model('logs-application', ApplicationLogsSchema); \ No newline at end of file +export default mongoose.models['logs-application'] || + mongoose.model('logs-application', ApplicationLogsSchema); diff --git a/src/models/Configuration.ts b/src/models/Configuration.ts index 3eac6e66d..a18dbbbae 100644 --- a/src/models/Configuration.ts +++ b/src/models/Configuration.ts @@ -20,7 +20,7 @@ const ConfigurationSchema = new Schema({ nickname: { type: String, required: true }, workdir: { type: String, required: true }, isPreviewDeploymentEnabled: { type: Boolean, required: true, default: false }, - pullRequest: { type: Number, required: true, default: 0 }, + pullRequest: { type: Number, required: true, default: 0 } }, build: { pack: { type: String, required: true }, @@ -31,25 +31,25 @@ const ConfigurationSchema = new Schema({ start: { type: String }, python: { module: { type: String }, - instance: { type: String }, + instance: { type: String } } - }, container: { name: { type: String, required: true }, tag: { type: String, required: true }, - baseSHA: { type: String, required: true }, - }, + baseSHA: { type: String, required: true } + } }, publish: { directory: { type: String }, domain: { type: String, required: true }, path: { type: String }, port: { type: Number }, - secrets: { type: Array }, + secrets: { type: Array } } }); ConfigurationSchema.set('timestamps', true); -export default mongoose.models['configuration'] || mongoose.model('configuration', ConfigurationSchema); +export default mongoose.models['configuration'] || + mongoose.model('configuration', ConfigurationSchema); diff --git a/src/models/ServerLog.ts b/src/models/ServerLog.ts index fb1bcfa7f..8949c22af 100644 --- a/src/models/ServerLog.ts +++ b/src/models/ServerLog.ts @@ -1,5 +1,5 @@ import mongoose from 'mongoose'; -import { version } from '../../package.json' +import { version } from '../../package.json'; const { Schema, Document } = mongoose; // export interface ILogsServer extends Document { diff --git a/src/routes/api/v1/application/check.ts b/src/routes/api/v1/application/check.ts index 5bf2c5a51..ae1c3ef5b 100644 --- a/src/routes/api/v1/application/check.ts +++ b/src/routes/api/v1/application/check.ts @@ -9,9 +9,9 @@ export async function post(request: Request) { const { DOMAIN } = process.env; const configuration = setDefaultConfiguration(request.body); const configurationFound = await Configuration.find({ - 'repository.id': { '$ne': configuration.repository.id }, + 'repository.id': { $ne: configuration.repository.id }, 'publish.domain': configuration.publish.domain - }).select('-_id -__v -createdAt -updatedAt') + }).select('-_id -__v -createdAt -updatedAt'); if (configurationFound.length > 0 || configuration.publish.domain === DOMAIN) { return { status: 200, @@ -24,7 +24,7 @@ export async function post(request: Request) { return { status: 200, body: { success: true, message: 'OK' } - } + }; } catch (error) { await saveServerLog(error); return { diff --git a/src/routes/api/v1/application/config/index.ts b/src/routes/api/v1/application/config/index.ts index 5327262a7..7773a8465 100644 --- a/src/routes/api/v1/application/config/index.ts +++ b/src/routes/api/v1/application/config/index.ts @@ -9,7 +9,7 @@ export async function post(request: Request) { 'repository.name': name, 'repository.organization': organization, 'repository.branch': branch - }).select('-_id -__v -createdAt -updatedAt') + }).select('-_id -__v -createdAt -updatedAt'); if (configurationFound) { return { diff --git a/src/routes/api/v1/application/config/previewDeployment.ts b/src/routes/api/v1/application/config/previewDeployment.ts index fd7ed21fe..095e31e02 100644 --- a/src/routes/api/v1/application/config/previewDeployment.ts +++ b/src/routes/api/v1/application/config/previewDeployment.ts @@ -9,26 +9,40 @@ import type { Request } from '@sveltejs/kit'; export async function post(request: Request) { const { name, organization, branch, isPreviewDeploymentEnabled }: any = request.body || {}; if (name && organization && branch) { - const configuration = await Configuration.findOneAndUpdate({ - 'repository.name': name, - 'repository.organization': organization, - 'repository.branch': branch - }, { $set: { 'general.isPreviewDeploymentEnabled': isPreviewDeploymentEnabled, 'general.pullRequest': 0 } }, { new: true }).select('-_id -__v -createdAt -updatedAt') + const configuration = await Configuration.findOneAndUpdate( + { + 'repository.name': name, + 'repository.organization': organization, + 'repository.branch': branch + }, + { + $set: { + 'general.isPreviewDeploymentEnabled': isPreviewDeploymentEnabled, + 'general.pullRequest': 0 + } + }, + { new: true } + ).select('-_id -__v -createdAt -updatedAt'); if (!isPreviewDeploymentEnabled) { const found = await Configuration.find({ 'repository.name': name, 'repository.organization': organization, 'repository.branch': branch, - 'general.pullRequest': { '$ne': 0 } - }) + 'general.pullRequest': { $ne: 0 } + }); for (const prDeployment of found) { await Configuration.findOneAndRemove({ 'repository.name': name, 'repository.organization': organization, 'repository.branch': branch, 'publish.domain': prDeployment.publish.domain - }) - const deploys = await Deployment.find({ organization, branch, name, domain: prDeployment.publish.domain }); + }); + const deploys = await Deployment.find({ + organization, + branch, + name, + domain: prDeployment.publish.domain + }); for (const deploy of deploys) { await ApplicationLog.deleteMany({ deployId: deploy.deployId }); await Deployment.deleteMany({ deployId: deploy.deployId }); @@ -51,7 +65,6 @@ export async function post(request: Request) { success: true } }; - } return { status: 500, diff --git a/src/routes/api/v1/application/deploy/index.ts b/src/routes/api/v1/application/deploy/index.ts index aefafc28d..a1b0c6626 100644 --- a/src/routes/api/v1/application/deploy/index.ts +++ b/src/routes/api/v1/application/deploy/index.ts @@ -18,7 +18,9 @@ export async function post(request: Request) { } try { await cloneRepository(configuration); - const { foundService, imageChanged, configChanged, forceUpdate } = await precheckDeployment(configuration); + const { foundService, imageChanged, configChanged, forceUpdate } = await precheckDeployment( + configuration + ); if (foundService && !forceUpdate && !imageChanged && !configChanged) { cleanupTmp(configuration.general.workdir); return { @@ -60,15 +62,17 @@ export async function post(request: Request) { nickname }).save(); - await Configuration.findOneAndUpdate({ - 'repository.id': id, - 'repository.organization': organization, - 'repository.name': name, - 'repository.branch': branch, - 'general.pullRequest': { '$in': [null, 0] }, - }, + await Configuration.findOneAndUpdate( + { + 'repository.id': id, + 'repository.organization': organization, + 'repository.name': name, + 'repository.branch': branch, + 'general.pullRequest': { $in: [null, 0] } + }, { ...configuration }, - { upsert: true, new: true }) + { upsert: true, new: true } + ); queueAndBuild(configuration, imageChanged); return { @@ -81,7 +85,7 @@ export async function post(request: Request) { } }; } catch (error) { - console.log(error) + console.log(error); await Deployment.findOneAndUpdate( { repoId: configuration.repository.id, diff --git a/src/routes/api/v1/application/deploy/logs/[deployId].ts b/src/routes/api/v1/application/deploy/logs/[deployId].ts index e369ca57b..0c449b224 100644 --- a/src/routes/api/v1/application/deploy/logs/[deployId].ts +++ b/src/routes/api/v1/application/deploy/logs/[deployId].ts @@ -10,8 +10,7 @@ export async function get(request: Request) { .select('-_id -__v') .sort({ createdAt: 'asc' }); - const deploy: any = await Deployment.findOne({ deployId }) - .select('-_id -__v') + const deploy: any = await Deployment.findOne({ deployId }).select('-_id -__v'); const finalLogs: any = {}; finalLogs.progress = deploy.progress; finalLogs.events = logs.map((log) => log.event); diff --git a/src/routes/api/v1/application/deploy/logs/index.ts b/src/routes/api/v1/application/deploy/logs/index.ts index b536050b8..e7f84d805 100644 --- a/src/routes/api/v1/application/deploy/logs/index.ts +++ b/src/routes/api/v1/application/deploy/logs/index.ts @@ -21,7 +21,7 @@ export async function get(request: Request) { const updatedAt = dayjs(d.updatedAt).utc(); finalLogs.took = updatedAt.diff(dayjs(d.createdAt)) / 1000; finalLogs.since = updatedAt.fromNow(); - finalLogs.isPr = d.domain.startsWith('pr') + finalLogs.isPr = d.domain.startsWith('pr'); return finalLogs; }); return { diff --git a/src/routes/api/v1/application/logs.ts b/src/routes/api/v1/application/logs.ts index 949ce3fec..01f478d16 100644 --- a/src/routes/api/v1/application/logs.ts +++ b/src/routes/api/v1/application/logs.ts @@ -16,7 +16,7 @@ export async function get(request: Request) { body: { success: true, logs } }; } catch (error) { - console.log(error) + console.log(error); await saveServerLog(error); return { status: 500, diff --git a/src/routes/api/v1/application/remove.ts b/src/routes/api/v1/application/remove.ts index 710bdfeaa..a45193f4f 100644 --- a/src/routes/api/v1/application/remove.ts +++ b/src/routes/api/v1/application/remove.ts @@ -16,25 +16,25 @@ export async function post(request: Request) { 'repository.name': name, 'repository.branch': branch, 'publish.domain': domain - }) + }); if (configurationFound) { - const id = configurationFound._id + const id = configurationFound._id; if (configurationFound?.general?.pullRequest === 0) { // Main deployment deletion request; deleting main + PRs const allConfiguration = await Configuration.find({ 'repository.name': name, 'repository.organization': organization, - 'repository.branch': branch, - }) + 'repository.branch': branch + }); for (const config of allConfiguration) { await Configuration.findOneAndRemove({ 'repository.name': config.repository.name, 'repository.organization': config.repository.organization, - 'repository.branch': config.repository.branch, - }) + 'repository.branch': config.repository.branch + }); await execShellAsync(`docker stack rm ${config.build.container.name}`); } - const deploys = await Deployment.find({ organization, branch, name }) + const deploys = await Deployment.find({ organization, branch, name }); for (const deploy of deploys) { await ApplicationLog.deleteMany({ deployId: deploy.deployId }); await Deployment.deleteMany({ deployId: deploy.deployId }); @@ -43,9 +43,9 @@ export async function post(request: Request) { purgeImagesAsync(configurationFound); } else { // Delete only PRs - await Configuration.findByIdAndRemove(id) + await Configuration.findByIdAndRemove(id); await execShellAsync(`docker stack rm ${configurationFound.build.container.name}`); - const deploys = await Deployment.find({ organization, branch, name, domain }) + const deploys = await Deployment.find({ organization, branch, name, domain }); for (const deploy of deploys) { await ApplicationLog.deleteMany({ deployId: deploy.deployId }); await Deployment.deleteMany({ deployId: deploy.deployId }); @@ -63,7 +63,7 @@ export async function post(request: Request) { } }; } catch (error) { - console.log(error) + console.log(error); return { status: 500, error: { diff --git a/src/routes/api/v1/dashboard/index.ts b/src/routes/api/v1/dashboard/index.ts index 89a54bab8..fe1ab230c 100644 --- a/src/routes/api/v1/dashboard/index.ts +++ b/src/routes/api/v1/dashboard/index.ts @@ -1,6 +1,6 @@ import { docker } from '$lib/api/docker'; import type { Request } from '@sveltejs/kit'; -import Configuration from '$models/Configuration' +import Configuration from '$models/Configuration'; export async function get(request: Request) { // Should update this to get data from mongodb and update db with the currently running services on start! const dockerServices = await docker.engine.listServices(); @@ -34,21 +34,21 @@ export async function get(request: Request) { return {}; }); const configurations = await Configuration.find({ - 'general.pullRequest': { '$in': [null, 0] } - }).select('-_id -__v -createdAt') - const applications = [] + 'general.pullRequest': { $in: [null, 0] } + }).select('-_id -__v -createdAt'); + const applications = []; for (const configuration of configurations) { const foundPRDeployments = await Configuration.find({ 'repository.id': configuration.repository.id, 'repository.branch': configuration.repository.branch, - 'general.pullRequest': { '$ne': 0 } - }).select('-_id -__v -createdAt') + 'general.pullRequest': { $ne: 0 } + }).select('-_id -__v -createdAt'); const payload = { configuration, UpdatedAt: configuration.updatedAt, - prBuilds: foundPRDeployments.length > 0 ? true : false, - } - applications.push(payload) + prBuilds: foundPRDeployments.length > 0 ? true : false + }; + applications.push(payload); } return { status: 200, diff --git a/src/routes/api/v1/services/[serviceName].ts b/src/routes/api/v1/services/[serviceName].ts index 6843841e7..5b1f1dabf 100644 --- a/src/routes/api/v1/services/[serviceName].ts +++ b/src/routes/api/v1/services/[serviceName].ts @@ -4,6 +4,7 @@ import type { Request } from '@sveltejs/kit'; export async function get(request: Request) { const { serviceName } = request.params; + try { const service = (await docker.engine.listServices()).find( (r) => diff --git a/src/routes/api/v1/services/deploy/nocodb/index.ts b/src/routes/api/v1/services/deploy/nocodb/index.ts new file mode 100644 index 000000000..82b8b84e0 --- /dev/null +++ b/src/routes/api/v1/services/deploy/nocodb/index.ts @@ -0,0 +1,59 @@ +import type { Request } from '@sveltejs/kit'; +import yaml from 'js-yaml'; +import { promises as fs } from 'fs'; +import { docker } from '$lib/api/docker'; +import { baseServiceConfiguration } from '$lib/api/applications/common'; +import { cleanupTmp, execShellAsync } from '$lib/api/common'; + +export async function post(request: Request) { + let { baseURL } = request.body; + const traefikURL = baseURL; + baseURL = `https://${baseURL}`; + const workdir = '/tmp/nocodb'; + const deployId = 'nocodb'; + const stack = { + version: '3.8', + services: { + [deployId]: { + image: 'nocodb/nocodb', + networks: [`${docker.network}`], + deploy: { + ...baseServiceConfiguration, + labels: [ + 'managedBy=coolify', + 'type=service', + 'serviceName=nocodb', + 'configuration=' + + JSON.stringify({ + baseURL + }), + 'traefik.enable=true', + 'traefik.http.services.' + deployId + '.loadbalancer.server.port=8080', + 'traefik.http.routers.' + deployId + '.entrypoints=websecure', + 'traefik.http.routers.' + + deployId + + '.rule=Host(`' + + traefikURL + + '`) && PathPrefix(`/`)', + 'traefik.http.routers.' + deployId + '.tls.certresolver=letsencrypt', + 'traefik.http.routers.' + deployId + '.middlewares=global-compress' + ] + } + } + }, + networks: { + [`${docker.network}`]: { + external: true + } + } + }; + await execShellAsync(`mkdir -p ${workdir}`); + await fs.writeFile(`${workdir}/stack.yml`, yaml.dump(stack)); + await execShellAsync('docker stack rm nocodb'); + await execShellAsync(`cat ${workdir}/stack.yml | docker stack deploy --prune -c - ${deployId}`); + cleanupTmp(workdir); + return { + status: 200, + body: { message: 'OK' } + }; +} diff --git a/src/routes/api/v1/webhooks/deploy.ts b/src/routes/api/v1/webhooks/deploy.ts index e0b87cd63..8ff7254fd 100644 --- a/src/routes/api/v1/webhooks/deploy.ts +++ b/src/routes/api/v1/webhooks/deploy.ts @@ -11,9 +11,9 @@ import ApplicationLog from '$models/ApplicationLog'; import { cleanupStuckedDeploymentsInDB } from '$lib/api/applications/cleanup'; export async function post(request: Request) { let configuration; - const allowedGithubEvents = ['push', 'pull_request'] - const allowedPRActions = ['opened', , 'reopened', 'synchronize', 'closed'] - const githubEvent = request.headers['x-github-event'] + const allowedGithubEvents = ['push', 'pull_request']; + const allowedPRActions = ['opened', 'reopened', 'synchronize', 'closed']; + const githubEvent = request.headers['x-github-event']; const { GITHUP_APP_WEBHOOK_SECRET } = process.env; const hmac = crypto.createHmac('sha256', GITHUP_APP_WEBHOOK_SECRET); const digest = Buffer.from( @@ -41,8 +41,8 @@ export async function post(request: Request) { try { const applications = await Configuration.find({ - 'repository.id': request.body.repository.id, - }).select('-_id -__v -createdAt -updatedAt') + 'repository.id': request.body.repository.id + }).select('-_id -__v -createdAt -updatedAt'); if (githubEvent === 'push') { configuration = applications.find((r) => { if (request.body.ref.startsWith('refs')) { @@ -61,7 +61,9 @@ export async function post(request: Request) { } }; } - configuration = applications.find((r) => r.repository.branch === request.body['pull_request'].base.ref); + configuration = applications.find( + (r) => r.repository.branch === request.body['pull_request'].base.ref + ); if (configuration) { if (!configuration.general.isPreviewDeploymentEnabled) { return { @@ -71,7 +73,7 @@ export async function post(request: Request) { } }; } - configuration.general.pullRequest = request.body.number + configuration.general.pullRequest = request.body.number; } } if (!configuration) { @@ -99,7 +101,7 @@ export async function post(request: Request) { 'repository.name': name, 'repository.branch': branch, 'general.pullRequest': pullRequest - }) + }); await execShellAsync(`docker stack rm ${configuration.build.container.name}`); return { status: 200, @@ -110,7 +112,9 @@ export async function post(request: Request) { }; } await cloneRepository(configuration); - const { foundService, imageChanged, configChanged, forceUpdate } = await precheckDeployment(configuration); + const { foundService, imageChanged, configChanged, forceUpdate } = await precheckDeployment( + configuration + ); if (foundService && !forceUpdate && !imageChanged && !configChanged) { cleanupTmp(configuration.general.workdir); return { @@ -149,27 +153,30 @@ export async function post(request: Request) { nickname }).save(); - if (githubEvent === 'pull_request') { - await Configuration.findOneAndUpdate({ - 'repository.id': id, - 'repository.organization': organization, - 'repository.name': name, - 'repository.branch': branch, - 'general.pullRequest': pullRequest - }, + await Configuration.findOneAndUpdate( + { + 'repository.id': id, + 'repository.organization': organization, + 'repository.name': name, + 'repository.branch': branch, + 'general.pullRequest': pullRequest + }, { ...configuration }, - { upsert: true, new: true }) + { upsert: true, new: true } + ); } else { - await Configuration.findOneAndUpdate({ - 'repository.id': id, - 'repository.organization': organization, - 'repository.name': name, - 'repository.branch': branch, - 'general.pullRequest': { '$in': [null, 0] } - }, + await Configuration.findOneAndUpdate( + { + 'repository.id': id, + 'repository.organization': organization, + 'repository.name': name, + 'repository.branch': branch, + 'general.pullRequest': { $in: [null, 0] } + }, { ...configuration }, - { upsert: true, new: true }) + { upsert: true, new: true } + ); } queueAndBuild(configuration, imageChanged); @@ -183,7 +190,7 @@ export async function post(request: Request) { } }; } catch (error) { - console.log(error) + console.log(error); // console.log(configuration) if (configuration) { cleanupTmp(configuration.general.workdir); @@ -216,7 +223,7 @@ export async function post(request: Request) { try { await cleanupStuckedDeploymentsInDB(); } catch (error) { - console.log(error) + console.log(error); } } } diff --git a/src/routes/dashboard/services.svelte b/src/routes/dashboard/services.svelte index 2b66b57a4..ca4fd1b5f 100644 --- a/src/routes/dashboard/services.svelte +++ b/src/routes/dashboard/services.svelte @@ -49,6 +49,15 @@ />
Plausible Analytics
+ {:else if service.serviceName == 'nocodb'} +
+ nocodedb +
NocoDB
+
{/if} diff --git a/src/routes/service/[name]/configuration.svelte b/src/routes/service/[name]/configuration.svelte index aed52954a..1162a9ec5 100644 --- a/src/routes/service/[name]/configuration.svelte +++ b/src/routes/service/[name]/configuration.svelte @@ -14,23 +14,14 @@ try { service = await request(`/api/v1/services/${$page.params.name}`, $session); } catch (error) { - browser && toast.push(`Cannot find service ${$page.params.name}?!`); - goto(`/dashboard/services`, { replaceState: true }); + if (browser) { + toast.push(`Cannot find service ${$page.params.name}?!`); + goto(`/dashboard/services`, { replaceState: true }); + } } } } - async function activate() { - try { - await request(`/api/v1/services/deploy/${$page.params.name}/activate`, $session, { - method: 'PATCH', - body: {} - }); - browser && toast.push(`All users are activated for Plausible.`); - } catch (error) { - console.log(error); - browser && toast.push(`Ooops, there was an error activating users for Plausible?!`); - } - } + {#await loadServiceConfig()} @@ -38,7 +29,12 @@ {:then}
-
{$page.params.name === 'plausible' ? 'Plausible Analytics' : $page.params.name}
+ {#if $page.params.name === 'plausible'} +
Plausible Analytics
+ {:else if $page.params.name === 'nocodb'} +
NocoDB
+ {/if} +
{#if $page.params.name === 'plausible'} + {:else if $page.params.name === 'nocodb'} + nocodb logo {/if}
- - + + + - - - - -
{#if $page.params.name === 'plausible'} + {:else if $page.params.name === 'nocodb'} +
Nothing to show here. Enjoy using NocoDB!
{/if}
diff --git a/src/routes/service/new/[type]/__layout.svelte b/src/routes/service/new/[type]/__layout.svelte index 141feceba..d3007cbf4 100644 --- a/src/routes/service/new/[type]/__layout.svelte +++ b/src/routes/service/new/[type]/__layout.svelte @@ -14,13 +14,11 @@ async function checkService() { try { const data = await request(`/api/v1/services/${$page.params.type}`, $session); - if (!data?.success) { + if (data?.success) { if (browser) { - goto(`/dashboard/services`, { replaceState: true }); + goto(`/service/${$page.params.type}/configuration`, { replaceState: true }); toast.push( - `${ - $page.params.type === 'plausible' ? 'Plausible Analytics' : $page.params.type - } already deployed.` + `Service already deployed.` ); } } diff --git a/src/routes/service/new/[type]/index.svelte b/src/routes/service/new/[type]/index.svelte index 11c3a4286..98045e766 100644 --- a/src/routes/service/new/[type]/index.svelte +++ b/src/routes/service/new/[type]/index.svelte @@ -10,7 +10,7 @@ import TooltipInfo from '$components/TooltipInfo.svelte'; import { browser } from '$app/env'; - $: deployable = + $: deployablePlausible = $newService.baseURL === '' || $newService.baseURL === null || $newService.email === '' || @@ -22,7 +22,7 @@ $newService.userPassword.length <= 6 || $newService.userPassword !== $newService.userPasswordAgain; let loading = false; - async function deploy() { + async function deployPlausible() { try { loading = true; const payload = $newService; @@ -44,6 +44,30 @@ loading = false; } } + async function deployNocodb() { + + try { + loading = true; + await request(`/api/v1/services/deploy/${$page.params.type}`, $session, { + body: { + baseURL: $newService.baseURL + } + }); + if (browser) { + toast.push( + 'Service deployment queued.


It could take 2-5 minutes to be ready, be patient and grab a coffee/tea!', + { duration: 4000 } + ); + goto(`/dashboard/services`, { replaceState: true }); + } + } catch (error) { + console.log(error); + browser && toast.push('Oops something went wrong. See console.log.'); + } finally { + loading = false; + } + } +
@@ -51,18 +75,20 @@ Deploy new {#if $page.params.type === 'plausible'} Plausible Analytics + {:else if $page.params.type === 'nocodb'} + NocoDB {/if}
{#if loading} -{:else} +{:else if $page.params.type === 'plausible'}
+
+{:else if $page.params.type === 'nocodb'} +
+
+ + +
+ + diff --git a/src/routes/service/new/index.svelte b/src/routes/service/new/index.svelte index 807274672..460f2a366 100644 --- a/src/routes/service/new/index.svelte +++ b/src/routes/service/new/index.svelte @@ -1,7 +1,6 @@ @@ -14,7 +13,7 @@ {#if $page.path === '/service/new'}
goto('/service/new/plausible')} >
Plausible Analytics
+
goto('/service/new/nocodb')} + > + nocodb logo +
+
NocoDB
+
{/if}
diff --git a/src/store/index.ts b/src/store/index.ts index 5f9329a52..aa8235b82 100644 --- a/src/store/index.ts +++ b/src/store/index.ts @@ -78,7 +78,7 @@ export const application = writable({ secrets: [] } }); -export const prApplication = writable([]) +export const prApplication = writable([]); export const initConf = writable({}); @@ -168,4 +168,4 @@ export const initialNewService = { baseURL: null }; -export const isPullRequestPermissionsGranted = writable(false) \ No newline at end of file +export const isPullRequestPermissionsGranted = writable(false); diff --git a/static/nocodb.png b/static/nocodb.png new file mode 100644 index 000000000..dec31a6dd Binary files /dev/null and b/static/nocodb.png differ